Files
2024-06-03 13:15:14 -04:00

2139 lines
102 KiB
HTML

<div class="sheet-overall-wrapper">
<!-- Settings Tab -->
<input type="checkbox" name="attr_tabsettings" class="sheet-tab sheet-tab-settings" value="1">
<span class="sheet-tab sheet-tab-settings">Settings</span>
<!-- Whisper to GM toggle -->
<input type="checkbox" name="attr_tabwgm" class="sheet-tab sheet-tab-wgm" value="1">
<span class="sheet-tab sheet-tab-wgm">/w GM</span>
<input type="hidden" name="attr_whisper" value="">
<!-- Settings Section -->
<div class="sheet-section-settings">
<div class="sheet-row">
<div class="sheet-col-3-7">
</div>
<div class="sheet-col-3-7">
<h4 class="sheet-center">Settings</h4>
<span class="sheet-spacer"></span>
<div class="sheet-row">
<div class="sheet-col-1-2 sheet-padr">
<div class="sheet-center sheet-small-label sheet-sub-header">
<div class="sheet-tooltip">Send Initiative to Tracker [?]
<span class="sheet-tooltiptext-middle">Rolling initiative with token selected sends roll to tracker</span>
</div>
</div>
<select name="attr_setting_tracker">
<option value="&{tracker}" selected>Send to tracker</option>
<option value=" ">Don't send to tracker</option>
</select>
</div>
<div class="sheet-col-1-2">
<div class="sheet-center sheet-small-label sheet-sub-header">
<div class="sheet-tooltip">Initiative Type [?]
<span class="sheet-tooltiptext-middle">Deluxe: Dexterity-based roll, Classic: Simple 1d20</span>
</div>
</div>
<select name="attr_newinit_toggle">
<option value=1 selected>Deluxe Initiative</option>
<option value=0>Classic Initiative</option>
</select>
</div>
</div>
</div>
</div>
</div>
<!----------------------------------------------------------->
<!--Main Header -->
<div class="sheet-core-header sheet-padb">
<div class="sheet-row">
<!-- LOGO -->
<div class="sheet-col-1-8">
<div class="sheet-logo">
<img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Low%20Fantasy%20Gaming/LFG_LOGO.png" alt="Low Fantasy Gaming" width=100 >
</div>
<div class="sheet-logo-dark">
<img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Low%20Fantasy%20Gaming/LFG_LOGO_DARK.png" alt="Low Fantasy Gaming" width=100 >
</div>
</div>
<!-- Sheet version -->
<div class="sheet-col-1-8 sheet-center">
&nbsp;<br/>&nbsp;<br/>
<p class="sheet-last-updated">Sheet version 4.0<br/>March 2023</p>
<input name="attr_version" type="hidden">
</div>
<!-- Character info -->
<div class="sheet-col-1-4 sheet-small-label sheet-center">
&nbsp;<br/>&nbsp;<br/>&nbsp;<br/>
<input class="sheet-underlined sheet-center" type="text" name="attr_character_name"><br/>Character Name
</div>
<div class="sheet-col-1-8 sheet-small-label sheet-center">
&nbsp;<br/>&nbsp;<br/>&nbsp;<br/>
<input class="sheet-underlined sheet-center" type="text" name="attr_class"><br/>Class
</div>
<div class="sheet-col-1-8 sheet-small-label sheet-center">
&nbsp;<br/>&nbsp;<br/>&nbsp;<br/>
<input class="sheet-underlined sheet-center" type="number" min="0" step="1" value="1" name="attr_level"><br/>Level
</div>
<div class="sheet-col-1-8 sheet-small-label sheet-center">
&nbsp;<br/>&nbsp;<br/>&nbsp;<br/>
<input class="sheet-underlined sheet-center" type="number" min="0" step="1" value="0" name="attr_xp"><br/>XP
</div>
<div class="sheet-col-1-8 sheet-small-label sheet-center">
&nbsp;<br/>&nbsp;<br/>&nbsp;<br/>
<input class="sheet-underlined sheet-center" type="number" min="0" step="1" value="0" name="attr_xp_goal"><br/>XP Goal
</div>
</div>
</div>
<!-- Personal Details -->
<h4 class="sheet-center">Personal Details</h4>
<div class="sheet-row">
<div class="sheet-col-1-7 sheet-small-label sheet-center"><input class="sheet-underlined sheet-center" type="text" name="attr_gender"><br/>Gender</div>
<div class="sheet-col-1-7 sheet-small-label sheet-center"><input class="sheet-underlined sheet-center" type="number" name="attr_age"><br/>Age</div>
<div class="sheet-col-1-7 sheet-small-label sheet-center"><input class="sheet-underlined sheet-center" type="text" name="attr_height"><br/>Height</div>
<div class="sheet-col-1-7 sheet-small-label sheet-center"><input class="sheet-underlined sheet-center" type="text" name="attr_weight"><br/>Weight</div>
<div class="sheet-col-1-7 sheet-small-label sheet-center"><input class="sheet-underlined sheet-center" type="text" name="attr_eyes"><br/>Eyes</div>
<div class="sheet-col-1-7 sheet-small-label sheet-center"><input class="sheet-underlined sheet-center" type="text" name="attr_hair"><br/>Hair</div>
<div class="sheet-col-1-7 sheet-small-label sheet-center"><input class="sheet-underlined sheet-center" type="text" name="attr_race"><br/>Race</div>
</div>
<div class="sheet-row sheet-padb">
<div class="sheet-col-1-4 sheet-small-label sheet-center"><input class="sheet-underlined sheet-center" type="text" name="attr_background"><br/>Background</div>
<div class="sheet-col-5-8 sheet-small-label sheet-center"><input class="sheet-underlined sheet-center" type="text" name="attr_languages"><br/>Languages</div>
<div class="sheet-col-1-8 sheet-small-label sheet-center"><input class="sheet-underlined sheet-center" type="text" name="attr_vision"><br/>Vision</div>
</div>
<!-- Statistics -->
<h4 class="sheet-center">Statistics</h4>
<div class="sheet-row sheet-padb">
<div class="sheet-col-1-6 sheet-padr">
<div class="sheet-center sheet-small-label sheet-sub-header">Hit Points</div>
<div class="sheet-row">
<div class="sheet-col-1-2 sheet-small-label sheet-center">
<input class="sheet-underlined" type="number" name="attr_HP" step="1" value="0">
<br/>Current
</div>
<div class="sheet-col-1-2 sheet-small-label sheet-center">
<input class="sheet-underlined" type="number" name="attr_HP_max" min="1" step="1" value="1">
<br/>Max
</div>
</div>
</div>
<div class="sheet-col-1-6 sheet-padr">
<div class="sheet-center sheet-small-label sheet-sub-header">Attack Bonus</div>
<div class="sheet-row">
<div class="sheet-col-1-1 sheet-small-label sheet-center">
<input class="sheet-underlined sheet-center" type="number" name="attr_class_hitbonus" step="1" value="0">
<br/>&nbsp;
</div>
</div>
</div>
<div class="sheet-col-1-6 sheet-padr">
<div class="sheet-center sheet-small-label sheet-sub-header">
<div class="sheet-tooltip">Armour Class [?]
<span class="sheet-tooltiptext-middle">10 + Dex modifier + armour AC bonus.</span>
</div>
</div>
<div class="sheet-row">
<div class="sheet-col-1-1 sheet-small-label sheet-center">
<input class="sheet-underlined sheet-center" type="number" name="attr_armour_class" step="1" value="10">
<br/>&nbsp;
</div>
</div>
</div>
<div class="sheet-col-1-6 sheet-padr">
<div class="sheet-col-1">
<div class="sheet-center sheet-small-label sheet-sub-header">
<div class="sheet-tooltip">Reroll Pool [?]
<span class="sheet-tooltiptext-middle">Rerolls are for Skill checks, Luck rolls, Rest recoveries, and Dead tests.</span>
</div>
</div>
</div>
<div class="sheet-row">
<div class="sheet-col-1-2 sheet-small-label sheet-center">
<input class="sheet-underlined" type="number" name="attr_rerolls" step="1" value="0">
<br/>Current
</div>
<div class="sheet-col-1-2 sheet-small-label sheet-center">
<input class="sheet-underlined" type="number" name="attr_rerolls_max" value="0">
<br/>Max
</div>
</div>
</div>
<div class="sheet-col-1-6 sheet-padr">
<div class="sheet-col-1">
<div class="sheet-center sheet-small-label sheet-sub-header">
<div class="sheet-tooltip">DDM Threshold [?]
<span class="sheet-tooltiptext-middle">Rolls equal to or below the threshold trigger a roll on the Dark and Dangerous Magic table.</span>
</div>
</div>
</div>
<div class="sheet-col-1-4 sheet-padr">
<button type="roll" class="sheet-roll" name="roll_DDM" value="@{whisper} &{template:5eDefault} {{ddm=1}} {{title=Dark & Dangerous Magic}} {{subheader=@{character_name}}} {{ddmroll=[[1d20]]}} {{ddmthreshold=[[@{DDM}]]}}"></button>
</div>
<div class="sheet-col-5-8 sheet-small-label sheet-center">
<input class="sheet-underlined sheet-center" type="number" name="attr_DDM" step="1" value="1">
</div>
</div>
<div class="sheet-col-1-6">
<input type="hidden" class="sheet-newinit" name="attr_newinit_toggle" value="1"/>
<div class="sheet-section-oldinit">
<div class="sheet-center sheet-small-label sheet-sub-header">Classic Initiative</div>
<div class="sheet-row">
<div class="sheet-col-2-6 sheet-small-label sheet-center">
<input class="sheet-underlined" type="number" name="attr_initiative" step="1" value="0">
+Misc
</div>
<div class="sheet-col-3-6 sheet-small-label sheet-center">
<select name="attr_oldinitiativeadvantage">
<option value="2d20kh1">ADV</option>
<option value="1d20" selected>NO</option>
<option value="2d20kl1">DIS</option>
</select>
<br/>Advantage
</div>
<div class="sheet-col-1-6 sheet-small-label sheet-center">
<button type="roll" name="roll_ClassicInitiative" value="@{whisper} &{template:5eDefault} {{ability=1}} {{title=Classic Initiative Roll}} {{subheader=@{character_name}}} {{initiative=[[ @{oldinitiativeadvantage}+(@{initiative}) @{setting_tracker} ]]}}"></button>
<div class="sheet-tiny-spacer"></div>Roll
</div>
</div>
</div>
<div class="sheet-section-newinit">
<div class="sheet-center sheet-small-label sheet-sub-header">Deluxe Initiative</div>
<div class="sheet-row">
<div class="sheet-col-2-6 sheet-small-label sheet-center">
<input class="sheet-underlined" type="number" name="attr_initiative" step="1" value="0">
+Misc
</div>
<div class="sheet-col-3-6 sheet-small-label sheet-center">
<select name="attr_initiativeadvantage">
<option value="2d20cs=1cf=20kl1">ADV</option>
<option value="1d20cs=1cf=20" selected>NO</option>
<option value="2d20cs=1cf=20kh1">DIS</option>
</select>
<br/>Advantage
</div>
<div class="sheet-col-1-6 sheet-small-label sheet-center">
<button type="roll" name="roll_DeluxeInitiative" value="@{whisper} &{template:5eDefault} {{ability=1}} {{title=Initiative Check}} {{subheader=@{character_name}}} {{difference=[[ [[{@{dexterity}[Dexterity] +(@{initiative}[Initiative Modifier]), 18}kl1]] - [[@{initiativeadvantage}]] @{setting_tracker} ]]}} {{roll=$[[1]]}} {{target=$[[0]]}} {{gsresult=[[ {( @{dexterity} + (@{initiative}) )/2} ]]}} {{tfresult=[[ {[[floor( ([[ {( @{dexterity} + (@{initiative}) ), ceil(0+0) }kh1 ]])*1.5 )]], 19}kl1 ]]}}"></button>
<div class="sheet-tiny-spacer"></div>Roll
</div>
</div>
</div>
</div>
</div>
<!----------------------------------------------------------->
<!-- Tabs -->
<input type="checkbox" name="attr_tab1" class="sheet-tab sheet-tab1" value="1" checked />
<span class="sheet-tab sheet-tab1">Main</span>
<input type="checkbox" name="attr_tab2" class="sheet-tab sheet-tab2" value="1" checked />
<span class="sheet-tab sheet-tab2">Features</span>
<input type="checkbox" name="attr_tab3" class="sheet-tab sheet-tab3" value="1" checked />
<span class="sheet-tab sheet-tab3">Attacks</span>
<input type="checkbox" name="attr_tab4" class="sheet-tab sheet-tab4" value="1" checked />
<span class="sheet-tab sheet-tab4">Spellbook</span>
<input type="checkbox" name="attr_tab5" class="sheet-tab sheet-tab5" value="1" checked />
<span class="sheet-tab sheet-tab5">Inventory</span>
<input type="checkbox" name="attr_tab6" class="sheet-tab sheet-tab6" value="1" checked />
<span class="sheet-tab sheet-tab6">Conditions</span>
<input type="checkbox" name="attr_tab7" class="sheet-tab sheet-tab7" value="1" checked />
<span class="sheet-tab sheet-tab7">Notes</span>
<span class="sheet-spacer"></span>
<!----------------------------------------------------------->
<!-- Main Tab -->
<div class="sheet-section-main">
<span class="sheet-spacer"></span>
<div class="sheet-row">
<!-- Attributes -->
<div class="sheet-col-7-12 sheet-padr">
<h4 class="sheet-center">Attributes</h4>
<div class="sheet-row sheet-sub-header">
<div class="sheet-col-1-12 sheet-center sheet-small-label">Score</div>
<div class="sheet-col-1-12 sheet-center sheet-small-label">Max</div>
<div class="sheet-col-1-10 sheet-center sheet-small-label">&nbsp;</div>
<div class="sheet-col-1-16 sheet-center sheet-small-label">Mod</div>
<div class="sheet-col-1-16 sheet-center sheet-small-label">GS</div>
<div class="sheet-col-1-16 sheet-center sheet-small-label">TF</div>
<div class="sheet-col-1-8 sheet-center sheet-small-label">Advantage</div>
<div class="sheet-col-1-12 sheet-center sheet-small-label">Modifier</div>
<div class="sheet-col-1-14 sheet-center sheet-small-label">Roll</div>
<div class="sheet-col-1-4 sheet-center sheet-small-label">Notes</div>
</div>
<!-- Strength -->
<div class="sheet-row">
<div class="sheet-col-1-12"><input type="number" name="attr_strength" min="1" step="1" value="10"/></div>
<div class="sheet-col-1-12"><input type="number" name="attr_strength_max" min="1" step="1" value="10"/></div>
<div class="sheet-col-1-10 sheet-core-stat-label">Str</div>
<div class="sheet-col-1-16"><input type="text" class="sheet-numlocked" name="attr_strength_mod" value="0" readonly/></div>
<div class="sheet-col-1-16"><input type="number" class="sheet-numlocked sheet-spinhide" name="attr_strength_gs" value="1" readonly/></div>
<div class="sheet-col-1-16"><input type="number" class="sheet-numlocked sheet-spinhide" name="attr_strength_tf" value="20" readonly/></div>
<div class="sheet-col-1-8">
<select name="attr_strengthadvantage">
<option value="2d20cs=1cf=20kl1">ADV</option>
<option value="1d20cs=1cf=20" selected>NO</option>
<option value="2d20cs=1cf=20kh1">DIS</option>
</select>
</div>
<div class="sheet-col-1-12">
<input type="number" name="attr_strength_rollmod" value="0" step="1">
</div>
<div class="sheet-col-1-16">
<button type="roll" name="roll_Str" value="@{whisper} &{template:5eDefault} {{ability=1}} {{title=Strength Check}} {{subheader=@{character_name}}} {{difference=[[ [[{@{strength}[Attribute] +(@{strength_rollmod}[RollModifier]), 19}kl1]] - [[@{strengthadvantage}]] ]]}} {{target=$[[0]]}} {{roll=$[[1]]}} {{gsresult=[[ {( @{strength} + @{strength_rollmod} )/2} ]]}} {{tfresult=[[ {[[floor( ([[ {( @{strength} ), ceil(0+0) }kh1 ]])*1.5 )]], 19}kl1 ]]}}"></button>
</div>
<div class="sheet-col-1-4 sheet-tiny-note">Melee,&nbsp;Athletics</div>
</div>
<!-- Dexterity -->
<div class="sheet-row">
<div class="sheet-col-1-12"><input type="number" name="attr_dexterity" min="1" step="1" value="10"/></div>
<div class="sheet-col-1-12"><input type="number" name="attr_dexterity_max" min="1" step="1" value="10"/></div>
<div class="sheet-col-1-10 sheet-core-stat-label">Dex</div>
<div class="sheet-col-1-16"><input type="text" class="sheet-numlocked" name="attr_dexterity_mod" value="0" readonly/></div>
<div class="sheet-col-1-16"><input type="number" class="sheet-numlocked sheet-spinhide" name="attr_dexterity_gs" value="1" readonly/></div>
<div class="sheet-col-1-16"><input type="number" class="sheet-numlocked sheet-spinhide" name="attr_dexterity_tf" value="20" readonly/></div>
<div class="sheet-col-1-8">
<select name="attr_dexterityadvantage">
<option value="2d20cs=1cf=20kl1">ADV</option>
<option value="1d20cs=1cf=20" selected>NO</option>
<option value="2d20cs=1cf=20kh1">DIS</option>
</select>
</div>
<div class="sheet-col-1-12">
<input type="number" name="attr_dexterity_rollmod" value="0" step="1">
</div>
<div class="sheet-col-1-16">
<button type="roll" name="roll_Dex" value="@{whisper} &{template:5eDefault} {{ability=1}} {{title=Dexterity Check}} {{subheader=@{character_name}}} {{difference=[[ [[{@{dexterity}[Attribute] +(@{dexterity_rollmod}[RollModifier]), 19}kl1]] - [[@{dexterityadvantage}]] ]]}} {{target=$[[0]]}} {{roll=$[[1]]}} {{gsresult=[[ {( @{dexterity} + @{dexterity_rollmod} )/2} ]]}} {{tfresult=[[ {[[floor( ([[ {( @{dexterity} + @{dexterity_rollmod} ), ceil(0+0) }kh1 ]])*1.5 )]], 19}kl1 ]]}}"></button>
</div>
<div class="sheet-col-1-4 sheet-tiny-note">Ranged,&nbsp;AC</div>
</div>
<!-- Constitution -->
<div class="sheet-row">
<div class="sheet-col-1-12"><input type="number" name="attr_constitution" min="1" step="1" value="10"/></div>
<div class="sheet-col-1-12"><input type="number" name="attr_constitution_max" min="1" step="1" value="10"/></div>
<div class="sheet-col-1-10 sheet-core-stat-label">Con</div>
<div class="sheet-col-1-16"><input type="text" class="sheet-numlocked" name="attr_constitution_mod" value="0" readonly/></div>
<div class="sheet-col-1-16"><input type="number" class="sheet-numlocked sheet-spinhide" name="attr_constitution_gs" value="1" readonly/></div>
<div class="sheet-col-1-16"><input type="number" class="sheet-numlocked sheet-spinhide" name="attr_constitution_tf" value="20" readonly/></div>
<div class="sheet-col-1-8">
<select name="attr_constitutionadvantage">
<option value="2d20cs=1cf=20kl1">ADV</option>
<option value="1d20cs=1cf=20" selected>NO</option>
<option value="2d20cs=1cf=20kh1">DIS</option>
</select>
</div>
<div class="sheet-col-1-12">
<input type="number" name="attr_constitution_rollmod" value="0" step="1">
</div>
<div class="sheet-col-1-16">
<button type="roll" name="roll_Con" value="@{whisper} &{template:5eDefault} {{ability=1}} {{title=Constitution Check}} {{subheader=@{character_name}}} {{difference=[[ [[{@{constitution}[Attribute] +(@{constitution_rollmod}[RollModifier]), 19}kl1]] - [[@{constitutionadvantage}]] ]]}} {{target=$[[0]]}} {{roll=$[[1]]}} {{gsresult=[[ {( @{constitution} + @{constitution_rollmod} )/2} ]]}} {{tfresult=[[ {[[floor( ([[ {( @{constitution} + @{constitution_rollmod} ), ceil(0+0) }kh1 ]])*1.5 )]], 19}kl1 ]]}}"></button>
</div>
<div class="sheet-col-1-4 sheet-tiny-note">Hit&nbsp;Points,&nbsp;Poison</div>
</div>
<!-- Intelligence -->
<div class="sheet-row">
<div class="sheet-col-1-12"><input type="number" name="attr_intelligence" min="1" step="1" value="10"/></div>
<div class="sheet-col-1-12"><input type="number" name="attr_intelligence_max" min="1" step="1" value="10"/></div>
<div class="sheet-col-1-10 sheet-core-stat-label">Int</div>
<div class="sheet-col-1-16"><input type="text" class="sheet-numlocked" name="attr_intelligence_mod" value="0" readonly/></div>
<div class="sheet-col-1-16"><input type="number" class="sheet-numlocked sheet-spinhide" name="attr_intelligence_gs" value="1" readonly/></div>
<div class="sheet-col-1-16"><input type="number" class="sheet-numlocked sheet-spinhide" name="attr_intelligence_tf" value="20" readonly/></div>
<div class="sheet-col-1-8">
<select name="attr_intelligenceadvantage">
<option value="2d20cs=1cf=20kl1">ADV</option>
<option value="1d20cs=1cf=20" selected>NO</option>
<option value="2d20cs=1cf=20kh1">DIS</option>
</select>
</div>
<div class="sheet-col-1-12">
<input type="number" name="attr_intelligence_rollmod" value="0" step="1">
</div>
<div class="sheet-col-1-16">
<button type="roll" name="roll_Int" value="@{whisper} &{template:5eDefault} {{ability=1}} {{title=Intelligence Check}} {{subheader=@{character_name}}} {{difference=[[ [[{@{intelligence}[Attribute] +(@{intelligence_rollmod}[RollModifier]), 19}kl1]] - [[@{intelligenceadvantage}]] ]]}} {{target=$[[0]]}} {{roll=$[[1]]}} {{gsresult=[[ {( @{intelligence} + @{intelligence_rollmod} )/2} ]]}} {{tfresult=[[ {[[floor( ([[ {( @{intelligence} + @{intelligence_rollmod} ), ceil(0+0) }kh1 ]])*1.5 )]], 19}kl1 ]]}}"></button>
</div>
<div class="sheet-col-1-4 sheet-tiny-note">Lore,&nbsp;Insight,&nbsp;Lang</div>
</div>
<!-- Perception -->
<div class="sheet-row">
<div class="sheet-col-1-12"><input type="number" name="attr_perception" min="1" step="1" value="10"/></div>
<div class="sheet-col-1-12"><input type="number" name="attr_perception_max" min="1" step="1" value="10"/></div>
<div class="sheet-col-1-10 sheet-core-stat-label">Per</div>
<div class="sheet-col-1-16"><input type="text" class="sheet-numlocked" name="attr_perception_mod" value="0" readonly/></div>
<div class="sheet-col-1-16"><input type="number" class="sheet-numlocked sheet-spinhide" name="attr_perception_gs" value="1" readonly/></div>
<div class="sheet-col-1-16"><input type="number" class="sheet-numlocked sheet-spinhide" name="attr_perception_tf" value="20" readonly/></div>
<div class="sheet-col-1-8">
<select name="attr_perceptionadvantage">
<option value="2d20cs=1cf=20kl1">ADV</option>
<option value="1d20cs=1cf=20" selected>NO</option>
<option value="2d20cs=1cf=20kh1">DIS</option>
</select>
</div>
<div class="sheet-col-1-12">
<input type="number" name="attr_perception_rollmod" value="0" step="1">
</div>
<div class="sheet-col-1-16">
<button type="roll" name="roll_Per" value="@{whisper} &{template:5eDefault} {{ability=1}} {{title=Perception Check}} {{subheader=@{character_name}}} {{difference=[[ [[{@{perception}[Attribute] +(@{perception_rollmod}[RollModifier]), 19}kl1]] - [[@{perceptionadvantage}]] ]]}} {{target=$[[0]]}} {{roll=$[[1]]}} {{gsresult=[[ {( @{perception} + @{perception_rollmod} )/2} ]]}} {{tfresult=[[ {[[floor( ([[ {( @{perception} + @{perception_rollmod} ), ceil(0+0) }kh1 ]])*1.5 )]], 19}kl1 ]]}}"></button>
</div>
<div class="sheet-col-1-4 sheet-tiny-note">Alertness,&nbsp;Detection</div>
</div>
<!-- Willpower -->
<div class="sheet-row">
<div class="sheet-col-1-12"><input type="number" name="attr_willpower" min="1" step="1" value="10"/></div>
<div class="sheet-col-1-12"><input type="number" name="attr_willpower_max" min="1" step="1" value="10"/></div>
<div class="sheet-col-1-10 sheet-core-stat-label">Will</div>
<div class="sheet-col-1-16"><input type="text" class="sheet-numlocked" name="attr_willpower_mod" value="0" readonly/></div>
<div class="sheet-col-1-16"><input type="number" class="sheet-numlocked sheet-spinhide" name="attr_willpower_gs" value="1" readonly/></div>
<div class="sheet-col-1-16"><input type="number" class="sheet-numlocked sheet-spinhide" name="attr_willpower_tf" value="20" readonly/></div>
<div class="sheet-col-1-8">
<select name="attr_willpoweradvantage">
<option value="2d20cs=1cf=20kl1">ADV</option>
<option value="1d20cs=1cf=20" selected>NO</option>
<option value="2d20cs=1cf=20kh1">DIS</option>
</select>
</div>
<div class="sheet-col-1-12">
<input type="number" name="attr_willpower_rollmod" value="0" step="1">
</div>
<div class="sheet-col-1-16">
<button type="roll" name="roll_Will" value="@{whisper} &{template:5eDefault} {{ability=1}} {{title=Willpower Check}} {{subheader=@{character_name}}} {{difference=[[ [[{@{willpower}[Attribute] +(@{willpower_rollmod}[RollModifier]), 19}kl1]] - [[@{willpoweradvantage}]] ]]}} {{target=$[[0]]}} {{roll=$[[1]]}} {{gsresult=[[ {( @{willpower} + @{willpower_rollmod} )/2} ]]}} {{tfresult=[[ {[[floor( ([[ {( @{willpower} + @{willpower_rollmod} ), ceil(0+0) }kh1 ]])*1.5 )]], 19}kl1 ]]}}"></button>
</div>
<div class="sheet-col-1-4 sheet-tiny-note">Mental&nbsp;Def,&nbsp;Recovery</div>
</div>
<!-- Charisma -->
<div class="sheet-row">
<div class="sheet-col-1-12"><input type="number" name="attr_charisma" min="1" step="1" value="10"/></div>
<div class="sheet-col-1-12"><input type="number" name="attr_charisma_max" min="1" step="1" value="10"/></div>
<div class="sheet-col-1-10 sheet-core-stat-label">Cha</div>
<div class="sheet-col-1-16"><input type="text" class="sheet-numlocked" name="attr_charisma_mod" value="0" readonly/></div>
<div class="sheet-col-1-16"><input type="number" class="sheet-numlocked sheet-spinhide" name="attr_charisma_gs" value="1" readonly/></div>
<div class="sheet-col-1-16"><input type="number" class="sheet-numlocked sheet-spinhide" name="attr_charisma_tf" value="20" readonly/></div>
<div class="sheet-col-1-8">
<select name="attr_charismaadvantage">
<option value="2d20cs=1cf=20kl1">ADV</option>
<option value="1d20cs=1cf=20" selected>NO</option>
<option value="2d20cs=1cf=20kh1">DIS</option>
</select>
</div>
<div class="sheet-col-1-12">
<input type="number" name="attr_charisma_rollmod" value="0" step="1">
</div>
<div class="sheet-col-1-16">
<button type="roll" name="roll_Cha" value="@{whisper} &{template:5eDefault} {{ability=1}} {{title=Charisma Check}} {{subheader=@{character_name}}} {{difference=[[ [[{@{charisma}[Attribute] +(@{charisma_rollmod}[RollModifier]), 19}kl1]] - [[@{charismaadvantage}]] ]]}} {{target=$[[0]]}} {{roll=$[[1]]}} {{gsresult=[[ {( @{charisma} + @{charisma_rollmod} )/2} ]]}} {{tfresult=[[ {[[floor( ([[ {( @{charisma} + @{charisma_rollmod} ), ceil(0+0) }kh1 ]])*1.5 )]], 19}kl1 ]]}}"></button>
</div>
<div class="sheet-col-1-4 sheet-tiny-note">Influence,&nbsp;Morale</div>
</div>
<!-- Luck -->
<div class="sheet-row">
<div class="sheet-col-1-12"><input type="number" name="attr_luck" min="1" step="1" value="10"/></div>
<div class="sheet-col-1-12"><input type="number" name="attr_luck_max" min="1" step="1" value="10"/></div>
<div class="sheet-col-1-10 sheet-luck-stat-label">Luck</div>
<div class="sheet-col-3-16">
<select name="attr_luckvs">
<option value="1" selected>Luck Check</option>
<option value="2">(STR) Save</option>
<option value="3">(DEX) Save</option>
<option value="4">(CON) Save</option>
<option value="5">(INT) Save</option>
<option value="6">(PER) Save</option>
<option value="7">(WILL) Save</option>
<option value="8">(CHA) Save</option>
</select>
</div>
<div class="sheet-col-1-8">
<select name="attr_luckadvantage">
<option value="2d20cs=1cf=20kl1">ADV</option>
<option value="1d20cs=1cf=20" selected>NO</option>
<option value="2d20cs=1cf=20kh1">DIS</option>
</select>
</div>
<div class="sheet-col-1-12">
<input type="number" name="attr_luck_rollmod" value="0" step="1">
</div>
<div class="sheet-col-1-16">
<input class="sheet-hide-it" type="text" name="attr_lucksave_title" value="Luck Check">
<input class="sheet-hide-it" type="text" name="attr_lucksave_mod" value="0">
<button type="roll" name="roll_Luck" value="@{whisper} &{template:5eDefault} {{ability=1}} {{title=@{lucksave_title}}} {{subheader=@{character_name}}} {{difference=[[[[{[[{(@{luck} + @{luck_rollmod}), ceil(@{level}/2)}kh1]][LuckBase] + @{lucksave_mod}[AttributeModifier], 19}kl1]] - [[@{luckadvantage}]]]]}} {{target=$[[1]]}} {{roll=$[[2]]}} {{gsresult=[[ {( {(@{luck} + @{luck_rollmod}), ceil(@{level}/2)}kh1 )/2} ]]}} {{tfresult=[[ {[[floor( ([[ {( [[ {(@{luck} + @{luck_rollmod}), ceil(@{level}/2)}kh1 ]] ), ceil(0+0) }kh1 ]])*1.5 )]], 19}kl1 ]]}}"></button>
</div>
<div class="sheet-col-1-4 sheet-tiny-note">Saves,&nbsp;Exploits</div>
</div>
</div>
<!-- Skills -->
<div class="sheet-col-5-12">
<h4 class="sheet-center">Skills</h4>
<div class="sheet-row sheet-sub-header">
<div class="sheet-col-7-15 sheet-center sheet-small-label">Skill Name</div>
<div class="sheet-col-1-6 sheet-center sheet-small-label">Attribute</div>
<div class="sheet-col-1-6 sheet-center sheet-small-label">Advantage</div>
<div class="sheet-col-1-10 sheet-center sheet-small-label">Modifier</div>
<div class="sheet-col-1-10 sheet-center sheet-small-label">Roll</div>
</div>
<fieldset class="repeating_skills">
<div class="sheet-row">
<div class="sheet-col-7-15">
<input type="text" name="attr_skillname">
</div>
<div class="sheet-col-1-6">
<select name="attr_skilltype">
<option value="STR" selected>STR</option>
<option value="DEX">DEX</option>
<option value="CON">CON</option>
<option value="INT">INT</option>
<option value="PER">PER</option>
<option value="WILL">WILL</option>
<option value="CHA">CHA</option>
<option value="LUCK">LUCK</option>
</select>
</div>
<input type="hidden" name="attr_skilltarget" value="@{strength}" readonly>
<div class="sheet-col-1-6">
<select name="attr_skilladvantage">
<option value="2d20cs=1cf=20kl1">ADV</option>
<option value="1d20cs=1cf=20" selected>NO</option>
<option value="2d20cs=1cf=20kh1">DIS</option>
</select>
</div>
<div class="sheet-col-1-10">
<input type="number" name="attr_skillmod" value="0" step="1">
</div>
<div class="sheet-col-1-10 sheet-center">
<button type="roll" name="roll_Skill" value="@{whisper} &{template:5eDefault} {{ability=1}} {{title=@{skillname} Check (@{skilltype})}} {{subheader=@{character_name}}} {{difference=[[ [[{@{skilltarget}[Attribute] + 1 + (@{skillmod}[Modifier]), 19}kl1]] - [[@{skilladvantage}]] ]]}} {{target=$[[0]]}} {{roll=$[[1]]}} {{gsresult=[[{(@{skilltarget}+1+@{skillmod})/2}]]}} {{tfresult=[[ {[[floor( ([[ {( @{skilltarget} + 1 + (@{skillmod}) ), ceil(0+0) }kh1 ]])*1.5 )]], 19}kl1 ]]}}"></button>
</div>
</div>
</fieldset>
</div>
</div>
</div>
<!----------------------------------------------------------->
<!-- Features -->
<div class="sheet-section-class">
<span class="sheet-spacer"></span>
<div class="sheet-row">
<div class="sheet-col-1">
<h4 class="sheet-center">Features</h4>
<div class="sheet-row sheet-sub-header">
<div class="sheet-col-1-6 sheet-center sheet-small-label">Feature Name / Uses</div>
<div class="sheet-col-5-6 sheet-center sheet-small-label">Feature Description</div>
</div>
<fieldset class="repeating_features">
<div class="sheet-row">
<div class="sheet-col-1-6">
<div class="sheet-row">
<div class="sheet-col-1">
<div class="sheet-auto-expand">
<span name="attr_featurename"></span>
<textarea class="sheet-auto-expand" spellcheck="false" name="attr_featurename"></textarea>
</div>
</div>
</div>
<div class="sheet-row">
<div class="sheet-col-3-10">
<input type="number" name="attr_feature_uses" min="0" step="1" value="0"/>
</div>
<div class="sheet-col-1-10 sheet-padt sheet-tiny-note">
&nbsp;/&nbsp;
</div>
<div class="sheet-col-3-10">
<input type="number" name="attr_feature_uses_max" min="0" step="1" value="0"/>
</div>
<div class="sheet-col-1-4">
<button class="sheet-chat-roll" type="roll" name="roll_Feature" value="@{whisper} &{template:5eDefault} {{feature=1}} {{featuresubheader=@{character_name}}} {{featureuses=@{feature_uses}}} {{featureusesmax=@{feature_uses|max}}} {{featureusesmaxnum=[[@{feature_uses|max}]]}} {{title=@{featurename}}} {{featureshowdesc=@{featuredescr}}}"></button>
</div>
</div>
</div>
<div class="sheet-col-5-6">
<div class="sheet-auto-expand">
<span name="attr_featuredescr"></span>
<textarea class="sheet-auto-expand" spellcheck="false" name="attr_featuredescr"></textarea>
</div>
</div>
</div>
</fieldset>
</div>
</div>
</div>
<!----------------------------------------------------------->
<!-- Combat -->
<div class="sheet-section-combat">
<span class="sheet-spacer"></span>
<div class="sheet-col-1">
<!-- Melee Attacks -->
<h4 class="sheet-center">Melee Attacks</h4>
<div class="sheet-row">
<div class="sheet-row sheet-sub-header">
<div class="sheet-col-5-14 sheet-center sheet-small-label sheet-padr">Attack Name</div>
<div class="sheet-col-1-12 sheet-center sheet-small-label sheet-padr">Attribute</div>
<div class="sheet-col-1-12 sheet-center sheet-small-label sheet-padr">Advantage</div>
<div class="sheet-col-1-15 sheet-center sheet-small-label sheet-padr">+Hit</div>
<div class="sheet-col-1-15 sheet-center sheet-small-label sheet-padr">+Dmg</div>
<div class="sheet-col-1-8 sheet-center sheet-small-label sheet-padr">Base Dmg</div>
<div class="sheet-col-1-12 sheet-center sheet-small-label sheet-padr">Crit Range</div>
<div class="sheet-col-1-12 sheet-center sheet-small-label sheet-padr">
<div class="sheet-tooltip">Crit Dmg [?]
<span class="sheet-tooltiptext-right">Maximum damage + attribute modifier + half your level rounded up</span>
</div>
</div>
<div class="sheet-col-1-23 sheet-center sheet-small-label">
<div class="sheet-tooltip">Roll [?]
<span class="sheet-tooltiptext-right">Check box to display description in rolls</span>
</div>
</div>
</div>
</div>
</div>
<fieldset class="repeating_meleeattacks">
<div class="sheet-row">
<div class="sheet-col-5-14 sheet-padr"><input type="text" name="attr_melee_attackname"></div>
<div class="sheet-col-1-12 sheet-padr">
<select name="attr_melee_attribute">
<option value="@{strength_mod}" selected>STR</option>
<option value="@{dexterity_mod}">DEX</option>
<option value="@{constitution_mod}">CON</option>
<option value="@{intelligence_mod}">INT</option>
<option value="@{perception_mod}">PER</option>
<option value="@{willpower_mod}">WILL</option>
<option value="@{charisma_mod}">CHA</option>
<option value="0">NONE</option>
</select>
</div>
<div class="sheet-col-1-12 sheet-padr">
<select name="attr_melee_advantage">
<option value="2d20kh1">ADV</option>
<option value="1d20" selected>NO</option>
<option value="2d20kl1">DIS</option>
</select>
</div>
<div class="sheet-col-1-15 sheet-padr"><input type="number" name="attr_melee_hitbonus" value="0" step="1"></div>
<div class="sheet-col-1-15 sheet-padr"><input type="number" name="attr_melee_dmgbonus" value="0" step="1"></div>
<div class="sheet-col-1-8 sheet-padr"><input class="sheet-center" type="text" name="attr_melee_dmgbase" value="1d4"></div>
<div class="sheet-col-1-12 sheet-padr">
<select name="attr_melee_critrange">
<option value="" selected>20</option>
<option value="cs>19">19-20</option>
<option value="cs>18">18-20</option>
</select>
</div>
<div class="sheet-col-1-12 sheet-padr"><input type="number" name="attr_melee_dmgcrit" value="4"></div>
<div class="sheet-col-1-24 sheet-padr sheet-center">
<button type="roll" class="sheet-roll" name="roll_MeleeAttack" value="@{whisper} &{template:5eDefault} {{attack=1}} {{title=@{melee_attackname}}} {{subheader=@{character_name}}} {{attack=[[@{melee_advantage}@{melee_critrange} +@{class_hitbonus}[AttackBonus] +(@{melee_attribute}[AttributeModifier]) +(@{melee_hitbonus}[HitBonus])]]}} {{damage=[[@{melee_dmgbase} +(@{melee_attribute}[Attribute Modifier]) +(@{melee_dmgbonus}[Damage Bonus])]]}} {{19=[[19]]}} {{19check=[[19+@{class_hitbonus}+(@{melee_attribute})+(@{melee_hitbonus})]]}} {{critdamage=[[@{melee_dmgcrit}]]}} @{meleedescr_toggle}"></button>
</div>
</div>
<div class="sheet-row">
<div class="sheet-col-19-20 sheet-padr">
<div class="sheet-auto-expand">
<span name="attr_melee_description"></span>
<textarea class="sheet-auto-expand" spellcheck="false" name="attr_melee_description" placeholder="Notes: On a nat 19..."></textarea>
</div>
</div>
<div class="sheet-col-1-24 sheet-center sheet-padr">
<input type="checkbox" name="attr_meleedescr_toggle" value="@{meleedescr_var}">
<input type="hidden" name="attr_meleedescr_var" value={{attackdescription=@{melee_description}}}>
</div>
</div><hr/>
</fieldset>
<!-- Ranged Attacks -->
<div class="sheet-col-1">
<h4 class="sheet-center">Ranged Attacks</h4>
<div class="sheet-row">
<div class="sheet-row sheet-sub-header">
<div class="sheet-col-3-11 sheet-center sheet-small-label sheet-padr">Attack Name</div>
<div class="sheet-col-1-12 sheet-center sheet-small-label sheet-padr">Range</div>
<div class="sheet-col-1-12 sheet-center sheet-small-label sheet-padr">Attribute</div>
<div class="sheet-col-1-12 sheet-center sheet-small-label sheet-padr">Advantage</div>
<div class="sheet-col-1-15 sheet-center sheet-small-label sheet-padr">+Hit</div>
<div class="sheet-col-1-15 sheet-center sheet-small-label sheet-padr">+Dmg</div>
<div class="sheet-col-1-8 sheet-center sheet-small-label sheet-padr">Base Dmg</div>
<div class="sheet-col-1-12 sheet-center sheet-small-label sheet-padr">Crit Range</div>
<div class="sheet-col-1-12 sheet-center sheet-small-label sheet-padr">
<div class="sheet-tooltip">Crit Dmg [?]
<span class="sheet-tooltiptext-right">Maximum damage + attribute modifier + half your level rounded up</span>
</div>
</div>
<div class="sheet-col-1-23 sheet-center sheet-small-label">
<div class="sheet-tooltip">Roll [?]
<span class="sheet-tooltiptext-right">Check box to display description in rolls</span>
</div>
</div>
</div>
</div>
</div>
<fieldset class="repeating_rangedattacks">
<div class="sheet-row">
<div class="sheet-col-3-11 sheet-padr"><input type="text" name="attr_range_attackname"></div>
<div class="sheet-col-1-12 sheet-padr"><input type="text" name="attr_range_distance"></div>
<div class="sheet-col-1-12 sheet-padr">
<select name="attr_range_attribute">
<option value="@{strength_mod}">STR</option>
<option value="@{dexterity_mod}" selected>DEX</option>
<option value="@{constitution_mod}">CON</option>
<option value="@{intelligence_mod}">INT</option>
<option value="@{perception_mod}">PER</option>
<option value="@{willpower_mod}">WILL</option>
<option value="@{charisma_mod}">CHA</option>
<option value="0">NONE</option>
</select>
</div>
<div class="sheet-col-1-12 sheet-padr">
<select name="attr_range_advantage">
<option value="2d20kh1">ADV</option>
<option value="1d20" selected>NO</option>
<option value="2d20kl1">DIS</option>
</select>
</div>
<div class="sheet-col-1-15 sheet-padr"><input type="number" name="attr_range_hitbonus" value="0" step="1"></div>
<div class="sheet-col-1-15 sheet-padr"><input type="number" name="attr_range_dmgbonus" value="0" step="1"></div>
<div class="sheet-col-1-8 sheet-padr"><input class="sheet-center" type="text" name="attr_range_dmgbase" value="1d4"></div>
<div class="sheet-col-1-12 sheet-padr">
<select name="attr_range_critrange">
<option value="" selected>20</option>
<option value="cs>19">19-20</option>
<option value="cs>18">18-20</option>
</select>
</div>
<div class="sheet-col-1-12 sheet-padr"><input type="number" name="attr_range_dmgcrit" value="4"></div>
<div class="sheet-col-1-24 sheet-padr sheet-center">
<button type="roll" class="sheet-roll" name="roll_RangeAttack" value="@{whisper} &{template:5eDefault} {{attack=1}} {{title=@{range_attackname} (Range:@{range_distance})}} {{subheader=@{character_name}}} {{attack=[[@{range_advantage}@{range_critrange} +@{class_hitbonus}[AttackBonus] +(@{range_attribute}[AttributeModifier]) +(@{range_hitbonus}[HitBonus])]]}} {{damage=[[@{range_dmgbase} +(@{range_attribute}[Attribute Modifier]) +(@{range_dmgbonus}[Damage Bonus])]]}} {{19=[[19]]}} {{19check=[[19+@{class_hitbonus}+(@{range_attribute})+(@{range_hitbonus})]]}} {{critdamage=[[@{range_dmgcrit}]]}} @{rangedescr_toggle}"></button>
</div>
</div>
<div class="sheet-row">
<div class="sheet-col-19-20 sheet-padr">
<div class="sheet-auto-expand">
<span name="attr_range_description"></span>
<textarea class="sheet-auto-expand" spellcheck="false" name="attr_range_description" placeholder="Notes: On a nat 19..."></textarea>
</div>
</div>
<div class="sheet-col-1-24 sheet-center sheet-padr">
<input type="checkbox" name="attr_rangedescr_toggle" value="@{rangedescr_var}">
<input type="hidden" name="attr_rangedescr_var" value={{attackdescription=@{range_description}}}>
</div>
</div><hr/>
<span class="sheet-spacer"></span>
</fieldset>
</div>
<!----------------------------------------------------------->
<!-- Spellbook -->
<div class="sheet-section-spellbook">
<span class="sheet-spacer"></span>
<h4 class="sheet-center">Spellbook</h4>
<span class="sheet-spacer"></span>
<input type="checkbox" name="attr_spellpagetab1" class="sheet-tab sheet-spelltab1" value="1" checked/>
<span class="sheet-tab sheet-spelltab1">Level 1</span>
<input type="checkbox" name="attr_spellpagetab2" class="sheet-tab sheet-spelltab2" value="1" checked/>
<span class="sheet-tab sheet-spelltab2">Level 2</span>
<input type="checkbox" name="attr_spellpagetab3" class="sheet-tab sheet-spelltab3" value="1" checked/>
<span class="sheet-tab sheet-spelltab3">Level 3</span>
<input type="checkbox" name="attr_spellpagetab4" class="sheet-tab sheet-spelltab4" value="1" checked/>
<span class="sheet-tab sheet-spelltab4">Level 4</span>
<input type="checkbox" name="attr_spellpagetab5" class="sheet-tab sheet-spelltab5" value="1" checked/>
<span class="sheet-tab sheet-spelltab5">Level 5</span>
<input type="checkbox" name="attr_spellpagetab6" class="sheet-tab sheet-spelltab6" value="1" checked/>
<span class="sheet-tab sheet-spelltab6">Level 6</span>
<input type="checkbox" name="attr_spellpagetaball" class="sheet-tab sheet-spelltaball" value="1" checked/>
<span class="sheet-tab sheet-spelltaball">Show/Hide All</span>
<span class="sheet-spacer"></span>
<!-- BEGIN SPELL PAGES -->
<!-- BEGIN new spell page -->
<div class="sheet-spell-page1">
<div class="sheet-row sheet-sub-header">
<div class="sheet-col-1 sheet-center sheet-small-label">
<div class="sheet-row">
<div class="sheet-col-6-7">
Level 1
</div>
<div class="sheet-col-1-7">
<div class="sheet-row">
<div class="sheet-col-1-3"><input type="number" name="attr_spellscast1" value="0" min="0" step="1"/></div>
<div class="sheet-col-1-24">/</div>
<div class="sheet-col-1-3"><input type="number" name="attr_spellscast1_max" value="0" min="0" step="1"/></div>
<div class="sheet-col-7-24 sheet-small-label">Spells Cast</div>
</div>
</div>
</div>
</div>
</div>
<fieldset class="repeating_spellbooklevel1">
<!-- BEGIN spell row -->
<span class="sheet-spacer"></span>
<div class="sheet-margin-bottom sheet-padr sheet-padl">
<div class="sheet-row">
<div class="sheet-col-1-8 sheet-vert-bottom sheet-center sheet-small-label">Spell Level</div>
<div class="sheet-col-13-24 sheet-vert-bottom sheet-center sheet-small-label">Spell Name</div>
<div class="sheet-col-1-8 sheet-vert-bottom sheet-center sheet-small-label">Range</div>
<div class="sheet-col-1-8 sheet-vert-bottom sheet-center sheet-small-label">Duration</div>
<div class="sheet-col-1-12 sheet-vert-bottom sheet-center sheet-small-label">Roll</div>
</div>
<div class="sheet-row">
<div class="sheet-col-1-8 sheet-vert-middle sheet-center">Level 1<input type="hidden" name="attr_spellbaselevel" value="1"></div>
<div class="sheet-col-13-24 sheet-vert-middle"><input type="text" name="attr_spellname"></div>
<div class="sheet-col-1-8 sheet-vert-middle"><input type="text" name="attr_spellrange"></div>
<div class="sheet-col-1-8 sheet-vert-middle"><input type="text" name="attr_spellduration"></div>
<div class="sheet-col-1-12 sheet-center">
<button type="roll" class="sheet-roll" name="roll_SpellCast" value="@{whisper} &{template:5eDefault} {{spell=1}} {{spellshowinfoblock=1}} {{spellshowdesc=1}} {{title=@{spellname}}} {{subheader=@{character_name}}} {{subheaderright=Level @{spellbaselevel} Spell • @{spellscast1}/@{spellscast1|max}}} {{spellduration=@{spellduration}}} {{spellrange=@{spellrange}}} {{spelldescription=@{spelldescr}}} {{ddmrequest=[Dark & Dangerous Magic Roll](~@{character_id}|DDM)}}"></button>
</div>
</div>
<div class="sheet-row">
<div class="sheet-col-1">
<div class="sheet-auto-expand">
<span name="attr_spelldescr"></span>
<textarea class="sheet-auto-expand" spellcheck="false" name="attr_spelldescr" placeholder="Spell Description and Effects..."></textarea>
</div>
</div>
</div>
<span class="sheet-spacer"></span>
</div>
<!-- END spell row -->
</fieldset>
</div>
<!-- END spell page -->
<!-- BEGIN new spell page -->
<div class="sheet-spell-page2">
<div class="sheet-row sheet-sub-header">
<div class="sheet-col-1 sheet-vert-bottom sheet-center sheet-small-label">
<div class="sheet-row">
<div class="sheet-col-6-7">
Level 2
</div>
<div class="sheet-col-1-7">
<div class="sheet-row">
<div class="sheet-col-1-3"><input type="number" name="attr_spellscast2" value="0" min="0" step="1"/></div>
<div class="sheet-col-1-24">/</div>
<div class="sheet-col-1-3"><input type="number" name="attr_spellscast2_max" value="0" min="0" step="1"/></div>
<div class="sheet-col-7-24 sheet-small-label">Spells Cast</div>
</div>
</div>
</div>
</div>
</div>
<fieldset class="repeating_spellbooklevel2">
<!-- BEGIN spell row -->
<span class="sheet-spacer"></span>
<div class="sheet-margin-bottom sheet-padr sheet-padl">
<div class="sheet-row">
<div class="sheet-col-1-8 sheet-vert-bottom sheet-center sheet-small-label">Spell Level</div>
<div class="sheet-col-13-24 sheet-vert-bottom sheet-center sheet-small-label">Spell Name</div>
<div class="sheet-col-1-8 sheet-vert-bottom sheet-center sheet-small-label">Range</div>
<div class="sheet-col-1-8 sheet-vert-bottom sheet-center sheet-small-label">Duration</div>
<div class="sheet-col-1-12 sheet-vert-bottom sheet-center sheet-small-label">Roll</div>
</div>
<div class="sheet-row">
<div class="sheet-col-1-8 sheet-vert-middle sheet-center">Level 2<input type="hidden" name="attr_spellbaselevel" value="2"></div>
<div class="sheet-col-13-24 sheet-vert-middle"><input type="text" name="attr_spellname"></div>
<div class="sheet-col-1-8 sheet-vert-middle"><input type="text" name="attr_spellrange"></div>
<div class="sheet-col-1-8 sheet-vert-middle"><input type="text" name="attr_spellduration"></div>
<div class="sheet-col-1-12 sheet-center">
<button type="roll" class="sheet-roll" name="roll_SpellCast" value="@{whisper} &{template:5eDefault} {{spell=1}} {{spellshowinfoblock=1}} {{spellshowdesc=1}} {{title=@{spellname}}} {{subheader=@{character_name}}} {{subheaderright=Level @{spellbaselevel} Spell • @{spellscast2}/@{spellscast2|max}}} {{spellduration=@{spellduration}}} {{spellrange=@{spellrange}}} {{spelldescription=@{spelldescr}}} {{ddmrequest=[Dark & Dangerous Magic Roll](~@{character_id}|DDM)}}"></button>
</div>
</div>
<div class="sheet-row">
<div class="sheet-col-1">
<div class="sheet-auto-expand">
<span name="attr_spelldescr"></span>
<textarea class="sheet-auto-expand" spellcheck="false" name="attr_spelldescr" placeholder="Spell Description and Effects..."></textarea>
</div>
</div>
</div>
<span class="sheet-spacer"></span>
</div>
<!-- END spell row -->
</fieldset>
</div>
<!-- END spell page -->
<!-- BEGIN new spell page -->
<div class="sheet-spell-page3">
<div class="sheet-row sheet-sub-header">
<div class="sheet-col-1 sheet-vert-bottom sheet-center sheet-small-label">
<div class="sheet-row">
<div class="sheet-col-6-7">
Level 3
</div>
<div class="sheet-col-1-7">
<div class="sheet-row">
<div class="sheet-col-1-3"><input type="number" name="attr_spellscast3" value="0" min="0" step="1"/></div>
<div class="sheet-col-1-24">/</div>
<div class="sheet-col-1-3"><input type="number" name="attr_spellscast3_max" value="0" min="0" step="1"/></div>
<div class="sheet-col-7-24 sheet-small-label">Spells Cast</div>
</div>
</div>
</div>
</div>
</div>
<fieldset class="repeating_spellbooklevel3">
<!-- BEGIN spell row -->
<span class="sheet-spacer"></span>
<div class="sheet-margin-bottom sheet-padr sheet-padl">
<div class="sheet-row">
<div class="sheet-col-1-8 sheet-vert-bottom sheet-center sheet-small-label">Spell Level</div>
<div class="sheet-col-13-24 sheet-vert-bottom sheet-center sheet-small-label">Spell Name</div>
<div class="sheet-col-1-8 sheet-vert-bottom sheet-center sheet-small-label">Range</div>
<div class="sheet-col-1-8 sheet-vert-bottom sheet-center sheet-small-label">Duration</div>
<div class="sheet-col-1-12 sheet-vert-bottom sheet-center sheet-small-label">Roll</div>
</div>
<div class="sheet-row">
<div class="sheet-col-1-8 sheet-vert-middle sheet-center">Level 3<input type="hidden" name="attr_spellbaselevel" value="3"></div>
<div class="sheet-col-13-24 sheet-vert-middle"><input type="text" name="attr_spellname"></div>
<div class="sheet-col-1-8 sheet-vert-middle"><input type="text" name="attr_spellrange"></div>
<div class="sheet-col-1-8 sheet-vert-middle"><input type="text" name="attr_spellduration"></div>
<div class="sheet-col-1-12 sheet-center">
<button type="roll" class="sheet-roll" name="roll_SpellCast" value="@{whisper} &{template:5eDefault} {{spell=1}} {{spellshowinfoblock=1}} {{spellshowdesc=1}} {{title=@{spellname}}} {{subheader=@{character_name}}} {{subheaderright=Level @{spellbaselevel} Spell • @{spellscast3}/@{spellscast3|max}}} {{spellduration=@{spellduration}}} {{spellrange=@{spellrange}}} {{spelldescription=@{spelldescr}}} {{ddmrequest=[Dark & Dangerous Magic Roll](~@{character_id}|DDM)}}"></button>
</div>
</div>
<div class="sheet-row">
<div class="sheet-col-1">
<div class="sheet-auto-expand">
<span name="attr_spelldescr"></span>
<textarea class="sheet-auto-expand" spellcheck="false" name="attr_spelldescr" placeholder="Spell Description and Effects..."></textarea>
</div>
</div>
</div>
<span class="sheet-spacer"></span>
</div>
<!-- END spell row -->
</fieldset>
</div>
<!-- END spell page -->
<!-- BEGIN new spell page -->
<div class="sheet-spell-page4">
<div class="sheet-row sheet-sub-header">
<div class="sheet-col-1 sheet-vert-bottom sheet-center sheet-small-label">
<div class="sheet-row">
<div class="sheet-col-6-7">
Level 4
</div>
<div class="sheet-col-1-7">
<div class="sheet-row">
<div class="sheet-col-1-3"><input type="number" name="attr_spellscast4" value="0" min="0" step="1"/></div>
<div class="sheet-col-1-24">/</div>
<div class="sheet-col-1-3"><input type="number" name="attr_spellscast4_max" value="0" min="0" step="1"/></div>
<div class="sheet-col-7-24 sheet-small-label">Spells Cast</div>
</div>
</div>
</div>
</div>
</div>
<fieldset class="repeating_spellbooklevel4">
<!-- BEGIN spell row -->
<span class="sheet-spacer"></span>
<div class="sheet-margin-bottom sheet-padr sheet-padl">
<div class="sheet-row">
<div class="sheet-col-1-8 sheet-vert-bottom sheet-center sheet-small-label">Spell Level</div>
<div class="sheet-col-13-24 sheet-vert-bottom sheet-center sheet-small-label">Spell Name</div>
<div class="sheet-col-1-8 sheet-vert-bottom sheet-center sheet-small-label">Range</div>
<div class="sheet-col-1-8 sheet-vert-bottom sheet-center sheet-small-label">Duration</div>
<div class="sheet-col-1-12 sheet-vert-bottom sheet-center sheet-small-label">Roll</div>
</div>
<div class="sheet-row">
<div class="sheet-col-1-8 sheet-vert-middle sheet-center">Level 4<input type="hidden" name="attr_spellbaselevel" value="4"></div>
<div class="sheet-col-13-24 sheet-vert-middle"><input type="text" name="attr_spellname"></div>
<div class="sheet-col-1-8 sheet-vert-middle"><input type="text" name="attr_spellrange"></div>
<div class="sheet-col-1-8 sheet-vert-middle"><input type="text" name="attr_spellduration"></div>
<div class="sheet-col-1-12 sheet-center">
<button type="roll" class="sheet-roll" name="roll_SpellCast" value="@{whisper} &{template:5eDefault} {{spell=1}} {{spellshowinfoblock=1}} {{spellshowdesc=1}} {{title=@{spellname}}} {{subheader=@{character_name}}} {{subheaderright=Level @{spellbaselevel} Spell • @{spellscast4}/@{spellscast4|max}}} {{spellduration=@{spellduration}}} {{spellrange=@{spellrange}}} {{spelldescription=@{spelldescr}}} {{ddmrequest=[Dark & Dangerous Magic Roll](~@{character_id}|DDM)}}"></button>
</div>
</div>
<div class="sheet-row">
<div class="sheet-col-1">
<div class="sheet-auto-expand">
<span name="attr_spelldescr"></span>
<textarea class="sheet-auto-expand" spellcheck="false" name="attr_spelldescr" placeholder="Spell Description and Effects..."></textarea>
</div>
</div>
</div>
<span class="sheet-spacer"></span>
</div>
<!-- END spell row -->
</fieldset>
</div>
<!-- END spell page -->
<!-- BEGIN new spell page -->
<div class="sheet-spell-page5">
<div class="sheet-row sheet-sub-header">
<div class="sheet-col-1 sheet-vert-bottom sheet-center sheet-small-label">
<div class="sheet-row">
<div class="sheet-col-6-7">Level 5</div>
<div class="sheet-col-1-7">
<div class="sheet-row">
<div class="sheet-col-1-3"><input type="number" name="attr_spellscast5" value="0" min="0" step="1"/></div>
<div class="sheet-col-1-24">/</div>
<div class="sheet-col-1-3"><input type="number" name="attr_spellscast5_max" value="0" min="0" step="1"/></div>
<div class="sheet-col-7-24 sheet-small-label">Spells Cast</div>
</div>
</div>
</div>
</div>
</div>
<fieldset class="repeating_spellbooklevel5">
<!-- BEGIN spell row -->
<span class="sheet-spacer"></span>
<div class="sheet-margin-bottom sheet-padr sheet-padl">
<div class="sheet-row">
<div class="sheet-col-1-8 sheet-vert-bottom sheet-center sheet-small-label">Spell Level</div>
<div class="sheet-col-13-24 sheet-vert-bottom sheet-center sheet-small-label">Spell Name</div>
<div class="sheet-col-1-8 sheet-vert-bottom sheet-center sheet-small-label">Range</div>
<div class="sheet-col-1-8 sheet-vert-bottom sheet-center sheet-small-label">Duration</div>
<div class="sheet-col-1-12 sheet-vert-bottom sheet-center sheet-small-label">Roll</div>
</div>
<div class="sheet-row">
<div class="sheet-col-1-8 sheet-vert-middle sheet-center">Level 5<input type="hidden" name="attr_spellbaselevel" value="5"></div>
<div class="sheet-col-13-24 sheet-vert-middle"><input type="text" name="attr_spellname"></div>
<div class="sheet-col-1-8 sheet-vert-middle"><input type="text" name="attr_spellrange"></div>
<div class="sheet-col-1-8 sheet-vert-middle"><input type="text" name="attr_spellduration"></div>
<div class="sheet-col-1-12 sheet-center">
<button type="roll" class="sheet-roll" name="roll_SpellCast" value="@{whisper} &{template:5eDefault} {{spell=1}} {{spellshowinfoblock=1}} {{spellshowdesc=1}} {{title=@{spellname}}} {{subheader=@{character_name}}} {{subheaderright=Level @{spellbaselevel} Spell • @{spellscast5}/@{spellscast5|max}}} {{spellduration=@{spellduration}}} {{spellrange=@{spellrange}}} {{spelldescription=@{spelldescr}}} {{ddmrequest=[Dark & Dangerous Magic Roll](~@{character_id}|DDM)}}"></button>
</div>
</div>
<div class="sheet-row">
<div class="sheet-col-1">
<div class="sheet-auto-expand">
<span name="attr_spelldescr"></span>
<textarea class="sheet-auto-expand" spellcheck="false" name="attr_spelldescr" placeholder="Spell Description and Effects..."></textarea>
</div>
</div>
</div>
<span class="sheet-spacer"></span>
</div>
<!-- END spell row -->
</fieldset>
</div>
<!-- END spell page -->
<!-- BEGIN new spell page -->
<div class="sheet-spell-page6">
<div class="sheet-row sheet-sub-header">
<div class="sheet-col-1 sheet-vert-bottom sheet-center sheet-small-label">
<div class="sheet-row">
<div class="sheet-col-6-7">Level 6</div>
<div class="sheet-col-1-7">
<div class="sheet-row">
<div class="sheet-col-1-3"><input type="number" name="attr_spellscast6" value="0" min="0" step="1"/></div>
<div class="sheet-col-1-24">/</div>
<div class="sheet-col-1-3"><input type="number" name="attr_spellscast6_max" value="0" min="0" step="1"/></div>
<div class="sheet-col-7-24 sheet-small-label">Spells Cast</div>
</div>
</div>
</div>
</div>
</div>
<fieldset class="repeating_spellbooklevel6">
<!-- BEGIN spell row -->
<span class="sheet-spacer"></span>
<div class="sheet-margin-bottom sheet-padr sheet-padl">
<div class="sheet-row">
<div class="sheet-col-1-8 sheet-vert-bottom sheet-center sheet-small-label">Spell Level</div>
<div class="sheet-col-13-24 sheet-vert-bottom sheet-center sheet-small-label">Spell Name</div>
<div class="sheet-col-1-8 sheet-vert-bottom sheet-center sheet-small-label">Range</div>
<div class="sheet-col-1-8 sheet-vert-bottom sheet-center sheet-small-label">Duration</div>
<div class="sheet-col-1-12 sheet-vert-bottom sheet-center sheet-small-label">Roll</div>
</div>
<div class="sheet-row">
<div class="sheet-col-1-8 sheet-vert-middle sheet-center">Level 6<input type="hidden" name="attr_spellbaselevel" value="6"></div>
<div class="sheet-col-13-24 sheet-vert-middle"><input type="text" name="attr_spellname"></div>
<div class="sheet-col-1-8 sheet-vert-middle"><input type="text" name="attr_spellrange"></div>
<div class="sheet-col-1-8 sheet-vert-middle"><input type="text" name="attr_spellduration"></div>
<div class="sheet-col-1-12 sheet-center">
<button type="roll" class="sheet-roll" name="roll_SpellCast" value="@{whisper} &{template:5eDefault} {{spell=1}} {{spellshowinfoblock=1}} {{spellshowdesc=1}} {{title=@{spellname}}} {{subheader=@{character_name}}} {{subheaderright=Level @{spellbaselevel} Spell • @{spellscast6}/@{spellscast6|max}}} {{spellduration=@{spellduration}}} {{spellrange=@{spellrange}}} {{spelldescription=@{spelldescr}}} {{ddmrequest=[Dark & Dangerous Magic Roll](~@{character_id}|DDM)}}"></button>
</div>
</div>
<div class="sheet-row">
<div class="sheet-col-1">
<div class="sheet-auto-expand">
<span name="attr_spelldescr"></span>
<textarea class="sheet-auto-expand" spellcheck="false" name="attr_spelldescr" placeholder="Spell Description and Effects..."></textarea>
</div>
</div>
</div>
<span class="sheet-spacer"></span>
</div>
<!-- END spell row -->
</fieldset>
</div>
<!-- END spell page -->
<!-- END AUTO GENERATED SPELL PAGES -->
</div>
<!----------------------------------------------------------->
<!--Inventory -->
<div class="sheet-section-inventory">
<span class="sheet-spacer"></span>
<div class="sheet-row">
<!-- Loot-->
<div class="sheet-col-1-2 sheet-padr">
<h4 class="sheet-center">Coin</h4>
<div class="sheet-row sheet-sub-header">
<div class="sheet-col-1-6 sheet-center sheet-small-label">CP</div>
<div class="sheet-col-1-6 sheet-center sheet-small-label">SP</div>
<div class="sheet-col-1-6 sheet-center sheet-small-label">EP</div>
<div class="sheet-col-1-6 sheet-center sheet-small-label">GP</div>
<div class="sheet-col-1-6 sheet-center sheet-small-label">PP</div>
<div class="sheet-col-1-6 sheet-center sheet-small-label">Total (GP)</div>
</div>
<div class="sheet-row">
<div class="sheet-col-1-6" title="Copper Pieces"><input type="number" name="attr_cp" value="0" min="0" step="1"></div>
<div class="sheet-col-1-6" title="Silver Pieces"><input type="number" name="attr_sp" value="0" min="0" step="1"></div>
<div class="sheet-col-1-6" title="Electrum Pieces"><input type="number" name="attr_ep" value="0" min="0" step="1"></div>
<div class="sheet-col-1-6" title="Gold Pieces"><input type="number" name="attr_gp" value="0" min="0" step="1"></div>
<div class="sheet-col-1-6" title="Platinum Pieces"><input type="number" name="attr_pp" value="0" min="0" step="1"></div>
<div class="sheet-col-1-6" title="Total (in Gold Pieces)"><input type="number" name="attr_money_total_gp" value="(@{cp} / 100) + (@{sp} / 10) + (@{ep} / 2) + @{gp} + (@{pp} * 5) " disabled="disabled"></div>
</div>
<h4 class="sheet-center">Treasure/Loot/Inventory Notes</h4>
<div class="sheet-row sheet-padr">
<textarea name="attr_lootnotes"></textarea>
</div>
</div>
<!-- Inventory Locations -->
<div class="sheet-col-1-2">
<h4 class="sheet-center">Inventory Locations</h4>
<div class="sheet-row sheet-sub-header">
<div class="sheet-col-1-8 sheet-center sheet-small-label sheet-padl">Tab</div>
<div class="sheet-col-7-8 sheet-center sheet-small-label">Name</div>
</div>
<div class="sheet-row">
<div class="sheet-col-1-8 sheet-center sheet-padl">1</div>
<div class="sheet-col-7-8 sheet-center"><input type="text" name="attr_itab1" value="Worn"></div>
</div>
<div class="sheet-row">
<div class="sheet-col-1-8 sheet-center sheet-padl">2</div>
<div class="sheet-col-7-8 sheet-center"><input type="text" name="attr_itab2" value="Carried"></div>
</div>
<div class="sheet-row">
<div class="sheet-col-1-8 sheet-center sheet-padl">3</div>
<div class="sheet-col-7-8 sheet-center"><input type="text" name="attr_itab3" value="Backpack"></div>
</div>
<div class="sheet-row">
<div class="sheet-col-1-8 sheet-center sheet-padl">4</div>
<div class="sheet-col-7-8 sheet-center"><input type="text" name="attr_itab4" value="Belt pouch"></div>
</div>
<div class="sheet-row">
<div class="sheet-col-1-8 sheet-center sheet-padl">5</div>
<div class="sheet-col-7-8 sheet-center"><input type="text" name="attr_itab5" value="Sack large"></div>
</div>
<div class="sheet-row">
<div class="sheet-col-1-8 sheet-center sheet-padl">6</div>
<div class="sheet-col-7-8 sheet-center"><input type="text" name="attr_itab6" value="Mount"></div>
</div>
<div class="sheet-row">
<div class="sheet-col-1-8 sheet-center sheet-padl">7</div>
<div class="sheet-col-7-8 sheet-center"><input type="text" name="attr_itab7" value="Other"></div>
</div>
</div>
</div>
<!-- Inventory Tabs -->
<h4 class="sheet-center">Inventory</h4>
<input type="checkbox" name="attr_inventorytab1" class="sheet-tab sheet-inventorytab1" value="1" title="Page 1" />
<span class="sheet-tab sheet-inventorytab1" name="attr_itab1"></span>
<input type="checkbox" name="attr_inventorytab2" class="sheet-tab sheet-inventorytab2" value="2" title="Page 2" />
<span class="sheet-tab sheet-inventorytab2" name="attr_itab2"></span>
<input type="checkbox" name="attr_inventorytab3" class="sheet-tab sheet-inventorytab3" value="3" title="Page 3" />
<span class="sheet-tab sheet-inventorytab3" name="attr_itab3"></span>
<input type="checkbox" name="attr_inventorytab4" class="sheet-tab sheet-inventorytab4" value="4" title="Page 4" />
<span class="sheet-tab sheet-inventorytab4" name="attr_itab4"></span>
<input type="checkbox" name="attr_inventorytab5" class="sheet-tab sheet-inventorytab5" value="5" title="Page 5" />
<span class="sheet-tab sheet-inventorytab5" name="attr_itab5"></span>
<input type="checkbox" name="attr_inventorytab6" class="sheet-tab sheet-inventorytab6" value="6" title="Page 6" />
<span class="sheet-tab sheet-inventorytab6" name="attr_itab6"></span>
<input type="checkbox" name="attr_inventorytab7" class="sheet-tab sheet-inventorytab7" value="7" title="Page 7" />
<span class="sheet-tab sheet-inventorytab7" name="attr_itab7"></span>
<span class="sheet-spacer"></span>
<!-- Inventory Page 1 -->
<div class="sheet-inventory-page1">
<div class="sheet-row sheet-sub-header">
<div class="sheet-col-1 sheet-center sheet-small-label sheet-padl"><span name="attr_itab1"></span></div>
<div class="sheet-col-1-4 sheet-center sheet-small-label sheet-padl">Name</div>
<div class="sheet-col-2-21 sheet-center sheet-small-label">Qty</div>
<div class="sheet-col-2-21 sheet-center sheet-small-label">Uses</div>
<div class="sheet-col-13-24 sheet-center sheet-small-label sheet-padl">Notes</div>
</div>
<fieldset class="repeating_inventtab1">
<div class="sheet-row sheet-padb">
<div class="sheet-col-1-4 sheet-left">
<div class="sheet-auto-expand">
<span name="attr_itemname"></span>
<textarea class="sheet-auto-expand" spellcheck="false" name="attr_itemname"></textarea>
</div>
</div>
<div class="sheet-col-2-21 sheet-padl sheet-center"><input type="number" name="attr_itemquantity"></div>
<div class="sheet-col-2-21 sheet-padl sheet-center"><input type="number" name="attr_itemuses"></div>
<div class="sheet-col-13-24 sheet-padl sheet-left">
<div class="sheet-auto-expand">
<span name="attr_itemdesc"></span>
<textarea class="sheet-auto-expand" spellcheck="false" name="attr_itemdesc"></textarea>
</div>
</div>
</div>
</fieldset>
</div>
<!-- Inventory Page 2 -->
<div class="sheet-inventory-page2">
<div class="sheet-row sheet-sub-header">
<div class="sheet-col-1 sheet-center sheet-small-label sheet-padl"><span name="attr_itab2"></span></div>
<div class="sheet-col-1-4 sheet-center sheet-small-label sheet-padl">Name</div>
<div class="sheet-col-2-21 sheet-center sheet-small-label">Qty</div>
<div class="sheet-col-2-21 sheet-center sheet-small-label">Uses</div>
<div class="sheet-col-13-24 sheet-center sheet-small-label sheet-padl">Notes</div>
</div>
<fieldset class="repeating_inventtab2">
<div class="sheet-row sheet-padb">
<div class="sheet-col-1-4 sheet-left">
<div class="sheet-auto-expand">
<span name="attr_itemname"></span>
<textarea class="sheet-auto-expand" spellcheck="false" name="attr_itemname"></textarea>
</div>
</div>
<div class="sheet-col-2-21 sheet-padl sheet-center"><input type="number" name="attr_itemquantity"></div>
<div class="sheet-col-2-21 sheet-padl sheet-center"><input type="number" name="attr_itemuses"></div>
<div class="sheet-col-13-24 sheet-padl sheet-left">
<div class="sheet-auto-expand">
<span name="attr_itemdesc"></span>
<textarea class="sheet-auto-expand" spellcheck="false" name="attr_itemdesc"></textarea>
</div>
</div>
</div>
</fieldset>
</div>
<!-- Inventory Page 3 -->
<div class="sheet-inventory-page3">
<div class="sheet-row sheet-sub-header">
<div class="sheet-col-1 sheet-center sheet-small-label sheet-padl"><span name="attr_itab3"></span></div>
<div class="sheet-col-1-4 sheet-center sheet-small-label sheet-padl">Name</div>
<div class="sheet-col-2-21 sheet-center sheet-small-label">Qty</div>
<div class="sheet-col-2-21 sheet-center sheet-small-label">Uses</div>
<div class="sheet-col-13-24 sheet-center sheet-small-label sheet-padl">Notes</div>
</div>
<fieldset class="repeating_inventtab3">
<div class="sheet-row sheet-padb">
<div class="sheet-col-1-4 sheet-left">
<div class="sheet-auto-expand">
<span name="attr_itemname"></span>
<textarea class="sheet-auto-expand" spellcheck="false" name="attr_itemname"></textarea>
</div>
</div>
<div class="sheet-col-2-21 sheet-padl sheet-center"><input type="number" name="attr_itemquantity"></div>
<div class="sheet-col-2-21 sheet-padl sheet-center"><input type="number" name="attr_itemuses"></div>
<div class="sheet-col-13-24 sheet-padl sheet-left">
<div class="sheet-auto-expand">
<span name="attr_itemdesc"></span>
<textarea class="sheet-auto-expand" spellcheck="false" name="attr_itemdesc"></textarea>
</div>
</div>
</div>
</fieldset>
</div>
<!-- Inventory Page 4 -->
<div class="sheet-inventory-page4">
<div class="sheet-row sheet-sub-header">
<div class="sheet-col-1 sheet-center sheet-small-label sheet-padl"><span name="attr_itab4"></span></div>
<div class="sheet-col-1-4 sheet-center sheet-small-label sheet-padl">Name</div>
<div class="sheet-col-2-21 sheet-center sheet-small-label">Qty</div>
<div class="sheet-col-2-21 sheet-center sheet-small-label">Uses</div>
<div class="sheet-col-13-24 sheet-center sheet-small-label sheet-padl">Notes</div>
</div>
<fieldset class="repeating_inventtab4">
<div class="sheet-row sheet-padb">
<div class="sheet-col-1-4 sheet-left">
<div class="sheet-auto-expand">
<span name="attr_itemname"></span>
<textarea class="sheet-auto-expand" spellcheck="false" name="attr_itemname"></textarea>
</div>
</div>
<div class="sheet-col-2-21 sheet-padl sheet-center"><input type="number" name="attr_itemquantity"></div>
<div class="sheet-col-2-21 sheet-padl sheet-center"><input type="number" name="attr_itemuses"></div>
<div class="sheet-col-13-24 sheet-padl sheet-left">
<div class="sheet-auto-expand">
<span name="attr_itemdesc"></span>
<textarea class="sheet-auto-expand" spellcheck="false" name="attr_itemdesc"></textarea>
</div>
</div>
</div>
</fieldset>
</div>
<!-- Inventory Page 5 -->
<div class="sheet-inventory-page5">
<div class="sheet-row sheet-sub-header">
<div class="sheet-col-1 sheet-center sheet-small-label sheet-padl"><span name="attr_itab5"></span></div>
<div class="sheet-col-1-4 sheet-center sheet-small-label sheet-padl">Name</div>
<div class="sheet-col-2-21 sheet-center sheet-small-label">Qty</div>
<div class="sheet-col-2-21 sheet-center sheet-small-label">Uses</div>
<div class="sheet-col-13-24 sheet-center sheet-small-label sheet-padl">Notes</div>
</div>
<fieldset class="repeating_inventtab5">
<div class="sheet-row sheet-padb">
<div class="sheet-col-1-4 sheet-left">
<div class="sheet-auto-expand">
<span name="attr_itemname"></span>
<textarea class="sheet-auto-expand" spellcheck="false" name="attr_itemname"></textarea>
</div>
</div>
<div class="sheet-col-2-21 sheet-padl sheet-center"><input type="number" name="attr_itemquantity"></div>
<div class="sheet-col-2-21 sheet-padl sheet-center"><input type="number" name="attr_itemuses"></div>
<div class="sheet-col-13-24 sheet-padl sheet-left">
<div class="sheet-auto-expand">
<span name="attr_itemdesc"></span>
<textarea class="sheet-auto-expand" spellcheck="false" name="attr_itemdesc"></textarea>
</div>
</div>
</div>
</fieldset>
</div>
<!-- Inventory Page 6 -->
<div class="sheet-inventory-page6">
<div class="sheet-row sheet-sub-header">
<div class="sheet-col-1 sheet-center sheet-small-label sheet-padl"><span name="attr_itab6"></span></div>
<div class="sheet-col-1-4 sheet-center sheet-small-label sheet-padl">Name</div>
<div class="sheet-col-2-21 sheet-center sheet-small-label">Qty</div>
<div class="sheet-col-2-21 sheet-center sheet-small-label">Uses</div>
<div class="sheet-col-13-24 sheet-center sheet-small-label sheet-padl">Notes</div>
</div>
<fieldset class="repeating_inventtab6">
<div class="sheet-row sheet-padb">
<div class="sheet-col-1-4 sheet-left">
<div class="sheet-auto-expand">
<span name="attr_itemname"></span>
<textarea class="sheet-auto-expand" spellcheck="false" name="attr_itemname"></textarea>
</div>
</div>
<div class="sheet-col-2-21 sheet-padl sheet-center"><input type="number" name="attr_itemquantity"></div>
<div class="sheet-col-2-21 sheet-padl sheet-center"><input type="number" name="attr_itemuses"></div>
<div class="sheet-col-13-24 sheet-padl sheet-left">
<div class="sheet-auto-expand">
<span name="attr_itemdesc"></span>
<textarea class="sheet-auto-expand" spellcheck="false" name="attr_itemdesc"></textarea>
</div>
</div>
</div>
<span class="sheet-spacer"></span>
</fieldset>
</div>
<!-- Inventory Page 7 -->
<div class="sheet-inventory-page7">
<div class="sheet-row sheet-sub-header">
<div class="sheet-col-1 sheet-center sheet-small-label sheet-padl"><span name="attr_itab7"></span></div>
<div class="sheet-col-1-4 sheet-center sheet-small-label sheet-padl">Name</div>
<div class="sheet-col-2-21 sheet-center sheet-small-label">Qty</div>
<div class="sheet-col-2-21 sheet-center sheet-small-label">Uses</div>
<div class="sheet-col-13-24 sheet-center sheet-small-label sheet-padl">Notes</div>
</div>
<fieldset class="repeating_inventtab7">
<div class="sheet-row sheet-padb">
<div class="sheet-col-1-4 sheet-left">
<div class="sheet-auto-expand">
<span name="attr_itemname"></span>
<textarea class="sheet-auto-expand" spellcheck="false" name="attr_itemname"></textarea>
</div>
</div>
<div class="sheet-col-2-21 sheet-padl sheet-center"><input type="number" name="attr_itemquantity"></div>
<div class="sheet-col-2-21 sheet-padl sheet-center"><input type="number" name="attr_itemuses"></div>
<div class="sheet-col-13-24 sheet-padl sheet-left">
<div class="sheet-auto-expand">
<span name="attr_itemdesc"></span>
<textarea class="sheet-auto-expand" spellcheck="false" name="attr_itemdesc"></textarea>
</div>
</div>
</div>
</fieldset>
</div>
</div>
<!----------------------------------------------------------->
<!-- Conditions -->
<div class="sheet-section-conditions">
<span class="sheet-spacer"></span>
<h4 class="sheet-center">Conditions</h4>
<div class="sheet-row">
<div class="sheet-row sheet-sub-header">
<div class="sheet-col-1-6 sheet-center sheet-small-label">Type/Duration</div>
<div class="sheet-col-5-6 sheet-center sheet-small-label">Description</div>
</div>
<fieldset class="repeating_conditions">
<div class="sheet-row sheet-padb">
<div class="sheet-col-1-6">
<div class="sheet-auto-expand">
<span name="attr_conditionname"></span>
<textarea class="sheet-auto-expand" spellcheck="false" name="attr_conditionname" placeholder="Condition..."></textarea>
</div>
<div class="sheet-auto-expand">
<span name="attr_conditionduration"></span>
<textarea class="sheet-auto-expand" spellcheck="false" name="attr_conditionduration" placeholder="Duration..."></textarea>
</div>
</div>
<div class="sheet-col-5-6">
<div class="sheet-auto-expand">
<span name="attr_conditiondescr"></span>
<textarea class="sheet-auto-expand" spellcheck="false" name="attr_conditiondescr"></textarea>
</div>
</div>
</div>
</fieldset>
</div>
</div>
<!----------------------------------------------------------->
<!-- Notes -->
<div class="sheet-section-notes">
<span class="sheet-spacer"></span>
<h4 class="sheet-center">Notes/Journal</h4>
<div class="sheet-auto-expand" style="min-height: 200px">
<span name="attr_notes"></span>
<textarea class="sheet-auto-expand" spellcheck="false" name="attr_notes"></textarea>
</div>
</div>
</div>
<!----------------------------------------------------------->
<!-- Roll Templates -->
<rolltemplate class="sheet-rolltemplate-5eDefault">
<div class="sheet-rt-card">
<div class="sheet-rt-header{{#attack}} sheet-attack{{/attack}}{{#spell}} sheet-spell{{/spell}}{{#ability}} sheet-ability{{/ability}}{{#save}} sheet-save{{/save}}{{#feature}} sheet-feature{{/feature}}{{#ddm}} sheet-ddm{{/ddm}}">
<div class="sheet-rt-title">{{title}}</div>
{{#subheader}}
<div class="sheet-rt-subheader">{{subheader}}{{#subheaderright}} &bullet; {{subheaderright}}{{/subheaderright}}</div>
{{/subheader}}
{{#featuresubheader}}
{{#rollGreater() featureusesmaxnum 0}}
<div class="sheet-rt-subheader">{{featuresubheader}} &bullet; {{featureuses}}/{{featureusesmax}} Uses</div>
{{/rollGreater() featureusesmaxnum 0}}
{{#^rollGreater() featureusesmaxnum 0}}
<div class="sheet-rt-subheader">{{featuresubheader}}</div>
{{/^rollGreater() featureusesmaxnum 0}}
{{/featuresubheader}}
{{#subheader2}}
<div class="sheet-rt-subheader">{{subheader2}}{{#subheaderright2}} &bullet; {{subheaderright2}}{{/subheaderright2}}</div>
{{/subheader2}}
</div>
{{#emote}}
<p class="sheet-rt-emote">{{character_name}} {{emote}}</p>
{{/emote}}
<div class="sheet-main-content">
{{#initiative}}
<div class="sheet-row">
<div class="sheet-col-5-12 sheet-padl sheet-padr sheet-rt-key">Result</div>
<div class="sheet-col-7-12 sheet-padr sheet-rt-value">{{initiative}}</div>
</div>
{{/initiative}}
<!-- Ability and Skill Checks -->
{{#roll}}
<div class="sheet-row">
<div class="sheet-col-5-12 sheet-padl sheet-padr sheet-rt-key">Roll</div>
<div class="sheet-col-7-12 sheet-padr sheet-rt-value">{{roll}}</div>
</div>
<div class="sheet-row">
<div class="sheet-col-5-12 sheet-padl sheet-padr sheet-rt-key">Target</div>
<div class="sheet-col-7-12 sheet-padr sheet-rt-value">{{target}}</div>
</div>
<div class="sheet-row">
<div class="sheet-col-5-12 sheet-padl sheet-padr sheet-rt-key">Outcome</div>
{{#rollGreater() roll target}}
{{#rollGreater() roll tfresult}}
<div class="sheet-col-7-12 sheet-padr sheet-rt-value" style="color:red;">{{difference}} Terrible Failure!</div>
{{/rollGreater() roll tfresult}}
{{#^rollGreater() roll tfresult}}
<div class="sheet-col-7-12 sheet-padr sheet-rt-value" style="color:red;">{{difference}} Failure!</div>
{{/^rollGreater() roll tfresult}}
{{/rollGreater() roll target}}
{{#^rollGreater() roll target}}
{{#rollGreater() roll gsresult}}
<div class="sheet-col-7-12 sheet-padr sheet-rt-value" style="color:green;">{{difference}} Success!</div>
{{/rollGreater() roll gsresult}}
{{#^rollGreater() roll gsresult}}
<div class="sheet-col-7-12 sheet-padr sheet-rt-value" style="color:green;">{{difference}} Great Success!</div>
{{/^rollGreater() roll gsresult}}
{{/^rollGreater() roll target}}
</div>
{{/roll}}
<!-- Attacks -->
{{#attack}}
<div class="sheet-row">
<div class="sheet-col-5-12 sheet-padl sheet-padr sheet-rt-key">Attack</div>
{{#rollWasFumble() attack}}
<div class="sheet-col-7-12 sheet-padr sheet-rt-value" style="color:red;">hits AC {{attack}}, Fumble!</div>
</div>
{{/rollWasFumble() attack}}
{{#^rollWasFumble() attack}}
{{#rollWasCrit() attack}}
<div class="sheet-col-7-12 sheet-padr sheet-rt-value" style="color:green;">hits AC {{attack}}, Critical!</div>
</div>
{{#rollTotal() attack 19check}}
<div class="sheet-row">
<div class="sheet-col-5-12 sheet-padl sheet-padr sheet-rt-key">Nat 19</div>
<div class="sheet-col-7-12 sheet-padr sheet-rt-value" style="color:green;">{{19}} Trigger!</div>
</div>
{{/rollTotal() attack 19check}}
<div class="sheet-row">
<div class="sheet-col-5-12 sheet-padl sheet-padr sheet-rt-key">Crit Dmg</div>
<div class="sheet-col-7-12 sheet-padr sheet-rt-value">{{critdamage}}</div>
</div>
{{/rollWasCrit() attack}}
{{#^rollWasCrit() attack}}
<div class="sheet-col-7-12 sheet-padr sheet-rt-value">hits AC {{attack}}</div>
</div>
{{#rollTotal() attack 19check}}
<div class="sheet-row">
<div class="sheet-col-5-12 sheet-padl sheet-padr sheet-rt-key">Nat 19</div>
<div class="sheet-col-7-12 sheet-padr sheet-rt-value" style="color:green;">{{19}} Trigger!</div>
</div>
{{/rollTotal() attack 19check}}
<div class="sheet-row">
<div class="sheet-col-5-12 sheet-padl sheet-padr sheet-rt-key">Damage</div>
<div class="sheet-col-7-12 sheet-padr sheet-rt-value">{{damage}}</div>
</div>
{{/^rollWasCrit() attack}}
{{/^rollWasFumble() attack}}
{{/attack}}
{{#attackdescription}}
<div class="sheet-row">
<div class="sheet-col-1 sheet-padl sheet-padr sheet-rt-value">{{attackdescription}}</div>
</div>
{{/attackdescription}}
<!-- DDM -->
{{#ddm}}
<div class="sheet-row">
<div class="sheet-col-5-12 sheet-padl sheet-padr sheet-rt-key">Threshold</div>
<div class="sheet-col-7-12 sheet-padl sheet-padr sheet-rt-value">{{ddmthreshold}}</div>
</div>
<div class="sheet-row">
<div class="sheet-col-5-12 sheet-padl sheet-padr sheet-rt-key">Result</div>
{{#rollGreater() ddmroll ddmthreshold}}
<div class="sheet-col-7-12 sheet-padl sheet-padr sheet-rt-value">{{ddmroll}}</div>
{{/rollGreater() ddmroll ddmthreshold}}
{{#^rollGreater() ddmroll ddmthreshold}}
<div class="sheet-col-7-12 sheet-padl sheet-padr sheet-rt-value" style="color: red;">{{ddmroll}} Trigger!</div>
{{/^rollGreater() ddmroll ddmthreshold}}
</div>
{{/ddm}}
<!-- Spellcasting -->
{{#spellshowinfoblock}}
<div class="sheet-row sheet-padb">
<div class="sheet-col-1-2 sheet-padl sheet-padr sheet-center"><span class="sheet-rt-key">Duration</span><br/><span class="sheet-rt-value">{{spellduration}}</span></div>
<div class="sheet-col-1-2 sheet-padl sheet-padr sheet-center"><span class="sheet-rt-key">Range</span><br/><span class="sheet-rt-value">{{spellrange}}</span></div>
</div>
{{/spellshowinfoblock}}
{{#spellshowattack}}
<div class="sheet-row">
<div class="sheet-col-5-12 sheet-padl sheet-padr sheet-rt-key">Attack</div>
<div class="sheet-col-7-12 sheet-padr sheet-rt-value">{{spellattack}} AC Hit</div>
</div>
{{/spellshowattack}}
{{#spellshowsavethrow}}
<div class="sheet-row">
<div class="sheet-col-5-12 sheet-padl sheet-padr sheet-rt-key">Save</div>
<div class="sheet-col-7-12 sheet-padr sheet-rt-value">{{spellsavestat}}</div>
</div>
{{/spellshowsavethrow}}
{{#spellshowhealing}}
<div class="sheet-row">
<div class="sheet-col-5-12 sheet-padl sheet-padr sheet-rt-key">Healing</div>
<div class="sheet-col-7-12 sheet-padr sheet-rt-value">{{spellhealing}} HP healed</div>
</div>
{{/spellshowhealing}}
{{#spellshowdamage}}
<div class="sheet-row">
<div class="sheet-col-5-12 sheet-padl sheet-padr sheet-rt-key">Damage</div>
<div class="sheet-col-7-12 sheet-padr sheet-rt-value">{{spelldamage}}</div>
</div>
{{/spellshowdamage}}
{{#spellshoweffects}}
<div class="sheet-row">
<div class="sheet-col-5-12 sheet-padl sheet-padr sheet-rt-key">Effect</div>
<div class="sheet-col-7-12 sheet-padr sheet-rt-value">{{spelleffect}}</div>
</div>
{{/spellshoweffects}}
{{#spellshowsavethrow}}
<div class="sheet-row">
<div class="sheet-col-5-12 sheet-padl sheet-padr sheet-rt-key">Save success</div>
<div class="sheet-col-7-12 sheet-padr sheet-rt-value">{{spellsavesuccess}}</div>
</div>
{{/spellshowsavethrow}}
{{#spellshowdesc}}
<div class="sheet-row">
<div class="sheet-col-1 sheet-padl sheet-padr sheet-rt-key">Spell Description</div>
<div class="sheet-col-1 sheet-padl sheet-padr sheet-rt-value">{{spelldescription}}</div>
</div>
<div class="sheet-row">
<div class="sheet-col-1 sheet-padl sheet-padr sheet-rt-value sheet-center">{{ddmrequest}}</div>
</div>
{{/spellshowdesc}}
{{#featureshowdesc}}
<div class="sheet-row">
<div class="sheet-col-1 sheet-padl sheet-padr sheet-rt-key">Description</div>
<div class="sheet-col-1 sheet-padl sheet-padr sheet-rt-value">{{featureshowdesc}}</div>
</div>
{{/featureshowdesc}}
<!-- NPC -->
<!-- Generic section -->
{{#freetext}}
<div class="sheet-row">
<div class="sheet-col-1 sheet-padl sheet-padr sheet-rt-key-wide">{{freetextname}}</div>
<div class="sheet-col-1 sheet-padl sheet-padr sheet-rt-value">{{freetext}}</div>
</div>
{{/freetext}}
<!-- Outputall -->
{{#outputall}}
{{#allprops() outputall title subheader subheaderright subheader2 subheaderright2 emote attack spell ability save feature ddm}}
<div class="sheet-row">
<div class="sheet-col-5-12 sheet-padl sheet-padr sheet-rt-key">{{key}}</div>
<div class="sheet-col-7-12 sheet-padr sheet-rt-value">{{value}}</div>
</div>
{{/allprops() outputall title subheader subheaderright subheader2 subheaderright2 emote attack spell ability save feature ddm}}
{{/outputall}}
{{#chatmenu}}
{{#allprops() chatmenu title subheader subheaderright subheader2 subheaderright2 emote attack spell ability save feature ddm}}
<div class="sheet-row">
<div class="sheet-col-1 sheet-padl sheet-padr sheet-rt-key-wide">{{key}}</div>
<div class="sheet-col-1 sheet-padl sheet-padr sheet-rt-value">{{value}}</div>
</div>
{{/allprops() chatmenu title subheader subheaderright subheader2 subheaderright2 emote attack spell ability save feature ddm}}
{{/chatmenu}}
<!-- DEBUG -->
{{#debug}}
{{#allprops()}}
<div class="sheet-row">
<div class="sheet-col-5-12 sheet-padl sheet-padr sheet-rt-key">{{key}} (DEBUG)</div>
<div class="sheet-col-7-12 sheet-padr sheet-rt-value">{{value}}</div>
</div>
{{/allprops()}}
{{/debug}}
</div>
</div>
</rolltemplate>
<!----------------------------------------------------------->
<!-- Sheet workers -->
<script type="text/worker">
// Toggle whisper
on("change:tabwgm", function() {
getAttrs(["tabwgm"], function(values) {
switch (values.tabwgm) {
case "0": setAttrs({ whisper: "" });
break;
case "1": setAttrs({ whisper: "/w gm " });
break;
default: setAttrs({ whisper: "" });
}
});
});
// Show/Hide All Spelltabs
on("change:spellpagetaball", function() {
getAttrs(["spellpagetaball"], function(values) {
switch (values.spellpagetaball) {
case "0":
setAttrs({ spellpagetab1: 0 });
setAttrs({ spellpagetab2: 0 });
setAttrs({ spellpagetab3: 0 });
setAttrs({ spellpagetab4: 0 });
setAttrs({ spellpagetab5: 0 });
setAttrs({ spellpagetab6: 0 });
break;
case "1":
setAttrs({ spellpagetab1: 1 });
setAttrs({ spellpagetab2: 1 });
setAttrs({ spellpagetab3: 1 });
setAttrs({ spellpagetab4: 1 });
setAttrs({ spellpagetab5: 1 });
setAttrs({ spellpagetab6: 1 });
}
});
});
// Ability modifiers
['strength', 'dexterity', 'constitution', 'intelligence', 'perception', 'willpower', 'charisma', 'luck'].forEach(ability => {
on(`sheet:opened change:${ability.toLowerCase()}`, () => {
getAttrs([ability.toLowerCase()], v => {
const value = parseInt(v[ability.toLowerCase()]) || 10,
setting = {};
setting[`${ability}_gs`] = Math.floor(value/2);
setting[`${ability}_tf`] = Math.min(Math.floor(value*1.5) + 1, 20);
if (value <= 4) setting[`${ability}_mod`] = -3;
else if (value <= 6) setting[`${ability}_mod`] = -2;
else if (value <= 8) setting[`${ability}_mod`] = -1;
else if (value <= 12) setting[`${ability}_mod`] = 0;
else if (value <= 14) setting[`${ability}_mod`] = 1;
else if (value <= 16) setting[`${ability}_mod`] = 2;
else if (value <= 18) setting[`${ability}_mod`] = 3;
else if (value <= 20) setting[`${ability}_mod`] = 4;
else if (value <= 22) setting[`${ability}_mod`] = 5;
else if (value <= 24) setting[`${ability}_mod`] = 6;
else if (value <= 26) setting[`${ability}_mod`] = 7;
else if (value <= 28) setting[`${ability}_mod`] = 8;
else if (value <= 30) setting[`${ability}_mod`] = 9;
else setting[`${ability}_mod`] = 10;
setAttrs(setting);
});
});
});
// Update associated attribute for luck save
on("change:luckvs", function() {
getAttrs(["luckvs"], function(values) {
switch (values.luckvs) {
case "1":
setAttrs({ lucksave_title: "Luck Check", lucksave_mod: "0" });
break;
case "2":
getAttrs(["strength_mod"], function(values) {
setAttrs({ lucksave_title: "Luck(STR) Save", lucksave_mod: values.strength_mod });
});
break;
case "3":
getAttrs(["dexterity_mod"], function(values) {
setAttrs({ lucksave_title: "Luck(DEX) Save", lucksave_mod: values.dexterity_mod });
});
break;
case "4":
getAttrs(["constitution_mod"], function(values) {
setAttrs({ lucksave_title: "Luck(CON) Save", lucksave_mod: values.constitution_mod });
});
break;
case "5":
getAttrs(["intelligence_mod"], function(values) {
setAttrs({ lucksave_title: "Luck(INT) Save", lucksave_mod: values.intelligence_mod });
});
break;
case "6":
getAttrs(["perception_mod"], function(values) {
setAttrs({ lucksave_title: "Luck(PER) Save", lucksave_mod: values.perception_mod });
});
break;
case "7":
getAttrs(["willpower_mod"], function(values) {
setAttrs({ lucksave_title: "Luck(WILL) Save", lucksave_mod: values.willpower_mod });
});
break;
case "8":
getAttrs(["charisma_mod"], function(values) {
setAttrs({ lucksave_title: "Luck(CHA) Save", lucksave_mod: values.charisma_mod });
});
break;
default:
setAttrs({ lucksave_title: "Luck Check", lucksave_mod: "0" });
}
});
});
// Update associated attribute for skill
on("change:repeating_skills:skilltype", function() {
getAttrs(["repeating_skills_skilltype"], function(values) {
switch (values.repeating_skills_skilltype) {
case "STR":
getAttrs(["strength"], function(values) {
setAttrs({ repeating_skills_skilltarget: values.strength });
});
break;
case "DEX":
getAttrs(["dexterity"], function(values) {
setAttrs({ repeating_skills_skilltarget: values.dexterity });
});
break;
case "CON":
getAttrs(["constitution"], function(values) {
setAttrs({ repeating_skills_skilltarget: values.constitution });
});
break;
case "INT":
getAttrs(["intelligence"], function(values) {
setAttrs({ repeating_skills_skilltarget: values.intelligence });
});
break;
case "PER":
getAttrs(["perception"], function(values) {
setAttrs({ repeating_skills_skilltarget: values.perception });
});
break;
case "WILL":
getAttrs(["willpower"], function(values) {
setAttrs({ repeating_skills_skilltarget: values.willpower });
});
break;
case "CHA":
getAttrs(["charisma"], function(values) {
setAttrs({ repeating_skills_skilltarget: values.charisma });
});
break;
case "LUCK":
getAttrs(["luck"], function(values) {
setAttrs({ repeating_skills_skilltarget: values.luck });
});
break;
default:
getAttrs(["strength"], function(values) {
setAttrs({ repeating_skills_skilltarget: values.strength });
});
}
});
});
// Update associated attribute for all skills when attribute is updated
on("change:strength change:dexterity change:constitution change:intelligence change:perception change:willpower change:charisma change:luck", function() {
getSectionIDs('repeating_skills', function (idArray) {
getAttrs(idArray.map(id => `repeating_skills_${id}_skilltype`), function (values) {
idArray.forEach(function (id) {
switch (values[`repeating_skills_${id}_skilltype`]) {
case "STR":
getAttrs(["strength"], function(strval) {
let setting = {};
setting[`repeating_skills_${id}_skilltarget`] = strval.strength;
setAttrs(setting);
});
break;
case "DEX":
getAttrs(["dexterity"], function(dexval) {
let setting = {};
setting[`repeating_skills_${id}_skilltarget`] = dexval.dexterity;
setAttrs(setting);
});
break;
case "CON":
getAttrs(["constitution"], function(conval) {
let setting = {};
setting[`repeating_skills_${id}_skilltarget`] = conval.constitution;
setAttrs(setting);
});
break;
case "INT":
getAttrs(["intelligence"], function(intval) {
let setting = {};
setting[`repeating_skills_${id}_skilltarget`] = intval.intelligence;
setAttrs(setting);
});
break;
case "PER":
getAttrs(["perception"], function(perval) {
let setting = {};
setting[`repeating_skills_${id}_skilltarget`] = perval.perception;
setAttrs(setting);
});
break;
case "WILL":
getAttrs(["willpower"], function(willval) {
let setting = {};
setting[`repeating_skills_${id}_skilltarget`] = willval.willpower;
setAttrs(setting);
});
break;
case "CHA":
getAttrs(["charisma"], function(chaval) {
let setting = {};
setting[`repeating_skills_${id}_skilltarget`] = chaval.charisma;
setAttrs(setting);
});
break;
case "LUCK":
getAttrs(["luck"], function(luckval) {
let setting = {};
setting[`repeating_skills_${id}_skilltarget`] = luckval.luck;
setAttrs(setting);
});
break;
default:
}
});
});
});
});
<!-- Converting to new sheets -->
<!-- Get section IDs -->
var getSectionIDsOrdered = function (sectionName, callback) {
'use strict';
getAttrs([`_reporder_${sectionName}`], function (v) {
getSectionIDs(sectionName, function (idArray) {
let reporderArray = v[`_reporder_${sectionName}`] ? v[`_reporder_${sectionName}`].toLowerCase().split(',') : [],
ids = [...new Set(reporderArray.filter(x => idArray.includes(x)).concat(idArray))];
callback(ids);
});
});
};
var convertFromOldSheet = function () {
var notes1="";
var notes2="";
// Non-repeating attributes to rename
let conversionData = {
"size" : "race",
"vision" : "background",
"prolanguages" : "languages",
"alignment" : "vision",
"strength" : "strength_max",
"dexterity" : "dexterity_max",
"constitution" : "constitution_max",
"intelligence" : "intelligence_max",
"perception" : "perception_max",
"willpower" : "willpower_max",
"charisma" : "charisma_max",
"luck" : "luck_max",
"nil" : "armour_class",
"initiative" : "rerolls"
};
// Non-repeating attribute renaming
getAttrs(Object.keys(conversionData), function (values) {
let setting = {};
Object.keys(conversionData).forEach(function (oldAttr) {
if (values[oldAttr] != null) {
// set value of new attribute to the old one
setting[conversionData[oldAttr]] = values[oldAttr];
}
});
console.log("Setting non-repeating attributes.");
setAttrs(setting);
});
//Special Case to bring over the two note fields into one notes field here.
getAttrs(["notey","noob"], function(values) {
if (values.notey != null) { notes1=values.notey; }
if (values.noob != null) { notes2=values.notey; }
setAttrs({lootnotes: (notes1 + "\n" + notes2)});
});
getSectionIDs('repeating_meleeattacks', function (idArray) {
console.log("Setting repeating_meleeattacks attributes.");
getAttrs(idArray.map(id => `repeating_meleeattacks_${id}_meleeweaponname`), function (values) {
let setting = {};
idArray.forEach(function (id) {
setting[`repeating_meleeattacks_${id}_melee_weaponname`] = values[`repeating_meleeattacks_${id}_meleeweaponname`];
});
setAttrs(setting);
});
getAttrs(idArray.map(id => `repeating_meleeattacks_${id}_meleemagic`), function (values) {
let setting = {};
idArray.forEach(function (id) {
setting[`class_hitbonus`] = values[`repeating_meleeattacks_${id}_meleemagic`];
});
setAttrs(setting);
});
getAttrs(idArray.map(id => `repeating_meleeattacks_${id}_meleemisc`), function (values) {
let setting = {};
idArray.forEach(function (id) {
setting[`repeating_meleeattacks_${id}_melee_hitbonus`] = values[`repeating_meleeattacks_${id}_meleemisc`];
setting[`repeating_meleeattacks_${id}_melee_dmgbonus`] = values[`repeating_meleeattacks_${id}_meleemisc`];
});
setAttrs(setting);
});
getAttrs(idArray.map(id => `repeating_meleeattacks_${id}_meleedmg`), function (values) {
let setting = {};
idArray.forEach(function (id) {
setting[`repeating_meleeattacks_${id}_melee_dmgbase`] = values[`repeating_meleeattacks_${id}_meleedmg`];
});
setAttrs(setting);
});
getAttrs(idArray.map(id => `repeating_meleeattacks_${id}_meleeacbonus`), function (values) {
let setting = {};
idArray.forEach(function (id) {
setting[`repeating_meleeattacks_${id}_melee_description`] = values[`repeating_meleeattacks_${id}_meleeacbonus`];
});
setAttrs(setting);
});
});
getSectionIDs('repeating_rangedattacks', function (idArray) {
console.log("Setting repeating_rangedattacks attributes.");
getAttrs(idArray.map(id => `repeating_rangedattacks_${id}_rangeweaponname`), function (values) {
let setting = {};
idArray.forEach(function (id) {
setting[`repeating_rangedattacks_${id}_range_weaponname`] = values[`repeating_rangedattacks_${id}_rangeweaponname`];
});
setAttrs(setting);
});
getAttrs(idArray.map(id => `repeating_rangedattacks_${id}_rangemisc`), function (values) {
let setting = {};
idArray.forEach(function (id) {
setting[`repeating_rangedattacks_${id}_range_hitbonus`] = values[`repeating_rangedattacks_${id}_rangemisc`];
setting[`repeating_rangedattacks_${id}_range_dmgbonus`] = values[`repeating_rangedattacks_${id}_rangemisc`];
});
setAttrs(setting);
});
getAttrs(idArray.map(id => `repeating_rangedattacks_${id}_rangedmg`), function (values) {
let setting = {};
idArray.forEach(function (id) {
setting[`repeating_rangedattacks_${id}_range_dmgbase`] = values[`repeating_rangedattacks_${id}_rangedmg`];
});
setAttrs(setting);
});
getAttrs(idArray.map(id => `repeating_rangedattacks_${id}_rangeacbonus`), function (values) {
let setting = {};
idArray.forEach(function (id) {
setting[`repeating_rangedattacks_${id}_range_distance`] = values[`repeating_rangedattacks_${id}_rangeacbonus`];
});
setAttrs(setting);
});
getAttrs(idArray.map(id => `repeating_rangedattacks_${id}_rangesaves`), function (values) {
let setting = {};
idArray.forEach(function (id) {
setting[`repeating_rangedattacks_${id}_range_description`] = values[`repeating_rangedattacks_${id}_rangesaves`];
});
setAttrs(setting);
});
});
};
var convertToVers4 = function () {
// Non-repeating attributes to rename
let conversionData = {
"size" : "race",
"vision" : "background"
};
// Non-repeating attribute renaming
getAttrs(Object.keys(conversionData), function (values) {
let setting = {};
Object.keys(conversionData).forEach(function (oldAttr) {
if (values[oldAttr] != null) {
// set value of new attribute to the old one
setting[conversionData[oldAttr]] = values[oldAttr];
}
});
console.log("Setting non-repeating attributes.");
setAttrs(setting);
});
getSectionIDs('repeating_meleeattacks', function (idArray) {
console.log("Setting repeating_meleeattacks attributes.");
getAttrs(idArray.map(id => `repeating_meleeattacks_${id}_melee_weaponname`), function (values) {
let setting = {};
idArray.forEach(function (id) {
setting[`repeating_meleeattacks_${id}_melee_attackname`] = values[`repeating_meleeattacks_${id}_melee_weaponname`];
});
setAttrs(setting);
});
});
getSectionIDs('repeating_rangedattacks', function (idArray) {
console.log("Setting repeating_rangedattacks attributes.");
getAttrs(idArray.map(id => `repeating_rangedattacks_${id}_range_weaponname`), function (values) {
let setting = {};
idArray.forEach(function (id) {
setting[`repeating_rangedattacks_${id}_range_attackname`] = values[`repeating_rangedattacks_${id}_range_weaponname`];
});
setAttrs(setting);
});
});
getSectionIDs('repeating_injuries', function (idArray) {
console.log("Moving repeating_injuriess to repeating_conditions.");
var newIDs = {};
getAttrs(idArray.map(id => `repeating_injuries_${id}_injuryname`), function (values) {
var IDnr = 0;
let setting = {};
idArray.forEach(function (id) {
newIDs[IDnr] = generateRowID();
setting["repeating_conditions_" + newIDs[IDnr] + "_conditionname"] = values[`repeating_injuries_${id}_injuryname`];
IDnr += 1;
});
setAttrs(setting);
});
getAttrs(idArray.map(id => `repeating_injuries_${id}_injurydescr`), function (values) {
var IDnr = 0;
let setting = {};
idArray.forEach(function (id) {
setting["repeating_conditions_" + newIDs[IDnr] + "_conditiondescr"] = values[`repeating_injuries_${id}_injurydescr`];
IDnr += 1;
});
setAttrs(setting);
});
console.log("Done setting repeating_conditions attributes.");
});
};
on('sheet:opened', function () {
console.log("Sheet opened.");
let currentVersion = '4.0';
getAttrs(['version','lootnotes'], function (values) {
if (!values.version) {
//Special Case to check if the custom sheet was already in use prior to adding version control logic
if (values.lootnotes) {
console.log("Special Case Cancel Upgrade from V1.0");
}
else{
//The old sheet had many variables whose names did not match sheet headings.
//I do my best to assign them to appropriate variables in the upgraded sheet.
console.log("Upgrading Sheet from V1.0");
convertFromOldSheet();
}
}
else{
switch (values.version) {
case '2.1':
// V3 won't require any conversion.
// Making compatible with Deluxe Edition of LFG.
case '3.0':
console.log("Upgrading Sheet from V3.0 to V4.0");
convertToVers4();
case '4.0':
//etc
}
}
setAttrs({
version: currentVersion
});
});
});
</script>