<spanid="evennia-contrib-tutorials-evadventure-combat-base"></span><h1>evennia.contrib.tutorials.evadventure.combat_base<aclass="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>
<ulclass="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
<emclass="property">exception </em><codeclass="sig-prename descclassname">evennia.contrib.tutorials.evadventure.combat_base.</code><codeclass="sig-name descname">CombatFailure</code><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/combat_base.html#CombatFailure"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.combat_base.CombatFailure"title="Permalink to this definition">¶</a></dt>
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.contrib.tutorials.evadventure.combat_base.</code><codeclass="sig-name descname">CombatAction</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">combathandler</span></em>, <emclass="sig-param"><spanclass="n">combatant</span></em>, <emclass="sig-param"><spanclass="n">action_dict</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/combat_base.html#CombatAction"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.combat_base.CombatAction"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">__init__</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">combathandler</span></em>, <emclass="sig-param"><spanclass="n">combatant</span></em>, <emclass="sig-param"><spanclass="n">action_dict</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/combat_base.html#CombatAction.__init__"><spanclass="viewcode-link">[source]</span></a><aclass="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>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>combatant</strong> (<aclass="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><aclass="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
<codeclass="sig-name descname">msg</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">message</span></em>, <emclass="sig-param"><spanclass="n">broadcast</span><spanclass="o">=</span><spanclass="default_value">True</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/combat_base.html#CombatAction.msg"><spanclass="viewcode-link">[source]</span></a><aclass="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>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="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>
<codeclass="sig-name descname">can_use</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/combat_base.html#CombatAction.can_use"><spanclass="viewcode-link">[source]</span></a><aclass="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>
<dlclass="field-list simple">
<dtclass="field-odd">Returns</dt>
<ddclass="field-odd"><p><em>bool</em>– If this action can be used at this time.</p>
<codeclass="sig-name descname">execute</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/combat_base.html#CombatAction.execute"><spanclass="viewcode-link">[source]</span></a><aclass="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
<codeclass="sig-name descname">post_execute</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/combat_base.html#CombatAction.post_execute"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.combat_base.CombatAction.post_execute"title="Permalink to this definition">¶</a></dt>
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.contrib.tutorials.evadventure.combat_base.</code><codeclass="sig-name descname">CombatActionHold</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">combathandler</span></em>, <emclass="sig-param"><spanclass="n">combatant</span></em>, <emclass="sig-param"><spanclass="n">action_dict</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/combat_base.html#CombatActionHold"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.combat_base.CombatActionHold"title="Permalink to this definition">¶</a></dt>
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.contrib.tutorials.evadventure.combat_base.</code><codeclass="sig-name descname">CombatActionAttack</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">combathandler</span></em>, <emclass="sig-param"><spanclass="n">combatant</span></em>, <emclass="sig-param"><spanclass="n">action_dict</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/combat_base.html#CombatActionAttack"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.combat_base.CombatActionAttack"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">execute</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/combat_base.html#CombatActionAttack.execute"><spanclass="viewcode-link">[source]</span></a><aclass="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
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.contrib.tutorials.evadventure.combat_base.</code><codeclass="sig-name descname">CombatActionStunt</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">combathandler</span></em>, <emclass="sig-param"><spanclass="n">combatant</span></em>, <emclass="sig-param"><spanclass="n">action_dict</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/combat_base.html#CombatActionStunt"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.combat_base.CombatActionStunt"title="Permalink to this definition">¶</a></dt>
<spanclass="s2">"advantage"</span><spanclass="p">:</span><spanclass="nb">bool</span><spanclass="p">,</span><spanclass="c1"># if False, it's a disadvantage</span>
<spanclass="s2">"stunt_type"</span><spanclass="p">:</span><spanclass="n">Ability</span><spanclass="p">,</span><spanclass="c1"># what ability (like STR, DEX etc) to use to perform this stunt.</span>
<spanclass="s2">"defense_type"</span><spanclass="p">:</span><spanclass="n">Ability</span><spanclass="p">,</span><spanclass="c1"># what ability to use to defend against (negative) effects of</span>
<codeclass="sig-name descname">execute</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/combat_base.html#CombatActionStunt.execute"><spanclass="viewcode-link">[source]</span></a><aclass="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
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.contrib.tutorials.evadventure.combat_base.</code><codeclass="sig-name descname">CombatActionUseItem</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">combathandler</span></em>, <emclass="sig-param"><spanclass="n">combatant</span></em>, <emclass="sig-param"><spanclass="n">action_dict</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/combat_base.html#CombatActionUseItem"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.combat_base.CombatActionUseItem"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">execute</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/combat_base.html#CombatActionUseItem.execute"><spanclass="viewcode-link">[source]</span></a><aclass="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
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.contrib.tutorials.evadventure.combat_base.</code><codeclass="sig-name descname">CombatActionWield</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">combathandler</span></em>, <emclass="sig-param"><spanclass="n">combatant</span></em>, <emclass="sig-param"><spanclass="n">action_dict</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/combat_base.html#CombatActionWield"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.combat_base.CombatActionWield"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">execute</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/combat_base.html#CombatActionWield.execute"><spanclass="viewcode-link">[source]</span></a><aclass="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
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.contrib.tutorials.evadventure.combat_base.</code><codeclass="sig-name descname">EvAdventureCombatBaseHandler</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="o">*</span><spanclass="n">args</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/combat_base.html#EvAdventureCombatBaseHandler"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.combat_base.EvAdventureCombatBaseHandler"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">fallback_action_dict</code><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.combat_base.EvAdventureCombatBaseHandler.fallback_action_dict"title="Permalink to this definition">¶</a></dt>
<emclass="property">classmethod </em><codeclass="sig-name descname">get_or_create_combathandler</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">obj</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/combat_base.html#EvAdventureCombatBaseHandler.get_or_create_combathandler"><spanclass="viewcode-link">[source]</span></a><aclass="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>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="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>
<dtclass="field-even">Keyword Arguments</dt>
<ddclass="field-even"><ulclass="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>
<codeclass="sig-name descname">msg</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">message</span></em>, <emclass="sig-param"><spanclass="n">combatant</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">broadcast</span><spanclass="o">=</span><spanclass="default_value">True</span></em>, <emclass="sig-param"><spanclass="n">location</span><spanclass="o">=</span><spanclass="default_value">None</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/combat_base.html#EvAdventureCombatBaseHandler.msg"><spanclass="viewcode-link">[source]</span></a><aclass="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>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="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>
<pclass="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>
<codeclass="sig-name descname">get_combat_summary</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">combatant</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/combat_base.html#EvAdventureCombatBaseHandler.get_combat_summary"><spanclass="viewcode-link">[source]</span></a><aclass="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>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><p><strong>combatant</strong> (<aclass="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><aclass="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>
<dtclass="field-even">Returns</dt>
<ddclass="field-even"><p><em>EvTable</em>– A table representing the current state of combat.</p>
<codeclass="sig-name descname">get_sides</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">combatant</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/combat_base.html#EvAdventureCombatBaseHandler.get_sides"><spanclass="viewcode-link">[source]</span></a><aclass="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 don’t need to be balanced.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><p><strong>combatant</strong> (<em>Character</em><em> or </em><em>NPC</em>) – The one whose sides are to determined.</p>
</dd>
<dtclass="field-even">Returns</dt>
<ddclass="field-even"><p><em>tuple</em>– A tuple of lists <strong>(allies, enemies)</strong>, from the perspective of <strong>combatant</strong>.</p>
</dd>
</dl>
<divclass="admonition note">
<pclass="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
<codeclass="sig-name descname">give_advantage</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">recipient</span></em>, <emclass="sig-param"><spanclass="n">target</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/combat_base.html#EvAdventureCombatBaseHandler.give_advantage"><spanclass="viewcode-link">[source]</span></a><aclass="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>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="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
<codeclass="sig-name descname">give_disadvantage</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">recipient</span></em>, <emclass="sig-param"><spanclass="n">target</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/combat_base.html#EvAdventureCombatBaseHandler.give_disadvantage"><spanclass="viewcode-link">[source]</span></a><aclass="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>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="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>
<codeclass="sig-name descname">has_advantage</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">combatant</span></em>, <emclass="sig-param"><spanclass="n">target</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/combat_base.html#EvAdventureCombatBaseHandler.has_advantage"><spanclass="viewcode-link">[source]</span></a><aclass="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>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="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>
<codeclass="sig-name descname">has_disadvantage</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">combatant</span></em>, <emclass="sig-param"><spanclass="n">target</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/combat_base.html#EvAdventureCombatBaseHandler.has_disadvantage"><spanclass="viewcode-link">[source]</span></a><aclass="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>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="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>
<codeclass="sig-name descname">queue_action</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">action_dict</span></em>, <emclass="sig-param"><spanclass="n">combatant</span><spanclass="o">=</span><spanclass="default_value">None</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/combat_base.html#EvAdventureCombatBaseHandler.queue_action"><spanclass="viewcode-link">[source]</span></a><aclass="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>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="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> (<aclass="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><aclass="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
<codeclass="sig-name descname">execute_next_action</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">combatant</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/combat_base.html#EvAdventureCombatBaseHandler.execute_next_action"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.combat_base.EvAdventureCombatBaseHandler.execute_next_action"title="Permalink to this definition">¶</a></dt>
<dd><p>Perform a combatant’s next action.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><p><strong>combatant</strong> (<aclass="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><aclass="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>
<codeclass="sig-name descname">start_combat</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/combat_base.html#EvAdventureCombatBaseHandler.start_combat"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.combat_base.EvAdventureCombatBaseHandler.start_combat"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">check_stop_combat</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/combat_base.html#EvAdventureCombatBaseHandler.check_stop_combat"><spanclass="viewcode-link">[source]</span></a><aclass="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>
<dlclass="field-list simple">
<dtclass="field-odd">Keyword Arguments</dt>
<ddclass="field-odd"><p><strong>kwargs</strong>– Any extra keyword args used.</p>
</dd>
<dtclass="field-even">Returns</dt>
<ddclass="field-even"><p><em>bool</em>– If <strong>True</strong>, the <strong>stop_combat</strong> method should be called.</p>
<codeclass="sig-name descname">stop_combat</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/tutorials/evadventure/combat_base.html#EvAdventureCombatBaseHandler.stop_combat"><spanclass="viewcode-link">[source]</span></a><aclass="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>
<emclass="property">exception </em><codeclass="sig-name descname">DoesNotExist</code><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.combat_base.EvAdventureCombatBaseHandler.DoesNotExist"title="Permalink to this definition">¶</a></dt>
<emclass="property">exception </em><codeclass="sig-name descname">MultipleObjectsReturned</code><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.combat_base.EvAdventureCombatBaseHandler.MultipleObjectsReturned"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">path</code><emclass="property"> = 'evennia.contrib.tutorials.evadventure.combat_base.EvAdventureCombatBaseHandler'</em><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.combat_base.EvAdventureCombatBaseHandler.path"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">typename</code><emclass="property"> = 'EvAdventureCombatBaseHandler'</em><aclass="headerlink"href="#evennia.contrib.tutorials.evadventure.combat_base.EvAdventureCombatBaseHandler.typename"title="Permalink to this definition">¶</a></dt>