Files
roll20-character-sheets/Mutant Year Zero/mutantyearzero.html
T

7182 lines
454 KiB
HTML

<input class="hidden allow-scaling" type="checkbox" name="attr_allowscaling" value="1" hidden readonly />
<div class="year-zero-sheet">
<!--5/31/20 set data version manually with currentVersion IN SHEETWORKERS -->
<input type="hidden" name="attr_version" value="0" />
<!--6/21/21 set sheet version manually with currentVersion HERE -->
<input type="hidden" name="attr_sheetversion" value="3.10" />
<!--6/21/21 sets indicator of new sheet HERE -->
<input type="hidden" name="attr_is_new_character" value="1" />
<!--6/21/21 sets verbose debugging, if implemented -->
<input type="hidden" name="attr_verbose_logging" value="0" />
<!-- Sheet visibility and behavioural attributes -->
<input class="tab" type="hidden" name="attr_tab" value="character">
<input class="hidden attr-chartype-selected" name="attr_chartype" value="(@{chartype})" type="hidden" hidden readonly />
<input class="hidden header-bgimg" type="checkbox" name="attr_header-bgimg" value="1" hidden readonly />
<input class="hidden adv-modifiers" type="checkbox" name="attr_adv-modifiers" value="1" hidden readonly />
<input class="hidden adv-monsterinfo" type="checkbox" name="attr_force_show_monsterinfo" value="1" hidden readonly />
<button class="hidden" type="action" name="act_push"></button>
<!-- LOGO -->
<div class="logo" title="MUTANT YEAR ZERO" data-i18n-title="logo-myz">
<span class="logo-image lang-sv"></span>
</div>
<!--tabs
<span class="separator-m">&nbsp;</span>
<input class="tab character" name="attr_tab" data-i18n-title="character" title="Character" type="radio" value="1" checked />
<input class="tab ark" name="attr_tab" data-i18n-title="ark" title="Ark" type="radio" value="2" />
<input class="tab monster_only" name="attr_tab" data-i18n-title="npc-monster" title="NPC/Monster" type="radio" value="3" />
<select class="input-text select-chartype" name="attr_chartype" value="">
<option value="Character Type" data-i18n="chartype" value="Mutant" selected hidden disabled>Character type</option>
<option class="character-type" value="Mutant" data-i18n="mutant">Mutant</option>
<option class="character-type" value="Animal" data-i18n="animal">Animal</option>
<option class="character-type" value="Robot" data-i18n="robot">Robot</option>
<option class="character-type" value="Human" data-i18n="human">Human</option>
</select>
<input class="tab settings" name="attr_tab" data-i18n-title="settings" title="Settings" type="radio" value="5" />
-->
<!--tabs-->
<div class="grid-tabs">
<button class="tab character" data-i18n="character" title="Character" name="act_tab_character" type="action">Character</button>
<button class="tab ark" data-i18n="ark" name="act_tab_ark" title="Ark" type="action">Ark</button>
<button class="tab zonelog" data-i18n="zone-log" name="act_tab_zonelog" title="Zone Log" type="action">Zone Log</button>
<button class="tab monster" data-i18n="monster" name="act_tab_monster" title="Monster" type="action">Monster</button>
<select class="input-text select-chartype" name="attr_chartype" value="">
<option class="character-type" value="Mutant" data-i18n="chartype" selected hidden disabled style="background-color: rgb(160, 14, 14);">Type</option>
<option class="character-type" value="Mutant" data-i18n="mutant">Mutant</option>
<option class="character-type" value="Animal" data-i18n="animal">Animal</option>
<option class="character-type" value="Robot" data-i18n="robot">Robot</option>
<option class="character-type" value="Human" data-i18n="human">Human</option>
</select>
<button class="tab settings" data-i18n-title="settings" name="act_tab_settings" title="Settings" type="action" value="5"></button>
<!--img alt="Mutant Year Zero" src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Mutant%20Year%20Zero/images/logo.jpg"-->
</div>
<div class="wrapper tab-content character">
<div class="character-grid">
<div class="character-heading box toggle-pc-only chartype-background-light">
<div class="heading-grid">
<div class="heading-box heading-box1">
<span class="label" data-i18n="name">Name</span><br>
<input class="input input-center" type="text" name="attr_character_name" value="" title="@{character_name}" />
</div>
<div class="heading-box heading-box3 char-human">
<span class="label" data-i18n="house">House</span><br>
<input class="input input-center" type="text" name="attr_house" value="" title="@{house}" />
</div>
<div class="heading-box heading-box3 char-animal">
<span class="label" data-i18n="animaltype">Animal Type</span><br>
<select class="input input-center" name="attr_animal_type" value="Animal type" title="@{animal_type}">
<option value="animaltype" data-i18n="animaltype" selected disabled hidden >Animal type</option>
<option value="dogs" data-i18n="dogs">Dogs</option>
<option value="cats" data-i18n="cats">Cats</option>
<option value="rats" data-i18n="rats">Rats</option>
<option value="bears" data-i18n="bears">Bears</option>
<option value="apes" data-i18n="apes">Apes</option>
<option value="rabbits" data-i18n="rabbits">Rabbits</option>
<option value="badgers" data-i18n="badgers">Badgers</option>
<option value="reptiles" data-i18n="reptiles">Reptiles</option>
<option value="moose" data-i18n="moose">Moose</option>
<option value="other" data-i18n="other">Other</option>
</select>
</div>
<div class="heading-box heading-box3 char-animal">
<span class="label" data-i18n="species">Species</span><br>
<input class="input input-center" type="text" name="attr_species" value="" title="@{species}" />
</div>
<div class="heading-box heading-box4 char-robot">
<span class="label" data-i18n="model">Model</span><br>
<input class="input input-center" type="text" name="attr_model" value="" title="@{model}" />
</div>
<div class="heading-box heading-box5m char-mutant">
<span class="label" data-i18n="role">Role</span><br>
<input class="input input-center" type="text" name="attr_role" value="" title="@{role}" />
</div>
<div class="heading-box heading-box5 char-animal">
<span class="label" data-i18n="role">Role</span><br>
<input class="input input-center" type="text" name="attr_role" value="" title="@{role}" />
</div>
<div class="heading-box heading-box5 char-human">
<span class="label" data-i18n="profession">Profession</span><br>
<input class="input input-center" type="text" name="attr_profession" value="" title="@{profession}" />
</div>
<div class="heading-box heading-box6 char-robot">
<span class="label" data-i18n="personality">Personality</span><br>
<input class="input input-center" type="text" name="attr_personality" value="" title="@{personality}" />
</div>
<div class="heading-box heading-box7 char-human char-animal char-mutant">
<span class="label" data-i18n="age">Age</span><br>
<input type="number" class="input-number" name="attr_age" min="0" title="@{age}">
</div>
<div class="heading-box heading-box9 char-human">
<span class="label" data-i18n-title="reputation-title" data-i18n="reputation">Reputation</span><br>
<input type="number" class="input-number" name="attr_reputation" title="@{reputation}" />
</div>
<div class="heading-box heading-box9 char-robot">
<span class="label" data-i18n="hierarchy">Hierarchy</span><br>
<input type="number" class="input-number" name="attr_hierarchy" title="@{hierarchy}" />
</div>
<div class="heading-box heading-box9 char-animal">
<span class="label" data-i18n="rank">Rank</span><br>
<input type="number" class="input-number" name="attr_rank" title="@{rank}" />
</div>
</div>
</div>
<div class="character-attributes monster-grid chartype-background-dark box">
<!--Monster Stats-->
<div class="monster monster-stat1 toggle-monster-only">
<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>
<div class="attributes-grid monster-grid chartype-background-dark">
<div class="attributes-box1 toggle-pc-only header">
<h1 data-i18n="attributes-u">ATTRIBUTES</h1>
</div> <!-- Broken Indicators -->
<input class="broken-str" type="hidden" name="attr_strength_total" value="0" />
<input class="broken-agi" type="hidden" name="attr_agility_total" value="0" />
<input class="broken-wit" type="hidden" name="attr_wits_total" value="0" />
<input class="broken-emp" type="hidden" name="attr_empathy_total" value="0" />
<div class="attributes-box2">
<button type="action" class="char-mutant char-animal char-human" data-i18n="strength" name="act_strength_roll" value="" data-i18n-title="update-dice-pool" title="Update the dice pool. Use the 'Roll' button to roll the dice.">
<!-- <span class="label broken-str" data-i18n="strength">Strength</span> -->
</button>
<button type="action" class="char-robot" name="act_servos_roll" data-i18n="servos" value="" data-i18n-title="update-dice-pool" title="Update the dice pool. Use the 'Roll' button to roll the dice.">
</button>
</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="1" />
<input class="input-number broken-str toggle-monster-only" type="number" name="attr_strength_monster" value="1" min="0" max="40" title="@{strength_monster}" />
<input class="input-number broken-str toggle-pc-only" type="number" name="attr_strength_pc" value="1" min="0" max="6" title="@{strength_pc}" />
</div>
<div class="attributes-box4">
<input class="broken-str" type="hidden" name="attr_strength" />
<input type="radio" name="attr_damage" value="0" data-i18n-title="no-damage" title="No Damage" checked />
<input class="skull biohaz" type="radio" name="attr_damage" value="1" title="1 @{damage}" /><span>&#x2623;</span>
<input class="skull biohaz" type="radio" name="attr_damage" value="2" title="2 @{damage}" /><span>&#x2623;</span>
<input class="skull biohaz" type="radio" name="attr_damage" value="3" title="3 @{damage}" /><span>&#x2623;</span>
<input class="skull biohaz" type="radio" name="attr_damage" value="4" title="4 @{damage}" /><span>&#x2623;</span><span class="break-at-four"><br /></span>
<input class="skull biohaz" type="radio" name="attr_damage" value="5" title="5 @{damage}" /><span>&#x2623;</span>
<input class="skull biohaz" type="radio" name="attr_damage" value="6" title="6 @{damage}" /><span>&#x2623;</span>
<input class="skull biohaz monster" type="radio" name="attr_damage" value="7" title="7 @{damage}" /><span>&#x2623;</span>
<input class="skull biohaz monster" type="radio" name="attr_damage" value="8" title="8 @{damage}" /><span>&#x2623;</span>
<input class="skull biohaz monster" type="radio" name="attr_damage" value="9" title="9 @{damage}" /><span>&#x2623;</span>
<input class="skull biohaz monster" type="radio" name="attr_damage" value="10" title="10 @{damage}" /><span>&#x2623;</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 biohaz monster" type="radio" name="attr_damage" value="11" title="11 @{damage}" /><span>&#x2623;</span>
<input class="skull biohaz monster" type="radio" name="attr_damage" value="12" title="12 @{damage}" /><span>&#x2623;</span>
<input class="skull biohaz monster" type="radio" name="attr_damage" value="13" title="13 @{damage}" /><span>&#x2623;</span>
<input class="skull biohaz monster" type="radio" name="attr_damage" value="14" title="14 @{damage}" /><span>&#x2623;</span>
<input class="skull biohaz monster" type="radio" name="attr_damage" value="15" title="15 @{damage}" /><span>&#x2623;</span>
<input class="skull biohaz monster" type="radio" name="attr_damage" value="16" title="16 @{damage}" /><span>&#x2623;</span>
<input class="skull biohaz monster" type="radio" name="attr_damage" value="17" title="17 @{damage}" /><span>&#x2623;</span>
<input class="skull biohaz monster" type="radio" name="attr_damage" value="18" title="18 @{damage}" /><span>&#x2623;</span>
<input class="skull biohaz monster" type="radio" name="attr_damage" value="19" title="19 @{damage}" /><span>&#x2623;</span>
<input class="skull biohaz monster" type="radio" name="attr_damage" value="20" title="20 @{damage}" /><span>&#x2623;</span>
<!--force line break for 3rd row of skulls
<div class="monster" style="width: 102%; height: 3px;">&nbsp;</div>
<span class="monster" style="width: 21px;"></span>-->
<!--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)" style="padding-top: 6px;" /-->
<input class="skull biohaz monster extra-damage-show" type="radio" name="attr_damage" value="21" title="21 @{damage}" /><span>&#x2623;</span>
<input class="skull biohaz monster extra-damage-show" type="radio" name="attr_damage" value="22" title="22 @{damage}" /><span>&#x2623;</span>
<input class="skull biohaz monster extra-damage-show" type="radio" name="attr_damage" value="23" title="23 @{damage}" /><span>&#x2623;</span>
<input class="skull biohaz monster extra-damage-show" type="radio" name="attr_damage" value="24" title="24 @{damage}" /><span>&#x2623;</span>
<input class="skull biohaz monster extra-damage-show" type="radio" name="attr_damage" value="25" title="25 @{damage}" /><span>&#x2623;</span>
<input class="skull biohaz monster extra-damage-show" type="radio" name="attr_damage" value="26" title="26 @{damage}" /><span>&#x2623;</span>
<input class="skull biohaz monster extra-damage-show" type="radio" name="attr_damage" value="27" title="27 @{damage}" /><span>&#x2623;</span>
<input class="skull biohaz monster extra-damage-show" type="radio" name="attr_damage" value="28" title="28 @{damage}" /><span>&#x2623;</span>
<input class="skull biohaz monster extra-damage-show" type="radio" name="attr_damage" value="29" title="29 @{damage}" /><span>&#x2623;</span>
<input class="skull biohaz monster extra-damage-show" type="radio" name="attr_damage" value="30" title="30 @{damage}" /><span>&#x2623;</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 biohaz monster extra-damage-show" type="radio" name="attr_damage" value="31" title="31 @{damage}" /><span>&#x2623;</span>
<input class="skull biohaz monster extra-damage-show" type="radio" name="attr_damage" value="32" title="32 @{damage}" /><span>&#x2623;</span>
<input class="skull biohaz monster extra-damage-show" type="radio" name="attr_damage" value="33" title="33 @{damage}" /><span>&#x2623;</span>
<input class="skull biohaz monster extra-damage-show" type="radio" name="attr_damage" value="34" title="34 @{damage}" /><span>&#x2623;</span>
<input class="skull biohaz monster extra-damage-show" type="radio" name="attr_damage" value="35" title="35 @{damage}" /><span>&#x2623;</span>
<input class="skull biohaz monster extra-damage-show" type="radio" name="attr_damage" value="36" title="36 @{damage}" /><span>&#x2623;</span>
<input class="skull biohaz monster extra-damage-show" type="radio" name="attr_damage" value="37" title="37 @{damage}" /><span>&#x2623;</span>
<input class="skull biohaz monster extra-damage-show" type="radio" name="attr_damage" value="38" title="38 @{damage}" /><span>&#x2623;</span>
<input class="skull biohaz monster extra-damage-show" type="radio" name="attr_damage" value="39" title="39 @{damage}" /><span>&#x2623;</span>
<input class="skull biohaz monster extra-damage-show" type="radio" name="attr_damage" value="40" title="40 @{damage}" /><span>&#x2623;</span>
</div>
<div class="attributes-box5">
<span class="input-span broken-str" name="attr_strength_total" value="1" title="@{strength_total}">1</span>
</div>
<div class="attributes-box6">
<button type="action" name="act_agility_roll" class="char-mutant char-animal char-human" data-i18n="agility" value="" data-i18n-title="update-dice-pool" title="Update the dice pool. Use the 'Roll' button to roll the dice.">
<!-- <span class="label broken-agi" data-i18n="agility" name="attr_agility_name">Agility</span> -->
</button>
<button type="action" class="char-robot" name="act_stability_roll" data-i18n="stability" value="" data-i18n-title="update-dice-pool" title="Update the dice pool. Use the 'Roll' button to roll the dice.">
</button>
</div>
<div class="attributes-box7">
<input class="input-number broken-agi" type="number" name="attr_agility" value="1" min="0" title="@{agility}" />
</div>
<div class="attributes-box8">
<input class="broken-agi" type="hidden" name="attr_agility" />
<input type="radio" name="attr_fatigue" value="0" style="margin: 4px 8px 3px 2px;" data-i18n-title="no-damage" title="No Damage" checked />
<input class="skull biohaz" type="radio" name="attr_fatigue" value="1" title="1 @{fatigue}" /><span>&#x2623;</span>
<input class="skull biohaz" type="radio" name="attr_fatigue" value="2" title="2 @{fatigue}" /><span>&#x2623;</span>
<input class="skull biohaz" type="radio" name="attr_fatigue" value="3" title="3 @{fatigue}" /><span>&#x2623;</span>
<input class="skull biohaz" type="radio" name="attr_fatigue" value="4" title="4 @{fatigue}" /><span>&#x2623;</span>
<input class="skull biohaz" type="radio" name="attr_fatigue" value="5" title="5 @{fatigue}" /><span>&#x2623;</span>
<input class="skull biohaz" type="radio" name="attr_fatigue" value="6" title="6 @{fatigue}" /><span>&#x2623;</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 biohaz monster" type="radio" name="attr_fatigue" value="7" title="7 @{fatigue}" /><span>&#x2623;</span>
<input class="skull biohaz monster" type="radio" name="attr_fatigue" value="8" title="8 @{fatigue}" /><span>&#x2623;</span>
<input class="skull biohaz monster" type="radio" name="attr_fatigue" value="9" title="9 @{fatigue}" /><span>&#x2623;</span>
<input class="skull biohaz monster" type="radio" name="attr_fatigue" value="10" title="10 @{fatigue}" /><span>&#x2623;</span>
<input class="skull biohaz monster" type="radio" name="attr_fatigue" value="11" title="11 @{fatigue}" /><span>&#x2623;</span>
<input class="skull biohaz monster" type="radio" name="attr_fatigue" value="12" title="12 @{fatigue}" /><span>&#x2623;</span>
</div>
<div class="attributes-box9">
<span class="input-span broken-agi" name="attr_agility_total" value="1" title="@{agility_total}">1</span>
</div>
<div class="attributes-box10">
<button type="action" name="act_wits_roll" class="char-mutant char-animal char-human" data-i18n="wits" value="" data-i18n-title="update-dice-pool" title="Update the dice pool. Use the 'Roll' button to roll the dice.">
<!-- <span class="label broken-wit" data-i18n="wits" name="attr_wits_name">Wits</span> -->
</button>
<button type="action" class="char-robot" name="act_processor_roll" data-i18n="processor" value="" data-i18n-title="update-dice-pool" title="Update the dice pool. Use the 'Roll' button to roll the dice.">
</button>
</div>
<div class="attributes-box11">
<input class="input-number broken-wit" type="number" name="attr_wits" value="1" min="0" title="@{wits}" />
</div>
<div class="attributes-box12">
<input class="broken-wit" type="hidden" name="attr_wits" />
<input type="radio" name="attr_confusion" value="0" style="margin: 4px 8px 3px 2px;" data-i18n-title="no-damage" title="No Damage" checked />
<input class="skull biohaz" type="radio" name="attr_confusion" value="1" title="1 @{confusion}" /><span>&#x2623;</span>
<input class="skull biohaz" type="radio" name="attr_confusion" value="2" title="2 @{confusion}" /><span>&#x2623;</span>
<input class="skull biohaz" type="radio" name="attr_confusion" value="3" title="3 @{confusion}" /><span>&#x2623;</span>
<input class="skull biohaz" type="radio" name="attr_confusion" value="4" title="4 @{confusion}" /><span>&#x2623;</span>
<input class="skull biohaz" type="radio" name="attr_confusion" value="5" title="5 @{confusion}" /><span>&#x2623;</span>
<input class="skull biohaz" type="radio" name="attr_confusion" value="6" title="6 @{confusion}" /><span>&#x2623;</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 biohaz monster" type="radio" name="attr_confusion" value="7" title="7 @{confusion}" /><span>&#x2623;</span>
<input class="skull biohaz monster" type="radio" name="attr_confusion" value="8" title="8 @{confusion}" /><span>&#x2623;</span>
<input class="skull biohaz monster" type="radio" name="attr_confusion" value="9" title="9 @{confusion}" /><span>&#x2623;</span>
<input class="skull biohaz monster" type="radio" name="attr_confusion" value="10" title="10 @{confusion}" /><span>&#x2623;</span>
<input class="skull biohaz monster" type="radio" name="attr_confusion" value="11" title="11 @{confusion}" /><span>&#x2623;</span>
<input class="skull biohaz monster" type="radio" name="attr_confusion" value="12" title="12 @{confusion}" /><span>&#x2623;</span>
</div>
<div class="attributes-box13">
<span class="input-span broken-wit" name="attr_wits_total" value="1" title="@{wits_total}">1</span>
</div>
<div class="attributes-box14">
<button type="action" name="act_empathy_roll" class="char-mutant char-human" data-i18n="empathy" value="" data-i18n-title="update-dice-pool" title="Update the dice pool. Use the 'Roll' button to roll the dice.">
<!-- <span class="label broken-emp" data-i18n="empathy" name="attr_empathy_name">Empathy</span> -->
</button>
<button type="action" class="char-animal" name="act_instinct_roll" data-i18n="instinct" value="" data-i18n-title="update-dice-pool" title="Update the dice pool. Use the 'Roll' button to roll the dice.">
</button>
<button type="action" class="char-robot" name="act_network_roll" data-i18n="network" value="" data-i18n-title="update-dice-pool" title="Update the dice pool. Use the 'Roll' button to roll the dice.">
</button>
</div>
<div class="attributes-box15">
<input class="input-number broken-emp" type="number" name="attr_empathy" value="1" min="0" title="@{empathy}" />
</div>
<div class="attributes-box16">
<input class="broken-emp" type="hidden" name="attr_empathy" />
<input type="radio" name="attr_doubt" value="0" style="margin: 4px 8px 3px 2px;" data-i18n-title="no-damage" title="No Damage" checked />
<input class="skull biohaz" type="radio" name="attr_doubt" value="1" title="1 @{doubt}" /><span>&#x2623;</span>
<input class="skull biohaz" type="radio" name="attr_doubt" value="2" title="2 @{doubt}" /><span>&#x2623;</span>
<input class="skull biohaz" type="radio" name="attr_doubt" value="3" title="3 @{doubt}" /><span>&#x2623;</span>
<input class="skull biohaz" type="radio" name="attr_doubt" value="4" title="4 @{doubt}" /><span>&#x2623;</span>
<input class="skull biohaz" type="radio" name="attr_doubt" value="5" title="5 @{doubt}" /><span>&#x2623;</span>
<input class="skull biohaz" type="radio" name="attr_doubt" value="6" title="6 @{doubt}" /><span>&#x2623;</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 biohaz monster" type="radio" name="attr_doubt" value="7" title="7 @{doubt}" /><span>&#x2623;</span>
<input class="skull biohaz monster" type="radio" name="attr_doubt" value="8" title="8 @{doubt}" /><span>&#x2623;</span>
<input class="skull biohaz monster" type="radio" name="attr_doubt" value="9" title="9 @{doubt}" /><span>&#x2623;</span>
<input class="skull biohaz monster" type="radio" name="attr_doubt" value="10" title="10 @{doubt}" /><span>&#x2623;</span>
<input class="skull biohaz monster" type="radio" name="attr_doubt" value="11" title="11 @{doubt}" /><span>&#x2623;</span>
<input class="skull biohaz monster" type="radio" name="attr_doubt" value="12" title="12 @{doubt}" /><span>&#x2623;</span>
</div>
<div class="attributes-box17">
<span class="input-span broken-emp" name="attr_empathy_total" value="1" title="@{empathy_total}">1</span>
</div>
</div>
<div class="conditions-grid toggle-pc-only chartype-background-dark">
<input class="hidden conditions-hungry" type="checkbox" name="attr_hungry" value="1" />
<div class="conditions-box conditions-box2 conditions-hungry"><input class="input xbox conditions-hungry" type="checkbox" name="attr_hungry" value="1" data-i18n-title="condition-hungry" title="Hungry" /><span></span></div>
<div class="conditions-box conditions-box3 conditions-hungry">
<span class="header-h1 conditions-hungry" data-i18n="hungry-condition">Starving</span>
</div>
<input class="hidden conditions-sleepy" type="checkbox" name="attr_sleepy" value="1" />
<div class="conditions-box conditions-box4 conditions-sleepy"><input class="input xbox conditions-sleepy" type="checkbox" name="attr_sleepy" value="1" data-i18n-title="condition-sleepy" title="Sleepy" /><span></span></div>
<div class="conditions-box conditions-box5 conditions-sleepy">
<span class="header-h1 conditions-sleepy" data-i18n="sleepy-condition">Sleepless</span>
</div>
<input class="hidden conditions-thirsty" type="checkbox" name="attr_thirsty" value="1" />
<div class="conditions-box conditions-box6 conditions-thirsty"><input class="input xbox conditions-thirsty" type="checkbox" name="attr_thirsty" value="1" data-i18n-title="condition-thirsty" title="Thirsty" /><span></span></div>
<div class="conditions-box conditions-box7 conditions-thirsty">
<span class="header-h1 conditions-thirsty" data-i18n="thirsty-condition">Dehydrated</span>
</div>
<input class="hidden conditions-cold" type="checkbox" name="attr_cold" value="1" />
<div class="conditions-box conditions-box8 conditions-cold"><input class="input xbox conditions-cold" type="checkbox" name="attr_cold" value="1" data-i18n-title="condition-cold" title="Cold" /><span></span></div>
<div class="conditions-box conditions-box9 conditions-cold">
<span class="header-h1 conditions-cold" data-i18n="cold-condition">Hypothermic</span>
</div>
</div>
</div>
<div class="monster-features box toggle-monster-only chartype-background-light">
<div class="monster-features-grid">
<div class="monster-features-box header">
<h1 data-i18n="monster-features-u">MONSTER FEATURES</h1>
</div>
<div class="monster-features-box1 column-header">
<span data-i18n="name">Name</span>
</div>
<div class="monster-features-box2 column-header">
<span data-i18n="features">Features</span>
</div>
<div class="monster-features-box3 column-header">
<span data-i18n="dice">Dice</span>
</div>
<div class="monster-features-box4 column-header">
<span data-i18n="damage-abbr">Dmg</span>
</div>
<div class="monster-features-box5 column-header">
<span data-i18n="range">Range</span>
</div>
<div class="monster-features-box6 column-header"></div>
<div class="monster-features-box8 repeating-fields">
<fieldset class="repeating_monster">
<div class="monster-features-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-features-box1 input" type="text" name="attr_attack_name" value="" title="@{repeating_monster_$X_attack_name}" data-i18n-placeholder="name" placeholder="Name" />
<input class="monster-features-box2 input-text" type="text" name="attr_attack_features" value="" title="@{repeating_monster_$X_attack_features}" />
<input class="monster-features-box3 input-number" type="number" name="attr_attack_dice" value="0" title="@{repeating_monster_$X_attack_dice}" />
<input class="monster-features-box4 input-number" type="number" name="attr_attack_damage" value="0" title="@{repeating_monster_$X_attack_damage}" />
<select class="monster-features-box5 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" data-i18n="arms-length-abbr" selected>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>
<button class="monster-features-box6 roll-button" type="action" name="act_monster-features-roll" data-i18n-title="update-dice-pool" title="Update the dice pool. Use the 'Roll' button to roll the dice.">
t
</button>
<textarea class="monster-features-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="character-appearance box toggle-pc-only chartype-background-light">
<div class="appearance-grid">
<div class="appearance-box appearance-box1 header">
<h1 data-i18n="appearance-u">APPEARANCE</h1>
</div>
<div class="appearance-box appearance-box2">
<span class="label char-mutant char-human char-animal" data-i18n="face">Face</span>
<span class="label char-robot" data-i18n="colour">Colour</span>
</div>
<div class="appearance-box appearance-box3">
<textarea class="input-textarea char-mutant char-human char-animal" name="attr_face" title="@{face}"></textarea>
<textarea class="input-textarea char-robot" name="attr_robot_colour" title="@{robot_colour}"></textarea>
</div>
<div class="appearance-box appearance-box4">
<span class="label char-mutant char-human char-animal" data-i18n="body">Body</span>
<span class="label char-robot" data-i18n="voice">Voice</span>
</div>
<div class="appearance-box appearance-box5">
<textarea class="input-textarea char-mutant char-human char-animal" name="attr_body" title="@{body}"></textarea>
<textarea class="input-textarea char-robot" name="attr_robot_voice" title="@{robot_voice}"></textarea>
</div>
<div class="appearance-box appearance-box6 ">
<span class="label char-mutant char-human char-animal" data-i18n="clothing">Clothing</span>
<span class="label char-robot" data-i18n="features">Features</span>
</div>
<div class="appearance-box appearance-box7">
<textarea class="input-textarea char-mutant char-human char-animal" name="attr_clothing" title="@{clothing}"></textarea>
<textarea class="input-textarea char-robot" name="attr_robot_features" title="@{robot_features}"></textarea>
</div>
<div class="character-chassis chassis-box chassis-box1 char-robot header">
<h1 data-i18n="chassisparts-u">CHASSIS PARTS</h1>
</div>
<div class="character-chassis chassis-box char-robot chassis-box2">
<div class="label" data-i18n="head">Head</div>
<input type="text" class="input-text" name="attr_chassis_head" title="@{chassis_head}">
</div>
<div class="character-chassis chassis-box char-robot chassis-box4">
<div class="label" data-i18n="torso">Torso</div>
<input type="text" class="input-text" name="attr_chassis_torso" title="@{chassis_torso}">
</div>
<div class="character-chassis chassis-box char-robot chassis-box6">
<div class="label" data-i18n="undercarriage">Undercarriage</div>
<input type="text" class="input-text" name="attr_chassis_under" title="@{chassis_under}">
</div>
</div>
</div>
<div class="character-injuries box toggle-pc-only chartype-background-light">
<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="heal-time">heal 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_heal_time" value="n/a" title="@{repeating_injuries_$X_injury_heal_time}" />
</div>
</fieldset>
</div>
<div class="injuries-box13">
<img alt="skull biohaz" src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/FBL%20skull.png" title="" style="position: absolute; height: 5em; width: 7em; margin: -2.8em 0 0 -2em;" />
</div>
</div>
</div>
<!-- <div class="character-skill-dice-box monster"> -->
<!--hidden skill attributes to be used as placeholder for currently selected skill-->
<!-- <input type="hidden" name="attr_skill_attribute_selected" value="" readonly />
<input type="hidden" name="attr_skill_bonus_misc_selected" value="" readonly />
<input type="hidden" name="attr_skill_bonus_misc_gear_selected" value="" readonly />
<input type="hidden" name="attr_skill_only_selected" value="" readonly />
<input type="hidden" name="attr_skill_notes_selected" value="" readonly /> -->
<!-- MONSTER DESCRIPTION-->
<div class="monster-description box chartype-background-light monster toggle-monster-only">
<div class="description-grid">
<div class="description-box description-box1 header">
<h1 data-i18n="description-u">DESCRIPTION</h1>
</div>
<div class="description-modifier description-box3">
<span data-i18n="know-the-zone-modifier">Know the zone modifier</span>
<input name="attr_ktzmod" type="number" value="0">
</div>
<div class="description-box description-box2">
<textarea class="input-textarea" name="attr_monster_description" title="@{monster_description}"></textarea>
</div>
</div>
</div>
<!-- SKILL GRID -->
<div class="character-skills box chartype-background-light monster">
<input type="checkbox" class="skill-order-group hidden" name="attr_skill_order_group" value="1" />
<div class="skills-grid" data-i18n-list="skills-list">
<span class="skills-header-row skills-row header">
<div class="skills-header-box skills-box1">
<h1 class="char-mutant-flex char-animal-flex char-human-flex" data-i18n="skills-u" name="attr_skill_name">SKILLS</h1>
<h1 class="char-robot-flex" data-i18n="programs-u" name="attr_skill_name">PROGRAMS</h1>
</div>
<div class="skills-box skills-box-base column-header">
<span data-i18n="attribute-abbr" data-i18n-title="attribute">Attr</span>
</div>
<div class="skills-box skills-box2 column-header">
<span data-i18n="skill-level-abbr" data-i18n-title="skill-level">Lvl</span>
</div>
<div class="skills-box skills-box3 column-header modifiers-toggled-on">
<span data-i18n="misc-skill-abbr" data-i18n-title="misc-skill">Mod</span>
</div>
<div class="skills-box skills-box4 column-header modifiers-toggled-on">
<span data-i18n="misc-gear-abbr" data-i18n-title="misc-gear">Gear</span>
</div>
<div class="skills-box skills-box5 column-header">
<span data-i18n="total-abbr" data-i18n-title="total">Total</span>
</div>
</span>
<span class="skills-row chartype-background-dark" data-i18n-list-item="endure">
<span class="skill-name char-mutant char-animal char-human" data-i18n="endure" data-i18n="endure">Endure</span>
<span class="small-caps skill-attribute char-mutant char-animal char-human" data-i18n="strength-abbr">Str</span>
<span class="skill-name char-robot" data-i18n="overload">Overload</span>
<span class="small-caps skill-attribute char-robot" data-i18n="servos-abbr">Srv</span>
<input class="input-number character-skill-level" type="number" name="attr_endure" value="0" min="0" title="@{endure}" />
<select class="input character-skill-mod modifiers-toggled-on" name="attr_endure_skill_misc" title="@{endure_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>
<select class="input character-skill-gear modifiers-toggled-on" name="attr_endure_gear_misc" title="@{endure_gear_misc}">
<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>
<button type="action" name="act_dice_pool_endure" class="char-mutant char-animal char-human" data-i18n-title="update-dice-pool" title="Update the dice pool. Use the 'Roll' button to roll the dice.">
<span class="readonly character-skill-total" name="attr_endure_total" value="0" title="@{endure_total}">0</span>
</button>
<button type="action" name="act_dice_pool_overload" class="char-robot" data-i18n-title="update-dice-pool" title="Update the dice pool. Use the 'Roll' button to roll the dice.">
<span class="readonly character-skill-total" name="attr_endure_total" value="0" title="@{endure_total}">0</span>
</button>
</span>
<span class="skills-row chartype-background-dark" data-i18n-list-item="force">
<span class="skill-name char-mutant char-animal char-human" data-i18n="force" name="attr_force_name">Force</span>
<span class="small-caps skill-attribute char-mutant char-animal char-human" name="attr_strength_abbr">Str</span>
<span class="skill-name char-robot" data-i18n="force-robot">Force</span>
<span class="small-caps skill-attribute char-robot" data-i18n="servos-abbr">Srv</span>
<input class="input-number" type="number" name="attr_force" value="0" min="0" title="@{force}" />
<select class="input character-skill-mod modifiers-toggled-on" name="attr_force_skill_misc" title="@{force_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>
<select class="input character-skill-gear modifiers-toggled-on" name="attr_force_gear_misc" title="@{force_gear_misc}">
<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>
<button type="action" name="act_dice_pool_force" class="char-mutant char-animal char-human" data-i18n-title="update-dice-pool" title="Update the dice pool. Use the 'Roll' button to roll the dice.">
<span class="readonly" name="attr_force_total" value="0" title="@{force_total}">0</span>
</button>
<button type="action" name="act_dice_pool_force_robot" class="char-robot" data-i18n-title="update-dice-pool" title="Update the dice pool. Use the 'Roll' button to roll the dice.">
<span class="readonly" name="attr_force_total" value="0" title="@{force_total}">0</span>
</button>
</span>
<span class="skills-row chartype-background-dark" data-i18n-list-item="fight">
<span class="skill-name char-mutant char-animal char-human" data-i18n="fight" name="attr_fight_name">Fight</span>
<span class="small-caps skill-attribute char-mutant char-animal char-human" name="attr_strength_abbr">Str</span>
<span class="skill-name char-robot" data-i18n="assault">Assault</span>
<span class="small-caps skill-attribute char-robot" data-i18n="servos-abbr">Srv</span>
<input class="input-number character-skill-level" type="number" name="attr_fight" value="0" min="0" title="@{fight}" />
<select class="input character-skill-mod modifiers-toggled-on" name="attr_fight_skill_misc" title="@{fight_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>
<select class="input character-skill-gear modifiers-toggled-on" name="attr_fight_gear_misc" title="@{fight_gear_misc}">
<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>
<button type="action" name="act_dice_pool_fight" class="char-mutant char-animal char-human" data-i18n-title="update-dice-pool" title="Update the dice pool. Use the 'Roll' button to roll the dice.">
<span class="readonly character-skill-total" name="attr_fight_total" value="0" title="@{fight_total}">0</span>
</button>
<button type="action" name="act_dice_pool_assault" class="char-robot" data-i18n-title="update-dice-pool" title="Update the dice pool. Use the 'Roll' button to roll the dice.">
<span class="readonly character-skill-total" name="attr_fight_total" value="0" title="@{fight_total}">0</span>
</button>
</span>
<span class="skills-row chartype-background-dark" data-i18n-list-item="sneak">
<span class="skill-name char-mutant char-animal char-human" data-i18n="sneak" name="attr_sneak_name">Sneak</span>
<span class="small-caps skill-attribute char-mutant char-animal char-human" name="attr_agility_abbr">Agi</span>
<span class="skill-name char-robot" data-i18n="infiltrate">Infiltrate</span>
<span class="small-caps skill-attribute char-robot" data-i18n="stability-abbr">Stb</span>
<input class="input-number character-skill-level" type="number" name="attr_sneak" value="0" min="0" title="@{sneak}" />
<select class="input character-skill-mod modifiers-toggled-on" name="attr_sneak_skill_misc" title="@{sneak_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>
<select class="input character-skill-gear modifiers-toggled-on" name="attr_sneak_gear_misc" title="@{sneak_gear_misc}">
<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>
<button type="action" name="act_dice_pool_sneak" class="char-mutant char-animal char-human" data-i18n-title="update-dice-pool" title="Update the dice pool. Use the 'Roll' button to roll the dice.">
<span class="readonly character-skill-total" name="attr_sneak_total" value="0" title="@{sneak_total}"></span>
</button>
<button type="action" name="act_dice_pool_infiltrate" class="char-robot" data-i18n-title="update-dice-pool" title="Update the dice pool. Use the 'Roll' button to roll the dice.">
<span class="readonly character-skill-total" name="attr_sneak_total" value="0" title="@{sneak_total}"></span>
</button>
<!-- expand 2nd row -->
<!--<input class="expand" type="checkbox" name="attr_expand_sneak" value="1" data-i18n-title="show-hide" title="show/hide" /><span></span>
<div class="sneak-row2 skills-row2">
<div class="skills-row2-header">
<div class="skills-box6 column-header"></div>
</div>
<div class="skills-row2-body">
<textarea class="skills-box6 input-textarea" name="attr_sneak_notes" data-i18n-placeholder="notes-text" placeholder="notes..." title="@{sneak_notes}"></textarea>
</div>
</div>-->
</span>
<span class="skills-row chartype-background-dark" data-i18n-list-item="move">
<span class="skill-name char-mutant char-animal char-human" data-i18n="move" name="attr_move_name">Move</span>
<span class="small-caps skill-attribute char-mutant char-animal char-human" name="attr_agility_abbr">Agi</span>
<span class="skill-name char-robot" data-i18n="move-robot">Move</span>
<span class="small-caps skill-attribute char-robot" data-i18n="stability-abbr">Stb</span>
<input class="input-number character-skill-level" type="number" name="attr_move" value="0" min="0" title="@{move}" />
<select class="input character-skill-mod modifiers-toggled-on" name="attr_move_skill_misc" title="@{move_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>
<select class="input character-skill-gear modifiers-toggled-on" name="attr_move_gear_misc" title="@{move_gear_misc}">
<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>
<button type="action" name="act_dice_pool_move" class="char-mutant char-animal char-human" data-i18n-title="update-dice-pool" title="Update the dice pool. Use the 'Roll' button to roll the dice.">
<span class="readonly character-skill-total" name="attr_move_total" value="0" title="@{move_total}">0</span>
</button>
<button type="action" name="act_dice_pool_move_robot" class="char-robot" data-i18n-title="update-dice-pool" title="Update the dice pool. Use the 'Roll' button to roll the dice.">
<span class="readonly character-skill-total" name="attr_move_total" value="0" title="@{move_total}">0</span>
</button>
<!-- expand 2nd row -->
<!--<input class="expand" type="checkbox" name="attr_expand_move" value="1" data-i18n-title="show-hide" title="show/hide" /><span></span>
<div class="move-row2 skills-row2">
<div class="skills-row2-header">
<div class="skills-box6 column-header"></div>
</div>
<div class="skills-row2-body">
<textarea class="skills-box6 input-textarea" name="attr_move_notes" data-i18n-placeholder="notes-text" placeholder="notes..." title="@{move_notes}"></textarea>
</div>
</div>-->
</span>
<span class="skills-row chartype-background-dark" data-i18n-list-item="shoot">
<span class="skill-name char-mutant char-animal char-human" data-i18n="shoot" name="attr_shoot_name">Shoot</span>
<span class="small-caps skill-attribute char-mutant char-animal char-human" name="attr_agility_abbr">Agi</span>
<span class="skill-name char-robot" data-i18n="shoot-robot">Shoot</span>
<span class="small-caps skill-attribute char-robot" data-i18n="stability-abbr">Stb</span>
<input class="input-number character-skill-level" type="number" name="attr_shoot" value="0" min="0" title="@{shoot}" />
<select class="input character-skill-mod modifiers-toggled-on" name="attr_shoot_skill_misc" title="@{shoot_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>
<select class="input character-skill-gear modifiers-toggled-on" name="attr_shoot_gear_misc" title="@{shoot_gear_misc}">
<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>
<button type="action" name="act_dice_pool_shoot" class="char-mutant char-animal char-human" data-i18n-title="update-dice-pool" title="Update the dice pool. Use the 'Roll' button to roll the dice.">
<span class="readonly character-skill-total" name="attr_shoot_total" value="0" title="@{shoot_total}">0</span>
</button>
<button type="action" name="act_dice_pool_shoot_robot" class="char-robot" data-i18n-title="update-dice-pool" title="Update the dice pool. Use the 'Roll' button to roll the dice.">
<span class="readonly character-skill-total" name="attr_shoot_total" value="0" title="@{shoot_total}">0</span>
</button>
<!-- expand 2nd row -->
<!--<input class="expand" type="checkbox" name="attr_expand_shoot" value="1" data-i18n-title="show-hide" title="show/hide" /><span></span>
<div class="shoot-row2 skills-row2">
<div class="skills-row2-header">
<div class="skills-box6 column-header"></div>
</div>
<div class="skills-row2-body">
<textarea class="skills-box6 input-textarea" name="attr_shoot_notes" data-i18n-placeholder="notes-text" placeholder="notes..." title="@{shoot_notes}"></textarea>
</div>
</div>-->
</span>
<span class="skills-row chartype-background-dark" data-i18n-list-item="scout">
<span class="skill-name char-mutant char-animal char-human" data-i18n="scout" name="attr_scout_name">Scout</span>
<span class="small-caps skill-attribute char-mutant char-animal char-human" name="attr_wits_abbr">Wit</span>
<span class="skill-name char-robot" data-i18n="scan">Scan</span>
<span class="small-caps skill-attribute char-robot" data-i18n="processor-abbr">Prc</span>
<input class="input-number character-skill-level" type="number" name="attr_scout" value="0" min="0" title="@{scout}" />
<select class="input character-skill-mod modifiers-toggled-on" name="attr_scout_skill_misc" title="@{scout_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>
<select class="input character-skill-gear modifiers-toggled-on" name="attr_scout_gear_misc" title="@{scout_gear_misc}">
<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>
<button type="action" name="act_dice_pool_scout" class="char-mutant char-animal char-human" data-i18n-title="update-dice-pool" title="Update the dice pool. Use the 'Roll' button to roll the dice.">
<span class="readonly character-skill-total" name="attr_scout_total" value="0" title="@{scout_total}">0</span>
</button>
<button type="action" name="act_dice_pool_scan" class="char-robot" data-i18n-title="update-dice-pool" title="Update the dice pool. Use the 'Roll' button to roll the dice.">
<span class="readonly character-skill-total" name="attr_scout_total" value="0" title="@{scout_total}">0</span>
</button>
<!-- expand 2nd row -->
<!--<input class="expand" type="checkbox" name="attr_expand_scout" value="1" data-i18n-title="show-hide" title="show/hide" /><span></span>
<div class="scout-row2 skills-row2">
<div class="skills-row2-header">
<div class="skills-box6 column-header"></div>
</div>
<div class="skills-row2-body">
<textarea class="skills-box6 input-textarea" name="attr_scout_notes" data-i18n-placeholder="notes-text" placeholder="notes..." title="@{scout_notes}"></textarea>
</div>
</div>-->
</span>
<span class="skills-row chartype-background-dark" data-i18n-list-item="comprehend">
<span class="skill-name char-mutant char-animal char-human" name="attr_comprehend_name">Comprehend</span>
<span class="small-caps skill-attribute char-mutant char-animal char-human" name="attr_wits_abbr">Wit</span>
<span class="skill-name char-robot" data-i18n="datamine">Datamine</span>
<span class="small-caps skill-attribute char-robot" data-i18n="processor-abbr">Prc</span>
<input class="input-number character-skill-level" type="number" name="attr_comprehend" value="0" min="0" title="@{comprehend}" />
<select class="input character-skill-mod modifiers-toggled-on" name="attr_comprehend_skill_misc" title="@{comprehend_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>
<select class="input character-skill-gear modifiers-toggled-on" name="attr_comprehend_gear_misc" title="@{comprehend_gear_misc}">
<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>
<button type="action" name="act_dice_pool_comprehend" class="char-mutant char-animal char-human" data-i18n-title="update-dice-pool" title="Update the dice pool. Use the 'Roll' button to roll the dice.">
<span class="readonly character-skill-total" name="attr_comprehend_total" value="0" title="@{comprehend_total}">0</span>
</button>
<button type="action" name="act_dice_pool_datamine" class="char-robot" data-i18n-title="update-dice-pool" title="Update the dice pool. Use the 'Roll' button to roll the dice.">
<span class="readonly character-skill-total" name="attr_comprehend_total" value="0" title="@{comprehend_total}">0</span>
</button>
<!-- expand 2nd row -->
<!--<input class="expand" type="checkbox" name="attr_expand_comprehend" value="1" data-i18n-title="show-hide" title="show/hide" /><span></span>
<div class="comprehend-row2 skills-row2">
<div class="skills-row2-header">
<div class="skills-box6 column-header"></div>
</div>
<div class="skills-row2-body">
<textarea class="skills-box6 input-textarea" name="attr_comprehend_notes" data-i18n-placeholder="notes-text" placeholder="notes..." title="@{comprehend_notes}"></textarea>
</div>
</div>-->
</span>
<span class="skills-row chartype-background-dark" data-i18n-list-item="know-the-zone">
<span class="skill-name char-mutant char-human" data-i18n="know-the-zone">Know the Zone</span>
<span class="small-caps skill-attribute char-mutant char-human" name="attr_wits_abbr">Wit</span>
<span class="skill-name char-animal" data-i18n="know-nature">Know Nature</span>
<span class="small-caps skill-attribute char-animal" name="attr_wits_abbr">Wit</span>
<span class="skill-name char-robot" data-i18n="analyze">Analyze</span>
<span class="small-caps skill-attribute char-robot" data-i18n="processor-abbr">Prc</span>
<input class="input-number character-skill-level" type="number" name="attr_know_the_zone" value="0" min="0" title="@{know_the_zone}" />
<select class="input character-skill-mod modifiers-toggled-on" name="attr_know_the_zone_skill_misc" title="@{know_the_zone_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>
<select class="input character-skill-gear modifiers-toggled-on" name="attr_know_the_zone_gear_misc" title="@{know_the_zone_gear_misc}">
<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>
<button type="action" name="act_dice_pool_know_the_zone" class="char-mutant char-human" data-i18n-title="update-dice-pool" title="Update the dice pool. Use the 'Roll' button to roll the dice.">
<span class="readonly character-skill-total" name="attr_know_the_zone_total" value="0" title="@{know_the_zone_total}">0</span>
</button>
<button type="action" name="act_dice_pool_know_nature" class="char-animal" data-i18n-title="update-dice-pool" title="Update the dice pool. Use the 'Roll' button to roll the dice.">
<span class="readonly character-skill-total" name="attr_know_the_zone_total" value="0" title="@{know_the_zone_total}">0</span>
</button>
<button type="action" name="act_dice_pool_analyze" class="char-robot" data-i18n-title="update-dice-pool" title="Update the dice pool. Use the 'Roll' button to roll the dice.">
<span class="readonly character-skill-total" name="attr_know_the_zone_total" value="0" title="@{know_the_zone_total}">0</span>
</button>
<!-- expand 2nd row -->
<!--<input class="expand" type="checkbox" name="attr_expand_know_the_zone" value="1" data-i18n-title="show-hide" title="show/hide" /><span></span>
<div class="know_the_zone-row2 skills-row2">
<div class="skills-row2-header">
<div class="skills-box6 column-header"></div>
</div>
<div class="skills-row2-body">
<textarea class="skills-box6 input-textarea" name="attr_know_the_zone_notes" data-i18n-placeholder="notes-text" placeholder="notes..." title="@{know_the_zone_notes}"></textarea>
</div>
</div>-->
</span>
<span class="skills-row chartype-background-dark" data-i18n-list-item="sense-emotion">
<span class="skill-name char-mutant char-human" data-i18n="sense-emotion">Sense emotion</span>
<span class="small-caps skill-attribute char-mutant char-human" data-i18n="empathy-abbr">Emp</span>
<span class="skill-name char-animal" data-i18n="sense-emotion-animal">Sense emotion</span>
<span class="small-caps skill-attribute char-animal" data-i18n="instinct-abbr">Ins</span>
<span class="skill-name char-robot" data-i18n="question">Question</span>
<span class="small-caps skill-attribute char-robot" data-i18n="network-abbr">Net</span>
<input class="input-number character-skill-level" type="number" name="attr_sense_emotion" value="0" min="0" title="@{sense_emotion}" />
<select class="input character-skill-mod modifiers-toggled-on" name="attr_sense_emotion_skill_misc" title="@{sense_emotion_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>
<select class="input character-skill-gear modifiers-toggled-on" name="attr_sense_emotion_gear_misc" title="@{sense_emotion_gear_misc}">
<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>
<button type="action" name="act_dice_pool_sense_emotion" class="char-mutant char-human" data-i18n-title="update-dice-pool" title="Update the dice pool. Use the 'Roll' button to roll the dice.">
<span class="readonly character-skill-total" name="attr_sense_emotion_total" value="0" title="@{sense_emotion_total}">0</span>
</button>
<button type="action" name="act_dice_pool_sense_emotion_animal" class="char-animal" data-i18n-title="update-dice-pool" title="Update the dice pool. Use the 'Roll' button to roll the dice.">
<span class="readonly character-skill-total" name="attr_sense_emotion_total" value="0" title="@{sense_emotion_total}">0</span>
</button>
<button type="action" name="act_dice_pool_question" class="char-robot" data-i18n-title="update-dice-pool" title="Update the dice pool. Use the 'Roll' button to roll the dice.">
<span class="readonly character-skill-total" name="attr_sense_emotion_total" value="0" title="@{sense_emotion_total}">0</span>
</button>
<!-- expand 2nd row -->
<!--<input class="expand" type="checkbox" name="attr_expand_sense_emotion" value="1" data-i18n-title="show-hide" title="show/hide" /><span></span>
<div class="sense_emotion-row2 skills-row2">
<div class="skills-row2-header">
<div class="skills-box6 column-header"></div>
</div>
<div class="skills-row2-body">
<textarea class="skills-box6 input-textarea" name="attr_sense_emotion_notes" data-i18n-placeholder="notes-text" placeholder="notes..." title="@{sense_emotion_notes}"></textarea>
</div>
</div>-->
</span>
<span class="skills-row chartype-background-dark" data-i18n-list-item="manipulate">
<span class="skill-name char-mutant char-human" data-i18n="manipulate" name="attr_manipulate_name">Manipulate</span>
<span class="small-caps skill-attribute char-mutant char-human" name="attr_empathy_abbr">Emp</span>
<span class="skill-name char-animal" data-i18n="dominate">Dominate</span>
<span class="small-caps skill-attribute char-animal" data-i18n="instinct-abbr">Ins</span>
<span class="skill-name char-robot" data-i18n="interact">Interact</span>
<span class="small-caps skill-attribute char-robot" data-i18n="network-abbr">Net</span>
<input class="input-number character-skill-level" type="number" name="attr_manipulate" value="0" min="0" title="@{manipulate}" />
<select class="input character-skill-mod modifiers-toggled-on" name="attr_manipulate_skill_misc" title="@{manipulate_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>
<select class="input character-skill-gear modifiers-toggled-on" name="attr_manipulate_gear_misc" title="@{manipulate_gear_misc}">
<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>
<button type="action" name="act_dice_pool_manipulate" class="char-mutant char-human" data-i18n-title="update-dice-pool" title="Update the dice pool. Use the 'Roll' button to roll the dice.">
<span class="readonly character-skill-total" name="attr_manipulate_total" value="0" title="@{manipulate_total}">0</span>
</button>
<button type="action" name="act_dice_pool_dominate" class="char-animal" data-i18n-title="update-dice-pool" title="Update the dice pool. Use the 'Roll' button to roll the dice.">
<span class="readonly character-skill-total" name="attr_manipulate_total" value="0" title="@{manipulate_total}">0</span>
</button>
<button type="action" name="act_dice_pool_interact" class="char-robot" data-i18n-title="update-dice-pool" title="Update the dice pool. Use the 'Roll' button to roll the dice.">
<span class="readonly character-skill-total" name="attr_manipulate_total" value="0" title="@{manipulate_total}">0</span>
</button>
<!-- expand 2nd row -->
<!--<input class="expand" type="checkbox" name="attr_expand_manipulate" value="1" data-i18n-title="show-hide" title="show/hide" /><span></span>
<div class="manipulate-row2 skills-row2">
<div class="skills-row2-header">
<div class="skills-box6 column-header"></div>
</div>
<div class="skills-row2-body">
<textarea class="skills-box6 input-textarea" name="attr_manipulate_notes" data-i18n-placeholder="notes-text" placeholder="notes..." title="@{manipulate_notes}"></textarea>
</div>
</div>-->
</span>
<span class="skills-row chartype-background-dark" data-i18n-list-item="heal">
<span class="skill-name char-mutant char-animal char-human" data-i18n="heal" name="attr_heal_name">Heal</span>
<span class="small-caps skill-attribute char-mutant char-human" data-i18n="empathy-abbr">Emp</span>
<span class="small-caps skill-attribute char-animal" data-i18n="instinct-abbr">Ins</span>
<span class="skill-name char-robot" data-i18n="repair">Repair</span>
<span class="small-caps skill-attribute char-robot" data-i18n="network-abbr">Net</span>
<input class="input-number" type="number" name="attr_heal" value="0" min="0" title="@{heal}" />
<select class="input character-skill-mod modifiers-toggled-on" name="attr_heal_skill_misc" title="@{heal_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>
<select class="input character-skill-gear modifiers-toggled-on" name="attr_heal_gear_misc" title="@{heal_gear_misc}">
<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>
<button type="action" name="act_dice_pool_heal" class="char-mutant char-animal char-human" data-i18n-title="update-dice-pool" title="Update the dice pool. Use the 'Roll' button to roll the dice.">
<span class="readonly" name="attr_heal_total" value="0" title="@{heal_total}">0</span>
</button>
<button type="action" name="act_dice_pool_repair" class="char-robot" data-i18n-title="update-dice-pool" title="Update the dice pool. Use the 'Roll' button to roll the dice.">
<span class="readonly" name="attr_heal_total" value="0" title="@{heal_total}">0</span>
</button>
<!-- expand 2nd row -->
<!--<input class="expand" type="checkbox" name="attr_expand_heal" value="1" data-i18n-title="show-hide" title="show/hide" /><span></span>
<div class="heal-row2 skills-row2">
<div class="skills-row2-header">
<div class="skills-box6 column-header"></div>
</div>
<div class="skills-row2-body">
<textarea class="skills-box6 input-textarea" name="attr_heal_notes" data-i18n-placeholder="notes-text" placeholder="notes..." title="@{heal_notes}"></textarea>
</div>
</div>-->
</span>
</div>
<div>
<fieldset class="repeating_skills">
<div class="skills-row repeating-skills-row chartype-background-light">
<input class="skill-name chartype-background-light" class="input" type="text" name="attr_name" title="@{repeating_skills_$X_name}" />
<span class="small-caps skill-attribute">
<input type="hidden" name="attr_base" value="0" min="0" title="@{repeating_skills_$X_base}" readonly />
<select class="input character-skill-mod input-skills-base-attr chartype-background-light char-mutant char-human" name="attr_attribute" title="@{repeating_skills_$X_attribute}">
<option value="" selected disabled hidden data-i18n="base">Base</option>
<option value="strength" data-i18n="strength-abbr">Str</option>
<option value="agility" data-i18n="agility-abbr">Agi</option>
<option value="wits" data-i18n="wits-abbr" >Wit</option>
<option value="empathy" data-i18n="empathy-abbr">Emp</option>
</select>
<select class="input character-skill-mod chartype-background-light char-animal" name="attr_attribute" title="@{repeating_skills_$X_attribute}">
<option value="" selected disabled hidden data-i18n="base">Base</option>
<option value="strength" data-i18n="strength-abbr">Str</option>
<option value="agility" data-i18n="agility-abbr">Agi</option>
<option value="wits" data-i18n="wits-abbr">Wit</option>
<option value="empathy" data-i18n="instinct-abbr">Ins</option>
</select>
<select class="input character-skill-mod chartype-background-light char-robot" name="attr_attribute" title="@{repeating_skills_$X_attribute}">
<option value="" selected disabled hidden data-i18n="base">Base</option>
<option value="strength" data-i18n="servos-abbr">Srv</option>
<option value="agility" data-i18n="stability-abbr">Stb</option>
<option value="wits" data-i18n="processor-abbr">Prc</option>
<option value="empathy" data-i18n="network-abbr">Net</option>
</select>
</span>
<input class="input-number character-skill-level" type="number" name="attr_skill" value="0" min="0" title="@{repeating_skills_$X_skill}" />
<select class="input character-skill-mod modifiers-toggled-on" name="attr_misc" title="@{repeating_skills_$X_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>
<select class="input character-skill-gear modifiers-toggled-on" name="attr_gear" title="@{repeating_skills_$X_gear}">
<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>
<button type="action" name="act_skill-roll" data-i18n-title="update-dice-pool" title="Update the dice pool. Use the 'Roll' button to roll the dice.">
<span class="readonly character-skill-total" name="attr_total" value="0" title="@{repeating_skills_$X_total}">0</span>
</button>
</div>
</fieldset>
</div>
</div>
<!-- DICE POOL GRID-->
<div class="character-dice_pool box chartype-background-light monster">
<div class="dice_pool-grid">
<input type="text" value="Base" data-18n="dicepool-base-header" title="Base" data-i18n-title="dicepool-base-header" hidden readonly />
<input type="text" value="Skill" data-18n="dicepool-skill-header" title="Skill" data-i18n-title="dicepool-skill-header" hidden readonly />
<input type="text" value="Gear" data-18n="dicepool-gear-header" title="Gear" data-i18n-title="dicepool-gear-header" hidden readonly />
<div class="dice-header dice_pool-box1 header">
<h1 data-i18n="dice-pool-u">DICE POOL</h1>
</div>
<div class="dice-base2">
<input type="hidden" name="attr_attribute" class="no-dice" hidden />
<div class="dice-header dice-base-header">
<span class="label" data-i18n-title="base-attribute-dice" data-i18n="base">Base</span>
</div>
<!-- <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 class="dice-col dice-base-col">
<input type="radio" name="attr_attribute" id="attr-die-0" value="0" class="no-dice dice-selection attribute" hidden checked />
<label for="attr-die-0" title="0" class="zero-dice">0</label>
<input type="radio" name="attr_attribute" id="attr-die-1" value="1" class="dice-selection attribute" hidden />
<label for="attr-die-1" title="1" class="positive">1</label>
<input type="radio" name="attr_attribute" id="attr-die-2" value="2" class="dice-selection attribute" hidden />
<label for="attr-die-2" title="2" class="positive">2</label>
<input type="radio" name="attr_attribute" id="attr-die-3" value="3" class="dice-selection attribute" hidden />
<label for="attr-die-3" title="3" class="positive">3</label>
<input type="radio" name="attr_attribute" id="attr-die-4" value="4" class="dice-selection attribute" hidden />
<label for="attr-die-4" title="4" class="positive">4</label>
<input type="radio" name="attr_attribute" id="attr-die-5" value="5" class="dice-selection attribute" hidden />
<label for="attr-die-5" title="5" class="positive">5</label>
<input type="radio" name="attr_attribute" id="attr-die-6" value="6" class="dice-selection attribute" hidden />
<label for="attr-die-6" title="6" class="positive">6</label>
<input type="radio" name="attr_attribute" id="attr-die-7" value="7" class="dice-selection attribute" hidden />
<label for="attr-die-7" title="7" class="positive">7</label>
<input type="radio" name="attr_attribute" id="attr-die-8" value="8" class="dice-selection attribute" hidden />
<label for="attr-die-8" title="8" class="positive">8</label>
<input type="radio" name="attr_attribute" id="attr-die-9" value="9" class="dice-selection attribute" hidden />
<label for="attr-die-9" title="9" class="positive">9</label>
<input type="radio" name="attr_attribute" id="attr-die-10" value="10" class="dice-selection attribute" hidden />
<label for="attr-die-10" title="10" class="positive">10</label>
<input type="radio" name="attr_attribute" id="attr-die-11" value="11" class="dice-selection attribute" hidden />
<label for="attr-die-11" title="11" class="positive">11</label>
<input type="radio" name="attr_attribute" id="attr-die-12" value="12" class="dice-selection attribute" hidden />
<label for="attr-die-12" title="12" class="positive">12</label>
<!-- <input type="checkbox" name="attr_showattrextra" id="attr-add-die" value="1" class="add-die dice-selection attribute" hidden />
<label for="attr-add-die" title="Add die" data-i18n-title="Add die" class="add-die">+</label>
<button type="action" name="act_add_die_attr" title="Add die" data-i18n-title="Add die" class="add-die"><span name="attr_attribute"></span></label> -->
</div>
</div>
<div class="dice-skill2">
<input type="hidden" name="attr_skill" class="no-dice" hidden />
<div class="dice-skill-header">
<span class="label" data-i18n-title="skill-level" data-i18n="skill">Skill</span>
</div>
<!-- <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 class="dice-col dice-skill-col">
<input type="radio" name="attr_skill" id="skill-die-0" value="0" class="no-dice dice-selection skill" hidden checked />
<label for="skill-die-0" title="0" class="zero-dice">0</label>
<input type="radio" name="attr_skill" id="skill-die-1" value="1" class="dice-selection skill" hidden />
<label for="skill-die-1" title="1" class="positive">1</label>
<input type="radio" name="attr_skill" id="skill-die-2" value="2" class="dice-selection skill" hidden />
<label for="skill-die-2" title="2" class="positive">2</label>
<input type="radio" name="attr_skill" id="skill-die-3" value="3" class="dice-selection skill" hidden />
<label for="skill-die-3" title="3" class="positive">3</label>
<input type="radio" name="attr_skill" id="skill-die-4" value="4" class="dice-selection skill" hidden />
<label for="skill-die-4" title="4" class="positive">4</label>
<input type="radio" name="attr_skill" id="skill-die-5" value="5" class="dice-selection skill" hidden />
<label for="skill-die-5" title="5" class="positive">5</label>
<input type="radio" name="attr_skill" id="skill-die-6" value="6" class="dice-selection skill" hidden />
<label for="skill-die-6" title="6" class="positive">6</label>
<input type="radio" name="attr_skill" id="skill-die-7" value="7" class="dice-selection skill" hidden />
<label for="skill-die-7" title="7" class="positive">7</label>
<input type="radio" name="attr_skill" id="skill-die-8" value="8" class="dice-selection skill" hidden />
<label for="skill-die-8" title="8" class="positive">8</label>
<input type="radio" name="attr_skill" id="skill-die-9" value="9" class="dice-selection skill" hidden />
<label for="skill-die-9" title="9" class="positive">9</label>
<input type="radio" name="attr_skill" id="skill-die-10" value="10" class="dice-selection skill" hidden />
<label for="skill-die-10" title="10" class="positive">10</label>
<input type="radio" name="attr_skill" id="skill-die--1" value="-1" class="dice-selection skill" hidden />
<label for="skill-die--1" title="-1" class="negative">-1</label>
<input type="radio" name="attr_skill" id="skill-die--2" value="-2" class="dice-selection skill" hidden />
<label for="skill-die--2" title="-2" class="negative">-2</label>
<input type="radio" name="attr_skill" id="skill-die--3" value="-3" class="dice-selection skill" hidden />
<label for="skill-die--3" title="-3" class="negative">-3</label>
</div>
</div>
<div class="dice-gear2">
<input type="hidden" name="attr_gear" class="no-dice" hidden />
<div class="dice-gear-header">
<span class="label" data-i18n-title="gear-dice" 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 class="dice-col dice-gear-col">
<input type="radio" name="attr_gear" id="gear-die-0" value="0" class="no-dice dice-selection gear" hidden checked />
<label for="gear-die-0" title="0" class="zero-dice">0</label>
<input type="radio" name="attr_gear" id="gear-die-1" value="1" class="dice-selection gear" hidden />
<label for="gear-die-1" title="1" class="positive">1</label>
<input type="radio" name="attr_gear" id="gear-die-2" value="2" class="dice-selection gear" hidden />
<label for="gear-die-2" title="2" class="positive">2</label>
<input type="radio" name="attr_gear" id="gear-die-3" value="3" class="dice-selection gear" hidden />
<label for="gear-die-3" title="3" class="positive">3</label>
<input type="radio" name="attr_gear" id="gear-die-4" value="4" class="dice-selection gear" hidden />
<label for="gear-die-4" title="4" class="positive">4</label>
<input type="radio" name="attr_gear" id="gear-die-5" value="5" class="dice-selection gear" hidden />
<label for="gear-die-5" title="5" class="positive">5</label>
<input type="radio" name="attr_gear" id="gear-die-6" value="6" class="dice-selection gear" hidden />
<label for="gear-die-6" title="6" class="positive">6</label>
<input type="radio" name="attr_gear" id="gear-die-7" value="7" class="dice-selection gear" hidden />
<label for="gear-die-7" title="7" class="positive">7</label>
<input type="radio" name="attr_gear" id="gear-die-8" value="8" class="dice-selection gear" hidden />
<label for="gear-die-8" title="8" class="positive">8</label>
<input type="radio" name="attr_gear" id="gear-die-9" value="9" class="dice-selection gear" hidden />
<label for="gear-die-9" title="9" class="positive">9</label>
<input type="radio" name="attr_gear" id="gear-die-10" value="10" class="dice-selection gear" hidden />
<label for="gear-die-10" title="10" class="positive">10</label>
<input type="radio" name="attr_gear" id="gear-die-11" value="11" class="dice-selection gear" hidden />
<label for="gear-die-11" title="11" class="positive">11</label>
<input type="radio" name="attr_gear" id="gear-die-12" value="12" class="dice-selection gear" hidden />
<label for="gear-die-12" title="12" class="positive">12</label>
<!-- <input type="radio" name="attr_gear" id="gear-die-13" value="13" class="dice-selection gear" hidden />
<label for="gear-die-13" title="13" class="positive">13</label> -->
<!-- <input type="checkbox" name="attr_showgearextra" id="gear-add-die" value="1" class="add-die dice-selection gear" hidden />
<label for="gear-add-die" title="Add die" data-i18n-title="Add die" class="add-die">+</label>
<button type="action" name="act_add_die_gear" title="Add die" data-i18n-title="Add die" class="add-die"><span name="attr_gear">+</span></label>
-->
</div>
</div>
<input class="hidden api-toggle-show" type="checkbox" name="attr_api_toggle" value="1" />
<input class="hidden" type="number" name="attr_pushable" value="1" hidden />
<input class="hidden" type="text" name="attr_push_latest" value="" hidden />
<input class="hidden" name="attr_api_dice_command" value="@{whisper_option_api} [[(@{skill})d6]] [[(@{attribute})d6]] [[(@{gear})d6]] --Character|@{character_name} --Roll|@{current_preset}" hidden readonly />
<div class="dice-roll-input chartype-background-dark">
<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> -->
<input type="text" class="header-h1 dice-preset-preset chartype-background-light" name="attr_current_preset">
</div>
<!-- <div class="template-roll dice-rolls-roll hidden">
<button class="dice-pool" type="roll" name="roll_the_dice" value="@{whisper_option} &{template:mutantyearzero} {{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]] }} @{include_with_roll}" data-i18n-title="roll-dice" title="Roll the Dice!">
&nbsp;<span data-i18n="roll">Roll</span>&nbsp;
</button>
</div> -->
<div class="computed-roll dice-rolls-roll">
<button class="dice-pool" type="action" name="act_roll_the_dice" data-i18n-title="roll-dice" title="Roll the Dice!">
&nbsp;<span data-i18n="roll">Roll</span>&nbsp;
</button>
</div>
<div class="api-roll dice-rolls-roll">
<button class="dice-pool" type="roll" name="roll_the_dice_api" value="@{whisper_option_api} [[(@{skill})d6]] [[(@{attribute})d6]] [[(@{gear})d6]] --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>
</div>
</div>
<!-- <div class="template-roll dice-rolls-push">
<button class="dice-pool" type="roll" name="roll_a_push" value="@{whisper_option} &{template:mutantyearzero} {{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]] }} {{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-d6">
<button class="dice-pool dice-rolls-smaller char-mutant" type="roll" name="roll_d6" value="@{whisper_option} &{template:@{rolltemplate_option}} {{character_name=@{character_name}}} {{chartype_id=[[1]]}} {{chartype=@{character_id}}} {{name=^{d6-roll}}} {{subtitle}} {{free-text}} {{d6-die-one=[[ 1 ]] }} {{d6-roll-one=[[ 1d6 ]] }} {{footer}}" data-i18n-title="roll-dice-6" title="Roll d6!">
D6
</button>
<button class="dice-pool dice-rolls-smaller char-animal" type="roll" name="roll_d6" value="@{whisper_option} &{template:@{rolltemplate_option}} {{character_name=@{character_name}}} {{chartype_id=[[2]]}} {{chartype=@{character_id}}} {{name=^{d6-roll}}} {{subtitle}} {{free-text}} {{d6-die-one=[[ 1 ]] }} {{d6-roll-one=[[ 1d6 ]] }} {{footer}}" data-i18n-title="roll-dice-6" title="Roll d6!">
D6
</button>
<button class="dice-pool dice-rolls-smaller char-robot" type="roll" name="roll_d6" value="@{whisper_option} &{template:@{rolltemplate_option}} {{character_name=@{character_name}}} {{chartype_id=[[3]]}} {{chartype=@{character_id}}} {{name=^{d6-roll}}} {{subtitle}} {{free-text}} {{d6-die-one=[[ 1 ]] }} {{d6-roll-one=[[ 1d6 ]] }} {{footer}}" data-i18n-title="roll-dice-6" title="Roll d6!">
D6
</button>
<button class="dice-pool dice-rolls-smaller char-human" type="roll" name="roll_d6" value="@{whisper_option} &{template:@{rolltemplate_option}} {{character_name=@{character_name}}} {{chartype_id=[[4]]}} {{chartype=@{character_id}}} {{name=^{d6-roll}}} {{subtitle}} {{free-text}} {{d6-die-one=[[ 1 ]] }} {{d6-roll-one=[[ 1d6 ]] }} {{footer}}" data-i18n-title="roll-dice-6" title="Roll d6!">
D6
</button>
</div>
<div class="dice-rolls-d66">
<button class="dice-pool dice-rolls-smaller char-mutant" type="roll" name="roll_d66" value="@{whisper_option} &{template:@{rolltemplate_option}} {{character_name=@{character_name}}} {{chartype_id=[[1]]}} {{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!">
D66
</button>
<button class="dice-pool dice-rolls-smaller char-animal" type="roll" name="roll_d66" value="@{whisper_option} &{template:@{rolltemplate_option}} {{character_name=@{character_name}}} {{chartype_id=[[2]]}} {{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!">
D66
</button>
<button class="dice-pool dice-rolls-smaller char-robot" type="roll" name="roll_d66" value="@{whisper_option} &{template:@{rolltemplate_option}} {{character_name=@{character_name}}} {{chartype_id=[[3]]}} {{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!">
D66
</button>
<button class="dice-pool dice-rolls-smaller char-human" type="roll" name="roll_d66" value="@{whisper_option} &{template:@{rolltemplate_option}} {{character_name=@{character_name}}} {{chartype_id=[[4]]}} {{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!">
D66
</button>
</div>
<div class="dice-rolls-d666">
<button class="dice-pool dice-rolls-smaller char-mutant" type="roll" name="roll_d666" value="@{whisper_option} &{template:@{rolltemplate_option}} {{character_name=@{character_name}}} {{chartype_id=[[1]]}} {{character_id=@{character_id}}} {{name=^{d666-roll}}} {{subtitle}} {{free-text}} {{d666-die-one=[[ 1 ]] }} {{d666-roll-one=[[ 1d6 ]] }} {{d666-die-two=[[ 1 ]] }} {{d666-roll-two=[[ 1d6 ]] }} {{d666-die-three=[[ 1 ]] }} {{d666-roll-three=[[ 1d6 ]] }} {{footer}}" data-i18n-title="roll-dice-666" title="Roll d666!">
D666
</button>
<button class="dice-pool dice-rolls-smaller char-animal" type="roll" name="roll_d666" value="@{whisper_option} &{template:@{rolltemplate_option}} {{character_name=@{character_name}}} {{chartype_id=[[2]]}} {{character_id=@{character_id}}} {{name=^{d666-roll}}} {{subtitle}} {{free-text}} {{d666-die-one=[[ 1 ]] }} {{d666-roll-one=[[ 1d6 ]] }} {{d666-die-two=[[ 1 ]] }} {{d666-roll-two=[[ 1d6 ]] }} {{d666-die-three=[[ 1 ]] }} {{d666-roll-three=[[ 1d6 ]] }} {{footer}}" data-i18n-title="roll-dice-666" title="Roll d666!">
D666
</button>
<button class="dice-pool dice-rolls-smaller char-robot" type="roll" name="roll_d666" value="@{whisper_option} &{template:@{rolltemplate_option}} {{character_name=@{character_name}}} {{chartype_id=[[3]]}} {{character_id=@{character_id}}} {{name=^{d666-roll}}} {{subtitle}} {{free-text}} {{d666-die-one=[[ 1 ]] }} {{d666-roll-one=[[ 1d6 ]] }} {{d666-die-two=[[ 1 ]] }} {{d666-roll-two=[[ 1d6 ]] }} {{d666-die-three=[[ 1 ]] }} {{d666-roll-three=[[ 1d6 ]] }} {{footer}}" data-i18n-title="roll-dice-666" title="Roll d666!">
D666
</button>
<button class="dice-pool dice-rolls-smaller char-human" type="roll" name="roll_d666" value="@{whisper_option} &{template:@{rolltemplate_option}} {{character_name=@{character_name}}} {{chartype_id=[[4]]}} {{character_id=@{character_id}}} {{name=^{d666-roll}}} {{subtitle}} {{free-text}} {{d666-die-one=[[ 1 ]] }} {{d666-roll-one=[[ 1d6 ]] }} {{d666-die-two=[[ 1 ]] }} {{d666-roll-two=[[ 1d6 ]] }} {{d666-die-three=[[ 1 ]] }} {{d666-roll-three=[[ 1d6 ]] }} {{footer}}" data-i18n-title="roll-dice-666" title="Roll d666!">
D666
</button>
</div>
<div class="dice-rolls-init">
<button class="dice-pool dice-rolls-smaller char-mutant" data-i18n="initiative" data-i18n-title="initiative" type="roll" name="roll_init" value="@{whisper_option} &{template:@{rolltemplate_option}} {{character_name=@{character_name}}} {{chartype_id=[[1]]}} {{character_id=@{character_id}}} {{name=Initiative}} {{free-text}} {{roll-initiative=[[1d6 &{tracker}]] }} {{footer}}" title="Initiative">
Initiative
</button>
<button class="dice-pool dice-rolls-smaller char-animal" data-i18n="initiative" data-i18n-title="initiative" type="roll" name="roll_init" value="@{whisper_option} &{template:@{rolltemplate_option}} {{character_name=@{character_name}}} {{chartype_id=[[2]]}} {{character_id=@{character_id}}} {{name=Initiative}} {{free-text}} {{roll-initiative=[[1d6 &{tracker}]] }} {{footer}}" title="Initiative">
Initiative
</button>
<button class="dice-pool dice-rolls-smaller char-robot" data-i18n="initiative" data-i18n-title="initiative" type="roll" name="roll_init" value="@{whisper_option} &{template:@{rolltemplate_option}} {{character_name=@{character_name}}} {{chartype_id=[[3]]}} {{character_id=@{character_id}}} {{name=Initiative}} {{free-text}} {{roll-initiative=[[1d6 &{tracker}]] }} {{footer}}" title="Initiative">
Initiative
</button>
<button class="dice-pool dice-rolls-smaller char-human" data-i18n="initiative" data-i18n-title="initiative" type="roll" name="roll_init" value="@{whisper_option} &{template:@{rolltemplate_option}} {{character_name=@{character_name}}} {{chartype_id=[[4]]}} {{character_id=@{character_id}}} {{name=Initiative}} {{free-text}} {{roll-initiative=[[1d6 &{tracker}]] }} {{footer}}" title="Initiative">
Initiative
</button>
</div>
<button type="action" name="act_dice_pool_clear" class="small-caps dice-footer-clear dice-rolls-smaller" data-i18n-title="reset-dice" title="Reset dice pool." data-i18n="clear-dice-pool">
Clear Dice Pool
</button>
<div class="dice-rolls-info">
<!-- <input type="checkbox" class="hide-whisper hidden" name="attr_whisper_query" value="1" hidden /> -->
<!-- <div class="dice-footer-api">
<button type="action" name="act_api_dice_toggle" class="api-button small-caps" data-i18n="api-dice">
api dice
</button>
<span class="informative-qmark" data-i18n-title="api-dice-info">?</span>
</div> -->
<div class="dice-rolls-pushable">
<input name="attr_pushable" id="pushable-toggle" type="checkbox" value="1" data-i18n-title="pushable-title" />
<label for="pushable-toggle" data-i18n="pushable-toggle" data-i18n-title="pushable-title">Pushable</label>
</div>
<div class="dice-rolls-whisper">
<!-- <input type="hidden" class="whisper-roll hidden" name="attr_whisper_the_roll" hidden /> -->
<!-- <input name="attr_whisper_the_roll" id="whisper-toggle" type="checkbox" value="1" data-i18n-title="whisper-toggle-title" /> -->
<div>
<span data-i18n="whisper-toggle" data-i18n-title="whisper-toggle-title" title="Roll is visible to everyone in chat, whisper it so only GM sees it, or use a query popup to ask. Change defaults in Settings tab.">Whisper roll</span>?
</div>
<div>
<input type="radio" name="attr_whisper_the_roll" id="radio_whisper_disabled" value="0" hidden></radio><label for="radio_whisper_disabled">No</label>
<input type="radio" name="attr_whisper_the_roll" id="radio_whisper_enabled" value="1" hidden></radio><label for="radio_whisper_enabled">Yes</label>
<input type="radio" name="attr_whisper_the_roll" id="radio_whisper_query" value="2" hidden></radio><label for="radio_whisper_query" i18n-title="whisper-query-option">Ask</label>
</div>
</div>
<!--
<div class="dice-rolls-whisper">
<input type="checkbox" class="action-checkbox whisper-roll hidden" name="attr_whisper_the_roll" value="1" hidden readonly />
<button name="act_whisperroll" type="action" id="whisper-toggle" class="action-checkbox" data-i18n-title="whisper-toggle-title" ></button>
<label for="whisper-toggle" data-i18n="whisper-toggle" data-i18n-title="whisper-toggle-title">Whisper rolls (action)</label>
</div> -->
</div>
</div>
</div>
<!-- </div> -->
<div class="character-weapons box monster chartype-background-light">
<div class="weapons-grid">
<div class="weapons-box weapons-box0 header">
<h1 style="margin-top: -21px;">WEAPONS</h1>
</div>
<!-- <div class="weapons-box weapons-box-header header">
<h1 data-i18n="weapons-u" style="margin-top: -21px;"></h1>
</div> -->
<div class="weapons-box weapons-box-skill column-header">
<h1 data-i18n="skill" style="margin-top: -21px;">SKILL</h1>
</div>
<div class="weapons-box weapons-box-gear column-header">
<h1 data-i18n="gear" style="margin-top: -21px;">GEAR</h1>
</div>
<div class="weapons-box weapons-box-damage column-header">
<h1 data-i18n="damage" style="margin-top: -21px;">DAMAGE</h1>
</div>
<div class="weapons-box weapons-box3 column-header">
<span data-i18n="name">Name</span>
</div>
<div class="weapons-box weapons-box4 column-header">
<span data-i18n="type">Type</span>
</div>
<div class="weapons-box weapons-box5 column-header">
<span data-i18n="base-dice-abbr" data-i18n-title="base-dice">Base</span>
</div>
<div class="weapons-box weapons-box6 column-header separator">
<span>|</span>
</div>
<div class="weapons-box weapons-box7 column-header modifiers-toggled-on">
<span data-i18n="modifier-abbr" class="modifiers-toggled-on">Mod</span>
</div>
<div class="weapons-box weapons-box8 column-header">
<span data-i18n="skill-level-abbr" data-i18n-title="skill-level" class="modifiers-toggled-off">Skill</span>
<span data-i18n="total-abbr" class="modifiers-toggled-on">Tot</span>
</div>
<div class="weapons-box weapons-box9 column-header separator">
<span> | </span>
</div>
<div class="weapons-box weapons-box11 column-header">
<span data-i18n="gear-bonus-abbr" data-i18n-title="gear-bonus" class="modifiers-toggled-off">Gear</span>
<span data-i18n="bonus-abbr" class="modifiers-toggled-on">Bonus</span>
</div>
<div class="weapons-box weapons-box12 column-header">
<span data-i18n="maximum-abbr">Max</span>
</div>
<div class="weapons-box weapons-box13 column-header modifiers-toggled-on">
<span data-i18n="modifier-abbr" data-i18n-title="modifier" class="modifiers-toggled-on">Mod</span>
</div>
<div class="weapons-box weapons-box14 column-header modifiers-toggled-on">
<span data-i18n="total-abbr" data-i18n-title="total" class="modifiers-toggled-on">Sum</span>
</div>
<div class="weapons-box weapons-box16 column-header separator">
<span>|</span>
</div>
<div class="weapons-box weapons-box17 column-header">
<span data-i18n="damage-abbr" data-i18n-title="damage">Dmg</span>
</div>
<div class="weapons-box weapons-box18 column-header modifiers-toggled-on">
<span data-i18n="modifier-abbr" data-i18n-title="modifier" class="modifiers-toggled-on">Mod</span>
</div>
<div class="weapons-box weapons-box19 column-header modifiers-toggled-on">
<span data-i18n="total-abbr" data-i18n-title="total" class="modifiers-toggled-on">Sum</span>
</div>
<div class="weapons-box weapons-box20 column-header separator">
<span>|</span>
</div>
<div class="weapons-box weapons-box2 column-header">
<span data-i18n="parry">Parry</span>
</div>
<div class="weapons-box weapons-box1 column-header">
<span data-i18n="attack-abbr" data-i18n-title="attack">Attk</span>
</div>
<div class="weapons-box-repeating">
<fieldset class="repeating_weapons">
<div class="weapons-grid weapons-repeating">
<input class="weapons-box weapons-box30 input" type="text" name="attr_weapon_name" value="" title="@{repeating_weapons_$X_weapon_name}" />
<select class="weapons-box weapons-box31 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>
<span class="weapons-box weapons-box32 readonly" name="attr_weapon_base_total" value="0" data-i18n-title="weapon-type-base" title="BASE dice as per weapon/skill type. @{repeating_weapons_$X_weapon_base_total}">0</span>
<span class="weapons-box weapons-box33 readonly separator"> | </span>
<!--<span class="weapons-box34 readonly" name="attr_weapon_skill_value" value="0" data-i18n-title="weapon-type-skill" title="SKILL dice as per weapon/skill type. @{repeating_weapons_$X_weapon_skill_value}">0</span>-->
<select class="weapons-box weapons-box34 input modifiers-toggled-on" 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>
<span class="weapons-box weapons-box35 readonly" name="attr_weapon_skill_total" value="0" data-i18n-title="weapon-skill-total" title="Total Skill dice included with the attack. @{repeating_weapons_$X_weapon_skill_total}">0</span>
<span class="weapons-box weapons-box37 readonly separator"> | </span>
<select class="weapons-box weapons-box38 input" name="attr_weapon_bonus" data-i18n-title="weapon-bonus" title="Record the weapon's CURRENT bonus up to MAX (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-box weapons-box39 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" 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-box weapons-box40 input modifiers-toggled-on" 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="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 class="weapons-box weapons-box41 readonly modifiers-toggled-on" name="attr_weapon_bonus_total" value="0" data-i18n-title="weapon-bonus-total" title="Total GEAR dice included with the attack. @{repeating_weapons_$X_weapon_bonus_total}">0</span>
<span class="weapons-box weapons-box47 readonly separator"> | </span>
<select class="weapons-box weapons-box48 input" name="attr_weapon_damage" data-i18n-title="weapon-damage" title="Damage as per weapon tables. @{repeating_weapons_$X_weapon_damage}">
<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-box weapons-box49 input modifiers-toggled-on" name="attr_weapon_damage_misc" data-i18n-title="modifier-damage-abbr" 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>
<span class="weapons-box weapons-box50 readonly modifiers-toggled-on" name="attr_weapon_damage_total" value="0" data-i18n-title="weapon-damage-total" title="Total damage included with the attack. @{repeating_weapons_$X_weapon_damage_total}">0</span>
<span class="weapons-box weapons-box59 readonly separator"> | </span>
<button class="weapons-box weapons-box60 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>
<button class="weapons-box weapons-box61 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>
<!-- 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-box weapons-box71">
<span data-i18n="grip">Grip</span>:
</div>
<select class="weapons-box weapons-box72 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-box weapons-box73">
<span data-i18n="range">Range</span>:
</div>
<select class="weapons-box weapons-box74 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-box weapons-box75">
<span data-i18n="weight-abbr">Wt</span>:
</div>
<select class="weapons-box weapons-box76 input" name="attr_weapon_weight" title="@{repeating_weapons_$X_weapon_weight}">
<option data-i18n="tiny-abbr" data-i18n-title="tiny" title="Tiny" value="0">T</option>
<option data-i18n="quarter-abbr" data-i18n-title="quarter" title="Quarter" value="0.25">Q</option>
<option data-i18n="light-abbr" data-i18n-title="light" title="Light" value="0.5">L</option>
<option data-i18n="normal-abbr" data-i18n-title="normal" title="Normal" value="1" selected>N</option>
<option data-i18n="heavy-abbr" data-i18n-title="heavy" title="Heavy" value="2">H</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>
</select>
<div class="weapons-box weapons-box77">
<span data-i18n="carried-abbr">Carried</span>:
</div>
<input type="checkbox" class="weapons-box weapons-box78 input" name="attr_weapon_carried" value="1" title="@{repeating_weapons_$X_weapon_carried}" checked />
<div class="weapons-box weapons-box79">
<span data-i18n="features">Features</span>:
</div>
<input class="weapons-box weapons-box80 input" type="text" name="attr_weapon_features" value="" title="@{repeating_weapons_$X_weapon_features}" />
<span class="weapons-box weapons-box81"></span>
</div>
</div>
</fieldset>
</div>
</div>
</div>
<div class="character-armor box monster chartype-background-light">
<div class="armor-container">
<div class="armor-grid">
<div class="armor-box header">
</div>
<div class="armor-box-header header">
<h1 data-i18n="armor-u">ARMOR</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="maximum-abbr">Max</span>
</div>
<div class="armor-box4 column-header">
<span data-i18n="modifier-abbr">Mod</span>
</div>
<div class="armor-box5 column-header">
<span data-i18n="carried">Carried</span>
</div>
<div class="armor-box6 column-header">
<span data-i18n="donned">Donned</span>
</div>
<div class="armor-box7 column-header">
<span data-i18n="weight">Weight</span>
</div>
<div class="armor-box8 column-header">
<span data-i18n="features">Features</span>
</div>
<div class="armor-box9 column-header">
<span data-i18n="total-abbr" title-i18n="armor-rating">AR</span>
</div>
<div class="armor-box10">
<fieldset class="repeating_armor">
<div class="armor-grid">
<input class="armor-box1 input" type="text" name="attr_name" value="" title="@{repeating_armor_$X_name}" data-i18n-placeholder="name" placeholder="name" />
<input class="armor-box2 input-number" type="number" name="attr_bonus" value="0" min="0" max="@{bonus_max}" data-i18n-title="armor-bonus" title="Record the armor's CURRENT bonus up to MAX (adjusts GEAR dice). @{repeating_armor_$X_bonus}" />
<input class="armor-box3 input-number" type="number" name="attr_bonus_max" value="0" min="0" data-i18n-title="armor-bonus-max" title="Record the armor's UNDAMAGED bonus. @{repeating_armor_$X_bonus_max}" />
<select class="armor-box4 input" name="attr_bonus_misc" data-i18n-title="armor-bonus-misc" title="Miscellaneous bonus modifier (adjusts GEAR dice). @{repeating_armor_$X_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>
<select class="armor-box5 input" name="attr_carried" title="@{repeating_armor_$X_carried}">
<option data-i18n="yes" value="1" selected>Yes</option>
<option data-i18n="no" value="0">No</option>
</select>
<input class="armor-box6 input" type="checkbox" name="attr_equipped" value="1" title="@{repeating_armor_$X_equipped}" checked />
<select class="armor-box7 input" name="attr_weight" title="@{repeating_armor_$X_weight}">
<option data-i18n="tiny-abbr" data-i18n-title="tiny" title="Tiny" value="0" selected>T</option>
<option data-i18n="quarter-abbr" data-i18n-title="quarter" title="Quarter" value="0.25">Q</option>
<option data-i18n="light-abbr" data-i18n-title="light" title="Light" value="0.5">L</option>
<option data-i18n="normal-abbr" data-i18n-title="normal" title="Normal" value="1">N</option>
<option data-i18n="heavy-abbr" data-i18n-title="heavy" title="Heavy" value="2">H</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>
</select>
<input class="armor-box8 input" type="text" name="attr_features" value="" title="@{repeating_armor_$X_features}" />
<span class="armor-box9 readonly" name="attr_rating" value="0" data-i18n-title="armor-rating" title="Total GEAR and SKILL dice included for armor. @{repeating_armor_$X_rating}" readonly>0</span>
<!-- expand 2nd row
<input class="expand" type="checkbox" name="attr_expand_armor" value="1" data-i18n-title="show-hide" title="show/hide" checked /><span></span>
-->
<!-- 2nd row -->
<!--
<div class="armor-row2">
<span class="armor-box21">
<span data-i18n="carried">Carried</span>
</span>
<select class="armor-box22 input" name="attr_carried" title="@{repeating_armor_$X_carried}">
<option data-i18n="yes" value="1" selected>Yes</option>
<option data-i18n="no" value="0">No</option>
</select>
<span class="armor-box23">
<span data-i18n="weight">Weight</span>
</span>
<select class="armor-box24 input" name="attr_weight" title="@{repeating_armor_$X_weight}">
<option data-i18n="tiny-abbr" data-i18n-title="tiny" title="Tiny" value="0" selected>T</option>
<option data-i18n="quarter-abbr" data-i18n-title="quarter" title="Quarter" value="0.25">Q</option>
<option data-i18n="light-abbr" data-i18n-title="light" title="Light" value="0.5">L</option>
<option data-i18n="normal-abbr" data-i18n-title="normal" title="Normal" value="1">N</option>
<option data-i18n="heavy-abbr" data-i18n-title="heavy" title="Heavy" value="2">H</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>
</select>
<span class="armor-box25"><span data-i18n="donned">Donned</span></span>
<input class="armor-box26 input" type="checkbox" name="attr_equipped" value="1" title="@{repeating_armor_$X_equipped}" checked />
</div>-->
</div>
</fieldset>
</div>
</div>
<div class="armor-ar chartype-background-dark">
<span class="armor-box-ar">
<h1 data-i18n="armor-rating-u" style="margin: 0;">
ARMOR RATING
</h1>
<button type="action" class="armor-button" name="act_armor-roll" data-i18n-title="update-dice-pool" title="Update the dice pool. Use the 'Roll' button to roll the dice.">
<span class="readonly character-skill-total ar-total" name="attr_ar_total" value="0" title="@{ar_total}">0</span>
</button>
<input type="hidden" class="hidden" name="attr_armor-equipped-list" value="" hidden readonly />
</span>
</div>
</div>
</div>
<div class="character-relationships box toggle-pc-only chartype-background-light">
<div class="relationships-grid">
<div class="relationships-box1 header">
<h1 data-i18n="relationships-u">RELATIONSHIPS</h1>
</div>
<div class="relationships-box1">
<div class="relationships-grid">
<div class="relationships-box3">
<span data-i18n="i-hate">Hate: </span>
</div>
<div class="relationships-box6">
<textarea class="input-textarea" name="attr_hate" title="@{hate}" data-i18n-placeholder="relationship-description" placeholder="Describe the relationship."></textarea>
</div>
</div>
</div>
<div class="relationships-box1">
<div class="relationships-grid">
<div class="relationships-box3">
<span data-i18n="i-protect">Protect: </span>
</div>
<div class="relationships-box6">
<textarea class="input-textarea" name="attr_protect" title="@{protect}" data-i18n-placeholder="relationship-description" placeholder="Describe the relationship."></textarea>
</div>
</div>
</div>
<div class="relationships-box1">
<div class="relationships-grid">
<div class="relationships-box3">
<span data-i18n="i-dream">Dream: </span>
</div>
<div class="relationships-box6">
<textarea class="input-textarea" name="attr_dream" title="@{dream}" data-i18n-placeholder="relationship-description" placeholder="Describe the relationship."></textarea>
</div>
</div>
</div>
<div class="relationships-box11 chartype-background-dark">
<div class="relationships-grid-repeating">
<div class="relationships-box3 column-subheader chartype-background-dark">
<span data-i18n="rpc-name">Player Character</span>
</div>
<div class="relationships-box4 column-subheader chartype-background-dark">
<span data-i18n="description">Description</span>
</div>
<div class="relationships-box5 column-subheader chartype-background-dark">
<span data-i18n="close">Close</span>
</div>
</div>
</div>
<div class="relationships-box11">
<fieldset class="repeating_relationships">
<div class="relationships-box11">
<div class="relationships-grid-repeating">
<div class="relationships-box3">
<input class="input" type="text" name="attr_pc_name" value="" title="@{repeating_relationships_$X_pc_name}" data-i18n-placeholder="rpc-name" placeholder="RPC'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 class="relationships-box5">
<input type="checkbox" class="input" name="attr_buddy" title="@{repeating_relationships_$X_buddy}" />
</div>
</div>
</div>
</fieldset>
</div>
<div class="relationships-box11 chartype-background-dark">
<div class="relationships-grid-repeating">
<div class="relationships-box3 column-subheader chartype-background-dark">
<span data-i18n="npc-name">Non-Player Character</span>
</div>
<div class="relationships-box6 column-subheader chartype-background-dark">
<span data-i18n="description">Description</span>
</div>
</div>
</div>
<div class="relationships-box11">
<fieldset class="repeating_npcrelations">
<div class="relationships-box11">
<div class="relationships-grid-repeating">
<div class="relationships-box3">
<input class="input" type="text" name="attr_npcrelations_name" value="" title="@{repeating_npcrelations_$X_relation_name}" data-i18n-placeholder="npc-name" placeholder="NPC's name" />
</div>
<div class="relationships-box6">
<textarea class="input-textarea" name="attr_npcrelations_description" title="@{repeating_npcrelations_$X_relation_description}" data-i18n-placeholder="relationship-description" placeholder="Describe the relationship."></textarea>
</div>
</div>
</div>
</fieldset>
</div>
</div>
</div>
<div class="character-spells box toggle-pc-only">
<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="powerpoint-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_powerpoint" value="1" min="1" title="@{repeating_spells_$X_spell_powerpoint}" />
<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>
<!-- MONSTER DESCRIPTION-->
<div class="monster-information box chartype-background-light monster toggle-monster-only monster-information-toggle">
<div class="information-grid">
<div class="information-box information-box0 header">
<h1 data-i18n="monster-information-u">MONSTER INFORMATION</h1>
</div>
<div class="heading-box heading-box1">
<span class="label" data-i18n="description">Description</span><br>
<textarea class="input-textarea" name="attr_description" title="@{description}"></textarea>
</div>
<div class="heading-box heading-box1">
<span class="label" data-i18n="skills">Skills</span><br>
<textarea class="input-textarea" name="attr_skills" title="@{skills}"></textarea>
</div>
<div class="heading-box heading-box1">
<span class="label" data-i18n="weapons">Weapons</span><br>
<textarea class="input-textarea" name="attr_weapons" title="@{weapons}"></textarea>
</div>
<div class="heading-box heading-box1">
<span class="label" data-i18n="armor">Armor</span><br>
<input class="input" type="text" name="attr_armor" value="" title="@{armor}" />
</div>
<div class="monster-abilities">
<div class="header chartype-background-dark" data-i18n="abilities">Abilities</div>
<fieldset class="repeating_abilities">
<div class="monster-abilities-row">
<input name="attr_name" type="text" value="" /><textarea name="attr_description"></textarea>
</div>
</fieldset>
</div>
</div>
</div>
<div class="character-notes box chartype-background-light">
<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-box4">
<input class="input" type="text" name="attr_note_name" value="" title="@{repeating_notes_$X_note_name}" data-i18n-placeholder="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-placeholder="note-description" placeholder="Note's description."></textarea>
</div>
</div>
</fieldset>
</div>
</div>
</div>
<div class="character-column3 monster toggle-pc-only">
<input type="checkbox" class="hidden force-show-mutations" name="attr_force_show_mutations" value="1" />
<input type="checkbox" class="hidden force-show-animalpowers" name="attr_force_show_animalpowers" value="1" />
<input type="checkbox" class="hidden force-show-contacts" name="attr_force_show_contacts" value="1" />
<input type="checkbox" class="hidden force-show-biomech" name="attr_force_show_biomech" value="1" />
<input type="checkbox" class="hidden force-show-modules" name="attr_force_show_modules" value="1" />
<input type="checkbox" class="hidden force-show-money" name="attr_force_show_money" value="1" />
<input type="checkbox" class="hidden force-show-vehicle" name="attr_force_show_vehicle" value="1" />
<input type="checkbox" class="hidden force-show-rot" name="attr_force_show_rot" value="1" />
<div class="character-experience box toggle-pc-only header">
<div class="experience-grid">
<div class="experience-box1">
<h1 data-i18n="experience-u">EXPERIENCE</h1>
</div>
<div class="experience-box2">
<input class="input-number input-experience" type="number" name="attr_experience" value="0" min="0" title="@{experience}" />
</div>
<div class="experience-box3"></div>
</div>
</div>
<div class="character-talents box toggle-pc-only chartype-background-light">
<div class="talents-grid">
<div class="talents-box header">
<h1 class="char-mutant char-animal char-human" data-i18n="talent-u">TALENTS</h1>
<h1 class="char-robot" data-i18n="secondary-functions-u">SECONDARY FUNCTIONS</h1>
</div>
<div class="talents-box2 column-header">
<span data-i18n="type">Type</span>
</div>
<div class="talents-box3 column-header">
<span data-i18n="roll">Roll</span>
</div>
<div class="talents-box4">
<fieldset class="repeating_talents">
<div class="talents-grid">
<input class="expand" type="checkbox" name="attr_expand" data-i18n-title="show-hide" title="show/hide" /><span></span>
<input type="number" name="attr_talent_rank" class="hidden readonly" value="1" readonly hidden>
<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="Prof" data-i18n="profession-abbrv">Prof</option>
<option value="Gen" data-i18n="general-abbrv" selected>Gen</option>
</select>
<span class="talents-box3 input">
<button name="act_talentroll" class="roll-button" type="action">t</button>
</span>
<!-- 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>
<div class="character-mutations box toggle-pc-only chartype-background-light char-mutant">
<div class="talents-grid">
<div class="talents-box header">
<h1 data-i18n="mutation-u">MUTATIONS</h1>
</div>
<div class="talents-box2 column-header">
<span data-i18n="power">Power</span>
</div>
<div class="talents-box3 column-header">
<span data-i18n="misfire">Misfire</span>
</div>
<div class="talents-box4">
<fieldset class="repeating_mutations">
<div class="talents-grid">
<input class="expand" type="checkbox" name="attr_expand" data-i18n-title="show-hide" title="show/hide" /><span></span>
<input type="number" class="talents-box2 input-number" name="attr_rank" min="1" max="10" value="1" title="@{repeating_mutations_$X_rank}" hidden>
<input class="talents-box1 input" type="text" name="attr_name" value="" title="@{repeating_mutations_$X_name}" data-i18n-placeholder="name" placeholder="Name" />
<input type="number" class="talents-box2 input-number" name="attr_powerlevel" min="1" max="10" title="@{repeating_mutations_$X_powerlevel}">
<span class="talents-box3 input">
<button name="act_powerroll" class="roll-button" type="action">t</button>
</span>
<!-- expand 2nd row -->
<textarea class="talents-box4 input-textarea" name="attr_description" title="@{repeating_mutations_$X_description}" data-i18n-placeholder="description" placeholder="description"></textarea>
</div>
</fieldset>
</div>
</div>
<div class="powerpoint-grid">
<div class="powerpoint-box2 chartype-background-dark">
<input class="xbox-null" type="radio" name="attr_mutationpoints" value="0" data-i18n-title="no-mutationpoints" title="No Mutation Points" checked />
<input class="xbox" type="radio" name="attr_mutationpoints" value="1" title="1 @{mutationpoints}" /><span></span>
<input class="xbox" type="radio" name="attr_mutationpoints" value="2" title="2 @{mutationpoints}" /><span></span>
<input class="xbox" type="radio" name="attr_mutationpoints" value="3" title="3 @{mutationpoints}" /><span></span>
<input class="xbox" type="radio" name="attr_mutationpoints" value="4" title="4 @{mutationpoints}" /><span></span>
<input class="xbox" type="radio" name="attr_mutationpoints" value="5" title="5 @{mutationpoints}" /><span></span>
<input class="xbox" type="radio" name="attr_mutationpoints" value="6" title="6 @{mutationpoints}" /><span></span>
<input class="xbox" type="radio" name="attr_mutationpoints" value="7" title="7 @{mutationpoints}" /><span></span>
<input class="xbox" type="radio" name="attr_mutationpoints" value="8" title="8 @{mutationpoints}" /><span></span>
<input class="xbox" type="radio" name="attr_mutationpoints" value="9" title="9 @{mutationpoints}" /><span></span>
<input class="xbox" type="radio" name="attr_mutationpoints" value="10" title="10 @{mutationpoints}" /><span></span>
<input type="hidden" name="attr_mutationpoints_max" value="10" />
</div>
<div class="powerpoint-box3 chartype-background-dark">
<span class="input-span" name="attr_mutationpoints" title="Mutation points" data-i18n-title="mutation-points" readonly></span>
</div>
</div>
</div>
<div class="character-modules box toggle-pc-only chartype-background-light char-robot">
<div class="talents-grid">
<div class="talents-box header">
<h1 data-i18n="modules-u">MODULES</h1>
</div>
<div class="talents-box2 column-header">
<span data-i18n="power">Power</span>
</div>
<div class="talents-box3 column-header">
<span data-i18n="overheat">Overheat</span>
</div>
<div class="talents-box4">
<fieldset class="repeating_modules">
<div class="talents-grid">
<input class="expand" type="checkbox" name="attr_expand" data-i18n-title="show-hide" title="show/hide" /><span></span>
<input class="talents-box1 input" type="text" name="attr_name" value="" title="@{repeating_modules_$X_name}" data-i18n-placeholder="name" placeholder="Name" />
<input type="number" class="talents-box2 input-number" name="attr_powerlevel" min="1" max="10" title="@{repeating_modules_$X_powerlevel}">
<span class="talents-box3 input" >
<button name="act_powerroll" class="roll-button" type="action">t</button>
</span>
<!-- expand 2nd row -->
<textarea class="talents-box4 input-textarea" name="attr_module_description" title="@{repeating_modules_$X_module_description}" data-i18n-placeholder="description" placeholder="description"></textarea>
</div>
</fieldset>
</div>
</div>
<div class="powerpoint-grid">
<input type="checkbox" name="attr_powerincrease" value="1" hidden />
<div class="powerpoint-box2 chartype-background-dark">
<input class="xbox-null" type="radio" name="attr_energypoints" value="0" data-i18n-title="no-energypoints" title="No Energy Points" style="margin: 4px 8px 3px 2px; width: 0.95em; height: 0.95em;" checked />
<input class="xbox" type="radio" name="attr_energypoints" value="1" title="1 @{energypoints}" /><span></span>
<input class="xbox" type="radio" name="attr_energypoints" value="2" title="2 @{energypoints}" /><span></span>
<input class="xbox" type="radio" name="attr_energypoints" value="3" title="3 @{energypoints}" /><span></span>
<input class="xbox" type="radio" name="attr_energypoints" value="4" title="4 @{energypoints}" /><span></span>
<input class="xbox" type="radio" name="attr_energypoints" value="5" title="5 @{energypoints}" /><span></span>
<input class="xbox" type="radio" name="attr_energypoints" value="6" title="6 @{energypoints}" /><span></span>
<input class="xbox" type="radio" name="attr_energypoints" value="7" title="7 @{energypoints}" /><span></span>
<input class="xbox" type="radio" name="attr_energypoints" value="8" title="8 @{energypoints}" /><span></span>
<input class="xbox" type="radio" name="attr_energypoints" value="9" title="9 @{energypoints}" /><span></span>
<input class="xbox" type="radio" name="attr_energypoints" value="10" title="10 @{energypoints}" /><span></span>
<input class="xbox powerincrease" type="radio" name="attr_energypoints" value="11" title="11 @{energypoints}" /><span></span>
<input class="xbox powerincrease" type="radio" name="attr_energypoints" value="12" title="12 @{energypoints}" /><span></span>
<input type="hidden" name="attr_energypoints_max" value="10" />
</div>
<div class="powerpoint-box3 chartype-background-dark">
<span class="input-span" name="attr_energypoints" title="@Energy points" data-i18n-title="energypoints" readonly></span>
</div>
</div>
</div>
<div class="character-animalpowers box toggle-pc-only chartype-background-light char-animal">
<div class="talents-grid">
<div class="talents-box header">
<h1 data-i18n="animalpowers-u">ANIMAL POWERS</h1>
</div>
<div class="talents-box2 column-header">
<span data-i18n="power">Power</span>
</div>
<div class="talents-box3 column-header">
<span data-i18n="feral">Feral</span>
</div>
<div class="talents-box4">
<fieldset class="repeating_animalpowers">
<div class="talents-grid">
<input class="expand" type="checkbox" name="attr_expand" data-i18n-title="show-hide" title="show/hide" /><span></span>
<input class="talents-box1 input" type="text" name="attr_name" value="" title="@{repeating_animalpowers_$X_name}" data-i18n-placeholder="name" placeholder="Name" />
<input type="number" class="talents-box2 input-number" name="attr_powerlevel" min="1" max="10" title="@{repeating_animalpowers_$X_powerlevel}">
<span class="talents-box3 input">
<button name="act_powerroll" class="roll-button" type="action">t</button>
</span>
<!-- expand 2nd row -->
<textarea class="talents-box4 input-textarea" name="attr_animalpower_description" title="@{repeating_animalpowers_$X_animalpower_description}" data-i18n-placeholder="description" placeholder="description"></textarea>
</div>
</fieldset>
</div>
</div>
<div class="powerpoint-grid">
<div class="powerpoint-box2 chartype-background-dark">
<input class="xbox-null" type="radio" name="attr_feralpoints" value="0" data-i18n-title="no-feralpoints" title="No Feral Points" style="margin: 4px 8px 3px 2px; width: 0.95em; height: 0.95em;" checked />
<input class="xbox" type="radio" name="attr_feralpoints" value="1" title="1 @{feralpoints}" /><span></span>
<input class="xbox" type="radio" name="attr_feralpoints" value="2" title="2 @feralpoints}" /><span></span>
<input class="xbox" type="radio" name="attr_feralpoints" value="3" title="3 @{feralpoints}" /><span></span>
<input class="xbox" type="radio" name="attr_feralpoints" value="4" title="4 @{feralpoints}" /><span></span>
<input class="xbox" type="radio" name="attr_feralpoints" value="5" title="5 @{feralpoints}" /><span></span>
<input class="xbox" type="radio" name="attr_feralpoints" value="6" title="6 @{feralpoints}" /><span></span>
<input class="xbox" type="radio" name="attr_feralpoints" value="7" title="7 @{feralpoints}" /><span></span>
<input class="xbox" type="radio" name="attr_feralpoints" value="8" title="8 @{feralpoints}" /><span></span>
<input class="xbox" type="radio" name="attr_feralpoints" value="9" title="9 @{feralpoints}" /><span></span>
<input class="xbox" type="radio" name="attr_feralpoints" value="10" title="10 @{feralpoints}" /><span></span>
<input type="hidden" name="attr_feralpoints_max" value="10" />
</div>
<div class="powerpoint-box3 chartype-background-dark">
<span class="input-span" name="attr_feralpoints" title="Feral points" data-i18n-title="feral-points" readonly></span>
</div>
</div>
</div>
<div class="character-contacts character box toggle-pc-only chartype-background-light char-human">
<div class="talents-grid">
<div class="talents-box header">
<h1 data-i18n="contacts-u">CONTACTS</h1>
</div>
<div class="talents-box2 column-header">
<span data-i18n="power">Points</span>
</div>
<div class="talents-box3 column-header">
<span data-i18n="backlash">Backlash</span>
</div>
<div class="talents-box4">
<fieldset class="repeating_contacts">
<div class="talents-grid">
<input class="expand" type="checkbox" name="attr_expand" data-i18n-title="show-hide" title="show/hide" /><span></span>
<input class="talents-box1 input" type="text" name="attr_name" value="" title="@{repeating_contacts_$X_name}" data-i18n-placeholder="name" placeholder="Name" />
<input type="number" class="talents-box2 input-number" name="attr_powerlevel" min="1" max="10" title="@{repeating_contact_$X_powerlevel}">
<span class="talents-box3 input" >
<button name="act_powerroll" class="roll-button" type="action">t</button>
</span>
<!-- expand 2nd row -->
<textarea class="talents-box4 input-textarea" name="attr_contact_description" title="@{repeating_contacts_$X_contact_description}" data-i18n-placeholder="description" placeholder="description"></textarea>
</div>
</fieldset>
</div>
</div>
<div class="powerpoint-grid">
<div class="powerpoint-box2 chartype-background-dark">
<input class="xbox-null" type="radio" name="attr_influencepoints" value="0" data-i18n-title="no-influencepoints" title="No Influence Points" style="margin: 4px 8px 3px 2px; width: 0.95em; height: 0.95em;" checked />
<input class="xbox" type="radio" name="attr_influencepoints" value="1" title="1 @{influencepoints}" /><span></span>
<input class="xbox" type="radio" name="attr_influencepoints" value="2" title="2 @{influencepoints}" /><span></span>
<input class="xbox" type="radio" name="attr_influencepoints" value="3" title="3 @{influencepoints}" /><span></span>
<input class="xbox" type="radio" name="attr_influencepoints" value="4" title="4 @{influencepoints}" /><span></span>
<input class="xbox" type="radio" name="attr_influencepoints" value="5" title="5 @{influencepoints}" /><span></span>
<input class="xbox" type="radio" name="attr_influencepoints" value="6" title="6 @{influencepoints}" /><span></span>
<input class="xbox" type="radio" name="attr_influencepoints" value="7" title="7 @{influencepoints}" /><span></span>
<input class="xbox" type="radio" name="attr_influencepoints" value="8" title="8 @{influencepoints}" /><span></span>
<input class="xbox" type="radio" name="attr_influencepoints" value="9" title="9 @{influencepoints}" /><span></span>
<input class="xbox" type="radio" name="attr_influencepoints" value="10" title="10 @{influencepoints}" /><span></span>
<input type="hidden" name="attr_influencepoints_max" value="10" />
</div>
<div class="powerpoint-box3 chartype-background-dark">
<span class="input-span" name="attr_influencepoints" title="influence-points" readonly></span>
</div>
</div>
</div>
<div class="character-biomech character box toggle-pc-only chartype-background-light char-human">
<div class="talents-grid">
<div class="talents-box header">
<h1 data-i18n="biomechatronics-u">BIOMECHATRONICS</h1>
</div>
<div class="talents-box4">
<fieldset class="repeating_biomechs">
<div class="talents-grid">
<input class="expand" type="checkbox" name="attr_expand" data-i18n-title="show-hide" title="show/hide" /><span></span>
<input class="talents-box1 input" type="text" name="attr_biomech_name" value="" title="@{repeating_biomechs_$X_biomech_name}" data-i18n-placeholder="name" placeholder="Name" />
<!-- expand 2nd row -->
<textarea class="talents-box4 input-textarea" name="attr_biomech_description" title="@{repeating_biomechs_$X_biomech_description}" data-i18n-placeholder="description" placeholder="description"></textarea>
</div>
</fieldset>
</div>
</div>
</div>
<div class="character-rotpoints box toggle-pc-only chartype-background-light char-human char-animal char-mutant">
<div class="talents-grid">
<div class="talents-box header">
<h1 data-i18n="rotpoints-u">ROT POINTS</h1>
</div>
</div>
<div class="talents-box1">
<span class="subheader-h1" data-i18n="permanent-rot">Permanent Rot</span>
<input class="input-number" type="number" name="attr_rot_permanent" value="0" min="0" title="@{rot_permanent}" />
<!--button class="dicefontd6" name="rot" type="roll" value=" &{template:rolls} {{character_name=@{character_name}}} {{character_id=@{character_id}}} {{name=^{rot}}} @{rot_roll}">L</button-->
</div>
<div class="powerpoint-grid">
<div class="powerpoint-box2 chartype-background-dark">
<input type="hidden" name="attr_rot_permanent" value="0" />
<input class="xbox-null" type="radio" name="attr_rot" value="0" data-i18n-title="no-rot" title="No Rot Points" checked />
<input class="xbox rot1" type="radio" name="attr_rot" value="1" title="1 @{rot}" /><span></span>
<input class="xbox rot2" type="radio" name="attr_rot" value="2" title="2 @{rot}" /><span></span>
<input class="xbox rot3" type="radio" name="attr_rot" value="3" title="3 @{rot}" /><span></span>
<input class="xbox rot4" type="radio" name="attr_rot" value="4" title="4 @{rot}" /><span></span>
<input class="xbox rot5" type="radio" name="attr_rot" value="5" title="5 @{rot}" /><span></span>
<input class="xbox rot6" type="radio" name="attr_rot" value="6" title="6 @{rot}" /><span></span>
<input class="xbox rot7" type="radio" name="attr_rot" value="7" title="7 @{rot}" /><span></span>
<input class="xbox rot8" type="radio" name="attr_rot" value="8" title="8 @{rot}" /><span></span>
<input class="xbox rot9" type="radio" name="attr_rot" value="9" title="9 @{rot}" /><span></span>
<input class="xbox rot10" type="radio" name="attr_rot" value="10" title="10 @{rot}" /><span></span>
<input type="hidden" name="attr_rot_max" value="10" />
</div>
<div class="powerpoint-box3 chartype-background-dark">
<!--span class="input-span" name="attr_rot" title="@{rot}" readonly></span-->
<button type="action" class="rot-button" name="act_rot_roll" data-i18n-title="update-dice-pool" title="Update the dice pool. Use the 'Roll' button to roll the dice.">
<span class="readonly character-skill-total rot-button" name="attr_rot" value="0" title="Rotpoints" data-i18n-title="rotpoints" disabled>0</span>
</button>
</div>
</div>
</div>
<div class="character-consumables box toggle-pc-only chartype-background-light">
<div class="consumables-grid">
<div class="consumables-box header">
<h1 data-i18n="consumables-u">CONSUMABLES</h1>
</div>
<div class="consumables-box1 column-header">
<span data-i18n="quantity">Amount</span>
</div>
<div class="consumables-box2 column-header">
<span data-i18n="quantity">Amount</span>
</div>
<input class="hidden consumables-img" type="checkbox" name="attr_consumables-icons" value="1" hidden readonly />
<!--<div class="consumables-box3"><span>&nbsp;</span></div>-->
<div class="consumables-box4">
<img class="consumables-icon consumables-food" data-i18n-title="food" title="food" src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master//Mutant%20Year%20Zero/images/grub-blk.png" />
<span class="header-h1 consumables-label" data-i18n="food">Food</span>
</div>
<div class="consumables-box5">
<input type="number" class="input-number" name="attr_grub" value="0" min="0" title="@{grub}">
</div>
<div class="consumables-box6">
</div>
<div class="consumables-box7">
<img class="consumables-icon consumables-bullets" data-i18n-title="bullets" title="bullets" src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master//Mutant%20Year%20Zero/images/bullet-blk.png" />
<span class="header-h1 consumables-label" data-i18n="bullets">Bullets</span>
</div>
<div class="consumables-box8">
<input type="number" class="input-number" name="attr_bullets" value="0" min="0" title="@{bullets}">
</div>
<div class="consumables-box9">
</div>
<div class="consumables-box10">
<img class="consumables-icon consumables-water" data-i18n-title="water" title="water" src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master//Mutant%20Year%20Zero/images/water-blk.png" />
<span class="header-h1 consumables-label" data-i18n="water">Water</span>
</div>
<div class="consumables-box11">
<input type="number" class="input-number" name="attr_water" value="0" min="0" title="@{water}">
</div>
<div class="consumables-box12">
</div>
<div class="consumables-box13">
<img class="consumables-icon consumables-epacks" data-i18n-title="e-pack" title="e-pack" src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master//Mutant%20Year%20Zero/images/battery-blk.png" />
<span class="header-h1 consumables-label" data-i18n="e-pack">E-pack</span>
</div>
<div class="consumables-box14">
<input type="number" class="input-number" name="attr_epacks" value="0" min="0" title="@{epacks}">
</div>
<div class="consumables-box15">
</div>
</div>
</div>
<div class="character-money box toggle-pc-only chartype-background-light char-human">
<div class="money-grid">
<div class="money-box header">
<h1 data-i18n="money-u">MONEY</h1>
</div>
<!--<div class="money-box1 column-header"></div>
<div class="money-box2 column-header">
<span data-i18n="gold">Gold</span>
</div>
<div class="money-box3 column-header">
<span data-i18n="silver">Silver</span>
</div>-->
<div class="money-box2 column-header">
<span data-i18n="credits">Credits</span>
</div>
<div class="money-box4 column-header">
<span data-i18n="credits">Credits</span>
</div>
<div class="money-box5">
<span class="label" data-i18n="carried">Carried</span>
</div>
<div class="money-box6">
<input class="input-number" type="text" name="attr_credits" value="0" min="0" title="@{credits}" />
</div>
<div class="money-box7">
<span class="label" style="text-align: center;" data-i18n="vehicle-credits">Vehicle</span>
</div>
<div class="money-box8">
<input class="input-number" type="text" name="attr_credits_vehicle" value="0" min="0" title="@{credits_vehicle}" />
</div>
<div class="money-box9">
<span class="label" data-i18n="stash">Stash</span>
</div>
<div class="money-box10">
<input class="input-number" type="text" name="attr_credits_stash" value="0" min="0" title="@{credits_stash}" />
</div>
<input type="hidden" name="attr_money_other_total" value="0" min="0" />
<div class="money-box11">
<span class="label" data-i18n="total">Total</span>
</div>
<div class="money-box12">
<input class="input-number" type="text" name="attr_credits_total" value="0" min="0" readonly />
</div>
</div>
</div>
<div class="gear-grid box toggle-pc-only chartype-background-light">
<div class="gear-box1 header">
<h1 data-i18n="gear-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" data-i18n-title="tiny" title="Tiny" value="0" selected>T</option>
<option data-i18n="quarter-abbr" data-i18n-title="quarter" title="Quarter" value="0.25">Q</option>
<option data-i18n="light-abbr" data-i18n-title="light" title="Light" value="0.5">L</option>
<option data-i18n="normal-abbr" data-i18n-title="normal" title="Normal" value="1">N</option>
<option data-i18n="heavy-abbr" data-i18n-title="heavy" title="Heavy" value="2">H</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>
</select>
<!-- expand 2nd row -->
<textarea class="gear-box5 input-textarea" name="attr_gear_description" title="@{repeating_gear_$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_gear_encumbrance" value="0" title="@{gear_encumbrance}" readonly />
</div>
<div><span class="label" data-i18n="consumables">Consumables</span></div>
<div>
<input class="input-number" type="text" name="attr_consumables_encumbrance" value="0" title="@{character_consumables_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_encumbrance" value="0" title="@{armor_encumbrance}" readonly />
</div>
</div>
<div class="gear-box6 column-header chartype-background-dark">
<div class="gear">
<span class="label encumberance" data-i18n="encumbrance">Encumbrance</span>
</div>
<div class="gear">
<input type="hidden" name="attr_gear_encumbrance" value="0" />
<input class="input-number" type="text" name="attr_character_encumbrance" value="0" title="@{character_encumbrance}" readonly />
</div>
<div class="gear">
<span class="label carry-separator"> / </span>
</div>
<div class="gear">
<span class="label carry-cap" data-i18n="carry-cap">Carry Cap</span>
</div>
<div class="gear">
<input class="input-number" type="text" name="attr_carry" value="((2*(@{strength}))*@{pack_rat})" title="@{carry} = 2 x @{strength} x @{pack_rat}" disabled />
</div>
</div>
<div class="gear-subgrid2 chartype-background-light">
<div class="gear-box12">
<span class="label char-mutant char-animal char-human" data-i18n-title="pack-rat-title" data-i18n="pack-rat">Pack Mule Talent?&nbsp;</span>
<span class="label char-robot" data-i18n-title="cargo-lift-title" data-i18n="cargo-lift">Cargo lift function?</span>
</div>
<div class="gear-box13">
<select class="input" name="attr_pack_rat">
<option value="1" data-i18n="no" selected>No</option>
<option value="2" data-i18n="yes">Yes</option>
</select>
</div>
</div>
</div>
<div class="vehicle-grid box toggle-pc-only chartype-background-light char-human-grid char-robot-grid">
<div class="vehicle-box1 header">
<h1 data-i18n="vehicle-u">VEHICLE</h1>
</div>
<input class="expand" type="checkbox" name="attr_expand_vehicle1" value="1" data-i18n-title="show-hide" title="show/hide" style="margin-top: 3.35em;" /><span></span>
<input class="vehicle-box2 input" type="text" name="attr_vehicle_name" value="" title="@{vehicle_name}" data-i18n-placeholder="name" placeholder="Name" />
<!-- expand 2nd row -->
<textarea class="vehicle-box-desc vehicle-row2 input-textarea" name="attr_vehicle_description"
title="@{vehicle_description}" data-i18n-placeholder="description" placeholder="description"></textarea>
<!-- First row of stats -->
<div class="vehicle-box3">
<span class="label" data-i18n="bonus">Bonus</span>
<input class="input-number" type="number" name="attr_vehicle_bonus" value="0" title="@{vehicle_bonus}" />
</div>
<div class="vehicle-box4">
<input class="input-number" type="number" name="attr_vehicle_maxload" value="0" title="@{vehicle_maxload}" />
<span class="label" data-i18n="carry-load">Max load</span>
</div>
<div class="vehicle-box5">
<span class="label" data-i18n="armor">Armor</span>
<input class="vehicle-box6 input-number" type="number" name="attr_vehicle_armor" value="0" title="@{vehicle_armor}" />
</div>
<div class="vehicle-box7">
<input class="input-number" type="number" name="attr_vehicle_resilience" value="0" title="@{vehicle_resilience}" />
<span class="label" data-i18n="resilience">Resilience</span>
</div>
<div class="vehicle-box9">
<span class="label" data-i18n="fuel">Fuel</span>
<input class="input-number" type="number" name="attr_vehicle_fuel" value="0" title="@{vehicle_fuel}" />
</div>
<div class="vehicle-box11">
<input class="input-number" type="number" name="attr_vehicle_fuel_cap" value="0" title="@{vehicle_fuel}" />
<span class="label" data-i18n="fuel-capacity">Fuel Capacity</span>
</div>
<div class="vehicle-box13">
<span class="label" data-i18n="occupants">Occupants</span>
<input class="input-number" type="number" name="attr_vehicle_occupants" value="0" title="@{vehicle_occupants}" />
</div>
<div class="vehicle-box15">
<input class="input-number" type="number" name="attr_vehicle_seats" value="1" title="@{vehicle_seats}" />
<span class="label" data-i18n="seats">Seats</span>
</div>
<!-- vehicle gear -->
<div class="vehiclegear-box chartype-background-light">
<div class="vehiclegear-grid chartype-background-light">
<div class="vehiclegear-box1 header chartype-background-dark">
<h1 data-i18n="gear-on-vehicle">Gear on vehicle</h1>
</div>
<div class="vehiclegear-box2 column-header chartype-background-dark">
<span data-i18n="quantity-abbr">Qty</span>
</div>
<div class="vehiclegear-box3 column-header chartype-background-dark">
<span data-i18n="carried-abbr">Carried</span>
</div>
<div class="vehiclegear-box4 column-header chartype-background-dark">
<span data-i18n="weight-abbr">Wt</span>
</div>
<div class="vehiclegear-box5">
<fieldset class="repeating_vehicle">
<div class="vehiclegear-grid">
<input class="expand" type="checkbox" name="attr_expand" value="1" data-i18n-title="show-hide" title="show/hide" /><span></span>
<input class="vehiclegear-box1 input" type="text" name="attr_vehiclegear_name" value="" title="@{repeating_vehicle_$X_vehiclegear_name}" data-i18n-placeholder="item" placeholder="item" />
<input class="vehiclegear-box2 input-number" type="number" name="attr_vehiclegear_qty" value="1" title="Quantity @{repeating_vehicle_$X_vehiclegear_qty}" />
<input class="vehiclegear-box3 input" type="checkbox" name="attr_vehiclegear_carried" value="1" title="@{repeating_vehicle_$X_vehiclegear_carried}" checked />
<select class="vehiclegear-box4 input" name="attr_vehiclegear_weight" title="@{repeating_vehicle_$X_vehiclegear_weight}">
<option data-i18n="tiny-abbr" data-i18n-title="tiny" title="Tiny" value="0" selected>T</option>
<option data-i18n="quarter-abbr" data-i18n-title="quarter" title="Quarter" value="0.25">Q</option>
<option data-i18n="light-abbr" data-i18n-title="light" title="Light" value="0.5">L</option>
<option data-i18n="normal-abbr" data-i18n-title="normal" title="Normal" value="1">N</option>
<option data-i18n="heavy-abbr" data-i18n-title="heavy" title="Heavy" value="2">H</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>
</select>
<textarea class="vehiclegear-box5 input-textarea" name="attr_vehiclegear_description" title="@{repeating_vehicle_$X_vehiclegear_description}" data-i18n-placeholder="description" placeholder="description"></textarea>
</div>
</fieldset>
</div>
<div class="gear-weight">
<input type="checkbox" class="input-vehicle-advancedencumbrance hidden" name="attr_vehicle_advancedencumbrance" value="1" />
<div><span class="label" data-i18n="gear">Gear</span></div>
<div>
<input class="input-number" type="text" name="attr_vehiclegear_encumbrance" value="0" title="@{vehiclegear_encumbrance}" readonly />
</div>
<div class="advanced-vehicleencumbrance">
<span class="label" data-i18n="occupants">Occupants</span>
</div>
<div class="advanced-vehicleencumbrance">
<input class="input-number" type="text" name="attr_vehicle_occupants_weight" value="0" title="@{vehicle_occupants_weight}" readonly />
</div>
<div class="advanced-vehicleencumbrance">
<span class="label" data-i18n="fuel">Fuel</span>
</div>
<div class="advanced-vehicleencumbrance">
<input class="input-number" type="text" name="attr_vehicle_fuel_weight" value="0" title="@{vehicle_fuel_weight}" readonly />
</div>
</div>
<div class="vehiclegear-box6 column-header chartype-background-dark">
<input type="hidden" name="attr_vehicle_overencumbered" hidden readonly />
<div class="vehiclegear">
<span class="label encumberance" data-i18n="encumbrance">Encumbrance</span>
</div>
<div class="vehiclegear">
<input class="input-number" type="text" name="attr_vehiclegear_total" value="0" title="@{vehiclegear_total}" readonly />
</div>
<div class="gear">
<span class="label carry-separator"> / </span>
</div>
<div class="vehiclegear">
<span class="label carry-cap" data-i18n="carry-cap">Carry Cap</span>
</div>
<div class="vehiclegear">
<input class="input-number" type="text" name="attr_vehicle_carry" value="@{vehicle_carry}" title="@{vehicle_carry} = vehicle_strength x2, unvehicleed x4" readonly />
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="wrapper tab-content ark">
<div class="ark-grid">
<input type="checkbox" class="hidden force-show-arklevels" name="attr_force_show_arklevels" value="1" />
<input type="checkbox" class="hidden force-show-arkdetails" name="attr_force_show_arkdetails" value="1" />
<input type="checkbox" class="hidden force-show-projects" name="attr_force_show_projects" value="1" />
<div class="box ark-development chartype-background-dark char-human char-robot char-mutant">
<div class="ark-development-grid">
<div class="ark-development-box1 header">
<h1 data-i18n="development-u">DEVELOPMENT</h1>
</div>
<div class="ark-development-subheader ark-development-subheader1 column-header">
<span class="char-mutant char-animal" data-i18n="foodsupply">Food Supply</span>
<span class="char-robot" data-i18n="energy">Energy</span>
<span class="char-human" data-i18n="production">Production</span>
</div>
<div class="ark-development-subheader ark-development-subheader2 column-header">
<span class="char-mutant char-animal" data-i18n="culture">Culture</span>
<span class="char-robot" data-i18n="production">Production</span>
<span class="char-human" data-i18n="security">Security</span>
</div>
<div class="ark-development-subheader ark-development-subheader3 column-header">
<span class="char-mutant char-animal" data-i18n="technology">Technology</span>
<span class="char-robot" data-i18n="defence">Defence</span>
<span class="char-human" data-i18n="culture">Culture</span>
</div>
<div class="ark-development-subheader ark-development-subheader4 column-header">
<span class="char-mutant char-animal" data-i18n="warfare">Warfare</span>
<span class="char-robot" data-i18n="information">Information</span>
<span class="char-human" data-i18n="science">Science</span>
</div>
<div class="ark-development-col ark-development-col1">
<input type="number" class="input-number char-mutant char-animal" name="attr_ark_dev_food" />
<input type="number" class="input-number char-robot" name="attr_ark_dev_energy" />
<input type="number" class="input-number char-human" name="attr_ark_dev_prod" />
</div>
<div class="ark-development-col ark-development-col2">
<input type="number" class="input-number char-mutant char-animal" name="attr_ark_dev_cult" />
<input type="number" class="input-number char-robot" name="attr_ark_dev_prod" />
<input type="number" class="input-number char-human" name="attr_ark_dev_sec" />
</div>
<div class="ark-development-col ark-development-col3">
<input type="number" class="input-number char-mutant char-animal" name="attr_ark_dev_tech" />
<input type="number" class="input-number char-robot" name="attr_ark_dev_def" />
<input type="number" class="input-number char-human" name="attr_ark_dev_cult" />
</div>
<div class="ark-development-col ark-development-col4">
<input type="number" class="input-number char-mutant char-animal" name="attr_ark_dev_war" />
<input type="number" class="input-number char-robot" name="attr_ark_dev_info" />
<input type="number" class="input-number char-human" name="attr_ark_dev_sci" />
</div>
</div>
</div>
<div class="box ark-influence chartype-background-light char-human">
<div class="ark-influence-core ark-influence-grid">
<div class="ark-influence-header header">
<h1 data-i18n="thecore-influence-u">
THE CORE - INFLUENCE
</h1>
</div>
<div class="ark-influence-subheaderrow">
<span class="ark-influence ark-influence-subheader ark-influence-subheader1 column-header chartype-background-darkest" data-i18n="sector">Sector</span>
<span class="ark-influence ark-influence-subheader ark-influence-subheader2 column-header chartype-background-darkest" data-i18n="warburg">Warburg</span>
<span class="ark-influence ark-influence-subheader ark-influence-subheader3 column-header chartype-background-darkest" data-i18n="fortescue">Fortescue</span>
<span class="ark-influence ark-influence-subheader ark-influence-subheader4 column-header chartype-background-darkest" data-i18n="kilgore">Kilgore</span>
<span class="ark-influence ark-influence-subheader ark-influence-subheader5 column-header chartype-background-darkest" data-i18n="morningstar">Morningstar</span>
</div>
<div class="ark-influence-row">
<span class="ark-influence ark-influence-col ark-influence-col1 chartype-background-dark" data-i18n="nova-paloma">Nova Paloma</span>
<span class="ark-influence ark-influence-col ark-influence-col2"><input type="number" name="attr_novapaloma_warburg" class="input-number" value="0" min="0" max="2" /></span>
<span class="ark-influence ark-influence-col ark-influence-col3"><input type="number" name="attr_novapaloma_fortescue" class="input-number" value="0" min="0" max="2" /></span>
<span class="ark-influence ark-influence-col ark-influence-col4"><input type="number" name="attr_novapaloma_kilgore" class="input-number" value="0" min="0" max="2" /></span>
<span class="ark-influence ark-influence-col ark-influence-col5"><input type="number" name="attr_novapaloma_morningstar" class="input-number" value="0" min="0" max="2" /></span>
</div>
<div class="ark-influence-row">
<span class="ark-influence ark-influence-col ark-influence-col1 chartype-background-dark" data-i18n="old-koly">Old Koly</span>
<span class="ark-influence ark-influence-col ark-influence-col2"><input type="number" name="attr_oldkoly_warburg" class="input-number" value="0" min="0" max="2" /></span>
<span class="ark-influence ark-influence-col ark-influence-col3"><input type="number" name="attr_oldkoly_fortescue" class="input-number" value="0" min="0" max="2" /></span>
<span class="ark-influence ark-influence-col ark-influence-col4"><input type="number" name="attr_oldkoly_kilgore" class="input-number" value="0" min="0" max="2" /></span>
<span class="ark-influence ark-influence-col ark-influence-col5"><input type="number" name="attr_oldkoly_morningstar" class="input-number" value="0" min="0" max="2" /></span>
</div>
<div class="ark-influence-row">
<span class="ark-influence ark-influence-col ark-influence-col1 chartype-background-dark" data-i18n="pirius">Pirius</span>
<span class="ark-influence ark-influence-col ark-influence-col2"><input type="number" name="attr_pirius_warburg" class="input-number" value="0" min="0" max="2" /></span>
<span class="ark-influence ark-influence-col ark-influence-col3"><input type="number" name="attr_pirius_fortescue" class="input-number" value="0" min="0" max="2" /></span>
<span class="ark-influence ark-influence-col ark-influence-col4"><input type="number" name="attr_pirius_kilgore" class="input-number" value="0" min="0" max="2" /></span>
<span class="ark-influence ark-influence-col ark-influence-col5"><input type="number" name="attr_pirius_morningstar" class="input-number" value="0" min="0" max="2" /></span>
</div>
<div class="ark-influence-row">
<span class="ark-influence ark-influence-col ark-influence-col1 chartype-background-dark" data-i18n="tindertuft">Tindertuft</span>
<span class="ark-influence ark-influence-col ark-influence-col2"><input type="number" name="attr_tindertuft_warburg" class="input-number" value="0" min="0" max="2" /></span>
<span class="ark-influence ark-influence-col ark-influence-col3"><input type="number" name="attr_tindertuft_fortescue" class="input-number" value="0" min="0" max="2" /></span>
<span class="ark-influence ark-influence-col ark-influence-col4"><input type="number" name="attr_tindertuft_kilgore" class="input-number" value="0" min="0" max="2" /></span>
<span class="ark-influence ark-influence-col ark-influence-col5"><input type="number" name="attr_tindertuft_morningstar" class="input-number" value="0" min="0" max="2" /></span>
</div>
<div class="ark-influence-row">
<span class="ark-influence ark-influence-col ark-influence-col1 chartype-background-dark" data-i18n="northolme">Northolme</span>
<span class="ark-influence ark-influence-col ark-influence-col2"><input type="number" name="attr_northolme_warburg" class="input-number" value="0" min="0" max="2" /></span>
<span class="ark-influence ark-influence-col ark-influence-col3"><input type="number" name="attr_northolme_fortescue" class="input-number" value="0" min="0" max="2" /></span>
<span class="ark-influence ark-influence-col ark-influence-col4"><input type="number" name="attr_northolme_kilgore" class="input-number" value="0" min="0" max="2" /></span>
<span class="ark-influence ark-influence-col ark-influence-col5"><input type="number" name="attr_northolme_morningstar" class="input-number" value="0" min="0" max="2" /></span>
</div>
<div class="ark-influence-row">
<span class="ark-influence ark-influence-col ark-influence-col1 chartype-background-dark" data-i18n="calista">Calista</span>
<span class="ark-influence ark-influence-col ark-influence-col2"><input type="number" name="attr_calista_warburg" class="input-number" value="0" min="0" max="2" /></span>
<span class="ark-influence ark-influence-col ark-influence-col3"><input type="number" name="attr_calista_fortescue" class="input-number" value="0" min="0" max="2" /></span>
<span class="ark-influence ark-influence-col ark-influence-col4"><input type="number" name="attr_calista_kilgore" class="input-number" value="0" min="0" max="2" /></span>
<span class="ark-influence ark-influence-col ark-influence-col5"><input type="number" name="attr_calista_morningstar" class="input-number" value="0" min="0" max="2" /></span>
</div>
<div class="ark-influence-row">
<span class="ark-influence ark-influence-col ark-influence-col1 chartype-background-dark" data-i18n="hindenburg">Hindenburg</span>
<span class="ark-influence ark-influence-col ark-influence-col2"><input type="number" name="attr_hindenburg_warburg" class="input-number" value="0" min="0" max="2" /></span>
<span class="ark-influence ark-influence-col ark-influence-col3"><input type="number" name="attr_hindenburg_fortescue" class="input-number" value="0" min="0" max="2" /></span>
<span class="ark-influence ark-influence-col ark-influence-col4"><input type="number" name="attr_hindenburg_kilgore" class="input-number" value="0" min="0" max="2" /></span>
<span class="ark-influence ark-influence-col ark-influence-col5"><input type="number" name="attr_hindenburg_morningstar" class="input-number" value="0" min="0" max="2" /></span>
</div>
</div>
<div class="ark-influence-deep ark-influence-grid">
<div class="ark-influence-header header">
<h1 data-i18n="thedeep-influence-u">
THE DEEP - INFLUENCE
</h1>
</div>
<div class="ark-influence-subheaderrow">
<span class="ark-influence ark-influence-subheader ark-influence-subheader1 column-header chartype-background-darkest" data-i18n="sector">Sector</span>
<span class="ark-influence ark-influence-subheader ark-influence-subheader2 column-header chartype-background-darkest" data-i18n="warburg">Warburg</span>
<span class="ark-influence ark-influence-subheader ark-influence-subheader3 column-header chartype-background-darkest" data-i18n="fortescue">Fortescue</span>
<span class="ark-influence ark-influence-subheader ark-influence-subheader4 column-header chartype-background-darkest" data-i18n="kilgore">Kilgore</span>
<span class="ark-influence ark-influence-subheader ark-influence-subheader5 column-header chartype-background-darkest" data-i18n="morningstar">Morningstar</span>
</div>
<div class="ark-influence-row">
<span class="ark-influence ark-influence-col ark-influence-col1 chartype-background-dark" data-i18n="mosel">Mosel</span>
<span class="ark-influence ark-influence-col ark-influence-col2"><input type="number" name="attr_mosel_warburg" class="input-number" value="0" min="0" max="2" /></span>
<span class="ark-influence ark-influence-col ark-influence-col3"><input type="number" name="attr_mosel_fortescue" class="input-number" value="0" min="0" max="2" /></span>
<span class="ark-influence ark-influence-col ark-influence-col4"><input type="number" name="attr_mosel_kilgore" class="input-number" value="0" min="0" max="2" /></span>
<span class="ark-influence ark-influence-col ark-influence-col5"><input type="number" name="attr_mosel_morningstar" class="input-number" value="0" min="0" max="2" /></span>
</div>
<div class="ark-influence-row">
<span class="ark-influence ark-influence-col ark-influence-col1 chartype-background-dark" data-i18n="laborum">Laborum</span>
<span class="ark-influence ark-influence-col ark-influence-col2"><input type="number" name="attr_laborum_warburg" class="input-number" value="0" min="0" max="2" /></span>
<span class="ark-influence ark-influence-col ark-influence-col3"><input type="number" name="attr_laborum_fortescue" class="input-number" value="0" min="0" max="2" /></span>
<span class="ark-influence ark-influence-col ark-influence-col4"><input type="number" name="attr_laborum_kilgore" class="input-number" value="0" min="0" max="2" /></span>
<span class="ark-influence ark-influence-col ark-influence-col5"><input type="number" name="attr_laborum_morningstar" class="input-number" value="0" min="0" max="2" /></span>
</div>
<div class="ark-influence-row">
<span class="ark-influence ark-influence-col ark-influence-col1 chartype-background-dark" data-i18n="arcadium">Arcadium</span>
<span class="ark-influence ark-influence-col ark-influence-col2"><input type="number" name="attr_arcadium_warburg" class="input-number" value="0" min="0" max="2" /></span>
<span class="ark-influence ark-influence-col ark-influence-col3"><input type="number" name="attr_arcadium_fortescue" class="input-number" value="0" min="0" max="2" /></span>
<span class="ark-influence ark-influence-col ark-influence-col4"><input type="number" name="attr_arcadium_kilgore" class="input-number" value="0" min="0" max="2" /></span>
<span class="ark-influence ark-influence-col ark-influence-col5"><input type="number" name="attr_arcadium_morningstar" class="input-number" value="0" min="0" max="2" /></span>
</div>
<div class="ark-influence-row">
<span class="ark-influence ark-influence-col ark-influence-col1 chartype-background-dark" data-i18n="cinderfalls">Cinderfalls</span>
<span class="ark-influence ark-influence-col ark-influence-col2"><input type="number" name="attr_cinderfalls_warburg" class="input-number" value="0" min="0" max="2" /></span>
<span class="ark-influence ark-influence-col ark-influence-col3"><input type="number" name="attr_cinderfalls_fortescue" class="input-number" value="0" min="0" max="2" /></span>
<span class="ark-influence ark-influence-col ark-influence-col4"><input type="number" name="attr_cinderfalls_kilgore" class="input-number" value="0" min="0" max="2" /></span>
<span class="ark-influence ark-influence-col ark-influence-col5"><input type="number" name="attr_cinderfalls_morningstar" class="input-number" value="0" min="0" max="2" /></span>
</div>
<div class="ark-influence-row">
<span class="ark-influence ark-influence-col ark-influence-col1 chartype-background-dark" data-i18n="cogsofhel">Cogs of Hel</span>
<span class="ark-influence ark-influence-col ark-influence-col2"><input type="number" name="attr_cogsofhel_warburg" class="input-number" value="0" min="0" max="2" /></span>
<span class="ark-influence ark-influence-col ark-influence-col3"><input type="number" name="attr_cogsofhel_fortescue" class="input-number" value="0" min="0" max="2" /></span>
<span class="ark-influence ark-influence-col ark-influence-col4"><input type="number" name="attr_cogsofhel_kilgore" class="input-number" value="0" min="0" max="2" /></span>
<span class="ark-influence ark-influence-col ark-influence-col5"><input type="number" name="attr_cogsofhel_morningstar" class="input-number" value="0" min="0" max="2" /></span>
</div>
</div>
<div class="ark-influence-total ark-influence-grid">
<div class="ark-influence-header header">
<h1 data-i18n="total-influence-u">
TOTAL INFLUENCE
</h1>
</div>
<div class="ark-influence-subheaderrow">
<span class="ark-influence ark-influence-subheader ark-influence-subheader1 column-header chartype-background-darkest">&nbsp;</span>
<span class="ark-influence ark-influence-subheader ark-influence-subheader2 column-header chartype-background-darkest" data-i18n="warburg">Warburg</span>
<span class="ark-influence ark-influence-subheader ark-influence-subheader3 column-header chartype-background-darkest" data-i18n="fortescue">Fortescue</span>
<span class="ark-influence ark-influence-subheader ark-influence-subheader4 column-header chartype-background-darkest" data-i18n="kilgore">Kilgore</span>
<span class="ark-influence ark-influence-subheader ark-influence-subheader5 column-header chartype-background-darkest" data-i18n="morningstar">Morningstar</span>
</div>
<!-- <div class="ark-influence-row">
<span class="ark-influence ark-influence-col ark-influence-col1">&nbsp;</span>
<span class="ark-influence ark-influence-col ark-influence-col2"><input type="number" disabled readonly name="attr_total_warburg" class="input-number" value="(@{novapaloma_warburg}+@{oldkoly_warburg}+@{pirius_warburg}+@{tindertuft_warburg}+@{northolme_warburg}+@{calista_warburg}+@{hindenburg_warburg}+@{mosel_warburg}+@{laborum_warburg}+@{arcadium_warburg}+@{cinderfalls_warburg}+@{cogsofhel_warburg})" min="0" /></span>
<span class="ark-influence ark-influence-col ark-influence-col3"><input type="number" disabled readonly name="attr_total_fortescue" class="input-number" value="(@{novapaloma_fortescue}+@{oldkoly_fortescue}+@{pirius_fortescue}+@{tindertuft_fortescue}+@{northolme_fortescue}+@{calista_fortescue}+@{hindenburg_fortescue}+@{mosel_fortescue}+@{laborum_fortescue}+@{arcadium_fortescue}+@{cinderfalls_fortescue}+@{cogsofhel_fortescue})" min="0" /></span>
<span class="ark-influence ark-influence-col ark-influence-col4"><input type="number" disabled readonly name="attr_total_kilgore" class="input-number" value="(@{novapaloma_kilgore}+@{oldkoly_kilgore}+@{pirius_kilgore}+@{tindertuft_kilgore}+@{northolme_kilgore}+@{calista_kilgore}+@{hindenburg_kilgore}+@{mosel_kilgore}+@{laborum_kilgore}+@{arcadium_kilgore}+@{cinderfalls_kilgore}+@{cogsofhel_kilgore})" min="0" /></span>
<span class="ark-influence ark-influence-col ark-influence-col5"><input type="number" disabled readonly name="attr_total_morningstar" class="input-number" value="(@{novapaloma_morningstar}+@{oldkoly_morningstar}+@{pirius_morningstar}+@{tindertuft_morningstar}+@{northolme_morningstar}+@{calista_morningstar}+@{hindenburg_morningstar}+@{mosel_morningstar}+@{laborum_morningstar}+@{arcadium_morningstar}+@{cinderfalls_morningstar}+@{cogsofhel_morningstar})" min="0" /></span>
</div> -->
<div class="ark-influence-row">
<span class="ark-influence ark-influence-col ark-influence-col1">&nbsp;</span>
<span class="ark-influence ark-influence-col ark-influence-col2"><span class="input-span" name="attr_influence_warburg" value="0" title="@{influence_warburg}">0</span></span>
<span class="ark-influence ark-influence-col ark-influence-col3"><span class="input-span" name="attr_influence_fortescue" value="0" title="@{influence_fortescue}">0</span></span>
<span class="ark-influence ark-influence-col ark-influence-col4"><span class="input-span" name="attr_influence_kilgore" value="0" title="@{influence_kilgore}">0</span></span>
<span class="ark-influence ark-influence-col ark-influence-col5"><span class="input-span" name="attr_influence_morningstar" value="0" title="@{influence_morningstar}">0</span></span>
</div>
</div>
</div>
<div class="box ark-details chartype-background-dark char-mutant">
<div class="ark-details-grid">
<div class="ark-details-header header">
<h1 data-i18n="ark-u">
ARK
</h1>
</div>
<div class="ark-details-box ark-details-box1">
<span class="label ark-details-label" data-i18n="name">Name</span>
</div>
<div class="ark-details-box ark-details-box2">
<input class="input-text" type="text" name="attr_ark_name" value="" title="@{ark_name}" />
</div>
<div class="ark-details-box ark-details-box3">
<span class="label ark-details-label" data-i18n="type">Type</span>
</div>
<div class="ark-details-box ark-details-box4">
<input class="input-text" type="text" name="attr_ark_type" value="" title="@{ark_type}" />
</div>
<div class="ark-details-box ark-details-box5">
<span class="label ark-details-label" data-i18n="coordinates">Coordinates</span>
</div>
<div class="ark-details-box ark-details-box6">
<input class="input-text" type="text" name="attr_ark_coordinates" title="@{ark_coordinates}" />
</div>
<div class="ark-details-box ark-details-box7">
<span class="label ark-details-label" data-i18n="battle-level">Battle level</span>
</div>
<div class="ark-details-box ark-details-box8 ark-details-number">
<input class="input-number" type="text" name="attr_ark_battle_level" title="battle-level" readonly />
</div>
<div class="ark-details-box ark-details-box9">
<span class="label ark-description-label" data-i18n="description" style="margin: 0 5px 0 0;">Description</span>
<textarea class="input-textarea" name="attr_ark_description" title="@{ark_description}"></textarea>
</div>
</div>
</div>
<div class="box ark-other chartype-background-dark char-mutant">
<div class="ark-details-grid">
<div class="ark-details-header header">
<h1 data-i18n="other-u">
OTHER
</h1>
</div>
<div class="ark-details-box ark-details-box1">
<span class="label ark-details-label" data-i18n="population">Population</span>
</div>
<div class="ark-details-box ark-details-box2">
<input class="input-text ark-population" type="text" name="attr_ark_population" value="" min="0" title="@{ark_population}" />
</div>
<div class="ark-details-box ark-details-box3">
<span class="label ark-details-label" data-i18n="water-source">Water source</span>
</div>
<div class="ark-details-box ark-details-box4">
<input class="input-text" type="text" name="attr_ark_water_source" value="" title="@{ark_water_source}" />
</div>
<div class="ark-details-box ark-details-box5">
<span class="label ark-details-label" data-i18n="season">Season</span>
</div>
<div class="ark-details-box ark-details-box6">
<input class="input-text" type="text" name="attr_ark_season" title="@{ark_season}"/>
</div>
<div class="ark-details-box ark-details-box9">
<span class="label ark-description-label " data-i18n="notable-inhabitants">Notable inhabitants</span>
<textarea class="input-textarea" name="attr_ark_notableinhabitants" title="@{ark_notableinhabitants}"></textarea>
</div>
</div>
</div>
<div class="box ark-bosses chartype-background-light char-mutant">
<div class="ark-bosses-grid">
<div class="ark-bosses-box header">
<h1 data-i18n="bosses-u">BOSSES</h1>
</div>
<div class="ark-bosses-subheader ark-bosses-subheader1 column-header">
<span data-i18n="description">Description</span>
</div>
<div class="ark-bosses-subheader ark-bosses-subheader2 column-header">
<span data-i18n="type">Type</span>
</div>
<div class="ark-bosses-repeating">
<fieldset class="repeating_bosses">
<div class="ark-bosses-grid">
<input class="ark-bosses-box1 input-textarea" type="text" name="attr_name" value="" title="@{repeating_bosses_$X_name}" />
<input class="ark-bosses-box2 input-text" type="text" name="attr_type" value="" title="@{repeating_bosses_$X_type}" />
</div>
</fieldset>
</div>
</div>
</div>
<div class="box ark-projects chartype-background-light char-mutant char-robot">
<div class="ark-projects-grid">
<div class="ark-projects-box header">
<h1 data-i18n="projects-u">PROJECTS</h1>
</div>
<div class="ark-projects-box1 column-header">
<span data-i18n="project">Project</span>
</div>
<div class="ark-projects-box2 column-header">
<span data-i18n="comment">Comment</span>
</div>
<div class="ark-projects-box3 column-header">
<span data-i18n="skill">Skill</span>
</div>
<div class="ark-projects-box4 column-header">
<span data-i18n="workpoints">Work Points</span>
</div>
<div class="ark-projects-box5 column-header">
<span data-i18n="complete">Complete</span>
</div>
<div class="ark-projects-repeating">
<fieldset class="repeating_projects">
<div class="ark-projects-grid">
<input class="ark-projects-col ark-projects-box6 input-text" type="text" name="attr_name" title="@{repeating_projects_$X_name}" />
<input class="ark-projects-col ark-projects-box7 input-text" type="text" name="attr_comment" title="@{repeating_projects_$X_comment}" />
<input class="ark-projects-col ark-projects-box8 input-text" type="text" name="attr_skills" title="@{repeating_projects_$X_skills}" />
<span class="ark-projects-col ark-projects-box9">
<input class="input-number" type="number" name="attr_work_points" min="0" title="@{repeating_projects_$X_work_points}" /> /
<input class="input-number" type="number" name="attr_work_points_max" min="0" title="@{repeating_projects_$X_work_points_max}" />
</span>
<input class="ark-projects-col ark-projects-box10 input-checkbox" type="checkbox" name="attr_complete" title="@{repeating_projects_$X_complete}" />
</div>
</fieldset>
</div>
</div>
</div>
<div class="box ark-notes chartype-background-light">
<div class="ark-notes-grid">
<div class="ark-notes-box header">
<h1 data-i18n="ark-notes-u">ARK NOTES</h1>
</div>
<div class="ark-notes-box1 column-header">
<span data-i18n="title">Title</span>
</div>
<div class="ark-notes-box2 column-header">
<span data-i18n="note">Note</span>
</div>
<div class="ark-notes-repeating">
<fieldset class="repeating_ark-notes">
<div class="ark-notes-grid">
<div class="ark_notes-box3">
<input type="text" class="input-text" name="attr_notes_title" title="@{repeating_ark-notes_$X_notes_title}" />
</div>
<div class="ark_notes-box4">
<textarea class="input-textarea" name="attr_notes" title="@{repeating_ark-notes_$X_notes}"></textarea>
</div>
</div>
</fieldset>
</div>
</div>
</div>
</div>
</div>
<div class="wrapper tab-content zonelog">
<div class="box">
<div class="grid log-grid log-grid-header chartype-background-darkest">
<h1 class="header" data-i18n="zone-log-u">Zone Log</h1>
<h2 class="column-header log-box log-column1" data-i18n="coordinates">Coordinates</h2>
<h2 class="column-header log-box log-column2" data-i18n="terrain">Terrain</h2>
<h2 class="column-header log-box log-column3" data-i18n="rot-level">Rot Level</h2>
<h2 class="column-header log-box log-column4" data-i18n="threat">Threat</h2>
<h2 class="column-header log-box log-column5" data-i18n="threat-notes">Threat Notes</h2>
<h2 class="column-header log-box log-column6-13" data-i18n="resources-found">Resources Found</h2>
</div>
<!--<div class="grid log-grid log-grid-column-header chartype-background-darkest">
</div>-->
<div class="repeating-log-grid chartype-background-light">
<fieldset class="repeating_log">
<div class="grid log-grid chartype-background-light">
<input class="expand" type="checkbox" name="attr_expand" value="1" data-i18n-title="show-hide" title="show/hide" /><span></span>
<input class="input-text log-box log-column1" name="attr_coordinates" title="@{repeating_log_$X_coordinates}" type="text"value="" />
<input class="input-text log-box log-column2" name="attr_terrain" title="@{repeating_log_$X_terrain}" type="text" value="" />
<input class="input-number log-box log-column3" name="attr_rot_level" title="@{repeating_log_$X_rot_level}" type="number" value="" />
<input class="input log-box log-column4" name="attr_threat" title="@{repeating_log_$X_threat}" type="checkbox" /><span></span>
<input class="input-text log-box log-column5" name="attr_threat_notes" title="@{repeating_log_$X_threat_notes}" type="text" value="" />
<div class="log-box log-column6">
<label class="log-resources" title="artifacts" data-i18n-title="artifacts" data-i18n="artifacts-abbr">A</label><input class="input log-resources log-box log-column7 center" name="attr_artifacts" title="@{repeating_log_$X_artifacts}" type="checkbox" />
</div>
<div class="log-box log-column7">
<label class="log-resources" title="bullets" data-i18n-title="bullets" data-i18n="bullets-abbr">B</label><input class="input log-resources log-box log-column9 center" name="attr_bullets" title="@{repeating_log_$X_bullets}" type="checkbox" />
</div>
<div class="log-box log-column8">
<label class="log-resources" title="grub" data-i18n-title="grub" data-i18n="grub-abbr">G</label><input class="input log-resources log-box log-column11 center" name="attr_grub" title="@{repeating_log_$X_grub}" type="checkbox" />
</div>
<div class="log-box log-column9">
<label class="log-resources" title="water" data-i18n-title="water" data-i18n="water-abbr">W</label><input class="input log-resources log-box log-column13 center" name="attr_water" title="@{repeating_log_$X_water}" type="checkbox" />
</div>
<textarea class="input-textarea log-box log-comments" data-i18n-placeholder="comment" name="attr_comment" placholder="Comment" title="@{repeating_log_$X_comment}" value="" ></textarea>
</div>
<!--hr class="chartype-background-light" /-->
</fieldset>
</div>
</div>
</div>
<div class="wrapper tab-content settings">
<!--announcements/updates-->
<input type="checkbox" class="announcements-show" name="attr_show_announcements" value="1" data-i18n-title="version-announcements" title="Sheet version and announcements" style="width: 4.5em; height: 2em;">
<span class="announcements-show" name="attr_version">&nbsp;</span>
<div class="settings-tab-grid">
<div class="settings-options">
<h3 data-i18n="roll-options">Roll options</h3>
<input type="hidden" name="attr_translation_whisper_query" value="whisper-query" />
<input type="hidden" name="attr_translation_whisper_api_query" value="whisper_api-query" />
<input type="hidden" name="attr_whisper_option" value="" hidden />
<input type="hidden" name="attr_whisper_option_api" value="!myz" hidden />
<input type="hidden" name="attr_whisper_command" value="/w gm" />
<input type="hidden" name="attr_whisper_command_api" value="!wmyz" />
<span style="display: none;" name="attr_translation_whisper_macro_query" value=""></span>
<span style="display: none;" name="attr_translation_whisper_api_macro_query" value=""></span>
<span style="display: none;" data-i18n="whisper-query">Whisper roll?</span>
<span style="display: none;" data-i18n="yes">yes</span>
<span style="display: none;" data-i18n="no">no</span>
<!-- <span data-i18n="whisper-options">Default whisper option</span>
<select name="attr_whisper" title="@{whisper}">
<option value="0" data-i18n="whisper-nothing" selected default>Do not whisper rolls</option>
<option value="1" data-i18n="whisper-rolls">Whisper rolls to the GM</option>
<option value="2" data-i18n="whisper-query">Always use a query (hide whisper option in dice pool).</option>
</select> -->
<div>
<span data-i18n="whisper-default-option">Roll whisper default option</span>
<select name="attr_whisper" title="@{whisper}">
<option value="0" data-i18n="whisper-nothing" selected default>Do not whisper</option>
<option value="1" data-i18n="whisper-rolls">Whisper to the GM</option>
<option value="2" data-i18n="whisper-query">Use a query</option>
</select>
</div>
<div>
<!-- <input type="hidden" name="attr_rolltemplate_option" value="myz" hidden /> -->
<span data-i18n="rolltemplate-option">Roll template</span>
<select name="attr_rolltemplate_option">
<option value="myz" data-i18n="rolltemplate-use-new">Use new (rows of dice)</option>
<option value="mutantyearzero" data-i18n="rolltemplate-use-legacy" selected default>Use legacy (columns of dice)</option>
</select>
</div>
<div>
<input type="checkbox" name="attr_reset_pool" value="1" title="@{api_toggle}" style="vertical-align: center;" />
<span data-i18n="reset-pool" data-i18n-title="reset-pool-desc">Clear the dice pool after rolling</span>
</div>
<!-- <div>
<input type="checkbox" name="attr_whisper" value="1" />
<span data-i18n="whisper-default-option">Whisper rolls by default</span>
</div>
<input type="checkbox" name="attr_whisper_query" value="1" />
<span data-i18n="whisper-query-option">Ask if roll should be whispered (use query)</span>
</div> -->
<div>
<input type="checkbox" name="attr_api_toggle" value="1" title="@{api_toggle}" style="vertical-align: center;" />
<span data-i18n="api-toggle">Use API script for dice rolls (requires paid account)</span>
</div>
<!-- <div>
<span data-i18n="whisper-options">Whisper Options:</span>
<select name="attr_whisper_option" title="@{whisper_option}">
<option value="" data-i18n="whisper-nothing" selected>Do not whisper rolls(default).</option>
<option value="/w gm" data-i18n="whisper-rolls">Whisper all rolls to the GM.</option>
<option value="@{translation_whisper_macro_query}" data-i18n="whisper-query">Use a query.</option>
</select>
</div>
<div>
<span data-i18n="whisper-options-api">API Whisper Options:</span>
<select name="attr_whisper_option_api" title="@{whisper_option_api}">
<option value="!myz" data-i18n="whisper-nothing" selected>Do not whisper rolls(default).</option>
<option value="!wmyz" data-i18n="whisper-rolls">Whisper all rolls to the GM.</option>
<option value="@{translation_whisper_api_macro_query}" data-i18n="whisper-query">Use a query.</option>
</select>
</div> -->
<!-- used to translate query-->
<div>&nbsp;</div>
<h3 data-i18n="sheet-options">Sheet options</h3>
<div>
<input type="checkbox" name="attr_allowscaling" value="1" title="@{allow-scaling}" style="vertical-align: center;" />
<span data-i18n="allow-scaling">Allow scaling of the sheet to make it fit in a smaller window (not to be used with built-in sheet zoom option)</span>
</div>
<div>&nbsp;</div>
<div>
<input type="checkbox" name="attr_vehicle_advancedencumbrance" value="1" title="@{vehicle_advancedencumbrance}" style="vertical-align: center;" />
<span data-i18n="adv-vehicleencumbrance">Advanced vehicle encumbrance</span>
</div>
<div>
<input type="checkbox" name="attr_adv-modifiers" value="1" title="@{adv-modifiers}" style="vertical-align: center;" />
<span data-i18n="adv-modifiers">Show attribute, skill and gear modifiers in lists</span>
</div>
<div>
<input type="checkbox" name="attr_header-bgimg" value="1" title="@{header-bgimg}" style="vertical-align: center;" />
<span data-i18n="adv-headerbgimg">Show header background images (mutant only)</span>
</div>
<div>
<input type="checkbox" name="attr_consumables-icons" value="1" title="@{consumables-icons}" style="vertical-align: center;" />
<span data-i18n="adv-consumables-icons">Show consumables as icons</span>
</div>
<div>
<input type="checkbox" name="attr_powerincrease" value="1" title="@{powerincrease}" style="vertical-align: center;" />
<span data-i18n="adv-increase-power">Increase max Energy points by 2 (Backup Power)</span>
</div>
<div>&nbsp;</div>
<div>
<div><span data-i18n="traits-visibility">Display options for character traits</span></div>
<div style="margin-left: 10px;">
<input type="checkbox" name="attr_force_show_mutations" label="Mutations" value="1" title="@{force_show_mutations}" style="vertical-align: center;" />
<span data-i18n="show-mutations">Show Mutations</span>
</div>
<div style="margin-left: 10px;">
<input type="checkbox" name="attr_force_show_animalpowers" label="Animal powers" value="1" title="@{force_show_animalpowers}" style="vertical-align: center;" />
<span data-i18n="show-animalpowers">Show Animal powers</span>
</div>
<div style="margin-left: 10px;">
<input type="checkbox" name="attr_force_show_contacts" label="Contacts" value="1" title="@{force_show_contacts}" style="vertical-align: center;" />
<span data-i18n="show-contacts">Show Contacts</span>
</div>
<div style="margin-left: 10px;">
<input type="checkbox" name="attr_force_show_biomech" label="Biomechatronics" value="1" title="@{force_show_biomech}" style="vertical-align: center;" />
<span data-i18n="show-biomechatronics">Show Biomechatronics</span>
</div>
<div style="margin-left: 10px;">
<input type="checkbox" name="attr_force_show_modules" label="Modules" value="1" title="@{force_show_modules}" style="vertical-align: center;" />
<span data-i18n="show-modules">Show Modules</span>
</div>
<div style="margin-left: 10px;">
<input type="checkbox" name="attr_force_show_money" label="Money" value="1" title="@{force_show_money}" style="vertical-align: center;" />
<span data-i18n="show-money">Show Money</span>
</div>
<div style="margin-left: 10px;">
<input type="checkbox" name="attr_force_show_vehicle" label="Vehicle" value="1" title="@{force_show_vehicle}" style="vertical-align: center;" />
<span data-i18n="show-vehicle">Show Vehicle</span>
</div>
<div style="margin-left: 10px;">
<input type="checkbox" name="attr_force_show_rot" label="Rot" value="1" title="@{force_show_rot}" style="vertical-align: center;" />
<span data-i18n="show-rot">Show Rot points (only Robots)</span>
</div>
<div style="margin-left: 10px;">
<input type="checkbox" name="attr_force_show_arklevels" label="Ark details" value="1" title="@{force_show_arklevels}" style="vertical-align: center;" />
<span data-i18n="show-arklevels">Show Ark development levels</span>
</div>
<div style="margin-left: 10px;">
<input type="checkbox" name="attr_force_show_arkdetails" label="Ark details" value="1" title="@{force_show_arkdetails}" style="vertical-align: center;" />
<span data-i18n="show-arkdetails">Show Ark details</span>
</div>
<div style="margin-left: 10px;">
<input type="checkbox" name="attr_force_show_projects" label="Ark projects" value="1" title="@{force_show_projects}" style="vertical-align: center;" />
<span data-i18n="show-projects">Show Ark projects</span>
</div>
</div>
<div>&nbsp;</div>
<div>
<input type="checkbox" name="attr_force_show_monsterinfo" value="1" title="@{force_show_monsterinfo}" style="vertical-align: center;" />
<span data-i18n="adv-legacy-monster-info">Display legacy (v1) NPC / Monster information, e.g. Abilities, Skills, Weapons fields.</span>
</div>
</div>
<div class="announcements">
<h3 data-i18n="latest-announcements">Latest Announcements</h3>
<ol>
<span>v3.10</span>
<li>Added a checkbox in dice pool to indicate and toggle whether a roll is pushable or not. This will automatically be set to disabled for e.g. Armor and Rot rolls.</li>
<li>Removed button used for enabling API script rolling from the dice pool, this can now be enabled in the Settings tab if needed.</li>
<li>Added options in the Dice Pool to change whisper for rolls, and changed how the default behaviour is configured in the Settings tab.
The setting now controls whether the Whisper roll to GM checkbox will be enabled, disabled or use a query by default, and it is the same setting for both regular and API rolls.</li>
<li>Added a D6 roll button.</li>
<li>Made buttons in the Dice Pool change color according to how many are selected, to make it easier to see how many dice are in the pool. </li>
<li>Added an option to display dice differently, they can now be shown in a row sequentially instead of in their own columns. The row-based view is similar to how the API script would output dice rolls.
There is a configuration in the Settings tab (and sheet settings) to change between the new row based and the "legacy" column-based way of displaying the dice.</li>
<li>Made the roll template background color based on the character type, to make it similar to the sheet color. </li>
<li>Fixed how attributes and skills are translated, previously they used global sheetworker variables which meant the latest character sheet opened dictated
what the translation would be. By using different HTML tags for each character type rather than translated attributes based on aforementioned sheetworker variables, this
no longer causes translations to be overrun by the latest opened sheet. E.g. if you open a sheet for a Robot character amd switch to an already open Mutant, then any rolls
from the Mutant sheet would show the Robot skill or attribute names. </li>
<li>Changed wording on the Pack Mule talent for robots to the correct Cargo lift function. </li>
<li>Added a configuration in the Settings tab for increasing max energy points for Robots to 12, for use with secondary function Backup Power. </li>
<li>Added a Know the Zone modifier input field to the NPC/Monster tab</li>
</ol>
<ol>
<span>v3.01 (2025-11-07)</span>
<li>Fixed negative dice in Custom Roll Parsing.</li>
</ol>
<ol>
<span>v3.00 (2025-11-05)</span>
<li>Added custom roll parsing - push rolls within the roll result in chat
<ul>
<li>Rolls will now use the custom roll parsing functionality, and can thus be pushable without using the API.</li>
<li>Once a roll has been made, the output in the chat message will include a push button. </li>
<li>There is (currently) no limit to how many times you can push, to support certain talents and auto-fire.
Once past the first push, the number of pushed rolls will show in the header. </li>
</ul>
</li>
<li>Fixed issue calculation of Battle Level. It now correctly updates to new level once you reach 10, 20, 30 etc. </li>
<li>Now hiding Rot points section for Robots, they are unaffected by Rot. Added an option to force display it just in case. </li>
</ol>
<br />
<span data-i18n-title="announcements-older-show"><span data-i18n="old-announcements">Older Announcements</span></span>
<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>v2.04 (2022-02-08)</span> <!-- Also need to update the sheetversion attribute at top of file (no need to update version in Sheet worker code below, it uses the attribute instead) -->
<li>Fixed Buddy checkbox.</li>
</ol>
<ol>
<span>v2.03 (2021-10-01)</span> <!-- Also need to update the sheetversion attribute at top of file (no need to update version in Sheet worker code below, it uses the attribute instead) -->
<li>Added an option to display consumables as Icons rather than text.</li>
<li>There was a misspelling in the Influence points #5 making it unselectable, this is now fixed. </li>
</ol>
<ol>
<span>v2.02 (2021-07-20)</span>
<li>Fixed upgrade issues, e.g. active tab, identifying version 1 upgrades vs new sheets better.
<ul>
<li>Fixed issue with version updating during upgrade. The version would stay on 0 both for upgraded and new characters, this has now been fixed and should show 2.02.</li>
<li>Fixed issue with attributes total not setting after upgrade. </li>
<li>Fixed issue with mutations and armor not upgrading properly. Mutations and armor that were not properly moved from v1 will now be added, unless they have already been readded.
This is checked by using the mutation or armor name, and could result in an mutations or armor reappearing if the name used has changed from v1 and the readded one.
Any added mutation while there are other readded ones will be marked with a asterisk* for clarity, which can be deleted if not needed. </li>
<li>Fixed issues with weapons upgrade where base, skill and grip was not updating properly.</li>
<li>Set so that mutation points only upgrade when upgraded from version 1 and no mutationspoints has been added. If still needing the mutation points from version 1, they can be found on the settings page in the version 1 data list. </li>
<li>Fixed issue with tab selection after upgrade when tab was NPC before upgrade. The NPC/Monster tab will now be selected, instead of a blank tab. This will also enable the legacy (v1) monster informaiton box (see below).</li>
<li>Added an expandable list at the bottom of the settings page with the previous version 1 data, e.g. mutation points, armor, monster info.</li>
<li>Some sheetworker calculations needs a reload of the character sheet after upgrading, such as the armor encumbrance calculation. Just close the character and re-open to resolve.</li>
</ul>
</li>
<li>Fixed issue with attributes max values, including monster strength. Attributes max value is now 12, except for Strength on the NPC/Monster page that has a maximum of 40. </li>
<li>Fixed strength biohazard damage display issue on the NPC/Monster tab. One biohazard was misnamed in the stylesheet and not displaying, this is now resolved. </li>
<li>Fixed issue with attribute totals on opening of sheet. Attribute totals are now re-calculated on sheet opening. </li>
<li>Fixed an issue whereby Grub / Food was not included in the encumberance calculation. </li>
<li>Fixed an issue with initial encumbrance, it used to state 1 at creation of character, it will now correctly state 0. </li>
<li>Fixed translation for pack mule talent and conditions.</li>
<li>Fixed legacy (v1) monster information, now optional to display in NPC / Monster tab. The information can be found in the Attributres and Abilities tab,
e.g. description, Skills, Weapons and Armor attributes. The information can also be found in the version 1 data list on the Settings tab. </li>
<li>Fixed and readded the D666 button on popular demand.</li>
<li>Fixed the Initiative button - it now tries to add the selected token to the Turn Tracker. This works well for the players, who can normally only control and select their own token.
For the GM you will need to keep track of the token selected when you click Initiative. If no token selected, and informative notice will be posted in chat.</li>
<li>Added background image for the rolltemplate.</li>
<li>Added option to select default character type for new characters in the sheet.json, so that it can be selected in the Game Settings.</li>
</ol>
<ol>
<span>v2.01 (2021-06-10)</span> <!-- Also need to update the version in Sheet worker code below -->
<li>Fixed translation issue caused by incomplete merge and build.</li>
<li>Added more apparent highlighting of conditions.</li>
<li>Fixed the dice pool indicator for the Roll button.</li>
</ol>
<ol>
<span>v2.0 (2021-05-24)</span> <!-- Also need to update the version in Sheet worker code below -->
<li>Upgradeable from the version 1.12, using sheet worker versioning.</li>
<li>Fixing Dice pool issues in previous version.</li>
<li>Adding additional graphics.</li>
<li>Published to Roll20, for full list of updates and fixes see pre-v2.0 announcement below.</li>
</ol>
<br />
<ol>
<span>pre-v2.0</span>
<li>Updated the sheet with the offical Mutant Year Zero logo.</li>
<li>Updated version. </li>
<li>Added a selection for Character Type a la MYZ Alternative sheet, in a dropdown integrated in the tabs. The chosen character type determines what is included in the sheet as well as the color scheme.</li>
<li>Updated roll template for MYZ dice.</li>
<li>Updated API roll macro to use the Mutant Year Zero macro (!myz). </li>
<li>Made Armor a repeatable section with one row per armor item, with encumberance and total Armor Rating as a button to use for Armor Rolls. </li>
<li>Added item weight Quarter, to allow assigning 0.25 weight units to items (if wanted). Also added titles to weight dropdowns.</li>
<li>Modified consumables for MYZ rules and added E-packs. </li>
<li>Added Money section for Elysium and Currency project. </li>
<li>Added Animal Powers, Modules, Biomech and Contacts traits for the different character types. </li>
<li>Updated Rot points to display properly and moved into third column. Please note there is no functionality for Rot rolls.</li>
<li>Made it possible to force display of the different traits, e.g. in case Biomechatroid animals, mutated humans, etc. </li>
<li>Default sheet settings have been added. Make default changes from the campaign Settings page. These defaults
will apply to all new sheets. To apply these changes to all existing sheets as well, you must also use the
"Apply Default Settings" button found at the bottom of the sidebar's "My Settings" page.
Currently, Advanced vehicle encumbrance and Add Modifiers are the only seetings available this way.</li>
<li>Skills, weapons, and armor have additional Modifiers for to make updating the Dice pool easier.</li>
<li>Profession specific skills added as a repeating section at the bottom of skill list, with same columns in the list as the normal skills.
The skill attribute is selecteable through a dropdown. </li>
<li>All Attributes are rollable, using the Dice pool.</li>
<li>Added option to configure one Vehicle, including advanced vehicle information such as Resilience, Armor, Fuel, Occupants.
Encumberance can either be straight up based on Gear, or calculated using occupants, fuel, and gear.</li>
<li>Repeating row text "+Add" and "Modify" replaced with simple icons.</li>
<li>Full Swedish translations have been added. </li>
<li>Biohazards used to indicate the damage on Attributes. </li>
<li>Removed toggleable 2nd row to each skill.</li>
<li>Added Ark page, which dependent on the character type will display the relevant items such as Projects, Development levels, Influence and Sectors.</li>
<li>Added setting to display Ark page component Projects, Development levels, and Ark details for any character type.</li>
<li>Updated Monster page to align with updated lists and displayed boxes, as well as the MYZ monster features.</li>
<li>Updated and expanded Relationship section at the bottom of the character sheet. </li>
<li>Added fonts Oswald and Didact Gothic to make similar to paper sheet. </li>
<li>Fixed Profession skill dice pool calculation bug (Thanks GiGs).</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: 10px 0 0 -10px; position: relative;" />
<span class="announcements-exit" data-i18n-title="close">*</span>-->
<div><br /></div>
<div style="display: inline-block; width: 100%; margin-top: 10px;">
<span data-i18n-title="old-data-show"><span>Data from sheet version 1 </span>:</span>
<input type="checkbox" class="v1-data-show" name="attr_v1_data_show" value="1" data-i18n-title="version1-data" />
<span data-i18n-title="v1-data">&nbsp;</span>
<div class="v1-data-show" style="margin: 0 2em 0 2em; padding: 1em 1em 1em 3em;">
<div>
<div style="display:flex; flex-direction: row; width: 100%;">
<div style="border: 1px solid black; width: 20%; margin: 0; padding: 3px;">Data</div>
<div style="border: 1px solid black; width: 70%; margin: 0; padding: 3px;">Value</div>
</div>
<div style="display:flex; flex-direction: row; width: 100%;">
<div style="border: 1px solid black; width: 20%; margin: 0; padding: 3px;">Mutations</div>
<div style="border: 1px solid black; width: 70%; margin: 0; padding: 3px; text-align: left; display:flex;flex-direction: row;">
<fieldset class="repeating_mutantions">
<div style="width: 100%;">
<span name="attr_mutantion_name" value="" title="@{repeating_mutantions_$X_mutantion_name}" placeholder="Name"></span>,
<span name="attr_mutantion_description" title="@{repeating_mutantions_$X_mutantion_description}" placeholder="description"></span>. <br />
</div>
</fieldset>
</div>
</div>
<div style="display:flex; flex-direction: row; width: 100%;">
<div style="border: 1px solid black; width: 20%; margin: 0; padding: 3px;">Mutation points</div>
<div style="border: 1px solid black; width: 70%; margin: 0; padding: 3px; text-align: left"><span name="attr_mutation"></span></div>
</div>
<div style="display:flex; flex-direction: row; width: 100%;">
<div style="border: 1px solid black; width: 20%; margin: 0; padding: 3px;">Permanent rot points</div>
<div style="border: 1px solid black; width: 70%; margin: 0; padding: 3px; text-align: left"><span name="attr_rot_permenant"></span></div>
</div>
<div style="display:flex; flex-direction: row; width: 100%;">
<div style="border: 1px solid black; width: 20%; margin: 0; padding: 3px;">Armor 1</div>
<div style="border: 1px solid black; width: 70%; margin: 0; padding: 3px; text-align: left">
<div><span name="attr_armor1_name"></span>, </div><div> Bonus: <span name="attr_armor1_bonus"></span></div><div> Damage: <span name="attr_armor1_damage"></span></div><div> Armor rating: <span name="attr_armor1_ar"></span></div><div> Equipped: </span><span name="attr_armor1_equiped"></span></div>
</div>
</div>
<div style="display:flex; flex-direction: row; width: 100%;">
<div style="border: 1px solid black; width: 20%; margin: 0; padding: 3px;">Armor 2</div>
<div style="border: 1px solid black; width: 70%; margin: 0; padding: 3px; text-align: left">
<div><span name="attr_armor2_name"></span>, </div><div> Bonus: <span name="attr_armor2_bonus"></span></div><div> Damage: <span name="attr_armor2_damage"></span></div><div> Armor rating: <span name="attr_armor2_ar"></span></div><div> Equipped: </span><span name="attr_armor2_equiped"></span></div>
</div>
</div>
<div style="display:flex; flex-direction: row; width: 100%;">
<div style="border: 1px solid black; width: 20%; margin: 0; padding: 3px;">Ark levels</div>
<div style="border: 1px solid black; width: 70%; margin: 0; padding: 3px; text-align: left">
<div><span>Food: </span><span name="attr_ark_food_supply"></span></div>
<div><span>Culture:</span> <span name="attr_ark_culture"></span></div>
<div><span>Technology: </span><span name="attr_ark_technology"></span></div>
<div><span>Warfare: </span><span name="attr_ark_warfare"></span></div>
</div>
</div>
<div style="display:flex; flex-direction: row; width: 100%;">
<div style="border: 1px solid black; width: 20%; margin: 0; padding: 3px;">monster info</div>
<div style="border: 1px solid black; width: 70%; margin: 0; padding: 3px; text-align: left">
<div><span>Description: </span><span name="attr_description"></span></div>
<div><span>Skills:</span> <span name="attr_skills"></span></div>
<div><span>Armor: </span><span name="attr_armor"></span></div>
<div><span>Weapons: </span><span name="attr_weapons"></span></div>
<div><span>Abilities: </span>
<fieldset class="repeating_abilities">
<input name="attr_name" type="text" value="" />
<textarea name="attr_description"></textarea>
</fieldset>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- Roll Templates -->
<rolltemplate class="sheet-rolltemplate-myz">
<div class="sheet-rolltemplate-mutantyearzero">
{{#rollTotal() chartype_id 1}}
<div class="template-wrap mutant">
{{/rollTotal() chartype_id 1}}
{{#rollTotal() chartype_id 2}}
<div class="template-wrap animal">
{{/rollTotal() chartype_id 2}}
{{#rollTotal() chartype_id 3}}
<div class="template-wrap robot">
{{/rollTotal() chartype_id 3}}
{{#rollTotal() chartype_id 4}}
<div class="template-wrap human">
{{/rollTotal() chartype_id 4}}
{{#rollLess() chartype_id 1}}
<div class="template-wrap mutant">
{{/rollLess() chartype_id 1}}
{{#rollGreater() chartype_id 4}}
<div class="template-wrap mutant">
{{/rollGreater() chartype_id 4}}
<div class="template-grid">
<div class="template-grid-item template-span-six template-header">
{{#character_name}}
<div class="template-grid-item template-span-two">
{{#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-one 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-two">
{{#rollGreater() pushroll 0}} Push{{#rollGreater() pushroll 1}} {{pushroll}}{{/rollGreater() pushroll 1}}: {{/rollGreater() pushroll 0}}
{{name}}
</div>
{{/name}}
</div>
{{#subtitle}}
<div class="template-grid-item template-span-six template-subtitle">
&ldquo;<span>{{subtitle}}</span>&rdquo;<br />
</div>
{{/subtitle}}
<!--- dice pool -->
<div class="dice-roll template-span-six">
<!-- ATTRIBUTE DICE -->
{{#attribute-die-one}}
<div class="template-dice template-yellow-dice">
{{#rollTotal() attribute-roll-one 1}}
<span data-i18n-title="bane" title="Bane">&#9763;&#xFE0E;</span>
<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/bane_skull_black.png" alt="Bane" class="template-bane" /> -->
{{/rollTotal() attribute-roll-one 1}} {{#rollBetween() attribute-roll-one 2 5}} {{attribute-roll-one}}
{{/rollBetween() attribute-roll-one 2 5}}
{{#rollTotal() attribute-roll-one 6}}
<span data-i18n-title="success" title="Success">&#9762;</span>
<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/success_swords_black.png" alt="Success" class="template-success" /> -->
{{/rollTotal() attribute-roll-one 6}}
</div>
{{/attribute-die-one}}
{{#rollTotal() attribute-die-two 1}}
<div class="template-grid-item template-span-two template-dice template-yellow-dice">
{{#rollTotal() attribute-roll-two 1}}
<span data-i18n-title="bane" title="Bane">&#9763;&#xFE0E;</span>
<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/bane_skull_black.png" alt="Bane" class="template-bane" /> -->
{{/rollTotal() attribute-roll-two 1}}
{{#rollBetween() attribute-roll-two 2 5}} {{attribute-roll-two}}
{{/rollBetween() attribute-roll-two 2 5}}
{{#rollTotal() attribute-roll-two 6}}
<span data-i18n-title="success" title="Success">&#9762;</span>
<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/success_swords_black.png" alt="Success" class="template-success" /> -->
{{/rollTotal() attribute-roll-two 6}}
</div>
{{/rollTotal() attribute-die-two 1}}
{{#rollTotal() attribute-die-three 1}}
<div class="template-grid-item template-span-one template-dice template-yellow-dice">
{{#rollTotal() attribute-roll-three 1}}
<span data-i18n-title="bane" title="Bane">&#9763;&#xFE0E;</span>
<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/bane_skull_black.png" alt="Bane" class="template-bane" /> -->
{{/rollTotal() attribute-roll-three 1}}
{{#rollBetween() attribute-roll-three 2 5}} {{attribute-roll-three}} {{/rollBetween() attribute-roll-three 2 5}}
{{#rollTotal() attribute-roll-three 6}}
<span data-i18n-title="success" title="Success">&#9762;</span>
<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/success_swords_black.png" alt="Success" class="template-success" /> -->
{{/rollTotal() attribute-roll-three 6}}
</div>
{{/rollTotal() attribute-die-three 1}}
{{#rollTotal() attribute-die-four 1}}
<div class="template-grid-item template-span-two template-dice template-yellow-dice">
{{#rollTotal() attribute-roll-four 1}}
<span data-i18n-title="bane" title="Bane">&#9763;&#xFE0E;</span>
<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/bane_skull_black.png" alt="Bane" class="template-bane" /> -->
{{/rollTotal() attribute-roll-four 1}}
{{#rollBetween() attribute-roll-four 2 5}} {{attribute-roll-four}} {{/rollBetween() attribute-roll-four 2 5}}
{{#rollTotal() attribute-roll-four 6}}
<span data-i18n-title="success" title="Success">&#9762;</span>
<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/success_swords_black.png" alt="Success" class="template-success" /> -->
{{/rollTotal() attribute-roll-four 6}}
</div>
{{/rollTotal() attribute-die-four 1}}
{{#rollTotal() attribute-die-five 1}}
<div class="template-grid-item template-span-one template-dice template-yellow-dice">
{{#rollTotal() attribute-roll-five 1}}
<span data-i18n-title="bane" title="Bane">&#9763;&#xFE0E;</span>
<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/bane_skull_black.png" alt="Bane" class="template-bane" /> -->
{{/rollTotal() attribute-roll-five 1}}
{{#rollBetween() attribute-roll-five 2 5}} {{attribute-roll-five}} {{/rollBetween() attribute-roll-five 2 5}}
{{#rollTotal() attribute-roll-five 6}}
<span data-i18n-title="success" title="Success">&#9762;</span>
<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/success_swords_black.png" alt="Success" class="template-success" /> -->
{{/rollTotal() attribute-roll-five 6}}
</div>
{{/rollTotal() attribute-die-five 1}}
{{#rollTotal() attribute-die-six 1}}
<div class="template-grid-item template-span-two template-dice template-yellow-dice">
{{#rollTotal() attribute-roll-six 1}}
<span data-i18n-title="bane" title="Bane">&#9763;&#xFE0E;</span>
<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/bane_skull_black.png" alt="Bane" class="template-bane" /> -->
{{/rollTotal() attribute-roll-six 1}}
{{#rollBetween() attribute-roll-six 2 5}} {{attribute-roll-six}} {{/rollBetween() attribute-roll-six 2 5}}
{{#rollTotal() attribute-roll-six 6}}
<span data-i18n-title="success" title="Success">&#9762;</span>
<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/success_swords_black.png" alt="Success" class="template-success" /> -->
{{/rollTotal() attribute-roll-six 6}}
</div>
{{/rollTotal() attribute-die-six 1}}
{{#rollTotal() attribute-die-seven 1}}
<div class="template-grid-item template-span-one template-dice template-yellow-dice">
{{#rollTotal() attribute-roll-seven 1}}
<span data-i18n-title="bane" title="Bane">&#9763;&#xFE0E;</span>
<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/bane_skull_black.png" alt="Bane" class="template-bane" /> -->
{{/rollTotal() attribute-roll-seven 1}}
{{#rollBetween() attribute-roll-seven 2 5}} {{attribute-roll-seven}} {{/rollBetween() attribute-roll-seven 2 5}}
{{#rollTotal() attribute-roll-seven 6}}
<span data-i18n-title="success" title="Success">&#9762;</span>
<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/success_swords_black.png" alt="Success" class="template-success" /> -->
{{/rollTotal() attribute-roll-seven 6}}
</div>
{{/rollTotal() attribute-die-seven 1}}
{{#rollTotal() attribute-die-eight 1}}
<div class="template-grid-item template-span-two template-dice template-yellow-dice">
{{#rollTotal() attribute-roll-eight 1}}
<span data-i18n-title="bane" title="Bane">&#9763;&#xFE0E;</span>
<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/bane_skull_black.png" alt="Bane" class="template-bane" /> -->
{{/rollTotal() attribute-roll-eight 1}}
{{#rollBetween() attribute-roll-eight 2 5}} {{attribute-roll-eight}}
{{/rollBetween() attribute-roll-eight 2 5}}
{{#rollTotal() attribute-roll-eight 6}}
<span data-i18n-title="success" title="Success">&#9762;</span>
<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/success_swords_black.png" alt="Success" class="template-success" /> -->
{{/rollTotal() attribute-roll-eight 6}}
</div>
{{/rollTotal() attribute-die-eight 1}}
{{#rollTotal() attribute-die-nine 1}}
<div class="template-grid-item template-span-one template-dice template-yellow-dice">
{{#rollTotal() attribute-roll-nine 1}}
<span data-i18n-title="bane" title="Bane">&#9763;&#xFE0E;</span>
<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/bane_skull_black.png" alt="Bane" class="template-bane" /> -->
{{/rollTotal() attribute-roll-nine 1}}
{{#rollBetween() attribute-roll-nine 2 5}} {{attribute-roll-nine}}
{{/rollBetween() attribute-roll-nine 2 5}}
{{#rollTotal() attribute-roll-nine 6}}
<span data-i18n-title="success" title="Success">&#9762;</span>
<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/success_swords_black.png" alt="Success" class="template-success" /> -->
{{/rollTotal() attribute-roll-nine 6}}
</div>
{{/rollTotal() attribute-die-nine 1}}
{{#rollTotal() attribute-die-ten 1}}
<div class="template-grid-item template-span-two template-dice template-yellow-dice">
{{#rollTotal() attribute-roll-ten 1}}
<span data-i18n-title="bane" title="Bane">&#9763;&#xFE0E;</span>
<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/bane_skull_black.png" alt="Bane" class="template-bane" /> -->
{{/rollTotal() attribute-roll-ten 1}}
{{#rollBetween() attribute-roll-ten 2 5}} {{attribute-roll-ten}}
{{/rollBetween() attribute-roll-ten 2 5}}
{{#rollTotal() attribute-roll-ten 6}}
<span data-i18n-title="success" title="Success">&#9762;</span>
<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/success_swords_black.png" alt="Success" class="template-success" /> -->
{{/rollTotal() attribute-roll-ten 6}}
</div>
{{/rollTotal() attribute-die-ten 1}}
{{#rollTotal() attribute-die-eleven 1}}
<div class="template-grid-item template-span-one template-dice template-yellow-dice">
{{#rollTotal() attribute-roll-eleven 1}}
<span data-i18n-title="bane" title="Bane">&#9763;&#xFE0E;</span>
<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/bane_skull_black.png" alt="Bane" class="template-bane" /> -->
{{/rollTotal() attribute-roll-eleven 1}}
{{#rollBetween() attribute-roll-eleven 2 5}}
{{attribute-roll-eleven}} {{/rollBetween() attribute-roll-eleven 2 5}}
{{#rollTotal() attribute-roll-eleven 6}}
<span data-i18n-title="success" title="Success">&#9762;</span>
<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/success_swords_black.png" alt="Success" class="template-success" /> -->
{{/rollTotal() attribute-roll-eleven 6}}
</div>
{{/rollTotal() attribute-die-eleven 1}}
{{#rollTotal() attribute-die-twelve 1}}
<div class="template-grid-item template-span-two template-dice template-yellow-dice">
{{#rollTotal() attribute-roll-twelve 1}}
<span data-i18n-title="bane" title="Bane">&#9763;&#xFE0E;</span>
<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/bane_skull_black.png" alt="Bane" class="template-bane" /> -->
{{/rollTotal() attribute-roll-twelve 1}}
{{#rollBetween() attribute-roll-twelve 2 5}}
{{attribute-roll-twelve}} {{/rollBetween() attribute-roll-twelve 2 5}}
{{#rollTotal() attribute-roll-twelve 6}}
<span data-i18n-title="success" title="Success">&#9762;</span>
<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/success_swords_black.png" alt="Success" class="template-success" /> -->
{{/rollTotal() attribute-roll-twelve 6}}
</div>
{{/rollTotal() attribute-die-twelve 1}}
<!-- SKILL DICE -->
{{#rollTotal() skill-die-one 1}}
<div class="template-grid-item template-span-three template-dice template-green-dice">
{{#rollBetween() skill-roll-one 1 5}} {{skill-roll-one}} {{/rollBetween() skill-roll-one 1 5}}
{{#rollTotal() skill-roll-one 6}}
<span data-i18n-title="success" title="Success">&#9762;<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/success_swords_white.png" alt="Success" class="template-success" /> --></span>
{{/rollTotal() skill-roll-one 6}}
</div>
{{/rollTotal() skill-die-one 1}}
{{#rollTotal() skill-die-two 1}}
<div class="template-grid-item template-span-four template-dice template-green-dice">
{{#rollBetween() skill-roll-two 1 5}} {{skill-roll-two}} {{/rollBetween() skill-roll-two 1 5}}
{{#rollTotal() skill-roll-two 6}}
<span data-i18n-title="success" title="Success">&#9762;<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/success_swords_white.png" alt="Success" class="template-success" /> --></span>
{{/rollTotal() skill-roll-two 6}}
</div>
{{/rollTotal() skill-die-two 1}}
{{#rollTotal() skill-die-three 1}}
<div class="template-grid-item template-span-three template-dice template-green-dice">
{{#rollBetween() skill-roll-three 1 5}} {{skill-roll-three}} {{/rollBetween() skill-roll-three 1 5}}
{{#rollTotal() skill-roll-three 6}}
<span data-i18n-title="success" title="Success">&#9762;<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/success_swords_white.png" alt="Success" class="template-success" /> --></span>
{{/rollTotal() skill-roll-three 6}}
</div>
{{/rollTotal() skill-die-three 1}}
{{#rollTotal() skill-die-four 1}}
<div class="template-grid-item template-span-four template-dice template-green-dice">
{{#rollBetween() skill-roll-four 1 5}} {{skill-roll-four}} {{/rollBetween() skill-roll-four 1 5}}
{{#rollTotal() skill-roll-four 6}}
<span data-i18n-title="success" title="Success">&#9762;<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/success_swords_white.png" alt="Success" class="template-success" /> --></span>
{{/rollTotal() skill-roll-four 6}}
</div>
{{/rollTotal() skill-die-four 1}}
{{#rollTotal() skill-die-five 1}}
<div class="template-grid-item template-span-three template-dice template-green-dice">
{{#rollBetween() skill-roll-five 1 5}} {{skill-roll-five}} {{/rollBetween() skill-roll-five 1 5}}
{{#rollTotal() skill-roll-five 6}}
<span data-i18n-title="success" title="Success">&#9762;<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/success_swords_white.png" alt="Success" class="template-success" /> --></span>
{{/rollTotal() skill-roll-five 6}}
</div>
{{/rollTotal() skill-die-five 1}}
{{#rollTotal() skill-die-six 1}}
<div class="template-grid-item template-span-four template-dice template-green-dice">
{{#rollBetween() skill-roll-six 1 5}} {{skill-roll-six}} {{/rollBetween() skill-roll-six 1 5}}
{{#rollTotal() skill-roll-six 6}}
<span data-i18n-title="success" title="Success">&#9762;<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/success_swords_white.png" alt="Success" class="template-success" /> --></span>
{{/rollTotal() skill-roll-six 6}}
</div>
{{/rollTotal() skill-die-six 1}}
{{#rollTotal() skill-die-seven 1}}
<div class="template-grid-item template-span-three template-dice template-green-dice">
{{#rollBetween() skill-roll-seven 1 5}} {{skill-roll-seven}} {{/rollBetween() skill-roll-seven 1 5}}
{{#rollTotal() skill-roll-seven 6}}
<span data-i18n-title="success" title="Success">&#9762;<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/success_swords_white.png" alt="Success" class="template-success" /> --></span>
{{/rollTotal() skill-roll-seven 6}}
</div>
{{/rollTotal() skill-die-seven 1}} {{#rollTotal() skill-die-eight 1}}
<div class="template-grid-item template-span-four template-dice template-green-dice">
{{#rollBetween() skill-roll-eight 1 5}} {{skill-roll-eight}} {{/rollBetween() skill-roll-eight 1 5}}
{{#rollTotal() skill-roll-eight 6}}
<span data-i18n-title="success" title="Success">&#9762;<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/success_swords_white.png" alt="Success" class="template-success" /> --></span>
{{/rollTotal() skill-roll-eight 6}}
</div>
{{/rollTotal() skill-die-eight 1}}
{{#rollTotal() skill-die-nine 1}}
<div class="template-grid-item template-span-three template-dice template-green-dice">
{{#rollBetween() skill-roll-nine 1 5}} {{skill-roll-nine}} {{/rollBetween() skill-roll-nine 1 5}}
{{#rollTotal() skill-roll-nine 6}}
<span data-i18n-title="success" title="Success">&#9762;<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/success_swords_white.png" alt="Success" class="template-success" /> --></span>
{{/rollTotal() skill-roll-nine 6}}
</div>
{{/rollTotal() skill-die-nine 1}}
{{#rollTotal() skill-die-ten 1}}
<div class="template-grid-item template-span-four template-dice template-green-dice">
{{#rollBetween() skill-roll-ten 1 5}} {{skill-roll-ten}} {{/rollBetween() skill-roll-ten 1 5}}
{{#rollTotal() skill-roll-ten 6}}
<span data-i18n-title="success" title="Success">&#9762;<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/success_swords_white.png" alt="Success" class="template-success" /> --></span>
{{/rollTotal() skill-roll-ten 6}}
</div>
{{/rollTotal() skill-die-ten 1}}
<!-- NEGATIVE SKILL DICE -->
{{#rollTotal() negative-die-one 1}}
<div class="template-grid-item template-span-three template-dice template-red-dice">
{{#rollBetween() negative-roll-one 1 5}} {{negative-roll-one}} {{/rollBetween() negative-roll-one 1 5}}
{{#rollTotal() negative-roll-one 6}}
<span data-i18n-title="success" title="Success">&#9762;<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/success_swords_white.png" alt="Success" class="template-success" /> --></span>
{{/rollTotal() negative-roll-one 6}}
</div>
{{/rollTotal() negative-die-one 1}}
{{#rollTotal() negative-die-two 1}}
<div class="template-grid-item template-span-four template-dice template-red-dice">
{{#rollBetween() negative-roll-two 1 5}} {{negative-roll-two}} {{/rollBetween() negative-roll-two 1 5}}
{{#rollTotal() negative-roll-two 6}}
<span data-i18n-title="success" title="Success">&#9762;<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/success_swords_white.png" alt="Success" class="template-success" /> --></span>
{{/rollTotal() negative-roll-two 6}}
</div>
{{/rollTotal() negative-die-two 1}}
{{#rollTotal() negative-die-three 1}}
<div class="template-grid-item template-span-three template-dice template-red-dice">
{{#rollBetween() negative-roll-three 1 5}} {{negative-roll-three}} {{/rollBetween() negative-roll-three 1 5}}
{{#rollTotal() negative-roll-three 6}}
<span data-i18n-title="success" title="Success">&#9762;<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/success_swords_white.png" alt="Success" class="template-success" /> --></span>
{{/rollTotal() negative-roll-three 6}}
</div>
{{/rollTotal() negative-die-three 1}}
<!-- GEAR DICE -->
{{#rollTotal() gear-die-one 1}}
<div class="template-grid-item template-span-five template-dice template-black-dice">
{{#rollTotal() gear-roll-one 1}}
<span data-i18n-title="bane" title="Bane">&#128165;
<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/bane_skull_white.png" alt="Bane" class="template-bane" /> --></span>
{{/rollTotal() gear-roll-one 1}}
{{#rollBetween() gear-roll-one 2 5}} {{gear-roll-one}} {{/rollBetween() gear-roll-one 2 5}}
{{#rollTotal() gear-roll-one 6}}
<span data-i18n-title="success" title="Success">&#9762;<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/success_swords_white.png" alt="Success" class="template-success" /> --></span>
{{/rollTotal() gear-roll-one 6}}
</div>
{{/rollTotal() gear-die-one 1}}
{{#rollTotal() gear-die-two 1}}
<div class="template-grid-item template-span-shix template-dice template-black-dice">
{{#rollTotal() gear-roll-two 1}}
<span data-i18n-title="bane" title="Bane">&#128165;
<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/bane_skull_white.png" alt="Bane" class="template-bane" /> --></span>
{{/rollTotal() gear-roll-two 1}}
{{#rollBetween() gear-roll-two 2 5}} {{gear-roll-two}} {{/rollBetween() gear-roll-two 2 5}}
{{#rollTotal() gear-roll-two 6}}
<span data-i18n-title="success" title="Success">&#9762;<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/success_swords_white.png" alt="Success" class="template-success" /> --></span>
{{/rollTotal() gear-roll-two 6}}
</div>
{{/rollTotal() gear-die-two 1}}
{{#rollTotal() gear-die-three 1}}
<div class="template-grid-item template-span-five template-dice template-black-dice">
{{#rollTotal() gear-roll-three 1}}
<span data-i18n-title="bane" title="Bane">&#128165;
<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/bane_skull_white.png" alt="Bane" class="template-bane" /> --></span>
{{/rollTotal() gear-roll-three 1}}
{{#rollBetween() gear-roll-three 2 5}} {{gear-roll-three}} {{/rollBetween() gear-roll-three 2 5}}
{{#rollTotal() gear-roll-three 6}}
<span data-i18n-title="success" title="Success">&#9762;<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/success_swords_white.png" alt="Success" class="template-success" /> --></span>
{{/rollTotal() gear-roll-three 6}}
</div>
{{/rollTotal() gear-die-three 1}}
{{#rollTotal() gear-die-four 1}}
<div class="template-grid-item template-span-shix template-dice template-black-dice">
{{#rollTotal() gear-roll-four 1}}
<span data-i18n-title="bane" title="Bane">&#128165;
<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/bane_skull_white.png" alt="Bane" class="template-bane" /> --></span>
{{/rollTotal() gear-roll-four 1}} {{#rollBetween() gear-roll-four 2 5}} {{gear-roll-four}} {{/rollBetween() gear-roll-four 2 5}}
{{#rollTotal() gear-roll-four 6}}
<span data-i18n-title="success" title="Success">&#9762;<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/success_swords_white.png" alt="Success" class="template-success" /> --></span>
{{/rollTotal() gear-roll-four 6}}
</div>
{{/rollTotal() gear-die-four 1}}
{{#rollTotal() gear-die-five 1}}
<div class="template-grid-item template-span-five template-dice template-black-dice">
{{#rollTotal() gear-roll-five 1}}
<span data-i18n-title="bane" title="Bane">&#128165;
<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/bane_skull_white.png" alt="Bane" class="template-bane" /> --></span>
{{/rollTotal() gear-roll-five 1}}
{{#rollBetween() gear-roll-five 2 5}} {{gear-roll-five}} {{/rollBetween() gear-roll-five 2 5}}
{{#rollTotal() gear-roll-five 6}}
<span data-i18n-title="success" title="Success">&#9762;<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/success_swords_white.png" alt="Success" class="template-success" /> --></span>
{{/rollTotal() gear-roll-five 6}}
</div>
{{/rollTotal() gear-die-five 1}}
{{#rollTotal() gear-die-six 1}}
<div class="template-grid-item template-span-shix template-dice template-black-dice">
{{#rollTotal() gear-roll-six 1}}
<span data-i18n-title="bane" title="Bane">&#128165;
<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/bane_skull_white.png" alt="Bane" class="template-bane" /> --></span>
{{/rollTotal() gear-roll-six 1}}
{{#rollBetween() gear-roll-six 2 5}} {{gear-roll-six}} {{/rollBetween() gear-roll-six 2 5}}
{{#rollTotal() gear-roll-six 6}}
<span data-i18n-title="success" title="Success">&#9762;<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/success_swords_white.png" alt="Success" class="template-success" /> --></span>
{{/rollTotal() gear-roll-six 6}}
</div>
{{/rollTotal() gear-die-six 1}}
{{#rollTotal() gear-die-seven 1}}
<div class="template-grid-item template-span-five template-dice template-black-dice">
{{#rollTotal() gear-roll-seven 1}}
<span data-i18n-title="bane" title="Bane">&#128165;
<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/bane_skull_white.png" alt="Bane" class="template-bane" /> --></span>
{{/rollTotal() gear-roll-seven 1}}
{{#rollBetween() gear-roll-seven 2 5}} {{gear-roll-seven}}
{{/rollBetween() gear-roll-seven 2 5}}
{{#rollTotal() gear-roll-seven 6}}
<span data-i18n-title="success" title="Success">&#9762;<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/success_swords_white.png" alt="Success" class="template-success" /> --></span>
{{/rollTotal() gear-roll-seven 6}}
</div>
{{/rollTotal() gear-die-seven 1}}
{{#rollTotal() gear-die-eight 1}}
<div class="template-grid-item template-span-shix template-dice template-black-dice">
{{#rollTotal() gear-roll-eight 1}}
<span data-i18n-title="bane" title="Bane">&#128165;
<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/bane_skull_white.png" alt="Bane" class="template-bane" /> --></span>
{{/rollTotal() gear-roll-eight 1}} {{#rollBetween() gear-roll-eight 2 5}} {{gear-roll-eight}}
{{/rollBetween() gear-roll-eight 2 5}}
{{#rollTotal() gear-roll-eight 6}}
<span data-i18n-title="success" title="Success">&#9762;<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/success_swords_white.png" alt="Success" class="template-success" /> --></span>
{{/rollTotal() gear-roll-eight 6}}
</div>
{{/rollTotal() gear-die-eight 1}}
{{#rollTotal() gear-die-nine 1}}
<div class="template-grid-item template-span-five template-dice template-black-dice">
{{#rollTotal() gear-roll-nine 1}}
<span data-i18n-title="bane" title="Bane">&#128165;
<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/bane_skull_white.png" alt="Bane" class="template-bane" /> --></span>
{{/rollTotal() gear-roll-nine 1}}
{{#rollBetween() gear-roll-nine 2 5}} {{gear-roll-nine}}
{{/rollBetween() gear-roll-nine 2 5}}
{{#rollTotal() gear-roll-nine 6}}
<span data-i18n-title="success" title="Success">&#9762;<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/success_swords_white.png" alt="Success" class="template-success" /> --></span>
{{/rollTotal() gear-roll-nine 6}}
</div>
{{/rollTotal() gear-die-nine 1}}
{{#rollTotal() gear-die-ten 1}}
<div class="template-grid-item template-span-shix template-dice template-black-dice">
{{#rollTotal() gear-roll-ten 1}}
<span data-i18n-title="bane" title="Bane">&#128165;
<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/bane_skull_white.png" alt="Bane" class="template-bane" /> --></span>
{{/rollTotal() gear-roll-ten 1}}
{{#rollBetween() gear-roll-ten 2 5}} {{gear-roll-ten}}
{{/rollBetween() gear-roll-ten 2 5}}
{{#rollTotal() gear-roll-ten 6}}
<span data-i18n-title="success" title="Success">&#9762;<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/success_swords_white.png" alt="Success" class="template-success" /> --></span>
{{/rollTotal() gear-roll-ten 6}}
</div>
{{/rollTotal() gear-die-ten 1}}
{{#rollTotal() gear-die-eleven 1}}
<div class="template-grid-item template-span-five template-dice template-black-dice">
{{#rollTotal() gear-roll-eleven 1}}
<span data-i18n-title="bane" title="Bane">&#128165;
<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/bane_skull_white.png" alt="Bane" class="template-bane" /> --></span>
{{/rollTotal() gear-roll-eleven 1}}
{{#rollBetween() gear-roll-eleven 2 5}} {{gear-roll-eleven}}
{{/rollBetween() gear-roll-eleven 2 5}}
{{#rollTotal() gear-roll-eleven 6}}
<span data-i18n-title="success" title="Success">&#9762;<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/success_swords_white.png" alt="Success" class="template-success" /> --></span>
{{/rollTotal() gear-roll-eleven 6}}
</div>
{{/rollTotal() gear-die-eleven 1}}
{{#rollTotal() gear-die-twelve 1}}
<div class="template-grid-item template-span-shix template-dice template-black-dice">
{{#rollTotal() gear-roll-twelve 1}}
<span data-i18n-title="bane" title="Bane">&#128165;
<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/bane_skull_white.png" alt="Bane" class="template-bane" /> --></span>
{{/rollTotal() gear-roll-twelve 1}}
{{#rollBetween() gear-roll-twelve 2 5}} {{gear-roll-twelve}}
{{/rollBetween() gear-roll-twelve 2 5}}
{{#rollTotal() gear-roll-twelve 6}}
<span data-i18n-title="success" title="Success">&#9762;<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/success_swords_white.png" alt="Success" class="template-success" /> --></span>
{{/rollTotal() gear-roll-twelve 6}}
</div>
{{/rollTotal() gear-die-twelve 1}}
<!--- d6 -->
<!-- increased range of each d66 dice to allow for custom rolls 0-100-->
{{#rollTotal() d6-die-one 1}}
<div class="template-grid-item template-dice template-green-dice">
{{#rollBetween() d6-roll-one 0 100}} {{d6-roll-one}} {{/rollBetween() d6-roll-one 0 100}}
</div>
{{/rollTotal() d6-die-one 1}}
<!--- d66 -->
<!-- increased range of each d66 dice to allow for custom rolls 0-100-->
{{#rollTotal() d66-die-one 1}}
<div class="template-grid-item template-dice template-green-dice">
{{#rollBetween() d66-roll-one 0 100}} {{d66-roll-one}} {{/rollBetween() d66-roll-one 0 100}}
</div>
{{/rollTotal() d66-die-one 1}}
{{#rollTotal() d66-die-two 1}}
<div class="template-grid-item template-dice template-green-dice">
{{#rollBetween() d66-roll-two 0 100}} {{d66-roll-two}} {{/rollBetween() d66-roll-two 0 100}}
</div>
{{/rollTotal() d66-die-two 1}}
<!--- d666 -->
<!-- increased range of each d66 dice to allow for custom rolls 0-1000-->
{{#rollTotal() d666-die-one 1}}
<div class="template-grid-item template-dice template-green-dice">
{{#rollBetween() d666-roll-one 0 100}} {{d666-roll-one}} {{/rollBetween() d666-roll-one 0 100}}
</div>
{{/rollTotal() d666-die-one 1}}
{{#rollTotal() d666-die-two 1}}
<div class="template-grid-item template-dice template-green-dice">
{{#rollBetween() d666-roll-two 0 100}} {{d666-roll-two}} {{/rollBetween() d666-roll-two 0 100}}
</div>
{{/rollTotal() d666-die-two 1}}
{{#rollTotal() d666-die-three 1}}
<div class="template-grid-item template-dice template-green-dice">
{{#rollBetween() d666-roll-three 0 100}} {{d666-roll-three}} {{/rollBetween() d666-roll-three 0 100}}
</div>
{{/rollTotal() d666-die-three 1}}
<!--- Initiative -->
{{#roll-initiative}}
<div class="template-grid-item template-dice template-green-dice">
{{roll-initiative}}
</div>
{{/roll-initiative}}
</div>
<!--- attack -->
{{#weapon-bonus}}
<div class="template-grid-item template-span-six condensed template-footer">
<span class="label" data-i18n="bonus">Bonus</span><span>:&nbsp;{{weapon-bonus}}</span>
{{#weapon-bonus-max}}<span>/{{weapon-bonus-max}}</span>{{/weapon-bonus-max}}
{{#weapon-bonus-misc}}
<span>&nbsp;&#177;&nbsp; <span class="label" data-i18n="modifier-abbr">Mod</span>:&nbsp;{{weapon-bonus-misc}}</span>
{{/weapon-bonus-misc}}
{{#weapon-damage}}
<span><br /><span class="label" data-i18n="damage-abbr">Damage</span>:&nbsp;{{weapon-damage}}</span>
{{/weapon-damage}}
{{#weapon-damage-misc}}&nbsp;&#177;&nbsp;
<span class="label" data-i18n="modifier-abbr">Mod</span><span>:&nbsp;{{weapon-damage-misc}}</span>
{{/weapon-damage-misc}}
{{#attack-features}}
<span><br /><span class="label" data-i18n="features">Features</span>:&nbsp;{{attack-features}}</span>
{{/attack-features}}
{{#weapon-range}}
<div class="template-grid-item template-span-six"><span class="label"data-i18n="range">Range</span><span>:&nbsp;{{weapon-range}}</span></div>
{{/weapon-range}}
{{#weapon-features}}
<div class="template-grid-item template-span-six"><span class="label" data-i18n="features">Features</span><span>:&nbsp;{{weapon-features}}</span></div>
{{/weapon-features}}
{{#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>
{{/weapon-bonus}}
<!--- armor -->
{{#rollTotal() armor-equipped}}
{{#armor-name}}
<div class="template-grid-item template-span-six template-footer">
<span class="strong bold">{{armor-name}}</span>
</div>
<div class="template-grid-item template-span-six condensed template-footer">
<span>{{#armor-rating}}<span class="label" data-i18n="armor-rating-abbr">AR</span>:&nbsp;{{armor-rating}}{{/armor-rating}}</span>
<span>{{#armor-rating-max}}/{{armor-rating-max}}{{/armor-rating-max}}</span>
<span>{{#armor-rating-misc}}&nbsp;&#177;&nbsp;<span class="label" data-i18n="modifier-abbr">Mod</span>:&nbsp;{{armor-rating-misc}}{{/armor-rating-misc}}</span>
<span>{{#armor-rating-total}}&nbsp;=&nbsp;<span class="label" data-i18n="total">Total</span>:&nbsp;{{armor-rating-total}}{{/armor-rating-total}}</span>
</div>
{{/armor-name}}
{{/rollTotal() armor-equipped}}
<!--skills-->
{{#skill-base}}
<div class="template-grid-item template-span-half template-footer">
<span>&nbsp;<span class="label right-align right" data-i18n="base">Base</span>:</span>
</div>
<div class="template-grid-item template-span-2nd-half template-footer">
<span class="allprops allprops-value">{{skill-base}}</span>
</div>
{{/skill-base}}
{{#skill-level}}
<div class="template-grid-item template-span-half template-footer">
<span>&nbsp;<span class="label right-align right" data-i18n="skill">Skill</span>:</span>
</div>
<div class="template-grid-item template-span-2nd-half template-footer">
<span class="allprops allprops-value">{{skill-level}}</span>
</div>
{{/skill-level}}
{{#skill-bonus-misc}}
<div class="template-grid-item template-span-half template-footer">
<span>&nbsp;<span class="label right-align right" data-i18n="modifier-abbr">Mod</span>:</span>
</div>
<div class="template-grid-item template-span-2nd-half template-footer">
<span class="allprops allprops-value">{{skill-bonus-misc}}</span>
</div>
{{/skill-bonus-misc}}
{{#skill-bonus-gear}}
<div class="template-grid-item template-span-half template-footer">
<span>&nbsp;<span class="label right-align right" data-i18n="gear">Gear</span>:</span>
</div>
<div class="template-grid-item template-span-2nd-half template-footer">
<span class="allprops allprops-value">{{skill-bonus-gear}}</span>
</div>
{{/skill-bonus-gear}}
{{#free-text}}
<div class="template-grid-item template-span-six free-text scroll-text template-footer"><span>{{free-text}}</span></div>
{{/free-text}}
{{#footer}}
<div class="template-grid-item template-span-six template-footer">{{footer}}</div>
{{/footer}}
{{#rollGreater() computed::push 0}}
<div class="template-grid-item template-span-six template-footer push-option">
[<span data-i18n:'push-the-roll'>Push the Roll</span>](~{{character_name}}|push||{{computed::pushroll}})
</div>
{{/rollGreater() computed::push 0}}
</div>
</div>
</div>
</rolltemplate>
<rolltemplate class="sheet-rolltemplate-mutantyearzero">
{{#rollTotal() chartype_id 1}}
<div class="template-wrap mutant">
{{/rollTotal() chartype_id 1}}
{{#rollTotal() chartype_id 2}}
<div class="template-wrap animal">
{{/rollTotal() chartype_id 2}}
{{#rollTotal() chartype_id 3}}
<div class="template-wrap robot">
{{/rollTotal() chartype_id 3}}
{{#rollTotal() chartype_id 4}}
<div class="template-wrap human">
{{/rollTotal() chartype_id 4}}
{{#rollLess() chartype_id 1}}
<div class="template-wrap mutant">
{{/rollLess() chartype_id 1}}
{{#rollGreater() chartype_id 4}}
<div class="template-wrap mutant">
{{/rollGreater() chartype_id 4}}
<div class="template-grid">
<div class="template-grid-item template-span-six template-header">
{{#character_name}}
<div class="template-grid-item template-span-two">
{{#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-one 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-two">
{{#rollGreater() pushroll 0}} Push{{#rollGreater() pushroll 1}} {{pushroll}}{{/rollGreater() pushroll 1}}: {{/rollGreater() pushroll 0}}
{{name}}
</div>
{{/name}}
</div>
{{#subtitle}}
<div class="template-grid-item template-span-six template-subtitle">
&ldquo;<span>{{subtitle}}</span>&rdquo;<br />
</div>
{{/subtitle}}
<!--- dice pool -->
<div class="template-grid-item template-dice-column template-span-left">
{{#attribute-die-one}}
<div class="template-grid-item template-span-one template-dice template-yellow-dice">
{{#rollTotal() attribute-roll-one 1}}
<span data-i18n-title="bane" title="Bane">&#9763;&#xFE0E;</span>
<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/bane_skull_black.png" alt="Bane" class="template-bane" /> -->
{{/rollTotal() attribute-roll-one 1}} {{#rollBetween() attribute-roll-one 2 5}} {{attribute-roll-one}}
{{/rollBetween() attribute-roll-one 2 5}}
{{#rollTotal() attribute-roll-one 6}}
<span data-i18n-title="success" title="Success">&#9762;</span>
<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/success_swords_black.png" alt="Success" class="template-success" /> -->
{{/rollTotal() attribute-roll-one 6}}
</div>
{{/attribute-die-one}}
{{#rollTotal() attribute-die-two 1}}
<div class="template-grid-item template-span-two template-dice template-yellow-dice">
{{#rollTotal() attribute-roll-two 1}}
<span data-i18n-title="bane" title="Bane">&#9763;&#xFE0E;</span>
<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/bane_skull_black.png" alt="Bane" class="template-bane" /> -->
{{/rollTotal() attribute-roll-two 1}}
{{#rollBetween() attribute-roll-two 2 5}} {{attribute-roll-two}}
{{/rollBetween() attribute-roll-two 2 5}}
{{#rollTotal() attribute-roll-two 6}}
<span data-i18n-title="success" title="Success">&#9762;</span>
<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/success_swords_black.png" alt="Success" class="template-success" /> -->
{{/rollTotal() attribute-roll-two 6}}
</div>
{{/rollTotal() attribute-die-two 1}}
{{#rollTotal() attribute-die-three 1}}
<div class="template-grid-item template-span-one template-dice template-yellow-dice">
{{#rollTotal() attribute-roll-three 1}}
<span data-i18n-title="bane" title="Bane">&#9763;&#xFE0E;</span>
<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/bane_skull_black.png" alt="Bane" class="template-bane" /> -->
{{/rollTotal() attribute-roll-three 1}}
{{#rollBetween() attribute-roll-three 2 5}} {{attribute-roll-three}} {{/rollBetween() attribute-roll-three 2 5}}
{{#rollTotal() attribute-roll-three 6}}
<span data-i18n-title="success" title="Success">&#9762;</span>
<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/success_swords_black.png" alt="Success" class="template-success" /> -->
{{/rollTotal() attribute-roll-three 6}}
</div>
{{/rollTotal() attribute-die-three 1}}
{{#rollTotal() attribute-die-four 1}}
<div class="template-grid-item template-span-two template-dice template-yellow-dice">
{{#rollTotal() attribute-roll-four 1}}
<span data-i18n-title="bane" title="Bane">&#9763;&#xFE0E;</span>
<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/bane_skull_black.png" alt="Bane" class="template-bane" /> -->
{{/rollTotal() attribute-roll-four 1}}
{{#rollBetween() attribute-roll-four 2 5}} {{attribute-roll-four}} {{/rollBetween() attribute-roll-four 2 5}}
{{#rollTotal() attribute-roll-four 6}}
<span data-i18n-title="success" title="Success">&#9762;</span>
<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/success_swords_black.png" alt="Success" class="template-success" /> -->
{{/rollTotal() attribute-roll-four 6}}
</div>
{{/rollTotal() attribute-die-four 1}}
{{#rollTotal() attribute-die-five 1}}
<div class="template-grid-item template-span-one template-dice template-yellow-dice">
{{#rollTotal() attribute-roll-five 1}}
<span data-i18n-title="bane" title="Bane">&#9763;&#xFE0E;</span>
<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/bane_skull_black.png" alt="Bane" class="template-bane" /> -->
{{/rollTotal() attribute-roll-five 1}}
{{#rollBetween() attribute-roll-five 2 5}} {{attribute-roll-five}} {{/rollBetween() attribute-roll-five 2 5}}
{{#rollTotal() attribute-roll-five 6}}
<span data-i18n-title="success" title="Success">&#9762;</span>
<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/success_swords_black.png" alt="Success" class="template-success" /> -->
{{/rollTotal() attribute-roll-five 6}}
</div>
{{/rollTotal() attribute-die-five 1}}
{{#rollTotal() attribute-die-six 1}}
<div class="template-grid-item template-span-two template-dice template-yellow-dice">
{{#rollTotal() attribute-roll-six 1}}
<span data-i18n-title="bane" title="Bane">&#9763;&#xFE0E;</span>
<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/bane_skull_black.png" alt="Bane" class="template-bane" /> -->
{{/rollTotal() attribute-roll-six 1}}
{{#rollBetween() attribute-roll-six 2 5}} {{attribute-roll-six}} {{/rollBetween() attribute-roll-six 2 5}}
{{#rollTotal() attribute-roll-six 6}}
<span data-i18n-title="success" title="Success">&#9762;</span>
<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/success_swords_black.png" alt="Success" class="template-success" /> -->
{{/rollTotal() attribute-roll-six 6}}
</div>
{{/rollTotal() attribute-die-six 1}}
{{#rollTotal() attribute-die-seven 1}}
<div class="template-grid-item template-span-one template-dice template-yellow-dice">
{{#rollTotal() attribute-roll-seven 1}}
<span data-i18n-title="bane" title="Bane">&#9763;&#xFE0E;</span>
<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/bane_skull_black.png" alt="Bane" class="template-bane" /> -->
{{/rollTotal() attribute-roll-seven 1}}
{{#rollBetween() attribute-roll-seven 2 5}} {{attribute-roll-seven}} {{/rollBetween() attribute-roll-seven 2 5}}
{{#rollTotal() attribute-roll-seven 6}}
<span data-i18n-title="success" title="Success">&#9762;</span>
<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/success_swords_black.png" alt="Success" class="template-success" /> -->
{{/rollTotal() attribute-roll-seven 6}}
</div>
{{/rollTotal() attribute-die-seven 1}}
{{#rollTotal() attribute-die-eight 1}}
<div class="template-grid-item template-span-two template-dice template-yellow-dice">
{{#rollTotal() attribute-roll-eight 1}}
<span data-i18n-title="bane" title="Bane">&#9763;&#xFE0E;</span>
<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/bane_skull_black.png" alt="Bane" class="template-bane" /> -->
{{/rollTotal() attribute-roll-eight 1}}
{{#rollBetween() attribute-roll-eight 2 5}} {{attribute-roll-eight}}
{{/rollBetween() attribute-roll-eight 2 5}}
{{#rollTotal() attribute-roll-eight 6}}
<span data-i18n-title="success" title="Success">&#9762;</span>
<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/success_swords_black.png" alt="Success" class="template-success" /> -->
{{/rollTotal() attribute-roll-eight 6}}
</div>
{{/rollTotal() attribute-die-eight 1}}
{{#rollTotal() attribute-die-nine 1}}
<div class="template-grid-item template-span-one template-dice template-yellow-dice">
{{#rollTotal() attribute-roll-nine 1}}
<span data-i18n-title="bane" title="Bane">&#9763;&#xFE0E;</span>
<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/bane_skull_black.png" alt="Bane" class="template-bane" /> -->
{{/rollTotal() attribute-roll-nine 1}}
{{#rollBetween() attribute-roll-nine 2 5}} {{attribute-roll-nine}}
{{/rollBetween() attribute-roll-nine 2 5}}
{{#rollTotal() attribute-roll-nine 6}}
<span data-i18n-title="success" title="Success">&#9762;</span>
<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/success_swords_black.png" alt="Success" class="template-success" /> -->
{{/rollTotal() attribute-roll-nine 6}}
</div>
{{/rollTotal() attribute-die-nine 1}}
{{#rollTotal() attribute-die-ten 1}}
<div class="template-grid-item template-span-two template-dice template-yellow-dice">
{{#rollTotal() attribute-roll-ten 1}}
<span data-i18n-title="bane" title="Bane">&#9763;&#xFE0E;</span>
<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/bane_skull_black.png" alt="Bane" class="template-bane" /> -->
{{/rollTotal() attribute-roll-ten 1}}
{{#rollBetween() attribute-roll-ten 2 5}} {{attribute-roll-ten}}
{{/rollBetween() attribute-roll-ten 2 5}}
{{#rollTotal() attribute-roll-ten 6}}
<span data-i18n-title="success" title="Success">&#9762;</span>
<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/success_swords_black.png" alt="Success" class="template-success" /> -->
{{/rollTotal() attribute-roll-ten 6}}
</div>
{{/rollTotal() attribute-die-ten 1}}
{{#rollTotal() attribute-die-eleven 1}}
<div class="template-grid-item template-span-one template-dice template-yellow-dice">
{{#rollTotal() attribute-roll-eleven 1}}
<span data-i18n-title="bane" title="Bane">&#9763;&#xFE0E;</span>
<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/bane_skull_black.png" alt="Bane" class="template-bane" /> -->
{{/rollTotal() attribute-roll-eleven 1}}
{{#rollBetween() attribute-roll-eleven 2 5}}
{{attribute-roll-eleven}} {{/rollBetween() attribute-roll-eleven 2 5}}
{{#rollTotal() attribute-roll-eleven 6}}
<span data-i18n-title="success" title="Success">&#9762;</span>
<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/success_swords_black.png" alt="Success" class="template-success" /> -->
{{/rollTotal() attribute-roll-eleven 6}}
</div>
{{/rollTotal() attribute-die-eleven 1}}
{{#rollTotal() attribute-die-twelve 1}}
<div class="template-grid-item template-span-two template-dice template-yellow-dice">
{{#rollTotal() attribute-roll-twelve 1}}
<span data-i18n-title="bane" title="Bane">&#9763;&#xFE0E;</span>
<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/bane_skull_black.png" alt="Bane" class="template-bane" /> -->
{{/rollTotal() attribute-roll-twelve 1}}
{{#rollBetween() attribute-roll-twelve 2 5}}
{{attribute-roll-twelve}} {{/rollBetween() attribute-roll-twelve 2 5}}
{{#rollTotal() attribute-roll-twelve 6}}
<span data-i18n-title="success" title="Success">&#9762;</span>
<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/success_swords_black.png" alt="Success" class="template-success" /> -->
{{/rollTotal() attribute-roll-twelve 6}}
</div>
{{/rollTotal() attribute-die-twelve 1}}
</div>
<div class="template-grid-item template-dice-column template-span-center">
{{#rollTotal() skill-die-one 1}}
<div class="template-grid-item template-span-three template-dice template-green-dice">
{{#rollBetween() skill-roll-one 1 5}} {{skill-roll-one}} {{/rollBetween() skill-roll-one 1 5}}
{{#rollTotal() skill-roll-one 6}}
<span data-i18n-title="success" title="Success">&#9762;<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/success_swords_white.png" alt="Success" class="template-success" /> --></span>
{{/rollTotal() skill-roll-one 6}}
</div>
{{/rollTotal() skill-die-one 1}}
{{#rollTotal() skill-die-two 1}}
<div class="template-grid-item template-span-four template-dice template-green-dice">
{{#rollBetween() skill-roll-two 1 5}} {{skill-roll-two}} {{/rollBetween() skill-roll-two 1 5}}
{{#rollTotal() skill-roll-two 6}}
<span data-i18n-title="success" title="Success">&#9762;<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/success_swords_white.png" alt="Success" class="template-success" /> --></span>
{{/rollTotal() skill-roll-two 6}}
</div>
{{/rollTotal() skill-die-two 1}}
{{#rollTotal() negative-die-one 1}}
<div class="template-grid-item template-span-three template-dice template-red-dice">
{{#rollBetween() negative-roll-one 1 5}} {{negative-roll-one}} {{/rollBetween() negative-roll-one 1 5}}
{{#rollTotal() negative-roll-one 6}}
<span data-i18n-title="success" title="Success">&#9762;<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/success_swords_white.png" alt="Success" class="template-success" /> --></span>
{{/rollTotal() negative-roll-one 6}}
</div>
{{/rollTotal() negative-die-one 1}}
{{#rollTotal() negative-die-two 1}}
<div class="template-grid-item template-span-four template-dice template-red-dice">
{{#rollBetween() negative-roll-two 1 5}} {{negative-roll-two}} {{/rollBetween() negative-roll-two 1 5}}
{{#rollTotal() negative-roll-two 6}}
<span data-i18n-title="success" title="Success">&#9762;<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/success_swords_white.png" alt="Success" class="template-success" /> --></span>
{{/rollTotal() negative-roll-two 6}}
</div>
{{/rollTotal() negative-die-two 1}}
{{#rollTotal() skill-die-three 1}}
<div class="template-grid-item template-span-three template-dice template-green-dice">
{{#rollBetween() skill-roll-three 1 5}} {{skill-roll-three}} {{/rollBetween() skill-roll-three 1 5}}
{{#rollTotal() skill-roll-three 6}}
<span data-i18n-title="success" title="Success">&#9762;<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/success_swords_white.png" alt="Success" class="template-success" /> --></span>
{{/rollTotal() skill-roll-three 6}}
</div>
{{/rollTotal() skill-die-three 1}}
{{#rollTotal() skill-die-four 1}}
<div class="template-grid-item template-span-four template-dice template-green-dice">
{{#rollBetween() skill-roll-four 1 5}} {{skill-roll-four}} {{/rollBetween() skill-roll-four 1 5}}
{{#rollTotal() skill-roll-four 6}}
<span data-i18n-title="success" title="Success">&#9762;<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/success_swords_white.png" alt="Success" class="template-success" /> --></span>
{{/rollTotal() skill-roll-four 6}}
</div>
{{/rollTotal() skill-die-four 1}}
{{#rollTotal() negative-die-three 1}}
<div class="template-grid-item template-span-three template-dice template-red-dice">
{{#rollBetween() negative-roll-three 1 5}} {{negative-roll-three}} {{/rollBetween() negative-roll-three 1 5}}
{{#rollTotal() negative-roll-three 6}}
<span data-i18n-title="success" title="Success">&#9762;<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/success_swords_white.png" alt="Success" class="template-success" /> --></span>
{{/rollTotal() negative-roll-three 6}}
</div>
{{/rollTotal() negative-die-three 1}}
{{#rollTotal() skill-die-five 1}}
<div class="template-grid-item template-span-three template-dice template-green-dice">
{{#rollBetween() skill-roll-five 1 5}} {{skill-roll-five}} {{/rollBetween() skill-roll-five 1 5}}
{{#rollTotal() skill-roll-five 6}}
<span data-i18n-title="success" title="Success">&#9762;<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/success_swords_white.png" alt="Success" class="template-success" /> --></span>
{{/rollTotal() skill-roll-five 6}}
</div>
{{/rollTotal() skill-die-five 1}}
{{#rollTotal() skill-die-six 1}}
<div class="template-grid-item template-span-four template-dice template-green-dice">
{{#rollBetween() skill-roll-six 1 5}} {{skill-roll-six}} {{/rollBetween() skill-roll-six 1 5}}
{{#rollTotal() skill-roll-six 6}}
<span data-i18n-title="success" title="Success">&#9762;<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/success_swords_white.png" alt="Success" class="template-success" /> --></span>
{{/rollTotal() skill-roll-six 6}}
</div>
{{/rollTotal() skill-die-six 1}}
{{#rollTotal() skill-die-seven 1}}
<div class="template-grid-item template-span-three template-dice template-green-dice">
{{#rollBetween() skill-roll-seven 1 5}} {{skill-roll-seven}} {{/rollBetween() skill-roll-seven 1 5}}
{{#rollTotal() skill-roll-seven 6}}
<span data-i18n-title="success" title="Success">&#9762;<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/success_swords_white.png" alt="Success" class="template-success" /> --></span>
{{/rollTotal() skill-roll-seven 6}}
</div>
{{/rollTotal() skill-die-seven 1}} {{#rollTotal() skill-die-eight 1}}
<div class="template-grid-item template-span-four template-dice template-green-dice">
{{#rollBetween() skill-roll-eight 1 5}} {{skill-roll-eight}} {{/rollBetween() skill-roll-eight 1 5}}
{{#rollTotal() skill-roll-eight 6}}
<span data-i18n-title="success" title="Success">&#9762;<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/success_swords_white.png" alt="Success" class="template-success" /> --></span>
{{/rollTotal() skill-roll-eight 6}}
</div>
{{/rollTotal() skill-die-eight 1}}
{{#rollTotal() skill-die-nine 1}}
<div class="template-grid-item template-span-three template-dice template-green-dice">
{{#rollBetween() skill-roll-nine 1 5}} {{skill-roll-nine}} {{/rollBetween() skill-roll-nine 1 5}}
{{#rollTotal() skill-roll-nine 6}}
<span data-i18n-title="success" title="Success">&#9762;<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/success_swords_white.png" alt="Success" class="template-success" /> --></span>
{{/rollTotal() skill-roll-nine 6}}
</div>
{{/rollTotal() skill-die-nine 1}} {{#rollTotal() skill-die-ten 1}}
<div class="template-grid-item template-span-four template-dice template-green-dice">
{{#rollBetween() skill-roll-ten 1 5}} {{skill-roll-ten}} {{/rollBetween() skill-roll-ten 1 5}}
{{#rollTotal() skill-roll-ten 6}}
<span data-i18n-title="success" title="Success">&#9762;<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/success_swords_white.png" alt="Success" class="template-success" /> --></span>
{{/rollTotal() skill-roll-ten 6}}
</div>
{{/rollTotal() skill-die-ten 1}}
</div>
<div class="template-grid-item template-dice-column template-span-right">
{{#rollTotal() gear-die-one 1}}
<div class="template-grid-item template-span-five template-dice template-black-dice">
{{#rollTotal() gear-roll-one 1}}
<span data-i18n-title="bane" title="Bane">&#128165;
<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/bane_skull_white.png" alt="Bane" class="template-bane" /> --></span>
{{/rollTotal() gear-roll-one 1}}
{{#rollBetween() gear-roll-one 2 5}} {{gear-roll-one}} {{/rollBetween() gear-roll-one 2 5}}
{{#rollTotal() gear-roll-one 6}}
<span data-i18n-title="success" title="Success">&#9762;<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/success_swords_white.png" alt="Success" class="template-success" /> --></span>
{{/rollTotal() gear-roll-one 6}}
</div>
{{/rollTotal() gear-die-one 1}}
{{#rollTotal() gear-die-two 1}}
<div class="template-grid-item template-span-shix template-dice template-black-dice">
{{#rollTotal() gear-roll-two 1}}
<span data-i18n-title="bane" title="Bane">&#128165;
<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/bane_skull_white.png" alt="Bane" class="template-bane" /> --></span>
{{/rollTotal() gear-roll-two 1}}
{{#rollBetween() gear-roll-two 2 5}} {{gear-roll-two}} {{/rollBetween() gear-roll-two 2 5}}
{{#rollTotal() gear-roll-two 6}}
<span data-i18n-title="success" title="Success">&#9762;<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/success_swords_white.png" alt="Success" class="template-success" /> --></span>
{{/rollTotal() gear-roll-two 6}}
</div>
{{/rollTotal() gear-die-two 1}}
{{#rollTotal() gear-die-three 1}}
<div class="template-grid-item template-span-five template-dice template-black-dice">
{{#rollTotal() gear-roll-three 1}}
<span data-i18n-title="bane" title="Bane">&#128165;
<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/bane_skull_white.png" alt="Bane" class="template-bane" /> --></span>
{{/rollTotal() gear-roll-three 1}}
{{#rollBetween() gear-roll-three 2 5}} {{gear-roll-three}} {{/rollBetween() gear-roll-three 2 5}}
{{#rollTotal() gear-roll-three 6}}
<span data-i18n-title="success" title="Success">&#9762;<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/success_swords_white.png" alt="Success" class="template-success" /> --></span>
{{/rollTotal() gear-roll-three 6}}
</div>
{{/rollTotal() gear-die-three 1}}
{{#rollTotal() gear-die-four 1}}
<div class="template-grid-item template-span-shix template-dice template-black-dice">
{{#rollTotal() gear-roll-four 1}}
<span data-i18n-title="bane" title="Bane">&#128165;
<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/bane_skull_white.png" alt="Bane" class="template-bane" /> --></span>
{{/rollTotal() gear-roll-four 1}} {{#rollBetween() gear-roll-four 2 5}} {{gear-roll-four}} {{/rollBetween() gear-roll-four 2 5}}
{{#rollTotal() gear-roll-four 6}}
<span data-i18n-title="success" title="Success">&#9762;<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/success_swords_white.png" alt="Success" class="template-success" /> --></span>
{{/rollTotal() gear-roll-four 6}}
</div>
{{/rollTotal() gear-die-four 1}}
{{#rollTotal() gear-die-five 1}}
<div class="template-grid-item template-span-five template-dice template-black-dice">
{{#rollTotal() gear-roll-five 1}}
<span data-i18n-title="bane" title="Bane">&#128165;
<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/bane_skull_white.png" alt="Bane" class="template-bane" /> --></span>
{{/rollTotal() gear-roll-five 1}}
{{#rollBetween() gear-roll-five 2 5}} {{gear-roll-five}} {{/rollBetween() gear-roll-five 2 5}}
{{#rollTotal() gear-roll-five 6}}
<span data-i18n-title="success" title="Success">&#9762;<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/success_swords_white.png" alt="Success" class="template-success" /> --></span>
{{/rollTotal() gear-roll-five 6}}
</div>
{{/rollTotal() gear-die-five 1}}
{{#rollTotal() gear-die-six 1}}
<div class="template-grid-item template-span-shix template-dice template-black-dice">
{{#rollTotal() gear-roll-six 1}}
<span data-i18n-title="bane" title="Bane">&#128165;
<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/bane_skull_white.png" alt="Bane" class="template-bane" /> --></span>
{{/rollTotal() gear-roll-six 1}}
{{#rollBetween() gear-roll-six 2 5}} {{gear-roll-six}} {{/rollBetween() gear-roll-six 2 5}}
{{#rollTotal() gear-roll-six 6}}
<span data-i18n-title="success" title="Success">&#9762;<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/success_swords_white.png" alt="Success" class="template-success" /> --></span>
{{/rollTotal() gear-roll-six 6}}
</div>
{{/rollTotal() gear-die-six 1}}
{{#rollTotal() gear-die-seven 1}}
<div class="template-grid-item template-span-five template-dice template-black-dice">
{{#rollTotal() gear-roll-seven 1}}
<span data-i18n-title="bane" title="Bane">&#128165;
<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/bane_skull_white.png" alt="Bane" class="template-bane" /> --></span>
{{/rollTotal() gear-roll-seven 1}}
{{#rollBetween() gear-roll-seven 2 5}} {{gear-roll-seven}}
{{/rollBetween() gear-roll-seven 2 5}}
{{#rollTotal() gear-roll-seven 6}}
<span data-i18n-title="success" title="Success">&#9762;<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/success_swords_white.png" alt="Success" class="template-success" /> --></span>
{{/rollTotal() gear-roll-seven 6}}
</div>
{{/rollTotal() gear-die-seven 1}}
{{#rollTotal() gear-die-eight 1}}
<div class="template-grid-item template-span-shix template-dice template-black-dice">
{{#rollTotal() gear-roll-eight 1}}
<span data-i18n-title="bane" title="Bane">&#128165;
<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/bane_skull_white.png" alt="Bane" class="template-bane" /> --></span>
{{/rollTotal() gear-roll-eight 1}} {{#rollBetween() gear-roll-eight 2 5}} {{gear-roll-eight}}
{{/rollBetween() gear-roll-eight 2 5}}
{{#rollTotal() gear-roll-eight 6}}
<span data-i18n-title="success" title="Success">&#9762;<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/success_swords_white.png" alt="Success" class="template-success" /> --></span>
{{/rollTotal() gear-roll-eight 6}}
</div>
{{/rollTotal() gear-die-eight 1}}
{{#rollTotal() gear-die-nine 1}}
<div class="template-grid-item template-span-five template-dice template-black-dice">
{{#rollTotal() gear-roll-nine 1}}
<span data-i18n-title="bane" title="Bane">&#128165;
<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/bane_skull_white.png" alt="Bane" class="template-bane" /> --></span>
{{/rollTotal() gear-roll-nine 1}}
{{#rollBetween() gear-roll-nine 2 5}} {{gear-roll-nine}}
{{/rollBetween() gear-roll-nine 2 5}}
{{#rollTotal() gear-roll-nine 6}}
<span data-i18n-title="success" title="Success">&#9762;<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/success_swords_white.png" alt="Success" class="template-success" /> --></span>
{{/rollTotal() gear-roll-nine 6}}
</div>
{{/rollTotal() gear-die-nine 1}}
{{#rollTotal() gear-die-ten 1}}
<div class="template-grid-item template-span-shix template-dice template-black-dice">
{{#rollTotal() gear-roll-ten 1}}
<span data-i18n-title="bane" title="Bane">&#128165;
<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/bane_skull_white.png" alt="Bane" class="template-bane" /> --></span>
{{/rollTotal() gear-roll-ten 1}}
{{#rollBetween() gear-roll-ten 2 5}} {{gear-roll-ten}}
{{/rollBetween() gear-roll-ten 2 5}}
{{#rollTotal() gear-roll-ten 6}}
<span data-i18n-title="success" title="Success">&#9762;<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/success_swords_white.png" alt="Success" class="template-success" /> --></span>
{{/rollTotal() gear-roll-ten 6}}
</div>
{{/rollTotal() gear-die-ten 1}}
{{#rollTotal() gear-die-eleven 1}}
<div class="template-grid-item template-span-five template-dice template-black-dice">
{{#rollTotal() gear-roll-eleven 1}}
<span data-i18n-title="bane" title="Bane">&#128165;
<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/bane_skull_white.png" alt="Bane" class="template-bane" /> --></span>
{{/rollTotal() gear-roll-eleven 1}}
{{#rollBetween() gear-roll-eleven 2 5}} {{gear-roll-eleven}}
{{/rollBetween() gear-roll-eleven 2 5}}
{{#rollTotal() gear-roll-eleven 6}}
<span data-i18n-title="success" title="Success">&#9762;<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/success_swords_white.png" alt="Success" class="template-success" /> --></span>
{{/rollTotal() gear-roll-eleven 6}}
</div>
{{/rollTotal() gear-die-eleven 1}}
{{#rollTotal() gear-die-twelve 1}}
<div class="template-grid-item template-span-shix template-dice template-black-dice">
{{#rollTotal() gear-roll-twelve 1}}
<span data-i18n-title="bane" title="Bane">&#128165;
<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/bane_skull_white.png" alt="Bane" class="template-bane" /> --></span>
{{/rollTotal() gear-roll-twelve 1}}
{{#rollBetween() gear-roll-twelve 2 5}} {{gear-roll-twelve}}
{{/rollBetween() gear-roll-twelve 2 5}}
{{#rollTotal() gear-roll-twelve 6}}
<span data-i18n-title="success" title="Success">&#9762;<!-- <img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Forbidden_Lands/images/success_swords_white.png" alt="Success" class="template-success" /> --></span>
{{/rollTotal() gear-roll-twelve 6}}
</div>
{{/rollTotal() gear-die-twelve 1}}
</div>
<!--- d6 -->
<!-- increased range of each d66 dice to allow for custom rolls 0-100-->
{{#rollTotal() d6-die-one 1}}
<div class="template-grid-item template-span-three template-dice template-green-dice">
{{#rollBetween() d6-roll-one 0 100}} {{d6-roll-one}} {{/rollBetween() d6-roll-one 0 100}}
</div>
{{/rollTotal() d6-die-one 1}}
<!--- d66 -->
<!-- increased range of each d66 dice to allow for custom rolls 0-100-->
{{#rollTotal() d66-die-one 1}}
<div class="template-grid-item template-span-three template-dice template-green-dice">
{{#rollBetween() d66-roll-one 0 100}} {{d66-roll-one}} {{/rollBetween() d66-roll-one 0 100}}
</div>
{{/rollTotal() d66-die-one 1}}
{{#rollTotal() d66-die-two 1}}
<div class="template-grid-item template-span-four template-dice template-green-dice">
{{#rollBetween() d66-roll-two 0 100}} {{d66-roll-two}} {{/rollBetween() d66-roll-two 0 100}}
</div>
{{/rollTotal() d66-die-two 1}}
<!--- d666 -->
<!-- increased range of each d66 dice to allow for custom rolls 0-1000-->
{{#rollTotal() d666-die-one 1}}
<div class="template-grid-item template-span-three template-dice template-green-dice">
{{#rollBetween() d666-roll-one 0 100}} {{d666-roll-one}} {{/rollBetween() d666-roll-one 0 100}}
</div>
{{/rollTotal() d666-die-one 1}}
{{#rollTotal() d666-die-two 1}}
<div class="template-grid-item template-span-four template-dice template-green-dice">
{{#rollBetween() d666-roll-two 0 100}} {{d666-roll-two}} {{/rollBetween() d666-roll-two 0 100}}
</div>
{{/rollTotal() d666-die-two 1}}
{{#rollTotal() d666-die-three 1}}
<div class="template-grid-item template-span-five template-dice template-green-dice">
{{#rollBetween() d666-roll-three 0 100}} {{d666-roll-three}} {{/rollBetween() d666-roll-three 0 100}}
</div>
{{/rollTotal() d666-die-three 1}}
<!--- Initiative -->
{{#roll-initiative}}
<div class="template-grid-item template-span-three template-dice template-green-dice">
{{roll-initiative}}
</div>
{{/roll-initiative}}
<!--- dice pool column labels in footer-->
{{#attribute-die-one}}
<div class="template-grid-item template-span-left template-label-dice-column">
<span class="template-smaller small-caps" data-i18n="base-dice">Base Dice</span>
</div>
{{/attribute-die-one}}
{{#skill-die-one}}
<div class="template-grid-item template-span-center template-label-dice-column">
<span class="template-smaller small-caps" data-i18n="skill-dice">Skill Dice</span>
</div>
{{/skill-die-one}}
{{#negative-die-one}}
<div class="template-grid-item template-span-center template-label-dice-column">
<span class="template-smaller small-caps" data-i18n="negative-dice">Negative Dice</span>
</div>
{{/negative-die-one}}
{{#gear-die-one}}
<div class="template-grid-item template-span-right template-label-dice-column">
<span class="template-smaller small-caps" data-i18n="gear-dice">Gear Dice</span>
</div>
{{/gear-die-one}}
<!--- attack -->
{{#weapon-bonus}}
<div class="template-grid-item template-span-six condensed template-footer">
<span class="label" data-i18n="bonus">Bonus</span><span>:&nbsp;{{weapon-bonus}}</span>
{{#weapon-bonus-max}}<span>/{{weapon-bonus-max}}</span>{{/weapon-bonus-max}}
{{#weapon-bonus-misc}}
<span>&nbsp;&#177;&nbsp; <span class="label" data-i18n="modifier-abbr">Mod</span>:&nbsp;{{weapon-bonus-misc}}</span>
{{/weapon-bonus-misc}}
{{#weapon-damage}}
<span><br /><span class="label" data-i18n="damage-abbr">Damage</span>:&nbsp;{{weapon-damage}}</span>
{{/weapon-damage}}
{{#weapon-damage-misc}}&nbsp;&#177;&nbsp;
<span class="label" data-i18n="modifier-abbr">Mod</span><span>:&nbsp;{{weapon-damage-misc}}</span>
{{/weapon-damage-misc}}
{{#attack-features}}
<span><br /><span class="label" data-i18n="features">Features</span>:&nbsp;{{attack-features}}</span>
{{/attack-features}}
{{#weapon-range}}
<div class="template-grid-item template-span-six"><span class="label"data-i18n="range">Range</span><span>:&nbsp;{{weapon-range}}</span></div>
{{/weapon-range}}
{{#weapon-features}}
<div class="template-grid-item template-span-six"><span class="label" data-i18n="features">Features</span><span>:&nbsp;{{weapon-features}}</span></div>
{{/weapon-features}}
{{#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>
{{/weapon-bonus}}
<!--- armor -->
{{#rollTotal() armor-equipped}}
{{#armor-name}}
<div class="template-grid-item template-span-six template-footer">
<span class="strong bold">{{armor-name}}</span>
</div>
<div class="template-grid-item template-span-six condensed template-footer">
<span>{{#armor-rating}}<span class="label" data-i18n="armor-rating-abbr">AR</span>:&nbsp;{{armor-rating}}{{/armor-rating}}</span>
<span>{{#armor-rating-max}}/{{armor-rating-max}}{{/armor-rating-max}}</span>
<span>{{#armor-rating-misc}}&nbsp;&#177;&nbsp;<span class="label" data-i18n="modifier-abbr">Mod</span>:&nbsp;{{armor-rating-misc}}{{/armor-rating-misc}}</span>
<span>{{#armor-rating-total}}&nbsp;=&nbsp;<span class="label" data-i18n="total">Total</span>:&nbsp;{{armor-rating-total}}{{/armor-rating-total}}</span>
</div>
{{/armor-name}}
{{/rollTotal() armor-equipped}}
<!--skills-->
{{#skill-base}}
<div class="template-grid-item template-span-half template-footer">
<span>&nbsp;<span class="label right-align right" data-i18n="base">Base</span>:</span>
</div>
<div class="template-grid-item template-span-2nd-half template-footer">
<span class="allprops allprops-value">{{skill-base}}</span>
</div>
{{/skill-base}}
{{#skill-level}}
<div class="template-grid-item template-span-half template-footer">
<span>&nbsp;<span class="label right-align right" data-i18n="skill">Skill</span>:</span>
</div>
<div class="template-grid-item template-span-2nd-half template-footer">
<span class="allprops allprops-value">{{skill-level}}</span>
</div>
{{/skill-level}}
{{#skill-bonus-misc}}
<div class="template-grid-item template-span-half template-footer">
<span>&nbsp;<span class="label right-align right" data-i18n="modifier-abbr">Mod</span>:</span>
</div>
<div class="template-grid-item template-span-2nd-half template-footer">
<span class="allprops allprops-value">{{skill-bonus-misc}}</span>
</div>
{{/skill-bonus-misc}}
{{#skill-bonus-gear}}
<div class="template-grid-item template-span-half template-footer">
<span>&nbsp;<span class="label right-align right" data-i18n="gear">Gear</span>:</span>
</div>
<div class="template-grid-item template-span-2nd-half template-footer">
<span class="allprops allprops-value">{{skill-bonus-gear}}</span>
</div>
{{/skill-bonus-gear}}
{{#free-text}}
<div class="template-grid-item template-span-six free-text scroll-text template-footer"><span>{{free-text}}</span></div>
{{/free-text}}
{{#footer}}
<div class="template-grid-item template-span-six template-footer">{{footer}}</div>
{{/footer}}
{{#rollGreater() computed::push 0}}
<div class="template-grid-item template-span-six template-footer push-option">
[<span data-i18n="push-the-roll">Push the Roll</span>](~{{character_name}}|push||{{computed::pushroll}})
</div>
{{/rollGreater() computed::push 0}}
</div>
</div>
</rolltemplate>
<script type="text/worker">
/* beautify preserve:start */
"use strict";
const silent = {silent:true};
//-------------------------------------------------------------------------------------
// orcsAsync - https://github.com/onyxring/orcsAsync
// Compensates for a defect in the underlying Roll20 system, where it "loses context"
// (forgets which player is active) during asynchronous methods and callbacks,
// resulting in error messages like:
//
// Error: Trying to do getAttrs when no character is active in sandbox.
//
// Include this script at the top of your character sheet's code setion to have
// setTimeout() and setInterval() just start working as expected; no additional setup
// required. Additionally, async-safe versions of the typical attribute functions will
// be available:
//
// getAttrsAsync
// setAttrsAsync
// getSectionIDsAsync
//
function isRunningOnServer() { return self.dispatchEvent == undefined; }
function setActiveCharacterId(charId){
var oldAcid=getActiveCharacterId();
var msg={"id":"0", "type":"setActiveCharacter", "data":charId};
if(isRunningOnServer()==false){ //if in a browser, use "dispatchEvent" to process the message
var ev = new CustomEvent("message");
ev.data=msg;
self.dispatchEvent(ev);
}else{ //otherwise, use the API (server) message processor, "onmessage"
self.onmessage({data:msg});
}
return oldAcid; //return what the value used to be, so calling code can be a little cleaner
}
/*
var _sIn=setInterval;
setInterval=function(callback, timeout){
var acid=getActiveCharacterId();
_sIn(
function(){
var prevAcid=setActiveCharacterId(acid);
callback();
setActiveCharacterId(prevAcid);
}
,timeout);
}
var _sto=setTimeout
setTimeout=function(callback, timeout){
var acid=getActiveCharacterId();
_sto(
function(){
var prevAcid=setActiveCharacterId(acid);
callback();
setActiveCharacterId(prevAcid);
}
,timeout);
}
*/
function getAttrsAsync(props){
var acid=getActiveCharacterId(); //save the current activeCharacterID in case it has changed when the promise runs
var prevAcid=null; //local variable defined here, because it needs to be shared across the promise callbacks defined below
return new Promise((resolve,reject)=>{
prevAcid=setActiveCharacterId(acid); //in case the activeCharacterId has changed, restore it to what we were expecting and save the current value to restore later
try{
getAttrs(props,(values)=>{ resolve(values); });
}
catch{ reject(); }
}).finally(()=>{
setActiveCharacterId(prevAcid); //restore activeCharcterId to what it was when the promise first ran
});
}
//use the same pattern for each of the following...
function setAttrsAsync(propObj, options){
var acid=getActiveCharacterId();
var prevAcid=null;
return new Promise((resolve,reject)=>{
prevAcid=setActiveCharacterId(acid);
try{
setAttrs(propObj,options,(values)=>{ resolve(values); });
}
catch{ reject(); }
}).finally(()=>{
setActiveCharacterId(prevAcid);
});
}
function getSectionIDsAsync(sectionName){
var acid = getActiveCharacterId();
var prevAcid=null;
return new Promise((resolve,reject)=>{
prevAcid = setActiveCharacterId(acid);
try{
getSectionIDs(sectionName,(values)=>{ resolve(values); });
}
catch{ reject(); }
}).finally(()=>{
setActiveCharacterId(prevAcid);
});
}
function getSingleAttrAsync(prop){
var acid=getActiveCharacterId();
var prevAcid=null;
return new Promise((resolve,reject)=>{
prevAcid=setActiveCharacterId(acid);
try{
getAttrs([prop],(values)=>{ resolve(values[prop]); });
}
catch{ reject(); }
}).finally(()=>{
setActiveCharacterId(prevAcid);
});
}
/* END ASYNC FUNCTIONS */
/*
SPINES
*/
const mainAttributesArr = [
{name:"strength",attr:"strength",abbr:"strength-abbr",damage:"damage"},
{name:"strength_monster",attr:"strength_monster",abbr:"strength-abbr",damage:"damage"},
{name:"agility",attr:"agility",abbr:"agility-abbr",damage:"fatigue"},
{name:"wits",attr:"wits",abbr:"wits-abbr",damage:"coonfusion"},
{name:"empathy",attr:"empathy",abbr:"empathy-abbr",damage:"doubt"},
],
extraAttributesArr = [
{name:"instinct",attr:"empathy",abbr:"instinct-abbr",damage:"doubt"},
{name:"servos",attr:"strength",abbr:"servos-abbr",damage:"damage"},
{name:"stability",attr:"agility",abbr:"stability-abbr",damage:"damage"},
{name:"processor",attr:"wits",abbr:"processor-abbr",damage:"damage"},
{name:"network",attr:"empathy",abbr:"network-abbr",damage:"damage"}
],
attributesArr = [...mainAttributesArr, ...extraAttributesArr],
skillsArr = [
{id:"endure",name:"endure",label:"endure",level:"endure",attr_name:"strength",attr:"strength",misc:"endure_skill_misc",gear:"endure_gear_misc"},
{id:"force",name:"force",label:"force",level:"force",attr_name:"strength",attr:"strength",misc:"force_skill_misc",gear:"force_gear_misc"},
{id:"fight",name:"fight",label:"fight",level:"fight",attr_name:"strength",attr:"strength",misc:"fight_skill_misc",gear:"fight_gear_misc"},
{id:"sneak",name:"sneak",label:"sneak",level:"sneak",attr_name:"agility",attr:"agility",misc:"sneak_skill_misc",gear:"sneak_gear_misc"},
{id:"move",name:"move",label:"move",level:"move",attr_name:"agility",attr:"agility",misc:"move_skill_misc",gear:"move_gear_misc"},
{id:"shoot",name:"shoot",label:"shoot",level:"shoot",attr_name:"agility",attr:"agility",misc:"shoot_skill_misc",gear:"shoot_gear_misc"},
{id:"scout",name:"scout",label:"scout",level:"scout",attr_name:"wits",attr:"wits",misc:"scout_skill_misc",gear:"scout_gear_misc"},
{id:"comprehend",name:"comprehend",label:"comprehend",level:"comprehend",attr_name:"wits",attr:"wits",misc:"comprehend_skill_misc",gear:"comprehend_gear_misc"},
{id:"know_the_zone",name:"know the zone",label:"know-the-zone",level:"know_the_zone",attr_name:"wits",attr:"wits",misc:"know_the_zone_skill_misc",gear:"know_the_zone_gear_misc"},
{id:"sense_emotion",name:"sense emotion",label:"sense-emotion",level:"sense_emotion",attr_name:"empathy",attr:"empathy",misc:"sense_emotion_skill_misc",gear:"sense_emotion_gear_misc"},
{id:"manipulate",name:"manipulate",label:"manipulate",level:"manipulate",attr_name:"empathy",attr:"empathy",misc:"manipulate_skill_misc",gear:"manipulate_gear_misc"},
{id:"heal",name:"heal",label:"heal",level:"heal",attr_name:"empathy",attr:"empathy",misc:"heal_skill_misc",gear:"heal_gear_misc"},
{id:"know_nature",name:"know nature",label:"know-nature",level:"know_the_zone",attr_name:"instinct",attr:"empathy",misc:"know_the_zone_skill_misc",gear:"know_the_zone_gear_misc"},
{id:"sense_emotion_animal",name:"sense emotion animal",label:"sense-emotion-animal",level:"sense_emotion",attr_name:"instinct",attr:"empathy",misc:"sense_emotion_skill_misc",gear:"sense_emotion_gear_misc"},
{id:"dominate",name:"dominate",label:"dominate",level:"manipulate",attr_name:"instinct",attr:"empathy",misc:"manipulate_skill_misc",gear:"manipulate_gear_misc"},
{id:"overload",name:"overload",label:"overload",level:"endure",attr_name:"servos",attr:"strength",misc:"endure_skill_misc",gear:"endure_gear_misc"},
{id:"force_robot",name:"force",label:"force-robot",level:"force",attr_name:"servos",attr:"strength",misc:"force_skill_misc",gear:"force_gear_misc"},
{id:"assault",name:"assault",label:"assault",level:"fight",attr_name:"servos",attr:"strength",misc:"fight_skill_misc",gear:"fight_gear_misc"},
{id:"infiltrate",name:"infiltrate",label:"infiltrate",level:"sneak",attr_name:"stability",attr:"agility",misc:"sneak_skill_misc",gear:"sneak_gear_misc"},
{id:"move_robot",name:"move",label:"move-robot",level:"move",attr_name:"stability",attr:"agility",misc:"move_skill_misc",gear:"move_gear_misc"},
{id:"shoot_robot",name:"shoot",label:"shoot-robot",level:"shoot",attr_name:"stability",attr:"agility",misc:"shoot_skill_misc",gear:"shoot_gear_misc"},
{id:"scan",name:"scan",label:"scan",level:"scout",attr_name:"processor",attr:"wits",misc:"scout_skill_misc",gear:"scout_gear_misc"},
{id:"datamine",name:"datamine",label:"datamine",level:"comprehend",attr_name:"processor",attr:"wits",misc:"comprehend_skill_misc",gear:"comprehend_gear_misc"},
{id:"analyze",name:"analyze",label:"analyze",level:"know_the_zone",attr_name:"processor",attr:"wits",misc:"know_the_zone_skill_misc",gear:"know_the_zone_gear_misc"},
{id:"question",name:"question",label:"question",level:"sense_emotion",attr_name:"network",attr:"empathy",misc:"sense_emotion_skill_misc",gear:"sense_emotion_gear_misc"},
{id:"interact",name:"interact",label:"interact",level:"manipulate",attr_name:"network",attr:"empathy",misc:"manipulate_skill_misc",gear:"manipulate_gear_misc"},
{id:"repair",name:"repair",label:"repair",level:"heal",attr_name:"network",attr:"empathy",misc:"heal_skill_misc",gear:"heal_gear_misc"},
];
let race_att_names;
/* START RACE TYPE UPDATES */
//object reference for Race specific attribute names
//Upate sheet labels when chartype attribute changes
on("change:chartype sheet:opened", function(eventInfo) {
var character_types = {
"Mutant":{ strength: getTranslationByKey("strength"),
agility: getTranslationByKey("agility"),
wits: getTranslationByKey("wits"),
empathy: getTranslationByKey("empathy"),
str:getTranslationByKey("strength-abbr"),
agi: getTranslationByKey("agility-abbr"),
wit: getTranslationByKey("wits-abbr"),
emp: getTranslationByKey("empathy-abbr"),
damage: getTranslationByKey("damage"),
fatigue: getTranslationByKey("fatigue"),
confusion: getTranslationByKey("confusion"),
doubt: getTranslationByKey("doubt"),
endure: getTranslationByKey("endure"),
force: getTranslationByKey("force"),
fight: getTranslationByKey("fight"),
sneak: getTranslationByKey("sneak"),
move: getTranslationByKey("move"),
shoot: getTranslationByKey("shoot"),
scout: getTranslationByKey("scout"),
comprehend: getTranslationByKey("comprehend"),
know_the_zone: getTranslationByKey("know-the-zone"),
sense_emotion: getTranslationByKey("sense-emotion"),
manipulate: getTranslationByKey("manipulate"),
heal: getTranslationByKey("heal") },
"Animal":{ strength: getTranslationByKey("strength"),
agility: getTranslationByKey("agility"),
wits: getTranslationByKey("wits"),
empathy: getTranslationByKey("instinct"),
str:getTranslationByKey("strength-abbr"),
agi: getTranslationByKey("agility-abbr"),
wit: getTranslationByKey("wits-abbr"),
emp: getTranslationByKey("instinct-abbr"),
damage: getTranslationByKey("damage"),
fatigue: getTranslationByKey("fatigue"),
confusion: getTranslationByKey("confusion"),
doubt: getTranslationByKey("doubt"),
endure: getTranslationByKey("endure"),
force: getTranslationByKey("force"),
fight: getTranslationByKey("fight"),
sneak: getTranslationByKey("sneak"),
move: getTranslationByKey("move"),
shoot: getTranslationByKey("shoot"),
scout: getTranslationByKey("scout"),
comprehend: getTranslationByKey("comprehend"),
know_the_zone: getTranslationByKey("know-nature"),
sense_emotion: getTranslationByKey("sense-emotion-animal"),
manipulate: getTranslationByKey("dominate"),
heal: getTranslationByKey("heal") },
"Robot":{ strength: getTranslationByKey("servos"),
agility: getTranslationByKey("stability"),
wits: getTranslationByKey("processor"),
empathy: getTranslationByKey("network"),
str: getTranslationByKey("servos-abbr"),
agi: getTranslationByKey("stability-abbr"),
wit: getTranslationByKey("processor-abbr"),
emp: getTranslationByKey("network-abbr"),
damage: getTranslationByKey("damage"),
fatigue: getTranslationByKey("damage"),
confusion: getTranslationByKey("damage"),
doubt: getTranslationByKey("damage"),
endure: getTranslationByKey("overload"),
force: getTranslationByKey("force-robot"),
fight: getTranslationByKey("assault"),
sneak: getTranslationByKey("infiltrate"),
move: getTranslationByKey("move-robot"),
shoot: getTranslationByKey("shoot-robot"),
scout: getTranslationByKey("scan"),
comprehend: getTranslationByKey("datamine"),
know_the_zone: getTranslationByKey("analyze"),
sense_emotion: getTranslationByKey("question"),
manipulate: getTranslationByKey("interact"),
heal: getTranslationByKey("repair") },
"Human":{ strength: getTranslationByKey("strength"),
agility: getTranslationByKey("agility"),
wits: getTranslationByKey("wits"),
empathy: getTranslationByKey("empathy"),
str: getTranslationByKey("strength-abbr"),
agi: getTranslationByKey("agility-abbr"),
wit: getTranslationByKey("wits-abbr"),
emp: getTranslationByKey("empathy-abbr"),
damage: getTranslationByKey("damage"),
fatigue: getTranslationByKey("fatigue"),
confusion: getTranslationByKey("confusion"),
doubt: getTranslationByKey("doubt"),
endure: getTranslationByKey("endure"),
force: getTranslationByKey("force"),
fight: getTranslationByKey("fight"),
sneak: getTranslationByKey("sneak"),
move: getTranslationByKey("move"),
shoot: getTranslationByKey("shoot"),
scout: getTranslationByKey("scout"),
comprehend: getTranslationByKey("comprehend"),
know_the_zone: getTranslationByKey("know-the-zone"),
sense_emotion: getTranslationByKey("sense-emotion"),
manipulate: getTranslationByKey("manipulate"),
heal: getTranslationByKey("heal") },
};
getAttrs(["chartype"], function(values) {
// race_att_names;
if (_.has(character_types, values.chartype) ) {
race_att_names = character_types[values.chartype];
}
else {
race_att_names = character_types["Mutant"];
setAttrs({chartype: "Mutant"});
}
setAttrs({strength_name: race_att_names.strength});
setAttrs({agility_name: race_att_names.agility});
setAttrs({wits_name: race_att_names.wits});
setAttrs({empathy_name: race_att_names.empathy});
setAttrs({strength_abbr: race_att_names.str});
setAttrs({agility_abbr: race_att_names.agi});
setAttrs({wits_abbr: race_att_names.wit});
setAttrs({empathy_abbr: race_att_names.emp});
setAttrs({damage_name: race_att_names.damage});
setAttrs({fatigue_name: race_att_names.fatigue});
setAttrs({confusion_name: race_att_names.confusion});
setAttrs({doubt_name: race_att_names.doubt});
setAttrs({endure_name: race_att_names.endure});
setAttrs({force_name: race_att_names.force});
setAttrs({fight_name: race_att_names.fight});
setAttrs({sneak_name: race_att_names.sneak});
setAttrs({move_name: race_att_names.move});
setAttrs({shoot_name: race_att_names.shoot});
setAttrs({scout_name: race_att_names.scout});
setAttrs({comprehend_name: race_att_names.comprehend});
setAttrs({know_the_zone_name: race_att_names.know_the_zone});
setAttrs({sense_emotion_name: race_att_names.sense_emotion});
setAttrs({manipulate_name: race_att_names.manipulate});
setAttrs({heal_name: race_att_names.heal});
});
});
/* END RACE TYPE UPDATES */
/* Attributre damage const */
const attributes = {
// an Object Literal: damages['strength'] returns 'damage', damages['empathy'] returns 'doubt', etc
strength: "strength_total",
agility: "agility_total",
wits: "wits_total",
empathy: "empathy_total",
};
/* Attributre damage const */
const damages = {
// an Object Literal: damages['strength'] returns 'damage', damages['empathy'] returns 'doubt', etc
strength: "damage",
agility: "fatigue",
wits: "confusion",
empathy: "doubt",
};
/* Skill attributes, misc and gear */
const skills = {
// a javascript Object Literal, containing each skill, and its corresponding skill
endure: "strength_total",
force: "strength_total",
fight: "strength_total",
sneak: "agility_total",
Move: "agility_total",
shoot: "agility_total",
scout: "wits_total",
comprehend: "wits_total",
know_the_zone: "wits_total",
sense_emotion: "empathy_total",
manipulate: "empathy_total",
heal: "empathy_total",
know_nature: "wits_total",
dominate: "empathy_total",
overload: "strength_total",
assault: "strength_total",
infiltrate: "agility_total",
scan: "wits_total",
datamine: "wits_total",
analyze: "wits_total",
question: "empathy_total",
interact: "empathy_total",
repair: "empathy_total",
},
skillAttrs = {
// a javascript Object Literal, containing each skill, and its corresponding attribute
endure: "strength_total",
force: "strength_total",
fight: "strength_total",
sneak: "agility_total",
Move: "agility_total",
shoot: "agility_total",
scout: "wits_total",
comprehend: "wits_total",
know_the_zone: "wits_total",
sense_emotion: "empathy_total",
manipulate: "empathy_total",
heal: "empathy_total",
know_nature: "wits_total",
dominate: "empathy_total",
overload: "strength_total",
assault: "strength_total",
infiltrate: "agility_total",
scan: "wits_total",
datamine: "wits_total",
analyze: "wits_total",
question: "empathy_total",
interact: "empathy_total",
repair: "empathy_total",
},
skillLevels = {
// a javascript Object Literal, containing each skill, and its corresponding attribute
endure: "endure",
force: "force",
fight: "fight",
sneak: "sneak",
move: "move",
shoot: "shoot",
scout: "scout",
comprehend: "comprehend",
know_the_zone: "know_the_zone",
sense_emotion: "sense_emotion",
manipulate: "manipulate",
heal: "heal",
know_nature: "know_the_zone",
dominate: "manipulate",
overload: "endure",
assault: "fight",
infiltrate: "sneak",
scan: "scout",
datamine: "comprehend",
analyze: "know_the_zone",
question: "sense_emotion",
interact: "manipulate",
repair: "heal",
},
skillTotals = {
// a javascript Object Literal, containing each skill, and its corresponding total value
endure: "endure_total",
force: "force_total",
fight: "fight_total",
sneak: "sneak_total",
move: "move_total",
shoot: "shoot_total",
scout: "scout_total",
comprehend: "comprehend_total",
know_the_zone: "know_the_zone_total",
sense_emotion: "sense_emotion_total",
manipulate: "manipulate_total",
heal: "heal_total",
know_nature: "know_the_zone_total",
dominate: "manipulate_total",
overload: "endure_total",
assault: "fight_total",
infiltrate: "sneak_total",
scan: "scout_total",
datamine: "comprehend_total",
analyze: "know_the_zone_total",
question: "sense_emotion_total",
interact: "manipulate_total",
repair: "heal_total",
},
misc = {
// a javascript Object Literal, containing each skill, and its corresponding skill modification
endure: "endure_skill_misc",
force: "force_skill_misc",
fight: "fight_skill_misc",
sneak: "sneak_skill_misc",
Move: "move_skill_misc",
shoot: "shoot_skill_misc",
scout: "scout_skill_misc",
comprehend: "comprehend_skill_misc",
know_the_zone: "know_the_zone_skill_misc",
sense_emotion: "sense_emotion_skill_misc",
manipulate: "manipulate_skill_misc",
heal: "heal_skill_misc",
know_nature: "know_the_zone_skill_misc",
dominate: "manipulate_skill_misc",
overload: "endure_skill_misc",
assault: "fight_skill_misc",
infiltrate: "sneak_skill_misc",
scan: "scout_skill_misc",
datamine: "comprehend_skill_misc",
analyze: "know_the_zone_skill_misc",
question: "sense_emotion_skill_misc",
interact: "manipulate_skill_misc",
repair: "heal_skill_misc",
},
miscGear = {
// a javascript Object Literal, containing each skill, and its corresponding gear modification
endure: "endure_gear_misc",
force: "force_gear_misc",
fight: "fight_gear_misc",
sneak: "sneak_gear_misc",
Move: "move_gear_misc",
shoot: "shoot_gear_misc",
scout: "scout_gear_misc",
comprehend: "comprehend_gear_misc",
know_the_zone: "know_the_zone_gear_misc",
sense_emotion: "sense_emotion_gear_misc",
manipulate: "manipulate_gear_misc",
heal: "heal_gear_misc",
know_nature: "know_the_zone_gear_misc",
dominate: "manipulate_gear_misc",
overload: "endure_gear_misc",
assault: "fight_gear_misc",
infiltrate: "sneak_gear_misc",
scan: "scout_gear_misc",
datamine: "comprehend_gear_misc",
analyze: "know_the_zone_gear_misc",
question: "sense_emotion_gear_misc",
interact: "manipulate_gear_misc",
repair: "heal_gear_misc",
}
/* Monster constant */
const monster_skills = {
"endure monster": "endure_monster",
"fight monster": "fight_monster",
"force monster": "force_monster",
},
monster_misc = {
"endure monster": "endure_skill_misc_monster",
"fight monster": "fight_skill_misc_monster",
"force monster": "force_skill_misc_monster",
},
monster_miscGear = {
"endure monster": "endure_gear_misc_monster",
"fight monster": "fight_gear_misc_monster",
"force monster": "force_gear_misc_monster",
};
/* Switch between tabs. From version 1.12, using buttons.*/
[`character`, `ark`, `monster`, `zonelog`, 'npc', 'settings'].forEach(attr => {
on(`clicked:tab_${attr}`, () => {
setAttrs({tab: attr});
});
});
/* 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 */
const newAnnouncement = async (old_version, new_version, show_announcement) => {
const setter = {};
clog(`Current sheet data version: ${old_version}, Sheet code version: ${new_version}`);
if (new_version > old_version) {
setter.version = new_version;
}
if (show_announcement) {
clog("New Announcements: v" + new_version);
setter.show_announcements = 1;
}
if (setter) {
await setAttrsAsync(setter);
}
};
/*********************
UPGRADE LOGIC
***********************/
on("sheet:opened", () => {
getAttrs(["version"], (v) => {
versionator(float(v.version));
});
});
const versionator = async (version) => {
const getter = {},
setter = {};
var old_version = version;
// set the sheet version you are upgrading sheet to,
// and set show_announcement to 1 if you want to force an announcement to be shown.
// don't set a code_version; we use the switch below for that.
// let new_version = 2.02; // DEPRECATED, using the attribute attr_sheetversion at top of html for this
var new_version = (await getAttrsAsync(["sheetversion"])).sheetversion;
//clog("New version from attr: "+ new_version);
let show_announcement = 1;
// Test if character is new
var new_character = (await getAttrsAsync(["is_new_character"])).is_new_character;
clog("--- New character: "+ new_character);
// Test for upgrade from previous version 1.x (by checking for previous Attributes)
var test = await getAttrsAsync(["chartype", "adv-modifiers", "header-bgimg", "rot_permenant", "rot_permanent", "strength_max", "agility_max", "wits_max", "empathy_max", "ark_culture"]);
//clog("Test prev version: " + JSON.stringify(test));
//clog("Test prev version 2: " + ( ( test.strength_max || test.agility_max || test.wits_max || test.empathy_max ) === undefined));
//clog("Test prev version 3: " + ( test.strength_max === undefined || test.agility_max === undefined || test.wits_max === undefined || test.empathy_max === undefined ));
const prev_version_one = ( test.strength_max === undefined && test.agility_max === undefined && test.wits_max === undefined && test.empathy_max === undefined ) ? 0 : 1;
//clog("prev_version_one: "+prev_version_one);
// Test for upgrade from previous version 2.x (by checking for previous Attributes)
var test2 = await getAttrsAsync(["strength_total", "agility_total", "wits_total", "empathy_total"]);
//clog("Test prev version two: " + JSON.stringify(test2));
//clog("Test prev version two 1: " + (( test2.strength_total && test2.agility_total && test2.wits_total && test2.empathy_total ) === 0));
//clog("Test prev version two 2: " + ( test2.agility_total === 0 && test2.wits_total === 0 && test2.empathy_total === 0 ));
const prev_version_two = ( test2.agility_total === 0 && test2.wits_total === 0 && test2.empathy_total === 0 ) ? 0 : 1;
//clog("prev_version_two: "+prev_version_two);
//clog("old_version 1 = "+old_version);
//if (!old_version) old_version = 2.01; // New sheet
//clog("old_version 2 = "+old_version);
/* VERSION DETECTION */
/* 2025-01-14: Removed callback to versionator() and removed breaks in switch to allow fallback to decide what upgrades to make */
switch (true) {
//add checks for updates here
case new_character == 1 :
old_version = new_version;
await setAttrsAsync({is_new_character: 0, version: new_version});
new_character = (await getAttrsAsync(["is_new_character"])).is_new_character;
clog("----- New character, no sheet upgrades needed");
break;
case old_version < 3.00:
clog("---- Updating to version 3.00");
update_to_3_00(float(2.04), float(3.00));
//await setAttrsAsync({is_new_character: 0});
//new_character = (await getAttrsAsync(["is_new_character"])).is_new_character;
//clog("New character: 0");
show_announcement = 1;
//break;
case old_version < 3.10:
clog("---- Updating to version 3.10");
update_to_3_10(float(3.00), float(3.10));
//await setAttrsAsync({is_new_character: 0});
//new_character = (await getAttrsAsync(["is_new_character"])).is_new_character;
//clog("New character: 0");
show_announcement = 1;
//break;
default:
//clog("----- No sheet update needed, in switch default. ");
// if reach this, all codeversion upgrades are complete
// can run your recalculate function to show announcements
setAttrs({
version: new_version,
});
}
newAnnouncement(old_version, new_version, show_announcement);
};
//add update functions here
/* Upgrade to 3.10 version from previous version 3.00 */
const update_to_3_10 = async (old_version, upgraded_version) => {
clog(`** UPDATING TO V3.10 FROM ${old_version} **`);
const setter = {
whisper : 0,
//whisper_query : 0,
whisper_option : "",
whisper_option_api : "!myz",
whisper_the_roll : 0
};
getAttrs(["api_toggle","whisper_option","whisper_option_api","whisper","whisper_the_roll"], (values) => {
clog(`----- Upgrading from whisper settings: ${JSON.stringify(values)}`);
const option_api = values.whisper_option_api,
option = values.whisper_option,
api = int(values.api_toggle);
if ( ( api === 1 && option_api == "@{translation_whisper_api_macro_query}" ) ||
( api !== 1 && option == "@{translation_whisper_macro_query}" ) ) {
clog(`----- Whisper Upgrade: whisper through QUERY`);
setter.whisper = 2;
setter.whisper_option = "@{translation_whisper_macro_query}";
setter.whisper_option_api = "@{translation_whisper_api_macro_query}";
} else if ( ( api === 1 && option_api == "!wmyz" ) ||
( api !== 1 && option == "/w gm" ) ) {
clog(`----- Whisper Upgrade: whisper ENABLED through SETTING`);
setter.whisper = 1;
setter.whisper_option = "/w gm";
setter.whisper_option_api = "!wmyz";
setter.whisper_the_roll = 1;
} else if ( ( api === 1 && option_api == "!myz" ) ||
( api !== 1 && option == "" ) ) {
clog(`----- Whisper Upgrade: whisper DISABLED through SETTING`);
setter.whisper = 0;
setter.whisper_option = "";
setter.whisper_option_api = "!myz";
setter.whisper_the_roll = 0;
} else {
clog(`----- Whisper Upgrade: roll whisper settings not matched!!!`);
}
//clog(`----- Upgrading to whisper settings: ${JSON.stringify(setter)}`);
setAttrs(setter, { silent: true });
});
}
/* Upgrade to 3.00 version from previous version */
const update_to_3_00 = async (old_version, upgraded_version) => {
const setter = {};
var values = {};
//const charname = await getAttrsAsync(["character_name"]);
clog(`** UPDATING TO V3.00 FROM ${old_version} **`);
battleLvl();
//clog("Correcting battle level.");
//clog("...");
//clog("...");
//clog("...");
//clog("... enabled Custom Roll Parsing for Pushing Rolls in the chat message roll results.");
setAttrs(setter, { silent: true });
};
/* Upgrade to 2.0 version from previous version */
const update_to_2_0 = async (old_version, upgraded_version) => {
var values = {};
const charname = await getAttrsAsync(["character_name"]);
clog(`** UPDATING "${charname.character_name}" TO V2.0 FROM ${old_version} **`);
// On upgrade, set character type to Mutant
if (old_version < 2.01) {
//clog(`Upgrade ${charname.character_name}: Setting character type Mutant.`);
await setAttrsAsync({chartype: "Mutant"});
}
// On upgrade, turn off modifiers
if (old_version < 2.01) {
//clog(`Upgrade ${charname.character_name}: Turning off modifiers.`);
await setAttrsAsync({"adv-modifiers": 0});;
}
// On upgrade, turn on Mutant headers
if (old_version < 2.01) {
//clog(`Upgrade ${charname.character_name}: using image header backgrounds.`);
await setAttrsAsync({"header-bgimg": 1});
}
// On upgrade, change tab according to new tab naming
if (old_version < 2.01) {
const tab = await getAttrsAsync(["tab"]);
//clog(`Upgrading tab, current is ${tab.tab}`);
switch (tab.tab) {
case "log" :
await setAttrsAsync({tab: "zonelog"});
//clog("Setting tab from Log to Zonelog");
break;
case "npc" :
await setAttrsAsync({tab: "monster"});
await setAttrsAsync({"force_show_monsterinfo":1});
//clog("Setting tab from Npc to Monster, and showing legacy npc info.");
break;
default:
//clog("No need to update tab");
}
}
// Upgrade attributes, no need to update damages
// const attributes = { strength: "strength_total", agility: "agility_total", wits: "wits_total", empathy: "empathy_total" };
// const damages = { strength: "damage", agility: "fatigue", wits: "confusion", empathy: "doubt"};
Object.keys(attributes).forEach( async (attr) => {
var attrib = {};
values = await getAttrsAsync([attr, attributes[attr], damages[attr], attr+"_max", "character_name"]);
//charname = values.character_name;
// Set attributes to the attribute_max value from v1
//clog(`Testing attribute ${attr}_total exists (): exists ${(!values[attr+"_total"])} or is zero ${(values[attr+"_total"] == 0)}`);
// if (!values[attr+"_total"] || values[attr+"_total"] == 0) // replaced with old version test
//clog(`Old version test: ${old_version < 2}`);
//clog(`Testing if ${attr}_max exists: ${values[attr+"_max"]}`);
//clog(`Testing is ${attr} is not equal to ${attr}_max: ${values[attr] != values[attr+"_max"]}`);
//clog(`Set ${attr} to ${attr}_max test: ${(old_version < 2 || (values[attr+"_max"] && (values[attr] != values[attr+"_max"])) )}`);
if (old_version < 2 || (values[attr+"_max"] && (values[attr] != values[attr+"_max"])) ) {
attrib[attr] = int(values[attr+"_max"]);
//clog(`Upgrading attribute ${attr} from v1 version ${values[attr+"_max"]} to v2 ${values[attr]}`);
if (attr == "strength") {
// Set strength attributes for PC and Monster to attribute_max value
attrib["strength_pc"] = values["strength_max"];
attrib["strength_monster"] = values["strength_max"];
//clog(`Attrib is Strength, pc = ${attrib["strength_pc"]} and Monster is ${attrib["strength_monster"]}`);
}
} else {
attrib[attr] = int(values[attr]);
}
//clog(`Attributes ${attr} damage is ${int(values[damages[attr]])}`);
attrib[attr+"_total"] = attrib[attr] - int(values[damages[attr]]);
//clog("Attributes attrib: "+JSON.stringify(attrib));
const attr_name = getSkillName(attr);
//clog(`Set ${charname.character_name} attribute ${attr_name} from ${attr_name}_max ${values[attr+"_max"]} to ${attr_name} ${attrib[attr]} with total ${attrib[attr+"_total"]}.`);
await setAttrsAsync(attrib);
});
// Upgrade conditions - no need
// Upgrade apprearance - no need
// Upgrade injuries - non need
// Upgrade rot -
//clog("Pre Upgrade rot points");
const rot = await getAttrsAsync(["rot_permenant", "rot_permanent"]);
//clog("Upgrade rot points test 1, permenant exists : "+ rot.rot_permenant);
//clog("Upgrade rot points test 2, permanent : "+ rot.rot_permanent);
const permenant = int(rot.rot_permenant || 0),
permanent = int(rot.rot_permanent);
//clog("Upgrade rot points test 3, permenant > permanent : "+ (permenant > permanent) );
if (permenant > permanent) {
//clog(`Upgrading ${charname.character_name} permanent rot points from ${permanent} to ${permenant}`);
await setAttrsAsync({rot_permanent: permenant});
}
rot["value"] = await getAttrsAsync(["rot_permanent"]);
//clog(`Post Upgrade ${charname.character_name} permanent rot points ${rot.value.rot_permanent}`);
// Upgrade experience - no need, same attribute
// Upgrade skills - no need
// Upgrade repeating skills - no need, aligned
// Talents - no need - aligned
// Mutations, checking if need upgrade, checking if mutation names exists, then upgrading
var muts_actioned = false;
// Collect new mutaitons, if any
const mutationIds = await getSectionIDsAsync("repeating_mutations");
//clog("Mutation IDs list: "+ JSON.stringify(mutationIds));
//clog("Mutation IDs length: "+ mutationIds.length);
const mutations = [];
mutationIds.forEach( async (mutationId) => {
const muts = await getAttrsAsync(["repeating_mutations_"+mutationId+"_name", "repeating_mutations_"+mutationId+"_description"]);
mutations.push({name: muts["repeating_mutations_"+mutationId+"_name"], description: muts["repeating_mutations_"+mutationId+"_description"]});
//clog("Mutation names: "+JSON.stringify(mutations));
});
// Collect old mutantions, if any
const mutantionIds = await getSectionIDsAsync("repeating_mutantions");
//clog("Mutations list: "+ JSON.stringify(mutationIds));
//clog("Mutations length: "+ mutationIds.length);
//clog("Mutantion IDs list: "+ JSON.stringify(mutantionIds));
//clog("Mutantion IDs list: "+ mutantionIds.length);
if(mutantionIds.length > 0 && mutationIds.length < mutantionIds.length) {
mutantionIds.forEach( async (mutantionsId) => {
values = await getAttrsAsync(["repeating_mutantions_"+mutantionsId+"_mutantion_name", "repeating_mutantions_"+mutantionsId+"_mutantion_description", "character_name"]);
const name = values["repeating_mutantions_"+mutantionsId+"_mutantion_name"],
description = values["repeating_mutantions_"+mutantionsId+"_mutantion_description"],
newrowid = generateRowID();
//clog(`Found ${charname.character_name}'s mutantion ${name}.`);
const found = mutations.find(element => element.name == name);
//clog("Mutantion and mutations doesnt match? "+(found === undefined));
if (!found) {
//clog("Couldnt find match to "+name);
} else {
//clog("Found match to "+name);
}
var asterisk = "";
if ( mutationIds.length > 0) { asterisk = "*"; }
if(found === undefined) { // No match for mutantion in the new mutations list
//clog(`Upgrading ${charname.character_name}'s mutantion ${name}.`);
let newmutation = {};
newmutation["repeating_mutations_"+newrowid+"_name"] = name + asterisk;
newmutation["repeating_mutations_"+newrowid+"_description"] = description;
newmutation["repeating_mutations_"+newrowid+"_rank"] = 1;
newmutation["repeating_mutations_"+newrowid+"_powerlevel"] = 1;
await setAttrsAsync(newmutation);
} else { // Found a match in the new mutation list, skipping
muts_actioned = true;
//clog("mutation already re-added, "+name);
}
});
}
// Mutation points
const mp = await getAttrsAsync(["mutation", "mutationpoints", "character_name"]);
//clog(`${charname.character_name} mutation points mutation: ${mp.mutation}`);
//clog(`${charname.character_name} mutation points mutationpoints: ${mp.mutationpoints}`);
//clog("Testing mutpoints 0: " + old_version );
//clog(`Testing mutpoints 1: ${ old_version < float(2.01) } `);
//clog(`Testing mutpoints 2: ${ int(mp.mutation) != 0 } `);
//clog(`Testing mutpoints 3: ${ int(mp.mutationpoints) == 0 } `);
if (old_version < float(2.01) && int(mp.mutation) != 0 && int(mp.mutationpoints) == 0) {
//charname = mp.character_name;
//clog("Mutations ationed: "+muts_actioned);
//clog("Mutation points upgrade check: "+ (!mutation && !muts_actioned) || !mutationpoints );
//clog(`Upgrading ${charname.character_name} mutation points using v1 mutantion points ${mp.mutation}`);
setAttrs({mutationpoints: mp.mutation});
} else {
//clog("Mutation points not upgraded in version 2+, or when mutantion is 0, or mutationpoints is bigger than 0.");
}
// Upgrade Weapons ASYNC
const weaponIds = await getSectionIDsAsync("repeating_weapons");
weaponIds.forEach( async (weaponId) => {
var values = await getAttrsAsync(["repeating_weapons_"+weaponId+"_weapon_name", "repeating_weapons_"+weaponId+"_weapon_skill", "repeating_weapons_"+weaponId+"_weapon_skill_misc", "repeating_weapons_"+weaponId+"_weapon_bonus", "repeating_weapons_"+weaponId+"_weapon_bonus_max", "repeating_weapons_"+weaponId+"_weapon_damage", "repeating_weapons_"+weaponId+"_weapon_damage_misc", "repeating_weapons_"+weaponId+"_weapon_range", "repeating_weapons_"+weaponId+"_weapon_features", "repeating_weapons_"+weaponId+"_weapon_grip", "repeating_weapons_"+weaponId+"_weapon_weight", "repeating_weapons_"+weaponId+"_weapon_carried", "strength_total", "agility_total", "shoot", "fight", "character_name"]);
//clog(`Upgrade weapon attributes: Weapon ${values["repeating_weapons_"+weaponId+"_weapon_name"]} with bonus ${int(values["repeating_weapons_"+weaponId+"_weapon_bonus"])} and damage ${int(values["repeating_weapons_"+weaponId+"_weapon_damage"])} up to ${values["repeating_weapons_"+weaponId+"_weapon_range"]} distance.`);
//clog("Weapon upgrade json: "+ JSON.stringify(values));
const name = values["repeating_weapons_"+weaponId+"_weapon_name"],
skill = int(values["repeating_weapons_"+weaponId+"_weapon_skill"] || 0),
//skill_misc = int(values["repeating_weapons_"+weaponId+"_weapon_skill_misc"] || 0),
bonus = int(values["repeating_weapons_"+weaponId+"_weapon_bonus"] || 1),
bonus_max = values["repeating_weapons_"+weaponId+"_weapon_bonus_max"] ? int(values["repeating_weapons_"+weaponId+"_weapon_bonus_max"]) : int(values["repeating_weapons_"+weaponId+"_weapon_bonus"] || 1),
//bonus_misc = int(values["repeating_weapons_"+weaponId+"_weapon_bonus_misc" || 0]),
//bonus_tot = bonus + bonus_misc,
//damage = int(values["repeating_weapons_"+weaponId+"_weapon_damage"] || 1),
//damage_misc = int(values["repeating_weapons_"+weaponId+"_weapon_damage_misc"] || 0),
//damage_tot = damage + damage_misc,
//range = values["repeating_weapons_"+weaponId+"_weapon_range"] || "Arm",
//features = values["repeating_weapons_"+weaponId+"_weapon_features"] || "",
//grip = values["repeating_weapons_"+weaponId+"_weapon_grip"] || "1H",
//weight = values["repeating_weapons_"+weaponId+"_weapon_weight"] || 1,
//carried = values["repeating_weapons_"+weaponId+"_weapon_carried"] || 1,
//fight = int(values.fight),
//shoot = int(values.shoot),
base = skill === 0 ? int(values.strength_total) : int(values.agility_total),
skill_lvl = skill === 0 ? int(values.fight) : int(values.shoot);
const max = bonus_max < bonus ? bonus : bonus_max;
//clog(`Upgrade ${charname.character_name}'s weapon Weapon ${name} with ${base} base and ${skill_level} skill, max bonus ${bonus_max} and damage ${damage} up to ${range} distance.`);
let weapon = {};
weapon["repeating_weapons_"+weaponId+"_weapon_name"] = name;
weapon["repeating_weapons_"+weaponId+"_weapon_base_total"] = base;
weapon["repeating_weapons_"+weaponId+"_weapon_skill"] = int(values["repeating_weapons_"+weaponId+"_weapon_skill"] || 0);
weapon["repeating_weapons_"+weaponId+"_weapon_skill_misc"] = int(values["repeating_weapons_"+weaponId+"_weapon_skill_misc"] || 0);
weapon["repeating_weapons_"+weaponId+"_weapon_skill_total"] = skill_lvl + int(values["repeating_weapons_"+weaponId+"_weapon_skill_misc"] || 0);
weapon["repeating_weapons_"+weaponId+"_weapon_bonus"] = int(values["repeating_weapons_"+weaponId+"_weapon_bonus"] || 1);
weapon["repeating_weapons_"+weaponId+"_weapon_bonus_max"] = max;
weapon["repeating_weapons_"+weaponId+"_weapon_bonus_misc"] = int(values["repeating_weapons_"+weaponId+"_weapon_bonus_misc"] || 0);
weapon["repeating_weapons_"+weaponId+"_weapon_bonus_total"] = bonus_max + int(values["repeating_weapons_"+weaponId+"_weapon_bonus_misc"] || 0);
weapon["repeating_weapons_"+weaponId+"_weapon_damage"] = int(values["repeating_weapons_"+weaponId+"_weapon_damage"] || 1);
weapon["repeating_weapons_"+weaponId+"_weapon_damage_misc"] = int(values["repeating_weapons_"+weaponId+"_weapon_damage_misc"] || 0);
weapon["repeating_weapons_"+weaponId+"_weapon_damage_total"] = int(values["repeating_weapons_"+weaponId+"_weapon_damage"] || 1) + int(values["repeating_weapons_"+weaponId+"_weapon_damage_misc"] || 0);
weapon["repeating_weapons_"+weaponId+"_weapon_grip"] = values["repeating_weapons_"+weaponId+"_weapon_grip"] || "1H";
weapon["repeating_weapons_"+weaponId+"_weapon_range"] = values["repeating_weapons_"+weaponId+"_weapon_range"] || "Arm";
weapon["repeating_weapons_"+weaponId+"_weapon_carried"] = values["repeating_weapons_"+weaponId+"_weapon_carried"] || 1;
weapon["repeating_weapons_"+weaponId+"_weapon_weight"] = values["repeating_weapons_"+weaponId+"_weapon_weight"] || 1;
weapon["repeating_weapons_"+weaponId+"_weapon_features"] = values["repeating_weapons_"+weaponId+"_weapon_features"] || "";
//clog("Updating weapon: "+JSON.stringify(weapon));
await setAttrsAsync(weapon);
});
// Upgrade armor to repeating section
var armorIds = await getSectionIDsAsync("repeating_armor");
//clog("New armor IDs: "+ JSON.stringify(armorIds));
const armor_names = [];
var val = "";
armorIds.forEach( async (armorId) => {
val = await getAttrsAsync(["repeating_armor_"+armorId+"_name"]);
armor_names.push(val["repeating_armor_"+armorId+"_name"]);
//clog("Armor names: "+JSON.stringify(armor_names));
});
//clog("Armor names: "+ JSON.stringify(armor_names));
var armors = await getAttrsAsync(["armor1_ar", "armor1_bonus", "armor1_damage", "armor1_equiped", "armor1_name", "armor2_ar", "armor2_bonus", "armor2_damage", "armor2_equiped", "armor2_name", "character_name"]);
var newarmor1 = {};
//clog("Upgrade armor1 name: "+armors.armor1_name);
//clog("Upgrade armor1 bonus: "+armors.armor1_bonus);
//clog("Upgrade armor1 name not found: "+(armor_names.find(element => element == armors.armor1_name) === undefined));
//clog(`Upgrading ${charname.character_name}'s Armor1 ${armors.armor1_name} with bonus ${armors.armor1_bonus} and damage ${armors.armor1_damage}, equipped ${armors.armor1_equiped}`);
if (armors.armor1_name && armors.armor1_bonus && (armor_names.find(element => element == armors.armor1_name) === undefined)) {
//clog("Upgrading Armor1 : " + armors.armor1_name + " with bonus : "+ armors.armor1_bonus +".");
//clog(`Upgrading ${charname.character_name}'s Armor1 ${armors.armor1_name} with bonus ${armors.armor1_bonus} and damage ${armors.armor1_damage}, equipped ${armors.armor1_equiped}`);
const newrowid1 = generateRowID();
const bonus1_actual = int(armors.armor1_bonus) + int(armors.armor1_damage);
const rating1 = bonus1_actual * (armors.armor1_equiped == 0 ? 0 : 1);
//clog("Armor rating calculated: "+rating1);
var asterisk = "";
if ( old_version == float(2.01) ) { asterisk = "*"; }
newarmor1["repeating_armor_" + newrowid1 + "_name"] = armors.armor1_name + asterisk;
newarmor1["repeating_armor_" + newrowid1 + "_rating"] = rating1;
newarmor1["repeating_armor_" + newrowid1 + "_carried"] = 1;
newarmor1["repeating_armor_" + newrowid1 + "_equipped"] = armors.armor1_equiped || 1;
newarmor1["repeating_armor_" + newrowid1 + "_bonus"] = bonus1_actual;
newarmor1["repeating_armor_" + newrowid1 + "_bonus_misc"] = 0;
newarmor1["repeating_armor_" + newrowid1 + "_bonus_max"] = int(armors.armor1_bonus);
newarmor1["repeating_armor_" + newrowid1 + "_weight"] = 1;
newarmor1["repeating_armor_" + newrowid1 + "_features"] = '';
//clog("upgrading armor 1: "+JSON.stringify(newarmor1));
await setAttrsAsync(newarmor1);
} else {
//clog("No need to upgrade Armor_1");
}
var newarmor2 = {};
//clog("Upgrade armor2 name: "+armors.armor2_name);
//clog("Upgrade armor2 bonus: "+armors.armor2_bonus);
//clog("Upgrade armor1 name not found: "+(armor_names.find(element => element == armors.armor1_name) === undefined));
//clog(`Upgrade ${charname.character_name}'s Armor2 ${armors.armor2_name} with bonus ${armors.armor2_bonus} and damage ${armors.armor2_damage}, equipped ${armors.armor2_equiped}`);
if (armors.armor2_bonus && armors.armor2_name && armor_names.find(element => element == armors.armor2_name) === undefined) {
//clog("Upgrading Armor2 : " + armors.armor2_name + " with bonus : "+ armors.armor2_bonus +".");
//clog(`Upgrading ${charname.character_name}'s Armor2 ${armors.armor2_name} with bonus ${armors.armor2_bonus} and damage ${armors.armor2_damage}, equipped ${armors.armor2_equiped}`);
const newrowid2 = generateRowID();
const bonus2_actual = int(armors.armor2_bonus) + int(armors.armor2_damage);
const rating2 = bonus2_actual * (armors.armor2_equiped == 0 ? 0 : 1);
//clog("Armor rating calculated: "+rating2);
newarmor2["repeating_armor_" + newrowid2 + "_name"] = armors.armor2_name;
newarmor2["repeating_armor_" + newrowid2 + "_rating"] = rating2;
newarmor2["repeating_armor_" + newrowid2 + "_carried"] = 1;
newarmor2["repeating_armor_" + newrowid2 + "_equipped"] = armors.armor2_equiped || 1;
newarmor2["repeating_armor_" + newrowid2 + "_bonus"] = bonus2_actual;
newarmor2["repeating_armor_" + newrowid2 + "_bonus_misc"] = 0;
newarmor2["repeating_armor_" + newrowid2 + "_bonus_max"] = int(armors.armor2_bonus);
newarmor2["repeating_armor_" + newrowid2 + "_weight"] = 1;
newarmor2["repeating_armor_" + newrowid2 + "_features"] = '';
//clog("upgrading armor 2: "+JSON.stringify(newarmor2));
await setAttrsAsync(newarmor2);
} else {
//clog("No need to upgrade Armor_2");
}
// Upgrade gear, vehicle and consumables
// Gear - no need
// Vehicle - aligned
// Consumables, aligned
// Upgrade relationships, notes etc
// Aligned
// Upgrade Ark sheet
// Development levels
values = await getAttrsAsync(["ark_food_supply","ark_culture", "ark_technology", "ark_warfare", "ark_dev_food", "ark_dev_cult", "ark_dev_tech", "ark_dev_war", "character_name"]);
const dev_food = int(values.ark_dev_food),
dev_culture = int(values.ark_dev_cult),
dev_tech = int(values.ark_dev_tech),
dev_war = int(values.ark_dev_war),
food = dev_food || int(values.ark_food_supply),
culture = dev_culture || int(values.ark_culture),
tech = dev_tech || int(values.ark_technology),
war = dev_war || int(values.ark_warfare);
//charname = values.character_name;
//clog(`Upgrade ${charname.character_name}'s ark development levels: food ${food}, culture ${culture}, technology ${tech}, and warfare ${war}.`);
//clog("Dev levels json: "+ JSON.stringify(values));
await setAttrsAsync({
ark_dev_food: food,
ark_dev_cult: culture,
ark_dev_tech: tech,
ark_dev_war: war,
});
// Ark details
// Aligned
// UPDATE THIS /
// MUST set the version to a specific value here, the one where the sheet was updated like this.
const setter = {};
//setter.version = upgraded_version;
//clog("Setting upgraded version: "+JSON.stringify(upgraded_version));
setAttrs(setter, { silent: true });
};
/* rename misspelled items
const update_to_1_12 = (old_version, upgraded_version) => {
getAttrs(["armor1_equiped", "armor2_equiped"], (v) => {
const setter = {};
const statswaps = {
armor1_equiped: "armor1_equipped",
armor2_equiped: "armor2_equipped",
};
Object.entries(statswaps).forEach(([key, value]) => {
if (v[key]) {
setter[key] = v[value];
//clog(`Upgrading stat setter[key] ${setter[key]} to v[value] ${v[value]}`);
}
});
// UPDATE THIS /
// MUST set the version to a specific value here, the one where the sheet was updated like this.
//setter.version = upgraded_version;
setAttrs(setter, { silent: true });
//clog("updating misspelled items");
});
};*/
/* ===== 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,
});
});
});
};
/* character encumbrance */
on("change:repeating_gear remove:repeating_gear sheet:opened", function () {
//clog("Change Detected: Character Gear Encumbrance");
repeatingSum("gear_encumbrance", "gear", ["gear_weight", "gear_qty", "gear_carried"]);
});
/* vehicle encumbrance */
on("change:repeating_vehicle remove:repeating_vehicle sheet:opened", function () {
//clog("Change Detected: Vehicle Gear Encumbrance");
repeatingSum("vehiclegear_encumbrance", "vehicle", ["vehiclegear_weight", "vehiclegear_qty", "vehiclegear_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 encumbrance */
on("change:repeating_armor remove:repeating_armor sheet:opened", function () {
//clog("Change Detected: Character Armor Encumbrance");
repeatingSum("armor_encumbrance", "armor", ["weight", "carried"]);
});
/* armor rating */
on("change:repeating_armor remove:repeating_armor sheet:opened", function () {
//clog("Change Detected: Character Armor Rating");
repeatingSum("ar_total", "armor", ["rating", "equipped"]);
});
/* Permanent rot */
on("change:rot change:rot_permanent sheet:opened", function () {
//clog("Change Detected: Rot levels");
getAttrs(["rot", "rot_permanent"], (values) => {
var rot = int(values.rot),
rot_permanent = int(values.rot_permanent);
if(rot <= rot_permanent) {
setAttrs ({ rot: rot_permanent });
}
});
});
/* total encumbrance */
on("sheet:opened change:gear_encumbrance change:vehiclegear_encumbrance change:weapons_encumbrance change:armor_encumbrance change:grub change:water change:bullets", function () {
getAttrs(["gear_encumbrance", "vehiclegear_encumbrance", "weapons_encumbrance", "armor_encumbrance", "grub", "water", "bullets"], function (values) {
//clog("Change Detected: Character Encumbrance");
const gear_encumbrance = float(values["gear_encumbrance"]),
vehiclegear_encumbrance = float(values["vehiclegear_encumbrance"]),
weapons_encumbrance = float(values["weapons_encumbrance"]),
armor_encumbrance = float(values["armor_encumbrance"]),
grub = float(values["grub"]),
water = float(values["water"]),
bullets = float(values["bullets"]),
consumables_enc = (grub * 0.25) + (water * 0.25),
bullets_enc = bullets <= 10 ? 0 : (bullets <= 20 ? 0.5 : (bullets <= 40 ? 1 : 2)),
consumables_encumbrance = consumables_enc + bullets_enc,
sum_character_encumbrance = gear_encumbrance + weapons_encumbrance + armor_encumbrance + consumables_encumbrance,
sum_vehicle_encumbrance = vehiclegear_encumbrance;
setAttrs({
weapons_encumbrance: weapons_encumbrance,
armor_encumbrance: armor_encumbrance,
character_encumbrance: sum_character_encumbrance,
consumables_encumbrance: consumables_encumbrance,
vehicle_encumbrance: sum_vehicle_encumbrance,
});
});
});
/* total vehicle encumbrance */
on("sheet:opened change:vehicle_advancedencumbrance change:vehiclegear_encumbrance change:vehicle_occupants change:vehicle_seats change:vehicle_fuel change:vehicle_fuel_cap change:vehicle_maxload", function () {
getAttrs(["vehicle_advancedencumbrance", "vehiclegear_total", "vehicle_carry", "vehiclegear_encumbrance", "vehicle_occupants", "vehicle_occupants_weight", "vehicle_seats", "vehicle_fuel", "vehicle_fuel_cap", "vehicle_fuel_weight", "vehicle_maxload", "vehicle_overencumbered"], function (values) {
//clog("Change Detected: Vehicle Encumbrance");
const adv = int(values["vehicle_advancedencumbrance"]),
gear = float(values["vehiclegear_encumbrance"]),
occupants = int(values["vehicle_occupants"]),
seats = int(values["vehicle_seats"]),
fuel_cap = int(values["vehicle_fuel_cap"]),
fuel_in = float(values["vehicle_fuel"]),
fuel = fuel_in > fuel_cap ? fuel_cap : fuel_in,
fuel_wght = (adv > 0) ? fuel * 2 : 0, // If Adv, A unit of fuel weighs 2 units
maxload = int(values["vehicle_maxload"]),
carry = (adv > 0) ? maxload + (seats * 10) + (fuel_cap * 2) : maxload, // If Adv, Adjusted to accommodate poccupants and fuel
occupants_wght = (adv > 0) ? occupants * 10 : 0, // If Adv, A person weighs 10 units
total = gear + fuel_wght + occupants_wght,
overencumbered = (carry - total) < 0 ? 1 : 0;
setAttrs({
vehiclegear_encumbrance: gear,
vehicle_fuel_weight: fuel_wght,
vehicle_occupants_weight: occupants_wght,
vehiclegear_total: total,
vehicle_carry: carry,
vehicle_overencumbered: overencumbered,
});
});
});
/* Credits total */
on("sheet:opened change:credits change:credits_vehicle change:credits_stash", function () {
getAttrs(["credits", "credits_vehicle", "credits_stash"], function (values) {
//clog("Change Detected: Credits Total");
const credits = float(values["credits"]),
credits_vehicle = float(values["credits_vehicle"]),
credits_stash = float(values["credits_stash"]),
sum_credits = credits + credits_vehicle + credits_stash;
setAttrs({
credits_total: sum_credits,
});
});
});
on("change:powerincrease", (ev) => {
//clog(`Power increase button clicked: ${JSON.stringify(ev)}`);
getAttrs(["powerincrease","energypoints_max","energypoints"], (values) => {
const inc = int(values.powerincrease),
energy = int(values.energypoints),
setter = {},
silent = {silent: true};
if ( inc === 1 ) {
setter.energypoints_max = 12;
clog(`Energy points max increased to 12`);
} else {
setter.energypoints_max = 10;
setter.energypoints = Math.min(energy,10);
clog(`Energy points max set to 10`);
}
setAttrs(setter,silent);
});
});
//Battle Level
// Function also used in upgrade script
const battleLvl = () => {
getAttrs(["ark_dev_war"], (values) => {
//clog(JSON.stringify(values));
//clog(`Battle level at ${int(values.ark_dev_war) || 1}`);
const warfare = (Math.floor(float(values.ark_dev_war) / 10 ))+1 || 1;
setAttrs({
ark_battle_level: warfare,
});
});
}
on("change:ark_dev_war", () => {
battleLvl();
/*
getAttrs(["ark_dev_war"], (values) => {
//clog(JSON.stringify(values));
//clog(`Battle level at ${int(values.ark_dev_war) || 1}`);
const warfare = (Math.floor(float(values.ark_dev_war) / 10 ))+1 || 1;
setAttrs({
ark_battle_level: warfare,
});
});
*/
});
const houses = ['warburg','fortescue','kilgore','morningstar'],
sectors = ['novapaloma','oldkoly','pirius','tindertuft','northolme','calista','hindenburg','mosel','laborum','arcadium','cinderfalls','cogsofhel'],
houseSectors = {},
houseAttrs = {};
houseSectors.warburg = sectors.map( (sector) => sector + '_warburg' );
houseSectors.fortescue = sectors.map( (sector) => sector + '_fortescue' );
houseSectors.kilgore = sectors.map( (sector) => sector + '_kilgore' );
houseSectors.morningstar = sectors.map( (sector) => sector + '_morningstar' );
//clog(`Warburg: ${houseSectors.warburg}`);
//clog(`Fortescue: ${houseSectors.fortescue}`);
//clog(`kilgore: ${houseSectors.kilgore}`);
//clog(`morningstar: ${houseSectors.morningstar}`);
houses.forEach( (house) => {
//clog(`SW for ${house}`);
sectors.forEach( (sector) => {
//clog(`SW for ${house} and ${sector}`);
on(`change:${sector}_${house}`, () => {
updateInfluence(house);
});
});
});
const updateInfluence = (house) => {
//clog(`Updating influence for ${house}`);
getAttrs(houseSectors[`${house}`], (values) => {
//clog(`House influence values: ${JSON.stringify(values)}`);
const houseTotal = (Object.values(values)).reduce( (a,n) => a + int(n), 0);
//clog(`House ${house} influence : ${houseTotal}`);
setAttrs({
[`influence_${house}`] : houseTotal,
});
});
}
on('sheet:opened', () => {
//clog('Updating the influence of the four great houses.');
houses.forEach( (house) => { updateInfluence(house); });
});
/* 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 = (v.tab) ? v.tab : 'character', // sets tab to Character 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;
//clog(`Found updated strength max in tab ${tab}, checking pc = ${pc} and monster = ${monster} strengths, max is now = ${str}.`)
// 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 !== 'character' && tab !== 'monster' && !forceupdate) return;
// if tab = 1 or 3, set strength to the appropriate value
settings.strength = tab === 'monster' ? monster : pc;
setAttrs(settings);
});
});
/* ability damage calcs */
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.
});
});
});
});
/*** UPDATE ***/
/* skill total calcs */
const getSkill = (label) => (label.split("-").join("_")).split(" ").join("_").toLowerCase(),
getSkillLabel = (skill) => (skill.split("-").join("_")).split(" ").join("_").toLowerCase(),
// a function to change (for example) "Know the Zone" to "know_the_zone"
// needed for a couple of functions below
getSkillKey = (label) => (label.split("_").join("-")).split(" ").join("-").toLowerCase(),
// a function to change (for example) "Know the Zone" to "know-the-zone"
// needed for a couple of functions below
getSkillNameByType = (label) => race_att_names[label],
getSkillName = (label) => getTranslationByKey(label);
// A function to get the name of a skill specific for the selected race/character type.
// Needed for a couple of functions below
// Note, this is joint for all sheets for one logged on user
/* Skill totals calculation */
Object.keys(skills).forEach((skill_name) => {
// creates a sheet worker for each skill in skills - 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:${skills[skill_name]} change:${misc[skill_name]} change:${miscGear[skill_name]}`, function () {
//clog(`${skill} or ${skills[skill_name]} or ${misc[skill_name]} or ${miscGear[skill_name]} has changed.`);
getAttrs([skill, skills[skill_name], misc[skill_name], miscGear[skill_name]], function (values) {
const stat_score = int(values[skills[skill_name]]),
miscSkill_score = int(values[misc[skill_name]]),
miscGear_score = int(values[miscGear[skill_name]]),
skillRank_score = int(values[skill]);
setAttrs({
[skill + "_total"]: stat_score + skillRank_score + miscSkill_score + miscGear_score,
});
});
});
});
/* set profession skill base and skill total FIX courtesy of GiGs*/
on('sheet:opened change:repeating_skills:name change:repeating_skills:attribute change:repeating_skills:skill change:repeating_skills:misc change:repeating_skills:gear change:strength_total change:agility_total change:wits_total change:empathy_total', function () {
//clog('Change Detected: Profession Skill - recalculating Base & Skill totals');
getSectionIDs('repeating_skills', idarray => {
const fields = [];
idarray.forEach(id => fields.push(
`repeating_skills_${id}_name`,
`repeating_skills_${id}_attribute`,
`repeating_skills_${id}_base`,
`repeating_skills_${id}_skill`,
`repeating_skills_${id}_misc`,
`repeating_skills_${id}_gear`,
`repeating_skills_${id}_total`
));
// made the change event specific, so its only fired when needed, and likewise reduced the getAttrs to those only needed
getAttrs([...fields, 'strength_total', 'agility_total', 'wits_total', 'empathy_total'], function (values) {
const output = {};
idarray.forEach(id => {
const name = values[`repeating_skills_${id}_name`];
const attr = values[`repeating_skills_${id}_attribute`];
const skill_skill = int(values[`repeating_skills_${id}_skill`]);
const skill_misc = int(values[`repeating_skills_${id}_misc`]);
const skill_gear = int(values[`repeating_skills_${id}_gear`]);
// separate out the basic values read from the sheet from those calculated within the worker. for clarity
const skill_base = int(values[`${attr}_total`] || 0);
const skill_total = skill_base + skill_skill + skill_misc + skill_gear;
output[`repeating_skills_${id}_base`] = skill_base;
output[`repeating_skills_${id}_total`] = skill_total;
//clog('skill_name: ' + name);
//clog('skill_base: ' + skill_base);
//clog('skill_total: ' + skill_total);
});
setAttrs(output);
});
});
});
/* Monster strength-based skill total calcs */
Object.keys(monster_skills).forEach((skill_name) => {
const monster_skill = getSkill(skill_name);
on(`change:${monster_skill} change:${monster_skills[skill_name]} change:${monster_misc[skill_name]} change:${monster_miscGear[skill_name]}`, function () {
//clog(`${monster_skill} or ${monster_skills[skill_name]} or ${monster_misc[skill_name]} or ${monster_miscGear[skill_name]} has changed.`);
getAttrs([monster_skill, monster_skills[skill_name], monster_misc[skill_name], monster_miscGear[skill_name]], function (values) {
const stat_score = int(values[monster_skills[skill_name]]),
miscSkill_score = int(values[monster_misc[skill_name]]),
miscGear_score = int(values[monster_miscGear[skill_name]]);
setAttrs({
[monster_skill + "_total"]: stat_score + miscSkill_score + miscGear_score,
});
});
});
});
/* set repeating armor rating */
on("change:repeating_armor:bonus change:repeating_armor:bonus_max change:repeating_armor:bonus_misc change:repeating_armor:equipped", function () {
//clog("Change Detected: Repeating Armor Rating - recalculating rating totals");
// made the change event specific, so its only fired when needed, and likewise reduced the getAttrs to those only needed
getAttrs(["repeating_armor_bonus", "repeating_armor_bonus_misc", "repeating_armor_bonus_max", "repeating_armor_rating", "repeating_armor_equipped"], function (values) {
const bonus = int(values.repeating_armor_bonus),
bonus_misc = int(values.repeating_armor_bonus_misc),
bonus_max = int(values.repeating_armor_bonus_max),
equipped = int(values.repeating_armor_equipped);
// separate out the basic values read from the sheet from those calculated within the worker
const bonus_actual = Math.min(bonus, bonus_max);
const rating = (bonus_actual + bonus_misc) * equipped;
//clog("armor calculation: ( bonus " + bonus + " + bonus_misc " + bonus_misc + " ) * " + equipped + " = rating " + rating);
setAttrs({
repeating_armor_bonus: bonus_actual,
repeating_armor_rating: rating,
});
//clog("Armor rating: " + rating);
});
});
/* 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", "shoot", "fight"], function (values) {
const strength = int(values.strength_total),
agility = int(values.agility_total),
fight = int(values.fight),
shoot = int(values.shoot),
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 ? fight : shoot,
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 and max */
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
//If weapon bonus max is 0, then set it to the value of the weapon bonus
if (weapon_bonus_max === 0) {
//clog("setting weapon bonus max to value of weapon bonus (since no max detected). New max value = "+weapon_bonus);
setAttrs({repeating_weapons_weapon_bonus_max: weapon_bonus});
}
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:fight change:shoot", 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", "fight", "shoot", ...fieldnames], function (values) {
const settings = {};
const strength = int(values.strength_total),
agility = int(values.agility_total),
fight = int(values.fight),
shoot = int(values.shoot);
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 ? fight : shoot,
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 });
});
});
});
/* set project completion */
on("change:repeating_projects:work_points change:repeating_projects:work_points_max", function () {
//clog("Change Detected: Repeating Project Completion - recalculating completion");
// made the change event specific, so its only fired when needed, and likewise reduced the getAttrs to those only needed
getAttrs(["repeating_projects_work_points", "repeating_projects_work_points_max", "repeating_projects_complete"], function (values) {
var points = int(values.repeating_projects_work_points),
points_max = int(values.repeating_projects_work_points_max),
complete = int(values.repeating_projects_complete);
// separate out the basic values read from the sheet from those calculated within the worker
points = Math.min(points,points_max),
complete = (points === points_max) ? 1 : 0;
const completedStr = (complete === 1) ? "completed" : "not completed";
//clog("project completion: work points " + points + " < required points " + points_max + " => " + completedStr);
setAttrs({
repeating_projects_work_points: points,
repeating_projects_complete: complete,
});
});
});
/* 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;
// clog("Negative dice are being evaluated. |pools.negative value=" + pools[which].negative + " |Skill score=" + score + " |n=" + n + " |abs of score=" + Math.abs(score) + " |include negative die=" + settings[`negative_die_${numbers[n]}`]);
}
setAttrs(settings);
});
});
});
/* Set whiper options for the sheet */
on("change:whisper", (ev) => {
getAttrs(["api_toggle","whisper","whisper_option","whisper_option_api","translation_whisper_api_macro_query","translation_whisper_macro_query"], function (values) {
const whisper = int(values.whisper),
api = int(values.api_toggle),
setter = {};
if ( whisper === 1 ) {
setter.whisper_option = "/w gm";
setter.whisper_option_api = "!wmyz";
setter.whisper_the_roll = 1;
} else if ( whisper === 2 ) {
setter.whisper_option = values.translation_whisper_macro_query;
setter.whisper_option_api = values.translation_whisper_api_macro_query;
setter.whisper_the_roll = 0;
} else {
setter.whisper_option = "";
setter.whisper_option_api = "!myz";
setter.whisper_the_roll = 0;
}
//clog(`Whisper settings: whisper: ${values.whisper}, ${JSON.stringify(setter)}`);
setAttrs(setter,silent);
});
});
/* Sheet worker for skills populating the dice pool */
skillsArr.forEach((skill) => {
//clog(`Creating sheet worker for skill ${skill.label} with Id ${skill['id']}`);
on(`clicked:dice_pool_${skill['id']}`, () => skillDicePoolButtons(skill['id']));
});
const skillDicePoolButtons = (skillId) => {
//clog(`Change Detected: Dice Pool ${skillId} - button clicked`);
const skill = skillsArr.filter((skill) => skill.id === skillId)[0],
rollname = getTranslationByKey(skill.label);
//clog(`Identified skill with Id ${skill.id}: ${JSON.stringify(skill)}`);
getAttrs([ skill.attr, `${skill.attr}_total`, skill.level, skill.misc, skill.gear, "whisper" ], (values) => {
//clog(`skill values: ${JSON.stringify(values)}`);
//clog(`skill name translation: ${getTranslationByKey(skill.label)} `);
const base = int(values[`${skill.attr}_total`]),
whisper = values.whisper === "1" ? 1 : 0;
setAttrs({
attribute: base > 0 ? base : 0 ,
skill: int(values[skill.level]) + int(values[skill.misc]),
gear: int(values[skill.gear]),
current_preset: rollname,
whisper_the_roll: whisper,
pushable: 1,
include_with_roll: `{{skill-base=${base} }} {{skill-skill=${int(values[skill.level])} }} {{skill-bonus-misc-skill=${int(values[skill.misc])}} } {{skill-bonus-misc-gear=${int(values[skill.gear])}} }`
});
});
}
/* DEPRECATED */
/*
Object.keys(skills).forEach((skill) => {
on(`clicked:dice_pool_${getSkill(skill)}`, () => dicePoolButtons(skill));
});
const dicePoolButtons = (which) => {
//clog(`Change Detected: Dice Pool ${which} - button clicked`);
getAttrs([skillAttrs[which], skillLevels[which], skillTotals[which], misc[which], miscGear[which], getSkill(which), getSkillKey(which), getSkillName(which),"whisper"], function (values) {
clog(`Dice pool button values: ${JSON.stringify(values)}`);
// skillAttrs[which] returns the attribute; e.g skillAttrs['sneak'] gives 'agility_total'
// getSkill(which) converts the skill name to a valid attribute string: getSkill('Know the zone') gives 'know-the-zone'
// getSkillName(which) uses label, string or key to return character type specific translated skill name: getSkillName('Know the zone') gives 'Know nature' for Animals
const stat = int(values[skillAttrs[which]]),
miscSkill_score = Math.max(int(values[misc[which]]), -3),
miscGear_score = int(values[miscGear[which]]),
// stat here first gets skillAttrs['sneak'] which will be, say, 'agility' and
// then values['ability_total'] gives you the score from the character sheet.
skill_attribute_selected = stat > 0 ? stat : 0,
skill_bonus_misc_selected = miscSkill_score,
skill_bonus_misc_gear_selected = miscGear_score,
skill_only_selected = int(values[`${skillLevels[which]}`]),
skill = getSkill(which),
skill_name = getSkillName(skill); // used to get the proper translated character type skill
//clog("Found skill button click, Skill key "+JSON.stringify(which)+" calculated to "+skill+" corresponding to character type "+skill_name);
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.
// uses the translation key
gear: miscGear_score,
//skill: int(values[getSkill(which)]) + miscSkill_score, // Using skillTotals instead
skill: int(values[`${skillLevels[which]}`]) + skill_bonus_misc_selected,
skill_attribute_selected: skill_attribute_selected,
skill_bonus_misc_selected: skill_bonus_misc_selected,
skill_bonus_misc_gear_selected: skill_bonus_misc_gear_selected,
skill_only_selected: skill_only_selected,
//skill_notes_selected: skill_notes_selected,
current_preset: skill_name,
whisper_the_roll: int(values.whisper),
include_with_roll: `{{skill-base=${skill_attribute_selected}}} {{skill-skill=${skill_only_selected}}} {{skill-bonus-misc-skill=${skill_bonus_misc_selected}}} {{skill-bonus-misc-gear=${skill_bonus_misc_gear_selected}}}}`, // {{skill-notes=${skill_notes_selected}}
});
});
};
*/
/* */
Object.keys(monster_skills).forEach((monster_skill) => {
on(`clicked:dice_pool_${getSkill(monster_skill)}`, () => monster_dicePoolButtons(monster_skill));
});
/* Monster strength-based skill dice pool */
const monster_dicePoolButtons = (which) => {
//clog(`Change Detected: Dice Pool ${which} - button clicked`);
getAttrs([monster_skills[which], monster_misc[which], monster_miscGear[which], getSkill(which), getSkillKey(which), "whisper"], function (values) {
const stat = int(values[monster_skills[which]]),
miscSkill_score = Math.max(int(values[monster_misc[which]]), -3),
miscGear_score = int(values[monster_miscGear[which]]);
let whichKey = getTranslationByKey(getSkillKey(which));
setAttrs({
attribute: stat > 0 ? stat : 0,
gear: miscGear_score,
skill: miscSkill_score,
current_preset: whichKey,
whisper_the_roll: int(values.whisper),
include_with_roll: "",
});
});
};
/* RESET DICE POOL */
const clearDicePool = function() {
getAttrs(["whisper"], (values) => {
//clog(`Change Detected: Clear Dice Pool - button clicked or sheet loaded (whisper is ${values.whisper})`);
//const whisper = (int(values.whisper) === 1) ? 1 : 0;
setAttrs({
attribute: 0,
skill: 0,
gear: 0,
current_preset: getTranslationByKey('custom-roll'),
whisper_the_roll: int(values.whisper),
include_with_roll: "",
pushable: 1,
push_latest: "",
showattrextra: "0",
showgearextra: "0",
});
});
}
on("sheet:opened clicked:dice_pool_clear", function () {
clearDicePool();
});
on("clicked:add_die_attr clicked:add_die_gear", function(ev) {
clog(`clicked add die: ${JSON.stringify(ev)}`);
getAttrs(["","attribute","gear"], (values) => {
const base = int(values.attribute),
gear = int(values.gear),
setter = {},
silent = {silent: true};
if( base <= 12 ) { setter.attribute = 13; }
else { setter.attribute = base + 1; }
clog(`clicked add die, setter: ${JSON.stringify(setter)}`);
setAttrs(setter,silent);
});
});
/* 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,
},{silent:true});
});
}); */
/* Update the Dice Pool indicator */
on(
"clicked:dice_pool_clear clicked:strength_roll clicked:agility_roll cliecked:wits_roll clicked:empathy_roll clicked:rot_roll clicked:repeating_skills:skill-roll clicked:dice_pool_force_monster clicked:dice_pool_endure_monster clicked:dice_pool_fight_monster clicked:dice_pool_force clicked:dice_pool_endure clicked:dice_pool_fight clicked:dice_pool_sneak clicked:dice_pool_know_the_zone clicked:dice_pool_move clicked:dice_pool_shoot clicked:dice_pool_scout clicked:dice_pool_comprehend clicked:dice_pool_manipulate clicked:dice_pool_sense_emotion clicked:dice_pool_heal clicked:reputation-roll clicked:repeating_weapons:attack-roll clicked:repeating_weapons:attack-parry-roll clicked:repeating_monster:monster-features-roll clicked:repeating_spells:spell-roll clicked:armor-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 don't need to include the ,10
if (flag === 1)
setAttrs(
{
roll_the_dice_flag: 0,
},
{
silent: true,
}
);
});
/* translate query text */
on("sheet:opened", function () {
//clog("Translation of query text complete.");
setAttrs({
translation_push_query: getTranslationByKey("push-query"),
translation_whisper_macro_query: "?{" + getTranslationByKey("whisper-macro") + "|" + getTranslationByKey("no") + ",|" + getTranslationByKey("yes") + ",/w gm |" + "}",
translation_whisper_api_macro_query: "?{" + getTranslationByKey("whisper-macro") + "|" + getTranslationByKey("no") + ",!myz |" + getTranslationByKey("yes") + ",!wmyz |" + "}",
});
});
const rollEscape = {
chars: {
'"': '%quot;',
',': '%comma;',
':': '%colon;',
'}': '%rcub;',
'{': '%lcub;',
},
escape(str) {
str = (typeof(str) === 'object') ? JSON.stringify(str) : (typeof(str) === 'string') ? str : null;
return (str) ? `${str}`.replace(new RegExp(`[${Object.keys(this.chars)}]`, 'g'), (r) => this.chars[r]) : null;
},
unescape(str) {
str = `${str}`.replace(new RegExp(`(${Object.values(this.chars).join('|')})`, 'g'), (r) => Object.entries(this.chars).find(e=>e[1]===r)[0]);
return JSON.parse(str);
}
}
const expandDice = (dice,name) => {
console.log("Expand dice: "+JSON.stringify(dice));
var diceResults = dice.dice;
var output = [];
console.log("Output pre: "+ JSON.stringify(output));
for(let i = 0; i < diceResults.length; i++) {
output[`${name}-dice-${i}`] = `{"result": ${diceResults[i]},"dice": [${diceResults[i]}],"expression": "1D6","rolls": [{"sides": 6,"dice": 1,"results": [${diceResults[i]}] } ] }`;
}
console.log("Output post: "+ JSON.stringify(output));
return output;
}
// Array to map number to literal numbers, e.g. 1 to "one", 2 to "two" by using litnum[1] and litnum[2] respectively
const litnum = [ "zero","one","two","three","four","five","six","seven","eight","nine","ten","eleven","twelve" ];
on('clicked:push', async (ev) => {
//clog("Starting push roll!");
//clog(JSON.stringify(ev));
const reroll = rollEscape.unescape(ev.originalRollId);
//clog(`Reroll object: ${JSON.stringify(reroll)}`);
const attributes = reroll.attributes,
roll = reroll.roll;
executeRoll({ev,attributes,roll});
});
on("clicked:roll_the_dice", () => {
getAttrs( ["character_name", "character_id", "chartype","attribute", "skill", "gear", "current_preset", "pushable","include_with_roll", "rolltemplate_option", "whisper_option", "whisper_the_roll","translation_whisper_macro_query","reset_pool"], async (values) => {
const trigger = {name : values.current_preset},
attributes = {
character_name : values.character_name||"Unknown",
character_id : values.character_id||0,
chartype_id : values.chartype === 'Mutant' ? 1 : ( values.chartype === 'Animal' ? 2 : ( values.chartype === 'Robot' ? 3 : ( values.chartype === 'Human' ? 4 : 1 ))),
},
roll = {
name: values.current_preset||'Roll',
attribute: int(values.attribute),
skill: int(values.skill),
gear: int(values.gear),
totalDice: int(values.attribute)+Math.abs(int(values.skill))+int(values.gear),
whisper: ( int(values.whisper_the_roll) === 1 ) ?
"/w gm" : ( int(values.whisper_the_roll) === 2 ) ?
values.translation_whisper_macro_query : "",
pushable: int(values.pushable),
pushroll: 0,
include: values.include_with_roll,
template: values.rolltemplate_option,
reset: int(values.reset_pool)
};
executeRoll({trigger,attributes,roll});
});
});
const executeRoll = function({trigger,attributes,roll}) {
var attributeStr = "",
skillStr = "",
gearStr = "",
rollStr = "";
//clog(`TEST: Roll object: ${JSON.stringify(roll)}`);
//clog(`TEST: Roll pushRollStr: ${!!roll.pushRollStr}`);
if (roll.pushRollStr) {
rollStr = roll.pushRollStr;
} else {
for(let i = 1; i <= roll.attribute; i++) { attributeStr += `{{attribute-die-${litnum[i]}=[[1]] }} {{attribute-roll-${litnum[i]}= [[1d6cf<2cs>5]] }} `; }
if( roll.skill >= 0 ) {
for(let i = 1; i <= roll.skill; i++) { skillStr += `{{skill-die-${litnum[i]}= [[1]] }} {{skill-roll-${litnum[i]}= [[1d6cf<0cs>5]] }} `; }
} else if ( roll.skill < 0) {
for(let i = 1; i <= Math.abs(roll.skill); i++) { skillStr += `{{negative-die-${litnum[i]}= [[1]] }} {{negative-roll-${litnum[i]}= [[1d6cf<0cs>5]] }} `; }
}
for(let i = 1; i <= roll.gear; i++) { gearStr += `{{gear-die-${litnum[i]}= [[1]] }} {{gear-roll-${litnum[i]}= [[1d6cf<2cs>5]] }} `; }
rollStr = `${roll.whisper} &{template:${roll.template}} {{character_id=${attributes['character_id']}}} {{character_name=${attributes['character_name']}}} {{chartype_id=[[${attributes['chartype_id']}]]}} {{name=${roll.name}}} {{successes=[[0]]}} {{push=[[${roll.pushable}]]}} {{pushroll=[[${roll.pushroll}]]}} ${attributeStr} ${skillStr} ${gearStr}`;
}
clog("Roll string; "+ rollStr);
startRoll(rollStr, (results) => {
//clog("Roll results: "+ JSON.stringify(results));
var pushAttributeStr = "",
pushSkillStr = "",
pushGearStr = "",
successes = 0,
failures = 0,
gearfails = 0;
roll.pushroll = roll.pushroll + 1;
for(let i = 1; i <= roll.attribute; i++) {
let r = (results.results[`attribute-roll-${litnum[i]}`]).result;
//clog(`results attribute ${i} : ${r}`);
if ( r == '6' || r == 6 ) {
pushAttributeStr += `{{attribute-die-${litnum[i]}=[[1]] }} {{attribute-roll-${litnum[i]}=[[6cs>5]]}} `;
successes++;
//clog(`results attribute die ${i} is 6, total ${successes} successes`);
} else if ( r == '1' || r == 1 ) {
pushAttributeStr += `{{attribute-die-${litnum[i]}=[[1]] }} {{attribute-roll-${litnum[i]}=[[1cf<2]]}} `;
failures++;
//clog(`results attribute die ${i} is 0, total ${failures} failures`);
} else {
pushAttributeStr += `{{attribute-die-${litnum[i]}=[[1]] }} {{attribute-roll-${litnum[i]}=[[1d6cf<2cs>5]]}} `;
//clog(`results attribute die ${i} is ${r}, total ${successes} successes and ${failures} failures`);
}
}
if ( roll.skill >= 0 ) {
for(let i = 1; i <= roll.skill; i++) {
let r = (results.results[`skill-roll-${litnum[i]}`]).result;
//clog(`results skill ${i} : ${r}`);
if ( r == '6' || r == 6 ) {
pushSkillStr += `{{skill-die-${litnum[i]}=[[1]]}} {{skill-roll-${litnum[i]}=[[6cs>5]]}} `;
successes++;
//clog(`results skill die ${i} is 6, total ${successes} successes`);
} else {
pushSkillStr += `{{skill-die-${litnum[i]}=[[1]]}} {{skill-roll-${litnum[i]}=[[1d6cs>5]]}} `;
//clog(`results skill die ${i} is ${r}, total ${successes} successes and ${failures} failures`);
}
}
} else if ( roll.skill < 0 ) {
for(let i = 1; i <= Math.abs(roll.skill); i++) {
let r = (results.results[`negative-roll-${litnum[i]}`]).result;
//clog(`negative skill ${i} : ${r}`);
if ( r == '6' || r == 6 ) {
pushSkillStr += `{{negative-die-${litnum[i]}=[[1]]}} {{negative-roll-${litnum[i]}=[[6cs>5]]}} `;
successes++;
//clog(`results negative skill die ${i} is 6, total ${successes} successes (decreased)`);
} else {
pushSkillStr += `{{negative-die-${litnum[i]}=[[1]]}} {{negative-roll-${litnum[i]}=[[1d6cs>5]]}} `;
//clog(`results skill die ${i} is ${r}, total ${successes} successes and ${failures} failures`);
}
}
}
for(let i = 1; i <= roll.gear; i++) {
let r = (results.results[`gear-roll-${litnum[i]}`]).result;
//clog(`results gear ${i} : ${r}`);
if ( r == '6' || r == 6 ) {
pushGearStr += `{{gear-die-${litnum[i]}=[[1]]}} {{gear-roll-${litnum[i]}=[[6cs>5]]}} `;
successes++;
//clog(`results gear die ${i} is 6, total ${successes} successes`);
} else if ( r == '1' || r == 1 ) {
pushGearStr += `{{gear-die-${litnum[i]}=[[1]]}} {{gear-roll-${litnum[i]}=[[1cf<2]]}} `;
failures++;
gearfails++;
//clog(`results gear die ${i} is 0, total ${failures} failures and ${gearfails} from gear`);
} else {
pushGearStr += `{{gear-die-${litnum[i]}=[[1]]}} {{gear-roll-${litnum[i]}=[[1d6cf<2cs>5]]}} `;
//clog(`results gear die ${i} is ${r}, total ${successes} successes and ${failures} failures`);
}
}
// NB: Successes and failures counts number fo dice which cannot be rerolled.
// In case of negative skill dice, the actual successes may be lower
if ( (successes + failures) == roll.totalDice ) {
roll.pushable = 0;
}
roll.pushRollStr = `${roll.whisper} &{template:${roll.template}} {{character_id=${attributes['character_id']}}} {{character_name=${attributes['character_name']}}} {{chartype_id=[[${attributes['chartype_id']}]]}} {{name=${roll.name}}} {{push=[[${roll.pushable}]]}} {{pushroll=[[${roll.pushroll}]]}} {{successes=[[${successes}]]}} {{failures=[[${failures}]]}} {{gearfails=[[${gearfails}]]}} ${pushAttributeStr} ${pushSkillStr} ${pushGearStr}`;
const pushRoll = {
attributes: attributes,
roll: roll,
successes: successes,
failures: failures,
gearfails: gearfails,
totalDice: roll.totalDice,
whisper: roll.whisper,
include: roll.include,
};
if(roll.reset == 1) {
clearDicePool();
}
setAttrs({
push_latest: pushRoll,
pushable: 1,
});
//clog("Push data: "+ JSON.stringify(pushRoll));
finishRoll(results.rollId, {
pushroll: rollEscape.escape(pushRoll),
push: roll.pushable,
});
});
}
/* 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", "shoot", "fight", "whisper"],
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;
setAttrs({
attribute: weapon_base_total,
gear: weapon_bonus_total,
skill: weapon_skill_total,
current_preset: getTranslationByKey(`attack`) + ` - ${weapon_name}`,
whisper_the_roll: int(values.whisper),
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", "shoot", "fight","whisper"],
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;
setAttrs({
attribute: weapon_base_total,
gear: weapon_bonus_total,
skill: weapon_skill_total,
current_preset: getTranslationByKey(`parry`) + ` - ${weapon_name}`,
whisper_the_roll: int(values.whisper),
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-features-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", "whisper"], 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: monster_attack_name,
whisper_the_roll: int(values.whisper),
include_with_roll: `{{weapon-damage=${monster_attack_damage}}} {{attack-features=${monster_attack_features}}} {{weapon-range=${monster_attack_range}}} {{attack-description=${monster_attack_description}}}`,
});
});
});
/* set prof skill dice pool */
on("clicked:repeating_skills", function () {
//clog("Change Detected: Profession Skill - button clicked");
getAttrs(["repeating_skills_name", "repeating_skills_base", "repeating_skills_skill", "repeating_skills_misc", "repeating_skills_gear","whisper"], function (values) {
const skill_name = values.repeating_skills_name,
skill_base = int(values.repeating_skills_base),
skill_level = int(values.repeating_skills_skill),
skill_misc = int(values.repeating_skills_misc),
skill_gear = int(values.repeating_skills_gear),
skill_skill = skill_level + skill_misc;
setAttrs({
attribute: skill_base,
skill: skill_skill,
gear: skill_gear,
current_preset: `${skill_name}`,
whisper_the_roll: int(values.whisper),
include_with_roll: `{{skill-base=${skill_base}}} {{skill-level=${skill_level}}} {{skill-bonus-misc=${skill_misc}}} {{skill-bonus-gear=${skill_gear}}}`,
});
});
});
/* set dice pool for Powers action button - NOT WORKING (buttons are hidden) */
const powers = ["mutations","modules","animalpowers","contacts","whisper"];
powers.forEach(pow => {
on(`clicked:repeating_${pow}:powerroll`, (eventInfo) => {
//clog(JSON.stringify(eventInfo.sourceAttribute));
var getAttrsString = [`repeating_${pow}_name`,`repeating_${pow}_powerlevel`];
getAttrs(getAttrsString, function(values) {
const name = values[`repeating_${pow}_name`],
level = int(values[`repeating_${pow}_powerlevel`]),
setAttrObj = {
attribute: level,
skill: 0,
gear: 0,
current_preset: getTranslationByKey(`power`) + ` - ${name}`,
whisper_the_roll: int(values.whisper),
include_with_roll: ``,
};
//clog(name);
//clog(level);
//clog(JSON.stringify(setAttrObj));
SetAttrs(setAttrObj);/**/
});
});
});
/* 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_powerpoint", "powerpoint", "whisper"], function (values) {
const spell_name = values.repeating_spells_spell_name,
spell_rank = int(values.repeating_spells_spell_rank),
spell_powerpoint = int(values.repeating_spells_spell_powerpoint),
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,
powerpoint = int(values.powerpoint);
setAttrs({
attribute: spell_powerpoint,
skill: 0,
gear: 0,
current_preset: getTranslationByKey(`spell`) + ` - ${spell_name}`,
whisper_the_roll: int(values.whisper),
include_with_roll: `{{powerpoint-total=${powerpoint}}} {{spell-rank=${spell_rank}}} {{spell-powerpoint=${spell_powerpoint}}} {{spell-range=${spell_range}}} {{spell-duration=${spell_duration}}} {{spell-ingredients=${spell_ingredients}}} {{spell-description=${spell_description}}}`,
});
});
}); */
/* set armor dice pool */
on("clicked:armor-roll", function () {
//clog("Change Detected: Armor - button clicked");
getAttrs(["ar_total","whisper"], function (values) {
const ar_total = int(values.ar_total);
setAttrs({
attribute: 0,
gear: ar_total,
skill: 0,
current_preset: getTranslationByKey(`armor-roll`),
whisper_the_roll: int(values.whisper),
include_with_roll: `{{armor-rating=[[ ${ar_total} ]]}}`,
pushable: 0,
});
}
);
});
/* set rot dice pool */
on("clicked:rot_roll", function () {
//clog("Change Detected: Rot - button clicked");
getAttrs(["rot", "rot_permanent","whisper"], function (values) {
const rot = int(values.rot),
rot_permanent = int(values.rot_permanent);
setAttrs({
attribute: rot,
gear: 0,
skill: 0,
current_preset: getTranslationByKey(`rot-roll`),
whisper_the_roll: int(values.whisper),
include_with_roll: `{{rot-level=[[ ${rot} ]]}} {{rot-permanent=[[ ${rot_permanent} ]]}}`,
pushable: 0,
});
}
);
});
/* vehicle/Beast Carry calcs */
const carry = (strength, vehicleed) => (strength * 4) / (vehicleed + 1);
on("change:vehicleed change:vehicle_strength", function () {
//clog("Change Detected: vehicleed/Unvehicleed");
getAttrs(["vehicleed", "vehicle_strength"], function (values) {
const vehicleed = int(values["vehicleed"]),
strength = int(values["vehicle_strength"]),
Carry = carry(strength, vehicleed);
setAttrs({
vehicle_carry: Carry,
});
});
});
on("change:repeating_beasts", function () {
//clog("Change Detected: Beasts Check Carry Calculation");
getAttrs(["repeating_beasts_beast_vehicleed", "repeating_beasts_beast_strength"], function (values) {
const vehicleed = int(values["repeating_beasts_beast_vehicleed"]),
strength = int(values["repeating_beasts_beast_strength"]),
Carry = carry(strength, vehicleed);
setAttrs({
repeating_beasts_beast_carry: Carry,
});
});
});
/* Broken Indicator flags*/
// first create an array listing all 4 stats
const stats = ["strength_pc", "strength_monster", "agility", "wits", "empathy"];
// 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 = values.tab;
//clog("Attribute "+stat+" on tab "+tab+" is "+total);
//clog("tab === 'monster' = "+(tab === 3 || tab === 'monster'));
var max = tab === 'monster' ? 12 : 6;
// const max attribute = 12 for monsters;
//clog("tab === 'monster' && stat === strength_monster = "+tab === 'monster' && stat === 'strength_monster');
max = tab === 'monster' && stat === 'strength_monster' ? 40 : 12;
// const max strength = 40 for monsters;
const settings = checkMax(stat, total, max);
if (settings) setAttrs(settings);
});
});
});
/* Duplicate
Object.keys(attributes).forEach((stat) => {
on(`change:${stat}`, function () {
getAttrs([stat], function (values) {
const total = int(values[stat]);
const max = pools.attribute.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"], function (values) {
const strength = int(values.strength),
strength_total = int(values.strength_total);
setAttrs({
strength: strength,
strength_total: strength_total,
});
});
});
on("sheet:opened change:agility_total", function () {
//clog("Change Detected: agility_total has changed");
getAttrs(["agility", "agility_total"], function (values) {
const agility = int(values.agility),
agility_total = int(values.agility_total);
setAttrs({
agility: agility,
agility_total: agility_total,
});
});
});
on("sheet:opened change:wits_total", function () {
//clog("Change Detected: wits_total has changed");
getAttrs(["wits", "wits_total"], function (values) {
const wits = int(values.wits),
wits_total = int(values.wits_total);
setAttrs({
wits: wits,
wits_total: wits_total,
});
});
});
on("sheet:opened change:empathy_total", function () {
//clog("Change Detected: empathy_total has changed");
getAttrs(["empathy", "empathy_total"], function (values) {
const empathy = int(values.empathy),
empathy_total = int(values.empathy_total);
setAttrs({
empathy: empathy,
empathy_total: empathy_total,
});
});
}); */
mainAttributesArr.forEach( (attrb) => {
on(`sheet:opened change:${attrb.name}_total`, function () {
//clog(`Change Detected: ${attrb.name}_total has changed`);
getAttrs([`${attrb.name}`, `${attrb.name}_total`], function (values) {
const attr = int(values[`${attrb.name}`]),
attr_total = int(values[`${attrb.name}_total`]);
setAttrs({
[`${attrb.name}`]: attr,
[`${attrb.name}_total`]: attr_total,
});
});
});
});
attributesArr.forEach( (attrb) => {
on(`clicked:${attrb.name}_roll`, function (ev) {
//clog(`Change Detected: ${attrb.name} - button clicked`);
//clog(`Event : ${JSON.stringify(ev)}`);
getAttrs([`${attrb.attr}_total`, "whisper"], function (values) {
const total = int(values[`${attrb.attr}_total`]),
name = getTranslationByKey(attrb.name);
//clog(name + " : " + total);
setAttrs({
attribute: total,
skill: 0,
gear: 0,
current_preset: name,
whisper_the_roll: int(values.whisper),
include_with_roll: "",
});
});
});
});
/* set strength dice pool
on("clicked:strength_roll", function () {
//clog("Change Detected: Strength - button clicked");
getAttrs(["strength_total", "strength_name"], function (values) {
const strength_total = int(values.strength_total),
strength_name = values.strength_name;
//clog(strength_name + " : " + strength);
setAttrs({
attribute: strength_total,
skill: 0,
gear: 0,
current_preset: strength_name,
include_with_roll: "",
});
});
}); */
/* set agility dice pool
on("clicked:agility_roll", function () {
//clog("Change Detected: agility - button clicked");
getAttrs(["agility_total", "agility_name"], function (values) {
const agility_total = int(values.agility_total),
agility_name = values.agility_name;
//clog(agility_name + " : " + agility_total);
setAttrs({
attribute: agility_total,
skill: 0,
gear: 0,
current_preset: agility_name,
include_with_roll: "",
});
});
}); */
/* set wits dice pool
on("clicked:wits_roll", function () {
//clog("Change Detected: wits - button clicked");
getAttrs(["wits_total","wits_name"], function (values) {
const wits_total = int(values.wits_total),
wits_name = values.wits_name;
//clog(wits_name + " : " + wits_total);
setAttrs({
attribute: wits_total,
skill: 0,
gear: 0,
current_preset: wits_name,
include_with_roll: "",
});
});
}); */
/* set empathy dice pool
on("clicked:empathy_roll", function () {
//clog("Change Detected: empathy - button clicked");
getAttrs(["empathy_total", "empathy_name"], function (values) {
const empathy_total = int(values.empathy_total),
empathy_name = values.empathy_name;
//clog(empathy_name + " : " + empathy_total);
setAttrs({
attribute: empathy_total,
skill: 0,
gear: 0,
current_preset: empathy_name,
include_with_roll: "",
});
});
}); */
/* beautify preserve:end */
</script>