<spanid="evennia-contrib-turnbattle-tb-items"></span><h1>evennia.contrib.turnbattle.tb_items<aclass="headerlink"href="#module-evennia.contrib.turnbattle.tb_items"title="Permalink to this headline">¶</a></h1>
<p>Simple turn-based combat system with items and status effects</p>
<p>Contrib - Tim Ashley Jenkins 2017</p>
<p>This is a version of the ‘turnbattle’ combat system that includes
conditions and usable items, which can instill these conditions, cure
them, or do just about anything else.</p>
<p>Conditions are stored on characters as a dictionary, where the key
is the name of the condition and the value is a list of two items:
an integer representing the number of turns left until the condition
runs out, and the character upon whose turn the condition timer is
ticked down. Unlike most combat-related attributes, conditions aren’t
wiped once combat ends - if out of combat, they tick down in real time
instead.</p>
<p>This module includes a number of example conditions:</p>
<blockquote>
<div><p>Regeneration: Character recovers HP every turn
Poisoned: Character loses HP every turn
Accuracy Up: +25 to character’s attack rolls
Accuracy Down: -25 to character’s attack rolls
Damage Up: +5 to character’s damage
Damage Down: -5 to character’s damage
Defense Up: +15 to character’s defense
Defense Down: -15 to character’s defense
Haste: +1 action per turn
Paralyzed: No actions per turn
Frightened: Character can’t use the ‘attack’ command</p>
</div></blockquote>
<p>Since conditions can have a wide variety of effects, their code is
scattered throughout the other functions wherever they may apply.</p>
<p>Items aren’t given any sort of special typeclass - instead, whether or
not an object counts as an item is determined by its attributes. To make
an object into an item, it must have the attribute ‘item_func’, with
the value given as a callable - this is the function that will be called
when an item is used. Other properties of the item, such as how many
uses it has, whether it’s destroyed when its uses are depleted, and such
can be specified on the item as well, but they are optional.</p>
<p>To install and test, import this module’s TBItemsCharacter object into
<codeclass="sig-prename descclassname">evennia.contrib.turnbattle.tb_items.</code><codeclass="sig-name descname">DEF_DOWN_MOD</code><emclass="property"> = -15</em><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.DEF_DOWN_MOD"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.contrib.turnbattle.tb_items.</code><codeclass="sig-name descname">roll_init</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">character</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/turnbattle/tb_items.html#roll_init"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.roll_init"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.contrib.turnbattle.tb_items.</code><codeclass="sig-name descname">get_attack</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">attacker</span></em>, <emclass="sig-param"><spanclass="n">defender</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/turnbattle/tb_items.html#get_attack"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.get_attack"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.contrib.turnbattle.tb_items.</code><codeclass="sig-name descname">get_defense</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">attacker</span></em>, <emclass="sig-param"><spanclass="n">defender</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/turnbattle/tb_items.html#get_defense"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.get_defense"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.contrib.turnbattle.tb_items.</code><codeclass="sig-name descname">get_damage</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">attacker</span></em>, <emclass="sig-param"><spanclass="n">defender</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/turnbattle/tb_items.html#get_damage"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.get_damage"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.contrib.turnbattle.tb_items.</code><codeclass="sig-name descname">apply_damage</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">defender</span></em>, <emclass="sig-param"><spanclass="n">damage</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/turnbattle/tb_items.html#apply_damage"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.apply_damage"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.contrib.turnbattle.tb_items.</code><codeclass="sig-name descname">at_defeat</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">defeated</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/turnbattle/tb_items.html#at_defeat"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.at_defeat"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.contrib.turnbattle.tb_items.</code><codeclass="sig-name descname">combat_cleanup</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">character</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/turnbattle/tb_items.html#combat_cleanup"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.combat_cleanup"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.contrib.turnbattle.tb_items.</code><codeclass="sig-name descname">is_in_combat</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">character</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/turnbattle/tb_items.html#is_in_combat"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.is_in_combat"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.contrib.turnbattle.tb_items.</code><codeclass="sig-name descname">is_turn</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">character</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/turnbattle/tb_items.html#is_turn"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.is_turn"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.contrib.turnbattle.tb_items.</code><codeclass="sig-name descname">spend_action</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">character</span></em>, <emclass="sig-param"><spanclass="n">actions</span></em>, <emclass="sig-param"><spanclass="n">action_name</span><spanclass="o">=</span><spanclass="default_value">None</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/turnbattle/tb_items.html#spend_action"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.spend_action"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.contrib.turnbattle.tb_items.</code><codeclass="sig-name descname">spend_item_use</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">item</span></em>, <emclass="sig-param"><spanclass="n">user</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/turnbattle/tb_items.html#spend_item_use"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.spend_item_use"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.contrib.turnbattle.tb_items.</code><codeclass="sig-name descname">use_item</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">user</span></em>, <emclass="sig-param"><spanclass="n">item</span></em>, <emclass="sig-param"><spanclass="n">target</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/turnbattle/tb_items.html#use_item"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.use_item"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.contrib.turnbattle.tb_items.</code><codeclass="sig-name descname">condition_tickdown</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">character</span></em>, <emclass="sig-param"><spanclass="n">turnchar</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/turnbattle/tb_items.html#condition_tickdown"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.condition_tickdown"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.contrib.turnbattle.tb_items.</code><codeclass="sig-name descname">add_condition</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">character</span></em>, <emclass="sig-param"><spanclass="n">turnchar</span></em>, <emclass="sig-param"><spanclass="n">condition</span></em>, <emclass="sig-param"><spanclass="n">duration</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/turnbattle/tb_items.html#add_condition"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.add_condition"title="Permalink to this definition">¶</a></dt>
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.contrib.turnbattle.tb_items.</code><codeclass="sig-name descname">TBItemsCharacter</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/turnbattle/tb_items.html#TBItemsCharacter"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.TBItemsCharacter"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">at_object_creation</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/turnbattle/tb_items.html#TBItemsCharacter.at_object_creation"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.TBItemsCharacter.at_object_creation"title="Permalink to this definition">¶</a></dt>
<dd><p>Called once, when this object is first created. This is the
normal hook to overload for most object types.</p>
<codeclass="sig-name descname">at_before_move</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">destination</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/turnbattle/tb_items.html#TBItemsCharacter.at_before_move"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.TBItemsCharacter.at_before_move"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">at_turn_start</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/turnbattle/tb_items.html#TBItemsCharacter.at_turn_start"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.TBItemsCharacter.at_turn_start"title="Permalink to this definition">¶</a></dt>
<dd><p>Hook called at the beginning of this character’s turn in combat.</p>
<codeclass="sig-name descname">apply_turn_conditions</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/turnbattle/tb_items.html#TBItemsCharacter.apply_turn_conditions"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.TBItemsCharacter.apply_turn_conditions"title="Permalink to this definition">¶</a></dt>
<dd><p>Applies the effect of conditions that occur at the start of each
turn in combat, or every 30 seconds out of combat.</p>
<codeclass="sig-name descname">at_update</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/turnbattle/tb_items.html#TBItemsCharacter.at_update"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.TBItemsCharacter.at_update"title="Permalink to this definition">¶</a></dt>
<emclass="property">exception </em><codeclass="sig-name descname">DoesNotExist</code><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.TBItemsCharacter.DoesNotExist"title="Permalink to this definition">¶</a></dt>
<emclass="property">exception </em><codeclass="sig-name descname">MultipleObjectsReturned</code><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.TBItemsCharacter.MultipleObjectsReturned"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">path</code><emclass="property"> = 'evennia.contrib.turnbattle.tb_items.TBItemsCharacter'</em><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.TBItemsCharacter.path"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">typename</code><emclass="property"> = 'TBItemsCharacter'</em><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.TBItemsCharacter.typename"title="Permalink to this definition">¶</a></dt>
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.contrib.turnbattle.tb_items.</code><codeclass="sig-name descname">TBItemsCharacterTest</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/turnbattle/tb_items.html#TBItemsCharacterTest"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.TBItemsCharacterTest"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">at_object_creation</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/turnbattle/tb_items.html#TBItemsCharacterTest.at_object_creation"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.TBItemsCharacterTest.at_object_creation"title="Permalink to this definition">¶</a></dt>
<dd><p>Called once, when this object is first created. This is the
normal hook to overload for most object types.</p>
<emclass="property">exception </em><codeclass="sig-name descname">DoesNotExist</code><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.TBItemsCharacterTest.DoesNotExist"title="Permalink to this definition">¶</a></dt>
<emclass="property">exception </em><codeclass="sig-name descname">MultipleObjectsReturned</code><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.TBItemsCharacterTest.MultipleObjectsReturned"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">path</code><emclass="property"> = 'evennia.contrib.turnbattle.tb_items.TBItemsCharacterTest'</em><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.TBItemsCharacterTest.path"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">typename</code><emclass="property"> = 'TBItemsCharacterTest'</em><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.TBItemsCharacterTest.typename"title="Permalink to this definition">¶</a></dt>
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.contrib.turnbattle.tb_items.</code><codeclass="sig-name descname">TBItemsTurnHandler</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/turnbattle/tb_items.html#TBItemsTurnHandler"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.TBItemsTurnHandler"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">at_script_creation</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/turnbattle/tb_items.html#TBItemsTurnHandler.at_script_creation"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.TBItemsTurnHandler.at_script_creation"title="Permalink to this definition">¶</a></dt>
<dd><p>Called once, when the script is created.</p>
<codeclass="sig-name descname">at_stop</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/turnbattle/tb_items.html#TBItemsTurnHandler.at_stop"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.TBItemsTurnHandler.at_stop"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">at_repeat</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/turnbattle/tb_items.html#TBItemsTurnHandler.at_repeat"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.TBItemsTurnHandler.at_repeat"title="Permalink to this definition">¶</a></dt>
<dd><p>Called once every self.interval seconds.</p>
<codeclass="sig-name descname">initialize_for_combat</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">character</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/turnbattle/tb_items.html#TBItemsTurnHandler.initialize_for_combat"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.TBItemsTurnHandler.initialize_for_combat"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">start_turn</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">character</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/turnbattle/tb_items.html#TBItemsTurnHandler.start_turn"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.TBItemsTurnHandler.start_turn"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">next_turn</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/turnbattle/tb_items.html#TBItemsTurnHandler.next_turn"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.TBItemsTurnHandler.next_turn"title="Permalink to this definition">¶</a></dt>
<dd><p>Advances to the next character in the turn order.</p>
<codeclass="sig-name descname">turn_end_check</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">character</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/turnbattle/tb_items.html#TBItemsTurnHandler.turn_end_check"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.TBItemsTurnHandler.turn_end_check"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">join_fight</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">character</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/turnbattle/tb_items.html#TBItemsTurnHandler.join_fight"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.TBItemsTurnHandler.join_fight"title="Permalink to this definition">¶</a></dt>
<emclass="property">exception </em><codeclass="sig-name descname">DoesNotExist</code><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.TBItemsTurnHandler.DoesNotExist"title="Permalink to this definition">¶</a></dt>
<emclass="property">exception </em><codeclass="sig-name descname">MultipleObjectsReturned</code><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.TBItemsTurnHandler.MultipleObjectsReturned"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">path</code><emclass="property"> = 'evennia.contrib.turnbattle.tb_items.TBItemsTurnHandler'</em><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.TBItemsTurnHandler.path"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">typename</code><emclass="property"> = 'TBItemsTurnHandler'</em><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.TBItemsTurnHandler.typename"title="Permalink to this definition">¶</a></dt>
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.contrib.turnbattle.tb_items.</code><codeclass="sig-name descname">CmdFight</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/turnbattle/tb_items.html#CmdFight"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.CmdFight"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">key</code><emclass="property"> = 'fight'</em><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.CmdFight.key"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">help_category</code><emclass="property"> = 'combat'</em><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.CmdFight.help_category"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">func</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/turnbattle/tb_items.html#CmdFight.func"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.CmdFight.func"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">aliases</code><emclass="property"> = []</em><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.CmdFight.aliases"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">lock_storage</code><emclass="property"> = 'cmd:all();'</em><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.CmdFight.lock_storage"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">search_index_entry</code><emclass="property"> = {'aliases': '', 'category': 'combat', 'key': 'fight', 'tags': '', 'text': "\n Starts a fight with everyone in the same room as you.\n\n Usage:\n fight\n\n When you start a fight, everyone in the room who is able to\n fight is added to combat, and a turn order is randomly rolled.\n When it's your turn, you can attack other characters.\n "}</em><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.CmdFight.search_index_entry"title="Permalink to this definition">¶</a></dt>
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.contrib.turnbattle.tb_items.</code><codeclass="sig-name descname">CmdAttack</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/turnbattle/tb_items.html#CmdAttack"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.CmdAttack"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">key</code><emclass="property"> = 'attack'</em><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.CmdAttack.key"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">help_category</code><emclass="property"> = 'combat'</em><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.CmdAttack.help_category"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">func</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/turnbattle/tb_items.html#CmdAttack.func"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.CmdAttack.func"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">aliases</code><emclass="property"> = []</em><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.CmdAttack.aliases"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">lock_storage</code><emclass="property"> = 'cmd:all();'</em><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.CmdAttack.lock_storage"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">search_index_entry</code><emclass="property"> = {'aliases': '', 'category': 'combat', 'key': 'attack', 'tags': '', 'text': '\n Attacks another character.\n\n Usage:\n attack <target>\n\n When in a fight, you may attack another character. The attack has\n a chance to hit, and if successful, will deal damage.\n '}</em><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.CmdAttack.search_index_entry"title="Permalink to this definition">¶</a></dt>
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.contrib.turnbattle.tb_items.</code><codeclass="sig-name descname">CmdPass</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/turnbattle/tb_items.html#CmdPass"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.CmdPass"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">key</code><emclass="property"> = 'pass'</em><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.CmdPass.key"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">aliases</code><emclass="property"> = ['wait', 'hold']</em><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.CmdPass.aliases"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">help_category</code><emclass="property"> = 'combat'</em><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.CmdPass.help_category"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">func</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/turnbattle/tb_items.html#CmdPass.func"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.CmdPass.func"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">lock_storage</code><emclass="property"> = 'cmd:all();'</em><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.CmdPass.lock_storage"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">search_index_entry</code><emclass="property"> = {'aliases': 'wait hold', 'category': 'combat', 'key': 'pass', 'tags': '', 'text': '\n Passes on your turn.\n\n Usage:\n pass\n\n When in a fight, you can use this command to end your turn early, even\n if there are still any actions you can take.\n '}</em><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.CmdPass.search_index_entry"title="Permalink to this definition">¶</a></dt>
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.contrib.turnbattle.tb_items.</code><codeclass="sig-name descname">CmdDisengage</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/turnbattle/tb_items.html#CmdDisengage"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.CmdDisengage"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">key</code><emclass="property"> = 'disengage'</em><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.CmdDisengage.key"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">aliases</code><emclass="property"> = ['spare']</em><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.CmdDisengage.aliases"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">help_category</code><emclass="property"> = 'combat'</em><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.CmdDisengage.help_category"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">func</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/turnbattle/tb_items.html#CmdDisengage.func"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.CmdDisengage.func"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">lock_storage</code><emclass="property"> = 'cmd:all();'</em><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.CmdDisengage.lock_storage"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">search_index_entry</code><emclass="property"> = {'aliases': 'spare', 'category': 'combat', 'key': 'disengage', 'tags': '', 'text': "\n Passes your turn and attempts to end combat.\n\n Usage:\n disengage\n\n Ends your turn early and signals that you're trying to end\n the fight. If all participants in a fight disengage, the\n fight ends.\n "}</em><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.CmdDisengage.search_index_entry"title="Permalink to this definition">¶</a></dt>
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.contrib.turnbattle.tb_items.</code><codeclass="sig-name descname">CmdRest</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/turnbattle/tb_items.html#CmdRest"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.CmdRest"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">key</code><emclass="property"> = 'rest'</em><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.CmdRest.key"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">help_category</code><emclass="property"> = 'combat'</em><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.CmdRest.help_category"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">func</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/turnbattle/tb_items.html#CmdRest.func"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.CmdRest.func"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">aliases</code><emclass="property"> = []</em><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.CmdRest.aliases"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">lock_storage</code><emclass="property"> = 'cmd:all();'</em><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.CmdRest.lock_storage"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">search_index_entry</code><emclass="property"> = {'aliases': '', 'category': 'combat', 'key': 'rest', 'tags': '', 'text': "\n Recovers damage.\n\n Usage:\n rest\n\n Resting recovers your HP to its maximum, but you can only\n rest if you're not in a fight.\n "}</em><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.CmdRest.search_index_entry"title="Permalink to this definition">¶</a></dt>
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.contrib.turnbattle.tb_items.</code><codeclass="sig-name descname">CmdCombatHelp</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/turnbattle/tb_items.html#CmdCombatHelp"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.CmdCombatHelp"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">func</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/turnbattle/tb_items.html#CmdCombatHelp.func"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.CmdCombatHelp.func"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">aliases</code><emclass="property"> = ['?']</em><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.CmdCombatHelp.aliases"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">help_category</code><emclass="property"> = 'general'</em><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.CmdCombatHelp.help_category"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">key</code><emclass="property"> = 'help'</em><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.CmdCombatHelp.key"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">lock_storage</code><emclass="property"> = 'cmd:all()'</em><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.CmdCombatHelp.lock_storage"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">search_index_entry</code><emclass="property"> = {'aliases': '?', 'category': 'general', 'key': 'help', 'tags': '', 'text': '\n View help or a list of topics\n\n Usage:\n help <topic or command>\n help list\n help all\n\n This will search for help on commands and other\n topics related to the game.\n '}</em><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.CmdCombatHelp.search_index_entry"title="Permalink to this definition">¶</a></dt>
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.contrib.turnbattle.tb_items.</code><codeclass="sig-name descname">CmdUse</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/turnbattle/tb_items.html#CmdUse"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.CmdUse"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">key</code><emclass="property"> = 'use'</em><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.CmdUse.key"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">help_category</code><emclass="property"> = 'combat'</em><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.CmdUse.help_category"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">func</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/turnbattle/tb_items.html#CmdUse.func"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.CmdUse.func"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">aliases</code><emclass="property"> = []</em><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.CmdUse.aliases"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">lock_storage</code><emclass="property"> = 'cmd:all();'</em><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.CmdUse.lock_storage"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">search_index_entry</code><emclass="property"> = {'aliases': '', 'category': 'combat', 'key': 'use', 'tags': '', 'text': '\n Use an item.\n\n Usage:\n use <item> [= target]\n\n An item can have various function - looking at the item may\n provide information as to its effects. Some items can be used\n to attack others, and as such can only be used in combat.\n '}</em><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.CmdUse.search_index_entry"title="Permalink to this definition">¶</a></dt>
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.contrib.turnbattle.tb_items.</code><codeclass="sig-name descname">BattleCmdSet</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">cmdsetobj</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">key</span><spanclass="o">=</span><spanclass="default_value">None</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/turnbattle/tb_items.html#BattleCmdSet"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.BattleCmdSet"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">key</code><emclass="property"> = 'DefaultCharacter'</em><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.BattleCmdSet.key"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">at_cmdset_creation</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/turnbattle/tb_items.html#BattleCmdSet.at_cmdset_creation"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.BattleCmdSet.at_cmdset_creation"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">path</code><emclass="property"> = 'evennia.contrib.turnbattle.tb_items.BattleCmdSet'</em><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.BattleCmdSet.path"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.contrib.turnbattle.tb_items.</code><codeclass="sig-name descname">itemfunc_heal</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">item</span></em>, <emclass="sig-param"><spanclass="n">user</span></em>, <emclass="sig-param"><spanclass="n">target</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/turnbattle/tb_items.html#itemfunc_heal"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.itemfunc_heal"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.contrib.turnbattle.tb_items.</code><codeclass="sig-name descname">itemfunc_add_condition</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">item</span></em>, <emclass="sig-param"><spanclass="n">user</span></em>, <emclass="sig-param"><spanclass="n">target</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/turnbattle/tb_items.html#itemfunc_add_condition"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.itemfunc_add_condition"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.contrib.turnbattle.tb_items.</code><codeclass="sig-name descname">itemfunc_cure_condition</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">item</span></em>, <emclass="sig-param"><spanclass="n">user</span></em>, <emclass="sig-param"><spanclass="n">target</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/turnbattle/tb_items.html#itemfunc_cure_condition"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.itemfunc_cure_condition"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.contrib.turnbattle.tb_items.</code><codeclass="sig-name descname">itemfunc_attack</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">item</span></em>, <emclass="sig-param"><spanclass="n">user</span></em>, <emclass="sig-param"><spanclass="n">target</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/turnbattle/tb_items.html#itemfunc_attack"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.itemfunc_attack"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.contrib.turnbattle.tb_items.</code><codeclass="sig-name descname">ITEMFUNCS</code><emclass="property"> = {'add_condition': <function itemfunc_add_condition>, 'attack': <function itemfunc_attack>, 'cure_condition': <function itemfunc_cure_condition>, 'heal': <function itemfunc_heal>}</em><aclass="headerlink"href="#evennia.contrib.turnbattle.tb_items.ITEMFUNCS"title="Permalink to this definition">¶</a></dt>
<dd><p>You can paste these prototypes into your game’s prototypes.py module in your
/world/ folder, and use the spawner to create them - they serve as examples
of items you can make and a handy way to demonstrate the system for
conditions as well.</p>
<p>Items don’t have any particular typeclass - any object with a db entry
“item_func” that references one of the functions given above can be used as
an item with the ‘use’ command.</p>
<p>Only “item_func” is required, but item behavior can be further modified by
specifying any of the following:</p>
<blockquote>
<div><p>item_uses (int): If defined, item has a limited number of uses</p>
<p>item_selfonly (bool): If True, user can only use the item on themself</p>
<dlclass="simple">
<dt>item_consumable(True or str): If True, item is destroyed when it runs</dt><dd><p>out of uses. If a string is given, the item will spawn a new
object as it’s destroyed, with the string specifying what prototype
to spawn.</p>
</dd>
<dt>item_kwargs (dict): Keyword arguments to pass to the function defined in</dt><dd><p>item_func. Unique to each function, and can be used to make multiple
items using the same function work differently.</p>