Files
roll20-character-sheets/ShadowbaneInquisition/Shadowbane.html
T
Nic Bradley 1e21582232 Merge pull request #11401 from ChtiKenny/master
[Shadowbane Inquisition] Added WP option to dodge
2023-01-23 09:59:51 -08:00

9510 lines
472 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!-- Every fieldset requires to be of class repeating_[word1word2]. -->
<!-- Every fieldset requires its named element to be of attr_ prefix. -->
<input type="hidden" name="attr_sheet_version"/>
<div class='sheet-background_radius sheet-collapsible_entity_toggle'>
<div class='sheet-background sheet-radius_border_heading'>
<!-- character information grid -->
<div class='sheet-header_logo'>
<!-- first column of grid: left-side fields' labels/names gs1-6 -->
<div class='sheet-gs1'>
<b>Character Name</b>
</div>
<div
class='sheet-gs2 sheet-edge_padding'>
<b>Home World</b></div>
<div
class='sheet-gs3 sheet-edge_padding'>
<b>Background</b>
</div>
<div class='sheet-gs4 sheet-edge_padding'>
<b>Role</b>
</div>
<div class='sheet-gs5 sheet-edge_padding'>
<b>Elite Advances</b>
</div>
<div class='sheet-gs6 sheet-edge_padding'>
<b>Notes</b>
</div>
<!-- second column of grid: left-side fields gs7-12 -->
<input
name='attr_character_name'
type='text'
class='sheet-gs7'
/>
<input
name='attr_Homeworld'
type='text'
class='sheet-gs8'
/>
<input
name='attr_Background'
type='text'
class='sheet-gs9'
/>
<input
name='attr_Role'
type='text'
class='sheet-gs10'
/>
<input
name='attr_EliteAdvances'
type='text'
class='sheet-gs11'
/>
<input
name='attr_Notes'
type='text'
class='sheet-gs12'
/>
<!-- third column of grid: header logo gs13 -->
<div class='sheet-gs13 sheet-logotoggle'>
<img
name='logo'
src='https://raw.githubusercontent.com/ChtiKenny/roll20-character-sheets/ShadowbaneInauisition/ShadowbaneInquisition/images/assets/Shadowbane_PC_Sheet_Logo.png'
width='130'
/>
</div>
<!-- fourth column of grid: right-side fields gs14-19 -->
<input
name='attr_Player'
type='text'
class='sheet-gs14'
/>
<input
name='attr_appearance'
type='text'
class='sheet-gs15'
placeholder='Gender, Age, Build, etc.'
/>
<input
name='attr_appearance2'
type='text'
class='sheet-gs16'
placeholder='Complexion, Hair, etc.'
/>
<input
name='attr_Quirks'
type='text'
class='sheet-gs17'
/>
<input
name='attr_Divination'
type='text'
class='sheet-gs18'
/>
<input
name='attr_Superstition'
type='text'
class='sheet-gs19'
/>
<!-- fifth column of grid: right-side fields' labels/names gs20-24 -->
<div class='sheet-gs20 sheet-edge_padding'><b>Player Name</b></div>
<div class='sheet-gs21 sheet-edge_padding'><b>Appearance</b></div>
<div class='sheet-gs22 sheet-edge_padding'><b>Quirks</b></div>
<div class='sheet-gs23 sheet-edge_padding'><b>Divination</b></div>
<div class='sheet-gs24 sheet-edge_padding'><b>Superstition</b></div>
</div>
<br>
<!-- characteristics grid -->
<div class='sheet-characteristics_background sheet-edge_padding'>
<div class='sheet-characteristics_main'>
<input
type="hidden"
name='attr_wsTotal'
value=''
>
<input
type="hidden"
name='attr_wsB'
value=''
>
<input
type="hidden"
name='attr_bsTotal'
value=''
>
<input
type="hidden"
name='attr_bsB'
value=''
>
<input
type="hidden"
name='attr_strTotal'
value=''
>
<input
type="hidden"
name='attr_strB'
value=''
>
<input
type="hidden"
name='attr_touTotal'
value=''
>
<input
type="hidden"
name='attr_touB'
value=''
>
<input
type="hidden"
name='attr_agiTotal'
value=''
>
<input
type="hidden"
name='attr_agiB'
value=''
>
<input
type="hidden"
name='attr_intTotal'
value=''
>
<input
type="hidden"
name='attr_intB'
value=''
>
<input
type="hidden"
name='attr_perTotal'
value=''
>
<input
type="hidden"
name='attr_perB'
value=''
>
<input
type="hidden"
name='attr_wpTotal'
value=''
>
<input
type="hidden"
name='attr_wpB'
value=''
>
<input
type="hidden"
name='attr_felTotal'
value=''
>
<input
type="hidden"
name='attr_felB'
value=''
>
<input
type="hidden"
name='attr_infTotal'
value=''
>
<input
type="hidden"
name='attr_infB'
value=''
>
<button
title="Weapon Skill"
name='WS'
type='roll'
class='sheet-clear sheet-full_width sheet-characteristics_button'
value='@{to-gm}&{template:mythic}{{character= @{character_name}}}{{roll-name=Weapon Skill}}{{dos=[[[[1+floor(abs([[{{ {@{wsTotal}+@{inlinemod-toggle}}, {@{wsTotal}-@{limiter}}}kh1, {@{wsTotal}+@{limiter}}}kl1]]-[[1d100]])/10)]]+ceil(@{WS_unnat}/2)]]}}{{target= $[[0]]}}{{roll= $[[1]]}}{{dof= $[[2]]}}'
>
WS |
<input
name='attr_WS_total'
value='@{wsTotal}'
class='sheet-input_background sheet-input_char_background'
disabled
/>
</button>
<button
title="Ballistic Skill"
name='BS'
type='roll'
class='sheet-clear sheet-full_width sheet-characteristics_button'
value='@{to-gm}&{template:mythic}{{character= @{character_name}}}{{roll-name=Ballistic Skill}}{{dos=[[[[1+floor(abs([[{{ {@{bsTotal}+@{inlinemod-toggle}}, {@{bsTotal}-@{limiter}}}kh1, {@{bsTotal}+@{limiter}}}kl1]]-[[1d100]])/10)]]+ceil(@{BS_unnat}/2)]]}} {{target= $[[0]]}}{{roll= $[[1]]}}{{dof= $[[2]]}}'
>
BS |
<input
name='attr_BS_total'
value='@{bsTotal}'
class='sheet-input_background sheet-input_char_background'
disabled
/>
</button>
<button
title="Strength"
name='STR'
type='roll'
class='sheet-clear sheet-full_width sheet-characteristics_button'
value='@{to-gm}&{template:mythic} {{character= @{character_name}}} {{roll-name=Strength}}{{dos=[[[[1+floor(abs([[{{ {@{strTotal}+@{inlinemod-toggle}}, {@{strTotal}-@{limiter}}}kh1, {@{strTotal}+@{limiter}}}kl1]]-[[1d100]])/10)]]+ceil(@{STR_unnat}/2)]]}} {{target= $[[0]]}}{{roll= $[[1]]}}{{dof= $[[2]]}}'
>
STR |
<input
name='attr_STR_total'
value='@{strTotal}'
class='sheet-input_background sheet-input_char_background'
disabled
/>
</button>
<button
title="Toughness"
name='TOU'
type='roll'
class='sheet-clear sheet-full_width sheet-characteristics_button'
value='@{to-gm}&{template:mythic} {{character= @{character_name}}} {{roll-name=Toughness}} {{dos=[[[[1+floor(abs([[{{ {@{touTotal}+@{inlinemod-toggle}}, {@{touTotal}-@{limiter}}}kh1, {@{touTotal}+@{limiter}}}kl1]]-[[1d100]])/10)]]+ceil(@{TOU_unnat}/2)]]}} {{target= $[[0]]}}{{roll= $[[1]]}}{{dof= $[[2]]}}'
>
TOU |
<input
name='attr_TOU_total'
value='@{touTotal}'
class='sheet-input_background sheet-input_char_background'
disabled
/>
</button>
<button
title="Agility"
name='AGI'
type='roll'
class='sheet-clear sheet-full_width sheet-characteristics_button'
value='@{to-gm}&{template:mythic} {{character= @{character_name}}} {{roll-name=Agility}} {{dos=[[[[1+floor(abs([[{{ {@{agiTotal}+@{inlinemod-toggle}}, {@{agiTotal}-@{limiter}}}kh1, {@{agiTotal}+@{limiter}}}kl1]]-[[1d100]])/10)]]+ceil(@{AGI_unnat}/2)]]}} {{target= $[[0]]}}{{roll= $[[1]]}}{{dof= $[[2]]}}'
>
AGI |
<input
name='attr_AGI_total'
value="@{agiTotal}"
class='sheet-input_background sheet-input_char_background'
disabled
/>
</button>
<button
title="Intelligence"
name='INT'
type='roll'
class='sheet-clear sheet-full_width sheet-characteristics_button'
value='@{to-gm}&{template:mythic} {{character= @{character_name}}} {{roll-name=Intelligence}} {{dos=[[[[1+floor(abs([[{{ {@{intTotal}+@{inlinemod-toggle}}, {@{intTotal}-@{limiter}}}kh1, {@{intTotal}+@{limiter}}}kl1]]-[[1d100]])/10)]]+ceil(@{INT_unnat}/2)]]}} {{target= $[[0]]}}{{roll= $[[1]]}}{{dof= $[[2]]}}'
>
INT |
<input
name='attr_INT_total'
value='@{intTotal}'
class='sheet-input_background sheet-input_char_background'
disabled
/>
</button>
<button
title="Perception"
name='PER'
type='roll'
class='sheet-clear sheet-full_width sheet-characteristics_button'
value='@{to-gm}&{template:mythic} {{character= @{character_name}}} {{roll-name=Perception}} {{dos=[[[[1+floor(abs([[{{ {@{perTotal}+@{inlinemod-toggle}}, {@{perTotal}-@{limiter}}}kh1, {@{perTotal}+@{limiter}}}kl1]]-[[1d100]])/10)]]+ceil(@{PER_unnat}/2)]]}} {{target= $[[0]]}}{{roll= $[[1]]}}{{dof= $[[2]]}}'
>
PER |
<input
name='attr_PER_total'
value='@{perTotal}'
class='sheet-input_background sheet-input_char_background'
disabled
/>
</button>
<button
title="Willpower"
name='WP'
type='roll'
class='sheet-clear sheet-full_width sheet-characteristics_button'
value='@{to-gm}&{template:mythic} {{character= @{character_name}}} {{roll-name=Willpower}} {{dos=[[[[1+floor(abs([[{{ {@{wpTotal}+@{inlinemod-toggle}}, {@{wpTotal}-@{limiter}}}kh1, {@{wpTotal}+@{limiter}}}kl1]]-[[1d100]])/10)]]+ceil(@{WP_unnat}/2)]]}} {{target= $[[0]]}}{{roll= $[[1]]}}{{dof= $[[2]]}}'
>
WP |
<input
name='attr_WP_total'
value='@{wpTotal}'
class='sheet-input_background sheet-input_char_background'
disabled
/>
</button>
<button
title="Fellowship"
name='FEL'
type='roll'
class='sheet-clear sheet-full_width sheet-characteristics_button'
value='@{to-gm}&{template:mythic} {{character= @{character_name}}} {{roll-name=Fellowship}} {{dos=[[[[1+floor(abs([[{{ {@{felTotal}+@{inlinemod-toggle}}, {@{felTotal}-@{limiter}}}kh1, {@{felTotal}+@{limiter}}}kl1]]-[[1d100]])/10)]]+ceil(@{FEL_unnat}/2)]]}} {{target= $[[0]]}}{{roll= $[[1]]}}{{dof= $[[2]]}}'
>
FEL |
<input
name='attr_FEL_total'
value='@{felTotal}'
class='sheet-input_background sheet-input_char_background'
disabled
/>
</button>
<button
title="Influence"
name='INF'
type='roll'
class='sheet-clear sheet-full_width sheet-characteristics_button'
value='@{to-gm}&{template:mythic} {{character= @{character_name}}} {{roll-name=Influence}} {{dos=[[[[1+floor(abs([[{{ {@{INF}+@{inlinemod-toggle}}, {@{infTotal}-@{limiter}}}kh1, {@{INF}+@{limiter}}}kl1]]-[[1d100]])/10)]]+ceil(@{INF_unnat}/2)]]}} {{target= $[[0]]}}{{roll= $[[1]]}}{{dof= $[[2]]}}'
>
INF |
<input
name='attr_INF_total'
value='@{infTotal}'
class='sheet-input_background sheet-input_char_background'
disabled
/>
</button>
<input
title="Weapon Skill"
name='attr_WS'
type='text'
value='0'
class='sheet-characteristics_input sheet-full_width'
/>
<input
title="Ballistic Skill"
name='attr_BS'
type='text'
value='0'
class='sheet-characteristics_input sheet-full_width'
/>
<input
title="Strength"
name='attr_STR'
type='text'
value='0'
class='sheet-characteristics_input sheet-full_width'
/>
<input
title="Toughness"
name='attr_TOU'
type='text'
value='0'
class='sheet-characteristics_input sheet-full_width'
/>
<input
title="Agility"
name='attr_AGI'
type='text'
value='0'
class='sheet-characteristics_input sheet-full_width'
/>
<input
title="Intelligence"
name='attr_INT'
type='text'
value='0'
class='sheet-characteristics_input sheet-full_width'
/>
<input
title="Perception"
name='attr_PER'
type='text'
value='0'
class='sheet-characteristics_input sheet-full_width'
/>
<input
title="Willpower"
name='attr_WP'
type='text'
value='0'
class='sheet-characteristics_input sheet-full_width'
/>
<input
title="Fellowship"
name='attr_FEL'
type='text'
value='0'
class='sheet-characteristics_input sheet-full_width'
/>
<input
title="Influence"
name='attr_INF'
type='text'
value='0'
class='sheet-characteristics_input sheet-full_width'
/>
<select
name='attr_WS_advancement'
class='sheet-full_width'
>
<option
value='0'
selected='selected'
>N/A +0</option>
<option value='5' >S +5</option>
<option value='10'>T +10</option>
<option value='15'>I +15</option>
<option value='20'>E +20</option>
<option value='25'>M +25</option>
<option value='30'>L +30</option>
</select>
<select
name='attr_BS_advancement'
class='sheet-full_width'
>
<option
value='0'
selected='selected'
>N/A +0</option>
<option value='5' >S +5</option>
<option value='10'>T +10</option>
<option value='15'>I +15</option>
<option value='20'>E +20</option>
<option value='25'>M +25</option>
<option value='30'>L +30</option>
</select>
<select
name='attr_STR_advancement'
class='sheet-full_width'
>
<option value='0' selected='selected'>N/A +0</option>
<option value='5' >S +5</option>
<option value='10'>T +10</option>
<option value='15'>I +15</option>
<option value='20'>E +20</option>
<option value='25'>M +25</option>
<option value='30'>L +30</option>
</select>
<select
name='attr_TOU_advancement'
class='sheet-full_width'
>
<option value='0' selected='selected'>N/A +0</option>
<option value='5' >S +5</option>
<option value='10'>T +10</option>
<option value='15'>I +15</option>
<option value='20'>E +20</option>
<option value='25'>M +25</option>
<option value='30'>L +30</option>
</select>
<select
name='attr_AGI_advancement'
class='sheet-full_width'
>
<option value='0' selected='selected'>N/A +0</option>
<option value='5' >S +5</option>
<option value='10'>T +10</option>
<option value='15'>I +15</option>
<option value='20'>E +20</option>
<option value='25'>M +25</option>
<option value='30'>L +30</option>
</select>
<select
name='attr_INT_advancement'
class='sheet-full_width'
>
<option value='0' selected='selected'>N/A +0</option>
<option value='5' >S +5</option>
<option value='10'>T +10</option>
<option value='15'>I +15</option>
<option value='20'>E +20</option>
<option value='25'>M +25</option>
<option value='30'>L +30</option>
</select>
<select
name='attr_PER_advancement'
class='sheet-full_width'
>
<option value='0' selected='selected'>N/A +0</option>
<option value='5' >S +5</option>
<option value='10'>T +10</option>
<option value='15'>I +15</option>
<option value='20'>E +20</option>
<option value='25'>M +25</option>
<option value='30'>L +30</option>
</select>
<select
name='attr_WP_advancement'
class='sheet-full_width'
>
<option value='0' selected='selected'>N/A +0</option>
<option value='5' >S +5</option>
<option value='10'>T +10</option>
<option value='15'>I +15</option>
<option value='20'>E +20</option>
<option value='25'>M +25</option>
<option value='30'>L +30</option>
</select>
<select
name='attr_FEL_advancement'
class='sheet-full_width'
>
<option value='0' selected='selected'>N/A +0</option>
<option value='5' >S +5</option>
<option value='10'>T +10</option>
<option value='15'>I +15</option>
<option value='20'>E +20</option>
<option value='25'>M +25</option>
<option value='30'>L +30</option>
</select>
<input
type="hidden"
name="attr_INF_advancement"
value="0"
>
<label
title='Toggles a display showing Characteristics modifiers'
class='sheet-full_width'
>
<input
type='checkbox'
name='attr_char_more'
class='sheet-collapsible_entity_switch sheet-select_button sheet-hidden'
checked
/>
<span class='sheet-select_text sheet-char_more'>
More
</span>
</label>
</div>
<input
type='checkbox'
name='attr_char_more'
class='sheet-collapsible_entity_switch sheet-hidden'
/>
<div class='sheet-collapsible_entity_block'>
<label title='Toogle Ignore Fatigue'>
<input
type='checkbox'
name='attr_fatigue_ignore'
value='1'
class='sheet-select_button sheet-hidden'
/>
<span class='sheet-select_text sheet-char_more'>
Fatigue Immunity
</span>
</label>
<h3>Characteristics Modifiers</h3>
<div class='sheet-characteristics_mods'>
<input
title="Weapon Skill"
name='attr_WS_mod'
type='text'
value='0'
class='sheet-characteristics_mods sheet-full_width'
/>
<input
title="Ballistic Skill"
name='attr_BS_mod'
type='text'
value='0'
class='sheet-characteristics_mods sheet-full_width'
/>
<input
title="Strength"
name='attr_STR_mod'
type='text'
value='0'
class='sheet-characteristics_mods sheet-full_width'
/>
<input
title="Toughness"
name='attr_TOU_mod'
type='text'
value='0'
class='sheet-characteristics_mods sheet-full_width'
/>
<input
title="Agility"
name='attr_AGI_mod'
type='text'
value='0'
class='sheet-characteristics_mods sheet-full_width'
/>
<input
title="Intelligence"
name='attr_INT_mod'
type='text'
value='0'
class='sheet-characteristics_mods sheet-full_width'
/>
<input
title="Perception"
name='attr_PER_mod'
type='text'
value='0'
class='sheet-characteristics_mods sheet-full_width'
/>
<input
title="Willpower"
name='attr_WP_mod'
type='text'
value='0'
class='sheet-characteristics_mods sheet-full_width'
/>
<input
title="Fellowship"
name='attr_FEL_mod'
type='text'
value='0'
class='sheet-characteristics_mods sheet-full_width'
/>
<input
title="Influence"
name='attr_INF_mod'
type='text'
value='0'
class='sheet-characteristics_mods sheet-full_width'
/>
</div>
<!-- <fieldset name='buff' class='repeating_buff'>
<div class='sheet-characteristics_mods'>
<input title="Active?" name='attr_active_r' type='checkbox' class='sheet-characteristics_check' value='1' />
<input title="Weapon Skill" name='attr_WS_mod_r' type='text' value='0' class='sheet-characteristics_mods sheet-full_width' />
<input title="Ballistic Skill" name='attr_BS_mod_r' type='text' value='0' class='sheet-characteristics_mods sheet-full_width' />
<input title="Strength" name='attr_STR_mod_r' type='text' value='0' class='sheet-characteristics_mods sheet-full_width' />
<input title="Toughness" name='attr_TOU_mod_r' type='text' value='0' class='sheet-characteristics_mods sheet-full_width' />
<input title="Agility" name='attr_AGI_mod_r' type='text' value='0' class='sheet-characteristics_mods sheet-full_width' />
<input title="Intelligence" name='attr_INT_mod_r' type='text' value='0' class='sheet-characteristics_mods sheet-full_width' />
<input title="Perception" name='attr_PER_mod_r' type='text' value='0' class='sheet-characteristics_mods sheet-full_width' />
<input title="Willpower" name='attr_WP_mod_r' type='text' value='0' class='sheet-characteristics_mods sheet-full_width' />
<input title="Fellowship" name='attr_FEL_mod_r' type='text' value='0' class='sheet-characteristics_mods sheet-full_width' />
<input title="Influence" name='attr_INF_mod_r' type='text' value='0' class='sheet-characteristics_mods sheet-full_width' />
</div>
</fieldset> -->
</div>
</div>
<br>
<!-- TODO: buff menu -->
<!-- unnatural characteristics, size, movement and pushing grid -->
<div class='sheet-unnat_centering_container'>
<div class='sheet-unnat_centering'>
<div class='sheet-characteristics_unnat'>
<p class='sheet-unnatgs1'>
<b>Unnatural Characteristics</b>
</p>
<input
name='attr_WS_unnat'
type='text'
value='0'
class='sheet-unnatgs2 sheet-unnatgs_width'
/>
<input
name='attr_BS_unnat'
type='text'
value='0'
class='sheet-unnatgs3 sheet-unnatgs_width'
/>
<input
name='attr_STR_unnat'
type='text'
value='0'
class='sheet-unnatgs4 sheet-unnatgs_width'
/>
<input
name='attr_TOU_unnat'
type='text'
value='0'
class='sheet-unnatgs5 sheet-unnatgs_width'
/>
<input
name='attr_AGI_unnat'
type='text'
value='0'
class='sheet-unnatgs6 sheet-unnatgs_width'
/>
<input
name='attr_INT_unnat'
type='text'
value='0'
class='sheet-unnatgs7 sheet-unnatgs_width'
/>
<input
name='attr_PER_unnat'
type='text'
value='0'
class='sheet-unnatgs8 sheet-unnatgs_width'
/>
<input
name='attr_WP_unnat'
type='text'
value='0'
class='sheet-unnatgs9 sheet-unnatgs_width'
/>
<input
name='attr_FEL_unnat'
type='text'
value='0'
class='sheet-unnatgs10 sheet-unnatgs_width'
/>
<input
name='attr_INF_unnat'
type='text'
value='0'
class='sheet-unnatgs11 sheet-unnatgs_width'
/>
<p class='sheet-unnatgs12'>WS</p>
<p class='sheet-unnatgs13'>BS</p>
<p class='sheet-unnatgs14'>STR</p>
<p class='sheet-unnatgs15'>TOU</p>
<p class='sheet-unnatgs16'>AGI</p>
<p class='sheet-unnatgs17'>INT</p>
<p class='sheet-unnatgs18'>PER</p>
<p class='sheet-unnatgs19'>WP</p>
<p class='sheet-unnatgs20'>FEL</p>
<p class='sheet-unnatgs21'>INF</p>
</div>
</div>
</div>
<div class='sheet-unnat_centering_container'>
<div class='sheet-unnat_centering'>
<div class='sheet-characteristics_unnat'>
<p class='sheet-unnatgs1'><b>Characteristics Bonus</b></p>
<input
title='@{wsB}'
name='attr_wsB'
type='text'
value='0'
class='sheet-unnatgs2 sheet-unnatgs_width'
readonly
/>
<input
title='@{bsB}'
name='attr_bsB'
type='text'
value='0'
class='sheet-unnatgs3 sheet-unnatgs_width'
readonly
/>
<input
title='@{strB}'
name='attr_strB'
type='text'
value='0'
class='sheet-unnatgs4 sheet-unnatgs_width'
readonly
/>
<input
title='@{touB}'
name='attr_touB'
type='text'
value='0'
class='sheet-unnatgs5 sheet-unnatgs_width'
readonly
/>
<input
title='@{agiB}'
name='attr_agiB'
type='text'
value='0'
class='sheet-unnatgs6 sheet-unnatgs_width'
readonly
/>
<input
title='@{intB}'
name='attr_intB'
type='text'
value='0'
class='sheet-unnatgs7 sheet-unnatgs_width'
readonly
/>
<input
title='@{perB}'
name='attr_perB'
type='text'
value='0'
class='sheet-unnatgs8 sheet-unnatgs_width'
readonly
/>
<input
title='@{wpB}'
name='attr_wpB'
type='text'
value='0'
class='sheet-unnatgs9 sheet-unnatgs_width'
readonly
/>
<input
title='@{felB}'
name='attr_felB'
type='text'
value='0'
class='sheet-unnatgs10 sheet-unnatgs_width'
readonly
/>
<input
title='@{infB}'
name='attr_infB'
type='text'
value='0'
class='sheet-unnatgs11 sheet-unnatgs_width'
readonly
/>
<p
title='@{wsB}'
class='sheet-unnatgs12'
>WS
</p>
<p
title='@{bsB}'
class='sheet-unnatgs13'
>BS
</p>
<p
title='@{strB}'
class='sheet-unnatgs14'
>STR
</p>
<p
title='@{touB}'
class='sheet-unnatgs15'
>TOU
</p>
<p
title='@{agiB}'
class='sheet-unnatgs16'
>AGI
</p>
<p
title='@{intB}'
class='sheet-unnatgs17'
>INT
</p>
<p
title='@{perB}'
class='sheet-unnatgs18'
>PER
</p>
<p
title='@{wpB}'
class='sheet-unnatgs19'
>WP
</p>
<p
title='@{felB}'
class='sheet-unnatgs20'
>FEL
</p>
<p
title='@{infB}'
class='sheet-unnatgs21'
>INF
</p>
</div>
</div>
</div>
<br />
<div class='sheet-characteristics_size_movement_carry'>
<div class='sheet-characteristics2_size'>
<p class='sheet-sizegs1 sheet-unnatgs_heading'>
<b>Size</b>
</p>
<select
name='attr_size'
class='sheet-sizegs2 sheet-full_width sheet-edge_padding'
>
<option value='-3'>Miniscule (1)</option>
<option value='-2'>Puny (2)</option>
<option value='-1'>Scrawny (3)</option>
<option value='0' selected='selected'>Average (4)</option>
<option value='1'>Hulking (5)</option>
<option value='2'>Enormous (6)</option>
<option value='3'>Massive (7)</option>
<option value='4'>Immense (8)</option>
<option value='5'>Monumental (9)</option>
<option value='6'>Titanic (10)</option>
</select>
</div>
<div class='sheet-characteristics2_movement'>
<p class='sheet-movementgs1 sheet-unnatgs_heading'>
<b>Character Movement</b>
</p>
<input
name='attr_half_move'
type='text'
class='sheet-movementgs2 sheet-unnatgs_width'
readonly
/>
<input
name='attr_full_move'
type='text'
class='sheet-movementgs3 sheet-unnatgs_width'
readonly
/>
<input
name='attr_charge_move'
type='text'
class='sheet-movementgs4 sheet-unnatgs_width'
readonly
/>
<input
name='attr_run_move'
type='text'
class='sheet-movementgs5 sheet-unnatgs_width'
readonly
/>
<input
name='attr_agi_mov_mod'
type='number'
value='0'
class='sheet-movementgs0 sheet-unnatgs_width'
/> <!-- NOTE: this add a modifier to the AgB for movement only -->
<p class='sheet-movementgs6 '>Half</p>
<p class='sheet-movementgs7 '>Full</p>
<p class='sheet-movementgs8 '>Charge</p>
<p class='sheet-movementgs9 '>Run</p>
<p class='sheet-movementgs10 '>Mod</p>
</div>
<div class='sheet-characteristics2_carry'>
<p class='sheet-carrygs1 sheet-unnatgs_heading'>
<b>Weight Capacity</b>
</p>
<input
name='attr_carry'
type='text'
class='sheet-carrygs2 sheet-unnatgs_width'
readonly
/>
<input
name='attr_lift'
type='text'
class='sheet-carrygs3 sheet-unnatgs_width'
readonly
/>
<input
name='attr_push'
type='text'
class='sheet-carrygs4 sheet-unnatgs_width'
readonly
/>
<p class='sheet-carrygs5'>Carry</p>
<p class='sheet-carrygs6'>Lift</p>
<p class='sheet-carrygs7'>Push</p>
</div>
</div>
<hr>
<!-- initiative plus sheet tabs grid -->
<div class='sheet-tabs_main'>
<div class='sheet-initiative_container'>
<button
name='initiative'
type='roll'
class='sheet-clear sheet-button_top_padding'
value='@{to-gm}&{template:mythic}{{character= @{character_name}}}{{initiative=@{initmod0}(@{initmod1}+@{initmod2}+@{initmod3})&{tracker}]]}}'
> Initiative|
<input
name='attr_init_total'
value='floor(@{initmod2}+@{initmod3})'
class='sheet-input_background sheet-input_init_background'
disabled
/>
</button>
<select
name='attr_initmod1'
class='sheet-init_field'
>
<option value='1d10cs1cf10' selected='selected'>Standard</option>
<option value='2d10k1cs1cf10'>Constant Vigilance</option>
<option value='?{dice|1d10}cs1cf10'>Custom</option>
</select>
<p class='sheet-init_plus'>+</p>
<input
name='attr_initmod2'
type='number'
value='0'
/>
<p class='sheet-init_plus'>+</p>
<select
name='attr_initmod3'
class='sheet-init_field'
>
<option
value='(@{AGI_total})/10+@{AGI_unnat}'
selected='selected'>Agility
</option>
<option value='(@{INT}+@{INT_advancement})/10+@{INT_unnat}'>Intelligence</option>
<option value='(@{PER}+@{PER_advancement})/10+@{PER_unnat}'>Perception</option>
<option value='0'>N/A</option>
</select>
<button
name='fate_initiative'
type='roll'
class='sheet-clear sheet-button_top_padding'
value='@{to-gm}&{template:mythic}{{character= @{character_name}}}{{initiative=@{initmod0}(1d0cf0+10+@{initmod2}+@{initmod3})&{tracker}]]}}'
> Fate Ini|
<input
name='attr_init_total'
value='floor(@{initmod2}+@{initmod3})'
class='sheet-input_background sheet-input_init_background'
disabled
/>
</button>
</div>
<div class='sheet-arc_container' title='The GM need to install the WeaponArc API in the game API setting page'>
<button
class='sheet-clear sheet-button_top_padding'
type='roll'
name='arc'
value="!weapon-arc --add ?{degrees|30} ?{Range|20}m @{arc_color}"
> Create Arc
</button>
<select name="attr_arc_color" class='sheet-arc_color sheet-init_field'>
<option value="#FF0000" style="background-color: #FF0000;">Red</option>
<option value="#228B22" style="background-color: #228B22;">Green</option>
<option value="#4161E1" style="background-color: #4161E1;">Blue</option>
<option value="#FFFF00" style="background-color: #FFFF00;">Yellow</option>
<option value="#FF00FF" style="background-color: #FF00FF;">Fuchsia</option>
<option value="#00FFFF" style="background-color: #00FFFF;">Cyan</option>
<option value="#FFA500" style="background-color: #FFA500;">Orange</option>
<option value="#00FF00" style="background-color: #00FF00;">Lime</option>
<option value="#FFC0CB" style="background-color: #FFC0CB;">Pink</option>
</select>
<button
class='sheet-clear sheet-button_top_padding'
type='roll'
name='arc-clear'
value="!weapon-arc --clear"
> Clear Arcs
</button>
<!--
!weapon-arc {{
--add 0|90 ?{Range|30}m #0F05 #000 2
--add -90|90 ?{Range|30}m #FF05 #000 2
--add 90|90 ?{Range|30}m #FF05 #000 2
--add 180|90 ?{Range|30}m #F005 #000 2
}}-->
</div>
</div>
<hr>
<!-- whisper buttons plus collapsible infographics section -->
<div class='sheet-minimisable_infographic_main'>
<div class='sheet-minimisable_infographic_toggles'>
<label title='Toggles a display showing Wounds, Fatigue, Fate Pts, Force Field, Conditions and Criticals Wounds info'>
<input
type='checkbox'
name='attr_infographic'
class='sheet-collapsible_entity_switch sheet-select_button sheet-hidden'
checked
/>
<span class='sheet-select_text'>Infographic</span>
</label>
<label title='If selected, all rolls from this sheet will be whispered to GM, instead of posted in public'>
<input
type='checkbox'
name='attr_to-gm'
value='/w gm'
class='sheet-select_button sheet-hidden'
/>
<span class='sheet-select_text'>To GM</span>
</label>
<label title='If selected, most rolls made will also ask for a situational Modifier'>
<input
type='checkbox'
name='attr_inlinemod-toggle'
value='0?{Modifier|0}'
class='sheet-select_button sheet-hidden'
checked
/>
<span class='sheet-select_text'>Inline Mod</span>
</label>
<p></p>
<button
class='sheet-clear sheet-minimisable_infographic_override'
type='roll'
name='scatter'
value="@{to-gm}&{template:mythic}{{character= @{character_name}}}{{scatter-range= [[?{Dice|D10, 1d10|D5, 1d5}+ceil(?{Degrees of Failiure|1}/2)+?{Modifier|0}]]}} {{scatter-direction=[[1d10]]}}"
> Scatter
</button>
<button
class='sheet-clear sheet-minimisable_infographic_override'
type='roll'
name='shock'
value="@{to-gm}&{template:mythic} {{character= @{character_name}}} {{shock= [[(?{Fear DoF|1})*10 + 1d100]]}}"
> Shock
</button>
<button
class='sheet-clear sheet-minimisable_infographic_override'
type='roll'
name='d100'
value="@{to-gm}&{template:mythic} [[ ([[?{Target Number|50}]] - [[1d100]])/10]] {{d100= }} {{character= @{character_name}}} {{target= $[[0]]}} {{roll=$[[1]]}} {{difference=$[[2]]}}"
> 1d100
</button>
<button
class='sheet-clear sheet-minimisable_infographic_override'
type='roll'
name='righteousfury'
value="@{to-gm}&{template:mythic} {{character= @{character_name}}} {{righteousfury= }} {{@{settings_crunchsummary}= }} {{target= [[?{Target|Person, 0|Vehicle, 1}]] }} {{location= [[?{Location|Arm/Weapon, 0|Body/Propulsion, 1|Head/Turret, 2|Leg/Hull, 3}]]}} {{type= [[?{Damage Type|Energy, 0|Explosive, 1|Impact, 2|Rending, 3}]] }} {{roll=[[ ceil(?{Dice Roll|1d5, 1d5|1d10, 1d10} / ?{Mitigation|None, 1| True Grit, 2}) ]] }} "
> Righteous Fury
</button>
</div>
<input
type='checkbox'
name='attr_infographic'
class='sheet-collapsible_entity_switch sheet-hidden'
/>
<div class='sheet-collapsible_entity_block'>
<div class='sheet-minimisable_infographic_grid'>
<div class='sheet-minimisable_infographic_field4x3a sheet-radius_border'>
<button
name='wound_roll'
type='roll'
class='sheet-minimisable_infographic_g1 sheet-clear sheet-radius_border_top'
value='@{to-gm}&{template:mythic} {{character= @{character_name}}} {{name=Wounds}} {{4x2-1-name=Current}} {{4x2-1=@{wounds}}} {{4x2-1-name-max=Max}} {{4x2-1-max=@{wounds|max}}} {{4x2-2-name=Critical}} {{4x2-2=@{critical_dmg}}}'
> Wounds
</button>
<p class='sheet-minimisable_infographic_g6'>
Current
</p>
<input
class='sheet-minimisable_infographic_g7 sheet-full_width'
type='text'
name='attr_wounds'
value='0'
/>
<p class='sheet-minimisable_infographic_g4'>
Non-Lethal Dmg
</p>
<input
class='sheet-minimisable_infographic_g5 sheet-full_width'
type='text'
name='attr_critical_dmg'
value='0'
/>
<p class='sheet-minimisable_infographic_g2'>
Max
</p>
<input
class='sheet-minimisable_infographic_g3 sheet-full_width'
type='text'
name='attr_wounds_max'
value='0'
/>
</div>
<div class='sheet-minimisable_infographic_field4x4 sheet-radius_border'>
<button
name='fatigue_roll'
type='roll'
class='sheet-minimisable_infographic_g1 sheet-clear sheet-radius_border_top'
value='@{to-gm}&{template:mythic} {{character= @{character_name}}} {{name=Fatigue}} {{2x2-name=Current}} {{2x2=@{fatigue}}} {{2x2-name-max=Max}} {{2x2-max=@{fatigue|max}}}'
>
Fatigue
</button>
<p class='sheet-minimisable_infographic_g2'>
Current
</p>
<input
class='sheet-minimisable_infographic_g3 sheet-full_width'
type='text'
name='attr_fatigue'
value='0'
/>
<p class='sheet-minimisable_infographic_g4'>
Max
</p>
<input
class='sheet-minimisable_infographic_g5 sheet-full_width'
type='text'
name='attr_fatigue_max'
value='0'
readonly
/>
<p class='sheet-minimisable_infographic_g8'>
Threshold Mod
</p>
<input
class='sheet-minimisable_infographic_g9 sheet-full_width'
type='text'
name='attr_fatigue_mod'
value='0'
/>
</div>
<div class='sheet-minimisable_infographic_field2x3 sheet-radius_border'>
<!-- <button
title='Roll to see if you keep the Fate Point, If you are from a Shrine World activate that option in the settings'
name='fate_roll'
type='roll'
class='sheet-minimisable_infographic_g1 sheet-clear sheet-radius_border_top'
value='@{to-gm}&{template:mythic} {{character= @{character_name}}}{{fate= [[1d10cs10@{settings_fate}]]}}'
>
Fate Pts
</button> -->
<button
title='Roll to see if you keep the Fate Point, If you are from a Shrine World activate that option in the settings'
name='act_fate_roll' type='action' class='sheet-minimisable_infographic_g1 sheet-clear sheet-radius_border_top'>
Fate Pts
</button>
<p class='sheet-minimisable_infographic_g2'>
Current
</p>
<input
class='sheet-minimisable_infographic_g3 sheet-full_width'
type='text'
name='attr_fate'
value='0' />
<p class='sheet-minimisable_infographic_g4'>
Max
</p>
<input
class='sheet-minimisable_infographic_g5 sheet-full_width'
type='text'
name='attr_fate_max'
value='0'
/>
</div>
<div class='sheet-minimisable_infographic_field4x3b sheet-radius_border'>
<!-- <button
name='forcefield_roll'
type='roll' class='sheet-minimisable_infographic_g1 sheet-clear sheet-radius_border_top'
value='@{to-gm}&{template:mythic} {{character= @{character_name}}} {{forcefield= @{forcefield_name}}} {{roll= [[1d100cs>@{forcefield_protection}cf<@{forcefield_overload}]]}}'
> Force Field
</button> -->
<button
title='Roll to see if your Forcefield block the damage'
name='act_force_roll' type='action' class='sheet-minimisable_infographic_g1 sheet-clear sheet-radius_border_top'>
Force Field
</button>
<p class='sheet-minimisable_infographic_g2'>
Name
</p>
<input
class='sheet-minimisable_infographic_g3 sheet-full_width'
type='text'
name='attr_forcefield_name'
value='None'
/>
<p class='sheet-minimisable_infographic_g8'>
Overload
</p>
<input
class='sheet-minimisable_infographic_g9 sheet-full_width'
type='text'
name='attr_forcefield_overload'
value='0'
/>
<p class='sheet-minimisable_infographic_g4'>
Protection
</p>
<input
class='sheet-minimisable_infographic_g5 sheet-full_width'
type='text'
name='attr_forcefield_protection'
value='0'
/>
</div>
<div class='sheet-minimisable_infographic'>
<h3>Conditions</h3>
<p class='sheet-traits_checkbox_pointer'>
<b>Expand &#9660;</b>
</p>
<div class='sheet-edge_padding sheet-ssc'>
<fieldset
name='conditions'
class='repeating_conditions'
>
<input
name='attr_condition_r'
type='text'
placeholder='Name'
class='sheet-full_width_49px'
/>
<label
title='Expand'
class='sheet-margin_adjust'
>
<input
type='checkbox'
name='attr_collapse'
value='3'
class='sheet-collapsible_entity_switch sheet-select_button sheet-hidden'
/>
<span class='sheet-select_text '>&#9660;</span>
</label>
<label
title='Send description in the chat'
class='sheet-margin_adjust2'>
<button
type='roll'
value='@{to-gm}&{template:mythic} {{name=@{condition_r} }} {{description=@{condition_desc_r} }}'
class='sheet-hidden'>
</button>
<span class='sheet-select_text'>&#128266;</span>
</label>
<input
name='attr_collapse'
type='checkbox'
value='3'
class='sheet-collapsible_entity_switch sheet-hidden'
/>
<textarea
name='attr_condition_desc_r'
class='sheet-collapsible_entity_block'
placeholder='Description of the conditions suffered'
>
</textarea>
</fieldset>
</div>
</div>
<div class='sheet-minimisable_infographic_field4x3c sheet-radius_border'>
<button
name='critical_roll'
type='roll'
class='sheet-minimisable_critical_g0 sheet-clear sheet-radius_border_top'
value=''
> Critical Wounds
</button>
<p class='sheet-minimisable_critical_g1'>
Head
</p>
<input
class='sheet-minimisable_critical_g2 sheet-full_width'
type='text'
name='attr_head'
value='0'
/>
<p class='sheet-minimisable_critical_g3'>
Body
</p>
<input
class='sheet-minimisable_critical_g4 sheet-full_width'
type='text'
name='attr_body'
value='0'
/>
<p class='sheet-minimisable_critical_g5'>
Left Arm
</p>
<input
class='sheet-minimisable_critical_g6 sheet-full_width'
type='text'
name='attr_arm_left'
value='0'
/>
<p class='sheet-minimisable_critical_g7'>
Right Arm
</p>
<input
class='sheet-minimisable_critical_g8 sheet-full_width'
type='text'
name='attr_arm_right'
value='0'
/>
<p class='sheet-minimisable_critical_g9'>
Left Leg
</p>
<input
class='sheet-minimisable_critical_g10 sheet-full_width'
type='text'
name='attr_leg_left'
value='0'
/>
<p class='sheet-minimisable_critical_g11'>
Right Leg
</p>
<input
class='sheet-minimisable_critical_g12 sheet-full_width'
type='text'
name='attr_leg_right'
value='0'
/>
</div>
</div>
</div>
</div>
<br>
</div>
<!-- sheet tabs -->
<!-- SHEET TABS LOGIC -->
<input
name='attr_sheetTab'
type='hidden'
value='core'
class='sheet-tabstoggle'
/>
<!-- sheet tabs grid -->
<div class='sheet-tabs_main'>
<div class='sheet-'>
</div>
<div class='sheet-sheet_tabs'>
<input
name='attr_sheetTab'
type='checkbox'
value='core'
class='sheet-hidden sheet-core_button' checked />
<button
name='act_core'
type='action'
class='sheet-core_button sheet-bold_text'
>Core</button>
<input
name='attr_sheetTab'
type='checkbox'
value='equipment'
class='sheet-hidden sheet-core_button' />
<button
name='act_equipment'
type='action'
class='sheet-equipment_button sheet-bold_text'
>Equipment</button>
<input
name='attr_sheetTab'
type='checkbox'
value='advancements'
class='sheet-hidden sheet-core_button' />
<button
name='act_advancements'
type='action'
class='sheet-advancements_button sheet-bold_text'
>Advancements</button>
<input
name='attr_sheetTab'
type='checkbox'
value='journal'
class='sheet-hidden sheet-core_button' />
<button
name='act_journal'
type='action'
class='sheet-journal_button sheet-bold_text'
>Journal</button>
<input
name='attr_sheetTab'
type='checkbox'
value='vehicle'
class='sheet-hidden sheet-core_button' />
<button
name='act_vehicle'
type='action'
class='sheet-vehicle_button sheet-bold_text'
>Vehicle</button>
<input
name='attr_sheetTab'
type='checkbox'
value='psykana'
class='sheet-hidden sheet-core_button' />
<button
name='act_psykana'
type='action'
class='sheet-psykana_button sheet-bold_text'
>Psykana</button>
<input
name='attr_sheetTab'
type='checkbox'
value='settings'
class='sheet-hidden sheet-core_button' />
<button
name='act_settings'
type='action'
class='sheet-settings_button sheet-huge_text'
></button>
</div>
</div>
<!-- limiter value for min/max modifier -->
<input type="hidden" name="attr_limiter" value="60">
<!-- start of tab Core -->
<div class='sheet-tab_core sheet-box sheet-radius_border_box'>
<!-- Core Data -->
<div class='sheet-core_lists '>
<div class='sheet-core_lists1 sheet-edge_padding sheet-table sheet-radius_border'>
<h3 class='sheet-radius_border_heading'><b>Skills</b></h3>
<div class='sheet-skill_header sheet-bold_text'>
<p>Name</p>
<p>Char</p>
<p>Mod</p>
<p>K</p>
<p>+10</p>
<p>+20</p>
<p>+30</p>
<p>Roll</p>
</div>
<div class='sheet-skill_grid'>
<p class='sheet-bold_text sheet-skills_text'>Acrobatics</p>
<select
name='attr_acrobatics_char'
class='sheet-full_width sheet-full_height'
>
<option value='str'>STR</option>
<option value='agi' selected='selected'>AGI</option>
</select>
<input name='attr_mod2_acrobatics' type='number' value='0' />
<input name='attr_mod3_acrobatics' type='checkbox' value='20' class='sheet-skills_item' />
<input name='attr_mod3_acrobatics' type='checkbox' value='30' class='sheet-skills_item' />
<input name='attr_mod3_acrobatics' type='checkbox' value='40' class='sheet-skills_item' />
<input name='attr_mod3_acrobatics' type='checkbox' value='50' class='sheet-skills_item' />
<input name='attr_acrobatics_focus' type='hidden' value=''>
<input name='attr_acrobatics_unnat' type='hidden' value=''>
<button
type='roll'
name='acrobatics_roll'
value='@{to-gm}&{template:mythic} {{character= @{character_name}}} {{roll-name=Acrobatics}} {{dos=[[[[1+floor(abs([[{{ {@{acrobatics_total}+@{inlinemod-toggle}}, {@{acrobatics_focus}-@{limiter}}}kh1, {@{acrobatics_focus}+@{limiter}}}kl1]]-[[1d100]])/10)]]+ceil(@{acrobatics_unnat}/2)]]}}{{target=$[[0]]}}{{roll=$[[1]]}}{{dof=$[[2]]}}'
class='sheet-clear'
>
<input
name='attr_acrobatics_total'
value='@{acrobatics_focus}+@{mod2_acrobatics}+@{mod3_acrobatics}-20'
class='sheet-input_background'
disabled
/>
</button>
</div>
<div class='sheet-skill_grid'>
<p class='sheet-bold_text sheet-skills_text'>Athletics</p>
<select name='attr_athletics_char' class='sheet-full_width sheet-full_height'>
<option value='str' selected='selected'>STR</option>
<option value='tou'>TOU</option>
</select>
<input name='attr_mod2_athletics' type='number' value='0' />
<input name='attr_mod3_athletics' type='checkbox' value='20' class='sheet-skills_item' />
<input name='attr_mod3_athletics' type='checkbox' value='30' class='sheet-skills_item' />
<input name='attr_mod3_athletics' type='checkbox' value='40' class='sheet-skills_item' />
<input name='attr_mod3_athletics' type='checkbox' value='50' class='sheet-skills_item' />
<input name='attr_athletics_focus' type='hidden' value=''>
<input name='attr_athletics_unnat' type='hidden' value=''>
<button type='roll' name='athletics_roll' value='@{to-gm}&{template:mythic} {{character= @{character_name}}} {{roll-name=Athletics}} {{dos=[[[[1+floor(abs([[{{ {@{athletics_total}+@{inlinemod-toggle}}, {@{athletics_focus}-@{limiter}}}kh1, {@{athletics_focus}+@{limiter}}}kl1]]-[[1d100]])/10)]]+ceil(@{athletics_unnat}/2)]]}} {{target=$[[0]]}} {{roll=$[[1]]}} {{dof=$[[2]]}}'
class='sheet-clear'><input name='attr_athletics_total' value='@{athletics_focus}+@{mod2_athletics}+@{mod3_athletics}-20' class='sheet-input_background' disabled /></button>
</div>
<div class='sheet-skill_grid'>
<p class='sheet-bold_text sheet-skills_text'>Awareness</p>
<select name='attr_awareness_char' class='sheet-full_width sheet-full_height'>
<option value='int'>INT</option>
<option value='per' selected='selected'>PER</option>
<option value='fel'>FEL</option>
</select>
<input name='attr_mod2_awareness' type='number' value='0' />
<input name='attr_mod3_awareness' type='checkbox' value='20' class='sheet-skills_item' />
<input name='attr_mod3_awareness' type='checkbox' value='30' class='sheet-skills_item' />
<input name='attr_mod3_awareness' type='checkbox' value='40' class='sheet-skills_item' />
<input name='attr_mod3_awareness' type='checkbox' value='50' class='sheet-skills_item' />
<input name='attr_awareness_focus' type='hidden' value=''>
<input name='attr_awareness_unnat' type='hidden' value=''>
<button type='roll' name='awareness_roll' value='@{to-gm}&{template:mythic} {{character= @{character_name}}} {{roll-name=Awareness}} {{dos=[[[[1+floor(abs([[{{ {@{awareness_total}+@{inlinemod-toggle}}, {@{awareness_focus}-@{limiter}}}kh1, {@{awareness_focus}+@{limiter}}}kl1]]-[[1d100]])/10)]]+ceil(@{awareness_unnat}/2)]]}} {{target=$[[0]]}} {{roll=$[[1]]}} {{dof=$[[2]]}}'
class='sheet-clear'><input name='attr_awareness_total' value='@{awareness_focus}+@{mod2_awareness}+@{mod3_awareness}-20' class='sheet-input_background' disabled /></button>
</div>
<div class='sheet-skill_grid'>
<p class='sheet-bold_text sheet-skills_text'>Charm</p>
<select name='attr_charm_char' class='sheet-full_width sheet-full_height'>
<option value='fel' selected='selected'>FEL</option>
<option value='inf'>INF</option>
</select>
<input name='attr_mod2_charm' type='number' value='0' />
<input name='attr_mod3_charm' type='checkbox' value='20' class='sheet-skills_item' />
<input name='attr_mod3_charm' type='checkbox' value='30' class='sheet-skills_item' />
<input name='attr_mod3_charm' type='checkbox' value='40' class='sheet-skills_item' />
<input name='attr_mod3_charm' type='checkbox' value='50' class='sheet-skills_item' />
<input name='attr_charm_focus' type='hidden' value=''>
<input name='attr_charm_unnat' type='hidden' value=''>
<button type='roll' name='charm_roll' value='@{to-gm}&{template:mythic} {{character= @{character_name}}} {{roll-name=Charm}} {{dos=[[[[1+floor(abs([[{{ {@{charm_total}+@{inlinemod-toggle}}, {@{charm_focus}-@{limiter}}}kh1, {@{charm_focus}+@{limiter}}}kl1]]-[[1d100]])/10)]]+ceil(@{charm_unnat}/2)]]}} {{target=$[[0]]}} {{roll=$[[1]]}} {{dof=$[[2]]}}'
class='sheet-clear'><input name='attr_charm_total' value='@{charm_focus}+@{mod2_charm}+@{mod3_charm}-20' class='sheet-input_background' disabled /></button>
</div>
<div class='sheet-skill_grid'>
<p class='sheet-bold_text sheet-skills_text'>Command</p>
<select name='attr_command_char' class='sheet-full_width sheet-full_height'>
<option value='str'>STR</option>
<option value='int'>INT</option>
<option value='wp'>WP</option>
<option value='fel' selected='selected'>FEL</option>
</select>
<input name='attr_mod2_command' type='number' value='0' />
<input name='attr_mod3_command' type='checkbox' value='20' class='sheet-skills_item' />
<input name='attr_mod3_command' type='checkbox' value='30' class='sheet-skills_item' />
<input name='attr_mod3_command' type='checkbox' value='40' class='sheet-skills_item' />
<input name='attr_mod3_command' type='checkbox' value='50' class='sheet-skills_item' />
<input name='attr_command_focus' type='hidden' value=''>
<input name='attr_command_unnat' type='hidden' value=''>
<button type='roll' name='command_roll' value='@{to-gm}&{template:mythic} {{character= @{character_name}}} {{roll-name=Command}} {{dos=[[[[1+floor(abs([[{{ {@{command_total}+@{inlinemod-toggle}}, {@{command_focus}-@{limiter}}}kh1, {@{command_focus}+@{limiter}}}kl1]]-[[1d100]])/10)]]+ceil(@{command_unnat}/2)]]}} {{target=$[[0]]}} {{roll=$[[1]]}} {{dof=$[[2]]}}'
class='sheet-clear'><input name='attr_command_total' value='@{command_focus}+@{mod2_command}+@{mod3_command}-20' class='sheet-input_background' disabled /></button>
</div>
<div class='sheet-skill_grid'>
<p class='sheet-bold_text sheet-skills_text'>Commerce</p>
<select name='attr_commerce_char' class='sheet-full_width sheet-full_height'>
<option value='int' selected='selected'>INT</option>
<option value='fel'>FEL</option>
</select>
<input name='attr_mod2_commerce' type='number' value='0' />
<input name='attr_mod3_commerce' type='checkbox' value='20' class='sheet-skills_item' />
<input name='attr_mod3_commerce' type='checkbox' value='30' class='sheet-skills_item' />
<input name='attr_mod3_commerce' type='checkbox' value='40' class='sheet-skills_item' />
<input name='attr_mod3_commerce' type='checkbox' value='50' class='sheet-skills_item' />
<input name='attr_commerce_focus' type='hidden' value=''>
<input name='attr_commerce_unnat' type='hidden' value=''>
<button type='roll' name='commerce_roll' value='@{to-gm}&{template:mythic} {{character= @{character_name}}} {{roll-name=Commerce}} {{dos=[[[[1+floor(abs([[{{ {@{commerce_total}+@{inlinemod-toggle}}, {@{commerce_focus}-@{limiter}}}kh1, {@{commerce_focus}+@{limiter}}}kl1]]-[[1d100]])/10)]]+ceil(@{commerce_unnat}/2)]]}} {{target=$[[0]]}} {{roll=$[[1]]}} {{dof=$[[2]]}}'
class='sheet-clear'><input name='attr_commerce_total' value='@{commerce_focus}+@{mod2_commerce}+@{mod3_commerce}-20' class='sheet-input_background' disabled /></button>
</div>
<div class='sheet-skill_grid'>
<p class='sheet-bold_text sheet-skills_text'>Deceive</p>
<select name='attr_deceive_char' class='sheet-full_width sheet-full_height'>
<option value='int'>INT</option>
<option value='fel' selected='selected'>FEL</option>
</select>
<input name='attr_mod2_deceive' type='number' value='0' />
<input name='attr_mod3_deceive' type='checkbox' value='20' class='sheet-skills_item' />
<input name='attr_mod3_deceive' type='checkbox' value='30' class='sheet-skills_item' />
<input name='attr_mod3_deceive' type='checkbox' value='40' class='sheet-skills_item' />
<input name='attr_mod3_deceive' type='checkbox' value='50' class='sheet-skills_item' />
<input name='attr_deceive_focus' type='hidden' value=''>
<input name='attr_deceive_unnat' type='hidden' value=''>
<button type='roll' name='deceive_roll' value='@{to-gm}&{template:mythic} {{character= @{character_name}}} {{roll-name=Deceive}} {{dos=[[[[1+floor(abs([[{{ {@{deceive_total}+@{inlinemod-toggle}}, {@{deceive_focus}-@{limiter}}}kh1, {@{deceive_focus}+@{limiter}}}kl1]]-[[1d100]])/10)]]+ceil(@{deceive_unnat}/2)]]}} {{target=$[[0]]}} {{roll=$[[1]]}} {{dof=$[[2]]}}'
class='sheet-clear'><input name='attr_deceive_total' value='@{deceive_focus}+@{mod2_deceive}+@{mod3_deceive}-20' class='sheet-input_background' disabled /></button>
</div>
<div class='sheet-skill_grid'>
<p class='sheet-bold_text sheet-skills_text'>Dodge</p>
<select name='attr_dodge_char' class='sheet-full_width sheet-full_height'>
<option value='agi' selected='selected'>AGI</option>
<option value='wp'>WP</option>
</select>
<input name='attr_mod2_dodge' type='number' value='0' />
<input name='attr_mod3_dodge' type='checkbox' value='20' class='sheet-skills_item' />
<input name='attr_mod3_dodge' type='checkbox' value='30' class='sheet-skills_item' />
<input name='attr_mod3_dodge' type='checkbox' value='40' class='sheet-skills_item' />
<input name='attr_mod3_dodge' type='checkbox' value='50' class='sheet-skills_item' />
<input name='attr_dodge_focus' type='hidden' value=''>
<input name='attr_dodge_unnat' type='hidden' value=''>
<button type='roll' name='dodge_roll' value='@{to-gm}&{template:mythic} {{character= @{character_name}}} {{roll-name=Dodge}} {{dos=[[[[1+floor(abs([[{{ {@{dodge_total}+@{inlinemod-toggle}}, {@{dodge_focus}-@{limiter}}}kh1, {@{dodge_focus}+@{limiter}}}kl1]]-[[1d100]])/10)]]+ceil(@{dodge_unnat}/2)]]}} {{target=$[[0]]}} {{roll=$[[1]]}} {{dof=$[[2]]}}'
class='sheet-clear'><input name='attr_dodge_total' value='@{dodge_focus}+@{mod2_dodge}+@{mod3_dodge}-20' class='sheet-input_background' disabled /></button>
</div>
<div class='sheet-skill_grid'>
<p class='sheet-bold_text sheet-skills_text'>Inquiry</p>
<select name='attr_inquiry_char' class='sheet-full_width sheet-full_height'>
<option value='int'>INT</option>
<option value='per'>PER</option>
<option value='fel' selected='selected'>FEL</option>
</select>
<input name='attr_mod2_inquiry' type='number' value='0' />
<input name='attr_mod3_inquiry' type='checkbox' value='20' class='sheet-skills_item' />
<input name='attr_mod3_inquiry' type='checkbox' value='30' class='sheet-skills_item' />
<input name='attr_mod3_inquiry' type='checkbox' value='40' class='sheet-skills_item' />
<input name='attr_mod3_inquiry' type='checkbox' value='50' class='sheet-skills_item' />
<input name='attr_inquiry_focus' type='hidden' value=''>
<input name='attr_inquiry_unnat' type='hidden' value=''>
<button type='roll' name='inquiry_roll' value='@{to-gm}&{template:mythic} {{character= @{character_name}}} {{roll-name=Inquiry}} {{dos=[[[[1+floor(abs([[{{ {@{inquiry_total}+@{inlinemod-toggle}}, {@{inquiry_focus}-@{limiter}}}kh1, {@{inquiry_focus}+@{limiter}}}kl1]]-[[1d100]])/10)]]+ceil(@{inquiry_unnat}/2)]]}} {{target=$[[0]]}} {{roll=$[[1]]}} {{dof=$[[2]]}}'
class='sheet-clear'><input name='attr_inquiry_total' value='@{inquiry_focus}+@{mod2_inquiry}+@{mod3_inquiry}-20' class='sheet-input_background' disabled /></button>
</div>
<div class='sheet-skill_grid'>
<p class='sheet-bold_text sheet-skills_text'>Interrogation</p>
<select name='attr_interrogation_char' class='sheet-full_width sheet-full_height'>
<option value='wp' selected='selected'>WP</option>
<option value='fel'>FEL</option>
</select>
<input name='attr_mod2_interrogation' type='number' value='0' />
<input name='attr_mod3_interrogation' type='checkbox' value='20' class='sheet-skills_item' />
<input name='attr_mod3_interrogation' type='checkbox' value='30' class='sheet-skills_item' />
<input name='attr_mod3_interrogation' type='checkbox' value='40' class='sheet-skills_item' />
<input name='attr_mod3_interrogation' type='checkbox' value='50' class='sheet-skills_item' />
<input name='attr_interrogation_focus' type='hidden' value=''>
<input name='attr_interrogation_unnat' type='hidden' value=''>
<button type='roll' name='interrogation_roll' value='@{to-gm}&{template:mythic} {{character= @{character_name}}} {{roll-name=Interrogation}} {{dos=[[[[1+floor(abs([[{{ {@{interrogation_total}+@{inlinemod-toggle}}, {@{interrogation_focus}-@{limiter}}}kh1, {@{interrogation_focus}+@{limiter}}}kl1]]-[[1d100]])/10)]]+ceil(@{interrogation_unnat}/2)]]}} {{target=$[[0]]}} {{roll=$[[1]]}} {{dof=$[[2]]}}'
class='sheet-clear'><input name='attr_interrogation_total' value='@{interrogation_focus}+@{mod2_interrogation}+@{mod3_interrogation}-20' class='sheet-input_background' disabled /></button>
</div>
<div class='sheet-skill_grid'>
<p class='sheet-bold_text sheet-skills_text'>Intimidate</p>
<select name='attr_intimidate_char' class='sheet-full_width sheet-full_height'>
<option value='str' selected='selected'>STR</option>
<option value='wp'>WP</option>
</select>
<input name='attr_mod2_intimidate' type='number' value='0' />
<input name='attr_mod3_intimidate' type='checkbox' value='20' class='sheet-skills_item' />
<input name='attr_mod3_intimidate' type='checkbox' value='30' class='sheet-skills_item' />
<input name='attr_mod3_intimidate' type='checkbox' value='40' class='sheet-skills_item' />
<input name='attr_mod3_intimidate' type='checkbox' value='50' class='sheet-skills_item' />
<input name='attr_intimidate_focus' type='hidden' value=''>
<input name='attr_intimidate_unnat' type='hidden' value=''>
<button type='roll' name='intimidate_roll' value='@{to-gm}&{template:mythic} {{character= @{character_name}}} {{roll-name=Intimidate}} {{dos=[[[[1+floor(abs([[{{ {@{intimidate_total}+@{inlinemod-toggle}}, {@{intimidate_focus}-@{limiter}}}kh1, {@{intimidate_focus}+@{limiter}}}kl1]]-[[1d100]])/10)]]+ceil(@{intimidate_unnat}/2)]]}} {{target=$[[0]]}} {{roll=$[[1]]}} {{dof=$[[2]]}}'
class='sheet-clear'><input name='attr_intimidate_total' value='@{intimidate_focus}+@{mod2_intimidate}+@{mod3_intimidate}-20' class='sheet-input_background' disabled /></button>
</div>
<div class='sheet-skill_grid'>
<p class='sheet-bold_text sheet-skills_text'>Logic</p>
<select name='attr_logic_char' class='sheet-full_width sheet-full_height'>
<option value='agi'>AGI</option>
<option value='int' selected='selected'>INT</option>
</select>
<input name='attr_mod2_logic' type='number' value='0' />
<input name='attr_mod3_logic' type='checkbox' value='20' class='sheet-skills_item' />
<input name='attr_mod3_logic' type='checkbox' value='30' class='sheet-skills_item' />
<input name='attr_mod3_logic' type='checkbox' value='40' class='sheet-skills_item' />
<input name='attr_mod3_logic' type='checkbox' value='50' class='sheet-skills_item' />
<input name='attr_logic_focus' type='hidden' value=''>
<input name='attr_logic_unnat' type='hidden' value=''>
<button type='roll' name='logic_roll' value='@{to-gm}&{template:mythic} {{character= @{character_name}}} {{roll-name=Logic}} {{dos=[[[[1+floor(abs([[{{ {@{logic_total}+@{inlinemod-toggle}}, {@{logic_focus}-@{limiter}}}kh1, {@{logic_focus}+@{limiter}}}kl1]]-[[1d100]])/10)]]+ceil(@{logic_unnat}/2)]]}} {{target=$[[0]]}} {{roll=$[[1]]}} {{dof=$[[2]]}}'
class='sheet-clear'><input name='attr_logic_total' value='@{logic_focus}+@{mod2_logic}+@{mod3_logic}-20' class='sheet-input_background' disabled /></button>
</div>
<div class='sheet-skill_grid'>
<p class='sheet-bold_text sheet-skills_text'>Medicae</p>
<select name='attr_medicae_char' class='sheet-full_width sheet-full_height'>
<option value='agi'>AGI</option>
<option value='int' selected='selected'>INT</option>
<option value='per'>PER</option>
</select>
<input name='attr_mod2_medicae' type='number' value='0' />
<input name='attr_mod3_medicae' type='checkbox' value='20' class='sheet-skills_item' />
<input name='attr_mod3_medicae' type='checkbox' value='30' class='sheet-skills_item' />
<input name='attr_mod3_medicae' type='checkbox' value='40' class='sheet-skills_item' />
<input name='attr_mod3_medicae' type='checkbox' value='50' class='sheet-skills_item' />
<input name='attr_medicae_focus' type='hidden' value=''>
<input name='attr_medicae_unnat' type='hidden' value=''>
<button type='roll' name='medicae_roll' value='@{to-gm}&{template:mythic} {{character= @{character_name}}} {{roll-name=Medicae}} {{dos=[[[[1+floor(abs([[{{ {@{medicae_total}+@{inlinemod-toggle}}, {@{medicae_focus}-@{limiter}}}kh1, {@{medicae_focus}+@{limiter}}}kl1]]-[[1d100]])/10)]]+ceil(@{medicae_unnat}/2)]]}} {{target=$[[0]]}} {{roll=$[[1]]}} {{dof=$[[2]]}}'
class='sheet-clear'><input name='attr_medicae_total' value='@{medicae_focus}+@{mod2_medicae}+@{mod3_medicae}-20' class='sheet-input_background' disabled /></button>
</div>
<div class='sheet-skill_grid'>
<p class='sheet-bold_text sheet-skills_text'>Navigate: Surface</p>
<select name='attr_nav_surface_char' class='sheet-full_width sheet-full_height'>
<option value='int' selected='selected'>INT</option>
<option value='per'>PER</option>
</select>
<input name='attr_mod2_nav_surface' type='number' value='0' />
<input name='attr_mod3_nav_surface' type='checkbox' value='20' class='sheet-skills_item' />
<input name='attr_mod3_nav_surface' type='checkbox' value='30' class='sheet-skills_item' />
<input name='attr_mod3_nav_surface' type='checkbox' value='40' class='sheet-skills_item' />
<input name='attr_mod3_nav_surface' type='checkbox' value='50' class='sheet-skills_item' />
<input name='attr_nav_surface_focus' type='hidden' value=''>
<input name='attr_nav_surface_unnat' type='hidden' value=''>
<button type='roll' name='nav_surface_roll' value='@{to-gm}&{template:mythic} {{character= @{character_name}}} {{roll-name=Navigate: Surface}} {{dos=[[[[1+floor(abs([[{{ {@{nav_surface_total}+@{inlinemod-toggle}}, {@{nav_surface_focus}-@{limiter}}}kh1, {@{nav_surface_focus}+@{limiter}}}kl1]]-[[1d100]])/10)]]+ceil(@{nav_surface_unnat}/2)]]}} {{target=$[[0]]}} {{roll=$[[1]]}} {{dof=$[[2]]}}'
class='sheet-clear'><input name='attr_nav_surface_total' value='@{nav_surface_focus}+@{mod2_nav_surface}+@{mod3_nav_surface}-20' class='sheet-input_background' disabled /></button>
</div>
<div class='sheet-skill_grid'>
<p class='sheet-bold_text sheet-skills_text'>Navigate: Stellar</p>
<select name='attr_nav_stellar_char' class='sheet-full_width sheet-full_height'>
<option value='int' selected='selected'>INT</option>
<option value='per'>PER</option>
</select>
<input name='attr_mod2_nav_stellar' type='number' value='0' />
<input name='attr_mod3_nav_stellar' type='checkbox' value='20' class='sheet-skills_item' />
<input name='attr_mod3_nav_stellar' type='checkbox' value='30' class='sheet-skills_item' />
<input name='attr_mod3_nav_stellar' type='checkbox' value='40' class='sheet-skills_item' />
<input name='attr_mod3_nav_stellar' type='checkbox' value='50' class='sheet-skills_item' />
<input name='attr_nav_stellar_focus' type='hidden' value=''>
<input name='attr_nav_stellar_unnat' type='hidden' value=''>
<button type='roll' name='nav_stellar_roll' value='@{to-gm}&{template:mythic} {{character= @{character_name}}} {{roll-name=Navigate: Stellar}} {{dos=[[[[1+floor(abs([[{{ {@{nav_stellar_total}+@{inlinemod-toggle}}, {@{nav_stellar_focus}-@{limiter}}}kh1, {@{nav_stellar_focus}+@{limiter}}}kl1]]-[[1d100]])/10)]]+ceil(@{nav_stellar_unnat}/2)]]}} {{target=$[[0]]}} {{roll=$[[1]]}} {{dof=$[[2]]}}'
class='sheet-clear'><input name='attr_nav_stellar_total' value='@{nav_stellar_focus}+@{mod2_nav_stellar}+@{mod3_nav_stellar}-20' class='sheet-input_background' disabled /></button>
</div>
<div class='sheet-skill_grid'>
<p class='sheet-bold_text sheet-skills_text'>Navigate: Warp</p>
<select name='attr_nav_warp_char' class='sheet-full_width sheet-full_height'>
<option value='int' selected='selected'>INT</option>
<option value='per'>PER</option>
</select>
<input name='attr_mod2_nav_warp' type='number' value='0' />
<input name='attr_mod3_nav_warp' type='checkbox' value='20' class='sheet-skills_item' />
<input name='attr_mod3_nav_warp' type='checkbox' value='30' class='sheet-skills_item' />
<input name='attr_mod3_nav_warp' type='checkbox' value='40' class='sheet-skills_item' />
<input name='attr_mod3_nav_warp' type='checkbox' value='50' class='sheet-skills_item' />
<input name='attr_nav_warp_focus' type='hidden' value=''>
<input name='attr_nav_warp_unnat' type='hidden' value=''>
<button type='roll' name='nav_warp_roll' value='@{to-gm}&{template:mythic} {{character= @{character_name}}} {{roll-name=Navigate: Warp}} {{dos=[[[[1+floor(abs([[{{ {@{nav_warp_total}+@{inlinemod-toggle}}, {@{nav_warp_focus}-@{limiter}}}kh1, {@{nav_warp_focus}+@{limiter}}}kl1]]-[[1d100]])/10)]]+ceil(@{nav_warp_unnat}/2)]]}} {{target=$[[0]]}} {{roll=$[[1]]}} {{dof=$[[2]]}}'
class='sheet-clear'><input name='attr_nav_warp_total' value='@{nav_warp_focus}+@{mod2_nav_warp}+@{mod3_nav_warp}-20' class='sheet-input_background' disabled /></button>
</div>
<div class='sheet-skill_grid'>
<p class='sheet-bold_text sheet-skills_text'>Operate: Aeronautica</p>
<select name='attr_op_aero_char' class='sheet-full_width sheet-full_height'>
<option value='agi' selected='selected'>AGI</option>
<option value='int'>INT</option>
</select>
<input name='attr_mod2_op_aero' type='number' value='0' />
<input name='attr_mod3_op_aero' type='checkbox' value='20' class='sheet-skills_item' />
<input name='attr_mod3_op_aero' type='checkbox' value='30' class='sheet-skills_item' />
<input name='attr_mod3_op_aero' type='checkbox' value='40' class='sheet-skills_item' />
<input name='attr_mod3_op_aero' type='checkbox' value='50' class='sheet-skills_item' />
<input name='attr_op_aero_focus' type='hidden' value=''>
<input name='attr_op_aero_unnat' type='hidden' value=''>
<button type='roll' name='op_aero_roll' value='@{to-gm}&{template:mythic} {{character= @{character_name}}} {{roll-name=Operate: Aeronautica}} {{dos=[[[[1+floor(abs([[{{ {@{op_aero_total}+@{inlinemod-toggle}}, {@{op_aero_focus}-@{limiter}}}kh1, {@{op_aero_focus}+@{limiter}}}kl1]]-[[1d100]])/10)]]+ceil(@{op_aero_unnat}/2)]]}} {{target=$[[0]]}} {{roll=$[[1]]}} {{dof=$[[2]]}}'
class='sheet-clear'><input name='attr_op_aero_total' value='@{op_aero_focus}+@{mod2_op_aero}+@{mod3_op_aero}-20' class='sheet-input_background' disabled /></button>
</div>
<div class='sheet-skill_grid'>
<p class='sheet-bold_text sheet-skills_text'>Operate: Surface</p>
<select name='attr_op_surface_char' class='sheet-full_width sheet-full_height'>
<option value='agi' selected='selected'>AGI</option>
<option value='int'>INT</option>
</select>
<input name='attr_mod2_op_surface' type='number' value='0' />
<input name='attr_mod3_op_surface' type='checkbox' value='20' class='sheet-skills_item' />
<input name='attr_mod3_op_surface' type='checkbox' value='30' class='sheet-skills_item' />
<input name='attr_mod3_op_surface' type='checkbox' value='40' class='sheet-skills_item' />
<input name='attr_mod3_op_surface' type='checkbox' value='50' class='sheet-skills_item' />
<input name='attr_op_surface_focus' type='hidden' value=''>
<input name='attr_op_surface_unnat' type='hidden' value=''>
<button type='roll' name='op_surface_roll' value='@{to-gm}&{template:mythic} {{character= @{character_name}}} {{roll-name=Operate: Surface}} {{dos=[[[[1+floor(abs([[{{ {@{op_surface_total}+@{inlinemod-toggle}}, {@{op_surface_focus}-@{limiter}}}kh1, {@{op_surface_focus}+@{limiter}}}kl1]]-[[1d100]])/10)]]+ceil(@{op_surface_unnat}/2)]]}} {{target=$[[0]]}} {{roll=$[[1]]}} {{dof=$[[2]]}}'
class='sheet-clear'><input name='attr_op_surface_total' value='@{op_surface_focus}+@{mod2_op_surface}+@{mod3_op_surface}-20' class='sheet-input_background' disabled /></button>
</div>
<div class='sheet-skill_grid'>
<p class='sheet-bold_text sheet-skills_text'>Operate: Voidship</p>
<select name='attr_op_void_char' class='sheet-full_width sheet-full_height'>
<option value='agi' selected='selected'>AGI</option>
<option value='int'>INT</option>
</select>
<input name='attr_mod2_op_void' type='number' value='0' />
<input name='attr_mod3_op_void' type='checkbox' value='20' class='sheet-skills_item' />
<input name='attr_mod3_op_void' type='checkbox' value='30' class='sheet-skills_item' />
<input name='attr_mod3_op_void' type='checkbox' value='40' class='sheet-skills_item' />
<input name='attr_mod3_op_void' type='checkbox' value='50' class='sheet-skills_item' />
<input name='attr_op_void_focus' type='hidden' value=''>
<input name='attr_op_void_unnat' type='hidden' value=''>
<button type='roll' name='op_void_roll' value='@{to-gm}&{template:mythic} {{character= @{character_name}}} {{roll-name=Operate: Voidship}} {{dos=[[[[1+floor(abs([[{{ {@{op_void_total}+@{inlinemod-toggle}}, {@{op_void_focus}-@{limiter}}}kh1, {@{op_void_focus}+@{limiter}}}kl1]]-[[1d100]])/10)]]+ceil(@{op_void_unnat}/2)]]}} {{target=$[[0]]}} {{roll=$[[1]]}} {{dof=$[[2]]}}'
class='sheet-clear'><input name='attr_op_void_total' value='@{op_void_focus}+@{mod2_op_void}+@{mod3_op_void}-20' class='sheet-input_background' disabled /></button>
</div>
<div class='sheet-skill_grid'>
<p class='sheet-bold_text sheet-skills_text'>Parry</p>
<select name='attr_parry_char' class='sheet-full_width sheet-full_height'>
<option value='ws' selected='selected'>WS</option>
</select>
<input name='attr_mod2_parry' type='number' value='0' />
<input name='attr_mod3_parry' type='checkbox' value='20' class='sheet-skills_item' />
<input name='attr_mod3_parry' type='checkbox' value='30' class='sheet-skills_item' />
<input name='attr_mod3_parry' type='checkbox' value='40' class='sheet-skills_item' />
<input name='attr_mod3_parry' type='checkbox' value='50' class='sheet-skills_item' />
<input name='attr_parry_focus' type='hidden' value=''>
<input name='attr_parry_unnat' type='hidden' value=''>
<button type='roll' name='parry_roll' value='@{to-gm}&{template:mythic} {{character= @{character_name}}} {{roll-name=Parry}} {{dos=[[[[1+floor(abs([[{{ {@{parry_total}+@{inlinemod-toggle}}, {@{parry_focus}-@{limiter}}}kh1, {@{parry_focus}+@{limiter}}}kl1]]-[[1d100]])/10)]]+ceil(@{parry_unnat}/2)]]}} {{target=$[[0]]}} {{roll=$[[1]]}} {{dof=$[[2]]}}'
class='sheet-clear'><input name='attr_parry_total' value='@{parry_focus}+@{mod2_parry}+@{mod3_parry}-20' class='sheet-input_background' disabled /></button>
</div>
<div class='sheet-skill_grid'>
<p class='sheet-bold_text sheet-skills_text'>Psyniscience</p>
<select name='attr_psyniscience_char' class='sheet-full_width sheet-full_height'>
<option value='per' selected='selected'>PER</option>
<option value='wp'>WP</option>
</select>
<input name='attr_mod2_psyniscience' type='number' value='0' />
<input name='attr_mod3_psyniscience' type='checkbox' value='20' class='sheet-skills_item' />
<input name='attr_mod3_psyniscience' type='checkbox' value='30' class='sheet-skills_item' />
<input name='attr_mod3_psyniscience' type='checkbox' value='40' class='sheet-skills_item' />
<input name='attr_mod3_psyniscience' type='checkbox' value='50' class='sheet-skills_item' />
<input name='attr_psyniscience_focus' type='hidden' value=''>
<input name='attr_psyniscience_unnat' type='hidden' value=''>
<button type='roll' name='psyniscience_roll' value='@{to-gm}&{template:mythic} {{character= @{character_name}}} {{roll-name=Psyniscience}} {{dos=[[[[1+floor(abs([[{{ {@{psyniscience_total}+@{inlinemod-toggle}}, {@{psyniscience_focus}-@{limiter}}}kh1, {@{psyniscience_focus}+@{limiter}}}kl1]]-[[1d100]])/10)]]+ceil(@{psyniscience_unnat}/2)]]}} {{target=$[[0]]}} {{roll=$[[1]]}} {{dof=$[[2]]}}'
class='sheet-clear'><input name='attr_psyniscience_total' value='@{psyniscience_focus}+@{mod2_psyniscience}+@{mod3_psyniscience}-20' class='sheet-input_background' disabled /></button>
</div>
<div class='sheet-skill_grid'>
<p class='sheet-bold_text sheet-skills_text'>Scrutiny</p>
<select name='attr_scrutiny_char' class='sheet-full_width sheet-full_height'>
<option value='int'>INT</option>
<option value='per' selected='selected'>PER</option>
<option value='fel'>FEL</option>
</select>
<input name='attr_mod2_scrutiny' type='number' value='0' />
<input name='attr_mod3_scrutiny' type='checkbox' value='20' class='sheet-skills_item' />
<input name='attr_mod3_scrutiny' type='checkbox' value='30' class='sheet-skills_item' />
<input name='attr_mod3_scrutiny' type='checkbox' value='40' class='sheet-skills_item' />
<input name='attr_mod3_scrutiny' type='checkbox' value='50' class='sheet-skills_item' />
<input name='attr_scrutiny_focus' type='hidden' value=''>
<input name='attr_scrutiny_unnat' type='hidden' value=''>
<button type='roll' name='scrutiny_roll' value='@{to-gm}&{template:mythic} {{character= @{character_name}}} {{roll-name=Scrutiny}} {{dos=[[[[1+floor(abs([[{{ {@{scrutiny_total}+@{inlinemod-toggle}}, {@{scrutiny_focus}-@{limiter}}}kh1, {@{scrutiny_focus}+@{limiter}}}kl1]]-[[1d100]])/10)]]+ceil(@{scrutiny_unnat}/2)]]}} {{target=$[[0]]}} {{roll=$[[1]]}} {{dof=$[[2]]}}'
class='sheet-clear'><input name='attr_scrutiny_total' value='@{scrutiny_focus}+@{mod2_scrutiny}+@{mod3_scrutiny}-20' class='sheet-input_background' disabled /></button>
</div>
<div class='sheet-skill_grid'>
<p class='sheet-bold_text sheet-skills_text'>Security</p>
<select name='attr_security_char' class='sheet-full_width sheet-full_height'>
<option value='agi'>AGI</option>
<option value='int' selected='selected'>INT</option>
</select>
<input name='attr_mod2_security' type='number' value='0' />
<input name='attr_mod3_security' type='checkbox' value='20' class='sheet-skills_item' />
<input name='attr_mod3_security' type='checkbox' value='30' class='sheet-skills_item' />
<input name='attr_mod3_security' type='checkbox' value='40' class='sheet-skills_item' />
<input name='attr_mod3_security' type='checkbox' value='50' class='sheet-skills_item' />
<input name='attr_security_focus' type='hidden' value=''>
<input name='attr_security_unnat' type='hidden' value=''>
<button type='roll' name='security_roll' value='@{to-gm}&{template:mythic} {{character= @{character_name}}} {{roll-name=Security}} {{dos=[[[[1+floor(abs([[{{ {@{security_total}+@{inlinemod-toggle}}, {@{security_focus}-@{limiter}}}kh1, {@{security_focus}+@{limiter}}}kl1]]-[[1d100]])/10)]]+ceil(@{security_unnat}/2)]]}} {{target=$[[0]]}} {{roll=$[[1]]}} {{dof=$[[2]]}}'
class='sheet-clear'><input name='attr_security_total' value='@{security_focus}+@{mod2_security}+@{mod3_security}-20' class='sheet-input_background' disabled /></button>
</div>
<div class='sheet-skill_grid'>
<p class='sheet-bold_text sheet-skills_text'>Sleight of Hand</p>
<select name='attr_sleight_char' class='sheet-full_width sheet-full_height'>
<option value='agi' selected='selected'>AGI</option>
<option value='int'>INT</option>
</select>
<input name='attr_mod2_sleight' type='number' value='0' />
<input name='attr_mod3_sleight' type='checkbox' value='20' class='sheet-skills_item' />
<input name='attr_mod3_sleight' type='checkbox' value='30' class='sheet-skills_item' />
<input name='attr_mod3_sleight' type='checkbox' value='40' class='sheet-skills_item' />
<input name='attr_mod3_sleight' type='checkbox' value='50' class='sheet-skills_item' />
<input name='attr_sleight_focus' type='hidden' value=''>
<input name='attr_sleight_unnat' type='hidden' value=''>
<button type='roll' name='sleight_roll' value='@{to-gm}&{template:mythic} {{character= @{character_name}}} {{roll-name=Sleight of Hand}} {{dos=[[[[1+floor(abs([[{{ {@{sleight_total}+@{inlinemod-toggle}}, {@{sleight_focus}-@{limiter}}}kh1, {@{sleight_focus}+@{limiter}}}kl1]]-[[1d100]])/10)]]+ceil(@{sleight_unnat}/2)]]}} {{target=$[[0]]}} {{roll=$[[1]]}} {{dof=$[[2]]}}'
class='sheet-clear'><input name='attr_sleight_total' value='@{sleight_focus}+@{mod2_sleight}+@{mod3_sleight}-20' class='sheet-input_background' disabled /></button>
</div>
<div class='sheet-skill_grid'>
<p class='sheet-bold_text sheet-skills_text'>Stealth</p>
<select name='attr_stealth_char' class='sheet-full_width sheet-full_height'>
<option value='agi' selected='selected'>AGI</option>
<option value='per'>PER</option>
</select>
<input name='attr_mod2_stealth' type='number' value='0' />
<input name='attr_mod3_stealth' type='checkbox' value='20' class='sheet-skills_item' />
<input name='attr_mod3_stealth' type='checkbox' value='30' class='sheet-skills_item' />
<input name='attr_mod3_stealth' type='checkbox' value='40' class='sheet-skills_item' />
<input name='attr_mod3_stealth' type='checkbox' value='50' class='sheet-skills_item' />
<input name='attr_stealth_focus' type='hidden' value=''>
<input name='attr_stealth_unnat' type='hidden' value=''>
<button type='roll' name='stealth_roll' value='@{to-gm}&{template:mythic} {{character= @{character_name}}} {{roll-name=Stealth}} {{dos=[[[[1+floor(abs([[{{ {@{stealth_total}+@{inlinemod-toggle}}, {@{stealth_focus}-@{limiter}}}kh1, {@{stealth_focus}+@{limiter}}}kl1]]-[[1d100]])/10)]]+ceil(@{stealth_unnat}/2)]]}} {{target=$[[0]]}} {{roll=$[[1]]}} {{dof=$[[2]]}}'
class='sheet-clear'><input name='attr_stealth_total' value='@{stealth_focus}+@{mod2_stealth}+@{mod3_stealth}-20-(10*@{size})' class='sheet-input_background' disabled /></button>
</div>
<div class='sheet-skill_grid'>
<p class='sheet-bold_text sheet-skills_text'>Survival</p>
<select name='attr_survival_char' class='sheet-full_width sheet-full_height'>
<option value='agi'>AGI</option>
<option value='int'>INT</option>
<option value='per' selected='selected'>PER</option>
</select>
<input name='attr_mod2_survival' type='number' value='0' />
<input name='attr_mod3_survival' type='checkbox' value='20' class='sheet-skills_item' />
<input name='attr_mod3_survival' type='checkbox' value='30' class='sheet-skills_item' />
<input name='attr_mod3_survival' type='checkbox' value='40' class='sheet-skills_item' />
<input name='attr_mod3_survival' type='checkbox' value='50' class='sheet-skills_item' />
<input name='attr_survival_focus' type='hidden' value=''>
<input name='attr_survival_unnat' type='hidden' value=''>
<button type='roll' name='survival_roll' value='@{to-gm}&{template:mythic} {{character= @{character_name}}} {{roll-name=Survival}} {{dos=[[[[1+floor(abs([[{{ {@{survival_total}+@{inlinemod-toggle}}, {@{survival_focus}-@{limiter}}}kh1, {@{survival_focus}+@{limiter}}}kl1]]-[[1d100]])/10)]]+ceil(@{survival_unnat}/2)]]}} {{target=$[[0]]}} {{roll=$[[1]]}} {{dof=$[[2]]}}'
class='sheet-clear'><input name='attr_survival_total' value='@{survival_focus}+@{mod2_survival}+@{mod3_survival}-20' class='sheet-input_background' disabled /></button>
</div>
<div class='sheet-skill_grid'>
<p class='sheet-bold_text sheet-skills_text'>Tech-Use</p>
<select name='attr_tech_use_char' class='sheet-full_width sheet-full_height'>
<option value='agi'>AGI</option>
<option value='int' selected='selected'>INT</option>
</select>
<input name='attr_mod2_tech_use' type='number' value='0' />
<input name='attr_mod3_tech_use' type='checkbox' value='20' class='sheet-skills_item' />
<input name='attr_mod3_tech_use' type='checkbox' value='30' class='sheet-skills_item' />
<input name='attr_mod3_tech_use' type='checkbox' value='40' class='sheet-skills_item' />
<input name='attr_mod3_tech_use' type='checkbox' value='50' class='sheet-skills_item' />
<input name='attr_tech_use_focus' type='hidden' value=''>
<input name='attr_tech_use_unnat' type='hidden' value=''>
<button type='roll' name='tech_use_roll' value='@{to-gm}&{template:mythic} {{character= @{character_name}}} {{roll-name=Tech-Use}} {{dos=[[[[1+floor(abs([[{{ {@{tech_use_total}+@{inlinemod-toggle}}, {@{tech_use_focus}-@{limiter}}}kh1, {@{tech_use_focus}+@{limiter}}}kl1]]-[[1d100]])/10)]]+ceil(@{tech_use_unnat}/2)]]}} {{target=$[[0]]}} {{roll=$[[1]]}} {{dof=$[[2]]}}'
class='sheet-clear'><input name='attr_tech_use_total' value='@{tech_use_focus}+@{mod2_tech_use}+@{mod3_tech_use}-20' class='sheet-input_background' disabled /></button>
</div>
<fieldset name='skill' class='repeating_skill'>
<div class='sheet-skill_grid'>
<input name='attr_skill_name' type='text' value='' class='sheet-full_width sheet-text_left' />
<select name='attr_skill_r_char' class='sheet-full_width sheet-full_height'>
<option value='ws'>WS</option>
<option value='bs'>BS</option>
<option value='str'>STR</option>
<option value='tou'>TOU</option>
<option value='agi'>AGI</option>
<option value='int'>INT</option>
<option value='per'>PER</option>
<option value='wp'>WP</option>
<option value='fel'>FEL</option>
</select>
<input name='attr_skill_r_mod2' type='number' value='0' />
<input name='attr_skill_r_mod3' type='checkbox' value='20' class='sheet-skills_item' />
<input name='attr_skill_r_mod3' type='checkbox' value='30' class='sheet-skills_item' />
<input name='attr_skill_r_mod3' type='checkbox' value='40' class='sheet-skills_item' />
<input name='attr_skill_r_mod3' type='checkbox' value='50' class='sheet-skills_item' />
<input name='attr_skill_r_focus' type='hidden' value=''>
<input name='attr_skill_r_unnat' type='hidden' value=''>
<button type='roll' name='skill_Roll' value='@{to-gm}&{template:mythic} {{character= @{character_name}}} {{roll-name=@{skill_name}}} {{dos=[[[[1+floor(abs([[{{ {@{skill_r_total}+@{inlinemod-toggle}}, {@{skill_r_focus}-@{limiter}}}kh1, {@{skill_r_focus}+@{limiter}}}kl1]]-[[1d100]])/10)]]+ceil(@{skill_r_unnat}/2)]]}} {{target=$[[0]]}} {{roll=$[[1]]}} {{dof=$[[2]]}}'
class='sheet-clear'><input name='attr_skill_r_total' value='@{skill_r_focus}+@{skill_r_mod2}+[[@{skill_r_mod3}-20' class='sheet-input_background' disabled /></button>
</div>
</fieldset>
</div>
<div class='sheet-core_lists2 sheet-edge_padding sheet-table sheet-radius_border'>
<h3 class='sheet-radius_border_heading'><b>Linguistics</b></h3>
<div class='sheet-education_header'>
<p class='sheet-bold_text'>Name</p>
<p class='sheet-bold_text'>Char</p>
<p class='sheet-bold_text'>Mod</p>
<p class='sheet-bold_text'>K</p>
<p class='sheet-bold_text'>+10</p>
<p class='sheet-bold_text'>+20</p>
<p class='sheet-bold_text'>+30</p>
<p class='sheet-bold_text'>Roll</p>
</div>
<fieldset name='linguistics' class='repeating_linguistics'>
<div class='sheet-education_grid'>
<input name='attr_linguistics_name' type='text' class='sheet-full_width sheet-text_left' />
<select name='attr_linguistics_r_char' class='sheet-full_width sheet-full_height'>
<option value='int' selected='selected'>INT</option>
<option value='fel'>FEL</option>
</select>
<input name='attr_linguistics_r_mod2' type='number' value='0' />
<input name='attr_linguistics_r_mod3' type='checkbox' value='20' class='sheet-skills_item ' />
<input name='attr_linguistics_r_mod3' type='checkbox' value='30' class='sheet-skills_item' />
<input name='attr_linguistics_r_mod3' type='checkbox' value='40' class='sheet-skills_item ' />
<input name='attr_linguistics_r_mod3' type='checkbox' value='50' class='sheet-skills_item' />
<input name='attr_linguistics_r_focus' type='hidden' value=''>
<input name='attr_linguistics_r_unnat' type='hidden' value=''>
<button name='linguistics_roll' type='roll' class='sheet-clear' value='@{to-gm}&{template:mythic} {{character= @{character_name}}} {{roll-name=Linguistics: @{linguistics_name} }} {{dos=[[[[1+floor(abs([[{{ {@{linguistics_r_total}+@{inlinemod-toggle}}, {@{linguistics_r_focus}-@{limiter}}}kh1, {@{linguistics_r_focus}+@{limiter}}}kl1]]-[[1d100]])/10)]]+ceil(@{linguistics_r_unnat}/2)]]}} {{target=$[[0]]}} {{roll=$[[1]]}} {{dof=$[[2]]}}'>
<input name='attr_linguistics_r_total' value='@{linguistics_r_focus}+@{linguistics_r_mod2}+@{linguistics_r_mod3}-20' class='sheet-input_background' disabled /></button>
</div>
</fieldset>
</div>
<div class='sheet-core_lists3 sheet-edge_padding sheet-table sheet-radius_border'>
<h3 class='sheet-radius_border_heading'><b>Common Lore</b></h3>
<div class='sheet-education_header'>
<p class='sheet-bold_text'>Name</p>
<p class='sheet-bold_text'>Char</p>
<p class='sheet-bold_text'>Mod</p>
<p class='sheet-bold_text'>K</p>
<p class='sheet-bold_text'>+10</p>
<p class='sheet-bold_text'>+20</p>
<p class='sheet-bold_text'>+30</p>
<p class='sheet-bold_text'>Roll</p>
</div>
<fieldset name='common-lore' class='repeating_common-lore'>
<div class='sheet-education_grid'>
<input name='attr_common-lore_name' type='text' class='sheet-full_width sheet-text_left' />
<select name='attr_common-lore_r_char' class='sheet-full_width sheet-full_height'>
<option value='int' selected='selected'>INT</option>
<option value='fel'>FEL</option>
</select>
<input name='attr_common-lore_r_mod2' type='number' value='0' />
<input name='attr_common-lore_r_mod3' type='checkbox' value='20' class='sheet-skills_item ' />
<input name='attr_common-lore_r_mod3' type='checkbox' value='30' class='sheet-skills_item' />
<input name='attr_common-lore_r_mod3' type='checkbox' value='40' class='sheet-skills_item ' />
<input name='attr_common-lore_r_mod3' type='checkbox' value='50' class='sheet-skills_item' />
<input name='attr_common-lore_r_focus' type='hidden' value=''>
<input name='attr_common-lore_r_unnat' type='hidden' value=''>
<button name='common-lore_roll' type='roll' class='sheet-clear' value='@{to-gm}&{template:mythic} {{character= @{character_name}}} {{roll-name=Common-Lore: @{common-lore_name} }} {{dos=[[[[1+floor(abs([[{{ {@{common-lore_r_total}+@{inlinemod-toggle}}, {@{common-lore_r_focus}-@{limiter}}}kh1, {@{common-lore_r_focus}+@{limiter}}}kl1]]-[[1d100]])/10)]]+ceil(@{common-lore_r_unnat}/2)]]}} {{target=$[[0]]}} {{roll=$[[1]]}} {{dof=$[[2]]}}'>
<input name='attr_common-lore_r_total' value='@{common-lore_r_focus}+@{common-lore_r_mod2}+@{common-lore_r_mod3}-20' class='sheet-input_background' disabled /></button>
</div>
</fieldset>
</div>
<div class='sheet-core_lists4 sheet-edge_padding sheet-table sheet-radius_border'>
<h3 class='sheet-radius_border_heading'><b>Scholastic Lore</b></h3>
<div class='sheet-education_header'>
<p class='sheet-bold_text'>Name</p>
<p class='sheet-bold_text'>Char</p>
<p class='sheet-bold_text'>Mod</p>
<p class='sheet-bold_text'>K</p>
<p class='sheet-bold_text'>+10</p>
<p class='sheet-bold_text'>+20</p>
<p class='sheet-bold_text'>+30</p>
<p class='sheet-bold_text'>Roll</p>
</div>
<fieldset name='scholastic-lore' class='repeating_scholastic-lore'>
<div class='sheet-education_grid'>
<input name='attr_scholastic-lore_name' type='text' class='sheet-full_width sheet-text_left' />
<select name='attr_scholastic-lore_r_char' class='sheet-full_width sheet-full_height'>
<option value='int' selected='selected'>INT</option>
<option value='fel'>FEL</option>
</select>
<input name='attr_scholastic-lore_r_mod2' type='number' value='0' />
<input name='attr_scholastic-lore_r_mod3' type='checkbox' value='20' class='sheet-skills_item ' />
<input name='attr_scholastic-lore_r_mod3' type='checkbox' value='30' class='sheet-skills_item' />
<input name='attr_scholastic-lore_r_mod3' type='checkbox' value='40' class='sheet-skills_item ' />
<input name='attr_scholastic-lore_r_mod3' type='checkbox' value='50' class='sheet-skills_item' />
<input name='attr_scholastic-lore_r_focus' type='hidden' value=''>
<input name='attr_scholastic-lore_r_unnat' type='hidden' value=''>
<button name='scholastic-lore_roll' type='roll' class='sheet-clear' value='@{to-gm}&{template:mythic} {{character= @{character_name}}} {{roll-name=Scholastic-Lore: @{scholastic-lore_name} }} {{dos=[[[[1+floor(abs([[{{ {@{scholastic-lore_r_total}+@{inlinemod-toggle}}, {@{scholastic-lore_r_focus}-@{limiter}}}kh1, {@{scholastic-lore_r_focus}+@{limiter}}}kl1]]-[[1d100]])/10)]]+ceil(@{scholastic-lore_r_unnat}/2)]]}} {{target=$[[0]]}} {{roll=$[[1]]}} {{dof=$[[2]]}}'>
<input name='attr_scholastic-lore_r_total' value='@{scholastic-lore_r_focus}+@{scholastic-lore_r_mod2}+@{scholastic-lore_r_mod3}-20' class='sheet-input_background' disabled /></button>
</div>
</fieldset>
</div>
<div class='sheet-core_lists5 sheet-edge_padding sheet-table sheet-radius_border'>
<h3 class='sheet-radius_border_heading'><b>Forbidden Lore</b></h3>
<div class='sheet-education_header'>
<p class='sheet-bold_text'>Name</p>
<p class='sheet-bold_text'>Char</p>
<p class='sheet-bold_text'>Mod</p>
<p class='sheet-bold_text'>K</p>
<p class='sheet-bold_text'>+10</p>
<p class='sheet-bold_text'>+20</p>
<p class='sheet-bold_text'>+30</p>
<p class='sheet-bold_text'>Roll</p>
</div>
<fieldset name='forbidden-lore' class='repeating_forbidden-lore'>
<div class='sheet-education_grid'>
<input name='attr_forbidden-lore_name' type='text' class='sheet-full_width sheet-text_left' />
<select name='attr_forbidden-lore_r_char' class='sheet-full_width sheet-full_height'>
<option value='int' selected='selected'>INT</option>
<option value='fel'>FEL</option>
</select>
<input name='attr_forbidden-lore_r_mod2' type='number' value='0' />
<input name='attr_forbidden-lore_r_mod3' type='checkbox' value='20' class='sheet-skills_item ' />
<input name='attr_forbidden-lore_r_mod3' type='checkbox' value='30' class='sheet-skills_item' />
<input name='attr_forbidden-lore_r_mod3' type='checkbox' value='40' class='sheet-skills_item ' />
<input name='attr_forbidden-lore_r_mod3' type='checkbox' value='50' class='sheet-skills_item' />
<input name='attr_forbidden-lore_r_focus' type='hidden' value=''>
<input name='attr_forbidden-lore_r_unnat' type='hidden' value=''>
<button name='forbidden-lore_roll' type='roll' class='sheet-clear' value='@{to-gm}&{template:mythic} {{character= @{character_name}}} {{roll-name=Forbidden-Lore: @{forbidden-lore_name} }} {{dos=[[[[1+floor(abs([[{{ {@{forbidden-lore_r_total}+@{inlinemod-toggle}}, {@{forbidden-lore_r_focus}-@{limiter}}}kh1, {@{forbidden-lore_r_focus}+@{limiter}}}kl1]]-[[1d100]])/10)]]+ceil(@{forbidden-lore_r_unnat}/2)]]}} {{target=$[[0]]}} {{roll=$[[1]]}} {{dof=$[[2]]}}'>
<input name='attr_forbidden-lore_r_total' value='@{forbidden-lore_r_focus}+@{forbidden-lore_r_mod2}+@{forbidden-lore_r_mod3}-20' class='sheet-input_background' disabled /></button>
</div>
</fieldset>
</div>
<div class='sheet-core_lists6 sheet-edge_padding sheet-table sheet-radius_border'>
<h3 class='sheet-radius_border_heading'><b>Trade</b></h3>
<div class='sheet-education_header'>
<p class='sheet-bold_text'>Name</p>
<p class='sheet-bold_text'>Char</p>
<p class='sheet-bold_text'>Mod</p>
<p class='sheet-bold_text'>K</p>
<p class='sheet-bold_text'>+10</p>
<p class='sheet-bold_text'>+20</p>
<p class='sheet-bold_text'>+30</p>
<p class='sheet-bold_text'>Roll</p>
</div>
<fieldset name='trade' class='repeating_trade'>
<div class='sheet-education_grid'>
<input name='attr_trade_name' type='text' class='sheet-full_width sheet-text_left' />
<select name='attr_trade_r_char' class='sheet-full_width sheet-full_height'>
<option value='agi'>AGI</option>
<option value='int' selected='selected'>INT</option>
<option value='fel'>FEL</option>
</select>
<input name='attr_trade_r_mod2' type='number' value='0' />
<input name='attr_trade_r_mod3' type='checkbox' value='20' class='sheet-skills_item ' />
<input name='attr_trade_r_mod3' type='checkbox' value='30' class='sheet-skills_item' />
<input name='attr_trade_r_mod3' type='checkbox' value='40' class='sheet-skills_item ' />
<input name='attr_trade_r_mod3' type='checkbox' value='50' class='sheet-skills_item' />
<input name='attr_trade_r_focus' type='hidden' value=''>
<input name='attr_trade_r_unnat' type='hidden' value=''>
<button name='trade_roll' type='roll' class='sheet-clear' value='@{to-gm}&{template:mythic} {{character= @{character_name}}} {{roll-name=Trade: @{trade_name} }} {{dos=[[[[1+floor(abs([[{{ {@{trade_r_total}+@{inlinemod-toggle}}, {@{trade_r_focus}-@{limiter}}}kh1, {@{trade_r_focus}+@{limiter}}}kl1]]-[[1d100]])/10)]]+ceil(@{trade_r_unnat}/2)]]}} {{target=$[[0]]}} {{roll=$[[1]]}} {{dof=$[[2]]}}'>
<input name='attr_trade_r_total' value='@{trade_r_focus}+@{trade_r_mod2}+@{trade_r_mod3}-20' class='sheet-input_background' disabled /></button>
</div>
</fieldset>
</div>
</div>
<br>
<h2>Special Abilities / Talents</h2>
<p class='sheet-abilities_checkbox_pointer'><b>Expand &#9660;</b></p>
<div class='sheet-edge_padding sheet-ssc'>
<fieldset name='abilities' class='repeating_abilities'>
<input name='attr_ability_r' type='text' placeholder='Name' class='sheet-full_width_49px' />
<label title='Expand' class='sheet-margin_adjust'><input type='checkbox' name='attr_collapse' value='3' class='sheet-collapsible_entity_switch sheet-select_button sheet-hidden' /><span class='sheet-select_text '>&#9660;</span></label>
<label title='Send description in the chat' class='sheet-margin_adjust2'><button type='roll' value='@{to-gm}&{template:mythic} {{name=@{ability_r} }} {{description=@{ability_desc_r} }}' class='sheet-hidden'></button><span class='sheet-select_text'>&#128266;</span></label>
<input name='attr_collapse' type='checkbox' value='3' class='sheet-collapsible_entity_switch sheet-hidden' />
<textarea name='attr_ability_desc_r' class='sheet-collapsible_entity_block'></textarea>
</fieldset>
</div>
<h2>Traits</h2>
<p class='sheet-traits_checkbox_pointer'><b>Expand &#9660;</b></p>
<div class='sheet-edge_padding sheet-ssc'>
<fieldset name='traits' class='repeating_traits'>
<input name='attr_trait_r' type='text' placeholder='Name' class='sheet-full_width_49px' />
<label title='Expand' class='sheet-margin_adjust'><input type='checkbox' name='attr_collapse' value='3' class='sheet-collapsible_entity_switch sheet-select_button sheet-hidden' /><span class='sheet-select_text '>&#9660;</span></label>
<label title='Send description in the chat' class='sheet-margin_adjust2'><button type='roll' value='@{to-gm}&{template:mythic} {{name=@{trait_r} }} {{description=@{trait_desc_r} }}' class='sheet-hidden'></button><span class='sheet-select_text'>&#128266;</span></label>
<input name='attr_collapse' type='checkbox' value='3' class='sheet-collapsible_entity_switch sheet-hidden' />
<textarea name='attr_trait_desc_r' class='sheet-collapsible_entity_block'></textarea>
</fieldset>
</div>
</div>
<!-- start of tab Equipment -->
<div class='sheet-tab_equipment sheet-box sheet-radius_border_box sheet-ssc'>
<div class='sheet-equipment_divider'>
<div class='sheet-equipment_ranged_weapons sheet-ssc'>
<h3 class='sheet-radius_border_top'>Ranged Weapons</h3>
<datalist id="RangedWeapons">
<option value="Bolt Pistol">Bolt</option>
<option value="Boltgun">Bolt</option>
<option value="Heavy Bolter">Bolt</option>
<option value="Storm Bolter">Bolt</option>
<option value="Godwyn-De'az Bolt Pistol">Bolt</option>
<option value="Godwyn-De'az Bolter">Bolt</option>
<option value="Godwyn-De'az Heavy Bolter">Bolt</option>
<option value="Godwyn-De'az Storm Bolter">Bolt</option>
<option value="Psycannon">Bolt</option>
<option value="Cerberus Heavy Flamer, Magnus-Pattern">Flame</option>
<option value="Flamer">Flame</option>
<option value="Gorgon Chemical Flamer, Magnus-Pattern">Flame</option>
<option value="Hand Flamer">Flame</option>
<option value="Heavy Flamer">Flame</option>
<option value="Hydra Flamer Array, Magnus-Pattern">Flame</option>
<option value="Incinerator">Flame</option>
<option value="Grenade Launcher">Launcher</option>
<option value="Missile Launcher">Launcher</option>
<option value="Laspistol">Las</option>
<option value="Lasgun">Las</option>
<option value="Laslock">Las</option>
<option value="Long Las">Las</option>
<option value="Hot-shot Laspistol">Las</option>
<option value="Hot-shot Lasgun">Las</option>
<option value="Arquebus">Low-Tech</option>
<option value="Bolas">Low-Tech</option>
<option value="Bow">Low-Tech</option>
<option value="Crossbow">Low-Tech</option>
<option value="Castigator Heavy Crossbow, Selvanus-Pattern">Low-Tech</option>
<option value="Deliverance Light Crossbow *">Low-Tech</option>
<option value="Drake's Claw Launcher">Low-Tech</option>
<option value="Flintlock Pistol">Low-Tech</option>
<option value="Longflame Launcher">Low-Tech</option>
<option value="Musket">Low-Tech</option>
<option value="Snapper Repeating Rifle">Low-Tech</option>
<option value="Inferno Pistol">Melta</option>
<option value="Meltagun">Melta</option>
<option value="Plasma Pistol">Plasma</option>
<option value="Plasma Gun">Plasma</option>
<option value="Sentinel Plasma Rifle, Selvanus-Pattern">Plasma</option>
<option value="Autopistol">Solid Projectile</option>
<option value="Autogun">Solid Projectile</option>
<option value="Autocannon">Solid Projectile</option>
<option value="Hand Cannon">Solid Projectile</option>
<option value="Heavy Stubber">Solid Projectile</option>
<option value="Shotgun Basic">Solid Projectile</option>
<option value="Shotgun (Combat)">Solid Projectile</option>
<option value="Sniper Rifle Basic">Solid Projectile</option>
<option value="Stub Automatic">Solid Projectile</option>
<option value="Stub Revolver">Solid Projectile</option>
<option value="Condemnor">Exotic</option>
<option value="Grav Pistol">Exotic</option>
<option value="Graviton Gun">Exotic</option>
<option value="Hellrifle">Exotic</option>
<option value="Needle Pistol">Exotic</option>
<option value="Needle Rifle">Exotic</option>
<option value="Purgatus Crossbow *">Exotic</option>
<option value="Silverseine Launcher">Exotic</option>
<option value="Web pistol">Exotic</option>
<option value="Webber">Exotic</option>
<option value="Abyssal Charge">Grenade/Msl</option>
<option value="Argent Globe">Grenade/Msl</option>
<option value="Akvran Cutter">Grenade/Msl</option>
<option value="Blind Grenade">Grenade/Msl</option>
<option value="Choke Grenade">Grenade/Msl</option>
<option value="Eldar Plasma Grenade">Grenade/Msl</option>
<option value="Graviton Grenade">Grenade/Msl</option>
<option value="Fire Bomb">Grenade/Msl</option>
<option value="Frag Grenade">Grenade/Msl</option>
<option value="Frag Missile">Grenade/Msl</option>
<option value="Hallucinogen Grenade">Grenade/Msl</option>
<option value="Havatian Ringblade (Ranged)">Grenade/Msl</option>
<option value="Haywire Grenade">Grenade/Msl</option>
<option value="Ironfaith Incense Grenade">Grenade/Msl</option>
<option value="Krak Grenade">Grenade/Msl</option>
<option value="Krak Missile">Grenade/Msl</option>
<option value="Kyaire Riveblade Grenade">Grenade/Msl</option>
<option value="Melta Bomb">Grenade/Msl</option>
<option value="Photon Flash Grenade">Grenade/Msl</option>
<option value="Photon Grenade">Grenade/Msl</option>
<option value="Psychotroke Grenade">Grenade/Msl</option>
<option value="Psyk-Out Grenade">Grenade/Msl</option>
<option value="Rad Grenade">Grenade/Msl</option>
<option value="Smoke Grenade">Grenade/Msl</option>
<option value="Spore Bomb">Grenade/Msl</option>
<option value="Stikkbomb">Grenade/Msl</option>
<option value="Stun Grenade">Grenade/Msl</option>
<option value="Tears of the Emperor">Grenade/Msl</option>
<option value="Web Grenade">Grenade/Msl</option>
<option value="Whitefire Grenade">Grenade/Msl</option>
<option value="Digi-Weapon">Xenos</option>
<option value="Firesprite Needler">Xenos</option>
<option value="Holo-Spectus">Xenos</option>
<option value="Integration Cannon">Xenos</option>
<option value="Quillgun, Binary Pattern">Xenos</option>
<option value="Quillgun (Atarctic ammo)">Xenos</option>
<option value="Quillgun (Venenum ammo)">Xenos</option>
<option value="Shardcarbine">Xenos</option>
<option value="Shuriken Cannon **">Xenos</option>
<option value="Shuriken Catapult">Xenos</option>
<option value="Shuriken Pistol">Xenos</option>
<option value="Splinter Cannon **">Xenos</option>
<option value="Splinter Pistol">Xenos</option>
<option value="Splinter Rifle">Xenos</option>
<option value="Burna (Ranged)">Xenos</option>
<option value="Rokkit Launcha">Xenos</option>
<option value="Shoota">Xenos</option>
<option value="Slugga">Xenos</option>
<option value="Kroot Rifle">Xenos</option>
<option value="Kroot Rifle (Pulse Round)">Xenos</option>
<option value="Kroot Rifle (Sniper Round)">Xenos</option>
<option value="Pulse Carbine">Xenos</option>
<option value="Pulse Carbine (Photon Grenade)">Xenos</option>
<option value="Pulse Pistol">Xenos</option>
<option value="Pulse Rifle">Xenos</option>
<option value="Ablative Projector">Xenos</option>
<option value="Cascade Lance (Ranged)">Xenos</option>
<option value="Concussion Beamer">Xenos</option>
<option value="Resonance Arc">Xenos</option>
<option value="Guldaniri Bile Projector">Xenos</option>
<option value="Neural Catalyser">Xenos</option>
<option value="Xenarch Death-Arc">Xenos</option>
</datalist>
<fieldset name='rangedweapons' class='repeating_rangedweapons'>
<div class='sheet-equipment_ranged_weapons_rep'>
<input name='attr_wep_display' type='checkbox' value='min' class='sheet-collapsible_entity_switch sheet-hidden' />
<input name='attr_wep_display' type='checkbox' value='half' class='sheet-collapsible_entity_switch_min sheet-hidden' />
<input name='attr_wep_display' type='checkbox' value='expand' class='sheet-collapsible_entity_switch_half sheet-hidden' />
<input type='hidden' name='attr_id' value=''>
<input type='hidden' name='attr_ammo' value='1'>
<div class='sheet-equipment_weapon_rep_head'>
<div class='sheet-equipment_weapon_rep_h1'>
<label title='Min' class='sheet-wb1'><input type='checkbox' name='attr_wep_display' value='min' class='sheet-select_button sheet-hidden' /><span class='sheet-select_text'>&#128469;</span></label>
<label title='Half' class='sheet-wb2'><input type='checkbox' name='attr_wep_display' value='half' class='sheet-select_button sheet-hidden' /><span class='sheet-select_text'>&#128471;</span></label>
<label title='Expand' class='sheet-wb3'><input type='checkbox' name='attr_wep_display' value='expand' class='sheet-select_button sheet-hidden' /><span class='sheet-select_text'>&#128470;</span></label>
</div>
<h3 class='sheet-equipment_weapon_rep_h2'><span name='attr_R_weapon_name'></span></h3>
<button name='weapon_hit' class='sheet-equipment_weapon_rep_h3 sheet-full_width sheet-clear' type='roll' value='@{to-gm}&{template:mythic} {{character= @{character_name}}} {{attack= }} {{weapon= @{R_weapon_name}}} {{dos=[[[[1+ floor(abs([[{{ {@{R_weapon_target}+@{inlinemod-toggle}}, {@{bsTotal}-@{limiter}}}kh1, {@{bsTotal}+@{limiter}}}kl1]]-[[1d100@{R_weapon_mishap_chance}]])/10)]]+ceil(@{BS_unnat}/2)]]}}{{target= $[[0]]}}{{roll= $[[1]]}}{{dof= $[[2]]}}@{settings_hitroll}{{aim= [[@{R_weapon_aim}]]}}{{R_type= [[@{R_weapon_attack}]]}}{{range= [[@{R_weapon_attack_range}]]}}{{modifier= [[@{inlinemod-toggle}]]}}{{skill_name= Ballistic}}{{skill=[[@{BS}]]}}{{advancement= [[@{BS_advancement}]]}}{{weaponmod= [[@{R_weapon_mod1}]]}}{{trained= [[@{R_weapon_trained}]]}}{{burst=@{R_weapon_burst}}}{{auto=@{R_weapon_auto}}}
!wammo @{character_id} repeating_rangedweapons_@{id}_R_weapon_mag [[@{ammo}*@{R_weapon_setting}]]'>Hit
|<input name='attr_R_weapon_target' value='@{bsTotal} + @{R_weapon_trained} - 20 + @{R_weapon_mod1} + @{R_weapon_attack} + @{R_weapon_aim} + @{R_weapon_attack_range} + @{atk_accurate_aim} + @{atk_scatter_aim}' class='sheet-input_background sheet-input_char_background' disabled ></button>
<button name='weapon_dmg' class='sheet-equipment_weapon_rep_h4 sheet-full_width sheet-clear' type='roll' value='@{to-gm}&{template:mythic} {{character= @{character_name}}} {{type= @{R_weapon_type}}} {{weapon= @{R_weapon_name}}} {{damage=[[@{R_weapon_real_dmg}+@{atk_scatter_dmg}]] }} {{@{R_weapon_spray}= }} {{pen=[[@{R_weapon_pen}+0@{R_weapon_pen2}]] }} {{@{settings_weapondescription}=@{R_ability_r} }} @{atk_accurate_dmg}'>DMG</button>
</div>
<div class='sheet-equipment_ranged_weapons_grid0 sheet-collapsible_entity_toggle'>
<select name='attr_R_weapon_aim' class='sheet-equipment_ranged_weapons_gs01 sheet-full_width sheet-clear sheet-select_corection'>
<option value='0' selected='selected'>No Aim (+0)</option>
<option value='10'>Half Aim (+10)</option>
<option value='20'>Full Aim (+20)</option>
</select>
<select name='attr_R_weapon_attack' class='sheet-equipment_ranged_weapons_gs02 sheet-full_width sheet-clear sheet-select_corection'>
<option value='10' selected='selected'>Standard (+10)</option>
<option value='0'>Semi Auto (+0)</option>
<option value='-10'>Full Auto (-10)</option>
<option value='-20'>Called Shot (-20)</option>
<option value='-20'>Suppressing (-20)</option>
</select>
<select name='attr_R_weapon_attack_range' class='sheet-equipment_ranged_weapons_gs03 sheet-full_width sheet-clear sheet-select_corection'>
<option value='30'>Point Blank (+30)</option>
<option value='10'>Short Range (+10)</option>
<option value='0' selected='selected'>Standard (+0)</option>
<option value='-10'>Long Range (-10)</option>
<option value='-30'>Extreme Range (-30)</option>
</select>
<select name='attr_R_weapon_setting' class='sheet-equipment_ranged_weapons_gs04 sheet-full_width sheet-clear sheet-select_corection'>
<option value='1'>N/A</option>
<optgroup label="Las">
<option value='2'>Overcharge</option>
<option value='4'>Overload</option>
</optgroup>
<optgroup label="Plasma">
<option value='3'>Maximal</option>
</optgroup>
</select>
</div>
<div class='sheet-equipment_ranged_weapons_grid1 sheet-collapsible_entity_toggle sheet-collapsible_entity_toggle_min'>
<div class='sheet-equipment_ranged_weapons_gs1'>Name</div>
<input class='sheet-equipment_ranged_weapons_gs2 sheet-full_width' type='text' name='attr_R_weapon_name' />
<!-- list="RangedWeapons" -->
<div class='sheet-equipment_ranged_weapons_gs3'>Class</div>
<select class='sheet-equipment_ranged_weapons_gs4 sheet-full_width sheet-select_corection' name='attr_R_weapon_class'>
<option value='-'>N/A</option>
<option value='Basic'>Basic</option>
<option value='Heavy'>Heavy</option>
<option value='Melee'>Melee</option>
<option value='Pistol'>Pistol</option>
<option value='Thrown'>Thrown</option>
</select>
</div>
<div class='sheet-equipment_ranged_weapons_grid2 sheet-collapsible_entity_toggle sheet-collapsible_entity_toggle_min'>
<div class='sheet-equipment_ranged_weapons_gs5'>Range</div>
<input class='sheet-equipment_ranged_weapons_gs6 sheet-full_width' type='text' value='0' name='attr_R_weapon_range' />
<div class='sheet-equipment_ranged_weapons_gs7'>Damage</div>
<input class='sheet-equipment_ranged_weapons_gs8 sheet-full_width' type='text' value='0' name='attr_R_weapon_dam-roll' />
<div class='sheet-equipment_ranged_weapons_gs9'>Pen</div>
<input class='sheet-equipment_ranged_weapons_gs10 sheet-full_width' type='text' value='0' name='attr_R_weapon_pen' />
<input type='hidden' value='0' name='attr_R_weapon_pen2' />
<div class='sheet-equipment_ranged_weapons_gs11'>Type</div>
<select class='sheet-equipment_ranged_weapons_gs12 sheet-full_width sheet-select_corection' name='attr_R_weapon_type'>
<option value='-'>N/A</option>
<option value='Energy'>Energy</option>
<option value='Impact'>Impact</option>
<option value='Rending'>Rending</option>
<option value='Explosive'>Explosive</option>
</select>
</div>
<div class='sheet-equipment_ranged_weapons_grid2a sheet-collapsible_entity_toggle sheet-collapsible_entity_toggle_min sheet-collapsible_entity_toggle_half'>
<div class='sheet-equipment_ranged_weapons_gs06'>Primitive</div>
<input class='sheet-equipment_ranged_weapons_gs07 sheet-full_width' type='text' value='0' name='attr_R_weapon_max' />
<div class='sheet-equipment_ranged_weapons_gs08'>Proven</div>
<input class='sheet-equipment_ranged_weapons_gs09 sheet-full_width' type='text' value='0' name='attr_R_weapon_min' />
<div class='sheet-equipment_ranged_weapons_gs010'>Vengeful</div>
<input class='sheet-equipment_ranged_weapons_gs011 sheet-full_width' type='text' value='0' name='attr_R_weapon_vengeful' />
<input type='hidden' value='' name='attr_R_weapon_real_dmg' />
<div class='sheet-equipment_ranged_weapons_gs012'>Accurate</div>
<input class='sheet-equipment_ranged_weapons_gs013' type='checkbox' value='1' name='attr_R_weapon_accurate' />
<input class='hidden' type='number' value='0' name='attr_atk_accurate_aim' readonly />
<input class='hidden' type='text' value='0' name='attr_atk_accurate_dmg' readonly />
<div class='sheet-equipment_ranged_weapons_gs012b'>Scatter</div>
<input class='sheet-equipment_ranged_weapons_gs013b' type='checkbox' value='1' name='attr_R_weapon_scatter' />
<input class='hidden' type='number' value='0' name='attr_atk_scatter_aim' readonly />
<input class='hidden' type='text' value='0' name='attr_atk_scatter_dmg' readonly />
</div>
<div class='sheet-equipment_ranged_weapons_grid3 sheet-collapsible_entity_toggle sheet-collapsible_entity_toggle_min'>
<div class='sheet-equipment_ranged_weapons_gs13'>RoF</div>
<input class='sheet-equipment_ranged_weapons_gs14 sheet-full_width' type='text' placeholder='Std' name='attr_R_weapon_standard' />
<div class='sheet-equipment_ranged_weapons_gs15'>/</div>
<input class='sheet-equipment_ranged_weapons_gs16 sheet-full_width' type='text' placeholder='Bst' name='attr_R_weapon_burst' />
<div class='sheet-equipment_ranged_weapons_gs17'>/</div>
<input class='sheet-equipment_ranged_weapons_gs18 sheet-full_width' type='text' placeholder='Auto' name='attr_R_weapon_auto' />
<div class='sheet-equipment_ranged_weapons_gs19'>Magazine</div>
<input class='sheet-equipment_ranged_weapons_gs20 sheet-full_width' type='text' value='0' name='attr_R_weapon_mag' />
<div class='sheet-equipment_ranged_weapons_gs21'>/</div>
<input class='sheet-equipment_ranged_weapons_gs22 sheet-full_width' type='text' value='0' name='attr_R_weapon_mag_max' />
</div>
<div class='sheet-equipment_ranged_weapons_grid4 sheet-collapsible_entity_toggle sheet-collapsible_entity_toggle_min sheet-collapsible_entity_toggle_half'>
<div class='sheet-equipment_ranged_weapons_gs25'>Trained?</div>
<input class='sheet-equipment_ranged_weapons_gs26' type='checkbox' value='20' name='attr_R_weapon_trained' checked />
<div class='sheet-equipment_ranged_weapons_gs27'>Hit Mod</div>
<input class='sheet-equipment_ranged_weapons_gs28 sheet-full_width' type='number' value='0' name='attr_R_weapon_mod1' />
<div class='sheet-equipment_ranged_weapons_gs29'>Reload</div>
<input class='sheet-equipment_ranged_weapons_gs30 sheet-full_width' type='text' value='0' name='attr_R_weapon_reload' />
<div class='sheet-equipment_ranged_weapons_gs31'>Weight</div>
<input class='sheet-equipment_ranged_weapons_gs32 sheet-full_width' type='text' value='0' name='attr_R_weapon_weight' />
</div>
<div class='sheet-equipment_ranged_weapons_grid5 sheet-collapsible_entity_toggle sheet-collapsible_entity_toggle_min sheet-collapsible_entity_toggle_half'>
<div class='sheet-equipment_ranged_weapons_gs33'>Domain</div>
<select class='sheet-equipment_ranged_weapons_gs34 sheet-full_width sheet-select_corection' name='attr_R_weapon_domain'>
<option value='-'>N/A</option>
<option value='Bolt'>Bolt</option>
<option value='Chain'>Chain</option>
<option value='Exotic'>Exotic</option>
<option value='Exotic (Graviton)'>Exotic (Graviton)</option>
<option value='Explosives'>Explosives</option>
<option value='Flame'>Flame</option>
<option value='Force'>Force</option>
<option value='Grenades/Missiles'>Grenades/Missiles</option>
<option value='Las'>Las</option>
<option value='Launcher'>Launcher</option>
<option value='Low-Tech'>Low-Tech</option>
<option value='Melta'>Melta</option>
<option value='Plasma'>Plasma</option>
<option value='Power'>Power</option>
<option value='Shock'>Shock</option>
<option value='Solid-Projectile'>Solid Projectile</option>
<option value='Varies'>Varies</option>
<option value='Xenos(Eldar)'>Xenos (Eldar)</option>
<option value='Xenos(Kroot)'>Xenos (Kroot)</option>
<option value='Xenos(Lost Races)'>Xenos (Lost Races)</option>
<option value='Xenos(Necron)'>Xenos (Necron)</option>
<option value='Xenos(Ork)'>Xenos (Ork)</option>
</select>
<div class='sheet-equipment_ranged_weapons_gs35'>Mishap Chance</div>
<select name='attr_R_weapon_mishap_chance' class='sheet-equipment_ranged_weapons_gs36 sheet-full_width sheet-select_corection'>
<option value='cs>90'>Unreliable (91)</option>
<option value='cs>93'>Burst/Auto (94)</option>
<option value='cs>95' selected='selected'>Standard (96)</option>
<option value='cs>99'>Reliable (100)</option>
<option value='cs11cs22cs33cs44cs55cs66cs77cs88cs99cs100'>Doubles</option>
<option value='cs>?{Mishap chance|96}'>Custom</option>
</select>
<div class='sheet-equipment_ranged_weapons_gs37'>Spray?</div>
<input class='sheet-equipment_ranged_weapons_gs38' type='checkbox' value='spray' name='attr_R_weapon_spray' />
<div class='sheet-equipment_ranged_weapons_gs39'>Carry?</div>
<input class='sheet-equipment_ranged_weapons_gs40' type='checkbox' value='1' name='attr_R_weapon_carry' />
</div>
<div class='sheet-collapsible_entity_toggle sheet-collapsible_entity_toggle_min sheet-collapsible_entity_toggle_half'>
<input name='attr_R_ability_r' type='text' placeholder='Special' class='sheet-full_width_49px sheet-border_none' />
<label title='Expand' class='sheet-margin_adjust_wep'><input type='checkbox' name='attr_collapse' value='3' class='sheet-collapsible_entity_switch sheet-select_button sheet-hidden' /><span class='sheet-select_text sheet-radius_border_right_wep'>&#9660;</span></label>
<label title='Send description in the chat' class='sheet-margin_adjust_wep2'><button type='roll' value='@{to-gm}&{template:mythic} {{name=@{R_weapon_name} }} {{description=@{R_ability_desc_r} }}' class='sheet-hidden'></button><span class='sheet-select_text'>&#128266;</span></label>
<input name='attr_collapse' type='checkbox' value='3' class='sheet-collapsible_entity_switch sheet-hidden' />
<textarea name='attr_R_ability_desc_r' class='sheet-collapsible_entity_block sheet-description_rounded_margin' placeholder='Description'></textarea>
</div>
</div>
</fieldset>
</div>
<div class='sheet-equipment_melee_weapons sheet-ssc'>
<h3 class='sheet-radius_border_top'>Melee Weapons</h3>
<datalist id="MeleeWeapons">
<option value="Chainaxe">Chain</option>
<option value="Chainblade">Chain</option>
<option value="Chainsword">Chain</option>
<option value="Eviscerator">Chain</option>
<option value="Brazier of Holy Fire">Flame</option>
<option value="Fire Gauntlets, Magnus Pattern">Flame</option>
<option value="Animus Hammer*">Force</option>
<option value="Force Hammer">Force</option>
<option value="Force Sword">Force</option>
<option value="Force Staff">Force</option>
<option value="Nemesis Daemon Hammer*">Force</option>
<option value="Sanctus Hammer*">Force</option>
<option value="Tempus Hammer*">Force</option>
<option value="Axe of Retribution">Low-Tech</option>
<option value="Flail of Chastisement">Low-Tech</option>
<option value="Great Weapon">Low-Tech</option>
<option value="Hunting Lance">Low-Tech</option>
<option value="Improvised Weapon">Low-Tech</option>
<option value="Knife">Low-Tech</option>
<option value="Man-Catcher">Low-Tech</option>
<option value="Praesidium Protectiva">Low Tech</option>
<option value="Rune Weapon (Sword)">Low-Tech</option>
<option value="Shield">Low-Tech</option>
<option value="Staff">Low-Tech</option>
<option value="Stealth Claw">Low-Tech</option>
<option value="Sword">Low-Tech</option>
<option value="Truncheon">Low-Tech</option>
<option value="Wailing Trident">Low-Tech</option>
<option value="Warhammer">Low-Tech</option>
<option value="Whip">Low-Tech</option>
<option value="Ebenus Hammer*">Power</option>
<option value="Ordo Malleus Power Glaive">Power</option>
<option value="Omnissian Axe">Power</option>
<option value="Power Fist*">Power</option>
<option value="Power Sword">Power</option>
<option value="Power Axe">Power</option>
<option value="Power Maul (High)">Power</option>
<option value="Power Maul (Low)">Power</option>
<option value="Power Shield">Power</option>
<option value="Power Stake">Power</option>
<option value="Thunder Hammer*">Power</option>
<option value="Electro-Flail">Shock</option>
<option value="Shock Maul">Shock</option>
<option value="Shock Whip">Shock</option>
<option value="Desoleum Power Blade">Xenos</option>
<option value="Ghostblade">Xenos</option>
<option value="Graviton Hammer">Xenos</option>
<option value="Silver Shield">Xenos</option>
<option value="Agoniser">Xenos</option>
<option value="Eldar Power Sword">Xenos</option>
<option value="Harlequin's Kiss*">Xenos</option>
<option value="Big Choppa">Xenos</option>
<option value="Burna (Melee)">Xenos</option>
<option value="Choppa">Xenos</option>
<option value="Cascade Lance (Melee)">Xenos</option>
<option value="Molecular Blade">Xenos</option>
<option value="Havatian Ringblade (Melee)">Xenos</option>
<option value="Talonblade">Xenos</option>
</datalist>
<fieldset name='meleeweapons' class='repeating_meleeweapons'>
<div class='sheet-equipment_melee_weapons_rep'>
<input name='attr_wep_display' type='checkbox' value='min' class='sheet-collapsible_entity_switch sheet-hidden' />
<input name='attr_wep_display' type='checkbox' value='half' class='sheet-collapsible_entity_switch_min sheet-hidden' />
<input name='attr_wep_display' type='checkbox' value='expand' class='sheet-collapsible_entity_switch_half sheet-hidden' />
<div class='sheet-equipment_weapon_rep_head'>
<div class='sheet-equipment_weapon_rep_h1'>
<label title='Min' class='sheet-wb1'><input type='checkbox' name='attr_wep_display' value='min' class='sheet-select_button sheet-hidden' /><span class='sheet-select_text'>&#128469;</span></label>
<label title='Half' class='sheet-wb2'><input type='checkbox' name='attr_wep_display' value='half' class='sheet-select_button sheet-hidden' /><span class='sheet-select_text'>&#128471;</span></label>
<label title='Expand' class='sheet-wb3'><input type='checkbox' name='attr_wep_display' value='expand' class='sheet-select_button sheet-hidden' /><span class='sheet-select_text'>&#128470;</span></label>
</div>
<h3 class='sheet-equipment_weapon_rep_h2'><span name='attr_M_weapon_name'></span></h3>
<button name='weapon_hit' class='sheet-equipment_weapon_rep_h3 sheet-full_width sheet-clear' type='roll' value='@{to-gm}&{template:mythic} {{character= @{character_name}}} {{attack= }}{{weapon= @{M_weapon_name}}}{{dos=[[[[1+ floor(abs([[{{ {@{M_weapon_target}+@{inlinemod-toggle}}, {@{wsTotal}-@{limiter}}}kh1, {@{wsTotal}+@{limiter}}}kl1]]-[[1d100]])/10)]]+ceil(@{WS_unnat}/2)]]}}{{target= $[[0]]}}{{roll= $[[1]]}}{{dof= $[[2]]}}@{settings_hitroll} {{aim= [[@{M_weapon_aim}]]}}{{M_type= [[@{M_weapon_attack}]]}}{{multi= [[@{M_weapon_multi}]]}}{{modifier= [[@{inlinemod-toggle}]]}}{{skill_name= Weapon}}{{skill=[[@{WS}]]}}{{advancement=[[@{WS_advancement}]]}}{{weaponmod=[[@{M_weapon_mod1}]]}}{{trained=[[@{M_weapon_trained}]]}}{{WS_bonus=[[@{wsB}]]}}'>Hit
|<input name='attr_M_weapon_target' value='@{wsTotal}+@{M_weapon_trained}-20+@{M_weapon_mod1}+@{M_weapon_attack}+@{M_weapon_aim}+@{M_weapon_multi}' class='sheet-input_background sheet-input_char_background' disabled ></button>
<button name='weapon_dmg' class='sheet-equipment_weapon_rep_h4 sheet-full_width sheet-clear' type='roll' value='@{to-gm}&{template:mythic} {{character= @{character_name}}} {{weapon= @{M_weapon_name}}} {{type= @{M_weapon_type}}} {{damage=[[@{M_weapon_real_dmg}+[[floor((@{strTotal})/10) + @{str_unnat}]]]] }} {{pen= [[@{M_weapon_pen}]] }} {{@{settings_weapondescription}=@{M_ability_r} }}'>DMG</button>
</div>
<div class='sheet-equipment_melee_weapons_grid0 sheet-collapsible_entity_toggle'>
<select name='attr_M_weapon_aim' class='sheet-equipment_melee_weapons_gs01 sheet-full_width sheet-clear sheet-select_corection'>
<option value='0' selected='selected'>No Aim (+0)</option>
<option value='10'>Half Aim (+10)</option>
<option value='20'>Full Aim (+20)</option>
</select>
<select name='attr_M_weapon_attack' class='sheet-equipment_melee_weapons_gs02 sheet-full_width sheet-clear sheet-select_corection'>
<option value='-20'>Called Shot (-20)</option>
<option value='10' selected='selected'>Standard (+10)</option>
<option value='20'>Charge (+20)</option>
<option value='30'>All Out (+30)</option>
</select>
<select name='attr_M_weapon_multi' class='sheet-equipment_melee_weapons_gs03 sheet-full_width sheet-clear sheet-select_corection'>
<option value='0' selected='selected'>Standard (-0)</option>
<option value='-10'>Swift (-10)</option>
<option value='-20'>Lighting (-20)</option>
</select>
</div>
<div class='sheet-equipment_melee_weapons_grid1 sheet-collapsible_entity_toggle sheet-collapsible_entity_toggle_min'>
<div class='sheet-equipment_melee_weapons_gs1'>Name</div>
<input class='sheet-equipment_melee_weapons_gs2 sheet-full_width' type='text' name='attr_M_weapon_name' />
<!-- list="MeleeWeapons" -->
<div class='sheet-equipment_melee_weapons_gs3'>Class</div>
<select class='sheet-equipment_melee_weapons_gs4 sheet-full_width sheet-select_corection' name='attr_R_weapon_class'>
<option value='-'>N/A</option>
<option value='Basic'>Basic</option>
<option value='Heavy'>Heavy</option>
<option value='Melee'>Melee</option>
<option value='Pistol'>Pistol</option>
<option value='Thrown'>Thrown</option>
</select>
</div>
<div class='sheet-equipment_melee_weapons_grid2 sheet-collapsible_entity_toggle sheet-collapsible_entity_toggle_min'>
<div class='sheet-equipment_melee_weapons_gs5'>Reach</div>
<input class='sheet-equipment_melee_weapons_gs6 sheet-full_width' type='text' name='attr_M_weapon_reach' />
<div class='sheet-equipment_melee_weapons_gs7'>Damage</div>
<input class='sheet-equipment_melee_weapons_gs8 sheet-full_width' type='text' value='0' name='attr_M_weapon_dam-roll' />
<div class='sheet-equipment_melee_weapons_gs9'>Pen</div>
<input class='sheet-equipment_melee_weapons_gs10 sheet-full_width' type='text' value='0' name='attr_M_weapon_pen' />
<div class='sheet-equipment_melee_weapons_gs11'>Type</div>
<select class='sheet-equipment_melee_weapons_gs12 sheet-full_width sheet-select_corection' name='attr_M_weapon_type'>
<option value='-'>N/A</option>
<option value='Energy'>Energy</option>
<option value='Impact'>Impact</option>
<option value='Rending'>Rending</option>
<option value='Explosive'>Explosive</option>
</select>
</div>
<div class='sheet-equipment_melee_weapons_grid2a sheet-collapsible_entity_toggle sheet-collapsible_entity_toggle_min sheet-collapsible_entity_toggle_half'>
<div class='sheet-equipment_melee_weapons_gs06'>Primitive</div>
<input class='sheet-equipment_melee_weapons_gs07 sheet-full_width' type='number' value='0' name='attr_M_weapon_max' />
<div class='sheet-equipment_melee_weapons_gs08'>Proven</div>
<input class='sheet-equipment_melee_weapons_gs09 sheet-full_width' type='number' value='0' name='attr_M_weapon_min' />
<div class='sheet-equipment_melee_weapons_gs010'>Vengeful</div>
<input class='sheet-equipment_melee_weapons_gs011 sheet-full_width' type='number' value='0' name='attr_M_weapon_vengeful' />
<input type='hidden' value='' name='attr_M_weapon_real_dmg' />
</div>
<div class='sheet-equipment_melee_weapons_grid3 sheet-collapsible_entity_toggle sheet-collapsible_entity_toggle_min sheet-collapsible_entity_toggle_half'>
<div class='sheet-equipment_melee_weapons_gs13'>Trained?</div>
<input class='sheet-equipment_melee_weapons_gs14' type='checkbox' value='20' name='attr_M_weapon_trained' checked />
<div class='sheet-equipment_melee_weapons_gs15'>Hit Mod</div>
<input class='sheet-equipment_melee_weapons_gs16 sheet-full_width' type='number' value='0' name='attr_M_weapon_mod1' />
<div class='sheet-equipment_melee_weapons_gs17'>Weight</div>
<input class='sheet-equipment_melee_weapons_gs18 sheet-full_width' type='text' value='0' name='attr_M_weapon_weight' />
<div class='sheet-equipment_melee_weapons_gs19'>Domain</div>
<select class='sheet-equipment_melee_weapons_gs20 sheet-full_width sheet-select_corection' name='attr_R_weapon_domain'>
<option value='-'>N/A</option>
<option value='Bolt'>Bolt</option>
<option value='Chain'>Chain</option>
<option value='Exotic'>Exotic</option>
<option value='Exotic (Graviton)'>Exotic (Graviton)</option>
<option value='Explosives'>Explosives</option>
<option value='Flame'>Flame</option>
<option value='Force'>Force</option>
<option value='Grenades/Missiles'>Grenades/Missiles</option>
<option value='Las'>Las</option>
<option value='Launcher'>Launcher</option>
<option value='Low-Tech'>Low-Tech</option>
<option value='Melta'>Melta</option>
<option value='Plasma'>Plasma</option>
<option value='Power'>Power</option>
<option value='Shock'>Shock</option>
<option value='Solid-Projectile'>Solid Projectile</option>
<option value='Varies'>Varies</option>
<option value='Xenos(Eldar)'>Xenos (Eldar)</option>
<option value='Xenos(Kroot)'>Xenos (Kroot)</option>
<option value='Xenos(Lost Races)'>Xenos (Lost Races)</option>
<option value='Xenos(Necron)'>Xenos (Necron)</option>
<option value='Xenos(Ork)'>Xenos (Ork)</option>
</select>
<div class='sheet-equipment_melee_weapons_gs21'>Carry?</div>
<input class='sheet-equipment_melee_weapons_gs22' type='checkbox' value='1' name='attr_M_weapon_carry' />
</div>
<div class='sheet-collapsible_entity_toggle sheet-collapsible_entity_toggle_min sheet-collapsible_entity_toggle_half'>
<input name='attr_M_ability_r' type='text' placeholder='Special' class='sheet-full_width_49px sheet-border_none' />
<label title='Expand' title='Expand' class='sheet-margin_adjust_wep'><input type='checkbox' name='attr_collapse' value='3' class='sheet-collapsible_entity_switch sheet-select_button sheet-hidden' /><span class='sheet-select_text sheet-radius_border_right_wep'>&#9660;</span></label>
<label title='Send description in the chat' class='sheet-margin_adjust_wep2'><button type='roll' value='@{to-gm}&{template:mythic} {{name=@{M_weapon_name} }} {{description=@{M_ability_desc_r} }}' class='sheet-hidden'></button><span class='sheet-select_text'>&#128266;</span></label>
<input name='attr_collapse' type='checkbox' value='3' class='sheet-collapsible_entity_switch sheet-hidden' />
<textarea name='attr_M_ability_desc_r' class='sheet-collapsible_entity_block sheet-description_rounded_margin' placeholder='Description'></textarea>
</div>
</div>
</fieldset>
</div>
<div class='sheet-equipment_numerics sheet-text_centered'>
Carry Capacity: <input name='attr_carry' type='number' class='sheet-numerical_field' readonly />
Weight Calculation: <input name='attr_weight_total' type='number' class='sheet-numerical_field sheet-end_field' step='any' readonly> kilograms</input>
<input type='number' name='attr_M_weapon_weight_T' class='sheet-hidden'>
<input type='number' name='attr_R_weapon_weight_T' class='sheet-hidden'>
</div>
</div>
<br>
<div class='sheet-equipment_tabs'>
<input name='attr_equipmentTab' type='checkbox' value='all' class='sheet-hidden sheet-core_button' checked />
<button name='act_inv_all' type='action' class='sheet-inventory_tab sheet-bold_text'>All</button>
<input name='attr_equipmentTab' type='checkbox' value='weapon' class='sheet-hidden sheet-core_button' checked />
<button name='act_inv_weapon' type='action' class='sheet-inventory_tab sheet-bold_text'>Weapons</button>
<input name='attr_equipmentTab' type='checkbox' value='armour' class='sheet-hidden sheet-core_button' />
<button name='act_inv_armour' type='action' class='sheet-inventory_tab sheet-bold_text'>Armour</button>
<input name='attr_equipmentTab' type='checkbox' value='gear' class='sheet-hidden sheet-core_button' />
<button name='act_inv_gear' type='action' class='sheet-inventory_tab sheet-bold_text'>Gears</button>
<input name='attr_equipmentTab' type='checkbox' value='tool' class='sheet-hidden sheet-core_button' />
<button name='act_inv_tool' type='action' class='sheet-inventory_tab sheet-bold_text'>Tools</button>
<input name='attr_equipmentTab' type='checkbox' value='consumables' class='sheet-hidden sheet-core_button' />
<button name='act_inv_consumables' type='action' class='sheet-inventory_tab sheet-bold_text'>Consumables</button>
<input name='attr_equipmentTab' type='checkbox' value='ammo' class='sheet-hidden sheet-core_button' />
<button name='act_inv_ammo' type='action' class='sheet-inventory_tab sheet-bold_text'>Ammos</button>
<input name='attr_equipmentTab' type='checkbox' value='cyberntic' class='sheet-hidden sheet-core_button' />
<button name='act_inv_cyberntic' type='action' class='sheet-inventory_tab sheet-bold_text'>Cybernetics</button>
<input name='attr_equipmentTab' type='checkbox' value='other' class='sheet-hidden sheet-core_button' checked />
<button name='act_inv_other' type='action' class='sheet-inventory_tab sheet-bold_text'>Others</button>
</div>
<div class='sheet-equipment_gear sheet-equipment_header'>
<div class='sheet-equipment_gear_gs0'>Carry</div>
<div class='sheet-equipment_gear_gs1'>Gear / Item Name</div>
<div class='sheet-equipment_gear_gs2'>Craftsmanship</div>
<div class='sheet-equipment_gear_gs3'>Quantity</div>
<div class='sheet-equipment_gear_gs4'>Availability</div>
<div class='sheet-equipment_gear_gs5'>Weight</div>
<div class='sheet-equipment_gear_gs6'>Type</div>
</div>
<input type="hidden" name='attr_equipmentTab' class='sheet-sortInventory' value='all'>
<fieldset name='gear' class='repeating_gear'>
<input type="hidden" name='attr_gear_type_r' value='other'>
<div class='sheet-equipment_gear'>
<input name='attr_gear_carry_r' type='checkbox' class='sheet-equipment_gear_gs0' value='1' checked />
<input name='attr_gear_name_r' type='text' placeholder='Gear / Item Name' class='sheet-equipment_gear_gs1' value='New Item' />
<input name='attr_gear_crafts_r' type='text' value='Common' class='sheet-equipment_gear_gs2' />
<input name='attr_gear_quantity_r' type='text' value='1' placeholder='Amount' class='sheet-equipment_gear_gs3' />
<input name='attr_gear_avail_r' type='text' placeholder='Availability' class='sheet-equipment_gear_gs4' />
<input name='attr_gear_weight_r' type='text' value='0' class='sheet-equipment_gear_gs5' />
<input type="hidden" name="attr_gear_type_r" value="@{equipmentTab}">
<select name='attr_gear_type_r' type='text' class='sheet-equipment_gear_gs6 sheet-select_corection'>
<option value='weapon'>Weapon</option>
<option value='armour'>Armour</option>
<option value='gear'>Gear</option>
<option value='tool'>Tool</option>
<option value='consumables'>Consumables</option>
<option value='ammo'>Ammo</option>
<option value='cyberntic'>Cybernetic</option>
<option value='other' selected>Other</option>
</select>
<label title='Expand' class='sheet-margin_adjust sheet-equipment_gear_gs7'><input type='checkbox' name='attr_collapse_r' value='2' class='sheet-collapsible_entity_switch sheet-select_button sheet-hidden' /><span class='sheet-select_text'>&#9660;</span></label>
</div>
<input name='attr_collapse_r' type='checkbox' value='2' class='sheet-collapsible_entity_switch sheet-hidden' />
<textarea name='attr_ability_desc_r' class='sheet-collapsible_entity_block sheet-auto_margin sheet-90width'></textarea>
</fieldset>
<br>
<div class='sheet-equipment_armor_grid'>
<div class='sheet-equipment_armor_gs1 sheet-radius_border'>
<h3 class='sheet-radius_border_top'>Armor Display</h3>
<div class='sheet-armor_display_grid1'>
<div class='sheet-armor_display_gs1'>
<div class='sheet-armor_border sheet-equipment_armor_input'>
<p><b>Head</b></p>
<input name='attr_armor_head' type='number' value='0' />
<p><b>(1-10)</b></p>
<input name='attr_soak_head' type='number' readonly' />
</div>
</div>
<div class='sheet-armor_display_gs0'>
<div class='sheet-armor_border sheet-equipment_armor_input'>
<p><b>Max AGI</b></p>
<input name='attr_armor_AGI' type='number' value='0' />
<p><b>Armor Cap</b>
<input type="checkbox" name="attr_armor_limit" value="1"></p>
</div>
</div>
<div class='sheet-armor_display_gs2'>
<div class='sheet-armor_border sheet-equipment_armor_input'>
<p><b>Arm R</b></p>
<input name='attr_armor_arm_right' type='number' value='0' />
<p><b>(11-20)</b></p>
<input name='attr_soak_arm_right' type='number' readonly' />
</div>
</div>
<div class='sheet-armor_display_gs3'>
<div class='sheet-armor_border sheet-equipment_armor_input'>
<p><b>Body</b></p>
<input name='attr_armor_body' type='number' value='0' />
<p><b>(31-70)</b></p>
<input name='attr_soak_body' type='number' readonly' />
</div>
</div>
<div class='sheet-armor_display_gs4'>
<div class='sheet-armor_border sheet-equipment_armor_input'>
<p><b>Arm L</b></p>
<input name='attr_armor_arm_left' type='number' value='0' />
<p><b>(21-30)</b></p>
<input name='attr_soak_arm_left' type='number' readonly' />
</div>
</div>
</div>
<br />
<br />
<div class='sheet-armor_display_grid2'>
<div class='sheet-armor_display_gs5'>
<div class='sheet-armor_border sheet-equipment_armor_input'>
<p><b>Leg R</b></p>
<input name='attr_armor_leg_right' type='number' value='0' />
<p><b>(71-85)</b></p>
<input name='attr_soak_leg_right' type='number' readonly' />
</div>
</div>
<div class='sheet-armor_display_gs6'>
<div class='sheet-armor_border sheet-equipment_armor_input'>
<p><b>Leg L</b></p>
<input name='attr_armor_leg_left' type='number' value='0' />
<p><b>(86-00)</b></p>
<input name='attr_soak_leg_left' type='number' readonly' />
</div>
</div>
</div>
</div>
<div class='sheet-equipment_armor_gs2 sheet-radius_border'>
<h3 class='sheet-radius_border_top'>Cybernetics</h3>
<div>
<div class='sheet-equipment_cybernetics_grid sheet-equipment_titles'>
<p class='sheet-bold_text sheet-equipment_titles'>Name</p>
<p class='sheet-bold_text sheet-equipment_titles'>Location</p>
<p class='sheet-bold_text sheet-equipment_titles'>Pg#</p>
</div>
<div class='sheet-equipment_cybernetics_grid'>
<input class='sheet-full_width' type='text' name='attr_cybernetic_name' placeholder='Name'>
<input class='sheet-full_width' type='text' name='attr_cybernetic_location' placeholder='Location'>
<input class='sheet-full_width' type='text' name='attr_cybernetic_page' placeholder='Pg#'>
</div>
<label title='Expand' class='sheet-margin_adjust'><input type='checkbox' name='attr_collapse' value='8' class='sheet-collapsible_entity_switch sheet-select_button sheet-hidden' /><span class='sheet-select_text'>&#9660;</span></label>
<label title='Send description in the chat' class='sheet-margin_adjust2'><button type='roll' value='@{to-gm}&{template:mythic} {{name=@{cybernetic_name} }} {{description=@{cybernetic_desc} }}' class='sheet-hidden'></button><span class='sheet-select_text'>&#128266;</span></label>
<input name='attr_collapse' type='checkbox' value='8' class='sheet-collapsible_entity_switch sheet-hidden' />
<textarea name='attr_cybernetic_desc' placeholder='In the event that the Character is subject to biomechanical augmentation by the will of the Omnissiah, installed cybernetics can be described here.' class='sheet-collapsible_entity_block'></textarea>
</div>
<fieldset name='cybernetics' class='repeating_cybernetics'>
<div>
<div class='sheet-equipment_cybernetics_grid'>
<input class='sheet-full_width' type='text' name='attr_cybernetic_name_r' placeholder='Name'>
<input class='sheet-full_width' type='text' name='attr_cybernetic_location_r' placeholder='Location'>
<input class='sheet-full_width' type='text' name='attr_cybernetic_page_r' placeholder='Pg#'>
</div>
<label title='Expand' class='sheet-margin_adjust'><input type='checkbox' name='attr_collapse' value='8' class='sheet-collapsible_entity_switch sheet-select_button sheet-hidden' /><span class='sheet-select_text'>&#9660;</span></label>
<label title='Send description in the chat' class='sheet-margin_adjust2'><button type='roll' value='@{to-gm}&{template:mythic} {{name=@{cybernetic_name_r} }} {{description=@{cybernetic_desc_r} }}' class='sheet-hidden'></button><span class='sheet-select_text'>&#128266;</span></label>
<input name='attr_collapse' type='checkbox' value='8' class='sheet-collapsible_entity_switch sheet-hidden' />
<textarea name='attr_cybernetic_desc_r' class='sheet-collapsible_entity_block'></textarea>
</div>
</fieldset>
<br>
<h3 class='sheet-radius_border_top'>Armor Description</h3>
<textarea name='attr_armor_name'></textarea>
</div>
</div>
</div>
<!-- start of tab Advancements -->
<div class='sheet-tab_advancements sheet-box sheet-radius_border_box sheet-ssc'>
<h2>Experience Summary</h2>
<div class='sheet-text_centered'>
Unspent XP: <input name='attr_xp_current' type='number' value='@{xp_total}-@{xp_spent}' class='sheet-numerical_field' readonly />
Spent XP: <input name='attr_xp_spent' type='number' value='@{xp_total}-(@{advancement_costL}+@{advancement_costR})' class='sheet-numerical_field' readonly />
XP Total: <input name='attr_xp_total' type='number' class='sheet-numerical_field sheet-end_field' />
</div>
<br />
<datalist id="Aptitudes">
<option value="Agility">
<option value="Ballistic Skill">
<option value="Conviction">
<option value="Defence">
<option value="Fellowship">
<option value="Fieldcraft">
<option value="Finesse">
<option value="General">
<option value="Intelligence">
<option value="Knowledge">
<option value="Leadership">
<option value="Offence">
<option value="Perception">
<option value="Social">
<option value="Strength">
<option value="Tech">
<option value="Toughness">
<option value="Weapon Skill">
<option value="Willpower">
</datalist>
<div class='sheet-ssc sheet-auto_margin sheet-90width'>
<h3 class='sheet-radius_border_top'>Aptitudes</h3>
<div class='sheet-aptitudes_grid'>
<input class='' name='attr_aptitude_1' type='text' list="Aptitudes" />
<input class='' name='attr_aptitude_2' type='text' list="Aptitudes" />
<input class='' name='attr_aptitude_3' type='text' list="Aptitudes" />
<input class='' name='attr_aptitude_4' type='text' list="Aptitudes" />
<input class='' name='attr_aptitude_5' type='text' list="Aptitudes" />
<input class='' name='attr_aptitude_6' type='text' list="Aptitudes" />
<input class='' name='attr_aptitude_7' type='text' list="Aptitudes" />
<input class='' name='attr_aptitude_8' type='text' list="Aptitudes" />
<input class='' name='attr_aptitude_9' type='text' list="Aptitudes" />
</div>
</div>
<br />
<datalist id="Advances">
<option value="Weapon Skill:+5">
<option value="Weapon Skill:+10">
<option value="Weapon Skill:+15">
<option value="Weapon Skill:+20">
<option value="Weapon Skill:+25">
<option value="Weapon Skill:+30">
<option value="Ballistic Skill:+5">
<option value="Ballistic Skill:+10">
<option value="Ballistic Skill:+15">
<option value="Ballistic Skill:+20">
<option value="Ballistic Skill:+25">
<option value="Ballistic Skill:+30">
<option value="Strength:+5">
<option value="Strength:+10">
<option value="Strength:+15">
<option value="Strength:+20">
<option value="Strength:+25">
<option value="Strength:+30">
<option value="Toughness:+5">
<option value="Toughness:+10">
<option value="Toughness:+15">
<option value="Toughness:+20">
<option value="Toughness:+25">
<option value="Toughness:+30">
<option value="Agility:+5">
<option value="Agility:+10">
<option value="Agility:+15">
<option value="Agility:+20">
<option value="Agility:+25">
<option value="Agility:+30">
<option value="Intelligence:+5">
<option value="Intelligence:+10">
<option value="Intelligence:+15">
<option value="Intelligence:+20">
<option value="Intelligence:+25">
<option value="Intelligence:+30">
<option value="Perception:+5">
<option value="Perception:+10">
<option value="Perception:+15">
<option value="Perception:+20">
<option value="Perception:+25">
<option value="Perception:+30">
<option value="Willpower:+5">
<option value="Willpower:+10">
<option value="Willpower:+15">
<option value="Willpower:+20">
<option value="Willpower:+25">
<option value="Willpower:+30">
<option value="Fellowship:+5">
<option value="Fellowship:+10">
<option value="Fellowship:+15">
<option value="Fellowship:+20">
<option value="Fellowship:+25">
<option value="Fellowship:+30">
<option value="Acrobatics:Known">
<option value="Acrobatics:+10">
<option value="Acrobatics:+20">
<option value="Acrobatics:+30">
<option value="Athletics: Known">
<option value="Athletics:+10">
<option value="Athletics:+20">
<option value="Athletics:+30">
<option value="Awareness:Known">
<option value="Awareness:+10">
<option value="Awareness:+20">
<option value="Awareness:+30">
<option value="Charm:Known">
<option value="Charm:+10">
<option value="Charm:+20">
<option value="Charm:+30">
<option value="Command:Known">
<option value="Command:+10">
<option value="Command:+20">
<option value="Command:+30">
<option value="Commerce:Known">
<option value="Commerce:+10">
<option value="Commerce:+20">
<option value="Commerce:+30">
<option value="Common Lore X:Known">
<option value="Common Lore X:+10">
<option value="Common Lore X:+20">
<option value="Common Lore X:+30">
<option value="Deceive:Known">
<option value="Deceive:+10">
<option value="Deceive:+20">
<option value="Deceive:+30">
<option value="Dodge:Known">
<option value="Dodge:+10">
<option value="Dodge:+20">
<option value="Dodge:+30">
<option value="Forbidden Lore X:Known">
<option value="Forbidden Lore X:+10">
<option value="Forbidden Lore X:+20">
<option value="Forbidden Lore X:+30">
<option value="Inquiry:Known">
<option value="Inquiry:+10">
<option value="Inquiry:+20">
<option value="Inquiry:+30">
<option value="Interrogation:Known">
<option value="Interrogation:+10">
<option value="Interrogation:+20">
<option value="Interrogation:+30">
<option value="Intimidate:Known">
<option value="Intimidate:+10">
<option value="Intimidate:+20">
<option value="Intimidate:+30">
<option value="Linguistics X:Known">
<option value="Linguistics X:+10">
<option value="Linguistics X:+20">
<option value="Linguistics X:+30">
<option value="Logic:Known">
<option value="Logic:+10">
<option value="Logic:+20">
<option value="Logic:+30">
<option value="Medicae:Known">
<option value="Medicae:+10">
<option value="Medicae:+20">
<option value="Medicae:+30">
<option value="Navigate X:Known">
<option value="Navigate X:+10">
<option value="Navigate X:+20">
<option value="Navigate X:+30">
<option value="Operate X:Known">
<option value="Operate X:+10">
<option value="Operate X:+20">
<option value="Operate X:+30">
<option value="Parry:Known">
<option value="Parry:+10">
<option value="Parry:+20">
<option value="Parry:+30">
<option value="Psyniscience:Known">
<option value="Psyniscience:+10">
<option value="Psyniscience:+20">
<option value="Psyniscience:+30">
<option value="Scholastic Lore X:Known">
<option value="Scholastic Lore X:+10">
<option value="Scholastic Lore X:+20">
<option value="Scholastic Lore X:+30">
<option value="Scrutiny:Known">
<option value="Scrutiny:+10">
<option value="Scrutiny:+20">
<option value="Scrutiny:+30">
<option value="Security:Known">
<option value="Security:+10">
<option value="Security:+20">
<option value="Security:+30">
<option value="Sleight of Hand:Known">
<option value="Sleight of Hand:+10">
<option value="Sleight of Hand:+20">
<option value="Sleight of Hand:+30">
<option value="Stealth:Known">
<option value="Stealth:+10">
<option value="Stealth:+20">
<option value="Stealth:+30">
<option value="Survival:Known">
<option value="Survival:+10">
<option value="Survival:+20">
<option value="Survival:+30">
<option value="Tech-Use:Known">
<option value="Tech-Use:+10">
<option value="Tech-Use:+20">
<option value="Tech-Use:+30">
<option value="Trade X:Known">
<option value="Trade X:+10">
<option value="Trade X:+20">
<option value="Trade X:+30">
<option value="Ambidextrous">
<option value="Blind Fighting">
<option value="Bodyguard">
<option value="Catfall">
<option value="Clues from the Crowds">
<option value="Die Hard">
<option value="Disarm">
<option value="Double Team">
<option value="Enemy X">
<option value="Ferric Summons">
<option value="Flagellant">
<option value="Frenzy">
<option value="Grenadier">
<option value="Iron Jaw">
<option value="Jaded">
<option value="Keen Intuition">
<option value="Leap Up">
<option value="Leaping Dodge">
<option value="Mounted Warrior Melee">
<option value="Mounted Warrior Ranged">
<option value="Nowhere to Hide">
<option value="Peer X">
<option value="Quick Draw">
<option value="Rapid Reload">
<option value="Resistance X">
<option value="Skilled Rider">
<option value="Sound Constitution">
<option value="Takedown">
<option value="Technical Knock">
<option value="Warp Sense">
<option value="Weapon Training X">
<option value="Weapon-Tech">
<option value="Ambassador Imperialis">
<option value="Archivator">
<option value="Armor-Monger">
<option value="Battle Rage">
<option value="Bulging Biceps">
<option value="Bulwark of Faith">
<option value="Combat Master">
<option value="Constant Vigilance X">
<option value="Contact Network">
<option value="Coordinated Interrogation">
<option value="Counter Attack">
<option value="Cover-Up">
<option value="Daemonhunter">
<option value="Daemonologist">
<option value="Deny the Witch">
<option value="Devastating Assault">
<option value="Double Tap">
<option value="Exotic Weapon Training">
<option value="Face in a Crowd">
<option value="Field Vivisection Melee">
<option value="Field Vivisection Ranged">
<option value="Hard Target">
<option value="Harden Soul">
<option value="Hardy">
<option value="Hatred X">
<option value="Hip Shooting">
<option value="Hotshot Pilot">
<option value="Independent Targeting">
<option value="Inescapable Attack Melee">
<option value="Inescapable Attack Ranged">
<option value="Inspiring Aura">
<option value="Iron Resolve">
<option value="Killing Strike">
<option value="Lexographer">
<option value="Luminen Shock">
<option value="Maglev Transcendence">
<option value="Marksman">
<option value="Mechadendrite Use X">
<option value="One-on-One">
<option value="Penitent Psyker">
<option value="Precision Killer Melee">
<option value="Precision Killer Ranged">
<option value="Prosanguine">
<option value="Purity of Hatred">
<option value="Rites of Banishment">
<option value="Strong Minded">
<option value="Swift Attack">
<option value="Tainted Psyker">
<option value="Two-Weapon Wielder Melee">
<option value="Two-Weapon Wielder Ranged">
<option value="Unarmed Specialist">
<option value="Warp Conduit">
<option value="Whirlwind of Death">
<option value="Witch Finder">
<option value="Xenosavant">
<option value="Adamantium Faith">
<option value="Aegis of Contempt">
<option value="Assassin Strike">
<option value="Bastion of Iron Will">
<option value="Blademaster">
<option value="Crushing Blow">
<option value="Daemonic Disruption">
<option value="Dark Soul">
<option value="Deathdealer">
<option value="Delicate Interrogation">
<option value="Divine Protection">
<option value="Eye of Vengeance">
<option value="Favored by the Warp">
<option value="Flash of Insight">
<option value="Halo of Command">
<option value="Hammer Blow">
<option value="Hull Down">
<option value="Indomitable Conviction">
<option value="Infused Knowledge">
<option value="Instrument of His Will">
<option value="Into the Jaws of Hell">
<option value="Iron Faith">
<option value="Lightning Attack">
<option value="Luminen Blast">
<option value="Mastery X">
<option value="Mighty Shot">
<option value="Never Die">
<option value="Preternatural Speed">
<option value="Push the Limit">
<option value="Sanctic Purity">
<option value="Shield Wall">
<option value="Sprint">
<option value="Step Aside">
<option value="Superior Chirurgeon">
<option value="Target Selection">
<option value="Thunder Charge">
<option value="True Grit">
<option value="Two-Weapon Master">
<option value="Warp Lock">
<option value="Weapon Intuition">
</datalist>
<div class='sheet-advancements_grid sheet-equipment_header'>
<div class='sheet-advancements_grid_gs1'>Name</div>
<div class='sheet-advancements_grid_gs2'>XP Cost</div>
<div class='sheet-advancements_grid_gs3'>Page #</div>
<div class='sheet-advancements_grid_gs4'>Name</div>
<div class='sheet-advancements_grid_gs5'>XP Cost</div>
<div class='sheet-advancements_grid_gs6'>Page #</div>
<div class='sheet-advancements_grid_gs7'></div>
</div>
<fieldset name='advancements' class='repeating_advancements'>
<div class='sheet-advancements_grid'>
<input class='sheet-advancements_grid_gs1' name='attr_advancement_nameL_r' type='text' list='Advances' placeholder='Write XP-costing item name here' />
<input class='sheet-advancements_grid_gs2' name='attr_advancement_costL_r' type='number' placeholder='XP Cost' />
<input class='sheet-advancements_grid_gs3' name='attr_advancement_pg#L_r' type='text' placeholder='Page #' />
<input class='sheet-advancements_grid_gs4' name='attr_advancement_nameR_r' type='text' list='Advances' placeholder='Write XP-costing item name here' />
<input class='sheet-advancements_grid_gs5' name='attr_advancement_costR_r' type='number' placeholder='XP Cost' />
<input class='sheet-advancements_grid_gs6' name='attr_advancement_pg#R_r' type='text' placeholder='Page #' />
<label title='Expand' class='sheet-advancements_grid_gs7'><input type='checkbox' name='attr_collapse' value='2' class='sheet-collapsible_entity_switch sheet-select_button sheet-hidden'><span class='sheet-select_text'>&#9660;</span></label>
</div>
<input name='attr_collapse' type='checkbox' value='2' class='sheet-collapsible_entity_switch sheet-hidden' />
<textarea name='attr_advancement_desc_r' placeholder='Unfortunately, one text box will have to suffice for descriptions of both Items above.' class='sheet-collapsible_entity_block sheet-auto_margin sheet-90width'></textarea>
</fieldset>
<div class='sheet-training sheet-ssc sheet-auto_margin sheet-90width'>
<h3 class='sheet-radius_border_top'>Weapon Training</h3>
<div class='sheet-weapon_training_grid'>
<div><input name='attr_weapons_training_bolt' type='checkbox' />Bolt</div>
<div><input name='attr_weapons_training_chain' type='checkbox' />Chain</div>
<div><input name='attr_weapons_training_flame' type='checkbox' />Flame</div>
<div><input name='attr_weapons_training_las' type='checkbox' />Las</div>
<div><input name='attr_weapons_training_launcher' type='checkbox' />Launcher</div>
<div><input name='attr_weapons_training_melta' type='checkbox' />Melta</div>
<div><input name='attr_weapons_training_plasma' type='checkbox' />Plasma</div>
<div><input name='attr_weapons_training_power' type='checkbox' />Power</div>
<div><input name='attr_weapons_training_low-tech' type='checkbox' />Low-Tech</div>
<div><input name='attr_weapons_training_shock' type='checkbox' />Shock</div>
<div><input name='attr_weapons_training_solid-projectile' type='checkbox' />Solid Projectile</div>
<div><input name='attr_weapons_training_heavy' type='checkbox' />Heavy</div>
</div>
</div>
</div>
<!-- start of tab Journal -->
<div class='sheet-tab_journal sheet-box sheet-radius_border_box'>
<!-- Insanity and Corruption -->
<!-- Make repeating sections take place outside of any CSS Grids to allow them to extend the page. -->
<div class='sheet-insanity_corruption_divider'>
<div class='sheet-insanity_side sheet-ssc'>
<h3 class='sheet-radius_border_top'>Insanity</h3>
<div class='sheet-insanity_info'>
<input class='sheet-insanity_gs1' type='number' name='attr_insanity_pts' value='0' />
<input class='sheet-insanity_gs2' type='text' name='attr_insanity_degree' readonly />
<div class='sheet-insanity_gs3'>Disorders</div>
</div>
<div>
<fieldset name="disorders" class='repeating_disorders sheet-full_width sheet-border_none'>
<input name='attr_disorder_r' type='text' placeholder='Disorder Name' class='sheet-full_width_49px' />
<label title='Expand' class='sheet-margin_adjust'><input type='checkbox' name='attr_collapse' value='3' class='sheet-collapsible_entity_switch sheet-select_button sheet-hidden' /><span class='sheet-select_text '>&#9660;</span></label>
<label title='Send description in the chat' class='sheet-margin_adjust2'><button type='roll' value='@{to-gm}&{template:mythic} {{name=@{disorder_r} }} {{description=@{disorder_desc_r} }}' class='sheet-hidden'></button><span class='sheet-select_text'>&#128266;</span></label>
<input name='attr_collapse' type='checkbox' value='3' class='sheet-collapsible_entity_switch sheet-hidden' />
<textarea name='attr_disorder_desc_r' class='sheet-collapsible_entity_block'></textarea>
</fieldset>
</div>
</div>
<div class='sheet-corruption_side sheet-ssc'>
<h3 class='sheet-radius_border_top'>Corruption</h3>
<div class='sheet-corruption_info'>
<input class='sheet-corruption_gs1' type='number' name='attr_corruption_pts' value='0' />
<input class='sheet-corruption_gs2' type='text' name='attr_corruption_degree' readonly />
<div class='sheet-corruption_gs3'>Malignancies and Mutations</div>
</div>
<div>
<fieldset name='mutations' class='repeating_mutations'>
<input name='attr_mutation_r' type='text' placeholder='Malignancy or Mutation Name' class='sheet-full_width_49px' />
<label title='Expand' class='sheet-margin_adjust'><input type='checkbox' name='attr_collapse' value='3' class='sheet-collapsible_entity_switch sheet-select_button sheet-hidden' /><span class='sheet-select_text '>&#9660;</span></label>
<label title='Send description in the chat' class='sheet-margin_adjust2'><button type='roll' value='@{to-gm}&{template:mythic} {{name=@{mutation_r} }} {{description=@{mutation_desc_r} }}' class='sheet-hidden'></button><span class='sheet-select_text'>&#128266;</span></label>
<input name='attr_collapse' type='checkbox' value='3' class='sheet-collapsible_entity_switch sheet-hidden' />
<textarea name='attr_mutation_desc_r' class='sheet-collapsible_entity_block'></textarea>
</fieldset>
</div>
</div>
</div>
<!-- Journal -->
<h2>Journal: Objectives</h2>
<div class='sheet-edge_padding sheet-ssc'>
<fieldset name='objectives' class='repeating_objectives'>
<input name='attr_objective' type='text' class='sheet-full_width_30px' />
<label class='sheet-margin_adjust'><input type='checkbox' name='attr_objective_completed' value='1' class='sheet-select_button sheet-hidden' /><span class='sheet-select_text '></span></label>
</fieldset>
</div>
<h2>Journal: Notes</h2>
<div class='sheet-edge_padding sheet-ssc'>
<fieldset name='notes' class='repeating_notes'>
<!-- insert new line html entity [&#10;] inside of placeholder attribute -->
<textarea name='attr_notes' placeholder='Enter information such as plot details, unresolved mission details such as escaped targets, character relationships, et cetera here.&#10;&#10;Also feel free to write appearance details here or in Bio & Info for public viewing: age, height, weight, colors of eyes, hair, skin, more that come to mind.'></textarea>
</fieldset>
</div>
</div>
<!-- start of tab Vehicle -->
<div class='sheet-tab_vehicle sheet-box sheet-ssc sheet-radius_border_box'>
<div class='sheet-vehicles_divider'>
<fieldset name='vehicles-R' class='repeating_vehicles'>
<div class='sheet-vehicles_grid1'>
<input name='attr_vehicle-name' type='text' class='sheet-vehicles_Gn sheet-full_width' placeholder='Name' />
<select name='attr_vehicle-size' class='sheet-vehicles_Gs sheet-full_width'>
<option value='-3'>Miniscule (1)</option>
<option value='-2'>Puny (2)</option>
<option value='-1'>Scrawny (3)</option>
<option value='0'>Average (4)</option>
<option value='1'>Hulking (5)</option>
<option value='2'>Enormous (6)</option>
<option value='3' selected='selected'>Massive (7)</option>
<option value='4'>Immense (8)</option>
<option value='5'>Monumental (9)</option>
<option value='6'>Titanic (10)</option>
</select>
<input name='attr_vehicle-world' type='text' class='sheet-vehicles_G1 sheet-full_width' placeholder='Origin or Forge World' />
<select name='attr_vehicle-type' class='sheet-vehicles_Gt sheet-full_width'>
<option value='0' selected='selected'>Tracked</option>
<option value='1'>Wheeled</option>
<option value='2'>Skimmer</option>
<option value='3'>Walker</option>
<option value='4'>Stationary</option>
<option value='5'>Aircraft</option>
<option value='6'>Spacecraft</option>
<option value='7'>Voidship</option>
</select>
<div class='sheet-vehicles_G2'>
<h3>SPEED AND MANEUVERABILITY</h3>
</div>
<div class='sheet-vehicles_G3'>Tactical</div>
<div class='sheet-vehicles_G4'>Cruising</div>
<div class='sheet-vehicles_G5'>Maneuverability</div>
<div class='sheet-vehicles_G6'>Operate</div>
<input name='attr_vehicle-tactical' type='text' class='sheet-vehicles_G7 sheet-full_width' placeholder='Meters per Turn' />
<input name='attr_vehicle-cruising' type='text' class='sheet-vehicles_G8 sheet-full_width' placeholder='Km/H' />
<input name='attr_vehicle-maneuver' type='text' class='sheet-vehicles_G9 sheet-full_width' value='0' />
<!-- GS18 Different operate checks for each Vehicle Type. Tracked, Wheeled, Skimmer, Walker use Surface. Aircraft and Spacecraft use Aeronautica. Voidship is as it is. -->
<input name='attr_vehicle-type' type='checkbox' value='0' class='sheet-hidden sheet-hider' />
<button type='roll' name='op_surface_roll' value='@{to-gm}&{template:mythic} {{character= @{character_name}}} {{roll-name=Operate: Surface with @{vehicle-name}}}{{dos=[[[[1+floor(abs([[{{ {@{op_surface_total_v}+@{inlinemod-toggle}}, {@{op_surface_focus}-@{limiter}}}kh1, {@{op_surface_focus}+@{limiter}}}kl1]]-[[1d100]])/10)]]+ceil(@{op_surface_unnat}/2)]]}} {{target=$[[0]]}} {{roll=$[[1]]}} {{dof=$[[2]]}}'
class='sheet-vehicles_G10 sheet-clear'><input name='attr_op_surface_total_v' value='@{op_surface_total}+@{vehicle-maneuver}' class='sheet-input_background' disabled /></button>
<input name='attr_vehicle-type' type='checkbox' value='1' class='sheet-hidden sheet-hider' />
<button type='roll' name='op_surface_roll' value='@{to-gm}&{template:mythic} {{character= @{character_name}}} {{roll-name=Operate: Surface with @{vehicle-name}}}{{dos=[[[[1+floor(abs([[{{ {@{op_surface_total_v}+@{inlinemod-toggle}}, {@{op_surface_focus}-@{limiter}}}kh1, {@{op_surface_focus}+@{limiter}}}kl1]]-[[1d100]])/10)]]+ceil(@{op_surface_unnat}/2)]]}} {{target=$[[0]]}} {{roll=$[[1]]}} {{dof=$[[2]]}}'
class='sheet-vehicles_G10 sheet-clear'><input name='attr_op_surface_total_v' value='@{op_surface_total}+@{vehicle-maneuver}' class='sheet-input_background' disabled /></button>
<input name='attr_vehicle-type' type='checkbox' value='2' class='sheet-hidden sheet-hider' />
<button type='roll' name='op_surface_roll' value='@{to-gm}&{template:mythic} {{character= @{character_name}}} {{roll-name=Operate: Surface with @{vehicle-name}}}{{dos=[[[[1+floor(abs([[{{ {@{op_surface_total_v}+@{inlinemod-toggle}}, {@{op_surface_focus}-@{limiter}}}kh1, {@{op_surface_focus}+@{limiter}}}kl1]]-[[1d100]])/10)]]+ceil(@{op_surface_unnat}/2)]]}} {{target=$[[0]]}} {{roll=$[[1]]}} {{dof=$[[2]]}}'
class='sheet-vehicles_G10 sheet-clear'><input name='attr_op_surface_total_v' value='@{op_surface_total}+@{vehicle-maneuver}' class='sheet-input_background' disabled /></button>
<input name='attr_vehicle-type' type='checkbox' value='3' class='sheet-hidden sheet-hider' />
<button type='roll' name='op_surface_roll' value='@{to-gm}&{template:mythic} {{character= @{character_name}}} {{roll-name=Operate: Surface with @{vehicle-name}}}{{dos=[[[[1+floor(abs([[{{ {@{op_surface_total_v}+@{inlinemod-toggle}}, {@{op_surface_focus}-@{limiter}}}kh1, {@{op_surface_focus}+@{limiter}}}kl1]]-[[1d100]])/10)]]+ceil(@{op_surface_unnat}/2)]]}} {{target=$[[0]]}} {{roll=$[[1]]}} {{dof=$[[2]]}}'
class='sheet-vehicles_G10 sheet-clear'><input name='attr_op_surface_total_v' value='@{op_surface_total}+@{vehicle-maneuver}' class='sheet-input_background' disabled /></button>
<input name='attr_vehicle-type' type='checkbox' value='4' class='sheet-hidden sheet-hider' />
<input name='attr_op_none' type='text' class='sheet-vehicles_G10 sheet-full_width' placeholder='You sure?' />
<input name='attr_vehicle-type' type='checkbox' value='5' class='sheet-hidden sheet-hider' />
<button type='roll' name='op_aero_roll' value='@{to-gm}&{template:mythic} {{character= @{character_name}}} {{roll-name=Operate: Aeronautica with @{vehicle-name}}}{{dos=[[[[1+floor(abs([[{{ {@{op_aero_total_v}+@{inlinemod-toggle}}, {@{op_aero_focus}-@{limiter}}}kh1, {@{op_aero_focus}+@{limiter}}}kl1]]-[[1d100]])/10)]]+ceil(@{op_aero_unnat}/2)]]}} {{target=$[[0]]}} {{roll=$[[1]]}} {{dof=$[[2]]}}'
class='sheet-vehicles_G10 sheet-clear'><input name='attr_op_aero_total_v' value='@{op_aero_total}+@{vehicle-maneuver}' class='sheet-input_background' disabled /></button>
<input name='attr_vehicle-type' type='checkbox' value='6' class='sheet-hidden sheet-hider' />
<button type='roll' name='op_aero_roll' value='@{to-gm}&{template:mythic} {{character= @{character_name}}} {{roll-name=Operate: Aeronautica with @{vehicle-name}}}{{dos=[[[[1+floor(abs([[{{ {@{op_aero_total_v}+@{inlinemod-toggle}}, {@{op_aero_focus}-@{limiter}}}kh1, {@{op_aero_focus}+@{limiter}}}kl1]]-[[1d100]])/10)]]+ceil(@{op_aero_unnat}/2)]]}} {{target=$[[0]]}} {{roll=$[[1]]}} {{dof=$[[2]]}}'
class='sheet-vehicles_G10 sheet-clear'><input name='attr_op_aero_total_v' value='@{op_aero_total}+@{vehicle-maneuver}' class='sheet-input_background' disabled /></button>
<input name='attr_vehicle-type' type='checkbox' value='7' class='sheet-hidden sheet-hider' />
<button type='roll' name='op_void_roll' value='@{to-gm}&{template:mythic} {{character= @{character_name}}} {{roll-name=Operate: Voidship with @{vehicle-name}}}{{dos=[[[[1+floor(abs([[{{ {@{op_void_total_v}+@{inlinemod-toggle}}, {@{op_void_focus}-@{limiter}}}kh1, {@{op_void_focus}+@{limiter}}}kl1]]-[[1d100]])/10)]]+ceil(@{op_void_unnat}/2)]]}} {{target=$[[0]]}} {{roll=$[[1]]}} {{dof=$[[2]]}}'
class='sheet-vehicles_G10 sheet-clear'><input name='attr_op_void_total_v' value='@{op_void_total}+@{vehicle-maneuver}' class='sheet-input_background' disabled /></button>
<div class='sheet-vehicles_G11'>
<h3>CREW AND COMPLEMENT</h3>
</div>
<div class='sheet-vehicles_G12'>Crew</div>
<div class='sheet-vehicles_G13'>Carrying Capacity</div>
<input name='attr_vehicle-crew' type='text' class='sheet-vehicles_G14 sheet-full_width' placeholder='Minimum Crew Prerequisite' />
<input name='attr_vehicle-compliment' type='text' class='sheet-vehicles_G15 sheet-full_width' placeholder='Maximum Crew Space' />
</div>
<div class='sheet-vehicles_grid2'>
<div class='sheet-vehicles_G16'>
<h3>HULL INTEGRITY AND ARMOR</h3>
</div>
<div class='sheet-vehicles_G17'>Integrity</div>
<div class='sheet-vehicles_G18'>Front</div>
<div class='sheet-vehicles_G19'>Side</div>
<div class='sheet-vehicles_G20'>Rear</div>
<input name='attr_vehicle-integrity' type='text' class='sheet-vehicles_G21 sheet-full_width' placeholder='#' />
<input name='attr_vehicle-integrity_max' type='text' class='sheet-vehicles_G22 sheet-full_width' placeholder='Max' />
<input name='attr_vehicle-armor-front' type='text' class='sheet-vehicles_G23 sheet-full_width' />
<input name='attr_vehicle-armor-side' type='text' class='sheet-vehicles_G24 sheet-full_width' />
<input name='attr_vehicle-armor-rear' type='text' class='sheet-vehicles_G25 sheet-full_width' />
<div class='sheet-vehicles_G26 '>
<div>
<input name='attr_armaments' type='text' placeholder='Armaments' class='sheet-full_width_49px' />
<label title='Expand' class='sheet-margin_adjust'><input type='checkbox' name='attr_collapse' value='4' class='sheet-collapsible_entity_switch sheet-select_button sheet-hidden' /><span class='sheet-select_text '>&#9660;</span></label>
<label title='Send description in the chat' class='sheet-margin_adjust2'><button type='roll' value='@{to-gm}&{template:mythic} {{name=@{armaments} }} {{description=@{armaments_desc} }}' class='sheet-hidden'></button><span class='sheet-select_text'>&#128266;</span></label>
<input name='attr_collapse' type='checkbox' value='4' class='sheet-collapsible_entity_switch sheet-hidden' />
<textarea name='attr_armaments_desc' class='sheet-collapsible_entity_block' placeholder='Enter more detailed information, such as placement of vehicle armament. Full stat-blocks should be written out in the sections on the right.'></textarea>
</div>
<div>
<input name='attr_vehicle_traits' type='text' placeholder='Traits' class='sheet-full_width_49px' />
<label title='Expand' class='sheet-margin_adjust'><input type='checkbox' name='attr_collapse' value='5' class='sheet-collapsible_entity_switch sheet-select_button sheet-hidden' /><span class='sheet-select_text '>&#9660;</span></label>
<label title='Send description in the chat' class='sheet-margin_adjust2'><button type='roll' value='@{to-gm}&{template:mythic} {{name=@{vehicle_traits} }} {{description=@{vehicle_traits_desc} }}' class='sheet-hidden'></button><span class='sheet-select_text'>&#128266;</span></label>
<input name='attr_collapse' type='checkbox' value='5' class='sheet-collapsible_entity_switch sheet-hidden' />
<textarea name='attr_vehicle_traits_desc' class='sheet-collapsible_entity_block' placeholder='Enter any vehicle-specific rules or other unique information here, such as specific details about crew placement or expanded descriptions of the Vehicle Traits.'></textarea>
</div>
<div>
<input name='attr_modifications' type='text' placeholder='Modifications' class='sheet-full_width_49px sheet-vehicles_descriptor' />
<label title='Expand' class='sheet-margin_adjust'><input type='checkbox' name='attr_collapse' value='6' class='sheet-collapsible_entity_switch sheet-select_button sheet-hidden' /><span class='sheet-select_text sheet-radius_border_right'>&#9660;</span></label>
<label title='Send description in the chat' class='sheet-margin_adjust2'><button type='roll' value='@{to-gm}&{template:mythic} {{name=@{modifications} }} {{description=@{modifications_desc} }}' class='sheet-hidden'></button><span class='sheet-select_text'>&#128266;</span></label>
<input name='attr_collapse' type='checkbox' value='6' class='sheet-collapsible_entity_switch sheet-hidden' />
<textarea name='attr_modifications_desc' class='sheet-collapsible_entity_block sheet-description_rounded_margin' placeholder='Vehicles can be fitted with Vehicle Upgrades or other player modifications. Be sure to include the Base Difficulty Modifier of each Modification here.
&#10;Vehicle modifications are classified into two categories: Integral ones which the vehicle must come from the factory with, or Standard ones which can be requisitioned and installed as normal.'></textarea>
</div>
</div>
</div>
<br>
</fieldset>
<div class='sheet-vehicle_weapons'>
<div class='sheet-equipment_ranged_weapons'>
<h3 class='sheet-radius_border_top'>Vehicle Ranged Weapons</h3>
<fieldset name='vehiclerangedweapons' class='repeating_vehiclerangedweapons'>
<div class='sheet-equipment_ranged_weapons_rep'>
<input name='attr_wep_display' type='checkbox' value='min' class='sheet-collapsible_entity_switch sheet-hidden' />
<input name='attr_wep_display' type='checkbox' value='half' class='sheet-collapsible_entity_switch_min sheet-hidden' />
<input name='attr_wep_display' type='checkbox' value='expand' class='sheet-collapsible_entity_switch_half sheet-hidden' />
<input type='hidden' name='attr_id' value=''>
<input type='hidden' name='attr_ammo' value='1'>
<div class='sheet-equipment_weapon_rep_head'>
<div class='sheet-equipment_weapon_rep_h1'>
<label title='Min' class='sheet-wb1'><input type='checkbox' name='attr_wep_display' value='min' class='sheet-select_button sheet-hidden' /><span class='sheet-select_text'>&#128469;</span></label>
<label title='Half' class='sheet-wb2'><input type='checkbox' name='attr_wep_display' value='half' class='sheet-select_button sheet-hidden' /><span class='sheet-select_text'>&#128471;</span></label>
<label title='Expand' class='sheet-wb3'><input type='checkbox' name='attr_wep_display' value='expand' class='sheet-select_button sheet-hidden' /><span class='sheet-select_text'>&#128470;</span></label>
</div>
<h3 class='sheet-equipment_weapon_rep_h2'><span name='attr_V_R_weapon_name'></span></h3>
<button name='weapon_hit' class='sheet-equipment_weapon_rep_h3 sheet-full_width sheet-clear' type='roll' value='@{to-gm}&{template:mythic} {{character= @{character_name}}} {{attack= }} {{weapon= @{V_R_weapon_name}}} {{dos=[[[[1+ floor(abs([[{{ {@{V_R_weapon_target}+@{inlinemod-toggle}}, {@{bsTotal}-@{limiter}}}kh1, {@{bsTotal}+@{limiter}}}kl1]]-[[1d100@{V_R_weapon_mishap_chance}]])/10)]]+ceil(@{BS_unnat}/2)]]}}{{target= $[[0]]}}{{roll= $[[1]]}}{{dof= $[[2]]}}@{settings_hitroll}{{aim= [[@{V_R_weapon_aim}]]}}{{V_R_type= [[@{V_R_weapon_attack}]]}}{{range= [[@{V_R_weapon_attack_range}]]}}{{modifier= [[@{inlinemod-toggle}]]}}{{skill_name= Ballistic}}{{skill=[[@{BS}]]}}{{advancement= [[@{BS_advancement}]]}}{{weaponmod= [[@{V_R_weapon_mod1}]]}}{{trained= [[@{V_R_weapon_trained}]]}}{{burst=@{V_R_weapon_burst}}}{{auto=@{V_R_weapon_auto}}}
!wammo @{character_id} repeating_vehiclerangedweapons_@{id}_V_R_weapon_mag [[@{ammo}*@{V_R_weapon_setting}]]'>Hit
|<input name='attr_V_R_weapon_target' value='@{bsTotal} + @{V_R_weapon_trained} - 20 + @{V_R_weapon_mod1} + @{V_R_weapon_attack} + @{V_R_weapon_aim} + @{V_R_weapon_attack_range} + @{atk_accurate_aim} + @{atk_scatter_aim}' class='sheet-input_background sheet-input_char_background' disabled ></button>
<button name='weapon_dmg' class='sheet-equipment_weapon_rep_h4 sheet-full_width sheet-clear' type='roll' value='@{to-gm}&{template:mythic} {{character= @{character_name}}} {{type= @{V_R_weapon_type}}} {{weapon= @{V_R_weapon_name}}} {{damage=[[@{V_R_weapon_real_dmg}+@{atk_scatter_dmg}]] }} {{@{V_R_weapon_spray}= }} {{pen=[[@{V_R_weapon_pen}+0@{V_R_weapon_pen2}]] }} {{@{settings_weapondescription}=@{V_R_ability_r} }} @{atk_accurate_dmg}'>DMG</button>
</div>
<div class='sheet-equipment_ranged_weapons_grid0 sheet-collapsible_entity_toggle'>
<select name='attr_V_R_weapon_aim' class='sheet-equipment_ranged_weapons_gs01 sheet-full_width sheet-clear sheet-select_corection'>
<option value='0' selected='selected'>No Aim (+0)</option>
<option value='10'>Half Aim (+10)</option>
<option value='20'>Full Aim (+20)</option>
</select>
<select name='attr_V_R_weapon_attack' class='sheet-equipment_ranged_weapons_gs02 sheet-full_width sheet-clear sheet-select_corection'>
<option value='10' selected='selected'>Standard (+10)</option>
<option value='0'>Semi Auto (+0)</option>
<option value='-10'>Full Auto (-10)</option>
<option value='-20'>Called Shot (-20)</option>
<option value='-20'>Suppressing (-20)</option>
</select>
<select name='attr_V_R_weapon_attack_range' class='sheet-equipment_ranged_weapons_gs03 sheet-full_width sheet-clear sheet-select_corection'>
<option value='30'>Point Blank (+30)</option>
<option value='10'>Short Range (+10)</option>
<option value='0' selected='selected'>Standard (+0)</option>
<option value='-10'>Long Range (-10)</option>
<option value='-30'>Extreme Range (-30)</option>
</select>
<select name='attr_V_R_weapon_setting' class='sheet-equipment_ranged_weapons_gs04 sheet-full_width sheet-clear sheet-select_corection'>
<option value='1'>N/A</option>
<optgroup label="Las">
<option value='2'>Overcharge</option>
<option value='4'>Overload</option>
</optgroup>
<optgroup label="Plasma">
<option value='3'>Maximal</option>
</optgroup>
</select>
</div>
<div class='sheet-equipment_ranged_weapons_grid1 sheet-collapsible_entity_toggle sheet-collapsible_entity_toggle_min'>
<div class='sheet-equipment_ranged_weapons_gs1'>Name</div>
<input class='sheet-equipment_ranged_weapons_gs2 sheet-full_width' type='text' name='attr_V_R_weapon_name' list='RangedWeapons' />
<div class='sheet-equipment_ranged_weapons_gs3'>Class</div>
<select class='sheet-equipment_ranged_weapons_gs4 sheet-full_width sheet-select_corection' name='attr_R_weapon_class'>
<option value='-'>N/A</option>
<option value='Basic'>Basic</option>
<option value='Heavy'>Heavy</option>
<option value='Melee'>Melee</option>
<option value='Pistol'>Pistol</option>
<option value='Thrown'>Thrown</option>
</select>
</div>
<div class='sheet-equipment_ranged_weapons_grid2 sheet-collapsible_entity_toggle sheet-collapsible_entity_toggle_min'>
<div class='sheet-equipment_ranged_weapons_gs5'>Range</div>
<input class='sheet-equipment_ranged_weapons_gs6 sheet-full_width' type='text' value='0' name='attr_V_R_weapon_range' />
<div class='sheet-equipment_ranged_weapons_gs7'>Damage</div>
<input class='sheet-equipment_ranged_weapons_gs8 sheet-full_width' type='text' value='0' name='attr_V_R_weapon_dam-roll' />
<div class='sheet-equipment_ranged_weapons_gs9'>Pen</div>
<input class='sheet-equipment_ranged_weapons_gs10 sheet-full_width' type='text' value='0' name='attr_V_R_weapon_pen' />
<input type='hidden' value='0' name='attr_V_R_weapon_pen2' />
<div class='sheet-equipment_ranged_weapons_gs11'>Type</div>
<select class='sheet-equipment_ranged_weapons_gs12 sheet-full_width sheet-select_corection' name='attr_V_R_weapon_type'>
<option value='-'>N/A</option>
<option value='Energy'>Energy</option>
<option value='Impact'>Impact</option>
<option value='Rending'>Rending</option>
<option value='Explosive'>Explosive</option>
</select>
</div>
<div class='sheet-equipment_ranged_weapons_grid2a sheet-collapsible_entity_toggle sheet-collapsible_entity_toggle_min sheet-collapsible_entity_toggle_half'>
<div class='sheet-equipment_ranged_weapons_gs06'>Primitive</div>
<input class='sheet-equipment_ranged_weapons_gs07 sheet-full_width' type='text' value='0' name='attr_V_R_weapon_max' />
<div class='sheet-equipment_ranged_weapons_gs08'>Proven</div>
<input class='sheet-equipment_ranged_weapons_gs09 sheet-full_width' type='text' value='0' name='attr_V_R_weapon_min' />
<div class='sheet-equipment_ranged_weapons_gs010'>Vengeful</div>
<input class='sheet-equipment_ranged_weapons_gs011 sheet-full_width' type='text' value='0' name='attr_V_R_weapon_vengeful' />
<input type='hidden' value='' name='attr_V_R_weapon_real_dmg' />
<div class='sheet-equipment_ranged_weapons_gs012'>Accurate</div>
<input class='sheet-equipment_ranged_weapons_gs013' type='checkbox' value='1' name='attr_V_R_weapon_accurate' />
<input class='hidden' type='number' value='0' name='attr_atk_accurate_aim' readonly />
<input class='hidden' type='text' value='0' name='attr_atk_accurate_dmg' readonly />
<div class='sheet-equipment_ranged_weapons_gs012b'>Scatter</div>
<input class='sheet-equipment_ranged_weapons_gs013b' type='checkbox' value='1' name='attr_V_R_weapon_scatter' />
<input class='hidden' type='number' value='0' name='attr_atk_scatter_aim' readonly />
<input class='hidden' type='text' value='0' name='attr_atk_scatter_dmg' readonly />
</div>
<div class='sheet-equipment_ranged_weapons_grid3 sheet-collapsible_entity_toggle sheet-collapsible_entity_toggle_min'>
<div class='sheet-equipment_ranged_weapons_gs13'>RoF</div>
<input class='sheet-equipment_ranged_weapons_gs14 sheet-full_width' type='text' placeholder='Std' name='attr_V_R_weapon_standard' />
<div class='sheet-equipment_ranged_weapons_gs15'>/</div>
<input class='sheet-equipment_ranged_weapons_gs16 sheet-full_width' type='text' placeholder='Bst' name='attr_V_R_weapon_burst' />
<div class='sheet-equipment_ranged_weapons_gs17'>/</div>
<input class='sheet-equipment_ranged_weapons_gs18 sheet-full_width' type='text' placeholder='Auto' name='attr_V_R_weapon_auto' />
<div class='sheet-equipment_ranged_weapons_gs19'>Magazine</div>
<input class='sheet-equipment_ranged_weapons_gs20 sheet-full_width' type='text' value='0' name='attr_V_R_weapon_mag' />
<div class='sheet-equipment_ranged_weapons_gs21'>/</div>
<input class='sheet-equipment_ranged_weapons_gs22 sheet-full_width' type='text' value='0' name='attr_V_R_weapon_mag_max' />
</div>
<div class='sheet-equipment_ranged_weapons_grid4 sheet-collapsible_entity_toggle sheet-collapsible_entity_toggle_min sheet-collapsible_entity_toggle_half'>
<div class='sheet-equipment_ranged_weapons_gs25'>Trained?</div>
<input class='sheet-equipment_ranged_weapons_gs26' type='checkbox' value='20' name='attr_V_R_weapon_trained' checked />
<div class='sheet-equipment_ranged_weapons_gs27'>Hit Mod</div>
<input class='sheet-equipment_ranged_weapons_gs28 sheet-full_width' type='number' value='0' name='attr_V_R_weapon_mod1' />
<div class='sheet-equipment_ranged_weapons_gs29'>Reload</div>
<input class='sheet-equipment_ranged_weapons_gs30 sheet-full_width' type='text' value='0' name='attr_V_R_weapon_reload' />
<div class='sheet-equipment_ranged_weapons_gs31'>Weight</div>
<input class='sheet-equipment_ranged_weapons_gs32 sheet-full_width' type='text' value='0' name='attr_V_R_weapon_weight' />
</div>
<div class='sheet-equipment_ranged_weapons_grid5 sheet-collapsible_entity_toggle sheet-collapsible_entity_toggle_min sheet-collapsible_entity_toggle_half'>
<div class='sheet-equipment_ranged_weapons_gs33'>Domain</div>
<select class='sheet-equipment_ranged_weapons_gs34 sheet-full_width sheet-select_corection' name='attr_R_weapon_domain'>
<option value='-'>N/A</option>
<option value='Bolt'>Bolt</option>
<option value='Chain'>Chain</option>
<option value='Exotic'>Exotic</option>
<option value='Exotic (Graviton)'>Exotic (Graviton)</option>
<option value='Explosives'>Explosives</option>
<option value='Flame'>Flame</option>
<option value='Force'>Force</option>
<option value='Grenades/Missiles'>Grenades/Missiles</option>
<option value='Las'>Las</option>
<option value='Launcher'>Launcher</option>
<option value='Low-Tech'>Low-Tech</option>
<option value='Melta'>Melta</option>
<option value='Plasma'>Plasma</option>
<option value='Power'>Power</option>
<option value='Shock'>Shock</option>
<option value='Solid-Projectile'>Solid Projectile</option>
<option value='Varies'>Varies</option>
<option value='Xenos(Eldar)'>Xenos (Eldar)</option>
<option value='Xenos(Kroot)'>Xenos (Kroot)</option>
<option value='Xenos(Lost Races)'>Xenos (Lost Races)</option>
<option value='Xenos(Necron)'>Xenos (Necron)</option>
<option value='Xenos(Ork)'>Xenos (Ork)</option>
</select>
<div class='sheet-equipment_ranged_weapons_gs35'>Mishap Chance</div>
<select name='attr_V_R_weapon_mishap_chance' class='sheet-equipment_ranged_weapons_gs36 sheet-full_width sheet-select_corection'>
<option value='cs>90'>Unreliable (91)</option>
<option value='cs>93'>Burst/Auto (94)</option>
<option value='cs>95' selected='selected'>Standard (96)</option>
<option value='cs>99'>Reliable (100)</option>
<option value='cs11cs22cs33cs44cs55cs66cs77cs88cs99cs100'>Doubles</option>
<option value='cs>?{Mishap chance|96}'>Custom</option>
</select>
<div class='sheet-equipment_ranged_weapons_gs37'>Spray?</div>
<input class='sheet-equipment_ranged_weapons_gs38' type='checkbox' value='spray' name='attr_V_R_weapon_spray' />
</div>
<div class='sheet-collapsible_entity_toggle sheet-collapsible_entity_toggle_min sheet-collapsible_entity_toggle_half'>
<input name='attr_V_R_ability_r' type='text' placeholder='Special' class='sheet-full_width_49px sheet-border_none' />
<label title='Expand' class='sheet-margin_adjust_wep'><input type='checkbox' name='attr_collapse' value='3' class='sheet-collapsible_entity_switch sheet-select_button sheet-hidden' /><span class='sheet-select_text sheet-radius_border_right_wep'>&#9660;</span></label>
<label title='Send description in the chat' class='sheet-margin_adjust_wep2'><button type='roll' value='@{to-gm}&{template:mythic} {{name=@{V_R_weapon_name} }} {{description=@{V_R_ability_desc_r} }}' class='sheet-hidden'></button><span class='sheet-select_text'>&#128266;</span></label>
<input name='attr_collapse' type='checkbox' value='3' class='sheet-collapsible_entity_switch sheet-hidden' />
<textarea name='attr_V_R_ability_desc_r' class='sheet-collapsible_entity_block sheet-description_rounded_margin' placeholder='Description'></textarea>
</div>
</fieldset>
</div>
<div class='sheet-equipment_melee_weapons'>
<h3 class='sheet-radius_border_top'>Vehicle Melee Weaponry</h3>
<fieldset name='vehiclemeleeweapons' class='repeating_vehiclemeleeweapons'>
<div class='sheet-equipment_melee_weapons_rep'>
<input name='attr_wep_display' type='checkbox' value='min' class='sheet-collapsible_entity_switch sheet-hidden' />
<input name='attr_wep_display' type='checkbox' value='half' class='sheet-collapsible_entity_switch_min sheet-hidden' />
<input name='attr_wep_display' type='checkbox' value='expand' class='sheet-collapsible_entity_switch_half sheet-hidden' />
<div class='sheet-equipment_weapon_rep_head'>
<div class='sheet-equipment_weapon_rep_h1'>
<label title='Min' class='sheet-wb1'><input type='checkbox' name='attr_wep_display' value='min' class='sheet-select_button sheet-hidden' /><span class='sheet-select_text'>&#128469;</span></label>
<label title='Half' class='sheet-wb2'><input type='checkbox' name='attr_wep_display' value='half' class='sheet-select_button sheet-hidden' /><span class='sheet-select_text'>&#128471;</span></label>
<label title='Expand' class='sheet-wb3'><input type='checkbox' name='attr_wep_display' value='expand' class='sheet-select_button sheet-hidden' /><span class='sheet-select_text'>&#128470;</span></label>
</div>
<h3 class='sheet-equipment_weapon_rep_h2'><span name='attr_V_M_weapon_name'></span></h3>
<button name='weapon_hit' class='sheet-equipment_weapon_rep_h3 sheet-full_width sheet-clear' type='roll' value='@{to-gm}&{template:mythic} {{character= @{character_name}}} {{attack= }}{{weapon= @{V_M_weapon_name}}}{{dos=[[[[1+ floor(abs([[{{ {@{V_M_weapon_target}+@{inlinemod-toggle}}, {@{wsTotal}-@{limiter}}}kh1, {@{wsTotal}+@{limiter}}}kl1]]-[[1d100]])/10)]]+ceil(@{WS_unnat}/2)]]}}{{target= $[[0]]}}{{roll= $[[1]]}}{{dof= $[[2]]}}@{settings_hitroll} {{aim= [[@{V_M_weapon_aim}]]}}{{V_M_type= [[@{V_M_weapon_attack}]]}}{{multi= [[@{V_M_weapon_multi}]]}}{{modifier= [[@{inlinemod-toggle}]]}}{{skill_name= Weapon}}{{skill=[[@{WS}]]}}{{advancement=[[@{WS_advancement}]]}}{{weaponmod=[[@{V_M_weapon_mod1}]]}}{{trained=[[@{V_M_weapon_trained}]]}}{{WS_bonus=[[@{wsB}]]}}'>Hit
|<input name='attr_V_M_weapon_target' value='@{wsTotal}+@{V_M_weapon_trained}-20+@{V_M_weapon_mod1}+@{V_M_weapon_attack}+@{V_M_weapon_aim}+@{V_M_weapon_multi}' class='sheet-input_background sheet-input_char_background' disabled ></button>
<button name='weapon_dmg' class='sheet-equipment_weapon_rep_h4 sheet-full_width sheet-clear' type='roll' value='@{to-gm}&{template:mythic} {{character= @{character_name}}} {{weapon= @{V_M_weapon_name}}} {{type= @{V_M_weapon_type}}} {{damage=[[@{V_M_weapon_real_dmg}]] }} {{pen= [[@{V_M_weapon_pen}]] }} {{@{settings_weapondescription}=@{V_M_ability_r} }}'>DMG</button>
</div>
<div class='sheet-equipment_melee_weapons_grid0 sheet-collapsible_entity_toggle'>
<select name='attr_V_M_weapon_aim' class='sheet-equipment_melee_weapons_gs01 sheet-full_width sheet-clear sheet-select_corection'>
<option value='0' selected='selected'>No Aim (+0)</option>
<option value='10'>Half Aim (+10)</option>
<option value='20'>Full Aim (+20)</option>
</select>
<select name='attr_V_M_weapon_attack' class='sheet-equipment_melee_weapons_gs02 sheet-full_width sheet-clear sheet-select_corection'>
<option value='-20'>Called Shot (-20)</option>
<option value='10' selected='selected'>Standard (+10)</option>
<option value='20'>Charge (+20)</option>
<option value='30'>All Out (+30)</option>
</select>
<select name='attr_V_M_weapon_multi' class='sheet-equipment_melee_weapons_gs03 sheet-full_width sheet-clear sheet-select_corection'>
<option value='0' selected='selected'>Standard (-0)</option>
<option value='-10'>Swift (-10)</option>
<option value='-20'>Lighting (-20)</option>
</select>
</div>
<div class='sheet-equipment_melee_weapons_grid1 sheet-collapsible_entity_toggle sheet-collapsible_entity_toggle_min'>
<div class='sheet-equipment_melee_weapons_gs1'>Name</div>
<input class='sheet-equipment_melee_weapons_gs2 sheet-full_width' type='text' name='attr_V_M_weapon_name' list='MeleeWeapons' />
<div class='sheet-equipment_melee_weapons_gs3'>Class</div>
<select class='sheet-equipment_melee_weapons_gs4 sheet-full_width sheet-select_corection' name='attr_R_weapon_class'>
<option value='-'>N/A</option>
<option value='Basic'>Basic</option>
<option value='Heavy'>Heavy</option>
<option value='Melee'>Melee</option>
<option value='Pistol'>Pistol</option>
<option value='Thrown'>Thrown</option>
</select>
</div>
<div class='sheet-equipment_melee_weapons_grid2 sheet-collapsible_entity_toggle sheet-collapsible_entity_toggle_min'>
<div class='sheet-equipment_melee_weapons_gs5'>Reach</div>
<input class='sheet-equipment_melee_weapons_gs6 sheet-full_width' type='text' name='attr_V_M_weapon_reach' />
<div class='sheet-equipment_melee_weapons_gs7'>Damage</div>
<input class='sheet-equipment_melee_weapons_gs8 sheet-full_width' type='text' value='0' name='attr_V_M_weapon_dam-roll' />
<div class='sheet-equipment_melee_weapons_gs9'>Pen</div>
<input class='sheet-equipment_melee_weapons_gs10 sheet-full_width' type='text' value='0' name='attr_V_M_weapon_pen' />
<div class='sheet-equipment_melee_weapons_gs11'>Type</div>
<select class='sheet-equipment_melee_weapons_gs12 sheet-full_width sheet-select_corection' name='attr_V_M_weapon_type'>
<option value='-'>N/A</option>
<option value='Energy'>Energy</option>
<option value='Impact'>Impact</option>
<option value='Rending'>Rending</option>
<option value='Explosive'>Explosive</option>
</select>
</div>
<div class='sheet-equipment_melee_weapons_grid2a sheet-collapsible_entity_toggle sheet-collapsible_entity_toggle_min sheet-collapsible_entity_toggle_half'>
<div class='sheet-equipment_melee_weapons_gs06'>Primitive</div>
<input class='sheet-equipment_melee_weapons_gs07 sheet-full_width' type='number' value='0' name='attr_V_M_weapon_max' />
<div class='sheet-equipment_melee_weapons_gs08'>Proven</div>
<input class='sheet-equipment_melee_weapons_gs09 sheet-full_width' type='number' value='0' name='attr_V_M_weapon_min' />
<div class='sheet-equipment_melee_weapons_gs010'>Vengeful</div>
<input class='sheet-equipment_melee_weapons_gs011 sheet-full_width' type='number' value='0' name='attr_V_M_weapon_vengeful' />
<input type='hidden' value='' name='attr_V_M_weapon_real_dmg' />
</div>
<div class='sheet-equipment_melee_weapons_grid3 sheet-collapsible_entity_toggle sheet-collapsible_entity_toggle_min sheet-collapsible_entity_toggle_half'>
<div class='sheet-equipment_melee_weapons_gs13'>Trained?</div>
<input class='sheet-equipment_melee_weapons_gs14' type='checkbox' value='20' name='attr_V_M_weapon_trained' checked />
<div class='sheet-equipment_melee_weapons_gs15'>Hit Mod</div>
<input class='sheet-equipment_melee_weapons_gs16 sheet-full_width' type='number' value='0' name='attr_V_M_weapon_mod1' />
<div class='sheet-equipment_melee_weapons_gs17'>Weight</div>
<input class='sheet-equipment_melee_weapons_gs18 sheet-full_width' type='text' value='0' name='attr_V_M_weapon_weight' />
<div class='sheet-equipment_melee_weapons_gs19'>Domain</div>
<select class='sheet-equipment_melee_weapons_gs20 sheet-full_width sheet-select_corection' name='attr_R_weapon_domain'>
<option value='-'>N/A</option>
<option value='Bolt'>Bolt</option>
<option value='Chain'>Chain</option>
<option value='Exotic'>Exotic</option>
<option value='Exotic (Graviton)'>Exotic (Graviton)</option>
<option value='Explosives'>Explosives</option>
<option value='Flame'>Flame</option>
<option value='Force'>Force</option>
<option value='Grenades/Missiles'>Grenades/Missiles</option>
<option value='Las'>Las</option>
<option value='Launcher'>Launcher</option>
<option value='Low-Tech'>Low-Tech</option>
<option value='Melta'>Melta</option>
<option value='Plasma'>Plasma</option>
<option value='Power'>Power</option>
<option value='Shock'>Shock</option>
<option value='Solid-Projectile'>Solid Projectile</option>
<option value='Varies'>Varies</option>
<option value='Xenos(Eldar)'>Xenos (Eldar)</option>
<option value='Xenos(Kroot)'>Xenos (Kroot)</option>
<option value='Xenos(Lost Races)'>Xenos (Lost Races)</option>
<option value='Xenos(Necron)'>Xenos (Necron)</option>
<option value='Xenos(Ork)'>Xenos (Ork)</option>
</select>
</div>
<div class='sheet-collapsible_entity_toggle sheet-collapsible_entity_toggle_min sheet-collapsible_entity_toggle_half'>
<input name='attr_V_M_ability_r' type='text' placeholder='Special' class='sheet-full_width_49px sheet-border_none' />
<label title='Expand' title='Expand' class='sheet-margin_adjust_wep'><input type='checkbox' name='attr_collapse' value='3' class='sheet-collapsible_entity_switch sheet-select_button sheet-hidden' /><span class='sheet-select_text sheet-radius_border_right_wep'>&#9660;</span></label>
<label title='Send description in the chat' class='sheet-margin_adjust_wep2'><button type='roll' value='@{to-gm}&{template:mythic} {{name=@{V_M_weapon_name} }} {{description=@{V_M_ability_desc_r} }}' class='sheet-hidden'></button><span class='sheet-select_text'>&#128266;</span></label>
<input name='attr_collapse' type='checkbox' value='3' class='sheet-collapsible_entity_switch sheet-hidden' />
<textarea name='attr_V_M_ability_desc_r' class='sheet-collapsible_entity_block sheet-description_rounded_margin' placeholder='Description'></textarea>
</div>
</div>
</fieldset>
</div>
</div>
</div>
</div>
<!-- start of tab Psykana -->
<div class='sheet-tab_psykana sheet-box sheet-ssc sheet-radius_border_box'>
<div class='sheet-psykana_divider'>
<div class='sheet-psykana_info sheet-ssc'>
<h3 class='sheet-radius_border_top'>Psychic Strength</h3>
<div class='sheet-psykana_info_grid'>
<div class='sheet-psykana_info_gs1'>Class</div>
<select name='attr_psykana_class' class='sheet-psykana_info_gs2 sheet-full_width sheet-select_corection'>
<option value='-1'>Blank</option>
<option value='0' selected='selected'>Bound</option>
<option value='1'>Unbound</option>
<option value='2'>Demonic</option>
</select>
<div class='sheet-psykana_info_gs3'>Limit</div>
<select name='attr_psykana_limit' class='sheet-psykana_info_gs4 sheet-full_width sheet-select_corection'>
<option value='0' selected='selected'>Fettered</option>
<option value='1'>Unfettered</option>
<option value='2'>Push</option>
</select>
<input class='sheet-hidden' name='attr_psy_roll' type='text' readonly />
<div class='sheet-psykana_info_gs5'>Psy Rating</div>
<input class='sheet-psykana_info_gs6 sheet-full_width' type='number' name='attr_psy_rating' />
<input name='attr_psykana_limit' type='checkbox' value='2' class='sheet-hidden sheet-hider' />
<div class='sheet-psykana_info_gs7'>Push Level</div>
<input name='attr_psykana_limit' type='checkbox' value='2' class='sheet-hidden sheet-hider' />
<input class='sheet-psykana_info_gs8 sheet-full_width' type='number' value='1' name='attr_psy_push' />
<div class='sheet-psykana_info_gs9'>Sustaining?</div>
<input class='sheet-psykana_info_gs10' name='attr_psykana_sustain' type='checkbox' value='-5' />
<input name='attr_psykana_sustain' type='checkbox' value='-5' class='sheet-hidden sheet-hider' />
<div class='sheet-psykana_info_gs11'># Powers</div>
<input name='attr_psykana_sustain' type='checkbox' value='-5' class='sheet-hidden sheet-hider' />
<input class='sheet-psykana_info_gs12 sheet-full_width' type='number' value='1' name='attr_psykana_sustain_count' />
<div class='sheet-psykana_info_gs13'>Effective PR</div>
<input class='sheet-psykana_info_gs14 sheet-full_width' type='number' name='attr_effective_psy_rating' readonly />
<div class='sheet-psykana_info_gs15'>Phenomena</div>
<input class='sheet-psykana_info_gs16 sheet-full_width' type='number' name='attr_psykana_phenomena' readonly />
<!-- TODO: add focus mod -->
<div class='sheet-psykana_info_gs19'>Focus Mod</div>
<input class='sheet-psykana_info_gs20 sheet-full_width' type='number' value='0' name='attr_focus_mod' />
<button class='sheet-psykana_info_gs17 sheet-full_width sheet-clear' type='roll' value='@{to-gm}&{template:mythic} {{character= @{character_name}}} {{phenomena= }} {{roll=[[1d100 + @{psykana_phenomena}]]}}'>Phenomena</button>
<button class='sheet-psykana_info_gs18 sheet-full_width sheet-clear' type='roll' value='@{to-gm}&{template:mythic} {{character= @{character_name}}} {{perils= }} {{roll=[[1d100]]}}'>Perils</button>
</div>
</div>
<div class='sheet-psykana_minor sheet-ssc'>
<h3 class='sheet-radius_border_top'>Minor Manifestations</h3>
<fieldset name='minormanifestation' class='repeating_minormanifestation'>
<div class='sheet-minormanifestation_rep'>
<input name='attr_P_minor_r' type='text' placeholder='Minor Manifestation name' class='sheet-full_width_49px sheet-border_none' />
<label title='Expand' class='sheet-margin_adjust_wep'><input type='checkbox' name='attr_collapse' value='5' class='sheet-collapsible_entity_switch sheet-select_button sheet-hidden' /><span class='sheet-select_text sheet-radius_border_right_wep'>&#9660;</span></label>
<label title='Send description in the chat' class='sheet-margin_adjust_wep2'><button type='roll' value='@{to-gm}&{template:mythic} {{name=@{P_minor_r} }} {{description=@{P_minor_desc_r} }}' class='sheet-hidden'></button><span class='sheet-select_text'>&#128266;</span></label>
<input name='attr_collapse' type='checkbox' value='5' class='sheet-collapsible_entity_switch sheet-hidden' />
<textarea name='attr_P_minor_desc_r' class='sheet-collapsible_entity_block sheet-description_rounded_margin' placeholder='MMs are subtle uses for the power of the Warp that a Psyker may pick up in the course of training.&#10;This Description box may be used to state which psychic discipline this MM falls under, as well as to provide a brief description of what this power does.&#10;&#10;Minor Manifestations cost 50xp. Use requires a Half Action and a +30 Willpower test.'></textarea>
</div>
</fieldset>
</div>
<div class='sheet-psykana_notes sheet-ssc'>
<h3 class='sheet-radius_border_top'>Psyker Notes</h3>
<fieldset name='psynotes' class='repeating_psynotes'>
<div class='sheet-psynotes_rep'>
<input name='attr_P_note_r' type='text' placeholder='Psyker Notes name' class='sheet-full_width_49px sheet-border_none' />
<label title='Expand' class='sheet-margin_adjust_wep'><input type='checkbox' name='attr_collapse' value='15' class='sheet-collapsible_entity_switch sheet-select_button sheet-hidden' /><span class='sheet-select_text sheet-radius_border_right_wep'>&#9660;</span></label>
<label title='Send description in the chat' class='sheet-margin_adjust_wep2'><button type='roll' value='@{to-gm}&{template:mythic} {{name=@{P_note_r} }} {{description=@{P_note_desc_r} }}' class='sheet-hidden'></button><span class='sheet-select_text'>&#128266;</span></label>
<input name='attr_collapse' type='checkbox' value='15' class='sheet-collapsible_entity_switch sheet-hidden' />
<textarea name='attr_P_note_desc_r' class='sheet-collapsible_entity_block sheet-description_rounded_margin' placeholder='Psyker Notes are used to keep track of your psychic journey'></textarea>
</div>
</fieldset>
</div>
<div class='sheet-psykana_ability sheet-ssc'>
<h3 class='sheet-radius_border_top'>Psychic Abilities</h3>
<fieldset name='psychicabilities' class='repeating_psychicabilities'>
<div class='sheet-psykana_ability_rep'>
<input name='attr_wep_display' type='checkbox' value='min' class='sheet-collapsible_entity_switch sheet-hidden' />
<input name='attr_wep_display' type='checkbox' value='half' class='sheet-collapsible_entity_switch_min sheet-hidden' />
<input name='attr_wep_display' type='checkbox' value='expand' class='sheet-collapsible_entity_switch_half sheet-hidden' />
<div class='sheet-equipment_weapon_rep_head'>
<div class='sheet-equipment_weapon_rep_h1'>
<label title='Min' class='sheet-wb1'><input type='checkbox' name='attr_wep_display' value='min' class='sheet-select_button sheet-hidden' /><span class='sheet-select_text'>&#128469;</span></label>
<label title='Half' class='sheet-wb2'><input type='checkbox' name='attr_wep_display' value='half' class='sheet-select_button sheet-hidden' /><span class='sheet-select_text'>&#128471;</span></label>
<label title='Expand' class='sheet-wb3'><input type='checkbox' name='attr_wep_display' value='expand' class='sheet-select_button sheet-hidden' /><span class='sheet-select_text'>&#128470;</span></label>
</div>
<h3 class='sheet-equipment_weapon_rep_h2'><span name='attr_P_name'></span></h3>
<button name='psy_hit' class='sheet-equipment_weapon_rep_h3_psy sheet-full_width sheet-clear' type='roll' value='@{to-gm}&{template:mythic} {{character= @{character_name}}}{{psy= }}{{attack= }}{{weapon= @{P_name}}}{{dos=[[[[1+floor(abs([[{{ {@{P_total}+@{inlinemod-toggle}}, {@{P_focus}-@{limiter}}}kh1, {@{P_focus}+@{limiter}}}kl1]]-[[1d100@{psy_roll}]])/10)]]+ceil(@{WP_unnat}/2)]]}}{{target=$[[0]]}}{{roll=$[[1]]}}{{dof=$[[2]]}}@{P_hitloc} {{class=[[@{psykana_class}]]}}{{limit=[[@{psykana_limit}]]}}{{focus=[[@{P_focus}]]}}{{pmod=[[@{P_mod1}]]}}{{focus_mod=[[@{focus_mod}]]}}{{sustain=[[@{psykana_sustain}]]}}{{modifier=[[@{inlinemod-toggle}]]}}{{P_multi=[[@{P_multi}]]}}{{epr=[[@{effective_psy_rating}]]}}
'>Cast |<input name='attr_P_total' value='@{P_focus}+@{P_mod1}+@{focus_mod}+@{psykana_sustain}' class='sheet-input_background sheet-input_char_background' disabled /></button>
<button name='psy_dmg' class='sheet-equipment_weapon_rep_h4 sheet-full_width sheet-clear' type='roll' value='@{to-gm}&{template:mythic} {{character= @{character_name}}} {{type= @{P_type}}} {{weapon= @{P_name}}} {{damage=[[@{P_dam-roll}]] }} {{pen=[[@{P_pen}]] }} {{@{settings_weapondescription}=@{P_ability_r} }}'>DMG</button>
</div>
<div class='sheet-psykana_ability_grid1 sheet-collapsible_entity_toggle sheet-collapsible_entity_toggle_min'>
<div class='sheet-psykana_ability_gs1'>Name</div>
<input class='sheet-psykana_ability_gs2 sheet-full_width' type='text' name='attr_P_name' />
<div class='sheet-psykana_ability_gs3'>Subtype</div>
<input class='sheet-psykana_ability_gs4 sheet-full_width' type='text' name='attr_P_subtype' />
</div>
<div class='sheet-psykana_ability_grid2 sheet-collapsible_entity_toggle sheet-collapsible_entity_toggle_min'>
<div class='sheet-psykana_ability_gs5'>Range</div>
<input class='sheet-psykana_ability_gs6 sheet-full_width' type='text' value='0' name='attr_P_range' />
<div class='sheet-psykana_ability_gs7'>Damage</div>
<input class='sheet-psykana_ability_gs8 sheet-full_width' type='text' value='0' name='attr_P_dam-roll' />
<div class='sheet-psykana_ability_gs9'>Type</div>
<select class='sheet-psykana_ability_gs10 sheet-full_width sheet-select_corection' name='attr_P_type'>
<option value='-'>N/A</option>
<option value='Energy'>Energy</option>
<option value='Impact'>Impact</option>
<option value='Rending'>Rending</option>
<option value='Explosive'>Explosive</option>
</select>
<div class='sheet-psykana_ability_gs11'>Pen</div>
<input class='sheet-psykana_ability_gs12 sheet-full_width' type='text' value='0' name='attr_P_pen' />
</div>
<div class='sheet-psykana_ability_grid3 sheet-collapsible_entity_toggle sheet-collapsible_entity_toggle_min'>
<div class='sheet-psykana_ability_gs13'>Focus Power</div>
<select name='attr_P_focus' class='sheet-psykana_ability_gs14 sheet-full_width sheet-select_corection'>
<optgroup label="Stats :">
<option value='@{wsTotal}'>Weapon Sikll</option>
<option value='@{bsTotal}'>Ballistic Skill</option>
<option value='@{strTotal}'>Strength</option>
<option value='@{touTotal}'>Toughness</option>
<option value='@{agiTotal}'>Agility</option>
<option value='@{intTotal}'>Intelligence</option>
<option value='@{perTotal}'>Perception</option>
<option value='@{wpTotal}' selected='selected'>Willpower</option>
<option value='@{felTotal}'>Fellowship</option>
</optgroup>
<optgroup label="Skills :">
<option value='@{psyniscience_total}'>Psyniscience</option>
</optgroup>
<optgroup label="Custom">
<option value=''>--Use Power Mod--</option>
</optgroup>
</select>
<div class='sheet-psykana_ability_gs15'>Power Mod</div>
<input class='sheet-psykana_ability_gs16 sheet-full_width' type='number' value='0' name='attr_P_mod1' />
<div class='sheet-psykana_ability_gs17'>Type</div>
<select name='attr_P_multi' class='sheet-psykana_ability_gs18 sheet-full_width sheet-select_corection'>
<option value='0'>Psychic Bolt</option>
<option value='1'>Psychic Barrage</option>
<option value='2'>Psychic Storm</option>
<option value='3'>Psychic Blast</option>
</select>
</div>
<div class='sheet-psykana_ability_grid4 sheet-collapsible_entity_toggle sheet-collapsible_entity_toggle_min sheet-collapsible_entity_toggle_half'>
<div class='sheet-psykana_ability_gs19'>Action</div>
<input class='sheet-psykana_ability_gs20 sheet-full_width' type='text' name='attr_P_action' />
<div class='sheet-psykana_ability_gs21'>Sustained</div>
<input class='sheet-psykana_ability_gs22 sheet-full_width' type='text' name='attr_P_sustained' />
<div class='sheet-psykana_ability_gs23'>roll location?</div>
<input class='sheet-psykana_ability_gs24' type='checkbox' name='attr_P_hitloc' value="@{settings_hitroll}" />
</div>
<div class='sheet-collapsible_entity_toggle sheet-collapsible_entity_toggle_min sheet-collapsible_entity_toggle_half'>
<input name='attr_P_ability_r' type='text' placeholder='Disclaimer: Effective PR not counted in casting test use Focus Mod instead' class='sheet-full_width_49px sheet-border_none' />
<label title='Expand' class='sheet-margin_adjust_wep'><input type='checkbox' name='attr_collapse' value='3' class='sheet-collapsible_entity_switch sheet-select_button sheet-hidden' /><span class='sheet-select_text sheet-radius_border_right_wep'>&#9660;</span></label>
<label title='Send description in the chat' class='sheet-margin_adjust_wep2'><button type='roll' value='@{to-gm}&{template:mythic} {{name=@{P_name} }} {{description=@{P_desc_r} }}' class='sheet-hidden'></button><span class='sheet-select_text'>&#128266;</span></label>
<input name='attr_collapse' type='checkbox' value='3' class='sheet-collapsible_entity_switch sheet-hidden' />
<textarea name='attr_P_desc_r' class='sheet-collapsible_entity_block sheet-description_rounded_margin' placeholder='Description'></textarea>
</div>
</div>
</fieldset>
</div>
</div>
</div>
<!-- start of tab Settings -->
<div class='sheet-tab_settings sheet-box sheet-radius_border_box'>
<!-- Settings -->
<h2>Settings</h2>
<h3>Charactermancer</h3>
<button
name='act_charmancer'
type='action'
class='sheet-core_button sheet-bold_text sheet-full_width sheet-edge_padding'
>Start Charactermancer
</button>
<h3>Initiative Overrides</h3>
<select name='attr_initmod0' class='sheet-full_width sheet-edge_padding'>
<option selected='selected' value='[[floor'>No tiebreaker</option>
<option value='[['>Decimal tiebreaker</option>
<option value='tiebreaker [[@{AGI_total}]] roll [[floor'>AGI tiebreaker</option>
</select>
<br>
<h3>Auto Roll Hit Locations</h3>
<select name='attr_settings_hitroll' class='sheet-full_width sheet-edge_padding'>
<option value='{{loc=[[1d100]]}}' selected='selected'>Automatically roll hit locations</option>
<option value=' '>Don't automatically roll hit locations</option>
</select>
<br>
<h3>Fate roll options</h3>
<select name='attr_settings_fate' class='sheet-full_width sheet-edge_padding'>
<option value=' ' selected='selected'>Standard</option>
<option value='cs1'>Shrine world: keep Fate point on roll of 1</option>
</select>
<br>
<h3>Weapon Special in Damage Roll</h3>
<select name='attr_settings_weapondescription' class='sheet-full_width sheet-edge_padding'>
<option value='description'>Include weapon Special</option>
<option value=' ' selected='selected'>Exclude weapon Special</option>
</select>
<br>
<h3>Crunch Summary in Righteous Fury</h3>
<select name='attr_settings_crunchsummary' class='sheet-full_width sheet-edge_padding'>
<option value='crunch'>Include Crunch Summary</option>
<option value=' ' selected='selected'>Exclude Crunch Summary</option>
</select>
<br>
<label title='Toggles Export text'><input type='checkbox' name='attr_export' class='sheet-collapsible_entity_toogle sheet-select_button sheet-hidden' checked /><span class='sheet-select_text'>Export</span></label>
<input type='checkbox' name='attr_export' class='sheet-collapsible_entity_switch sheet-hidden' />
<div class='sheet-json_container sheet-collapsible_entity_block'>
{
"name": "<span name='attr_character_name'></span>",
"homeworld": "<span name='attr_Homeworld'></span>",
"background": "<span name='attr_Background'></span>",
"role": "<span name='attr_Role'></span>",
"eliteAdvances": "<span name='attr_EliteAdvances'></span>",
"note": "<span name='attr_Notes'></span>",
"player":"<span name='attr_Player'></span>",
"appearance":"<span name='attr_appearance'></span> <span name='attr_appearance2'></span>",
"quirks":"<span name='attr_Quirks'></span>",
"divination":"<span name='attr_Divination'></span>",
"superstition":"<span name='attr_Superstition'></span>",
"size":"<span name='attr_size'></span>",
"xp": "<span name='attr_xp_total'></span>",
"movementModifier": "<span name='attr_agi_mov_mod'></span>",
"weaponSkill": {"base": <span name='attr_WS'></span>, "advancement": <span name='attr_WS_advancement'></span>, "modifier": <span name='attr_WS_mod'></span>, "unnatural": <span name='attr_WS_unnat'></span>},
"ballisticSkill": {"base": <span name='attr_BS'></span>, "advancement": <span name='attr_BS_advancement'></span>, "modifier": <span name='attr_BS_mod'></span>, "unnatural": <span name='attr_BS_unnat'></span>},
"strenght": {"base": <span name='attr_STR'></span>, "advancement": <span name='attr_STR_advancement'></span>, "modifier": <span name='attr_STR_mod'></span>, "unnatural": <span name='attr_STR_unnat'></span>},
"toughness": {"base": <span name='attr_TOU'></span>, "advancement": <span name='attr_TOU_advancement'></span>, "modifier": <span name='attr_TOU_mod'></span>, "unnatural": <span name='attr_TOU_unnat'></span>},
"agility": {"base": <span name='attr_AGI'></span>, "advancement": <span name='attr_AGI_advancement'></span>, "modifier": <span name='attr_AGI_mod'></span>, "unnatural": <span name='attr_AGI_unnat'></span>},
"intelligence": {"base": <span name='attr_INT'></span>, "advancement": <span name='attr_INT_advancement'></span>, "modifier": <span name='attr_INT_mod'></span>, "unnatural": <span name='attr_INT_unnat'></span>},
"perception": {"base": <span name='attr_PER'></span>, "advancement": <span name='attr_PER_advancement'></span>, "modifier": <span name='attr_PER_mod'></span>, "unnatural": <span name='attr_PER_unnat'></span>},
"willpower": {"base": <span name='attr_WP'></span>, "advancement": <span name='attr_WP_advancement'></span>, "modifier": <span name='attr_WP_mod'></span>, "unnatural": <span name='attr_WP_unnat'></span>},
"fellowship": {"base": <span name='attr_FEL'></span>, "advancement": <span name='attr_FEL_advancement'></span>, "modifier": <span name='attr_FEL_mod'></span>, "unnatural": <span name='attr_FEL_unnat'></span>},
"influence": {"base": <span name='attr_INF'></span>, "advancement": <span name='attr_INF_advancement'></span>, "modifier": <span name='attr_INF_mod'></span>, "unnatural": <span name='attr_INF_unnat'></span>},
"buffs": [],
"wounds": {"current": <span name='attr_wounds'></span>, "max": <span name='attr_wounds_max'></span>, "criticals": {"head": "<span name='attr_head'></span>","body": "<span name='attr_body'></span>","arm_left": "<span name='attr_arm_left'></span>","arm_right": "<span name='attr_arm_right'></span>","leg_left": "<span name='attr_leg_left'></span>","leg_right": "<span name='attr_leg_right'></span>"}},
"fate": {"current": <span name='attr_fate'></span>, "max": <span name='attr_fate_max'></span>, "setting": "<span name='attr_settings_fate'></span>"},
"fatigue": {"current": <span name='attr_fatigue'></span>, "modifier": <span name='attr_fatigue_mod'></span>},
"forcefield": {"name": "<span name='attr_forcefield_name'></span>", "protection": "<span name='attr_forcefield_protection'></span>", "overload": "<span name='attr_forcefield_overload'></span>"},
"conditions": [<span>
<fieldset name='conditions' class='repeating_conditions'>
{"name": "<span name='attr_condition_r'></span>", "description":"<span name='attr_condition_desc_r'></span>"},
</fieldset>
null
</span>],
"skills": [<span>
<span>
<input type="checkbox" value='0' class='sheet-hidden' name='attr_mod2_acrobatics' checked><input type="checkbox" value='0' class='sheet-hidden' name='attr_mod3_acrobatics' checked>
<span class='sheet-json_skill'>{"name": "acrobatics", "modifier": <span name='attr_mod2_acrobatics'></span>, "level": <span name='attr_mod3_acrobatics'></span>},</span>
</span>
<span>
<input type="checkbox" value='0' class='sheet-hidden' name='attr_mod2_athletics' checked><input type="checkbox" value='0' class='sheet-hidden' name='attr_mod3_athletics' checked>
<span class='sheet-json_skill'>{"name": "athletics", "modifier": <span name='attr_mod2_athletics'></span>, "level": <span name='attr_mod3_athletics'></span>},</span>
</span>
<span>
<input type="checkbox" value='0' class='sheet-hidden' name='attr_mod2_awareness' checked><input type="checkbox" value='0' class='sheet-hidden' name='attr_mod3_awareness' checked>
<span class='sheet-json_skill'>{"name": "awareness", "modifier": <span name='attr_mod2_awareness'></span>, "level": <span name='attr_mod3_awareness'></span>},</span>
</span>
<span>
<input type="checkbox" value='0' class='sheet-hidden' name='attr_mod2_charm' checked><input type="checkbox" value='0' class='sheet-hidden' name='attr_mod3_charm' checked>
<span class='sheet-json_skill'>{"name": "charm", "modifier": <span name='attr_mod2_charm'></span>, "level": <span name='attr_mod3_charm'></span>},</span>
</span>
<span>
<input type="checkbox" value='0' class='sheet-hidden' name='attr_mod2_command' checked><input type="checkbox" value='0' class='sheet-hidden' name='attr_mod3_command' checked>
<span class='sheet-json_skill'>{"name": "command", "modifier": <span name='attr_mod2_command'></span>, "level": <span name='attr_mod3_command'></span>},</span>
</span>
<span>
<input type="checkbox" value='0' class='sheet-hidden' name='attr_mod2_commerce' checked><input type="checkbox" value='0' class='sheet-hidden' name='attr_mod3_commerce' checked>
<span class='sheet-json_skill'>{"name": "commerce", "modifier": <span name='attr_mod2_commerce'></span>, "level": <span name='attr_mod3_commerce'></span>},</span>
</span>
<span>
<input type="checkbox" value='0' class='sheet-hidden' name='attr_mod2_deceive' checked><input type="checkbox" value='0' class='sheet-hidden' name='attr_mod3_deceive' checked>
<span class='sheet-json_skill'>{"name": "deceive", "modifier": <span name='attr_mod2_deceive'></span>, "level": <span name='attr_mod3_deceive'></span>},</span>
</span>
<span>
<input type="checkbox" value='0' class='sheet-hidden' name='attr_mod2_dodge' checked><input type="checkbox" value='0' class='sheet-hidden' name='attr_mod3_dodge' checked>
<span class='sheet-json_skill'>{"name": "dodge", "modifier": <span name='attr_mod2_dodge'></span>, "level": <span name='attr_mod3_dodge'></span>},</span>
</span>
<span>
<input type="checkbox" value='0' class='sheet-hidden' name='attr_mod2_inquiry' checked><input type="checkbox" value='0' class='sheet-hidden' name='attr_mod3_inquiry' checked>
<span class='sheet-json_skill'>{"name": "inquiry", "modifier": <span name='attr_mod2_inquiry'></span>, "level": <span name='attr_mod3_inquiry'></span>},</span>
</span>
<span>
<input type="checkbox" value='0' class='sheet-hidden' name='attr_mod2_interrogation' checked><input type="checkbox" value='0' class='sheet-hidden' name='attr_mod3_interrogation' checked>
<span class='sheet-json_skill'>{"name": "interrogation", "modifier": <span name='attr_mod2_interrogation'></span>, "level": <span name='attr_mod3_interrogation'></span>},</span>
</span>
<span>
<input type="checkbox" value='0' class='sheet-hidden' name='attr_mod2_intimidate' checked><input type="checkbox" value='0' class='sheet-hidden' name='attr_mod3_intimidate' checked>
<span class='sheet-json_skill'>{"name": "intimidate", "modifier": <span name='attr_mod2_intimidate'></span>, "level": <span name='attr_mod3_intimidate'></span>},</span>
</span>
<span>
<input type="checkbox" value='0' class='sheet-hidden' name='attr_mod2_logic' checked><input type="checkbox" value='0' class='sheet-hidden' name='attr_mod3_logic' checked>
<span class='sheet-json_skill'>{"name": "logic", "modifier": <span name='attr_mod2_logic'></span>, "level": <span name='attr_mod3_logic'></span>},</span>
</span>
<span>
<input type="checkbox" value='0' class='sheet-hidden' name='attr_mod2_medicae' checked><input type="checkbox" value='0' class='sheet-hidden' name='attr_mod3_medicae' checked>
<span class='sheet-json_skill'>{"name": "medicae", "modifier": <span name='attr_mod2_medicae'></span>, "level": <span name='attr_mod3_medicae'></span>},</span>
</span>
<span>
<input type="checkbox" value='0' class='sheet-hidden' name='attr_mod2_nav_surface' checked><input type="checkbox" value='0' class='sheet-hidden' name='attr_mod3_nav_surface' checked>
<span class='sheet-json_skill'>{"name": "nav_surface", "modifier": <span name='attr_mod2_nav_surface'></span>, "level": <span name='attr_mod3_nav_surface'></span>},</span>
</span>
<span>
<input type="checkbox" value='0' class='sheet-hidden' name='attr_mod2_nav_stellar' checked><input type="checkbox" value='0' class='sheet-hidden' name='attr_mod3_nav_stellar' checked>
<span class='sheet-json_skill'>{"name": "nav_stellar", "modifier": <span name='attr_mod2_nav_stellar'></span>, "level": <span name='attr_mod3_nav_stellar'></span>},</span>
</span>
<span>
<input type="checkbox" value='0' class='sheet-hidden' name='attr_mod2_nav_warp' checked><input type="checkbox" value='0' class='sheet-hidden' name='attr_mod3_nav_warp' checked>
<span class='sheet-json_skill'>{"name": "nav_warp", "modifier": <span name='attr_mod2_nav_warp'></span>, "level": <span name='attr_mod3_nav_warp'></span>},</span>
</span>
<span>
<input type="checkbox" value='0' class='sheet-hidden' name='attr_mod2_op_aero' checked><input type="checkbox" value='0' class='sheet-hidden' name='attr_mod3_op_aero' checked>
<span class='sheet-json_skill'>{"name": "op_aero", "modifier": <span name='attr_mod2_op_aero'></span>, "level": <span name='attr_mod3_op_aero'></span>},</span>
</span>
<span>
<input type="checkbox" value='0' class='sheet-hidden' name='attr_mod2_op_surface' checked><input type="checkbox" value='0' class='sheet-hidden' name='attr_mod3_op_surface' checked>
<span class='sheet-json_skill'>{"name": "op_surface", "modifier": <span name='attr_mod2_op_surface'></span>, "level": <span name='attr_mod3_op_surface'></span>},</span>
</span>
<span>
<input type="checkbox" value='0' class='sheet-hidden' name='attr_mod2_op_void' checked><input type="checkbox" value='0' class='sheet-hidden' name='attr_mod3_op_void' checked>
<span class='sheet-json_skill'>{"name": "op_void", "modifier": <span name='attr_mod2_op_void'></span>, "level": <span name='attr_mod3_op_void'></span>},</span>
</span>
<span>
<input type="checkbox" value='0' class='sheet-hidden' name='attr_mod2_parry' checked><input type="checkbox" value='0' class='sheet-hidden' name='attr_mod3_parry' checked>
<span class='sheet-json_skill'>{"name": "parry", "modifier": <span name='attr_mod2_parry'></span>, "level": <span name='attr_mod3_parry'></span>},</span>
</span>
<span>
<input type="checkbox" value='0' class='sheet-hidden' name='attr_mod2_psyniscience' checked><input type="checkbox" value='0' class='sheet-hidden' name='attr_mod3_psyniscience' checked>
<span class='sheet-json_skill'>{"name": "psyniscience", "modifier": <span name='attr_mod2_psyniscience'></span>, "level": <span name='attr_mod3_psyniscience'></span>},</span>
</span>
<span>
<input type="checkbox" value='0' class='sheet-hidden' name='attr_mod2_scrutiny' checked><input type="checkbox" value='0' class='sheet-hidden' name='attr_mod3_scrutiny' checked>
<span class='sheet-json_skill'>{"name": "scrutiny", "modifier": <span name='attr_mod2_scrutiny'></span>, "level": <span name='attr_mod3_scrutiny'></span>},</span>
</span>
<span>
<input type="checkbox" value='0' class='sheet-hidden' name='attr_mod2_security' checked><input type="checkbox" value='0' class='sheet-hidden' name='attr_mod3_security' checked>
<span class='sheet-json_skill'>{"name": "security", "modifier": <span name='attr_mod2_security'></span>, "level": <span name='attr_mod3_security'></span>},</span>
</span>
<span>
<input type="checkbox" value='0' class='sheet-hidden' name='attr_mod2_sleight' checked><input type="checkbox" value='0' class='sheet-hidden' name='attr_mod3_sleight' checked>
<span class='sheet-json_skill'>{"name": "sleight", "modifier": <span name='attr_mod2_sleight'></span>, "level": <span name='attr_mod3_sleight'></span>},</span>
</span>
<span>
<input type="checkbox" value='0' class='sheet-hidden' name='attr_mod2_stealth' checked><input type="checkbox" value='0' class='sheet-hidden' name='attr_mod3_stealth' checked>
<span class='sheet-json_skill'>{"name": "stealth", "modifier": <span name='attr_mod2_stealth'></span>, "level": <span name='attr_mod3_stealth'></span>},</span>
</span>
<span>
<input type="checkbox" value='0' class='sheet-hidden' name='attr_mod2_survival' checked><input type="checkbox" value='0' class='sheet-hidden' name='attr_mod3_survival' checked>
<span class='sheet-json_skill'>{"name": "survival", "modifier": <span name='attr_mod2_survival'></span>, "level": <span name='attr_mod3_survival'></span>},</span>
</span>
<span>
<input type="checkbox" value='0' class='sheet-hidden' name='attr_mod2_tech_use' checked><input type="checkbox" value='0' class='sheet-hidden' name='attr_mod3_tech_use' checked>
<span class='sheet-json_skill'>{"name": "tech_use", "modifier": <span name='attr_mod2_tech_use'></span>, "level": <span name='attr_mod3_tech_use'></span>},</span>
</span>
<span>
<input type="checkbox" value='0' class='sheet-hidden' name='attr_mod2_forbidden-lore' checked><input type="checkbox" value='0' class='sheet-hidden' name='attr_mod3_forbidden-lore' checked>
</span>
null
</span>],
"lores": {
"common": [<span>
{"name": "<span name='attr_common-lore_name'></span>", "modifier": <span name='attr_common-lore_mod2'></span>, "level": <span name='attr_common-lore_mod3'></span>},
<fieldset name='common-lore' class='repeating_common-lore'>
{"name" : "<span name='attr_common-lore_name'></span>", "modifier": <span name='attr_common-lore_r_mod2'></span>, "level": <span name='attr_common-lore_r_mod3'></span>},
</fieldset>
null
</span>],
"scholastic": [<span>
{"name": "<span name='attr_scholastic-lore_name'></span>", "modifier": <span name='attr_scholastic-lore_mod2'></span>, "level": <span name='attr_scholastic-lore_mod3'></span>},
<fieldset name='scholastic-lore' class='repeating_scholastic-lore'>
{"name" : "<span name='attr_scholastic-lore_name'></span>", "modifier": <span name='attr_scholastic-lore_r_mod2'></span>, "level": <span name='attr_scholastic-lore_r_mod3'></span>},
</fieldset>
null
</span>],
"forbidden": [<span>
{"name": "<span name='attr_forbidden-lore_name'></span>", "modifier": <span name='attr_forbidden-lore_mod2'></span>, "level": <span name='attr_forbidden-lore_mod3'></span>},
<fieldset name='forbidden-lore' class='repeating_forbidden-lore'>
{"name" : "<span name='attr_forbidden-lore_name'></span>", "modifier": <span name='attr_forbidden-lore_r_mod2'></span>, "level": <span name='attr_forbidden-lore_r_mod3'></span>},
</fieldset>
null
</span>]
},
"linguistics": [<span>
{"name": "<span name='attr_linguistics_name'></span>", "modifier": <span name='attr_linguistics_mod2'></span>, "level": <span name='attr_linguistics_mod3'></span>},
<fieldset name='linguistics' class='repeating_linguistics'>
{"name" : "<span name='attr_linguistics_name'></span>", "modifier": <span name='attr_linguistics_r_mod2'></span>, "level": <span name='attr_linguistics_r_mod3'></span>},
</fieldset>
null
</span>],
"trades": [<span>
{"name": "<span name='attr_trade_name'></span>", "modifier": <span name='attr_trade_mod2'></span>, "level": <span name='attr_trade_mod3'></span>},
<fieldset name='trade' class='repeating_trade'>
{"name" : "<span name='attr_trade_name'></span>", "modifier": <span name='attr_trade_r_mod2'></span>, "level": <span name='attr_trade_r_mod3'></span>},
</fieldset>
null
</span>],
"abilities": [<span>
{"name": "<span name='attr_ability'></span>", "description":"<span name='attr_ability_desc'></span>"},
<fieldset name='abilities' class='repeating_abilities'>
{"name": "<span name='attr_ability_r'></span>", "description":"<span name='attr_ability_desc_r'></span>"},
</fieldset>
null
</span>],
"traits": [<span>
{"name": "<span name='attr_trait'></span>", "description":"<span name='attr_trait_desc'></span>"},
<fieldset name='traits' class='repeating_traits'>
{"name": "<span name='attr_trait_r'></span>", "description":"<span name='attr_trait_desc_r'></span>"},
</fieldset>
null
</span>],
"inventory": {
"weapons": {
"ranged": [<span>
<fieldset name='rangedweapons' class='repeating_rangedweapons'>{
"name": "<span name='attr_R_weapon_name'></span>",
"class":"<span name='attr_R_weapon_class'></span>",
"range":"<span name='attr_R_weapon_range'></span>",
"damage":"<span name='attr_R_weapon_dam-roll'></span>",
"pen":"<span name='attr_R_weapon_pen'></span>",
"type":"<span name='attr_R_weapon_type'></span>",
"max":"<span name='attr_R_weapon_max'></span>",
"min":"<span name='attr_R_weapon_min'></span>",
"vengeful":"<span name='attr_R_weapon_vengeful'></span>",
"accurate":"<span name='attr_R_weapon_accurate'></span>",
"burst":"<span name='attr_R_weapon_burst'></span>",
"auto":"<span name='attr_R_weapon_auto'></span>",
"mag":"<span name='attr_R_weapon_mag'></span>",
"mag_max":"<span name='attr_R_weapon_mag_max'></span>",
"trained":"<span name='attr_R_weapon_trained'></span>",
"mod1":"<span name='attr_R_weapon_mod1'></span>",
"reload":"<span name='attr_R_weapon_reload'></span>",
"weight":"<span name='attr_R_weapon_weight'></span>",
"domain":"<span name='attr_R_weapon_domain'></span>",
"mishap_chance":"<span name='attr_R_weapon_mishap_chance'></span>",
"carry":"<span name='attr_R_weapon_carry'></span>",
"special":"<span name='attr_R_ability_r'></span>",
"description":"<span name='attr_R_ability_desc_r'></span>"
},</fieldset>
null
</span>],
"melee": [<span>
<fieldset name='meleeweapons' class='repeating_meleeweapons'>{
"name": "<span name='attr_M_weapon_name'></span>",
"class":"Melee",
"reach":"<span name='attr_M_weapon_reach'></span>",
"damage":"<span name='attr_M_weapon_dam-roll'></span>",
"pen":"<span name='attr_M_weapon_pen'></span>",
"type":"<span name='attr_M_weapon_type'></span>",
"max":"<span name='attr_M_weapon_max'></span>",
"min":"<span name='attr_M_weapon_min'></span>",
"vengeful":"<span name='attr_M_weapon_vengeful'></span>",
"trained":"<span name='attr_M_weapon_trained'></span>",
"mod1":"<span name='attr_M_weapon_mod1'></span>",
"weight":"<span name='attr_M_weapon_weight'></span>",
"domain":"<span name='attr_M_weapon_domain'></span>",
"carry":"<span name='attr_M_weapon_carry'></span>",
"special":"<span name='attr_M_ability_r'></span>",
"description":"<span name='attr_M_ability_desc_r'></span>"
},</fieldset>
null
</span>]
},
"gears": [<span>
{"carry":"<span name='attr_gear_carry'></span>", "name":"<span name='attr_gear_name'></span>", "craftsmanship":"<span name='attr_gear_crafts'></span>", "quantity":"<span name='attr_gear_quantity'></span>", "availability":"<span name='attr_gear_avail'></span>", "weight":"<span name='attr_gear_weight'></span>", "description":"<span name='attr_ability_desc'></span>"},
<fieldset name='gear' class='repeating_gear'>{
"carry":"<span name='attr_gear_carry_r'></span>",
"name":"<span name='attr_gear_name_r'></span>",
"craftsmanship":"<span name='attr_gear_crafts_r'></span>",
"quantity":"<span name='attr_gear_quantity_r'></span>",
"availability":"<span name='attr_gear_avail_r'></span>",
"weight":"<span name='attr_gear_weight_r'></span>",
"description":"<span name='attr_ability_desc_r'></span>"},
</fieldset>
null
</span>],
"tools": [],
"consumables": [],
"armor": {"maxAgi": "<span name='attr_armor_AGI'></span>","limit": "<span name='attr_armor_limit'></span>","head": "<span name='attr_armor_head'></span>","body": "<span name='attr_armor_body'></span>","arm_right": "<span name='attr_armor_arm_right'></span>","arm_left": "<span name='attr_armor_arm_left'></span>","leg_right": "<span name='attr_armor_leg_right'></span>","leg_left": "<span name='attr_armor_leg_left'></span>", "description": "<span name='attr_armor_name'></span>"},
"armors": [],
"ammo": [],
"cybernetics": [<span>
{"name":"<span name='attr_cybernetic_name'></span>","location":"<span name='attr_cybernetic_location'></span>","description":"<span name='attr_cybernetic_desc'></span>"},
<fieldset name='cybernetics' class='repeating_cybernetics'>{
"name":"<span name='attr_cybernetic_name_r'></span>",
"location":"<span name='attr_cybernetic_location_r'></span>",
"description":"<span name='attr_cybernetic_desc_r'></span>"},
</fieldset>
null
</span>]
},
"advancements": {
"aptitudes": [<span>
"<span name='attr_aptitude_nameL'></span>","<span name='attr_aptitude_nameM'></span>","<span name='attr_aptitude_nameR'></span>",
<fieldset name='aptitudes' class='repeating_aptitudes'>
"<span name='attr_aptitude_nameL_r'></span>","<span name='attr_aptitude_nameM_r'></span>","<span name='attr_aptitude_nameR_r'></span>",
</fieldset>
null
</span>],
"advances": [<span>
{"name":"<span name='attr_advancement_nameL' ></span>","cost":"<span name='attr_advancement_costL'></span>"},
{"name":"<span name='attr_advancement_nameR' ></span>","cost":"<span name='attr_advancement_costR'></span>"},
<fieldset name='advancements' class='repeating_advancements'>
{"name":"<span name='attr_advancement_nameL_r' ></span>","cost":"<span name='attr_advancement_costL_r'></span>"},
{"name":"<span name='attr_advancement_nameR_r' ></span>","cost":"<span name='attr_advancement_costR_r'></span>"},
</fieldset>
null
</span>],
"training":{<span>
"bolt": "<span name='attr_weapons_training_bolt'></span>",
"chain": "<span name='attr_weapons_training_chain'></span>",
"flame": "<span name='attr_weapons_training_flame'></span>",
"las": "<span name='attr_weapons_training_las'></span>",
"launcher": "<span name='attr_weapons_training_launcher'></span>",
"melta": "<span name='attr_weapons_training_melta'></span>",
"plasma": "<span name='attr_weapons_training_plasma'></span>",
"power": "<span name='attr_weapons_training_power'></span>",
"low-tech": "<span name='attr_weapons_training_low-tech'></span>",
"shock": "<span name='attr_weapons_training_shock'></span>",
"solid-projectile": "<span name='attr_weapons_training_solid-projectile'></span>",
"heavy": "<span name='attr_weapons_training_heavy'></span>"
</span>}
},
"insanity": {
"points": "<span name='attr_insanity_pts'></span>",
"disorders": [<span>
<fieldset name="disorders" class='repeating_disorders'>
{"name": "<span name='attr_disorder_r'></span>", "description": "<span name='attr_disorder_desc_r'></span>"},
</fieldset>
null
</span>]
},
"corruption": {
"points": "<span name='attr_corruption_pts'></span>",
"mutations": [<span>
<fieldset name="mutations" class='repeating_mutations'>
{"name": "<span name='attr_mutation_r'></span>", "description": "<span name='attr_mutation_desc_r'></span>"},
</fieldset>
null
</span>]
},
"objectives": [<span>
<fieldset name='objectives' class='repeating_objectives'>
{"name":"<span name='attr_objective'></span>","complete":"<span name='attr_objective_completed'></span>"},
</fieldset>
null
</span>],
"notes": [<span>
<fieldset name='notes' class='repeating_notes'>
"<span name='attr_notes'></span>",
</fieldset>
null
</span>],
"vehicles": {
"list": [<span>
<fieldset name='vehicles-R' class='repeating_vehicles'>
{"name": "<span name='attr_vehicle-name'></span>", "size": "<span name='attr_vehicle-size'></span>","world":"<span name='attr_vehicle-world'></span>","type":"<span name='attr_vehicle-type'></span>","tactical":"<span name='attr_vehicle-tactical'></span>","cruising":"<span name='attr_vehicle-cruising'></span>","maneuver":"<span name='attr_vehicle-maneuver'></span>", "crew":"<span name='attr_vehicle-crew'></span>", "compliment":"<span name='attr_vehicle-compliment'></span>", "integrity":"<span name='attr_vehicle-integrity'></span>", "integrity_max":"<span name='attr_vehicle-integrity_max'></span>", "armor-front":"<span name='attr_vehicle-armor-front'></span>", "armor-side":"<span name='attr_vehicle-armor-side'></span>", "armor-rear":"<span name='attr_vehicle-armor-rear'></span>", "armaments":"<span name='attr_armaments'></span>", "armaments_desc":"<span name='attr_armaments_desc'></span>", "traits":"<span name='attr_vehicle_traits'></span>", "traits_desc":"<span name='attr_vehicle_traits_desc'></span>", "modifications":"<span name='attr_modifications'></span>", "modifications_desc":"<span name='attr_modifications_desc'></span>"},
</fieldset>
null
</span>],
"weapons": {
"ranged": [<span>
<fieldset name='vehiclerangedweapons' class='repeating_vehiclerangedweapons'>{
"name": "<span name='attr_V_R_weapon_name'></span>",
"class":"<span name='attr_R_weapon_class'></span>",
"range":"<span name='attr_V_R_weapon_range'></span>",
"damage":"<span name='attr_V_R_weapon_dam-roll'></span>",
"pen":"<span name='attr_V_R_weapon_pen'></span>",
"type":"<span name='attr_V_R_weapon_type'></span>",
"max":"<span name='attr_V_R_weapon_max'></span>",
"min":"<span name='attr_V_R_weapon_min'></span>",
"vengeful":"<span name='attr_V_R_weapon_vengeful'></span>",
"accurate":"<span name='attr_V_R_weapon_accurate'></span>",
"burst":"<span name='attr_V_R_weapon_burst'></span>",
"auto":"<span name='attr_V_R_weapon_auto'></span>",
"mag":"<span name='attr_V_R_weapon_mag'></span>",
"mag_max":"<span name='attr_V_R_weapon_mag_max'></span>",
"trained":"<span name='attr_V_R_weapon_trained'></span>",
"mod1":"<span name='attr_V_R_weapon_mod1'></span>",
"reload":"<span name='attr_V_R_weapon_reload'></span>",
"weight":"<span name='attr_V_R_weapon_weight'></span>",
"domain":"<span name='attr_V_R_weapon_domain'></span>",
"mishap_chance":"<span name='attr_V_R_weapon_mishap_chance'></span>",
"special":"<span name='attr_V_R_ability_r'></span>",
"description":"<span name='attr_V_R_ability_desc_r'></span>"
},</fieldset>
null
</span>],
"melee": [<span>
<fieldset name='vehiclemeleeweapons' class='repeating_vehiclemeleeweapons'>{
"name": "<span name='attr_V_M_weapon_name'></span>",
"class":"Melee",
"reach":"<span name='attr_V_M_weapon_reach'></span>",
"damage":"<span name='attr_V_M_weapon_dam-roll'></span>",
"pen":"<span name='attr_V_M_weapon_pen'></span>",
"type":"<span name='attr_V_M_weapon_type'></span>",
"max":"<span name='attr_V_M_weapon_max'></span>",
"min":"<span name='attr_V_M_weapon_min'></span>",
"vengeful":"<span name='attr_V_M_weapon_vengeful'></span>",
"trained":"<span name='attr_V_M_weapon_trained'></span>",
"mod1":"<span name='attr_V_M_weapon_mod1'></span>",
"weight":"<span name='attr_V_M_weapon_weight'></span>",
"domain":"<span name='attr_V_M_weapon_domain'></span>",
"carry":"<span name='attr_V_M_weapon_carry'></span>",
"special":"<span name='attr_V_M_ability_r'></span>",
"description":"<span name='attr_V_M_ability_desc_r'></span>"
},</fieldset>
null
</span>]
}
},
"psykana":{
"class":"<span name='attr_psykana_class'></span>",
"limit":"<span name='attr_psykana_limit'></span>",
"rating":"<span name='attr_psy_rating'></span>",
"push":"<span name='attr_psy_push'></span>",
"sustain":"<span name='attr_psykana_sustain'></span>",
"focus_mod":"<span name='attr_focus_mod'></span>",
"sustain_count":"<span name='attr_psykana_sustain_count'></span>",
"minor":[<span>
<fieldset name='minormanifestation' class='repeating_minormanifestation'>
{"name":"<span name='attr_P_minor_r'></span>","description":"<span name='attr_P_minor_desc_r'></span>"},
</fieldset>
null
</span>],
"notes":[<span>
<fieldset name='psynotes' class='repeating_psynotes'>
{"name":"<span name='attr_P_note_r'></span>","description":"<span name='attr_P_note_desc_r'></span>"},
</fieldset>
null
</span>],
"powers":[<span>
<fieldset name='psychicabilities' class='repeating_psychicabilities'>
{"name":"<span name='attr_P_name'></span>","subtype":"<span name='attr_P_subtype'></span>","range":"<span name='attr_P_range'></span>","damage":"<span name='attr_P_dam-roll'></span>","type":"<span name='attr_P_type'></span>","pen":"<span name='attr_P_pen'></span>","focus":"<span name='attr_P_focus'></span>","mod":"<span name='attr_P_mod1'></span>","multi":"<span name='attr_P_multi'></span>","action":"<span name='attr_P_action'></span>","sustained":"<span name='attr_P_sustained'></span>","hitloc":"<span name='attr_P_hitloc'></span>","ability":"<span name='attr_P_ability_r'></span>","desc":"<span name='attr_P_desc_r'></span>"},
</fieldset>
null
</span>]
}
}
</div>
<label title='Toggles Import area'><input type='checkbox' name='attr_import' class='sheet-collapsible_entity_switch sheet-select_button sheet-hidden' checked /><span class='sheet-select_text'>Import</span></label>
<input type='checkbox' name='attr_import' class='sheet-collapsible_entity_switch sheet-hidden' />
<div class='sheet-collapsible_entity_block'>
<textarea name="attr_import_value" placeholder="Copy the Export text here"></textarea>
<button name='act_import_clear' type='action' class='sheet-core_button sheet-bold_text'>Clear</button>
<button name='act_import' type='action' class='sheet-core_button sheet-bold_text'>Import</button>
</div>
</div>
</div>
<!--
NOTE: replace worker by javascript for IDE functionality
don't forget to put worker back for published version
-->
<script type='text/worker'>
// <script>
// Async Await functions
const asw = (() => {
const setActiveCharacterId = function(charId){
let oldAcid=getActiveCharacterId();
let ev = new CustomEvent("message");
ev.data={"id":"0", "type":"setActiveCharacter", "data":charId};
self.dispatchEvent(ev);
return oldAcid;
};
const promisifyWorker = (worker, parameters) => {
let acid=getActiveCharacterId();
let prevAcid=null;
return new Promise((res,rej)=>{
prevAcid=setActiveCharacterId(acid);
try {if (worker===0) getAttrs(parameters[0]||[],(v)=>res(v));
else if (worker===1) setAttrs(parameters[0]||{}, parameters[1]||{},(v)=>res(v));
else if (worker===2) getSectionIDs(parameters[0]||'',(v)=>res(v));
} catch(err) {rej(console.error(err))}
}).finally(()=>setActiveCharacterId(prevAcid));
}
return {
getAttrs(attrArray) {return promisifyWorker(0, [attrArray])},
setAttrs(attrObj, options) {return promisifyWorker(1, [attrObj, options])},
getSectionIDs(section) {return promisifyWorker(2, [section])},
setActiveCharacterId,
}
})();
on('clicked:fate_roll', () => {
getAttrs(['fate', 'settings_fate'], (v) => {
startRoll("@{to-gm}&{template:mythic} {{character= @{character_name}}}{{fate= [[1d10cs10@{settings_fate}]]}}", (results) => {
let total = results.results.fate.result
let computed = (total == 10) ? "Success" : "Failure"
if (v.settings_fate == 'cs1' && total == 1) computed = "Success"
finishRoll(
results.rollId,
{
fate: computed
}
);
if (computed == "Failure") {
let fate = parseInt(v.fate) - 1
setAttrs({fate: fate})
}
});
});
});
on('clicked:force_roll', async () => {
const attrs = await asw.getAttrs(['forcefield_name', 'forcefield_overload', 'forcefield_protection'])
let forcefield_protection = parseInt(attrs.forcefield_protection) +1
startRoll(`@{to-gm}&{template:mythic} {{character= @{character_name}}} {{forcefield= ${attrs.forcefield_name}}} {{roll= [[1d100cs>${forcefield_protection}cf<${attrs.forcefield_overload}]]}}`, (results) => {
finishRoll(results.rollId);
});
});
const HIT_LOCATIONS = {
'Head': ['Head', 'Head', 'Arm ', 'Body', 'Arm', 'Body'],
'Right_Arm' : ['Right Arm', 'Arm', 'Body', 'Head', 'Body', 'Arm'],
'Left_Arm' : ['Left Arm', 'Arm', 'Body', 'Head', 'Body', 'Arm'],
'Body': ['Body', 'Body', 'Arm', 'Head', 'Arm', 'Body'],
'Right_Leg' : ['Right Leg', 'Leg', 'Body', 'Arm', 'Head', 'Body'],
'Left_Leg' : ['Left Leg', 'Leg', 'Body', 'Arm', 'Head', 'Body']
}
function determineHitsLocations(roll) {
if (roll <= 10) return HIT_LOCATIONS.Head
if (roll <= 20) return HIT_LOCATIONS.Right_Arm
if (roll <= 30) return HIT_LOCATIONS.Left_Arm
if (roll <= 70) return HIT_LOCATIONS.Body
if (roll <= 85) return HIT_LOCATIONS.Right_Leg
return HIT_LOCATIONS.Left_Leg
}
function reverseRoll(roll) {
let result = roll.toString()
if (result.length == 1) result = "0" + result
result = result.split("").reverse().join("")
return parseInt(result)
}
on('clicked:repeating_rangedweapons:hit', () => {
getAttrs(['repeating_rangedweapons_id'], (v) => {
let id = `repeating_rangedweapons_${v.repeating_rangedweapons_id}`
console.log(id)
startRoll(`@{to-gm}&{template:mythic} {{character= @{character_name}}} {{attack= }}{{weapon= @{${id}_R_weapon_name}}}{{dos=[[[[1+ floor(abs([[{{ {@{${id}_R_weapon_target}+@{inlinemod-toggle}},{@{bsTotal}-@{limiter}}}kh1,{@{bsTotal}+@{limiter}}}kl1]]-[[1d100@{${id}_R_weapon_mishap_chance}]])/10)]]+ceil(@{BS_unnat}/2)]]}}{{target= $[[0]]}}{{roll= $[[1]]}}{{dof= $[[2]]}}@{settings_hitroll}{{aim= [[@{${id}_R_weapon_aim}]]}}{{${id}_R_type= [[@{${id}_R_weapon_attack}]]}}{{range= [[@{${id}_R_weapon_attack_range}]]}}{{modifier= [[@{inlinemod-toggle}]]}}{{skill_name= Ballistic}}{{skill=[[@{BS}]]}}{{advancement= [[@{BS_advancement}]]}}{{weaponmod= [[@{${id}_R_weapon_mod1}]]}}{{trained= [[@{${id}_R_weapon_trained}]]}}{{burst=@{${id}_R_weapon_burst}}}{{auto=@{${id}_R_weapon_auto}}}`, (results) => {
console.log(results)
let roll = results.results.roll.result
let hitRoll = reverseRoll(roll)
console.log(hitRoll)
console.log(determineHitsLocations(hitRoll))
console.log(roll)
finishRoll(
results.rollId,
{
dos: results.results.dos.result,
target: results.results.target.result,
roll: results.results.roll.result,
dof: results.results.dof.result,
aim: results.results.aim.result,
range: results.results.range.result,
modifier: results.results.modifier.result,
skill: results.results.skill.result,
advancement: results.results.advancement.result,
weaponmod: results.results.weaponmod.result,
trained: results.results.trained.result,
loc: determineHitsLocations(hitRoll)[0]
}
);
});
});
});
// repeating sections data array
const BUFF = {
active: 'active_r',
ws: 'WS_mod_r',
bs: 'BS_mod_r',
str: 'STR_mod_r',
tou: 'TOU_mod_r',
agi: 'AGI_mod_r',
int: 'INT_mod_r',
per: 'PER_mod_r',
wp: 'WP_mod_r',
fel: 'FEL_mod_r',
inf: 'INF_mod_r'
},
GEAR = {
carry: 'gear_carry_r',
name: 'gear_name_r',
craftsmanship: 'gear_crafts_r',
quantity: 'gear_quantity_r',
availability: 'gear_avail_r',
weight: 'gear_weight_r'
},
R_WEAPON = {
name : 'R_weapon_name',
class : 'R_weapon_class',
range : 'R_weapon_range',
damage : 'R_weapon_dam-roll',
pen : 'R_weapon_pen',
type : 'R_weapon_type',
max : 'R_weapon_max',
min : 'R_weapon_min',
vengeful : 'R_weapon_vengeful',
accurate : 'R_weapon_accurate',
burst : 'R_weapon_burst',
auto : 'R_weapon_auto',
mag : 'R_weapon_mag',
mag_max : 'R_weapon_mag_max',
trained : 'R_weapon_trained',
mod1 : 'R_weapon_mod1',
reload : 'R_weapon_reload',
weight : 'R_weapon_weight',
domain : 'R_weapon_domain'
}
// Skills unnatural bonus sheet worker
/**
* skillRoll description
* @param {string} skill - name of the skill
* @param {string} focus - short name of the characteristic
*/
const skillRoll = (skill, focus) => {
let attr = {};
attr[`${skill}_focus`] = `@{${focus}Total}`;
attr[`${skill}_unnat`]=`@{${focus.toUpperCase()}_unnat}`;
return attr;
};
let skills = [
'acrobatics','athletics','awareness','charm','command','commerce','deceive','dodge','inquiry',
'interrogation','intimidate','logic','medicae','nav_surface','nav_stellar','nav_warp','op_aero','op_surface','op_void',
'parry','psyniscience','scrutiny','security','sleight','stealth','survival','tech_use',
'linguistics','common-lore','scholastic-lore','forbidden-lore','trade'
];
let repeatingSkills = ['skill','linguistics','common-lore','scholastic-lore','forbidden-lore','trade'];
on('sheet:opened ' + skills.map(skill => `change:${skill}_char change:${skill}_name`).join(' ') + repeatingSkills.map(skill => `change:repeating_${skill}:${skill}_r_char change:repeating_${skill}:${skill}_name`).join(' '), function () {
console.log('== UPDATING SKILLS ==');
getAttrs(skills.map( skill => `${skill}_char`), (values) => {
let attr = {};
for (var [skill, focus] of Object.entries(values)) {
attr = {...attr, ...skillRoll(skill.replace('_char', ''), focus)};
}
setAttrs(attr);
});
repeatingSkills.forEach(field => {
var repSkills = [];
getSectionIDs(field, ids => {
ids.forEach( id => {
repSkills.push(`repeating_${field}_${id}_${field}_r_char`);
});
getAttrs(repSkills, (values) => {
let attr = {};
for (var [skill, focus] of Object.entries(values)) {
attr = {...attr, ...skillRoll(skill.replace('_char', ''), focus)};
}
if (attr) setAttrs(attr);
});
});
});
console.log('== SKILLS UPDATED ==');
});
// Movement and Weight sheet worker and Fatigue Pts
class Stats {
constructor(name) {
const stat = asw.getAttrs([`${name}`, `${name}_unnat`, `${name}_advancement`, `${name}_mod`])
this.base = parseInt(stat[`${stat}`], 10) || 0
this.modifier = parseInt(stat[`${stat}_mod`], 10) || 0
this.advancement = parseInt(stat[`${stat}_advancement`], 10) || 0
this.unnat = parseInt(stat[`${stat}_unnat`], 10) || 0
this.total = () => this.base + this.modifier + this.advancement
this.bonus = () => Math.floor(this.total / 10 + this.unnat)
}
}
let fieldsMWF = [
'size', 'fatigue', 'carry', 'weight_total',
'ws', 'ws_unnat', 'ws_advancement', 'ws_mod',
'bs', 'bs_unnat', 'bs_advancement', 'bs_mod',
'str', 'str_unnat', 'str_advancement', 'str_mod',
'tou', 'tou_unnat', 'tou_advancement', 'tou_mod',
'int', 'int_unnat', 'int_advancement', 'int_mod',
'per', 'per_unnat', 'per_advancement', 'per_mod',
'wp', 'wp_unnat', 'wp_advancement', 'wp_mod',
'fel', 'fel_unnat', 'fel_advancement', 'fel_mod',
'inf', 'inf_unnat',
'agi', 'agi_unnat', 'agi_advancement', 'agi_mod', 'agi_mov_mod', 'armor_agi', 'armor_limit',
'fatigue_ignore', 'psykana_class'
];
on('sheet:opened ' + fieldsMWF.map(field => 'change:' + field).join(' '), function(e) {
getAttrs(fieldsMWF, function(values) {
// SIZE
var size = parseInt(values['size'], 10) || 0;
// FATIGUE
var fatigue = parseInt(values['fatigue'], 10) || 0;
var fatigueIgnore = parseInt(values['fatigue_ignore'], 10) || 0;
if (fatigueIgnore) fatigue = 0;
// CARRY
var carry = parseInt(values['carry'], 10) || 0;
var weight_total = parseInt(values['weight_total'], 10) || 0;
// STATS
function Stat(stat) {
this.base = parseInt(values[`${stat}`], 10) || 0
this.modifier = parseInt(values[`${stat}_mod`], 10) || 0
this.advancement = parseInt(values[`${stat}_advancement`], 10) || 0
this.unnat = parseInt(values[`${stat}_unnat`], 10) || 0
this.total = this.base + this.modifier + this.advancement
this.bonus = () => Math.floor(this.total / 10 + this.unnat)
}
// WS
var ws = new Stat('ws')
if (ws.bonus() < fatigue) ws.total = Math.ceil(ws.total / 2)
// BS
var bs = new Stat('bs')
if (bs.bonus() < fatigue) bs.total = Math.ceil(bs.total / 2)
// STR
var str = new Stat('str')
if (str.bonus() < fatigue) str.total = Math.ceil(str.total / 2)
// TOU
var tou = new Stat('tou')
if (tou.bonus() < fatigue) tou.total = Math.ceil(tou.total / 2)
// AGI
var agi = new Stat('agi')
agi_mov_mod = parseInt(values['agi_mov_mod'], 10) || 0,
armor_agi = parseInt(values['armor_agi'], 10) || 0,
armor_limit = parseInt(values['armor_limit'], 10) || 0;
if (weight_total > carry) agi.total -= 10
if (armor_limit) agi.total = (agi.total > armor_agi ) ? armor_agi : agi.total
if (agi.bonus() < fatigue) agi.total = Math.ceil(agi.total / 2)
// INT
var int = new Stat('int')
if (int.bonus() < fatigue) int.total = Math.ceil(int.total / 2)
// PER
var per = new Stat('per')
if (per.bonus() < fatigue) per.total = Math.ceil(per.total / 2)
// WP
var wp = new Stat('wp')
if (wp.bonus() < fatigue) wp.total = Math.ceil(wp.total / 2)
// FEL
var fel = new Stat('fel')
// Blank FEL halfing
var blank = values['psykana_class']
if (blank === '-1') fel.total = Math.ceil(fel.total / 2);
if (fel.bonus() < fatigue) fel.total = Math.ceil(fel.total / 2)
// INF
var inf = new Stat('inf')
if (inf.bonus() < fatigue) inf.total = Math.ceil(inf.total / 2)
var move_mod = agi.bonus() + size + agi_mov_mod;
var carry_mod = str.bonus() + tou.bonus();
var carry_calc;
// 40k system does their carry weight off a sheet-table
switch (carry_mod) {
case 1: carry_calc = 2.25; break;
case 2: carry_calc = 4.5; break;
case 3: carry_calc = 9; break;
case 4: carry_calc = 18; break;
case 5: carry_calc = 27; break;
case 6: carry_calc = 36; break;
case 7: carry_calc = 45; break;
case 8: carry_calc = 56; break;
case 9: carry_calc = 67; break;
case 10: carry_calc = 78; break;
case 11: carry_calc = 90; break;
case 12: carry_calc = 112; break;
case 13: carry_calc = 225; break;
case 14: carry_calc = 337; break;
case 15: carry_calc = 450; break;
case 16: carry_calc = 675; break;
case 17: carry_calc = 900; break;
case 18: carry_calc = 1350; break;
case 19: carry_calc = 1800; break;
case 20: carry_calc = 2250; break;
}
// normal, no unnatural
setAttrs({
half_move: (move_mod),
full_move: (move_mod * 2),
charge_move: (move_mod * 3),
run_move: (move_mod * 6),
carry: (carry_calc * 1), //taking out the * 1 seems to cause attr_carry to freeze when carry_mod is set to 1 or 0
lift: (carry_calc * 2),
push: (carry_calc * 4),
bsTotal: (bs.total),
bsB: (bs.bonus()),
wsTotal: (ws.total),
wsB: (ws.bonus()),
strTotal: (str.total),
strB: (str.bonus()),
touTotal: (tou.total),
touB: (tou.bonus()),
agiTotal: (agi.total),
agiB: (agi.bonus()),
intTotal: (int.total),
intB: (int.bonus()),
perTotal: (per.total),
perB: (per.bonus()),
wpTotal: (wp.total),
wpB: (wp.bonus()),
felTotal: (fel.total),
felB: (fel.bonus()),
infTotal: (inf.total),
infB: (inf.bonus()),
});
// 0 mod movement override
if (move_mod <= 0) {
setAttrs({
half_move: (0.5),
full_move: (1),
charge_move: (2),
run_move: (3)
});
}
// 0 mod carry override
if (carry_mod <=0) {
setAttrs({
carry: (0.9),
lift: (2.25),
push: (4.5)
});
}
});
});
// Fatigue and Armor sheet worker
let fieldsFA = [
'fatigue_mod',
'tou', 'tou_unnat', 'tou_advancement', 'tou_mod',
'wp', 'wp_unnat', 'wp_advancement', 'wp_mod',
'armor_head', 'armor_arm_right', 'armor_body', 'armor_arm_left', 'armor_leg_right', 'armor_leg_left'
];
on('sheet:opened ' + fieldsFA.map(field => 'change:' + field).join(' '), function() {
getAttrs(fieldsFA, function(values) {
var fatigue_mod = parseInt(values['fatigue_mod'], 10) || 0;
var toughness = parseInt(values['tou'], 10) || 0;
var toughness_unnat = parseInt(values['tou_unnat'], 10) || 0;
var toughness_advancement = parseInt(values['tou_advancement'], 10) || 0;
var toughness_modifier = parseInt(values['tou_mod'], 10) || 0;
var toughness_bonus = Math.floor((toughness + toughness_advancement + toughness_modifier) / 10 + toughness_unnat);
var willpower = parseInt(values['wp'], 10) || 0;
var willpower_unnat = parseInt(values['wp_unnat'], 10) || 0;
var willpower_advancement = parseInt(values['wp_advancement'], 10) || 0;
var willpower_modifier = parseInt(values['wp_mod'], 10) || 0;
var willpower_bonus = Math.floor((willpower + willpower_advancement + willpower_modifier) / 10 + willpower_unnat);
var armor_head = parseInt(values['armor_head'], 10) || 0;
var armor_arm_right = parseInt(values['armor_arm_right'], 10) || 0;
var armor_body = parseInt(values['armor_body'], 10) || 0;
var armor_arm_left = parseInt(values['armor_arm_left'], 10) || 0;
var armor_leg_right = parseInt(values['armor_leg_right'], 10) || 0;
var armor_leg_left = parseInt(values['armor_leg_left'], 10) || 0;
// normal, no modifiers _
setAttrs({
soak_head: (armor_head + toughness_bonus),
soak_arm_right: (armor_arm_right + toughness_bonus),
soak_body: (armor_body + toughness_bonus),
soak_arm_left: (armor_arm_left + toughness_bonus),
soak_leg_right: (armor_leg_right + toughness_bonus),
soak_leg_left: (armor_leg_left + toughness_bonus),
fatigue_max: (toughness_bonus + willpower_bonus + fatigue_mod)
});
});
});
// Tabs sheet worker
const buttonlist = ['core','equipment','advancements','journal','vehicle','psykana','settings'];
buttonlist.forEach(button => {
on(`clicked:${button}`, function() {
setAttrs({
sheetTab: button
});
});
});
// Inventory Tabs sheet worker
const buttonListIventory = ['all', 'weapon', 'armour', 'gear', 'tool', 'consumables', 'ammo', 'cyberntic', 'other'];
buttonListIventory.forEach(button => {
on(`clicked:inv_${button}`, function() {
setAttrs({
equipmentTab: button
});
});
});
// insanity/corruption sheet worker
on('sheet:opened change:insanity_pts change:corruption_pts', function() {
getAttrs(['insanity_pts', 'corruption_pts'], function(values) {
var insanity_pts = parseInt(values['insanity_pts'], 0) || 0;
var corruption_pts = parseInt(values['corruption_pts'], 10) || 0;
function insanity (points) {
if (points <= 9) return ('Stable')
if (points <= 39) return ('Unsettled')
if (points <= 59) return ('Disturbed')
if (points <= 79) return ('Unhinged')
if (points <= 99) return ('Deranged')
return ('Terminally Insane')
}
function corruption (points) {
if (points <= 9) return ('Pure')
if (points <= 39) return ('Tainted')
if (points <= 59) return ('Soiled')
if (points <= 79) return ('Debased')
if (points <= 99) return ('Profane')
return ('Damned')
}
setAttrs({
insanity_degree: (insanity(insanity_pts)),
corruption_degree: (corruption(corruption_pts))
})
});
});
// psychic info sheet worker
const PSY_RANK = {}
let fieldsPsy = ['psykana_class', 'psykana_limit', 'psy_push', 'psy_rating','psykana_sustain','psykana_sustain_count'];
on('sheet:opened ' + fieldsPsy.map(field => 'change:' + field).join(' '), function() {
getAttrs(fieldsPsy, function(values) {
var psykana_class = parseInt(values['psykana_class'])||0;
var psykana_limit = parseInt(values['psykana_limit'])||0;
var psy_push = parseInt(values['psy_push'])||0;
var psy_rating = parseInt(values['psy_rating'], 10) || 0;
var psykana_sustain = parseInt(values['psykana_sustain'], 10) || 0;
var psykana_sustain_count = parseInt(values['psykana_sustain_count'], 10) || 0;
var psykana_limit_factor = 0;
var push_addend_epr = 0;
var sustain_count_addend = 0;
var unfettered_addend = 0;
var push_addend_pp = 0;
var sustain_addend = 0;
// psy rating calc
switch (psykana_limit) {
case 0:
psykana_limit_factor = 0.5;
setAttrs({
psy_roll: ('cf>96')
});
break;
case 1:
psykana_limit_factor = 1;
setAttrs({
psy_roll: ('cf11cf22cf33cf44cf55cf66cf77cf88cf99cf100')
});
break;
case 2:
psykana_limit_factor = 1;
push_addend_epr = psy_push;
if (psykana_class == 0) {
setAttrs({
psy_roll: ('cs1cs11cs22cs33cs44cs55cs66cs77cs88cs99cs100cf>0')
//psy_roll: ('cf>0')
});
} else {
setAttrs({
psy_roll: ('cf>0')
});
}
break;
}
if (psykana_sustain == -5) {
sustain_count_addend = psykana_sustain_count;
}
var epr = Math.ceil(psy_rating * psykana_limit_factor) + push_addend_epr;
// phenomena calc
if (psykana_class == 2 && psykana_limit == 1) {
unfettered_addend = 10;
}
if (psykana_class == 0 && psykana_limit == 2) {
push_addend_pp = 10;
}
if (psykana_class == 1 && psykana_limit == 2) {
push_addend_pp = 5 * psy_push;
}
if (psykana_class == 2 && psykana_limit == 2) {
push_addend_pp = 10 * psy_push;
}
if (psykana_sustain == -5) {
sustain_addend = 5 * sustain_count_addend;
}
var pp = unfettered_addend + push_addend_pp + sustain_addend;
//output
setAttrs({
effective_psy_rating: epr,
psykana_phenomena: pp
});
});
});
// gear cost/weight sheet worker
on('sheet:opened change:repeating_rangedweapons:R_weapon_weight change:repeating_rangedweapons:R_weapon_carry remove:repeating_rangedweapons change:repeating_meleeweapons:M_weapon_weight change:repeating_meleeweapons:M_weapon_carry remove:repeating_meleeweapons', function() {
repeatingWeight("R_weapon_weight_t","rangedweapons",[['weight',"R_weapon_weight"],['carry',"R_weapon_carry"]]),
repeatingWeight("M_weapon_weight_t","meleeweapons",[['weight',"M_weapon_weight"],['carry',"M_weapon_carry"]]);
});
on('change:M_weapon_weight_t change:R_weapon_weight_t change:repeating_gear:gear_carry_r change:repeating_gear:gear_weight_r change:repeating_gear:gear_quantity_r remove:repeating_gear', () => {
getSectionIDs(`repeating_gear`, idArray => {
const fieldset_weight = [];
const fieldset_quantity = [];
const fieldset_carry = [];
idArray.forEach(id => fieldset_weight.push (`repeating_gear_${id}_gear_weight_r`));
idArray.forEach(id => fieldset_quantity.push (`repeating_gear_${id}_gear_quantity_r`));
idArray.forEach(id => fieldset_carry.push (`repeating_gear_${id}_gear_carry_r`));
getAttrs(['M_weapon_weight_t','R_weapon_weight_t','weight_total', ...fieldset_weight, ...fieldset_quantity, ...fieldset_carry], v => {
//console.table(v)
const getValue = (id, field) => parseFloat(v[`repeating_gear_${id}_${field}`]) || 0
const weight_repeating = idArray.reduce((total, id) => total + (getValue(id, 'gear_weight_r') * getValue(id, 'gear_quantity_r') * getValue(id, 'gear_carry_r')), 0)
const weapon_weight = parseFloat(v.M_weapon_weight_t) + parseFloat(v.R_weapon_weight_t)
setAttrs({
weight_total: (weight_repeating + weapon_weight).toFixed(3)
});
});
});
});
// Advancement XP sheet worker
const CHARACTERISTICS = [
{name: "Weapon Skill", aptitudes : ["Weapon Skill", "Offence"]},
{name: "Ballistic Skill", aptitudes : ["Ballistic Skill", "Finesse"]},
{name: "Strength", aptitudes : ["Strength", "Offence"]},
{name: "Toughness", aptitudes : ["Toughness", "Defence"]},
{name: "Agility", aptitudes : ["Agility", "Finesse"]},
{name: "Intelligence", aptitudes : ["Intelligence", "Knowledge"]},
{name: "Perception", aptitudes : ["Perception", "Fieldcraft"]},
{name: "Willpower", aptitudes : ["Willpower", "Conviction"]},
{name: "Fellowship", aptitudes : ["Fellowship", "Social"]}
]
const SKILLS = [
{name: "Acrobatics", aptitudes : ["Agility", "General"]},
{name: "Athletics", aptitudes : ["Strength", "General"]},
{name: "Awareness", aptitudes : ["Perception", "Fieldcraft"]},
{name: "Charm", aptitudes : ["Fellowship", "Social"]},
{name: "Command", aptitudes : ["Fellowship", "Leadership"]},
{name: "Commerce", aptitudes : ["Intelligence", "Knowledge"]},
{name: "Common Lore X", aptitudes : ["Intelligence", "General"]},
{name: "Deceive", aptitudes : ["Fellowship", "Social"]},
{name: "Dodge", aptitudes : ["Agility", "Defence"]},
{name: "Forbidden Lore X", aptitudes : ["Intelligence", "Knowledge"]},
{name: "Inquiry", aptitudes : ["Fellowship", "Social"]},
{name: "Interrogation", aptitudes : ["Willpower", "Social"]},
{name: "Intimidate", aptitudes : ["Strength", "Social"]},
{name: "Linguistics X", aptitudes : ["Intelligence", "General"]},
{name: "Logic", aptitudes : ["Intelligence", "Knowledge"]},
{name: "Medicae", aptitudes : ["Intelligence", "Fieldcraft"]},
{name: "Navigate X", aptitudes : ["Intelligence", "Fieldcraft"]},
{name: "Operate X", aptitudes : ["Agility", "Tech"]},
{name: "Parry", aptitudes : ["Weapon Skill", "Defence"]},
{name: "Psyniscience", aptitudes : ["Perception", "Conviction"]},
{name: "Scholastic Lore X", aptitudes : ["Intelligence", "Knowledge"]},
{name: "Scrutiny", aptitudes : ["Perception", "General"]},
{name: "Security", aptitudes : ["Intelligence", "Tech"]},
{name: "Sleight of Hand", aptitudes : ["Agility", "Knowledge"]},
{name: "Stealth", aptitudes : ["Agility", "Fieldcraft"]},
{name: "Survival", aptitudes : ["Perception", "Fieldcraft"]},
{name: "Tech-Use", aptitudes : ["Intelligence", "Tech"]},
{name: "Trade X", aptitudes : ["Intelligence", "General"]}
]
const TIER_1_TALENTS = [
{name: "Ambidextrous", aptitudes : ["Weapon Skill", "Ballistic Skill"]},
{name: "Blind Fighting", aptitudes : ["Perception", "Fieldcraft"]},
{name: "Bodyguard", aptitudes : ["Agility", "Defence"]},
{name: "Catfall", aptitudes : ["Agility", "Fieldcraft"]},
{name: "Clues from the Crowds", aptitudes : ["General", "Social"]},
{name: "Die Hard", aptitudes : ["Willpower", "Defence"]},
{name: "Disarm", aptitudes : ["Weapon Skill", "Defence"]},
{name: "Double Team", aptitudes : ["General", "Offence"]},
{name: "Enemy X", aptitudes : ["General", "Social"]},
{name: "Ferric Summons", aptitudes : ["Willpower", "Tech"]},
{name: "Flagellant", aptitudes : ["Offence", "Toughness"]},
{name: "Frenzy", aptitudes : ["Strength", "Offence"]},
{name: "Grenadier", aptitudes : ["Ballistic Skill", "Finesse"]},
{name: "Iron Jaw", aptitudes : ["Toughness", "Defence"]},
{name: "Jaded", aptitudes : ["Willpower", "Defence"]},
{name: "Keen Intuition", aptitudes : ["Perception", "Social"]},
{name: "Leap Up", aptitudes : ["Agility", "General"]},
{name: "Leaping Dodge", aptitudes : ["Agility", "Defence"]},
{name: "Mounted Warrior Melee", aptitudes : ["Weapon Skill", "Offence"]},
{name: "Mounted Warrior Ranged", aptitudes : ["Ballistic Skill", "Offence"]},
{name: "Nowhere to Hide", aptitudes : ["Perception", "Offence"]},
{name: "Peer X", aptitudes : ["Fellowship", "Social"]},
{name: "Quick Draw", aptitudes : ["Agility", "Finesse"]},
{name: "Rapid Reload", aptitudes : ["Agility", "Fieldcraft"]},
{name: "Resistance X", aptitudes : ["Toughness", "Defence"]},
{name: "Skilled Rider", aptitudes : ["Agility", "Fieldcraft"]},
{name: "Sound Constitution", aptitudes : ["Toughness", "General"]},
{name: "Takedown", aptitudes : ["Weapon Skill", "Offence"]},
{name: "Technical Knock", aptitudes : ["Intelligence", "Tech"]},
{name: "Warp Sense", aptitudes : ["Perception", "Conviction"]},
{name: "Weapon Training X", aptitudes : ["General", "General"]},
{name: "Weapon-Tech", aptitudes : ["Intelligence", "Tech"]}
]
const TIER_2_TALENTS = [
{name: "Ambassador Imperialis", aptitudes : ["Perception", "Social"]},
{name: "Archivator", aptitudes : ["Knowledge", "Social"]},
{name: "Armor-Monger", aptitudes : ["Intelligence", "Tech"]},
{name: "Battle Rage", aptitudes : ["Strength", "Defence"]},
{name: "Bulging Biceps", aptitudes : ["Strength", "Offence"]},
{name: "Bulwark of Faith", aptitudes : ["Defence", "Willpower"]},
{name: "Combat Master", aptitudes : ["Weapon Skill", "Defence"]},
{name: "Constant Vigilance X", aptitudes : ["Perception", "Defence"]},
{name: "Contact Network", aptitudes : ["Fellowship", "Leadership"]},
{name: "Coordinated Interrogation", aptitudes : ["Intelligence", "Social"]},
{name: "Counter Attack", aptitudes : ["Weapon Skill", "Defence"]},
{name: "Cover-Up", aptitudes : ["Intelligence", "Knowledge"]},
{name: "Daemonhunter", aptitudes : ["Offence", "Willpower"]},
{name: "Daemonologist", aptitudes : ["Conviction", "Willpower"]},
{name: "Deny the Witch", aptitudes : ["Willpower", "Defence"]},
{name: "Devastating Assault", aptitudes : ["Weapon Skill", "Offence"]},
{name: "Double Tap", aptitudes : ["Finesse", "Offence"]},
{name: "Exotic Weapon Training", aptitudes : ["Intelligence", "Finesse"]},
{name: "Face in a Crowd", aptitudes : ["Fellowship", "Social"]},
{name: "Field Vivisection Melee", aptitudes : ["Weapon Skill", "Knowledge"]},
{name: "Field Vivisection Ranged", aptitudes : ["Ballistic Skill", "Knowledge"]},
{name: "Hard Target", aptitudes : ["Agility", "Defence"]},
{name: "Harden Soul", aptitudes : ["Defence", "Willpower"]},
{name: "Hardy", aptitudes : ["Toughness", "Defence"]},
{name: "Hatred X", aptitudes : ["Weapon Skill", "Social"]},
{name: "Hip Shooting", aptitudes : ["Ballistic Skill", "Finesse"]},
{name: "Hotshot Pilot", aptitudes : ["Agility", "Tech"]},
{name: "Independent Targeting", aptitudes : ["Ballistic Skill", "Finesse"]},
{name: "Inescapable Attack Melee", aptitudes : ["Weapon Skill", "Finesse"]},
{name: "Inescapable Attack Ranged", aptitudes : ["Ballistic Skill", "Finesse"]},
{name: "Inspiring Aura", aptitudes : ["Leadership", "Willpower"]},
{name: "Iron Resolve", aptitudes : ["Defence", "Willpower"]},
{name: "Killing Strike", aptitudes : ["Weapon Skill", "Offence"]},
{name: "Lexographer", aptitudes : ["Intelligence", "Knowledge"]},
{name: "Luminen Shock", aptitudes : ["Weapon Skill", "Tech"]},
{name: "Maglev Transcendence", aptitudes : ["Intelligence", "Tech"]},
{name: "Marksman", aptitudes : ["Ballistic Skill", "Finesse"]},
{name: "Mechadendrite Use X", aptitudes : ["Intelligence", "Tech"]},
{name: "One-on-One", aptitudes : ["Finesse", "Weapon Skill"]},
{name: "Penitent Psyker", aptitudes : ["Conviction", "Defence"]},
{name: "Precision Killer Melee", aptitudes : ["Weapon Skill", "Finesse"]},
{name: "Precision Killer Ranged", aptitudes : ["Ballistic Skill", "Finesse"]},
{name: "Prosanguine", aptitudes : ["Toughness", "Tech"]},
{name: "Purity of Hatred", aptitudes : ["Offence", "Willpower"]},
{name: "Rites of Banishment", aptitudes : ["Offence", "Willpower"]},
{name: "Strong Minded", aptitudes : ["Willpower", "Defence"]},
{name: "Swift Attack", aptitudes : ["Weapon Skill", "Finesse"]},
{name: "Tainted Psyker", aptitudes : ["Knowledge", "Conviction"]},
{name: "Two-Weapon Wielder Melee", aptitudes : ["Weapon Skill", "Finesse"]},
{name: "Two-Weapon Wielder Ranged", aptitudes : ["Ballistic Skill", "Finesse"]},
{name: "Unarmed Specialist", aptitudes : ["Strength", "Offence"]},
{name: "Warp Conduit", aptitudes : ["Willpower", "Conviction"]},
{name: "Whirlwind of Death", aptitudes : ["Weapon Skill", "Finesse"]},
{name: "Witch Finder", aptitudes : ["Knowledge", "Perception"]},
{name: "Xenosavant", aptitudes : ["Intelligence", "Knowledge"]}
]
const TIER_3_TALENTS = [
{name: "Adamantium Faith", aptitudes : ["Willpower", "Defence"]},
{name: "Aegis of Contempt", aptitudes : ["Defence", "Leadership"]},
{name: "Assassin Strike", aptitudes : ["Weapon Skill", "Fieldcraft"]},
{name: "Bastion of Iron Will", aptitudes : ["Willpower", "Conviction"]},
{name: "Blademaster", aptitudes : ["Weapon Skill", "Finesse"]},
{name: "Crushing Blow", aptitudes : ["Weapon Skill", "Offence"]},
{name: "Daemonic Disruption", aptitudes : ["Willpower", "General"]},
{name: "Dark Soul", aptitudes : ["Toughness", "Willpower"]},
{name: "Deathdealer", aptitudes : ["Perception", "Finesse"]},
{name: "Delicate Interrogation", aptitudes : ["Intelligence", "Finesse"]},
{name: "Divine Protection", aptitudes : ["General", "Finesse"]},
{name: "Eye of Vengeance", aptitudes : ["Ballistic Skill", "Offence"]},
{name: "Favored by the Warp", aptitudes : ["Willpower", "Conviction"]},
{name: "Flash of Insight", aptitudes : ["Perception", "Knowledge"]},
{name: "Halo of Command", aptitudes : ["Fellowship", "Leadership"]},
{name: "Hammer Blow", aptitudes : ["Strength", "Offence"]},
{name: "Hull Down", aptitudes : ["Agility", "Fieldcraft"]},
{name: "Indomitable Conviction", aptitudes : ["Leadership", "Willpower"]},
{name: "Infused Knowledge", aptitudes : ["Intelligence", "Knowledge"]},
{name: "Instrument of His Will", aptitudes : ["Offence", "Willpower"]},
{name: "Into the Jaws of Hell", aptitudes : ["Leadership", "Willpower"]},
{name: "Iron Faith", aptitudes : ["Defence", "Willpower"]},
{name: "Lightning Attack", aptitudes : ["Weapon Skill", "Finesse"]},
{name: "Luminen Blast", aptitudes : ["Ballistic Skill", "Tech"]},
{name: "Mastery X", aptitudes : ["Intelligence", "Knowledge"]},
{name: "Mighty Shot", aptitudes : ["Ballistic Skill", "Offence"]},
{name: "Never Die", aptitudes : ["Toughness", "Defence"]},
{name: "Preternatural Speed", aptitudes : ["Agility", "Offence"]},
{name: "Push the Limit", aptitudes : ["Perception", "Tech"]},
{name: "Sanctic Purity", aptitudes : ["Conviction", "Willpower"]},
{name: "Shield Wall", aptitudes : ["Defence", "Weapon Skill"]},
{name: "Sprint", aptitudes : ["Agility", "Fieldcraft"]},
{name: "Step Aside", aptitudes : ["Agility", "Defence"]},
{name: "Superior Chirurgeon", aptitudes : ["Intelligence", "Fieldcraft"]},
{name: "Target Selection", aptitudes : ["Ballistic Skill", "Finesse"]},
{name: "Thunder Charge", aptitudes : ["Strength", "Offence"]},
{name: "True Grit", aptitudes : ["Toughness", "Defence"]},
{name: "Two-Weapon Master", aptitudes : ["Finesse", "Offence"]},
{name: "Warp Lock", aptitudes : ["Willpower", "Conviction"]},
{name: "Weapon Intuition", aptitudes : ["Intelligence", "Finesse"]}
]
const fieldAptitudes = ['aptitude_1','aptitude_2','aptitude_3','aptitude_4','aptitude_5','aptitude_6','aptitude_7','aptitude_8','aptitude_9']
/* DISABLED XP COST AUTO-FILL UNTIL NEW VALUES ARE MADE */
on('change:repeating_advancements:advancement_nameL_r change:repeating_advancements:advancement_nameR_r', () => {
getAttrs([
'repeating_advancements_advancement_nameR_r',
'repeating_advancements_advancement_nameL_r',
...fieldAptitudes
], (values) => {
var aptitudes = [
values['aptitude_1'].toLowerCase(),
values['aptitude_2'].toLowerCase(),
values['aptitude_3'].toLowerCase(),
values['aptitude_4'].toLowerCase(),
values['aptitude_5'].toLowerCase(),
values['aptitude_6'].toLowerCase(),
values['aptitude_7'].toLowerCase(),
values['aptitude_8'].toLowerCase(),
values['aptitude_9'].toLowerCase()
]
function xpCalc (name) {
var advance = name.split(':')[0]
var level = name.split(':')?.[1]
let characteristic = CHARACTERISTICS.find( char => char.name === advance)
let skill = SKILLS.find( skill => skill.name === advance)
let t1Talent = TIER_1_TALENTS.find( talent => talent.name === advance)
let t2Talent = TIER_2_TALENTS.find( talent => talent.name === advance)
let t3Talent = TIER_3_TALENTS.find( talent => talent.name === advance)
if (characteristic) {
var firstAptitude = aptitudes.includes(characteristic.aptitudes[0].toLowerCase())
var secondAptitude = aptitudes.includes(characteristic.aptitudes[1].toLowerCase())
if (firstAptitude && secondAptitude) {
if (level === '+5') return 100
if (level === '+10') return 200
if (level === '+15') return 400
if (level === '+20') return 600
if (level === '+25') return 1200
if (level === '+30') return 2400
}
if (firstAptitude || secondAptitude) {
if (level === '+5') return 150
if (level === '+10') return 300
if (level === '+15') return 600
if (level === '+20') return 900
if (level === '+25') return 1800
if (level === '+30') return 3600
}
if (!firstAptitude && !secondAptitude) {
if (level === '+5') return 200
if (level === '+10') return 400
if (level === '+15') return 800
if (level === '+20') return 1200
if (level === '+25') return 2400
if (level === '+30') return 4800
}
}
if (skill) {
var firstAptitude = aptitudes.includes(skill.aptitudes[0].toLowerCase())
var secondAptitude = aptitudes.includes(skill.aptitudes[1].toLowerCase())
if (firstAptitude && secondAptitude) {
if (level === 'Known') return 100
if (level === '+10') return 200
if (level === '+20') return 300
if (level === '+30') return 500
}
if (firstAptitude || secondAptitude) {
if (level === 'Known') return 150
if (level === '+10') return 300
if (level === '+20') return 450
if (level === '+30') return 750
}
if (!firstAptitude && !secondAptitude) {
if (level === 'Known') return 200
if (level === '+10') return 400
if (level === '+20') return 600
if (level === '+30') return 1000
}
}
if (t1Talent) {
var firstAptitude = aptitudes.includes(t1Talent.aptitudes[0].toLowerCase())
var secondAptitude = aptitudes.includes(t1Talent.aptitudes[1].toLowerCase())
if (firstAptitude && secondAptitude) return 200
if (firstAptitude || secondAptitude) return 300
if (!firstAptitude && !secondAptitude) return 400
}
if (t2Talent) {
var firstAptitude = aptitudes.includes(t2Talent.aptitudes[0].toLowerCase())
var secondAptitude = aptitudes.includes(t2Talent.aptitudes[1].toLowerCase())
if (firstAptitude && secondAptitude) return 300
if (firstAptitude || secondAptitude) return 450
if (!firstAptitude && !secondAptitude) return 600
}
if (t3Talent) {
var firstAptitude = aptitudes.includes(t3Talent.aptitudes[0].toLowerCase())
var secondAptitude = aptitudes.includes(t3Talent.aptitudes[1].toLowerCase())
if (firstAptitude && secondAptitude) return 500
if (firstAptitude || secondAptitude) return 750
if (!firstAptitude && !secondAptitude) return 1000
}
//if (t4Talent) {
// var firstAptitude = aptitudes.includes(t3Talent.aptitudes[0].toLowerCase())
// var secondAptitude = aptitudes.includes(t3Talent.aptitudes[1].toLowerCase())
//
// if (firstAptitude && secondAptitude) return 800
// if (firstAptitude || secondAptitude) return 1200
// if (!firstAptitude && !secondAptitude) return 1600
//}
}
var costL = xpCalc(values['repeating_advancements_advancement_nameL_r']) || 0
var costR = xpCalc(values['repeating_advancements_advancement_nameR_r']) || 0
var attr = {}
if (costL) attr['repeating_advancements_advancement_costL_r'] = costL
if (costR) attr['repeating_advancements_advancement_costR_r'] = costR
console.log(attr)
setAttrs(attr,true)
})
})
/* */
on('change:xp_total change:advancement_costL change:advancement_costR change:repeating_advancements remove:repeating_advancements', () => {
// get section IDs because of operation both inside and outside of fieldset
getSectionIDs(`repeating_advancements`, idArray => {
const fieldnames = [];
idArray.forEach(id => fieldnames.push (
`repeating_advancements_${id}_advancement_costL_r`,
`repeating_advancements_${id}_advancement_costR_r`
));
// spread operator to get every array value
getAttrs(['xp_total', 'advancement_costL', 'advancement_costR', ...fieldnames], v => {
const getValue = (id, field) => parseFloat(v[`repeating_advancements_${id}_${field}`]) || 0
const cost = parseFloat(v.gear_cost) || 0
const left = parseFloat(v.advancement_costL) || 0
const right = parseFloat(v.advancement_costR) || 0
const left_r = idArray.reduce((total, id) => total + getValue(id,'advancement_costL_r'),0)
const right_r = idArray.reduce((total, id) => total + getValue(id,'advancement_costR_r'),0)
const spent = left + right + left_r + right_r
const total = parseFloat(v.xp_total) || 0
setAttrs({
xp_spent: spent,
xp_current: total - spent
});
});
});
});
// General sum sheet worker
/**
* [repeatingWeight description]
* @param {[type]} destination [description]
* @param {[type]} section [description]
* @param {[type]} fields [description]
*/
const repeatingWeight = (destination, section, fields) => {
getSectionObjects(section, fields, items => {
const sumTotal = items.filter(item => item.carry !== '0').reduce((total, item) => total + parseFloat(item.weight),0);
setAttrs({[destination]: sumTotal});
})
}
// Weapons
// accurate
// Normal Weapons Accurate
on('sheet:opened change:repeating_rangedweapons:r_weapon_accurate change:repeating_rangedweapons:r_weapon_attack change:repeating_rangedweapons:r_weapon_aim', function() {
getSectionIDs('rangedweapons', function(idarray) {
// first get the attribute names for all rows in put in one array
const fieldnames = [];
idarray.forEach(id => fieldnames.push(`repeating_rangedweapons_${id}_R_weapon_accurate`,`repeating_rangedweapons_${id}_R_weapon_attack`,`repeating_rangedweapons_${id}_R_weapon_aim`));
getAttrs(fieldnames, values => {
// create a variable to hold all the attribute values you re going to create.
const attr = {};
// now loop through the rows again
idarray.forEach(id => {
let row = 'repeating_rangedweapons_' + id;
let r_weapon_accurate = values[`${row}_R_weapon_accurate`] || 0;
let r_weapon_attack = values[`${row}_R_weapon_attack`] || 10;
let r_weapon_aim = values[`${row}_R_weapon_aim`] || 0;
if ((r_weapon_accurate == 1)&&(r_weapon_attack == 10 || r_weapon_attack == -20)&&(r_weapon_aim != 0)) {
attr[`${row}_atk_accurate_aim`] = 10;
attr[`${row}_atk_accurate_dmg`] = `{{accurate=?{dos |1+, [[0]]|3+, [[1d5]]|5+, [[2d5]]}}}`;
} else {
attr[`${row}_atk_accurate_aim`] = 0;
attr[`${row}_atk_accurate_dmg`] = 0;
}
});
console.log(values,attr)
setAttrs(attr);
});
});
});
// Vehicle Weapons Accurate
on('sheet:opened change:repeating_vehiclerangedweapons:v_r_weapon_accurate change:repeating_vehiclerangedweapons:v_r_weapon_attack change:repeating_vehiclerangedweapons:v_r_weapon_aim', function() {
getSectionIDs('vehiclerangedweapons', function(idarray) {
// first get the attribute names for all rows in put in one array
const fieldnames = [];
idarray.forEach(id => fieldnames.push(`repeating_vehiclerangedweapons_${id}_V_R_weapon_accurate`,`repeating_vehiclerangedweapons_${id}_V_R_weapon_attack`,`repeating_vehiclerangedweapons_${id}_V_R_weapon_aim`));
getAttrs(fieldnames, values => {
// create a variable to hold all the attribute values you re going to create.
const attr = {};
// now loop through the rows again
idarray.forEach(id => {
let row = 'repeating_vehiclerangedweapons_' + id;
let v_r_weapon_accurate = values[`${row}_V_R_weapon_accurate`] || 0;
let v_r_weapon_attack = values[`${row}_V_R_weapon_attack`] || 10;
let v_r_weapon_aim = values[`${row}_V_R_weapon_aim`] || 0;
if ((v_r_weapon_accurate == 1)&&(v_r_weapon_attack == 10 || v_r_weapon_attack == -20)&&(v_r_weapon_aim != 0)) {
attr[`${row}_veh_atk_accurate_aim`] = 10;
attr[`${row}_veh_atk_accurate_dmg`] = `{{accurate=?{dos |1+, [[0]]|3+, [[1d5]]|5+, [[2d5]]}}}`;
} else {
attr[`${row}_veh_atk_accurate_aim`] = 0;
attr[`${row}_veh_atk_accurate_dmg`] = 0;
}
});
console.log(values,attr)
setAttrs(attr);
});
});
});
// Scatter
// Normal Weapons Scatter
on('sheet:opened change:repeating_rangedweapons:r_weapon_scatter change:repeating_rangedweapons:r_weapon_attack_range', function() {
getSectionIDs('rangedweapons', function(idarray) {
// first get the attribute names for all rows in put in one array
const fieldnames = [];
idarray.forEach(id => fieldnames.push(`repeating_rangedweapons_${id}_R_weapon_scatter`,`repeating_rangedweapons_${id}_R_weapon_attack_range`));
getAttrs(fieldnames, values => {
// create a variable to hold all the attribute values you re going to create.
const attr = {};
// now loop through the rows again
idarray.forEach(id => {
let row = 'repeating_rangedweapons_' + id;
let r_weapon_scatter = values[`${row}_R_weapon_scatter`] || 0;
let r_weapon_attack_range = values[`${row}_R_weapon_attack_range`] || 0;
if ((r_weapon_scatter == 1)&&(r_weapon_attack_range == 30)) { //point blank
attr[`${row}_atk_scatter_aim`] = 10;
attr[`${row}_atk_scatter_dmg`] = 3;
} else if ((r_weapon_scatter == 1)&&(r_weapon_attack_range == 10)) { //short range
attr[`${row}_atk_scatter_aim`] = 10;
attr[`${row}_atk_scatter_dmg`] = 0;
} else if (r_weapon_scatter == 1) {
attr[`${row}_atk_scatter_aim`] = 0;
attr[`${row}_atk_scatter_dmg`] = -3;
} else {
attr[`${row}_atk_scatter_aim`] = 0;
attr[`${row}_atk_scatter_dmg`] = 0;
}
});
console.log(values,attr)
setAttrs(attr);
});
});
});
// Vehicle Weapons Scatter
on('sheet:opened change:repeating_vehiclerangedweapons:v_r_weapon_scatter change:repeating_vehiclerangedweapons:v_r_weapon_attack_range', function() {
getSectionIDs('vehiclerangedweapons', function(idarray) {
// first get the attribute names for all rows in put in one array
const fieldnames = [];
idarray.forEach(id => fieldnames.push(`repeating_vehiclerangedweapons_${id}_V_R_weapon_scatter`,`repeating_vehiclerangedweapons_${id}_V_R_weapon_attack_range`));
getAttrs(fieldnames, values => {
// create a variable to hold all the attribute values you re going to create.
const attr = {};
// now loop through the rows again
idarray.forEach(id => {
let row = 'repeating_vehiclerangedweapons_' + id;
let v_r_weapon_scatter = values[`${row}_V_R_weapon_scatter`] || 0;
let v_r_weapon_attack_range = values[`${row}_V_R_weapon_attack_range`] || 0;
if ((v_r_weapon_scatter == 1)&&(v_r_weapon_attack_range == 30)) { //point blank
attr[`${row}_atk_scatter_aim`] = 10;
attr[`${row}_atk_scatter_dmg`] = 3;
} else if ((v_r_weapon_scatter == 1)&&(v_r_weapon_attack_range == 10)) { //short range
attr[`${row}_atk_scatter_aim`] = 10;
attr[`${row}_atk_scatter_dmg`] = 0;
} else if (r_weapon_scatter == 1) {
attr[`${row}_atk_scatter_aim`] = 0;
attr[`${row}_atk_scatter_dmg`] = -3;
} else {
attr[`${row}_atk_scatter_aim`] = 0;
attr[`${row}_atk_scatter_dmg`] = 0;
}
});
console.log(values,attr)
setAttrs(attr);
});
});
});
// Script for Ammo API
on("sheet:opened change:repeating_rangedweapons:r_weapon_attack change:repeating_rangedweapons:r_weapon_burst change:repeating_rangedweapons:r_weapon_auto remove:repeating_rangedweapons change:repeating_vehiclerangedweapons:v_r_weapon_attack change:repeating_vehiclerangedweapons:v_r_weapon_burst change:repeating_vehiclerangedweapons:v_r_weapon_auto remove:repeating_vehiclerangedweapons", function() {
getSectionIDs("rangedweapons", function(idArray) {
// first get the attribute names for all rows in put in one array
const fieldnames = [];
idArray.forEach(id => fieldnames.push(
`repeating_rangedweapons_${id}_R_weapon_attack`,
`repeating_rangedweapons_${id}_R_weapon_burst`,
`repeating_rangedweapons_${id}_R_weapon_auto`
));
getAttrs(fieldnames, values => {
// create a variable to hold all the attribute values you re going to create.
const attr = {};
// now loop through the rows again
idArray.forEach(id => {
let row = 'repeating_rangedweapons_' + id;
let attack = +values[`${row}_R_weapon_attack`] || 0,
burst = +values[`${row}_R_weapon_burst`] || 0,
auto = +values[`${row}_R_weapon_auto`] || 0;
let ammo = attack === -10 ? -auto : (attack === 0 ? -burst : -1);
attr[`${row}_id`] = id; // id of the repeating element
attr[`${row}_ammo`] = ammo; // number of ammo to use
});
setAttrs(attr);
});
});
getSectionIDs("vehiclerangedweapons", function(idArray) {
// first get the attribute names for all rows in put in one array
const fieldnames = [];
idArray.forEach(id => fieldnames.push(
`repeating_vehiclerangedweapons_${id}_V_R_weapon_attack`,
`repeating_vehiclerangedweapons_${id}_V_R_weapon_burst`,
`repeating_vehiclerangedweapons_${id}_V_R_weapon_auto`
));
getAttrs(fieldnames, values => {
// create a variable to hold all the attribute values you re going to create.
const attr = {};
// now loop through the rows again
idArray.forEach(id => {
let row = 'repeating_vehiclerangedweapons_' + id;
let attack = +values[`${row}_V_R_weapon_attack`] || 0,
burst = +values[`${row}_V_R_weapon_burst`] || 0,
auto = +values[`${row}_V_R_weapon_auto`] || 0;
let ammo = attack === -10 ? -auto : (attack === 0 ? -burst : -1);
attr[`${row}_id`] = id; // id of the repeating element
attr[`${row}_ammo`] = ammo; // number of ammo to use
});
setAttrs(attr);
});
});
});
/**
* calculate real damage roll
* @param {string} source row id of the weapon
*/
const calcDmg = function (sources, fields) {
var redice = /^(\d+)?(d\d+)(.*)?/;
getAttrs(fields, v => {
let attr = {};
sources.forEach( source => {
// to avoid retyping long strings because i'm lazy
var dam = source + 'weapon_dam-roll',
ven = source + 'weapon_vengeful', // crit
min = source + 'weapon_min', // proven
max = source + 'weapon_max', // primitive
set = source + 'weapon_setting'; // overcharge/load / maximal
let dmg = redice.exec(v[dam]);
ven = parseInt(v[ven], 10) || 0,
min = parseInt(v[min], 10) || 0,
max = parseInt(v[max], 10) || 0,
set = parseInt(v[set], 10) || 0;
if (!dmg) {
console.log('no damage found');
attr[`${source}weapon_real_dmg`] = v[dam];
} else {
let dicenum = parseInt(dmg[1], 10) || 1,
dicetype = dmg[2],
mod = dmg[3];
let damTotal = '{';
if (set === 3) dicenum ++;
for (var i = 0; i < dicenum; i++) {
if (i) damTotal += ', '
if (min > 0) damTotal += '{';
if (max > 0) damTotal += '{';
damTotal += (dicetype == 'd5') ? 'ceil(1d10/2)' : '1d10';
if (ven > 0) damTotal += 'cs>' + ven;
if (min > 0) damTotal += ', {' + min + '}}kh1';
if (max > 0) damTotal += ', {' + max + '}}kl1';
}
damTotal += '}';
if (mod) damTotal += mod;
if (set === 2) damTotal += '+1';
if (set === 4) {
damTotal += '+2';
attr[`${source}weapon_pen2`] = 2;
} else if (set === 3) {
attr[`${source}weapon_pen2`] = 2;
} else {
attr[`${source}weapon_pen2`] = 0;
}
attr[`${source}weapon_real_dmg`] = damTotal;
}
});
setAttrs(attr);
});
};
let fieldsDMG = [
'vehiclerangedweapons:V_R_weapon_dam-roll', 'vehiclerangedweapons:V_R_weapon_vengeful', 'vehiclerangedweapons:V_R_weapon_min', 'vehiclerangedweapons:V_R_weapon_max', 'vehiclerangedweapons:V_R_weapon_setting',
'rangedweapons:R_weapon_dam-roll', 'rangedweapons:R_weapon_vengeful', 'rangedweapons:R_weapon_min', 'rangedweapons:R_weapon_max', 'rangedweapons:R_weapon_setting',
'vehiclemeleeweapons:V_M_weapon_dam-roll', 'vehiclemeleeweapons:V_M_weapon_vengeful', 'vehiclemeleeweapons:V_M_weapon_min', 'vehiclemeleeweapons:V_M_weapon_max',
'meleeweapons:M_weapon_dam-roll', 'meleeweapons:M_weapon_vengeful', 'meleeweapons:M_weapon_min', 'meleeweapons:M_weapon_max',
];
on('sheet:opened ' + fieldsDMG.map(field => 'change:repeating_' + field).join(' '), () => {
getSectionIDs('rangedweapons', (idArray) => {
let sources = [];
let fieldnames = [];
idArray.forEach( id => {
sources.push(`repeating_rangedweapons_${id}_R_`);
fieldnames.push(
`repeating_rangedweapons_${id}_R_weapon_dam-roll`,
`repeating_rangedweapons_${id}_R_weapon_vengeful`,
`repeating_rangedweapons_${id}_R_weapon_min`,
`repeating_rangedweapons_${id}_R_weapon_max`,
`repeating_rangedweapons_${id}_R_weapon_setting`
);
});
calcDmg(sources, fieldnames);
});
getSectionIDs('meleeweapons', (idArray) => {
let sources = [];
let fieldnames = [];
idArray.forEach( id => {
sources.push(`repeating_meleeweapons_${id}_M_`);
fieldnames.push(
`repeating_meleeweapons_${id}_M_weapon_dam-roll`,
`repeating_meleeweapons_${id}_M_weapon_vengeful`,
`repeating_meleeweapons_${id}_M_weapon_min`,
`repeating_meleeweapons_${id}_M_weapon_max`
);
});
calcDmg(sources, fieldnames);
});
getSectionIDs('vehiclerangedweapons', (idArray) => {
let sources = [];
let fieldnames = [];
idArray.forEach( id => {
sources.push(`repeating_vehiclerangedweapons_${id}_V_R_`);
fieldnames.push(
`repeating_vehiclerangedweapons_${id}_V_R_weapon_dam-roll`,
`repeating_vehiclerangedweapons_${id}_V_R_weapon_vengeful`,
`repeating_vehiclerangedweapons_${id}_V_R_weapon_min`,
`repeating_vehiclerangedweapons_${id}_V_R_weapon_max`,
`repeating_vehiclerangedweapons_${id}_V_R_weapon_setting`
);
});
calcDmg(sources, fieldnames);
});
getSectionIDs('vehiclemeleeweapons', (idArray) => {
let sources = [];
let fieldnames = [];
idArray.forEach( id => {
sources.push(`repeating_vehiclemeleeweapons_${id}_V_M_`);
fieldnames.push(
`repeating_vehiclemeleeweapons_${id}_V_M_weapon_dam-roll`,
`repeating_vehiclemeleeweapons_${id}_V_M_weapon_vengeful`,
`repeating_vehiclemeleeweapons_${id}_V_M_weapon_min`,
`repeating_vehiclemeleeweapons_${id}_V_M_weapon_max`
);
});
calcDmg(sources, fieldnames);
});
console.log('DAMAGES UPDATED');
});
// Weapon Auto-Fill || DISABLED
const RANGED_WEAPONS = []
on('change:repeating_rangedweapons:R_weapon_name', () => {
getAttrs(['repeating_rangedweapons_R_weapon_name'], (v) => {
let weapon = RANGED_WEAPONS.find( weap => weap.name == v['repeating_rangedweapons_R_weapon_name'])
if (!weapon) return
let attributes = {}
let RoF = weapon.RoF.split('/')
let damage = weapon.damage
if (weapon.special.includes('Tearing')) {
var redice = /^(\d+)?(d\d+)(.*)?/;
let dmg = redice.exec(damage)
let dicenum = parseInt(dmg[1], 10) || 1,
dicetype = dmg[2],
mod = dmg[3]
dicenum++
damage = `${dicenum}${dicetype}d1${mod}`
}
attributes[`repeating_rangedweapons_R_weapon_max`] = ''
attributes[`repeating_rangedweapons_R_weapon_min`] = ''
attributes[`repeating_rangedweapons_R_weapon_vengeful`] = ''
if (weapon.special.includes('Primitive')) {
let regex = /Primitive \((\d)\)/;
let max = regex.exec(weapon.special)
attributes[`repeating_rangedweapons_R_weapon_max`] = max[1]
}
if (weapon.special.includes('Proven')) {
let regex = /Proven \((\d)\)/;
let min = regex.exec(weapon.special)
attributes[`repeating_rangedweapons_R_weapon_min`] = min[1]
}
if (weapon.special.includes('Vengeful')) {
let regex = /Vengeful \((\d)\)/;
let vengeful = regex.exec(weapon.special)
attributes[`repeating_rangedweapons_R_weapon_vengeful`] = vengeful[1]
}
attributes[`repeating_rangedweapons_R_weapon_name`] = weapon.name
attributes[`repeating_rangedweapons_R_weapon_domain`] = weapon.family
attributes[`repeating_rangedweapons_R_weapon_class`] = weapon.class
attributes[`repeating_rangedweapons_R_weapon_range`] = weapon.range
attributes[`repeating_rangedweapons_R_weapon_standard`] = RoF[0]
attributes[`repeating_rangedweapons_R_weapon_burst`] = RoF[1]
attributes[`repeating_rangedweapons_R_weapon_auto`] = RoF[2]
attributes[`repeating_rangedweapons_R_weapon_dam-roll`] = damage
attributes[`repeating_rangedweapons_R_weapon_pen`] = weapon.pen
attributes[`repeating_rangedweapons_R_weapon_type`] = weapon.type
attributes[`repeating_rangedweapons_R_weapon_mag`] = weapon.clip
attributes[`repeating_rangedweapons_R_weapon_mag_max`] = weapon.clip
attributes[`repeating_rangedweapons_R_weapon_reload`] = weapon.reload
attributes[`repeating_rangedweapons_R_weapon_weight`] = weapon.weight
attributes[`repeating_rangedweapons_R_ability_r`] = weapon.special
attributes[`repeating_rangedweapons_R_ability_desc_r`] = weapon.notes
setAttrs(attributes)
})
})
on('change:repeating_vehiclerangedweapons:V_R_weapon_name', () => {
getAttrs(['repeating_vehiclerangedweapons_V_R_weapon_name'], (v) => {
let weapon = RANGED_WEAPONS.find( weap => weap.name == v['repeating_vehiclerangedweapons_V_R_weapon_name'])
if (!weapon) return
let attributes = {}
let RoF = weapon.RoF.split('/')
let damage = weapon.damage
if (weapon.special.includes('Tearing')) {
var redice = /^(\d+)?(d\d+)(.*)?/;
let dmg = redice.exec(damage)
let dicenum = parseInt(dmg[1], 10) || 1,
dicetype = dmg[2],
mod = dmg[3]
dicenum++
damage = `${dicenum}${dicetype}d1${mod}`
}
attributes[`repeating_vehiclerangedweapons_V_R_weapon_max`] = ''
attributes[`repeating_vehiclerangedweapons_V_R_weapon_min`] = ''
attributes[`repeating_vehiclerangedweapons_V_R_weapon_vengeful`]= ''
if (weapon.special.includes('Primitive')) {
let regex = /Primitive \((\d)\)/;
let max = regex.exec(weapon.special)
attributes[`repeating_vehiclerangedweapons_V_R_weapon_max`] = max[1]
}
if (weapon.special.includes('Proven')) {
let regex = /Proven \((\d)\)/;
let min = regex.exec(weapon.special)
attributes[`repeating_vehiclerangedweapons_V_R_weapon_min`] = min[1]
}
if (weapon.special.includes('Vengeful')) {
let regex = /Vengeful \((\d)\)/;
let vengeful = regex.exec(weapon.special)
attributes[`repeating_vehiclerangedweapons_V_R_weapon_vengeful`]= vengeful[1]
}
attributes[`repeating_vehiclerangedweapons_V_R_weapon_name`] = weapon.name
attributes[`repeating_vehiclerangedweapons_V_R_weapon_domain`] = weapon.family
attributes[`repeating_vehiclerangedweapons_V_R_weapon_class`] = weapon.class
attributes[`repeating_vehiclerangedweapons_V_R_weapon_range`] = weapon.range
attributes[`repeating_vehiclerangedweapons_V_R_weapon_standard`] = RoF[0]
attributes[`repeating_vehiclerangedweapons_V_R_weapon_burst`] = RoF[1]
attributes[`repeating_vehiclerangedweapons_V_R_weapon_auto`] = RoF[2]
attributes[`repeating_vehiclerangedweapons_V_R_weapon_dam-roll`] = damage
attributes[`repeating_vehiclerangedweapons_V_R_weapon_pen`] = weapon.pen
attributes[`repeating_vehiclerangedweapons_V_R_weapon_type`] = weapon.type
attributes[`repeating_vehiclerangedweapons_V_R_weapon_mag`] = weapon.clip
attributes[`repeating_vehiclerangedweapons_V_R_weapon_mag_max`] = weapon.clip
attributes[`repeating_vehiclerangedweapons_V_R_weapon_reload`] = weapon.reload
attributes[`repeating_vehiclerangedweapons_V_R_weapon_weight`] = weapon.weight
attributes[`repeating_vehiclerangedweapons_V_R_ability_r`] = weapon.special
attributes[`repeating_vehiclerangedweapons_V_R_ability_desc_r`] = weapon.notes
setAttrs(attributes)
})
})
const MELEE_WEAPONS = []
on('change:repeating_meleeweapons:M_weapon_name', () => {
getAttrs(['repeating_meleeweapons_M_weapon_name'], (v) => {
let weapon = MELEE_WEAPONS.find( weap => weap.name == v['repeating_meleeweapons_M_weapon_name'])
if (!weapon) return
let attributes = {}
let damage = weapon.damage
if (weapon.special.includes('Tearing')) {
var redice = /^(\d+)?(d\d+)(.*)?/;
let dmg = redice.exec(damage)
let dicenum = parseInt(dmg[1], 10) || 1,
dicetype = dmg[2],
mod = dmg[3]
dicenum++
damage = `${dicenum}${dicetype}d1${mod}`
}
attributes[`repeating_meleeweapons_M_weapon_max`] = ''
attributes[`repeating_meleeweapons_M_weapon_min`] = ''
attributes[`repeating_meleeweapons_M_weapon_vengeful`] = ''
if (weapon.special.includes('Primitive')) {
let regex = /Primitive \((\d)\)/;
let max = regex.exec(weapon.special)
attributes[`repeating_meleeweapons_M_weapon_max`] = max[1]
}
if (weapon.special.includes('Proven')) {
let regex = /Proven \((\d)\)/;
let min = regex.exec(weapon.special)
attributes[`repeating_meleeweapons_M_weapon_min`] = min[1]
}
if (weapon.special.includes('Vengeful')) {
let regex = /Vengeful \((\d)\)/;
let vengeful = regex.exec(weapon.special)
attributes[`repeating_meleeweapons_M_weapon_vengeful`] = vengeful[1]
}
attributes[`repeating_meleeweapons_M_weapon_name`] = weapon.name
attributes[`repeating_meleeweapons_M_weapon_domain`] = weapon.family
attributes[`repeating_meleeweapons_M_weapon_class`] = weapon.class
attributes[`repeating_meleeweapons_M_weapon_reach`] = weapon.range
attributes[`repeating_meleeweapons_M_weapon_dam-roll`] = damage
attributes[`repeating_meleeweapons_M_weapon_pen`] = weapon.pen
attributes[`repeating_meleeweapons_M_weapon_type`] = weapon.type
attributes[`repeating_meleeweapons_M_weapon_weight`] = weapon.weight
attributes[`repeating_meleeweapons_M_ability_r`] = weapon.special
attributes[`repeating_meleeweapons_M_ability_desc_r`] = weapon.notes
setAttrs(attributes)
})
})
on('change:repeating_vehiclemeleeweapons:V_M_weapon_name', () => {
getAttrs(['repeating_vehiclemeleeweapon_V_M_weapon_name'], (v) => {
let weapon = MELEE_WEAPONS.find( weap => weap.name == v['repeating_vehiclemeleeweapon_V_M_weapon_name'])
if (!weapon) return
let attributes = {}
let damage = weapon.damage
if (weapon.special.includes('Tearing')) {
var redice = /^(\d+)?(d\d+)(.*)?/;
let dmg = redice.exec(damage)
let dicenum = parseInt(dmg[1], 10) || 1,
dicetype = dmg[2],
mod = dmg[3]
dicenum++
damage = `${dicenum}${dicetype}d1${mod}`
}
attributes[`repeating_vehiclemeleeweapons_V_M_weapon_max`] = ''
attributes[`repeating_vehiclemeleeweapons_V_M_weapon_min`] = ''
attributes[`repeating_vehiclemeleeweapons_V_M_weapon_vengeful`] = ''
if (weapon.special.includes('Primitive')) {
let regex = /Primitive \((\d)\)/;
let max = regex.exec(weapon.special)
attributes[`repeating_vehiclemeleeweapons_V_M_weapon_max`] = max[1]
}
if (weapon.special.includes('Proven')) {
let regex = /Proven \((\d)\)/;
let min = regex.exec(weapon.special)
attributes[`repeating_vehiclemeleeweapons_V_M_weapon_min`] = min[1]
}
if (weapon.special.includes('Vengeful')) {
let regex = /Vengeful \((\d)\)/;
let vengeful = regex.exec(weapon.special)
attributes[`repeating_vehiclemeleeweapons_V_M_weapon_vengeful`] = vengeful[1]
}
attributes[`repeating_vehiclemeleeweapon_V_M_weapon_name`] = weapon.name
attributes[`repeating_vehiclemeleeweapon_V_M_weapon_domain`] = weapon.family
attributes[`repeating_vehiclemeleeweapon_V_M_weapon_class`] = weapon.class
attributes[`repeating_vehiclemeleeweapon_V_M_weapon_reach`] = weapon.range
attributes[`repeating_vehiclemeleeweapon_V_M_weapon_dam-roll`] = damage
attributes[`repeating_vehiclemeleeweapon_V_M_weapon_pen`] = weapon.pen
attributes[`repeating_vehiclemeleeweapon_V_M_weapon_type`] = weapon.type
attributes[`repeating_vehiclemeleeweapon_V_M_weapon_weight`] = weapon.weight
attributes[`repeating_vehiclemeleeweapon_V_M_ability_r`] = weapon.special
attributes[`repeating_vehiclemeleeweapon_V_M_ability_desc_r`] = weapon.notes
setAttrs(attributes)
})
})
// get repeating objects
/**
* get the attributes from a repeating section and pass them in an array of objects
* @param {String} section - name of the repeating section
* @param {Array} fields - list of the attributes
* @param {Function} callback - function to pass the array of objects
*/
const getSectionObjects = (section, fields, callback) => {
if (!Array.isArray(fields)) fields = [fields];
getSectionIDs(`repeating_${section}`, idArray => {
const attrArray = idArray.reduce( (m,id) => [...m, ...(Object.values(fields).map(field => `repeating_${section}_${id}_${(Array.isArray(field) ? field[1] : field)}`))],[]);
getAttrs(attrArray, v => {
const objects = [];
idArray.forEach(id => {
let obj = { _id : id, _source: `repeating_${section}_${id}` };
fields.forEach( field => {
obj[field[0]] = v[`repeating_${section}_${id}_${field[1]}`]
})
objects.push(obj)
});
callback(objects);
});
});
}
//
// _______ Importer ________
//
on('clicked:import_clear', () => {
setAttrs({
import_value: ''
});
});
on('clicked:import', () => {
getAttrs(['import_value'], (v) => {
try {
var data = JSON.parse(v.import_value);
} catch(e) {
setAttrs({import_value: 'ERROR: verify if you have copied the totality of the Export'}); return console.log(e);
}
console.log('Importing Character');
var attributes = {}
// emptying the repeating sections
const sectionList = [
'conditions',
'skill',
'linguistics',
'common-lore',
'scholastic-lore',
'forbidden-lore',
'trade',
'abilities',
'traits',
'rangedweapons',
'meleeweapons',
'gear',
'cybernetics',
'aptitudes',
'advancements',
'disorders',
'mutations',
'objectives',
'notes',
'vehicles',
'vehiclerangedweapons',
'vehiclemeleeweapons',
'minormanifestation',
'psynotes',
'psychicabilities'
];
sectionList.forEach( section => {
getSectionIDs(`repeating_${section}`, idArray => {
idArray.forEach(id => removeRepeatingRow(`repeating_${section}_${id}`))
})
})
// info Block
attributes = {...attributes, ...mapInfo(data)}
// STATS
attributes = {...attributes, ...mapStat('WS', data?.weaponSkill)};
attributes = {...attributes, ...mapStat('BS', data?.ballisticSkill)};
attributes = {...attributes, ...mapStat('STR', data?.strenght)};
attributes = {...attributes, ...mapStat('TOU', data?.toughness)};
attributes = {...attributes, ...mapStat('AGI', data?.agility)};
attributes = {...attributes, ...mapStat('INT', data?.intelligence)};
attributes = {...attributes, ...mapStat('PER', data?.perception)};
attributes = {...attributes, ...mapStat('WP', data?.willpower)};
attributes = {...attributes, ...mapStat('FEL', data?.fellowship)};
attributes = {...attributes, ...mapStat('INF', data?.influence)};
// WOUNDS, FATE, FATIGUE, FORCEFIELD
attributes = {...attributes, ...mapWounds(data?.wounds)};
attributes = {...attributes, ...mapFate(data?.fate)};
attributes = {...attributes, ...mapFatigue(data?.fatigue)};
attributes = {...attributes, ...mapForceField(data?.forcefield)};
// CONDITIONS
data?.conditions?.forEach((condition) => {
attributes = {...attributes, ...mapCondition(condition)};
});
// SKILLS, REPEATING SKILLS
data?.skills?.forEach(skill => {
attributes = {...attributes, ...mapSkill(skill)};
});
data?.lores?.common?.forEach(skill => {
attributes = {...attributes, ...mapRepeatingSkill(skill, 'common-lore')};
});
data?.lores?.scholastic?.forEach(skill => {
attributes = {...attributes, ...mapRepeatingSkill(skill, 'scholastic-lore')};
});
data?.lores?.forbidden?.forEach(skill => {
attributes = {...attributes, ...mapRepeatingSkill(skill, 'forbidden-lore')};
});
data?.linguistics?.forEach(skill => {
attributes = {...attributes, ...mapRepeatingSkill(skill, 'linguistics')};
});
data?.trades?.forEach(skill => {
attributes = {...attributes, ...mapRepeatingSkill(skill, 'trade')};
});
// TALENTS, TRAITS
data?.abilities?.forEach(ability => {
attributes = {...attributes, ...mapAbility(ability, 'abilities')};
});
data?.traits?.forEach(trait => {
attributes = {...attributes, ...mapTrait(trait)};
});
// INVENTORY
data?.inventory?.weapons?.ranged?.forEach( weapon => {
attributes = {...attributes, ...mapRangedWeapon(weapon)};
});
data?.inventory?.weapons?.melee?.forEach( weapon => {
attributes = {...attributes, ...mapMeleeWeapon(weapon)};
});
data?.inventory?.gears?.forEach( gear => {
attributes = {...attributes, ...mapGear(gear)};
});
// data?.inventory?.tools?.forEach( tool => {
// attributes = {...attributes, ...mapTool(tool)};
// });
// data?.inventory?.consumables?.forEach( drug => {
// attributes = {...attributes, ...mapDrug(drug)};
// });
attributes = {...attributes, ...mapOldArmor(data?.inventory?.armor)};
// data?.inventory?.armors?.forEach( armor => {
// attributes = {...attributes, ...mapArmor(armor)};
// });
// data?.inventory?.ammos?.forEach( ammo => {
// attributes = {...attributes, ...mapAmmo(ammo)};
// });
data?.inventory?.cybernetics?.forEach( cybernetic => {
attributes = {...attributes, ...mapCybernetic(cybernetic)};
});
// ADVANCEMENTS
attributes = {...attributes, ...mapAptitudes(data?.advancements?.aptitudes)};
attributes = {...attributes, ...mapAdvance(data?.advancements?.advances)};
for (var training in data?.advancements?.training) {
attributes[`weapons_training_${training}`] = data?.advancements?.training[training];
}
// INSANITY, CORRUPTION
attributes[`insanity_pts`] = data?.insanity?.points;
data?.insanity?.disorders?.forEach( disorder => {
attributes = {...attributes, ...mapDisorder(disorder)};
})
attributes[`corruption_pts`] = data?.corruption?.points;
data?.corruption?.mutations?.forEach( mutation => {
attributes = {...attributes, ...mapMutation(mutation)};
})
// OBJECTIVES, NOTES
data?.objectives?.forEach( objective => {
attributes = {...attributes, ...mapObjective(objective)};
});
data?.notes?.forEach( note => {
attributes = {...attributes, ...mapNote(note)};
});
// VEHICLES
data?.vehicles?.list?.forEach( vehicle => {
attributes = {...attributes, ...mapVehicle(vehicle)};
});
data?.vehicles?.weapons?.ranged?.forEach( weapon => {
attributes = {...attributes, ...mapRangedWeapon(weapon, true)};
});
data?.vehicles?.weapons?.melee?.forEach( weapon => {
attributes = {...attributes, ...mapMeleeWeapon(weapon, true)};
});
// PSYKANA
attributes = {...attributes, ...mapPsykana(data?.psykana)};
data?.psykana?.minor?.forEach( minor => {
attributes = {...attributes, ...mapPsyMinor(minor)}
})
data?.psykana?.notes?.forEach( note => {
attributes = {...attributes, ...mapPsyNote(note)}
})
data?.psykana?.powers?.forEach( power => {
attributes = {...attributes, ...mapPsyPower(power)}
})
console.log('setting attributes');
attributes.import_value = 'Success: Character Imported Successfully\n\nRemember to add the token manually';
setAttrs(attributes, true);
})
})
// Update to new version
let deletedVariables = [
'gear_carry','gear_name','gear_crafts', 'gear_quantity','gear_avail','gear_weight','gear_pg#','gear_desc',
'linguistics_name', 'linguistics_mod2', 'linguistics_mod3',
'common-lore_name', 'common-lore_mod2', 'common-lore_mod3',
'scholastic-lore_name', 'scholastic-lore_mod2', 'scholastic-lore_mod3',
'forbidden-lore_name', 'forbidden-lore_mod2', 'forbidden-lore_mod3',
'trade_name', 'trade_mod2', 'trade_mod3',
'ability', 'ability_desc',
'trait', 'trait_desc',
'advancement_nameL','advancement_costL','advancement_nameR','advancement_costR'
]
on('sheet:opened', () => {
getAttrs(['sheet_version'], v => {
var version = v['sheet_version']
console.log(`version : ${version}`)
if (!version) {
version = 'V 1.0.0'
getSectionIDs('aptitudes', idArray => {
const fieldnames = []
idArray.forEach(id => fieldnames.push(
`repeating_aptitudes_${id}_aptitude_nameL_r`,
`repeating_aptitudes_${id}_aptitude_nameM_r`,
`repeating_aptitudes_${id}_aptitude_nameR_r`
))
fieldnames.push('aptitude_nameL','aptitude_nameM','aptitude_nameR')
getAttrs(fieldnames, values => {
var attr = []
for(const i in values) {
attr.push(values[i]);
values[i] = ''
}
attr = mapAptitudes(attr)
setAttrs({...attr, ...values})
idArray.forEach(id => removeRepeatingRow(`repeating_aptitudes_${id}`))
})
getAttrs(deletedVariables, values => {
var attributes = {}
let gear = {carry: values['gear_carry'], name: values['gear_name'], craftsmanship: values['gear_crafts'], quantity: values['gear_quantity'], avail: values['gear_avail'], weight: values['gear_weight'], desc: values['gear_desc']}
if (gear.name) attributes = {...attributes, ...mapGear(gear)}
let linguistic = {name: values['linguistics_name'], modifier: values['linguistics_mod2'],level: values['linguistics_mod3'],}
if (linguistic.name) attributes = {...attributes, ...mapRepeatingSkill(linguistic, 'linguistics')}
let commonLore = {name: values['common-lore_name'], modifier: values['common-lore_mod2'],level: values['common-lore_mod3'],}
if (commonLore.name) attributes = {...attributes, ...mapRepeatingSkill (commonLore, 'common-lore')}
let scholasticLore = {name: values['scholastic-lore_name'], modifier: values['scholastic-lore_mod2'],level: values['scholastic-lore_mod3'],}
if (scholasticLore.name) attributes = {...attributes, ...mapRepeatingSkill(scholasticLore, 'scholastic-lore')}
let forbiddenLore = {name: values['forbidden-lore_name'], modifier: values['forbidden-lore_mod2'],level: values['forbidden-lore_mod3'],}
if (forbiddenLore.name) attributes = {...attributes, ...mapRepeatingSkill(forbiddenLore, 'forbidden-lore')}
let trade = {name: values['trade_name'], modifier: values['trade_mod2'],level: values['trade_mod3'],}
if (trade.name) attributes = {...attributes, ...mapRepeatingSkill(trade, 'trade')}
let ability = {name: values['ability'], description: values['ability_desc']}
if (ability.name) attributes = {...attributes, ...mapAbility(ability)}
let trait = {name: values['trait'], description: values['trait_desc']}
if (trait.name) attributes = {...attributes, ...mapTrait(trait)}
let advances = [
{name: values['advancement_nameL'], cost: values['advancement_costL']},
{name: values['advancement_nameR'], cost: values['advancement_costR']}
]
attributes = {...attributes, ...mapAdvance(advances)}
for(const i in values) {
values[i] = ''
}
setAttrs({...values, ...attributes})
})
})
}
})
})
// functions
const mapInfo = (data) => {
let attr = {};
attr['character_name'] = data.name || '';
attr['Homeworld'] = data.homeworld || '';
attr['Background'] = data.background || '';
attr['Role'] = data.role || '';
attr['EliteAdvances'] = data.eliteAdvances || '';
attr['Notes'] = data.note || '';
attr['Player'] = data.player || '';
attr['appearance'] = data.appearance || '';
attr['Quirks'] = data.quirks || '';
attr['Divination'] = data.divination || '';
attr['Superstition'] = data.superstition || '';
attr['size'] = data.size || '';
attr['xp_total'] = data.xp || '';
attr['agi_mov_mod'] = data.movementModifier || '';
return attr;
};
const mapStat = (statName, stat) => {
let attr = {};
attr[`${statName}`] = stat.base || 0;
attr[`${statName}_advancement`] = stat.advancement || 0;
attr[`${statName}_mod`] = stat.modifier || 0;
attr[`${statName}_unnat`] = stat.unnatural || 0;
return attr;
};
const mapWounds = (wounds) => {
let attr = {};
attr['wounds'] = wounds.current || '';
attr['wounds_max'] = wounds.max || '';
attr['head'] = wounds.critical?.head || '';
attr['body'] = wounds.critical?.body || '';
attr['arm_left'] = wounds.critical?.arm_left || '';
attr['arm_right'] = wounds.critical?.arm_right || '';
attr['leg_left'] = wounds.critical?.leg_left || '';
attr['leg_right'] = wounds.critical?.leg_right || '';
return attr;
};
const mapFate = (fate) => {
let attr = {};
attr['fate'] = fate.current || '';
attr['fate_max'] = fate.max || '';
attr['settings_fate'] = fate.setting || '';
return attr;
};
const mapFatigue = (fatigue) => {
let attr = {};
attr['fatigue'] = fatigue.current || '';
attr['fatigue_mod'] = fatigue.modifier || '';
return attr;
};
const mapForceField = (forcefield) => {
let attr = {};
attr['forcefield_name'] = forcefield.name || '';
attr['forcefield_protection'] = forcefield.protection || '';
attr['forcefield_overload'] = forcefield.overload || '';
return attr;
};
const mapCondition = (condition) => {
if (!condition) return ;
let attr = {},
section = 'condition',
id = generateRowID();
attr[`repeating_${section}_${id}_condition_r`] = condition.name || '';
attr[`repeating_${section}_${id}_condition_desc_r`] = condition.description || '';
return attr;
};
const mapSkill = (skill) => {
if (!skill) return ;
let attr = {}
attr[`mod2_${skill.name}`] = skill.modifier || 0;
attr[`mod3_${skill.name}`] = skill.level || 0;
return attr;
};
const mapRepeatingSkill = (skill, section) => {
if (!skill) return ;
let attr = {},
id = generateRowID();
attr[`repeating_${section}_${id}_${section}_name`] = skill.name || '';
attr[`repeating_${section}_${id}_${section}_r_mod2`] = skill.modifier || '';
attr[`repeating_${section}_${id}_${section}_r_mod3`] = skill.level || '';
return attr;
};
const mapAbility = (ability) => {
if (!ability) return ;
let attr = {},
section = 'abilities',
id = generateRowID();
attr[`repeating_${section}_${id}_ability_r`] = ability.name || '';
attr[`repeating_${section}_${id}_ability_desc_r`] = ability.description || '';
return attr;
};
const mapTrait = (trait) => {
if (!trait) return ;
let attr = {},
section = 'traits',
id = generateRowID();
attr[`repeating_${section}_${id}_trait_r`] = trait.name || '';
attr[`repeating_${section}_${id}_trait_desc_r`] = trait.description || '';
return attr;
}
const mapAptitudes = (aptitudes) => {
var attr = {};
for (var i = 0; i < aptitudes?.length; i ++) {
attr[`aptitude_${i+1}`] = aptitudes[i] || '';
}
return attr;
};
const mapRangedWeapon = (weapon, vehicle) => {
if (!weapon) return ;
let attr = {},
section = (vehicle) ? 'vehiclerangedweapons' : 'rangedweapons',
id = generateRowID();
if (vehicle) id += '_V';
attr[`repeating_${section}_${id}_R_weapon_name`] = weapon.name || '';
attr[`repeating_${section}_${id}_R_weapon_class`] = weapon.class || '';
attr[`repeating_${section}_${id}_R_weapon_range`] = weapon.range || '';
attr[`repeating_${section}_${id}_R_weapon_dam-roll`] = weapon.damage || '';
attr[`repeating_${section}_${id}_R_weapon_pen`] = weapon.pen || '';
attr[`repeating_${section}_${id}_R_weapon_type`] = weapon.type || '';
attr[`repeating_${section}_${id}_R_weapon_max`] = weapon.max || '';
attr[`repeating_${section}_${id}_R_weapon_min`] = weapon.min || '';
attr[`repeating_${section}_${id}_R_weapon_vengeful`] = weapon.vengeful || '';
attr[`repeating_${section}_${id}_R_weapon_accurate`] = weapon.accurate || '';
attr[`repeating_${section}_${id}_R_weapon_burst`] = weapon.burst || '';
attr[`repeating_${section}_${id}_R_weapon_auto`] = weapon.auto || '';
attr[`repeating_${section}_${id}_R_weapon_mag`] = weapon.mag || '';
attr[`repeating_${section}_${id}_R_weapon_mag_max`] = weapon.mag_max || '';
attr[`repeating_${section}_${id}_R_weapon_trained`] = weapon.trained || '';
attr[`repeating_${section}_${id}_R_weapon_mod1`] = weapon.mod1 || '';
attr[`repeating_${section}_${id}_R_weapon_reload`] = weapon.reload || '';
attr[`repeating_${section}_${id}_R_weapon_weight`] = weapon.weight || '';
attr[`repeating_${section}_${id}_R_weapon_domain`] = weapon.domain || '';
attr[`repeating_${section}_${id}_R_weapon_mishap_chance`] = weapon.mishap_chance || '';
attr[`repeating_${section}_${id}_R_weapon_carry`] = weapon.carry || '';
attr[`repeating_${section}_${id}_R_weapon_ability_r`] = weapon.special || '';
attr[`repeating_${section}_${id}_R_weapon_ability_desc_r`] = weapon.description || '';
return attr;
}
const mapMeleeWeapon = (weapon, vehicle) => {
if (!weapon) return ;
let attr = {},
section = (vehicle) ? 'vehiclemeleeweapons' : 'meleeweapons',
id = generateRowID();
if (vehicle) id += '_V';
attr[`repeating_${section}_${id}_M_weapon_name`] = weapon.name || '';
attr[`repeating_${section}_${id}_M_weapon_class`] = weapon.class || '';
attr[`repeating_${section}_${id}_M_weapon_reach`] = weapon.reach || '';
attr[`repeating_${section}_${id}_M_weapon_dam-roll`] = weapon.damage || '';
attr[`repeating_${section}_${id}_M_weapon_pen`] = weapon.pen || '';
attr[`repeating_${section}_${id}_M_weapon_type`] = weapon.type || '';
attr[`repeating_${section}_${id}_M_weapon_max`] = weapon.max || '';
attr[`repeating_${section}_${id}_M_weapon_min`] = weapon.min || '';
attr[`repeating_${section}_${id}_M_weapon_vengeful`] = weapon.vengeful || '';
attr[`repeating_${section}_${id}_M_weapon_trained`] = weapon.trained || '';
attr[`repeating_${section}_${id}_M_weapon_mod1`] = weapon.mod1 || '';
attr[`repeating_${section}_${id}_M_weapon_weight`] = weapon.weight || '';
attr[`repeating_${section}_${id}_M_weapon_domain`] = weapon.domain || '';
attr[`repeating_${section}_${id}_M_weapon_carry`] = weapon.carry || '';
attr[`repeating_${section}_${id}_M_weapon_ability_r`] = weapon.special || '';
attr[`repeating_${section}_${id}_M_weapon_ability_desc_r`] = weapon.description || '';
return attr;
}
const mapGear = (gear) => {
if (!gear) return ;
let attr = {},
section = 'gear',
id = generateRowID();
attr[`repeating_${section}_${id}_gear_carry`] = gear.carry || '';
attr[`repeating_${section}_${id}_gear_name_r`] = gear.name || '';
attr[`repeating_${section}_${id}_gear_crafts_r`] = gear.craftsmanship || '';
attr[`repeating_${section}_${id}_gear_quantity_r`] = gear.quantity || '';
attr[`repeating_${section}_${id}_gear_avail_r`] = gear.availability || '';
attr[`repeating_${section}_${id}_gear_weight_r`] = gear.weight || '';
attr[`repeating_${section}_${id}_ability_desc_r`] = gear.description || '';
return attr;
}
const mapCybernetic = (cybernetic) => {
if (!cybernetic) return ;
let attr = {},
section = 'cybernetics',
id = generateRowID();
attr[`repeating_${section}_${id}_cybernetic_name_r`] = cybernetic.name || '';
attr[`repeating_${section}_${id}_cybernetic_location_r`] = cybernetic.location || '';
attr[`repeating_${section}_${id}_cybernetic_desc_r`] = cybernetic.description || '';
return attr;
}
const mapOldArmor = (armor) => {
let attr = {};
attr.armor_AGI = armor.maxAgi || '';
attr.armor_limit = armor.limit || '';
attr.armor_head = armor.head || '';
attr.armor_body = armor.body || '';
attr.armor_arm_right = armor.arm_right || '';
attr.armor_arm_left = armor.arm_left || '';
attr.armor_leg_right = armor.leg_right || '';
attr.armor_leg_left = armor.leg_left || '';
attr.armor_name = armor.description || '';
return attr;
}
const mapAdvance = (advances) => {
advances = advances.filter(advance => !!advance.name)
var attr = {};
var section = 'advancements';
for (var i = 0; i < advances?.length; i += 2) {
let id = generateRowID();
attr[`repeating_${section}_${id}_advancement_nameL_r`] = advances[i]?.name || '';
attr[`repeating_${section}_${id}_advancement_costL_r`] = advances[i]?.cost || '';
attr[`repeating_${section}_${id}_advancement_nameR_r`] = advances[i+1]?.name || '';
attr[`repeating_${section}_${id}_advancement_costR_r`] = advances[i+1]?.cost || '';
}
return attr;
};
const mapDisorder = (disorder) => {
if (!disorder) return;
let attr = {},
section = 'disorders',
id = generateRowID();
attr[`repeating_${section}_${id}_disorder_r`] = disorder.name || '';
attr[`repeating_${section}_${id}_disorder_desc_r`] = disorder.description || '';
return attr;
}
const mapMutation = (mutation) => {
if (!mutation) return;
let attr = {},
section = 'mutations',
id = generateRowID();
attr[`repeating_${section}_${id}_mutation_r`] = mutation.name || '';
attr[`repeating_${section}_${id}_mutation_desc_r`] = mutation.description || '';
return attr;
}
const mapObjective = (objective) => {
if (!objective) return;
let attr = {},
section = 'objectives',
id = generateRowID();
attr[`repeating_${section}_${id}_objective_r`] = objective.name || '';
attr[`repeating_${section}_${id}_objective_completed`] = objective.complete || '';
return attr;
}
const mapNote = (note) => {
if (!note) return;
let attr = {},
section = 'notes',
id = generateRowID();
attr[`repeating_${section}_${id}_notes`] = note.name || note || '';
return attr;
}
const mapVehicle = (vehicle) => {
if (!vehicle) return;
let attr = {},
section = 'vehicles',
id = generateRowID();
attr[`repeating_${section}_${id}_vehicle-name`] = vehicle.name || '';
attr[`repeating_${section}_${id}_vehicle-size`] = vehicle.size || '';
attr[`repeating_${section}_${id}_vehicle-world`] = vehicle.world || '';
attr[`repeating_${section}_${id}_vehicle-type`] = vehicle.type || '';
attr[`repeating_${section}_${id}_vehicle-tactical`] = vehicle.tactical || '';
attr[`repeating_${section}_${id}_vehicle-cruising`] = vehicle.cruising || '';
attr[`repeating_${section}_${id}_vehicle-maneuver`] = vehicle.maneuver || '';
attr[`repeating_${section}_${id}_vehicle-crew`] = vehicle.crew || '';
attr[`repeating_${section}_${id}_vehicle-compliment`] = vehicle.compliment || '';
attr[`repeating_${section}_${id}_vehicle-integrity`] = vehicle.integrity || '';
attr[`repeating_${section}_${id}_vehicle-integrity_max`] = vehicle.integrity_max || '';
attr[`repeating_${section}_${id}_vehicle-armor-front`] = vehicle['armor-front'] || '';
attr[`repeating_${section}_${id}_vehicle-armor-side`] = vehicle['armor-side'] || '';
attr[`repeating_${section}_${id}_vehicle-armor-rear`] = vehicle['armor-rear'] || '';
attr[`repeating_${section}_${id}_armaments`] = vehicle.armaments || '';
attr[`repeating_${section}_${id}_armaments_desc`] = vehicle.armaments_desc || '';
attr[`repeating_${section}_${id}_vehicle_traits`] = vehicle.traits || '';
attr[`repeating_${section}_${id}_vehicle_traits_desc`] = vehicle.traits_desc || '';
attr[`repeating_${section}_${id}_modifications`] = vehicle.modifications || '';
attr[`repeating_${section}_${id}_modifications_desc`] = vehicle.modifications_desc || '';
return attr;
}
const mapPsykana = (psykana) => {
let attr = {};
attr[`psykana_class`] = psykana.class || '';
attr[`psykana_limit`] = psykana.limit || '';
attr[`psy_rating`] = psykana.rating || '';
attr[`psy_push`] = psykana.push || '';
attr[`psykana_sustain`] = psykana.sustain || '';
attr[`focus_mod`] = psykana.focus_mod || '';
attr[`psykana_sustain_count`] = psykana.sustain_count || '';
return attr;
};
const mapPsyMinor = (minor) => {
if (!minor) return
let attr = {},
section = 'minormanifestation',
id = generateRowID();
attr[`repeating_${section}_${id}_P_minor_r`] = minor.name || '';
attr[`repeating_${section}_${id}_P_minor_desc_r`] = minor.description || '';
return attr;
}
const mapPsyNote = (note) => {
if (!note) return
let attr = {},
section = 'psynotes',
id = generateRowID();
attr[`repeating_${section}_${id}_P_note_r`] = note.name || '';
attr[`repeating_${section}_${id}_P_note_desc_r`] = note.description || '';
return attr;
}
const mapPsyPower = (power) => {
if (!power) return;
let attr = {},
section = 'psychicabilities',
id = generateRowID();
attr[`repeating_${section}_${id}_P_name`] = power.name || '';
attr[`repeating_${section}_${id}_P_subtype`] = power.subtype || '';
attr[`repeating_${section}_${id}_P_range`] = power.range || '';
attr[`repeating_${section}_${id}_P_dam-roll`] = power.damage || '';
attr[`repeating_${section}_${id}_P_type`] = power.type || '';
attr[`repeating_${section}_${id}_P_pen`] = power.pen || '';
attr[`repeating_${section}_${id}_P_focus`] = power.focus || '';
attr[`repeating_${section}_${id}_P_mod1`] = power.mod || '';
attr[`repeating_${section}_${id}_P_multi`] = power.multi || '';
attr[`repeating_${section}_${id}_P_action`] = power.action || '';
attr[`repeating_${section}_${id}_P_sustained`] = power.sustained || '';
attr[`repeating_${section}_${id}_P_hitloc`] = power.hitloc || '';
attr[`repeating_${section}_${id}_P_ability_r`] = power.ability || '';
attr[`repeating_${section}_${id}_P_desc_r`] = power.desc || '';
return attr;
}
// charactermancer
const GENOS = []
const HOMEWORLDS = []
const BACKGROUNDS = []
const ROLES = []
on(`clicked:charmancer`, (eventinfo) => {
//startCharactermancer('intro')
console.log(eventinfo)
});
on("mancer:cancel", (eventinfo) => {
deleteCharmancerData(['genos', 'homeworld', 'background', 'role', 'aptitudes', 'equipments', 'talents', 'skills'])
})
// GENOS
function getGenos() {
return GENOS.find(race => race.name === getCharmancerData()?.genos?.values?.genos)
}
function generateGenos(name) {
let genos = GENOS.find(genos => genos.name === name)
if (!genos) return ('<h2>Something went wrong</h2>')
var text = ''
text += `<h3>Characteristics</h3>`
text += `<p/>+${genos.stats.WS} Weapon Skill, +${genos.stats.BS} Ballistic Skill, +${genos.stats.STR} Strength, +${genos.stats.TOU} Toughness, +${genos.stats.AGI} Agility, +${genos.stats.INT} Intelligence, +${genos.stats.PER} Perception, +${genos.stats.WP} Willpower, +${genos.stats.FEL} Fellowship, +${genos.stats.INF} Influence</p>`
text += `<h3>Genos Traits</h3>`
text += `<p/>`
genos.traits.forEach(trait => {
text += `${trait}, `
})
text += `<p/>`
text += `<h3>Genos Bonus</h3>`
genos.bonus.forEach(bonus => {
text += `<p/> ${bonus.name}: ${bonus.desc}<p/>`
})
text += `<h3>Genos Aptitude</h3>`
text += (genos.aptitudes.length) ? `<p>${genos.aptitudes[0]} or ${genos.aptitudes[1]}</p>` : `<p>Any one Aptitude of the players choice</p>`
text += `<h3>Base Vitality</h3>`
text += `<p>${genos.wounds}</p>`
return text
}
on("page:genos", (eventinfo) => {
setCharmancerText({"genos_infos":generateGenos('Human')})
})
on("mancerchange:genos", (eventinfo) => {
setCharmancerText({"genos_infos":generateGenos(eventinfo.newValue)})
});
// STATS
function assignRolls(rolls) {
let attrs = {}
rolls.forEach((roll, i) => {
attrs[`roll_${i}_value`] = roll.result
})
return attrs
}
on("page:stats", (eventinfo) => {
let genos = getCharmancerData()?.genos?.values?.genos
let stats = GENOS.find(race => race.name === genos)?.stats
let points = (genos === 'Human') ? 5 : 0
let rolled = getCharmancerData()?.stats?.values?.rolled ?? false
let rerolled = getCharmancerData()?.stats?.values?.rerolled ?? false
let points_spent = getCharmancerData()?.stats?.values?.points_spent ?? 0
if (rolled) setCharmancerText({"rolled":''})
setAttrs({...stats, 'points': points, 'rolled': rolled, 'rerolled': rerolled, 'points_spent': points_spent})
})
on("mancerchange:points_spent", (eventinfo) => {
let points_spent = eventinfo.newValue ?? 0
let points = (getCharmancerData()?.genos?.values?.genos === 'Human') ? 5 : 0
let points_left = points - parseInt(points_spent,10)
setAttrs({"points": points_left})
});
on("mancerchange:points", (eventinfo) => {
let points = eventinfo.newValue
let points_left = (points > 0) ? `<p>You have <b>${points} points</b> left to spend</p>` : ''
setCharmancerText({"points_left": points_left})
});
on("mancerroll:standard", e => {
setCharmancerText({"roll_low":''})
var rolls = e.roll
var minimum = 110
var total = rolls.reduce((total, roll) => total + roll.result, 0)
if (total < minimum) return setCharmancerText({"roll_low":'<h2>Dice roll was too low, please try again</h2>'})
setCharmancerText({"rolled":''})
setAttrs({...assignRolls(rolls), 'rolled': 'true'})
})
for (let i = 0; i < 10; i++) {
on(`mancerroll:reroll_${i}`, e => {
let reroll = getCharmancerData()?.stats?.values?.rerolled
if (reroll === 'true') return setCharmancerText({"rolled":'<h2>You already rerolled one of the dice</h2>'})
let attr = {}
attr[`roll_${i}_value`] = e.roll[0].result
attr[`rerolled`] = 'true'
setAttrs(attr)
})
on(`mancerchange:roll_${i}_char`, e => {
let diceCharacteristics = getCharmancerData()?.stats?.values
for (let j = 0; j < 10; j++) {
if (!diceCharacteristics[`roll_${i}_char`]) break
if (i == j) continue
if (diceCharacteristics[`roll_${i}_char`] === diceCharacteristics[`roll_${j}_char`]) {
let attr = {}
attr[`roll_${j}_char`] = ''
setAttrs(attr)
}
}
assignRollToCharacteristics()
})
}
function assignRollToCharacteristics() {
let genos = GENOS.find(genos => genos.name === getCharmancerData()?.genos?.values?.genos)?.stats
let rolls = getCharmancerData()?.stats?.values
let stats = {...genos}
for (let i = 0; i < 10; i++) {
if (rolls[`roll_${i}_char`] === 'WS' ) stats.WS += parseInt(rolls[`roll_${i}_value`], 10)
if (rolls[`roll_${i}_char`] === 'BS' ) stats.BS += parseInt(rolls[`roll_${i}_value`], 10)
if (rolls[`roll_${i}_char`] === 'STR') stats.STR += parseInt(rolls[`roll_${i}_value`], 10)
if (rolls[`roll_${i}_char`] === 'TOU') stats.TOU += parseInt(rolls[`roll_${i}_value`], 10)
if (rolls[`roll_${i}_char`] === 'AGI') stats.AGI += parseInt(rolls[`roll_${i}_value`], 10)
if (rolls[`roll_${i}_char`] === 'INT') stats.INT += parseInt(rolls[`roll_${i}_value`], 10)
if (rolls[`roll_${i}_char`] === 'PER') stats.PER += parseInt(rolls[`roll_${i}_value`], 10)
if (rolls[`roll_${i}_char`] === 'WP' ) stats.WP += parseInt(rolls[`roll_${i}_value`], 10)
if (rolls[`roll_${i}_char`] === 'FEL') stats.FEL += parseInt(rolls[`roll_${i}_value`], 10)
if (rolls[`roll_${i}_char`] === 'INF') stats.INF += parseInt(rolls[`roll_${i}_value`], 10)
}
setAttrs({...stats, 'points_spent': 0})
}
['WS', 'BS', 'STR', 'TOU', 'AGI', 'INT', 'PER', 'WP', 'FEL', 'INF'].forEach(characteristic => {
on(`clicked:decrease_${characteristic}`, () => {
setCharmancerText({"roll_low":''})
let points_spent = parseInt(getCharmancerData()?.stats?.values?.points_spent, 10)
let char_points_spent = parseInt(getCharmancerData()?.stats?.values?.[`${characteristic}_points`], 10)
if (!char_points_spent || !points_spent) return setCharmancerText({"roll_low":'<h2>You can\'t do that</h2>'})
let attr = {}
attr[characteristic] = parseInt(getCharmancerData()?.stats?.values?.[characteristic], 10) -1
attr[`${characteristic}_points`] = char_points_spent -1
attr['points_spent'] = points_spent -1
setAttrs(attr)
})
on(`clicked:increase_${characteristic}`, () => {
setCharmancerText({"roll_low":''})
let points_left = parseInt(getCharmancerData()?.stats?.values?.points, 10)
let char = parseInt(getCharmancerData()?.stats?.values?.[characteristic], 10)
if (!points_left || char >= 40) return setCharmancerText({"roll_low":'<h2>You can\'t do that</h2>'})
let char_points_spent = parseInt(getCharmancerData()?.stats?.values?.[`${characteristic}_points`], 10) || 0
let points_spent = parseInt(getCharmancerData()?.stats?.values?.points_spent, 10)
let attr = {}
attr[characteristic] = parseInt(getCharmancerData()?.stats?.values?.[characteristic], 10) +1
attr[`${characteristic}_points`] = char_points_spent +1
attr['points_spent'] = points_spent +1
setAttrs(attr)
})
})
// HOMEWORLDS
function getHomeworld() {
return HOMEWORLDS.find(world => world.name === getCharmancerData()?.homeworld?.values?.homeworld)
}
function generateHomeworld(name) {
let world = HOMEWORLDS.find(world => world.name === name)
if (!world) return ('<h2>Something went wrong</h2>')
var text = ''
text += `<h3>Aptitude</h3>`
text += `<p>${world.aptitudes[0]} or ${world.aptitudes[1]}</p>`
text += `<h3>Characteristics</h3>`
text += `<p>`
for (const key in world.characteristics) {
if (Object.hasOwnProperty.call(world.characteristics, key)) {
text += `${key} : ${world.characteristics[key]}`
}
}
text += `</p>`
text += `<h3>World Bonus</h3>`
text += `
<p /> ${world.bonus.name}: ${world.bonus.desc}
<p />`
text += `<h3>Fate</h3>`
text += `<p>${world.fate}</p>`
text += `<p>Emperor BLessing : ${world.empBlessing}</p>`
text += `<h3>Vitality</h3>`
text += `<p>+${world.wounds}</p>`
return text
}
on("page:homeworld", (eventinfo) => {
let list = ''
HOMEWORLDS.forEach(homeworld => {
list += ` <option value="${homeworld.name}">${homeworld.name}</option>`
})
setCharmancerText({"homeworld_choices": list})
setCharmancerText({"homeworld_infos":generateBackground(HOMEWORLDS[0].name)})
})
on("mancerchange:homeworld", (eventinfo) => {
setCharmancerText({"homeworld_infos":generateHomeworld(eventinfo.newValue)})
});
// BACKGROUNDS
function getBackground() {
return background = BACKGROUNDS.find(background => background.name === getCharmancerData()?.background?.values?.background)
}
function generateBackground(name) {
let background = BACKGROUNDS.find(background => background.name === name)
if (!background) return ('<h2>Something went wrong</h2>')
var text = ''
text += `<h3>Aptitude</h3>`
text += `<p>${background.aptitudes[0]} or ${background.aptitudes[1]}</p>`
text += `<h3>Talents</h3>`
text += `<p>`
background.talents.forEach(talent => {
if (Array.isArray(talent)) {
for (let i = 0; i < talent.length; i++) {
if (i > 0) text += ' or '
if (Array.isArray(talent[i])) {
text += talent[i].join(' and ')
} else {
text += `${talent[i]}, `
}
}
} else {
text += `${talent}, `
}
})
text += `</p>`
text += `<h3>Skills</h3>`
text += `<p>`
background.skills.forEach(skill => {
if (Array.isArray(skill)) {
for (let i = 0; i < skill.length; i++) {
if (i> 0) text += ' or '
if (Array.isArray(skill[i])) {
text += skill[i].join(' and ')
} else {
text += `${skill[i]}, `
}
}
} else {
text += `${skill}, `
}
})
text += `</p>`
if (background.traits.length) {
text += `<h3>Traits</h3><p>`
background.traits.forEach(trait => text += `${trait}, `)
text += `</p>`
}
text += `</p>`
if (background.malignancies.length) {
text += `<h3>Malignacies</h3><p>`
background.malignancies.forEach(malignancy => text += `${malignancy}, `)
text += `</p>`
}
text += `<h3>Bonus</h3>`
text += `<p> ${background.bonus.name}: ${background.bonus.desc} </p>`
text += `<h3>Equipment</h3>`
text += `<p>`
background.equipment.forEach(equipment => {
if (Array.isArray(equipment)) {
for (let i = 0; i < equipment.length; i++) {
if (i> 0) text += ' or '
if (Array.isArray(equipment[i])) {
text += equipment[i].join(' and ')
} else {
text += `${equipment[i]}, `
}
}
} else {
text += `${equipment}, `
}
})
text += `</p>`
if (background.wounds) text += `<h3>Bonus Vitality: ${background.wounds}</h3> `
return text
}
on("page:background", (eventinfo) => {
let backgrounds = BACKGROUNDS.filter(background => (background.restrictions.length === 0 || background.restrictions.includes(getCharmancerData()?.genos?.values?.genos)))
let list = ''
backgrounds.forEach(background => {
list += ` <option value="${background.name}">${background.name}</option>`
})
setCharmancerText({"background_choices": list})
setCharmancerText({"background_infos":generateBackground(backgrounds[0].name)})
})
on("mancerchange:background", (eventinfo) => {
setCharmancerText({"background_infos":generateBackground(eventinfo.newValue)})
});
// ROLES
function getRole() {
return ROLES.find(role => role.name === getCharmancerData()?.role?.values?.role)
}
function generateRoles(name) {
let role = ROLES.find(role => role.name === name)
if (!role) return ('<h2>Something went wrong</h2>')
var text = ''
text += `<h3>Aptitude</h3>`
text += `<p>`
role.aptitudes.forEach(aptitude => {
if (Array.isArray(aptitude)) {
text += aptitude.join(' or ') + ', '
} else {
text += `${aptitude}, `
}
})
text += `</p>`
text += `<h3>Talents</h3>`
text += `<p>`
role.talents.forEach(talent => {
if (Array.isArray(talent)) {
text += talent.join(' or ') + ', '
} else {
text += `${talent}, `
}
})
text += `</p>`
text += `<h3>Bonus</h3>`
role.bonus.forEach(bonus => {
text += `<p> ${bonus.name}: ${bonus.desc}</p>`
})
return text
}
on("page:role", (eventinfo) => {
let roles = ROLES.filter(role => (role.restrictions.length === 0 || role.restrictions.includes(getCharmancerData()?.genos?.values?.genos)))
let list = ''
roles.forEach(role => {
list += ` <option value="${role.name}">${role.name}</option>`
})
setCharmancerText({"role_choices": list})
setCharmancerText({"role_infos":generateRoles(roles[0].name)})
})
on("mancerchange:role", (eventinfo) => {
setCharmancerText({"role_infos":generateRoles(eventinfo.newValue)})
});
// APTITUDES
on("page:aptitudes", e => {
let genos = getGenos().aptitudes,
homeworld = getHomeworld().aptitudes,
background = getBackground().aptitudes,
role = getRole().aptitudes
let aptitudes = [genos, homeworld, background, ...role]
let text = ''
let attr = {}
aptitudes.forEach((aptitude, i) => {
if (Array.isArray(aptitude)) {
if (aptitude.length > 0) {
text += `<select name="comp_aptitude_${i+1}" class="sheet-full_width role_choices" required>`
text += ` <option value=''> -- </option> `
text += ` <option value='${aptitude[0]}'>${aptitude[0]}</option> `
text += ` <option value='${aptitude[1]}'>${aptitude[1]}</option> `
text += '</select>'
} else {
text += `<input type='text' list='Aptitudes' name="comp_aptitude_${i+1}" class="sheet-full_width role_choices" required />`
}
} else {
text += `<p>${aptitude}</p>`
attr[`aptitude_${i+1}`] = aptitude
}
})
attr['aptitude_9'] = 'General'
setAttrs(attr)
setCharmancerText({"aptitudes_block": text})
})
// TALENTS
on("page:talents", e => {
let background = getBackground().talents,
role = getRole().talents
let talents = [...background, ...role]
let text = ''
let attr = {}
talents.forEach((talent, i) => {
if (Array.isArray(talent)) {
if (talent.length > 0) {
text += `<select name="comp_talent_${i+1}" class="sheet-full_width role_choices" required>`
text += ` <option value=''> -- </option> `
text += ` <option value='${talent[0]}'>${talent[0]}</option> `
text += ` <option value='${talent[1]}'>${talent[1]}</option> `
text += '</select>'
} else {
text += `<input type='text' list='Aptitudes' name="comp_talent_${i+1}" class="sheet-full_width role_choices" required />`
}
} else {
text += `<p>${talent}</p>`
attr[`talent_${i+1}`] = talent
}
})
setAttrs(attr)
setCharmancerText({"talents_block": text})
})
// EQUIPMENTS
on("page:equipments", e => {
let equipments = getBackground().equipment
let text = ''
let attr = {}
equipments.forEach((equipment, i) => {
if (Array.isArray(equipment)) {
if (equipment.length > 0) {
text += `<select name="comp_equipment_${i+1}" class="sheet-full_width role_choices" required>`
text += ` <option value=''> -- </option> `
text += ` <option value='${equipment[0]}'>${equipment[0]}</option> `
text += ` <option value='${equipment[1]}'>${equipment[1]}</option> `
text += '</select>'
} else {
text += `<input type='text' list='Aptitudes' name="comp_equipment_${i+1}" class="sheet-full_width role_choices" required />`
}
} else {
text += `<p>${equipment}</p>`
attr[`equipment_${i+1}`] = equipment
}
})
setAttrs(attr)
setCharmancerText({"equipments_block": text})
})
// SKILLS
on("page:skills", e => {
let skills = getBackground().skills
let text = ''
let attr = {}
skills.forEach((skill, i) => {
if (Array.isArray(skill)) {
if (skill.length > 0) {
text += `<select name="comp_skill_${i+1}" class="sheet-full_width role_choices" required>`
text += ` <option value=''> -- </option> `
text += ` <option value='${skill[0]}'>${skill[0]}</option> `
text += ` <option value='${skill[1]}'>${skill[1]}</option> `
text += '</select>'
} else {
text += `<input type='text' list='Aptitudes' name="comp_skill_${i+1}" class="sheet-full_width role_choices" required />`
}
} else {
text += `<p>${skill}</p>`
attr[`skill_${i+1}`] = skill
}
})
setAttrs(attr)
setCharmancerText({"skills_block": text})
})
// WOUNDS
on("page:wounds", (eventinfo) => {
let genos = getGenos().wounds
let homeworld = getHomeworld()
let background = getBackground().wounds
let wounds_max = getCharmancerData()?.wounds?.values?.wounds ?? ''
let fate_max = getCharmancerData()?.wounds?.values?.fate ?? ''
let divination = getCharmancerData()?.wounds?.values?.divination ?? ''
let wounds = genos + homeworld.wounds + background
let fate = homeworld.fate
let empBlessing = homeworld.empBlessing
setAttrs({'wounds': wounds_max, 'fate': fate_max, 'divination': divination})
setCharmancerText({'wounds':wounds, 'fate': fate, 'empBlessing': empBlessing, 'wounds_max': wounds_max, 'fate_max': fate_max, 'divination': divination})
})
on("mancerroll:wounds", e => {
let wounds_max = getCharmancerData()?.wounds?.values?.wounds ?? ''
if (wounds_max) return
var roll = e.roll[0].result
let wounds = roll + getGenos().wounds + getBackground().wounds + getHomeworld().wounds
setCharmancerText({"wounds_max": wounds})
setAttrs({'wounds': wounds})
})
on("mancerroll:fate", e => {
let fate_max = getCharmancerData()?.wounds?.values?.fate ?? ''
if (fate_max) return
var roll = e.roll[0].result
let { fate, empBlessing } = getHomeworld()
if (roll >= empBlessing) fate++
setCharmancerText({"fate_max": fate})
setAttrs({'fate': fate})
})
on("mancerroll:divination", e => {
let divination = getCharmancerData()?.wounds?.values?.divination ?? ''
if (divination) return
divination = e.roll[0].result
setCharmancerText({"divination": divination})
setAttrs({'divination': divination})
})
// MANCER FINISH
on("mancerfinish:recap", data => {
data = data.data
console.log(data)
setCharmancerText({'recap_progress': `<progress value="0" max="100" style="width:100%;">0%</progress>`})
let genos = data.genos.values.genos
let stats = data.stats.values
let homeworld = data.homeworld.values.homeworld
let background = data.background.values.background
let role = data.role.values.role
let aptitudes = data.aptitudes.values
let skills = Object.values(data.skills.values)
let talents = Object.values(data.talents.values)
let equipments = Object.values(data.equipments.values)
let { wounds, fate, divination } = data.wounds.values
let text = ''
text += `Genos : ${genos}\n`
text += `Homeworld : ${homeworld}\n`
text += `Background : ${background}\n`
text += `Role : ${role}\n`
text += `\n`
text += `Stats : \n`
text += `WS : ${stats.WS}\n`
text += `BS : ${stats.BS}\n`
text += `STR : ${stats.STR}\n`
text += `TOU : ${stats.TOU}\n`
text += `AGI : ${stats.AGI}\n`
text += `INT : ${stats.INT}\n`
text += `PER : ${stats.PER}\n`
text += `WP : ${stats.WP}\n`
text += `FEL : ${stats.FEL}\n`
text += `INF : ${stats.INF}\n`
text += `\n`
text += `Aptitudes : ${Object.values(aptitudes).join(', ')}\n`
text += `\n`
text += `Skills : ${skills.join(', ')}\n`
text += `\n`
text += `Talents : ${talents.join(', ')}\n`
text += `\n`
text += `Equipment : ${equipments.join(', ')}\n`
text += `\n`
text += `Wounds : ${wounds}\n`
text += `Fate : ${fate}\n`
text += `Divination : ${divination}\n`
console.log(text)
setAttrs({...mapNote(text), 'sheetTab' : 'journal'})
finishCharactermancer()
})
on("mancerfinish:random", eventinfo => {
// TODO : random character generator
let random = (max) => Math.floor(Math.random() * max)
let genos = GENOS[random(GENOS.length)]
let stats = {}
stats.WS = genos.stats.WS + random(11) + random(11)
stats.BS = genos.stats.BS + random(11) + random(11)
stats.STR = genos.stats.STR + random(11) + random(11)
stats.TOU = genos.stats.TOU + random(11) + random(11)
stats.AGI = genos.stats.AGI + random(11) + random(11)
stats.INT = genos.stats.INT + random(11) + random(11)
stats.PER = genos.stats.PER + random(11) + random(11)
stats.WP = genos.stats.WP + random(11) + random(11)
stats.FEL = genos.stats.FEL + random(11) + random(11)
stats.INF = genos.stats.INF + random(11) + random(11)
let homeworld = HOMEWORLDS[random(HOMEWORLDS.length)]
let background = BACKGROUNDS[random(BACKGROUNDS.length)]
let role = ROLES[random(ROLES.length)]
const APTITUDES = [
"Agility",
"Ballistic Skill",
"Conviction",
"Defence",
"Fellowship",
"Fieldcraft",
"Finesse",
"General",
"Intelligence",
"Knowledge",
"Leadership",
"Offence",
"Perception",
"Social",
"Strength",
"Tech",
"Toughness",
"Weapon Skill",
"Willpower"
]
let TempAptitudes = [genos.aptitudes, homeworld.aptitudes, background.aptitudes, ...role.aptitudes]
let aptitudes = []
console.log(TempAptitudes)
TempAptitudes.forEach((aptitude, i) => {
if (Array.isArray(aptitude)) {
if (aptitude.length > 0) {
aptitudes.push(aptitude[random(aptitude.length)])
} else {
aptitudes.push(APTITUDES[random(APTITUDES.length)])
}
} else {
aptitudes.push(aptitude)
}
})
let skills = []
let TempSkills = background.skills
console.log(TempSkills)
TempSkills.forEach((skill, i) => {
if (Array.isArray(skill)) {
if (skill.length > 0) {
skills.push(skill[random(skill.length)])
} else {
skills.push('AN ERROR OCCURED')
}
} else {
skills.push(skill)
}
})
let talents = []
let TempTalents = [...background.talents, ...role.talents]
console.log(TempTalents)
TempTalents.forEach((talent, i) => {
if (Array.isArray(talent)) {
if (talent.length > 0) {
talents.push(talent[random(talent.length)])
} else {
talents.push('AN ERROR OCCURED')
}
} else {
talents.push(talent)
}
})
let equipments = []
let TempEquipments = background.equipment
console.log(TempEquipments)
TempEquipments.forEach((equipment, i) => {
if (Array.isArray(equipment)) {
if (equipment.length > 0) {
equipments.push(equipment[random(equipment.length)])
} else {
equipments.push('AN ERROR OCCURED')
}
} else {
equipments.push(equipment)
}
})
let wounds = genos.wounds + homeworld.wounds + background.wounds + random(5)+1
let fate = homeworld.fate
if (random(10)+1 > homeworld.empBlessing) fate++
let divination = random(100)+1
let text = ''
text += `Genos : ${genos.name}\n`
text += `Homeworld : ${homeworld.name}\n`
text += `Background : ${background.name}\n`
text += `Role : ${role.name}\n`
text += `\n`
text += `Stats : \n`
text += `WS : ${stats.WS}\n`
text += `BS : ${stats.BS}\n`
text += `STR : ${stats.STR}\n`
text += `TOU : ${stats.TOU}\n`
text += `AGI : ${stats.AGI}\n`
text += `INT : ${stats.INT}\n`
text += `PER : ${stats.PER}\n`
text += `WP : ${stats.WP}\n`
text += `FEL : ${stats.FEL}\n`
text += `INF : ${stats.INF}\n`
text += `\n`
text += `Aptitudes : ${aptitudes.join(', ')}\n`
text += `\n`
text += `Skills : ${skills.join(', ')}\n`
text += `\n`
text += `Talents : ${talents.join(', ')}\n`
text += `\n`
text += `Equipment : ${equipments.join(', ')}\n`
text += `\n`
text += `Wounds : ${wounds}\n`
text += `Fate : ${fate}\n`
text += `Divination : ${divination}\n`
console.log(text)
setAttrs({...mapNote(text), 'sheetTab' : 'journal'})
finishCharactermancer()
})
</script>
<!-- ROLLTEMPLATE -->
<rolltemplate class="sheet-rolltemplate-mythic">
{{#initiative}}
<div class="sheet-template-header">{{character}} Rolls for Initiative</div>
<img alt="spacer" src="https://raw.githubusercontent.com/ChtiKenny/roll20-character-sheets/ShadowbaneInauisition/ShadowbaneInquisition/images/assets/spacer.png" class="sheet-rolltemplate-spacer">
<div class="sheet-template-content">
<div class="sheet-template-header">{{initiative}} Initiative</div>
</div>
{{/initiative}}
{{#d100}}
<div class="sheet-template-header">{{character}} just rolls a d100 </div>
<img alt="spacer" src="https://raw.githubusercontent.com/ChtiKenny/roll20-character-sheets/ShadowbaneInauisition/ShadowbaneInquisition/images/assets/spacer.png" class="sheet-rolltemplate-spacer">
<div class="sheet-template-content">
<div class="sheet-template-row template-center">Target: {{target}} Roll: {{roll}} </div>
<div class="sheet-template-row template-center">Difference: {{difference}}</div>
</div>
{{/d100}}
{{#forcefield}}
<div class="sheet-template-header">{{character}} tries a Force Field</div>
<img alt="spacer" src="https://raw.githubusercontent.com/ChtiKenny/roll20-character-sheets/ShadowbaneInauisition/ShadowbaneInquisition/images/assets/spacer.png" class="sheet-rolltemplate-spacer">
<div class="sheet-template-content">
<div class="sheet-template-2x2 sheet-template-row">
<div class="sheet-template-right">{{forcefield}}</div>
<div class="sheet-template-left">{{roll}}</div>
</div>
{{#rollWasCrit() roll }}
<img alt="spacer" src="https://raw.githubusercontent.com/ChtiKenny/roll20-character-sheets/ShadowbaneInauisition/ShadowbaneInquisition/images/assets/spacer.png" class="sheet-rolltemplate-spacer sheet-invert">
<div class="sheet-template-row sheet-template-center">Failed to Engage</div>
{{/rollWasCrit() roll }}
{{#rollWasFumble() roll }}
<img alt="spacer" src="https://raw.githubusercontent.com/ChtiKenny/roll20-character-sheets/ShadowbaneInauisition/ShadowbaneInquisition/images/assets/spacer.png" class="sheet-rolltemplate-spacer sheet-invert">
<div class="sheet-template-row sheet-template-center">Overloaded</div>
{{/rollWasFumble() roll }}
</div>
{{/forcefield}}
{{#roll-name}}
<div class="sheet-template-header">{{character}} Rolls for {{roll-name}}</div>
<img alt="spacer" src="https://raw.githubusercontent.com/ChtiKenny/roll20-character-sheets/ShadowbaneInauisition/ShadowbaneInquisition/images/assets/spacer.png" class="sheet-rolltemplate-spacer">
<div class="sheet-template-content">
<div class="sheet-template-2x2 sheet-template-row">
<div class="sheet-template-right">Target :</div>
<div class="sheet-template-left">{{target}}</div>
</div>
<div class="sheet-template-2x2 sheet-template-row">
<div class="sheet-template-right">Roll :</div>
<div class="sheet-template-left">{{roll}}</div>
</div>
<img alt="spacer" src="https://raw.githubusercontent.com/ChtiKenny/roll20-character-sheets/ShadowbaneInauisition/ShadowbaneInquisition/images/assets/spacer.png" class="sheet-rolltemplate-spacer sheet-invert">
<div class="sheet-template-row">
{{#^rollGreater() roll target }}
<div class="sheet-template-center sheet-success">
<span>Success </span><span>with </span><span>{{dos}}</span><span> DoS</span>
</div>
{{/^rollGreater() roll target }}
{{#rollGreater() roll target }}
<div class="sheet-template-center sheet-failure">
<span>Failure </span><span>with </span><span>{{dof}}</span><span> DoF</span>
</div>
{{/rollGreater() roll target }}
</div>
</div>
{{/roll-name}}
{{#fate}}
<div class="sheet-template-header">{{character}} Rolls for Fate Point</div>
<img alt="spacer" src="https://raw.githubusercontent.com/ChtiKenny/roll20-character-sheets/ShadowbaneInauisition/ShadowbaneInquisition/images/assets/spacer.png" class="sheet-rolltemplate-spacer">
<div class="sheet-template-content">
<div class="sheet-template-row">
{{#^rollWasCrit() fate }}
<div class="sheet-template-center sheet-failure">
{{fate}}: Fate Point Lost
</div>
{{/^rollWasCrit() fate }}
{{#rollWasCrit() fate }}
<div class="sheet-template-center sheet-success">
{{fate}}: Fate Point Saved
</div>
{{/rollWasCrit() fate }}
</div>
</div>
{{/fate}}
{{#attack}}
<div class="sheet-template-header">{{character}} rolls to {{#psy}}focus{{/psy}}{{^psy}}hit{{/psy}} with {{weapon}}</div>
{{#loc}}
<div class="sheet-template-content template-content_top">
{{/loc}}
{{^loc}}
<div class="sheet-template-content">{{/loc}}
<img alt="spacer" src="https://raw.githubusercontent.com/ChtiKenny/roll20-character-sheets/ShadowbaneInauisition/ShadowbaneInquisition/images/assets/spacer.png" class="sheet-rolltemplate-spacer">
<div class="sheet-rolltemplate-collapsible_entity_switch">
<div class="sheet-template-2x2 sheet-template-row">
<div class="sheet-template-right">Target :</div>
<div class="sheet-template-left">{{target}}</div>
</div>
<!-- TODO: add psykana modifiers -->
<!-- -->
<div class='sheet-rolltemplate-collapsible_entity_block '>
{{#skill_name}}
<div class="sheet-template-2x2 sheet-template-row">
<div class="sheet-template-right">{{skill_name}} Skill</div>
<div class="sheet-template-left">{{skill}}</div>
</div>
<div class="sheet-template-2x2 sheet-template-row">
<div class="sheet-template-right">Advancement</div>
<div class="sheet-template-left">{{advancement}}</div>
</div>
{{/skill_name}}
{{#weaponmod}}
<div class="sheet-template-2x2 sheet-template-row">
<div class="sheet-template-right">Weapon Mod</div>
<div class="sheet-template-left">{{weaponmod}}</div>
</div>
{{/weaponmod}}
{{#trained}}
<div class="sheet-template-2x2 sheet-template-row">
<div class="sheet-template-right">Weapon Trained</div>
<div class="sheet-template-left">
<span class="sheet-inlineresult sheet-roll-adjust">
{{#rollTotal() trained 20}} 0 {{/rollTotal() trained 20}}
{{#^rollTotal() trained 20}} -20 {{/^rollTotal() trained 20}}
</span>
</div>
</div>
{{/trained}}
{{#aim}}
<div class="sheet-template-2x2 sheet-template-row">
<div class="sheet-template-right">
{{#rollTotal() aim 0}}No Aim{{/rollTotal() aim 0}}
{{#rollTotal() aim 10}}Half Aim{{/rollTotal() aim 10}}
{{#rollTotal() aim 20}}Full Aim{{/rollTotal() aim 20}}
</div>
<div class="sheet-template-left">{{aim}}</div>
</div>
{{/aim}}
{{#R_type}}
<div class="sheet-template-2x2 sheet-template-row">
<div class="sheet-template-right">
{{#rollTotal() R_type 10}}Single Shot{{/rollTotal() R_type 10}}
{{#rollTotal() R_type 0}}Semi Auto{{/rollTotal() R_type 0}}
{{#rollTotal() R_type -10}}Full Auto{{/rollTotal() R_type -10}}
{{#rollTotal() R_type -20}}Called Shot / Suppressing{{/rollTotal() R_type -20}}
</div>
<div class="sheet-template-left">{{R_type}}</div>
</div>
{{/R_type}}
{{#range}}
<div class="sheet-template-2x2 sheet-template-row">
<div class="sheet-template-right">
{{#rollTotal() range 30}}Point Blank{{/rollTotal() range 30}}
{{#rollTotal() range 10}}Short Range{{/rollTotal() range 10}}
{{#rollTotal() range 0}}Standard{{/rollTotal() range 0}}
{{#rollTotal() range -10}}Long Range{{/rollTotal() range -10}}
{{#rollTotal() range -30}}Extreme{{/rollTotal() range -30}}
</div>
<div class="sheet-template-left">{{range}}</div>
</div>
{{/range}}
{{#M_type}}
<div class="sheet-template-2x2 sheet-template-row">
<div class="sheet-template-right">
{{#rollTotal() M_type 30}}All Out{{/rollTotal() M_type 30}}
{{#rollTotal() M_type 20}}Charge{{/rollTotal() M_type 20}}
{{#rollTotal() M_type 10}}Standard{{/rollTotal() M_type 10}}
</div>
<div class="sheet-template-left">{{M_type}}</div>
</div>
{{/M_type}}
{{#multi}}
<div class="sheet-template-2x2 sheet-template-row">
<div class="sheet-template-right">
{{#rollTotal() multi 0}}Standard{{/rollTotal() multi 0}}
{{#rollTotal() multi -10}}Swift{{/rollTotal() multi -10}}
{{#rollTotal() multi -20}}Lighting{{/rollTotal() multi -20}}
</div>
<div class="sheet-template-left">{{multi}}</div>
</div>
{{/multi}}
{{#class}}
<div class="sheet-template-2x2 sheet-template-row">
<div class="sheet-template-right">
{{#rollTotal() class 0}}Bound{{/rollTotal() class 0}}
{{#rollTotal() class 1}}Unbound{{/rollTotal() class 1}}
{{#rollTotal() class 2}}Demonic{{/rollTotal() class 2}}
</div>
<div class="sheet-template-left">
{{#rollTotal() limit 0}}Fettered{{/rollTotal() limit 0}}
{{#rollTotal() limit 1}}Unfettered{{/rollTotal() limit 1}}
{{#rollTotal() limit 2}}Push{{/rollTotal() limit 2}}
</div>
</div>
{{/class}}
{{#focus}}
<div class="sheet-template-2x2 sheet-template-row">
<div class="sheet-template-right">Focus</div>
<div class="sheet-template-left">{{focus}}</div>
</div>
{{/focus}}
{{#focus_mod}}
<div class="sheet-template-2x2 sheet-template-row">
<div class="sheet-template-right">Focus Mod</div>
<div class="sheet-template-left">{{focus_mod}}</div>
</div>
{{/focus_mod}}
{{#pmod}}
<div class="sheet-template-2x2 sheet-template-row">
<div class="sheet-template-right">Power Mod</div>
<div class="sheet-template-left">{{pmod}}</div>
</div>
{{/pmod}}
{{#sustain}}
{{#rollTotal() sustain -5}}
<div class="sheet-template-2x2 sheet-template-row">
<div class="sheet-template-right">Sustain</div>
<div class="sheet-template-left">{{sustain}}</div>
</div>
{{/rollTotal() sustain -5}}
{{/sustain}}
{{#modifier}}
<div class="sheet-template-2x2 sheet-template-row">
<div class="sheet-template-right">Modifier</div>
<div class="sheet-template-left">{{modifier}}</div>
</div>
{{/modifier}}
</div>
<!-- -->
</div>
<div class="sheet-template-2x2 sheet-template-row">
<div class="sheet-template-right">Roll :</div>
<div class="sheet-template-left">{{roll}}</div>
</div>
<img alt="spacer" src="https://raw.githubusercontent.com/ChtiKenny/roll20-character-sheets/ShadowbaneInauisition/ShadowbaneInquisition/images/assets/spacer.png" class="sheet-rolltemplate-spacer sheet-invert">
<div class="sheet-template-row">
{{#^rollGreater() roll target }}
<div class="sheet-template-center sheet-success">
<span>Success </span><span>with </span><span>{{dos}}</span><span> DoS</span>
</div>
{{#R_type}}
{{#rollTotal() R_type 0}}
<img alt="spacer" src="https://raw.githubusercontent.com/ChtiKenny/roll20-character-sheets/ShadowbaneInauisition/ShadowbaneInquisition/images/assets/spacer.png" class="sheet-rolltemplate-spacer">
<div class="sheet-template-center">Semi Auto:
{{#rollBetween() dos 1 2}}1 Hit {{/rollBetween() dos 1 2}}
{{#rollBetween() dos 3 4}}2 Hits {{/rollBetween() dos 3 4}}
{{#rollBetween() dos 5 6}}3 Hits {{/rollBetween() dos 5 6}}
{{#rollBetween() dos 7 8}}4 Hits {{/rollBetween() dos 7 8}}
{{#rollBetween() dos 9 10}}5 Hits {{/rollBetween() dos 9 10}}
{{#rollBetween() dos 11 12}}6 Hits {{/rollBetween() dos 11 12}}
{{#rollBetween() dos 13 14}}7 Hits {{/rollBetween() dos 13 14}}
{{#rollBetween() dos 15 16}}8 Hits {{/rollBetween() dos 15 16}}
{{#rollBetween() dos 17 18}}9 Hits {{/rollBetween() dos 17 18}}
{{#rollBetween() dos 19 20}}10 Hits {{/rollBetween() dos 19 20}}
{{#rollGreater() dos 20}}10+ Hits {{/rollGreater() dos 20}}
/ Max: {{burst}}</div>
{{/rollTotal() R_type 0}}
{{#rollTotal() R_type -10}}
<img alt="spacer" src="https://raw.githubusercontent.com/ChtiKenny/roll20-character-sheets/ShadowbaneInauisition/ShadowbaneInquisition/images/assets/spacer.png" class="sheet-rolltemplate-spacer">
<div class="sheet-template-center">Full Auto:
{{#rollTotal() dos 1}}1 Hit {{/rollTotal() dos 1}}
{{#^rollTotal() dos 1}}{{dos}} Hits {{/^rollTotal() dos 1}}
/ Max: {{auto}}</div>
{{/rollTotal() R_type -10}}
{{/R_type}}
{{#M_type}}
{{#rollTotal() multi -10}}
<img alt="spacer" src="https://raw.githubusercontent.com/ChtiKenny/roll20-character-sheets/ShadowbaneInauisition/ShadowbaneInquisition/images/assets/spacer.png" class="sheet-rolltemplate-spacer">
<div class="sheet-template-center">Swift Attack:
{{#rollBetween() dos 1 2}}1 Hit {{/rollBetween() dos 1 2}}
{{#rollBetween() dos 3 4}}2 Hits {{/rollBetween() dos 3 4}}
{{#rollBetween() dos 5 6}}3 Hits {{/rollBetween() dos 5 6}}
{{#rollBetween() dos 7 8}}4 Hits {{/rollBetween() dos 7 8}}
{{#rollBetween() dos 9 10}}5 Hits {{/rollBetween() dos 9 10}}
{{#rollBetween() dos 11 12}}6 Hits {{/rollBetween() dos 11 12}}
{{#rollBetween() dos 13 14}}7 Hits {{/rollBetween() dos 13 14}}
{{#rollBetween() dos 15 16}}8 Hits {{/rollBetween() dos 15 16}}
{{#rollBetween() dos 17 18}}9 Hits {{/rollBetween() dos 17 18}}
{{#rollBetween() dos 19 20}}10 Hits {{/rollBetween() dos 19 20}}
{{#rollGreater() dos 20}}10+ Hits {{/rollGreater() dos 20}}
/ Max: {{WS_bonus}}</div>
{{/rollTotal() multi -10}}
{{#rollTotal() multi -20}}
<img alt="spacer" src="https://raw.githubusercontent.com/ChtiKenny/roll20-character-sheets/ShadowbaneInauisition/ShadowbaneInquisition/images/assets/spacer.png" class="sheet-rolltemplate-spacer">
<div class="sheet-template-center">Lightning Attack:
{{#rollTotal() dos 1}}1 Hit {{/rollTotal() dos 1}}
{{#^rollTotal() dos 1}}{{dos}} Hits {{/^rollTotal() dos 1}}
/ Max: {{WS_bonus}}</div>
{{/rollTotal() multi -20}}
{{/M_type}}
{{#P_multi}}
{{#rollTotal() P_multi 1}}
<img alt="spacer" src="https://raw.githubusercontent.com/ChtiKenny/roll20-character-sheets/ShadowbaneInauisition/ShadowbaneInquisition/images/assets/spacer.png" class="sheet-rolltemplate-spacer">
<div class="sheet-template-center">Psychic Barrage:
{{#rollBetween() dos 1 2}}1 Hit {{/rollBetween() dos 1 2}}
{{#rollBetween() dos 3 4}}2 Hits {{/rollBetween() dos 3 4}}
{{#rollBetween() dos 5 6}}3 Hits {{/rollBetween() dos 5 6}}
{{#rollBetween() dos 7 8}}4 Hits {{/rollBetween() dos 7 8}}
{{#rollBetween() dos 9 10}}5 Hits {{/rollBetween() dos 9 10}}
{{#rollBetween() dos 11 12}}6 Hits {{/rollBetween() dos 11 12}}
{{#rollBetween() dos 13 14}}7 Hits {{/rollBetween() dos 13 14}}
{{#rollBetween() dos 15 16}}8 Hits {{/rollBetween() dos 15 16}}
{{#rollBetween() dos 17 18}}9 Hits {{/rollBetween() dos 17 18}}
{{#rollBetween() dos 19 20}}10 Hits {{/rollBetween() dos 19 20}}
{{#rollGreater() dos 20}}10+ Hits {{/rollGreater() dos 20}}
/ Max: {{epr}}</div>
{{/rollTotal() P_multi 1}}
{{#rollTotal() P_multi 2}}
<img alt="spacer" src="https://raw.githubusercontent.com/ChtiKenny/roll20-character-sheets/ShadowbaneInauisition/ShadowbaneInquisition/images/assets/spacer.png" class="sheet-rolltemplate-spacer">
<div class="sheet-template-center">Psychic Storm:
{{#rollTotal() dos 1}}1 Hit {{/rollTotal() dos 1}}
{{#^rollTotal() dos 1}}{{dos}} Hits {{/^rollTotal() dos 1}}
/ Max: {{epr}}</div>
{{/rollTotal() P_multi 2}}
{{/P_multi}}
{{/^rollGreater() roll target }}
{{#rollGreater() roll target }}
<div class="sheet-template-center sheet-failure">
<span>Failure </span><span>with </span><span>{{dof}}</span><span> DoF</span>
</div>
{{/rollGreater() roll target }}
</div>
{{#rollWasCrit() roll }}
{{^psy}}
<div class="sheet-template-row template-center">That's not good...</div>{{/psy}}
{{/rollWasCrit() roll }}
{{#rollWasFumble() roll }}
{{#^rollWasCrit() roll }}
{{#psy}}
<div class="sheet-template-row template-center">Psychic Phenomena</div>
{{/psy}}
{{/^rollWasCrit() roll }}
{{^psy}}
<div class="sheet-template-row template-center">How about that?</div>{{/psy}}
{{/rollWasFumble() roll }}
</div>
{{/attack}}
{{#loc}}
{{#^rollGreater() roll target }}
<img alt="spacer" src="https://raw.githubusercontent.com/ChtiKenny/roll20-character-sheets/ShadowbaneInauisition/ShadowbaneInquisition/images/assets/spacer.png" class="sheet-rolltemplate-spacer">
{{^attack}}
<div class="sheet-template-content sheet-template-round">{{/attack}}
{{#attack}}
<div class="sheet-template-content">
{{/attack}}
<div class="sheet-template-row sheet-template-center sheet-template-break">Hit Location {{computed::loc}}</div>
<div class="sheet-template-row sheet-template-center">
{{#rollBetween() loc 1 10}} HEAD {{/rollBetween() loc 1 10}}
{{#rollBetween() loc 11 20}} RIGHT ARM {{/rollBetween() loc 11 20}}
{{#rollBetween() loc 21 30}} LEFT ARM {{/rollBetween() loc 21 30}}
{{#rollBetween() loc 31 70}} BODY {{/rollBetween() loc 31 70}}
{{#rollBetween() loc 71 85}} RIGHT LEG {{/rollBetween() loc 71 85}}
{{#rollBetween() loc 86 100}} LEFT LEG {{/rollBetween() loc 86 100}}
{{#rollBetween() loc 1 20}} / MOTIVE SYSTEM {{/rollBetween() loc 1 20}}
{{#rollBetween() loc 21 60}} / HULL {{/rollBetween() loc 21 60}}
{{#rollBetween() loc 61 80}} / WEAPON {{/rollBetween() loc 61 80}}
{{#rollBetween() loc 81 100}} / TURRET {{/rollBetween() loc 81 100}}
</div>
</div>
{{#R_type}}
<div class="sheet-template-row sheet-template-center">
{{#rollTotal() R_type 0}}
{{#rollGreater() dos 2}}
{{#rollBetween() loc 1 10}} HEAD {{/rollBetween() loc 1 10}}
{{#rollBetween() loc 11 30}} ARM {{/rollBetween() loc 11 30}}
{{#rollBetween() loc 31 70}} BODY {{/rollBetween() loc 31 70}}
{{#rollBetween() loc 71 100}} LEG {{/rollBetween() loc 71 100}}
{{/rollGreater() dos 2}}
{{#rollGreater() dos 4}};
{{#rollBetween() loc 1 10}} ARM {{/rollBetween() loc 1 10}}
{{#rollBetween() loc 11 30}} BODY {{/rollBetween() loc 11 30}}
{{#rollBetween() loc 31 70}} ARM {{/rollBetween() loc 31 70}}
{{#rollBetween() loc 71 100}} BODY {{/rollBetween() loc 71 100}}
{{/rollGreater() dos 4}}
{{#rollGreater() dos 6}};
{{#rollBetween() loc 1 10}} BODY {{/rollBetween() loc 1 10}}
{{#rollBetween() loc 11 30}} HEAD {{/rollBetween() loc 11 30}}
{{#rollBetween() loc 31 70}} HEAD {{/rollBetween() loc 31 70}}
{{#rollBetween() loc 71 100}} ARM {{/rollBetween() loc 71 100}}
{{/rollGreater() dos 6}}
{{#rollGreater() dos 8}};
{{#rollBetween() loc 1 10}} ARM {{/rollBetween() loc 1 10}}
{{#rollBetween() loc 11 30}} BODY {{/rollBetween() loc 11 30}}
{{#rollBetween() loc 31 70}} ARM {{/rollBetween() loc 31 70}}
{{#rollBetween() loc 71 100}} HEAD {{/rollBetween() loc 71 100}}
{{/rollGreater() dos 8}}
{{#rollGreater() dos 10}};
{{#rollBetween() loc 1 10}} BODY {{/rollBetween() loc 1 10}}
{{#rollBetween() loc 11 30}} ARM {{/rollBetween() loc 11 30}}
{{#rollBetween() loc 31 70}} BODY {{/rollBetween() loc 31 70}}
{{#rollBetween() loc 71 100}} BODY {{/rollBetween() loc 71 100}}
{{/rollGreater() dos 10}}
{{/rollTotal() R_type 0}}
{{#rollTotal() R_type -10}}
{{#rollGreater() dos 1}}
{{#rollBetween() loc 1 10}} HEAD {{/rollBetween() loc 1 10}}
{{#rollBetween() loc 11 30}} ARM {{/rollBetween() loc 11 30}}
{{#rollBetween() loc 31 70}} BODY {{/rollBetween() loc 31 70}}
{{#rollBetween() loc 71 100}} LEG {{/rollBetween() loc 71 100}}
{{/rollGreater() dos 1}}
{{#rollGreater() dos 2}};
{{#rollBetween() loc 1 10}} ARM {{/rollBetween() loc 1 10}}
{{#rollBetween() loc 11 30}} BODY {{/rollBetween() loc 11 30}}
{{#rollBetween() loc 31 70}} ARM {{/rollBetween() loc 31 70}}
{{#rollBetween() loc 71 100}} BODY {{/rollBetween() loc 71 100}}
{{/rollGreater() dos 2}}
{{#rollGreater() dos 3}};
{{#rollBetween() loc 1 10}} BODY {{/rollBetween() loc 1 10}}
{{#rollBetween() loc 11 30}} HEAD {{/rollBetween() loc 11 30}}
{{#rollBetween() loc 31 70}} HEAD {{/rollBetween() loc 31 70}}
{{#rollBetween() loc 71 100}} ARM {{/rollBetween() loc 71 100}}
{{/rollGreater() dos 3}}
{{#rollGreater() dos 4}};
{{#rollBetween() loc 1 10}} ARM {{/rollBetween() loc 1 10}}
{{#rollBetween() loc 11 30}} BODY {{/rollBetween() loc 11 30}}
{{#rollBetween() loc 31 70}} ARM {{/rollBetween() loc 31 70}}
{{#rollBetween() loc 71 100}} HEAD {{/rollBetween() loc 71 100}}
{{/rollGreater() dos 4}}
{{#rollGreater() dos 5}};
{{#rollBetween() loc 1 10}} BODY {{/rollBetween() loc 1 10}}
{{#rollBetween() loc 11 30}} ARM {{/rollBetween() loc 11 30}}
{{#rollBetween() loc 31 70}} BODY {{/rollBetween() loc 31 70}}
{{#rollBetween() loc 71 100}} BODY {{/rollBetween() loc 71 100}}
{{/rollGreater() dos 5}}
{{/rollTotal() R_type -10}}
</div>
{{/R_type}}
{{#multi}}
<div class="sheet-template-row sheet-template-center">
{{#rollTotal() multi -10}}
{{#rollGreater() dos 2}}
{{#rollBetween() loc 1 10}} HEAD {{/rollBetween() loc 1 10}}
{{#rollBetween() loc 11 30}} ARM {{/rollBetween() loc 11 30}}
{{#rollBetween() loc 31 70}} BODY {{/rollBetween() loc 31 70}}
{{#rollBetween() loc 71 100}} LEG {{/rollBetween() loc 71 100}}
{{/rollGreater() dos 2}}
{{#rollGreater() dos 4}};
{{#rollBetween() loc 1 10}} ARM {{/rollBetween() loc 1 10}}
{{#rollBetween() loc 11 30}} BODY {{/rollBetween() loc 11 30}}
{{#rollBetween() loc 31 70}} ARM {{/rollBetween() loc 31 70}}
{{#rollBetween() loc 71 100}} BODY {{/rollBetween() loc 71 100}}
{{/rollGreater() dos 4}}
{{#rollGreater() dos 6}};
{{#rollBetween() loc 1 10}} BODY {{/rollBetween() loc 1 10}}
{{#rollBetween() loc 11 30}} HEAD {{/rollBetween() loc 11 30}}
{{#rollBetween() loc 31 70}} HEAD {{/rollBetween() loc 31 70}}
{{#rollBetween() loc 71 100}} ARM {{/rollBetween() loc 71 100}}
{{/rollGreater() dos 6}}
{{#rollGreater() dos 8}};
{{#rollBetween() loc 1 10}} ARM {{/rollBetween() loc 1 10}}
{{#rollBetween() loc 11 30}} BODY {{/rollBetween() loc 11 30}}
{{#rollBetween() loc 31 70}} ARM {{/rollBetween() loc 31 70}}
{{#rollBetween() loc 71 100}} HEAD {{/rollBetween() loc 71 100}}
{{/rollGreater() dos 8}}
{{#rollGreater() dos 10}};
{{#rollBetween() loc 1 10}} BODY {{/rollBetween() loc 1 10}}
{{#rollBetween() loc 11 30}} ARM {{/rollBetween() loc 11 30}}
{{#rollBetween() loc 31 70}} BODY {{/rollBetween() loc 31 70}}
{{#rollBetween() loc 71 100}} BODY {{/rollBetween() loc 71 100}}
{{/rollGreater() dos 10}}
{{/rollTotal() multi -10}}
{{#rollTotal() multi -20}}
{{#rollGreater() dos 1}};
{{#rollBetween() loc 1 10}} HEAD {{/rollBetween() loc 1 10}}
{{#rollBetween() loc 11 30}} ARM {{/rollBetween() loc 11 30}}
{{#rollBetween() loc 31 70}} BODY {{/rollBetween() loc 31 70}}
{{#rollBetween() loc 71 100}} LEG {{/rollBetween() loc 71 100}}
{{/rollGreater() dos 1}}
{{#rollGreater() dos 2}};
{{#rollBetween() loc 1 10}} ARM {{/rollBetween() loc 1 10}}
{{#rollBetween() loc 11 30}} BODY {{/rollBetween() loc 11 30}}
{{#rollBetween() loc 31 70}} ARM {{/rollBetween() loc 31 70}}
{{#rollBetween() loc 71 100}} BODY {{/rollBetween() loc 71 100}}
{{/rollGreater() dos 2}}
{{#rollGreater() dos 3}};
{{#rollBetween() loc 1 10}} BODY {{/rollBetween() loc 1 10}}
{{#rollBetween() loc 11 30}} HEAD {{/rollBetween() loc 11 30}}
{{#rollBetween() loc 31 70}} HEAD {{/rollBetween() loc 31 70}}
{{#rollBetween() loc 71 100}} ARM {{/rollBetween() loc 71 100}}
{{/rollGreater() dos 3}}
{{#rollGreater() dos 4}};
{{#rollBetween() loc 1 10}} ARM {{/rollBetween() loc 1 10}}
{{#rollBetween() loc 11 30}} BODY {{/rollBetween() loc 11 30}}
{{#rollBetween() loc 31 70}} ARM {{/rollBetween() loc 31 70}}
{{#rollBetween() loc 71 100}} HEAD {{/rollBetween() loc 71 100}}
{{/rollGreater() dos 4}}
{{#rollGreater() dos 5}};
{{#rollBetween() loc 1 10}} BODY {{/rollBetween() loc 1 10}}
{{#rollBetween() loc 11 30}} ARM {{/rollBetween() loc 11 30}}
{{#rollBetween() loc 31 70}} BODY {{/rollBetween() loc 31 70}}
{{#rollBetween() loc 71 100}} BODY {{/rollBetween() loc 71 100}}
{{/rollGreater() dos 5}}
{{/rollTotal() multi -20}}
</div>
{{/multi}}
{{/^rollGreater() roll target }}
{{/loc}}
{{#damage}}
<div class="sheet-template-header">{{character}} Rolls for damage with {{weapon}} </div>
<img alt="spacer" src="https://raw.githubusercontent.com/ChtiKenny/roll20-character-sheets/ShadowbaneInauisition/ShadowbaneInquisition/images/assets/spacer.png" class="sheet-rolltemplate-spacer">
{{#description}}
<div class="sheet-template-content">
{{/description}}
{{^description}}
<div class="sheet-template-content"> {{/description}}
<div class="sheet-template-row sheet-template-center">
<div class="sheet-template-2x2">
<div class="sheet-template-row sheet-template-right">Damage</div>
<div class="sheet-template-row mythic_crit sheet-template-left">{{damage}}</div>
</div>
{{#accurate}}
<div class="sheet-template-2x2">
<div class="sheet-template-row sheet-template-right">Accurate Dmg</div>
<div class="sheet-template-row mythic_crit sheet-template-left">{{accurate}}</div>
</div>
{{/accurate}}
<div class="sheet-template-2x2">
<div class="sheet-template-row sheet-template-right">Type:</div>
<div class="sheet-template-row sheet-template-left">{{type}}</div>
</div>
<div class="sheet-template-2x2">
<div class="sheet-template-row sheet-template-right">Pen</div>
<div class="sheet-template-row mythic_crit sheet-template-left">{{pen}}</div>
</div>
</div>
{{#rollWasCrit() damage}}
<img alt="spacer" src="https://raw.githubusercontent.com/ChtiKenny/roll20-character-sheets/ShadowbaneInauisition/ShadowbaneInquisition/images/assets/spacer.png" class="sheet-rolltemplate-spacer sheet-invert">
<div class="sheet-template-header">
<span>Check for </span>
<span>Righteous Fury</span>
</div>
{{/rollWasCrit() damage}}
</div>
{{/damage}}
{{#spray}}
<div class="sheet-template-center ">Spray weapons jam on any Damage die roll of 7.</div>
{{/spray}}
{{#description}}
{{#name}}
<div class="sheet-template-header">{{name}}</div>
{{/name}}
<img alt="spacer" src="https://raw.githubusercontent.com/ChtiKenny/roll20-character-sheets/ShadowbaneInauisition/ShadowbaneInquisition/images/assets/spacer.png" class="sheet-rolltemplate-spacer sheet-invert">
<div class="sheet-template-row">
<div class="sheet-template-center ">{{description}}</div>
</div>
{{/description}}
{{#righteousfury}}
<div class="sheet-template-header">{{character}} attacks with Righteous Fury</div>
<img alt="spacer" src="https://raw.githubusercontent.com/ChtiKenny/roll20-character-sheets/ShadowbaneInauisition/ShadowbaneInquisition/images/assets/spacer.png" class="sheet-rolltemplate-spacer">
<div class="sheet-template-content">
<!-- target is person -->
{{#rollTotal() target 0}}
<!-- target is person's Arm -->
{{#rollTotal() location 0}}
<!-- target is person's Arm, Energy damage -->
{{#rollTotal() type 0}}
<div class="sheet-template-row template-center">Energy critical to Arm.</div>
<div class="sheet-template-row template-center">Severity: {{roll}}</div>
{{#crunch}}
{{#rollTotal() roll 1}}
<div class="sheet-template-row template-center">All Tests involving the arm take a -30 for 1d5 Rounds.</div>
{{/rollTotal() roll 1}}
{{#rollTotal() roll 2}}
<div class="sheet-template-row template-center">Arm is useless for 1d5 Rounds. Target takes 1 Fatigue.</div>
{{/rollTotal() roll 2}}
{{#rollTotal() roll 3}}
<div class="sheet-template-row template-center">Target may only take a Half Action in the next Round, takes 1d5 Fatigue.</div>
{{/rollTotal() roll 3}}
{{#rollTotal() roll 4}}
<div class="sheet-template-row template-center">Target is Stunned for 1 Round, knocked Prone. Arm is useless for 1d10 Rounds.</div>
{{/rollTotal() roll 4}}
{{#rollTotal() roll 5}}
<div class="sheet-template-row template-center">Target is Stunned for 1 Round, arm is useless until target receives medical treatment.</div>
{{/rollTotal() roll 5}}
{{#rollTotal() roll 6}}
<div class="sheet-template-row template-center">Target takes 1d5 WS and BS damage, 1d5 Fatigue. +0 TOU Test or permanently lose use of the hand.</div>
{{/rollTotal() roll 6}}
{{#rollTotal() roll 7}}
<div class="sheet-template-row template-center">Until arm is repaired, target counts as having only one arm. Target is Stunned for 1 Round, takes 1d5 Fatigue.</div>
{{/rollTotal() roll 7}}
{{#rollTotal() roll 8}}
<div class="sheet-template-row template-center">+0 TOU Test or be Stunned for 1d5 Rounds. Target takes 1d10 Fatigue, loses arm.</div>
{{/rollTotal() roll 8}}
{{#rollTotal() roll 9}}
<div class="sheet-template-row template-center">+0 TOU Test or die of shock. On survival, target takes 1d10 Fatigue and is Stunned for 1 Round, loses arm.</div>
{{/rollTotal() roll 9}}
{{#rollGreater() roll 9}}
<div class="sheet-template-row template-center">Arm is burned to a stump, target dies.</div>
{{/rollGreater() roll 9}}
{{/crunch}}
{{/rollTotal() type 0}}
<!-- target is person's Arm, Explosive damage -->
{{#rollTotal() type 1}}
<div class="sheet-template-row template-center">Explosive critical to Arm.</div>
<div class="sheet-template-row template-center">Severity: {{roll}}</div>
{{#crunch}}
{{#rollTotal() roll 1}}
<div class="sheet-template-row template-center">Target takes 1 Fatigue.</div>
{{/rollTotal() roll 1}}
{{#rollTotal() roll 2}}
<div class="sheet-template-row template-center">Target drops anything held in that hand, +0 TOU Test or be Stunned for 1 Round.</div>
{{/rollTotal() roll 2}}
{{#rollTotal() roll 3}}
<div class="sheet-template-row template-center">Target loses 1 finger (and up to 1d5 other fingertips), takes 1d10 WS and BS damage, destroys anything carried in the hand. If it is an explosive, kill target instantly.</div>
{{/rollTotal() roll 3}}
{{#rollTotal() roll 4}}
<div class="sheet-template-row template-center">Target is Stunned for 1 Round, arm is useless until medical treatment is received. +0 TOU check or suffer Blood Loss.</div>
{{/rollTotal() roll 4}}
{{#rollTotal() roll 5}}
<div class="sheet-template-row template-center">+10 TOU check or lose the hand. On success, 1 permanent WS and BS damage.</div>
{{/rollTotal() roll 5}}
{{#rollTotal() roll 6}}
<div class="sheet-template-row template-center">Target takes 1d5 Fatigue. Until medical attention is received, target counts as only having one arm. Target gains Blood Loss.</div>
{{/rollTotal() roll 6}}
{{#rollTotal() roll 7}}
<div class="sheet-template-row template-center">+0 TOU Test or die of shock. On success, target is Stunned for 1d10 Rounds, takes 1d10 Fatigue, gains Blood Loss, loses arm.</div>
{{/rollTotal() roll 7}}
{{#rollTotal() roll 8}}
<div class="sheet-template-row template-center">Target dies.</div>
{{/rollTotal() roll 8}}
{{#rollTotal() roll 9}}
<div class="sheet-template-row template-center">Arm explodes, target dies. If carrying a weapon with a power source, that explodes, dealing 1d10+5 Impact damage to anyone within 2 meters.</div>
{{/rollTotal() roll 9}}
{{#rollGreater() roll 9}}
<div class="sheet-template-row template-center">Target dies. If carrying a weapon with a power source, that explodes, dealing 1d10+5 Impact damage to anyone within 2 meters. If carrying ammunition, it cooks off, dealing 1d10+5 Impact damage
to anyone within 1d10 meters. If target is carrying other explosives, they detonate centered on the target.</div>
{{/rollGreater() roll 9}}
{{/crunch}}
{{/rollTotal() type 1}}
<!-- target is person's Arm, Impact damage -->
{{#rollTotal() type 2}}
<div class="sheet-template-row template-center">Impact critical to Arm.</div>
<div class="sheet-template-row template-center">Severity: {{roll}}</div>
{{#crunch}}
{{#rollTotal() roll 1}}
<div class="sheet-template-row template-center">Target drops anything held in that hand.</div>
{{/rollTotal() roll 1}}
{{#rollTotal() roll 2}}
<div class="sheet-template-row template-center">Target takes 1 Fatigue.</div>
{{/rollTotal() roll 2}}
{{#rollTotal() roll 3}}
<div class="sheet-template-row template-center">Target is Stunned for 1 Round, drops anything held in that hand. 10% chance that the thing dropped is unusable until repaired.</div>
{{/rollTotal() roll 3}}
{{#rollTotal() roll 4}}
<div class="sheet-template-row template-center">Target drops anything held in that hand. +0 TOU Test or take 1d10 WS and BS damage.</div>
{{/rollTotal() roll 4}}
{{#rollTotal() roll 5}}
<div class="sheet-template-row template-center">Target's limb is useless until target receives medical treatment.</div>
{{/rollTotal() roll 5}}
{{#rollTotal() roll 6}}
<div class="sheet-template-row template-center">Target crushes 1d5 fingers, takes 1 Fatigue, +0 TOU Test or take 2 permanent WS and BS damage.</div>
{{/rollTotal() roll 6}}
{{#rollTotal() roll 7}}
<div class="sheet-template-row template-center">Target's arm is broken; until repaired, target counts as not having the arm. Target suffers Blood Loss.</div>
{{/rollTotal() roll 7}}
{{#rollTotal() roll 8}}
<div class="sheet-template-row template-center">+0 TOU Test or die of shock. On success, Stunned for 1d10 Rounds, takes 1d5 Fatigue, suffers Blood Loss, loses the arm.</div>
{{/rollTotal() roll 8}}
{{#rollTotal() roll 9}}
<div class="sheet-template-row template-center">Target dies.</div>
{{/rollTotal() roll 9}}
{{#rollGreater() roll 9}}
<div class="sheet-template-row template-center">Target dies, anyone within 2 meters of the target suffers 1d5-3 Impact damage to a random body part.</div>
{{/rollGreater() roll 9}}
{{/crunch}}
{{/rollTotal() type 2}}
<!-- target is person's Arm, Rending damage -->
{{#rollTotal() type 3}}
<div class="sheet-template-row template-center">Rending critical to Arm.</div>
<div class="sheet-template-row template-center">Severity: {{roll}}</div>
{{#crunch}}
{{#rollTotal() roll 1}}
<div class="sheet-template-row template-center">Target drops anything held in that arm.</div>
{{/rollTotal() roll 1}}
{{#rollTotal() roll 2}}
<div class="sheet-template-row template-center">Target drops anything held in that arm, takes 1 Fatigue.</div>
{{/rollTotal() roll 2}}
{{#rollTotal() roll 3}}
<div class="sheet-template-row template-center">Target drops anything held in that arm, +0 TOU Test or suffer Blood Loss.</div>
{{/rollTotal() roll 3}}
{{#rollTotal() roll 4}}
<div class="sheet-template-row template-center">Target falls Prone, takes 2 Fatigue. Limb is useless for 1d10 Rounds.</div>
{{/rollTotal() roll 4}}
{{#rollTotal() roll 5}}
<div class="sheet-template-row template-center">Target suffers Blood Loss. Limb is useless without medical treatment.</div>
{{/rollTotal() roll 5}}
{{#rollTotal() roll 6}}
<div class="sheet-template-row template-center">Target loses 1d5 fingers, Stunned for 1 Round, +0 TOU Test or lose the whole hand.</div>
{{/rollTotal() roll 6}}
{{#rollTotal() roll 7}}
<div class="sheet-template-row template-center">Target takes 1d10 STR damage. Target only counts as having one arm until receiving medical treatment. Suffers Blood Loss.</div>
{{/rollTotal() roll 7}}
{{#rollTotal() roll 8}}
<div class="sheet-template-row template-center">Target loses the arm, +0 TOU or die of shock. On success, Stunned for 1d10 Rounds and suffers Blood Loss.</div>
{{/rollTotal() roll 8}}
{{#rollTotal() roll 9}}
<div class="sheet-template-row template-center">Target dies.</div>
{{/rollTotal() roll 9}}
{{#rollGreater() roll 9}}
<div class="sheet-template-row template-center">Target dies. If carrying a ranged weapon, 5% chance to hit a single random target within 2d10 meters. Treated as a single shot from the weapon.</div>
{{/rollGreater() roll 9}}
{{/crunch}}
{{/rollTotal() type 3}}
{{/rollTotal() location 0}}
<!-- target is person's Body -->
{{#rollTotal() location 1}}
<!-- target is person's Body, Energy damage -->
{{#rollTotal() type 0}}
<div class="sheet-template-row template-center">Energy critical to Body.</div>
<div class="sheet-template-row template-center">Severity: {{roll}}</div>
{{#crunch}}
{{#rollTotal() roll 1}}
<div class="sheet-template-row template-center">Target can only take a Half Action next Turn.</div>
{{/rollTotal() roll 1}}
{{#rollTotal() roll 2}}
<div class="sheet-template-row template-center">+0 TOU Test or be knocked Prone.</div>
{{/rollTotal() roll 2}}
{{#rollTotal() roll 3}}
<div class="sheet-template-row template-center">Target takes 2 Fatigue and 1d5 TOU damage.</div>
{{/rollTotal() roll 3}}
{{#rollTotal() roll 4}}
<div class="sheet-template-row template-center">Target takes 1d10 Fatigue, can only take a Half Action on next Round.</div>
{{/rollTotal() roll 4}}
{{#rollTotal() roll 5}}
<div class="sheet-template-row template-center">Target knocked Prone, +0 AGI Test or catch fire, and +0 TOU Test or be Stunned for 1 Round.</div>
{{/rollTotal() roll 5}}
{{#rollTotal() roll 6}}
<div class="sheet-template-row template-center">Target knocked Prone, Stunned for 1d10 Rounds, takes 1d5 Fatigue. +0 AGI Test or catch fire</div>
{{/rollTotal() roll 6}}
{{#rollTotal() roll 7}}
<div class="sheet-template-row template-center">Target is Stunned for 2d10 Rounds, takes 1d10 permanent TOU damage.</div>
{{/rollTotal() roll 7}}
{{#rollTotal() roll 8}}
<div class="sheet-template-row template-center">Target is Stunned for 2d10 Rounds. STR, TOU, AGI are halved until target can get medical treatment. 2d5 permanent FEL damage.</div>
{{/rollTotal() roll 8}}
{{#rollTotal() roll 9}}
<div class="sheet-template-row template-center">Target dies in a fire.</div>
{{/rollTotal() roll 9}}
{{#rollGreater() roll 9}}
<div class="sheet-template-row template-center">Target dies in a fire, carried ammo has a 50% chance to cook off. All creatures within 1d5 meters must pass an Evasion Test or take 1d10+5 X damage. Carried grenades or missiles will explode
one Round later, centered on the Target.</div>
{{/rollGreater() roll 9}}
{{/crunch}}
{{/rollTotal() type 0}}
<!-- target is person's Body, Explosive damage -->
{{#rollTotal() type 1}}
<div class="sheet-template-row template-center">Explosive critical to Body.</div>
<div class="sheet-template-row template-center">Severity: {{roll}}</div>
{{#crunch}}
{{#rollTotal() roll 1}}
<div class="sheet-template-row template-center">Target knocked backwards 1d5 meters, knocked Prone.</div>
{{/rollTotal() roll 1}}
{{#rollTotal() roll 2}}
<div class="sheet-template-row template-center">Target knocked backwards 1d5 meters (gaining 1 Fatigue per meter), knocked Prone.</div>
{{/rollTotal() roll 2}}
{{#rollTotal() roll 3}}
<div class="sheet-template-row template-center">Target knocked backwards 1d5 meters, Stunned for 1 Round, knocked Prone.</div>
{{/rollTotal() roll 3}}
{{#rollTotal() roll 4}}
<div class="sheet-template-row template-center">+0 TOU Test or suffer Blood Loss and be Stunned for 1 Round.</div>
{{/rollTotal() roll 4}}
{{#rollTotal() roll 5}}
<div class="sheet-template-row template-center">+0 TOU Test or suffer Blood Loss and 1 permanent TOU damage. Target gains 1d5 Fatigue, knocked Prone.</div>
{{/rollTotal() roll 5}}
{{#rollTotal() roll 6}}
<div class="sheet-template-row template-center">Target is Stunned for 1 Round, may only take a Half Action next Round, and is knocked Prone.</div>
{{/rollTotal() roll 6}}
{{#rollTotal() roll 7}}
<div class="sheet-template-row template-center">Target suffers Blood Loss, is knocked Prone, is Stunned for 1d10 Rounds, +0 TOU Test or fall unconscious</div>
{{/rollTotal() roll 7}}
{{#rollTotal() roll 8}}
<div class="sheet-template-row template-center">Target dies.</div>
{{/rollTotal() roll 8}}
{{#rollTotal() roll 9}}
<div class="sheet-template-row template-center">Target dies. Any carried ammunition cooks off, dealing 1d10+5 Impact damage to anyone within 1d10 meters. Any other explosives immediately detonate as well.</div>
{{/rollTotal() roll 9}}
{{#rollGreater() roll 9}}
<div class="sheet-template-row template-center">Target dies. Any carried ammunition cooks off, dealing 1d10+5 Impact damage to anyone within 1d10 meters. Any other explosives immediately detonate as well. Anyone within 1d10 meters of the
target must make a +0 AGI Test or take -10 to all WS and BS Tests for 1 Round.</div>
{{/rollGreater() roll 9}}
{{/crunch}}
{{/rollTotal() type 1}}
<!-- target is person's Body, Impact damage -->
{{#rollTotal() type 2}}
<div class="sheet-template-row template-center">Impact critical to Body.</div>
<div class="sheet-template-row template-center">Severity: {{roll}}</div>
{{#crunch}}
{{#rollTotal() roll 1}}
<div class="sheet-template-row template-center">Target can only take a Half Action next Turn.</div>
{{/rollTotal() roll 1}}
{{#rollTotal() roll 2}}
<div class="sheet-template-row template-center">Target takes 1 Fatigue, knocked Prone.</div>
{{/rollTotal() roll 2}}
{{#rollTotal() roll 3}}
<div class="sheet-template-row template-center">Target breaks a rib, knocked Prone, Stunned for 1 Round.</div>
{{/rollTotal() roll 3}}
{{#rollTotal() roll 4}}
<div class="sheet-template-row template-center">Target takes 1d10 Toughness damage, +0 AGI Test or be knocked Prone.</div>
{{/rollTotal() roll 4}}
{{#rollTotal() roll 5}}
<div class="sheet-template-row template-center">Target is Stunned for 2 Rounds, +0 TOU Test or take 1d5 Fatigue.</div>
{{/rollTotal() roll 5}}
{{#rollTotal() roll 6}}
<div class="sheet-template-row template-center">Target is flung out 1d5 meters and falls Prone (unless hitting a solid object), takes 1d5 Fatigue, Stunned for 2 Rounds.</div>
{{/rollTotal() roll 6}}
{{#rollTotal() roll 7}}
<div class="sheet-template-row template-center">Target breaks 1d5 ribs. 1d5 permanent TOU damage. Target can either await medical attention (+0 Medicae Test to set ribs) or continue (20% chance each Round to die instantly).</div>
{{/rollTotal() roll 7}}
{{#rollTotal() roll 8}}
<div class="sheet-template-row template-center">Target suffers Blood Loss, 1d10 permanent TOU damage.</div>
{{/rollTotal() roll 8}}
{{#rollTotal() roll 9}}
<div class="sheet-template-row template-center">Target dies.</div>
{{/rollTotal() roll 9}}
{{#rollGreater() roll 9}}
<div class="sheet-template-row template-center">Target dies, is flung 1d10 meters. Anyone in the path must make a +0 AGI Test or be knocked Prone.</div>
{{/rollGreater() roll 9}}
{{/crunch}}
{{/rollTotal() type 2}}
<!-- target is person's Body, Rending damage -->
{{#rollTotal() type 3}}
<div class="sheet-template-row template-center">Rending critical to Body.</div>
<div class="sheet-template-row template-center">Severity: {{roll}}</div>
{{#crunch}}
{{#rollTotal() roll 1}}
<div class="sheet-template-row template-center">Target takes 1 Fatigue if not wearing armor.</div>
{{/rollTotal() roll 1}}
{{#rollTotal() roll 2}}
<div class="sheet-template-row template-center">Target gains 1 Fatigue, +0 TOU Test or be Stunned for 1 Round.</div>
{{/rollTotal() roll 2}}
{{#rollTotal() roll 3}}
<div class="sheet-template-row template-center">Target is Stunned for 1 Round, +0 TOU Test or gain Blood Loss.</div>
{{/rollTotal() roll 3}}
{{#rollTotal() roll 4}}
<div class="sheet-template-row template-center">Target suffers Blood Loss, Stunned for 1 Round.</div>
{{/rollTotal() roll 4}}
{{#rollTotal() roll 5}}
<div class="sheet-template-row template-center">Target suffers 1d10 TOU damage and Blood Loss, drops a puddle of blood on the floor. Anyone crossing this puddle must make a +0 AGI Test or fall Prone.</div>
{{/rollTotal() roll 5}}
{{#rollTotal() roll 6}}
<div class="sheet-template-row template-center">Target is knocked Prone, takes 1d10 TOU damage, Blood Loss.</div>
{{/rollTotal() roll 6}}
{{#rollTotal() roll 7}}
<div class="sheet-template-row template-center">Target takes 1d5 permanent TOU damage, Blood Loss. Option to hold guts in with one arm (+0 Medicae Test to bind them in) or continue (%20 chance each round to spill guts for 2d10 damage).</div>
{{/rollTotal() roll 7}}
{{#rollTotal() roll 8}}
<div class="sheet-template-row template-center">+0 TOU test or die. On success, target takes 1d10 permanent TOU damage, is Stunned for 1 Round, and suffers Blood Loss.</div>
{{/rollTotal() roll 8}}
{{#rollTotal() roll 9}}
<div class="sheet-template-row template-center">Target dies.</div>
{{/rollTotal() roll 9}}
{{#rollGreater() roll 9}}
<div class="sheet-template-row template-center">Target drops a 4 meter radius puddle of blood and dies. For the rest of the encounter, anyone moving through this puddle must make a +0 AGI Test or fall Prone.</div>
{{/rollGreater() roll 9}}
{{/crunch}}
{{/rollTotal() type 3}}
{{/rollTotal() location 1}}
<!-- target is person's Head -->
{{#rollTotal() location 2}}
<!-- target is person's Head, Energy damage -->
{{#rollTotal() type 0}}
<div class="sheet-template-row template-center">Energy critical to Head.</div>
<div class="sheet-template-row template-center">Severity: {{roll}}</div>
{{#crunch}}
{{#rollTotal() roll 1}}
<div class="sheet-template-row template-center">Target takes -10 to all Tests except TOU for 1 Round.</div>
{{/rollTotal() roll 1}}
{{#rollTotal() roll 2}}
<div class="sheet-template-row template-center">Target is Blinded for 1 Round.</div>
{{/rollTotal() roll 2}}
{{#rollTotal() roll 3}}
<div class="sheet-template-row template-center">Target is deafened for 1d5 hours or until receiving first aid.</div>
{{/rollTotal() roll 3}}
{{#rollTotal() roll 4}}
<div class="sheet-template-row template-center">Target loses hair, takes 2 Fatigue and is Blinded for 1d5 Rounds.</div>
{{/rollTotal() roll 4}}
{{#rollTotal() roll 5}}
<div class="sheet-template-row template-center">Target loses hair, is Blinded for 1d10 Rounds, Stunned for 1 Round, takes 1 permanent FEL damage.</div>
{{/rollTotal() roll 5}}
{{#rollTotal() roll 6}}
<div class="sheet-template-row template-center">Target is Blinded for 1d10 hours, takes 1d5 Fatigue, 1d5 permanent FEL and PER damage.</div>
{{/rollTotal() roll 6}}
{{#rollTotal() roll 7}}
<div class="sheet-template-row template-center">Target is Blinded permanently, takes 1d10 Fatigue. Reroll 1d10 as new FEL, unless FEL is already 10 or less.</div>
{{/rollTotal() roll 7}}
{{#rollTotal() roll 8}}
<div class="sheet-template-row template-center">Target dies.</div>
{{/rollTotal() roll 8}}
{{#rollTotal() roll 9}}
<div class="sheet-template-row template-center">Target dies.</div>
{{/rollTotal() roll 9}}
{{#rollGreater() roll 9}}
<div class="sheet-template-row template-center">Target dies, catches fire, runs headless 2d10 meters in a random direction. Anyone or anything flammable it passes makes a +0 AGI Test or catches fire.</div>
{{/rollGreater() roll 9}}
{{/crunch}}
{{/rollTotal() type 0}}
<!-- target is person's Head, Explosive damage -->
{{#rollTotal() type 1}}
<div class="sheet-template-row template-center">Explosive critical to Head.</div>
<div class="sheet-template-row template-center">Severity: {{roll}}</div>
{{#crunch}}
{{#rollTotal() roll 1}}
<div class="sheet-template-row template-center">Target can only take a Half Action next Turn.</div>
{{/rollTotal() roll 1}}
{{#rollTotal() roll 2}}
<div class="sheet-template-row template-center">Target is Blinded and Deafened for 1 Round.</div>
{{/rollTotal() roll 2}}
{{#rollTotal() roll 3}}
<div class="sheet-template-row template-center">Target takes 2 Fatigue, +0 TOU Test or take 1d10 PER and FEL damage.</div>
{{/rollTotal() roll 3}}
{{#rollTotal() roll 4}}
<div class="sheet-template-row template-center">Target takes 1d10 INT damage, is knocked Prone. +0 TOU Test or take 1 permanent INT damage and be Stunned for 2 Rounds.</div>
{{/rollTotal() roll 4}}
{{#rollTotal() roll 5}}
<div class="sheet-template-row template-center">Target is Stunned for 1d10 Rounds, permanently Deafened, takes 1d5 permanent FEL damage.</div>
{{/rollTotal() roll 5}}
{{#rollTotal() roll 6}}
<div class="sheet-template-row template-center">Target dies.</div>
{{/rollTotal() roll 6}}
{{#rollTotal() roll 7}}
<div class="sheet-template-row template-center">Target dies. Any carried ammunition cooks off, dealing 1d10+5 Impact damage to anyone within 1d10 meters. Any other explosives immediately detonate as well.</div>
{{/rollTotal() roll 7}}
{{#rollTotal() roll 8}}
<div class="sheet-template-row template-center">Target dies, leaving a gore puddle. Anyone passing over this spot takes a +0 AGI Test or falls Prone.</div>
{{/rollTotal() roll 8}}
{{#rollTotal() roll 9}}
<div class="sheet-template-row template-center">Target dies.</div>
{{/rollTotal() roll 9}}
{{#rollGreater() roll 9}}
<div class="sheet-template-row template-center">Target dies, any allies within 2 meters take a +0 Fear Test or take the next Turn fleeing from the attacker.</div>
{{/rollGreater() roll 9}}
{{/crunch}}
{{/rollTotal() type 1}}
<!-- target is person's Head, Impact damage -->
{{#rollTotal() type 2}}
<div class="sheet-template-row template-center">Impact critical to Head.</div>
<div class="sheet-template-row template-center">Severity: {{roll}}</div>
{{#crunch}}
{{#rollTotal() roll 1}}
<div class="sheet-template-row template-center">Target passes +0 TOU Test or takes 1 Fatigue.</div>
{{/rollTotal() roll 1}}
{{#rollTotal() roll 2}}
<div class="sheet-template-row template-center">Target takes a -10 to PER and INT Tests for 1d5 Rounds.</div>
{{/rollTotal() roll 2}}
{{#rollTotal() roll 3}}
<div class="sheet-template-row template-center">Target is Blinded for 1 Round, +0 TOU Test or be Stunned for 1 Round.</div>
{{/rollTotal() roll 3}}
{{#rollTotal() roll 4}}
<div class="sheet-template-row template-center">Target passes +0 TOU Test or be Stunned for 1 Round and knocked Prone.</div>
{{/rollTotal() roll 4}}
{{#rollTotal() roll 5}}
<div class="sheet-template-row template-center">Target is Stunned for 1 Round, gains 1 Fatigue, staggers back 1d5 meters, takes 1 permanent INT damage.</div>
{{/rollTotal() roll 5}}
{{#rollTotal() roll 6}}
<div class="sheet-template-row template-center">Target is Stunned for 1d5 Rounds, knocked backwards 1d5 meters, +0 AGI Test or fall Prone.</div>
{{/rollTotal() roll 6}}
{{#rollTotal() roll 7}}
<div class="sheet-template-row template-center">Target is Stunned for 1d10 Rounds, halves all movement for 1d10 hours.</div>
{{/rollTotal() roll 7}}
{{#rollTotal() roll 8}}
<div class="sheet-template-row template-center">Target dies.</div>
{{/rollTotal() roll 8}}
{{#rollTotal() roll 9}}
<div class="sheet-template-row template-center">Target dies, anyone within 4 meters of target takes a +0 AGI Test or takes a -10 to WS and BS Tests on the next Turn.</div>
{{/rollTotal() roll 9}}
{{#rollGreater() roll 9}}
<div class="sheet-template-row template-center">Target dies, anyone within 4 meters of target takes a +0 AGI Test or takes a -10 to WS and BS Tests on the next Turn. If hit was from a melee weapon, attacker can immediately make an attack
(same weapon) against any other target that can be reached without moving. If ranged, attacker can immediately make an attack (same weapon) against any target standing directly behind the original and still within range.</div>
{{/rollGreater() roll 9}}
{{/crunch}}
{{/rollTotal() type 2}}
<!-- target is person's Head, Rending damage -->
{{#rollTotal() type 3}}
<div class="sheet-template-row template-center">Rending critical to Head.</div>
<div class="sheet-template-row template-center">Severity: {{roll}}</div>
{{#crunch}}
{{#rollTotal() roll 1}}
<div class="sheet-template-row template-center">Target takes 1 Fatigue, unless wearing helmet.</div>
{{/rollTotal() roll 1}}
{{#rollTotal() roll 2}}
<div class="sheet-template-row template-center">Target takes a +10 to all WS and BS Tests for 1d10 Rounds. +0 TOU Test or suffer Blood Loss.</div>
{{/rollTotal() roll 2}}
{{#rollTotal() roll 3}}
<div class="sheet-template-row template-center">Target is Stunned for 1d5 Rounds, drops helmet if worn, suffers Blood Loss.</div>
{{/rollTotal() roll 3}}
{{#rollTotal() roll 4}}
<div class="sheet-template-row template-center">Target takes 1d10 PER damage, +20 TOU Test or lose an eye.</div>
{{/rollTotal() roll 4}}
{{#rollTotal() roll 5}}
<div class="sheet-template-row template-center">Target is sTunned for 1d5 Rounds, drops helmet if worn. If no helmet, loses an ear (Deafened) until receiving medical treatment, +0 TOU Test or suffer 1 permanent FEL damage.</div>
{{/rollTotal() roll 5}}
{{#rollTotal() roll 6}}
<div class="sheet-template-row template-center">Roll 1d10. 1-3: Target loses an eye. 4-7: nose. (1d10 permanent FEL damage) 8-10: ear (Deafened until receiving medical treatment). Target suffers Blood Loss, is Stunned for 1 Round.</div>
{{/rollTotal() roll 6}}
{{#rollTotal() roll 7}}
<div class="sheet-template-row template-center">Target rerolls FEL as 1d10, is permanently Blinded, suffers Blood Loss, Stunned for 1 Round.</div>
{{/rollTotal() roll 7}}
{{#rollTotal() roll 8}}
<div class="sheet-template-row template-center">Target dies.</div>
{{/rollTotal() roll 8}}
{{#rollTotal() roll 9}}
<div class="sheet-template-row template-center">Target dies, head lands 2d10 meters away.</div>
{{/rollTotal() roll 9}}
{{#rollGreater() roll 9}}
<div class="sheet-template-row template-center">Target dies, head lands 2d10 meters away. Anyone nearby makes a +0 AGI Test or takes -10 to all WS and BS for 1 Round.</div>
{{/rollGreater() roll 9}}
{{/crunch}}
{{/rollTotal() type 3}}
{{/rollTotal() location 2}}
<!-- target is person's Leg -->
{{#rollTotal() location 3}}
<!-- target is person's Leg, Energy damage -->
{{#rollTotal() type 0}}
<div class="sheet-template-row template-center">Energy critical to Leg.</div>
<div class="sheet-template-row template-center">Severity: {{roll}}</div>
{{#crunch}}
{{#rollTotal() roll 1}}
<div class="sheet-template-row template-center">Target cannot Run or Charge for 2 Rounds.</div>
{{/rollTotal() roll 1}}
{{#rollTotal() roll 2}}
<div class="sheet-template-row template-center">Target must pass +0 TOU Test or takes 1 Fatigue.</div>
{{/rollTotal() roll 2}}
{{#rollTotal() roll 3}}
<div class="sheet-template-row template-center">Target takes 1 Fatigue, is knocked Prone, and reduces movement by half for 1d10 Rounds.</div>
{{/rollTotal() roll 3}}
{{#rollTotal() roll 4}}
<div class="sheet-template-row template-center">Target reduces movement by half, may not Run or Charge until receiving medical treatment.</div>
{{/rollTotal() roll 4}}
{{#rollTotal() roll 5}}
<div class="sheet-template-row template-center">Target takes 1 Fatigue, knocked Prone, reduces movement by half for 2d10 Rounds.</div>
{{/rollTotal() roll 5}}
{{#rollTotal() roll 6}}
<div class="sheet-template-row template-center">Target takes 2 Fatigue, makes a +0 TOU Test or loses the foot. On success, target reduces movement by half until receiving medical treatment.</div>
{{/rollTotal() roll 6}}
{{#rollTotal() roll 7}}
<div class="sheet-template-row template-center">Targettakes 1d5 Fatigue. +0 TOU Test or be Stunned for 1 Round. Target considered to only have one leg until receiving medical treatment.</div>
{{/rollTotal() roll 7}}
{{#rollTotal() roll 8}}
<div class="sheet-template-row template-center">Target takes 1d10 Fatigue, suffers Blood Loss, loses the leg, +0 TOU Test or be Stunned for 1 Round.</div>
{{/rollTotal() roll 8}}
{{#rollTotal() roll 9}}
<div class="sheet-template-row template-center">Target passes a +0 TOU Test or dies.</div>
{{/rollTotal() roll 9}}
{{#rollGreater() roll 9}}
<div class="sheet-template-row template-center">Target dies.</div>
{{/rollGreater() roll 9}}
{{/crunch}}
{{/rollTotal() type 0}}
<!-- target is person's Leg, Explosive damage -->
{{#rollTotal() type 1}}
<div class="sheet-template-row template-center">Explosive critical to Leg.</div>
<div class="sheet-template-row template-center">Severity: {{roll}}</div>
{{#crunch}}
{{#rollTotal() roll 1}}
<div class="sheet-template-row template-center">Target sent back 1 meter, +0 TOU Test or be knocked Prone.</div>
{{/rollTotal() roll 1}}
{{#rollTotal() roll 2}}
<div class="sheet-template-row template-center">Target knocked Prone, may only take Half Moves for movement actions for 1d5 Rounds.</div>
{{/rollTotal() roll 2}}
{{#rollTotal() roll 3}}
<div class="sheet-template-row template-center">Target takes 2d10 AGI damage.</div>
{{/rollTotal() roll 3}}
{{#rollTotal() roll 4}}
<div class="sheet-template-row template-center">Target flung 1d5 meters away from explosion, knocked prone. Needs a Full Action to stand back up, movement reduced by half for 1d10 Rounds.</div>
{{/rollTotal() roll 4}}
{{#rollTotal() roll 5}}
<div class="sheet-template-row template-center">Target takes 1d5 permanent AGI damage, -10 TOU Test or take 1d5 Fatigue.</div>
{{/rollTotal() roll 5}}
{{#rollTotal() roll 6}}
<div class="sheet-template-row template-center">Target takes 1d10 Fatigue, counts as only having one leg until receiving medical treatment. +0 TOU Test or lose the foot.</div>
{{/rollTotal() roll 6}}
{{#rollTotal() roll 7}}
<div class="sheet-template-row template-center">Target takes a +0 TOU Test or dies. On success, Stunned for 1d10 Rounds, takes 1d10 Fatigue, suffers Blood Loss, loses the leg.</div>
{{/rollTotal() roll 7}}
{{#rollTotal() roll 8}}
<div class="sheet-template-row template-center">Target dies.</div>
{{/rollTotal() roll 8}}
{{#rollTotal() roll 9}}
<div class="sheet-template-row template-center">Target dies, anyone within 2 meters takes 1d10+2 Impact damage.</div>
{{/rollTotal() roll 9}}
{{#rollGreater() roll 9}}
<div class="sheet-template-row template-center">Target dies, anyone within 2 meters takes 1d10+2 Impact damage, (if ammunition carried) anyone within 1d10 meters also takes 1d10+5 Impact damage, any other carried explosives detonate.</div>
{{/rollGreater() roll 9}}
{{/crunch}}
{{/rollTotal() type 1}}
<!-- target is person's Leg, Impact damage -->
{{#rollTotal() type 2}}
<div class="sheet-template-row template-center">Impact critical to Leg.</div>
<div class="sheet-template-row template-center">Severity: {{roll}}</div>
{{#crunch}}
{{#rollTotal() roll 1}}
<div class="sheet-template-row template-center">Target takes 1 Fatigue.</div>
{{/rollTotal() roll 1}}
{{#rollTotal() roll 2}}
<div class="sheet-template-row template-center">Target's movement reduced by half for 1 Round, +0 TOU Test or be Stunned for 1 Round and fall Prone.</div>
{{/rollTotal() roll 2}}
{{#rollTotal() roll 3}}
<div class="sheet-template-row template-center">Target takes 1d10 AGI damage and is knocked Prone.</div>
{{/rollTotal() roll 3}}
{{#rollTotal() roll 4}}
<div class="sheet-template-row template-center">Target takes 2d10 AGI damage and is knocked Prone.</div>
{{/rollTotal() roll 4}}
{{#rollTotal() roll 5}}
<div class="sheet-template-row template-center">Target is Stunned for 1 Round, knocked Prone, movement reduced to 1 Meter until receiving medical treatment.</div>
{{/rollTotal() roll 5}}
{{#rollTotal() roll 6}}
<div class="sheet-template-row template-center">Target's movment reduced by half until receiving medical treatment. Target takes 2 Fatigue, +0 TOU Test or lose the foot.</div>
{{/rollTotal() roll 6}}
{{#rollTotal() roll 7}}
<div class="sheet-template-row template-center">Target is Stunned for 2 Rounds, knocked Prone, counts as not having the leg until receiving medical treatment.</div>
{{/rollTotal() roll 7}}
{{#rollTotal() roll 8}}
<div class="sheet-template-row template-center">Target suffers Blood Loss, 1d5 permanent AGI damage, loses the leg, +0 TOU Test or die.</div>
{{/rollTotal() roll 8}}
{{#rollTotal() roll 9}}
<div class="sheet-template-row template-center">Target dies.</div>
{{/rollTotal() roll 9}}
{{#rollGreater() roll 9}}
<div class="sheet-template-row template-center">Target dies, drowning out conversation within 2d10 meters for the rest of the Round.</div>
{{/rollGreater() roll 9}}
{{/crunch}}
{{/rollTotal() type 2}}
<!-- target is person's Leg, Rending damage -->
{{#rollTotal() type 3}}
<div class="sheet-template-row template-center">Rending critical to Leg.</div>
<div class="sheet-template-row template-center">Severity: {{roll}}</div>
{{#crunch}}
{{#rollTotal() roll 1}}
<div class="sheet-template-row template-center">Target takes 1 Fatigue.</div>
{{/rollTotal() roll 1}}
{{#rollTotal() roll 2}}
<div class="sheet-template-row template-center">Target takes a +0 AGI Test or falls Prone and gains Blood Loss.</div>
{{/rollTotal() roll 2}}
{{#rollTotal() roll 3}}
<div class="sheet-template-row template-center">Target takes 1d5 AGI damage, gains Blood Loss.</div>
{{/rollTotal() roll 3}}
{{#rollTotal() roll 4}}
<div class="sheet-template-row template-center">Target knocked Prone, takes 1d10 AGI damage, movement reduced by half until receiving medical treatment.</div>
{{/rollTotal() roll 4}}
{{#rollTotal() roll 5}}
<div class="sheet-template-row template-center">Target gains Blood Loss, +0 TOU Test or take 1 permanent AGI damage.</div>
{{/rollTotal() roll 5}}
{{#rollTotal() roll 6}}
<div class="sheet-template-row template-center">Target gains Blood Loss, +0 TOU Test or lose the foot. On success, movement reduced by half until receiving medical treatment.</div>
{{/rollTotal() roll 6}}
{{#rollTotal() roll 7}}
<div class="sheet-template-row template-center">Target gains Blood Loss, is Stunned for 1 Round, knocked Prone, counts as not having the leg until receiving medical treatment.</div>
{{/rollTotal() roll 7}}
{{#rollTotal() roll 8}}
<div class="sheet-template-row template-center">Target loses the leg. +0 TOU Test or die. On success, target is Stunned for 1d10 Rounds and gains Blood Loss.</div>
{{/rollTotal() roll 8}}
{{#rollTotal() roll 9}}
<div class="sheet-template-row template-center">Target dies.</div>
{{/rollTotal() roll 9}}
{{#rollGreater() roll 9}}
<div class="sheet-template-row template-center">Target dies. Anyone making a Run or Charge within 6 meters of the target makes a +0 AGI Test or falls Prone.</div>
{{/rollGreater() roll 9}}
{{/crunch}}
{{/rollTotal() type 3}}
{{/rollTotal() location 3}}
{{/rollTotal() target 0}}
<!-- target is vehicle -->
{{#rollTotal() target 1}}
<!-- target is vehicle's Weapon -->
{{#rollTotal() location 0}}
<div class="sheet-template-row template-center">Weapon critical.</div>
<div class="sheet-template-row template-center">Severity: {{roll}}</div>
{{#crunch}}
{{#rollTotal() roll 1}}
<div class="sheet-template-row template-center">Gunner is Stunned for 1 Round.</div>
{{/rollTotal() roll 1}}
{{#rollTotal() roll 2}}
<div class="sheet-template-row template-center">Weapon jams, jam can be cleared conventionally.</div>
{{/rollTotal() roll 2}}
{{#rollTotal() roll 3}}
<div class="sheet-template-row template-center">Shots made on this weapon take a -10 for 1d5 Rounds.</div>
{{/rollTotal() roll 3}}
{{#rollTotal() roll 4}}
<div class="sheet-template-row template-center">Weapon Locked. Weapon can only fire in whatever direction it was used last. If Fixed Weapon, Weapon Disabled until repaired.</div>
{{/rollTotal() roll 4}}
{{#rollTotal() roll 5}}
<div class="sheet-template-row template-center">Weapon Disabled until repaired.</div>
{{/rollTotal() roll 5}}
{{#rollTotal() roll 6}}
<div class="sheet-template-row template-center">Weapon Targeting Systems Destroyed.</div>
{{/rollTotal() roll 6}}
{{#rollTotal() roll 7}}
<div class="sheet-template-row template-center">Using the weapon now carries a 30% chance to cook off all ammunition. In this event, roll half the weapon damage against vehicle and gunners, Weapon Destroyed.</div>
{{/rollTotal() roll 7}}
{{#rollTotal() roll 8}}
<div class="sheet-template-row template-center">Weapon removed from housing. Gunner has a 20% chance of taking 1/4 the damage of the shot that caused this RF.</div>
{{/rollTotal() roll 8}}
{{#rollTotal() roll 9}}
<div class="sheet-template-row template-center">All crew takes 1d10+6 Explosive damage to Body, take 1 Fatigue, +0 AGI Test or catch fire. Victims can attempt to put out the fire.</div>
{{/rollTotal() roll 9}}
{{#rollGreater() roll 9}}
<div class="sheet-template-row template-center">That's too much text.</div>
{{/rollGreater() roll 9}}
{{/crunch}}
{{/rollTotal() location 0}}
<!-- target is vehicle's Motive Systems -->
{{#rollTotal() location 1}}
<div class="sheet-template-row template-center">Motive Systems critical.</div>
<div class="sheet-template-row template-center">Severity: {{roll}}</div>
{{#crunch}}
{{#rollTotal() roll 1}}
<div class="sheet-template-row template-center">Driver takes +0 Operate Test. On fail, roll Scatter to change vehicle facing, driver takes 1 Fatigue.</div>
{{/rollTotal() roll 1}}
{{#rollTotal() roll 2}}
<div class="sheet-template-row template-center">Vehicle may only move up to Tactical Speed next Turn.</div>
{{/rollTotal() roll 2}}
{{#rollTotal() roll 3}}
<div class="sheet-template-row template-center">Motive Systems Impaired.</div>
{{/rollTotal() roll 3}}
{{#rollTotal() roll 4}}
<div class="sheet-template-row template-center">-10 Operate Test to move the vehicle faster than Tactical Speed. On fail, no movement. Skimmers would crash.</div>
{{/rollTotal() roll 4}}
{{#rollTotal() roll 5}}
<div class="sheet-template-row template-center">That's too much text.</div>
{{/rollTotal() roll 5}}
{{#rollTotal() roll 6}}
<div class="sheet-template-row template-center">That's too much text.</div>
{{/rollTotal() roll 6}}
{{#rollTotal() roll 7}}
<div class="sheet-template-row template-center">That's too much text.</div>
{{/rollTotal() roll 7}}
{{#rollTotal() roll 8}}
<div class="sheet-template-row template-center">Motive Systems Destroyed. Skimmers crash.</div>
{{/rollTotal() roll 8}}
{{#rollTotal() roll 9}}
<div class="sheet-template-row template-center">Motive Systems Destroyed, Skimmers crash, vehicle catches fire.</div>
{{/rollTotal() roll 9}}
{{#rollGreater() roll 9}}
<div class="sheet-template-row template-center">That's too much text.</div>
{{/rollGreater() roll 9}}
{{/crunch}}
{{/rollTotal() location 1}}
<!-- target is vehicle's Turret -->
{{#rollTotal() location 2}}
<div class="sheet-template-row template-center">Turret critical.</div>
<div class="sheet-template-row template-center">Severity: {{roll}}</div>
{{#crunch}}
{{#rollTotal() roll 1}}
<div class="sheet-template-row template-center">Anyone in the Turret is Stunned for 1 Round.</div>
{{/rollTotal() roll 1}}
{{#rollTotal() roll 2}}
<div class="sheet-template-row template-center">Turret weapon jammed.</div>
{{/rollTotal() roll 2}}
{{#rollTotal() roll 3}}
<div class="sheet-template-row template-center">Shots from the turret weapon take a -10 for 1d5 Rounds.</div>
{{/rollTotal() roll 3}}
{{#rollTotal() roll 4}}
<div class="sheet-template-row template-center">Turret Locked. Gun can only fire in the direction it fired last. Pintles OK.</div>
{{/rollTotal() roll 4}}
{{#rollTotal() roll 5}}
<div class="sheet-template-row template-center">That's too much text.</div>
{{/rollTotal() roll 5}}
{{#rollTotal() roll 6}}
<div class="sheet-template-row template-center">All weapons within the turret gain Targeting Systems Destroyed.</div>
{{/rollTotal() roll 6}}
{{#rollTotal() roll 7}}
<div class="sheet-template-row template-center">That's too much text.</div>
{{/rollTotal() roll 7}}
{{#rollTotal() roll 8}}
<div class="sheet-template-row template-center">All weapons on the turret gains Weapon Destroyed. Turret Locked. Turret catches fire.</div>
{{/rollTotal() roll 8}}
{{#rollTotal() roll 9}}
<div class="sheet-template-row template-center">All weapons on the turret gains Weapon Destroyed. Turret Locked. Turret catches fire. All Crew +0 AGI Test or catch fire. Victims can put themselves out.</div>
{{/rollTotal() roll 9}}
{{#rollGreater() roll 9}}
<div class="sheet-template-row template-center">That's too much text.</div>
{{/rollGreater() roll 9}}
{{/crunch}}
{{/rollTotal() location 2}}
<!-- target is vehicle's Hull -->
{{#rollTotal() location 3}}
<div class="sheet-template-row template-center">Hull critical.</div>
<div class="sheet-template-row template-center">Severity: {{roll}}</div>
{{#crunch}}
{{#rollTotal() roll 1}}
<div class="sheet-template-row template-center">Unbuckled crew take a +10 TOU Test or be Stunned for 1 Round.</div>
{{/rollTotal() roll 1}}
{{#rollTotal() roll 2}}
<div class="sheet-template-row template-center">All crew takes -20 to do anything until someone takes a Full Action to close a gas leak.</div>
{{/rollTotal() roll 2}}
{{#rollTotal() roll 3}}
<div class="sheet-template-row template-center">Unbuckled crew take a +10 TOU Test or be Stunned for 1 Round. All shooting from the vehicle takes a -10 for 1 Round.</div>
{{/rollTotal() roll 3}}
{{#rollTotal() roll 4}}
<div class="sheet-template-row template-center">Random crewmember takes 1d10+6 Impact damage to Body, takes 1 Fatigue.</div>
{{/rollTotal() roll 4}}
{{#rollTotal() roll 5}}
<div class="sheet-template-row template-center">Hit vehicle facing reduces AP by 1d10.</div>
{{/rollTotal() roll 5}}
{{#rollTotal() roll 6}}
<div class="sheet-template-row template-center">That's too much text.</div>
{{/rollTotal() roll 6}}
{{#rollTotal() roll 7}}
<div class="sheet-template-row template-center">Hit vehicle facing reduces AP by half. If it was a ranged hit, each crewmember has a 20% chance to take 1/4 the damage, vehicle now Open Topped.</div>
{{/rollTotal() roll 7}}
{{#rollTotal() roll 8}}
<div class="sheet-template-row template-center">Hit vehicle facing reduces AP by half. If it was a ranged hit, each crewmember has a 20% chance to take 1/4 the damage, vehicle now Open Topped. Vehicle catches fire.</div>
{{/rollTotal() roll 8}}
{{#rollTotal() roll 9}}
<div class="sheet-template-row template-center">Vehicle Destroyed. Each weapon has 50% chance for Weapon Destroyed. Everyone takes 1d10+6 Explosive damage, -10 TOU Test or be Stunned for 1d10 Rounds. Skimmers crash.</div>
{{/rollTotal() roll 9}}
{{#rollGreater() roll 9}}
<div class="sheet-template-row template-center">That's too much text.</div>
{{/rollGreater() roll 9}}
{{/crunch}}
{{/rollTotal() location 3}}
{{/rollTotal() target 1}}
</div>
{{/righteousfury}}
{{#scatter-range}}
<div class="sheet-template-header">{{character}} scatters </div>
<img alt="spacer" src="https://raw.githubusercontent.com/ChtiKenny/roll20-character-sheets/ShadowbaneInauisition/ShadowbaneInquisition/images/assets/spacer.png" class="sheet-rolltemplate-spacer">
<div class="sheet-template-content">
{{#rollBetween() scatter-direction 1 1}} <img src="https://raw.githubusercontent.com/ChtiKenny/roll20-character-sheets/ShadowbaneInauisition/ShadowbaneInquisition/images/Scatter/1-scatter-NW.png">{{/rollBetween() scatter-direction 1 1}}
{{#rollBetween() scatter-direction 2 2}} <img src="https://raw.githubusercontent.com/ChtiKenny/roll20-character-sheets/ShadowbaneInauisition/ShadowbaneInquisition/images/Scatter/2-scatter-N.png">{{/rollBetween() scatter-direction 2 2}}
{{#rollBetween() scatter-direction 3 3}} <img src="https://raw.githubusercontent.com/ChtiKenny/roll20-character-sheets/ShadowbaneInauisition/ShadowbaneInquisition/images/Scatter/3-scatter-NE.png">{{/rollBetween() scatter-direction 3 3}}
{{#rollBetween() scatter-direction 4 4}} <img src="https://raw.githubusercontent.com/ChtiKenny/roll20-character-sheets/ShadowbaneInauisition/ShadowbaneInquisition/images/Scatter/4-scatter-W.png">{{/rollBetween() scatter-direction 4 4}}
{{#rollBetween() scatter-direction 5 5}} <img src="https://raw.githubusercontent.com/ChtiKenny/roll20-character-sheets/ShadowbaneInauisition/ShadowbaneInquisition/images/Scatter/5-scatter-E.png">{{/rollBetween() scatter-direction 5 5}}
{{#rollBetween() scatter-direction 6 7}} <img src="https://raw.githubusercontent.com/ChtiKenny/roll20-character-sheets/ShadowbaneInauisition/ShadowbaneInquisition/images/Scatter/6-7-scatter-SW.png">{{/rollBetween() scatter-direction 6 7}}
{{#rollBetween() scatter-direction 8 8}} <img src="https://raw.githubusercontent.com/ChtiKenny/roll20-character-sheets/ShadowbaneInauisition/ShadowbaneInquisition/images/Scatter/8-scatter-S.png">{{/rollBetween() scatter-direction 8 8}}
{{#rollBetween() scatter-direction 9 10}} <img src="https://raw.githubusercontent.com/ChtiKenny/roll20-character-sheets/ShadowbaneInauisition/ShadowbaneInquisition/images/Scatter/9-0-scatter-SE.png">{{/rollBetween() scatter-direction 9 10}}
</div>
<img alt="spacer" src="https://raw.githubusercontent.com/ChtiKenny/roll20-character-sheets/ShadowbaneInauisition/ShadowbaneInquisition/images/assets/spacer.png" class="sheet-rolltemplate-spacer sheet-invert">
<div class="sheet-template-header">Range: {{scatter-range}} meters </div>
{{/scatter-range}}
{{#shock}}
<div class="sheet-template-header">{{character}} experiences Shock</div>
<img alt="spacer" src="https://raw.githubusercontent.com/ChtiKenny/roll20-character-sheets/ShadowbaneInauisition/ShadowbaneInquisition/images/assets/spacer.png" class="sheet-rolltemplate-spacer">
<div class="sheet-template-content">
<div class="sheet-template-row template-center">Severity: {{shock}}</div>
{{#rollBetween() shock 1 20}}
<div class="sheet-template-row">May only take a single Half Action during next Turn</div>
{{/rollBetween() shock 1 20}}
{{#rollBetween() shock 21 40}}
<div class="sheet-template-row">10 penalty on all Tests for rest of encounter unless this unit Snaps Out of It.</div>
{{/rollBetween() shock 21 40}}
{{#rollBetween() shock 41 60}}
<div class="sheet-template-row">Cannot willingly approach source of Fear. 10 penalty on all Tests until end of encounter.</div>
{{/rollBetween() shock 41 60}}
{{#rollBetween() shock 61 80}}
<div class="sheet-template-row">No Actions until this unit Snaps Out of It. Even afterwards, -10 penalty for rest of encounter.</div>
{{/rollBetween() shock 61 80}}
{{#rollBetween() shock 81 100}}
<div class="sheet-template-row">If able, unit must flee source of Fear as fast as possible. If unable, may only take Half Actions and gains 20 penalty to all Tests. Once away from the danger, must successfully Snap Out of It to regain control.</div>
{{/rollBetween() shock 81 100}}
{{#rollBetween() shock 101 120}}
<div class="sheet-template-row">Falls unconscious for 1d5 Rounds. Afterwards, -10 penalty on all Tests until end of encounter.</div>
{{/rollBetween() shock 101 120}}
{{#rollBetween() shock 121 130}}
<div class="sheet-template-row">Screams and vomits uncontrollably for 1d5 Rounds. Unit may do nothing else during this time, and drops any held items. Afterwards, may only take a single Half Action each Turn until given a chance to rest.</div>
{{/rollBetween() shock 121 130}}
{{#rollBetween() shock 131 140}}
<div class="sheet-template-row">Laughs hysterically and attacks anything nearby with any weapons on hand, until unit Snaps Out of It or is knocked unconscious.</div>
{{/rollBetween() shock 131 140}}
{{#rollBetween() shock 141 160}}
<div class="sheet-template-row">Crumples to the ground for 1d5+1 Rounds, sobbing, babbling, and tearing at own flesh; can do nothing else. Afterwards, -20 penalty on all Tests until end of encounter.</div>
{{/rollBetween() shock 141 160}}
{{#rollBetween() shock 161 170}}
<div class="sheet-template-row">Character goes catatonic for 1d5 hours and cannot be roused.</div>
{{/rollBetween() shock 161 170}}
{{#rollGreater() shock 170}}
<div class="sheet-template-row">Heart failure. +0 Toughness Test. On fail, die. On success, character goes catatonic for 1d5 hours and cannot be roused.</div>
{{/rollGreater() shock 170}}
</div>
{{/shock}}
{{#phenomena}}
<div class="sheet-template-header">{{character}} Rolls for Psychic Phenomena</div>
<img alt="spacer" src="https://raw.githubusercontent.com/ChtiKenny/roll20-character-sheets/ShadowbaneInauisition/ShadowbaneInquisition/images/assets/spacer.png" class="sheet-rolltemplate-spacer">
<div class="sheet-template-content">
<div class="sheet-template-row template-center">Severity: {{roll}} </div>
{{#rollBetween() roll 1 3}}
<div class="sheet-template-row template-center">Dark Foreboding</div>
{{/rollBetween() roll 1 3}}
{{#rollBetween() roll 4 5}}
<div class="sheet-template-row template-center">Warp Echo</div>
{{/rollBetween() roll 4 5}}
{{#rollBetween() roll 6 8}}
<div class="sheet-template-row template-center">Unholy Stench</div>
{{/rollBetween() roll 6 8}}
{{#rollBetween() roll 9 11}}
<div class="sheet-template-row template-center">Mind Warp</div>
{{/rollBetween() roll 9 11}}
{{#rollBetween() roll 12 14}}
<div class="sheet-template-row template-center">Hoarfrost</div>
{{/rollBetween() roll 12 14}}
{{#rollBetween() roll 15 17}}
<div class="sheet-template-row template-center">Aura of Taint</div>
{{/rollBetween() roll 15 17}}
{{#rollBetween() roll 18 20}}
<div class="sheet-template-row template-center">Memory Worm</div>
{{/rollBetween() roll 18 20}}
{{#rollBetween() roll 21 23}}
<div class="sheet-template-row template-center">Spoilage</div>
{{/rollBetween() roll 21 23}}
{{#rollBetween() roll 24 26}}
<div class="sheet-template-row template-center">Haunting Breeze</div>
{{/rollBetween() roll 24 26}}
{{#rollBetween() roll 27 29}}
<div class="sheet-template-row template-center">Veil of Darkness</div>
{{/rollBetween() roll 27 29}}
{{#rollBetween() roll 30 32}}
<div class="sheet-template-row template-center">Distorted Reflections</div>
{{/rollBetween() roll 30 32}}
{{#rollBetween() roll 33 35}}
<div class="sheet-template-row template-center">Breath Leech</div>
{{/rollBetween() roll 33 35}}
{{#rollBetween() roll 36 38}}
<div class="sheet-template-row template-center">Demonic Mask</div>
{{/rollBetween() roll 36 38}}
{{#rollBetween() roll 39 41}}
<div class="sheet-template-row template-center">Unnatural Decay</div>
{{/rollBetween() roll 39 41}}
{{#rollBetween() roll 42 44}}
<div class="sheet-template-row template-center">Spectral Gale</div>
{{/rollBetween() roll 42 44}}
{{#rollBetween() roll 45 47}}
<div class="sheet-template-row template-center">Bloody Tears</div>
{{/rollBetween() roll 45 47}}
{{#rollBetween() roll 48 50}}
<div class="sheet-template-row template-center">The Earth Protests</div>
{{/rollBetween() roll 48 50}}
{{#rollBetween() roll 51 53}}
<div class="sheet-template-row template-center">Actinic Discharge</div>
{{/rollBetween() roll 51 53}}
{{#rollBetween() roll 54 56}}
<div class="sheet-template-row template-center">Warp Ghosts</div>
{{/rollBetween() roll 54 56}}
{{#rollBetween() roll 57 59}}
<div class="sheet-template-row template-center">Falling Upwards</div>
{{/rollBetween() roll 57 59}}
{{#rollBetween() roll 60 62}}
<div class="sheet-template-row template-center">Banshee Howl</div>
{{/rollBetween() roll 60 62}}
{{#rollBetween() roll 63 65}}
<div class="sheet-template-row template-center">The Furies</div>
{{/rollBetween() roll 63 65}}
{{#rollBetween() roll 66 68}}
<div class="sheet-template-row template-center">Shadow of the Warp</div>
{{/rollBetween() roll 66 68}}
{{#rollBetween() roll 69 71}}
<div class="sheet-template-row template-center">Tech Scorn</div>
{{/rollBetween() roll 69 71}}
{{#rollBetween() roll 72 74}}
<div class="sheet-template-row template-center">Warp Madness</div>
{{/rollBetween() roll 72 74}}
{{#rollGreater() roll 75}}
<div class="sheet-template-row template-center">Perils of the Warp</div>
{{/rollGreater() roll 75}}
</div>
{{/phenomena}}
{{#perils}}
<div class="sheet-template-header">{{character}} Rolls for Perils of the Warp</div>
<img alt="spacer" src="https://raw.githubusercontent.com/ChtiKenny/roll20-character-sheets/ShadowbaneInauisition/ShadowbaneInquisition/images/assets/spacer.png" class="sheet-rolltemplate-spacer">
<div class="sheet-template-content">
<div class="sheet-template-row template-center">Severity: {{roll}} </div>
{{#rollBetween() roll 1 5}}
<div class="sheet-template-row template-center">The Gibbering</div>
{{/rollBetween() roll 1 5}}
{{#rollBetween() roll 6 9}}
<div class="sheet-template-row template-center">Warp Burn</div>
{{/rollBetween() roll 6 9}}
{{#rollBetween() roll 10 13}}
<div class="sheet-template-row template-center">Psychic Concussion</div>
{{/rollBetween() roll 10 13}}
{{#rollBetween() roll 14 18}}
<div class="sheet-template-row template-center">Psy Blast</div>
{{/rollBetween() roll 14 18}}
{{#rollBetween() roll 19 24}}
<div class="sheet-template-row template-center">Soul Sear</div>
{{/rollBetween() roll 19 24}}
{{#rollBetween() roll 25 30}}
<div class="sheet-template-row template-center">Locked In</div>
{{/rollBetween() roll 25 30}}
{{#rollBetween() roll 31 38}}
<div class="sheet-template-row template-center">Chronological Incontinence</div>
{{/rollBetween() roll 31 38}}
{{#rollBetween() roll 39 46}}
<div class="sheet-template-row template-center">Psychic Mirror</div>
{{/rollBetween() roll 39 46}}
{{#rollBetween() roll 47 55}}
<div class="sheet-template-row template-center">Warp Whispers</div>
{{/rollBetween() roll 47 55}}
{{#rollBetween() roll 56 58}}
<div class="sheet-template-row template-center">Vice Versa</div>
{{/rollBetween() roll 56 58}}
{{#rollBetween() roll 59 67}}
<div class="sheet-template-row template-center">Dark Summoning</div>
{{/rollBetween() roll 59 67}}
{{#rollBetween() roll 68 72}}
<div class="sheet-template-row template-center">Rending the Veil</div>
{{/rollBetween() roll 68 72}}
{{#rollBetween() roll 73 78}}
<div class="sheet-template-row template-center">Blood Rain</div>
{{/rollBetween() roll 73 78}}
{{#rollBetween() roll 79 82}}
<div class="sheet-template-row template-center">Cataclysmic Blast</div>
{{/rollBetween() roll 79 82}}
{{#rollBetween() roll 83 86}}
<div class="sheet-template-row template-center">Mass Possession</div>
{{/rollBetween() roll 83 86}}
{{#rollBetween() roll 87 90}}
<div class="sheet-template-row template-center">Reality Quake</div>
{{/rollBetween() roll 87 90}}
{{#rollBetween() roll 91 99}}
<div class="sheet-template-row template-center">Grand Possession</div>
{{/rollBetween() roll 91 99}}
{{#rollTotal() roll 100}}
<div class="sheet-template-row template-center">Annihiliation</div>
{{/rollTotal() roll 100}}
</div>
{{/perils}}
{{#2x2}}
<div class="sheet-template-header">{{character}}: {{name}}</div>
<img alt="spacer" src="https://raw.githubusercontent.com/ChtiKenny/roll20-character-sheets/ShadowbaneInauisition/ShadowbaneInquisition/images/assets/spacer.png" class="sheet-rolltemplate-spacer">
<div class="sheet-template-content">
<div class="sheet-template-2x2 sheet-template-row">
<div class="sheet-template-right">{{2x2-name}}</div>
<div class="sheet-template-left">{{2x2}}</div>
</div>
<div class="sheet-template-2x2 sheet-template-row">
<div class="sheet-template-right">{{2x2-name-max}}</div>
<div class="sheet-template-left">{{2x2-max}}</div>
</div>
</div>
{{/2x2}}
{{#4x2-1}}
<div class="sheet-template-header">{{character}}: {{name}}</div>
<img alt="spacer" src="https://raw.githubusercontent.com/ChtiKenny/roll20-character-sheets/ShadowbaneInauisition/ShadowbaneInquisition/images/assets/spacer.png" class="sheet-rolltemplate-spacer">
<div class="sheet-template-content">
<div class="sheet-template-2x2 sheet-template-row">
<div class="sheet-template-right">{{4x2-1-name}}</div>
<div class="sheet-template-left">{{4x2-1}}</div>
</div>
<div class="sheet-template-2x2 sheet-template-row">
<div class="sheet-template-right">{{4x2-1-name-max}}</div>
<div class="sheet-template-left">{{4x2-1-max}}</div>
</div>
<div class="sheet-template-2x2 sheet-template-row">
<div class="sheet-template-right">{{4x2-2-name}}</div>
<div class="sheet-template-left">{{4x2-2}}</div>
</div>
<div class="sheet-template-2x2 sheet-template-row">
<div class="sheet-template-right">{{4x2-2-name-max}}</div>
<div class="sheet-template-left">{{4x2-2-max}}</div>
</div>
{{/4x2-1}}
</div>
</rolltemplate>
<!-- CHARACTERMANCER -->
<charmancer class="sheet-charmancer-intro">
<div class="sheet-charmancer">
<h2>Welcome to the Shadowbane Inquisition Charactermancer!</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin sed lorem arcu. Etiam accumsan lacus tellus,
et iaculis ipsum interdum non. Vestibulum sit amet consequat neque. Vivamus sed justo metus. Donec feugiat
commodo erat. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.
Proin vestibulum metus ac arcu sagittis, non tristique turpis pharetra. Vestibulum ultrices commodo risus,
eu egestas magna sodales vitae. Nam ultricies, enim sed consequat gravida, lacus nunc fermentum ante, vitae
ultricies nulla dui eget lacus. Fusce sit amet erat velit. Class aptent taciti sociosqu ad litora torquent
per conubia nostra, per inceptos himenaeos. Nulla facilisi.</p>
<p>Curabitur scelerisque sapien in lacus tincidunt, a aliquam tellus malesuada. Nam nec consectetur ipsum. Etiam
bibendum tincidunt elit vitae sagittis. Nam scelerisque erat consequat, fringilla diam ac, aliquam neque.
Vestibulum sollicitudin, massa at interdum cursus, libero justo fringilla dui, ac pharetra velit ligula vel
erat. Proin placerat augue purus, vitae feugiat orci tempus euismod. Aenean tincidunt sodales odio id
aliquam. Sed vel tempor metus.</p>
<p>Get started by clicking "Next".</p>
<div class="bottombar">
<button type="cancel" value="cancel">Discard and exit</button>
<button type="back" value="genos">Next</button>
<p class="warning"><span>Discard and Exit will discard all choices youve made in Charactermancer and let
you edit your character sheet directly.</span></p>
<button type="finish" value="random">Create Random Character??????</button>
</div>
</div>
</charmancer>
<charmancer class="sheet-charmancer-genos">
<div class="sheet-charmancer">
<h2>Choose Your Genos</h2>
<div style="
grid-template-columns: 50% calc(50% - 20px);
display: grid;
column-gap: 20px;">
<div>
<select name="comp_genos" class="sheet-full_width">
<option value="Human" selected>Human</option>
<option value="Ogryn">Ogryn</option>
<option value="Ratling">Ratling</option>
<option value="Squat">Squat</option>
<option value="Ghul">Ghul</option>
</select>
<div class="genos_infos">
</div>
</div>
<div>
</div>
</div>
<p>Select your Genos then click "Next".</p>
<div class="bottombar">
<button type="cancel" value="cancel">Discard and exit</button>
<button type="submit" value="stats">Next</button>
<p class="warning"><span>Discard and Exit will discard all choices youve made in Charactermancer and let
you edit your character sheet directly.</span></p>
</div>
</div>
</charmancer>
<charmancer class="sheet-charmancer-stats">
<div class="sheet-charmancer">
<h2>Generate Characteristics</h2>
<div>
<div class='rolled'>
<button type='roll' name='roll_standard'
value="/r [[2d10]]+[[2d10]]+[[2d10]]+[[2d10]]+[[2d10]]+[[2d10]]+[[2d10]]+[[2d10]]+[[2d10]]+[[2d10]]">Standard</button>
</div>
<input type="hidden" name="comp_rolled">
<input type="hidden" name="comp_rerolled">
<input type="hidden" name="comp_points">
<input type="hidden" name="comp_points_spent">
<div class="sheet-characteristics_main">
<div>
<button name='roll_reroll_0' type='roll'
class='sheet-clear sheet-full_width sheet-characteristics_button' value='/r [[2d10}]]'> reroll
</button>
<input name='comp_roll_0_value' type='text' value='${roll.result}'
class='sheet-characteristics_input sheet-full_width' readonly />
<select name='comp_roll_0_char' class='sheet-full_width' required>
<option value='' selected='selected'>N/A</option>
<option value='WS'>WS</option>
<option value='BS'>BS</option>
<option value='STR'>STR</option>
<option value='TOU'>TOU</option>
<option value='AGI'>AGI</option>
<option value='INT'>INT</option>
<option value='PER'>PER</option>
<option value='WP'>WP</option>
<option value='FEL'>FEL</option>
<option value='INF'>INF</option>
</select>
</div>
<div>
<button name='roll_reroll_1' type='roll'
class='sheet-clear sheet-full_width sheet-characteristics_button' value='/r [[2d10}]]'> reroll
</button>
<input name='comp_roll_1_value' type='text' value='${roll.result}'
class='sheet-characteristics_input sheet-full_width' readonly />
<select name='comp_roll_1_char' class='sheet-full_width' required>
<option value='' selected='selected'>N/A</option>
<option value='WS'>WS</option>
<option value='BS'>BS</option>
<option value='STR'>STR</option>
<option value='TOU'>TOU</option>
<option value='AGI'>AGI</option>
<option value='INT'>INT</option>
<option value='PER'>PER</option>
<option value='WP'>WP</option>
<option value='FEL'>FEL</option>
<option value='INF'>INF</option>
</select>
</div>
<div>
<button name='roll_reroll_2' type='roll'
class='sheet-clear sheet-full_width sheet-characteristics_button' value='/r [[2d10}]]'> reroll
</button>
<input name='comp_roll_2_value' type='text' value='${roll.result}'
class='sheet-characteristics_input sheet-full_width' readonly />
<select name='comp_roll_2_char' class='sheet-full_width' required>
<option value='' selected='selected'>N/A</option>
<option value='WS'>WS</option>
<option value='BS'>BS</option>
<option value='STR'>STR</option>
<option value='TOU'>TOU</option>
<option value='AGI'>AGI</option>
<option value='INT'>INT</option>
<option value='PER'>PER</option>
<option value='WP'>WP</option>
<option value='FEL'>FEL</option>
<option value='INF'>INF</option>
</select>
</div>
<div>
<button name='roll_reroll_3' type='roll'
class='sheet-clear sheet-full_width sheet-characteristics_button' value='/r [[2d10}]]'> reroll
</button>
<input name='comp_roll_3_value' type='text' value='${roll.result}'
class='sheet-characteristics_input sheet-full_width' readonly />
<select name='comp_roll_3_char' class='sheet-full_width' required>
<option value='' selected='selected'>N/A</option>
<option value='WS'>WS</option>
<option value='BS'>BS</option>
<option value='STR'>STR</option>
<option value='TOU'>TOU</option>
<option value='AGI'>AGI</option>
<option value='INT'>INT</option>
<option value='PER'>PER</option>
<option value='WP'>WP</option>
<option value='FEL'>FEL</option>
<option value='INF'>INF</option>
</select>
</div>
<div>
<button name='roll_reroll_4' type='roll'
class='sheet-clear sheet-full_width sheet-characteristics_button' value='/r [[2d10}]]'> reroll
</button>
<input name='comp_roll_4_value' type='text' value='${roll.result}'
class='sheet-characteristics_input sheet-full_width' readonly />
<select name='comp_roll_4_char' class='sheet-full_width' required>
<option value='' selected='selected'>N/A</option>
<option value='WS'>WS</option>
<option value='BS'>BS</option>
<option value='STR'>STR</option>
<option value='TOU'>TOU</option>
<option value='AGI'>AGI</option>
<option value='INT'>INT</option>
<option value='PER'>PER</option>
<option value='WP'>WP</option>
<option value='FEL'>FEL</option>
<option value='INF'>INF</option>
</select>
</div>
<div>
<button name='roll_reroll_5' type='roll'
class='sheet-clear sheet-full_width sheet-characteristics_button' value='/r [[2d10}]]'> reroll
</button>
<input name='comp_roll_5_value' type='text' value='${roll.result}'
class='sheet-characteristics_input sheet-full_width' readonly />
<select name='comp_roll_5_char' class='sheet-full_width' required>
<option value='' selected='selected'>N/A</option>
<option value='WS'>WS</option>
<option value='BS'>BS</option>
<option value='STR'>STR</option>
<option value='TOU'>TOU</option>
<option value='AGI'>AGI</option>
<option value='INT'>INT</option>
<option value='PER'>PER</option>
<option value='WP'>WP</option>
<option value='FEL'>FEL</option>
<option value='INF'>INF</option>
</select>
</div>
<div>
<button name='roll_reroll_6' type='roll'
class='sheet-clear sheet-full_width sheet-characteristics_button' value='/r [[2d10}]]'> reroll
</button>
<input name='comp_roll_6_value' type='text' value='${roll.result}'
class='sheet-characteristics_input sheet-full_width' readonly />
<select name='comp_roll_6_char' class='sheet-full_width' required>
<option value='' selected='selected'>N/A</option>
<option value='WS'>WS</option>
<option value='BS'>BS</option>
<option value='STR'>STR</option>
<option value='TOU'>TOU</option>
<option value='AGI'>AGI</option>
<option value='INT'>INT</option>
<option value='PER'>PER</option>
<option value='WP'>WP</option>
<option value='FEL'>FEL</option>
<option value='INF'>INF</option>
</select>
</div>
<div>
<button name='roll_reroll_7' type='roll'
class='sheet-clear sheet-full_width sheet-characteristics_button' value='/r [[2d10}]]'> reroll
</button>
<input name='comp_roll_7_value' type='text' value='${roll.result}'
class='sheet-characteristics_input sheet-full_width' readonly />
<select name='comp_roll_7_char' class='sheet-full_width' required>
<option value='' selected='selected'>N/A</option>
<option value='WS'>WS</option>
<option value='BS'>BS</option>
<option value='STR'>STR</option>
<option value='TOU'>TOU</option>
<option value='AGI'>AGI</option>
<option value='INT'>INT</option>
<option value='PER'>PER</option>
<option value='WP'>WP</option>
<option value='FEL'>FEL</option>
<option value='INF'>INF</option>
</select>
</div>
<div>
<button name='roll_reroll_8' type='roll'
class='sheet-clear sheet-full_width sheet-characteristics_button' value='/r [[2d10}]]'> reroll
</button>
<input name='comp_roll_8_value' type='text' value='${roll.result}'
class='sheet-characteristics_input sheet-full_width' readonly />
<select name='comp_roll_8_char' class='sheet-full_width' required>
<option value='' selected='selected'>N/A</option>
<option value='WS'>WS</option>
<option value='BS'>BS</option>
<option value='STR'>STR</option>
<option value='TOU'>TOU</option>
<option value='AGI'>AGI</option>
<option value='INT'>INT</option>
<option value='PER'>PER</option>
<option value='WP'>WP</option>
<option value='FEL'>FEL</option>
<option value='INF'>INF</option>
</select>
</div>
<div>
<button name='roll_reroll_9' type='roll'
class='sheet-clear sheet-full_width sheet-characteristics_button' value='/r [[2d10}]]'> reroll
</button>
<input name='comp_roll_9_value' type='text' value='${roll.result}'
class='sheet-characteristics_input sheet-full_width' readonly />
<select name='comp_roll_9_char' class='sheet-full_width' required>
<option value='' selected='selected'>N/A</option>
<option value='WS'>WS</option>
<option value='BS'>BS</option>
<option value='STR'>STR</option>
<option value='TOU'>TOU</option>
<option value='AGI'>AGI</option>
<option value='INT'>INT</option>
<option value='PER'>PER</option>
<option value='WP'>WP</option>
<option value='FEL'>FEL</option>
<option value='INF'>INF</option>
</select>
</div>
</div>
<div class="roll_low">
</div>
<br />
<div class="points_left">
</div>
<div style="columns: 5;">
<label for="comp_WS">Weapon Skil </label><button type='action' name='act_decrease_WS'>-</button><input
type="number" name="comp_WS" id="comp_WS" readonly /><button type='action'
name='act_increase_WS'>+</button>
<input type="hidden" name="comp_WS_points">
<label for="comp_BS">Ballistic Skill</label><button type='action'
name='act_decrease_BS'>-</button><input type="number" name="comp_BS" id="comp_BS" readonly /><button
type='action' name='act_increase_BS'>+</button>
<input type="hidden" name="comp_BS_points">
<label for="comp_STR">Strength </label><button type='action' name='act_decrease_STR'>-</button><input
type="number" name="comp_STR" id="comp_STR" readonly /><button type='action'
name='act_increase_STR'>+</button>
<input type="hidden" name="comp_STR_points">
<label for="comp_TOU">Toughness </label><button type='action' name='act_decrease_TOU'>-</button><input
type="number" name="comp_TOU" id="comp_TOU" readonly /><button type='action'
name='act_increase_TOU'>+</button>
<input type="hidden" name="comp_TOU_points">
<label for="comp_AGI">Agility </label><button type='action' name='act_decrease_AGI'>-</button><input
type="number" name="comp_AGI" id="comp_AGI" readonly /><button type='action'
name='act_increase_AGI'>+</button>
<input type="hidden" name="comp_AGI_points">
<label for="comp_INT">Intelligence </label><button type='action'
name='act_decrease_INT'>-</button><input type="number" name="comp_INT" id="comp_INT"
readonly /><button type='action' name='act_increase_INT'>+</button>
<input type="hidden" name="comp_INT_points">
<label for="comp_PER">Perception </label><button type='action' name='act_decrease_PER'>-</button><input
type="number" name="comp_PER" id="comp_PER" readonly /><button type='action'
name='act_increase_PER'>+</button>
<input type="hidden" name="comp_PER_points">
<label for="comp_WP">Willpower </label><button type='action' name='act_decrease_WP'>-</button><input
type="number" name="comp_WP" id="comp_WP" readonly /><button type='action'
name='act_increase_WP'>+</button>
<input type="hidden" name="comp_WP_points">
<label for="comp_FEL">Fellowship </label><button type='action' name='act_decrease_FEL'>-</button><input
type="number" name="comp_FEL" id="comp_FEL" readonly /><button type='action'
name='act_increase_FEL'>+</button>
<input type="hidden" name="comp_FEL_points">
<label for="comp_INF">Influence </label><button type='action' name='act_decrease_INF'>-</button><input
type="number" name="comp_INF" id="comp_INF" readonly /><button type='action'
name='act_increase_INF'>+</button>
<input type="hidden" name="comp_INF_points">
</div>
</div>
<p>Get started by clicking "Next".</p>
<div class="bottombar">
<button type="cancel" value="cancel">Discard and exit</button>
<button type="submit" value="homeworld">Next</button>
<p class="warning"><span>Discard and Exit will discard all choices youve made in Charactermancer and let
you edit your character sheet directly.</span></p>
</div>
</div>
</charmancer>
<charmancer class="sheet-charmancer-homeworld">
<div class="sheet-charmancer">
<h2>Choose Your Homeworld</h2>
<div style="
grid-template-columns: 50% calc(50% - 20px);
display: grid;
column-gap: 20px;">
<div>
<select name="comp_homeworld" class="sheet-full_width homeworld_choices">
</select>
<div class="homeworld_infos">
</div>
</div>
<div>
</div>
</div>
<p>Select your homeworld then click "Next".</p>
<div class="bottombar">
<button type="cancel" value="cancel">Discard and exit</button>
<button type="submit" value="background">Next</button>
<p class="warning"><span>Discard and Exit will discard all choices youve made in Charactermancer and let
you edit your character sheet directly.</span></p>
</div>
</div>
</charmancer>
<charmancer class="sheet-charmancer-background">
<div class="sheet-charmancer">
<h2>Choose Your Background</h2>
<div style="
grid-template-columns: 50% calc(50% - 20px);
display: grid;
column-gap: 20px;">
<div>
<select name="comp_background" class="sheet-full_width background_choices">
</select>
<div class="background_infos">
</div>
</div>
<div>
</div>
</div>
<p>Select your background then click "Next".</p>
<div class="bottombar">
<button type="cancel" value="cancel">Discard and exit</button>
<button type="submit" value="role">Next</button>
<p class="warning"><span>Discard and Exit will discard all choices youve made in Charactermancer and let
you edit your character sheet directly.</span></p>
</div>
</div>
</charmancer>
<charmancer class="sheet-charmancer-role">
<div class="sheet-charmancer">
<h2>Choose Your Role</h2>
<div style="
grid-template-columns: 50% calc(50% - 20px);
display: grid;
column-gap: 20px;">
<div>
<select name="comp_role" class="sheet-full_width role_choices">
</select>
<div class="role_infos">
</div>
</div>
<div>
</div>
</div>
<p>Select your role then click "Next".</p>
<div class="bottombar">
<button type="cancel" value="cancel">Discard and exit</button>
<button type="submit" value="aptitudes">Next</button>
<p class="warning"><span>Discard and Exit will discard all choices youve made in Charactermancer and let
you edit your character sheet directly.</span></p>
</div>
</div>
</charmancer>
<charmancer class="sheet-charmancer-aptitudes">
<div class="sheet-charmancer">
<h2>Determine your Aptitudes</h2>
<div style="
grid-template-columns: 50% calc(50% - 20px);
display: grid;
column-gap: 20px;">
<div class="aptitudes_block">
</div>
<div>
</div>
<input type="hidden" name="comp_aptitude_1">
<input type="hidden" name="comp_aptitude_2">
<input type="hidden" name="comp_aptitude_3">
<input type="hidden" name="comp_aptitude_4">
<input type="hidden" name="comp_aptitude_5">
<input type="hidden" name="comp_aptitude_6">
<input type="hidden" name="comp_aptitude_7">
<input type="hidden" name="comp_aptitude_8">
<input type="hidden" name="comp_aptitude_9">
</div>
<p>Select your aptitudes then click "Next".</p>
<div class="bottombar">
<button type="cancel" value="cancel">Discard and exit</button>
<button type="submit" value="talents">Next</button>
<p class="warning"><span>Discard and Exit will discard all choices youve made in Charactermancer and let
you edit your character sheet directly.</span></p>
</div>
</div>
</charmancer>
<charmancer class="sheet-charmancer-talents">
<div class="sheet-charmancer">
<h2>Determine your Talents</h2>
<div style="
grid-template-columns: 50% calc(50% - 20px);
display: grid;
column-gap: 20px;">
<div class="talents_block">
</div>
<div>
</div>
<input type="hidden" name="comp_talent_1">
<input type="hidden" name="comp_talent_2">
<input type="hidden" name="comp_talent_3">
<input type="hidden" name="comp_talent_4">
<input type="hidden" name="comp_talent_5">
<input type="hidden" name="comp_talent_6">
</div>
<p>Select your talents then click "Next".</p>
<div class="bottombar">
<button type="cancel" value="cancel">Discard and exit</button>
<button type="submit" value="equipments">Next</button>
<p class="warning"><span>Discard and Exit will discard all choices youve made in Charactermancer and let
you edit your character sheet directly.</span></p>
</div>
</div>
</charmancer>
<charmancer class="sheet-charmancer-equipments">
<div class="sheet-charmancer">
<h2>Determine your Equipment</h2>
<div style="
grid-template-columns: 50% calc(50% - 20px);
display: grid;
column-gap: 20px;">
<div class="equipments_block">
</div>
<div>
</div>
<input type="hidden" name="comp_equipment_1">
<input type="hidden" name="comp_equipment_2">
<input type="hidden" name="comp_equipment_3">
<input type="hidden" name="comp_equipment_4">
<input type="hidden" name="comp_equipment_5">
<input type="hidden" name="comp_equipment_6">
<input type="hidden" name="comp_equipment_7">
<input type="hidden" name="comp_equipment_8">
<input type="hidden" name="comp_equipment_9">
</div>
<p>Select your equipments then click "Next".</p>
<div class="bottombar">
<button type="cancel" value="cancel">Discard and exit</button>
<button type="submit" value="skills">Next</button>
<p class="warning"><span>Discard and Exit will discard all choices youve made in Charactermancer and let
you edit your character sheet directly.</span></p>
</div>
</div>
</charmancer>
<charmancer class="sheet-charmancer-skills">
<div class="sheet-charmancer">
<h2>Determine your Skills</h2>
<div style="
grid-template-columns: 50% calc(50% - 20px);
display: grid;
column-gap: 20px;">
<div class="skills_block">
</div>
<div>
</div>
<input type="hidden" name="comp_skill_1">
<input type="hidden" name="comp_skill_2">
<input type="hidden" name="comp_skill_3">
<input type="hidden" name="comp_skill_4">
<input type="hidden" name="comp_skill_5">
<input type="hidden" name="comp_skill_6">
<input type="hidden" name="comp_skill_7">
<input type="hidden" name="comp_skill_8">
<input type="hidden" name="comp_skill_9">
</div>
<p>Select your skills then click "Next".</p>
<div class="bottombar">
<button type="cancel" value="cancel">Discard and exit</button>
<button type="submit" value="wounds">Next</button>
<p class="warning"><span>Discard and Exit will discard all choices youve made in Charactermancer and let
you edit your character sheet directly.</span></p>
</div>
</div>
</charmancer>
<charmancer class="sheet-charmancer-wounds">
<div class="sheet-charmancer">
<h2>Generate Characteristics</h2>
<div>
<div>
<h3>Wounds</h3>
<p>Base Wounds: <span class="wounds"></span> <br />
(Determined by Homeworld)</p>
<button type='roll' name='roll_wounds' value="/r [[1d5]]">1d5 wounds</button>
<p>Total Wounds : <span class="wounds_max"></span></p>
</div>
<div>
<h3>Fate Threshold</h3>
<p>Base Fate Threshold: <span class="fate"></span> <br />
(Determined by Homeworld)
<br />
Emperor's Blessing: <span class="empBlessing"></span> <br />
(Gain an additional 1 to Fate Threshold if you roll this number or above)</p>
<button type='roll' name='roll_fate' value="/r [[1d10]]">1d10 Emperor's Blessing</button>
<p>Total Fate : <span class="fate_max"></span></p>
</div>
<div>
<h3>Divination</h3>
<p>Divination roll: <input type="text" name="comp_divination" readonly required></p>
<button type='roll' name='roll_divination' value="/r [[1d100]]">1d100 Divination</button>
</div>
<input type="hidden" name="comp_wounds">
<input type="hidden" name="comp_fate">
<input type="hidden" name="comp_divination">
</div>
<p>Get started by clicking "Next".</p>
<div class="bottombar">
<button type="cancel" value="cancel">Discard and exit</button>
<button type="finish" value="recap">Next</button>
<p class="warning"><span>Discard and Exit will discard all choices youve made in Charactermancer and let
you edit your character sheet directly.</span></p>
</div>
</div>
</charmancer>
<charmancer class="sheet-charmancer-final">
<div class="sheet-charmancer">
<h2>Finishing up</h2>
<div>
<div>
<div class="recap_infos">
</div>
<div class="recap_progress">
<progress value="10" max="100">10%</progress>
</div>
</div>
<div>
</div>
</div>
<p>Select your recap then click "Next".</p>
<div class="bottombar">
<button type="cancel" value="cancel">Discard and exit</button>
<button type="submit" value="recap">Next</button>
<p class="warning"><span>Discard and Exit will discard all choices youve made in Charactermancer and let
you edit your character sheet directly.</span></p>
</div>
</div>
<button type="cancel" value="example">Cancel Charactermancer</button>
<button type="back" value="example">Back</button>
<button type="submit" value="example">Next</button>
<button type="finish" value="example">Apply Changes</button>
</charmancer>