Files
roll20-character-sheets/Torg Eternity/Torg Eternity.html
T
2024-06-03 13:15:14 -04:00

5155 lines
362 KiB
HTML

<!--
------------- Many i18n-tags generated with ACSI V0.50 (Automated Character Sheet Internationalizer) -------------
(not titles or placeholders, and with some tweaking by GiGs)
ACSI author: https://github.com/Anduh
ACSI Sourcecode: https://github.com/Anduh/acsi
-->
<!-- translation
tab1 almost done - just need to redesign the skills popuout
the span nested input doesnt work with translations
-->
<!-- CONFIG OPTIONS -->
<!--suppress HtmlFormInputWithoutLabel, HtmlUnknownTag, HtmlUnknownAttribute -->
<input type="hidden" name="attr_version" step="0.001"/>
<input type="hidden" name="attr_version_trick" value="0"/>
<input type="hidden" name="attr_rollspecialdamage" value=""/>
<input type="hidden" name="attr_rolltracker" value=""/>
<input type="hidden" name="attr_trackerprefix" value="@{tracker|"/>
<input type="hidden" name="attr_previous-result" value="@{trackerprefix}@{selected|token_name}}"/>
<input type="hidden" name="attr_rollpossibility"
value="{{why=Possibility}} {{torgroll=[[?{Last Roll?|0}+({1d20!10!!20cs10cs,10 + 0d0}kh1) ]] }} {{lastroll=?{Last Roll?}}} "/>
<input type="hidden" name="attr_rollup"
value="{{why=UP}} {{torgroll=[[?{Last Roll?|0}+(1d20!10!!20cs10cs) ]] }} {{lastroll=?{Last Roll?}}} "/>
<input type="hidden" name="attr_rollmultipossibility" value=""/>
<input type="hidden" name="attr_rollmultiup" value=""/>
<input type="hidden" name="attr_rolldamagelast" value="?{Enter Last Effect|0}"/>
<input type="hidden" name="attr_rolldamagespecial" value="?{Enter Last Effect|0}"/>
<button type="roll" class="hidden" name="roll_hiddenbonusdie"
value="&{template:coupdegrace} {{neweffect=[[@{previous-result} + 1d6!p @{rolltracker}]]}} @{rollspecialdamage}"></button>
<div class="container">
<div class="top">
<img class="logo" alt="Torg Eternity"
src="https://raw.githubusercontent.com/G-G-G/roll20-character-sheets/master/Torg%20Eternity/images/TE_logo.png"/>
<input type="hidden" name="attr_showtop" class="toggle-top" value="1"/>
<div class="personal-data">
<span class="lheader axioms" data-i18n="name">Name </span>
<input class="charname" type="text" name="attr_Name"/>
<span class="xp" data-i18n="total-xp">Total XP</span>
<input class="xp" type="number" name="attr_TotalXP" value="0"/>
<span class="lheader axioms" data-i18n="race">Race </span>
<input class="race" type="text" name="attr_Race"/>
<span class="lheader" data-i18n="cosm">Cosm </span>
<select class="cosm" name="attr_Home_Cosm">
<option value="" selected data-i18n="pick-one">(Pick one)</option>
<option value="aysle" data-i18n="aysle">Aysle</option>
<option value="coreearth" data-i18n="core-earth">Core Earth</option>
<option value="cyberpapacy" data-i18n="cyberpapacy">Cyberpapacy</option>
<option value="livingland" data-i18n="living-land">Living Land</option>
<option value="nileempire" data-i18n="nile-empire">Nile Empire</option>
<option value="orrorsh" data-i18n="orrorsh">Orrorsh</option>
<option value="panpacifica" data-i18n="pan-pacifica">Pan-Pacifica</option>
<option value="tharkold" data-i18n="tharkold">Tharkold</option>
<option value="other" data-i18n="other">Other</option>
</select>
<span class="xp" data-i18n="unspent">Unspent</span>
<input class="xp" type="number" name="attr_UnspentXP" value="0" readonly/>
<span class="lheader axioms" data-i18n="axioms">Axioms:</span>
<span data-i18n="magic">Magic</span>
<input type="number" name="attr_Magic" value="0"/>
<span data-i18n="social">Social</span>
<input type="number" name="attr_Social" value="0"/>
<span data-i18n="spiritual">Spiritual</span>
<input type="number" name="attr_Spiritual" value="0"/>
<span data-i18n="tech">Tech</span>
<input type="number" name="attr_Tech" value="0"/>
<span class="clearance" data-i18n="clearance">Clearance</span>
<input type="text" name="attr_Clearance" readonly/>
</div>
</div>
<input class="announcements" type="hidden" name="attr_announcements" value="0"/>
<div class="announcements grid grid-settings">
<h3 class="title" data-i18n="announcements-version-4-upgrade">Announcements: Version 4 Upgrade</h3>
<p data-i18n="your-sheet-is-being-updated-to-version-403">Your sheet is being updated to version 4.03. This may
take a few seconds to complete.</p>
<p data-i18n="read-this-note-in-the-meantime">Read this note in the meantime; it should be complete when you
finish.</p>
<p data-i18n="you-can-learn-more-about-sheet-features">You can learn more about the sheet features at the wiki
page:</p>
<input type="text" name="attr_wikipage" class="weblink" data-i18n-title="manually-drag-in-this-box"
title="manually drag in this box to copy the address (roll20 doesnt let us embed links)."
value="https://wiki.roll20.net/Torg_Eternity_Community_Sheet" readonly/>
<p data-i18n="here-is-a-summary-of-changes">Here is a summary of changes:</p>
<p class="announcements-list">
<input type="checkbox" class="updates-toggle" name="attr_announcements_list" value="1"/>
<span>Show / Hide Full list</span>
</p>
<input type="hidden" class="updates-toggle" name="attr_announcements_list"/>
<div>
<ul>
<li data-i18n="fixed-tab-display-problem">Version 4.04: Fixed the problem displaying the tabs after Roll20 internal changes.</li>
</ul>
</div>
<div class="updates-old">
<ul>
<li data-i18n="added-translation-tags">Version 4.03: Added translation tags (not in sheet workers yet, and skills wont be sorted alphabetically).</li>
<li data-i18n="fixed-advancement-worker">Version 4.03: advancement costs work properly if row removed.</li>
<li data-i18n="ammo-cant-go-below-zero">Version 4.03: Cant set ammo to a negative score now.</li>
<li data-i18n="update-connections-section">Version 4.03: Added a Connections section on story tab.</li>
<li data-i18n="added-translation-tags">Version 4.03: Added translation tags (not in sheet workers yet,
and skills wont be sorted alphabetically).
</li>
<li data-i18n="fixed-advancement-worker">Version 4.03: advancement costs work properly if row removed.
</li>
<li data-i18n="ammo-cant-go-below-zero">Version 4.03: Cant set ammo to a negative score now.</li>
<li data-i18n="update-connections-section">Version 4.03: Added a Connections section on story tab.</li>
<li data-i18n="better-handling-of-ammo">Version 4.02: Better handling for changes in ammo capacity.</li>
<li data-i18n="updated-glories-and-deeds">Version 4.02: Updated Glories and Deeds & Exploits section, so
they operate like Perks, Equipment, Armor.
</li>
<li data-i18n="various-css-updates-402">Version 4.02: Behind the scenes CSS updates.</li>
<li data-i18n="corrected-tharkold-typo">Version 4.01: Corrected tharkold typo (from Tharkhold)</li>
<li data-i18n="minor-tweaks-to-visual-style">Version 4.01: Minor tweaks to visual style</li>
<li data-i18n="added-new-buttons">Version 4.01: Added new buttons to torg rolltemplate.</li>
<li data-i18n="added-some-elements-to-stort-tab">Version 4.01: Added some elements to Story tab.</li>
<li data-i18n="a-new-visual-design-and-layout">A new visual design and layout.</li>
<li data-i18n="headings-on-the-abilities-page">Every heading on the Abilities page does something. Hover
over them or click them to see.
</li>
<li data-i18n="added-automatic-calculation-of-most-things">Added automatic calculation of most things on
the sheet - attributes, skills, attacks, cosm axioms, wounds, shock, armour, and so on.
</li>
<li data-i18n="added-skill-display-option">Added skill display option, where you can choose which are
shown or hidden via settings, and use them by name in macros.
</li>
<li data-i18n="added-status-buttons">Added status buttons, so you can spend possibilities, suffer shock
or wounds, or apply stymied, vulnerable, and fatigue results with the click of a button.
</li>
<li data-i18n="combined-weapons-and-powers">Combined Weapons and Powers into a single repeating section,
which takes up less space.
</li>
<li data-i18n="added-a-repeating-section-for-armor">Added a repeating section for armor, so you aren't
limited to two sets. there is a Worn checkbox, and the stats of all armor worn will be applied
according to the rules (take best armor, worst dex, and total fatigue).
</li>
<li data-i18n="cosm-axioms-are-filled-in-automatically">Cosm axioms are filled in automatically, and
added a popup for Cosm-specific Possibilities.
</li>
<li data-i18n="popup-for-recording-permanent-changes">Added popup for recording permanent changes to
Wounds, Shock, Toughness, and Move, perhaps due to Perks.
</li>
<li data-i18n="added-expandable-description-boxes">Added expandable description boxes for each of Perks,
Armour, Equipment, and Weapons and Powers.
</li>
<li data-i18n="revised-action-and-damage-rolltemplates">Revised action and damage rolltemplates, so now
you are asked for a modifier, and then are given a roll total. Using UP and Possibilities takes the
current skill or ability into account.
</li>
<li data-i18n="clearance-level-is-calculated">Your Clearance level is calculated automatically from
Experience.
</li>
</ul>
</div>
<p data-i18n="character-should-be-updated-now">Your character should be updated now. Have fun!</p>
<h3 class="important" data-i18n="note-u">NOTE</h3>
<p class="important" data-i18n="if-attributes-aren-t-updating-properly">If attributes aren't updating properly
after the update, close the sheet and reopen it. You only need to do this once.</p>
<button class="ability-roll announcements" type="action" name="act_announcements_close">
<h3 data-i18n="close-this-frame">Close This Frame</h3>
</button>
<p class="center" data-i18n="you-can-get-this-announcement-page-back">You can get this Announcement page back
from the settings cog at the right.</p>
</div>
<div class="main">
<input type="radio" name="attr_tab" class="sheet-tab sheet-tab1" value="1" data-i18n-title="front-page"
title="Front Page of the Character Sheet." checked="checked"/><span title="Abilities"
data-i18n-title="Abilities"></span>
<input type="radio" name="attr_tab" class="sheet-tab sheet-tab2" value="2" data-i18n-title="back-page"
title="Back Page of the Character Sheet."/><span title="Story" data-i18n-title="Story"></span>
<input type="radio" name="attr_tab" class="sheet-tab sheet-tab3" value="3" data-i18n-title="note-sheet"
title="Note taking, and streamlining play for GMs."/><span title="Adventure"
data-i18n-title="Adventure"></span>
<input type="radio" name="attr_tab" class="sheet-tab sheet-tab4" value="4" data-i18n-title="quick-npcs"
title="Quick NPCs, Monsters, and the like."/><span title="Threat" data-i18n-title="Threat"></span>
<input class="settings-checkbox" type="checkbox" name="attr_show_settings" value="1"/>
<span class="settings-checkbox"></span>
<div class="settings grid grid-settings">
<span data-i18n="settings" class="head">Settings</span>
<input type="checkbox" name="attr_rolltype" value="buttons"/>
<span data-i18n="use-tokens" data-i18n-title="use-tokens-to-remember-last-roll"
title="to remember the last roll for rerolls, must use tokens.">Use Tokens for Roll Tracking</span>
<span>&nbsp;</span>
<select name="attr_rolldamagetype" data-i18n-title="choose-how-to-roll-damage"
title="Choose how to roll damage.">
<option value="0" selected data-i18n="display-roll">Damage: Display Roll Only</option>
<option data-i18n="ask-for-toughness" value="1">Damage: Ask for Toughness</option>
<option data-i18n="choose-target" value="2">Damage: Choose target</option>
</select>
<input type="checkbox" name="attr_panelstoggle" value="1"/>
<span data-i18n="toggle-panels">Toggle Hidden Panels</span>
<input type="checkbox" name="attr_announcements" value="1"/>
<span data-i18n="toggle-announcements">Toggle Announcements</span>
</div>
<div class="tab-content tab1">
<div class="front-left">
<div class="grid">
<div class="skills grid-contents">
<button class="ability-roll invisibutton skills-toggle" type="action" name="act_skills_toggle">
<h3 data-i18n-title="click-to-select-other-skills" title="Click to select Other skills"
data-i18n="skills">Skills</h3>
</button>
<span class="head" data-i18n="combat">Combat</span>
<span class="head" data-i18n="adds">Adds</span>
<span class="head" data-i18n="mod">Mod</span>
<span class="head" data-i18n="stat">Stat</span>
<span class="head" data-i18n="total">Total</span>
<input type="hidden" name="attr_rollEnergyWeapons"
value="{{what=Energy Weapons}} {{score=[[@{EnergyWeapons}]]}} {{value=[[@{EnergyWeapons}+?{Modifier|0}+@{stymied}+@{wounded}+10]]}} {{buttons=[Possibility](~EnergyWeaponsPossibility) [Up](~EnergyWeaponsUp)}}"/>
<button type="roll" class="hidden" name="roll_EnergyWeaponsPossibility"
value="@{rollEnergyWeaponsPossibility}"></button>
<button type="roll" class="hidden" name="roll_EnergyWeaponsUp"
value="@{rollEnergyWeaponsUP}"></button>
<button class="ability-roll" type="roll" name="roll_EnergyWeapons" value="@{rollEnergyWeapons}">
<span class="skillsCol1" data-i18n="energy-weapons">Energy Weapons</span>
</button>
<input type="number" value="0" name="attr_EnergyWeaponsAdds"/>
<input type="number" value="0" name="attr_EnergyWeaponsAdj"/>
<select name="attr_EnergyWeaponsMod" class="modtype">
<option value="CHA" data-i18n="cha-u">CHA</option>
<option value="DEX" selected data-i18n="dex-u">DEX</option>
<option value="MIN" data-i18n="min-u">MIN</option>
<option value="SPI" data-i18n="spi-u">SPI</option>
<option value="STR" data-i18n="str-u">STR</option>
</select>
<input type="number" name="attr_EnergyWeapons" value="0" class="skills" readonly/>
<button type="roll" class="hidden" name="roll_FireCombatPossibility"
value="@{rollFireCombatPossibility}"></button>
<button type="roll" class="hidden" name="roll_FireCombatUp"
value="@{rollFireCombatUP}"></button>
<input type="hidden" name="attr_rollFireCombatPossibility" value=""/>
<input type="hidden" name="attr_rollFireCombat" value=""/>
<button class="ability-roll" type="roll" name="roll_FireCombat" value="@{rollFireCombat}">
<span class="skillsCol1" data-i18n="fire-combat">Fire Combat</span>
</button>
<input type="number" value="0" name="attr_FireCombatAdds"/>
<input type="number" value="0" name="attr_FireCombatAdj"/>
<select name="attr_FireCombatMod" class="modtype">
<option value="CHA" data-i18n="cha-u">CHA</option>
<option value="DEX" selected data-i18n="dex-u">DEX</option>
<option value="MIN" data-i18n="min-u">MIN</option>
<option value="SPI" data-i18n="spi-u">SPI</option>
<option value="STR" data-i18n="str-u">STR</option>
</select>
<input type="number" name="attr_FireCombat" value="0" class="skills" readonly/>
<input type="hidden" class="skills-heavyweapons" name="attr_toggleskill_heavyweapons"
value="0"/>
<div class="skill heavyweapons">
<input type="hidden" name="attr_rollHeavyWeapons"
value="{{what=Heavy Weapons}} {{score=[[@{HeavyWeapons}]]}} {{value=[[@{HeavyWeapons}+?{Modifier|0}+@{stymied}+@{wounded}]]}} {{buttons=[Possibility](~HeavyWeaponsPossibility) [Up](~HeavyWeaponsUp)}}"/>
<button type="roll" class="hidden" name="roll_HeavyWeaponsPossibility"
value="@{rollHeavyWeaponsPossibility}"></button>
<button type="roll" class="hidden" name="roll_HeavyWeaponsUp"
value="@{rollHeavyWeaponsUP}"></button>
<button class="ability-roll" type="roll" name="roll_HeavyWeapons"
value="@{rollHeavyWeapons}">
<span class="skillsCol1" data-i18n="heavy-weapons">Heavy Weapons</span>
</button>
<input type="number" value="0" name="attr_HeavyWeaponsAdds"/>
<input type="number" value="0" name="attr_HeavyWeaponsAdj"/>
<select name="attr_HeavyWeaponsMod" class="modtype">
<option value="CHA" data-i18n="cha-u">CHA</option>
<option value="DEX" selected data-i18n="dex-u">DEX</option>
<option value="MIN" data-i18n="min-u">MIN</option>
<option value="SPI" data-i18n="spi-u">SPI</option>
<option value="STR" data-i18n="str-u">STR</option>
</select>
<input type="number" name="attr_HeavyWeapons" value="0" class="skills" readonly/>
</div>
<input type="hidden" name="attr_rollMeleeWeapons"
value="{{what=Melee Weapons}} {{score=[[@{MeleeWeapons}]]}} {{value=[[@{MeleeWeapons}+?{Modifier}+@{stymied}+@{wounded} ]] }} {{buttons=[Possibility](~MeleeWeaponsPossibility) [Up](~MeleeWeaponsUp)}}"/>
<button type="roll" class="hidden" name="roll_MeleeWeaponsPossibility"
value="@{rollMeleeWeaponsPossibility}"></button>
<button type="roll" class="hidden" name="roll_MeleeWeaponsUp"
value="@{rollMeleeWeaponsUP}"></button>
<button class="ability-roll" type="roll" name="roll_MeleeWeapons" value="@{rollMeleeWeapons}">
<span class="skillsCol1" data-i18n="melee-weapons">Melee Weapons</span>
</button>
<input type="number" value="0" name="attr_MeleeWeaponsAdds"/>
<input type="number" value="0" name="attr_MeleeWeaponsAdj"/>
<select name="attr_MeleeWeaponsMod" class="modtype">
<option value="CHA" data-i18n="cha-u">CHA</option>
<option value="DEX" selected data-i18n="dex-u">DEX</option>
<option value="MIN" data-i18n="min-u">MIN</option>
<option value="SPI" data-i18n="spi-u">SPI</option>
<option value="STR" data-i18n="str-u">STR</option>
</select>
<input type="number" name="attr_MeleeWeapons" value="0" class="skills" readonly/>
<input type="hidden" name="attr_rollMissileWeapons"
value="{{what=Missile Weapons}} {{score=[[@{MissileWeapons}]]}} {{value=[[@{MissileWeapons}+?{Modifier|0}+@{stymied}+@{wounded}]]}} {{buttons=[Possibility](~MissileWeaponsPossibility) [Up](~MissileWeaponsUp)}}"/>
<button type="roll" class="hidden" name="roll_MissileWeaponsPossibility"
value="@{rollMissileWeaponsPossibility}"></button>
<button type="roll" class="hidden" name="roll_MissileWeaponsUp"
value="@{rollMissileWeaponsUP}"></button>
<button class="ability-roll" type="roll" name="roll_MissileWeapons"
value="@{rollMissileWeapons}">
<span class="skillsCol1" data-i18n="missile-weapons">Missile Weapons</span>
</button>
<input type="number" value="0" name="attr_MissileWeaponsAdds"/>
<input type="number" value="0" name="attr_MissileWeaponsAdj"/>
<select name="attr_MissileWeaponsMod" class="modtype">
<option value="CHA" data-i18n="cha-u">CHA</option>
<option value="DEX" selected data-i18n="dex-u">DEX</option>
<option value="MIN" data-i18n="min-u">MIN</option>
<option value="SPI" data-i18n="spi-u">SPI</option>
<option value="STR" data-i18n="str-u">STR</option>
</select>
<input type="number" name="attr_MissileWeapons" value="0" class="skills" readonly/>
<input type="hidden" name="attr_rollUnarmedCombat"
value="{{what=Unarmed Combat}} {{score=[[@{UnarmedCombat}]]}} {{value=[[@{UnarmedCombat}+?{Modifier|0} +@{stymied}+@{wounded}]]}} {{buttons=[Possibility](~UnarmedCombatPossibility) [Up](~UnarmedCombatUp)}}"/>
<button type="roll" class="hidden" name="roll_UnarmedCombatPossibility"
value="@{rollUnarmedCombatPossibility}"></button>
<button type="roll" class="hidden" name="roll_UnarmedCombatUp"
value="@{rollUnarmedCombatUP}"></button>
<button class="ability-roll" type="roll" name="roll_UnarmedCombat" value="@{rollUnarmedCombat}">
<span class="skillsCol1" data-i18n="unarmed-combat">Unarmed Combat</span>
</button>
<input type="number" value="0" name="attr_UnarmedCombatAdds"/>
<input type="number" value="0" name="attr_UnarmedCombatAdj"/>
<select name="attr_UnarmedCombatMod" class="modtype">
<option value="CHA" data-i18n="cha-u">CHA</option>
<option value="DEX" selected data-i18n="dex-u">DEX</option>
<option value="MIN" data-i18n="min-u">MIN</option>
<option value="SPI" data-i18n="spi-u">SPI</option>
<option value="STR" data-i18n="str-u">STR</option>
</select>
<input type="number" name="attr_UnarmedCombat" value="0" class="skills" readonly/>
<span class="head" data-i18n="interaction">Interaction</span>
<span class="head" data-i18n="adds">Adds</span>
<span class="head" data-i18n="mod">Mod</span>
<span class="head" data-i18n="stat">Stat</span>
<span class="head" data-i18n="total">Total</span>
<input type="hidden" name="attr_rollIntimidate"
value="{{what=Intimidate}} {{score=[[@{Intimidate}]]}} {{value=[[@{Intimidate}+?{Modifier|0}+@{stymied}+@{wounded}]]}} {{buttons=[Possibility](~IntimidatePossibility) [Up](~IntimidateUp)}}"/>
<button type="roll" class="hidden" name="roll_IntimidatePossibility"
value="@{rollIntimidatePossibility}"></button>
<button type="roll" class="hidden" name="roll_IntimidateUp"
value="@{rollIntimidateUP}"></button>
<button class="ability-roll" type="roll" name="roll_Intimidate" value="@{rollIntimidate}">
<span class="skillsCol1" data-i18n="intimidate">Intimidate</span>
</button>
<input type="number" value="0" name="attr_IntimidateAdds"/>
<input type="number" value="0" name="attr_IntimidateAdj"/>
<select name="attr_IntimidateMod" class="modtype">
<option value="CHA" data-i18n="cha-u">CHA</option>
<option value="DEX" data-i18n="dex-u">DEX</option>
<option value="MIN" data-i18n="min-u">MIN</option>
<option value="SPI" selected data-i18n="spi-u">SPI</option>
<option value="STR" data-i18n="str-u">STR</option>
</select>
<input type="number" name="attr_Intimidate" value="0" class="skills" readonly/>
<input type="hidden" name="attr_rollManeuver"
value="{{what=Maneuver}} {{score=[[@{Maneuver}]]}} {{value=[[@{Maneuver}+?{Modifier|0}+@{stymied}+@{wounded}]]}} {{buttons=[Possibility](~ManeuverPossibility) [Up](~ManeuverUp)}}"/>
<button type="roll" class="hidden" name="roll_ManeuverPossibility"
value="@{rollManeuverPossibility}"></button>
<button type="roll" class="hidden" name="roll_ManeuverUp" value="@{rollManeuverUP}"></button>
<button class="ability-roll" type="roll" name="roll_Maneuver" value="@{rollManeuver}">
<span class="skillsCol1" data-i18n="maneuver">Maneuver</span>
</button>
<input type="number" value="0" name="attr_ManeuverAdds"/>
<input type="number" value="0" name="attr_ManeuverAdj"/>
<select name="attr_ManeuverMod" class="modtype">
<option value="CHA" data-i18n="cha-u">CHA</option>
<option value="DEX" selected data-i18n="dex-u">DEX</option>
<option value="MIN" data-i18n="min-u">MIN</option>
<option value="SPI" data-i18n="spi-u">SPI</option>
<option value="STR" data-i18n="str-u">STR</option>
</select>
<input type="number" name="attr_Maneuver" value="0" class="skills" readonly/>
<input type="hidden" name="attr_rollTaunt"
value="{{what=Taunt}} {{score=[[@{Taunt}]]}} {{value=[[@{Taunt}+?{Modifier|0}+@{stymied}+@{wounded}]]}} {{buttons=[Possibility](~TauntPossibility) [Up](~TauntUp)}}"/>
<button type="roll" class="hidden" name="roll_TauntPossibility"
value="@{rollTauntPossibility}"></button>
<button type="roll" class="hidden" name="roll_TauntUp" value="@{rollTauntUP}"></button>
<button class="ability-roll" type="roll" name="roll_Taunt" value="@{rollTaunt}">
<span class="skillsCol1" data-i18n="taunt">Taunt</span>
</button>
<input type="number" value="0" name="attr_TauntAdds"/>
<input type="number" value="0" name="attr_TauntAdj"/>
<select name="attr_TauntMod" class="modtype">
<option value="CHA" selected data-i18n="cha-u">CHA</option>
<option value="DEX" data-i18n="dex-u">DEX</option>
<option value="MIN" data-i18n="min-u">MIN</option>
<option value="SPI" data-i18n="spi-u">SPI</option>
<option value="STR" data-i18n="str-u">STR</option>
</select>
<input type="number" name="attr_Taunt" value="0" class="skills" readonly/>
<input type="hidden" name="attr_rollTrick"
value="{{what=Trick}} {{score=[[@{Trick}]]}} {{value=[[@{Trick}+?{Modifier|0}+@{stymied}+@{wounded}]]}} {{buttons=[Possibility](~TrickPossibility) [Up](~TrickUp)}}"/>
<button type="roll" class="hidden" name="roll_TrickPossibility"
value="@{rollTrickPossibility}"></button>
<button type="roll" class="hidden" name="roll_TrickUp" value="@{rollTrickUP}"></button>
<button class="ability-roll" type="roll" name="roll_Trick" value="@{rollTrick}">
<span class="skillsCol1" data-i18n="trick">Trick</span>
</button>
<input type="number" value="0" name="attr_TrickAdds"/>
<input type="number" value="0" name="attr_TrickAdj"/>
<select name="attr_TrickMod" class="modtype">
<option value="CHA" data-i18n="cha-u">CHA</option>
<option value="DEX" selected data-i18n="dex-u">DEX</option>
<option value="MIN" selected data-i18n="min-u">MIN</option>
<option value="SPI" data-i18n="spi-u">SPI</option>
<option value="STR" data-i18n="str-u">STR</option>
</select>
<input type="number" name="attr_Trick" value="0" class="skills" readonly/>
<span class="head" data-i18n="other">Other</span>
<span class="head" data-i18n="adds">Adds</span>
<span class="head" data-i18n="mod">Mod</span>
<span class="head" data-i18n="stat">Stat</span>
<span class="head" data-i18n="total">Total</span>
<input type="hidden" class="skills-toggle" name="attr_skills_toggle" value="0"/>
<div class="skills-selection">
<span class="head spread" data-i18n="select-your-skills">Select Your Skills </span>
<span class="description spread" data-i18n="check-which-skills-to-display">Check which skills to display.</span>
<div class="skills-selection-column">
<input type="checkbox" name="attr_toggleskill_airvehicles" value="1"><span
data-i18n="air-vehicles" class="trained">Air Vehicles</span>
<input type="checkbox" name="attr_toggleskill_alteration" value="1"><span
data-i18n="alteration" class="trained">Alteration</span>
<input type="checkbox" name="attr_toggleskill_apportation" value="1"><span
data-i18n="apportation" class="trained">Apportation</span>
<input type="checkbox" name="attr_toggleskill_beastriding" value="1"><span
data-i18n="beast-riding">Beast Riding</span>
<input type="checkbox" name="attr_toggleskill_computers" value="1"><span
data-i18n="computers">Computers</span>
<input type="checkbox" name="attr_toggleskill_conjuration" value="1"><span
data-i18n="conjuration" class="trained">Conjuration</span>
<input type="checkbox" name="attr_toggleskill_divination" value="1"><span
data-i18n="divination" class="trained">Divination</span>
<input type="checkbox" name="attr_toggleskill_dodge" value="1" checked><span
data-i18n="dodge">Dodge</span>
<!-- <input type="checkbox" name="attr_toggleskill_energyweapons" value="1" ><span data-i18n="energy-weapons" >Energy Weapons</span> -->
<input type="checkbox" name="attr_toggleskill_evidenceanalysis" value="1"><span
data-i18n="evidence-analysis">Evidence Analysis</span>
<input type="checkbox" name="attr_toggleskill_faith" value="1"><span data-i18n="faith">Faith</span>
<input type="checkbox" name="attr_toggleskill_find" value="1" checked><span
data-i18n="find">Find</span>
<!-- <input type="checkbox" name="attr_toggleskill_firecombat" value="1" ><span data-i18n="fire-combat">Fire Combat</span> -->
<input type="checkbox" name="attr_toggleskill_firstaid" value="1"><span
data-i18n="first-aid">First Aid</span>
<input type="checkbox" name="attr_toggleskill_heavyweapons" value="1"><span
data-i18n="heavy-weapons">Heavy Weapons</span>
<!-- <input type="checkbox" name="attr_toggleskill_intimidation" value="1" ><span data-i18n="intimidation">Intimidation</span> -->
<input type="checkbox" name="attr_toggleskill_kinesis" value="1"><span
data-i18n="kinesis" class="trained">Kinesis</span>
<input type="checkbox" name="attr_toggleskill_landvehicles" value="1"><span
data-i18n="land-vehicles">Land Vehicles</span>
<input type="checkbox" name="attr_toggleskill_language" value="1"><span
data-i18n="language" class="trained">Language</span>
</div>
<div class="skills-selection-column">
<input type="checkbox" name="attr_toggleskill_lockpicking" value="1"><span
data-i18n="lockpicking" class="trained">Lockpicking</span>
<!-- <input type="checkbox" name="attr_toggleskill_maneuver" value="1" ><span data-i18n="maneuver" >Maneuver</span> -->
<input type="checkbox" name="attr_toggleskill_medicine" value="1"><span
data-i18n="medicine" class="trained">Medicine</span>
<!-- <input type="checkbox" name="attr_toggleskill_meleeweapons" value="1" data-i18n="melee-weapons" ><span data-i18n="melee-weapons" >Melee Weapons</span> -->
<!-- <input type="checkbox" name="attr_toggleskill_missileweapons" value="1" ><span data-i18n="missile-weapons">Missile Weapons</span> -->
<input type="checkbox" name="attr_toggleskill_persuasion" value="1"><span
data-i18n="persuasion">Persuasion</span>
<input type="checkbox" name="attr_toggleskill_precognition" value="1"><span
data-i18n="precognition" class="trained">Precognition</span>
<input type="checkbox" name="attr_toggleskill_profession" value="1"><span
data-i18n="profession">Profession</span>
<input type="checkbox" name="attr_toggleskill_reality" value="1" checked><span
data-i18n="reality" class="trained">Reality</span>
<input type="checkbox" name="attr_toggleskill_scholar" value="1"><span
data-i18n="scholar">Scholar</span>
<input type="checkbox" name="attr_toggleskill_science" value="1"><span
data-i18n="science">Science</span>
<input type="checkbox" name="attr_toggleskill_stealth" value="1"><span
data-i18n="stealth">Stealth</span>
<input type="checkbox" name="attr_toggleskill_streetwise" value="1"><span
data-i18n="streetwise">Streetwise</span>
<input type="checkbox" name="attr_toggleskill_survival" value="1"><span
data-i18n="survival">Survival</span>
<!-- <input type="checkbox" name="attr_toggleskill_taunt" value="1" ><span data-i18n="taunt">Taunt</span> -->
<input type="checkbox" name="attr_toggleskill_telepathy" value="1"><span
data-i18n="telepathy" class="trained">Telepathy</span>
<input type="checkbox" name="attr_toggleskill_tracking" value="1"><span
data-i18n="tracking">Tracking</span>
<!-- <input type="checkbox" name="attr_toggleskill_trick" value="1" ><span data-i18n="trick">Trick</span> -->
<!-- <input type="checkbox" name="attr_toggleskill_unarmedcombat" value="1" ><span data-i18n="unarmed-combat">Unarmed Combat</span> -->
<input type="checkbox" name="attr_toggleskill_watervehicles" value="1"><span
data-i18n="water-vehicles">Water Vehicles</span>
<input type="checkbox" name="attr_toggleskill_willpower" value="1"><span
data-i18n="willpower">Willpower</span>
<input type="checkbox" name="attr_toggleskill_custom" value="1"><span
data-i18n="custom-skills">Custom Skills</span>
</div>
</div>
<input type="hidden" class="skills-airvehicles" name="attr_toggleskill_airvehicles" value="0"/>
<div class="skill airvehicles compendium-drop-target">
<input type="hidden" name="attr_rollAirVehicles"
value="{{what=Air Vehicles}} {{score=[[@{AirVehicles}]]}} {{value=[[@{AirVehicles}+?{Modifier|0}+@{stymied}+@{wounded}]]}} {{buttons=[Possibility](~AirVehiclesPossibility) [Up](~AirVehiclesUp)}}"/>
<button type="roll" class="hidden" name="roll_AirVehiclesPossibility"
value="@{rollAirVehiclesPossibility}"></button>
<button type="roll" class="hidden" name="roll_AirVehiclesUp"
value="@{rollAirVehiclesUP}"></button>
<button class="ability-roll" type="roll" name="roll_AirVehicles" value="@{rollAirVehicles}">
<span class="skillsCol1" data-i18n="air-vehicles">Air Vehicles</span>
</button>
<input type="number" value="0" name="attr_AirVehiclesAdds" accept="AirVehiclesAdds"/>
<input type="number" value="0" name="attr_AirVehiclesAdj" accept="AirVehiclesAdj"/>
<select name="attr_AirVehiclesMod" class="modtype" accept="AirVehiclesMod">
<option value="CHA" data-i18n="cha-u">CHA</option>
<option value="DEX" selected data-i18n="dex-u">DEX</option>
<option value="MIN" data-i18n="min-u">MIN</option>
<option value="SPI" data-i18n="spi-u">SPI</option>
<option value="STR" data-i18n="str-u">STR</option>
</select>
<input type="number" name="attr_AirVehicles" value="0" class="skills" readonly/>
</div>
<input type="hidden" class="skills-alteration" name="attr_toggleskill_alteration" value="0"/>
<div class="skill alteration">
<input type="hidden" name="attr_rollAlteration"
value="{{what=Alteration}} {{score=[[@{Alteration}]]}} {{value=[[@{Alteration}+?{Modifier|0}+@{stymied}+@{wounded}]]}} {{buttons=[Possibility](~AlterationPossibility) [Up](~AlterationUp)}}"/>
<button type="roll" class="hidden" name="roll_AlterationPossibility"
value="@{rollAlterationPossibility}"></button>
<button type="roll" class="hidden" name="roll_AlterationUp"
value="@{rollAlterationUP}"></button>
<button class="ability-roll" type="roll" name="roll_Alteration" value="@{rollAlteration}">
<span class="skillsCol1 trained" data-i18n="alteration">Alteration</span>
</button>
<input type="number" value="0" name="attr_AlterationAdds"/>
<input type="number" value="0" name="attr_AlterationAdj"/>
<select name="attr_AlterationMod" class="modtype">
<option value="CHA" data-i18n="cha-u">CHA</option>
<option value="DEX" data-i18n="dex-u">DEX</option>
<option value="MIN" selected data-i18n="min-u">MIN</option>
<option value="SPI" data-i18n="spi-u">SPI</option>
<option value="STR" data-i18n="str-u">STR</option>
</select>
<input type="number" name="attr_Alteration" value="0" class="skills" readonly/>
</div>
<input type="hidden" class="skills-apportation" name="attr_toggleskill_apportation" value="0"/>
<div class="skill apportation">
<input type="hidden" name="attr_rollApportation"
value="{{what=Apportation}} {{score=[[@{Apportation}]]}} {{value=[[@{Apportation}+?{Modifier|0}+@{stymied}+@{wounded}]]}} {{buttons=[Possibility](~ApportationPossibility) [Up](~ApportationUp)}}"/>
<button type="roll" class="hidden" name="roll_ApportationPossibility"
value="@{rollApportationPossibility}"></button>
<button type="roll" class="hidden" name="roll_ApportationUp"
value="@{rollApportationUP}"></button>
<button class="ability-roll" type="roll" name="roll_Apportation" value="@{rollApportation}">
<span class="skillsCol1 trained" data-i18n="apportation">Apportation</span>
</button>
<input type="number" value="0" name="attr_ApportationAdds"/>
<input type="number" value="0" name="attr_ApportationAdj"/>
<select name="attr_ApportationMod" class="modtype">
<option value="CHA" data-i18n="cha-u">CHA</option>
<option value="DEX" data-i18n="dex-u">DEX</option>
<option value="MIN" data-i18n="min-u">MIN</option>
<option value="SPI" selected data-i18n="spi-u">SPI</option>
<option value="STR" data-i18n="str-u">STR</option>
</select>
<input type="number" name="attr_Apportation" value="0" class="skills" readonly/>
</div>
<input type="hidden" class="skills-beastriding" name="attr_toggleskill_beastriding" value="0"/>
<div class="skill beastriding">
<input type="hidden" name="attr_rollBeastRiding"
value="{{what=Beast Riding}} {{score=[[@{BeastRiding}]]}} {{value=[[@{BeastRiding}+?{Modifier|0}+@{stymied}+@{wounded}]]}} {{buttons=[Possibility](~BeastRidingPossibility) [Up](~BeastRidingUp)}}"/>
<button type="roll" class="hidden" name="roll_BeastRidingPossibility"
value="@{rollBeastRidingPossibility}"></button>
<button type="roll" class="hidden" name="roll_BeastRidingUp"
value="@{rollBeastRidingUP}"></button>
<button class="ability-roll" type="roll" name="roll_BeastRiding" value="@{rollBeastRiding}">
<span class="skillsCol1" data-i18n="beast-riding">Beast Riding</span>
</button>
<input type="number" value="0" name="attr_BeastRidingAdds"/>
<input type="number" value="0" name="attr_BeastRidingAdj"/>
<select name="attr_BeastRidingMod" class="modtype">
<option value="CHA" data-i18n="cha-u">CHA</option>
<option value="DEX" selected data-i18n="dex-u">DEX</option>
<option value="MIN" data-i18n="min-u">MIN</option>
<option value="SPI" data-i18n="spi-u">SPI</option>
<option value="STR" data-i18n="str-u">STR</option>
</select>
<input type="number" name="attr_BeastRiding" value="0" class="skills" readonly/>
</div>
<input type="hidden" class="skills-computers" name="attr_toggleskill_computers" value="0"/>
<div class="skill computers">
<input type="hidden" name="attr_rollComputers"
value="{{what=Computers}} {{score=[[@{Computers}]]}} {{value=[[@{Computers}+?{Modifier|0}+@{stymied}+@{wounded}]]}} {{buttons=[Possibility](~ComputersPossibility) [Up](~ComputersUp)}}"/>
<button type="roll" class="hidden" name="roll_ComputersPossibility"
value="@{rollComputersPossibility}"></button>
<button type="roll" class="hidden" name="roll_ComputersUp"
value="@{rollComputersUP}"></button>
<button class="ability-roll" type="roll" name="roll_Computers" value="@{rollComputers}">
<span class="skillsCol1" data-i18n="computers">Computers</span>
</button>
<input type="number" value="0" name="attr_ComputersAdds"/>
<input type="number" value="0" name="attr_ComputersAdj"/>
<select name="attr_ComputersMod" class="modtype">
<option value="CHA" data-i18n="cha-u">CHA</option>
<option value="DEX" data-i18n="dex-u">DEX</option>
<option value="MIN" selected data-i18n="min-u">MIN</option>
<option value="SPI" data-i18n="spi-u">SPI</option>
<option value="STR" data-i18n="str-u">STR</option>
</select>
<input type="number" name="attr_Computers" value="0" class="skills" readonly/>
</div>
<input type="hidden" class="skills-conjuration" name="attr_toggleskill_conjuration" value="0"/>
<div class="skill conjuration">
<input type="hidden" name="attr_rollConjuration"
value="{{what=Conjuration}} {{score=[[@{Conjuration}]]}} {{value=[[@{Conjuration}+?{Modifier|0}+@{stymied}+@{wounded}]]}} {{buttons=[Possibility](~ConjurationPossibility) [Up](~ConjurationUp)}}"/>
<button type="roll" class="hidden" name="roll_ConjurationPossibility"
value="@{rollConjurationPossibility}"></button>
<button type="roll" class="hidden" name="roll_ConjurationUp"
value="@{rollConjurationUP}"></button>
<button class="ability-roll" type="roll" name="roll_Conjuration" value="@{rollConjuration}">
<span class="skillsCol1 trained" data-i18n="conjuration">Conjuration</span>
</button>
<input type="number" value="0" name="attr_ConjurationAdds"/>
<input type="number" value="0" name="attr_ConjurationAdj"/>
<select name="attr_ConjurationMod" class="modtype">
<option value="CHA" data-i18n="cha-u">CHA</option>
<option value="DEX" data-i18n="dex-u">DEX</option>
<option value="MIN" data-i18n="min-u">MIN</option>
<option value="SPI" selected data-i18n="spi-u">SPI</option>
<option value="STR" data-i18n="str-u">STR</option>
</select>
<input type="number" name="attr_Conjuration" value="0" class="skills" readonly/>
</div>
<input type="hidden" class="skills-divination" name="attr_toggleskill_divination" value="0"/>
<div class="skill divination">
<input type="hidden" name="attr_rollDivination"
value="{{what=Divination}} {{score=[[@{Divination}]]}} {{value=[[@{Divination}+?{Modifier|0}+@{stymied}+@{wounded}]]}} {{buttons=[Possibility](~DivinationPossibility) [Up](~DivinationUp)}}"/>
<button type="roll" class="hidden" name="roll_DivinationPossibility"
value="@{rollDivinationPossibility}"></button>
<button type="roll" class="hidden" name="roll_DivinationUp"
value="@{rollDivinationUP}"></button>
<button class="ability-roll" type="roll" name="roll_Divination" value="@{rollDivination}">
<span class="skillsCol1 trained" data-i18n="divination">Divination</span>
</button>
<input type="number" value="0" name="attr_DivinationAdds"/>
<input type="number" value="0" name="attr_DivinationAdj"/>
<select name="attr_DivinationMod" class="modtype">
<option value="CHA" data-i18n="cha-u">CHA</option>
<option value="DEX" data-i18n="dex-u">DEX</option>
<option value="MIN" selected data-i18n="min-u">MIN</option>
<option value="SPI" data-i18n="spi-u">SPI</option>
<option value="STR" data-i18n="str-u">STR</option>
</select>
<input type="number" name="attr_Divination" value="0" class="skills" readonly/>
</div>
<input type="hidden" class="skills-dodge" name="attr_toggleskill_dodge" value="1"/>
<div class="skill dodge">
<input type="hidden" name="attr_rollDodge"
value="{{what=Dodge}} {{score=[[@{Dodge}]]}} {{value=[[@{Dodge}+?{Modifier|0}+@{stymied}+@{wounded}]]}} {{buttons=[Possibility](~DodgePossibility) [Up](~DodgeUp)}}"/>
<button type="roll" class="hidden" name="roll_DodgePossibility"
value="@{rollDodgePossibility}"></button>
<button type="roll" class="hidden" name="roll_DodgeUp" value="@{rollDodgeUP}"></button>
<button class="ability-roll" type="roll" name="roll_Dodge" value="@{rollDodge}">
<span class="skillsCol1" data-i18n="dodge">Dodge</span>
</button>
<input type="number" value="0" name="attr_DodgeAdds"/>
<input type="number" value="0" name="attr_DodgeAdj"/>
<select name="attr_DodgeMod" class="modtype">
<option value="CHA" data-i18n="cha-u">CHA</option>
<option value="DEX" selected data-i18n="dex-u">DEX</option>
<option value="MIN" data-i18n="min-u">MIN</option>
<option value="SPI" data-i18n="spi-u">SPI</option>
<option value="STR" data-i18n="str-u">STR</option>
</select>
<input type="number" name="attr_Dodge" value="0" class="skills" readonly/>
</div>
<input type="hidden" class="skills-evidenceanalysis" name="attr_toggleskill_evidenceanalysis"
value="0"/>
<div class="skill evidenceanalysis">
<input type="hidden" name="attr_rollEvidenceAnalysis"
value="{{what=Evidence Analysis}} {{score=[[@{EvidenceAnalysis}]]}} {{value=[[@{EvidenceAnalysis}+?{Modifier|0}+@{stymied}+@{wounded}]]}} {{buttons=[Possibility](~EvidenceAnalysisPossibility) [Up](~EvidenceAnalysisUp)}}"/>
<button type="roll" class="hidden" name="roll_EvidenceAnalysisPossibility"
value="@{rollEvidenceAnalysisPossibility}"></button>
<button type="roll" class="hidden" name="roll_EvidenceAnalysisUp"
value="@{rollEvidenceAnalysisUP}"></button>
<button class="ability-roll" type="roll" name="roll_EvidenceAnalysis"
value="@{rollEvidenceAnalysis}">
<span class="skillsCol1" data-i18n="evidence-analysis">Evidence Analysis</span>
</button>
<input type="number" value="0" name="attr_EvidenceAnalysisAdds"/>
<input type="number" value="0" name="attr_EvidenceAnalysisAdj"/>
<select name="attr_EvidenceAnalysisMod" class="modtype">
<option value="CHA" data-i18n="cha-u">CHA</option>
<option value="DEX" data-i18n="dex-u">DEX</option>
<option value="MIN" selected data-i18n="min-u">MIN</option>
<option value="SPI" data-i18n="spi-u">SPI</option>
<option value="STR" data-i18n="str-u">STR</option>
</select>
<input type="number" name="attr_EvidenceAnalysis" value="0" class="skills" readonly/>
</div>
<input type="hidden" class="skills-faith" name="attr_toggleskill_faith" value="0"/>
<div class="skill faith">
<input type="hidden" name="attr_rollFaith"
value="{{what=Faith}} {{score=[[@{Faith}]]}} {{value=[[@{Faith}+?{Modifier|0}+@{stymied}+@{wounded}]]}} {{buttons=[Possibility](~FaithPossibility) [Up](~FaithUp)}}"/>
<button type="roll" class="hidden" name="roll_FaithPossibility"
value="@{rollFaithPossibility}"></button>
<button type="roll" class="hidden" name="roll_FaithUp" value="@{rollFaithUP}"></button>
<button class="ability-roll" type="roll" name="roll_Faith" value="@{rollFaith}">
<span class="skillsCol1" data-i18n="faith">Faith</span>
</button>
<input type="number" value="0" name="attr_FaithAdds"/>
<input type="number" value="0" name="attr_FaithAdj"/>
<select name="attr_FaithMod" class="modtype">
<option value="CHA" data-i18n="cha-u">CHA</option>
<option value="DEX" data-i18n="dex-u">DEX</option>
<option value="MIN" data-i18n="min-u">MIN</option>
<option value="SPI" selected data-i18n="spi-u">SPI</option>
<option value="STR" data-i18n="str-u">STR</option>
</select>
<input type="number" name="attr_Faith" value="0" class="skills" readonly/>
</div>
<input type="hidden" class="skills-find" name="attr_toggleskill_find" value="1"/>
<div class="skill find">
<input type="hidden" name="attr_rollFind"
value="{{what=Find}} {{score=[[@{Find}]]}} {{value=[[@{Find}+?{Modifier|0}+@{stymied}+@{wounded}]]}} {{buttons=[Possibility](~FindPossibility) [Up](~FindUp)}}"/>
<button type="roll" class="hidden" name="roll_FindPossibility"
value="@{rollFindPossibility}"></button>
<button type="roll" class="hidden" name="roll_FindUp" value="@{rollFindUP}"></button>
<button class="ability-roll" type="roll" name="roll_Find" value="@{rollFind}">
<span class="skillsCol1" data-i18n="find">Find</span>
</button>
<input type="number" value="0" name="attr_FindAdds"/>
<input type="number" value="0" name="attr_FindAdj"/>
<select name="attr_FindMod" class="modtype">
<option value="CHA" data-i18n="cha-u">CHA</option>
<option value="DEX" data-i18n="dex-u">DEX</option>
<option value="MIN" selected data-i18n="min-u">MIN</option>
<option value="SPI" data-i18n="spi-u">SPI</option>
<option value="STR" data-i18n="str-u">STR</option>
</select>
<input type="number" name="attr_Find" value="0" class="skills" readonly/>
</div>
<input type="hidden" class="skills-firstaid" name="attr_toggleskill_firstaid" value="0"/>
<div class="skill firstaid">
<input type="hidden" name="attr_rollFirstAid"
value="{{what=First Aid}} {{score=[[@{FirstAid}]]}} {{value=[[@{FirstAid}+?{Modifier|0}+@{stymied}+@{wounded}]]}} {{buttons=[Possibility](~FirstAidPossibility) [Up](~FirstAidUp)}}"/>
<button type="roll" class="hidden" name="roll_FirstAidPossibility"
value="@{rollFirstAidPossibility}"></button>
<button type="roll" class="hidden" name="roll_FirstAidUp"
value="@{rollFirstAidUP}"></button>
<button class="ability-roll" type="roll" name="roll_FirstAid" value="@{rollFirstAid}">
<span class="skillsCol1" data-i18n="first-aid">First Aid</span>
</button>
<input type="number" value="0" name="attr_FirstAidAdds"/>
<input type="number" value="0" name="attr_FirstAidAdj"/>
<select name="attr_FirstAidMod" class="modtype">
<option value="CHA" data-i18n="cha-u">CHA</option>
<option value="DEX" data-i18n="dex-u">DEX</option>
<option value="MIN" selected data-i18n="min-u">MIN</option>
<option value="SPI" data-i18n="spi-u">SPI</option>
<option value="STR" data-i18n="str-u">STR</option>
</select>
<input type="number" name="attr_FirstAid" value="0" class="skills" readonly/>
</div>
<input type="hidden" class="skills-kinesis" name="attr_toggleskill_kinesis" value="0"/>
<div class="skill kinesis">
<input type="hidden" name="attr_rollKinesis"
value="{{what=Kinesis}} {{score=[[@{Kinesis}]]}} {{value=[[@{Kinesis}+?{Modifier|0}+@{stymied}+@{wounded}]]}} {{buttons=[Possibility](~KinesisPossibility) [Up](~KinesisUp)}}"/>
<button type="roll" class="hidden" name="roll_KinesisPossibility"
value="@{rollKinesisPossibility}"></button>
<button type="roll" class="hidden" name="roll_KinesisUp" value="@{rollKinesisUP}"></button>
<button class="ability-roll" type="roll" name="roll_Kinesis" value="@{rollKinesis}">
<span class="skillsCol1 trained" data-i18n="kinesis">Kinesis</span>
</button>
<input type="number" value="0" name="attr_KinesisAdds"/>
<input type="number" value="0" name="attr_KinesisAdj"/>
<select name="attr_KinesisMod" class="modtype">
<option value="CHA" data-i18n="cha-u">CHA</option>
<option value="DEX" data-i18n="dex-u">DEX</option>
<option value="MIN" data-i18n="min-u">MIN</option>
<option value="SPI" selected data-i18n="spi-u">SPI</option>
<option value="STR" data-i18n="str-u">STR</option>
</select>
<input type="number" name="attr_Kinesis" value="0" class="skills" readonly/>
</div>
<input type="hidden" class="skills-landvehicles" name="attr_toggleskill_landvehicles"
value="0"/>
<div class="skill landvehicles">
<input type="hidden" name="attr_rollLandVehicles"
value="{{what=Land Vehicles}} {{score=[[@{LandVehicles}]]}} {{value=[[@{LandVehicles}+?{Modifier|0}+@{stymied}+@{wounded}]]}} {{buttons=[Possibility](~LandVehiclesPossibility) [Up](~LandVehiclesUp)}}"/>
<button type="roll" class="hidden" name="roll_LandVehiclesPossibility"
value="@{rollLandVehiclesPossibility}"></button>
<button type="roll" class="hidden" name="roll_LandVehiclesUp"
value="@{rollLandVehiclesUP}"></button>
<button class="ability-roll" type="roll" name="roll_LandVehicles"
value="@{rollLandVehicles}">
<span class="skillsCol1" data-i18n="land-vehicles">Land Vehicles</span>
</button>
<input type="number" value="0" name="attr_LandVehiclesAdds"/>
<input type="number" value="0" name="attr_LandVehiclesAdj"/>
<select name="attr_LandVehiclesMod" class="modtype">
<option value="CHA" data-i18n="cha-u">CHA</option>
<option value="DEX" selected data-i18n="dex-u">DEX</option>
<option value="MIN" data-i18n="min-u">MIN</option>
<option value="SPI" data-i18n="spi-u">SPI</option>
<option value="STR" data-i18n="str-u">STR</option>
</select>
<input type="number" name="attr_LandVehicles" value="0" class="skills" readonly/>
</div>
<input type="hidden" class="skills-lockpicking" name="attr_toggleskill_lockpicking" value="0"/>
<div class="skill lockpicking">
<input type="hidden" name="attr_rollLockpicking"
value="{{what=Lockpicking}} {{score=[[@{Lockpicking}]]}} {{value=[[@{Lockpicking}+?{Modifier|0}+@{stymied}+@{wounded}]]}} {{buttons=[Possibility](~LockpickingPossibility) [Up](~LockpickingUp)}}"/>
<button type="roll" class="hidden" name="roll_LockpickingPossibility"
value="@{rollLockpickingPossibility}"></button>
<button type="roll" class="hidden" name="roll_LockpickingUp"
value="@{rollLockpickingUP}"></button>
<button class="ability-roll" type="roll" name="roll_Lockpicking" value="@{rollLockpicking}">
<span class="skillsCol1 trained" data-i18n="lockpicking">Lockpicking</span>
</button>
<input type="number" value="0" name="attr_LockpickingAdds"/>
<input type="number" value="0" name="attr_LockpickingAdj"/>
<select name="attr_LockpickingMod" class="modtype">
<option value="CHA" data-i18n="cha-u">CHA</option>
<option value="DEX" selected data-i18n="dex-u">DEX</option>
<option value="MIN" data-i18n="min-u">MIN</option>
<option value="SPI" data-i18n="spi-u">SPI</option>
<option value="STR" data-i18n="str-u">STR</option>
</select>
<input type="number" name="attr_Lockpicking" value="0" class="skills" readonly/>
</div>
<input type="hidden" class="skills-medicine" name="attr_toggleskill_medicine" value="0"/>
<div class="skill medicine">
<input type="hidden" name="attr_rollMedicine"
value="{{what=Medicine}} {{score=[[@{Medicine}]]}} {{value=[[@{Medicine}+?{Modifier|0}+@{stymied}+@{wounded}]]}} {{buttons=[Possibility](~MedicinePossibility) [Up](~MedicineUp)}}"/>
<button type="roll" class="hidden" name="roll_MedicinePossibility"
value="@{rollMedicinePossibility}"></button>
<button type="roll" class="hidden" name="roll_MedicineUp"
value="@{rollMedicineUP}"></button>
<button class="ability-roll" type="roll" name="roll_Medicine" value="@{rollMedicine}">
<span class="skillsCol1 trained" data-i18n="medicine">Medicine</span>
</button>
<input type="number" value="0" name="attr_MedicineAdds"/>
<input type="number" value="0" name="attr_MedicineAdj"/>
<select name="attr_MedicineMod" class="modtype">
<option value="CHA" data-i18n="cha-u">CHA</option>
<option value="DEX" data-i18n="dex-u">DEX</option>
<option value="MIN" selected data-i18n="min-u">MIN</option>
<option value="SPI" data-i18n="spi-u">SPI</option>
<option value="STR" data-i18n="str-u">STR</option>
</select>
<input type="number" name="attr_Medicine" value="0" class="skills" readonly/>
</div>
<input type="hidden" class="skills-persuasion" name="attr_toggleskill_persuasion" value="0"/>
<div class="skill persuasion">
<input type="hidden" name="attr_rollPersuasion"
value="{{what=Persuasion}} {{score=[[@{Persuasion}]]}} {{value=[[@{Persuasion}+?{Modifier|0}+@{stymied}+@{wounded}]]}} {{buttons=[Possibility](~PersuasionPossibility) [Up](~PersuasionUp)}}"/>
<button type="roll" class="hidden" name="roll_PersuasionPossibility"
value="@{rollPersuasionPossibility}"></button>
<button type="roll" class="hidden" name="roll_PersuasionUp"
value="@{rollPersuasionUP}"></button>
<button class="ability-roll" type="roll" name="roll_Persuasion" value="@{rollPersuasion}">
<span class="skillsCol1" data-i18n="persuasion">Persuasion</span>
</button>
<input type="number" value="0" name="attr_PersuasionAdds"/>
<input type="number" value="0" name="attr_PersuasionAdj"/>
<select name="attr_PersuasionMod" class="modtype">
<option value="CHA" selected data-i18n="cha-u">CHA</option>
<option value="DEX" data-i18n="dex-u">DEX</option>
<option value="MIN" data-i18n="min-u">MIN</option>
<option value="SPI" data-i18n="spi-u">SPI</option>
<option value="STR" data-i18n="str-u">STR</option>
</select>
<input type="number" name="attr_Persuasion" value="0" class="skills" readonly/>
</div>
<input type="hidden" class="skills-precognition" name="attr_toggleskill_precognition"
value="0"/>
<div class="skill precognition">
<input type="hidden" name="attr_rollPrecognition"
value="{{what=Precognition}} {{score=[[@{Precognition}]]}} {{value=[[@{Precognition}+?{Modifier|0}+@{stymied}+@{wounded}]]}} {{buttons=[Possibility](~PrecognitionPossibility) [Up](~PrecognitionUp)}}"/>
<button type="roll" class="hidden" name="roll_PrecognitionPossibility"
value="@{rollPrecognitionPossibility}"></button>
<button type="roll" class="hidden" name="roll_PrecognitionUp"
value="@{rollPrecognitionUP}"></button>
<button class="ability-roll" type="roll" name="roll_Precognition"
value="@{rollPrecognition}">
<span class="skillsCol1 trained" data-i18n="precognition">Precognition</span>
</button>
<input type="number" value="0" name="attr_PrecognitionAdds"/>
<input type="number" value="0" name="attr_PrecognitionAdj"/>
<select name="attr_PrecognitionMod" class="modtype">
<option value="CHA" data-i18n="cha-u">CHA</option>
<option value="DEX" data-i18n="dex-u">DEX</option>
<option value="MIN" selected data-i18n="min-u">MIN</option>
<option value="SPI" data-i18n="spi-u">SPI</option>
<option value="STR" data-i18n="str-u">STR</option>
</select>
<input type="number" name="attr_Precognition" value="0" class="skills" readonly/>
</div>
<input type="hidden" class="skills-profession" name="attr_toggleskill_profession" value="0"/>
<div class="skill profession">
<input type="hidden" name="attr_rollProfession"
value="{{what=Profession}} {{score=[[@{Profession}]]}} {{value=[[@{Profession}+?{Modifier|0}+@{stymied}+@{wounded}]]}} {{buttons=[Possibility](~ProfessionPossibility) [Up](~ProfessionUp)}}"/>
<button type="roll" class="hidden" name="roll_ProfessionPossibility"
value="@{rollProfessionPossibility}"></button>
<button type="roll" class="hidden" name="roll_ProfessionUp"
value="@{rollProfessionUP}"></button>
<button class="ability-roll" type="roll" name="roll_Profession" value="@{rollProfession}">
<span class="skillsCol1" data-i18n="profession">Profession</span>
</button>
<input type="number" value="0" name="attr_ProfessionAdds"/>
<input type="number" value="0" name="attr_ProfessionAdj"/>
<select name="attr_ProfessionMod" class="modtype">
<option value="CHA" data-i18n="cha-u">CHA</option>
<option value="DEX" data-i18n="dex-u">DEX</option>
<option value="MIN" selected data-i18n="min-u">MIN</option>
<option value="SPI" data-i18n="spi-u">SPI</option>
<option value="STR" data-i18n="str-u">STR</option>
</select>
<input type="number" name="attr_Profession" value="0" class="skills" readonly/>
</div>
<input type="hidden" class="skills-reality" name="attr_toggleskill_reality" value="1"/>
<div class="skill reality">
<input type="hidden" name="attr_rollReality"
value="{{what=Reality}} {{score=[[@{Reality}]]}} {{value=[[@{Reality}+?{Modifier|0}+@{stymied}+@{wounded}]]}} {{buttons=[Possibility](~RealityPossibility) [Up](~RealityUp)}}"/>
<button type="roll" class="hidden" name="roll_RealityPossibility"
value="@{rollRealityPossibility}"></button>
<button type="roll" class="hidden" name="roll_RealityUp" value="@{rollRealityUP}"></button>
<button class="ability-roll" type="roll" name="roll_Reality" value="@{rollReality}">
<span class="skillsCol1 trained" data-i18n="reality">Reality</span>
</button>
<input type="number" value="0" name="attr_RealityAdds"/>
<input type="number" value="0" name="attr_RealityAdj"/>
<select name="attr_RealityMod" class="modtype">
<option value="CHA" data-i18n="cha-u">CHA</option>
<option value="DEX" data-i18n="dex-u">DEX</option>
<option value="MIN" data-i18n="min-u">MIN</option>
<option value="SPI" selected data-i18n="spi-u">SPI</option>
<option value="STR" data-i18n="str-u">STR</option>
</select>
<input type="number" name="attr_Reality" value="0" class="skills" readonly/>
</div>
<input type="hidden" class="skills-scholar" name="attr_toggleskill_scholar" value="0"/>
<div class="skill scholar">
<input type="hidden" name="attr_rollScholar"
value="{{what=Scholar}} {{score=[[@{Scholar}]]}} {{value=[[@{Scholar}+?{Modifier|0}+@{stymied}+@{wounded}]]}} {{buttons=[Possibility](~ScholarPossibility) [Up](~ScholarUp)}}"/>
<button type="roll" class="hidden" name="roll_ScholarPossibility"
value="@{rollScholarPossibility}"></button>
<button type="roll" class="hidden" name="roll_ScholarUp" value="@{rollScholarUP}"></button>
<button class="ability-roll" type="roll" name="roll_Scholar" value="@{rollScholar}">
<span class="skillsCol1" data-i18n="scholar">Scholar</span>
</button>
<input type="number" value="0" name="attr_ScholarAdds"/>
<input type="number" value="0" name="attr_ScholarAdj"/>
<select name="attr_ScholarMod" class="modtype">
<option value="CHA" data-i18n="cha-u">CHA</option>
<option value="DEX" data-i18n="dex-u">DEX</option>
<option value="MIN" selected data-i18n="min-u">MIN</option>
<option value="SPI" data-i18n="spi-u">SPI</option>
<option value="STR" data-i18n="str-u">STR</option>
</select>
<input type="number" name="attr_Scholar" value="0" class="skills" readonly/>
</div>
<input type="hidden" class="skills-science" name="attr_toggleskill_science" value="0"/>
<div class="skill science">
<input type="hidden" name="attr_rollScience"
value="{{what=Science}} {{score=[[@{Science}]]}} {{value=[[@{Science}+?{Modifier|0}+@{stymied}+@{wounded}]]}} {{buttons=[Possibility](~SciencePossibility) [Up](~ScienceUp)}}"/>
<button type="roll" class="hidden" name="roll_SciencePossibility"
value="@{rollSciencePossibility}"></button>
<button type="roll" class="hidden" name="roll_ScienceUp" value="@{rollScienceUP}"></button>
<button class="ability-roll" type="roll" name="roll_Science" value="@{rollScience}">
<span class="skillsCol1" data-i18n="science">Science</span>
</button>
<input type="number" value="0" name="attr_ScienceAdds"/>
<input type="number" value="0" name="attr_ScienceAdj"/>
<select name="attr_ScienceMod" class="modtype">
<option value="CHA" data-i18n="cha-u">CHA</option>
<option value="DEX" data-i18n="dex-u">DEX</option>
<option value="MIN" selected data-i18n="min-u">MIN</option>
<option value="SPI" data-i18n="spi-u">SPI</option>
<option value="STR" data-i18n="str-u">STR</option>
</select>
<input type="number" name="attr_Science" value="0" class="skills" readonly/>
</div>
<input type="hidden" class="skills-stealth" name="attr_toggleskill_stealth" value="0"/>
<div class="skill stealth">
<input type="hidden" name="attr_rollStealth"
value="{{what=Stealth}} {{score=[[@{Stealth}]]}} {{value=[[@{Stealth}+?{Modifier|0}+@{stymied}+@{wounded}]]}} {{buttons=[Possibility](~StealthPossibility) [Up](~StealthUp)}}"/>
<button type="roll" class="hidden" name="roll_StealthPossibility"
value="@{rollStealthPossibility}"></button>
<button type="roll" class="hidden" name="roll_StealthUp" value="@{rollStealthUP}"></button>
<button class="ability-roll" type="roll" name="roll_Stealth" value="@{rollStealth}">
<span class="skillsCol1" data-i18n="stealth">Stealth</span>
</button>
<input type="number" value="0" name="attr_StealthAdds"/>
<input type="number" value="0" name="attr_StealthAdj"/>
<select name="attr_StealthMod" class="modtype">
<option value="CHA" data-i18n="cha-u">CHA</option>
<option value="DEX" selected data-i18n="dex-u">DEX</option>
<option value="MIN" data-i18n="min-u">MIN</option>
<option value="SPI" data-i18n="spi-u">SPI</option>
<option value="STR" data-i18n="str-u">STR</option>
</select>
<input type="number" name="attr_Stealth" value="0" class="skills" readonly/>
</div>
<input type="hidden" class="skills-streetwise" name="attr_toggleskill_streetwise" value="0"/>
<div class="skill streetwise">
<input type="hidden" name="attr_rollStreetwise"
value="{{what=Streetwise}} {{score=[[@{Streetwise}]]}} {{value=[[@{Streetwise}+?{Modifier|0}+@{stymied}+@{wounded}]]}} {{buttons=[Possibility](~StreetwisePossibility) [Up](~StreetwiseUp)}}"/>
<button type="roll" class="hidden" name="roll_StreetwisePossibility"
value="@{rollStreetwisePossibility}"></button>
<button type="roll" class="hidden" name="roll_StreetwiseUp"
value="@{rollStreetwisePossibility}"></button>
<button class="ability-roll" type="roll" name="roll_Streetwise" value="@{rollStreetwise}">
<span class="skillsCol1" data-i18n="streetwise">Streetwise</span>
</button>
<input type="number" value="0" name="attr_StreetwiseAdds"/>
<input type="number" value="0" name="attr_StreetwiseAdj"/>
<select name="attr_StreetwiseMod" class="modtype">
<option value="CHA" selected data-i18n="cha-u">CHA</option>
<option value="DEX" data-i18n="dex-u">DEX</option>
<option value="MIN" data-i18n="min-u">MIN</option>
<option value="SPI" data-i18n="spi-u">SPI</option>
<option value="STR" data-i18n="str-u">STR</option>
</select>
<input type="number" name="attr_Streetwise" value="0" class="skills" readonly/>
</div>
<input type="hidden" class="skills-survival" name="attr_toggleskill_survival" value="0"/>
<div class="skill survival">
<input type="hidden" name="attr_rollSurvival"
value="{{what=Survival}} {{score=[[@{Survival}]]}} {{value=[[@{Survival}+?{Modifier|0}+@{stymied}+@{wounded}]]}} {{buttons=[Possibility](~SurvivalPossibility) [Up](~SurvivalUp)}}"/>
<button type="roll" class="hidden" name="roll_SurvivalPossibility"
value="@{rollSurvivalPossibility}"></button>
<button type="roll" class="hidden" name="roll_SurvivalUp"
value="@{rollSurvivalUP}"></button>
<button class="ability-roll" type="roll" name="roll_Survival" value="@{rollSurvival}">
<span class="skillsCol1" data-i18n="survival">Survival</span>
</button>
<input type="number" value="0" name="attr_SurvivalAdds"/>
<input type="number" value="0" name="attr_SurvivalAdj"/>
<select name="attr_SurvivalMod" class="modtype">
<option value="CHA" data-i18n="cha-u">CHA</option>
<option value="DEX" data-i18n="dex-u">DEX</option>
<option value="MIN" selected data-i18n="min-u">MIN</option>
<option value="SPI" data-i18n="spi-u">SPI</option>
<option value="STR" data-i18n="str-u">STR</option>
</select>
<input type="number" name="attr_Survival" value="0" class="skills" readonly/>
</div>
<input type="hidden" class="skills-telepathy" name="attr_toggleskill_telepathy" value="0"/>
<div class="skill telepathy">
<input type="hidden" name="attr_rollTelepathy"
value="{{what=Telepathy}} {{score=[[@{Telepathy}]]}} {{value=[[@{Telepathy}+?{Modifier|0}+@{stymied}+@{wounded}]]}} {{buttons=[Possibility](~TelepathyPossibility) [Up](~TelepathyUp)}}"/>
<button type="roll" class="hidden" name="roll_TelepathyPossibility"
value="@{rollTelepathyPossibility}"></button>
<button type="roll" class="hidden" name="roll_TelepathyUp"
value="@{rollTelepathyUP}"></button>
<button class="ability-roll" type="roll" name="roll_Telepathy" value="@{rollTelepathy}">
<span class="skillsCol1 trained" data-i18n="telepathy">Telepathy</span>
</button>
<input type="number" value="0" name="attr_TelepathyAdds"/>
<input type="number" value="0" name="attr_TelepathyAdj"/>
<select name="attr_TelepathyMod" class="modtype">
<option value="CHA" selected data-i18n="cha-u">CHA</option>
<option value="DEX" data-i18n="dex-u">DEX</option>
<option value="MIN" data-i18n="min-u">MIN</option>
<option value="SPI" data-i18n="spi-u">SPI</option>
<option value="STR" data-i18n="str-u">STR</option>
</select>
<input type="number" name="attr_Telepathy" value="0" class="skills" readonly/>
</div>
<input type="hidden" class="skills-tracking" name="attr_toggleskill_tracking" value="0"/>
<div class="skill tracking">
<input type="hidden" name="attr_rollTracking"
value="{{what=Tracking}} {{score=[[@{Tracking}]]}} {{value=[[@{Tracking}+?{Modifier|0}+@{stymied}+@{wounded}]]}} {{buttons=[Possibility](~TrackingPossibility) [Up](~TrackingUp)}}"/>
<button type="roll" class="hidden" name="roll_TrackingPossibility"
value="@{rollTrackingPossibility}"></button>
<button type="roll" class="hidden" name="roll_TrackingUp"
value="@{rollTrackingUP}"></button>
<button class="ability-roll" type="roll" name="roll_Tracking" value="@{rollTracking}">
<span class="skillsCol1" data-i18n="tracking">Tracking</span>
</button>
<input type="number" value="0" name="attr_TrackingAdds"/>
<input type="number" value="0" name="attr_TrackingAdj"/>
<select name="attr_TrackingMod" class="modtype">
<option value="CHA" data-i18n="cha-u">CHA</option>
<option value="DEX" data-i18n="dex-u">DEX</option>
<option value="MIN" selected data-i18n="min-u">MIN</option>
<option value="SPI" data-i18n="spi-u">SPI</option>
<option value="STR" data-i18n="str-u">STR</option>
</select>
<input type="number" name="attr_Tracking" value="0" class="skills" readonly/>
</div>
<input type="hidden" class="skills-watervehicles" name="attr_toggleskill_watervehicles"
value="0"/>
<div class="skill watervehicles">
<input type="hidden" name="attr_rollWaterVehicles"
value="{{what=Water Vehicles}} {{score=[[@{WaterVehicles}]]}} {{value=[[@{WaterVehicles}+?{Modifier|0}+@{stymied}+@{wounded}]]}} {{buttons=[Possibility](~WaterVehiclesPossibility) [Up](~WaterVehiclesUp)}}"/>
<button type="roll" class="hidden" name="roll_WaterVehiclesPossibility"
value="@{rollWaterVehiclesPossibility}"></button>
<button type="roll" class="hidden" name="roll_WaterVehiclesUp"
value="@{rollWaterVehiclesUP}"></button>
<button class="ability-roll" type="roll" name="roll_WaterVehicles"
value="@{rollWaterVehicles}">
<span class="skillsCol1" data-i18n="water-vehicles">Water Vehicles</span>
</button>
<input type="number" value="0" name="attr_WaterVehiclesAdds"/>
<input type="number" value="0" name="attr_WaterVehiclesAdj"/>
<select name="attr_WaterVehiclesMod" class="modtype">
<option value="CHA" data-i18n="cha-u">CHA</option>
<option value="DEX" selected data-i18n="dex-u">DEX</option>
<option value="MIN" data-i18n="min-u">MIN</option>
<option value="SPI" data-i18n="spi-u">SPI</option>
<option value="STR" data-i18n="str-u">STR</option>
</select>
<input type="number" name="attr_WaterVehicles" value="0" class="skills" readonly/>
</div>
<input type="hidden" class="skills-willpower" name="attr_toggleskill_willpower" value="0"/>
<div class="skill willpower">
<input type="hidden" name="attr_rollWillpower"
value="{{what=Willpower}} {{score=[[@{Willpower}]]}} {{value=[[@{Willpower}+?{Modifier|0}+@{stymied}+@{wounded}]]}} {{buttons=[Possibility](~WillpowerPossibility) [Up](~WillpowerUp)}}"/>
<button type="roll" class="hidden" name="roll_WillpowerPossibility"
value="@{rollWillpowerPossibility}"></button>
<button type="roll" class="hidden" name="roll_WillpowerUp"
value="@{rollWillpowerUP}"></button>
<button class="ability-roll" type="roll" name="roll_Willpower" value="@{rollWillpower}">
<span class="skillsCol1" data-i18n="willpower">Willpower</span>
</button>
<input type="number" value="0" name="attr_WillpowerAdds"/>
<input type="number" value="0" name="attr_WillpowerAdj"/>
<select name="attr_WillpowerMod" class="modtype">
<option value="CHA" data-i18n="cha-u">CHA</option>
<option value="DEX" data-i18n="dex-u">DEX</option>
<option value="MIN" data-i18n="min-u">MIN</option>
<option value="SPI" selected data-i18n="spi-u">SPI</option>
<option value="STR" data-i18n="str-u">STR</option>
</select>
<input type="number" name="attr_Willpower" value="0" class="skills" readonly/>
</div>
</div>
<input type="hidden" class="skills-custom" name="attr_toggleskill_custom" value="0"/>
<div class="custom skill repeating-skills">
<div class="grid-contents skills">
<span class="head" data-i18n="custom">Custom</span>
<span class="head" data-i18n="adds">Adds</span>
<span class="head" data-i18n="mod">Mod</span>
<span class="head" data-i18n="stat">Stat</span>
<span class="head" data-i18n="total">Total</span>
</div>
<fieldset class="repeating_customs">
<div class="repeating-skill grid-contents">
<input type="hidden" name="attr_rollCustom" value=""/>
<input type="hidden" name="attr_rollCustomUP" value=""/>
<input type="hidden" name="attr_rollCustomPossibility" value=""/>
<button type="roll" class="hidden" name="roll_CustomPossibility"
value="@{rollCustomPossibility}"></button>
<button type="roll" class="hidden" name="roll_CustomUp"
value="@{rollCustomUP}"></button>
<button class="repeating" type="roll" name="roll_Custom" value="@{rollCustom}"></button>
<input type="text" class="skillsCol1 trained repeating" name="attr_CustomName"
placeholder="(Choose)" data-i18n-placeholder="Choose" value=""/>
<input type="number" value="0" name="attr_CustomAdds"/>
<input type="number" value="0" name="attr_CustomAdj"/>
<select name="attr_CustomMod" class="modtype">
<option value="-" selected>?</option>
<option value="CHA" data-i18n="cha-u">CHA</option>
<option value="DEX" data-i18n="dex-u">DEX</option>
<option value="MIN" data-i18n="min-u">MIN</option>
<option value="SPI" data-i18n="spi-u">SPI</option>
<option value="STR" data-i18n="str-u">STR</option>
</select>
<input type="number" name="attr_Custom" value="0" class="skills" readonly/>
</div>
</fieldset>
</div>
<input type="hidden" class="skills-language" name="attr_toggleskill_language" value="0"/>
<div class="language skill repeating-skills">
<div class="grid-contents skills">
<span class="head" data-i18n="language">Language</span>
<span class="head" data-i18n="adds">Adds</span>
<span class="head" data-i18n="mod">Mod</span>
<span class="head" data-i18n="stat">Stat</span>
<span class="head" data-i18n="total">Total</span>
</div>
<fieldset class="repeating_languages">
<div class="repeating-skill grid-contents">
<input type="hidden" name="attr_rollLanguage"
value="{{what=@{LanguageName}}} {{score=[[@{LanguageSkill}]]}} {{value=[[10+@{LanguageSkill}+?{Modifier|0}+@{stymied}+@{wounded}]]}} {{buttons=[Possibility](~repeating_languages_LanguagePossibility) [Up](~repeating_languages_LanguageUp)}}"/>
<button type="roll" class="hidden" name="roll_LanguagePossibility"
value="@{rollLanguagePossibility}"></button>
<button type="roll" class="hidden" name="roll_LanguageUp"
value="@{rollLanguageUP}"></button>
<button class="repeating" type="roll" name="roll_Language" value="@{rollLanguage}">
</button>
<input type="text" class="skillsCol1 trained repeating" name="attr_LanguageName"
placeholder="(Choose)" data-i18n-placeholder="Choose" value=""/>
<input type="number" value="0" name="attr_LanguageAdds"/>
<input type="number" value="0" name="attr_LanguageAdj"/>
<select name="attr_LanguageMod" class="modtype">
<option value="CHA" data-i18n="cha-u">CHA</option>
<option value="DEX" data-i18n="dex-u">DEX</option>
<option value="MIN" selected data-i18n="min-u">MIN</option>
<option value="SPI" data-i18n="spi-u">SPI</option>
<option value="STR" data-i18n="str-u">STR</option>
</select>
<input type="number" name="attr_Language" value="0" class="skills" readonly/>
</div>
</fieldset>
</div>
</div>
<div class="grid gear">
<input type="hidden" class="equipment-toggle" name="attr_Equipment_toggle" value="0"/>
<button class="ability-roll invisibutton" type="action" name="act_Equipment_toggle">
<h3 data-i18n-title="click-to-show-hide-descriptions" title="Click to show/hide Descriptions"
data-i18n="equipment">Equipment</h3>
</button>
<div class="grid-contents gear-titles head">
<span class="head left" data-i18n="item">Item</span>
<span class="head" data-i18n="axiom">Axiom</span>
</div>
<fieldset class="repeating_Equipment">
<div class="grid-contents gear-details">
<input type="text" name="attr_EquipmentName"/>
<input class="center" type="text" name="attr_EquipmentAxiom"/>
<input type="hidden" class="toggle-gear" name="attr_EquipmentToggle" value="0">
<input type="checkbox" name="attr_EquipmentToggle" value="1"/>
<textarea class="gear-description" name="attr_EquipmentDescription"></textarea>
</div>
</fieldset>
</div>
</div>
<div class="grid stats">
<input type="hidden" name="attr_skilledquery"
value="?{What is the minimum skill quality used in the action?|Skilled,1d20!10!!20|Unskilled,1d20!10|Disfavoured,1d20}">
<button class="hidden" type="roll" name="roll_MultiActionPossibility"
value="&{template:torg} {{what=Roll For Bonus}} {{why=Possibility}} @{rollmultipossibility} {{defense=[[0]]}} {{buttons=[Possibility](~MultiActionPossibility) [Up](~MultiActionUP)}}"></button>
<button class="hidden" type="roll" name="roll_MultiActionUP"
value="&{template:torg} {{what=Roll For Bonus}} {{why=UP}} @{rollmultiup} {{defense=[[0]]}} {{buttons=[Possibility](~MultiActionPossibility) [Up](~MultiActionUP)}}"></button>
<button class="ability-roll invisibutton" type="roll" name="roll_MultiAction"
value="&{template:torg} {{who=@{character_name}}} {{what=Roll For Bonus}} {{wounded=[[ @{wounded} [wounds] ]]}} {{stymied=[[ @{stymied} [stymied] ]]}} {{modifier=[[ ?{Modifier|0} [modifier] ]]}} {{value=[[10 + ?{Modifier}[Modifier] +@{wounded}[wounds] +@{stymied}[stymied] ]]}} {{torgroll=[[@{skilledquery}cs10cs>20cf1 @{rolltracker}]]}} {{defense=[[0]]}} {{buttons=[Possibility](~MultiActionPossibility) [Up](~MultiActionUP)}}">
<h3 data-i18n-title="clikc-to-roll-for-multi-action" title="click to roll for Multi-Action Bonus"
data-i18n="attributes">Attributes</h3>
</button>
<div class="grid-contents stats">
<span class="head" data-i18n="attributes">Attributes</span>
<span class="head" data-i18n="base">Base</span>
<span class="head" data-i18n="mod">Mod</span>
<span class="head" data-i18n="total">Total</span>
<input type="hidden" name="attr_rollCHA"
value="{{what=Charisma}} {{score=[[@{CHA}]]}} {{value=[[@{CHA}+?{Modifier|0}+@{stymied}+@{wounded}]]}} {{buttons=[Possibility](~CHAPossibility) [Up](~CHAUp)}}"/>
<button type="roll" class="hidden" name="roll_CHAPossibility"
value="@{rollCHAPossibility}"></button>
<button type="roll" class="hidden" name="roll_CHAUP" value="@{rollCHAUP}"></button>
<button class="ability-roll" type="roll" name="roll_CHA" value="@{rollCHA}">
<span class="name upper" data-i18n="charisma-u">CHARISMA</span>
</button>
<input type="number" name="attr_CHABase" value="0"/>
<input type="number" name="attr_CHAAdj" value="0"/>
<input type="number" name="attr_CHA" value="0" readonly/>
<input type="hidden" name="attr_rollDEX"
value="{{what=Dexterity}} {{score=[[@{DEX}]]}} {{value=[[@{DEX}+?{Modifier|0}+@{stymied}+@{wounded}]]}} {{buttons=[Possibility](~DEXPossibility) [Up](~DEXUp)}}"/>
<button type="roll" class="hidden" name="roll_DEXPossibility"
value="@{rollDEXPossibility}"></button>
<button type="roll" class="hidden" name="roll_DEXUP" value="@{rollDEXUP}"></button>
<button class="ability-roll" type="roll" name="roll_DEX" value="@{rollDEX}">
<span class="name upper" data-i18n="dexterity-u">DEXTERITY</span>
</button>
<input type="number" name="attr_DEXBase" value="0"/>
<input type="number" name="attr_DEXAdj" value="0"/>
<input type="number" name="attr_DEX" value="0" readonly/>
<input type="hidden" name="attr_rollMIN"
value="{{what=Mind}} {{score=[[@{MIN}]]}} {{value=[[@{MIN}+?{Modifier|0}+@{stymied}+@{wounded}]]}} {{buttons=[Possibility](~MINPossibility) [Up](~MINUp)}}"/>
<button type="roll" class="hidden" name="roll_MINPossibility"
value="@{rollMINPossibility}"></button>
<button type="roll" class="hidden" name="roll_MINUP" value="@{rollMINUP}"></button>
<button class="ability-roll" type="roll" name="roll_MIN" value="@{rollMIN}">
<span class="name upper" data-i18n="mind-u">MIND</span>
</button>
<input type="number" name="attr_MINBase" value="0"/>
<input type="number" name="attr_MINAdj" value="0"/>
<input type="number" name="attr_MIN" value="0" readonly/>
<input type="hidden" name="attr_rollSPI"
value="{{what=Spirit}} {{score=[[@{SPI}]]}} {{value=[[@{SPI}+?{Modifier|0}+@{stymied}+@{wounded}]]}} {{buttons=[Possibility](~SPIPossibility) [Up](~SPIUp)}}"/>
<button type="roll" class="hidden" name="roll_SPIPossibility"
value="@{rollSPIPossibility}"></button>
<button type="roll" class="hidden" name="roll_SPIUP" value="@{rollSPIUP}"></button>
<button class="ability-roll" type="roll" name="roll_SPI" value="@{rollSPI}">
<span class="name upper" data-i18n="spirit-u">SPIRIT</span>
</button>
<input type="number" name="attr_SPIBase" value="0"/>
<input type="number" name="attr_SPIAdj" value="0"/>
<input type="number" name="attr_SPI" value="0" readonly/>
<input type="hidden" name="attr_rollSTR"
value="{{what=Strength}} {{score=[[@{STR}]]}} {{value=[[@{STR}+?{Modifier|0}+@{stymied}+@{wounded}]]}} {{buttons=[Possibility](~STRPossibility) [Up](~STRUp)}}"/>
<button type="roll" class="hidden" name="roll_STRPossibility"
value="@{rollSTRPossibility}"></button>
<button type="roll" class="hidden" name="roll_STRUP" value="@{rollSTRUP}"></button>
<button class="ability-roll" type="roll" name="roll_STR" value="@{rollSTR}">
<span class="name upper" data-i18n="strength-u">STRENGTH</span>
</button>
<input type="number" name="attr_STRBase" value="0"/>
<input type="number" name="attr_STRAdj" value="0"/>
<input type="number" name="attr_STR" value="0" readonly class="3"/>
</div>
</div>
<div class="grid derived grid-contents">
<input type="hidden" class="invisibutton" name="attr_derived_toggle" value="0"/>
<div class="derived-selection grid">
<span class="head spread" data-i18n="enhancements">Enhancements</span>
<span data-i18n="move">Move</span>
<input type="number" name="attr_plus_move" value="0"/>
<span data-i18n="shock">Shock</span>
<input type="number" name="attr_plus_shock" value="0"/>
<span data-i18n="wounds">Wounds</span>
<input type="number" name="attr_plus_wound" value="0"/>
<span data-i18n="toughness">Toughness</span>
<input type="number" name="attr_plus_toughness" value="0"/>
<span data-i18n-title="only-for-fatigue" title="Only for Fatigue initiative event, not backlash."
data-i18n="fatigue">Fatigue</span>
<input type="number" name="attr_plus_fatigue" value="0"/>
</div>
<button class="ability-roll invisibutton" type="action" name="act_derived_toggle">
<h3 data-i18n-title="click-to-add-derived-stat-bonus" title="Click to add derived stat bonuses"
data-i18n="derived-ratings">Derived Ratings</h3>
</button>
<hr class="underline"/>
<span data-i18n="move-u">MOVE</span>
<input type="number" name="attr_Movement" value="0"/>
<span data-i18n="shock-u">SHOCK</span>
<input type="number" name="attr_shock" value="0"/>
<span>/</span>
<input type="number" name="attr_shock_max" value="0" readonly/>
<span data-i18n="run-u">RUN</span>
<input type="number" name="attr_Run" value="0" readonly/>
<span data-i18n="wounds-u">WOUNDS</span>
<input type="number" name="attr_wound" value="0"/>
<span>/</span>
<input type="number" name="attr_wound_max" value="3" readonly/>
</div>
<div class="grid defenses">
<button class="hidden" type="roll" name="roll_ActivedefensePossibility"
value="&{template:torg} {{who=@{character_name}}} {{what=Active defense}} @{rollpossibility} {{defense=[[1]]}} {{buttons=[Possibility](~ActivedefensePossibility) [Up](~ActivedefenseUP)}}"></button>
<button class="hidden" type="roll" name="roll_ActivedefenseUP"
value="&{template:torg} {{who=@{character_name}}} {{what=Active defense}} @{rollup} {{defense=[[1]]}} {{buttons=[Possibility](~ActivedefensePossibility) [Up](~ActivedefenseUP)}}"></button>
<button class="ability-roll invisibutton" type="roll" name="roll_Activedefense"
value="&{template:torg} {{who=@{character_name}}} {{what=Active defense}} {{torgroll=[[1d20!10!!20cs10cs>20cf1 @{rolltracker}]]}} {{defense=[[1]]}} {{buttons=[Possibility](~ActivedefensePossibility) [Up](~ActivedefenseUP)}}">
<h3 data-i18n-title="click-for-active-defense" title="click to roll Active defense"
data-i18n="defenses">Defenses</h3>
</button>
<div class="grid-contents banding">
<span class="head" data-i18n="defense">Defense</span>
<span class="head" data-i18n="mod">Mod</span>
<span class="head" data-i18n="total">Total</span>
<span class="sheet-skillsCol1" data-i18n="dodge">Dodge</span>
<input type="number" value="0" name="attr_defense_Dodge_adds"/>
<input type="number" value="0" name="attr_defense_Dodge" readonly/>
<span class="sheet-skillsCol1" data-i18n="melee">Melee</span>
<input type="number" value="0" name="attr_defense_MeleeWeapons_adds"/>
<input type="number" value="0" name="attr_defense_MeleeWeapons" readonly/>
<span class="sheet-skillsCol1" data-i18n="unarmed">Unarmed</span>
<input class="nounderline" type="number" value="0" name="attr_defense_UnarmedCombat_adds"/>
<input class="nounderline" type="number" value="0" name="attr_defense_UnarmedCombat" readonly/>
<hr/>
<span class="skillsCol1 armour" data-i18n="armor">Armor</span>
<span class="skillsCol1 armour-stats" name="attr_armorstats">&nbsp;</span>
<input type="number" value="0" name="attr_Armor" readonly/>
<span class="sheet-skillsCol1" data-i18n="toughness">Toughness</span>
<input class="nounderline" type="number" value="0" name="attr_toughness_adds"/>
<input class="nounderline" type="number" value="0" name="attr_toughness" readonly/>
<hr/>
<span class="sheet-skillsCol1" data-i18n="intimidate">Intimidate</span>
<input type="number" value="0" name="attr_defense_Intimidate_adds"/>
<input type="number" value="0" name="attr_defense_Intimidate" readonly/>
<span class="sheet-skillsCol1" data-i18n="maneuver">Maneuver</span>
<input type="number" value="0" name="attr_defense_Maneuver_adds"/>
<input type="number" value="0" name="attr_defense_Maneuver" readonly/>
<span class="sheet-skillsCol1" data-i18n="taunt">Taunt</span>
<input type="number" value="0" name="attr_defense_Taunt_adds"/>
<input type="number" value="0" name="attr_defense_Taunt" readonly/>
<span class="sheet-skillsCol1" data-i18n="trick">Trick</span>
<input class="nounderline" type="number" value="0" name="attr_defense_Trick_adds"/>
<input class="nounderline" type="number" value="0" name="attr_defense_Trick" readonly/>
<hr/>
<span class="sheet-skillsCol1" data-i18n="faith">Faith</span>
<input type="number" value="0" name="attr_defense_Faith_adds"/>
<input type="number" value="0" name="attr_defense_Faith" readonly/>
<span class="sheet-skillsCol1" data-i18n="willpower">Willpower</span>
<input type="number" value="0" name="attr_defense_Willpower_adds"/>
<input type="number" value="0" name="attr_defense_Willpower" readonly/>
<span class="sheet-skillsCol1" data-i18n="will-mind">Will (Mind)</span>
<input type="number" value="0" name="attr_defense_WillpowerMind_adds"/>
<input type="number" value="0" name="attr_defense_WillpowerMind" readonly/>
</div>
</div>
<div class="bottom">
<div class="grid armor">
<div class="grid-contents armor-titles head">
<input type="hidden" class="armor-toggle" name="attr_Armor_toggle" value="0"/>
<button class="ability-roll invisibutton" type="action" name="act_Armor_toggle">
<h3 class="wide" data-i18n-placeholder="" title=data-i18n="armor">Armor</h3>
</button>
<span class="head" data-i18n="name">Name</span>
<span class="head" data-i18n="worn" data-i18n-title="worn" title="Worn?">W</span>
<span class="head" data-i18n="axiom">Axiom</span>
<span class="head" data-i18n="adds">Adds</span>
<span class="head" data-i18n="dex-u">DEX</span>
<span class="head" data-i18n="fat-u">FAT</span>
<span class="head" data-i18n="notes">Notes</span>
</div>
<fieldset class="repeating_armor">
<div class="grid-contents armor-details compendium-drop-target">
<input type="text" name="attr_Armor_Name" accept="Name"/>
<input type="checkbox" name="attr_armor_worn" value="1" checked/>
<input type="text" name="attr_Armor_Axiom" accept="Axiom"/>
<input type="number" name="attr_Armor_Adds" accept="Adds"/>
<input type="number" name="attr_Armor_DEX" accept="DEX"/>
<input type="number" name="attr_Armor_Fatigue" accept="Fatigue"/>
<input type="text" name="attr_Armor_Notes" accept="Notes"/>
<input type="hidden" class="toggle-armor" name="attr_ArmorToggle" value="0">
<input type="checkbox" name="attr_ArmorToggle" value="1"/>
<textarea class="armor-description" name="attr_Armor_Description"
accept="Description"></textarea>
</div>
</fieldset>
</div>
<div class="grid weapons">
<input type="hidden" class="attacks-toggle" name="attr_Attacks_toggle" value="1"/>
<button class="ability-roll invisibutton" type="action" name="act_Attacks_toggle">
<h3 class="wide" data-i18n-title="click-to-show-hide-details" title="Click to show/hide Details"
data-i18n="weapons-and-powers">Weapons and Powers</h3>
</button>
<div class="grid-contents weapons-titles head">
<span class="head" data-i18n-title="click-name-to-roll-attack"
title="Click the name to roll an attack." data-i18n="name">Name</span>
<span class="head" data-i18n-title="fixed-bonus-to-attack"
title="Fixed bonus to attack">+A</span>
<span class="head" data-i18n="axiom">Axiom</span>
<span class="head" data-i18n="range">Range</span>
<span class="head" data-i18n="ammo">Ammo</span>
<span class="head" data-i18n-title="click-damage-to-roll-for-damage"
title="Click Damage to roll for damage." data-i18n="damage">Damage</span>
<span class="head" data-i18n-title="fixed-bonus-to-damage"
title="Fixed Bonus to Damage">+D</span>
<span class="head" data-i18n-title="bonus-dice-for-damage"
title="Bonus Dice for Damage">BD</span>
<span class="head">&nbsp;</span>
</div>
<fieldset class="repeating_attacks">
<div class="compendium-drop-target">
<input type="hidden" class="toggle-weapons" name="attr_AttacksToggle" value="1">
<div class="grid-contents weapons-details">
<input type="hidden" name="attr_rollAttack"
value="{{what=@{Attack_Name}}} {{score=@{Attack_Skill_Name}+@{Attack_Attack_Bonus}}} {{value=[[@{Attack_Skill_Name}+@{Attack_Attack_Bonus}+?{Modifier|0}+@{stymied}+@{wounded}]]}} {{buttons=[Possibility](~repeating_attacks_AttackPossibility) [Up](~repeating_attacks_AttackUp)}}"/>
<button type="roll" class="hidden" name="roll_AttackPossibility"
value="@{rollAttackPossibility} {{note=@{Attack_Footnote}}}"></button>
<button type="roll" class="hidden" name="roll_AttackUp"
value="@{rollAttackUP} {{note=@{Attack_Footnote}}}"></button>
<button class="ability-roll weapon-name" type="roll" name="roll_Attack"
value="@{rollAttack} {{note=@{Attack_Footnote}}}">
<input type="hidden" name="attr_Attack_Name" accept="Name"/>
<span class="skillsCol1 weapon" name="attr_Attack_Name"></span>
</button>
<input class="weapon" type="number" name="attr_Attack_Attack_Bonus" value="0"
data-i18n-title="bonus-to-attack" title="Bonus to Attack" accept="Attack_Bonus"/>
<span class="weapon" name="attr_Attack_Axiom"></span>
<span class="weapon" name="attr_Attack_Range"></span>
<input type="number" class="weapon weapon-ammo" name="attr_Attack_Ammo" value="0"
accept="Ammo">
<input type="hidden" name="attr_rollDamage"
value="&{template:damage} {{who=@{character_name}}} {{what=@{Attack_Name}}} {{damagetype=[[@{rolldamagetype}]]}} {{basedamage=[[@{Attack_Damage}+@{Attack_Damage_Bonus}]]}} {{bonusdice=[[?{Bonus Dice?|0} + @{Attack_Damage_BonusDice}]]}} @{rolldamagespecial} {{buttons=[Bonus Dice](~repeating_attacks_bonusdamage)}} {{note=@{Damage_Footnote}}}"/>
<input type="hidden" name="attr_rollBonusDamage"
value="&{template:damage} {{who=@{character_name}}} {{what=@{Attack_Name}}} {{why=Coup de Grace}} {{damagetype=[[@{rolldamagetype}]]}} {{basedamage=[[@{Attack_Damage}+@{Attack_Damage_Bonus}]]}} {{bonusdice=[[?{Bonus Dice?|0} + @{Attack_Damage_BonusDice}]]}} {{lastroll=@{rolldamagelast}}} {{damage=[[@{rolldamagelast} + ?{Bonus Dice?|1}d6!p} @{rolltracker}]]}} {{buttons=[Bonus Dice](~repeating_attacks_bonusdamage)}} {{note=@{Damage_Footnote}}}"/>
<button type="roll" class="hidden" name="roll_bonusdamage"
value="@{rollBonusDamage}"></button>
<button type="roll" class="ability-roll" name="roll_damage" value="@{rollDamage}">
<span class="weapon" name="attr_Attack_Damage_Display"></span>
</button>
<input class="weapon" type="number" name="attr_Attack_Damage_Bonus" value="0"
data-i18n-title="fixed-bonus-to-damage" title="Fixed Bonus to Damage"
accept="Damage_Bonus"/>
<input class="weapon" type="number" name="attr_Attack_Damage_BonusDice" value="0"
data-i18n-title="bonus-dice-for-damage" title="Bonus Dice for Damage"
accept="Damage_BonusDice"/>
<input type="checkbox" name="attr_AttacksToggle" value="1" data-i18n-title="edit-attack"
title="Edit Attack" checked/>
</div>
<div class="weapons-edit">
<span class="title" data-i18n="name">Name</span>
<input class="weapon-value wide" type="text" name="attr_Attack_Name_Full"
accept="Name_Full"/>
<span class="title"> Axioms</span>
<div class="weapon-value axiom">
<select class="axiom modtype" name="attr_Attack_Axiom1_Name" accept="Axiom1_Name">
<option value="">?</option>
<option value="Magic" data-i18n="magic">Magic</option>
<option value="Social" data-i18n="social">Social</option>
<option value="Spiritual" data-i18n="spirit">Spirit</option>
<option value="Tech" selected data-i18n="tech">Tech</option>
</select>
<input type="number" value="0" name="attr_Attack_Axiom1_Score"
accept="Axiom1_Score"/>
<select class="axiom modtype" name="attr_Attack_Axiom2_Name" accept="Axiom2_Name">
<option value="" selected data-i18n="none">None</option>
<option value="Magic" data-i18n="magic">Magic</option>
<option value="Social" data-i18n="social">Social</option>
<option value="Spiritual" data-i18n="spirit">Spirit</option>
<option value="Tech" data-i18n="tech">Tech</option>
</select>
<input type="number" value="0" name="attr_Attack_Axiom2_Score"
accept="Axiom2_Score"/>
<input type="hidden" value="" name="attr_Attack_Axiom" accept="Axiom"/>
</div>
<span class="title wide" data-i18n="skill">Skill</span>
<select class="weapon-value weapon-skill modtype" name="attr_Attack_Skill_Name"
accept="Skill_Name">
<option value="EnergyWeapons" data-i18n="energy-weapons">Energy Weapons</option>
<option value="FireCombat" data-i18n="fire-combat">Fire Combat</option>
<option value="HeavyWeapons" data-i18n="heavy-weapons">Heavy Weapons</option>
<option value="MeleeWeapons" data-i18n="melee-weapons">Melee Weapons</option>
<option value="MissileWeapons" data-i18n="missile-weapons">Missile Weapons</option>
<option value="UnarmedCombat" data-i18n="unarmed-combat">Unarmed Combat</option>
<option value="Alteration" data-i18n="alteration">Alteration</option>
<option value="Apportation" data-i18n="apportation">Apportation</option>
<option value="Conjuration" data-i18n="conjuration">Conjuration</option>
<option value="Divination" data-i18n="divination">Divination</option>
<option value="Faith" data-i18n="faith">Faith</option>
<option value="Kinesis" data-i18n="kinesis">Kinesis</option>
<option value="Precognition" data-i18n="precognition">Precognition</option>
<option value="Telepathy" data-i18n="telepathy">Telepathy</option>
<option value="Intimidate" data-i18n="intimidation">Intimidation</option>
<option value="Maneuver" data-i18n="maneuver">Maneuver</option>
<option value="Taunt" data-i18n="taunt">Taunt</option>
<option value="Trick" data-i18n="trick">Trick</option>
<option value="AirVehicles" data-i18n="air-vehicles">Air Vehicles</option>
<option value="BeastRiding" data-i18n="beast-riding">Beast Riding</option>
<option value="Computers" data-i18n="computers">Computers</option>
<option value="Dodge" data-i18n="dodge">Dodge</option>
<option value="EvidenceAnalysis" data-i18n="evidence-analysis">Evidence Analysis
</option>
<option value="Find" data-i18n="find">Find</option>
<option value="FirstAid" data-i18n="first-aid">First Aid</option>
<option value="LandVehicles" data-i18n="land-vehicles">Land Vehicles</option>
<option value="Lockpicking" data-i18n="lockpicking">Lockpicking</option>
<option value="Medicine" data-i18n="medicine">Medicine</option>
<option value="Persuasion" data-i18n="persuasion">Persuasion</option>
<option value="Profession" data-i18n="profession">Profession</option>
<option value="Reality" data-i18n="reality">Reality</option>
<option value="Scholar" data-i18n="scholar">Scholar</option>
<option value="Science" data-i18n="science">Science</option>
<option value="Stealth" data-i18n="stealth">Stealth</option>
<option value="Streetwise" data-i18n="streetwise">Streetwise</option>
<option value="Survival" data-i18n="survival">Survival</option>
<option value="Tracking" data-i18n="tracking">Tracking</option>
<option value="WaterVehicles" data-i18n="water-vehicles">Water Vehicles</option>
<option value="Willpower" data-i18n="willpower">Willpower</option>
<option value="Custom" data-i18n="custom">Custom</option>
</select>
<input class="skill" type="number" value="0" name="attr_Attack_Skill_Required"
accept="Skill_Required" data-i18n-title="minimum-skill-for-powers"
title="Minimum Skill for Powers"/>
<span class="title" data-i18n="range">Range</span>
<input class="weapon-value wide" type="text" name="attr_Attack_Range" accept="Range"/>
<span class="title" data-i18n="damage">Damage</span>
<div class="weapon-value weapon-damage">
<select class="damage modtype" name="attr_Attack_Damage_Name" accept="Damage_Name">
<option value="Special" data-i18n="special">Special</option>
<option value="0" selected data-i18n="fixed">Fixed</option>
<option value="STR" data-i18n="strength-plus">Strength +</option>
<option value="SPI" data-i18n="spirit-plus">Spirit +</option>
<option value="MIN" data-i18n="mind-plus">Mind +</option>
<option value="DEX" data-i18n="dexterity-plus">Dexterity +</option>
<option value="CHA" data-i18n="charisma-plus">Charisma +</option>
</select>
<input class="damage" type="number" value="0" name="attr_Attack_Damage_Add"
accept="Damage_Add"/>
<input type="hidden" value="0" name="attr_Attack_Damage_Display"
accept="Damage_Display"/>
<input type="hidden" name="attr_Attack_Damage" accept="Damage"/>
</div>
<span class="title wide" data-i18n="ammo">Ammo</span>
<input class="weapon-value weapon-ammo" type="number" value="0"
name="attr_Attack_Ammo_Capacity" accept="Ammo_Capacity"/>
<span class="title narrow" data-i18n="power-question-mark">Power?</span>
<label class="weapon-power">
<input class="weapon-value weapon-power" type="checkbox" value="1"
name="attr_Attack_Power" accept="Power"/>
</label>
<input class="weapon-powers-toggle" type="hidden" value="1" name="attr_Attack_Power"/>
<div class="powers">
<span class="title" data-i18n="casting">Casting</span>
<input class="weapon-value wide" type="text" value="" name="attr_Attack_CastingTime"
accept="CastingTime"/>
<span class="title" data-i18n="target">Target</span>
<div class="weapon-value weapon-difficulty">
<select class="target modtype" name="attr_Attack_TargetName"
accept="TargetName">
<option value="Not Selected" selected data-i18n="attack-type">(Attack
Type)
</option>
<option data-i18n="standard-attack">Standard Attack</option>
<option value="Dodge or Dexterity" data-i18n="dodge-or-dexterity">Dodge or
Dexterity
</option>
<option value="Faith or Spirit" data-i18n="faith-or-spirit">Faith or
Spirit
</option>
<option value="Willpower or Mind" data-i18n="willpower-or-mind">Willpower or
Mind
</option>
<option value="Willpower or Spirit" data-i18n="willpower-or-spirit">
Willpower or Spirit
</option>
<option value="Very Easy (6)" data-i18n="very-easy-dn-6">Very Easy (DN 6)
</option>
<option value="Easy (8)" data-i18n="easy-8">Easy (8)</option>
<option value="Standard (10)" data-i18n="standard-10">Standard (10)</option>
<option value="Challenging (12)" data-i18n="challenging-12">Challenging
(12)
</option>
<option value="Hard (14)" data-i18n="hard-14">Hard (14)</option>
<option value="Very Hard (16)" data-i18n="very-hard-16">Very Hard (16)
</option>
<option value="Heroic (18)" data-i18n="heroic-18">Heroic (18)</option>
<option value="Near Impossible (20)" data-i18n="near-impossible-20">Near
Impossible (20)
</option>
</select>
</div>
<span class="title wide" data-i18n="duration">Duration</span>
<input class="weapon-value weapon-duration" type="text" value=""
name="attr_Attack_Duration" accept="Duration"/>
<span class="title weapon-success"
data-i18n="success-standard">Success - Standard</span>
<input class="weapon-value weapon-success" type="text" value=""
name="attr_Attack_Success_Standard" accept="Success_Standard"/>
<span class="title weapon-success" data-i18n="success-good">Success - Good</span>
<input class="weapon-value weapon-success" type="text" value=""
name="attr_Attack_Success_Good" accept="Success_Good"/>
<span class="title weapon-success" data-i18n="success-outstanding">Success - Outstanding</span>
<input class="weapon-value weapon-success" type="text" value=""
name="attr_Attack_Success_Outstanding" accept="Success_Outstanding"/>
</div>
<div class="description">
<span class="title"
data-i18n-title="anything-here-will-be-printed-out-when-attacking"
title="anything here will be printed out when attacking."
data-i18n="attack-note">Attack Note</span>
<input type="text" name="attr_Attack_Footnote" value=""
data-i18n-title="anything-here-will-be-printed-out-when-attacking"
title="anything here will be printed out when attacking."
accept="Attack_Footnote"/>
<span class="title"
data-i18n-title="anything-here-will-be-printed-out-when-rolling-damage"
title="anything here will be printed out when rolling damage"
data-i18n="damage-note">Damage Note</span>
<input type="text" name="attr_Damage_Footnote" value=""
data-i18n-title="anything-here-will-be-printed-out-when-rolling-damage"
title="anything here will be printed out when rolling damage"
accept="Damage_Footnode"/>
</div>
<textarea class="description" name="attr_Attack_Description"
data-i18n-title="attack-description" title="Attack_Description"></textarea>
</div>
</div>
</fieldset>
</div>
<div class="grid perks">
<input type="hidden" class="perks-toggle" name="attr_Perks_toggle" value="0"/>
<button class="ability-roll invisibutton" type="action" name="act_Perks_toggle">
<h3 data-i18n-placeholder="" title=data-i18n="perks">Perks</h3>
</button>
<div class="grid-contents perks-titles titles">
<span class="head" data-i18n="name">Name</span>
<span class="head" data-i18n="effect">Effect</span>
</div>
<div>
<fieldset class="repeating_perks">
<div class="grid-contents perks-details compendium-drop-target">
<input type="text" value="" name="attr_PerkName" accept="Name"/>
<input type="text" value="" name="attr_PerkDetails" accept="Content"/>
<input class="toggle-perk" type="hidden" name="attr_PerksToggle" value="0"/>
<input class="toggle" type="checkbox" value="1" name="attr_PerksToggle"
data-i18n-title="check-to-show-description" title="Check to show description."/>
<textarea name="attr_PerkDescription" accept="Description"></textarea>
</div>
</fieldset>
</div>
</div>
</div>
<div class="sidebar grid">
<input type="hidden" class="possibilities-toggle" name="attr_possibilities_toggle" value="0"/>
<div class="possibilities-selection grid">
<span class="head spread" data-i18n="cosms">Cosms</span>
<span data-i18n="aysle">Aysle</span>
<input type="number" name="attr_possibilities_aysle" value="0"/>
<span data-i18n="core-earth">Core Earth</span>
<input type="number" name="attr_possibilities_coreearth" value="0"/>
<span data-i18n="cyberpapacy">Cyberpapacy</span>
<input type="number" name="attr_possibilities_cyberpapacy" value="0"/>
<span data-i18n="living-land">Living Land</span>
<input type="number" name="attr_possibilities_livingland" value="0"/>
<span data-i18n="nile-empire">Nile Empire</span>
<input type="number" name="attr_possibilities_nileempire" value="0"/>
<span data-i18n="orrorsh">Orrorsh</span>
<input type="number" name="attr_possibilities_orrorsh" value="0"/>
<span data-i18n="pan-pacifica">Pan-Pacifica</span>
<input type="number" name="attr_possibilities_panpacifica" value="0"/>
<span data-i18n="tharkold">Tharkold</span>
<input type="number" name="attr_possibilities_tharkold" value="0"/>
</div>
<div class="sidebar-contents">
<button class="ability-roll possibilities-toggle invisibutton" type="action"
name="act_possibilities_toggle">
<h3 data-i18n-title="click-to-show-cosm-possibilities"
title="Click to reveal Cosm-specific Possibilities" data-i18n="status">Status</h3>
</button>
<div class="spinner possibilities">
<span class="head" data-i18n="possibilities">Possibilities</span>
<button type="action" name="act_possibilities_down"><span class="spinner">-</span></button>
<input type="hidden" name="attr_possibilities_level" value="0" min="0"/>
<span name="attr_possibilities" class="value">0</span>
<button type="action" name="act_possibilities_up"><span class="spinner">+</span></button>
</div>
<div class="spinner shock">
<span class="head" data-i18n="shock">Shock</span>
<button type="action" name="act_shocked_down"><span class="spinner">-</span></button>
<input type="hidden" name="attr_shocked_level" value="0"/>
<input type="hidden" name="attr_shocked" value="0"/>
<span name="attr_shocked" class="value">0</span>
<button type="action" name="act_shocked_up"><span class="spinner">+</span></button>
</div>
<div class="spinner wounded">
<span class="head" data-i18n="wounded">Wounded</span>
<button type="action" name="act_wounded_down"><span class="spinner">-</span></button>
<input type="hidden" name="attr_wounded_level" value="0"/>
<input type="hidden" name="attr_wounded" value="0"/>
<span name="attr_wounded" class="value">0</span>
<button type="action" name="act_wounded_up"><span class="spinner">+</span></button>
</div>
<div class="spinner vulnerable">
<span class="head" data-i18n="vulnerable">Vulnerable</span>
<button type="action" name="act_vulnerable_down"><span class="spinner">-</span></button>
<input type="hidden" name="attr_vulnerable_level" value="0" min="0" max="2"/>
<input type="hidden" name="attr_vulnerable" value="0"/>
<span name="attr_vulnerable" class="value">0</span>
<button type="action" name="act_vulnerable_up"><span class="spinner">+</span></button>
</div>
<div class="spinner stymied">
<span class="head" data-i18n="stymied">Stymied</span>
<button type="action" name="act_stymied_down"><span class="spinner">-</span></button>
<input type="hidden" name="attr_stymied_level" value="0" min="0" max="2"/>
<span name="attr_stymied" class="value">0</span>
<input type="hidden" name="attr_stymied" value="0"/>
<button type="action" name="act_stymied_up"><span class="spinner">+</span></button>
</div>
<div class="spinner fatigue">
<span class="head" data-i18n-title="shock-suffered-on-fatigue"
title="Shock suffered on Fatigue initiative event" data-i18n="fatigue">Fatigue</span>
<span></span>
<input type="hidden" name="attr_fatigue_level" value="2"/>
<input type="hidden" name="attr_fatigue" value="2"/>
<span name="attr_fatigue" class="value">2</span>
<button type="action" name="act_fatigue_up"><span class="spinner">+</span></button>
</div>
</div>
</div>
</div>
<div class="tab-content tab2">
<div class="left">
<div class="grid description">
<h3 data-i18n="description">Description</h3>
<span class="head title" data-i18n="physical-description">Physical Description</span>
<textarea class="description" name="attr_description"></textarea>
<span class="head title" data-i18n="personality-beliefs-and-mannerisms">Personality: Beliefs and Mannerisms</span>
<textarea class="description" name="attr_personality"></textarea>
<span class="head title" data-i18n="personal-quote">Personal Quote</span>
<textarea class="quote" name="attr_quote"></textarea>
<span class="head title"
data-i18n="background-and-moment-of-crisis">Background and Moment of Crisis</span>
<textarea class="crisis" name="attr_crisis"></textarea>
</div>
<div class="grid history">
<input type="hidden" class="deeds-toggle" name="attr_Deeds_toggle" value="0"/>
<button class="ability-roll invisibutton" type="action" name="act_Deeds_toggle">
<h3 data-i18n="deeds-and-exploits" data-i18n-placeholder="" title=>Deeds</h3>
</button>
<fieldset class="repeating_deeds">
<div class="grid-contents deeds-details">
<input type="text" value="" name="attr_DeedName"/>
<input class="toggle-deed" type="hidden" name="attr_DeedsToggle" value="0"/>
<input class="toggle-deed" type="checkbox" value="1" name="attr_DeedsToggle"
data-i18n-title="check-to-show-description" title="Check to show description."/>
<textarea name="attr_DeedDescription"></textarea>
</div>
</fieldset>
</div>
</div>
<div class="right">
<div class="grid glory">
<input type="hidden" class="glory-toggle" name="attr_Glory_toggle" value="0"/>
<button class="ability-roll invisibutton" type="action" name="act_Glory_toggle">
<h3 data-i18n="glory" title=>Glory</h3>
</button>
<p data-i18n="record-your-moments-of-glory">Record the details of your moments of Glory. </p>
<fieldset class="repeating_glory">
<div class="glories">
<input type="text" class="increase" name="attr_glory_event" value=""/>
<input class="toggle-glory" type="hidden" name="attr_GloryToggle" value="0"/>
<input class="toggle-glory" type="checkbox" value="1" name="attr_GloryToggle"
data-i18n-title="check-to-show-description" title="Check to show description."/>
<textarea name="attr_GloryDescription"></textarea>
</div>
</fieldset>
</div>
<div class="grid connections">
<input type="hidden" class="connection-toggle" name="attr_Connection_toggle" value="0"/>
<button class="ability-roll invisibutton" type="action" name="act_Connection_toggle">
<h3 data-i18n="connections" title=>Connections</h3>
</button>
<p data-i18n="enter-details-of-connections">Your Connections, Romances, and other relationships.</p>
<fieldset class="repeating_connection">
<div class="connections">
<input type="text" class="increase" name="attr_connection_event" value=""/>
<input class="toggle-connection" type="hidden" name="attr_ConnectionToggle" value="0"/>
<input class="toggle-connection" type="checkbox" value="1" name="attr_ConnectionToggle"
data-i18n-title="check-to-show-description" title="Check to show description."/>
<textarea name="attr_ConnectionDescription"></textarea>
</div>
</fieldset>
</div>
<div class="grid advancement">
<h3 data-i18n="advancement-track">Advancement Track</h3>
<div class="advance-titles">
<span class="head advance" data-i18n="advancement">Advancement</span>
<span class="head cost" data-i18n="cost">Cost</span>
</div>
<fieldset class="repeating_advancement">
<div class="advances">
<input type="text" class="increase" name="attr_advance_name" value=""/>
<input type="number" class="cost" name="attr_advance_cost" value=""/>
</div>
<!-- might add a 3rd column for date/session/adventure-->
</fieldset>
<div class="advance-totals">
<span class="head advance" data-i18n="xp-totals">XP Totals -</span>
<span class="head advance" data-i18n="earned">Earned:</span>
<span class="head cost" name="attr_TotalXP">0</span>
<span class="head advance" data-i18n="spent">Spent:</span>
<span class="head cost" name="attr_SpentXP">0</span>
<span class="head advance" data-i18n="left">Left:</span>
<span class="head cost" name="attr_UnspentXP">0</span>
</div>
</div>
</div>
</div>
<div class="tab-content tab3">
<div class="grid grid-contents coming-soon">
<h3 data-i18n="coming-soon">Coming Soon</h3>
<p data-i18n="this-tab-is-primarily-for-the-gm--and-wil">This tab is primarily for the GM, and will
include sections for adding notes, quick rolls, and other time-saving tools for when the GM is
running an adventure. Players might use it for taking notes.</p>
</div>
</div>
<div class="tab-content tab4">
<!--
THREATS
* hides the Personal Data when Threat or Adventure Tab are selected
Concept:
Might have two sheets: a desgn sheet and a display sheet. That's simpler than having multiple sections each with their own toggle
might actually not be separate tabbed sections, just a different set of CSS for each, though some elements like sspans and inputs might be swapped. That might be easily managed by just swapping their visibility.
Attributes: list
Skills: list. Toggel to switch between design and display mode - design shows the usual vertical list; display shows a horizontal comma separated list, where the numbers are spans, and the entries are buttons
when entering skill levels, dont enter adds, just enter the total.
Status: Move, Toughness, Shock, Wounds, Possibilities.might be a vertical side bar
Note: need all of Intimiadate, Manoeuvre, Taunt, Trick, Melee, Dodge, Unarmed, and above to always be on the sheet,
Attacks: see skills, need to include the nature of the attack, attack roll, damage stats, and a description that includes any special results.
Equipment: simple list of non-attacking items
Perks: like skills, but in display mode, they are vertical list, but title and description are on same line (spans)
Special Abilities: as perks
Might have a toggel to choose which sections are displayed, but realistically all should be, even if empty.
Can the overall look be: https://i.imgur.com/V3ZyI5c.png
Might have a button to print basic monster stats and their pick in chat, so pcs can see their basic stats. If its a rolltemplate option, can include portrait with stats arranged around its edges like the threat pic
-->
<div class="grid grid-contents coming-soon">
<h3 data-i18n="coming-soon">Coming Soon</h3>
<p data-i18n="this-tab-is-primarily-for-the-gm-and-will-provide-a-condensed-statistic-listing-handy-for-tracking-quick-npcs-and-monsters">
This tab is primarily for the GM and will provide a condensed statistic listing handy for tracking
quick npcs and monsters.</p>
</div>
</div>
</div>
<rolltemplate class="sheet-rolltemplate-torg">
<div class="template-wrapper">
<div class="template-row"><span class="template-header">{{who}}</span></div>
<div class="template-row"><span class="template-subtitle">{{what}}</span></div>
{{#why}}
<div class="template-row right"><span class="template-subtitle right"> ({{why}})</span></div>
{{/why}}
{{#casting}}
<div class="template-row arrow-container">
<div class="arrow-right"></div>
</div>
{{/casting}}
{{#^casting}}
{{#range}}
<div class="template-row arrow-container">
<div class="arrow-right"></div>
</div>
{{/range}}
{{/^casting}}
{{#^casting}}
{{#^range}}
{{#duration}}
<div class="template-row arrow-container">
<div class="arrow-right"></div>
</div>
{{/duration}}
{{/^range}}
{{/^casting}}
{{#^casting}}
{{#^range}}
{{#^duration}}
{{#target}}
<div class="template-row arrow-container">
<div class="arrow-right"></div>
</div>
{{/target}}
{{/^duration}}
{{/^range}}
{{/^casting}}
{{#casting}}
<div class="template-row"><span class="template-label">Casting Time: </span><span class="template-value">{{casting}}</span>
</div>
{{/casting}}
{{#range}}
<div class="template-row"><span class="template-label">Range: </span><span
class="template-value">{{range}}</span></div>
{{/range}}
{{#duration}}
<div class="template-row"><span class="template-label">Duration: </span><span class="template-value">{{duration}}</span>
</div>
{{/duration}}
{{#target}}
<div class="template-row arrow-container">
<div class="arrow-right"></div>
</div>
<div class="template-row"><span class="template-label">Attack vs: </span><span class="template-value">{{target}}</span>
</div>
{{/target}}
{{#score}}
<div class="template-row arrow-container">
<div class="arrow-right"></div>
</div>
<div class="template-row highlight"><span class="template-label">Value: </span><span class="template-value">{{score}}</span>
</div>
{{/score}}
{{#^rollTotal() modifier 0}}
<div class="template-row"><span class="template-label">Modifier: </span><span class="template-value">{{#rollGreater() modifier -1}}+{{/rollGreater() modifier -1}}{{modifier}}</span>
</div>
{{/^rollTotal() modifier 0}}
{{#rollLess() stymied 0}}
<div class="template-row"><span class="template-label">Stymied: </span><span class="template-value">{{stymied}}</span>
</div>
{{/rollLess() stymied 0}}
{{#rollLess() wounded 0}}
<div class="template-row"><span class="template-label">Wounded: </span><span class="template-value">{{wounded}}</span>
</div>
{{/rollLess() wounded 0}}
<!-- {{#score}} -->
<div class="template-row arrow-container">
<div class="arrow-right"></div>
</div>
<!-- {{/score}} -->
{{#lastroll}}
<div class="template-row"><span class="template-label">Last Roll: </span><span class="template-value">{{lastroll}}</span>
</div>
{{/lastroll}}
{{#torgroll}}
<div class="template-row"><span class="template-label">{{#lastroll}}Total {{/lastroll}}Roll: </span><span
class="template-value">{{torgroll}}</span></div>
{{/torgroll}}
{{#defense}}
<div class="template-row highlight bonus"><span class="template-label">Bonus: </span>
<span class="template-value">
<!-- giant calculation here -->
{{#rollTotal() defense 1}}
{{#rollLess() torgroll 13}}+1 (Min.){{/rollLess() torgroll 13}}
{{/rollTotal() defense 1}}
{{#rollTotal() defense 0}}
{{#rollTotal() torgroll 1}} -10{{/rollTotal() torgroll 1}}
{{#rollTotal() torgroll 2}}-8{{/rollTotal() torgroll 2}}
{{#rollBetween() torgroll 3 4}}-6{{/rollBetween() torgroll 3 4}}
{{#rollBetween() torgroll 5 6}}-4{{/rollBetween() torgroll 5 6}}
{{#rollBetween() torgroll 7 8}}-2{{/rollBetween() torgroll 7 8}}
{{#rollBetween() torgroll 9 10}}-1{{/rollBetween() torgroll 9 10}}
{{#rollBetween() torgroll 11 12}}+0{{/rollBetween() torgroll 11 12}}
{{/rollTotal() defense 0}}
{{#rollBetween() torgroll 13 14}}+1{{/rollBetween() torgroll 13 14}}
{{#rollTotal() torgroll 15}}+2{{/rollTotal() torgroll 15}}
{{#rollTotal() torgroll 16}}+3{{/rollTotal() torgroll 16}}
{{#rollTotal() torgroll 17}}+4{{/rollTotal() torgroll 17}}
{{#rollTotal() torgroll 18}}+5{{/rollTotal() torgroll 18}}
{{#rollTotal() torgroll 19}}+6{{/rollTotal() torgroll 19}}
{{#rollTotal() torgroll 20}}+7{{/rollTotal() torgroll 20}}
{{#rollBetween() torgroll 21 25}}+8{{/rollBetween() torgroll 21 25}}
{{#rollBetween() torgroll 26 30}}+9{{/rollBetween() torgroll 26 30}}
{{#rollBetween() torgroll 31 35}}+10{{/rollBetween() torgroll 31 35}}
{{#rollBetween() torgroll 36 40}}+11{{/rollBetween() torgroll 36 40}}
{{#rollBetween() torgroll 41 45}}+12 {{/rollBetween() torgroll 41 45}}
{{#rollBetween() torgroll 46 50}}+13{{/rollBetween() torgroll 46 50}}
{{#rollBetween() torgroll 51 55}}+14 {{/rollBetween() torgroll 51 55}}
{{#rollBetween() torgroll 56 60}}+15{{/rollBetween() torgroll 56 60}}
{{#rollBetween() torgroll 61 65}}+16{{/rollBetween() torgroll 61 65}}
{{#rollBetween() torgroll 66 70}}+17{{/rollBetween() torgroll 66 70}}
{{#rollBetween() torgroll 71 75}}+18{{/rollBetween() torgroll 71 75}}
{{#rollBetween() torgroll 76 80}}+19{{/rollBetween() torgroll 76 80}}
{{#rollBetween() torgroll 81 85}}+20{{/rollBetween() torgroll 81 85}}
{{#rollBetween() torgroll 86 90}}+21{{/rollBetween() torgroll 86 90}}
{{#rollBetween() torgroll 91 95}}+22{{/rollBetween() torgroll 91 95}}
{{#rollBetween() torgroll 96 100}}+23{{/rollBetween() torgroll 96 100}}
{{#rollGreater() torgroll 100}}Special{{/rollGreater() torgroll 100}}
</span></div>
{{#value}} <!-- if score doesntt exist, it's a roll just to find the bonus.-->
<div class="template-row arrow-container">
<div class="arrow-right"></div>
</div>
<div class="template-row highlight result"><span class="template-label">Result: </span>
<span class="template-value">
<!-- giant calculation here -->
{{#rollLess() torgroll 2}}
{{#rollLess() value 1}} ({{value}} -20) {{/rollLess() value 1}}
{{#rollTotal() value 1}} -19 {{/rollTotal() value 1}}
{{#rollTotal() value 2}} -18 {{/rollTotal() value 2}}
{{#rollTotal() value 3}} -17 {{/rollTotal() value 3}}
{{#rollTotal() value 4}} -16 {{/rollTotal() value 4}}
{{#rollTotal() value 5}} -15 {{/rollTotal() value 5}}
{{#rollTotal() value 6}} -14 {{/rollTotal() value 6}}
{{#rollTotal() value 7}} -13 {{/rollTotal() value 7}}
{{#rollTotal() value 8}} -12 {{/rollTotal() value 8}}
{{#rollTotal() value 9}} -11 {{/rollTotal() value 9}}
{{#rollTotal() value 10}} -10 {{/rollTotal() value 10}}
{{#rollTotal() value 11}} -9 {{/rollTotal() value 11}}
{{#rollTotal() value 12}} -8 {{/rollTotal() value 12}}
{{#rollTotal() value 13}} -7 {{/rollTotal() value 13}}
{{#rollTotal() value 14}} -6 {{/rollTotal() value 14}}
{{#rollTotal() value 15}} -5 {{/rollTotal() value 15}}
{{#rollTotal() value 16}} -4 {{/rollTotal() value 16}}
{{#rollTotal() value 17}} -3 {{/rollTotal() value 17}}
{{#rollTotal() value 18}} -2 {{/rollTotal() value 18}}
{{#rollTotal() value 19}} -1 {{/rollTotal() value 19}}
{{#rollTotal() value 20}} 0 {{/rollTotal() value 20}}
{{#rollTotal() value 21}} 1 {{/rollTotal() value 21}}
{{#rollTotal() value 22}} 2 {{/rollTotal() value 22}}
{{#rollTotal() value 23}} 3 {{/rollTotal() value 23}}
{{#rollTotal() value 24}} 4 {{/rollTotal() value 24}}
{{#rollTotal() value 25}} 5 {{/rollTotal() value 25}}
{{#rollTotal() value 26}} 6 {{/rollTotal() value 26}}
{{#rollTotal() value 27}} 7 {{/rollTotal() value 27}}
{{#rollTotal() value 28}} 8 {{/rollTotal() value 28}}
{{#rollTotal() value 29}} 9 {{/rollTotal() value 29}}
{{#rollTotal() value 30}} 10 {{/rollTotal() value 30}}
{{#rollTotal() value 31}} 11 {{/rollTotal() value 31}}
{{#rollTotal() value 32}} 12 {{/rollTotal() value 32}}
{{#rollTotal() value 33}} 13 {{/rollTotal() value 33}}
{{#rollTotal() value 34}} 14 {{/rollTotal() value 34}}
{{#rollTotal() value 35}} 15 {{/rollTotal() value 35}}
{{#rollTotal() value 36}} 16 {{/rollTotal() value 36}}
{{#rollTotal() value 37}} 17 {{/rollTotal() value 37}}
{{#rollTotal() value 38}} 18 {{/rollTotal() value 38}}
{{#rollTotal() value 39}} 19 {{/rollTotal() value 39}}
{{#rollTotal() value 40}} 20 {{/rollTotal() value 40}}
{{#rollTotal() value 41}} 21 {{/rollTotal() value 41}}
{{#rollTotal() value 42}} 22 {{/rollTotal() value 42}}
{{#rollTotal() value 43}} 23 {{/rollTotal() value 43}}
{{#rollTotal() value 44}} 24 {{/rollTotal() value 44}}
{{#rollTotal() value 45}} 25 {{/rollTotal() value 45}}
{{#rollTotal() value 46}} 26 {{/rollTotal() value 46}}
{{#rollTotal() value 47}} 27 {{/rollTotal() value 47}}
{{#rollTotal() value 48}} 28 {{/rollTotal() value 48}}
{{#rollTotal() value 49}} 29 {{/rollTotal() value 49}}
{{#rollTotal() value 50}} 30 {{/rollTotal() value 50}}
{{#rollGreater() value 50}} (value -10) {{/rollGreater() value 50}}
{{/rollLess() torgroll 2}}
{{#rollTotal() torgroll 2}}
{{#rollLess() value 1}} ({{value}} -18) {{/rollLess() value 1}}
{{#rollTotal() value 1}} -17 {{/rollTotal() value 1}}
{{#rollTotal() value 2}} -16 {{/rollTotal() value 2}}
{{#rollTotal() value 3}} -15 {{/rollTotal() value 3}}
{{#rollTotal() value 4}} -14 {{/rollTotal() value 4}}
{{#rollTotal() value 5}} -13 {{/rollTotal() value 5}}
{{#rollTotal() value 6}} -12 {{/rollTotal() value 6}}
{{#rollTotal() value 7}} -11 {{/rollTotal() value 7}}
{{#rollTotal() value 8}} -10 {{/rollTotal() value 8}}
{{#rollTotal() value 9}} -9 {{/rollTotal() value 9}}
{{#rollTotal() value 10}} -8 {{/rollTotal() value 10}}
{{#rollTotal() value 11}} -7 {{/rollTotal() value 11}}
{{#rollTotal() value 12}} -6 {{/rollTotal() value 12}}
{{#rollTotal() value 13}} -5 {{/rollTotal() value 13}}
{{#rollTotal() value 14}} -4 {{/rollTotal() value 14}}
{{#rollTotal() value 15}} -3 {{/rollTotal() value 15}}
{{#rollTotal() value 16}} -2 {{/rollTotal() value 16}}
{{#rollTotal() value 17}} -1 {{/rollTotal() value 17}}
{{#rollTotal() value 18}} 0 {{/rollTotal() value 18}}
{{#rollTotal() value 19}} 1 {{/rollTotal() value 19}}
{{#rollTotal() value 20}} 2 {{/rollTotal() value 20}}
{{#rollTotal() value 21}} 3 {{/rollTotal() value 21}}
{{#rollTotal() value 22}} 4 {{/rollTotal() value 22}}
{{#rollTotal() value 23}} 5 {{/rollTotal() value 23}}
{{#rollTotal() value 24}} 6 {{/rollTotal() value 24}}
{{#rollTotal() value 25}} 7 {{/rollTotal() value 25}}
{{#rollTotal() value 26}} 8 {{/rollTotal() value 26}}
{{#rollTotal() value 27}} 9 {{/rollTotal() value 27}}
{{#rollTotal() value 28}} 10 {{/rollTotal() value 28}}
{{#rollTotal() value 29}} 11 {{/rollTotal() value 29}}
{{#rollTotal() value 30}} 12 {{/rollTotal() value 30}}
{{#rollTotal() value 31}} 13 {{/rollTotal() value 31}}
{{#rollTotal() value 32}} 14 {{/rollTotal() value 32}}
{{#rollTotal() value 33}} 15 {{/rollTotal() value 33}}
{{#rollTotal() value 34}} 16 {{/rollTotal() value 34}}
{{#rollTotal() value 35}} 17 {{/rollTotal() value 35}}
{{#rollTotal() value 36}} 18 {{/rollTotal() value 36}}
{{#rollTotal() value 37}} 19 {{/rollTotal() value 37}}
{{#rollTotal() value 38}} 20 {{/rollTotal() value 38}}
{{#rollTotal() value 39}} 21 {{/rollTotal() value 39}}
{{#rollTotal() value 40}} 22 {{/rollTotal() value 40}}
{{#rollTotal() value 41}} 23 {{/rollTotal() value 41}}
{{#rollTotal() value 42}} 24 {{/rollTotal() value 42}}
{{#rollTotal() value 43}} 25 {{/rollTotal() value 43}}
{{#rollTotal() value 44}} 26 {{/rollTotal() value 44}}
{{#rollTotal() value 45}} 27 {{/rollTotal() value 45}}
{{#rollTotal() value 46}} 28 {{/rollTotal() value 46}}
{{#rollTotal() value 47}} 29 {{/rollTotal() value 47}}
{{#rollTotal() value 48}} 30 {{/rollTotal() value 48}}
{{#rollTotal() value 49}} 31 {{/rollTotal() value 49}}
{{#rollTotal() value 50}} 32 {{/rollTotal() value 50}}
{{#rollGreater() value 50}} (value -8) {{/rollGreater() value 50}}
{{/rollTotal() torgroll 2}}
{{#rollBetween() torgroll 3 4}}
{{#rollLess() value 1}} ({{value}} -16) {{/rollLess() value 1}}
{{#rollTotal() value 1}} -15 {{/rollTotal() value 1}}
{{#rollTotal() value 2}} -14 {{/rollTotal() value 2}}
{{#rollTotal() value 3}} -13 {{/rollTotal() value 3}}
{{#rollTotal() value 4}} -12 {{/rollTotal() value 4}}
{{#rollTotal() value 5}} -11 {{/rollTotal() value 5}}
{{#rollTotal() value 6}} -10 {{/rollTotal() value 6}}
{{#rollTotal() value 7}} -9 {{/rollTotal() value 7}}
{{#rollTotal() value 8}} -8 {{/rollTotal() value 8}}
{{#rollTotal() value 9}} -7 {{/rollTotal() value 9}}
{{#rollTotal() value 10}} -6 {{/rollTotal() value 10}}
{{#rollTotal() value 11}} -5 {{/rollTotal() value 11}}
{{#rollTotal() value 12}} -4 {{/rollTotal() value 12}}
{{#rollTotal() value 13}} -3 {{/rollTotal() value 13}}
{{#rollTotal() value 14}} -2 {{/rollTotal() value 14}}
{{#rollTotal() value 15}} -1 {{/rollTotal() value 15}}
{{#rollTotal() value 16}} 0 {{/rollTotal() value 16}}
{{#rollTotal() value 17}} 1 {{/rollTotal() value 17}}
{{#rollTotal() value 18}} 2 {{/rollTotal() value 18}}
{{#rollTotal() value 19}} 3 {{/rollTotal() value 19}}
{{#rollTotal() value 20}} 4 {{/rollTotal() value 20}}
{{#rollTotal() value 21}} 5 {{/rollTotal() value 21}}
{{#rollTotal() value 22}} 6 {{/rollTotal() value 22}}
{{#rollTotal() value 23}} 7 {{/rollTotal() value 23}}
{{#rollTotal() value 24}} 8 {{/rollTotal() value 24}}
{{#rollTotal() value 25}} 9 {{/rollTotal() value 25}}
{{#rollTotal() value 26}} 10 {{/rollTotal() value 26}}
{{#rollTotal() value 27}} 11 {{/rollTotal() value 27}}
{{#rollTotal() value 28}} 12 {{/rollTotal() value 28}}
{{#rollTotal() value 29}} 13 {{/rollTotal() value 29}}
{{#rollTotal() value 30}} 14 {{/rollTotal() value 30}}
{{#rollTotal() value 31}} 15 {{/rollTotal() value 31}}
{{#rollTotal() value 32}} 16 {{/rollTotal() value 32}}
{{#rollTotal() value 33}} 17 {{/rollTotal() value 33}}
{{#rollTotal() value 34}} 18 {{/rollTotal() value 34}}
{{#rollTotal() value 35}} 19 {{/rollTotal() value 35}}
{{#rollTotal() value 36}} 20 {{/rollTotal() value 36}}
{{#rollTotal() value 37}} 21 {{/rollTotal() value 37}}
{{#rollTotal() value 38}} 22 {{/rollTotal() value 38}}
{{#rollTotal() value 39}} 23 {{/rollTotal() value 39}}
{{#rollTotal() value 40}} 24 {{/rollTotal() value 40}}
{{#rollTotal() value 41}} 25 {{/rollTotal() value 41}}
{{#rollTotal() value 42}} 26 {{/rollTotal() value 42}}
{{#rollTotal() value 43}} 27 {{/rollTotal() value 43}}
{{#rollTotal() value 44}} 28 {{/rollTotal() value 44}}
{{#rollTotal() value 45}} 29 {{/rollTotal() value 45}}
{{#rollTotal() value 46}} 30 {{/rollTotal() value 46}}
{{#rollTotal() value 47}} 31 {{/rollTotal() value 47}}
{{#rollTotal() value 48}} 32 {{/rollTotal() value 48}}
{{#rollTotal() value 49}} 33 {{/rollTotal() value 49}}
{{#rollTotal() value 50}} 34 {{/rollTotal() value 50}}
{{#rollGreater() value 50}} (value -6) {{/rollGreater() value 50}}
{{/rollBetween() torgroll 3 4}}
{{#rollBetween() torgroll 5 6}}
{{#rollLess() value 1}} ({{value}} -14) {{/rollLess() value 1}}
{{#rollTotal() value 1}} -13 {{/rollTotal() value 1}}
{{#rollTotal() value 2}} -12 {{/rollTotal() value 2}}
{{#rollTotal() value 3}} -11 {{/rollTotal() value 3}}
{{#rollTotal() value 4}} -10 {{/rollTotal() value 4}}
{{#rollTotal() value 5}} -9 {{/rollTotal() value 5}}
{{#rollTotal() value 6}} -8 {{/rollTotal() value 6}}
{{#rollTotal() value 7}} -7 {{/rollTotal() value 7}}
{{#rollTotal() value 8}} -6 {{/rollTotal() value 8}}
{{#rollTotal() value 9}} -5 {{/rollTotal() value 9}}
{{#rollTotal() value 10}} -4 {{/rollTotal() value 10}}
{{#rollTotal() value 11}} -3 {{/rollTotal() value 11}}
{{#rollTotal() value 12}} -2 {{/rollTotal() value 12}}
{{#rollTotal() value 13}} -1 {{/rollTotal() value 13}}
{{#rollTotal() value 14}} 0 {{/rollTotal() value 14}}
{{#rollTotal() value 15}} 1 {{/rollTotal() value 15}}
{{#rollTotal() value 16}} 2 {{/rollTotal() value 16}}
{{#rollTotal() value 17}} 3 {{/rollTotal() value 17}}
{{#rollTotal() value 18}} 4 {{/rollTotal() value 18}}
{{#rollTotal() value 19}} 5 {{/rollTotal() value 19}}
{{#rollTotal() value 20}} 6 {{/rollTotal() value 20}}
{{#rollTotal() value 21}} 7 {{/rollTotal() value 21}}
{{#rollTotal() value 22}} 8 {{/rollTotal() value 22}}
{{#rollTotal() value 23}} 9 {{/rollTotal() value 23}}
{{#rollTotal() value 24}} 10 {{/rollTotal() value 24}}
{{#rollTotal() value 25}} 11 {{/rollTotal() value 25}}
{{#rollTotal() value 26}} 12 {{/rollTotal() value 26}}
{{#rollTotal() value 27}} 13 {{/rollTotal() value 27}}
{{#rollTotal() value 28}} 14 {{/rollTotal() value 28}}
{{#rollTotal() value 29}} 15 {{/rollTotal() value 29}}
{{#rollTotal() value 30}} 16 {{/rollTotal() value 30}}
{{#rollTotal() value 31}} 17 {{/rollTotal() value 31}}
{{#rollTotal() value 32}} 18 {{/rollTotal() value 32}}
{{#rollTotal() value 33}} 19 {{/rollTotal() value 33}}
{{#rollTotal() value 34}} 20 {{/rollTotal() value 34}}
{{#rollTotal() value 35}} 21 {{/rollTotal() value 35}}
{{#rollTotal() value 36}} 22 {{/rollTotal() value 36}}
{{#rollTotal() value 37}} 23 {{/rollTotal() value 37}}
{{#rollTotal() value 38}} 24 {{/rollTotal() value 38}}
{{#rollTotal() value 39}} 25 {{/rollTotal() value 39}}
{{#rollTotal() value 40}} 26 {{/rollTotal() value 40}}
{{#rollTotal() value 41}} 27 {{/rollTotal() value 41}}
{{#rollTotal() value 42}} 28 {{/rollTotal() value 42}}
{{#rollTotal() value 43}} 29 {{/rollTotal() value 43}}
{{#rollTotal() value 44}} 30 {{/rollTotal() value 44}}
{{#rollTotal() value 45}} 31 {{/rollTotal() value 45}}
{{#rollTotal() value 46}} 32 {{/rollTotal() value 46}}
{{#rollTotal() value 47}} 33 {{/rollTotal() value 47}}
{{#rollTotal() value 48}} 34 {{/rollTotal() value 48}}
{{#rollTotal() value 49}} 35 {{/rollTotal() value 49}}
{{#rollTotal() value 50}} 36 {{/rollTotal() value 50}}
{{#rollGreater() value 50}} (value -4) {{/rollGreater() value 50}}
{{/rollBetween() torgroll 5 6}}
{{#rollBetween() torgroll 7 8}}
{{#rollLess() value 1}} ({{value}} -12) {{/rollLess() value 1}}
{{#rollTotal() value 1}} -11 {{/rollTotal() value 1}}
{{#rollTotal() value 2}} -10 {{/rollTotal() value 2}}
{{#rollTotal() value 3}} -9 {{/rollTotal() value 3}}
{{#rollTotal() value 4}} -8 {{/rollTotal() value 4}}
{{#rollTotal() value 5}} -7 {{/rollTotal() value 5}}
{{#rollTotal() value 6}} -6 {{/rollTotal() value 6}}
{{#rollTotal() value 7}} -5 {{/rollTotal() value 7}}
{{#rollTotal() value 8}} -4 {{/rollTotal() value 8}}
{{#rollTotal() value 9}} -3 {{/rollTotal() value 9}}
{{#rollTotal() value 10}} -2 {{/rollTotal() value 10}}
{{#rollTotal() value 11}} -1 {{/rollTotal() value 11}}
{{#rollTotal() value 12}} 0 {{/rollTotal() value 12}}
{{#rollTotal() value 13}} 1 {{/rollTotal() value 13}}
{{#rollTotal() value 14}} 2 {{/rollTotal() value 14}}
{{#rollTotal() value 15}} 3 {{/rollTotal() value 15}}
{{#rollTotal() value 16}} 4 {{/rollTotal() value 16}}
{{#rollTotal() value 17}} 5 {{/rollTotal() value 17}}
{{#rollTotal() value 18}} 6 {{/rollTotal() value 18}}
{{#rollTotal() value 19}} 7 {{/rollTotal() value 19}}
{{#rollTotal() value 20}} 8 {{/rollTotal() value 20}}
{{#rollTotal() value 21}} 9 {{/rollTotal() value 21}}
{{#rollTotal() value 22}} 10 {{/rollTotal() value 22}}
{{#rollTotal() value 23}} 11 {{/rollTotal() value 23}}
{{#rollTotal() value 24}} 12 {{/rollTotal() value 24}}
{{#rollTotal() value 25}} 13 {{/rollTotal() value 25}}
{{#rollTotal() value 26}} 14 {{/rollTotal() value 26}}
{{#rollTotal() value 27}} 15 {{/rollTotal() value 27}}
{{#rollTotal() value 28}} 16 {{/rollTotal() value 28}}
{{#rollTotal() value 29}} 17 {{/rollTotal() value 29}}
{{#rollTotal() value 30}} 18 {{/rollTotal() value 30}}
{{#rollTotal() value 31}} 19 {{/rollTotal() value 31}}
{{#rollTotal() value 32}} 20 {{/rollTotal() value 32}}
{{#rollTotal() value 33}} 21 {{/rollTotal() value 33}}
{{#rollTotal() value 34}} 22 {{/rollTotal() value 34}}
{{#rollTotal() value 35}} 23 {{/rollTotal() value 35}}
{{#rollTotal() value 36}} 24 {{/rollTotal() value 36}}
{{#rollTotal() value 37}} 25 {{/rollTotal() value 37}}
{{#rollTotal() value 38}} 26 {{/rollTotal() value 38}}
{{#rollTotal() value 39}} 27 {{/rollTotal() value 39}}
{{#rollTotal() value 40}} 28 {{/rollTotal() value 40}}
{{#rollTotal() value 41}} 29 {{/rollTotal() value 41}}
{{#rollTotal() value 42}} 30 {{/rollTotal() value 42}}
{{#rollTotal() value 43}} 31 {{/rollTotal() value 43}}
{{#rollTotal() value 44}} 32 {{/rollTotal() value 44}}
{{#rollTotal() value 45}} 33 {{/rollTotal() value 45}}
{{#rollTotal() value 46}} 34 {{/rollTotal() value 46}}
{{#rollTotal() value 47}} 35 {{/rollTotal() value 47}}
{{#rollTotal() value 48}} 36 {{/rollTotal() value 48}}
{{#rollTotal() value 49}} 37 {{/rollTotal() value 49}}
{{#rollTotal() value 50}} 38 {{/rollTotal() value 50}}
{{#rollGreater() value 50}} (value -2) {{/rollGreater() value 50}}
{{/rollBetween() torgroll 7 8}}
{{#rollBetween() torgroll 9 10}}
{{#rollLess() value 1}} ({{value}} -11) {{/rollLess() value 1}}
{{#rollTotal() value 1}} -10 {{/rollTotal() value 1}}
{{#rollTotal() value 2}} -9 {{/rollTotal() value 2}}
{{#rollTotal() value 3}} -8 {{/rollTotal() value 3}}
{{#rollTotal() value 4}} -7 {{/rollTotal() value 4}}
{{#rollTotal() value 5}} -6 {{/rollTotal() value 5}}
{{#rollTotal() value 6}} -5 {{/rollTotal() value 6}}
{{#rollTotal() value 7}} -4 {{/rollTotal() value 7}}
{{#rollTotal() value 8}} -3 {{/rollTotal() value 8}}
{{#rollTotal() value 9}} -2 {{/rollTotal() value 9}}
{{#rollTotal() value 10}} -1 {{/rollTotal() value 10}}
{{#rollTotal() value 11}} 0 {{/rollTotal() value 11}}
{{#rollTotal() value 12}} 1 {{/rollTotal() value 12}}
{{#rollTotal() value 13}} 2 {{/rollTotal() value 13}}
{{#rollTotal() value 14}} 3 {{/rollTotal() value 14}}
{{#rollTotal() value 15}} 4 {{/rollTotal() value 15}}
{{#rollTotal() value 16}} 5 {{/rollTotal() value 16}}
{{#rollTotal() value 17}} 6 {{/rollTotal() value 17}}
{{#rollTotal() value 18}} 7 {{/rollTotal() value 18}}
{{#rollTotal() value 19}} 8 {{/rollTotal() value 19}}
{{#rollTotal() value 20}} 9 {{/rollTotal() value 20}}
{{#rollTotal() value 21}} 10 {{/rollTotal() value 21}}
{{#rollTotal() value 22}} 11 {{/rollTotal() value 22}}
{{#rollTotal() value 23}} 12 {{/rollTotal() value 23}}
{{#rollTotal() value 24}} 13 {{/rollTotal() value 24}}
{{#rollTotal() value 25}} 14 {{/rollTotal() value 25}}
{{#rollTotal() value 26}} 15 {{/rollTotal() value 26}}
{{#rollTotal() value 27}} 16 {{/rollTotal() value 27}}
{{#rollTotal() value 28}} 17 {{/rollTotal() value 28}}
{{#rollTotal() value 29}} 18 {{/rollTotal() value 29}}
{{#rollTotal() value 30}} 19 {{/rollTotal() value 30}}
{{#rollTotal() value 31}} 20 {{/rollTotal() value 31}}
{{#rollTotal() value 32}} 21 {{/rollTotal() value 32}}
{{#rollTotal() value 33}} 22 {{/rollTotal() value 33}}
{{#rollTotal() value 34}} 23 {{/rollTotal() value 34}}
{{#rollTotal() value 35}} 24 {{/rollTotal() value 35}}
{{#rollTotal() value 36}} 25 {{/rollTotal() value 36}}
{{#rollTotal() value 37}} 26 {{/rollTotal() value 37}}
{{#rollTotal() value 38}} 27 {{/rollTotal() value 38}}
{{#rollTotal() value 39}} 28 {{/rollTotal() value 39}}
{{#rollTotal() value 40}} 29 {{/rollTotal() value 40}}
{{#rollTotal() value 41}} 30 {{/rollTotal() value 41}}
{{#rollTotal() value 42}} 31 {{/rollTotal() value 42}}
{{#rollTotal() value 43}} 32 {{/rollTotal() value 43}}
{{#rollTotal() value 44}} 33 {{/rollTotal() value 44}}
{{#rollTotal() value 45}} 34 {{/rollTotal() value 45}}
{{#rollTotal() value 46}} 35 {{/rollTotal() value 46}}
{{#rollTotal() value 47}} 36 {{/rollTotal() value 47}}
{{#rollTotal() value 48}} 37 {{/rollTotal() value 48}}
{{#rollTotal() value 49}} 38 {{/rollTotal() value 49}}
{{#rollTotal() value 50}} 39 {{/rollTotal() value 50}}
{{#rollGreater() value 50}} (value -1) {{/rollGreater() value 50}}
{{/rollBetween() torgroll 9 10}}
{{#rollBetween() torgroll 11 12}}
{{#rollLess() value 1}} ({{value}} -10) {{/rollLess() value 1}}
{{#rollTotal() value 1}} -9 {{/rollTotal() value 1}}
{{#rollTotal() value 2}} -8 {{/rollTotal() value 2}}
{{#rollTotal() value 3}} -7 {{/rollTotal() value 3}}
{{#rollTotal() value 4}} -6 {{/rollTotal() value 4}}
{{#rollTotal() value 5}} -5 {{/rollTotal() value 5}}
{{#rollTotal() value 6}} -4 {{/rollTotal() value 6}}
{{#rollTotal() value 7}} -3 {{/rollTotal() value 7}}
{{#rollTotal() value 8}} -2 {{/rollTotal() value 8}}
{{#rollTotal() value 9}} -1 {{/rollTotal() value 9}}
{{#rollTotal() value 10}} 0 {{/rollTotal() value 10}}
{{#rollTotal() value 11}} 1 {{/rollTotal() value 11}}
{{#rollTotal() value 12}} 2 {{/rollTotal() value 12}}
{{#rollTotal() value 13}} 3 {{/rollTotal() value 13}}
{{#rollTotal() value 14}} 4 {{/rollTotal() value 14}}
{{#rollTotal() value 15}} 5 {{/rollTotal() value 15}}
{{#rollTotal() value 16}} 6 {{/rollTotal() value 16}}
{{#rollTotal() value 17}} 7 {{/rollTotal() value 17}}
{{#rollTotal() value 18}} 8 {{/rollTotal() value 18}}
{{#rollTotal() value 19}} 9 {{/rollTotal() value 19}}
{{#rollTotal() value 20}} 10 {{/rollTotal() value 20}}
{{#rollTotal() value 21}} 11 {{/rollTotal() value 21}}
{{#rollTotal() value 22}} 12 {{/rollTotal() value 22}}
{{#rollTotal() value 23}} 13 {{/rollTotal() value 23}}
{{#rollTotal() value 24}} 14 {{/rollTotal() value 24}}
{{#rollTotal() value 25}} 15 {{/rollTotal() value 25}}
{{#rollTotal() value 26}} 16 {{/rollTotal() value 26}}
{{#rollTotal() value 27}} 17 {{/rollTotal() value 27}}
{{#rollTotal() value 28}} 18 {{/rollTotal() value 28}}
{{#rollTotal() value 29}} 19 {{/rollTotal() value 29}}
{{#rollTotal() value 30}} 20 {{/rollTotal() value 30}}
{{#rollTotal() value 31}} 21 {{/rollTotal() value 31}}
{{#rollTotal() value 32}} 22 {{/rollTotal() value 32}}
{{#rollTotal() value 33}} 23 {{/rollTotal() value 33}}
{{#rollTotal() value 34}} 24 {{/rollTotal() value 34}}
{{#rollTotal() value 35}} 25 {{/rollTotal() value 35}}
{{#rollTotal() value 36}} 26 {{/rollTotal() value 36}}
{{#rollTotal() value 37}} 27 {{/rollTotal() value 37}}
{{#rollTotal() value 38}} 28 {{/rollTotal() value 38}}
{{#rollTotal() value 39}} 29 {{/rollTotal() value 39}}
{{#rollTotal() value 40}} 30 {{/rollTotal() value 40}}
{{#rollTotal() value 41}} 31 {{/rollTotal() value 41}}
{{#rollTotal() value 42}} 32 {{/rollTotal() value 42}}
{{#rollTotal() value 43}} 33 {{/rollTotal() value 43}}
{{#rollTotal() value 44}} 34 {{/rollTotal() value 44}}
{{#rollTotal() value 45}} 35 {{/rollTotal() value 45}}
{{#rollTotal() value 46}} 36 {{/rollTotal() value 46}}
{{#rollTotal() value 47}} 37 {{/rollTotal() value 47}}
{{#rollTotal() value 48}} 38 {{/rollTotal() value 48}}
{{#rollTotal() value 49}} 39 {{/rollTotal() value 49}}
{{#rollTotal() value 50}} 40 {{/rollTotal() value 50}}
{{#rollGreater() value 50}} (value) {{/rollGreater() value 50}}
{{/rollBetween() torgroll 11 12}}
{{#rollBetween() torgroll 13 14}}
{{#rollLess() value 1}} ({{value}} -9) {{/rollLess() value 1}}
{{#rollTotal() value 1}} -8 {{/rollTotal() value 1}}
{{#rollTotal() value 2}} -7 {{/rollTotal() value 2}}
{{#rollTotal() value 3}} -6 {{/rollTotal() value 3}}
{{#rollTotal() value 4}} -5 {{/rollTotal() value 4}}
{{#rollTotal() value 5}} -4 {{/rollTotal() value 5}}
{{#rollTotal() value 6}} -3 {{/rollTotal() value 6}}
{{#rollTotal() value 7}} -2 {{/rollTotal() value 7}}
{{#rollTotal() value 8}} -1 {{/rollTotal() value 8}}
{{#rollTotal() value 9}} 0 {{/rollTotal() value 9}}
{{#rollTotal() value 10}} 1 {{/rollTotal() value 10}}
{{#rollTotal() value 11}} 2 {{/rollTotal() value 11}}
{{#rollTotal() value 12}} 3 {{/rollTotal() value 12}}
{{#rollTotal() value 13}} 4 {{/rollTotal() value 13}}
{{#rollTotal() value 14}} 5 {{/rollTotal() value 14}}
{{#rollTotal() value 15}} 6 {{/rollTotal() value 15}}
{{#rollTotal() value 16}} 7 {{/rollTotal() value 16}}
{{#rollTotal() value 17}} 8 {{/rollTotal() value 17}}
{{#rollTotal() value 18}} 9 {{/rollTotal() value 18}}
{{#rollTotal() value 19}} 10 {{/rollTotal() value 19}}
{{#rollTotal() value 20}} 11 {{/rollTotal() value 20}}
{{#rollTotal() value 21}} 12 {{/rollTotal() value 21}}
{{#rollTotal() value 22}} 13 {{/rollTotal() value 22}}
{{#rollTotal() value 23}} 14 {{/rollTotal() value 23}}
{{#rollTotal() value 24}} 15 {{/rollTotal() value 24}}
{{#rollTotal() value 25}} 16 {{/rollTotal() value 25}}
{{#rollTotal() value 26}} 17 {{/rollTotal() value 26}}
{{#rollTotal() value 27}} 18 {{/rollTotal() value 27}}
{{#rollTotal() value 28}} 19 {{/rollTotal() value 28}}
{{#rollTotal() value 29}} 20 {{/rollTotal() value 29}}
{{#rollTotal() value 30}} 21 {{/rollTotal() value 30}}
{{#rollTotal() value 31}} 22 {{/rollTotal() value 31}}
{{#rollTotal() value 32}} 23 {{/rollTotal() value 32}}
{{#rollTotal() value 33}} 24 {{/rollTotal() value 33}}
{{#rollTotal() value 34}} 25 {{/rollTotal() value 34}}
{{#rollTotal() value 35}} 26 {{/rollTotal() value 35}}
{{#rollTotal() value 36}} 27 {{/rollTotal() value 36}}
{{#rollTotal() value 37}} 28 {{/rollTotal() value 37}}
{{#rollTotal() value 38}} 29 {{/rollTotal() value 38}}
{{#rollTotal() value 39}} 30 {{/rollTotal() value 39}}
{{#rollTotal() value 40}} 31 {{/rollTotal() value 40}}
{{#rollTotal() value 41}} 32 {{/rollTotal() value 41}}
{{#rollTotal() value 42}} 33 {{/rollTotal() value 42}}
{{#rollTotal() value 43}} 34 {{/rollTotal() value 43}}
{{#rollTotal() value 44}} 35 {{/rollTotal() value 44}}
{{#rollTotal() value 45}} 36 {{/rollTotal() value 45}}
{{#rollTotal() value 46}} 37 {{/rollTotal() value 46}}
{{#rollTotal() value 47}} 38 {{/rollTotal() value 47}}
{{#rollTotal() value 48}} 39 {{/rollTotal() value 48}}
{{#rollTotal() value 49}} 40 {{/rollTotal() value 49}}
{{#rollTotal() value 50}} 41 {{/rollTotal() value 50}}
{{#rollGreater() value 50}} (value + 1) {{/rollGreater() value 50}}
{{/rollBetween() torgroll 13 14}}
{{#rollTotal() torgroll 15}}
{{#rollLess() value 1}} ({{value}} -8) {{/rollLess() value 1}}
{{#rollTotal() value 1}} -7 {{/rollTotal() value 1}}
{{#rollTotal() value 2}} -6 {{/rollTotal() value 2}}
{{#rollTotal() value 3}} -5 {{/rollTotal() value 3}}
{{#rollTotal() value 4}} -4 {{/rollTotal() value 4}}
{{#rollTotal() value 5}} -3 {{/rollTotal() value 5}}
{{#rollTotal() value 6}} -2 {{/rollTotal() value 6}}
{{#rollTotal() value 7}} -1 {{/rollTotal() value 7}}
{{#rollTotal() value 8}} 0 {{/rollTotal() value 8}}
{{#rollTotal() value 9}} 1 {{/rollTotal() value 9}}
{{#rollTotal() value 10}} 2 {{/rollTotal() value 10}}
{{#rollTotal() value 11}} 3 {{/rollTotal() value 11}}
{{#rollTotal() value 12}} 4 {{/rollTotal() value 12}}
{{#rollTotal() value 13}} 5 {{/rollTotal() value 13}}
{{#rollTotal() value 14}} 6 {{/rollTotal() value 14}}
{{#rollTotal() value 15}} 7 {{/rollTotal() value 15}}
{{#rollTotal() value 16}} 8 {{/rollTotal() value 16}}
{{#rollTotal() value 17}} 9 {{/rollTotal() value 17}}
{{#rollTotal() value 18}} 10 {{/rollTotal() value 18}}
{{#rollTotal() value 19}} 11 {{/rollTotal() value 19}}
{{#rollTotal() value 20}} 12 {{/rollTotal() value 20}}
{{#rollTotal() value 21}} 13 {{/rollTotal() value 21}}
{{#rollTotal() value 22}} 14 {{/rollTotal() value 22}}
{{#rollTotal() value 23}} 15 {{/rollTotal() value 23}}
{{#rollTotal() value 24}} 16 {{/rollTotal() value 24}}
{{#rollTotal() value 25}} 17 {{/rollTotal() value 25}}
{{#rollTotal() value 26}} 18 {{/rollTotal() value 26}}
{{#rollTotal() value 27}} 19 {{/rollTotal() value 27}}
{{#rollTotal() value 28}} 20 {{/rollTotal() value 28}}
{{#rollTotal() value 29}} 21 {{/rollTotal() value 29}}
{{#rollTotal() value 30}} 22 {{/rollTotal() value 30}}
{{#rollTotal() value 31}} 23 {{/rollTotal() value 31}}
{{#rollTotal() value 32}} 24 {{/rollTotal() value 32}}
{{#rollTotal() value 33}} 25 {{/rollTotal() value 33}}
{{#rollTotal() value 34}} 26 {{/rollTotal() value 34}}
{{#rollTotal() value 35}} 27 {{/rollTotal() value 35}}
{{#rollTotal() value 36}} 28 {{/rollTotal() value 36}}
{{#rollTotal() value 37}} 29 {{/rollTotal() value 37}}
{{#rollTotal() value 38}} 30 {{/rollTotal() value 38}}
{{#rollTotal() value 39}} 31 {{/rollTotal() value 39}}
{{#rollTotal() value 40}} 32 {{/rollTotal() value 40}}
{{#rollTotal() value 41}} 33 {{/rollTotal() value 41}}
{{#rollTotal() value 42}} 34 {{/rollTotal() value 42}}
{{#rollTotal() value 43}} 35 {{/rollTotal() value 43}}
{{#rollTotal() value 44}} 36 {{/rollTotal() value 44}}
{{#rollTotal() value 45}} 37 {{/rollTotal() value 45}}
{{#rollTotal() value 46}} 38 {{/rollTotal() value 46}}
{{#rollTotal() value 47}} 39 {{/rollTotal() value 47}}
{{#rollTotal() value 48}} 40 {{/rollTotal() value 48}}
{{#rollTotal() value 49}} 41 {{/rollTotal() value 49}}
{{#rollTotal() value 50}} 42 {{/rollTotal() value 50}}
{{#rollGreater() value 50}} (value + 2) {{/rollGreater() value 50}}
{{/rollTotal() torgroll 15}}
{{#rollTotal() torgroll 16}}
{{#rollLess() value 1}} ({{value}} -7) {{/rollLess() value 1}}
{{#rollTotal() value 1}} -6 {{/rollTotal() value 1}}
{{#rollTotal() value 2}} -5 {{/rollTotal() value 2}}
{{#rollTotal() value 3}} -4 {{/rollTotal() value 3}}
{{#rollTotal() value 4}} -3 {{/rollTotal() value 4}}
{{#rollTotal() value 5}} -2 {{/rollTotal() value 5}}
{{#rollTotal() value 6}} -1 {{/rollTotal() value 6}}
{{#rollTotal() value 7}} 0 {{/rollTotal() value 7}}
{{#rollTotal() value 8}} 1 {{/rollTotal() value 8}}
{{#rollTotal() value 9}} 2 {{/rollTotal() value 9}}
{{#rollTotal() value 10}} 3 {{/rollTotal() value 10}}
{{#rollTotal() value 11}} 4 {{/rollTotal() value 11}}
{{#rollTotal() value 12}} 5 {{/rollTotal() value 12}}
{{#rollTotal() value 13}} 6 {{/rollTotal() value 13}}
{{#rollTotal() value 14}} 7 {{/rollTotal() value 14}}
{{#rollTotal() value 15}} 8 {{/rollTotal() value 15}}
{{#rollTotal() value 16}} 9 {{/rollTotal() value 16}}
{{#rollTotal() value 17}} 10 {{/rollTotal() value 17}}
{{#rollTotal() value 18}} 11 {{/rollTotal() value 18}}
{{#rollTotal() value 19}} 12 {{/rollTotal() value 19}}
{{#rollTotal() value 20}} 13 {{/rollTotal() value 20}}
{{#rollTotal() value 21}} 14 {{/rollTotal() value 21}}
{{#rollTotal() value 22}} 15 {{/rollTotal() value 22}}
{{#rollTotal() value 23}} 16 {{/rollTotal() value 23}}
{{#rollTotal() value 24}} 17 {{/rollTotal() value 24}}
{{#rollTotal() value 25}} 18 {{/rollTotal() value 25}}
{{#rollTotal() value 26}} 19 {{/rollTotal() value 26}}
{{#rollTotal() value 27}} 20 {{/rollTotal() value 27}}
{{#rollTotal() value 28}} 21 {{/rollTotal() value 28}}
{{#rollTotal() value 29}} 22 {{/rollTotal() value 29}}
{{#rollTotal() value 30}} 23 {{/rollTotal() value 30}}
{{#rollTotal() value 31}} 24 {{/rollTotal() value 31}}
{{#rollTotal() value 32}} 25 {{/rollTotal() value 32}}
{{#rollTotal() value 33}} 26 {{/rollTotal() value 33}}
{{#rollTotal() value 34}} 27 {{/rollTotal() value 34}}
{{#rollTotal() value 35}} 28 {{/rollTotal() value 35}}
{{#rollTotal() value 36}} 29 {{/rollTotal() value 36}}
{{#rollTotal() value 37}} 30 {{/rollTotal() value 37}}
{{#rollTotal() value 38}} 31 {{/rollTotal() value 38}}
{{#rollTotal() value 39}} 32 {{/rollTotal() value 39}}
{{#rollTotal() value 40}} 33 {{/rollTotal() value 40}}
{{#rollTotal() value 41}} 34 {{/rollTotal() value 41}}
{{#rollTotal() value 42}} 35 {{/rollTotal() value 42}}
{{#rollTotal() value 43}} 36 {{/rollTotal() value 43}}
{{#rollTotal() value 44}} 37 {{/rollTotal() value 44}}
{{#rollTotal() value 45}} 38 {{/rollTotal() value 45}}
{{#rollTotal() value 46}} 39 {{/rollTotal() value 46}}
{{#rollTotal() value 47}} 40 {{/rollTotal() value 47}}
{{#rollTotal() value 48}} 41 {{/rollTotal() value 48}}
{{#rollTotal() value 49}} 42 {{/rollTotal() value 49}}
{{#rollTotal() value 50}} 43 {{/rollTotal() value 50}}
{{#rollGreater() value 50}} (value + 3) {{/rollGreater() value 50}}
{{/rollTotal() torgroll 16}}
{{#rollTotal() torgroll 17}}
{{#rollLess() value 1}} ({{value}} -6) {{/rollLess() value 1}}
{{#rollTotal() value 1}} -5 {{/rollTotal() value 1}}
{{#rollTotal() value 2}} -4 {{/rollTotal() value 2}}
{{#rollTotal() value 3}} -3 {{/rollTotal() value 3}}
{{#rollTotal() value 4}} -2 {{/rollTotal() value 4}}
{{#rollTotal() value 5}} -1 {{/rollTotal() value 5}}
{{#rollTotal() value 6}} 0 {{/rollTotal() value 6}}
{{#rollTotal() value 7}} 1 {{/rollTotal() value 7}}
{{#rollTotal() value 8}} 2 {{/rollTotal() value 8}}
{{#rollTotal() value 9}} 3 {{/rollTotal() value 9}}
{{#rollTotal() value 10}} 4 {{/rollTotal() value 10}}
{{#rollTotal() value 11}} 5 {{/rollTotal() value 11}}
{{#rollTotal() value 12}} 6 {{/rollTotal() value 12}}
{{#rollTotal() value 13}} 7 {{/rollTotal() value 13}}
{{#rollTotal() value 14}} 8 {{/rollTotal() value 14}}
{{#rollTotal() value 15}} 9 {{/rollTotal() value 15}}
{{#rollTotal() value 16}} 10 {{/rollTotal() value 16}}
{{#rollTotal() value 17}} 11 {{/rollTotal() value 17}}
{{#rollTotal() value 18}} 12 {{/rollTotal() value 18}}
{{#rollTotal() value 19}} 13 {{/rollTotal() value 19}}
{{#rollTotal() value 20}} 14 {{/rollTotal() value 20}}
{{#rollTotal() value 21}} 15 {{/rollTotal() value 21}}
{{#rollTotal() value 22}} 16 {{/rollTotal() value 22}}
{{#rollTotal() value 23}} 17 {{/rollTotal() value 23}}
{{#rollTotal() value 24}} 18 {{/rollTotal() value 24}}
{{#rollTotal() value 25}} 19 {{/rollTotal() value 25}}
{{#rollTotal() value 26}} 20 {{/rollTotal() value 26}}
{{#rollTotal() value 27}} 21 {{/rollTotal() value 27}}
{{#rollTotal() value 28}} 22 {{/rollTotal() value 28}}
{{#rollTotal() value 29}} 23 {{/rollTotal() value 29}}
{{#rollTotal() value 30}} 24 {{/rollTotal() value 30}}
{{#rollTotal() value 31}} 25 {{/rollTotal() value 31}}
{{#rollTotal() value 32}} 26 {{/rollTotal() value 32}}
{{#rollTotal() value 33}} 27 {{/rollTotal() value 33}}
{{#rollTotal() value 34}} 28 {{/rollTotal() value 34}}
{{#rollTotal() value 35}} 29 {{/rollTotal() value 35}}
{{#rollTotal() value 36}} 30 {{/rollTotal() value 36}}
{{#rollTotal() value 37}} 31 {{/rollTotal() value 37}}
{{#rollTotal() value 38}} 32 {{/rollTotal() value 38}}
{{#rollTotal() value 39}} 33 {{/rollTotal() value 39}}
{{#rollTotal() value 40}} 34 {{/rollTotal() value 40}}
{{#rollTotal() value 41}} 35 {{/rollTotal() value 41}}
{{#rollTotal() value 42}} 36 {{/rollTotal() value 42}}
{{#rollTotal() value 43}} 37 {{/rollTotal() value 43}}
{{#rollTotal() value 44}} 38 {{/rollTotal() value 44}}
{{#rollTotal() value 45}} 39 {{/rollTotal() value 45}}
{{#rollTotal() value 46}} 40 {{/rollTotal() value 46}}
{{#rollTotal() value 47}} 41 {{/rollTotal() value 47}}
{{#rollTotal() value 48}} 42 {{/rollTotal() value 48}}
{{#rollTotal() value 49}} 43 {{/rollTotal() value 49}}
{{#rollTotal() value 50}} 44 {{/rollTotal() value 50}}
{{#rollGreater() value 50}} (value + 4) {{/rollGreater() value 50}}
{{/rollTotal() torgroll 17}}
{{#rollTotal() torgroll 18}}
{{#rollLess() value 1}} ({{value}} -5) {{/rollLess() value 1}}
{{#rollTotal() value 1}} -4 {{/rollTotal() value 1}}
{{#rollTotal() value 2}} -3 {{/rollTotal() value 2}}
{{#rollTotal() value 3}} -2 {{/rollTotal() value 3}}
{{#rollTotal() value 4}} -1 {{/rollTotal() value 4}}
{{#rollTotal() value 5}} 0 {{/rollTotal() value 5}}
{{#rollTotal() value 6}} 1 {{/rollTotal() value 6}}
{{#rollTotal() value 7}} 2 {{/rollTotal() value 7}}
{{#rollTotal() value 8}} 3 {{/rollTotal() value 8}}
{{#rollTotal() value 9}} 4 {{/rollTotal() value 9}}
{{#rollTotal() value 10}} 5 {{/rollTotal() value 10}}
{{#rollTotal() value 11}} 6 {{/rollTotal() value 11}}
{{#rollTotal() value 12}} 7 {{/rollTotal() value 12}}
{{#rollTotal() value 13}} 8 {{/rollTotal() value 13}}
{{#rollTotal() value 14}} 9 {{/rollTotal() value 14}}
{{#rollTotal() value 15}} 10 {{/rollTotal() value 15}}
{{#rollTotal() value 16}} 11 {{/rollTotal() value 16}}
{{#rollTotal() value 17}} 12 {{/rollTotal() value 17}}
{{#rollTotal() value 18}} 13 {{/rollTotal() value 18}}
{{#rollTotal() value 19}} 14 {{/rollTotal() value 19}}
{{#rollTotal() value 20}} 15 {{/rollTotal() value 20}}
{{#rollTotal() value 21}} 16 {{/rollTotal() value 21}}
{{#rollTotal() value 22}} 17 {{/rollTotal() value 22}}
{{#rollTotal() value 23}} 18 {{/rollTotal() value 23}}
{{#rollTotal() value 24}} 19 {{/rollTotal() value 24}}
{{#rollTotal() value 25}} 20 {{/rollTotal() value 25}}
{{#rollTotal() value 26}} 21 {{/rollTotal() value 26}}
{{#rollTotal() value 27}} 22 {{/rollTotal() value 27}}
{{#rollTotal() value 28}} 23 {{/rollTotal() value 28}}
{{#rollTotal() value 29}} 24 {{/rollTotal() value 29}}
{{#rollTotal() value 30}} 25 {{/rollTotal() value 30}}
{{#rollTotal() value 31}} 26 {{/rollTotal() value 31}}
{{#rollTotal() value 32}} 27 {{/rollTotal() value 32}}
{{#rollTotal() value 33}} 28 {{/rollTotal() value 33}}
{{#rollTotal() value 34}} 29 {{/rollTotal() value 34}}
{{#rollTotal() value 35}} 30 {{/rollTotal() value 35}}
{{#rollTotal() value 36}} 31 {{/rollTotal() value 36}}
{{#rollTotal() value 37}} 32 {{/rollTotal() value 37}}
{{#rollTotal() value 38}} 33 {{/rollTotal() value 38}}
{{#rollTotal() value 39}} 34 {{/rollTotal() value 39}}
{{#rollTotal() value 40}} 35 {{/rollTotal() value 40}}
{{#rollTotal() value 41}} 36 {{/rollTotal() value 41}}
{{#rollTotal() value 42}} 37 {{/rollTotal() value 42}}
{{#rollTotal() value 43}} 38 {{/rollTotal() value 43}}
{{#rollTotal() value 44}} 39 {{/rollTotal() value 44}}
{{#rollTotal() value 45}} 40 {{/rollTotal() value 45}}
{{#rollTotal() value 46}} 41 {{/rollTotal() value 46}}
{{#rollTotal() value 47}} 42 {{/rollTotal() value 47}}
{{#rollTotal() value 48}} 43 {{/rollTotal() value 48}}
{{#rollTotal() value 49}} 44 {{/rollTotal() value 49}}
{{#rollTotal() value 50}} 45 {{/rollTotal() value 50}}
{{#rollGreater() value 50}} (value + 5) {{/rollGreater() value 50}}
{{/rollTotal() torgroll 18}}
{{#rollTotal() torgroll 19}}
{{#rollLess() value 1}} ({{value}} -4) {{/rollLess() value 1}}
{{#rollTotal() value 1}} -3 {{/rollTotal() value 1}}
{{#rollTotal() value 2}} -2 {{/rollTotal() value 2}}
{{#rollTotal() value 3}} -1 {{/rollTotal() value 3}}
{{#rollTotal() value 4}} 0 {{/rollTotal() value 4}}
{{#rollTotal() value 5}} 1 {{/rollTotal() value 5}}
{{#rollTotal() value 6}} 2 {{/rollTotal() value 6}}
{{#rollTotal() value 7}} 3 {{/rollTotal() value 7}}
{{#rollTotal() value 8}} 4 {{/rollTotal() value 8}}
{{#rollTotal() value 9}} 5 {{/rollTotal() value 9}}
{{#rollTotal() value 10}} 6 {{/rollTotal() value 10}}
{{#rollTotal() value 11}} 7 {{/rollTotal() value 11}}
{{#rollTotal() value 12}} 8 {{/rollTotal() value 12}}
{{#rollTotal() value 13}} 9 {{/rollTotal() value 13}}
{{#rollTotal() value 14}} 10 {{/rollTotal() value 14}}
{{#rollTotal() value 15}} 11 {{/rollTotal() value 15}}
{{#rollTotal() value 16}} 12 {{/rollTotal() value 16}}
{{#rollTotal() value 17}} 13 {{/rollTotal() value 17}}
{{#rollTotal() value 18}} 14 {{/rollTotal() value 18}}
{{#rollTotal() value 19}} 15 {{/rollTotal() value 19}}
{{#rollTotal() value 20}} 16 {{/rollTotal() value 20}}
{{#rollTotal() value 21}} 17 {{/rollTotal() value 21}}
{{#rollTotal() value 22}} 18 {{/rollTotal() value 22}}
{{#rollTotal() value 23}} 19 {{/rollTotal() value 23}}
{{#rollTotal() value 24}} 20 {{/rollTotal() value 24}}
{{#rollTotal() value 25}} 21 {{/rollTotal() value 25}}
{{#rollTotal() value 26}} 22 {{/rollTotal() value 26}}
{{#rollTotal() value 27}} 23 {{/rollTotal() value 27}}
{{#rollTotal() value 28}} 24 {{/rollTotal() value 28}}
{{#rollTotal() value 29}} 25 {{/rollTotal() value 29}}
{{#rollTotal() value 30}} 26 {{/rollTotal() value 30}}
{{#rollTotal() value 31}} 27 {{/rollTotal() value 31}}
{{#rollTotal() value 32}} 28 {{/rollTotal() value 32}}
{{#rollTotal() value 33}} 29 {{/rollTotal() value 33}}
{{#rollTotal() value 34}} 30 {{/rollTotal() value 34}}
{{#rollTotal() value 35}} 31 {{/rollTotal() value 35}}
{{#rollTotal() value 36}} 32 {{/rollTotal() value 36}}
{{#rollTotal() value 37}} 33 {{/rollTotal() value 37}}
{{#rollTotal() value 38}} 34 {{/rollTotal() value 38}}
{{#rollTotal() value 39}} 35 {{/rollTotal() value 39}}
{{#rollTotal() value 40}} 36 {{/rollTotal() value 40}}
{{#rollTotal() value 41}} 37 {{/rollTotal() value 41}}
{{#rollTotal() value 42}} 38 {{/rollTotal() value 42}}
{{#rollTotal() value 43}} 39 {{/rollTotal() value 43}}
{{#rollTotal() value 44}} 40 {{/rollTotal() value 44}}
{{#rollTotal() value 45}} 41 {{/rollTotal() value 45}}
{{#rollTotal() value 46}} 42 {{/rollTotal() value 46}}
{{#rollTotal() value 47}} 43 {{/rollTotal() value 47}}
{{#rollTotal() value 48}} 44 {{/rollTotal() value 48}}
{{#rollTotal() value 49}} 45 {{/rollTotal() value 49}}
{{#rollTotal() value 50}} 46 {{/rollTotal() value 50}}
{{#rollGreater() value 50}} (value + 6) {{/rollGreater() value 50}}
{{/rollTotal() torgroll 19}}
{{#rollTotal() torgroll 20}}
{{#rollLess() value 1}} ({{value}} -3) {{/rollLess() value 1}}
{{#rollTotal() value 1}} -2 {{/rollTotal() value 1}}
{{#rollTotal() value 2}} -1 {{/rollTotal() value 2}}
{{#rollTotal() value 3}} 0 {{/rollTotal() value 3}}
{{#rollTotal() value 4}} 1 {{/rollTotal() value 4}}
{{#rollTotal() value 5}} 2 {{/rollTotal() value 5}}
{{#rollTotal() value 6}} 3 {{/rollTotal() value 6}}
{{#rollTotal() value 7}} 4 {{/rollTotal() value 7}}
{{#rollTotal() value 8}} 5 {{/rollTotal() value 8}}
{{#rollTotal() value 9}} 6 {{/rollTotal() value 9}}
{{#rollTotal() value 10}} 7 {{/rollTotal() value 10}}
{{#rollTotal() value 11}} 8 {{/rollTotal() value 11}}
{{#rollTotal() value 12}} 9 {{/rollTotal() value 12}}
{{#rollTotal() value 13}} 10 {{/rollTotal() value 13}}
{{#rollTotal() value 14}} 11 {{/rollTotal() value 14}}
{{#rollTotal() value 15}} 12 {{/rollTotal() value 15}}
{{#rollTotal() value 16}} 13 {{/rollTotal() value 16}}
{{#rollTotal() value 17}} 14 {{/rollTotal() value 17}}
{{#rollTotal() value 18}} 15 {{/rollTotal() value 18}}
{{#rollTotal() value 19}} 16 {{/rollTotal() value 19}}
{{#rollTotal() value 20}} 17 {{/rollTotal() value 20}}
{{#rollTotal() value 21}} 18 {{/rollTotal() value 21}}
{{#rollTotal() value 22}} 19 {{/rollTotal() value 22}}
{{#rollTotal() value 23}} 20 {{/rollTotal() value 23}}
{{#rollTotal() value 24}} 21 {{/rollTotal() value 24}}
{{#rollTotal() value 25}} 22 {{/rollTotal() value 25}}
{{#rollTotal() value 26}} 23 {{/rollTotal() value 26}}
{{#rollTotal() value 27}} 24 {{/rollTotal() value 27}}
{{#rollTotal() value 28}} 25 {{/rollTotal() value 28}}
{{#rollTotal() value 29}} 26 {{/rollTotal() value 29}}
{{#rollTotal() value 30}} 27 {{/rollTotal() value 30}}
{{#rollTotal() value 31}} 28 {{/rollTotal() value 31}}
{{#rollTotal() value 32}} 29 {{/rollTotal() value 32}}
{{#rollTotal() value 33}} 30 {{/rollTotal() value 33}}
{{#rollTotal() value 34}} 31 {{/rollTotal() value 34}}
{{#rollTotal() value 35}} 32 {{/rollTotal() value 35}}
{{#rollTotal() value 36}} 33 {{/rollTotal() value 36}}
{{#rollTotal() value 37}} 34 {{/rollTotal() value 37}}
{{#rollTotal() value 38}} 35 {{/rollTotal() value 38}}
{{#rollTotal() value 39}} 36 {{/rollTotal() value 39}}
{{#rollTotal() value 40}} 37 {{/rollTotal() value 40}}
{{#rollTotal() value 41}} 38 {{/rollTotal() value 41}}
{{#rollTotal() value 42}} 39 {{/rollTotal() value 42}}
{{#rollTotal() value 43}} 40 {{/rollTotal() value 43}}
{{#rollTotal() value 44}} 41 {{/rollTotal() value 44}}
{{#rollTotal() value 45}} 42 {{/rollTotal() value 45}}
{{#rollTotal() value 46}} 43 {{/rollTotal() value 46}}
{{#rollTotal() value 47}} 44 {{/rollTotal() value 47}}
{{#rollTotal() value 48}} 45 {{/rollTotal() value 48}}
{{#rollTotal() value 49}} 46 {{/rollTotal() value 49}}
{{#rollTotal() value 50}} 47 {{/rollTotal() value 50}}
{{#rollGreater() value 50}} (value + 7) {{/rollGreater() value 50}}
{{/rollTotal() torgroll 20}}
{{#rollBetween() torgroll 21 25}}
{{#rollLess() value 1}} ({{value}} -2) {{/rollLess() value 1}}
{{#rollTotal() value 1}} -1 {{/rollTotal() value 1}}
{{#rollTotal() value 2}} 0 {{/rollTotal() value 2}}
{{#rollTotal() value 3}} 1 {{/rollTotal() value 3}}
{{#rollTotal() value 4}} 2 {{/rollTotal() value 4}}
{{#rollTotal() value 5}} 3 {{/rollTotal() value 5}}
{{#rollTotal() value 6}} 4 {{/rollTotal() value 6}}
{{#rollTotal() value 7}} 5 {{/rollTotal() value 7}}
{{#rollTotal() value 8}} 6 {{/rollTotal() value 8}}
{{#rollTotal() value 9}} 7 {{/rollTotal() value 9}}
{{#rollTotal() value 10}} 8 {{/rollTotal() value 10}}
{{#rollTotal() value 11}} 9 {{/rollTotal() value 11}}
{{#rollTotal() value 12}} 10 {{/rollTotal() value 12}}
{{#rollTotal() value 13}} 11 {{/rollTotal() value 13}}
{{#rollTotal() value 14}} 12 {{/rollTotal() value 14}}
{{#rollTotal() value 15}} 13 {{/rollTotal() value 15}}
{{#rollTotal() value 16}} 14 {{/rollTotal() value 16}}
{{#rollTotal() value 17}} 15 {{/rollTotal() value 17}}
{{#rollTotal() value 18}} 16 {{/rollTotal() value 18}}
{{#rollTotal() value 19}} 17 {{/rollTotal() value 19}}
{{#rollTotal() value 20}} 18 {{/rollTotal() value 20}}
{{#rollTotal() value 21}} 19 {{/rollTotal() value 21}}
{{#rollTotal() value 22}} 20 {{/rollTotal() value 22}}
{{#rollTotal() value 23}} 21 {{/rollTotal() value 23}}
{{#rollTotal() value 24}} 22 {{/rollTotal() value 24}}
{{#rollTotal() value 25}} 23 {{/rollTotal() value 25}}
{{#rollTotal() value 26}} 24 {{/rollTotal() value 26}}
{{#rollTotal() value 27}} 25 {{/rollTotal() value 27}}
{{#rollTotal() value 28}} 26 {{/rollTotal() value 28}}
{{#rollTotal() value 29}} 27 {{/rollTotal() value 29}}
{{#rollTotal() value 30}} 28 {{/rollTotal() value 30}}
{{#rollTotal() value 31}} 29 {{/rollTotal() value 31}}
{{#rollTotal() value 32}} 30 {{/rollTotal() value 32}}
{{#rollTotal() value 33}} 31 {{/rollTotal() value 33}}
{{#rollTotal() value 34}} 32 {{/rollTotal() value 34}}
{{#rollTotal() value 35}} 33 {{/rollTotal() value 35}}
{{#rollTotal() value 36}} 34 {{/rollTotal() value 36}}
{{#rollTotal() value 37}} 35 {{/rollTotal() value 37}}
{{#rollTotal() value 38}} 36 {{/rollTotal() value 38}}
{{#rollTotal() value 39}} 37 {{/rollTotal() value 39}}
{{#rollTotal() value 40}} 38 {{/rollTotal() value 40}}
{{#rollTotal() value 41}} 39 {{/rollTotal() value 41}}
{{#rollTotal() value 42}} 40 {{/rollTotal() value 42}}
{{#rollTotal() value 43}} 41 {{/rollTotal() value 43}}
{{#rollTotal() value 44}} 42 {{/rollTotal() value 44}}
{{#rollTotal() value 45}} 43 {{/rollTotal() value 45}}
{{#rollTotal() value 46}} 44 {{/rollTotal() value 46}}
{{#rollTotal() value 47}} 45 {{/rollTotal() value 47}}
{{#rollTotal() value 48}} 46 {{/rollTotal() value 48}}
{{#rollTotal() value 49}} 47 {{/rollTotal() value 49}}
{{#rollTotal() value 50}} 48 {{/rollTotal() value 50}}
{{#rollGreater() value 50}} (value + 8) {{/rollGreater() value 50}}
{{/rollBetween() torgroll 21 25}}
{{#rollBetween() torgroll 26 30}}
{{#rollLess() value 1}} ({{value}} -1) {{/rollLess() value 1}}
{{#rollTotal() value 1}} 0 {{/rollTotal() value 1}}
{{#rollTotal() value 2}} 1 {{/rollTotal() value 2}}
{{#rollTotal() value 3}} 2 {{/rollTotal() value 3}}
{{#rollTotal() value 4}} 3 {{/rollTotal() value 4}}
{{#rollTotal() value 5}} 4 {{/rollTotal() value 5}}
{{#rollTotal() value 6}} 5 {{/rollTotal() value 6}}
{{#rollTotal() value 7}} 6 {{/rollTotal() value 7}}
{{#rollTotal() value 8}} 7 {{/rollTotal() value 8}}
{{#rollTotal() value 9}} 8 {{/rollTotal() value 9}}
{{#rollTotal() value 10}} 9 {{/rollTotal() value 10}}
{{#rollTotal() value 11}} 10 {{/rollTotal() value 11}}
{{#rollTotal() value 12}} 11 {{/rollTotal() value 12}}
{{#rollTotal() value 13}} 12 {{/rollTotal() value 13}}
{{#rollTotal() value 14}} 13 {{/rollTotal() value 14}}
{{#rollTotal() value 15}} 14 {{/rollTotal() value 15}}
{{#rollTotal() value 16}} 15 {{/rollTotal() value 16}}
{{#rollTotal() value 17}} 16 {{/rollTotal() value 17}}
{{#rollTotal() value 18}} 17 {{/rollTotal() value 18}}
{{#rollTotal() value 19}} 18 {{/rollTotal() value 19}}
{{#rollTotal() value 20}} 19 {{/rollTotal() value 20}}
{{#rollTotal() value 21}} 20 {{/rollTotal() value 21}}
{{#rollTotal() value 22}} 21 {{/rollTotal() value 22}}
{{#rollTotal() value 23}} 22 {{/rollTotal() value 23}}
{{#rollTotal() value 24}} 23 {{/rollTotal() value 24}}
{{#rollTotal() value 25}} 24 {{/rollTotal() value 25}}
{{#rollTotal() value 26}} 25 {{/rollTotal() value 26}}
{{#rollTotal() value 27}} 26 {{/rollTotal() value 27}}
{{#rollTotal() value 28}} 27 {{/rollTotal() value 28}}
{{#rollTotal() value 29}} 28 {{/rollTotal() value 29}}
{{#rollTotal() value 30}} 29 {{/rollTotal() value 30}}
{{#rollTotal() value 31}} 30 {{/rollTotal() value 31}}
{{#rollTotal() value 32}} 31 {{/rollTotal() value 32}}
{{#rollTotal() value 33}} 32 {{/rollTotal() value 33}}
{{#rollTotal() value 34}} 33 {{/rollTotal() value 34}}
{{#rollTotal() value 35}} 34 {{/rollTotal() value 35}}
{{#rollTotal() value 36}} 35 {{/rollTotal() value 36}}
{{#rollTotal() value 37}} 36 {{/rollTotal() value 37}}
{{#rollTotal() value 38}} 37 {{/rollTotal() value 38}}
{{#rollTotal() value 39}} 38 {{/rollTotal() value 39}}
{{#rollTotal() value 40}} 39 {{/rollTotal() value 40}}
{{#rollTotal() value 41}} 40 {{/rollTotal() value 41}}
{{#rollTotal() value 42}} 41 {{/rollTotal() value 42}}
{{#rollTotal() value 43}} 42 {{/rollTotal() value 43}}
{{#rollTotal() value 44}} 43 {{/rollTotal() value 44}}
{{#rollTotal() value 45}} 44 {{/rollTotal() value 45}}
{{#rollTotal() value 46}} 45 {{/rollTotal() value 46}}
{{#rollTotal() value 47}} 46 {{/rollTotal() value 47}}
{{#rollTotal() value 48}} 47 {{/rollTotal() value 48}}
{{#rollTotal() value 49}} 48 {{/rollTotal() value 49}}
{{#rollTotal() value 50}} 49 {{/rollTotal() value 50}}
{{#rollGreater() value 50}} (value + 9) {{/rollGreater() value 50}}
{{/rollBetween() torgroll 26 30}}
{{#rollBetween() torgroll 31 35}}
{{#rollLess() value 1}} ({{value}}) {{/rollLess() value 1}}
{{#rollTotal() value 1}} 1 {{/rollTotal() value 1}}
{{#rollTotal() value 2}} 2 {{/rollTotal() value 2}}
{{#rollTotal() value 3}} 3 {{/rollTotal() value 3}}
{{#rollTotal() value 4}} 4 {{/rollTotal() value 4}}
{{#rollTotal() value 5}} 5 {{/rollTotal() value 5}}
{{#rollTotal() value 6}} 6 {{/rollTotal() value 6}}
{{#rollTotal() value 7}} 7 {{/rollTotal() value 7}}
{{#rollTotal() value 8}} 8 {{/rollTotal() value 8}}
{{#rollTotal() value 9}} 9 {{/rollTotal() value 9}}
{{#rollTotal() value 10}} 10 {{/rollTotal() value 10}}
{{#rollTotal() value 11}} 11 {{/rollTotal() value 11}}
{{#rollTotal() value 12}} 12 {{/rollTotal() value 12}}
{{#rollTotal() value 13}} 13 {{/rollTotal() value 13}}
{{#rollTotal() value 14}} 14 {{/rollTotal() value 14}}
{{#rollTotal() value 15}} 15 {{/rollTotal() value 15}}
{{#rollTotal() value 16}} 16 {{/rollTotal() value 16}}
{{#rollTotal() value 17}} 17 {{/rollTotal() value 17}}
{{#rollTotal() value 18}} 18 {{/rollTotal() value 18}}
{{#rollTotal() value 19}} 19 {{/rollTotal() value 19}}
{{#rollTotal() value 20}} 20 {{/rollTotal() value 20}}
{{#rollTotal() value 21}} 21 {{/rollTotal() value 21}}
{{#rollTotal() value 22}} 22 {{/rollTotal() value 22}}
{{#rollTotal() value 23}} 23 {{/rollTotal() value 23}}
{{#rollTotal() value 24}} 24 {{/rollTotal() value 24}}
{{#rollTotal() value 25}} 25 {{/rollTotal() value 25}}
{{#rollTotal() value 26}} 26 {{/rollTotal() value 26}}
{{#rollTotal() value 27}} 27 {{/rollTotal() value 27}}
{{#rollTotal() value 28}} 28 {{/rollTotal() value 28}}
{{#rollTotal() value 29}} 29 {{/rollTotal() value 29}}
{{#rollTotal() value 30}} 30 {{/rollTotal() value 30}}
{{#rollTotal() value 31}} 31 {{/rollTotal() value 31}}
{{#rollTotal() value 32}} 32 {{/rollTotal() value 32}}
{{#rollTotal() value 33}} 33 {{/rollTotal() value 33}}
{{#rollTotal() value 34}} 34 {{/rollTotal() value 34}}
{{#rollTotal() value 35}} 35 {{/rollTotal() value 35}}
{{#rollTotal() value 36}} 36 {{/rollTotal() value 36}}
{{#rollTotal() value 37}} 37 {{/rollTotal() value 37}}
{{#rollTotal() value 38}} 38 {{/rollTotal() value 38}}
{{#rollTotal() value 39}} 39 {{/rollTotal() value 39}}
{{#rollTotal() value 40}} 40 {{/rollTotal() value 40}}
{{#rollTotal() value 41}} 41 {{/rollTotal() value 41}}
{{#rollTotal() value 42}} 42 {{/rollTotal() value 42}}
{{#rollTotal() value 43}} 43 {{/rollTotal() value 43}}
{{#rollTotal() value 44}} 44 {{/rollTotal() value 44}}
{{#rollTotal() value 45}} 45 {{/rollTotal() value 45}}
{{#rollTotal() value 46}} 46 {{/rollTotal() value 46}}
{{#rollTotal() value 47}} 47 {{/rollTotal() value 47}}
{{#rollTotal() value 48}} 48 {{/rollTotal() value 48}}
{{#rollTotal() value 49}} 49 {{/rollTotal() value 49}}
{{#rollTotal() value 50}} 50 {{/rollTotal() value 50}}
{{#rollGreater() value 50}} (value + 10) {{/rollGreater() value 50}}
{{/rollBetween() torgroll 31 35}}
{{#rollBetween() torgroll 36 40}}
{{#rollLess() value 1}} ({{value}} +1) {{/rollLess() value 1}}
{{#rollTotal() value 1}} 2 {{/rollTotal() value 1}}
{{#rollTotal() value 2}} 3 {{/rollTotal() value 2}}
{{#rollTotal() value 3}} 4 {{/rollTotal() value 3}}
{{#rollTotal() value 4}} 5 {{/rollTotal() value 4}}
{{#rollTotal() value 5}} 6 {{/rollTotal() value 5}}
{{#rollTotal() value 6}} 7 {{/rollTotal() value 6}}
{{#rollTotal() value 7}} 8 {{/rollTotal() value 7}}
{{#rollTotal() value 8}} 9 {{/rollTotal() value 8}}
{{#rollTotal() value 9}} 10 {{/rollTotal() value 9}}
{{#rollTotal() value 10}} 11 {{/rollTotal() value 10}}
{{#rollTotal() value 11}} 12 {{/rollTotal() value 11}}
{{#rollTotal() value 12}} 13 {{/rollTotal() value 12}}
{{#rollTotal() value 13}} 14 {{/rollTotal() value 13}}
{{#rollTotal() value 14}} 15 {{/rollTotal() value 14}}
{{#rollTotal() value 15}} 16 {{/rollTotal() value 15}}
{{#rollTotal() value 16}} 17 {{/rollTotal() value 16}}
{{#rollTotal() value 17}} 18 {{/rollTotal() value 17}}
{{#rollTotal() value 18}} 19 {{/rollTotal() value 18}}
{{#rollTotal() value 19}} 20 {{/rollTotal() value 19}}
{{#rollTotal() value 20}} 21 {{/rollTotal() value 20}}
{{#rollTotal() value 21}} 22 {{/rollTotal() value 21}}
{{#rollTotal() value 22}} 23 {{/rollTotal() value 22}}
{{#rollTotal() value 23}} 24 {{/rollTotal() value 23}}
{{#rollTotal() value 24}} 25 {{/rollTotal() value 24}}
{{#rollTotal() value 25}} 26 {{/rollTotal() value 25}}
{{#rollTotal() value 26}} 27 {{/rollTotal() value 26}}
{{#rollTotal() value 27}} 28 {{/rollTotal() value 27}}
{{#rollTotal() value 28}} 29 {{/rollTotal() value 28}}
{{#rollTotal() value 29}} 30 {{/rollTotal() value 29}}
{{#rollTotal() value 30}} 31 {{/rollTotal() value 30}}
{{#rollTotal() value 31}} 32 {{/rollTotal() value 31}}
{{#rollTotal() value 32}} 33 {{/rollTotal() value 32}}
{{#rollTotal() value 33}} 34 {{/rollTotal() value 33}}
{{#rollTotal() value 34}} 35 {{/rollTotal() value 34}}
{{#rollTotal() value 35}} 36 {{/rollTotal() value 35}}
{{#rollTotal() value 36}} 37 {{/rollTotal() value 36}}
{{#rollTotal() value 37}} 38 {{/rollTotal() value 37}}
{{#rollTotal() value 38}} 39 {{/rollTotal() value 38}}
{{#rollTotal() value 39}} 40 {{/rollTotal() value 39}}
{{#rollTotal() value 40}} 41 {{/rollTotal() value 40}}
{{#rollTotal() value 41}} 42 {{/rollTotal() value 41}}
{{#rollTotal() value 42}} 43 {{/rollTotal() value 42}}
{{#rollTotal() value 43}} 44 {{/rollTotal() value 43}}
{{#rollTotal() value 44}} 45 {{/rollTotal() value 44}}
{{#rollTotal() value 45}} 46 {{/rollTotal() value 45}}
{{#rollTotal() value 46}} 47 {{/rollTotal() value 46}}
{{#rollTotal() value 47}} 48 {{/rollTotal() value 47}}
{{#rollTotal() value 48}} 49 {{/rollTotal() value 48}}
{{#rollTotal() value 49}} 50 {{/rollTotal() value 49}}
{{#rollTotal() value 50}} 51 {{/rollTotal() value 50}}
{{#rollGreater() value 50}} (value + 11) {{/rollGreater() value 50}}
{{/rollBetween() torgroll 36 40}}
{{#rollBetween() torgroll 41 45}}
{{#rollLess() value 1}} ({{value}} +2) {{/rollLess() value 1}}
{{#rollTotal() value 1}} 3 {{/rollTotal() value 1}}
{{#rollTotal() value 2}} 4 {{/rollTotal() value 2}}
{{#rollTotal() value 3}} 5 {{/rollTotal() value 3}}
{{#rollTotal() value 4}} 6 {{/rollTotal() value 4}}
{{#rollTotal() value 5}} 7 {{/rollTotal() value 5}}
{{#rollTotal() value 6}} 8 {{/rollTotal() value 6}}
{{#rollTotal() value 7}} 9 {{/rollTotal() value 7}}
{{#rollTotal() value 8}} 10 {{/rollTotal() value 8}}
{{#rollTotal() value 9}} 11 {{/rollTotal() value 9}}
{{#rollTotal() value 10}} 12 {{/rollTotal() value 10}}
{{#rollTotal() value 11}} 13 {{/rollTotal() value 11}}
{{#rollTotal() value 12}} 14 {{/rollTotal() value 12}}
{{#rollTotal() value 13}} 15 {{/rollTotal() value 13}}
{{#rollTotal() value 14}} 16 {{/rollTotal() value 14}}
{{#rollTotal() value 15}} 17 {{/rollTotal() value 15}}
{{#rollTotal() value 16}} 18 {{/rollTotal() value 16}}
{{#rollTotal() value 17}} 19 {{/rollTotal() value 17}}
{{#rollTotal() value 18}} 20 {{/rollTotal() value 18}}
{{#rollTotal() value 19}} 21 {{/rollTotal() value 19}}
{{#rollTotal() value 20}} 22 {{/rollTotal() value 20}}
{{#rollTotal() value 21}} 23 {{/rollTotal() value 21}}
{{#rollTotal() value 22}} 24 {{/rollTotal() value 22}}
{{#rollTotal() value 23}} 25 {{/rollTotal() value 23}}
{{#rollTotal() value 24}} 26 {{/rollTotal() value 24}}
{{#rollTotal() value 25}} 27 {{/rollTotal() value 25}}
{{#rollTotal() value 26}} 28 {{/rollTotal() value 26}}
{{#rollTotal() value 27}} 29 {{/rollTotal() value 27}}
{{#rollTotal() value 28}} 30 {{/rollTotal() value 28}}
{{#rollTotal() value 29}} 31 {{/rollTotal() value 29}}
{{#rollTotal() value 30}} 32 {{/rollTotal() value 30}}
{{#rollTotal() value 31}} 33 {{/rollTotal() value 31}}
{{#rollTotal() value 32}} 34 {{/rollTotal() value 32}}
{{#rollTotal() value 33}} 35 {{/rollTotal() value 33}}
{{#rollTotal() value 34}} 36 {{/rollTotal() value 34}}
{{#rollTotal() value 35}} 37 {{/rollTotal() value 35}}
{{#rollTotal() value 36}} 38 {{/rollTotal() value 36}}
{{#rollTotal() value 37}} 39 {{/rollTotal() value 37}}
{{#rollTotal() value 38}} 40 {{/rollTotal() value 38}}
{{#rollTotal() value 39}} 41 {{/rollTotal() value 39}}
{{#rollTotal() value 40}} 42 {{/rollTotal() value 40}}
{{#rollTotal() value 41}} 43 {{/rollTotal() value 41}}
{{#rollTotal() value 42}} 44 {{/rollTotal() value 42}}
{{#rollTotal() value 43}} 45 {{/rollTotal() value 43}}
{{#rollTotal() value 44}} 46 {{/rollTotal() value 44}}
{{#rollTotal() value 45}} 47 {{/rollTotal() value 45}}
{{#rollTotal() value 46}} 48 {{/rollTotal() value 46}}
{{#rollTotal() value 47}} 49 {{/rollTotal() value 47}}
{{#rollTotal() value 48}} 50 {{/rollTotal() value 48}}
{{#rollTotal() value 49}} 51 {{/rollTotal() value 49}}
{{#rollTotal() value 50}} 52 {{/rollTotal() value 50}}
{{#rollGreater() value 50}} (value + 12) {{/rollGreater() value 50}}
{{/rollBetween() torgroll 41 45}}
{{#rollBetween() torgroll 46 50}}
{{#rollLess() value 1}} ({{value}} +3) {{/rollLess() value 1}}
{{#rollTotal() value 1}} 4 {{/rollTotal() value 1}}
{{#rollTotal() value 2}} 5 {{/rollTotal() value 2}}
{{#rollTotal() value 3}} 6 {{/rollTotal() value 3}}
{{#rollTotal() value 4}} 7 {{/rollTotal() value 4}}
{{#rollTotal() value 5}} 8 {{/rollTotal() value 5}}
{{#rollTotal() value 6}} 9 {{/rollTotal() value 6}}
{{#rollTotal() value 7}} 10 {{/rollTotal() value 7}}
{{#rollTotal() value 8}} 11 {{/rollTotal() value 8}}
{{#rollTotal() value 9}} 12 {{/rollTotal() value 9}}
{{#rollTotal() value 10}} 13 {{/rollTotal() value 10}}
{{#rollTotal() value 11}} 14 {{/rollTotal() value 11}}
{{#rollTotal() value 12}} 15 {{/rollTotal() value 12}}
{{#rollTotal() value 13}} 16 {{/rollTotal() value 13}}
{{#rollTotal() value 14}} 17 {{/rollTotal() value 14}}
{{#rollTotal() value 15}} 18 {{/rollTotal() value 15}}
{{#rollTotal() value 16}} 19 {{/rollTotal() value 16}}
{{#rollTotal() value 17}} 20 {{/rollTotal() value 17}}
{{#rollTotal() value 18}} 21 {{/rollTotal() value 18}}
{{#rollTotal() value 19}} 22 {{/rollTotal() value 19}}
{{#rollTotal() value 20}} 23 {{/rollTotal() value 20}}
{{#rollTotal() value 21}} 24 {{/rollTotal() value 21}}
{{#rollTotal() value 22}} 25 {{/rollTotal() value 22}}
{{#rollTotal() value 23}} 26 {{/rollTotal() value 23}}
{{#rollTotal() value 24}} 27 {{/rollTotal() value 24}}
{{#rollTotal() value 25}} 28 {{/rollTotal() value 25}}
{{#rollTotal() value 26}} 29 {{/rollTotal() value 26}}
{{#rollTotal() value 27}} 30 {{/rollTotal() value 27}}
{{#rollTotal() value 28}} 31 {{/rollTotal() value 28}}
{{#rollTotal() value 29}} 32 {{/rollTotal() value 29}}
{{#rollTotal() value 30}} 33 {{/rollTotal() value 30}}
{{#rollTotal() value 31}} 34 {{/rollTotal() value 31}}
{{#rollTotal() value 32}} 35 {{/rollTotal() value 32}}
{{#rollTotal() value 33}} 36 {{/rollTotal() value 33}}
{{#rollTotal() value 34}} 37 {{/rollTotal() value 34}}
{{#rollTotal() value 35}} 38 {{/rollTotal() value 35}}
{{#rollTotal() value 36}} 39 {{/rollTotal() value 36}}
{{#rollTotal() value 37}} 40 {{/rollTotal() value 37}}
{{#rollTotal() value 38}} 41 {{/rollTotal() value 38}}
{{#rollTotal() value 39}} 42 {{/rollTotal() value 39}}
{{#rollTotal() value 40}} 43 {{/rollTotal() value 40}}
{{#rollTotal() value 41}} 44 {{/rollTotal() value 41}}
{{#rollTotal() value 42}} 45 {{/rollTotal() value 42}}
{{#rollTotal() value 43}} 46 {{/rollTotal() value 43}}
{{#rollTotal() value 44}} 47 {{/rollTotal() value 44}}
{{#rollTotal() value 45}} 48 {{/rollTotal() value 45}}
{{#rollTotal() value 46}} 49 {{/rollTotal() value 46}}
{{#rollTotal() value 47}} 50 {{/rollTotal() value 47}}
{{#rollTotal() value 48}} 51 {{/rollTotal() value 48}}
{{#rollTotal() value 49}} 52 {{/rollTotal() value 49}}
{{#rollTotal() value 50}} 53 {{/rollTotal() value 50}}
{{#rollGreater() value 50}} (value + 13) {{/rollGreater() value 50}}
{{/rollBetween() torgroll 46 50}}
{{#rollBetween() torgroll 51 55}}
{{#rollLess() value 1}} ({{value}} +4) {{/rollLess() value 1}}
{{#rollTotal() value 1}} 5 {{/rollTotal() value 1}}
{{#rollTotal() value 2}} 6 {{/rollTotal() value 2}}
{{#rollTotal() value 3}} 7 {{/rollTotal() value 3}}
{{#rollTotal() value 4}} 8 {{/rollTotal() value 4}}
{{#rollTotal() value 5}} 9 {{/rollTotal() value 5}}
{{#rollTotal() value 6}} 10 {{/rollTotal() value 6}}
{{#rollTotal() value 7}} 11 {{/rollTotal() value 7}}
{{#rollTotal() value 8}} 12 {{/rollTotal() value 8}}
{{#rollTotal() value 9}} 13 {{/rollTotal() value 9}}
{{#rollTotal() value 10}} 14 {{/rollTotal() value 10}}
{{#rollTotal() value 11}} 15 {{/rollTotal() value 11}}
{{#rollTotal() value 12}} 16 {{/rollTotal() value 12}}
{{#rollTotal() value 13}} 17 {{/rollTotal() value 13}}
{{#rollTotal() value 14}} 18 {{/rollTotal() value 14}}
{{#rollTotal() value 15}} 19 {{/rollTotal() value 15}}
{{#rollTotal() value 16}} 20 {{/rollTotal() value 16}}
{{#rollTotal() value 17}} 21 {{/rollTotal() value 17}}
{{#rollTotal() value 18}} 22 {{/rollTotal() value 18}}
{{#rollTotal() value 19}} 23 {{/rollTotal() value 19}}
{{#rollTotal() value 20}} 24 {{/rollTotal() value 20}}
{{#rollTotal() value 21}} 25 {{/rollTotal() value 21}}
{{#rollTotal() value 22}} 26 {{/rollTotal() value 22}}
{{#rollTotal() value 23}} 27 {{/rollTotal() value 23}}
{{#rollTotal() value 24}} 28 {{/rollTotal() value 24}}
{{#rollTotal() value 25}} 29 {{/rollTotal() value 25}}
{{#rollTotal() value 26}} 30 {{/rollTotal() value 26}}
{{#rollTotal() value 27}} 31 {{/rollTotal() value 27}}
{{#rollTotal() value 28}} 32 {{/rollTotal() value 28}}
{{#rollTotal() value 29}} 33 {{/rollTotal() value 29}}
{{#rollTotal() value 30}} 34 {{/rollTotal() value 30}}
{{#rollTotal() value 31}} 35 {{/rollTotal() value 31}}
{{#rollTotal() value 32}} 36 {{/rollTotal() value 32}}
{{#rollTotal() value 33}} 37 {{/rollTotal() value 33}}
{{#rollTotal() value 34}} 38 {{/rollTotal() value 34}}
{{#rollTotal() value 35}} 39 {{/rollTotal() value 35}}
{{#rollTotal() value 36}} 40 {{/rollTotal() value 36}}
{{#rollTotal() value 37}} 41 {{/rollTotal() value 37}}
{{#rollTotal() value 38}} 42 {{/rollTotal() value 38}}
{{#rollTotal() value 39}} 43 {{/rollTotal() value 39}}
{{#rollTotal() value 40}} 44 {{/rollTotal() value 40}}
{{#rollTotal() value 41}} 45 {{/rollTotal() value 41}}
{{#rollTotal() value 42}} 46 {{/rollTotal() value 42}}
{{#rollTotal() value 43}} 47 {{/rollTotal() value 43}}
{{#rollTotal() value 44}} 48 {{/rollTotal() value 44}}
{{#rollTotal() value 45}} 49 {{/rollTotal() value 45}}
{{#rollTotal() value 46}} 50 {{/rollTotal() value 46}}
{{#rollTotal() value 47}} 51 {{/rollTotal() value 47}}
{{#rollTotal() value 48}} 52 {{/rollTotal() value 48}}
{{#rollTotal() value 49}} 53 {{/rollTotal() value 49}}
{{#rollTotal() value 50}} 54 {{/rollTotal() value 50}}
{{#rollGreater() value 50}} (value + 14) {{/rollGreater() value 50}}
{{/rollBetween() torgroll 51 55}}
{{#rollBetween() torgroll 56 60}}
{{#rollLess() value 1}} ({{value}} +5) {{/rollLess() value 1}}
{{#rollTotal() value 1}} 6 {{/rollTotal() value 1}}
{{#rollTotal() value 2}} 7 {{/rollTotal() value 2}}
{{#rollTotal() value 3}} 8 {{/rollTotal() value 3}}
{{#rollTotal() value 4}} 9 {{/rollTotal() value 4}}
{{#rollTotal() value 5}} 10 {{/rollTotal() value 5}}
{{#rollTotal() value 6}} 11 {{/rollTotal() value 6}}
{{#rollTotal() value 7}} 12 {{/rollTotal() value 7}}
{{#rollTotal() value 8}} 13 {{/rollTotal() value 8}}
{{#rollTotal() value 9}} 14 {{/rollTotal() value 9}}
{{#rollTotal() value 10}} 15 {{/rollTotal() value 10}}
{{#rollTotal() value 11}} 16 {{/rollTotal() value 11}}
{{#rollTotal() value 12}} 17 {{/rollTotal() value 12}}
{{#rollTotal() value 13}} 18 {{/rollTotal() value 13}}
{{#rollTotal() value 14}} 19 {{/rollTotal() value 14}}
{{#rollTotal() value 15}} 20 {{/rollTotal() value 15}}
{{#rollTotal() value 16}} 21 {{/rollTotal() value 16}}
{{#rollTotal() value 17}} 22 {{/rollTotal() value 17}}
{{#rollTotal() value 18}} 23 {{/rollTotal() value 18}}
{{#rollTotal() value 19}} 24 {{/rollTotal() value 19}}
{{#rollTotal() value 20}} 25 {{/rollTotal() value 20}}
{{#rollTotal() value 21}} 26 {{/rollTotal() value 21}}
{{#rollTotal() value 22}} 27 {{/rollTotal() value 22}}
{{#rollTotal() value 23}} 28 {{/rollTotal() value 23}}
{{#rollTotal() value 24}} 29 {{/rollTotal() value 24}}
{{#rollTotal() value 25}} 30 {{/rollTotal() value 25}}
{{#rollTotal() value 26}} 31 {{/rollTotal() value 26}}
{{#rollTotal() value 27}} 32 {{/rollTotal() value 27}}
{{#rollTotal() value 28}} 33 {{/rollTotal() value 28}}
{{#rollTotal() value 29}} 34 {{/rollTotal() value 29}}
{{#rollTotal() value 30}} 35 {{/rollTotal() value 30}}
{{#rollTotal() value 31}} 36 {{/rollTotal() value 31}}
{{#rollTotal() value 32}} 37 {{/rollTotal() value 32}}
{{#rollTotal() value 33}} 38 {{/rollTotal() value 33}}
{{#rollTotal() value 34}} 39 {{/rollTotal() value 34}}
{{#rollTotal() value 35}} 40 {{/rollTotal() value 35}}
{{#rollTotal() value 36}} 41 {{/rollTotal() value 36}}
{{#rollTotal() value 37}} 42 {{/rollTotal() value 37}}
{{#rollTotal() value 38}} 43 {{/rollTotal() value 38}}
{{#rollTotal() value 39}} 44 {{/rollTotal() value 39}}
{{#rollTotal() value 40}} 45 {{/rollTotal() value 40}}
{{#rollTotal() value 41}} 46 {{/rollTotal() value 41}}
{{#rollTotal() value 42}} 47 {{/rollTotal() value 42}}
{{#rollTotal() value 43}} 48 {{/rollTotal() value 43}}
{{#rollTotal() value 44}} 49 {{/rollTotal() value 44}}
{{#rollTotal() value 45}} 50 {{/rollTotal() value 45}}
{{#rollTotal() value 46}} 51 {{/rollTotal() value 46}}
{{#rollTotal() value 47}} 52 {{/rollTotal() value 47}}
{{#rollTotal() value 48}} 53 {{/rollTotal() value 48}}
{{#rollTotal() value 49}} 54 {{/rollTotal() value 49}}
{{#rollTotal() value 50}} 55 {{/rollTotal() value 50}}
{{#rollGreater() value 50}} (value + 15) {{/rollGreater() value 50}}
{{/rollBetween() torgroll 56 60}}
{{#rollBetween() torgroll 61 65}}
{{#rollLess() value 1}} ({{value}} +6) {{/rollLess() value 1}}
{{#rollTotal() value 1}} 7 {{/rollTotal() value 1}}
{{#rollTotal() value 2}} 8 {{/rollTotal() value 2}}
{{#rollTotal() value 3}} 9 {{/rollTotal() value 3}}
{{#rollTotal() value 4}} 10 {{/rollTotal() value 4}}
{{#rollTotal() value 5}} 11 {{/rollTotal() value 5}}
{{#rollTotal() value 6}} 12 {{/rollTotal() value 6}}
{{#rollTotal() value 7}} 13 {{/rollTotal() value 7}}
{{#rollTotal() value 8}} 14 {{/rollTotal() value 8}}
{{#rollTotal() value 9}} 15 {{/rollTotal() value 9}}
{{#rollTotal() value 10}} 16 {{/rollTotal() value 10}}
{{#rollTotal() value 11}} 17 {{/rollTotal() value 11}}
{{#rollTotal() value 12}} 18 {{/rollTotal() value 12}}
{{#rollTotal() value 13}} 19 {{/rollTotal() value 13}}
{{#rollTotal() value 14}} 20 {{/rollTotal() value 14}}
{{#rollTotal() value 15}} 21 {{/rollTotal() value 15}}
{{#rollTotal() value 16}} 22 {{/rollTotal() value 16}}
{{#rollTotal() value 17}} 23 {{/rollTotal() value 17}}
{{#rollTotal() value 18}} 24 {{/rollTotal() value 18}}
{{#rollTotal() value 19}} 25 {{/rollTotal() value 19}}
{{#rollTotal() value 20}} 26 {{/rollTotal() value 20}}
{{#rollTotal() value 21}} 27 {{/rollTotal() value 21}}
{{#rollTotal() value 22}} 28 {{/rollTotal() value 22}}
{{#rollTotal() value 23}} 29 {{/rollTotal() value 23}}
{{#rollTotal() value 24}} 30 {{/rollTotal() value 24}}
{{#rollTotal() value 25}} 31 {{/rollTotal() value 25}}
{{#rollTotal() value 26}} 32 {{/rollTotal() value 26}}
{{#rollTotal() value 27}} 33 {{/rollTotal() value 27}}
{{#rollTotal() value 28}} 34 {{/rollTotal() value 28}}
{{#rollTotal() value 29}} 35 {{/rollTotal() value 29}}
{{#rollTotal() value 30}} 36 {{/rollTotal() value 30}}
{{#rollTotal() value 31}} 37 {{/rollTotal() value 31}}
{{#rollTotal() value 32}} 38 {{/rollTotal() value 32}}
{{#rollTotal() value 33}} 39 {{/rollTotal() value 33}}
{{#rollTotal() value 34}} 40 {{/rollTotal() value 34}}
{{#rollTotal() value 35}} 41 {{/rollTotal() value 35}}
{{#rollTotal() value 36}} 42 {{/rollTotal() value 36}}
{{#rollTotal() value 37}} 43 {{/rollTotal() value 37}}
{{#rollTotal() value 38}} 44 {{/rollTotal() value 38}}
{{#rollTotal() value 39}} 45 {{/rollTotal() value 39}}
{{#rollTotal() value 40}} 46 {{/rollTotal() value 40}}
{{#rollTotal() value 41}} 47 {{/rollTotal() value 41}}
{{#rollTotal() value 42}} 48 {{/rollTotal() value 42}}
{{#rollTotal() value 43}} 49 {{/rollTotal() value 43}}
{{#rollTotal() value 44}} 50 {{/rollTotal() value 44}}
{{#rollTotal() value 45}} 51 {{/rollTotal() value 45}}
{{#rollTotal() value 46}} 52 {{/rollTotal() value 46}}
{{#rollTotal() value 47}} 53 {{/rollTotal() value 47}}
{{#rollTotal() value 48}} 54 {{/rollTotal() value 48}}
{{#rollTotal() value 49}} 55 {{/rollTotal() value 49}}
{{#rollTotal() value 50}} 56 {{/rollTotal() value 50}}
{{#rollGreater() value 50}} (value + 16) {{/rollGreater() value 50}}
{{/rollBetween() torgroll 61 65}}
{{#rollBetween() torgroll 66 70}}
{{#rollLess() value 1}} ({{value}} +7) {{/rollLess() value 1}}
{{#rollTotal() value 1}} 8 {{/rollTotal() value 1}}
{{#rollTotal() value 2}} 9 {{/rollTotal() value 2}}
{{#rollTotal() value 3}} 10 {{/rollTotal() value 3}}
{{#rollTotal() value 4}} 11 {{/rollTotal() value 4}}
{{#rollTotal() value 5}} 12 {{/rollTotal() value 5}}
{{#rollTotal() value 6}} 13 {{/rollTotal() value 6}}
{{#rollTotal() value 7}} 14 {{/rollTotal() value 7}}
{{#rollTotal() value 8}} 15 {{/rollTotal() value 8}}
{{#rollTotal() value 9}} 16 {{/rollTotal() value 9}}
{{#rollTotal() value 10}} 17 {{/rollTotal() value 10}}
{{#rollTotal() value 11}} 18 {{/rollTotal() value 11}}
{{#rollTotal() value 12}} 19 {{/rollTotal() value 12}}
{{#rollTotal() value 13}} 20 {{/rollTotal() value 13}}
{{#rollTotal() value 14}} 21 {{/rollTotal() value 14}}
{{#rollTotal() value 15}} 22 {{/rollTotal() value 15}}
{{#rollTotal() value 16}} 23 {{/rollTotal() value 16}}
{{#rollTotal() value 17}} 24 {{/rollTotal() value 17}}
{{#rollTotal() value 18}} 25 {{/rollTotal() value 18}}
{{#rollTotal() value 19}} 26 {{/rollTotal() value 19}}
{{#rollTotal() value 20}} 27 {{/rollTotal() value 20}}
{{#rollTotal() value 21}} 28 {{/rollTotal() value 21}}
{{#rollTotal() value 22}} 29 {{/rollTotal() value 22}}
{{#rollTotal() value 23}} 30 {{/rollTotal() value 23}}
{{#rollTotal() value 24}} 31 {{/rollTotal() value 24}}
{{#rollTotal() value 25}} 32 {{/rollTotal() value 25}}
{{#rollTotal() value 26}} 33 {{/rollTotal() value 26}}
{{#rollTotal() value 27}} 34 {{/rollTotal() value 27}}
{{#rollTotal() value 28}} 35 {{/rollTotal() value 28}}
{{#rollTotal() value 29}} 36 {{/rollTotal() value 29}}
{{#rollTotal() value 30}} 37 {{/rollTotal() value 30}}
{{#rollTotal() value 31}} 38 {{/rollTotal() value 31}}
{{#rollTotal() value 32}} 39 {{/rollTotal() value 32}}
{{#rollTotal() value 33}} 40 {{/rollTotal() value 33}}
{{#rollTotal() value 34}} 41 {{/rollTotal() value 34}}
{{#rollTotal() value 35}} 42 {{/rollTotal() value 35}}
{{#rollTotal() value 36}} 43 {{/rollTotal() value 36}}
{{#rollTotal() value 37}} 44 {{/rollTotal() value 37}}
{{#rollTotal() value 38}} 45 {{/rollTotal() value 38}}
{{#rollTotal() value 39}} 46 {{/rollTotal() value 39}}
{{#rollTotal() value 40}} 47 {{/rollTotal() value 40}}
{{#rollTotal() value 41}} 48 {{/rollTotal() value 41}}
{{#rollTotal() value 42}} 49 {{/rollTotal() value 42}}
{{#rollTotal() value 43}} 50 {{/rollTotal() value 43}}
{{#rollTotal() value 44}} 51 {{/rollTotal() value 44}}
{{#rollTotal() value 45}} 52 {{/rollTotal() value 45}}
{{#rollTotal() value 46}} 53 {{/rollTotal() value 46}}
{{#rollTotal() value 47}} 54 {{/rollTotal() value 47}}
{{#rollTotal() value 48}} 55 {{/rollTotal() value 48}}
{{#rollTotal() value 49}} 56 {{/rollTotal() value 49}}
{{#rollTotal() value 50}} 57 {{/rollTotal() value 50}}
{{#rollGreater() value 50}} (value + 17) {{/rollGreater() value 50}}
{{/rollBetween() torgroll 66 70}}
{{#rollBetween() torgroll 71 75}}
{{#rollLess() value 1}} ({{value}} +8) {{/rollLess() value 1}}
{{#rollTotal() value 1}} 9 {{/rollTotal() value 1}}
{{#rollTotal() value 2}} 10 {{/rollTotal() value 2}}
{{#rollTotal() value 3}} 11 {{/rollTotal() value 3}}
{{#rollTotal() value 4}} 12 {{/rollTotal() value 4}}
{{#rollTotal() value 5}} 13 {{/rollTotal() value 5}}
{{#rollTotal() value 6}} 14 {{/rollTotal() value 6}}
{{#rollTotal() value 7}} 15 {{/rollTotal() value 7}}
{{#rollTotal() value 8}} 16 {{/rollTotal() value 8}}
{{#rollTotal() value 9}} 17 {{/rollTotal() value 9}}
{{#rollTotal() value 10}} 18 {{/rollTotal() value 10}}
{{#rollTotal() value 11}} 19 {{/rollTotal() value 11}}
{{#rollTotal() value 12}} 20 {{/rollTotal() value 12}}
{{#rollTotal() value 13}} 21 {{/rollTotal() value 13}}
{{#rollTotal() value 14}} 22 {{/rollTotal() value 14}}
{{#rollTotal() value 15}} 23 {{/rollTotal() value 15}}
{{#rollTotal() value 16}} 24 {{/rollTotal() value 16}}
{{#rollTotal() value 17}} 25 {{/rollTotal() value 17}}
{{#rollTotal() value 18}} 26 {{/rollTotal() value 18}}
{{#rollTotal() value 19}} 27 {{/rollTotal() value 19}}
{{#rollTotal() value 20}} 28 {{/rollTotal() value 20}}
{{#rollTotal() value 21}} 29 {{/rollTotal() value 21}}
{{#rollTotal() value 22}} 30 {{/rollTotal() value 22}}
{{#rollTotal() value 23}} 31 {{/rollTotal() value 23}}
{{#rollTotal() value 24}} 32 {{/rollTotal() value 24}}
{{#rollTotal() value 25}} 33 {{/rollTotal() value 25}}
{{#rollTotal() value 26}} 34 {{/rollTotal() value 26}}
{{#rollTotal() value 27}} 35 {{/rollTotal() value 27}}
{{#rollTotal() value 28}} 36 {{/rollTotal() value 28}}
{{#rollTotal() value 29}} 37 {{/rollTotal() value 29}}
{{#rollTotal() value 30}} 38 {{/rollTotal() value 30}}
{{#rollTotal() value 31}} 39 {{/rollTotal() value 31}}
{{#rollTotal() value 32}} 40 {{/rollTotal() value 32}}
{{#rollTotal() value 33}} 41 {{/rollTotal() value 33}}
{{#rollTotal() value 34}} 42 {{/rollTotal() value 34}}
{{#rollTotal() value 35}} 43 {{/rollTotal() value 35}}
{{#rollTotal() value 36}} 44 {{/rollTotal() value 36}}
{{#rollTotal() value 37}} 45 {{/rollTotal() value 37}}
{{#rollTotal() value 38}} 46 {{/rollTotal() value 38}}
{{#rollTotal() value 39}} 47 {{/rollTotal() value 39}}
{{#rollTotal() value 40}} 48 {{/rollTotal() value 40}}
{{#rollTotal() value 41}} 49 {{/rollTotal() value 41}}
{{#rollTotal() value 42}} 50 {{/rollTotal() value 42}}
{{#rollTotal() value 43}} 51 {{/rollTotal() value 43}}
{{#rollTotal() value 44}} 52 {{/rollTotal() value 44}}
{{#rollTotal() value 45}} 53 {{/rollTotal() value 45}}
{{#rollTotal() value 46}} 54 {{/rollTotal() value 46}}
{{#rollTotal() value 47}} 55 {{/rollTotal() value 47}}
{{#rollTotal() value 48}} 56 {{/rollTotal() value 48}}
{{#rollTotal() value 49}} 57 {{/rollTotal() value 49}}
{{#rollTotal() value 50}} 58 {{/rollTotal() value 50}}
{{#rollGreater() value 50}} (value + 18) {{/rollGreater() value 50}}
{{/rollBetween() torgroll 71 75}}
{{#rollBetween() torgroll 76 80}}
{{#rollLess() value 1}} ({{value}} +9) {{/rollLess() value 1}}
{{#rollTotal() value 1}} 10 {{/rollTotal() value 1}}
{{#rollTotal() value 2}} 11 {{/rollTotal() value 2}}
{{#rollTotal() value 3}} 12 {{/rollTotal() value 3}}
{{#rollTotal() value 4}} 13 {{/rollTotal() value 4}}
{{#rollTotal() value 5}} 14 {{/rollTotal() value 5}}
{{#rollTotal() value 6}} 15 {{/rollTotal() value 6}}
{{#rollTotal() value 7}} 16 {{/rollTotal() value 7}}
{{#rollTotal() value 8}} 17 {{/rollTotal() value 8}}
{{#rollTotal() value 9}} 18 {{/rollTotal() value 9}}
{{#rollTotal() value 10}} 19 {{/rollTotal() value 10}}
{{#rollTotal() value 11}} 20 {{/rollTotal() value 11}}
{{#rollTotal() value 12}} 21 {{/rollTotal() value 12}}
{{#rollTotal() value 13}} 22 {{/rollTotal() value 13}}
{{#rollTotal() value 14}} 23 {{/rollTotal() value 14}}
{{#rollTotal() value 15}} 24 {{/rollTotal() value 15}}
{{#rollTotal() value 16}} 25 {{/rollTotal() value 16}}
{{#rollTotal() value 17}} 26 {{/rollTotal() value 17}}
{{#rollTotal() value 18}} 27 {{/rollTotal() value 18}}
{{#rollTotal() value 19}} 28 {{/rollTotal() value 19}}
{{#rollTotal() value 20}} 29 {{/rollTotal() value 20}}
{{#rollTotal() value 21}} 30 {{/rollTotal() value 21}}
{{#rollTotal() value 22}} 31 {{/rollTotal() value 22}}
{{#rollTotal() value 23}} 32 {{/rollTotal() value 23}}
{{#rollTotal() value 24}} 33 {{/rollTotal() value 24}}
{{#rollTotal() value 25}} 34 {{/rollTotal() value 25}}
{{#rollTotal() value 26}} 35 {{/rollTotal() value 26}}
{{#rollTotal() value 27}} 36 {{/rollTotal() value 27}}
{{#rollTotal() value 28}} 37 {{/rollTotal() value 28}}
{{#rollTotal() value 29}} 38 {{/rollTotal() value 29}}
{{#rollTotal() value 30}} 39 {{/rollTotal() value 30}}
{{#rollTotal() value 31}} 40 {{/rollTotal() value 31}}
{{#rollTotal() value 32}} 41 {{/rollTotal() value 32}}
{{#rollTotal() value 33}} 42 {{/rollTotal() value 33}}
{{#rollTotal() value 34}} 43 {{/rollTotal() value 34}}
{{#rollTotal() value 35}} 44 {{/rollTotal() value 35}}
{{#rollTotal() value 36}} 45 {{/rollTotal() value 36}}
{{#rollTotal() value 37}} 46 {{/rollTotal() value 37}}
{{#rollTotal() value 38}} 47 {{/rollTotal() value 38}}
{{#rollTotal() value 39}} 48 {{/rollTotal() value 39}}
{{#rollTotal() value 40}} 49 {{/rollTotal() value 40}}
{{#rollTotal() value 41}} 50 {{/rollTotal() value 41}}
{{#rollTotal() value 42}} 51 {{/rollTotal() value 42}}
{{#rollTotal() value 43}} 52 {{/rollTotal() value 43}}
{{#rollTotal() value 44}} 53 {{/rollTotal() value 44}}
{{#rollTotal() value 45}} 54 {{/rollTotal() value 45}}
{{#rollTotal() value 46}} 55 {{/rollTotal() value 46}}
{{#rollTotal() value 47}} 56 {{/rollTotal() value 47}}
{{#rollTotal() value 48}} 57 {{/rollTotal() value 48}}
{{#rollTotal() value 49}} 58 {{/rollTotal() value 49}}
{{#rollTotal() value 50}} 59 {{/rollTotal() value 50}}
{{#rollGreater() value 50}} (value + 19) {{/rollGreater() value 50}}
{{/rollBetween() torgroll 76 80}}
{{#rollBetween() torgroll 81 85}}
{{#rollLess() value 1}} ({{value}} +10) {{/rollLess() value 1}}
{{#rollTotal() value 1}} 11 {{/rollTotal() value 1}}
{{#rollTotal() value 2}} 12 {{/rollTotal() value 2}}
{{#rollTotal() value 3}} 13 {{/rollTotal() value 3}}
{{#rollTotal() value 4}} 14 {{/rollTotal() value 4}}
{{#rollTotal() value 5}} 15 {{/rollTotal() value 5}}
{{#rollTotal() value 6}} 16 {{/rollTotal() value 6}}
{{#rollTotal() value 7}} 17 {{/rollTotal() value 7}}
{{#rollTotal() value 8}} 18 {{/rollTotal() value 8}}
{{#rollTotal() value 9}} 19 {{/rollTotal() value 9}}
{{#rollTotal() value 10}} 20 {{/rollTotal() value 10}}
{{#rollTotal() value 11}} 21 {{/rollTotal() value 11}}
{{#rollTotal() value 12}} 22 {{/rollTotal() value 12}}
{{#rollTotal() value 13}} 23 {{/rollTotal() value 13}}
{{#rollTotal() value 14}} 24 {{/rollTotal() value 14}}
{{#rollTotal() value 15}} 25 {{/rollTotal() value 15}}
{{#rollTotal() value 16}} 26 {{/rollTotal() value 16}}
{{#rollTotal() value 17}} 27 {{/rollTotal() value 17}}
{{#rollTotal() value 18}} 28 {{/rollTotal() value 18}}
{{#rollTotal() value 19}} 29 {{/rollTotal() value 19}}
{{#rollTotal() value 20}} 30 {{/rollTotal() value 20}}
{{#rollTotal() value 21}} 31 {{/rollTotal() value 21}}
{{#rollTotal() value 22}} 32 {{/rollTotal() value 22}}
{{#rollTotal() value 23}} 33 {{/rollTotal() value 23}}
{{#rollTotal() value 24}} 34 {{/rollTotal() value 24}}
{{#rollTotal() value 25}} 35 {{/rollTotal() value 25}}
{{#rollTotal() value 26}} 36 {{/rollTotal() value 26}}
{{#rollTotal() value 27}} 37 {{/rollTotal() value 27}}
{{#rollTotal() value 28}} 38 {{/rollTotal() value 28}}
{{#rollTotal() value 29}} 39 {{/rollTotal() value 29}}
{{#rollTotal() value 30}} 40 {{/rollTotal() value 30}}
{{#rollTotal() value 31}} 41 {{/rollTotal() value 31}}
{{#rollTotal() value 32}} 42 {{/rollTotal() value 32}}
{{#rollTotal() value 33}} 43 {{/rollTotal() value 33}}
{{#rollTotal() value 34}} 44 {{/rollTotal() value 34}}
{{#rollTotal() value 35}} 45 {{/rollTotal() value 35}}
{{#rollTotal() value 36}} 46 {{/rollTotal() value 36}}
{{#rollTotal() value 37}} 47 {{/rollTotal() value 37}}
{{#rollTotal() value 38}} 48 {{/rollTotal() value 38}}
{{#rollTotal() value 39}} 49 {{/rollTotal() value 39}}
{{#rollTotal() value 40}} 50 {{/rollTotal() value 40}}
{{#rollTotal() value 41}} 51 {{/rollTotal() value 41}}
{{#rollTotal() value 42}} 52 {{/rollTotal() value 42}}
{{#rollTotal() value 43}} 53 {{/rollTotal() value 43}}
{{#rollTotal() value 44}} 54 {{/rollTotal() value 44}}
{{#rollTotal() value 45}} 55 {{/rollTotal() value 45}}
{{#rollTotal() value 46}} 56 {{/rollTotal() value 46}}
{{#rollTotal() value 47}} 57 {{/rollTotal() value 47}}
{{#rollTotal() value 48}} 58 {{/rollTotal() value 48}}
{{#rollTotal() value 49}} 59 {{/rollTotal() value 49}}
{{#rollTotal() value 50}} 60 {{/rollTotal() value 50}}
{{#rollGreater() value 50}} (value + 20) {{/rollGreater() value 50}}
{{/rollBetween() torgroll 81 85}}
{{#rollBetween() torgroll 86 90}}
{{#rollLess() value 1}} ({{value}} +11) {{/rollLess() value 1}}
{{#rollTotal() value 1}} 12 {{/rollTotal() value 1}}
{{#rollTotal() value 2}} 13 {{/rollTotal() value 2}}
{{#rollTotal() value 3}} 14 {{/rollTotal() value 3}}
{{#rollTotal() value 4}} 15 {{/rollTotal() value 4}}
{{#rollTotal() value 5}} 16 {{/rollTotal() value 5}}
{{#rollTotal() value 6}} 17 {{/rollTotal() value 6}}
{{#rollTotal() value 7}} 18 {{/rollTotal() value 7}}
{{#rollTotal() value 8}} 19 {{/rollTotal() value 8}}
{{#rollTotal() value 9}} 20 {{/rollTotal() value 9}}
{{#rollTotal() value 10}} 21 {{/rollTotal() value 10}}
{{#rollTotal() value 11}} 22 {{/rollTotal() value 11}}
{{#rollTotal() value 12}} 23 {{/rollTotal() value 12}}
{{#rollTotal() value 13}} 24 {{/rollTotal() value 13}}
{{#rollTotal() value 14}} 25 {{/rollTotal() value 14}}
{{#rollTotal() value 15}} 26 {{/rollTotal() value 15}}
{{#rollTotal() value 16}} 27 {{/rollTotal() value 16}}
{{#rollTotal() value 17}} 28 {{/rollTotal() value 17}}
{{#rollTotal() value 18}} 29 {{/rollTotal() value 18}}
{{#rollTotal() value 19}} 30 {{/rollTotal() value 19}}
{{#rollTotal() value 20}} 31 {{/rollTotal() value 20}}
{{#rollTotal() value 21}} 32 {{/rollTotal() value 21}}
{{#rollTotal() value 22}} 33 {{/rollTotal() value 22}}
{{#rollTotal() value 23}} 34 {{/rollTotal() value 23}}
{{#rollTotal() value 24}} 35 {{/rollTotal() value 24}}
{{#rollTotal() value 25}} 36 {{/rollTotal() value 25}}
{{#rollTotal() value 26}} 37 {{/rollTotal() value 26}}
{{#rollTotal() value 27}} 38 {{/rollTotal() value 27}}
{{#rollTotal() value 28}} 39 {{/rollTotal() value 28}}
{{#rollTotal() value 29}} 40 {{/rollTotal() value 29}}
{{#rollTotal() value 30}} 41 {{/rollTotal() value 30}}
{{#rollTotal() value 31}} 42 {{/rollTotal() value 31}}
{{#rollTotal() value 32}} 43 {{/rollTotal() value 32}}
{{#rollTotal() value 33}} 44 {{/rollTotal() value 33}}
{{#rollTotal() value 34}} 45 {{/rollTotal() value 34}}
{{#rollTotal() value 35}} 46 {{/rollTotal() value 35}}
{{#rollTotal() value 36}} 47 {{/rollTotal() value 36}}
{{#rollTotal() value 37}} 48 {{/rollTotal() value 37}}
{{#rollTotal() value 38}} 49 {{/rollTotal() value 38}}
{{#rollTotal() value 39}} 50 {{/rollTotal() value 39}}
{{#rollTotal() value 40}} 51 {{/rollTotal() value 40}}
{{#rollTotal() value 41}} 52 {{/rollTotal() value 41}}
{{#rollTotal() value 42}} 53 {{/rollTotal() value 42}}
{{#rollTotal() value 43}} 54 {{/rollTotal() value 43}}
{{#rollTotal() value 44}} 55 {{/rollTotal() value 44}}
{{#rollTotal() value 45}} 56 {{/rollTotal() value 45}}
{{#rollTotal() value 46}} 57 {{/rollTotal() value 46}}
{{#rollTotal() value 47}} 58 {{/rollTotal() value 47}}
{{#rollTotal() value 48}} 59 {{/rollTotal() value 48}}
{{#rollTotal() value 49}} 60 {{/rollTotal() value 49}}
{{#rollTotal() value 50}} 61 {{/rollTotal() value 50}}
{{#rollGreater() value 50}} (value + 21) {{/rollGreater() value 50}}
{{/rollBetween() torgroll 86 90}}
{{#rollBetween() torgroll 91 95}}
{{#rollLess() value 1}} ({{value}} +12) {{/rollLess() value 1}}
{{#rollTotal() value 1}} 13 {{/rollTotal() value 1}}
{{#rollTotal() value 2}} 14 {{/rollTotal() value 2}}
{{#rollTotal() value 3}} 15 {{/rollTotal() value 3}}
{{#rollTotal() value 4}} 16 {{/rollTotal() value 4}}
{{#rollTotal() value 5}} 17 {{/rollTotal() value 5}}
{{#rollTotal() value 6}} 18 {{/rollTotal() value 6}}
{{#rollTotal() value 7}} 19 {{/rollTotal() value 7}}
{{#rollTotal() value 8}} 20 {{/rollTotal() value 8}}
{{#rollTotal() value 9}} 21 {{/rollTotal() value 9}}
{{#rollTotal() value 10}} 22 {{/rollTotal() value 10}}
{{#rollTotal() value 11}} 23 {{/rollTotal() value 11}}
{{#rollTotal() value 12}} 24 {{/rollTotal() value 12}}
{{#rollTotal() value 13}} 25 {{/rollTotal() value 13}}
{{#rollTotal() value 14}} 26 {{/rollTotal() value 14}}
{{#rollTotal() value 15}} 27 {{/rollTotal() value 15}}
{{#rollTotal() value 16}} 28 {{/rollTotal() value 16}}
{{#rollTotal() value 17}} 29 {{/rollTotal() value 17}}
{{#rollTotal() value 18}} 30 {{/rollTotal() value 18}}
{{#rollTotal() value 19}} 31 {{/rollTotal() value 19}}
{{#rollTotal() value 20}} 32 {{/rollTotal() value 20}}
{{#rollTotal() value 21}} 33 {{/rollTotal() value 21}}
{{#rollTotal() value 22}} 34 {{/rollTotal() value 22}}
{{#rollTotal() value 23}} 35 {{/rollTotal() value 23}}
{{#rollTotal() value 24}} 36 {{/rollTotal() value 24}}
{{#rollTotal() value 25}} 37 {{/rollTotal() value 25}}
{{#rollTotal() value 26}} 38 {{/rollTotal() value 26}}
{{#rollTotal() value 27}} 39 {{/rollTotal() value 27}}
{{#rollTotal() value 28}} 40 {{/rollTotal() value 28}}
{{#rollTotal() value 29}} 41 {{/rollTotal() value 29}}
{{#rollTotal() value 30}} 42 {{/rollTotal() value 30}}
{{#rollTotal() value 31}} 43 {{/rollTotal() value 31}}
{{#rollTotal() value 32}} 44 {{/rollTotal() value 32}}
{{#rollTotal() value 33}} 45 {{/rollTotal() value 33}}
{{#rollTotal() value 34}} 46 {{/rollTotal() value 34}}
{{#rollTotal() value 35}} 47 {{/rollTotal() value 35}}
{{#rollTotal() value 36}} 48 {{/rollTotal() value 36}}
{{#rollTotal() value 37}} 49 {{/rollTotal() value 37}}
{{#rollTotal() value 38}} 50 {{/rollTotal() value 38}}
{{#rollTotal() value 39}} 51 {{/rollTotal() value 39}}
{{#rollTotal() value 40}} 52 {{/rollTotal() value 40}}
{{#rollTotal() value 41}} 53 {{/rollTotal() value 41}}
{{#rollTotal() value 42}} 54 {{/rollTotal() value 42}}
{{#rollTotal() value 43}} 55 {{/rollTotal() value 43}}
{{#rollTotal() value 44}} 56 {{/rollTotal() value 44}}
{{#rollTotal() value 45}} 57 {{/rollTotal() value 45}}
{{#rollTotal() value 46}} 58 {{/rollTotal() value 46}}
{{#rollTotal() value 47}} 59 {{/rollTotal() value 47}}
{{#rollTotal() value 48}} 60 {{/rollTotal() value 48}}
{{#rollTotal() value 49}} 61 {{/rollTotal() value 49}}
{{#rollTotal() value 50}} 62 {{/rollTotal() value 50}}
{{#rollGreater() value 50}} (value + 22) {{/rollGreater() value 50}}
{{/rollBetween() torgroll 91 95}}
{{#rollBetween() torgroll 96 100}}
{{#rollLess() value 1}} ({{value}} +13) {{/rollLess() value 1}}
{{#rollTotal() value 1}} 14 {{/rollTotal() value 1}}
{{#rollTotal() value 2}} 15 {{/rollTotal() value 2}}
{{#rollTotal() value 3}} 16 {{/rollTotal() value 3}}
{{#rollTotal() value 4}} 17 {{/rollTotal() value 4}}
{{#rollTotal() value 5}} 18 {{/rollTotal() value 5}}
{{#rollTotal() value 6}} 19 {{/rollTotal() value 6}}
{{#rollTotal() value 7}} 20 {{/rollTotal() value 7}}
{{#rollTotal() value 8}} 21 {{/rollTotal() value 8}}
{{#rollTotal() value 9}} 22 {{/rollTotal() value 9}}
{{#rollTotal() value 10}} 23 {{/rollTotal() value 10}}
{{#rollTotal() value 11}} 24 {{/rollTotal() value 11}}
{{#rollTotal() value 12}} 25 {{/rollTotal() value 12}}
{{#rollTotal() value 13}} 26 {{/rollTotal() value 13}}
{{#rollTotal() value 14}} 27 {{/rollTotal() value 14}}
{{#rollTotal() value 15}} 28 {{/rollTotal() value 15}}
{{#rollTotal() value 16}} 29 {{/rollTotal() value 16}}
{{#rollTotal() value 17}} 30 {{/rollTotal() value 17}}
{{#rollTotal() value 18}} 31 {{/rollTotal() value 18}}
{{#rollTotal() value 19}} 32 {{/rollTotal() value 19}}
{{#rollTotal() value 20}} 33 {{/rollTotal() value 20}}
{{#rollTotal() value 21}} 34 {{/rollTotal() value 21}}
{{#rollTotal() value 22}} 35 {{/rollTotal() value 22}}
{{#rollTotal() value 23}} 36 {{/rollTotal() value 23}}
{{#rollTotal() value 24}} 37 {{/rollTotal() value 24}}
{{#rollTotal() value 25}} 38 {{/rollTotal() value 25}}
{{#rollTotal() value 26}} 39 {{/rollTotal() value 26}}
{{#rollTotal() value 27}} 40 {{/rollTotal() value 27}}
{{#rollTotal() value 28}} 41 {{/rollTotal() value 28}}
{{#rollTotal() value 29}} 42 {{/rollTotal() value 29}}
{{#rollTotal() value 30}} 43 {{/rollTotal() value 30}}
{{#rollTotal() value 31}} 44 {{/rollTotal() value 31}}
{{#rollTotal() value 32}} 45 {{/rollTotal() value 32}}
{{#rollTotal() value 33}} 46 {{/rollTotal() value 33}}
{{#rollTotal() value 34}} 47 {{/rollTotal() value 34}}
{{#rollTotal() value 35}} 48 {{/rollTotal() value 35}}
{{#rollTotal() value 36}} 49 {{/rollTotal() value 36}}
{{#rollTotal() value 37}} 50 {{/rollTotal() value 37}}
{{#rollTotal() value 38}} 51 {{/rollTotal() value 38}}
{{#rollTotal() value 39}} 52 {{/rollTotal() value 39}}
{{#rollTotal() value 40}} 53 {{/rollTotal() value 40}}
{{#rollTotal() value 41}} 54 {{/rollTotal() value 41}}
{{#rollTotal() value 42}} 55 {{/rollTotal() value 42}}
{{#rollTotal() value 43}} 56 {{/rollTotal() value 43}}
{{#rollTotal() value 44}} 57 {{/rollTotal() value 44}}
{{#rollTotal() value 45}} 58 {{/rollTotal() value 45}}
{{#rollTotal() value 46}} 59 {{/rollTotal() value 46}}
{{#rollTotal() value 47}} 60 {{/rollTotal() value 47}}
{{#rollTotal() value 48}} 61 {{/rollTotal() value 48}}
{{#rollTotal() value 49}} 62 {{/rollTotal() value 49}}
{{#rollTotal() value 50}} 63 {{/rollTotal() value 50}}
{{#rollGreater() value 50}} (value + 23) {{/rollGreater() value 50}}
{{/rollBetween() torgroll 96 100}}
{{#rollGreater() torgroll 100}}
{{#rollLess() value 1}} (Roll/5 -7) {{/rollLess() value 1}}
{{#rollTotal() value 1}} (Roll/5 -6) {{/rollTotal() value 1}}
{{#rollTotal() value 2}} (Roll/5 -5) {{/rollTotal() value 2}}
{{#rollTotal() value 3}} (Roll/5 -4) {{/rollTotal() value 3}}
{{#rollTotal() value 4}} (Roll/5 -3) {{/rollTotal() value 4}}
{{#rollTotal() value 5}} (Roll/5 -2) {{/rollTotal() value 5}}
{{#rollTotal() value 6}} (Roll/5 -1) {{/rollTotal() value 6}}
{{#rollTotal() value 7}} (Roll/5) {{/rollTotal() value 7}}
{{#rollTotal() value 8}} (1 + Roll/5) {{/rollTotal() value 8}}
{{#rollTotal() value 9}} (2 + Roll/5) {{/rollTotal() value 9}}
{{#rollTotal() value 10}} (3 + Roll/5) {{/rollTotal() value 10}}
{{#rollTotal() value 11}} (4 + Roll/5) {{/rollTotal() value 11}}
{{#rollTotal() value 12}} (5 + Roll/5) {{/rollTotal() value 12}}
{{#rollTotal() value 13}} (6 + Roll/5) {{/rollTotal() value 13}}
{{#rollTotal() value 14}} (7 + Roll/5) {{/rollTotal() value 14}}
{{#rollTotal() value 15}} (8 + Roll/5) {{/rollTotal() value 15}}
{{#rollTotal() value 16}} (9 + Roll/5) {{/rollTotal() value 16}}
{{#rollTotal() value 17}} (10 + Roll/5) {{/rollTotal() value 17}}
{{#rollTotal() value 18}} (11 + Roll/5) {{/rollTotal() value 18}}
{{#rollTotal() value 19}} (12 + Roll/5) {{/rollTotal() value 19}}
{{#rollTotal() value 20}} (13 + Roll/5) {{/rollTotal() value 20}}
{{#rollTotal() value 21}} (14 + Roll/5) {{/rollTotal() value 21}}
{{#rollTotal() value 22}} (15 + Roll/5) {{/rollTotal() value 22}}
{{#rollTotal() value 23}} (16 + Roll/5) {{/rollTotal() value 23}}
{{#rollTotal() value 24}} (17 + Roll/5) {{/rollTotal() value 24}}
{{#rollTotal() value 25}} (18 + Roll/5) {{/rollTotal() value 25}}
{{#rollTotal() value 26}} (19 + Roll/5) {{/rollTotal() value 26}}
{{#rollTotal() value 27}} (20 + Roll/5) {{/rollTotal() value 27}}
{{#rollTotal() value 28}} (21 + Roll/5) {{/rollTotal() value 28}}
{{#rollTotal() value 29}} (22 + Roll/5) {{/rollTotal() value 29}}
{{#rollTotal() value 30}} (23 + Roll/5) {{/rollTotal() value 30}}
{{#rollTotal() value 31}} (24 + Roll/5) {{/rollTotal() value 31}}
{{#rollTotal() value 32}} (25 + Roll/5) {{/rollTotal() value 32}}
{{#rollTotal() value 33}} (26 + Roll/5) {{/rollTotal() value 33}}
{{#rollTotal() value 34}} (27 + Roll/5) {{/rollTotal() value 34}}
{{#rollTotal() value 35}} (28 + Roll/5) {{/rollTotal() value 35}}
{{#rollTotal() value 36}} (29 + Roll/5) {{/rollTotal() value 36}}
{{#rollTotal() value 37}} (30 + Roll/5) {{/rollTotal() value 37}}
{{#rollTotal() value 38}} (31 + Roll/5) {{/rollTotal() value 38}}
{{#rollTotal() value 39}} (32 + Roll/5) {{/rollTotal() value 39}}
{{#rollTotal() value 40}} (33 + Roll/5) {{/rollTotal() value 40}}
{{#rollTotal() value 41}} (34 + Roll/5) {{/rollTotal() value 41}}
{{#rollTotal() value 42}} (35 + Roll/5) {{/rollTotal() value 42}}
{{#rollTotal() value 43}} (36 + Roll/5) {{/rollTotal() value 43}}
{{#rollTotal() value 44}} (37 + Roll/5) {{/rollTotal() value 44}}
{{#rollTotal() value 45}} (38 + Roll/5) {{/rollTotal() value 45}}
{{#rollTotal() value 46}} (39 + Roll/5) {{/rollTotal() value 46}}
{{#rollTotal() value 47}} (40 + Roll/5) {{/rollTotal() value 47}}
{{#rollTotal() value 48}} (41 + Roll/5) {{/rollTotal() value 48}}
{{#rollTotal() value 49}} (42 + Roll/5) {{/rollTotal() value 49}}
{{#rollTotal() value 50}} (43 + Roll/5) {{/rollTotal() value 50}}
{{#rollGreater() value 50}} (44 + Roll/5) {{/rollGreater() value 50}}
{{/rollGreater() torgroll 100}}
</span>
</div>
{{/value}}
{{#torgroll}}
{{#rollLess() torgroll 5}}
{{#^rollGreater() torgroll 59}}
<div class="template-row arrow-container">
<div class="arrow-right"></div>
</div>
{{/^rollGreater() torgroll 59}}
{{/rollLess() torgroll 5}}
{{#^rollLess() torgroll 5}}
{{#rollGreater() torgroll 59}}
<div class="template-row arrow-container">
<div class="arrow-right"></div>
</div>
{{/rollGreater() torgroll 59}}
{{/^rollLess() torgroll 5}}
{{#rollLess() torgroll 5}}
{{#rollGreater() torgroll 59}}
<div class="template-row arrow-container">
<div class="arrow-right"></div>
</div>
{{/rollGreater() torgroll 59}}
{{/rollLess() torgroll 5}}
{{/torgroll}}
{{#rollLess() torgroll 5}}
<div class="template-row">
<span class="template-label">
Disconnect
</span>
<span class="template-value template-disconnect">
{{#rollLess() torgroll 2}}
If 1 Case
{{/rollLess() torgroll 2}}
{{#^rollLess() torgroll 2}}
If 4 Case
{{/^rollLess() torgroll 2}}
</span>
</div>
{{/rollLess() torgroll 5}}
{{#rollGreater() torgroll 59}}
<div class="template-row">
<span class="template-label template-glory">
Roll of 60+
</span>
<span class="template-value template-glory">
possible Glory
</span>
</div>
{{/rollGreater() torgroll 59}}
{{/defense}}
{{#buttons}}
<div class="template-row arrow-container">
<div class="arrow-right"></div>
</div>
<div class="template-row buttons">
{{buttons}}
</div>
{{/buttons}}
{{#allprops() who what why defense stymied wounded modifier score value torgroll lastroll buttons note
casting range duration target}}
<div class="template-row template-extras">
<span class="template-label template-extras">
{{key}}
</span>
<span class="template-value">
{{value}}
</span>
</div>
{{/allprops() who what why defense stymied wounded modifier score value torgroll lastroll buttons note
casting range duration target}}
{{#note}}
<div class="template-row arrow-container">
<div class="arrow-right"></div>
</div>
<div class="template-row template-note">
<span class="template-width template-note">
{{note}}
</span>
</div>
{{/note}}
</div>
</rolltemplate>
<rolltemplate class="sheet-rolltemplate-custom">
<div class="sheet-container sheet-color-{{color}}">
<div class="sheet-header">
{{#title}}
<div class="sheet-title">{{title}}</div>
{{/title}}
{{#subtitle}}
<div class="sheet-subtitle">{{subtitle}}</div>
{{/subtitle}}
</div>
<div class="sheet-content">
{{#allprops() title subtitle desc color}}
<div class="sheet-key">{{key}}</div>
<div class="sheet-value">{{value}}</div>
{{/allprops() title subtitle desc color}}
{{#desc}}
<div class="sheet-desc">{{desc}}</div>
{{/desc}}
</div>
</div>
</rolltemplate>
<rolltemplate class="sheet-rolltemplate-damage">
<div class="template-wrapper">
<div class="template-row"><span class="template-header">{{who}}</span></div>
<div class="template-row"><span class="template-subtitle">{{what}}</span></div>
{{#why}}
<div class="template-row right"><span class="template-subtitle right"> ({{why}})</span></div>
{{/why}}
<div class="template-row arrow-container">
<div class="arrow-right"></div>
</div>
{{#toughness}}
<div class="template-row result">
<span class="template-label">Base Damage: </span>
<span class="template-value">{{basedamage}}</span>
</div>
<div class="template-row result">
<span class="template-label">Toughness: </span>
<span class="template-value">{{toughness}}</span>
</div>
{{/toughness}}
<!-- ensure there is only one heavy line between this section and next-->
{{#lastroll}}
<div class="template-row result">
<span class="template-label">Last Roll: </span>
<span class="template-value">{{lastroll}}</span>
</div>
{{/lastroll}}
{{#toughness}}
{{#^lastroll}}
<div class="template-row arrow-container">
<div class="arrow-right"></div>
</div>
{{/^lastroll}}
{{/toughness}}
{{#^toughness}}
{{#lastroll}}
<div class="template-row arrow-container">
<div class="arrow-right"></div>
</div>
{{/lastroll}}
{{/^toughness}}
{{#toughness}}
{{#lastroll}}
<div class="template-row arrow-container">
<div class="arrow-right"></div>
</div>
{{/lastroll}}
{{/toughness}}
<!-- ensure there is only one heavy line - finished-->
<div class="template-row highlight result">
<span class="template-label">
{{#lastroll}}New {{/lastroll}}{{#rollTotal() damagetype 0}}Damage: {{/rollTotal() damagetype 0}}{{#rollGreater() damagetype 0}}Effect: {{/rollGreater() damagetype 0}}
</span>
<span class="template-value">{{damage}}</span>
</div>
{{#rollGreater() damagetype 0}}
<div class="template-row arrow-container">
<div class="arrow-right"></div>
</div>
<div class="template-row highlight result">
<span class="template-label">Wounds: </span>
<span class="template-value">
{{#rollLess() damage 5}}0{{/rollLess() damage 5}}
{{#rollBetween() damage 5 9}}1{{/rollBetween() damage 5 9}}
{{#rollBetween() damage 10 14}}2{{/rollBetween() damage 10 14}}
{{#rollBetween() damage 15 19}}3{{/rollBetween() damage 15 19}}
{{#rollBetween() damage 20 24}}4{{/rollBetween() damage 20 24}}
{{#rollBetween() damage 25 29}}5{{/rollBetween() damage 25 29}}
{{#rollBetween() damage 30 34}}6{{/rollBetween() damage 30 34}}
{{#rollBetween() damage 35 39}}7{{/rollBetween() damage 35 39}}
{{#rollBetween() damage 40 44}}8{{/rollBetween() damage 40 44}}
{{#rollBetween() damage 45 49}}9{{/rollBetween() damage 45 49}}
{{#rollGreater() damage 50}}(Effect / 5){{/rollGreater() damage 50}}
</span>
</div>
<div class="template-row highlight result">
<span class="template-label">Shock: </span>
<span class="template-value damage">
{{#rollLess() damage -5}}0{{/rollLess() damage -5}}
{{#rollBetween() damage -5 -1}}1{{/rollBetween() damage -5 -1}}
{{#rollBetween() damage 0 4}}2{{/rollBetween() damage 0 4}}
{{#rollBetween() damage 5 9}}2{{/rollBetween() damage 5 9}}
{{#rollBetween() damage 10 14}}4{{/rollBetween() damage 10 14}}
{{#rollBetween() damage 15 19}}6{{/rollBetween() damage 15 19}}
{{#rollBetween() damage 20 24}}8{{/rollBetween() damage 20 24}}
{{#rollBetween() damage 25 29}}10{{/rollBetween() damage 25 29}}
{{#rollBetween() damage 30 34}}12{{/rollBetween() damage 30 34}}
{{#rollBetween() damage 35 39}}14{{/rollBetween() damage 35 39}}
{{#rollBetween() damage 40 44}}16{{/rollBetween() damage 40 44}}
{{#rollBetween() damage 45 49}}18{{/rollBetween() damage 45 49}}
{{#rollGreater() damage 50}}(Effect / 5) x2{{/rollGreater() damage 50}}
</span>
</div>
{{/rollGreater() damagetype 0}}
{{#buttons}}
<div class="template-row arrow-container">
<div class="arrow-right"></div>
</div>
<div class="template-row buttons">{{buttons}}</div>
{{/buttons}}
{{#note}}
<div class="template-row arrow-container">
<div class="arrow-right"></div>
</div>
<div class="template-row">
<span class="template-width template-note">
{{note}}
</span>
</div>
{{/note}}
</div>
</rolltemplate>
<script type="text/worker">
const int = (score, error = 0) => parseInt(score) || error;
const float = (score, error = 0) => parseFloat(score) || error;
const clog = (text, color ='green', title = '') => {
const message = title ? `%c ${title}
${text}` : `%c ${text}`;
console.log(message, `color: ${color}; font-weight:bold`);
};
const repeatingFieldName = (section, id, field) => `repeating_${section}_${id}_${field}`;
const CODEVERSION = 4.01;
const NAMELENGTH = 21;
// this is not a complete listing of attributes in the sheet, just those that are in handy groups for certain sheet workers.
const statgroups = {
panels: ['skills', 'possibilities', 'derived'],
displayButtons: ['Attacks', 'Perks', 'Armor', 'Equipment', 'Deeds', 'Glory', 'Connection'],
buttonTypes: ['torg', 'Possibility', 'UP'],
stats: ['CHA', 'DEX', 'MIN', 'SPI', 'STR'],
statLabels: ['Charisma', 'Dexterity', 'Mind', 'Spirit', 'Strength'],
skills: ['AirVehicles', 'Alteration', 'Apportation', 'BeastRiding', 'Computers', 'Conjuration', 'Divination', 'Dodge', 'EnergyWeapons', 'EvidenceAnalysis', 'Faith', 'Find', 'FireCombat', 'FirstAid', 'HeavyWeapons', 'Intimidate', 'Kinesis', 'LandVehicles', /*'Language',*/ 'Lockpicking', 'Maneuver', 'Medicine', 'MeleeWeapons', 'MissileWeapons', 'Persuasion', 'Precognition', 'Profession', 'Reality', 'Scholar', 'Science', 'Stealth', 'Streetwise', 'Survival', 'Taunt', 'Telepathy', 'Tracking', 'Trick', 'UnarmedCombat', 'WaterVehicles', 'Willpower'],
skillLabels: ['Air Vehicles', 'Alteration', 'Apportation', 'Beast Riding', 'Computers', 'Conjuration', 'Divination', 'Dodge', 'Energy Weapons', 'Evidence Analysis', 'Faith', 'Find', 'Fire Combat', 'First Aid', 'Heavy Weapons', 'Intimidate', 'Kinesis', 'Land Vehicles', /*'Language',*/ 'Lockpicking', 'Maneuver', 'Medicine', 'Melee Weapons', 'Missile Weapons', 'Persuasion', 'Precognition', 'Profession', 'Reality', 'Scholar', 'Science', 'Stealth', 'Streetwise', 'Survival', 'Taunt', 'Telepathy', 'Tracking', 'Trick', 'Unarmed Combat', 'Water Vehicles', 'Willpower'],
skillsplit: ['Vehicles', 'Riding', 'Weapons', 'Combat', 'Analysis', 'Aid'],
defenses: {
Dodge: 'DEX',
MeleeWeapons: 'DEX',
UnarmedCombat: 'DEX',
Intimidate: 'CHA',
Maneuver: 'DEX',
Taunt: 'CHA',
Trick: 'SPI',
Faith: 'SPI',
Willpower: 'SPI',
},
armorFields: [`repeating_armor:Armor_DEX`, `repeating_armor:Armor_Worn`, `repeating_armor:Armor_Adds`, `repeating_armor:Armor_Fatigue`],
perkBonuses: ['plus_shock', 'plus_toughness', 'plus_move', 'plus_fatigue'], /*doesnt include wounds, that is handled elsewhere since it is completely independent of stats.*/
};
const constants = {
cosmValues: {
aysle: {
Magic: 24,
Social: 16,
Spiritual: 18,
Tech: 14
},
coreearth: {
Magic: 9,
Social: 23,
Spiritual: 10,
Tech: 23
},
cyberpapacy: {
Magic: 14,
Social: 18,
Spiritual: 16,
Tech: 26
},
livingland: {
Magic: 1,
Social: 7,
Spiritual: 24,
Tech: 6
},
nileempire: {
Magic: 14,
Social: 20,
Spiritual: 18,
Tech: 20
},
orrorsh: {
Magic: 16,
Social: 18,
Spiritual: 16,
Tech: 18
},
panpacifica: {
Magic: 4,
Social: 24,
Spiritual: 8,
Tech: 24
},
tharkold: {
Magic: 12,
Social: 25,
Spiritual: 4,
Tech: 25
}
},
clearance: {
Alpha: 0,
Beta: 50,
Gamma: 200,
Delta: 500,
Omega: 1000
},
};
// skilled = adds, disfavoured = 1 if disfavoured.
// how to distinguish between token types - UP0 and UP1
const rollTypes = {
torg: (insert) => `{{torgroll=[[1d20${insert}cs10cs>20cf1 @{rolltracker}]]}}`,
UP: (insert) => `{{torgroll=[[?{Last Roll?|0}+(1d20${insert}cs10cs>20) @{rolltracker} ]]}} {{lastroll=?{Last Roll?}}}`,
Possibility: (insert) => `{{torgroll=[[?{Last Roll?|0}+({1d20${insert}cs10cs>20,10 + 0d0}kh1) @{rolltracker} ]]}} {{lastroll=?{Last Roll?}}}`,
UP1: (insert) => `{{torgroll=[[@{previous-result}+(1d20${insert}cs10cs>20) &{tracker} ]]}} {{lastroll=@{previous-result}}}`,
Possibility1: (insert) => `{{torgroll=[[@{previous-result}+({1d20${insert}cs10cs>20,10 + 0d0}kh1) &{tracker} ]]}} {{lastroll=@{previous-result}}}`,
insertSkilled: '!10!!20',
insertUnskilled: '!10',
insertDisfavoured: ''
};
const buttonType = (type) => ('torg' === type ? '' : type);
const displayName = which => {
let label = which;
if (statgroups.stats.includes(which)) {
label = statgroups.statLabels[statgroups.stats.indexOf(which)];
} else if (statgroups.skills.includes(which)) {
label = statgroups.skillLabels[statgroups.skills.indexOf(which)];
}
return label;
};
/* toggle top bar when on a PC tab or GM tab; Adventure tab shows if name is filled in. */
on('change:tab change:name sheet:opened', () => {
getAttrs(['tab', 'Name'], v => {
const tab = int(v.tab);
const name = v.Name;
const output = (v.Name && tab === 3 || tab <= 2) ? 0 : 1;
setAttrs({
showtop: output
});
});
});
/*
Name: the display name, often the same as skill with a an extra space in the middle.
skill: the name of the skill attribute. for repeating_attacks, this is number
repeating: the name of a repeating section; if empty, it';'s a single skill.
rollType: torg, UP, or Possibility.
adds: how many skill levels. If 0, unskilled
disfavoured: 1 or 0
attack: if its in the repeating_attacks section; its
extras: if there are extra sections to add to the rolltemlate, like '{{range=@{repeating_attacks_Attack_Range}}}' and so on
this only makes sense if players have a way to manipulate them - the attack_footnote section might be used for this
might be allowed to enter different sections, as long as leave final }} off. So could enter:
this is a footnote}} {{range=60}} {{daffodils=this has no daffodils
the rolltemplate will then use allprops to add any extra elements. It might not be a footer by default, can add a footer in this section.
might add a damage footnote.
footer: if the template includes a footnote to go after the possibility/up buttons
*/
// need to account for stats not having adds, might use adds = 1, for them
const rollTemplate = (Name, skill, adds = 0, rollUP = '', rollToken = 0, repeating = '', disfavoured = 0, extras = '', footer = '') => {
// could use rest to get the last items
let rollQuality = disfavoured ? rollTypes.insertDisfavoured : (adds === 0 ? rollTypes.insertUnskilled : rollTypes.insertSkilled);
const template = '&{template:torg}';
const who = '{{who=@{character_name}}}'; // rollToken === 0 ? '{{who=@{character_name}}}' : '{{who=@{selected|token_name}}}'; (cant use token_name with this posssibility/up system)
const what = `{{what=${Name}}}`;
const why = (rollUP === 'torg') ? '' : `{{why=${rollUP}}}`;
// might add an etxra parameter for subtitle.
const status = '{{stymied=[[@{stymied}[stymied] ]]}} {{wounded=[[ @{wounded} [wounds] ]]}} {{modifier=[[ ?{Modifier|0} [modifier] ]]}}';
const score = `{{score=[[${repeating === 'attacks' ? skill : `@{${skill}}`}]]${disfavoured ? ' (Disfavoured)' : (adds === 0 ? ' (Unskilled)' : '')}}}`;
const value = `{{value=[[10+${repeating === 'attacks' ? skill : `@{${skill}}`}+?{Modifier|0}+@{stymied}+@{wounded}]]}}`;
const rollTypeWhich = rollUP + ((rollUP === 'torg') ? '' : (rollToken === 0 ? '' : 1));
const roll = rollTypes[rollTypeWhich](rollQuality);
const buttons = `{{buttons=[Possibility](~${repeating ? `repeating_${repeating}_` : ''}${(repeating === 'attacks') ? 'Attack' : skill}Possibility) [Up](~${repeating ? `repeating_${repeating}_` : ''}${(repeating === 'attacks') ? 'Attack' : skill}Up)}}`;
const footerPrint = footer ? `{{footer=${footer}}}` : '';
// extras is for weapon details, like range, etc., that must be preformatted. an AllProps section in roll template may handle this.
const output = `${template} ${who} ${what} ${why} {{defense=[[0]]}} ${extras} ${status} ${score} ${value} ${roll} ${buttons} ${footerPrint}`;
return output;
};
const damageTemplate = (damageRollType = 0) => {
let middle = '{{damage=[[@{Attack_Damage}+@{Attack_Damage_Bonus} + (?{Bonus Dice?|0} + @{Attack_Damage_BonusDice})d6!p @{rolltracker}]]}}';
if (damageRollType === 2) {
middle = '{{toughness=@{Target|toughness}}} {{damage=[[@{Attack_Damage}+@{Attack_Damage_Bonus} + (?{Bonus Dice?|0} + @{Attack_Damage_BonusDice})d6!p - @{Target|toughness} @{rolltracker}]]}}';
} else if (damageRollType === 1) {
middle = '{{toughness=?{Target Toughness?|0}}} {{damage=[[@{Attack_Damage}+@{Attack_Damage_Bonus} + (?{Bonus Dice?|0} + @{Attack_Damage_BonusDice})d6!p - ?{Target Toughness?} @{rolltracker}]]}}' ;
}
const output = `&{template:damage} {{who=@{character_name}}} {{what=@{Attack_Name_Full}}} {{damagetype=[[@{rolldamagetype}]]}} {{basedamage=[[@{Attack_Damage}+@{Attack_Damage_Bonus}]]}} {{bonusdice=[[?{Bonus Dice?|0} + @{Attack_Damage_BonusDice}]]}} ${middle} {{buttons=[Bonus Dice](~repeating_attacks_bonusdamage)}} {{note=@{Damage_Footnote}}}`;
return output;
};
// from a set of attributes, convert to a change:x string.
const buildChanges = (list) => list.map(item => `change:${item.toLowerCase()}`).join(' ');
on('change:rolltype sheet:opened', function () {
getAttrs(['rolltype'], function (v) {
const output = (v.rolltype === 'buttons') ? {
rolltracker: '&{tracker}',
rollpossibility: '{{torgroll=[[@{previous-result}+({1d20!10!!20cs10cs,10 + 0d0}kh1) @{rolltracker}]] }} {{lastroll=@{previous-result}}} ',
rollup: '{{torgroll=[[@{previous-result}+(1d20!10!!20cs10cs) @{rolltracker}]] }} {{lastroll=@{previous-result}}} ',
rollmultipossibility: `&{template:torg} {{who=@{character_name}}} {{what=Roll For Bonus}} {{wounded=[[ @{wounded} [wounds] ]]}} {{stymied=[[ @{stymied} [stymied] ]]}} {{modifier=[[ ?{Modifier|0} [modifier] ]]}} {{value=[[10 + ?{Modifier}[Modifier] +@{wounded}[wounds] +@{stymied}[stymied] ]]}} {{torgroll=[[@{previous-result}+({@{skilledquery}cs10cs,10 + 0d0}kh1) @{rolltracker}]] }} {{lastroll=@{previous-result}}} {{defense=[[0]]}} {{buttons=[Possibility](~MultiActionPossibility) [Up](~MultiActionUP)}}`,
rollmultiup: `&{template:torg} {{who=@{character_name}}} {{what=Roll For Bonus}} {{wounded=[[ @{wounded} [wounds] ]]}} {{stymied=[[ @{stymied} [stymied] ]]}} {{modifier=[[ ?{Modifier|0} [modifier] ]]}} {{value=[[10 + ?{Modifier}[Modifier] +@{wounded}[wounds] +@{stymied}[stymied] ]]}} {{torgroll=[[@{previous-result}+(@{skilledquery}cs10cs) @{rolltracker}]] }} {{lastroll=@{previous-result}}} {{defense=[[0]]}} {{buttons=[Possibility](~MultiActionPossibility) [Up](~MultiActionUP)}}`,
rollspecialdamage: '{{buttons=[Bonus Dice](~hiddenbonusdie)}}',
rolldamagelast: '@{previous-result}'
} : {
rolltracker: '',
rollpossibility: '{{torgroll=[[?{Last Roll?|0}+({1d20!10!!20cs10cs,10 + 0d0}kh1) ]] }} {{lastroll=?{Last Roll?}}} ',
rollup: `{{torgroll=[[?{Last Roll?|0}+(1d20!10!!20cs10cs) ]] }} {{lastroll=?{Last Roll?}}} `,
rollmultipossibility: `&{template:torg} {{who=@{character_name}}} {{what=Roll For Bonus}} {{wounded=[[ @{wounded} [wounds] ]]}} {{stymied=[[ @{stymied} [stymied] ]]}} {{modifier=[[ ?{Modifier|0} [modifier] ]]}} {{value=[[10 + ?{Modifier}[Modifier] +@{wounded}[wounds] +@{stymied}[stymied] ]]}} {{torgroll=[[?{Last Roll?|0}+({@{skilledquery}cs10cs,10 + 0d0}kh1) ]] }} {{lastroll=?{Last Roll?}}} {{defense=[[0]]}} {{buttons=[Possibility](~MultiActionPossibility) [Up](~MultiActionUP)}}`,
rollmultiup: `&{template:torg} {{who=@{character_name}}} {{what=Roll For Bonus}} {{wounded=[[ @{wounded} [wounds] ]]}} {{stymied=[[ @{stymied} [stymied] ]]}} {{modifier=[[ ?{Modifier|0} [modifier] ]]}} {{value=[[10 + ?{Modifier}[Modifier] +@{wounded}[wounds] +@{stymied}[stymied] ]]}} {{torgroll=[[?{Last Roll?|0}+(@{skilledquery}cs10cs) ]] }} {{lastroll=?{Last Roll?}}} {{defense=[[0]]}} {{buttons=[Possibility](~MultiActionPossibility) [Up](~MultiActionUP)}}`,
rollspecialdamage: '',
rolldamagelast: '?{Enter Last Effect|0}'
};
setAttrs(output);
});
});
on('change:rolltype sheet:opened', function () {
getAttrs(['rolldamagetype'], function (v) {
const type = int(v.rolldamagetype);
const output = {};
if(type === 2) {
output.rolldamagespecial = '{{toughness=@{Target|toughness}}} {{damage=[[@{repeating_attacks_Attack_Damage}+@{repeating_attacks_Attack_Damage_Bonus} + (?{Bonus Dice?|0} + @{repeating_attacks_Attack_Damage_BonusDice})d6!p - @{Target|toughness} @{rolltracker}]]}}';
} else if(type === 1) {
output.rolldamagespecial = '{{toughness=?{Target Toughness?|0}}} {{damage=[[@{Attack_Damage}+@{Attack_Damage_Bonus} + (?{Bonus Dice?|1} + @{Attack_Damage_BonusDice})d6!p - ?{Target Toughness?} @{rolltracker}]]}}';
} else {
output.rolldamagespecial = '{{damage=[[@{repeating_attacks_Attack_Damage}+@{repeating_attacks_Attack_Damage_Bonus} + (?{Bonus Dice?|1} + @{repeating_attacks_Attack_Damage_BonusDice})d6!p @{rolltracker}]]}}';
}
setAttrs(output, {silent:true});
});
});
/* show/hide floating frames */
statgroups.displayButtons.forEach(item => {
on(`clicked:${item.toLowerCase()}_toggle`, () => {
getSectionIDs(`repeating_${item.toLowerCase()}`, idArray => {
const fieldnames = [];
idArray.forEach(id => fieldnames.push(`repeating_${item.toLowerCase()}_${id}_${item}Toggle`));
fieldnames.push(`${item}_toggle`);
getAttrs(fieldnames, v => {
const value = 1 - int(v[`${item}_toggle`]);
const update = {};
fieldnames.forEach(name => update[name] = value);
setAttrs(update);
});
});
});
});
statgroups.panels.forEach(item => {
on(`clicked:${item}_toggle`, function () {
getAttrs([`${item}_toggle`], function (v) {
setAttrs({
[`${item}_toggle`]: 1 - int(v[`${item}_toggle`])
});
});
});
});
on(`clicked:announcements_close`, function () {
setAttrs({
announcements: 0
});
});
// show/hide all at once
on('change:panelstoggle', () => {
getAttrs(['panelstoggle'], v => {
const output = {};
const setting = int(v.panelstoggle);
statgroups.panels.forEach(panel => {
output[`${panel}_toggle`] = setting;
});
setAttrs(output);
});
});
/* ======================================================= */
/* CALCULATE STATS, SKILLS, defenseS, ROLLTEMPLATE BUTTONS, with one sheet worker */
/* ======================================================= */
// build sets of attributes - stat name with its extras, skill name with its extras, etc.
const statSet = statgroups.stats.reduce((output, stat) => {
output.push(
`${stat}Adj`,
`${stat}Base`
);
return output;
}, []);
const skillSet = statgroups.skills.reduce((output, skill) => {
output.push(
`${skill}Adds`,
`${skill}Adj`,
`${skill}Mod`
);
return output;
}, []);
const defenseSet = Object.keys(statgroups.defenses).reduce((output, defense) => {
output.push(
`defense_${defense}_adds`,
`defense_${defense}`
);
return output;
}, []);
const buttonSet = [];
statgroups.buttonTypes.forEach(type => {
const typename = buttonType(type);
statgroups.stats.forEach(stat => buttonSet.push(`roll${stat}${typename}`));
statgroups.skills.forEach(stat => buttonSet.push(`roll${stat}${typename}`));
});
// possibly use event, so only the relevant sections are triggered.
//
on(`clicked:vulnerable_up clicked:vulnerable_down ${buildChanges(['rolltype','rolldamagetype', 'moveadj', 'shockadj', 'toughness_adds', 'defense_willpowermind_adds', 'version_trick'])} ${buildChanges(statgroups.stats)} ${buildChanges(statgroups.skills)} ${buildChanges(statSet)} ${buildChanges(skillSet)} ${buildChanges(defenseSet)} ${buildChanges(statgroups.armorFields)} ${buildChanges(statgroups.perkBonuses)} change:repeating_attacks remove:repeating_armor sheet:opened`, (event) => {
getSectionIDs('repeating_attacks', idAttacks => {
const attackStats = {
FullName: `Attack_Name_Full`,
Name: `Attack_Name`,
Damage: `Attack_Damage`,
DamageName: `Attack_Damage_Name`,
DamageAdd: `Attack_Damage_Add`,
DamageDisplay: `Attack_Damage_Display`,
Axiom1Name: `Attack_Axiom1_Name`,
Axiom2Name: `Attack_Axiom2_Name`,
Axiom1Score: `Attack_Axiom1_Score`,
Axiom2Score: `Attack_Axiom2_Score`,
Axiom: `Attack_Axiom`,
Ammo: `Attack_Ammo`,
AmmoMax: `Attack_Ammo_Capacity`,
AttackBonus: `Attack_Attack_Bonus`,
AttackScore: `Attack_Skill_Name`,
AttackNote: `Attack_Footnote`,
DamageNote: 'Damage_Footnote',
DamageRoll: 'rollDamage'
};
const attackfields = [];
idAttacks.forEach(id => Object.values(attackStats).forEach(attack => attackfields.push(repeatingFieldName('attacks',id,attack))));
getSectionIDs('repeating_armor', idArmour => {
const armorfields = [];
idArmour.forEach(id => {
armorfields.push(
`repeating_armor_${id}_Armor_DEX`,
`repeating_armor_${id}_Armor_Worn`,
`repeating_armor_${id}_Armor_Adds`,
`repeating_armor_${id}_Armor_Fatigue`
);
});
getAttrs(['version', 'version_trick', 'rolltype', 'rolldamagetype', ...statgroups.stats, ...statSet, ...statgroups.skills, ...skillSet, ...defenseSet, ...buttonSet, ...armorfields, ...attackfields, ...statgroups.perkBonuses, 'Movement', 'MoveAdj', 'ShockAdj', 'Shock_max', 'vulnerable_level', 'toughness_adds', 'defense_WillpowerMind_adds', 'Armor', 'fatigue'], v => {
const version = float(v.version);
if (version < CODEVERSION) {
return;
}
const output = {};
//vunerable level
let vulnerable_level = int(v[`vulnerable_level`]);
if (event.triggerName.indexOf('vulnerable') > -1) {
const direction = (event.triggerName.slice(-2) === 'up') ? 1 : -1;
vulnerable_level = Math.min(2, Math.max(0, vulnerable_level + 1 * direction));
output[`vulnerable_level`] = vulnerable_level;
output[`vulnerable`] = vulnerable_level * -2;
}
const vulnerable = vulnerable_level * -2;
// get armour limits/bonuses
let armorDEX = 10000;
let armorAdds = 0;
let armorFAT = 0;
idArmour.forEach(id => {
const worn = int(v[`repeating_armor_${id}_Armor_Worn`]);
if (worn) {
armorAdds = Math.max(armorAdds, int(v[`repeating_armor_${id}_Armor_Adds`]));
armorDEX = Math.min(armorDEX, int(v[`repeating_armor_${id}_Armor_DEX`], 10000));
armorFAT += int(v[`repeating_armor_${id}_Armor_Fatigue`]);
}
});
const rollToken = (v.rolltype === 'buttons') ? 1 : 0;
const tempStats = {};
statgroups.stats.forEach(stat => {
let score = int(v[`${stat}Base`]) + int(v[`${stat}Adj`]);
if (stat === 'DEX') score = Math.min(score, armorDEX);
tempStats[stat] = score; // used for ensuring DEX skills are accurate
if (int(v[stat]) !== score) output[stat] = score;
// rolltemplate - should be a standardised function; doesnt support disfavoured yet
statgroups.buttonTypes.forEach(rollType => {
const template = rollTemplate(displayName(stat), stat, 1, rollType, rollToken, '', 0);
//const template = rollTemplate({name: displayName(stat), skill: stat, adds: 1, rollUP: rollType, rollToken: rollToken, repeating: '', disfavoured: 0});
const button = `roll${stat}${buttonType(rollType)}`;
if (v[button] !== template) output[button] = template;
});
});
statgroups.skills.forEach(skill => {
let adds = int(v[`${skill}Adds`]);
let score = adds + int(v[`${skill}Adj`]) + (tempStats[v[`${skill}Mod`]] || tempStats['CHA']); // if stat isnt recognised, it probably is CHA.
if (int(v[skill]) !== score) output[skill] = score;
// defenses
if (Object.keys(statgroups.defenses).includes(skill)) {
let defense_score = score + int(v[`defense_${skill}_adds`]) + vulnerable;
let defense_skill = `defense_${skill}`;
if (int(v[defense_skill]) !== defense_score) output[defense_skill] = defense_score;
}
// do willpower-mind
if(skill === 'Willpower') {
let defense_score = (tempStats['MIN'] || tempStats['CHA']) + int(v.WillpowerAdds) +int(v.WillpowerAdj) + int(v.defense_WillpowerMind_adds) + vulnerable;
let defense_skill = `defense_${skill}Mind`;
if (int(v[defense_skill]) !== defense_score) output[defense_skill] = defense_score;
}
// rolltemplate - might use eventinfo to check if its disfavoured or adds
statgroups.buttonTypes.forEach(rollType => {
const template = rollTemplate(displayName(skill), skill, adds, rollType, rollToken, '', 0);
//const template = rollTemplate({name: displayName(skill), skill: skill, adds: adds, rollUP: rollType, rollToken: rollToken, repeating: '', disfavoured: 0});
const button = `roll${skill}${buttonType(rollType)}`;
if (v[button] !== template) output[button] = template;
});
});
// check if RealityAdds went 0 -> 1 or 1+ > 0
if (event.sourceAttribute === 'realityadds') {
const prev = int(event.previousValue);
const newv = int(event.newValue );
if((newv === prev && newv > 0 ) || newv > 0 && (!prev || prev < 1)) {
// raise possibilities to 3
output.possibilities = 3;
output.possibilities_level = 3;
} else if (newv < 1 && prev > 0) {
// drop possibilities to 0
output.possibilities = 0;
output.possibilities_level = 0;
}
}
const toughness = int(v.STRBase) + armorAdds + int(v[`toughness_adds`]) + int(v[`plus_toughness`]);
if (int(v.toughness) !== toughness) output.toughness = toughness;
if (int(v.Armor) !== armorAdds) output.Armor = armorAdds;
const fatigue_calc = Math.max(0,armorFAT + 2 + int(v.plus_fatigue));
if (int(v.fatigue) !== fatigue_calc) output.fatigue = fatigue_calc;
output.armorstats = (armorDEX > 100 && armorFAT === 0) ? ' ' : `(${armorDEX > 100 ? '' : `DEX: ${armorDEX} `}${armorFAT > 0 ? `FAT: ${armorFAT}`: ''})`;
const move = tempStats.DEX + int(v[`MoveAdj`]) + int(v[`plus_move`]);
if (move !== int(v.Movement)) {
output.Movement = move;
output.Run = move * 3;
}
const shock = int(v.SPIBase) + int(v[`ShockAdj`]) + int(v[`plus_shock`]);
if (shock !== int(v.Shock_max)) output.Shock_max = shock;
/* attacks */
idAttacks.forEach(id => {
const fullname = v[repeatingFieldName('attacks', id, 'Attack_Name_Full')];
const shortname = v[repeatingFieldName('attacks', id, 'Attack_Name')];
/* get display name */
const displayName = fullname.substring(0, NAMELENGTH);
if (shortname !== displayName) output[repeatingFieldName('attacks', id, 'Attack_Name')] = displayName;
/* damage */
const olddamageValue = int(v[repeatingFieldName('attacks', id, 'Attack_Damage')]);
const oldDamageDisplay = v[repeatingFieldName('attacks', id, 'Attack_Damage_Display')];
const damageName = v[repeatingFieldName('attacks', id, 'Attack_Damage_Name')];
const damageStat = int(v[damageName]) || 0;
const damageScore = int(v[repeatingFieldName('attacks', id, 'Attack_Damage_Add')]);
const damageValue = damageStat + damageScore;
if (damageValue !== olddamageValue) output[repeatingFieldName('attacks', id, 'Attack_Damage')] = damageValue;
const damageDisplay = (damageName === 'Special') ? damageName : ((damageStat === 0) ? `${damageScore}` : `${damageName} ${damageScore > -1 ? '+' : ''}${damageScore} (${damageValue})`);
if (oldDamageDisplay !== damageDisplay) output[repeatingFieldName('attacks', id, 'Attack_Damage_Display')] = damageDisplay;
/* axioms */
const axiomTypes = {
'Magic': 'Magic',
'Social': 'Social',
'Spiritual': 'Spirit',
'Tech': 'Tech',
};
const axiomName1 = axiomTypes[v[repeatingFieldName('attacks', id, 'Attack_Axiom1_Name')]] || '';
const axiomScore1 = v[repeatingFieldName('attacks', id, 'Attack_Axiom1_Score')];
const axiomName2 = axiomTypes[v[repeatingFieldName('attacks', id, 'Attack_Axiom2_Name')]] || '';
const axiomScore2 = v[repeatingFieldName('attacks', id, 'Attack_Axiom2_Score')];
const axiom = v[repeatingFieldName('attacks', id, 'Attack_Axiom')];
const axiomDisplay = (axiomName1 ? `${axiomName1} ${axiomScore1}` : '') + (axiomName1 && axiomName2 ? ' ' : '') + (axiomName2 ? `${axiomName2} ${axiomScore2}` : '');
if (axiomDisplay !== axiom) output[repeatingFieldName('attacks', id, 'Attack_Axiom')] = axiomDisplay;
let ammomax = int(v[repeatingFieldName('attacks', id, 'Attack_Ammo_Capacity')]);
const ammo = Math.max(0,int(v[repeatingFieldName('attacks', id, 'Attack_Ammo')]));
if (ammomax < 0) {
ammomax = 0;
output[repeatingFieldName('attacks', id, 'Attack_Ammo_Capacity')] = ammomax;
}
if(event.sourceAttribute === repeatingFieldName('attacks', id, 'Attack_Ammo_Capacity').toLowerCase() || ammo > ammomax) {
output[repeatingFieldName('attacks', id, 'Attack_Ammo')] = ammomax;
}
/* attack roll templates */
/* rolltemplate needs:
display name - the weapon name, not the skill name
skill - so can get skill value and adds
skill value - displaying total
skill adds - so can hadle if skilled or unskilled
disfavoureed - later.
subtitle
weapon details:
range (what if melee)
Power Details
casting time - is this needed
targeting - this should be included, and when a number, might put it next to value (though on a line of its own just above or value makes sense)
duration - may or may not be included
success levels - probably not included, let the players narrate it.
*/
const attackBonus = int(v[repeatingFieldName('attacks', id, 'Attack_Attack_Bonus')]);
const skillName = v[repeatingFieldName('attacks', id, 'Attack_Skill_Name')];
const skillValue = int(output[skillName] || v[skillName]) + attackBonus;
const skillAdds = int(output[`${skillName}Adds`] || v[`${skillName}Adds`]);
const attackNote = v[repeatingFieldName('attacks', id, 'Attack_Footnote')];
const rollToken = (v.rolltype === 'buttons') ? 1 : 0;
statgroups.buttonTypes.forEach(rollType => {
const template = rollTemplate(fullname, skillValue, skillAdds, rollType, rollToken, 'attacks', 0);
//const template = rollTemplate({name: fullname, skill: skillValue, adds: skillAdds, rollUP: rollType, rollToken: rollToken, repeating: 'attacks', disfavoured: 0});
const button = `repeating_attacks_${id}_rollAttack${buttonType(rollType)}`;
if (v[button] !== template) output[button] = template;
});
const damagetemplate = damageTemplate(int(v.rolldamagetype));
const damagebutton = `repeating_attacks_${id}_rollDamage`;
if (v[damagebutton] !== damagetemplate) output[damagebutton] = damagetemplate;
});
setAttrs(output, {silent: true});
});
});
});
});
['Language', 'Custom'].forEach(skill => {
on(`${buildChanges(statgroups.stats)} change:rolltype change:repeating_${skill.toLowerCase()}s remove:repeating_${skill.toLowerCase()}s`, () => {
getSectionIDs(`repeating_${skill.toLowerCase()}s`, idArray => {
const fieldnames = [];
idArray.forEach(id => {
fieldnames.push(
`repeating_${skill.toLowerCase()}s_${id}_${skill}Name`,
`repeating_${skill.toLowerCase()}s_${id}_${skill}Mod`,
`repeating_${skill.toLowerCase()}s_${id}_${skill}Adds`,
`repeating_${skill.toLowerCase()}s_${id}_${skill}Adj`,
`repeating_${skill.toLowerCase()}s_${id}_${skill}`,
);
statgroups.buttonTypes.forEach(rollType => {
fieldnames.push(`repeating_${skill.toLowerCase()}s_${id}_roll${skill}${buttonType(rollType)}`);
});
});
getAttrs([...fieldnames, ...statgroups.stats, 'rolltype'], v => {
const output = {};
const rollToken = (v.rolltype === 'buttons') ? 1 : 0;
idArray.forEach(id => {
const name = v[`repeating_${skill.toLowerCase()}s_${id}_${skill}Name`];
const base = int(v[v[`repeating_${skill.toLowerCase()}s_${id}_${skill}Mod`]]);
const adds = int(v[`repeating_${skill.toLowerCase()}s_${id}_${skill}Adds`]);
const adj = int(v[`repeating_${skill.toLowerCase()}s_${id}_${skill}Adj`]);
const which = int(v[`repeating_${skill.toLowerCase()}s_${id}_${skill}`]);
const score = base + adds + adj;
if (score !== which) output[`repeating_${skill.toLowerCase()}s_${id}_${skill}`] = score;
// build roll buttons - hot to get up/possibility
statgroups.buttonTypes.forEach(rollType => {
const template = rollTemplate(name, skill, 1, rollType, rollToken, `${skill.toLowerCase()}`, 0);
//const template = rollTemplate({name: name, skill: skill, adds: 1, rollUP: rollType, rollToken: rollToken, repeating: `${skill.toLowerCase()}`, disfavoured: 0});
const button = `repeating_${skill.toLowerCase()}s_${id}_roll${skill}${buttonType(rollType)}`;
if (v[button] !== template) output[button] = template;
});
});
setAttrs(output, {
silent: true
});
});
});
});
});
/* =======================================================
COSM SCORES and XP
======================================================= */
// doesnt include sheet:opened to check, because players might increase axioms.
on('change:home_cosm', function () {
getAttrs(['Home_Cosm'], function (v) {
const cosm = v.Home_Cosm;
if (cosm === 'other') return;
let output = {
Magic: 0,
Social: 0,
Spiritual: 0,
Tech: 0
};
if (Object.keys(constants.cosmValues).includes(cosm)) output = constants.cosmValues[cosm];
setAttrs(output);
});
});
on('change:totalxp sheet:opened', function () {
getAttrs(['TotalXP'], function (v) {
const total = int(v.TotalXP);
const clearances = constants.clearance;
// convert the clearance values into an array, and get its index.
const index = (Object.values(clearances).length - 1) - Object.values(clearances).reverse().findIndex(element => element <= total);
// convert the clearance keys into an array, and match the index to its key.
const Clearance = Object.keys(clearances)[index] || 'Alpha';
setAttrs({
Clearance
});
});
});
/*=============================================================
STATUS AND HEALTH
============================================================= */
on(`change:plus_wound`, () => {
getAttrs([`plus_wound`], v => {
setAttrs({
wound_max: 3 + int(v.plus_wound)
});
});
});
//doesnt include Vulnerable; since that affects defenses, it needs to be in the main skills worker.
const statuses = ['stymied', /* 'vulnerable', */ 'wounded', 'shocked', 'possibilities', 'fatigue'];
['shock', 'wound'].forEach(stat => {
on(`change:${stat}`, () => {
getAttrs([stat, `${stat}_max`], v => {
const output = {};
let score = int(v[stat]);
const max = int(v[`${stat}_max`]);
let shockedmax = 0; // used to set shocked KO
if (score > max || score < 0) {
if (score > max && stat === 'shock') shockedmax = 1;
score = Math.min(max, Math.max(0, score));
output[stat] = score;
}
output[`${stat}ed_level`] = shockedmax ? score + 1 : score;
output[`${stat}ed`] = (stat === 'shock') ? (shockedmax ? 'KO' : score) : -1 * Math.min(score, 3);
setAttrs(output); //,{silent:true});
});
});
});
statuses.forEach(status => {
on(`clicked:${status}_up clicked:${status}_down`, function (event) {
getAttrs([`${status}_level`, 'wound_max', 'shock_max', 'shock', 'fatigue'], function (v) {
const direction = (event.triggerName.slice(-2) === 'up') ? 1 : -1;
const level = int(v[`${status}_level`]);
let newLevel = Math.max(0, level + 1 * direction);
const output = {};
let max = 0;
switch (status) {
//case "vulnerable":
case 'stymied':
newLevel = Math.min(2, newLevel);
output[`${status}_level`] = newLevel;
output[`${status}`] = newLevel * -2;
break;
case 'possibilities':
output.possibilities_level = newLevel;
output.possibilities = newLevel;
break;
case 'wounded':
max = int(v.wound_max);
newLevel = Math.min(max, newLevel);
output.wound = newLevel;
output.wounded_level = newLevel;
output.wounded = -1 * Math.min(3, output.wounded_level);
break;
case 'shocked':
max = int(v.shock_max) + 1;
newLevel = Math.min(max, newLevel);
output.shocked_level = newLevel;
if (newLevel > int(v.shock_max)) {
output.shocked = 'KO';
output.shock = newLevel - 1;
} else {
output.shocked = newLevel;
output.shock = newLevel;
}
break;
case 'fatigue':
newLevel = int(v.shock);
max = int(v.fatigue);
if (direction > 0) {
output.shock = newLevel + max;
}
break;
default:
return;
}
setAttrs(output); //,{silent:true});
});
});
});
/* XP calculation */
on('change:totalxp change:repeating_advancement:advance_cost remove:repeating_advancement', () => {
getSectionIDs('repeating_advancement', idArray => {
const fieldnames = idArray.reduce((all,id) => {
all.push(`repeating_advancement_${id}_advance_cost`);
return all;
}, []);
getAttrs(['TotalXP', ...fieldnames], v => {
xpsum = idArray.reduce((all,id) => all + int(v[`repeating_advancement_${id}_advance_cost`]), 0);
setAttrs({
SpentXP: xpsum,
UnspentXP: int(v.TotalXP) - xpsum
});
});
});
});
/* ===================================
VERSIONATOR
==================================
Functions and scripts to update the sheet.
3.97-4 are all related to updating the sheet from the original version, to first version of GiGs new sheet.
*/
const versionator = version => {
clog(`Checking Version: v${version}`,'blue',`Torg Eternity Versionator`);
switch (true) {
case !version:
case version < 3.97:
updateToV397_basics(version);
break;
case version < 3.98:
updateToV398_weapons(version);
break;
case version < 4:
updateToV400_powers(version);
break;
case version < 4.01:
updateToV401_tharkold(version);
break;
case version < 4.03:
updateToV403_ammo(version);
break;
default:
clog(`Check Complete. Sheet is up to date: Version ${version}.`, 'green', `Torg Eternity Versionator`);
}
};
on('sheet:opened', () => {
getAttrs(['version'], v => {
versionator(parseFloat(v.version) || 0);
});
});
const changeMod = value => {
const stat = (value === '') ? 'CHA' : value.toString().replace('@{', '').replace('}', '').replace('Total', '').replace('total', '');
return stat;
};
const weaponskillfix = (skill) => (skill === 'MeleeCombat') ? `MeleeWeapons` : ((skill === 'EnergyWeapon' || skill === 'MissileWeapon') ? `${skill}s` : skill);
const updateToV397_basics = () => {
const version = 3.97;
clog(`Updating to Version ${version}`, 'red', 'Torg Eternity Versionator');
const spellingTransforms = {
EnergyWeapon: 'EnergyWeapons',
EnergyWeaponAdds: 'EnergyWeaponsAdds',
EnergyWeaponAdj: 'EnergyWeaponsAdj',
EnergyWeaponMod: 'EnergyWeaponsMod', // need to correct from @{}
MeleeCombat: 'MeleeWeapons',
MeleeCombatAdds: 'MeleeWeaponsAdds',
MeleeCombatAdj: 'MeleeWeaponsAdj',
MeleeCombatMod: 'MeleeWeaponsMod', // need to correct from @{}
MissileWeapon: 'MissileWeapons',
MissileWeaponAdds: 'MissileWeaponsAdds',
MissileWeaponAdj: 'MissileWeaponsAdj',
MissileWeaponMod: 'MissileWeaponsMod', // need to correct from @{}
Possib: 'Possibilities',
/* might need to change possibilities_level if this above 3 */
AYPossib: 'possibilities_aysle',
CEPossib: 'possibilities_coreearth',
LLPossib: 'possibilities_livingland',
NEPossib: 'possibilities_nilempire',
ORPossib: 'possibilities_orrorsh',
PPPossib: 'possibilities_panpacifica',
THPossib: 'possibilities_tharkold',
};
const statchecks = statgroups.stats.reduce((arr, stat) => {
arr.push(`${stat}Base`);
arr.push(`${stat}Adj`);
arr.push(stat);
return arr;
}, []);
const mods = [
// the mod stats for skills have their values changed from, say '@{CHATotal}' to 'CHA'
'Dodge', 'FireCombat', 'UnarmedCombat', /* 'EnergyWeapon', 'MeleeCombat', 'MissileWeapon', */
'Intimidate', 'Maneuver', 'Taunt', 'Trick', 'Reality', 'Find',
'Alteration', 'Apportation', 'Conjuration', 'Divination', 'Faith', 'Kinesis', 'Precognition', 'Telepathy'
];
const matchSkill = (skill) => {
const lowerSkills = statgroups.skills.map(skill => skill.toLowerCase());
const lowerSkill = skill.trim().toLowerCase().replace(/\s/, '');
const match = lowerSkills.findIndex(w => w === lowerSkill);
const value = statgroups.skills[match] || 0;
return value;
};
const fixedskills = [
// the mod stats for skills have their values changed from, say '@{CHATotal}' to 'CHA'
'FireCombat', 'EnergyWeapons', 'MeleeWeapons', 'MissileWeapons', 'UnarmedCombat',
'Intimidate', 'Maneuver', 'Taunt', 'Trick'
];
const armors = ['Armor1Worn', 'Armor1Value', 'Armor1Fatigue', 'Armor1Axiom', 'Armor1MaxDex',
'Armor2Worn', 'Armor2Value', 'Armor2Fatigue', 'Armor2Axiom', 'Armor2MaxDex'
];
const derivedstats = ['wnd', 'wnd_max', 'shock', 'shock_max', 'Toughness', 'TotalArmor'];
const fieldnames = [...Object.keys(spellingTransforms), ...mods.map(mod => `${mod}Mod`), ...statchecks, ...derivedstats];
getSectionIDs('repeating_skills', idArray => {
idArray.forEach(id => {
fieldnames.push(
`repeating_skills_${id}_RepeatingSkillName`,
`repeating_skills_${id}_RepeatingSkillMod`,
`repeating_skills_${id}_RepeatingSkillAdds`,
`repeating_skills_${id}_RepeatingSkillAdj`,
);
});
getAttrs([...fieldnames, ...armors], v => {
const update = {};
update.version = version;
/* =========== SIMPLE STATS AND SKILLS RENAMES ===== */
Object.keys(spellingTransforms).forEach(stat => {
// get the old value and save it to the new attribute name
// need to check if name exists - dont do anything if undefined
// note: if an attribute, and score is 0, set to 8.
let value = v[stat];
if (value) update[spellingTransforms[stat]] = changeMod(value);
});
statgroups.stats.forEach(stat => {
// check if TOTAL is defined, if so, transfer the stat.
// need to check if total exists and skip this set otherwise. Note that it will be an autocalc field.
// if(statgroups.stats.includes(stat) && value== 0) value = 8;
let base = int(v[`${stat}Base`]);
let score = int(v[stat]);
let adj = int(v[`${stat}Adj`]);
// if base is 0, and stat is not 0, then need to update
if ((base === 0) && (score > adj)) { // note that a score of 8 will appear as a score of 0.
update[`${stat}Base`] = score;
update[stat] = score + adj;
} else if ((base === 0) && (score <= adj)) {
update[`${stat}Base`] = 8;
}
});
/* derived stats */
const oldWounds = Math.max(int(v.wnd), int(v.wnd_max));
const oldShock = Math.max(int(v.shock), int(v.wnd_shock));
const oldToughness = int(v.Toughness) - int(v.TotalArmor);
const checkDerived = (score, base) => (score > base) ? score - base : 0;
update.plus_wound = checkDerived(oldWounds, 3);
update.plus_shock = checkDerived(oldShock, int(v.SPIbase, int(update.SPIBase)));
update.plus_toughness = checkDerived(oldToughness, int(v.STRBase, int(update.STRBase)));
mods.forEach(mod => {
const value = v[`${mod}Mod`];
update[`${mod}Mod`] = changeMod(value); // note: if mode is displayed as CHA, it might have no value, and needs to be set
});
/* ============= REPEATING SKILLS RENAMING ============ */
idArray.forEach(id => {
const name = v[`repeating_skills_${id}_RepeatingSkillName`] || '',
mod = (v[`repeating_skills_${id}_RepeatingSkillMod`] === '') ? 'DEX' : (v[`repeating_skills_${id}_RepeatingSkillMod`] === ''),
adds = v[`repeating_skills_${id}_RepeatingSkillAdds`] || 0,
adj = v[`repeating_skills_${id}_RepeatingSkillAdj`] || 0;
const found = matchSkill(name);
if (found) {
// skill is identified as being one of the defined skills
if (adds) update[`${found}Adds`] = adds;
if (adj) update[`${found}Adj`] = adj;
//if (mod !== '') update[`${found}Mod`] = changeMod(mod); // note: if mode is displayed as DEX, it might have no value, and needs to be set
// should set visibility attribute top - only if its not a predefined skill
if (!fixedskills.includes(found)) update[`toggleskill_${found.toLowerCase()}`] = 1;
} else {
// if not identified by name, add it to custom skill, players can fix it.
const rowid = generateRowID();
update[`repeating_customs_${rowid}_CustomName`] = name;
update[`repeating_customs_${rowid}_CustomAdds`] = adds;
update[`repeating_customs_${rowid}_CustomAdj`] = adj;
update[`repeating_customs_${rowid}_CustomMod`] = changeMod(mod);
if (!update.hasOwnProperty('toggleskill_custom')) update.toggleskill_custom = 1;
}
});
/* =================== ARMOUR CREATION ============ */
[1, 2].forEach(row => {
const name = v[`Armor${row}Worn`];
const value = v[`Armor${row}Value`];
const axiom = v[`Armor${row}Axiom`];
const dex = v[`Armor${row}MaxDex`];
const fat = v[`Armor${row}Fatigue`];
// check if all armour values are default; if so skip it.
if (name || value || axiom || dex || fat) {
const rowid = generateRowID();
if (v[`Armor${row}Worn`]) update[`repeating_armor_${rowid}_Armor_Name`] = name;
if (int(v[`Armor${row}Value`])) update[`repeating_armor_${rowid}_Armor_Adds`] = value;
if (int(v[`Armor${row}Fatigue`])) update[`repeating_armor_${rowid}_Armor_Fatigue`] = fat;
if (v[`Armor${row}Axiom`]) update[`repeating_armor_${rowid}_Armor_Axiom`] = axiom;
if (int(v[`Armor${row}MaxDex`])) update[`repeating_armor_${rowid}_Armor_Dex`] = dex;
update[`repeating_armor_${rowid}_Armor_Worn`] = 1;
}
});
setAttrs(update, {
silent: true
}, versionator(update.version));
});
});
};
const updateToV398_weapons = () => {
const version = 3.98;
clog(`Updating to Version ${version}`, 'red', 'Torg Eternity Versionator');
const section = 'repeating_weapons';
getSectionIDs(section, idArray => {
const fields = ['RepeatingWeaponName', 'RepeatingWeaponSkill', 'RepeatingWeaponAxiom', 'Repeating_Weapon_Damage',
'Repeating_Weapon_Damage_Notes', 'Repeating_Weapon_Ammo', 'Repeating_Weapon_Range', 'Repeating_Weapon_Notes'
];
const fieldnames = [];
idArray.forEach(id => {
fields.forEach(field => fieldnames.push(`${section}_${id}_${field}`));
});
getAttrs(fieldnames, v => {
const update = {};
update.version = version;
idArray.forEach(id => {
const rowid = generateRowID();
if (v[`${section}_${id}_RepeatingWeaponName`]) {
update[`repeating_attacks_${rowid}_Attack_Name_Full`] = v[`${section}_${id}_RepeatingWeaponName`];
update[`repeating_attacks_${rowid}_Attack_Name`] = v[`${section}_${id}_RepeatingWeaponName`].substr(0, NAMELENGTH);
}
if (v[`${section}_${id}_RepeatingWeaponSkill`]) update[`repeating_attacks_${rowid}_Attack_Skill_Name`] = weaponskillfix(changeMod(v[`${section}_${id}_RepeatingWeaponSkill`]));
if (v[`${section}_${id}_Repeating_Weapon_Range`]) update[`repeating_attacks_${rowid}_Attack_Range`] = v[`${section}_${id}_Repeating_Weapon_Range`];
if (v[`${section}_${id}_Repeating_Weapon_Ammo`]) update[`repeating_attacks_${rowid}_Attack_Ammo`] = v[`${section}_${id}_Repeating_Weapon_Ammo`];
if (v[`${section}_${id}_Repeating_Weapon_Notes`]) update[`repeating_attacks_${rowid}_Attack_Footnote`] = v[`${section}_${id}_Repeating_Weapon_Notes`];
/* for weapons on the old sheet, axioms are always tech */
if (v[`${section}_${id}_RepeatingWeaponAxiom`]) {
update[`repeating_attacks_${rowid}_Attack_Axiom1_Name`] = 'Tech';
update[`repeating_attacks_${rowid}_Attack_Axiom1_Score`] = v[`${section}_${id}_RepeatingWeaponAxiom`];
update[`repeating_attacks_${rowid}_Attack_Axiom`] = 'Tech ' + v[`${section}_${id}_RepeatingWeaponAxiom`];
}
if (v[`${section}_${id}_Repeating_Weapon_Damage`]) update[`repeating_attacks_${rowid}_Attack_Damage_Add`] = int(v[`${section}_${id}_Repeating_Weapon_Damage`]);
if (v[`${section}_${id}_Repeating_Weapon_Damage_Notes`]) update[`repeating_attacks_${rowid}_Attack_Damage_Display`] = v[`${section}_${id}_Repeating_Weapon_Damage_Notes`];
update[`repeating_attacks_${rowid}_Attack_Power`] = 0;
});
setAttrs(update, {
silent: true
}, versionator(update.version));
});
});
};
const updateToV400_powers = () => {
const version = 4;
clog(`Updating to Version ${version}`, 'red', 'Torg Eternity Versionator');
const section = 'repeating_powers';
getSectionIDs(section, idArray => {
const fields = ['PowerName', 'PowerType', 'PowerAxiom', 'PowerSkill', 'PowerSkillRequirement',
'PowerCastingTime', 'PowerDifficulty', 'PowerTargetAttribute', 'PowerRange', 'PowerDuration',
'PowerStandardSuccess', 'PowerGoodSuccess', 'PowerOutstandingSuccess',
'PowerDamage', 'PowerDescription'
];
const fieldnames = [];
idArray.forEach(id => {
fields.forEach(field => fieldnames.push(`${section}_${id}_${field}`));
});
getAttrs(fieldnames, v => {
const update = {};
update.version = version;
idArray.forEach(id => {
const rowid = generateRowID(); // axiom is special
let description = v[`${section}_${id}_PowerDescription`] || '';
if (v[`${section}_${id}_PowerName`]) {
update[`repeating_attacks_${rowid}_Attack_Name`] = v[`${section}_${id}_PowerName`].substr(0, NAMELENGTH);
update[`repeating_attacks_${rowid}_Attack_Name_Full`] = v[`${section}_${id}_PowerName`];
}
const axioms = {
Magic: 'Magic',
Miracle: 'Spirit',
Psionic: 'Social',
Other: 'Tech'
};
const axiomvalue = v[`${section}_${id}_PowerAxiom`] || 0;
const powertype = v[`${section}_${id}_PowerType`] || 'Magic';
const axiomname = axioms[changeMod(powertype)] || '';
// type can be magic (magic), miracle (spirit), psionic (social), other (tech?)
if (axiomname) {
update[`repeating_attacks_${rowid}_Attack_Axiom1_Name`] = axiomname;
if (axiomvalue) {
update[`repeating_attacks_${rowid}_Attack_Axiom1_Score`] = axiomvalue;
update[`repeating_attacks_${rowid}_Attack_Axiom`] = `${axiomname} ${axiomvalue}`;
}
}
if (v[`${section}_${id}_PowerSkill`]) update[`repeating_attacks_${rowid}_Attack_Skill_Name`] = weaponskillfix(changeMod(v[`${section}_${id}_PowerSkill`]));
if (v[`${section}_${id}_PowerSkillRequirement`]) update[`repeating_attacks_${rowid}_Attack_Skill_Required`] = v[`${section}_${id}_PowerSkillRequirement`];
if (v[`${section}_${id}_PowerCastingTime`]) update[`repeating_attacks_${rowid}_Attack_CastingTime`] = v[`${section}_${id}_PowerCastingTime`];
if (v[`${section}_${id}_PowerRange`]) update[`repeating_attacks_${rowid}_Attack_Range`] = v[`${section}_${id}_PowerRange`];
if (v[`${section}_${id}_PowerDuration`]) update[`repeating_attacks_${rowid}_Attack_Duration`] = v[`${section}_${id}_PowerDuration`];
if (v[`${section}_${id}_PowerStandardSuccess`]) update[`repeating_attacks_${rowid}_Attack_Success_Standard`] = v[`${section}_${id}_PowerStandardSuccess`];
if (v[`${section}_${id}_PowerGoodSuccess`]) update[`repeating_attacks_${rowid}_Attack_Success_Good`] = v[`${section}_${id}_PowerGoodSuccess`];
if (v[`${section}_${id}_PowerOutstandingSuccess`]) update[`repeating_attacks_${rowid}_Attack_Success_Outstanding`] = v[`${section}_${id}_PowerOutstandingSuccess`];
if (v[`${section}_${id}_PowerDamage`]) {
update[`repeating_attacks_${rowid}_Attack_Damage_Add`] = int(v[`${section}_${id}_PowerDamage`]);
update[`repeating_attacks_${rowid}_Attack_Damage_Display`] = v[`${section}_${id}_PowerDamage`];
} else {
update[`repeating_attacks_${rowid}_Attack_Damage_Name`] = 'Special';
update[`repeating_attacks_${rowid}_Attack_Damage_Display`] = 'Special';
}
const difficulty = v[`${section}_${id}_PowerDifficulty`] || -1;
const target = v[`${section}_${id}_PowerTargetAttribute`] || ''; // can be anything
const difficulties = {
'6': 'Very Easy (6)',
'8': 'Easy (8)',
'10': 'Standard (10)',
'12': 'Challenging (12)',
'14': 'Hard (14)',
'16': 'Very Hard (16)',
'18': 'Heroic (18)',
'20': 'Near Impossible (20)',
};
if (int(difficulty) > 0) {
// cant match the attack skill, so add it to description
update[`repeating_attacks_${rowid}_Attack_TargetName`] = difficulties[difficulty];
} else {
if (target) update[`repeating_attacks_${rowid}_Attack_Footnote`] = 'Difficulty Note: ' + target;
}
if (description) update[`repeating_attacks_${rowid}_Attack_Description`] = description;
});
update.announcements = 1;
update['show-settings'] = 1;
statgroups.panels.forEach(panel => {
update[`${panel}_toggle`] = 0;
});
update.panelstoggle = 0;
update.version_trick = 1- int(v.version_trick);
setAttrs(update, /* {
silent: true
},*/ versionator(update.version));
});
});
};
const updateToV401_tharkold = () => {
const version = 4.01;
clog(`Updating to Version ${version}`, 'red', 'Torg Eternity Versionator');
getAttrs(['Home_Cosm', 'Magic', 'Social', 'Spiritual', 'Tech', 'UnspentXP', 'TotalXP'], v => {
const output = {};
output.version = version;
if(v.Home_Cosm === 'Tharkhold') {
/* dont use constants.cosmValues.tharkold in case player has changed axiom values */
output.Home_Cosm = 'Tharkold';
output.Magic = v.Magic;
output.Social = v.Social;
output.Spiritual = v.Spiritual;
output.Tech = v.Tech;
output.announcements_list = 0;
output.announcements = 1;
}
/* XP Calculations */
totalxp = int(v.TotalXP);
unspent = int(v.UnspentXP);
spent = totalxp - unspent;
output.SpentXP = spent;
newrow = generateRowID();
output[`repeating_advancement_${newrow}_advance_name`] = "Previously Bought Advances";
output[`repeating_advancement_${newrow}_advance_cost`] = spent;
setAttrs(output, {silent:true}, versionator(output.version));
});
};
const updateToV403_ammo = () => {
const version = 4.03;
clog(`Updating to Version ${version}`, 'red', 'Torg Eternity Versionator');
getSectionIDs('repeating_attacks', idarray => {
const fieldnames = [];
idarray.forEach(id => fieldnames.push(
repeatingFieldName('attacks', id, 'Attack_Ammo_max'),
repeatingFieldName('attacks', id, 'Attack_Ammo_Capacity')
));
getAttrs(fieldnames, v => {
const output = {};
idarray.forEach(id => {
const cap = int(v[repeatingFieldName('attacks', id, 'Attack_Ammo_Capacity')]);
const max = int(v[repeatingFieldName('attacks', id, 'Attack_Ammo_max')]);
output[repeatingFieldName('attacks', id, 'Attack_Ammo_Capacity')] = cap ? cap : max;
});
output.version = version;
output.announcements = 1;
setAttrs(output, {silent:true}, versionator(output.version));
});
});
};
</script>
</div>