Files
roll20-character-sheets-tester/Forbidden_Lands/Forbidden_Lands.htm
T
Vince 73f2a26ab3 FL v1.61 (#5834)
- fixed strength bug that reset strength to "0" for previously created characters.
 - fixed encumbrance calculation bug introduced in last update.
 - added event listener to repeating weapons to recalc attributes when added/changed.
 - refinements to the roll template.
 - coming soon; 1. Change armor/shield Misc modifier to adjust Skill dice instead of Gear dice. 2. Skills will get a Misc field and artifact dice.
2020-02-03 12:14:37 -06:00

3522 lines
261 KiB
HTML

<!--2/3/20' set sheet version manually with currentVersion in sheetworkers-->
<input type="hidden" name="attr_version" value="0" />
<!-- ADDED recalc checkbox to force sheet worker events. temp unhide for testing purposes-->
<input class="hidden" name="attr_recalc1" type="checkbox" />
<!--tabs-->
<input class="tab character" name="attr_tab" data-i18n-title="character" title="Character" type="radio" value="1" checked />
<input class="tab stronghold" name="attr_tab" data-i18n-title="stronghold" title="Stronghold" type="radio" value="2" />
<input class="tab monster_only" name="attr_tab" data-i18n-title="monster" title="Monster" type="radio" value="3" />
<input class="tab settings" name="attr_tab" data-i18n-title="settings" title="Settings" type="radio" value="4" />
<div class="logo"><img alt="Forbidden Lands" src="http://imgsrv.roll20.net/?src=i.imgur.com/uf0H3XX.png" style="width: 45%;margin: -1% 0 2% 0;"></div>
<div class="wrapper tab-content character">
<!--announcements/updates-->
<input type="checkbox" class="announcements-show toggle-dice-only toggle-monster-only" name="attr_show_announcements" value="1" data-i18n-title="version-announcements" title="Sheet version and announcements" />
<span class="announcements-show toggle-dice-only toggle-monster-only" name="attr_version">&nbsp;</span>
<div class="announcements toggle-dice-only toggle-monster-only">
<h3 data-i18n="latest-announcements">Latest Announcements</h3>
<span class="footer">2/3/20'</span>
<ol style="margin: 0 2em 0 2em; padding: 0 1em 0 3em;">
<span>v1.61</span>
<li>fixed strength bug that reset strength to "0" for previously created characters.</li>
<li>fixed encumbrance calculation bug introduced in last update.</li>
<li>added event listener to repeating weapons to recalc attributes when added/changed.</li>
<li>refinements to the roll template.</li>
<li>coming soon; 1. Change armor/shield Misc modifier to adjust Skill dice instead of Gear dice. 2. Skills will get a Misc field and artifact dice.</li>
</ol>
<br>
<input type="checkbox" class="announcements-older-show" name="attr_show_announcements_old" value="1" data-i18n-title="old-announcements" />
<span data-i18n-title="old-announcements">&nbsp;</span>
<span class="announcements-older-show">
<ol>
<span>v1.60</span>
<li>added an attribute for 'willpower_max'. Now you track willpower using a linked token bar.</li>
<li>small updates to roll templates; removed whitespace for empty elements, adjusted the show/hide logic to better work with custom macros.</li>
<li>updated the Reputation roll to use Age + Reputation.</li>
<li>spells now roll Base dice(was rolling Gear dice) and Total WP is now displayed in the roll template.</li>
<li>fixed monster strength vs pc/npc strength incompatibilities.(Thank you GiGs!)</li>
<li>added columns for misc attack and damage bonuses, skill total, attack total, and damage total.</li>
<li>added artifact dice (d8, d8, d10, d12) to weapons, armor, and shield that add artifact dice to the dice pool.</li>
<li>added an expandable 2nd row to weapons, armor, and shield to show/hide additional attributes.</li>
<span>v1.59</span>
<li>Fixed Shield Parry and Shove bug introduced in the last update.</li>
<li>Changed weapon Max bonus to a selector 0-12. Reminder that this is the weapon's UNDAMAGED bonus. Make sure to adjust the weapon's Bonus attribute to account for a broken state.</li>
<span>v1.58</span>
<li>added a Settings tab.</li>
<li>added global whisper options for the sheet as well as the API roller (@{whisper_option} and
@{whisper_option_api}).</li>
<li>added a "Parry" roll(dice pool preset) to repeating weapons.</li>
<li>added a Pride roll that rolls a Legendary d12 and displays the character's pride.</li>
<li>added borders/backgrounds similar to the Forbidden Lands style/theme.</li>
<li>added title text to each condition.</li>
<li>fixed a bug in the "Clear Dice Pool" that sometimes left dice in the pool.</li>
<li><b>Note:</b> Strength entered on the Monster tab(up to 48) is also shared on the Character tab. This
effects strength-based skills, carry, weapons, etc. on the Character tab. If the sheet is a Monster,
<b>use the Monster tab only</b>. If the sheet is a Character, <b>use the Character tab only</b>. If you
must use both the Character and Monster tabs, simply adjust your dice pools accordingly.</li>
<span>v1.57</span>
<li>"Dice Only" tab has been removed.</li>
<li>Monster skills that are "strength-based" now have their own attributes on the monster tab's listed
skills. (crafting_monster, endurance_monster melee_monster, and might_monster) This will allow the
GM to enter a value 0-12 of base dice that will be used to update the dice pool when selected.</li>
<li>Added additional damage tracking (toggleable feature &#9658;) for Monster's up to Strength 48.
<i>Here be Dragons...</i></li>
<li>Max values for primary attributes are equal to the primary attribute value(auto-calculated). ie
strength_tolal_max = strength. This can be useful for tracking the current attribute value using a
token bar/bubble. Example; linking strength_total will use the max value of strength_total|max.</li>
<span>v1.56</span>
<li>fixed a bug that capped Base dice in the Dice Pool at "6" instead of "12" and rolled 6 extra Base
dice for all rolls.</li>
<span>v1.55</span>
<li>fixed missing sheetworker translation code(weapon, spell, push query, etc.)</li>
<li>optimized sheetworker code(Thank you GiGs).</li>
<li>small adjustments to the roll template's layout.</li>
<span>v1.54</span>
<li>added total cost to Hirelings on the Stronghold page.</li>
<li>added better title text to all action rolls to remind users to use the 'Roll' button to roll the
dice.</li>
<li>updated the dice pool with column colors for the types of dice and made the 'Roll' button more
prominent.</li>
<li>fixed the sheet and roll template borders to display correctly in FF and Chrome.</li>
<li>added missing translation data for the roll template for Consumable rolls.</li>
<li>updated the wording used for the 'Push' button roll query and included translation data.</li>
<span>v1.53</span>
<li>added a new "Announcements" section (just click the version number upper right under FL logo). As
new sheet versions are released, the announcements section will be displayed.</li>
<li>swapped Rating and Dmg column to better portray "Rating - Dmg = Total" Trying to prevent adding
operators to the layout unless they are needed...?</li>
<li>added sub-totals for Gear, Weapons, Armor, and Coins Carried to the bottom of the Gear section.</li>
<li>added new action buttons to the Shield section for "Parry" and "Shove".</li>
<li>added Total to shield @{shield1_bonus_total}</li>
<li>added "Don" to shields. If unchecked, Shield Parry/Shove; gear dice = "0"</li>
<li>added a "Weight" and "Carried" fields for armor, shield, and weapons "Carried" selector includes
"Yes", "No", or "Mount". (NOTE: these newly added attributes are set to not carried by default to
prevent being included twice for encumbrance. Please verify that any Weapons, Armor, and Shield
weight is only being included in whichever location works best for you.) No and Mount will remove
the items weight from the Character's encumbrance. Items located on the mount should also be listed
as Mount's Gear or as gear included with the new repeating Beasts section.</li>
<li>added Wt and Carr and Features to Weapons, Armor and Shield sections.</li>
<li>added a new repeating section for "Beasts" (pack animals) A beast's Carry is based on it's STR and
the mounted condition. Encumbrance needs to be manually entered for any Item(s) weight of gear
included in the Notes textarea.</li>
<li>added a Monster tab which includes an expanded Strength/Damage section, monster attacks, etc. Most
sheet attributes are the same regardless if you are viewing the character or monster tab. To track a
Monster's <b>current</b> Strength, use @{strength_total} for token bar settings.
@{strength_total_max} is equal to @{strength} fyi: all four attributes are set similarity.</li>
<li>added Willpower checkboxes</li>
<li>small layout changes/tweaks to the sheet and roll templates</li>
</ol>
</span>
<input type="checkbox" class="announcements-show" name="attr_show_announcements" value="1" data-i18n-title="close-announcements" title="Close Announcements" style="margin: .5em -.75em 0 0;position: relative;" />
<span class="announcements-exit" data-i18n-title="close">*</span>
</div>
<div class="character-grid">
<div class="box toggle-dice-only character-attributes">
<!--Monster Stats-->
<div class="monster monster-stat1">
<span class="header monster-stats-box1">
<input class="input-number header-h1" type="text" name="attr_character_name" value="" title="@{character_name}" data-i18n-placeholder="monster-name" placeholder="Monster's Name/Type" />
</span>
<div class="column-header monster-stats-box2"><span data-i18n="move" style="padding-left: 5px;">Move</span></div>
<div class="column-header monster-stats-box3"><span data-i18n="move-type">Move Type</span></div>
<div class="column-header monster-stats-box4"></div>
<div class="column-header monster-stats-box5"><span data-i18n="armor-rating-abbr">AR</span></div>
<div class="column-header monster-stats-box6"><span data-i18n="max-abbr">Max</span></div>
<div class="column-header monster-stats-box7"><span data-i18n="armor-type">Armor Type</span></div>
<div class="column-header monster-stats-box8"><span data-i18n="misc-abbr">Misc</span></div>
<div class="column-header monster-stats-box9"><span data-i18n="total-abbr">Tot</span></div>
<div class="column-header monster-stats-box10"></div>
<span class="monster-stats-box11">
<input class="input-number" type="text" name="attr_movement" value="1" title="@{movement}" />
</span>
<span class="monster-stats-box12">
<input class="input-number" type="text" name="attr_movement_type" data-i18n-placeholder="type" placeholder="type" title="@{movement_type}" />
</span>
<span class="monster-stats-box13"></span>
<span class="monster-stats-box14">
<input class="input-number" type="number" name="attr_armor1_bonus" value="0" min="0" title="@{armor1_bonus}" />
</span>
<span class="monster-stats-box15">
<input class="input-number" type="number" name="attr_armor1_bonus_max" value="0" min="0" title="@{armor1_bonus_max}" />
</span>
<span class="monster-stats-box16">
<input class="input-number" type="text" name="attr_armor1_name" data-i18n-placeholder="type" placeholder="type" title="@{armor1_name}" />
</span>
<span class="monster-stats-box17">
<select class="input" name="attr_armor1_damage" data-i18n-title="armor-bonus-misc" title="Miscellaneous bonus modifier (adjusts GEAR dice). @{armor1_damage} || @{armor2_damage}">
<option value="6">+6</option>
<option value="5">+5</option>
<option value="4">+4</option>
<option value="3">+3</option>
<option value="2">+2</option>
<option value="1">+1</option>
<option value="0" selected="">0</option>
<option value="-1">-1</option>
<option value="-2">-2</option>
<option value="-3">-3</option>
<option value="-4">-4</option>
<option value="-5">-5</option>
<option value="-6">-6</option>
</select>
</span>
<span class="monster-stats-box18">
<span class="input-span" name="attr_ar" value="0" title="@{ar}"></span>
</span>
<span class="monster-stats-box19">
<button type="action" name="act_armor-roll" data-i18n-title="update-dice-pool" data-i18n="armor" style="height: 2em;width: 3.75em;margin: 0 10px 0 0px;">Armor</button>
</span>
</div>
<div class="attributes-grid">
<!-- Broken Indicators -->
<input class="broken-str" type="hidden" name="attr_strength_total" />
<input class="broken-agi" type="hidden" name="attr_agility_total" />
<input class="broken-wit" type="hidden" name="attr_wits_total" />
<input class="broken-emp" type="hidden" name="attr_empathy_total" />
<div class="attributes-box1 toggle-monster-only" style="margin-top: 2px;">
<div class="attributes-box1 toggle-monster-only header">
<h1 data-i18n="attribute-u">ATTRIBUTES</h1>
</div>
</div>
<div class="attributes-box2"><span class="label broken-str" data-i18n="strength">Strength</span></div>
<div class="attributes-box3">
<!-- PC or Monster Strength attr_strength updates pc/monster str depending on sheet tab-->
<input class="broken-str" type="hidden" name="attr_strength" value="0" />
<input class="input-number broken-str monster" type="number" name="attr_strength_monster" value="0" min="0" max="48" title="@{strength_monster}" />
<input class="input-number broken-str toggle-monster-only" type="number" name="attr_strength_pc" value="0" min="0" max="6" title="@{strength_pc}" />
</div>
<div class="attributes-box4">
<input type="radio" name="attr_damage" value="0" style="margin: 4px 8px 0 0px; width: 13px;" data-i18n-title="no-damage" title="No Damage" checked />
<input class="skull" type="radio" name="attr_damage" value="1" title="1 @{damage}" /><span></span>
<input class="skull" type="radio" name="attr_damage" value="2" title="2 @{damage}" /><span></span>
<input class="skull" type="radio" name="attr_damage" value="3" title="3 @{damage}" /><span></span>
<input class="skull" type="radio" name="attr_damage" value="4" title="4 @{damage}" /><span></span>
<input class="skull" type="radio" name="attr_damage" value="5" title="5 @{damage}" /><span></span>
<input class="skull" type="radio" name="attr_damage" value="6" title="6 @{damage}" /><span></span>
<input class="skull monster" type="radio" name="attr_damage" value="7" title="7 @{damage}" /><span></span>
<input class="skull monster" type="radio" name="attr_damage" value="8" title="8 @{damage}" /><span></span>
<input class="skull monster" type="radio" name="attr_damage" value="9" title="9 @{damage}" /><span></span>
<input class="skull monster" type="radio" name="attr_damage" value="10" title="10 @{damage}" /><span></span>
<input class="skull monster" type="radio" name="attr_damage" value="11" title="11 @{damage}" /><span></span>
<input class="skull monster" type="radio" name="attr_damage" value="12" title="12 @{damage}" /><span></span>
<!--force line break for 2nd row of skulls-->
<div class="monster" style="width: 102%;height: 3px;">&nbsp;</div>
<span class="monster" style="width: 21px;"></span>
<input class="skull monster" type="radio" name="attr_damage" value="13" title="13 @{damage}" /><span></span>
<input class="skull monster" type="radio" name="attr_damage" value="14" title="14 @{damage}" /><span></span>
<input class="skull monster" type="radio" name="attr_damage" value="15" title="15 @{damage}" /><span></span>
<input class="skull monster" type="radio" name="attr_damage" value="16" title="16 @{damage}" /><span></span>
<input class="skull monster" type="radio" name="attr_damage" value="17" title="17 @{damage}" /><span></span>
<input class="skull monster" type="radio" name="attr_damage" value="18" title="18 @{damage}" /><span></span>
<input class="skull monster" type="radio" name="attr_damage" value="19" title="19 @{damage}" /><span></span>
<input class="skull monster" type="radio" name="attr_damage" value="20" title="20 @{damage}" /><span></span>
<input class="skull monster" type="radio" name="attr_damage" value="21" title="21 @{damage}" /><span></span>
<input class="skull monster" type="radio" name="attr_damage" value="22" title="22 @{damage}" /><span></span>
<input class="skull monster" type="radio" name="attr_damage" value="23" title="23 @{damage}" /><span></span>
<input class="skull monster" type="radio" name="attr_damage" value="24" title="24 @{damage}" /><span></span>
<!--force line break for 3rd row of skulls-->
<div class="monster" style="width: 102%;height: 3px;">&nbsp;</div>
<input class="monster extra-damage-show" type="checkbox" name="attr_show_more_damage" value="1" data-i18n-title="extra-damage" title="Toggle extra damage tracking (25-48)" />
<input class="skull monster extra-damage-show" type="radio" name="attr_damage" value="25" title="25 @{damage}" /><span></span>
<input class="skull monster extra-damage-show" type="radio" name="attr_damage" value="26" title="26 @{damage}" /><span></span>
<input class="skull monster extra-damage-show" type="radio" name="attr_damage" value="27" title="27 @{damage}" /><span></span>
<input class="skull monster extra-damage-show" type="radio" name="attr_damage" value="28" title="28 @{damage}" /><span></span>
<input class="skull monster extra-damage-show" type="radio" name="attr_damage" value="29" title="29 @{damage}" /><span></span>
<input class="skull monster extra-damage-show" type="radio" name="attr_damage" value="30" title="30 @{damage}" /><span></span>
<input class="skull monster extra-damage-show" type="radio" name="attr_damage" value="31" title="31 @{damage}" /><span></span>
<input class="skull monster extra-damage-show" type="radio" name="attr_damage" value="32" title="32 @{damage}" /><span></span>
<input class="skull monster extra-damage-show" type="radio" name="attr_damage" value="33" title="33 @{damage}" /><span></span>
<input class="skull monster extra-damage-show" type="radio" name="attr_damage" value="34" title="34 @{damage}" /><span></span>
<input class="skull monster extra-damage-show" type="radio" name="attr_damage" value="35" title="35 @{damage}" /><span></span>
<input class="skull monster extra-damage-show" type="radio" name="attr_damage" value="36" title="36 @{damage}" /><span></span>
<!--force line break for 4th row of skulls-->
<div class="monster" style="width: 102%;height: 3px;">&nbsp;</div>
<span class="monster" style="width: 21px;"></span>
<input class="skull monster extra-damage-show" type="radio" name="attr_damage" value="37" title="37 @{damage}" /><span></span>
<input class="skull monster extra-damage-show" type="radio" name="attr_damage" value="38" title="38 @{damage}" /><span></span>
<input class="skull monster extra-damage-show" type="radio" name="attr_damage" value="39" title="39 @{damage}" /><span></span>
<input class="skull monster extra-damage-show" type="radio" name="attr_damage" value="40" title="40 @{damage}" /><span></span>
<input class="skull monster extra-damage-show" type="radio" name="attr_damage" value="41" title="41 @{damage}" /><span></span>
<input class="skull monster extra-damage-show" type="radio" name="attr_damage" value="42" title="42 @{damage}" /><span></span>
<input class="skull monster extra-damage-show" type="radio" name="attr_damage" value="43" title="43 @{damage}" /><span></span>
<input class="skull monster extra-damage-show" type="radio" name="attr_damage" value="44" title="44 @{damage}" /><span></span>
<input class="skull monster extra-damage-show" type="radio" name="attr_damage" value="45" title="45 @{damage}" /><span></span>
<input class="skull monster extra-damage-show" type="radio" name="attr_damage" value="46" title="46 @{damage}" /><span></span>
<input class="skull monster extra-damage-show" type="radio" name="attr_damage" value="47" title="47 @{damage}" /><span></span>
<input class="skull monster extra-damage-show" type="radio" name="attr_damage" value="48" title="48 @{damage}" /><span></span>
</div>
<div class="attributes-box5">
<span class="input-span broken-str" name="attr_strength_total" value="0" title="@{strength_total}"></span>
<input type="hidden" name="attr_strength_total_max" value="0" />
</div>
<div class="attributes-box6"><span class="label broken-agi" data-i18n="agility">Agility</span></div>
<div class="attributes-box7">
<input class="input-number broken-agi" type="number" name="attr_agility" value="0" min="0" title="@{agility}" />
</div>
<div class="attributes-box8">
<input type="radio" name="attr_fatigue" value="0" style="margin: 4px 8px 0 2px;width: 0.85em;" data-i18n-title="no-damage" title="No Damage" checked />
<input class="skull" type="radio" name="attr_fatigue" value="1" title="1 @{fatigue}" /><span></span>
<input class="skull" type="radio" name="attr_fatigue" value="2" title="2 @{fatigue}" /><span></span>
<input class="skull" type="radio" name="attr_fatigue" value="3" title="3 @{fatigue}" /><span></span>
<input class="skull" type="radio" name="attr_fatigue" value="4" title="4 @{fatigue}" /><span></span>
<input class="skull" type="radio" name="attr_fatigue" value="5" title="5 @{fatigue}" /><span></span>
<input class="skull" type="radio" name="attr_fatigue" value="6" title="6 @{fatigue}" /><span></span>
</div>
<div class="attributes-box9">
<span class="input-span broken-agi" name="attr_agility_total" value="0" title="@{agility_total}"></span>
<input type="hidden" name="attr_agility_total_max" value="0" />
</div>
<div class="attributes-box10"><span class="label broken-wit" data-i18n="wits">Wits</span></div>
<div class="attributes-box11">
<input class="input-number broken-wit" type="number" name="attr_wits" value="0" min="0" title="@{wits}" />
</div>
<div class="attributes-box12">
<input type="radio" name="attr_confusion" value="0" style="margin: 4px 8px 0 2px;width: 0.85em;" data-i18n-title="no-damage" title="No Damage" checked />
<input class="skull" type="radio" name="attr_confusion" value="1" title="1 @{confusion}" /><span></span>
<input class="skull" type="radio" name="attr_confusion" value="2" title="2 @{confusion}" /><span></span>
<input class="skull" type="radio" name="attr_confusion" value="3" title="3 @{confusion}" /><span></span>
<input class="skull" type="radio" name="attr_confusion" value="4" title="4 @{confusion}" /><span></span>
<input class="skull" type="radio" name="attr_confusion" value="5" title="5 @{confusion}" /><span></span>
<input class="skull" type="radio" name="attr_confusion" value="6" title="6 @{confusion}" /><span></span>
</div>
<div class="attributes-box13">
<span class="input-span broken-wit" name="attr_wits_total" value="0" title="@{wits_total}"></span>
<input type="hidden" name="attr_wits_total_max" value="0" />
</div>
<div class="attributes-box14"><span class="label broken-emp" data-i18n="empathy">Empathy</span></div>
<div class="attributes-box15">
<input class="input-number broken-emp" type="number" name="attr_empathy" value="0" min="0" title="@{empathy}" />
</div>
<div class="attributes-box16">
<input type="radio" name="attr_doubt" value="0" style="margin: 4px 8px 0 2px;width: 0.85em;" data-i18n-title="no-damage" title="No Damage" checked />
<input class="skull" type="radio" name="attr_doubt" value="1" title="1 @{doubt}" /><span></span>
<input class="skull" type="radio" name="attr_doubt" value="2" title="2 @{doubt}" /><span></span>
<input class="skull" type="radio" name="attr_doubt" value="3" title="3 @{doubt}" /><span></span>
<input class="skull" type="radio" name="attr_doubt" value="4" title="4 @{doubt}" /><span></span>
<input class="skull" type="radio" name="attr_doubt" value="5" title="5 @{doubt}" /><span></span>
<input class="skull" type="radio" name="attr_doubt" value="6" title="6 @{doubt}" /><span></span>
</div>
<div class="attributes-box17">
<span class="input-span broken-emp" name="attr_empathy_total" value="0" title="@{empathy_total}"></span>
<input type="hidden" name="attr_empathy_total_max" value="0" />
</div>
</div>
</div>
<!--monster attacks-->
<div class="box toggle-dice-only monster monster-attacks">
<div class="monster-attacks-grid">
<div class="monster-attacks-box header">
<h1 data-i18n="monster-attacks-u">MONSTER ATTACKS</h1>
</div>
<div class="monster-attacks-box1 column-header"></div>
<div class="monster-attacks-box2 column-header"></div>
<div class="monster-attacks-box3 column-header"><span data-i18n="name">Name</span></div>
<div class="monster-attacks-box4 column-header"><span data-i18n="base">Base</span></div>
<div class="monster-attacks-box5 column-header"><span data-i18n="damage-abbr">Dmg</span></div>
<div class="monster-attacks-box6 column-header"><span data-i18n="type">Type</span></div>
<div class="monster-attacks-box7 column-header"><span data-i18n="range">Range</span></div>
<div class="monster-attacks-box8 repeating-fields">
<fieldset class="repeating_monster">
<div class="monster-attacks-grid">
<input class="expand" type="checkbox" name="attr_expand" value="1" data-i18n-title="show-hide" title="show/hide" checked /><span></span>
<input class="monster-attacks-box1 counted" type="checkbox" name="attr_rep_counter" value="1" style="opacity:0; position:absolute; cursor:default; z-index: 1; width:0;" checked /><span></span>
<button class="monster-attacks-box2 roll-button" type="action" name="act_monster-attack-roll" data-i18n-title="update-dice-pool" title="Update the dice pool. Use the 'Roll' button to roll the dice.">t</button>
<input class="monster-attacks-box3 input" type="text" name="attr_attack_name" value="" title="@{repeating_monster_$X_attack_name}" data-i18n-placeholder="name" placeholder="Name" />
<input class="monster-attacks-box4 input-number" type="text" name="attr_attack_dice" value="0" title="@{repeating_monster_$X_attack_dice}" />
<input class="monster-attacks-box5 input-number" type="text" name="attr_attack_damage" value="0" title="@{repeating_monster_$X_attack_damage}" />
<input class="monster-attacks-box6 input" type="text" name="attr_attack_features" value="" title="@{repeating_monster_$X_attack_features}">
<select class="monster-attacks-box7 input" name="attr_attack_range" title="@{repeating_monster_$X_attack_range}">
<option value="n/a" data-i18n="not-applicable-abbr">n/a</option>
<option value="Arm" selected="" data-i18n="arms-length-abbr">Arm's L.</option>
<option value="Near" data-i18n="near">Near</option>
<option value="Short" data-i18n="short">Short</option>
<option value="Long" data-i18n="long">Long</option>
<option value="Distant" data-i18n="distant">Distant</option>
</select>
<textarea class="monster-attacks-box8 input-textarea" name="attr_attack_description" title="@{repeating_monster_$X_attack_description}" data-i18n-placeholder="description" placeholder="description"></textarea>
</div>
</fieldset>
</div>
</div>
</div>
<div class="box toggle-dice-only toggle-monster-only character-heading">
<div class="heading-grid">
<div class="heading-box1"><span class="label" data-i18n="kin">Kin</span></div>
<div class="heading-box2"><input class="input" type="text" name="attr_character_name" value="" title="@{character_name}"></div>
<div class="heading-box3"><span class="label" data-i18n="profession">Profession</span></div>
<div class="heading-box4"><input class="input" type="text" name="attr_kin" value="" title="@{kin}"></div>
<div class="heading-box5"><span class="label" data-i18n="name">Name</span></div>
<div class="heading-box6"><input class="input" type="text" name="attr_profession" value="" title="@{profession}"></div>
<div class="sheet-heading-box7" style="z-index: 1;">
<img alt="raven" src="http://imgsrv.roll20.net/?src=i.imgur.com/p8GwTmJ.png" style="height: 6em;margin: -1.125em 0px 0px -6em;">
</div>
</div>
</div>
<div class="box toggle-dice-only toggle-monster-only character-details">
<div class="details-grid">
<div class="details-box1">
<button class="roll-button-textonly" type="roll" name="roll_pride" title="%{roll_pride}" value="@{whisper_option} &{template:forbiddenlands} {{character_name=@{character_name}}} {{character_id=@{character_id}}} {{name=^{pride-roll}}} {{subtitle=@{pride}}} {{artifact-die-twelve=[[1]] }} {{artifact-roll-twelve=[[1d12]] }}">
<span class="label" data-i18n="pride">Pride</span>
</button>
</div>
<div class="details-box2">
<textarea class="input-textarea" name="attr_pride" title="@{pride}"></textarea>
</div>
<div class="details-box3"><span class="label" data-i18n="dark-secret">Dark Secret</span></div>
<div class="details-box4">
<textarea class="input-textarea" name="attr_dark_secret" title="@{dark_secret}"></textarea>
</div>
<div class="details-box5"><span class="label" data-i18n="age">Age</span></div>
<div class="details-box6">
<select name="attr_age" class="input" title="@{age}">
<option value="young" data-i18n="young-1" selected>Young</option>
<option value="adult" data-i18n="adult-2">Adult+1</option>
<option value="old" data-i18n="old-3">Old+2</option>
</select>
</div>
<div class="details-box7">
<button type="action" name="act_reputation-roll" data-i18n-title="update-dice-pool" title="Update the dice pool. Use the 'Roll' button to roll the dice." data-i18n="reputation">Reputation</button>
</div>
<div class="details-box8">
<select class="input" name="attr_reputation" data-i18n-title="reputation-bonus" title="How well known are you? @{reputation}">
<option value="0" selected>+0</option>
<option value="1">+1</option>
<option value="2">+2</option>
<option value="3">+3</option>
<option value="4">+4</option>
<option value="5">+5</option>
<option value="6">+6</option>
<option value="7">+7</option>
<option value="8">+8</option>
<option value="9">+9</option>
<option value="10">+10</option>
<option value="11">+11</option>
<option value="12">+12</option>
</select>
<input type="hidden" name="attr_reputation_total" value="" />
</div>
</div>
</div>
<div class="box toggle-dice-only toggle-monster-only character-appearance">
<div class="appearance-grid">
<div class="appearance-box1 header">
<h1 data-i18n="appearance-u">APPEARANCE</h1>
</div>
<div class="appearance-box2"><span class="label" data-i18n="face">Face</span></div>
<div class="appearance-box3">
<textarea class="input-textarea" name="attr_face" title="@{face}"></textarea>
</div>
<div class="appearance-box4"><span class="label" data-i18n="body">Body</span></div>
<div class="appearance-box5">
<textarea class="input-textarea" name="attr_body" title="@{body}"></textarea>
</div>
<div class="appearance-box6"><span class="label" data-i18n="clothing">Clothing</span></div>
<div class="appearance-box7">
<textarea class="input-textarea" name="attr_clothing" title="@{clothing}"></textarea>
</div>
</div>
</div>
<div class="box toggle-dice-only toggle-monster-only character-conditions">
<div class="conditions-grid">
<div class="conditions-box2">
<input class="input xbox conditions-hungry" type="checkbox" name="attr_hungry" value="1" data-i18n-title="condition-hungry" title="@{hungry}" /><span></span>
</div>
<input class="hidden conditions-hungry" type="checkbox" name="attr_hungry" value="1" />
<div class="conditions-box3"><span class="header-h1 conditions-hungry" data-i18n="hungry">Hungry</span>
</div>
<div class="conditions-box4">
<input class="input xbox conditions-sleepy" type="checkbox" name="attr_sleepy" value="1" data-i18n-title="condition-sleepy" title="@{sleepy}" /><span></span>
</div>
<input class="hidden conditions-sleepy" type="checkbox" name="attr_sleepy" value="1" />
<div class="conditions-box5"><span class="header-h1 conditions-sleepy" data-i18n="sleepy">Sleepy</span>
</div>
<div class="conditions-box6">
<input class="input xbox conditions-thirsty" type="checkbox" name="attr_thirsty" value="1" data-i18n-title="condition-thirsty" title="@{thirsty}" /><span></span>
</div>
<input class="hidden conditions-thirsty" type="checkbox" name="attr_thirsty" value="1" />
<div class="conditions-box7"><span class="header-h1 conditions-thirsty" data-i18n="thirsty">Thirsty</span></div>
<div class="conditions-box8">
<input class="input xbox conditions-cold" type="checkbox" name="attr_cold" value="1" data-i18n-title="condition-cold" title="@{cold}" /><span></span>
</div>
<input class="hidden conditions-cold" type="checkbox" name="attr_cold" value="1" />
<div class="conditions-box9"><span class="header-h1 conditions-cold" data-i18n="cold">Cold</span></div>
</div>
</div>
<div class="box toggle-dice-only toggle-monster-only character-injuries">
<div class="injuries-grid">
<div class="injuries-box1 header">
<h1 data-i18n="critical-u">CRITICAL INJURIES</h1>
</div>
<div class="injuries-box2 column-header"><span data-i18n="injury">Injury</span></div>
<div class="injuries-box3 column-header"><span data-i18n="lethal">Lethal</span></div>
<div class="injuries-box4 column-header"><span data-i18n="time-limit">Time Limit</span></div>
<div class="injuries-box5 column-header"><span data-i18n="effects">Effects</span></div>
<div class="injuries-box6 column-header"><span data-i18n="healing-time">Healing Time</span></div>
<div class="injuries-box7">
<fieldset class="repeating_injuries">
<div class="injuries-grid">
<input type="text" class="injuries-box8 input" name="attr_injury_name" value="" title="@{repeating_injuries_$X_injury_name}" />
<select class="injuries-box9 input" name="attr_injury_lethal" title="@{repeating_injuries_$X_injury_lethal}">
<option value="no" data-i18n="no" selected>No</option>
<option value="yes" data-i18n="yes">Yes</option>
<option value="yes -1" data-i18n="yes-1">Yes,-1</option>
<option value="n/a" data-i18n="not-applicable-abbr">n/a</option>
</select>
<input type="text" class="injuries-box10 input" name="attr_injury_time_limit" value="n/a" title="@{repeating_injuries_$X_injury_time_limit}" />
<input type="text" class="injuries-box11 input" name="attr_injury_effects" value="" title="@{repeating_injuries_$X_injury_effects}" />
<input type="text" class="injuries-box12 input" name="attr_injury_healing_time" value="n/a" title="@{repeating_injuries_$X_injury_healing_time}" />
</div>
</fieldset>
</div>
<div class="sheet-injuries-box13">
<img alt="skull" src="http://imgsrv.roll20.net/?src=i.imgur.com/wq36LEN.png" title="" style="position: absolute;height: 5em;width: 7em;margin: -2.8em 0 0 -2em;">
</div>
</div>
</div>
<div class="box toggle-dice-only toggle-monster-only character-weapons">
<div class="weapons-grid">
<div class="weapons-box header">
<h1 data-i18n="weapon-u">WEAPONS</h1>
</div>
<div class="weapons-box1 column-header"><span data-i18n="attack-abbrv">Attk</span></div>
<div class="weapons-box2 column-header"><span data-i18n="parry">Parry</span></div>
<div class="weapons-box3 column-header"><span data-i18n="name">Name</span></div>
<div class="weapons-box4 column-header"><span data-i18n="type">Type</span></div>
<div class="weapons-box5 column-header"><span data-i18n="attr-abbr">Attr</span></div>
<div class="weapons-box6 column-header"><span data-i18n="skill">Skill</span></div>
<div class="weapons-box7 column-header"><span data-i18n="misc-abbr">Misc</span></div>
<div class="weapons-box8 column-header"><span data-i18n="total-abbr">Tot</span></div>
<div class="weapons-box9 column-header"></div>
<div class="weapons-box10 column-header"><span data-i18n="bonus-abbr">Bon</span></div>
<div class="weapons-box11 column-header"><span data-i18n="max-abbr">Max</span></div>
<div class="weapons-box12 column-header"><span data-i18n="misc-abbr">Misc</span></div>
<div class="weapons-box13 column-header"><span data-i18n="total-abbr">Tot</span></div>
<div class="weapons-box14 column-header"></div>
<div class="weapons-box15 column-header"><span>D8</span></div>
<div class="weapons-box16 column-header"><span>D8</span></div>
<div class="weapons-box17 column-header"><span>D10</span></div>
<div class="weapons-box18 column-header"><span>D12</span></div>
<div class="weapons-box19 column-header"></div>
<div class="weapons-box20 column-header"><span data-i18n="dmg-abbr">Dmg</span></div>
<div class="weapons-box21 column-header"><span data-i18n="misc-abbr">Misc</span></div>
<div class="weapons-box22 column-header"><span data-i18n="total-abbr">Tot</span></div>
<div class="weapons-box23">
<fieldset class="repeating_weapons">
<div class="weapons-grid">
<button class="weapons-box24 roll-button" type="action" name="act_attack-roll" data-i18n-title="update-dice-pool" title="Update the dice pool. Use the 'Roll' button to roll the dice.">t</button>
<button class="weapons-box25 roll-button" type="action" name="act_attack-parry-roll" data-i18n-title="update-dice-pool" title="Update the dice pool. Use the 'Roll' button to roll the dice.">t</button>
<input class="weapons-box26 input" type="text" name="attr_weapon_name" value="" title="@{repeating_weapons_$X_weapon_name}" />
<select class="weapons-box27 input" name="attr_weapon_skill" title="@{repeating_weapons_$X_weapon_skill}">
<option value="0" data-i18n="melee" selected>Melee</option>
<option value="1" data-i18n="ranged">Ranged</option>
</select>
<input class="weapons-box28 input" name="attr_weapon_base_total" type="text" value="0" data-i18n-title="weapon-type-base" title="BASE dice as per weapon/skill type. @{repeating_weapons_$X_weapon_base_total}" readonly />
<input class="weapons-box29 input" name="attr_weapon_skill_value" type="text" value="0" data-i18n-title="weapon-type-skill" title="SKILL dice as per weapon/skill type. @{repeating_weapons_$X_weapon_skill_value}" readonly />
<select class="weapons-box30 input" name="attr_weapon_skill_misc" data-i18n-title="weapon-skill-misc" title="Miscellaneous attack modifier (adjusts SKILL dice). @{repeating_weapons_$X_weapon_skill_misc}">
<option value="6">+6</option>
<option value="5">+5</option>
<option value="4">+4</option>
<option value="3">+3</option>
<option value="2">+2</option>
<option value="1">+1</option>
<option value="0" selected>+0</option>
<option value="-1">-1</option>
<option value="-2">-2</option>
<option value="-3">-3</option>
<option value="-4">-4</option>
<option value="-5">-5</option>
<option value="-6">-6</option>
</select>
<input class="weapons-box31 input" name="attr_weapon_skill_total" type="text" value="0" data-i18n-title="weapon-skill-total" title="Total Skill dice included with the attack. @{repeating_weapons_$X_weapon_skill_total}" readonly />
<div class="weapons-box32"></div>
<select class="weapons-box33 input" name="attr_weapon_bonus" data-i18n-title="weapon-bonus" title="Record the weapon's CURRENT bonus (adjusts Gear dice). @{repeating_weapons_$X_weapon_bonus}">
<option value="0">+0</option>
<option value="1" selected>+1</option>
<option value="2">+2</option>
<option value="3">+3</option>
<option value="4">+4</option>
<option value="5">+5</option>
<option value="6">+6</option>
<option value="7">+7</option>
<option value="8">+8</option>
<option value="9">+9</option>
<option value="10">+10</option>
<option value="11">+11</option>
<option value="12">+12</option>
</select>
<select class="weapons-box34 input" name="attr_weapon_bonus_max" data-i18n-title="weapon-bonus-max" title="Record the weapon's UNDAMAGED bonus. @{repeating_weapons_$X_weapon_bonus_max}">
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12" selected>12</option>
</select>
<select class="weapons-box35 input" name="attr_weapon_bonus_misc" data-i18n-title="weapon-bonus-misc" title="Miscellaneous bonus modifier (adjusts Gear dice). @{repeating_weapons_$X_weapon_bonus_misc}">
<option value="6">+6</option>
<option value="5">+5</option>
<option value="4">+4</option>
<option value="3">+3</option>
<option value="2">+2</option>
<option value="1">+1</option>
<option value="0" selected>+0</option>
<option value="-1">-1</option>
<option value="-2">-2</option>
<option value="-3">-3</option>
<option value="-4">-4</option>
<option value="-5">-5</option>
<option value="-6">-6</option>
</select>
<input class="weapons-box36 input" name="attr_weapon_bonus_total" type="text" value="0" data-i18n-title="weapon-bonus-total" title="Total GEAR dice included with the attack. @{repeating_weapons_$X_weapon_bonus_total}" readonly />
<div class="weapons-box37"></div>
<input class="weapons-box38 input" type="checkbox" name="attr_weapon_artifact_die_ocho" value="1" data-i18n-title="mighty" title="Mighty @{repeating_weapons_$X_weapon_artifact_die_ocho}">
<input class="weapons-box39 input" type="checkbox" name="attr_weapon_artifact_die_eight" value="1" data-i18n-title="mighty" title="Mighty @{repeating_weapons_$X_weapon_artifact_die_eight}">
<input class="weapons-box40 input" type="checkbox" name="attr_weapon_artifact_die_ten" value="1" data-i18n-title="epic" title="Epic @{repeating_weapons_$X_artifact_weapon_die_ten}">
<input class="weapons-box41 input" type="checkbox" name="attr_weapon_artifact_die_twelve" value="1" data-i18n-title="legendary" title="Legendary @{repeating_weapons_$X_weapon_artifact_die_twelve}">
<div class="weapons-box42"></div>
<select class="weapons-box43 input" name="attr_weapon_damage" data-i18n-title="weapon-damage" title="Damage as per weapon tables. @{repeating_weapons_$X_weapon_damage}">
<option value="0" selected>0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
</select>
<select class="weapons-box44 input" name="attr_weapon_damage_misc" data-i18n-title="weapon-damage-misc" title="Miscellaneous damage modifier. @{repeating_weapons_$X_weapon_damage_misc}">
<option value="6">+6</option>
<option value="5">+5</option>
<option value="4">+4</option>
<option value="3">+3</option>
<option value="2">+2</option>
<option value="1">+1</option>
<option value="0" selected>+0</option>
<option value="-1">-1</option>
<option value="-2">-2</option>
<option value="-3">-3</option>
<option value="-4">-4</option>
<option value="-5">-5</option>
<option value="-6">-6</option>
</select>
<input class="weapons-box45 input" name="attr_weapon_damage_total" type="text" value="0" data-i18n-tital="weapon-damage-total" title="Total damage included with the attack. @{repeating_weapons_$X_weapon_damage_total}" readonly />
<!-- expand 2nd row -->
<input class="expand" type="checkbox" name="attr_expand" value="1" data-i18n-title="show-hide" title="show/hide" checked /><span></span>
<!-- 2nd row -->
<div class="weapons-subgrid">
<div class="weapons-box46"><span data-i18n="grip">Grip</span></div>
<select class="weapons-box47 input" name="attr_weapon_grip" title="@{repeating_weapons_$X_weapon_grip}" title="@{repeating_weapons_$X_weapon_grip}">
<option data-i18n="not-applicable-abbr" value="n/a">n/a</option>
<option data-i18n="one-hand-abbr" value="1H" selected>1H</option>
<option data-i18n="two-hand-abbr" value="2H">2H</option>
</select>
<div class="weapons-box48"><span data-i18n="range">Range</span></div>
<select class="weapons-box49 input" name="attr_weapon_range" title="@{repeating_weapons_$X_weapon_range}">
<option value="Arm" selected data-i18n="arms-length-abbr">Arm's L.</option>
<option value="Near" data-i18n="near">Near</option>
<option value="Short" data-i18n="short">Short</option>
<option value="Long" data-i18n="long">Long</option>
<option value="Distant" data-i18n="distant">Distant</option>
</select>
<div class="weapons-box50"><span data-i18n="carried-abbr">Carr</span></div>
<select class="weapons-box51 input" name="attr_weapon_carried" title="@{repeating_weapons_$X_weapon_carried}">
<option data-i18n="yes" value="1">Yes</option>
<option data-i18n="no" value="0" selected>No</option>
<option data-i18n="mount" value="0">Mount</option>
</select>
<div class="weapons-box52"><span data-i18n="weight-abbr">Wt</span></div>
<select class="weapons-box53 input" name="attr_weapon_weight" title="@{repeating_weapons_$X_weapon_weight}">
<option data-i18n="tiny-abbr" value="0" selected>T</option>
<option data-i18n="light-abbr" value="0.5">L</option>
<option data-i18n="normal-abbr" value="1">N</option>
<option data-i18n="heavy-abbr" value="2">H</option>
</select>
<div class="weapons-box54"><span data-i18n="features">Features</span></div>
<input class="weapons-box55 input" type="text" name="attr_weapon_features" value="" title="@{repeating_weapons_$X_weapon_features}" />
</div>
</div>
</fieldset>
</div>
</div>
</div>
<div class="box character-skill-dice-box">
<div class="box toggle-dice-only character-skills">
<div class="skills-grid" data-i18n-list="skills-list">
<span>
<div class="skills-box1 header">
<h1 data-i18n="skill-u">SKILLS</h1>
</div>
<div class="skills-box2 column-header"><span data-i18n="lvl-abbr">Lvl</span></div>
<div class="skills-box3 column-header"><span data-i18n="total-abbr">Tot</span></div>
</span>
<span class="skills-row" data-i18n-list-item="animal-handling">
<button type="action" name="act_dice_pool_animal_handling" data-i18n-title="update-dice-pool" title="Update the dice pool. Use the 'Roll' button to roll the dice."><span data-i18n="animal-handling">Animal Handling</span>&nbsp;(<span class="small-caps" data-i18n="empathy-abbr">Emp</span>&nbsp;<span name="attr_empathy_total"></span>)</button>
<input class="input-number" type="number" name="attr_animal_handling" value="0" min="0" title="@{animal_handling}" />
<input class="input-number" type="text" name="attr_animal_handling_total" value="0" title="@{animal_handling_total}" readonly />
<!-- future development
<input class="expand" type="checkbox" name="attr_expand_animal_handling" value="1" data-i18n-title="show-hide" title="show/hide" checked /><span></span>
<div class="animal-handling-row2 skills-row2">
<div class="skills-row2-header">
<div class="skills-box5 column-header"></div>
<div class="skills-box6 column-header"><span>D8</span></div>
<div class="skills-box7 column-header"><span>D8</span></div>
<div class="skills-box8 column-header"><span>D10</span></div>
<div class="skills-box9 column-header"><span>D12</span></div>
</div>
<div class="skills-row2-body">
<span class="skills-box5"></span>
<input class="skills-box6 sheet-input" type="checkbox" name="attr_animal_handling_artifact_die_ocho" value="1" data-i18n-title="mighty" title="Mighty">
<input class="skills-box7 sheet-input" type="checkbox" name="attr_animal_handling_artifact_die_eight" value="1" data-i18n-title="mighty" title="Mighty">
<input class="skills-box8 sheet-input" type="checkbox" name="attr_animal_handling_artifact_die_ten" value="1" data-i18n-title="epic" title="Epic">
<input class="skills-box9 sheet-input" type="checkbox" name="attr_animal_handling_artifact_die_twelve" value="1" data-i18n-title="legendary" title="Legendary">
</div>
</div>
-->
</span>
<span class="skills-row" data-i18n-list-item="crafting">
<button type="action" name="act_dice_pool_crafting" class="toggle-monster-only" data-i18n-title="update-dice-pool" title="Update the dice pool. Use the 'Roll' button to roll the dice."><span data-i18n="crafting">Crafting</span>&nbsp;(<span class="small-caps" data-i18n="strength-abbr">Str</span>&nbsp;<span name="attr_strength_total"></span>)</button>
<button type="action" name="act_dice_pool_crafting_monster" class="monster" data-i18n-title="update-dice-pool" title="Update the dice pool. Use the 'Roll' button to roll the dice."><span data-i18n="crafting">Crafting</span>&nbsp;(<span class="small-caps" data-i18n="strength-abbr">Str</span>&nbsp;<span name="attr_strength_total"></span>)</button>
<input class="input-number toggle-monster-only" type="number" name="attr_crafting" value="0" min="0" title="@{crafting}" />
<select class="input monster" name="attr_crafting_monster" title="@{crafting_monster}" style="width: 3em;margin: 0;">
<option value="0" selected>0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
</select>
<input class="input-number toggle-monster-only" type="text" name="attr_crafting_total" value="0" title="@{crafting_total}" readonly />
</span>
<span class="skills-row" data-i18n-list-item="endurance">
<button type="action" name="act_dice_pool_endurance" class="toggle-monster-only" data-i18n-title="update-dice-pool" title="Update the dice pool. Use the 'Roll' button to roll the dice."><span data-i18n="endurance">Endurance</span>&nbsp;(<span class="small-caps" data-i18n="strength-abbr">Str</span>&nbsp;<span name="attr_strength_total"></span>)</button>
<button type="action" name="act_dice_pool_endurance_monster" class="monster" data-i18n-title="update-dice-pool" title="Update the dice pool. Use the 'Roll' button to roll the dice."><span data-i18n="endurance">Endurance</span>&nbsp;(<span class="small-caps" data-i18n="strength-abbr">Str</span>&nbsp;<span name="attr_strength_total"></span>)</button>
<input class="input-number toggle-monster-only" type="number" name="attr_endurance" value="0" min="0" title="@{endurance}" />
<select class="input monster" name="attr_endurance_monster" title="@{endurance_monster}" style="width: 3em;margin: 0;">
<option value="0" selected>0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
</select>
<input class="input-number toggle-monster-only" type="text" name="attr_endurance_total" value="0" title="@{endurance_total}" readonly />
</span>
<span class="skills-row" data-i18n-list-item="healing">
<button type="action" name="act_dice_pool_healing" data-i18n-title="update-dice-pool" title="Update the dice pool. Use the 'Roll' button to roll the dice."><span data-i18n="healing">Healing</span>&nbsp;(<span class="small-caps" data-i18n="empathy-abbr">Emp</span>&nbsp;<span name="attr_empathy_total"></span>)</button>
<input class="input-number" type="number" name="attr_healing" value="0" min="0" title="@{healing}" />
<input class="input-number" type="text" name="attr_healing_total" value="0" title="@{healing_total}" readonly />
</span>
<span class="skills-row" data-i18n-list-item="insight">
<button type="action" name="act_dice_pool_insight" data-i18n-title="update-dice-pool" title="Update the dice pool. Use the 'Roll' button to roll the dice."><span data-i18n="insight">Insight</span>&nbsp;(<span class="small-caps" data-i18n="wits-abbr">Wit</span>&nbsp;<span name="attr_wits_total"></span>)</button>
<input class="input-number" type="number" name="attr_insight" value="0" min="0" title="@{insight}" />
<input class="input-number" type="text" name="attr_insight_total" value="0" title="@{insight_total}" readonly />
</span>
<span class="skills-row" data-i18n-list-item="lore">
<button type="action" name="act_dice_pool_lore" data-i18n-title="update-dice-pool" title="Update the dice pool. Use the 'Roll' button to roll the dice."><span data-i18n="lore">Lore</span>&nbsp;(<span class="small-caps" data-i18n="wits-abbr">Wit</span>&nbsp;<span name="attr_wits_total"></span>)</button>
<input class="input-number" type="number" name="attr_lore" value="0" min="0" title="@{lore}" />
<input class="input-number" type="text" name="attr_lore_total" value="0" title="@{lore_total}" readonly />
</span>
<span class="skills-row" data-i18n-list-item="manipulation">
<button type="action" name="act_dice_pool_manipulation" data-i18n-title="update-dice-pool" title="Update the dice pool. Use the 'Roll' button to roll the dice."><span data-i18n="manipulation">Manipulation</span>&nbsp;(<span class="small-caps" data-i18n="empathy-abbr">Emp</span>&nbsp;<span name="attr_empathy_total"></span>)</button>
<input class="input-number" type="number" name="attr_manipulation" value="0" min="0" title="@{manipulation}" />
<input class="input-number" type="text" name="attr_manipulation_total" value="0" title="@{manipulation_total}" readonly />
</span>
<span class="skills-row" data-i18n-list-item="marksmanship">
<button type="action" name="act_dice_pool_marksmanship" data-i18n-title="update-dice-pool" title="Update the dice pool. Use the 'Roll' button to roll the dice."><span data-i18n="marksmanship">Marksmanship</span>&nbsp;(<span class="small-caps" data-i18n="agility-abbr">Agi</span>&nbsp;<span name="attr_agility_total"></span>)</button>
<input class="input-number" type="number" name="attr_marksmanship" value="0" min="0" title="@{marksmanship}" />
<input class="input-number" type="text" name="attr_marksmanship_total" value="0" title="@{marksmanship_total}" readonly />
</span>
<span class="skills-row" data-i18n-list-item="melee">
<button type="action" name="act_dice_pool_melee" class="toggle-monster-only" data-i18n-title="update-dice-pool" title="Update the dice pool. Use the 'Roll' button to roll the dice."><span data-i18n="melee">Melee</span>&nbsp;(<span class="small-caps" data-i18n="strength-abbr">Str</span>&nbsp;<span name="attr_strength_total"></span>)</button>
<button type="action" name="act_dice_pool_melee_monster" class="monster" data-i18n-title="update-dice-pool" title="Update the dice pool. Use the 'Roll' button to roll the dice."><span data-i18n="melee">Melee</span>&nbsp;(<span class="small-caps" data-i18n="strength-abbr">Str</span>&nbsp;<span name="attr_strength_total"></span>)</button>
<input class="input-number toggle-monster-only" type="number" name="attr_melee" value="0" min="0" title="@{melee}" />
<select class="input monster" name="attr_melee_monster" title="@{melee_monster}" style="width: 3em;margin: 0;">
<option value="0" selected>0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
</select>
<input class="input-number toggle-monster-only" type="text" name="attr_melee_total" value="0" title="@{melee_total}" readonly />
</span>
<span class="skills-row" data-i18n-list-item="might">
<button type="action" name="act_dice_pool_might" class="toggle-monster-only" data-i18n-title="update-dice-pool" title="Update the dice pool. Use the 'Roll' button to roll the dice."><span data-i18n="might">Might</span>&nbsp;(<span class="small-caps" data-i18n="strength-abbr">Str</span>&nbsp;<span name="attr_strength_total"></span>)</button>
<button type="action" name="act_dice_pool_might_monster" class="monster" data-i18n-title="update-dice-pool" title="Update the dice pool. Use the 'Roll' button to roll the dice."><span data-i18n="might">Might</span>&nbsp;(<span class="small-caps" data-i18n="strength-abbr">Str</span>&nbsp;<span name="attr_strength_total"></span>)</button>
<input class="input-number toggle-monster-only" type="number" name="attr_might" value="0" min="0" title="@{might}" />
<select class="input monster" name="attr_might_monster" title="@{might_monster}" style="width: 3em;margin: 0;">
<option value="0" selected>0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
</select>
<input class="input-number toggle-monster-only" type="text" name="attr_might_total" value="0" title="@{might_total}" readonly />
</span>
<span class="skills-row" data-i18n-list-item="move">
<button type="action" name="act_dice_pool_move" data-i18n-title="update-dice-pool" title="Update the dice pool. Use the 'Roll' button to roll the dice."><span data-i18n="move">Move</span>&nbsp;(<span class="small-caps" data-i18n="agility-abbr">Agi</span>&nbsp;<span name="attr_agility_total"></span>)</button>
<input class="input-number" type="number" name="attr_move" value="0" min="0" title="@{move}" />
<input class="input-number" type="text" name="attr_move_total" value="0" title="@{move_total}" readonly />
</span>
<span class="skills-row" data-i18n-list-item="performance">
<button type="action" name="act_dice_pool_performance" data-i18n-title="update-dice-pool" title="Update the dice pool. Use the 'Roll' button to roll the dice."><span data-i18n="performance">Performance</span>&nbsp;(<span class="small-caps" data-i18n="empathy-abbr">Emp</span>&nbsp;<span name="attr_empathy_total"></span>)</button>
<input class="input-number" type="number" name="attr_performance" value="0" min="0" title="@{performance}" />
<input class="input-number" type="text" name="attr_performance_total" value="0" title="@{performance_total}" readonly />
</span>
<span class="skills-row" data-i18n-list-item="scouting">
<button type="action" name="act_dice_pool_scouting" data-i18n-title="update-dice-pool" title="Update the dice pool. Use the 'Roll' button to roll the dice."><span data-i18n="scouting">Scouting</span>&nbsp;(<span class="small-caps" data-i18n="wits-abbr">Wit</span>&nbsp;<span name="attr_wits_total"></span>)</button>
<input class="input-number" type="number" name="attr_scouting" value="0" min="0" title="@{scouting}" />
<input class="input-number" type="text" name="attr_scouting_total" value="0" title="@{scouting_total}" readonly />
</span>
<span class="skills-row" data-i18n-list-item="sleight-of-hand">
<button type="action" name="act_dice_pool_sleight_of_hand" data-i18n-title="update-dice-pool" title="Update the dice pool. Use the 'Roll' button to roll the dice."><span data-i18n="sleight-of-hand">Sleight of Hand</span>&nbsp;(<span class="small-caps" data-i18n="agility-abbr">Agi</span>&nbsp;<span name="attr_agility_total"></span>)</button>
<input class="input-number" type="number" name="attr_sleight_of_hand" value="0" min="0" title="@{sleight_of_hand}" />
<input class="input-number" type="text" name="attr_sleight_of_hand_total" value="0" title="@{sleight_of_hand_total}" readonly />
</span>
<span class="skills-row" data-i18n-list-item="stealth">
<button type="action" name="act_dice_pool_stealth" data-i18n-title="update-dice-pool" title="Update the dice pool. Use the 'Roll' button to roll the dice."><span data-i18n="stealth">Stealth</span>&nbsp;(<span class="small-caps" data-i18n="agility-abbr">Agi</span>&nbsp;<span name="attr_agility_total"></span>)</button>
<input class="input-number" type="number" name="attr_stealth" value="0" min="0" title="@{stealth}" />
<input class="input-number" type="text" name="attr_stealth_total" value="0" title="@{stealth_total}" readonly />
</span>
<span class="skills-row" data-i18n-list-item="survival">
<button type="action" name="act_dice_pool_survival" data-i18n-title="update-dice-pool" title="Update the dice pool. Use the 'Roll' button to roll the dice."><span data-i18n="survival">Survival</span>&nbsp;(<span class="small-caps" data-i18n="wits-abbr">Wit</span>&nbsp;<span name="attr_wits_total"></span>)</button>
<input class="input-number" type="number" name="attr_survival" value="0" min="0" title="@{survival}" />
<input class="input-number" type="text" name="attr_survival_total" value="0" title="@{survival_total}" readonly />
</span>
</div>
</div>
<div class="box character-dice_pool">
<div class="dice_pool-grid">
<div class="dice-header dice_pool-box1 toggle-dice-only header">
<h1 data-i18n="dice-pool-u">DICE POOL</h1>
</div>
<div class="dice-base">
<div class="dice-base-header"><span class="label" data-i18n-title="base-attribute-dice" data-i18n="base">Base</span></div>
<input type="hidden" name="attr_attribute_die_twelve" value="1" />
<input type="hidden" name="attr_attribute_die_eleven" value="1" />
<input type="hidden" name="attr_attribute_die_ten" value="1" />
<input type="hidden" name="attr_attribute_die_nine" value="1" />
<input type="hidden" name="attr_attribute_die_eight" value="1" />
<input type="hidden" name="attr_attribute_die_seven" value="1" />
<input type="hidden" name="attr_attribute_die_six" value="1" />
<input type="hidden" name="attr_attribute_die_five" value="1" />
<input type="hidden" name="attr_attribute_die_four" value="1" />
<input type="hidden" name="attr_attribute_die_three" value="1" />
<input type="hidden" name="attr_attribute_die_two" value="1" />
<input type="hidden" name="attr_attribute_die_one" value="1" />
<div class="dice-base-col1">
<input type="radio" name="attr_attribute" value="6" class="dice-selection attribute" /><span title="6"></span>
<input type="radio" name="attr_attribute" value="5" class="dice-selection attribute" /><span title="5"></span>
<input type="radio" name="attr_attribute" value="4" class="dice-selection attribute" /><span title="4"></span>
<input type="radio" name="attr_attribute" value="3" class="dice-selection attribute" /><span title="3"></span>
<input type="radio" name="attr_attribute" value="2" class="dice-selection attribute" /><span title="2"></span>
<input type="radio" name="attr_attribute" value="1" class="dice-selection attribute" /><span title="1"></span>
<input type="radio" name="attr_attribute" value="0" class="dice-selection attribute" checked /><span title="0"></span>
</div>
<div class="dice-base-col2">
<input type="radio" name="attr_attribute" value="7" class="dice-selection attribute" /><span title="7"></span>
<input type="radio" name="attr_attribute" value="8" class="dice-selection attribute" /><span title="8"></span>
<input type="radio" name="attr_attribute" value="9" class="dice-selection attribute" /><span title="9"></span>
<input type="radio" name="attr_attribute" value="10" class="dice-selection attribute" /><span title="10"></span>
<input type="radio" name="attr_attribute" value="11" class="dice-selection attribute" /><span title="11"></span>
<input type="radio" name="attr_attribute" value="12" class="dice-selection attribute" /><span title="12"></span>
</div>
</div>
<div class="dice-skill">
<div class="dice-skill-header"><span class="label" data-i18n-title="skill-level" data-i18n="skill">Skill</span></div>
<input type="hidden" name="attr_negative_die_one" value="1" />
<input type="hidden" name="attr_negative_die_two" value="1" />
<input type="hidden" name="attr_negative_die_three" value="1" />
<input type="hidden" name="attr_skill_die_ten" value="1" />
<input type="hidden" name="attr_skill_die_nine" value="1" />
<input type="hidden" name="attr_skill_die_eight" value="1" />
<input type="hidden" name="attr_skill_die_seven" value="1" />
<input type="hidden" name="attr_skill_die_six" value="1" />
<input type="hidden" name="attr_skill_die_five" value="1" />
<input type="hidden" name="attr_skill_die_four" value="1" />
<input type="hidden" name="attr_skill_die_three" value="1" />
<input type="hidden" name="attr_skill_die_two" value="1" />
<input type="hidden" name="attr_skill_die_one" value="1" />
<div class="dice-skill-col1">
<input type="radio" name="attr_skill" value="6" class="dice-selection skill" /><span title="6"></span>
<input type="radio" name="attr_skill" value="5" class="dice-selection skill" /><span title="5"></span>
<input type="radio" name="attr_skill" value="4" class="dice-selection skill" /><span title="4"></span>
<input type="radio" name="attr_skill" value="3" class="dice-selection skill" /><span title="3"></span>
<input type="radio" name="attr_skill" value="2" class="dice-selection skill" /><span title="2"></span>
<input type="radio" name="attr_skill" value="1" class="dice-selection skill" /><span title="1"></span>
<input type="radio" name="attr_skill" value="0" class="dice-selection skill" checked /><span title="0"></span>
</div>
<div class="dice-skill-col2">
<input type="radio" name="attr_skill" value="7" class="dice-selection skill" /><span title="7"></span>
<input type="radio" name="attr_skill" value="8" class="dice-selection skill" /><span title="8"></span>
<input type="radio" name="attr_skill" value="9" class="dice-selection skill" /><span title="9"></span>
<input type="radio" name="attr_skill" value="10" class="dice-selection skill" /><span title="10"></span>
<input type="radio" name="attr_skill" value="-1" class="dice-selection negative" /><span title="-1"></span>
<input type="radio" name="attr_skill" value="-2" class="dice-selection negative" /><span title="-2"></span>
<input type="radio" name="attr_skill" value="-3" class="dice-selection negative" /><span title="-3"></span>
</div>
</div>
<div class="dice-gear">
<div class="dice-gear-header"><span class="label" data-i18n-title="gear-bonus" data-i18n="gear">Gear</span></div>
<input type="hidden" name="attr_gear_die_twelve" value="1" />
<input type="hidden" name="attr_gear_die_eleven" value="1" />
<input type="hidden" name="attr_gear_die_ten" value="1" />
<input type="hidden" name="attr_gear_die_nine" value="1" />
<input type="hidden" name="attr_gear_die_eight" value="1" />
<input type="hidden" name="attr_gear_die_seven" value="1" />
<input type="hidden" name="attr_gear_die_six" value="1" />
<input type="hidden" name="attr_gear_die_five" value="1" />
<input type="hidden" name="attr_gear_die_four" value="1" />
<input type="hidden" name="attr_gear_die_three" value="1" />
<input type="hidden" name="attr_gear_die_two" value="1" />
<input type="hidden" name="attr_gear_die_one" value="1" />
<div class="dice-gear-col1">
<input type="radio" name="attr_gear" value="6" class="dice-selection gear" /><span title="6"></span>
<input type="radio" name="attr_gear" value="5" class="dice-selection gear" /><span title="5"></span>
<input type="radio" name="attr_gear" value="4" class="dice-selection gear" /><span title="4"></span>
<input type="radio" name="attr_gear" value="3" class="dice-selection gear" /><span title="3"></span>
<input type="radio" name="attr_gear" value="2" class="dice-selection gear" /><span title="2"></span>
<input type="radio" name="attr_gear" value="1" class="dice-selection gear" /><span title="1"></span>
<input type="radio" name="attr_gear" value="0" class="dice-selection gear" checked /><span title="0"></span>
</div>
<div class="dice-gear-col2">
<input type="radio" name="attr_gear" value="7" class="dice-selection gear" /><span title="7"></span>
<input type="radio" name="attr_gear" value="8" class="dice-selection gear" /><span title="8"></span>
<input type="radio" name="attr_gear" value="9" class="dice-selection gear" /><span title="9"></span>
<input type="radio" name="attr_gear" value="10" class="dice-selection gear" /><span title="10"></span>
<input type="radio" name="attr_gear" value="11" class="dice-selection gear" /><span title="11"></span>
<input type="radio" name="attr_gear" value="12" class="dice-selection gear" /><span title="12"></span>
</div>
</div>
<div class="dice-artifact">
<div class="dice-artifact-header"><span class="label" data-i18n-title="artifact-bonus" data-i18n="artifact">Artifact Dice</span></div>
<div class="dice-artifact-rolls">
<input type="checkbox" name="attr_artifact_die_ocho" value="1" class="dice-selection mighty" data-i18n-title="mighty" title="Mighty" />
<span title="d8"></span>
<input type="checkbox" name="attr_artifact_die_eight" value="1" class="dice-selection mighty" data-i18n-title="mighty" title="Mighty" />
<span title="d8"></span>
<input type="checkbox" name="attr_artifact_die_ten" value="1" class="dice-selection epic" data-i18n-title="epic" title="Epic" />
<span title="d10"></span>
<input type="checkbox" name="attr_artifact_die_twelve" value="1" class="dice-selection legendary" data-i18n-title="legendary" title="Legendary" />
<span title="d12"></span>
</div>
</div>
<div class="dice-rolls">
<input class="hidden api-toggle-show" type="checkbox" name="attr_api_toggle" value="1" />
<div class="template-roll dice-rolls-roll">
<input class="hidden roll-indicator" type="checkbox" name="attr_roll_the_dice_flag" value="1" readonly />
<span class="box-indicator">
<button class="dice-pool" type="roll" name="roll_the_dice" value="@{whisper_option} &{template:forbiddenlands} {{character_name=@{character_name}}} {{character_id=@{character_id}}} {{name=^{dice-pool}}} {{subtitle=@{current_preset}}} {{free-text}} {{footer}} {{attribute-die-one=[[ @{attribute_die_one}]] }} {{attribute-roll-one=[[1d6]] }} {{attribute-die-two=[[ @{attribute_die_two}]] }} {{attribute-roll-two=[[1d6]] }} {{attribute-die-three=[[ @{attribute_die_three}]] }} {{attribute-roll-three=[[1d6]] }} {{attribute-die-four=[[ @{attribute_die_four}]] }} {{attribute-roll-four=[[1d6]] }} {{attribute-die-five=[[ @{attribute_die_five}]] }} {{attribute-roll-five=[[1d6]] }} {{attribute-die-six=[[ @{attribute_die_six}]] }} {{attribute-roll-six=[[1d6]] }} {{attribute-die-seven=[[ @{attribute_die_seven}]] }} {{attribute-roll-seven=[[1d6]] }} {{attribute-die-eight=[[ @{attribute_die_eight}]] }} {{attribute-roll-eight=[[1d6]] }} {{attribute-die-nine=[[ @{attribute_die_nine}]] }} {{attribute-roll-nine=[[1d6]] }} {{attribute-die-ten=[[ @{attribute_die_ten}]] }} {{attribute-roll-ten=[[1d6]] }} {{attribute-die-eleven=[[ @{attribute_die_eleven}]] }} {{attribute-roll-eleven=[[1d6]] }} {{attribute-die-twelve=[[ @{attribute_die_twelve}]] }} {{attribute-roll-twelve=[[1d6]] }} {{skill-die-one=[[ @{skill_die_one}]] }} {{skill-roll-one=[[1d6]] }} {{skill-die-two=[[ @{skill_die_two}]] }} {{skill-roll-two=[[1d6]] }} {{skill-die-three=[[ @{skill_die_three}]] }} {{skill-roll-three=[[1d6]] }} {{skill-die-four=[[ @{skill_die_four}]] }} {{skill-roll-four=[[1d6]] }} {{skill-die-five=[[ @{skill_die_five}]] }} {{skill-roll-five=[[1d6]] }} {{skill-die-six=[[ @{skill_die_six}]] }} {{skill-roll-six=[[1d6]] }} {{skill-die-seven=[[ @{skill_die_seven}]] }} {{skill-roll-seven=[[1d6]] }} {{skill-die-eight=[[ @{skill_die_eight}]] }} {{skill-roll-eight=[[1d6]] }} {{skill-die-nine=[[ @{skill_die_nine}]] }} {{skill-roll-nine=[[1d6]] }} {{skill-die-ten=[[ @{skill_die_ten}]] }} {{skill-roll-ten=[[1d6]] }} {{negative-die-one=[[ @{negative_die_one}]] }} {{negative-roll-one=[[1d6]] }} {{negative-die-two=[[ @{negative_die_two}]] }} {{negative-roll-two=[[1d6]] }} {{negative-die-three=[[ @{negative_die_three}]] }} {{negative-roll-three=[[1d6]] }} {{gear-die-one=[[ @{gear_die_one}]] }} {{gear-roll-one=[[1d6]] }} {{gear-die-two=[[ @{gear_die_two}]] }} {{gear-roll-two=[[1d6]] }} {{gear-die-three=[[ @{gear_die_three}]] }} {{gear-roll-three=[[1d6]] }} {{gear-die-four=[[ @{gear_die_four}]] }} {{gear-roll-four=[[1d6]] }} {{gear-die-five=[[ @{gear_die_five}]] }} {{gear-roll-five=[[1d6]] }} {{gear-die-six=[[ @{gear_die_six}]] }} {{gear-roll-six=[[1d6]] }} {{gear-die-seven=[[ @{gear_die_seven}]] }} {{gear-roll-seven=[[1d6]] }} {{gear-die-eight=[[ @{gear_die_eight}]] }} {{gear-roll-eight=[[1d6]] }} {{gear-die-nine=[[ @{gear_die_nine}]] }} {{gear-roll-nine=[[1d6]] }} {{gear-die-ten=[[ @{gear_die_ten}]] }} {{gear-roll-ten=[[1d6]] }} {{gear-die-eleven=[[ @{gear_die_eleven}]] }} {{gear-roll-eleven=[[1d6]] }} {{gear-die-twelve=[[ @{gear_die_twelve}]] }} {{gear-roll-twelve=[[1d6]] }} {{artifact-die-eight=[[ @{artifact_die_eight}]] }} {{artifact-roll-eight=[[1d8]] }} {{artifact-die-ocho=[[ @{artifact_die_ocho}]] }} {{artifact-roll-ocho=[[1d8]] }} {{artifact-die-ten=[[ @{artifact_die_ten}]] }} {{artifact-roll-ten=[[1d10]] }} {{artifact-die-twelve=[[ @{artifact_die_twelve}]] }} {{artifact-roll-twelve=[[1d12]] }} @{include_with_roll}" data-i18n-title="roll-dice" title="Roll the Dice!">&nbsp;<span data-i18n="roll">Roll</span>&nbsp;</button>
</span>
</div>
<div class="grid-item api-roll">
<input class="hidden roll-indicator" type="checkbox" name="attr_roll_the_dice_flag" value="1" readonly />
<span class="box-api-indicator">
<button class="dice-pool" type="roll" name="roll_the_dice_api" value="@{whisper_option_api} [[(@{skill})d6]] [[(@{attribute})d6]] [[(@{gear})d6]] [[(@{artifact_die_eight})d8+(@{artifact_die_ocho})d8+(@{artifact_die_ten})d10+(@{artifact_die_twelve})d12]] --Character|@{character_name} --Roll|@{current_preset}" data-i18n-title="roll-dice-api" title="Roll API Dice!">&nbsp;<span data-i18n="roll">Roll</span>&nbsp;</button>
</span>
</div>
<div class="template-roll dice-rolls-push">
<button class="dice-pool" type="roll" name="roll_a_push" value="@{whisper_option} &{template:forbiddenlands} {{character_name=@{character_name}}} {{character_id=@{character_id}}} {{name=^{pushes-the-roll}}} {{subtitle=@{current_preset}}} {{free-text}} {{footer}} {{attribute-die-one=[[ @{attribute_die_one}]] }} {{attribute-roll-one=[[1d6]] }} {{attribute-die-two=[[ @{attribute_die_two}]] }} {{attribute-roll-two=[[1d6]] }} {{attribute-die-three=[[ @{attribute_die_three}]] }} {{attribute-roll-three=[[1d6]] }} {{attribute-die-four=[[ @{attribute_die_four}]] }} {{attribute-roll-four=[[1d6]] }} {{attribute-die-five=[[ @{attribute_die_five}]] }} {{attribute-roll-five=[[1d6]] }} {{attribute-die-six=[[ @{attribute_die_six}]] }} {{attribute-roll-six=[[1d6]] }} {{attribute-die-seven=[[ @{attribute_die_seven}]] }} {{attribute-roll-seven=[[1d6]] }} {{attribute-die-eight=[[ @{attribute_die_eight}]] }} {{attribute-roll-eight=[[1d6]] }} {{attribute-die-nine=[[ @{attribute_die_nine}]] }} {{attribute-roll-nine=[[1d6]] }} {{attribute-die-ten=[[ @{attribute_die_ten}]] }} {{attribute-roll-ten=[[1d6]] }} {{attribute-die-eleven=[[ @{attribute_die_eleven}]] }} {{attribute-roll-eleven=[[1d6]] }} {{attribute-die-twelve=[[ @{attribute_die_twelve}]] }} {{attribute-roll-twelve=[[1d6]] }} {{skill-die-one=[[ @{skill_die_one}]] }} {{skill-roll-one=[[1d6]] }} {{skill-die-two=[[ @{skill_die_two}]] }} {{skill-roll-two=[[1d6]] }} {{skill-die-three=[[ @{skill_die_three}]] }} {{skill-roll-three=[[1d6]] }} {{skill-die-four=[[ @{skill_die_four}]] }} {{skill-roll-four=[[1d6]] }} {{skill-die-five=[[ @{skill_die_five}]] }} {{skill-roll-five=[[1d6]] }} {{skill-die-six=[[ @{skill_die_six}]] }} {{skill-roll-six=[[1d6]] }} {{skill-die-seven=[[ @{skill_die_seven}]] }} {{skill-roll-seven=[[1d6]] }} {{skill-die-eight=[[ @{skill_die_eight}]] }} {{skill-roll-eight=[[1d6]] }} {{skill-die-nine=[[ @{skill_die_nine}]] }} {{skill-roll-nine=[[1d6]] }} {{skill-die-ten=[[ @{skill_die_ten}]] }} {{skill-roll-ten=[[1d6]] }} {{negative-die-one=[[ @{negative_die_one}]] }} {{negative-roll-one=[[1d6]] }} {{negative-die-two=[[ @{negative_die_two}]] }} {{negative-roll-two=[[1d6]] }} {{negative-die-three=[[ @{negative_die_three}]] }} {{negative-roll-three=[[1d6]] }} {{gear-die-one=[[ @{gear_die_one}]] }} {{gear-roll-one=[[1d6]] }} {{gear-die-two=[[ @{gear_die_two}]] }} {{gear-roll-two=[[1d6]] }} {{gear-die-three=[[ @{gear_die_three}]] }} {{gear-roll-three=[[1d6]] }} {{gear-die-four=[[ @{gear_die_four}]] }} {{gear-roll-four=[[1d6]] }} {{gear-die-five=[[ @{gear_die_five}]] }} {{gear-roll-five=[[1d6]] }} {{gear-die-six=[[ @{gear_die_six}]] }} {{gear-roll-six=[[1d6]] }} {{gear-die-seven=[[ @{gear_die_seven}]] }} {{gear-roll-seven=[[1d6]] }} {{gear-die-eight=[[ @{gear_die_eight}]] }} {{gear-roll-eight=[[1d6]] }} {{gear-die-nine=[[ @{gear_die_nine}]] }} {{gear-roll-nine=[[1d6]] }} {{gear-die-ten=[[ @{gear_die_ten}]] }} {{gear-roll-ten=[[1d6]] }} {{gear-die-eleven=[[ @{gear_die_eleven}]] }} {{gear-roll-eleven=[[1d6]] }} {{gear-die-twelve=[[ @{gear_die_twelve}]] }} {{gear-roll-twelve=[[1d6]] }} {{artifact-die-eight=[[ @{artifact_die_eight}]] }} {{artifact-roll-eight=[[1d8]] }} {{artifact-die-ocho=[[ @{artifact_die_ocho}]] }} {{artifact-roll-ocho=[[1d8]] }} {{artifact-die-ten=[[ @{artifact_die_ten}]] }} {{artifact-roll-ten=[[1d10]] }} {{artifact-die-twelve=[[ @{artifact_die_twelve}]] }} {{artifact-roll-twelve=[[1d12]] }} {{push-query=?{@{translation_push_query}} }} @{include_with_roll}" data-i18n-title="push-dice" title="Push the Dice!">&nbsp;<span data-i18n="push">Push</span>&nbsp;</button>
<input type="hidden" name="attr_translation_push_query" value="push-query" />
</div>
<div class="dice-rolls-d66">
<button class="dice-pool" type="roll" name="roll_d66" value="@{whisper_option} &{template:forbiddenlands} {{character_name=@{character_name}}} {{character_id=@{character_id}}} {{name=^{d66-roll}}} {{subtitle}} {{free-text}} {{d66-die-one=[[ 1 ]] }} {{d66-roll-one=[[ 1d6 ]] }} {{d66-die-two=[[ 1 ]] }} {{d66-roll-two=[[ 1d6 ]] }} {{footer}}" data-i18n-title="roll-dice-66" title="Roll d66!">&nbsp;<span class="small-caps">D</span>66&nbsp;</button>
</div>
</div>
<div class="dice-preset">
<input type="hidden" class="input" name="attr_current_preset" value="" readonly />
<input type="hidden" name="attr_include_with_roll" value="" readonly />
<span class="label dice-preset-header" data-i18n="current-preset">Current Preset</span>
<span class="header-h1 dice-preset-preset" name="attr_current_preset"></span>
</div>
<div class="dice-footer">
<button type="action" name="act_dice_pool_clear" class="small-caps dice-footer-clear" data-i18n-title="reset-dice" title="Reset dice pool." data-i18n="clear-dice-pool">Clear Dice Pool</button>
<button type="action" name="act_api_dice_toggle" class="api-button small-caps dice-footer-api" data-i18n-title="api-dice-title" title="Use API Dice Roller. (API is a Pro feature) 'Forbidden Lands Year-Zero Die Roller' script must be installed." data-i18n="api-dice">api dice</button>
</div>
</div>
</div>
</div>
<div class="box toggle-dice-only toggle-monster-only character-column3">
<div class="talents-grid" style="margin-bottom: 1em;">
<div class="talents-box header">
<h1 data-i18n="talent-u">TALENTS</h1>
</div>
<div class="talents-box2 column-header"><span data-i18n="type">Type</span></div>
<div class="talents-box3 column-header"><span data-i18n="rank">Rank</span></div>
<div class="talents-box4">
<fieldset class="repeating_talents">
<div class="talents-grid">
<input class="expand" type="checkbox" name="attr_expand" value="1" data-i18n-title="show-hide" title="show/hide" checked /><span></span>
<input class="talents-box1 input" type="text" name="attr_talent_name" value="" title="@{repeating_talents_$X_talent_name}" data-i18n-placeholder="name" placeholder="Name" />
<select class="talents-box2 input" name="attr_talent_type" title="@{repeating_talents_$X_talent_type}">
<option value="Kin" data-i18n="kin">Kin</option>
<option value="Gen" data-i18n="gen" selected>Gen</option>
<option value="Prof" data-i18n="prof">Prof</option>
</select>
<select class="talents-box3 input" name="attr_talent_rank" title="@{repeating_talents_$X_talent_rank}">
<option value="0" select>0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
<!-- expand 2nd row -->
<textarea class="talents-box4 input-textarea" name="attr_talent_description" title="@{repeating_talents_$X_talent_description}" data-i18n-placeholder="description" placeholder="description"></textarea>
</div>
</fieldset>
</div>
</div>
<div class="gear-grid">
<div class="gear-box1 header">
<h1 data-i18n="gea-u">GEAR</h1>
</div>
<div class="gear-box2 column-header"><span data-i18n="quantity-abbr">Qty</span></div>
<div class="gear-box3 column-header"><span data-i18n="carried-abbr">Carr</span></div>
<div class="gear-box4 column-header"><span data-i18n="weight-abbr">Wt</span></div>
<div class="gear-box5">
<fieldset class="repeating_gear">
<div class="gear-grid">
<input class="expand" type="checkbox" name="attr_expand" value="1" data-i18n-title="show-hide" title="show/hide" /><span></span>
<input class="gear-box1 input" type="text" name="attr_gear_name" value="" title="@{repeating_gear_$X_gear_name}" data-i18n-placeholder="item" placeholder="item" />
<input class="gear-box2 input-number" type="number" name="attr_gear_qty" value="1" min="0" title="@{repeating_gear_$X_gear_qty}" />
<input class="gear-box3 input" type="checkbox" name="attr_gear_carried" value="1" title="@{repeating_gear_$X_gear_carried}" checked />
<select class="gear-box4 input" name="attr_gear_weight" title="@{repeating_gear_$X_gear_weight}">
<option data-i18n="tiny-abbr" value="0" selected>T</option>
<option data-i18n="light-abbr" value="0.5">L</option>
<option data-i18n="normal-abbr" value="1">N</option>
<option data-i18n="heavy-abbr" value="2">H</option>
</select>
<!-- expand 2nd row -->
<textarea class="gear-box5 input-textarea" name="attr_gear_description" title="@{repeating_talents_$X_gear_description}" data-i18n-placeholder="description" placeholder="description"></textarea>
</div>
</fieldset>
</div>
<div class="gear-weight">
<div><span class="label" data-i18n="gear">Gear</span></div>
<div><input class="input-number" type="text" name="attr_character_gear_encumbrance" value="0" title="@{character_gear_encumbrance}" readonly /></div>
<div><span class="label" data-i18n="weapons">Weapons</span></div>
<div><input class="input-number" type="text" name="attr_weapons_encumbrance" value="0" title="@{weapons_encumbrance}" readonly /></div>
<div><span class="label" data-i18n="armor">Armor</span></div>
<div><input class="input-number" type="text" name="attr_armor_shield_encumbrance" value="0" title="@{armor_shield_encumbrance}" readonly /></div>
<div><span class="label" data-i18n="coins-carried">Coins Carried</span></div>
<div><input class="input-number" type="text" name="attr_coins_carried" value="0" title="@{coins_carried}" readonly /></div>
</div>
<div class="gear-box6 header">
<div class="gear"><span class="label" data-i18n="carry">Carry</span></div>
<div class="gear">
<input class="input-number" type="text" name="attr_carry" value="(2*(@{strength})+@{pack_rat})" title="@{carry} = 2 x @{strength} + @{pack_rat}" disabled="" data-formula="(2*(@{strength})+@{pack_rat})"></div>
<div class="gear"><span class="label" data-i18n="encumbrance">Encumbrance</span></div>
<div class="gear">
<input type="hidden" name="attr_character_gear_encumbrance" value="1">
<input class="input-number" type="text" name="attr_character_encumbrance" value="0" title="@{character_encumbrance}" readonly />
</div>
</div>
</div>
<div class="gear-subgrid2" style="margin-bottom: 1em;">
<div class="gear-box12"><span class="label" data-i18n-title="pack-rat-title" data-i18n="pack-rat">Pack Rat Talent?</span></div>
<div class="gear-box13">
<select class="input" name="attr_pack_rat">
<option value="0" data-i18n="no" selected>No</option>
<option value="2" data-i18n="rank-1-pack-rat">Rank 1 (+2)</option>
<option value="5" data-i18n="rank-2-pack-rat">Rank 2 (+5)</option>
<option value="10" data-i18n="rank-3-pack-rat">Rank 3 (+10)</option>
</select>
</div>
</div>
<div class="mount-grid">
<div class="mount-box1 header">
<h1 data-i18n="moun-u">MOUNT</h1>
</div>
<input class="expand" type="checkbox" name="attr_expand_mount1" value="1" data-i18n-title="show-hide" title="show/hide" style="margin-top: 3.35em;" /><span></span>
<input class="mount-box2 input" type="text" name="attr_mount_name" value="" title="@{mount_name}" data-i18n-placeholder="name" placeholder="name" />
<div class="mount-box3"><span class="label" data-i18n="strength-abbr-u">STR</span></div>
<input class="mount-box4 input-number" type="number" name="attr_mount_strength" value="1" title="@{mount_strength}" />
<div class="mount-box5"><span class="label" data-i18n="agility-abbr-u">AGI</span></div>
<input class="mount-box6 input-number" type="number" name="attr_mount_agility" value="1" title="@{mount_agility}" />
<!-- expand 2nd row -->
<textarea class="mount-box7 mount-row2 input-textarea" name="attr_mount_description" title="@{mount_description}" data-i18n-placeholder="description" placeholder="description"></textarea>
</div>
<div class="mount_gear-grid">
<div class="mount_gear-box1 header">
<h1 data-i18n="on-mount">Gear on Mount</h1>
</div>
<div class="mount_gear-box2 column-header"><span data-i18n="quantity-abbr">Qty</span></div>
<div class="mount_gear-box3 column-header"><span data-i18n="carried-abbr">Carr</span></div>
<div class="mount_gear-box4 column-header"><span data-i18n="weight-abbr">Wt</span></div>
<div class="mount_gear-box5">
<fieldset class="repeating_mount">
<div class="mount_gear-grid">
<input class="expand" type="checkbox" name="attr_expand" value="1" data-i18n-title="show-hide" title="show/hide" /><span></span>
<input class="mount_gear-box1 input" type="text" name="attr_mount_gear_name" value="" title="@{repeating_mount_gear_$X_mount_gear_name}" data-i18n-placeholder="item" placeholder="item" />
<input class="mount_gear-box2 input-number" type="number" name="attr_mount_gear_qty" value="1" title="Quantity @{repeating_mount_gear_$X_mount_gear_qty}" />
<input class="mount_gear-box3 input" type="checkbox" name="attr_mount_gear_carried" value="1" title="@{repeating_mount_gear_$X_mount_gear_carried}" checked />
<select class="mount_gear-box4 input" name="attr_mount_gear_weight" title="@{repeating_mount_gear_$X_mount_gear_weight}">
<option data-i18n="tiny-abbr" value="0" selected>T</option>
<option data-i18n="light-abbr" value="0.5">L</option>
<option data-i18n="normal-abbr" value="1">N</option>
<option data-i18n="heavy-abbr" value="2">H</option>
</select>
<textarea class="mount_gear-box5 input-textarea" name="attr_mount_gear_description" title="@{repeating_mount_gear_$X_mount_gear_description}" data-i18n-placeholder="description" placeholder="description"></textarea>
</div>
</fieldset>
</div>
<div class="gear-weight">
<div><span class="label" data-i18n="gear">Gear</span></div>
<div><input class="input-number" type="text" name="attr_mount_gear_encumbrance" value="0" title="@{mount_gear_encumbrance}" readonly /></div>
<div><span class="label" data-i18n="coins-carried">Coins Carried</span></div>
<div><input class="input-number" type="text" name="attr_coins_carried_mount" value="0" title="@{coins_carried_mount}" readonly /></div>
</div>
<div class="mount_gear-box6 header">
<div class="mount_gear"><span class="label" data-i18n="carry">Carry</span></div>
<div class="mount_gear">
<input class="input-number" type="text" name="attr_mount_carry" value="0" title="@{mount_carry} = mount_strength x2, unmounted x4" readonly />
</div>
<div class="mount_gear"><span class="label" data-i18n="encumbrance">Encumbrance</span></div>
<div class="mount_gear">
<input class="input" type="hidden" name="attr_mount_gear_encumbrance" value="1.5">
<input class="input-number" type="text" name="attr_mount_encumbrance" value="0" title="@{mount_encumbrance}" readonly />
</div>
</div>
</div>
<div class="mount_gear-subgrid2">
<span><input class="input" title="@{mounted}" type="checkbox" name="attr_mounted" value="1" style="margin: 0"></span>
<span class="label" data-i18n="mounted" style="margin: 0">Mounted</span>
</div>
</div>
<div class="box toggle-dice-only toggle-monster-only character-armor">
<div class="armor-container">
<div class="armor-grid">
<div class="armor-box header">
<h1 data-i18n="armor-helmet">ARMOR/HELMET</h1>
</div>
<div class="armor-box1 column-header"><span data-i18n="name">Name</span></div>
<div class="armor-box2 column-header"><span data-i18n="armor-rating-abbr">AR</span></div>
<div class="armor-box3 column-header"><span data-i18n="max-abbr">Max</span></div>
<div class="armor-box4 column-header"><span data-i18n="misc-abbr">Misc</span></div>
<div class="armor-box5 column-header"><span data-i18n="total-abbr">Tot</span></div>
<div class="armor-box6 column-header"><span>D8</span></div>
<div class="armor-box7 column-header"><span>D8</span></div>
<div class="armor-box8 column-header"><span>D10</span></div>
<div class="armor-box9 column-header"><span>D12</span></div>
<div class="armor-box10 armor-grid">
<input class="armor-box1 input" type="text" name="attr_armor1_name" value="" title="@{armor1_name}" data-i18n-placeholder="name" placeholder="name" />
<input class="armor-box2 input-number" type="number" name="attr_armor1_bonus" value="0" min="0" data-i18n-title="armor-bonus" title="Record the armor's CURRENT bonus (adjusts GEAR dice). @{armor1_bonus} || @{armor2_bonus}" />
<input class="armor-box3 input-number" type="number" name="attr_armor1_bonus_max" value="0" min="0" data-i18n-title="armor-bonus-max" title="Record the armor's UNDAMAGED bonus. @{armor1_bonus_max} || @{armor2_bonus_max}" />
<select class="armor-box4 input" name="attr_armor1_damage" data-i18n-title="armor-bonus-misc" title="Miscellaneous bonus modifier (adjusts GEAR dice). @{armor1_damage} || @{armor2_damage}">
<option value="6">+6</option>
<option value="5">+5</option>
<option value="4">+4</option>
<option value="3">+3</option>
<option value="2">+2</option>
<option value="1">+1</option>
<option value="0" selected>+0</option>
<option value="-1">-1</option>
<option value="-2">-2</option>
<option value="-3">-3</option>
<option value="-4">-4</option>
<option value="-5">-5</option>
<option value="-6">-6</option>
</select>
<input class="armor-box5 input-number" type="text" name="attr_armor1_ar" value="0" data-i18n-title="armor-bonus-total" title="Total GEAR dice included for armor. @{armor1_ar} || @{armor2_ar}" readonly />
<input class="armor-box6 sheet-input" type="checkbox" name="attr_armor1_artifact_die_ocho" value="1" data-i18n-title="mighty" title="Mighty">
<input class="armor-box7 sheet-input" type="checkbox" name="attr_armor1_artifact_die_eight" value="1" data-i18n-title="mighty" title="Mighty">
<input class="armor-box8 sheet-input" type="checkbox" name="attr_armor1_artifact_die_ten" value="1" data-i18n-title="epic" title="Epic">
<input class="armor-box9 sheet-input" type="checkbox" name="attr_armor1_artifact_die_twelve" value="1" data-i18n-title="legendary" title="Legendary">
<!-- expand 2nd row -->
<input class="expand" type="checkbox" name="attr_expand_armor1" value="1" data-i18n-title="show-hide" title="show/hide" checked /><span></span>
<!-- 2nd row -->
<div class="armor-row2">
<div class="armor-box11"><span data-i18n="carried-abbr">Carr</span></div>
<select class="armor-box12 input" name="attr_armor1_carried" title="@{armor1_carried}">
<option data-i18n="yes" value="1">Yes</option>
<option data-i18n="no" value="0" selected>No</option>
<option data-i18n="mount" value="0">Mount</option>
</select>
<div class="armor-box13"><span data-i18n="weight-abbr">Wt</span></div>
<select class="armor-box14 input" name="attr_armor1_weight" title="@{armor1_weight}">
<option data-i18n="tiny-abbr" value="0" selected>T</option>
<option data-i18n="light-abbr" value="0.5">L</option>
<option data-i18n="normal-abbr" value="1">N</option>
<option data-i18n="heavy-abbr" value="2">H</option>
</select>
<div class="armor-box15"><span data-i18n="don">Don</span></div>
<input class="armor-box16 input" type="checkbox" name="attr_armor1_equiped" value="1" title="@{armor1_equiped}" checked />
<div class="armor-box17"><span data-i18n="features">Features</span></div>
<input class="armor-box18 input" type="text" name="attr_armor1_features" value="" title="@{armor1_features}" />
</div>
</div>
<div class="armor-box10-2 armor-grid">
<input class="armor-box1 input" type="text" name="attr_armor2_name" value="" title="@{armor2_name}" data-i18n-placeholder="name" placeholder="name" />
<input class="armor-box2 input-number" type="number" name="attr_armor2_bonus" value="0" min="0" data-i18n-title="armor-bonus" title="Record the armor's CURRENT bonus (adjusts GEAR dice). @{armor1_bonus} || @{armor2_bonus}" />
<input class="armor-box3 input-number" type="number" name="attr_armor2_bonus_max" value="0" min="0" data-i18n-title="armor-bonus-max" title="Record the armor's UNDAMAGED bonus. @{armor1_bonus_max} || @{armor2_bonus_max}" />
<select class="armor-box4 input" name="attr_armor2_damage" data-i18n-title="armor-bonus-misc" title="Miscellaneous bonus modifier (adjusts GEAR dice). @{armor1_damage} || @{armor2_damage}">
<option value="6">+6</option>
<option value="5">+5</option>
<option value="4">+4</option>
<option value="3">+3</option>
<option value="2">+2</option>
<option value="1">+1</option>
<option value="0" selected>+0</option>
<option value="-1">-1</option>
<option value="-2">-2</option>
<option value="-3">-3</option>
<option value="-4">-4</option>
<option value="-5">-5</option>
<option value="-6">-6</option>
</select>
<input class="armor-box5 input-number" type="text" name="attr_armor2_ar" value="0" data-i18n-title="armor-bonus-total" title="Total GEAR dice included for armor. @{armor1_ar} || @{armor2_ar}" readonly />
<input class="armor-box6 sheet-input" type="checkbox" name="attr_armor2_artifact_die_ocho" value="1" data-i18n-title="mighty" title="Mighty">
<input class="armor-box7 sheet-input" type="checkbox" name="attr_armor2_artifact_die_eight" value="1" data-i18n-title="mighty" title="Mighty">
<input class="armor-box8 sheet-input" type="checkbox" name="attr_armor2_artifact_die_ten" value="1" data-i18n-title="epic" title="Epic">
<input class="armor-box9 sheet-input" type="checkbox" name="attr_armor2_artifact_die_twelve" value="1" data-i18n-title="legendary" title="Legendary">
<!-- expand 2nd row -->
<input class="expand" type="checkbox" name="attr_expand_armor2" value="1" data-i18n-title="show-hide" title="show/hide" checked /><span></span>
<!-- 2nd row -->
<div class="armor-row2">
<div class="armor-box11"><span data-i18n="carried-abbr">Carr</span></div>
<select class="armor-box12 input" name="attr_armor2_carried" title="@{armor2_carried}">
<option data-i18n="yes" value="1">Yes</option>
<option data-i18n="no" value="0" selected>No</option>
<option data-i18n="mount" value="0">Mount</option>
</select>
<div class="armor-box13"><span data-i18n="weight-abbr">Wt</span></div>
<select class="armor-box14 input" name="attr_armor2_weight" title="@{armor2_weight}">
<option data-i18n="tiny-abbr" value="0" selected>T</option>
<option data-i18n="light-abbr" value="0.5">L</option>
<option data-i18n="normal-abbr" value="1">N</option>
<option data-i18n="heavy-abbr" value="2">H</option>
</select>
<div class="armor-box15"><span data-i18n="don">Don</span></div>
<input class="armor-box16 input" type="checkbox" name="attr_armor2_equiped" value="1" title="@{armor2_equiped}" checked />
<div class="armor-box17"><span data-i18n="features">Features</span></div>
<input class="armor-box18 input" type="text" name="attr_armor2_features" value="" title="@{armor2_features}" />
</div>
</div>
<div class="armor-ar">
<div class="armor-subgrid">
<span class="armor-box3 header">
<h1 data-i18n="armor-rating-u" style="margin: 0;">ARMOR RATING</h1>
</span>
<span class="armor-box4 input-span" name="attr_ar" value="0" title="@{ar}" style="margin: 0px 0 0 -10px;"></span>
<span class="armor-box5">
<button type="action" name="act_armor-roll" data-i18n-title="update-dice-pool" title="Update the dice pool. Use the 'Roll' button to roll the dice." data-i18n="armor" style="height: 2em; width: 4em;">Armor</button>
</span>
<input class="armor-box6 sheet-input" type="checkbox" name="attr_armor_artifact_die_ocho" value="1" data-i18n-title="mighty" title="Mighty" />
<input class="armor-box7 sheet-input" type="checkbox" name="attr_armor_artifact_die_eight" value="1" data-i18n-title="mighty" title="Mighty" />
<input class="armor-box8 sheet-input" type="checkbox" name="attr_armor_artifact_die_ten" value="1" data-i18n-title="epic" title="Epic" />
<input class="armor-box9 sheet-input" type="checkbox" name="attr_armor_artifact_die_twelve" value="1" data-i18n-title="legendary" title="Legendary" />
</div>
</div>
</div>
<div class="shield-grid">
<div class="shield-box header">
<h1 data-i18n="shield-u">SHIELD</h1>
</div>
<div class="shield-box1 column-header"><span data-i18n="shove">Shove</span></div>
<div class="shield-box2 column-header"><span data-i18n="parry">Parry</span></div>
<div class="shield-box3 column-header"><span data-i18n="name">Name</span></div>
<div class="shield-box4 column-header"><span data-i18n="bonus-abbr">Bon</span></div>
<div class="shield-box5 column-header"><span data-i18n="max-abbr">Max</span></div>
<div class="shield-box6 column-header"><span data-i18n="misc-abbr">Misc</span></div>
<div class="shield-box7 column-header"><span data-i18n="total-abbr">Tot</span></div>
<div class="shield-box8 column-header"><span>D8</span></div>
<div class="shield-box9 column-header"><span>D8</span></div>
<div class="shield-box10 column-header"><span>D10</span></div>
<div class="shield-box11 column-header"><span>D12</span></div>
<div class="shield-box12 shield-grid">
<button class="shield-box1 roll-button" type="action" name="act_shield-shove-roll" data-i18n-title="update-dice-pool" title="Update the dice pool. Use the 'Roll' button to roll the dice.">t</button>
<button class="shield-box2 roll-button" type="action" name="act_shield-roll" data-i18n-title="update-dice-pool" title="Update the dice pool. Use the 'Roll' button to roll the dice.">t</button>
<input class="shield-box3 input" type="text" name="attr_shield1_name" value="" title="@{shield1_name}" data-i18n-placeholder="name" placeholder="name" />
<input class="shield-box4 input-number" type="number" name="attr_shield1_bonus" value="0" min="0" title="@{shield1_bonus}" />
<input class="shield-box5 input-number" type="number" name="attr_shield1_bonus_max" value="0" min="0" data-i18n-title="shield-bonus-max" title="Record the shield's UNDAMAGED bonus. @{shield1_bonus_max}" />
<select class="shield-box6 input" name="attr_shield1_bonus_misc" data-i18n-title="shield-bonus-misc" title="Miscellaneous bonus modifier (adjusts GEAR dice). @{shield1_bonus_misc}">
<option value="6">+6</option>
<option value="5">+5</option>
<option value="4">+4</option>
<option value="3">+3</option>
<option value="2">+2</option>
<option value="1">+1</option>
<option value="0" selected>+0</option>
<option value="-1">-1</option>
<option value="-2">-2</option>
<option value="-3">-3</option>
<option value="-4">-4</option>
<option value="-5">-5</option>
<option value="-6">-6</option>
</select>
<input class="shield-box7 input-number" type="text" name="attr_shield1_bonus_total" value="0" data-i18n-title="shield-bonus-total" title="Total GEAR dice included for Parry|Shove. @{shield1_bonus_total}" readonly />
<input class="shield-box8 sheet-input" type="checkbox" name="attr_shield1_artifact_die_ocho" value="1" data-i18n-title="mighty" title="Mighty">
<input class="shield-box9 sheet-input" type="checkbox" name="attr_shield1_artifact_die_eight" value="1" data-i18n-title="mighty" title="Mighty">
<input class="shield-box10 sheet-input" type="checkbox" name="attr_shield1_artifact_die_ten" value="1" data-i18n-title="epic" title="Epic">
<input class="shield-box11 sheet-input" type="checkbox" name="attr_shield1_artifact_die_twelve" value="1" data-i18n-title="legendary" title="Legendary">
<!-- expand 2nd row -->
<input class="expand" type="checkbox" name="attr_expand_shield1" value="1" data-i18n-title="show-hide" title="show/hide" checked /><span></span>
<!-- 2nd row -->
<div class="shield-row2">
<div class="shield-box13"><span data-i18n="carried-abbr">Carr</span></div>
<select class="shield-box14 input" name="attr_shield1_carried" title="@{shield1_carried}">
<option data-i18n="yes" value="1">Yes</option>
<option data-i18n="no" value="0" selected>No</option>
<option data-i18n="mount" value="0">Mount</option>
</select>
<div class="shield-box15"><span data-i18n="weight-abbr">Wt</span></div>
<select class="shield-box16 input" name="attr_shield1_weight" title="@{shield1_weight}">
<option data-i18n="tiny-abbr" value="0" selected>T</option>
<option data-i18n="light-abbr" value="0.5">L</option>
<option data-i18n="normal-abbr" value="1">N</option>
<option data-i18n="heavy-abbr" value="2">H</option>
</select>
<div class="shield-box17"><span data-i18n="don">Don</span></div>
<input class="shield-box18 input" type="checkbox" name="attr_shield1_equiped" value="1" title="@{shield1_equiped}" checked />
<div class="shield-box19"><span data-i18n="features">Features</span></div>
<input class="shield-box20 input" type="text" name="attr_shield1_features" value="" title="@{shield1_features}" />
</div>
</div>
</div>
</div>
</div>
<div class="box toggle-dice-only toggle-monster-only character-consumables">
<div class="consumables-grid">
<div class="consumables-box1 header">
<h1 data-i18n="consumable-u">CONSUMABLES</h1>
</div>
<div class="consumables-box2 column-header"><span data-i18n="die">Die</span></div>
<div class="consumables-box3 column-header"><span>&nbsp;</span></div>
<div class="consumables-box4">
<span class="header-h1" data-i18n="food" style="margin-left:10px;">Food</span>
</div>
<div class="consumables-box5">
<select class="input" name="attr_food" title="@{food}">
<option value="{{subtitle=^{out-of-food}}}" selected>0</option>
<option value="{{subtitle=D6 ^{of-food}}} {{consumable-die-six=[[ 1 ]] }} {{consumable-roll-six=[[ 1d6 ]] }}"> d6</option>
<option value="{{subtitle=D8 ^{of-food}}} {{consumable-die-eight=[[ 1 ]] }} {{consumable-roll-eight=[[ 1d8 ]] }}"> d8</option>
<option value="{{subtitle=D10 ^{of-food}}} {{consumable-die-ten=[[ 1 ]] }} {{consumable-roll-ten=[[ 1d10 ]] }}"> d10</option>
<option value="{{subtitle=D12 ^{of-food}}} {{consumable-die-twelve=[[ 1 ]] }} {{consumable-roll-twelve=[[ 1d12 ]] }}"> d12</option>
</select>
</div>
<div class="consumables-box6">
<button type="roll" name="roll_food" title="%{food}" value="@{whisper_option} &{template:forbiddenlands} {{character_name=@{character_name}}} {{character_id=@{character_id}}} {{name=^{consumable}}} {{footer=^{consumable-note}}} @{food}"></button>
</div>
<div class="consumables-box7">
<span class="header-h1" data-i18n="water">Water</span>
</div>
<div class="consumables-box8">
<select class="input" name="attr_water" title="@{water}">
<option value="{{subtitle=^{out-of-water}}}" selected>0</option>
<option value="{{subtitle=D6 ^{of-water}}} {{consumable-die-six=[[ 1 ]] }} {{consumable-roll-six=[[ 1d6 ]] }}"> d6</option>
<option value="{{subtitle=D8 ^{of-water}}} {{consumable-die-eight=[[ 1 ]] }} {{consumable-roll-eight=[[ 1d8 ]] }}"> d8</option>
<option value="{{subtitle=D10 ^{of-water}}} {{consumable-die-ten=[[ 1 ]] }} {{consumable-roll-ten=[[ 1d10 ]] }}"> d10</option>
<option value="{{subtitle=D12 ^{of-water}}} {{consumable-die-twelve=[[ 1 ]] }} {{consumable-roll-twelve=[[ 1d12 ]] }}"> d12</option>
</select>
</div>
<div class="consumables-box9">
<button type="roll" name="roll_water" title="%{water}" value="@{whisper_option} &{template:forbiddenlands} {{character_name=@{character_name}}} {{character_id=@{character_id}}} {{name=^{consumable}}} {{footer=^{consumable-note}}} @{water}"></button>
</div>
<div class="consumables-box10">
<span class="header-h1" data-i18n="arrows">Arrows</span>
</div>
<div class="consumables-box11">
<select class="input" name="attr_arrows" title="@{arrows}">
<option value="{{subtitle=^{out-of-arrows}}}" selected>0</option>
<option value="{{subtitle=D6 ^{of-arrows}}} {{consumable-die-six=[[ 1 ]] }} {{consumable-roll-six=[[ 1d6 ]] }}"> d6</option>
<option value="{{subtitle=D8 ^{of-arrows}}} {{consumable-die-eight=[[ 1 ]] }} {{consumable-roll-eight=[[ 1d8 ]] }}"> d8</option>
<option value="{{subtitle=D10 ^{of-arrows}}} {{consumable-die-ten=[[ 1 ]] }} {{consumable-roll-ten=[[ 1d10 ]] }}"> d10</option>
<option value="{{subtitle=D12 ^{of-arrows}}} {{consumable-die-twelve=[[ 1 ]] }} {{consumable-roll-twelve=[[ 1d12 ]] }}"> d12</option>
</select>
</div>
<div class="consumables-box12">
<button type="roll" name="roll_arrows" title="%{arrows}" value="@{whisper_option} &{template:forbiddenlands} {{character_name=@{character_name}}} {{character_id=@{character_id}}} {{name=^{consumable}}} {{footer=^{consumable-note}}} @{arrows}"></button>
</div>
<div class="consumables-box13">
<span class="header-h1" data-i18n="torches">Torches</span>
</div>
<div class="consumables-box14">
<select class="input" name="attr_torches" title="@{torches}">
<option value="{{subtitle=^{out-of-torches}}}" selected>0</option>
<option value="{{subtitle=D6 ^{of-torches}}} {{consumable-die-six=[[ 1 ]] }} {{consumable-roll-six=[[ 1d6 ]] }}"> d6</option>
<option value="{{subtitle=D8 ^{of-torches}}} {{consumable-die-eight=[[ 1 ]] }} {{consumable-roll-eight=[[ 1d8 ]] }}"> d8</option>
<option value="{{subtitle=D10 ^{of-torches}}} {{consumable-die-ten=[[ 1 ]] }} {{consumable-roll-ten=[[ 1d10 ]] }}"> d10</option>
<option value="{{subtitle=D12 ^{of-torches}}} {{consumable-die-twelve=[[ 1 ]] }} {{consumable-roll-twelve=[[ 1d12 ]] }}"> d12</option>
</select>
</div>
<div class="consumables-box15">
<button type="roll" name="roll_torches" title="%{torches}" value="@{whisper_option} &{template:forbiddenlands} {{character_name=@{character_name}}} {{character_id=@{character_id}}} {{name=^{consumable}}} {{footer=^{consumable-note}}} @{torches}"></button>
</div>
</div>
</div>
<div class="box toggle-dice-only toggle-monster-only character-coins">
<div class="coins-grid">
<div class="coins-box header">
<h1 data-i18n="coins-u">COINS</h1>
</div>
<div class="coins-box1 column-header"></div>
<div class="coins-box2 column-header"><span data-i18n="gold">Gold</span></div>
<div class="coins-box3 column-header"><span data-i18n="silver">Silver</span></div>
<div class="coins-box4 column-header"><span data-i18n="copper">Copper</span></div>
<div class="coins-box5"><span class="label" data-i18n="carried">Carried</span></div>
<div class="coins-box6"><input class="input-number" type="text" name="attr_gold" value="0" title="@{gold}" /></div>
<div class="coins-box7"><input class="input-number" type="text" name="attr_silver" value="0" title="@{silver}" /></div>
<div class="coins-box8"><input class="input-number" type="text" name="attr_copper" value="0" title="@{copper}" /></div>
<div class="coins-box9"><span class="label" style="text-align:center;" data-i18n="mounts-gear">Mount's
Gear</span></div>
<div class="coins-box10"><input class="input-number" type="text" name="attr_gold_mount" value="0" title="@{gold_mount}" /></div>
<div class="coins-box11"><input class="input-number" type="text" name="attr_silver_mount" value="0" title="@{silver_mount}" /></div>
<div class="coins-box12"><input class="input-number" type="text" name="attr_copper_mount" value="0" title="@{copper_mount}" /></div>
<div class="coins-box13"><span class="label" data-i18n="other">Other</span></div>
<div class="coins-box14"><input class="input-number" type="text" name="attr_gold_other" value="0" title="@{gold_mount}" /></div>
<div class="coins-box15"><input class="input-number" type="text" name="attr_silver_other" value="0" title="@{silver_mount}" /></div>
<div class="coins-box16"><input class="input-number" type="text" name="attr_copper_other" value="0" title="@{copper_mount}" /></div>
<input type="hidden" name="attr_coins_other_total" value="0" />
<div class="coins-box17"><span class="label" data-i18n="total">Total</span></div>
<div class="coins-box18"><input class="input-number" type="text" name="attr_gold_total" value="0" title="@{gold_total}" readonly /></div>
<div class="coins-box18"><input class="input-number" type="text" name="attr_silver_total" value="0" title="@{silver_total}" readonly /></div>
<div class="coins-box19"><input class="input-number" type="text" name="attr_copper_total" value="0" title="@{copper_total}" readonly /></div>
</div>
</div>
<div class="box toggle-dice-only toggle-monster-only character-experience">
<div class="experience-grid">
<div class="experience-box1 header">
<h1 data-i18n="experience-u">EXPERIENCE</h1>
</div>
<div class="experience-box2 header">
<input class="input-number" type="number" name="attr_experience" value="0" min="0" title="@{experience}" />
</div>
<div class="experience-box3 header"></div>
</div>
</div>
<div class="box toggle-dice-only toggle-monster-only character-willpower">
<div class="willpower-grid">
<div class="willpower-box1 header">
<h1 data-i18n="willpower-u">WILLPOWER</h1>
</div>
<div class="willpower-box2">
<input type="radio" name="attr_willpower" value="0" data-i18n-title="no-willpower" title="No Willpower" style="margin: 4px 8px 0 2px; width: 0.85em;" checked />
<input class="xbox" type="radio" name="attr_willpower" value="1" title="1 @{willpower}" /><span></span>
<input class="xbox" type="radio" name="attr_willpower" value="2" title="2 @{willpower}" /><span></span>
<input class="xbox" type="radio" name="attr_willpower" value="3" title="3 @{willpower}" /><span></span>
<input class="xbox" type="radio" name="attr_willpower" value="4" title="4 @{willpower}" /><span></span>
<input class="xbox" type="radio" name="attr_willpower" value="5" title="5 @{willpower}" /><span></span>
<input class="xbox" type="radio" name="attr_willpower" value="6" title="6 @{willpower}" /><span></span>
<input class="xbox" type="radio" name="attr_willpower" value="7" title="7 @{willpower}" /><span></span>
<input class="xbox" type="radio" name="attr_willpower" value="8" title="8 @{willpower}" /><span></span>
<input class="xbox" type="radio" name="attr_willpower" value="9" title="9 @{willpower}" /><span></span>
<input class="xbox" type="radio" name="attr_willpower" value="10" title="10 @{willpower}" /><span></span>
<input type="hidden" name="attr_willpower_max" value="10" />
</div>
<div class="willpower-box3">
<span class="input-span" name="attr_willpower" title="@{willpower}"></span>
</div>
</div>
</div>
<div class="box toggle-dice-only toggle-monster-only character-beasts">
<div class="beasts-grid">
<div class="beasts-box header">
<h1 data-i18n="beasts-u">BEASTS</h1>
</div>
<div class="beasts-box1 column-header"><span data-i18n="type">Type</span></div>
<div class="beasts-box2 column-header"><span data-i18n="strength-abbr-u">STR</span></div>
<div class="beasts-box3 column-header"><span data-i18n="agility-abbr-u">AGI</span></div>
<div class="beasts-box4 column-header"><span data-i18n="mounted">Mounted</span></div>
<div class="beasts-box5 column-header"><span data-i18n="carry">Carry</span></div>
<div class="beasts-box6 column-header"><span data-i18n="encumbrance-current-abbr">Current Encum</span>
</div>
<div class="beasts-box7 column-header"><span data-i18n="notes">Notes</span></div>
<div class="beasts-box8">
<fieldset class="repeating_beasts">
<div class="beasts-grid">
<input class="beasts-box1 input" type="text" name="attr_beast_type" value="" data-i18n-placeholder="type-name" placeholder="Type/Name" title="@{repeating_beasts_$X_beast_type}" />
<input class="beasts-box2 input-number" type="number" name="attr_beast_strength" value="0" min="0" title="@{repeating_beasts_$X_beast_strength}" />
<input class="beasts-box3 input-number" type="number" name="attr_beast_agility" value="0" min="0" title="@{repeating_beasts_$X_beast_agility}" />
<input class="beasts-box4 input" type="checkbox" name="attr_beast_mounted" value="1" title="@{repeating_beasts_$X_beast_mounted}" />
<input class="beasts-box5 input input-number-center" type="text" name="attr_beast_carry" value="0" title="@{repeating_beasts_$X_beast_carry} = mount_strength x2, unmounted x4" readonly />
<input class="beasts-box6 input input-number-center" type="number" name="attr_beast_encumbrance" title="@{repeating_beasts_$X_beast_encumbrance}" value="0" min="0" step="0.5" />
<textarea class="beasts-box7 input-textarea" name="attr_beast_notes" data-i18n-placeholder="gear-notes" placeholder="Gear/Notes" title="@{repeating_beasts_$X_beast_notes}"></textarea>
</div>
</fieldset>
</div>
</div>
</div>
<div class="box toggle-dice-only toggle-monster-only character-relationships">
<div class="relationships-grid">
<div class="relationships-box1 header">
<h1 data-i18n="relationships-u">RELATIONSHIPS</h1>
</div>
<div class="relationships-box2">
<fieldset class="repeating_relationships">
<div class="relationships-grid">
<div class="relationships-box3">
<input class="input-number" type="text" name="attr_pc_name" value="" title="@{repeating_relationships_$X_pc_name}" data-i18n-placeholder="pc-name" placeholder="PC's name" />
</div>
<div class="relationships-box4">
<textarea class="input-textarea" name="attr_pc_description" title="@{repeating_relationships_$X_pc_description}" data-i18n-placeholder="relationship-description" placeholder="Describe the relationship."></textarea>
</div>
</div>
</fieldset>
</div>
</div>
</div>
<div class="box toggle-dice-only toggle-monster-only character-spells">
<div class="spells-grid">
<div class="spells-box header">
<h1 data-i18n="spell-u">SPELLS</h1>
</div>
<div class="spells-box0 column-header"></div>
<div class="spells-box1 column-header"><span data-i18n="name">Name</span></div>
<div class="spells-box2 column-header"><span data-i18n="rank">Rank</span></div>
<div class="spells-box3 column-header"><span data-i18n="willpower-abbr">Will</span></div>
<div class="spells-box4 column-header"><span data-i18n="range">Range</span></div>
<div class="spells-box5 column-header"><span data-i18n="duration">Duration</span></div>
<div class="spells-box6 column-header"><span data-i18n="ingredients">Ingredients</span></div>
<div class="spells-box7">
<fieldset class="repeating_spells">
<div class="spells-grid">
<input class="expand" type="checkbox" name="attr_expand" value="1" data-i18n-title="show-hide" title="show/hide" checked /><span></span>
<button class="spells-box0 roll-button" type="action" name="act_spell-roll" data-i18n-title="update-dice-pool" title="Update the dice pool. Use the 'Roll' button to roll the dice.">t</button>
<input class="spells-box1 input" type="text" name="attr_spell_name" value="" title="@{repeating_spells_$X_spell_name}" data-i18n-placeholder="spell-name" placeholder="Spell's name" />
<select class="spells-box2 input" name="attr_spell_rank" title="@{repeating_spells_$X_spell_rank}">
<option value="1" selected>1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>
<input class="spells-box3 input" type="number" name="attr_spell_willpower" value="1" min="1" title="@{repeating_spells_$X_spell_willpower}" />
<select class="spells-box4 input" name="attr_spell_range" title="@{repeating_spells_$X_spell_range}">
<option value="Personal" selected data-i18n="personal">Personal</option>
<option value="Arm's L." data-i18n="arms-length-abbr">Arm's L.</option>
<option value="Short" data-i18n="short">Short</option>
<option value="Near" data-i18n="near">Near</option>
<option value="Distant" data-i18n="distant">Distant</option>
</select>
<input class="spells-box5 input" type="text" name="attr_spell_duration" value="" title="@{repeating_spells_$X_spell_duration}" />
<input class="spells-box6 input" type="text" name="attr_spell_ingredients" value="" title="@{repeating_spells_$X_spell_ingredients}" />
<textarea class="spells-box7 input-textarea" name="attr_spell_description" title="@{repeating_spells_$X_spell_description}" data-i18n-placeholder="description" placeholder="Description."></textarea>
</div>
</fieldset>
</div>
</div>
</div>
<div class="box toggle-dice-only character-notes">
<div class="notes-grid">
<div class="notes-box1 header">
<h1 data-i18n="notes-u">NOTES</h1>
</div>
<div class="notes-box2">
<fieldset class="repeating_notes">
<div class="notes-grid">
<div class="notes-box3">
<button class="roll-button" type="roll" name="roll_notes" title="%{repeating_notes_$X_notes}" style="padding: 0;" value="&amp;{template:forbiddenlands} {{character_name=@{character_name}}} {{character_id=@{character_id}}} {{name=^{notes}}} {{subtitle=@{note_name}}} {{free-text=@{note_description}}}"></button>
</div>
<div class="notes-box4">
<input class="input-number" type="text" name="attr_note_name" value="" title="@{repeating_notes_$X_note_name}" data-i18n="note-name" placeholder="Note's name" />
</div>
<div class="notes-box5">
<textarea class="input-textarea" name="attr_note_description" title="@{repeating_notes_$X_note_description}" data-i18n="note-description" placeholder="Note's description."></textarea>
</div>
</div>
</fieldset>
</div>
</div>
</div>
</div>
</div>
<div class="wrapper tab-content stronghold">
<div class="stronghold-grid">
<div class="box stronghold-details">
<div class="stronghold-details-grid">
<div class="stronghold-details-box1 header">
<h1 data-i18n="stronghold-u" style="margin: 10px 0 0 0;">STRONGHOLD</h1>
</div>
<div class="stronghold-details-box2"><span class="label" data-i18n="location">Location</span></div>
<div class="stronghold-details-box3">
<input class="input-number" type="text" name="attr_stronghold_location" value="" title="@{stronghold_location}" style="width: 65%;" />
</div>
<div class="stronghold-details-box4"><span class="label" data-i18n="name">Name</span></div>
<div class="stronghold-details-box5">
<input class="input-number" type="text" name="attr_stronghold_name" value="" title="@{stronghold_name}" style="width: 85%;" />
</div>
<div class="stronghold-details-box6"><span class="label" data-i18n="defense-rating">Defense
Rating</span></div>
<div class="stronghold-details-box7">
<input class="input-number" type="number" name="attr_stronghold_dr" value="0" title="@{stronghold_dr}" style="width: 25%;" />
</div>
<div class="stronghold-details-box8">
<span class="sheet-label" data-i18n="description" style="margin: 0 5px 0 0;">Description</span>
<textarea class="sheet-input-textarea" name="attr_stronghold_description" title="@{stronghold_description}"></textarea>
</div>
</div>
</div>
<div class="box stronghold-functions">
<div class="stronghold-functions-grid">
<div class="stronghold-functions-box header">
<h1 data-i18n="function-u">FUNCTIONS</h1>
</div>
<div class="stronghold-functions-box1 column-header"><span data-i18n="name">Name</span></div>
<div class="stronghold-functions-box2 column-header"><span data-i18n="number-abbr">Num</span></div>
<div class="stronghold-functions-box3 column-header"><span
data-i18n="production-outcome">Production/Outcome</span></div>
<div class="stronghold-functions-box4">
<fieldset class="repeating_functions">
<div class="stronghold-functions-grid">
<input class="stronghold-functions-box1 input" type="text" name="attr_function_name" value="" title="@repeating_functions_$X_function_name}" />
<input class="stronghold-functions-box2 input-number" type="text" name="attr_function_number" value="" title="@{repeating_functions_$X_function_number}" />
<textarea class="stronghold-functions-box3 input-textarea" name="attr_function_production" title="@{repeating_functions_$X_function_production}"></textarea>
</div>
</fieldset>
</div>
</div>
</div>
<div class="box stronghold-hirelings">
<div class="stronghold-hirelings-grid">
<div class="stronghold-hirelings-box header">
<h1 data-i18n="hirelings-u">HIRELINGS</h1>
</div>
<div class="stronghold-hirelings-box1 column-header"><span data-i18n="profession">Profession</span>
</div>
<div class="stronghold-hirelings-box2 column-header"><span data-i18n="number-abbr">Num</span></div>
<div class="stronghold-hirelings-box3 column-header"><span data-i18n="salary">Salary copper/day</span>
</div>
<div class="stronghold-hirelings-box4">
<fieldset class="repeating_hirelings">
<div class="stronghold-hirelings-grid">
<input class="stronghold-hirelings-box1 input" type="text" name="attr_hireling_name" value="" title="@{repeating_hirelings_$X_hireling_name}" />
<input class="stronghold-hirelings-box2 input-number" type="number" name="attr_hireling_number" value="1" step="1" min="0" title="@{repeating_hirelings_$X_hireling_number}" />
<input class="stronghold-hirelings-box3 input-number" type="number" name="attr_hireling_salary" value="0" step="1" min="0" title="@{repeating_hirelings_$X_hireling_salary}" />
</div>
</fieldset>
</div>
<div class="stronghold-hirelings-box5">
<div class="stronghold-hirelings-grid">
<span class="stronghold-hirelings-box2 label" data-i18n="total"
style="margin-top: 6px 0 0 10px;">Total</span>
<input class="stronghold-hirelings-box3 center" name="attr_hirelings_cost" type="number" value="0" title="@{hirelings_cost}" style="margin-bottom: 5px;" readonly />
</div>
</div>
</div>
</div>
<div class="box stronghold-stockpile">
<div class="stronghold-stockpile-grid" data-i18n-list="stockpile-list">
<div class="stronghold-stockpile-box1 header">
<h1 data-i18n="stockpile-u">STOCKPILE</h1>
</div>
<div class="stronghold-stockpile-box2 column-header"><span data-i18n="units">Units</span></div>
<div class="stronghold-stockpile-box3 column-header"><span data-i18n="units">Units</span></div>
<div class="stronghold-stockpile-box4 column-header"><span data-i18n="units">Units</span></div>
<span class="label" data-i18n-list-item="bread" data-i18n="bread">Bread</span><input class="input-number" type="number" name="attr_stockpile_bread" value="0" min="0" title="@{stockpile_bread}" />
<span class="label" data-i18n-list-item="cloth" data-i18n="cloth">Cloth</span><input class="input-number" type="number" name="attr_stockpile_cloth" value="0" min="0" title="@{stockpile_cloth}" />
<span class="label" data-i18n-list-item="fish" data-i18n="fish">Fish</span><input class="input-number" type="number" name="attr_stockpile_fish" value="0" min="0" title="@{stockpile_fish}" />
<span class="label" data-i18n-list-item="flour" data-i18n="flour">Flour</span><input class="input-number" type="number" name="attr_stockpile_flour" value="0" min="0" title="@{stockpile_flour}" />
<span class="label" data-i18n-list-item="food" data-i18n="food">Food</span><input class="input-number" type="number" name="attr_stockpile_food" value="0" min="0" title="@{stockpile_food}" />
<span class="label" data-i18n-list-item="fur" data-i18n="fur">Fur</span><input class="input-number" type="number" name="attr_stockpile_fur" value="0" min="0" title="@{stockpile_fur}" />
<span class="label" data-i18n-list-item="glass" data-i18n="glass">Glass</span><input class="input-number" type="number" name="attr_stockpile_glass" value="0" min="0" title="@{stockpile_glass}" />
<span class="label" data-i18n-list-item="gold" data-i18n="gold">Gold</span><input class="input-number" type="number" name="attr_stockpile_gold" value="0" min="0" title="@{stockpile_gold}" />
<span class="label" data-i18n-list-item="grain" data-i18n="grain">Grain</span><input class="input-number" type="number" name="attr_stockpile_grain" value="0" min="0" title="@{stockpile_grain}" />
<span class="label" data-i18n-list-item="herbs" data-i18n="herbs">Herbs</span><input class="input-number" type="number" name="attr_stockpile_herbs" value="0" min="0" title="@{stockpile_herbs}" />
<span class="label" data-i18n-list-item="iron" data-i18n="iron">Iron</span><input class="input-number" type="number" name="attr_stockpile_iron" value="0" min="0" title="@{stockpile_iron}" />
<span class="label" data-i18n-list-item="iron-ore" data-i18n="iron-ore">Iron Ore</span><input class="input-number" type="number" name="attr_stockpile_iron_ore" value="0" min="0" title="@{stockpile_iron_ore}" />
<span class="label" data-i18n-list-item="leather" data-i18n="leather">Leather</span><input class="input-number" type="number" name="attr_stockpile_leather" value="0" min="0" title="@{stockpile_leather}" />
<span class="label" data-i18n-list-item="meat" data-i18n="meat">Meat</span><input class="input-number" type="number" name="attr_stockpile_meat" value="0" min="0" title="@{stockpile_meat}" />
<span class="label" data-i18n-list-item="silver" data-i18n="silver">Silver</span><input class="input-number" type="number" name="attr_stockpile_silver" value="0" min="0" title="@{stockpile_silver}" />
<span class="label" data-i18n-list-item="stone" data-i18n="stone">Stone</span><input class="input-number" type="number" name="attr_stockpile_stone" value="0" min="0" title="@{stockpile_stone}" />
<span class="label" data-i18n-list-item="tallow" data-i18n="tallow">Tallow</span><input class="input-number" type="number" name="attr_stockpile_tallow" value="0" min="0" title="@{stockpile_tallow}" />
<span class="label" data-i18n-list-item="vegetables" data-i18n="vegetables">Vegetables</span><input class="input-number" type="number" name="attr_stockpile_vegatables" value="0" min="0" title="@{stockpile_vegatables}" />
<span class="label" data-i18n-list-item="water" data-i18n="water">Water</span><input class="input-number" type="number" name="attr_stockpile_water" value="0" min="0" title="@{stockpile_water}" />
<span class="label" data-i18n-list-item="wood" data-i18n="wood">Wood</span><input class="input-number" type="number" name="attr_stockpile_wood" value="0" min="0" title="@{stockpile_wood}" />
<span class="label" data-i18n-list-item="wool" data-i18n="wool">Wool</span><input class="input-number" type="number" name="attr_stockpile_wool" value="0" min="0" title="@{stockpile_wool}" />
</div>
</div>
<div class="box stronghold-notes">
<div class="stronghold-notes-grid">
<div class="stronghold-notes-box1 header">
<h1 data-i18n="stronghold-notes-u">STRONGHOLD NOTES</h1>
</div>
<textarea class="stronghold-stronghold_notes-box2 input-textarea" name="attr_stronghold_notes" title="@{stronghold_notes}"></textarea>
</div>
</div>
</div>
</div>
<div class="wrapper tab-content settings">
<div class="settings-options">
<div>
<span data-i18n="whisper-options">Whisper Options:</span d>
<select name="attr_whisper_option" title="@{whisper_option}">
<option value="" default><span data-i18n="whisper-nothing">Do not whisper rolls(default).</span>
</option>
<option value="/w gm"><span data-i18n="whisper-rolls">Whisper all rolls to the GM.</span></option>
<option value="?{Whisper roll?|no,|yes,/w gm |}"><span data-i18n="whisper-query">Use a query.</span>
</option>
</select>
</div>
<div>
<span data-i18n="whisper-options-api">API Whisper Options:</span d>
<select name="attr_whisper_option_api" title="@{whisper_option_api}">
<option value="!forl" default><span data-i18n="whisper-nothing">Do not whisper rolls(default).</span>
</option>
<option value="!wforl"><span data-i18n="whisper-rolls">Whisper all rolls to the GM.</span></option>
<option value="?{Whisper roll?|no,!forl|yes,!wforl |}"><span data-i18n="whisper-query">Use a query.</span></option>
</select>
</div>
</div>
</div>
<!-- Roll Templates -->
<rolltemplate class="sheet-rolltemplate-forbiddenlands">
<div class="template-wrap">
<div class="template-grid">
<div class="template-grid-item template-span-six template-header">
{{#character_name}}
<div class="template-grid-item template-span-six template-header">
{{#character_id}}[{{character_name}}](https://journal.roll20.net/character/{{character_id}}){{/character_id}}
{{^character_id}}{{character_name}}{{/character_id}}
</div>
{{#name}}
<div class="template-grid-item template-span-six template-header" style="width: 15px;z-index: 0;margin: 2px 2px 5px 2px;">◇</div>
{{/name}}
{{/character_name}}
{{#name}}
<div class="template-grid-item template-span-six template-header">
{{#name_link}}[{{name}}]({{name_link}}){{/name_link}}
{{^name_link}}{{name}}{{/name_link}}
</div>
{{/name}}
</div>
{{#subtitle}}
<div class="template-grid-item template-span-six template-subtitle">&ldquo;<span>{{subtitle}}</span>&rdquo;</div>
{{/subtitle}}
<!--- dice pool -->
{{#rollTotal() attribute-die-one 1}}
<div class="template-grid-item template-span-one template-white-dice">
{{#rollWasFumble() attribute-roll-one}}
<img src="https://s3.amazonaws.com/files.d20.io/images/76927713/1ttsrv1QW1ml3hT8btQr-Q/max.png"
alt="Bane" class="template-bane" />
{{/rollWasFumble() attribute-roll-one}}
{{#rollBetween() attribute-roll-one 2 5}}
{{attribute-roll-one}}
{{/rollBetween() attribute-roll-one 2 5}}
{{#rollWasCrit() attribute-roll-one}}
<img src="https://s3.amazonaws.com/files.d20.io/images/76927679/CFpe4OjkRyZn5M9YGvUGPg/max.png"
alt="Success" class="template-success" />
{{/rollWasCrit() attribute-roll-one}}
</div>
{{/rollTotal() attribute-die-one 1}}
{{#rollTotal() attribute-die-two 1}}
<div class="template-grid-item template-span-two template-white-dice">
{{#rollWasFumble() attribute-roll-two}}
<img src="https://s3.amazonaws.com/files.d20.io/images/76927713/1ttsrv1QW1ml3hT8btQr-Q/max.png"
alt="Bane" class="template-bane" />
{{/rollWasFumble() attribute-roll-two}}
{{#rollBetween() attribute-roll-two 2 5}}
{{attribute-roll-two}}
{{/rollBetween() attribute-roll-two 2 5}}
{{#rollWasCrit() attribute-roll-two}}
<img src="https://s3.amazonaws.com/files.d20.io/images/76927679/CFpe4OjkRyZn5M9YGvUGPg/max.png"
alt="Success" class="template-success" />
{{/rollWasCrit() attribute-roll-two}}
</div>
{{/rollTotal() attribute-die-two 1}}
{{#rollTotal() skill-die-one 1}}
<div class="template-grid-item template-span-three template-maroon-dice">
{{#rollBetween() skill-roll-one 1 5}}
{{skill-roll-one}}
{{/rollBetween() skill-roll-one 1 5}}
{{#rollWasCrit() skill-roll-one}}
<span data-i18n-title="success" title="Success"><img src="https://s3.amazonaws.com/files.d20.io/images/76927688/p3KFOOAONvq7PbYMO2jxzg/max.png" alt="Success" class="template-success" /></span>
{{/rollWasCrit() skill-roll-one}}
</div>
{{/rollTotal() skill-die-one 1}}
{{#rollTotal() skill-die-two 1}}
<div class="template-grid-item template-span-four template-maroon-dice">
{{#rollBetween() skill-roll-two 1 5}}
{{skill-roll-two}}
{{/rollBetween() skill-roll-two 1 5}}
{{#rollWasCrit() skill-roll-two}}
<span data-i18n-title="success" title="Success"><img src="https://s3.amazonaws.com/files.d20.io/images/76927688/p3KFOOAONvq7PbYMO2jxzg/max.png" alt="Success" class="template-success" /></span>
{{/rollWasCrit() skill-roll-two}}
</div>
{{/rollTotal() skill-die-two 1}}
{{#rollTotal() negative-die-one 1}}
<div class="template-grid-item template-span-three template-purple-dice">
{{#rollBetween() negative-roll-one 1 5}}
{{negative-roll-one}}
{{/rollBetween() negative-roll-one 1 5}}
{{#rollWasCrit() negative-roll-one}}
<span data-i18n-title="success" title="Success"><img src="https://s3.amazonaws.com/files.d20.io/images/76927688/p3KFOOAONvq7PbYMO2jxzg/max.png" alt="Success" class="template-success" /></span>
{{/rollWasCrit() negative-roll-one}}
</div>
{{/rollTotal() negative-die-one 1}}
{{#rollTotal() negative-die-two 1}}
<div class="template-grid-item template-span-four template-purple-dice">
{{#rollBetween() negative-roll-two 1 5}}
{{negative-roll-two}}
{{/rollBetween() negative-roll-two 1 5}}
{{#rollWasCrit() negative-roll-two}}
<span data-i18n-title="success" title="Success"><img src="https://s3.amazonaws.com/files.d20.io/images/76927688/p3KFOOAONvq7PbYMO2jxzg/max.png" alt="Success" class="template-success" /></span>
{{/rollWasCrit() negative-roll-two}}
</div>
{{/rollTotal() negative-die-two 1}}
{{#rollTotal() gear-die-one 1}}
<div class="template-grid-item template-span-five template-black-dice">
{{#rollWasFumble() gear-roll-one}}
<span data-i18n-title="bane" title="Bane"><img src="https://s3.amazonaws.com/files.d20.io/images/76927704/49c2rsljrzIbg0eE13ixWw/max.png" alt="Bane" class="template-bane" /></span>
{{/rollWasFumble() gear-roll-one}}
{{#rollBetween() gear-roll-one 2 5}}
{{gear-roll-one}}
{{/rollBetween() gear-roll-one 2 5}}
{{#rollWasCrit() gear-roll-one}}
<span data-i18n-title="success" title="Success"><img src="https://s3.amazonaws.com/files.d20.io/images/76927688/p3KFOOAONvq7PbYMO2jxzg/max.png" alt="Success" class="template-success" /></span>
{{/rollWasCrit() gear-roll-one}}
</div>
{{/rollTotal() gear-die-one 1}}
{{#rollTotal() gear-die-two 1}}
<div class="template-grid-item template-span-shix template-black-dice">
{{#rollWasFumble() gear-roll-two}}
<span data-i18n-title="bane" title="Bane"><img src="https://s3.amazonaws.com/files.d20.io/images/76927704/49c2rsljrzIbg0eE13ixWw/max.png" alt="Bane" class="template-bane" /></span>
{{/rollWasFumble() gear-roll-two}}
{{#rollBetween() gear-roll-two 2 5}}
{{gear-roll-two}}
{{/rollBetween() gear-roll-two 2 5}}
{{#rollWasCrit() gear-roll-two}}
<span data-i18n-title="success" title="Success"><img src="https://s3.amazonaws.com/files.d20.io/images/76927688/p3KFOOAONvq7PbYMO2jxzg/max.png" alt="Success" class="template-success" /></span>
{{/rollWasCrit() gear-roll-two}}
</div>
{{/rollTotal() gear-die-two 1}}
<!--- BEGIN ROW TWO --->
{{#rollTotal() attribute-die-three 1}}
<div class="template-grid-item template-span-one template-white-dice">
{{#rollWasFumble() attribute-roll-three}}
<img src="https://s3.amazonaws.com/files.d20.io/images/76927713/1ttsrv1QW1ml3hT8btQr-Q/max.png"
alt="Bane" class="template-bane" />
{{/rollWasFumble() attribute-roll-three}}
{{#rollBetween() attribute-roll-three 2 5}}
{{attribute-roll-three}}
{{/rollBetween() attribute-roll-three 2 5}}
{{#rollWasCrit() attribute-roll-three}}
<img src="https://s3.amazonaws.com/files.d20.io/images/76927679/CFpe4OjkRyZn5M9YGvUGPg/max.png"
alt="Success" class="template-success" />
{{/rollWasCrit() attribute-roll-three}}
</div>
{{/rollTotal() attribute-die-three 1}}
{{#rollTotal() attribute-die-four 1}}
<div class="template-grid-item template-span-two template-white-dice">
{{#rollWasFumble() attribute-roll-four}}
<img src="https://s3.amazonaws.com/files.d20.io/images/76927713/1ttsrv1QW1ml3hT8btQr-Q/max.png"
alt="Bane" class="template-bane" />
{{/rollWasFumble() attribute-roll-four}}
{{#rollBetween() attribute-roll-four 2 5}}
{{attribute-roll-four}}
{{/rollBetween() attribute-roll-four 2 5}}
{{#rollWasCrit() attribute-roll-four}}
<img src="https://s3.amazonaws.com/files.d20.io/images/76927679/CFpe4OjkRyZn5M9YGvUGPg/max.png"
alt="Success" class="template-success" />
{{/rollWasCrit() attribute-roll-four}}
</div>
{{/rollTotal() attribute-die-four 1}}
{{#rollTotal() skill-die-three 1}}
<div class="template-grid-item template-span-three template-maroon-dice">
{{#rollBetween() skill-roll-three 1 5}}
{{skill-roll-three}}
{{/rollBetween() skill-roll-three 1 5}}
{{#rollWasCrit() skill-roll-three}}
<span data-i18n-title="success" title="Success"><img src="https://s3.amazonaws.com/files.d20.io/images/76927688/p3KFOOAONvq7PbYMO2jxzg/max.png" alt="Success" class="template-success" /></span>
{{/rollWasCrit() skill-roll-three}}
</div>
{{/rollTotal() skill-die-three 1}}
{{#rollTotal() skill-die-four 1}}
<div class="template-grid-item template-span-four template-maroon-dice">
{{#rollBetween() skill-roll-four 1 5}}
{{skill-roll-four}}
{{/rollBetween() skill-roll-four 1 5}}
{{#rollWasCrit() skill-roll-four}}
<span data-i18n-title="success" title="Success"><img src="https://s3.amazonaws.com/files.d20.io/images/76927688/p3KFOOAONvq7PbYMO2jxzg/max.png" alt="Success" class="template-success" /></span>
{{/rollWasCrit() skill-roll-four}}
</div>
{{/rollTotal() skill-die-four 1}}
{{#rollTotal() negative-die-three 1}}
<div class="template-grid-item template-span-three template-purple-dice">
{{#rollBetween() negative-roll-three 1 5}}
{{negative-roll-three}}
{{/rollBetween() negative-roll-three 1 5}}
{{#rollWasCrit() negative-roll-three}}
<span data-i18n-title="success" title="Success"><img src="https://s3.amazonaws.com/files.d20.io/images/76927688/p3KFOOAONvq7PbYMO2jxzg/max.png" alt="Success" class="template-success" /></span>
{{/rollWasCrit() negative-roll-three}}
</div>
{{/rollTotal() negative-die-three 1}}
{{#rollTotal() gear-die-three 1}}
<div class="template-grid-item template-span-five template-black-dice">
{{#rollWasFumble() gear-roll-three}}
<span data-i18n-title="bane" title="Bane"><img src="https://s3.amazonaws.com/files.d20.io/images/76927704/49c2rsljrzIbg0eE13ixWw/max.png" alt="Bane" class="template-bane" /></span>
{{/rollWasFumble() gear-roll-three}}
{{#rollBetween() gear-roll-three 2 5}}
{{gear-roll-three}}
{{/rollBetween() gear-roll-three 2 5}}
{{#rollWasCrit() gear-roll-three}}
<span data-i18n-title="success" title="Success"><img src="https://s3.amazonaws.com/files.d20.io/images/76927688/p3KFOOAONvq7PbYMO2jxzg/max.png" alt="Success" class="template-success" /></span>
{{/rollWasCrit() gear-roll-three}}
</div>
{{/rollTotal() gear-die-three 1}}
{{#rollTotal() gear-die-four 1}}
<div class="template-grid-item template-span-shix template-black-dice">
{{#rollWasFumble() gear-roll-four}}
<span data-i18n-title="bane" title="Bane"><img src="https://s3.amazonaws.com/files.d20.io/images/76927704/49c2rsljrzIbg0eE13ixWw/max.png" alt="Bane" class="template-bane" /></span>
{{/rollWasFumble() gear-roll-four}}
{{#rollBetween() gear-roll-four 2 5}}
{{gear-roll-four}}
{{/rollBetween() gear-roll-four 2 5}}
{{#rollWasCrit() gear-roll-four}}
<span data-i18n-title="success" title="Success"><img src="https://s3.amazonaws.com/files.d20.io/images/76927688/p3KFOOAONvq7PbYMO2jxzg/max.png" alt="Success" class="template-success" /></span>
{{/rollWasCrit() gear-roll-four}}
</div>
{{/rollTotal() gear-die-four 1}}
<!--- BEGIN ROW THREE -->
{{#rollTotal() attribute-die-five 1}}
<div class="template-grid-item template-span-one template-white-dice">
{{#rollWasFumble() attribute-roll-five}}
<img src="https://s3.amazonaws.com/files.d20.io/images/76927713/1ttsrv1QW1ml3hT8btQr-Q/max.png"
alt="Bane" class="template-bane" />
{{/rollWasFumble() attribute-roll-five}}
{{#rollBetween() attribute-roll-five 2 5}}
{{attribute-roll-five}}
{{/rollBetween() attribute-roll-five 2 5}}
{{#rollWasCrit() attribute-roll-five}}
<img src="https://s3.amazonaws.com/files.d20.io/images/76927679/CFpe4OjkRyZn5M9YGvUGPg/max.png"
alt="Success" class="template-success" />
{{/rollWasCrit() attribute-roll-five}}
</div>
{{/rollTotal() attribute-die-five 1}}
{{#rollTotal() attribute-die-six 1}}
<div class="template-grid-item template-span-two template-white-dice">
{{#rollWasFumble() attribute-roll-six}}
<img src="https://s3.amazonaws.com/files.d20.io/images/76927713/1ttsrv1QW1ml3hT8btQr-Q/max.png"
alt="Bane" class="template-bane" />
{{/rollWasFumble() attribute-roll-six}}
{{#rollBetween() attribute-roll-six 2 5}}
{{attribute-roll-six}}
{{/rollBetween() attribute-roll-six 2 5}}
{{#rollWasCrit() attribute-roll-six}}
<img src="https://s3.amazonaws.com/files.d20.io/images/76927679/CFpe4OjkRyZn5M9YGvUGPg/max.png"
alt="Success" class="template-success" />
{{/rollWasCrit() attribute-roll-six}}
</div>
{{/rollTotal() attribute-die-six 1}}
{{#rollTotal() skill-die-five 1}}
<div class="template-grid-item template-span-three template-maroon-dice">
{{#rollBetween() skill-roll-five 1 5}}
{{skill-roll-five}}
{{/rollBetween() skill-roll-five 1 5}}
{{#rollWasCrit() skill-roll-five}}
<span data-i18n-title="success" title="Success"><img src="https://s3.amazonaws.com/files.d20.io/images/76927688/p3KFOOAONvq7PbYMO2jxzg/max.png" alt="Success" class="template-success" /></span>
{{/rollWasCrit() skill-roll-five}}
</div>
{{/rollTotal() skill-die-five 1}}
{{#rollTotal() skill-die-six 1}}
<div class="template-grid-item template-span-four template-maroon-dice">
{{#rollBetween() skill-roll-six 1 5}}
{{skill-roll-six}}
{{/rollBetween() skill-roll-six 1 5}}
{{#rollWasCrit() skill-roll-six}}
<span data-i18n-title="success" title="Success"><img src="https://s3.amazonaws.com/files.d20.io/images/76927688/p3KFOOAONvq7PbYMO2jxzg/max.png" alt="Success" class="template-success" /></span>
{{/rollWasCrit() skill-roll-six}}
</div>
{{/rollTotal() skill-die-six 1}}
{{#rollTotal() gear-die-five 1}}
<div class="template-grid-item template-span-five template-black-dice">
{{#rollWasFumble() gear-roll-five}}
<span data-i18n-title="bane" title="Bane"><img src="https://s3.amazonaws.com/files.d20.io/images/76927704/49c2rsljrzIbg0eE13ixWw/max.png" alt="Bane" class="template-bane" /></span>
{{/rollWasFumble() gear-roll-five}}
{{#rollBetween() gear-roll-five 2 5}}
{{gear-roll-five}}
{{/rollBetween() gear-roll-five 2 5}}
{{#rollWasCrit() gear-roll-five}}
<span data-i18n-title="success" title="Success"><img src="https://s3.amazonaws.com/files.d20.io/images/76927688/p3KFOOAONvq7PbYMO2jxzg/max.png" alt="Success" class="template-success" /></span>
{{/rollWasCrit() gear-roll-five}}
</div>
{{/rollTotal() gear-die-five 1}}
{{#rollTotal() gear-die-six 1}}
<div class="template-grid-item template-span-shix template-black-dice">
{{#rollWasFumble() gear-roll-six}}
<span data-i18n-title="bane" title="Bane"><img src="https://s3.amazonaws.com/files.d20.io/images/76927704/49c2rsljrzIbg0eE13ixWw/max.png" alt="Bane" class="template-bane" /></span>
{{/rollWasFumble() gear-roll-six}}
{{#rollBetween() gear-roll-six 2 5}}
{{gear-roll-six}}
{{/rollBetween() gear-roll-six 2 5}}
{{#rollWasCrit() gear-roll-six}}
<span data-i18n-title="success" title="Success"><img src="https://s3.amazonaws.com/files.d20.io/images/76927688/p3KFOOAONvq7PbYMO2jxzg/max.png" alt="Success" class="template-success" /></span>
{{/rollWasCrit() gear-roll-six}}
</div>
{{/rollTotal() gear-die-six 1}}
<!--- BEGIN ROW FOUR -->
{{#rollTotal() attribute-die-seven 1}}
<div class="template-grid-item template-span-one template-white-dice">
{{#rollWasFumble() attribute-roll-seven}}
<img src="https://s3.amazonaws.com/files.d20.io/images/76927713/1ttsrv1QW1ml3hT8btQr-Q/max.png"
alt="Bane" class="template-bane" />
{{/rollWasFumble() attribute-roll-seven}}
{{#rollBetween() attribute-roll-seven 2 5}}
{{attribute-roll-seven}}
{{/rollBetween() attribute-roll-seven 2 5}}
{{#rollWasCrit() attribute-roll-seven}}
<img src="https://s3.amazonaws.com/files.d20.io/images/76927679/CFpe4OjkRyZn5M9YGvUGPg/max.png"
alt="Success" class="template-success" />
{{/rollWasCrit() attribute-roll-seven}}
</div>
{{/rollTotal() attribute-die-seven 1}}
{{#rollTotal() attribute-die-eight 1}}
<div class="template-grid-item template-span-two template-white-dice">
{{#rollWasFumble() attribute-roll-eight}}
<img src="https://s3.amazonaws.com/files.d20.io/images/76927713/1ttsrv1QW1ml3hT8btQr-Q/max.png"
alt="Bane" class="template-bane" />
{{/rollWasFumble() attribute-roll-eight}}
{{#rollBetween() attribute-roll-eight 2 5}}
{{attribute-roll-eight}}
{{/rollBetween() attribute-roll-eight 2 5}}
{{#rollWasCrit() attribute-roll-eight}}
<img src="https://s3.amazonaws.com/files.d20.io/images/76927679/CFpe4OjkRyZn5M9YGvUGPg/max.png"
alt="Success" class="template-success" />
{{/rollWasCrit() attribute-roll-eight}}
</div>
{{/rollTotal() attribute-die-eight 1}}
{{#rollTotal() skill-die-seven 1}}
<div class="template-grid-item template-span-three template-maroon-dice">
{{#rollBetween() skill-roll-seven 1 5}}
{{skill-roll-seven}}
{{/rollBetween() skill-roll-seven 1 5}}
{{#rollWasCrit() skill-roll-seven}}
<span data-i18n-title="success" title="Success"><img src="https://s3.amazonaws.com/files.d20.io/images/76927688/p3KFOOAONvq7PbYMO2jxzg/max.png" alt="Success" class="template-success" /></span>
{{/rollWasCrit() skill-roll-seven}}
</div>
{{/rollTotal() skill-die-seven 1}}
{{#rollTotal() skill-die-eight 1}}
<div class="template-grid-item template-span-four template-maroon-dice">
{{#rollBetween() skill-roll-eight 1 5}}
{{skill-roll-eight}}
{{/rollBetween() skill-roll-eight 1 5}}
{{#rollWasCrit() skill-roll-eight}}
<span data-i18n-title="success" title="Success"><img src="https://s3.amazonaws.com/files.d20.io/images/76927688/p3KFOOAONvq7PbYMO2jxzg/max.png" alt="Success" class="template-success" /></span>
{{/rollWasCrit() skill-roll-eight}}
</div>
{{/rollTotal() skill-die-eight 1}}
{{#rollTotal() gear-die-seven 1}}
<div class="template-grid-item template-span-five template-black-dice">
{{#rollWasFumble() gear-roll-seven}}
<span data-i18n-title="bane" title="Bane"><img src="https://s3.amazonaws.com/files.d20.io/images/76927704/49c2rsljrzIbg0eE13ixWw/max.png" alt="Bane" class="template-bane" /></span>
{{/rollWasFumble() gear-roll-seven}}
{{#rollBetween() gear-roll-seven 2 5}}
{{gear-roll-seven}}
{{/rollBetween() gear-roll-seven 2 5}}
{{#rollWasCrit() gear-roll-seven}}
<span data-i18n-title="success" title="Success"><img src="https://s3.amazonaws.com/files.d20.io/images/76927688/p3KFOOAONvq7PbYMO2jxzg/max.png" alt="Success" class="template-success" /></span>
{{/rollWasCrit() gear-roll-seven}}
</div>
{{/rollTotal() gear-die-seven 1}}
{{#rollTotal() gear-die-eight 1}}
<div class="template-grid-item template-span-shix template-black-dice">
{{#rollWasFumble() gear-roll-eight}}
<span data-i18n-title="bane" title="Bane"><img src="https://s3.amazonaws.com/files.d20.io/images/76927704/49c2rsljrzIbg0eE13ixWw/max.png" alt="Bane" class="template-bane" /></span>
{{/rollWasFumble() gear-roll-eight}}
{{#rollBetween() gear-roll-eight 2 5}}
{{gear-roll-eight}}
{{/rollBetween() gear-roll-eight 2 5}}
{{#rollWasCrit() gear-roll-eight}}
<span data-i18n-title="success" title="Success"><img src="https://s3.amazonaws.com/files.d20.io/images/76927688/p3KFOOAONvq7PbYMO2jxzg/max.png" alt="Success" class="template-success" /></span>
{{/rollWasCrit() gear-roll-eight}}
</div>
{{/rollTotal() gear-die-eight 1}}
<!--- BEGIN ROW FIVE -->
{{#rollTotal() attribute-die-nine 1}}
<div class="template-grid-item template-span-one template-white-dice">
{{#rollWasFumble() attribute-roll-nine}}
<img src="https://s3.amazonaws.com/files.d20.io/images/76927713/1ttsrv1QW1ml3hT8btQr-Q/max.png"
alt="Bane" class="template-bane" />
{{/rollWasFumble() attribute-roll-nine}}
{{#rollBetween() attribute-roll-nine 2 5}}
{{attribute-roll-nine}}
{{/rollBetween() attribute-roll-nine 2 5}}
{{#rollWasCrit() attribute-roll-nine}}
<img src="https://s3.amazonaws.com/files.d20.io/images/76927679/CFpe4OjkRyZn5M9YGvUGPg/max.png"
alt="Success" class="template-success" />
{{/rollWasCrit() attribute-roll-nine}}
</div>
{{/rollTotal() attribute-die-nine 1}}
{{#rollTotal() attribute-die-ten 1}}
<div class="template-grid-item template-span-two template-white-dice">
{{#rollWasFumble() attribute-roll-ten}}
<img src="https://s3.amazonaws.com/files.d20.io/images/76927713/1ttsrv1QW1ml3hT8btQr-Q/max.png"
alt="Bane" class="template-bane" />
{{/rollWasFumble() attribute-roll-ten}}
{{#rollBetween() attribute-roll-ten 2 5}}
{{attribute-roll-ten}}
{{/rollBetween() attribute-roll-ten 2 5}}
{{#rollWasCrit() attribute-roll-ten}}
<img src="https://s3.amazonaws.com/files.d20.io/images/76927679/CFpe4OjkRyZn5M9YGvUGPg/max.png"
alt="Success" class="template-success" />
{{/rollWasCrit() attribute-roll-ten}}
</div>
{{/rollTotal() attribute-die-ten 1}}
{{#rollTotal() skill-die-nine 1}}
<div class="template-grid-item template-span-three template-maroon-dice">
{{#rollBetween() skill-roll-nine 1 5}}
{{skill-roll-nine}}
{{/rollBetween() skill-roll-nine 1 5}}
{{#rollWasCrit() skill-roll-nine}}
<span data-i18n-title="success" title="Success"><img src="https://s3.amazonaws.com/files.d20.io/images/76927688/p3KFOOAONvq7PbYMO2jxzg/max.png" alt="Success" class="template-success" /></span>
{{/rollWasCrit() skill-roll-nine}}
</div>
{{/rollTotal() skill-die-nine 1}}
{{#rollTotal() skill-die-ten 1}}
<div class="template-grid-item template-span-four template-maroon-dice">
{{#rollBetween() skill-roll-ten 1 5}}
{{skill-roll-ten}}
{{/rollBetween() skill-roll-ten 1 5}}
{{#rollWasCrit() skill-roll-ten}}
<span data-i18n-title="success" title="Success"><img src="https://s3.amazonaws.com/files.d20.io/images/76927688/p3KFOOAONvq7PbYMO2jxzg/max.png" alt="Success" class="template-success" /></span>
{{/rollWasCrit() skill-roll-ten}}
</div>
{{/rollTotal() skill-die-ten 1}}
{{#rollTotal() gear-die-nine 1}}
<div class="template-grid-item template-span-five template-black-dice">
{{#rollWasFumble() gear-roll-nine}}
<span data-i18n-title="bane" title="Bane"><img src="https://s3.amazonaws.com/files.d20.io/images/76927704/49c2rsljrzIbg0eE13ixWw/max.png" alt="Bane" class="template-bane" /></span>
{{/rollWasFumble() gear-roll-nine}}
{{#rollBetween() gear-roll-nine 2 5}}
{{gear-roll-nine}}
{{/rollBetween() gear-roll-nine 2 5}}
{{#rollWasCrit() gear-roll-nine}}
<span data-i18n-title="success" title="Success"><img src="https://s3.amazonaws.com/files.d20.io/images/76927688/p3KFOOAONvq7PbYMO2jxzg/max.png" alt="Success" class="template-success" /></span>
{{/rollWasCrit() gear-roll-nine}}
</div>
{{/rollTotal() gear-die-nine 1}}
{{#rollTotal() gear-die-ten 1}}
<div class="template-grid-item template-span-shix template-black-dice">
{{#rollWasFumble() gear-roll-ten}}
<span data-i18n-title="bane" title="Bane"><img src="https://s3.amazonaws.com/files.d20.io/images/76927704/49c2rsljrzIbg0eE13ixWw/max.png" alt="Bane" class="template-bane" /></span>
{{/rollWasFumble() gear-roll-ten}}
{{#rollBetween() gear-roll-ten 2 5}}
{{gear-roll-ten}}
{{/rollBetween() gear-roll-ten 2 5}}
{{#rollWasCrit() gear-roll-ten}}
<span data-i18n-title="success" title="Success"><img src="https://s3.amazonaws.com/files.d20.io/images/76927688/p3KFOOAONvq7PbYMO2jxzg/max.png" alt="Success" class="template-success" /></span>
{{/rollWasCrit() gear-roll-ten}}
</div>
{{/rollTotal() gear-die-ten 1}}
<!--- BEGIN ROW SIX -->
{{#rollTotal() attribute-die-eleven 1}}
<div class="template-grid-item template-span-one template-white-dice">
{{#rollWasFumble() attribute-roll-eleven}}
<img src="https://s3.amazonaws.com/files.d20.io/images/76927713/1ttsrv1QW1ml3hT8btQr-Q/max.png"
alt="Bane" class="template-bane" />
{{/rollWasFumble() attribute-roll-eleven}}
{{#rollBetween() attribute-roll-eleven 2 5}}
{{attribute-roll-eleven}}
{{/rollBetween() attribute-roll-eleven 2 5}}
{{#rollWasCrit() attribute-roll-eleven}}
<img src="https://s3.amazonaws.com/files.d20.io/images/76927679/CFpe4OjkRyZn5M9YGvUGPg/max.png"
alt="Success" class="template-success" />
{{/rollWasCrit() attribute-roll-eleven}}
</div>
{{/rollTotal() attribute-die-eleven 1}}
{{#rollTotal() attribute-die-twelve 1}}
<div class="template-grid-item template-span-two template-white-dice">
{{#rollWasFumble() attribute-roll-twelve}}
<img src="https://s3.amazonaws.com/files.d20.io/images/76927713/1ttsrv1QW1ml3hT8btQr-Q/max.png"
alt="Bane" class="template-bane" />
{{/rollWasFumble() attribute-roll-twelve}}
{{#rollBetween() attribute-roll-twelve 2 5}}
{{attribute-roll-twelve}}
{{/rollBetween() attribute-roll-twelve 2 5}}
{{#rollWasCrit() attribute-roll-twelve}}
<img src="https://s3.amazonaws.com/files.d20.io/images/76927679/CFpe4OjkRyZn5M9YGvUGPg/max.png"
alt="Success" class="template-success" />
{{/rollWasCrit() attribute-roll-twelve}}
</div>
{{/rollTotal() attribute-die-twelve 1}}
{{#rollTotal() gear-die-eleven 1}}
<div class="template-grid-item template-span-five template-black-dice">
{{#rollWasFumble() gear-roll-eleven}}
<span data-i18n-title="bane" title="Bane"><img src="https://s3.amazonaws.com/files.d20.io/images/76927704/49c2rsljrzIbg0eE13ixWw/max.png" alt="Bane" class="template-bane" /></span>
{{/rollWasFumble() gear-roll-eleven}}
{{#rollBetween() gear-roll-eleven 2 5}}
{{gear-roll-eleven}}
{{/rollBetween() gear-roll-eleven 2 5}}
{{#rollWasCrit() gear-roll-eleven}}
<span data-i18n-title="success" title="Success"><img src="https://s3.amazonaws.com/files.d20.io/images/76927688/p3KFOOAONvq7PbYMO2jxzg/max.png" alt="Success" class="template-success" /></span>
{{/rollWasCrit() gear-roll-eleven}}
</div>
{{/rollTotal() gear-die-eleven 1}}
{{#rollTotal() gear-die-twelve 1}}
<div class="template-grid-item template-span-shix template-black-dice">
{{#rollWasFumble() gear-roll-twelve}}
<span data-i18n-title="bane" title="Bane"><img src="https://s3.amazonaws.com/files.d20.io/images/76927704/49c2rsljrzIbg0eE13ixWw/max.png" alt="Bane" class="template-bane" /></span>
{{/rollWasFumble() gear-roll-twelve}}
{{#rollBetween() gear-roll-twelve 2 5}}
{{gear-roll-twelve}}
{{/rollBetween() gear-roll-twelve 2 5}}
{{#rollWasCrit() gear-roll-twelve}}
<span data-i18n-title="success" title="Success"><img src="https://s3.amazonaws.com/files.d20.io/images/76927688/p3KFOOAONvq7PbYMO2jxzg/max.png" alt="Success" class="template-success" /></span>
{{/rollWasCrit() gear-roll-twelve}}
</div>
{{/rollTotal() gear-die-twelve 1}}
<!--- BEGIN ROW SEVEN -->
{{#rollTotal() artifact-die-eight 1}}
<div class="template-grid-item template-span-five template-green-dice">
{{#rollBetween() artifact-roll-eight 1 5}}
{{artifact-roll-eight}}
{{/rollBetween() artifact-roll-eight 1 5}}
{{#rollBetween() artifact-roll-eight 6 7}}
<div class="template-artifact-1">
<span class="template-inline" data-i18n-title="success-1" title="1 Success">1</span></div>
{{/rollBetween() artifact-roll-eight 6 7}}
{{#rollWasCrit() artifact-roll-eight}}
<div class="template-artifact-2">
<span class="template-inline" data-i18n-title="success-2" title="2 Successes">2</span></div>
{{/rollWasCrit() artifact-roll-eight}}
</div>
{{/rollTotal() artifact-die-eight 1}}
{{#rollTotal() artifact-die-ocho 1}}
<div class="template-grid-item template-span-shix template-green-dice">
{{#rollBetween() artifact-roll-ocho 1 5}}
{{artifact-roll-ocho}}
{{/rollBetween() artifact-roll-ocho 1 5}}
{{#rollBetween() artifact-roll-ocho 6 7}}
<div class="template-artifact-1">
<span class="template-inline" data-i18n-title="success-1" title="1 Success">1</span></div>
{{/rollBetween() artifact-roll-ocho 6 7}}
{{#rollWasCrit() artifact-roll-ocho}}
<div class="template-artifact-2">
<span class="template-inline" data-i18n-title="success-2" title="2 Successes">2</span></div>
{{/rollWasCrit() artifact-roll-ocho}}
</div>
{{/rollTotal() artifact-die-ocho 1}}
<!--- BEGIN ROW EIGHT -->
{{#rollTotal() artifact-die-ten 1}}
<div class="template-grid-item template-span-five template-blue-dice">
{{#rollBetween() artifact-roll-ten 1 5}}
{{artifact-roll-ten}}
{{/rollBetween() artifact-roll-ten 1 5}}
{{#rollBetween() artifact-roll-ten 6 7}}
<div class="template-artifact-1">
<span class="template-inline" data-i18n-title="success-1" title="1 Success">1</span></div>
{{/rollBetween() artifact-roll-ten 6 7}}
{{#rollBetween() artifact-roll-ten 8 9}}
<div class="template-artifact-2">
<span class="template-inline" data-i18n-title="success-2" title="2 Successes">2</span></div>
{{/rollBetween() artifact-roll-ten 8 9}}
{{#rollWasCrit() artifact-roll-ten}}
<div class="template-artifact-3">
<span class="template-inline" data-i18n-title="success-3" title="3 Successes">3</span></div>
{{/rollWasCrit() artifact-roll-ten}}
</div>
{{/rollTotal() artifact-die-ten 1}}
{{#rollTotal() artifact-die-twelve 1}}
<div class="template-grid-item template-span-shix template-orange-dice">
{{#rollBetween() artifact-roll-twelve 1 5}}
{{artifact-roll-twelve}}
{{/rollBetween() artifact-roll-twelve 1 5}}
{{#rollBetween() artifact-roll-twelve 6 7}}
<div class="template-artifact-1">
<span class="template-inline" data-i18n-title="success-1" title="1 Success">1</span></div>
{{/rollBetween() artifact-roll-twelve 6 7}}
{{#rollBetween() artifact-roll-twelve 8 9}}
<div class="template-artifact-2">
<span class="template-inline" data-i18n-title="success-2" title="2 Successes">2</span></div>
{{/rollBetween() artifact-roll-twelve 8 9}}
{{#rollBetween() artifact-roll-twelve 10 11}}
<div class="template-artifact-3">
<span class="template-inline" data-i18n-title="success-3" title="3 Successes">3</span></div>
{{/rollBetween() artifact-roll-twelve 10 11}}
{{#rollWasCrit() artifact-roll-twelve}}
<div class="template-artifact-4">
<span class="template-inline" data-i18n-title="success-4" title="4 Successes">4</span></div>
{{/rollWasCrit() artifact-roll-twelve}}
</div>
{{/rollTotal() artifact-die-twelve 1}}
<!--- consumables -->
<!--- d6 -->
{{#rollTotal() consumable-die-six 1}}
<div class="template-grid-item template-span-center-die template-purple-dice">
{{#rollBetween() consumable-roll-six 1 2}}
<span data-i18n-title="bane" title="Bane"><img src="https://s3.amazonaws.com/files.d20.io/images/76927704/49c2rsljrzIbg0eE13ixWw/max.png" alt="Bane" class="template-bane" /></span>
{{/rollBetween() consumable-roll-six 1 2}}
{{#rollBetween() consumable-roll-six 3 6}}
{{consumable-roll-six}}
{{/rollBetween() consumable-roll-six 3 6}}
</div>
{{/rollTotal() consumable-die-six 1}}
<!--- d8 -->
{{#rollTotal() consumable-die-eight 1}}
<div class="template-grid-item template-span-center-die template-purple-dice">
{{#rollBetween() consumable-roll-eight 1 2}}
<span data-i18n-title="bane" title="Bane"><img src="https://s3.amazonaws.com/files.d20.io/images/76927704/49c2rsljrzIbg0eE13ixWw/max.png" alt="Bane" class="template-bane" /></span>
{{/rollBetween() consumable-roll-eight 1 2}}
{{#rollBetween() consumable-roll-eight 3 8}}
{{consumable-roll-eight}}
{{/rollBetween() consumable-roll-eight 3 8}}
</div>
{{/rollTotal() consumable-die-eight 1}}
<!--- d10 -->
{{#rollTotal() consumable-die-ten 1}}
<div class="template-grid-item template-span-center-die template-purple-dice">
{{#rollBetween() consumable-roll-ten 1 2}}
<span data-i18n-title="bane" title="Bane"><img src="https://s3.amazonaws.com/files.d20.io/images/76927704/49c2rsljrzIbg0eE13ixWw/max.png" alt="Bane" class="template-bane" /></span>
{{/rollBetween() consumable-roll-ten 1 2}}
{{#rollBetween() consumable-roll-ten 3 10}}
{{consumable-roll-ten}}
{{/rollBetween() consumable-roll-ten 3 10}}
</div>
{{/rollTotal() consumable-die-ten 1}}
<!--- d12 -->
{{#rollTotal() consumable-die-twelve 1}}
<div class="template-grid-item template-span-center-die template-purple-dice">
{{#rollBetween() consumable-roll-twelve 1 2}}
<span data-i18n-title="bane" title="Bane"><img src="https://s3.amazonaws.com/files.d20.io/images/76927704/49c2rsljrzIbg0eE13ixWw/max.png" alt="Bane" class="template-bane" /></span>
{{/rollBetween() consumable-roll-twelve 1 2}}
{{#rollBetween() consumable-roll-twelve 3 12}}
{{consumable-roll-twelve}}
{{/rollBetween() consumable-roll-twelve 3 12}}
</div>
{{/rollTotal() consumable-die-twelve 1}}
<!--- d66 -->
{{#rollTotal() d66-die-one 1}}
<div class="template-grid-item template-span-three template-maroon-dice">
{{#rollBetween() d66-roll-one 1 6}}
{{d66-roll-one}}
{{/rollBetween() d66-roll-one 1 6}}
</div>
{{/rollTotal() d66-die-one 1}}
{{#rollTotal() d66-die-two 1}}
<div class="template-grid-item template-span-four template-maroon-dice">
{{#rollBetween() d66-roll-two 1 6}}
{{d66-roll-two}}
{{/rollBetween() d66-roll-two 1 6}}
</div>
{{/rollTotal() d66-die-two 1}}
<!--- dice pool column labels in footer-->
{{#attribute-die-one}}
<div class="template-grid-item template-span-left">
<span class="template-smaller sheet-small-caps" data-i18n="base-dice">Base Dice</span>
</div>
<div class="template-grid-item template-span-center">
<span class="template-smaller sheet-small-caps" data-i18n="skill-dice">Skill Dice</span>
</div>
<div class="template-grid-item template-span-right">
<span class="template-smaller sheet-small-caps" data-i18n="gear-dice">Gear Dice</span>
</div>
{{/attribute-die-one}}
<!--- attack -->
<div class="template-grid-item template-span-six condensed">
{{#weapon-bonus}}<span class="label" data-i18n="bonus">Bonus</span>:&nbsp;{{weapon-bonus}}{{/weapon-bonus}}{{#weapon-bonus-max}}/{{weapon-bonus-max}}{{/weapon-bonus-max}}
{{#weapon-bonus-misc}} &nbsp;&#177;&nbsp;<span class="label" data-i18n="misc-abbr">Misc</span>:&nbsp;{{weapon-bonus-misc}}{{/weapon-bonus-misc}}
{{#weapon-damage}}<span class="label" data-i18n="damage">Damage</span>:&nbsp;{{weapon-damage}}{{/weapon-damage}}
{{#weapon-damage-misc}}&nbsp;&#177;&nbsp;<span class="label" data-i18n="misc-abbr">Misc</span>:&nbsp;{{weapon-damage-misc}}{{/weapon-damage-misc}}
{{#attack-features}}<span>( {{attack-features}} )</span>{{/attack-features}}
<div class="template-grid-item template-span-six">
{{#weapon-range}}<span class="label" data-i18n="range">Range</span>:&nbsp;{{weapon-range}}{{/weapon-range}}
{{#weapon-features}}<span class="label" data-i18n="features">Features</span>:&nbsp;{{weapon-features}}{{/weapon-features}}
</div>
{{#attack-description}}
<hr class="template-span-six" style="margin: 5px 10px 5px 10px;">
<div class="template-grid-item template-span-six scroll-text">
{{attack-description}}
</div>
{{/attack-description}}
</div>
<!--- armor/shield -->
{{#armor1-name}}
<div class="template-grid-item template-span-six">
<span><b>{{armor1-name}}</b></span>
</div>
<div class="template-grid-item template-span-six condensed">
{{#armor1-rating}}<span class="label" data-i18n="armor-rating-abbr">AR</span>:&nbsp;{{armor1-rating}}{{/armor1-rating}}
{{#armor1-rating-max}}/{{armor1-rating-max}}{{/armor1-rating-max}}
{{#armor1-rating-misc}}&nbsp;&#177;&nbsp;<span class="label" data-i18n="misc-abbr">Misc</span>:&nbsp;{{armor1-rating-misc}}{{/armor1-rating-misc}}
{{#armor1-rating-total}}&nbsp;=&nbsp;<span class="label" data-i18n="total">Total</span>:&nbsp;{{armor1-rating-total}}{{/armor1-rating-total}}
</div>
{{/armor1-name}}
{{#armor2-name}}
<div class="template-grid-item template-span-six">
<span><b>{{armor2-name}}</b></span>
</div>
<div class="template-grid-item template-span-six condensed">
{{#armor2-rating}}<span class="label" data-i18n="armor-rating-abbr">AR</span>:&nbsp;{{armor2-rating}}{{/armor2-rating}}
{{#armor2-rating-max}}/{{armor2-rating-max}}{{/armor2-rating-max}}
{{#armor2-rating-misc}}&nbsp;&#177;&nbsp;<span class="label" data-i18n="misc-abbr">Misc</span>:&nbsp;{{armor2-rating-misc}}{{/armor2-rating-misc}}
{{#armor2-rating-total}}&nbsp;=&nbsp;<span class="label" data-i18n="total">Total</span>:&nbsp;{{armor2-rating-total}}{{/armor2-rating-total}}
</div>
{{/armor2-name}}
<!--- spell -->
<div class="template-grid-item template-span-six condensed">
{{#willpower-total}}<span class="label" data-i18n="willpower-total-abbr">Total WP</span>:&nbsp;{{willpower-total}}{{/willpower-total}}
{{#spell-rank}}<span class="label" data-i18n="rank">Rank</span>:&nbsp;{{spell-rank}}{{/spell-rank}}
{{#spell-willpower}}<span class="label" data-i18n="willpower-spent-abbr">WP Spent</span>:&nbsp;{{spell-willpower}}{{/spell-willpower}}
</div>
<div class="template-grid-item template-span-six condensed">
{{#spell-range}}<span class="label" data-i18n="range">Range</span>:&nbsp;{{spell-range}}{{/spell-range}}
{{#spell-duration}}<span class="label" data-i18n="duration">Duration</span>:&nbsp;{{spell-duration}}{{/spell-duration}}
</div>
{{#spell-ingredients}}
<div class="template-grid-item template-span-six condensed">
<span class="label" data-i18n="ingredients">Ingredients</span>:&nbsp;{{spell-ingredients}}
</div>
{{/spell-ingredients}}
{{#spell-description}}
<hr class="template-span-six" style="margin: 5px 10px 5px 10px;">
<div class="template-grid-item template-span-six scroll-text">{{spell-description}}</div>
{{/spell-description}}
{{#free-text}}
<div class="template-grid-item template-span-six free-text scroll-text">
<span>{{free-text}}</span>
</div>
{{/free-text}}
{{#footer}}
<div class="template-grid-item template-span-six template-footer">{{footer}}</div>
{{/footer}}
{{#allprops() character_name name character_id name_link subtitle free-text footer attribute-die-one attribute-die-two attribute-die-three attribute-die-four attribute-die-five attribute-die-six attribute-die-seven attribute-die-eight attribute-die-nine attribute-die-ten attribute-die-eleven attribute-die-twelve skill-die-one skill-die-two skill-die-three skill-die-four skill-die-five skill-die-six skill-die-seven skill-die-eight skill-die-nine skill-die-ten negative-die-one negative-die-two negative-die-three gear-die-one gear-die-two gear-die-three gear-die-four gear-die-five gear-die-six gear-die-seven gear-die-eight gear-die-nine gear-die-ten gear-die-eleven gear-die-twelve artifact-die-eight artifact-die-ocho artifact-die-ten artifact-die-twelve attribute-roll-one attribute-roll-two attribute-roll-three attribute-roll-four attribute-roll-five attribute-roll-six attribute-roll-seven attribute-roll-eight attribute-roll-nine attribute-roll-ten attribute-roll-eleven attribute-roll-twelve skill-roll-one skill-roll-two skill-roll-three skill-roll-four skill-roll-five skill-roll-six skill-roll-seven skill-roll-eight skill-roll-nine skill-roll-ten negative-roll-one negative-roll-two negative-roll-three gear-roll-one gear-roll-two gear-roll-three gear-roll-four gear-roll-five gear-roll-six gear-roll-seven gear-roll-eight gear-roll-nine gear-roll-ten gear-roll-eleven gear-roll-twelve artifact-roll-eight artifact-roll-ocho artifact-roll-ten artifact-roll-twelve consumable-die-six consumable-die-eight d66-die-one d66-roll-one d66-die-two d66-roll-two consumable-die-ten consumable-die-twelve consumable-roll-six consumable-roll-eight consumable-roll-ten consumable-roll-twelve push-query weapon-bonus weapon-bonus-max weapon-bonus-misc weapon-damage weapon-damage-misc attack-features weapon-range weapon-features attack-description spell-rank spell-willpower spell-range spell-duration spell-ingredients spell-description willpower-total armor1-name armor1-rating armor1-rating-max armor1-rating-misc armor2-name armor2-rating armor2-rating-max armor2-rating-misc armor1-rating-total armor2-rating-total}}
<div class="template-grid-item template-span-half"><span>**{{key}}**:</span></div>
<div class="template-grid-item template-span-2nd-half"><span>{{value}}</span></div>
{{/allprops() character_name name character_id name_link subtitle free-text footer attribute-die-one attribute-die-two attribute-die-three attribute-die-four attribute-die-five attribute-die-six attribute-die-seven attribute-die-eight attribute-die-nine attribute-die-ten attribute-die-eleven attribute-die-twelve skill-die-one skill-die-two skill-die-three skill-die-four skill-die-five skill-die-six skill-die-seven skill-die-eight skill-die-nine skill-die-ten negative-die-one negative-die-two negative-die-three gear-die-one gear-die-two gear-die-three gear-die-four gear-die-five gear-die-six gear-die-seven gear-die-eight gear-die-nine gear-die-ten gear-die-eleven gear-die-twelve artifact-die-eight artifact-die-ocho artifact-die-ten artifact-die-twelve attribute-roll-one attribute-roll-two attribute-roll-three attribute-roll-four attribute-roll-five attribute-roll-six attribute-roll-seven attribute-roll-eight attribute-roll-nine attribute-roll-ten attribute-roll-eleven attribute-roll-twelve skill-roll-one skill-roll-two skill-roll-three skill-roll-four skill-roll-five skill-roll-six skill-roll-seven skill-roll-eight skill-roll-nine skill-roll-ten negative-roll-one negative-roll-two negative-roll-three gear-roll-one gear-roll-two gear-roll-three gear-roll-four gear-roll-five gear-roll-six gear-roll-seven gear-roll-eight gear-roll-nine gear-roll-ten gear-roll-eleven gear-roll-twelve artifact-roll-eight artifact-roll-ocho artifact-roll-ten artifact-roll-twelve consumable-die-six consumable-die-eight d66-die-one d66-roll-one d66-die-two d66-roll-two consumable-die-ten consumable-die-twelve consumable-roll-six consumable-roll-eight consumable-roll-ten consumable-roll-twelve push-query weapon-bonus weapon-bonus-max weapon-bonus-misc weapon-damage weapon-damage-misc attack-features weapon-range weapon-features attack-description spell-rank spell-willpower spell-range spell-duration spell-ingredients spell-description willpower-total armor1-name armor1-rating armor1-rating-max armor1-rating-misc armor2-name armor2-rating armor2-rating-max armor2-rating-misc armor1-rating-total armor2-rating-total}}
</div>
</div>
</rolltemplate>
<script type="text/worker">
'use strict';
/* number and log handling */
const int = (score, on_error = 0) => parseInt(score) || on_error;
const float = (score, on_error = 0) => parseFloat(score) || on_error;
const clog = (text, title = '', color = 'green', style='font-size:12px; font-weight:normal;', headerstyle = 'font-size:13px; font-weight:bold;') => {
let titleStyle = `color:${color}; ${headerstyle} text-decoration:underline;`;
let textStyle = `color:${color}; ${style}`;
let output =
`%c${title}
%c${text}`;
if(title) {
console.log(output,titleStyle,textStyle);
} else {
output = `%c${text}`;
console.log(output,textStyle);
}
};
/* version tracking */
var Sheet = Sheet || (function () {
let currentVersion = 1.60,
newAnnouncement = function (v) {
getAttrs(["version", "show_announcements"], function (values) {
const version = float(values["version"]);
clog('New Announcements: v' + version);
setAttrs({
"show_announcements": 1
});
});
},
/* recalculateSheet */
recalculateSheet = function (oldversion) {
//set olderversion to currentVersion if you want to force announcement window
if (oldversion < 1.54) {
//call your updates/functions here
clog('Updating Forbidden Lands sheet');
newAnnouncement();
}
},
/* checkForUpdate looks at current version of page in
* version and compares to code Sheet.version calls
* recalulateSheet if versions don't match or if recalculate
* button was pressed. */
checkForUpdate = function () {
getAttrs(["version", "recalc1"], function (v) {
let setter = {},
currVer = 0,
setAny = 0,
recalc = false;
currVer = float(v["version"]);
clog('Current sheet data version: ' + currVer + ', Sheet code version: ' + currentVersion);
if (currVer !== currentVersion) {
recalc = true;
setter["version"] = currentVersion;
setAny = 1;
}
if (v["recalc1"] && v["recalc1"] !== "0") {
currVer = -1;
recalc = true;
setter["recalc1"] = 0;
setAny = 1;
}
if (setAny) {
setAttrs(setter);
}
if (recalc) {
recalculateSheet(currVer);
}
});
};
return {
currentVersion: currentVersion,
checkForUpdate: checkForUpdate
//Add changes/updates here
};
}());
on("change:recalc1 sheet:opened", function () {
Sheet.checkForUpdate();
});
/* ===== PARAMETERS ==========
GiGs 'Super Simple Summarizer'
*/
const repeatingSum = (destination, section, fields, multiplier = 1) => {
if (!Array.isArray(fields)) fields = [fields];
getSectionIDs(`repeating_${section}`, idArray => {
const attrArray = idArray.reduce((m, id) => [...m, ...(fields.map(field => `repeating_${section}_${id}_${field}`))], []);
getAttrs(attrArray, v => {
clog('values of v: ' + JSON.stringify(v));
// getValue: if not a number, returns 1 if it is 'on' (checkbox), otherwise returns 0..
const getValue = (section, id, field) => float(v[`repeating_${section}_${id}_${field}`]) || (v[`repeating_${section}_${id}_${field}`] === 'on' ? 1 : 0);
const sumTotal = idArray.reduce((total, id) => total + fields.reduce((subtotal, field) => subtotal * getValue(section, id, field), 1), 0);
setAttrs({
[destination]: sumTotal * multiplier
});
});
});
};
/* hireling cost */
on('change:repeating_hirelings remove:repeating_hirelings sheet:opened', function () {
clog('Change Detected: Hirelings');
repeatingSum('hirelings_cost', 'hirelings', ['hireling_number', 'hireling_salary']);
});
/* character encumbrance */
on('change:repeating_gear remove:repeating_gear sheet:opened', function () {
clog('Change Detected: Character Gear Encumbrance');
repeatingSum('character_gear_encumbrance', 'gear', ['gear_weight', 'gear_qty', 'gear_carried']);
});
/* mount encumbrance */
on('change:repeating_mount remove:repeating_mount sheet:opened', function () {
clog('Change Detected: Mounts Gear Encumbrance');
repeatingSum('mount_gear_encumbrance', 'mount', ['mount_gear_weight', 'mount_gear_qty', 'mount_gear_carried']);
});
/* weapons encumbrance */
on('change:repeating_weapons remove:repeating_weapons sheet:opened', function () {
clog('Change Detected: Character Weapons Encumbrance');
repeatingSum('weapons_encumbrance', 'weapons', ['weapon_weight', 'weapon_carried']);
});
/* armor/helmet weight */
on('sheet:opened change:armor1_carried change:armor2_carried change:armor1_weight change:armor2_weight', function () {
getAttrs(['armor1_carried', 'armor2_carried', 'armor1_weight', 'armor2_weight'], function (values) {
clog('Change Detected: Armor/Helmet Weight');
const armor1_carried = int(values["armor1_carried"]),
armor2_carried = int(values["armor2_carried"]),
armor1_weight = float(values["armor1_weight"]),
armor2_weight = float(values["armor2_weight"]),
temp_armor1_carried = (armor1_carried * armor1_weight),
temp_armor2_carried = (armor2_carried * armor2_weight),
armor_carried = (temp_armor1_carried + temp_armor2_carried).toFixed(1);
clog('Armor/Helmet Weight: ' + armor_carried);
setAttrs({
"armor_encumbrance": armor_carried
});
});
});
/* shield weight */
on('sheet:opened change:shield1_carried change:shield1_weight', function () {
getAttrs(['shield1_carried', 'shield1_weight'], function (values) {
clog('Change Detected: Shield Weight');
const shield1_carried = int(values["shield1_carried"]),
shield1_weight = float(values["shield1_weight"]),
temp_shield1_carried = (shield1_carried * shield1_weight),
shield_carried = (temp_shield1_carried).toFixed(1);
clog('Shield Weight: ' + shield1_carried);
setAttrs({
"shield_encumbrance": shield_carried
});
});
});
/* coin weight */
on('sheet:opened change:gold change:silver change:copper change:gold_mount change:silver_mount change:copper_mount', function () {
getAttrs(['gold', 'silver', 'copper', 'gold_mount', 'silver_mount', 'copper_mount'], function (values) {
clog('Change Detected: Coin Weight');
const gold = int(values["gold"]),
silver = int(values["silver"]),
copper = int(values["copper"]),
temp_carried = Math.floor((gold + silver + copper) / 100) * 100,
output_carried = ((temp_carried) * 0.005).toFixed(1),
gold_mount = int(values["gold_mount"]),
silver_mount = int(values["silver_mount"]),
copper_mount = int(values["copper_mount"]),
temp_mount = Math.floor((gold_mount + silver_mount + copper_mount) / 100) * 100,
output_mount = ((temp_mount) * 0.005).toFixed(1);
setAttrs({
"coins_carried": output_carried,
"coins_carried_mount": output_mount
});
});
});
/* total encumbrance */
on('sheet:opened change:character_gear_encumbrance change:mount_gear_encumbrance change:coins_carried change:coins_carried_mount change:weapons_encumbrance change:armor_encumbrance change:shield_encumbrance', function () {
getAttrs(['character_gear_encumbrance', 'mount_gear_encumbrance', 'coins_carried', 'coins_carried_mount', 'weapons_encumbrance', 'armor_encumbrance', 'shield_encumbrance', 'armor_shield_encumbrance'], function (values) {
clog('Change Detected: Character Encumbrance');
const character_gear_encumbrance = float(values["character_gear_encumbrance"]),
mount_gear_encumbrance = float(values["mount_gear_encumbrance"]),
weapons_encumbrance = float(values["weapons_encumbrance"]),
armor_encumbrance = float(values["armor_encumbrance"]),
shield_encumbrance = float(values["shield_encumbrance"]),
armor_shield_encumbrance = (armor_encumbrance + shield_encumbrance),
coins_carried = float(values["coins_carried"]),
coins_carried_mount = float(values["coins_carried_mount"]),
sum_character_weight = (character_gear_encumbrance + weapons_encumbrance + armor_encumbrance + shield_encumbrance + coins_carried),
sum_mount_weight = (mount_gear_encumbrance + coins_carried_mount);
setAttrs({
"armor_shield_encumbrance": armor_shield_encumbrance,
"character_encumbrance": sum_character_weight,
"mount_encumbrance": sum_mount_weight
});
});
});
/* coin total */
on('sheet:opened change:gold change:silver change:copper change:gold_mount change:silver_mount change:copper_mount change:gold_other change:silver_other change:copper_other', function () {
getAttrs(['gold', 'silver', 'copper', 'gold_mount', 'silver_mount', 'copper_mount', 'gold_other', 'silver_other', 'copper_other'], function (values) {
clog('Change Detected: Coin Total');
const gold = int(values["gold"]),
silver = int(values["silver"]),
copper = int(values["copper"]),
gold_mount = int(values["gold_mount"]),
silver_mount = int(values["silver_mount"]),
copper_mount = int(values["copper_mount"]),
gold_other = int(values["gold_other"]),
silver_other = int(values["silver_other"]),
copper_other = int(values["copper_other"]),
sum_gold = (gold + gold_mount + gold_other),
sum_silver = (silver + silver_mount + silver_other),
sum_copper = (copper + copper_mount + copper_other);
setAttrs({
"gold_total": sum_gold,
"silver_total": sum_silver,
"copper_total": sum_copper
});
});
});
/* Monster or PC Strength handling. updates attr_strength depending on sheet tab*/
on('change:tab change:strength_pc change:strength_monster sheet:opened', () => {
getAttrs(['tab', 'strength', 'strength_pc','strength_monster'], (v) => {
const settings = {},
tab = int(v.tab, 1), // sets tab to 1 if not recognized - so goes to pc tab;
str = int(v.strength);
let pc = int(v.strength_pc),
monster = int(v.strength_monster),
forceupdate = 0;
// check if character existed before strength_pc or _monster stats were introduced.
if(str > 0) {
if(0 === pc || 0 === monster) forceupdate = 1;
if(0 === pc) {
pc = str;
settings.strength_pc = str;
}
if(0 === monster) {
monster = str;
settings.strength_monster = str;
}
}
// if tab is not pc or monster, end the function and leave strength unchanged
if(tab !== 1 && tab !== 3 && !forceupdate) return;
// if tab = 1 or 3, set strength to the appropriate value
settings.strength = (tab === 3 ? monster : pc);
setAttrs(settings);
});
});
/* ability damage calcs */
const damages = {
// an Object Literal: damages['strength'] returns 'damage', damages['empathy'] returns 'doubt', etc
strength: 'damage',
agility: 'fatigue',
wits: 'confusion',
empathy: 'doubt'
};
Object.keys(damages).forEach(stat => {
// creates a sheet worker for each stat in damages - first stat = 'strength', then stat = 'agility', etc
// in each worker, stat = the stat (strength, agility, etc) and damages[stat] = the associated damage ('damage'. 'fatigue', etc)
on(`change:${stat} change:${damages[stat]}`, function () {
clog(`${stat} or ${damages[stat]} has changed.`);
getAttrs([stat, damages[stat]], values => {
const stat_score = int(values[stat]),
damage_score = int(values[damages[stat]]);
setAttrs({
[stat + '_total']: Math.max(0, stat_score - damage_score)
//Math.max returns the highest value from a comma separated list - it's just like roll20's kh1 dice function.
// so you don't need the if( value > 0) test. With math.max, if the value is below 0, it becomes 0.
});
});
});
});
/* skill total calcs */
const attributes = {
// a javascript Object Literal, containing each skill, and its corresponding attribute
'Animal Handling': 'empathy_total',
Crafting: 'strength_total',
Endurance: 'strength_total',
Healing: 'empathy_total',
Insight: 'wits_total',
Lore: 'wits_total',
Manipulation: 'empathy_total',
Marksmanship: 'agility_total',
Melee: 'strength_total',
Might: 'strength_total',
Move: 'agility_total',
Performance: 'empathy_total',
Scouting: 'wits_total',
'Sleight of Hand': 'agility_total',
Stealth: 'agility_total',
Survival: 'wits_total'
},
getSkill = (label) => label.split(' ').join('_').toLowerCase(),
// a function to change (for example) "Animal Handling" to "animal_handling"
// needed for a couple of functions below
getSkillKey = (label) => label.split(' ').join('-').toLowerCase();
// a function to change (for example) "Animal Handling" to "animal-handling"
// needed for a couple of functions below
Object.keys(attributes).forEach(skill_name => {
// creates a sheet worker for each skill in attributes - first skill = 'strength', then stat = 'agility', etc
// in each worker, stat = the stat (strength, agility, etc) and damages[stat] = the associated damage ('damage'. 'fatigue', etc)
const skill = getSkill(skill_name);
on(`change:${skill} change:${attributes[skill_name]}`, function () {
clog(`${skill} or ${attributes[skill_name]} has changed.`);
getAttrs([skill, attributes[skill_name]], function (values) {
const stat_score = int(values[attributes[skill_name]]),
skill_score = int(values[skill]);
setAttrs({
[skill + '_total']: stat_score + skill_score
});
});
});
});
/* set weapon base_total and skill_total */
on("change:repeating_weapons:weapon_name change:repeating_weapons:weapon_skill change:repeating_weapons:weapon_skill_misc", function () {
clog('Change Detected: Weapon Attacks - recalculating Base & Skill totals');
// made the change event specific, so its only fired when needed, and likewise reduced the getAttrs to those only needed
getAttrs(['repeating_weapons_weapon_skill', 'repeating_weapons_weapon_skill_value', 'repeating_weapons_weapon_skill_misc', 'repeating_weapons_weapon_skill_total', 'repeating_weapons_weapon_base_total', 'strength_total', 'agility_total', 'marksmanship', 'melee'], function (values) {
const strength = int(values.strength_total),
agility = int(values.agility_total),
melee = int(values.melee),
marksmanship = int(values.marksmanship),
weapon_skill = int(values.repeating_weapons_weapon_skill),
weapon_skill_misc = int(values.repeating_weapons_weapon_skill_misc);
// separate out the basic values read from the sheet from those calculated within the worker. for clarity
const attribute = (weapon_skill === 0 ? strength : agility),
skill = (weapon_skill === 0 ? melee : marksmanship),
weapon_base_total = attribute,
weapon_skill_value = skill,
weapon_skill_total = skill + weapon_skill_misc;
setAttrs({
repeating_weapons_weapon_base_total: weapon_base_total,
repeating_weapons_weapon_skill_value: weapon_skill_value,
repeating_weapons_weapon_skill_total: weapon_skill_total
});
clog('weapon_base_total: ' + weapon_base_total);
clog('weapon_skill_value: ' + weapon_skill_value);
clog('weapon_skill_total: ' + weapon_skill_total);
});
});
/* set weapon bonus_total */
on("repeating_weapons:weapon_name change:repeating_weapons:weapon_bonus change:repeating_weapons:weapon_bonus_misc change:repeating_weapons:weapon_bonus_max", function () {
clog('Change Detected: Weapon Attacks - recalculating Bonus totals');
// made the change event specific, so its only fired when needed, and likewise reduced the getAttrs to those only needed
getAttrs(['repeating_weapons_weapon_bonus', 'repeating_weapons_weapon_bonus_misc', 'repeating_weapons_weapon_bonus_max'], function (values) {
const weapon_bonus_misc = int(values.repeating_weapons_weapon_bonus_misc),
weapon_bonus = int(values.repeating_weapons_weapon_bonus),
weapon_bonus_max = int(values.repeating_weapons_weapon_bonus_max);
// separate out the basic values read from the sheet from those calculated within the worker
const weapon_bonus_total = Math.min(weapon_bonus, weapon_bonus_max) + weapon_bonus_misc;
setAttrs({
repeating_weapons_weapon_bonus_total: weapon_bonus_total
});
clog('weapon_bonus_total: ' + weapon_bonus_total);
});
});
/* set weapon damage totals */
on('change:repeating_weapons:weapon_damage change:repeating_weapons:weapon_damage_misc', function() {
clog('Change Detected: Weapon Damage - recalculating totals');
getAttrs(['repeating_weapons_weapon_damage', 'repeating_weapons_weapon_damage_misc'], function (values) {
const weapon_damage = int(values.repeating_weapons_weapon_damage),
weapon_damage_misc = int(values.repeating_weapons_weapon_damage_misc),
damage = Math.max((weapon_damage + weapon_damage_misc),0);
setAttrs({
repeating_weapons_weapon_damage_total: damage
});
clog('>>>> weapon_damage_total: ' + damage);
});
});
/* re-calculate repeating_weapons when outside attributes change */
on('change:strength_total change:agility_total change:melee change:marksmanship', function() {
getSectionIDs('repeating_weapons', function(ids) {
const fieldnames = [];
ids.forEach(id => {
fieldnames.push(
`repeating_weapons_${id}_weapon_skill`,
`repeating_weapons_${id}_weapon_skill_misc`,
`repeating_weapons_${id}_weapon_skill_value`,
`repeating_weapons_${id}_weapon_bonus`,
`repeating_weapons_${id}_weapon_bonus_max`,
`repeating_weapons_${id}_weapon_bonus_misc`
);
});
getAttrs(['strength_total', 'agility_total', 'melee', 'marksmanship', ...fieldnames], function(values) {
const settings = {};
const strength = int(values.strength_total),
agility = int(values.agility_total),
melee = int(values.melee),
marksmanship = int(values.marksmanship);
ids.forEach(id => {
const weapon_skill = int(values[`repeating_weapons_${id}_weapon_skill`]),
// calculate attribute total
attribute = (weapon_skill === 0 ? strength : agility),
weapon_base_total = attribute;
// calculate skill total
const weapon_skill_misc = int(values[`repeating_weapons_${id}_weapon_skill_misc`]),
skill = (weapon_skill === 0 ? melee : marksmanship),
weapon_skill_total = skill + weapon_skill_misc;
//calculate bonus total
const weapon_bonus = int(values[`repeating_weapons_${id}_weapon_bonus`]),
weapon_bonus_max = int(values[`repeating_weapons_${id}_weapon_bonus_max`]),
weapon_bonus_misc = int(values[`repeating_weapons_${id}_weapon_bonus_misc`]),
weapon_bonus_total = Math.min(weapon_bonus, weapon_bonus_max) + weapon_bonus_misc;
// no need to calculate damage total, its not affected by external factors
settings[`repeating_weapons_${id}_weapon_base_total`] = weapon_base_total;
settings[`repeating_weapons_${id}_weapon_skill_value`] = skill;
settings[`repeating_weapons_${id}_weapon_skill_total`] = weapon_skill_total;
settings[`repeating_weapons_${id}_weapon_bonus_total`] = weapon_bonus_total;
});
setAttrs(settings, {silent: true});
});
});
});
/* Monster strength-based skill total calcs */
const monster_attributes = {
'crafting monster': 'crafting_monster',
'endurance monster': 'endurance_monster',
'melee monster': 'melee_monster',
'might monster': 'might_monster'
};
Object.keys(monster_attributes).forEach(skill_name => {
const monster_skill = getSkill(skill_name);
on(`change:${monster_skill} change:${monster_attributes[skill_name]}`, function () {
clog(`${monster_skill} or ${monster_attributes[skill_name]} has changed.`);
getAttrs([monster_skill, monster_attributes[skill_name]], function (values) {
const stat_score = int(values[monster_attributes[skill_name]]);
setAttrs({
monster_skill: stat_score
});
});
});
});
/* Wes's Dice Pool */
const pools = {
attribute: {
max: 12,
negative: 0
},
skill: {
max: 10,
negative: 3
},
gear: {
max: 12,
negative: 0
}
};
// need to know the max pool size for each type, and whether negative dice should be in the pool.
const numbers = ['', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'ten', 'eleven', 'twelve'];
// need to convert numbers 1-12 to text. left index 0 empty, as its not needed.
Object.keys(pools).forEach(which => {
on(`change:${which}`, function () {
getAttrs([which], function (values) {
let score = Math.min(pools[which].max, int(values[which]));
const settings = {};
// loop through numbers from 1 to the pool's max, and enter a value of 1 if less < pool value, or 0 otherwise.
for (let d = 1; d <= pools[which].max; d++) {
// pools[which].max gets the max value from the pools object.
settings[`${which}_die_${numbers[d]}`] = (d <= score) ? 1 : 0;
// `${which}_die_${numbers[d]}` creates a name like 'gear_die_three'
// (d <= score) ? 1 : 0; checks current index and assigns value of 1 if less than equal to pool score
// settings[attribute] = value stores the appropriate attribute names and values
}
// need to check negative dice, and compare score
// negative dice are set to zero. They are set to 1 only if pool.negative > 0, score is below zero, and absolute value of score is below 1-3.
for (let n = 1; n <= 3; n++) {
settings[`negative_die_${numbers[n]}`] = (pools[which].negative && score < 0 && n <= Math.abs(score)) ? 1 : 0;
}
setAttrs(settings);
});
});
});
const dicePoolButtons = (which) => {
clog(`Change Detected: Dice Pool ${which} - button clicked`);
getAttrs([attributes[which], getSkill(which), getSkillKey(which)], function (values) {
// attributes[which] returns the attribute; e.g attributes['Stealth'] gives 'agility_total'
// getSkill(which) converts the skill name to a valid attribute string: getSkill('Animal Handling') gives 'animal_handling'
const stat = int(values[attributes[which]]);
// stat here first gets attributes['Stealth'] which will be, say, 'agility_total' and
// then values['ability_total'] gives you the score from the character sheet.
// used to set the proper translation key
let whichKey = getTranslationByKey(getSkillKey(which));
setAttrs({
attribute: stat > 0 ? stat : 0, // this is a Ternary Operator, it starts with a question (e.g. is stat > 0)
// and if true, returns the bit after the ? and if false returns the bit after the :
// you can often replace simple if/then expressions with a single line ternary operator.
skill: int(values[getSkill(which)]),
// uses the translation key
gear: 0,
current_preset: whichKey,
include_with_roll: ""
});
});
};
Object.keys(attributes).forEach(skill => {
on(`clicked:dice_pool_${getSkill(skill)}`, () =>dicePoolButtons(skill));
});
/* Monster strength-based skill dice pool */
const monster_dicePoolButtons = (which) => {
clog(`Change Detected: Dice Pool ${which} - button clicked`);
getAttrs([monster_attributes[which], getSkill(which), getSkillKey(which)], function (values) {
const stat = int(values[monster_attributes[which]]);
let whichKey = getTranslationByKey(getSkillKey(which));
setAttrs({
attribute: stat > 0 ? stat : 0,
skill: 0,
gear: 0,
current_preset: whichKey,
include_with_roll: ""
});
});
};
Object.keys(monster_attributes).forEach(monster_skill => {
on(`clicked:dice_pool_${getSkill(monster_skill)}`, () =>monster_dicePoolButtons(monster_skill));
});
on("sheet:opened clicked:dice_pool_clear", function () {
clog('Change Detected: Clear Dice Pool - button clicked');
setAttrs({
attribute: 0,
skill: 0,
gear: 0,
attribute_die_twelve: 0,
attribute_die_eleven: 0,
attribute_die_ten: 0,
attribute_die_nine: 0,
attribute_die_eight: 0,
attribute_die_seven: 0,
attribute_die_six: 0,
attribute_die_five: 0,
attribute_die_four: 0,
attribute_die_three: 0,
attribute_die_two: 0,
attribute_die_one: 0,
negative_die_one: 0,
negative_die_two: 0,
negative_die_three: 0,
skill_die_ten: 0,
skill_die_nine: 0,
skill_die_eight: 0,
skill_die_seven: 0,
skill_die_six: 0,
skill_die_five: 0,
skill_die_four: 0,
skill_die_three: 0,
skill_die_two: 0,
skill_die_one: 0,
gear_die_twelve: 0,
gear_die_eleven: 0,
gear_die_ten: 0,
gear_die_nine: 0,
gear_die_eight: 0,
gear_die_seven: 0,
gear_die_six: 0,
gear_die_five: 0,
gear_die_four: 0,
gear_die_three: 0,
gear_die_two: 0,
gear_die_one: 0,
artifact_die_eight: 0,
artifact_die_ocho: 0,
artifact_die_ten: 0,
artifact_die_twelve: 0,
current_preset: getTranslationByKey(`custom-roll`),
include_with_roll: ''
});
});
/* api dice toggle */
on("clicked:api_dice_toggle", function () {
clog('Change Detected: API Dice Toggle - button clicked');
getAttrs(['api_toggle'], function (values) {
const api_toggle = int(values.api_toggle);
let buttonState = api_toggle;
if (buttonState !== 0) {
buttonState = 0
} else {
buttonState = 1
}
setAttrs({
api_toggle: buttonState
});
});
});
/* set reputation total */
on('sheet:opened change:age change:reputation', function() {
clog('Change Detected: Reputation - recalculating total');
getAttrs(['age', 'reputation', 'reputation_total'], function (values) {
const age = values.age,
reputation = int(values.reputation);
let ageNum = 0;
if (age==="young") {
ageNum = 0;
}
if (age==="adult") {
ageNum = 1;
}
if (age==="old") {
ageNum = 2;
}
let reputation_total = ageNum + reputation;
setAttrs({
reputation_total: reputation_total
});
clog('reputation_total: ' + reputation_total);
});
});
/* set reputation dice pool */
on("clicked:reputation-roll", function () {
clog('Change Detected: Reputation - button clicked');
getAttrs(['reputation_total'], function (values) {
const reputation_total = int(values.reputation_total);
setAttrs({
attribute: 0,
skill: reputation_total,
gear: 0,
current_preset: getTranslationByKey(`reputation-roll`),
include_with_roll: "{{attribute-die-one}}" //hides the dice column footer
});
});
});
/* set weapon dice pool */
on("clicked:repeating_weapons:attack-roll", function () {
clog('Change Detected: Weapon Attack - button clicked');
getAttrs(['repeating_weapons_weapon_name', 'repeating_weapons_weapon_skill', 'repeating_weapons_weapon_base_total', 'repeating_weapons_weapon_skill_misc', 'repeating_weapons_weapon_skill_total', 'repeating_weapons_weapon_bonus', 'repeating_weapons_weapon_bonus_max','repeating_weapons_weapon_bonus_misc', 'repeating_weapons_weapon_bonus_total', 'repeating_weapons_weapon_damage', 'repeating_weapons_weapon_damage_misc', 'repeating_weapons_weapon_damage_total', 'repeating_weapons_weapon_range', 'repeating_weapons_weapon_features', 'strength_total', 'agility_total', 'marksmanship', 'melee', 'repeating_weapons_weapon_artifact_die_ocho', 'repeating_weapons_weapon_artifact_die_eight', 'repeating_weapons_weapon_artifact_die_ten', 'repeating_weapons_weapon_artifact_die_twelve'], function (values) {
const weapon_name = values.repeating_weapons_weapon_name,
weapon_base_total = int(values.repeating_weapons_weapon_base_total),
weapon_bonus = int(values.repeating_weapons_weapon_bonus),
weapon_bonus_misc = int(values.repeating_weapons_weapon_bonus_misc),
weapon_bonus_max = int(values.repeating_weapons_weapon_bonus_max),
weapon_bonus_total = int(values.repeating_weapons_weapon_bonus_total),
weapon_skill_total = int(values.repeating_weapons_weapon_skill_total),
weapon_damage = int(values.repeating_weapons_weapon_damage),
weapon_damage_misc = int(values.repeating_weapons_weapon_damage_misc),
weapon_range = values.repeating_weapons_weapon_range,
weapon_features = values.repeating_weapons_weapon_features,
weapon_artifact_die_ocho = int(values.repeating_weapons_weapon_artifact_die_ocho),
weapon_artifact_die_eight = int(values.repeating_weapons_weapon_artifact_die_eight),
weapon_artifact_die_ten = int(values.repeating_weapons_weapon_artifact_die_ten),
weapon_artifact_die_twelve = int(values.repeating_weapons_weapon_artifact_die_twelve);
setAttrs({
attribute: weapon_base_total,
skill: weapon_skill_total,
gear: weapon_bonus_total,
artifact_die_ocho: weapon_artifact_die_ocho,
artifact_die_eight: weapon_artifact_die_eight,
artifact_die_ten: weapon_artifact_die_ten,
artifact_die_twelve: weapon_artifact_die_twelve,
current_preset: getTranslationByKey(`attack`) + ` - ${weapon_name}`,
include_with_roll: `{{weapon-bonus=${weapon_bonus}}} {{weapon-bonus-max=${weapon_bonus_max}}} {{weapon-bonus-misc=${weapon_bonus_misc}}} {{weapon-damage=${weapon_damage}}} {{weapon-damage-misc=${weapon_damage_misc}}} {{weapon-range=${weapon_range}}} {{weapon-features=${weapon_features}}}`
});
});
});
/* set weapon parry dice pool */
on("clicked:repeating_weapons:attack-parry-roll", function () {
clog('Change Detected: Weapon Parry - button clicked');
getAttrs(['repeating_weapons_weapon_name', 'repeating_weapons_weapon_skill', 'repeating_weapons_weapon_base_total', 'repeating_weapons_weapon_skill_misc', 'repeating_weapons_weapon_skill_total', 'repeating_weapons_weapon_bonus', 'repeating_weapons_weapon_bonus_max','repeating_weapons_weapon_bonus_misc', 'repeating_weapons_weapon_bonus_total', 'repeating_weapons_weapon_damage', 'repeating_weapons_weapon_damage_misc', 'repeating_weapons_weapon_damage_total', 'repeating_weapons_weapon_range', 'repeating_weapons_weapon_features', 'strength_total', 'agility_total', 'marksmanship', 'melee', 'repeating_weapons_weapon_artifact_die_ocho', 'repeating_weapons_weapon_artifact_die_eight', 'repeating_weapons_weapon_artifact_die_ten', 'repeating_weapons_weapon_artifact_die_twelve'], function (values) {
const weapon_name = values.repeating_weapons_weapon_name,
weapon_base_total = int(values.repeating_weapons_weapon_base_total),
weapon_bonus = int(values.repeating_weapons_weapon_bonus),
weapon_bonus_max = int(values.repeating_weapons_weapon_bonus_max),
weapon_bonus_misc = int(values.repeating_weapons_weapon_bonus_misc),
weapon_bonus_total = int(values.repeating_weapons_weapon_bonus_total),
weapon_skill_total = int(values.repeating_weapons_weapon_skill_total),
weapon_damage = int(values.repeating_weapons_weapon_damage),
weapon_damage_misc = int(values.repeating_weapons_weapon_damage_misc),
weapon_features = values.repeating_weapons_weapon_features,
weapon_artifact_die_ocho = int(values.repeating_weapons_weapon_artifact_die_ocho),
weapon_artifact_die_eight = int(values.repeating_weapons_weapon_artifact_die_eight),
weapon_artifact_die_ten = int(values.repeating_weapons_weapon_artifact_die_ten),
weapon_artifact_die_twelve = int(values.repeating_weapons_weapon_artifact_die_twelve);
setAttrs({
attribute: weapon_base_total,
skill: weapon_skill_total,
gear: weapon_bonus_total,
artifact_die_ocho: weapon_artifact_die_ocho,
artifact_die_eight: weapon_artifact_die_eight,
artifact_die_ten: weapon_artifact_die_ten,
artifact_die_twelve: weapon_artifact_die_twelve,
current_preset: getTranslationByKey(`parry`) + ` - ${weapon_name}`,
include_with_roll: `{{weapon-bonus=${weapon_bonus}}} {{weapon-bonus-max=${weapon_bonus_max}}} {{weapon-bonus-misc=${weapon_bonus_misc}}} {{weapon-damage=${weapon_damage}}} {{weapon-damage-misc=${weapon_damage_misc}}} {{weapon-range=^{arms-length-abbr}}} {{weapon-features=${weapon_features}}}`
});
});
});
/* Monster attacks dice pool */
on("clicked:repeating_monster:monster-attack-roll", function () {
clog('Change Detected: Monster Attack - button clicked');
getAttrs(['repeating_monster_attack_name', 'repeating_monster_attack_dice', 'repeating_monster_attack_damage', 'repeating_monster_attack_features', 'repeating_monster_attack_range', 'repeating_monster_attack_description'], function (values) {
const monster_attack_name = values.repeating_monster_attack_name,
monster_attack_dice = int(values.repeating_monster_attack_dice),
monster_attack_damage = int(values.repeating_monster_attack_damage),
monster_attack_features = values.repeating_monster_attack_features,
monster_attack_range = values.repeating_monster_attack_range,
monster_attack_description = values.repeating_monster_attack_description,
attribute = monster_attack_dice;
setAttrs({
attribute: attribute,
skill: 0,
gear: 0,
current_preset: getTranslationByKey(`attack`) + ` - ${monster_attack_name}`,
include_with_roll: `{{weapon-damage=${monster_attack_damage}}} {{attack-features=${monster_attack_features}}} {{weapon-range=${monster_attack_range}}} {{attack-description=${monster_attack_description}}}`
});
});
});
/* set spell dice pool */
on("clicked:repeating_spells:spell-roll", function () {
clog('Change Detected: Spell - button clicked');
getAttrs(['repeating_spells_spell_name', 'repeating_spells_spell_rank', 'repeating_spells_spell_range', 'repeating_spells_spell_duration', 'repeating_spells_spell_ingredients', 'repeating_spells_spell_description', 'repeating_spells_spell_willpower', 'willpower'], function (values) {
const spell_name = values.repeating_spells_spell_name,
spell_rank = int(values.repeating_spells_spell_rank),
spell_willpower = int(values.repeating_spells_spell_willpower),
spell_range = values.repeating_spells_spell_range,
spell_duration = values.repeating_spells_spell_duration,
spell_ingredients = values.repeating_spells_spell_ingredients,
spell_description = values.repeating_spells_spell_description,
willpower = int(values.willpower)
setAttrs({
attribute: spell_willpower,
skill: 0,
gear: 0,
current_preset: getTranslationByKey(`spell`) + ` - ${spell_name}`,
include_with_roll: `{{willpower-total=${willpower}}} {{spell-rank=${spell_rank}}} {{spell-willpower=${spell_willpower}}} {{spell-range=${spell_range}}} {{spell-duration=${spell_duration}}} {{spell-ingredients=${spell_ingredients}}} {{spell-description=${spell_description}}}`
});
});
});
/* set armor artifact dice */
on("sheet:opened change:armor1_artifact_die_ocho change:armor1_artifact_die_eight change:armor1_artifact_die_ten change:armor1_artifact_die_twelve change:armor2_artifact_die_ocho change:armor2_artifact_die_eight change:armor2_artifact_die_ten change:armor2_artifact_die_twelve change:armor1_equiped change:armor2_equiped", function () {
clog('Change Detected: Armor - Artifact dice');
getAttrs(['armor_artifact_die_ocho', 'armor_artifact_die_eight', 'armor_artifact_die_ten', 'armor_artifact_die_twelve', 'armor1_artifact_die_ocho', 'armor1_artifact_die_eight', 'armor1_artifact_die_ten', 'armor1_artifact_die_twelve', 'armor2_artifact_die_ocho', 'armor2_artifact_die_eight', 'armor2_artifact_die_ten', 'armor2_artifact_die_twelve', 'armor1_equiped', 'armor2_equiped'], function (values) {
const armor1_equiped = int(values.armor1_equiped),
armor2_equiped = int(values.armor2_equiped),
armor1_artifact_die_ocho = int(values.armor1_artifact_die_ocho),
armor1_artifact_die_eight = int(values.armor1_artifact_die_eight),
armor1_artifact_die_ten = int(values.armor1_artifact_die_ten),
armor1_artifact_die_twelve = int(values.armor1_artifact_die_twelve),
armor2_artifact_die_ocho = int(values.armor2_artifact_die_ocho),
armor2_artifact_die_eight = int(values.armor2_artifact_die_eight),
armor2_artifact_die_ten = int(values.armor2_artifact_die_ten),
armor2_artifact_die_twelve = int(values.armor2_artifact_die_twelve),
artifact_die_ocho = Math.min(1, Math.max(0, armor1_equiped*(armor1_artifact_die_ocho) + armor2_equiped*(armor2_artifact_die_ocho) )),
artifact_die_eight = Math.min(1, Math.max(0, armor1_equiped*(armor1_artifact_die_eight) + armor2_equiped*(armor2_artifact_die_eight) )),
artifact_die_ten = Math.min(1, Math.max(0, armor1_equiped*(armor1_artifact_die_ten) + armor2_equiped*(armor2_artifact_die_ten) )),
artifact_die_twelve = Math.min(1, Math.max(0, armor1_equiped*(armor1_artifact_die_twelve) + armor2_equiped*(armor2_artifact_die_twelve) ));
setAttrs({
armor_artifact_die_ocho: artifact_die_ocho,
armor_artifact_die_eight: artifact_die_eight,
armor_artifact_die_ten: artifact_die_ten,
armor_artifact_die_twelve: artifact_die_twelve
});
});
});
/* set armor dice pool */
on("clicked:armor-roll", function () {
clog('Change Detected: Armor - button clicked');
getAttrs(['ar', 'armor_artifact_die_ocho', 'armor_artifact_die_eight', 'armor_artifact_die_ten', 'armor_artifact_die_twelve', 'armor1_name', 'armor1_bonus', 'armor1_bonus_max', 'armor1_damage', 'armor1_ar', 'armor2_name', 'armor2_bonus', 'armor2_bonus_max', 'armor2_damage', 'armor2_ar'], function (values) {
const ar = int(values.ar),
armor1_name = values.armor1_name,
armor1_bonus = int(values.armor1_bonus),
armor1_bonus_max = int(values.armor1_bonus_max),
armor1_damage = int(values.armor1_damage),
armor1_ar = int(values.armor1_ar),
armor2_name = values.armor2_name,
armor2_bonus = int(values.armor2_bonus),
armor2_bonus_max = int(values.armor2_bonus_max),
armor2_damage = int(values.armor2_damage),
armor2_ar = int(values.armor2_ar),
armor_artifact_die_ocho = int(values.armor_artifact_die_ocho),
armor_artifact_die_eight = int(values.armor_artifact_die_eight),
armor_artifact_die_ten = int(values.armor_artifact_die_ten),
armor_artifact_die_twelve = int(values.armor_artifact_die_twelve);
setAttrs({
attribute: 0,
skill: 0,
gear: ar,
artifact_die_ocho: armor_artifact_die_ocho,
artifact_die_eight: armor_artifact_die_eight,
artifact_die_ten: armor_artifact_die_ten,
artifact_die_twelve: armor_artifact_die_twelve,
current_preset: getTranslationByKey(`armor-roll`),
include_with_roll: `{{armor1-name=${armor1_name}}} {{armor1-rating=${armor1_bonus}}} {{armor1-rating-max=${armor1_bonus_max}}} {{armor1-rating-misc=${armor1_damage}}} {{armor1-rating-total=${armor1_ar}}} {{armor2-name=${armor2_name}}} {{armor2-rating=${armor2_bonus}}} {{armor2-rating-max=${armor2_bonus_max}}} {{armor2-rating-misc=${armor2_damage}}} {{armor2-rating-total=${armor2_ar}}}`
});
});
});
/* set shield dice pool */
on("clicked:shield-roll", function () {
clog('Change Detected: Shield Parry - button clicked');
getAttrs(['shield1_bonus_total', 'melee', 'strength_total', 'shield1_name', 'shield1_artifact_die_ocho', 'shield1_artifact_die_eight', 'shield1_artifact_die_ten', 'shield1_artifact_die_twelve'], function (values) {
const skill = int(values.melee),
strength = int(values.strength_total),
shield1_bonus_total = int(values.shield1_bonus_total),
shield1_name = values.shield1_name,
shield1_artifact_die_ocho = int(values.shield1_artifact_die_ocho),
shield1_artifact_die_eight = int(values.shield1_artifact_die_eight),
shield1_artifact_die_ten = int(values.shield1_artifact_die_ten),
shield1_artifact_die_twelve = int(values.shield1_artifact_die_twelve);
setAttrs({
attribute: strength,
skill: skill,
gear: shield1_bonus_total,
artifact_die_ocho: shield1_artifact_die_ocho,
artifact_die_eight: shield1_artifact_die_eight,
artifact_die_ten: shield1_artifact_die_ten,
artifact_die_twelve: shield1_artifact_die_twelve,
current_preset: getTranslationByKey(`parry`) + ` - ${shield1_name}`,
include_with_roll: ""
});
});
});
on("clicked:shield-shove-roll", function () {
clog('Change Detected: Shield Shove - button clicked');
getAttrs(['shield1_bonus_total', 'melee', 'strength_total', 'shield1_name', 'shield1_artifact_die_ocho', 'shield1_artifact_die_eight', 'shield1_artifact_die_ten', 'shield1_artifact_die_twelve'], function (values) {
const skill = int(values.melee),
strength = int(values.strength_total),
shield1_bonus_total = int(values.shield1_bonus_total),
shield1_name = values.shield1_name,
shield1_artifact_die_ocho = int(values.shield1_artifact_die_ocho),
shield1_artifact_die_eight = int(values.shield1_artifact_die_eight),
shield1_artifact_die_ten = int(values.shield1_artifact_die_ten),
shield1_artifact_die_twelve = int(values.shield1_artifact_die_twelve);
setAttrs({
attribute: strength,
skill: skill,
gear: shield1_bonus_total,
artifact_die_ocho: shield1_artifact_die_ocho,
artifact_die_eight: shield1_artifact_die_eight,
artifact_die_ten: shield1_artifact_die_ten,
artifact_die_twelve: shield1_artifact_die_twelve,
current_preset: getTranslationByKey(`shove`) + ` - ${shield1_name}`,
include_with_roll: ""
});
});
});
/* set armor and shield calcs */
on("change:armor1_equiped change:armor1_damage change:armor1_bonus change:armor2_equiped change:armor2_damage change:armor2_bonus change:shield1_equiped change:shield1_bonus change:shield1_bonus_max change:shield1_bonus_misc", function () {
clog('Change Detected: Armor/Helmet/Shield');
getAttrs(['armor1_equiped', 'armor1_damage', 'armor1_bonus', 'armor1_bonus_max', 'armor2_equiped', 'armor2_damage', 'armor2_bonus', 'armor2_bonus_max', 'shield1_equiped', 'shield1_bonus', 'shield1_bonus_misc', 'shield1_bonus_max'], function (values) {
const armor1_equiped = int(values["armor1_equiped"]),
armor1_damage = int(values["armor1_damage"]),
armor1_bonus = int(values["armor1_bonus"]),
armor1_bonus_max = int(values["armor1_bonus_max"]),
armor1_bonusCap = Math.min(armor1_bonus, armor1_bonus_max), //prevents inputing a higher bonus than the bonus_max value
armor2_equiped = int(values["armor2_equiped"]),
armor2_damage = int(values["armor2_damage"]),
armor2_bonus = int(values["armor2_bonus"]),
armor2_bonus_max = int(values["armor2_bonus_max"]),
armor2_bonusCap = Math.min(armor2_bonus, armor2_bonus_max), //prevents inputing a higher bonus than the bonus_max value
equiped = int(values.shield1_equiped),
shield1_bonus = int(values.shield1_bonus),
shield1_bonus_misc = int(values.shield1_bonus_misc),
shield1_bonus_max = int(values.shield1_bonus_max),
shield1_bonusCap = Math.min(shield1_bonus, shield1_bonus_max), //prevents inputing a higher bonus than the bonus_max value
shield1_bonus_total = Math.max((equiped * (shield1_bonusCap + shield1_bonus_misc))),
tempShield1Total = Math.max(shield1_bonus_total,0), //prevents negative values
tempAR1 = Math.max((armor1_equiped * Math.max((armor1_bonusCap + armor1_damage),0))),
tempAR2 = Math.max((armor2_equiped * Math.max((armor2_bonusCap + armor2_damage),0))),
tempAR = Math.max((tempAR1 + tempAR2),0);
setAttrs({
"armor1_ar": tempAR1,
"armor2_ar": tempAR2,
"ar": tempAR,
"armor1_bonus": armor1_bonusCap, //applies cap based on the bonus_max value
"armor2_bonus": armor2_bonusCap, //applies cap based on the bonus_max value
"shield1_bonus": shield1_bonusCap, //applies cap based on the bonus_max value
"shield1_bonus_total": tempShield1Total
});
});
});
/* Mount/Beast Carry calcs */
const carry = (strength, mounted) => strength * 4 / (mounted + 1);
on("change:mounted change:mount_strength", function () {
clog('Change Detected: Mounted/Unmounted');
getAttrs(['mounted', 'mount_strength'], function (values) {
const mounted = int(values["mounted"]),
strength = int(values["mount_strength"]),
Carry = carry(strength, mounted);
setAttrs({
"mount_carry": Carry
});
});
});
on("change:repeating_beasts", function () {
clog('Change Detected: Beasts Check Carry Calculation');
getAttrs(['repeating_beasts_beast_mounted', 'repeating_beasts_beast_strength'], function (values) {
const mounted = int(values["repeating_beasts_beast_mounted"]),
strength = int(values["repeating_beasts_beast_strength"]),
Carry = carry(strength, mounted);
setAttrs({
"repeating_beasts_beast_carry": Carry
});
});
});
/* Broken Indicator flags*/
// first create am array listing all 4 stats
const stats = ['strength', 'agility', 'wits', 'empathy'];
/* Update the Dice Pool indicator */
on("clicked:dice_pool_crafting_monster clicked:dice_pool_might_monster clicked:dice_pool_endurance_monster clicked:dice_pool_melee_monster clicked:dice_pool_stealth clicked:dice_pool_sleight_of_hand clicked:dice_pool_move clicked:dice_pool_marksmanship clicked:dice_pool_scouting clicked:dice_pool_lore clicked:dice_pool_survival clicked:dice_pool_insight clicked:dice_pool_manipulation clicked:dice_pool_performance clicked:dice_pool_healing clicked:dice_pool_animal_handling clicked:reputation-roll clicked:repeating_weapons:attack-roll clicked:repeating_monster:monster-attack-roll clicked:repeating_spells:spell-roll clicked:armor-roll clicked:shield-roll clicked:shield-shove-roll", function () {
clog('Change Detected: Update Dice Pool');
getAttrs(['roll_the_dice_flag'], function (values) {
const flag = int(values.roll_the_dice_flag);
setAttrs({
roll_the_dice_flag: 1 - flag
});
});
});
on('sheet:opened change:roll_the_dice_flag', function (event) {
clog('Change Detected: resetting roll_the_dice_flag to zero');
const flag = int(event.newValue) || 0; // you dont need to include the ,10
if (flag === 1) setAttrs({
roll_the_dice_flag: 0
}, {
silent: true
});
});
/* translate push query */
on('sheet:opened', function () {
getAttrs(['translation_push_query'], v => {
if (v.translation_push_query !== getTranslationByKey('push-query')) {
setAttrs({
translation_push_query: getTranslationByKey('push-query')
});
}
});
});
// attribute and skill maximum
// function which takes an attribute name, its score, and its max, and checks the score is valid.
// if not, resets its value.
const checkMax = (stat, score, max) => {
const settings = {};
if (score > max) {
settings[stat] = max;
} else if (score < 0) {
settings[stat] = 0;
}
return settings;
};
stats.forEach(stat => {
on(`change:${stat} change:tab`, function () {
getAttrs([stat, 'tab'], function (values) {
const total = int(values[stat]);
const tab = int(values.tab);
const max = (tab === 3 && stat === 'strength_monster') ? 6 : 48;
// const max = 48;
const settings = checkMax(stat, total, max);
if (settings) setAttrs(settings);
});
});
});
Object.keys(attributes).forEach(stat => {
on(`change:${stat}`, function () {
getAttrs([stat], function (values) {
const total = int(values[stat]);
const max = pools.skill.max;
const settings = checkMax(stat, total, max);
if (settings) setAttrs(settings);
});
});
});
/* Update attributes total max */
on('sheet:opened change:strength_total', function () {
clog('Change Detected: strength_total has changed');
getAttrs(['strength', 'strength_total_max'], function (values) {
const strength = int(values.strength);
setAttrs({
"strength_total_max": strength
});
});
});
on('sheet:opened change:agility_total', function () {
clog('Change Detected: agility_total has changed');
getAttrs(['agility', 'agility_total_max'], function (values) {
const agility = int(values.agility);
setAttrs({
"agility_total_max": agility
});
});
});
on('sheet:opened change:wits_total', function () {
clog('Change Detected: wits_total has changed');
getAttrs(['wits', 'wits_total_max'], function (values) {
const wits = int(values.wits);
setAttrs({
"wits_total_max": wits
});
});
});
on('sheet:opened change:empathy_total', function () {
clog('Change Detected: empathy_total has changed');
getAttrs(['empathy', 'empathy_total_max'], function (values) {
const empathy = int(values.empathy);
setAttrs({
"empathy_total_max": empathy
});
});
});
</script>
<!--
i18n-tags generated with ACSI V0.32 (Automated Character Sheet Internationalizer) ACSI author: https://github.com/Anduh ACSI Sourcecode: https://github.com/Anduh/acsi
-->