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

4642 lines
254 KiB
HTML
Raw Permalink 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.
<div class="sheet-main-container">
<input type="hidden" name="attr_initSheet" value="1"/>
<input type="hidden" name="attr_initHp" value="1"/>
<input type="hidden" name="attr_initFate" value="1"/>
<!--spacer so scrollbar does not disappear-->
<div style="width:1px; height:600px; min-height:600px;position:absolute;left:1px;">&nbsp;</div>
<header>
<div class="sheet-table-row">
<label class="sheet-table-cell" style="width:22%;"><img src="https://s3.amazonaws.com/files.staging.d20.io/images/221093/hstj0O3XmZYDhA6tPiiJrA/med.png" alt="Hawkmoon Logo" style="max-height: 100px;" /></label>
<label class="sheet-cell-label-lg" style="width: 15%;"><span data-i18n="character-name">Character Name</span><input name="attr_character_name" type="text" data-i18n-placeholder="character-name-place" placeholder="Character Name" /></label>
<label class="sheet-cell-label-lg" style="width: 15%;"><span data-i18n="player-name">Player Name</span><input name="attr_player-name" type="text" data-i18n-placeholder="player-name-place" placeholder="Player Name" /></label>
</div>
</header>
<nav role="navigation" aria-label="Main navigation hide and show sections." data-i18n-aria-label="nav-main-desc">
<input type="checkbox" class="sheet-tab1 sheet-pagetab1" name="attr_tab" value="1" style="display:none;" />
<input type="checkbox" class="sheet-tab2 sheet-pagetab2" name="attr_tab" value="2" style="display:none;" />
<input type="checkbox" class="sheet-tab3 sheet-pagetab3" name="attr_tab" value="3" style="display:none;" />
<input type="checkbox" class="sheet-tab4 sheet-pagetab4" name="attr_tab" value="4" style="display:none;" />
<input type="checkbox" class="sheet-tab5 sheet-pagetab5" name="attr_tab" value="5" style="display:none;" />
<input type="checkbox" class="sheet-tab6 sheet-pagetab6" name="attr_tab" value="6" style="display:none;" />
<input type="checkbox" class="sheet-tab7 sheet-pagetab7" name="attr_tab" value="7" style="display:none;" />
<div class="sheet-mainnav sheet-tabs">
<label class="sheet-tab sheet-tab1" style="width:12%;"><span data-i18n="page-character">Character</span><input type="radio" class="sheet-tab" name="attr_tab" value="1" checked="checked" /></label>
<label class="sheet-tab sheet-tab2" style="width:15%;"><span data-i18n="page-skills">Skills</span><input type="radio" class="sheet-tab" name="attr_tab" value="2" /></label>
<label class="sheet-tab sheet-tab3" style="width:20%;"><span data-i18n="page-weapons-equipments">Weapons & Equipments</span><input type="radio" class="sheet-tab" name="attr_tab" value="3" /></label>
<label class="sheet-tab sheet-tab4" style="width:20%;"><span data-i18n="page-spells-traits">Spells & Traits</span><input type="radio" class="sheet-tab" name="attr_tab" value="4" /></label>
<label class="sheet-tab sheet-tab5" style="width:10%;"><span data-i18n="page-mount">Mount</span><input type="radio" class="sheet-tab" name="attr_tab" value="5" /></label>
<label class="sheet-tab sheet-tab6" style="width:10%;"><span data-i18n="page-notes">Notes</span><input type="radio" class="sheet-tab" name="attr_tab" value="6" /></label>
<label class="sheet-tab sheet-tab7" style="width:5%;"><span data-i18n-title="page-config" title="Configuration" class="sheet-pictos">y</span><input type="radio" class="sheet-tab" name="attr_tab" value="7" /></label>
</div>
</nav>
<main role="main">
<div class="sheet-main">
<section role="region" aria-label="Character" data-i18n-aria-label="page-character-aria">
<div class="sheet-section sheet-section-character">
<br/>
<!-- CHARACTER DESCRIPTION -->
<div class="sheet-section">
<div class="sheet-h2-section">
<div class="sheet-nontable sheet-sect" style="border:1px solid black;">
<span class="sheet-nontable-name" data-i18n="character-desc">Character Description</span>
<label class="sheet-small-label2" style="width: 20%;">
<input name="attr_character_name" type="text" data-i18n-placeholder="character-name-place" placeholder="Character Name" />
<span data-i18n="character-name">Character Name</span>
</label>
<label class="sheet-small-label2" style="width: 27%;">
<input name="attr_cultural_background" type="text" data-i18n-placeholder="cultural-background-place" placeholder="Character Cultural Background" />
<span data-i18n="cultural-background">Cultural Background</span>
</label>
<label class="sheet-small-label2" style="width: 27%;">
<input name="attr_regional_background" type="text" data-i18n-placeholder="regional-background-place" placeholder="Character Regional Background" />
<span data-i18n="regional-background">Regional Background</span>
</label>
<label class="sheet-small-label2" style="width: 15%;">
<input name="attr_profession" type="text" data-i18n-placeholder="profession-place" placeholder="Character Profession" />
<span data-i18n="profession">Profession</span>
</label>
</div>
</div>
</div>
<br/>
<!-- CHARACTER CHARACTERISTICS -->
<div class="sheet-section">
<div class="sheet-h2-section">
<div class="sheet-nontable sheet-sect" style="border:1px solid black;">
<span class="sheet-nontable-name" data-i18n="character-characteristics-desc">Characteristics</span>
<label class="sheet-small-label2" style="width: 10%;"><input name="attr_str" type="number" title="@{str}" /><span data-i18n="STR">FOR</span></label>
<label class="sheet-small-label2" style="width: 10%;"><input name="attr_con" type="number" title="@{con}" /><span data-i18n="CON">CON</span></label>
<label class="sheet-small-label2" style="width: 10%;"><input name="attr_dex" type="number" title="@{dex}" /><span data-i18n="DEX">DEX</span></label>
<label class="sheet-small-label2" style="width: 10%;"><input name="attr_siz" type="number" title="@{siz}" /><span data-i18n="SIZ">SIZ</span></label>
<label class="sheet-small-label2" style="width: 10%;"><input name="attr_int" type="number" title="@{int}" /><span data-i18n="INT">INT</span></label>
<label class="sheet-small-label2" style="width: 10%;"><input name="attr_pow" type="number" title="@{pow}" /><span data-i18n="POW">POW</span></label>
<label class="sheet-small-label2" style="width: 10%;"><input name="attr_cha" type="number" title="@{cha}" /><span data-i18n="CHA">CHA</span></label>
</div>
</div>
</div>
<br/>
<!-- CHARACTER ATTRIBUTES -->
<div class="sheet-section">
<div class="sheet-h2-section">
<div class="sheet-nontable sheet-sect" style="border:1px solid black;">
<span class="sheet-nontable-name" data-i18n="character-attributes-desc">Character Attributes</span>
<label class="sheet-small-label2" style="width: 10%;">
<input name="attr_ca" type="number" readonly="readonly" data-i18n-title="combat-action-title" title="Combat Actions - @{ca}" />
<span data-i18n="ca">CA</span>
</label>
<label class="sheet-small-label2" style="width: 10%;">
<input name="attr_dmg-mod" type="text" style="text-align: center;" readonly="readonly" data-i18n-title="damage-modifier-title" title="Damage Modifier - @{dmg-mod}" />
<span data-i18n="dm">Dmg Mod.</span>
</label>
<label class="sheet-small-label2" style="width: 10%;">
<input name="attr_sr" type="number" data-i18n-title="strike-rank-title" title="Strike Rank - @{sr}" />
<button data-i18n-title="sr-initiative-title" title="Launch Initiative (select your token before)" class="sheet-text-button" type="roll" name="roll_sr-check" value="@{PC-whisper} [[1d10+@{sr}+(@{dex}/100)&{tracker}]]"><span style="vertical-align: text-bottom; color: white;" data-i18n="strike-rank">SR</span></button>
</label>
<label class="sheet-small-label2" style="width: 10%;">
<input name="attr_mov" type="number" data-i18n-title="movement-title" title="Movement - @{mov}" />
<span data-i18n="mov">MOV</span>
</label>
<label class="sheet-small-label2" style="width: 10%;">
<input name="attr_rep" type="number" data-i18n-title="reputation-title" title="Reputation - @{rep}" />
<span data-i18n="rep">REP</span>
</label>
<label class="sheet-small-label2" style="width: 30%;"></label>
<label class="sheet-small-label2" style="width: 12%;"><span data-i18n="fate-point">Fate Points:</span></label>
<label class="sheet-small-label2" style="width: 10%;">
<input name="attr_fate-points" type="number" data-i18n-title="fate-point-title" title="Current Fate Points - @{fate-points}" />
<span data-i18n="current">Current</span>
</label>
<label class="sheet-small-label2" style="width: 10%;">
<input name="attr_fate-points-total" type="number" data-i18n-title="fate-point-used-title" title="Total Fate Points - @{fate-points-total}" />
<span data-i18n="total">Total</span>
</label>
<label class="sheet-small-label2" style="width: 45%;"></label>
<label class="sheet-small-label2" style="width: 12%;"><span data-i18n="focus-points">Focus Points:</span></label>
<label class="sheet-small-label2" style="width: 10%;">
<input name="attr_focus-points" type="number" data-i18n-title="focus-point-title" title="Focus Points - @{focus-points}" />
<span data-i18n="current">Current</span>
</label>
<label class="sheet-small-label2" style="width: 10%;">
<input name="attr_focus-points_max" type="number" readonly="readonly" data-i18n-title="focus-point-max-title" title="Max Focus Points - @{focus-points_max}" />
<span data-i18n="max">Max</span>
</label>
<label class="sheet-small-label2" style="width: 45%;"></label>
<label class="sheet-small-label2" style="width: 12%;"><span data-i18n="improvement-rolls">Improvement Rolls:</span></label>
<label class="sheet-small-label2" style="width: 10%;">
<input name="attr_improvement-rolls" type="number" data-i18n-title="improvement-rolls-title" title="Current Character Improvement Rolls" />
<span data-i18n="current">Current</span>
</label>
</div>
</div>
</div>
<br/>
<!-- LEGENDARY ABILITIES -->
<div class="sheet-section">
<div class="sheet-h2-section">
<div class="sheet-nontable sheet-sect">
<div class="sheet-divbox sheet-repeating-sect">
<div class="sheet-header sheet-text-center" style="width:100%;"><span data-i18n="legendary-abilities">Legendary Abilities</span></div>
<br/>
<div class="sheet-repeating-fields">
<fieldset class="repeating_legendary-abilities">
<div style="border-spacing:2px; border-collapse:separate; margin:2px;">
<span class="sheet-small-label2" style="width: 29%;">
<input type="text" name="attr_ability-name" data-i18n-placeholder="ability-name-place" placeholder="Ability Name" />
<span data-i18n="ability">Ability</span>
</span>
<span class="sheet-small-label2" style="width: 65%;">
<input type="text" name="attr_ability-effect" data-i18n-placeholder="ability-effect-place" placeholder="Ability Effect" />
<span data-i18n="effect">Effect</span>
</span>
</div>
</fieldset>
</div>
</div>
</div>
</div>
</div>
<br/>
</div>
</section>
<section role="region" aria-label="Skills" data-i18n-aria-label="page-skills-aria">
<div class="sheet-section sheet-section-skills">
<div class="sheet-header sheet-text-center"><span data-i18n="basic-skills">Basic Skills</span></div>
<br/>
<div class="sheet-rTable" data-i18n-list="basic-skills-list">
<div>
<div class="sheet-rTableRow">
<div class="sheet-rTableHead">
<span data-i18n="basic-skills">Basic Skills</span>
</div>
<div class="sheet-rTableHead">
<span data-i18n="characteristic-s">Characteristic(s)</span>
</div>
<div class="sheet-rTableHead">
<span data-i18n="base-score">Base Score</span>
</div>
<div class="sheet-rTableHead">
<span data-i18n="mod-score">Mod Score</span>
</div>
<div class="sheet-rTableHead">
<span data-i18n="current-score">Current Score</span>
</div>
<div class="sheet-rTableHead">
&nbsp;
</div>
</div>
<div class="sheet-rTableRow" data-i18n-list-item="acrobatics-cat">
<div class="sheet-rTableCell">
<span data-i18n="acrobatics">Acrobatics</span>
</div>
<div class="sheet-rTableCell">
<span data-i18n="DEX">DEX</span>
</div>
<div class="sheet-rTableCell">
<input name="attr_acrobatics-base" readonly="readonly" type="number" title="@{acrobatics-base}" />
</div>
<div class="sheet-rTableCell">
<input name="attr_acrobatics-mod" type="number" title="@{acrobatics-mod}" />
</div>
<div class="sheet-rTableCell">
<input name="attr_acrobatics" readonly="readonly" type="number" data-i18n-title="acrobatics-title" title="Armor Penalty included - @{acrobatics}" />
</div>
<div class="sheet-rTableCell">
<button type="roll" value="@{PC-whisper} &{template:hm_skill} {{character_name=@{character_name}}} {{character_id=@{character_id}}} {{skill_name=^{acrobatics}}} {{skill_value=[[@{acrobatics}+?{Malus/Bonus|0}]]}} {{diceroll=[[1d100cs<10cf>100]]}}" name="roll_acrobatics-check" />
</div>
</div>
<div class="sheet-rTableRow" data-i18n-list-item="athletics-cat">
<div class="sheet-rTableCell">
<span data-i18n="athletics">Athletics</span>
</div>
<div class="sheet-rTableCell">
<span data-i18n="STR">STR</span>+<span data-i18n="DEX">DEX</span>
</div>
<div class="sheet-rTableCell">
<input name="attr_athletics-base" readonly="readonly" type="number" title="@{athletics-base}" />
</div>
<div class="sheet-rTableCell">
<input name="attr_athletics-mod" type="number" title="@{athletics-mod}" />
</div>
<div class="sheet-rTableCell">
<input name="attr_athletics" readonly="readonly" type="number" data-i18n-title="athletics-title" title="Armor Penalty included - @{athletics}" />
</div>
<div class="sheet-rTableCell">
<button type="roll" value="@{PC-whisper} &{template:hm_skill} {{character_name=@{character_name}}} {{character_id=@{character_id}}} {{skill_name=^{athletics}}} {{skill_value=[[@{athletics}+?{Malus/Bonus|0}]]}} {{diceroll=[[1d100cs<10cf>100]]}}" name="roll_athletics-check" />
</div>
</div>
<div class="sheet-rTableRow" data-i18n-list-item="boating-cat">
<div class="sheet-rTableCell">
<span data-i18n="boating">Boating</span>
</div>
<div class="sheet-rTableCell">
<span data-i18n="STR">STR</span>
</div>
<div class="sheet-rTableCell">
<input name="attr_boating-base" readonly="readonly" type="number" title="@{boating-base}" />
</div>
<div class="sheet-rTableCell">
<input name="attr_boating-mod" type="number" title="@{boating-mod}" />
</div>
<div class="sheet-rTableCell">
<input name="attr_boating" readonly="readonly" type="number" title="@{boating}" />
</div>
<div class="sheet-rTableCell">
<button type="roll" value="@{PC-whisper} &{template:hm_skill} {{character_name=@{character_name}}} {{character_id=@{character_id}}} {{skill_name=^{boating}}} {{skill_value=[[@{boating}+?{Malus/Bonus|0}]]}} {{diceroll=[[1d100cs<10cf>100]]}}" name="roll_boating-check" />
</div>
</div>
<div class="sheet-rTableRow" data-i18n-list-item="dodge-cat">
<div class="sheet-rTableCell">
<span data-i18n="dodge">Dodge</span>
</div>
<div class="sheet-rTableCell">
10+<span data-i18n="DEX">DEX</span>+<span data-i18n="SIZ">SIZ</span>
</div>
<div class="sheet-rTableCell">
<input name="attr_dodge-base" readonly="readonly" type="number" title="@{dodge-base}" />
</div>
<div class="sheet-rTableCell">
<input name="attr_dodge-mod" type="number" title="@{dodge-mod}" />
</div>
<div class="sheet-rTableCell">
<input name="attr_dodge" readonly="readonly" type="number" data-i18n-title="dodge-title" title="Armor Penalty included - @{dodge}" />
</div>
<div class="sheet-rTableCell">
<button type="roll" value="@{PC-whisper} &{template:hm_skill} {{character_name=@{character_name}}} {{character_id=@{character_id}}} {{skill_name=^{dodge}}} {{skill_value=[[@{dodge}+?{Malus/Bonus|0}]]}} {{diceroll=[[1d100cs<10cf>100]]}}" name="roll_dodge-check" />
</div>
</div>
<div class="sheet-rTableRow" data-i18n-list-item="driving-cat">
<div class="sheet-rTableCell">
<span data-i18n="driving">Driving</span>
</div>
<div class="sheet-rTableCell">
10+<span data-i18n="POW">POW</span>
</div>
<div class="sheet-rTableCell">
<input name="attr_driving-base" readonly="readonly" type="number" title="@{driving-base}" />
</div>
<div class="sheet-rTableCell">
<input name="attr_driving-mod" type="number" title="@{driving-mod}" />
</div>
<div class="sheet-rTableCell">
<input name="attr_driving" readonly="readonly" type="number" title="@{driving}" />
</div>
<div class="sheet-rTableCell">
<button type="roll" value="@{PC-whisper} &{template:hm_skill} {{character_name=@{character_name}}} {{character_id=@{character_id}}} {{skill_name=^{driving}}} {{skill_value=[[@{driving}+?{Malus/Bonus|0}]]}} {{diceroll=[[1d100cs<10cf>100]]}}" name="roll_driving-check" />
</div>
</div>
<div class="sheet-rTableRow" data-i18n-list-item="evaluate-cat">
<div class="sheet-rTableCell">
<span data-i18n="evaluate">Evaluate</span>
</div>
<div class="sheet-rTableCell">
<span data-i18n="INT">INT</span>
</div>
<div class="sheet-rTableCell">
<input name="attr_evaluate-base" readonly="readonly" type="number" title="@{evaluate-base}" />
</div>
<div class="sheet-rTableCell">
<input name="attr_evaluate-mod" type="number" title="@{evaluate-mod}" />
</div>
<div class="sheet-rTableCell">
<input name="attr_evaluate" readonly="readonly" type="number" title="@{evaluate}" />
</div>
<div class="sheet-rTableCell">
<button type="roll" value="@{PC-whisper} &{template:hm_skill} {{character_name=@{character_name}}} {{character_id=@{character_id}}} {{skill_name=^{evaluate}}} {{skill_value=[[@{evaluate}+?{Malus/Bonus|0}]]}} {{diceroll=[[1d100cs<10cf>100]]}}" name="roll_evaluate-check" />
</div>
</div>
<div class="sheet-rTableRow" data-i18n-list-item="first-aid-cat">
<div class="sheet-rTableCell">
<span data-i18n="first-aid">First Aid</span>
</div>
<div class="sheet-rTableCell">
<span data-i18n="INT">INT</span>
</div>
<div class="sheet-rTableCell">
<input name="attr_first-aid-base" readonly="readonly" type="number" title="@{first-aid-base}" />
</div>
<div class="sheet-rTableCell">
<input name="attr_first-aid-mod" type="number" title="@{first-aid-mod}" />
</div>
<div class="sheet-rTableCell">
<input name="attr_first-aid" readonly="readonly" type="number" title="@{first-aid}" />
</div>
<div class="sheet-rTableCell">
<button type="roll" value="@{PC-whisper} &{template:hm_skill} {{character_name=@{character_name}}} {{character_id=@{character_id}}} {{skill_name=^{first-aid}}} {{skill_value=[[@{first-aid}+?{Malus/Bonus|0}]]}} {{diceroll=[[1d100cs<10cf>100]]}}" name="roll_first-aid-check" />
</div>
</div>
<div class="sheet-rTableRow" data-i18n-list-item="influence-cat">
<div class="sheet-rTableCell">
<span data-i18n="influence">Influence</span>
</div>
<div class="sheet-rTableCell">
10+<span data-i18n="CHA">CHA</span>
</div>
<div class="sheet-rTableCell">
<input name="attr_influence-base" readonly="readonly" type="number" title="@{influence-base}" />
</div>
<div class="sheet-rTableCell">
<input name="attr_influence-mod" type="number" title="@{influence-mod}" />
</div>
<div class="sheet-rTableCell">
<input name="attr_influence" readonly="readonly" type="number" title="@{influence}" />
</div>
<div class="sheet-rTableCell">
<button type="roll" value="@{PC-whisper} &{template:hm_skill} {{character_name=@{character_name}}} {{character_id=@{character_id}}} {{skill_name=^{influence}}} {{skill_value=[[@{influence}+?{Malus/Bonus|0}]]}} {{diceroll=[[1d100cs<10cf>100]]}}" name="roll_influence-check" />
</div>
</div>
<div class="sheet-rTableRow" data-i18n-list-item="lore-animal-cat">
<div class="sheet-rTableCell">
<span data-i18n="lore-animal">Lore (Animal)</span>
</div>
<div class="sheet-rTableCell">
<span data-i18n="INT">INT</span>
</div>
<div class="sheet-rTableCell">
<input name="attr_lore-animal-base" readonly="readonly" type="number" title="@{lore-animal-base}" />
</div>
<div class="sheet-rTableCell">
<input name="attr_lore-animal-mod" type="number" title="@{lore-animal-mod}" />
</div>
<div class="sheet-rTableCell">
<input name="attr_lore-animal" readonly="readonly" type="number" title="@{lore-animal}" />
</div>
<div class="sheet-rTableCell">
<button type="roll" value="@{PC-whisper} &{template:hm_skill} {{character_name=@{character_name}}} {{character_id=@{character_id}}} {{skill_name=^{lore-animal}}} {{skill_value=[[@{lore-animal}+?{Malus/Bonus|0}]]}} {{diceroll=[[1d100cs<10cf>100]]}}" name="roll_lore-animal-check" />
</div>
</div>
<div class="sheet-rTableRow" data-i18n-list-item="lore-plant-cat">
<div class="sheet-rTableCell">
<span data-i18n="lore-plant">Lore (Plant)</span>
</div>
<div class="sheet-rTableCell">
<span data-i18n="INT">INT</span>
</div>
<div class="sheet-rTableCell">
<input name="attr_lore-plant-base" readonly="readonly" type="number" title="@{lore-plant-base}" />
</div>
<div class="sheet-rTableCell">
<input name="attr_lore-plant-mod" type="number" title="@{lore-plant-mod}" />
</div>
<div class="sheet-rTableCell">
<input name="attr_lore-plant" readonly="readonly" type="number" title="@{lore-plant}" />
</div>
<div class="sheet-rTableCell">
<button type="roll" value="@{PC-whisper} &{template:hm_skill} {{character_name=@{character_name}}} {{character_id=@{character_id}}} {{skill_name=^{lore-plant}}} {{skill_value=[[@{lore-plant}+?{Malus/Bonus|0}]]}} {{diceroll=[[1d100cs<10cf>100]]}}" name="roll_lore-plant-check" />
</div>
</div>
<div class="sheet-rTableRow" data-i18n-list-item="lore-world-cat">
<div class="sheet-rTableCell">
<span data-i18n="lore-world">Lore (World)</span>
</div>
<div class="sheet-rTableCell">
<span data-i18n="INT">INT</span>
</div>
<div class="sheet-rTableCell">
<input name="attr_lore-world-base" readonly="readonly" type="number" title="@{lore-world-base}" />
</div>
<div class="sheet-rTableCell">
<input name="attr_lore-world-mod" type="number" title="@{lore-world-mod}" />
</div>
<div class="sheet-rTableCell">
<input name="attr_lore-world" readonly="readonly" type="number" title="@{lore-world}" />
</div>
<div class="sheet-rTableCell">
<button type="roll" value="@{PC-whisper} &{template:hm_skill} {{character_name=@{character_name}}} {{character_id=@{character_id}}} {{skill_name=^{lore-world}}} {{skill_value=[[@{lore-world}+?{Malus/Bonus|0}]]}} {{diceroll=[[1d100cs<10cf>100]]}}" name="roll_lore-world-check" />
</div>
</div>
<div class="sheet-rTableRow" data-i18n-list-item="perception-cat">
<div class="sheet-rTableCell">
<span data-i18n="perception">Perception</span>
</div>
<div class="sheet-rTableCell">
<span data-i18n="INT">INT</span>+<span data-i18n="POW">POW</span>
</div>
<div class="sheet-rTableCell">
<input name="attr_perception-base" readonly="readonly" type="number" title="@{perception-base}" />
</div>
<div class="sheet-rTableCell">
<input name="attr_perception-mod" type="number" title="@{perception-mod}" />
</div>
<div class="sheet-rTableCell">
<input name="attr_perception" readonly="readonly" type="number" title="@{perception}" />
</div>
<div class="sheet-rTableCell">
<button type="roll" value="@{PC-whisper} &{template:hm_skill} {{character_name=@{character_name}}} {{character_id=@{character_id}}} {{skill_name=^{perception}}} {{skill_value=[[@{perception}+?{Malus/Bonus|0}]]}} {{diceroll=[[1d100cs<10cf>100]]}}" name="roll_perception-check" />
</div>
</div>
<div class="sheet-rTableRow" data-i18n-list-item="persistence-cat">
<div class="sheet-rTableCell">
<span data-i18n="persistence">Persistence</span>
</div>
<div class="sheet-rTableCell">
40+<span data-i18n="CHA">CHA</span>+<span data-i18n="POW">POW</span>
</div>
<div class="sheet-rTableCell">
<input name="attr_persistence-base" readonly="readonly" type="number" title="@{persistence-base}" />
</div>
<div class="sheet-rTableCell">
<input name="attr_persistence-mod" type="number" title="@{persistence-mod}" />
</div>
<div class="sheet-rTableCell">
<input name="attr_persistence" readonly="readonly" type="number" title="@{persistence}" />
</div>
<div class="sheet-rTableCell">
<button type="roll" value="@{PC-whisper} &{template:hm_skill} {{character_name=@{character_name}}} {{character_id=@{character_id}}} {{skill_name=^{persistence}}} {{skill_value=[[@{persistence}+?{Malus/Bonus|0}]]}} {{diceroll=[[1d100cs<10cf>100]]}}" name="roll_persistence-check" />
</div>
</div>
<div class="sheet-rTableRow" data-i18n-list-item="resilience-cat">
<div class="sheet-rTableCell">
<span data-i18n="resilience">Resilience</span>
</div>
<div class="sheet-rTableCell">
40+<span data-i18n="CON">CON</span>+<span data-i18n="POW">POW</span>
</div>
<div class="sheet-rTableCell">
<input name="attr_resilience-base" readonly="readonly" type="number" title="@{resilience-base}" />
</div>
<div class="sheet-rTableCell">
<input name="attr_resilience-mod" type="number" title="@{resilience-mod}" />
</div>
<div class="sheet-rTableCell">
<input name="attr_resilience" readonly="readonly" type="number" title="@{resilience}" />
</div>
<div class="sheet-rTableCell">
<button type="roll" value="@{PC-whisper} &{template:hm_skill} {{character_name=@{character_name}}} {{character_id=@{character_id}}} {{skill_name=^{resilience}}} {{skill_value=[[@{resilience}+?{Malus/Bonus|0}]]}} {{diceroll=[[1d100cs<10cf>100]]}}" name="roll_resilience-check" />
</div>
</div>
<div class="sheet-rTableRow" data-i18n-list-item="riding-cat">
<div class="sheet-rTableCell">
<span data-i18n="riding">Riding</span>
</div>
<div class="sheet-rTableCell">
<span data-i18n="DEX">DEX</span>+<span data-i18n="POW">POW</span>
</div>
<div class="sheet-rTableCell">
<input name="attr_riding-base" readonly="readonly" type="number" title="@{riding-base}" />
</div>
<div class="sheet-rTableCell">
<input name="attr_riding-mod" type="number" title="@{riding-mod}" />
</div>
<div class="sheet-rTableCell">
<input name="attr_riding" readonly="readonly" type="number" data-i18n-title="riding-title" title="Armor Penalty included - @{riding}" />
</div>
<div class="sheet-rTableCell">
<button type="roll" value="@{PC-whisper} &{template:hm_skill} {{character_name=@{character_name}}} {{character_id=@{character_id}}} {{skill_name=^{riding}}} {{skill_value=[[@{riding}+?{Malus/Bonus|0}]]}} {{diceroll=[[1d100cs<10cf>100]]}}" name="roll_riding-check" />
</div>
</div>
<div class="sheet-rTableRow" data-i18n-list-item="sing-cat">
<div class="sheet-rTableCell">
<span data-i18n="sing">Sing</span>
</div>
<div class="sheet-rTableCell">
<span data-i18n="CHA">CHA</span>
</div>
<div class="sheet-rTableCell">
<input name="attr_sing-base" readonly="readonly" type="number" title="@{sing-base}" />
</div>
<div class="sheet-rTableCell">
<input name="attr_sing-mod" type="number" title="@{sing-mod}" />
</div>
<div class="sheet-rTableCell">
<input name="attr_sing" readonly="readonly" type="number" title="@{sing}" />
</div>
<div class="sheet-rTableCell">
<button type="roll" value="@{PC-whisper} &{template:hm_skill} {{character_name=@{character_name}}} {{character_id=@{character_id}}} {{skill_name=^{sing}}} {{skill_value=[[@{sing}+?{Malus/Bonus|0}]]}} {{diceroll=[[1d100cs<10cf>100]]}}" name="roll_sing-check" />
</div>
</div>
<div class="sheet-rTableRow" data-i18n-list-item="sleight-cat">
<div class="sheet-rTableCell">
<span data-i18n="sleight">Sleight</span>
</div>
<div class="sheet-rTableCell">
<span data-i18n="DEX">DEX</span>
</div>
<div class="sheet-rTableCell">
<input name="attr_sleight-base" readonly="readonly" type="number" title="@{sleight-base}" />
</div>
<div class="sheet-rTableCell">
<input name="attr_sleight-mod" type="number" title="@{sleight-mod}" />
</div>
<div class="sheet-rTableCell">
<input name="attr_sleight" readonly="readonly" type="number" data-i18n-title="sleight-title" title="Armor Penalty included - @{sleight}" />
</div>
<div class="sheet-rTableCell">
<button type="roll" value="@{PC-whisper} &{template:hm_skill} {{character_name=@{character_name}}} {{character_id=@{character_id}}} {{skill_name=^{sleight}}} {{skill_value=[[@{sleight}+?{Malus/Bonus|0}]]}} {{diceroll=[[1d100cs<10cf>100]]}}" name="roll_sleight-check" />
</div>
</div>
<div class="sheet-rTableRow" data-i18n-list-item="stealth-cat">
<div class="sheet-rTableCell">
<span data-i18n="stealth">Stealth</span>
</div>
<div class="sheet-rTableCell">
10+<span data-i18n="DEX">DEX</span>-<span data-i18n="SIZ">SIZ</span>
</div>
<div class="sheet-rTableCell">
<input name="attr_stealth-base" readonly="readonly" type="number" title="@{stealth-base}" />
</div>
<div class="sheet-rTableCell">
<input name="attr_stealth-mod" type="number" title="@{stealth-mod}" />
</div>
<div class="sheet-rTableCell">
<input name="attr_stealth" readonly="readonly" type="number" data-i18n-title="stealth-title" title="Armor Penalty included - @{stealth}" />
</div>
<div class="sheet-rTableCell">
<button type="roll" value="@{PC-whisper} &{template:hm_skill} {{character_name=@{character_name}}} {{character_id=@{character_id}}} {{skill_name=^{stealth}}} {{skill_value=[[@{stealth}+?{Malus/Bonus|0}]]}} {{diceroll=[[1d100cs<10cf>100]]}}" name="roll_stealth-check" />
</div>
</div>
<div class="sheet-rTableRow" data-i18n-list-item="throwing-cat">
<div class="sheet-rTableCell">
<span data-i18n="throwing">Throwing</span>
</div>
<div class="sheet-rTableCell">
<span data-i18n="DEX">DEX</span>
</div>
<div class="sheet-rTableCell">
<input name="attr_throwing-base" readonly="readonly" type="number" title="@{throwing-base}" />
</div>
<div class="sheet-rTableCell">
<input name="attr_throwing-mod" type="number" title="@{throwing-mod}" />
</div>
<div class="sheet-rTableCell">
<input name="attr_throwing" readonly="readonly" type="number" data-i18n-title="throwing-title" title="Armor Penalty included - @{throwing}" />
</div>
<div class="sheet-rTableCell">
<button type="roll" value="@{PC-whisper} &{template:hm_skill} {{character_name=@{character_name}}} {{character_id=@{character_id}}} {{skill_name=^{throwing}}} {{skill_value=[[@{throwing}+?{Malus/Bonus|0}]]}} {{diceroll=[[1d100cs<10cf>100]]}}" name="roll_throwing-check" />
</div>
</div>
<div class="sheet-rTableRow" data-i18n-list-item="unarmed-cat">
<div class="sheet-rTableCell">
<span data-i18n="unarmed">Unarmed</span>
</div>
<div class="sheet-rTableCell">
<span data-i18n="STR">STR</span>
</div>
<div class="sheet-rTableCell">
<input name="attr_unarmed-base" readonly="readonly" type="number" title="@{unarmed-base}" />
</div>
<div class="sheet-rTableCell">
<input name="attr_unarmed-mod" type="number" title="@{unarmed-mod}" />
</div>
<div class="sheet-rTableCell">
<input name="attr_unarmed" readonly="readonly" type="number" title="@{unarmed}" />
</div>
<div class="sheet-rTableCell">
<button type="roll" value="@{PC-whisper} &{template:hm_skill} {{character_name=@{character_name}}} {{character_id=@{character_id}}} {{skill_name=^{unarmed}}} {{skill_value=[[@{unarmed}+?{Malus/Bonus|0}]]}} {{diceroll=[[1d100cs<10cf>100]]}}" name="roll_unarmed-check" />
</div>
</div>
</div>
</div>
<br/>
<div class="sheet-header sheet-text-center"><span data-i18n="weapon-skills">Weapon Skills</span></div>
<br/>
<div class="sheet-rTable" data-i18n-list="weapon-skills-list">
<div>
<div class="sheet-rTableRow">
<div class="sheet-rTableHead">
<span data-i18n="weapon-skills">Weapon Skills</span>
</div>
<div class="sheet-rTableHead">
<span data-i18n="characteristic-s">Characteristic(s)</span>
</div>
<div class="sheet-rTableHead">
<span data-i18n="base-score">Base Score</span>
</div>
<div class="sheet-rTableHead">
<span data-i18n="mod-score">Mod Score</span>
</div>
<div class="sheet-rTableHead">
<span data-i18n="current-score">Current Score</span>
</div>
<div class="sheet-rTableHead">
&nbsp;
</div>
</div>
<div class="sheet-rTableRow" data-i18n-list-item="basic-close-combat-cat">
<div class="sheet-rTableCell">
<span data-i18n="basic-close-combat">Basic Close Combat</span>
</div>
<div class="sheet-rTableCell">
<span data-i18n="STR">STR</span>+<span data-i18n="DEX">DEX</span>
</div>
<div class="sheet-rTableCell">
<input name="attr_basic-close-combat-base" readonly="readonly" type="number" title="@{basic-close-combat-base}" />
</div>
<div class="sheet-rTableCell">
<input name="attr_basic-close-combat-mod" type="number" title="@{basic-close-combat-mod}" />
</div>
<div class="sheet-rTableCell">
<input name="attr_basic-close-combat" readonly="readonly" type="number" data-i18n-title="basic-close-combat-title" title="Armor Penalty included - @{basic-close-combat}" />
</div>
<div class="sheet-rTableCell">
<button type="roll" value="@{PC-whisper} &{template:hm_skill} {{character_name=@{character_name}}} {{character_id=@{character_id}}} {{skill_name=^{basic-close-combat}}} {{skill_value=[[@{basic-close-combat}+?{Malus/Bonus|0}]]}} {{diceroll=[[1d100cs<10cf>100]]}}" name="roll_basic-close-combat-check" />
</div>
</div>
<div class="sheet-rTableRow" data-i18n-list-item="basic-ranged-cat">
<div class="sheet-rTableCell">
<span data-i18n="basic-ranged">Basic Ranged</span>
</div>
<div class="sheet-rTableCell">
<span data-i18n="DEX">DEX</span>
</div>
<div class="sheet-rTableCell">
<input name="attr_basic-ranged-base" readonly="readonly" type="number" title="@{basic-ranged-base}" />
</div>
<div class="sheet-rTableCell">
<input name="attr_basic-ranged-mod" type="number" title="@{basic-ranged-mod}" />
</div>
<div class="sheet-rTableCell">
<input name="attr_basic-ranged" readonly="readonly" type="number" data-i18n-title="basic-ranged-title" title="Armor Penalty included - @{basic-ranged}" />
</div>
<div class="sheet-rTableCell">
<button type="roll" value="@{PC-whisper} &{template:hm_skill} {{character_name=@{character_name}}} {{character_id=@{character_id}}} {{skill_name=^{basic-ranged}}} {{skill_value=[[@{basic-ranged}+?{Malus/Bonus|0}]]}} {{diceroll=[[1d100cs<10cf>100]]}}" name="roll_basic-ranged-check" />
</div>
</div>
</div>
</div>
<div class="sheet-nontable sheet-sect">
<div class="sheet-divbox sheet-repeating-sect" style="width: 73%; margin: auto;">
<div class="sheet-repeating-fields">
<fieldset class="repeating_weaponSkills">
<div style="border-spacing:2px; border-collapse:separate; margin:2px;">
<span class="sheet-small-label2 sheet-sect">
<input name="attr_weaponSkillName" type="text" data-i18n-placeholder="weapon-skill-name-place" placeholder="Weapon Skill Name" />
<span data-i18n="weapon-skill-name">Skill Name</span>
</span>
<span class="sheet-small-label2 sheet-sect">
<select name="attr_weaponSkillChar1" data-i18n-title="weapon-skill-characteristics-1-title" title="First Characteristics for Weapon Skill">
<option value="0" selected></option>
<option value="str" data-i18n="STR">STR</option>
<option value="con" data-i18n="CON">CON</option>
<option value="dex" data-i18n="DEX">DEX</option>
<option value="siz" data-i18n="SIZ">SIZ</option>
<option value="int" data-i18n="INT">INT</option>
<option value="pow" data-i18n="POW">POW</option>
<option value="cha" data-i18n="CHA">CHA</option>
</select>
<span data-i18n="characteristics-1">Ch. 1</span>
</span>
<span class="sheet-small-label2 sheet-sect">
<select name="attr_weaponSkillChar2" data-i18n-title="weapon-skill-characteristics-2-title" title="Second Characteristics for Weapon Skill">
<option value="0" selected></option>
<option value="str" data-i18n="STR">STR</option>
<option value="con" data-i18n="CON">CON</option>
<option value="dex" data-i18n="DEX">DEX</option>
<option value="siz" data-i18n="SIZ">SIZ</option>
<option value="int" data-i18n="INT">INT</option>
<option value="pow" data-i18n="POW">POW</option>
<option value="cha" data-i18n="CHA">CHA</option>
</select>
<span data-i18n="characteristics-2">Ch. 2</span>
</span>
<span class="sheet-small-label2 sheet-sect sheet-entry-vshort">
<input name="attr_weaponSkillBase" readonly="readonly" type="number" title="@{weaponSkillBase}" />
<span data-i18n="weapon-skill-score-base">Base</span>
</span>
<span class="sheet-small-label2 sheet-sect sheet-entry-vshort">
<input name="attr_weaponSkillMod" type="number" title="@{weaponSkillMod}" value="0" />
<span data-i18n="weapon-skill-mod">Mod.</span>
</span>
<span class="sheet-small-label2 sheet-sect sheet-entry-vshort">
<input name="attr_weaponSkill" readonly="readonly" type="number" data-i18n-title="weapon-skill-score-title" title="Armor Penalty included if DEX is involved - @{weaponSkill}" />
<span data-i18n="weapon-skill-score">Score</span>
</span>
<span class="sheet-small-label2 sheet-sect sheet-entry-vshort">
<button type="roll" value="@{PC-whisper} &{template:hm_skill} {{character_name=@{character_name}}} {{character_id=@{character_id}}} {{skill_name=@{weaponSkillName}}} {{skill_value=[[@{weaponSkill}+?{Malus/Bonus|0}]]}} {{diceroll=[[1d100cs<10cf>100]]}}" name="roll_weapon-skill-check" />
</span>
</div>
</fieldset>
</div>
</div>
</div>
<br/>
<div class="sheet-header sheet-text-center"><span data-i18n="advanced-skills">Advanced Skills</span></div>
<br/>
<div class="sheet-nontable sheet-sect">
<div class="sheet-divbox sheet-repeating-sect" style="width: 73%; margin: auto;">
<div class="sheet-repeating-fields">
<fieldset class="repeating_advancedSkills">
<div style="border-spacing:2px; border-collapse:separate; margin:2px;">
<span class="sheet-small-label2 sheet-sect">
<input name="attr_advancedSkillName" type="text" data-i18n-placeholder="advanced-skill-name-place" placeholder="Advanced Skill Name" />
<span data-i18n="advanced-skill-name">Skill Name</span>
</span>
<span class="sheet-small-label2 sheet-sect">
<select name="attr_advancedSkillChar1" data-i18n-title="advanced-skill-characteristics-1-title" title="First Characteristics for Advanced Skill">
<option value="0" selected></option>
<option value="str" data-i18n="STR">STR</option>
<option value="con" data-i18n="CON">CON</option>
<option value="dex" data-i18n="DEX">DEX</option>
<option value="siz" data-i18n="SIZ">SIZ</option>
<option value="int" data-i18n="INT">INT</option>
<option value="pow" data-i18n="POW">POW</option>
<option value="cha" data-i18n="CHA">CHA</option>
</select>
<span data-i18n="characteristics-1">Ch. 1</span>
</span>
<span class="sheet-small-label2 sheet-sect">
<select name="attr_advancedSkillChar2" data-i18n-title="advanced-skill-characteristics-2-title" title="First Characteristics for Advanced Skill">
<option value="0" selected></option>
<option value="str" data-i18n="STR">STR</option>
<option value="con" data-i18n="CON">CON</option>
<option value="dex" data-i18n="DEX">DEX</option>
<option value="siz" data-i18n="SIZ">SIZ</option>
<option value="int" data-i18n="INT">INT</option>
<option value="pow" data-i18n="POW">POW</option>
<option value="cha" data-i18n="CHA">CHA</option>
</select>
<span data-i18n="characteristics-2">Ch. 2</span>
</span>
<span class="sheet-small-label2 sheet-sect sheet-entry-vshort">
<input name="attr_advancedSkillBase" readonly="readonly" type="number" title="@{advancedSkillBase}" />
<span data-i18n="advanced-skill-score-base">Base</span>
</span>
<span class="sheet-small-label2 sheet-sect sheet-entry-vshort">
<input name="attr_advancedSkillMod" type="number" title="@{advancedSkillMod}" value="0" />
<span data-i18n="advanced-skill-mod">Mod.</span>
</span>
<span class="sheet-small-label2 sheet-sect sheet-entry-vshort">
<input name="attr_advancedSkill" readonly="readonly" type="number" data-i18n-title="advanced-skill-score-title" title="Armor Penalty included if DEX is involved - @{advancedSkill}" />
<span data-i18n="advanced-skill-score">Score</span>
</span>
<span class="sheet-small-label2 sheet-sect sheet-entry-vshort">
<button type="roll" value="@{PC-whisper} &{template:hm_skill} {{character_name=@{character_name}}} {{character_id=@{character_id}}} {{skill_name=@{advancedSkillName}}} {{skill_value=[[@{advancedSkill}+?{Malus/Bonus|0}]]}} {{diceroll=[[1d100cs<10cf>100]]}}" name="roll_advanced-skill-check" />
</span>
</div>
</fieldset>
</div>
</div>
</div>
<br/>
</div>
</section>
<section role="region" aria-label="Weapons & Equipments" data-i18n-aria-label="page-weapons-equipments-aria">
<div class="sheet-section sheet-section-weapons-equipments">
<input type="hidden" name="attr_total_armor_penalty" value="0" />
<input type="hidden" name="attr_total_enc_close_weapons" value="0" />
<input type="hidden" name="attr_total_enc_ranged_weapons" value="0" />
<input type="hidden" name="attr_total_enc_armors" value="0" />
<input type="hidden" name="attr_total_enc_items" value="0" />
<!-- CURRENCY -->
<div class="sheet-section">
<div class="sheet-h2-section">
<div class="sheet-nontable sheet-sect" style="border:1px solid black;">
<span class="sheet-nontable-name" data-i18n="currencies-desc">Currencies</span>
<label class="sheet-small-label2" style="width: 30%;"></label>
<label class="sheet-small-label2" style="width: 10%;">
<input name="attr_gold" type="number" data-i18n-title="gold-title" title="Gold (Pundstarleen)" />
<span data-i18n="gold">Gold</span>
</label>
<label class="sheet-small-label2" style="width: 10%;">
<input name="attr_silver" type="number" data-i18n-title="silver-title" title="Silver (Euo)" />
<span data-i18n="silver">Silver</span>
</label>
<label class="sheet-small-label2" style="width: 10%;">
<input name="attr_copper" type="number" data-i18n-title="copper-title" title="Copper (Penny)" />
<span data-i18n="copper">Copper</span>
</label>
</div>
</div>
</div>
<br/>
<!-- HIT LOCATION -->
<div class="sheet-nontable sheet-sect sheet-hit-location" style="border:1px solid black;">
<span class="sheet-nontable-name" data-i18n="hit-locations">Hit Locations</span>
<table class="sheet-table-hit-location">
<thead>
<tr>
<th class="sheet-border-right sheet-border-bottom">
D20
</th>
<th class="sheet-border-right sheet-border-bottom">
<span data-i18n="hit-location">Hit Location</span>
</th>
<th class="sheet-border-right sheet-border-bottom">
<span data-i18n="armor-ap">AP</span>
</th>
<th class="sheet-border-right sheet-border-bottom">
<span data-i18n="armor-ap_max">AP Max</span>
</th>
<th class="sheet-border-right sheet-border-bottom">
<span data-i18n="armor-hp">HP</span>
</th>
<th class="sheet-border-bottom">
<span data-i18n="armor-hp-max">HP Max</span>
</th>
</tr>
</thead>
<tbody>
<tr>
<td class="sheet-border-right sheet-border-bottom">
1-3
</td>
<td class="sheet-border-right sheet-border-bottom">
<span data-i18n="right-leg">Right Leg</span>
</td>
<td class="sheet-border-right sheet-border-bottom">
<input name="attr_right-leg-ap" type="number" data-i18n-title="right-leg-armor-point-title" title="Right Leg Armor Points" />
</td>
<td class="sheet-border-right sheet-border-bottom">
<input name="attr_right-leg-ap_max" type="number" data-i18n-title="right-leg-armor-point-max-title" title="Right Leg Max Armor Points" />
</td>
<td class="sheet-border-right sheet-border-bottom">
<input name="attr_right-leg-hp" type="number" data-i18n-title="right-leg-hit-point-title" title="Right Leg Hit Points" />
</td>
<td class="sheet-border-bottom">
<input name="attr_right-leg-hp_max" type="number" readonly="readonly" data-i18n-title="right-leg-hit-point-max-title" title="Right Leg Max Hit Points" />
</td>
</tr>
<tr>
<td class="sheet-border-right sheet-border-bottom">
4-6
</td>
<td class="sheet-border-right sheet-border-bottom">
<span data-i18n="left-leg">Left Leg</span>
</td>
<td class="sheet-border-right sheet-border-bottom">
<input name="attr_left-leg-ap" type="number" data-i18n-title="left-leg-armor-point-title" title="Left Leg Armor Points" />
</td>
<td class="sheet-border-right sheet-border-bottom">
<input name="attr_left-leg-ap_max" type="number" data-i18n-title="left-leg-armor-point-max-title" title="Left Leg Max Armor Points" />
</td>
<td class="sheet-border-right sheet-border-bottom">
<input name="attr_left-leg-hp" type="number" data-i18n-title="left-leg-hit-point-title" title="Left Leg Hit Points" />
</td>
<td class="sheet-border-bottom">
<input name="attr_left-leg-hp_max" type="number" readonly="readonly" data-i18n-title="left-leg-hit-point-max-title" title="Left Leg Max Hit Points" />
</td>
</tr>
<tr>
<td class="sheet-border-right sheet-border-bottom">
7-9
</td>
<td class="sheet-border-right sheet-border-bottom">
<span data-i18n="abdomen">Abdomen</span>
</td>
<td class="sheet-border-right sheet-border-bottom">
<input name="attr_abdomen-ap" type="number" data-i18n-title="abdomen-armor-point-title" title="Abdomen Armor Points" />
</td>
<td class="sheet-border-right sheet-border-bottom">
<input name="attr_abdomen-ap_max" type="number" data-i18n-title="abdomen-armor-point-max-title" title="Abdomen Max Armor Points" />
</td>
<td class="sheet-border-right sheet-border-bottom">
<input name="attr_abdomen-hp" type="number" data-i18n-title="abdomen-hit-point-title" title="Abdomen Hit Points" />
</td>
<td class="sheet-border-bottom">
<input name="attr_abdomen-hp_max" type="number" readonly="readonly" data-i18n-title="abdomen-hit-point-max-title" title="Abdomen Max Hit Points" />
</td>
</tr>
<tr>
<td class="sheet-border-right sheet-border-bottom">
10-12
</td>
<td class="sheet-border-right sheet-border-bottom">
<span data-i18n="chest">Chest</span>
</td>
<td class="sheet-border-right sheet-border-bottom">
<input name="attr_chest-ap" type="number" data-i18n-title="chest-armor-point-title" title="chest Armor Points" />
</td>
<td class="sheet-border-right sheet-border-bottom">
<input name="attr_chest-ap_max" type="number" data-i18n-title="chest-armor-point-max-title" title="chest Max Armor Points" />
</td>
<td class="sheet-border-right sheet-border-bottom">
<input name="attr_chest-hp" type="number" data-i18n-title="chest-hit-point-title" title="chest Hit Points" />
</td>
<td class="sheet-border-bottom">
<input name="attr_chest-hp_max" type="number" readonly="readonly" data-i18n-title="chest-hit-point-max-title" title="chest Max Hit Points" />
</td>
</tr>
<tr>
<td class="sheet-border-right sheet-border-bottom">
13-15
</td>
<td class="sheet-border-right sheet-border-bottom">
<span data-i18n="right-arm">Right Arm</span>
</td>
<td class="sheet-border-right sheet-border-bottom">
<input name="attr_right-arm-ap" type="number" data-i18n-title="right-arm-armor-point-title" title="Right Arm Armor Points" />
</td>
<td class="sheet-border-right sheet-border-bottom">
<input name="attr_right-arm-ap_max" type="number" data-i18n-title="right-arm-armor-point-max-title" title="Right Arm Max Armor Points" />
</td>
<td class="sheet-border-right sheet-border-bottom">
<input name="attr_right-arm-hp" type="number" data-i18n-title="right-arm-hit-point-title" title="Right Arm Hit Points" />
</td>
<td class="sheet-border-bottom">
<input name="attr_right-arm-hp_max" type="number" readonly="readonly" data-i18n-title="right-arm-hit-point-max-title" title="Right Arm Max Hit Points" />
</td>
</tr>
<tr>
<td class="sheet-border-right sheet-border-bottom">
16-18
</td>
<td class="sheet-border-right sheet-border-bottom">
<span data-i18n="left-arm">Left Arm</span>
</td>
<td class="sheet-border-right sheet-border-bottom">
<input name="attr_left-arm-ap" type="number" data-i18n-title="left-arm-armor-point-title" title="Left Arm Armor Points" />
</td>
<td class="sheet-border-right sheet-border-bottom">
<input name="attr_left-arm-ap_max" type="number" data-i18n-title="left-arm-armor-point-max-title" title="Left Arm Max Armor Points" />
</td>
<td class="sheet-border-right sheet-border-bottom">
<input name="attr_left-arm-hp" type="number" data-i18n-title="left-arm-hit-point-title" title="Left Arm Hit Points" />
</td>
<td class="sheet-border-bottom">
<input name="attr_left-arm-hp_max" type="number" readonly="readonly" data-i18n-title="left-arm-hit-point-max-title" title="Left Arm Max Hit Points" />
</td>
</tr>
<tr>
<td class="sheet-border-right sheet-border-bottom">
19-20
</td>
<td class="sheet-border-right sheet-border-bottom">
<span data-i18n="head">Head</span>
</td>
<td class="sheet-border-right sheet-border-bottom">
<input name="attr_head-ap" type="number" data-i18n-title="head-armor-point-title" title="Head Armor Points" />
</td>
<td class="sheet-border-right sheet-border-bottom">
<input name="attr_head-ap_max" type="number" data-i18n-title="head-armor-point-max-title" title="Head Max Armor Points" />
</td>
<td class="sheet-border-right sheet-border-bottom">
<input name="attr_head-hp" type="number" data-i18n-title="head-hit-point-title" title="Head Hit Points" />
</td>
<td class="sheet-border-bottom">
<input name="attr_head-hp_max" type="number" readonly="readonly" data-i18n-title="head-hit-point-max-title" title="Head Max Hit Points" />
</td>
</tr>
</tbody>
</table>
<br/>
</div>
<br/>
<!-- ARMORS -->
<div class="sheet-section">
<div class="sheet-h2-section">
<div class="sheet-nontable sheet-sect">
<div class="sheet-divbox sheet-repeating-sect">
<div class="sheet-header sheet-text-center" style="width:100%;"><span data-i18n="armors">Armors</span></div>
<br/>
<div class="sheet-repeating-fields">
<fieldset class="repeating_armors">
<div style="border-spacing:2px; border-collapse:separate; margin:2px;">
<span class="sheet-small-label2" style="width: 25%;">
<input type="text" name="attr_armor-name" data-i18n-placeholder="armor-name-place" placeholder="Armor Name" />
<span data-i18n="name">Nom</span>
</span>
<span class="sheet-small-label2" style="width: 7%;">
<input name="attr_armor-armor-points" type="number" data-i18n-title="armor-armor-points-title" title="Armor Armor Points" />
<span data-i18n="ap">AP</span>
</span>
<span class="sheet-small-label2" style="width: 7%;">
<input name="attr_armor-enc" data-i18n-title="armor-enc-title" title="Armor Encumbrance" type="number" />
<span data-i18n="encumbrance">ENC</span>
</span>
<span class="sheet-small-label2" style="width: 25%;">
<input type="text" name="attr_armor-location" data-i18n-placeholder="armor-location-place" placeholder="Armor Location(s)" />
<span data-i18n="locations">Locations</span>
</span>
<span class="sheet-small-label2" style="width: 7%;">
<input name="attr_armor-penalty" type="number" data-i18n-title="armor-penalty-title" title="Armor Skill Penalty" />
<span data-i18n="penalty">Penalty</span>
</span>
<span class="sheet-small-label2" style="width: 99%;">
<input type="text" name="attr_armor-notes" data-i18n-placeholder="armor-notes-place" placeholder="Armor Notes" />
<span data-i18n="notes">Notes</span>
</span>
</div>
</fieldset>
</div>
</div>
</div>
</div>
</div>
<br/>
<!-- FAVOURED CLOSE COMBAT WEAPONS -->
<div class="sheet-section">
<div class="sheet-h2-section">
<div class="sheet-nontable sheet-sect">
<div class="sheet-divbox sheet-repeating-sect">
<div class="sheet-header sheet-text-center" style="width:100%;"><span data-i18n="favoured-close-combat-weapons">Favoured Close Combat Weapons</span></div>
<br/>
<div class="sheet-repeating-fields">
<fieldset class="repeating_close-combat-weapons">
<div style="border-spacing:2px; border-collapse:separate; margin:2px;">
<span class="sheet-repeating-rollbutton sheet-small-label2"><button type="roll" value="@{PC-whisper} &{template:hm_weapons} {{character_name=@{character_name}}} {{character_id=@{character_id}}} {{weapon_name=@{close-combat-weapon-name}}} {{weapon_value=[[@{close-combat-weapon-skill-score}+?{Malus/Bonus|0}]]}} {{diceroll=[[1d100cs<10cf>100]]}} {{diceroll_damage=[[@{close-combat-weapon-damage} + @{dmg-mod}]]}} {{weapon_max_damage=[[@{max_damages}]]}} {{hit_location=[[1d20]]}} {{weapon_impale=[[@{close-combat-weapon-impale}]]}}" name="roll_close-combat-weapon-check"><span data-i18n="attack"></span></button>
</span>
<input type="hidden" name="attr_max_damages" value="0" />
<span class="sheet-small-label2" style="width: 15%;">
<input type="text" name="attr_close-combat-weapon-name" data-i18n-placeholder="close-combat-weapon-name-place" placeholder="Weapon Name" />
<span data-i18n="name">Name</span>
</span>
<span class="sheet-small-label2" style="width: 15%;">
<input type="text" name="attr_close-combat-weapon-skill" data-i18n-title="close-combat-weapon-skill-place" title="Weapon Skill Name (Put the exact name of the skill)" />
<span data-i18n="skill">Skill</span>
</span>
<span class="sheet-small-label2" style="width: 5%;">
<input name="attr_close-combat-weapon-skill-score" type="number" readonly="readonly" data-i18n-title="close-combat-weapon-skill-score-title" title="Weapon Skill Score" />
<span data-i18n="score">Score</span>
</span>
<span class="sheet-small-label2" style="width: 5%;">
<input name="attr_close-combat-weapon-damage" data-i18n-placeholder="close-combat-weapon-damage-place" placeholder="ex: 1d6+2" type="text" />
<span data-i18n="damage">Damage</span>
</span>
<span class="sheet-small-label2" style="width: 7%;">
<input name="attr_close-combat-weapon-enc" data-i18n-title="close-combat-weapon-enc-title" title="Weapon Encumbrance" type="number" />
<span data-i18n="encumbrance">ENC</span>
</span>
<span class="sheet-small-label2" style="width: 5%;">
<select name="attr_close-combat-weapon-impale" data-i18n-title="close-combat-weapon-impale-title" title="Impale the opponent on critical ?">
<option value="0" data-i18n="no" selected>No</option>
<option value="1" data-i18n="yes" >Yes</option>
</select>
<span data-i18n="impale">Impale</span>
</span>
<div class="sheet-linked-fields" style="width: 15%;">
<label class="sheet-small-label2 sheet-narrow-numbers" style="width: 30%; padding-right: 4px;">
<input name="attr_close-combat-weapon-ap" type="number" data-i18n-title="close-combat-weapon-ap-title" title="Weapon Armor Points" />
<span data-i18n="ap">AP</span>
</label>
<span class="sheet-divider-db-lg" style="width:1em; padding-bottom:10px;">/</span>
<label class="sheet-small-label2 sheet-narrow-numbers" style="width: 30%;">
<input name="attr_close-combat-weapon-ap_max" type="number" data-i18n-title="close-combat-weapon-ap-max-title" title="Weapon Max Armor Points" />
<span data-i18n="max">Max</span>
</label>
</div>
<div class="sheet-linked-fields" style="width: 15%;">
<label class="sheet-small-label2 sheet-narrow-numbers" style="width: 30%; padding-right: 4px;">
<input name="attr_close-combat-weapon-hp" type="number" data-i18n-title="close-combat-weapon-hp-title" title="Weapon Hit Points" />
<span data-i18n="hp">HP</span>
</label>
<span class="sheet-divider-db-lg" style="width:1em; padding-bottom:10px;">/</span>
<label class="sheet-small-label2 sheet-narrow-numbers" style="width: 30%;">
<input name="attr_close-combat-weapon-hp_max" type="number" data-i18n-title="close-combat-weapon-hp-max-title" title="Weapon Max Hit Points" />
<span data-i18n="max">Max</span>
</label>
</div>
<span class="sheet-small-label2" style="width: 99%;">
<input type="text" name="attr_close-combat-weapon-notes" data-i18n-placeholder="close-combat-weapon-notes-place" placeholder="Special Notes" />
<span data-i18n="notes">Notes</span>
</span>
</div>
</fieldset>
</div>
</div>
</div>
</div>
</div>
<br/>
<!-- FAVOURED RANGED WEAPONS -->
<div class="sheet-section">
<div class="sheet-h2-section">
<div class="sheet-nontable sheet-sect">
<div class="sheet-divbox sheet-repeating-sect">
<div class="sheet-header sheet-text-center" style="width:100%;"><span data-i18n="favoured-ranged-weapons">Favoured Ranged Weapons</span></div>
<br/>
<div class="sheet-repeating-fields">
<fieldset class="repeating_ranged-weapons">
<div style="border-spacing:2px; border-collapse:separate; margin:2px;">
<span class="sheet-repeating-rollbutton sheet-small-label2"><button type="roll" value="@{PC-whisper} &{template:hm_weapons} {{character_name=@{character_name}}} {{character_id=@{character_id}}} {{weapon_name=@{ranged-weapon-name}}} {{weapon_value=[[@{ranged-weapon-skill-score}+?{Malus/Bonus|0}]]}} {{diceroll=[[1d100cs<10cf>100]]}} {{diceroll_damage=[[@{ranged-weapon-damage}+@{damage_mod}]]}} {{weapon_max_damage=[[@{max_damages}]]}} {{hit_location=[[1d20]]}} {{weapon_impale=[[@{ranged-weapon-impale}]]}}" name="roll_ranged-weapon-check"><span data-i18n="attack"></span></button>
</span>
<input type="hidden" name="attr_max_damages" value="0" />
<input type="hidden" name="attr_damage_mod" value="0" />
<span class="sheet-small-label2" style="width: 20%;">
<input type="text" name="attr_ranged-weapon-name" data-i18n-placeholder="ranged-weapon-name-place" placeholder="Weapon Name" />
<span data-i18n="name">Nom</span>
</span>
<span class="sheet-small-label2" style="width: 15%;">
<input type="text" name="attr_ranged-weapon-skill" data-i18n-title="ranged-weapon-skill-place" title="Weapon Skill Name (Put the exact name of the skill)" />
<span data-i18n="skill">Skill</span>
</span>
<span class="sheet-small-label2" style="width: 5%;">
<input name="attr_ranged-weapon-skill-score" readonly="readonly" type="number" data-i18n-title="ranged-weapon-skill-score-title" title="Weapon Skill Score" />
<span data-i18n="score">Score</span>
</span>
<span class="sheet-small-label2" style="width: 5%;">
<input name="attr_ranged-weapon-damage" data-i18n-placeholder="ranged-weapon-damage-place" placeholder="ex: 1d6+2" type="text" />
<span data-i18n="damage">Damage</span>
</span>
<span class="sheet-small-label2" style="width: 7%;">
<select name="attr_ranged-weapon-damage-mod">
<option value="0" selected>0</option>
<option value="half" data-i18n="half_damage_mod" >+ 1/2 DM</option>
<option value="full" data-i18n="full_damage_mod" >+ DM</option>
</select>
<span data-i18n="dm">Dmg Mod.</span>
</span>
<span class="sheet-small-label2" style="width: 5%;">
<input name="attr_ranged-weapon-enc" data-i18n-title="ranged-weapon-enc-title" title="Weapon Encumbrance" type="number" />
<span data-i18n="encumbrance">ENC</span>
</span>
<span class="sheet-small-label2" style="width: 5%;">
<input name="attr_ranged-weapon-range" type="number" data-i18n-title="ranged-weapon-range-title" title="Weapon Range" />
<span data-i18n="range">Range</span>
</span>
<span class="sheet-small-label2" style="width: 5%;">
<input name="attr_ranged-weapon-load" type="number" data-i18n-title="ranged-weapon-load-title" title="Weapon Load" />
<span data-i18n="load">Load</span>
</span>
<span class="sheet-small-label2" style="width: 5%;">
<select name="attr_ranged-weapon-impale" data-i18n-title="ranged-weapon-impale-title" title="Impale the opponent on critical ?">
<option value="0" data-i18n="no" selected>No</option>
<option value="1" data-i18n="yes" >Yes</option>
</select>
<span data-i18n="impale">Impale</span>
</span>
<div class="sheet-linked-fields" style="width: 15%;">
<label class="sheet-small-label2 sheet-narrow-numbers" style="width: 30%; padding-right: 4px;">
<input name="attr_ranged-combat-weapon-ap" type="number" data-i18n-title="ranged-combat-weapon-ap-title" title="Weapon Armor Points" />
<span data-i18n="ap">AP</span>
</label>
<span class="sheet-divider-db-lg" style="width:1em; padding-bottom:10px;">/</span>
<label class="sheet-small-label2 sheet-narrow-numbers" style="width: 30%;">
<input name="attr_ranged-combat-weapon-ap_max" type="number" data-i18n-title="ranged-combat-weapon-ap-max-title" title="Weapon Max Armor Points" />
<span data-i18n="max">Max</span>
</label>
</div>
<div class="sheet-linked-fields" style="width: 15%;">
<label class="sheet-small-label2 sheet-narrow-numbers" style="width: 30%; padding-right: 4px;">
<input name="attr_ranged-combat-weapon-hp" type="number" data-i18n-title="ranged-combat-weapon-hp-title" title="Weapon Hit Points" />
<span data-i18n="hp">HP</span>
</label>
<span class="sheet-divider-db-lg" style="width:1em; padding-bottom:10px;">/</span>
<label class="sheet-small-label2 sheet-narrow-numbers" style="width: 30%;">
<input name="attr_ranged-combat-weapon-hp_max" type="number" data-i18n-title="ranged-combat-weapon-hp-max-title" title="Weapon Max Hit Points" />
<span data-i18n="max">Max</span>
</label>
</div>
<span class="sheet-small-label2" style="width: 67%;">
<input type="text" name="attr_ranged-combat-weapon-notes" data-i18n-placeholder="ranged-combat-weapon-notes-place" placeholder="Special Notes" />
<span data-i18n="notes">Notes</span>
</span>
</div>
</fieldset>
</div>
</div>
</div>
</div>
</div>
<br/>
<!-- EQUIPMENTS -->
<div class="sheet-section">
<div class="sheet-h2-section">
<div class="sheet-nontable sheet-sect">
<div class="sheet-divbox sheet-repeating-sect">
<div class="sheet-header sheet-text-center" style="width:100%;"><span data-i18n="equipments">Equipments</span></div>
<br/>
<div class="sheet-repeating-fields">
<fieldset class="repeating_equipments">
<div style="border-spacing:2px; border-collapse:separate; margin:2px;">
<span class="sheet-small-label2" style="width: 40%;">
<input type="text" name="attr_item-name" data-i18n-placeholder="item-name-place" placeholder="Item Name" />
<span data-i18n="item">Item</span>
</span>
<span class="sheet-small-label2" style="width: 7%;">
<input name="attr_item-number" type="number" data-i18n-title="item-number-title" title="Number of items" value="0" />
<span data-i18n="number">Nb.</span>
</span>
<span class="sheet-small-label2" style="width: 7%;">
<input name="attr_item-enc" data-i18n-title="item-enc-title" title="Item Encumbrance" type="number" value="0" />
<span data-i18n="encumbrance">ENC</span>
</span>
<div class="sheet-linked-fields" style="width: 15%;">
<label class="sheet-small-label2 sheet-narrow-numbers" style="width: 30%; padding-right: 4px;">
<input name="attr_item-ap" type="number" data-i18n-title="item-ap-title" title="Item Armor Points" />
<span data-i18n="ap">AP</span>
</label>
<span class="sheet-divider-db-lg" style="width:1em; padding-bottom:10px;">/</span>
<label class="sheet-small-label2 sheet-narrow-numbers" style="width: 30%;">
<input name="attr_item-ap_max" type="number" data-i18n-title="item-ap-max-title" title="Item Max Armor Points" />
<span data-i18n="max">Max</span>
</label>
</div>
<div class="sheet-linked-fields" style="width: 15%;">
<label class="sheet-small-label2 sheet-narrow-numbers" style="width: 30%; padding-right: 4px;">
<input name="attr_item-hp" type="number" data-i18n-title="item-hp-title" title="Item Hit Points" />
<span data-i18n="hp">HP</span>
</label>
<span class="sheet-divider-db-lg" style="width:1em; padding-bottom:10px;">/</span>
<label class="sheet-small-label2 sheet-narrow-numbers" style="width: 30%;">
<input name="attr_item-hp_max" type="number" data-i18n-title="item-hp-max-title" title="Item Max Hit Points" />
<span data-i18n="max">Max</span>
</label>
</div>
<span class="sheet-small-label2" style="width: 7%;">
<input name="attr_item-cost" type="number" data-i18n-title="item-cost-title" title="Item Cost (in Silver Coin)" />
<span data-i18n="cost">Cost</span>
</span>
<span class="sheet-small-label2" style="width: 99%;">
<input type="text" name="attr_item-notes" data-i18n-placeholder="item-notes-place" placeholder="Special Notes" />
<span data-i18n="notes">Notes</span>
</span>
</div>
</fieldset>
</div>
<br/>
</div>
</div>
</div>
</div>
<br/>
<div class="sheet-section">
<div class="sheet-h2-section">
<label class="sheet-small-label2" style="width: 12%;">
<span data-i18n="total-enc">Total Enc:</span>
</label>
<label class="sheet-small-label2" style="width: 7%;">
<input name="attr_total-enc" type="number" readonly="readonly" data-i18n-title="total-enc-title" title="Character Total Encumbrance" />
</label>
<label class="sheet-small-label2" style="width: 7%;">
<input name="attr_total-enc-overload" type="number" readonly="readonly" data-i18n-title="total-enc-overload-title" title="Encumbrance Overload (STR+SIZ) without malus" />
</label>
<label class="sheet-small-label2" style="width: 7%;">
<input name="attr_total-enc_max" type="number" readonly="readonly" data-i18n-title="total-enc-max-title" title="Character Total Max Encumbrance (STR+SIZ * 2)" />
</label>
<label class="sheet-small-label2" style="width: 50%;">
</label>
<label class="sheet-small-label2" style="width: 15%;">
<span data-i18n="current-fatigue" >Current Fatigue:</span>
</label>
<label class="sheet-small-label2" style="width: 30%;">
<input name="attr_current-fatigue" type="text" data-i18n-placeholder="current-fatigue-place" placeholder="Character Current Fatigue" />
</label>
</div>
</div>
</div>
</section>
<section role="region" aria-label="Spells & Traits" data-i18n-aria-label="page-spells-traits-aria">
<div class="sheet-section sheet-section-spells-traits">
<!-- TRAITS -->
<div class="sheet-section">
<div class="sheet-h2-section">
<div class="sheet-nontable sheet-sect">
<div class="sheet-divbox sheet-repeating-sect">
<div class="sheet-header sheet-text-center" style="width:100%;"><span data-i18n="traits">Traits</span></div>
<br/>
<div class="sheet-repeating-fields">
<fieldset class="repeating_traits">
<div style="border-spacing:2px; border-collapse:separate; margin:2px;">
<span class="sheet-small-label2" style="width: 29%;">
<input type="text" name="attr_trait-name" data-i18n-placeholder="trait-name-place" placeholder="Trait Name" />
<span data-i18n="trait">Trait</span>
</span>
<span class="sheet-small-label2" style="width: 65%;">
<input type="text" name="attr_trait-effect" data-i18n-placeholder="trait-effect-place" placeholder="Trait Effect" />
<span data-i18n="effect">Effect</span>
</span>
</div>
</fieldset>
</div>
</div>
</div>
</div>
</div>
<br/>
<!-- SPELLS -->
<div class="sheet-section">
<div class="sheet-h2-section">
<div class="sheet-nontable sheet-sect">
<div class="sheet-divbox sheet-repeating-sect">
<div class="sheet-header sheet-text-center" style="width:100%;"><span data-i18n="spells">Spells</span></div>
<br/>
<div class="sheet-repeating-fields">
<fieldset class="repeating_spells">
<div style="border-spacing:2px; border-collapse:separate; margin:2px;">
<span class="sheet-small-label2" style="width: 20%;">
<input type="text" name="attr_spell-name" data-i18n-placeholder="spell-name-place" placeholder="Spell Name" />
<span data-i18n="spell">Spell</span>
</span>
<span class="sheet-small-label2" style="width: 25%;">
<input type="text" name="attr_spell-requirements" data-i18n-placeholder="spell-requirements-place" placeholder="Spell Requirements" />
<span data-i18n="requirements">Requirements</span>
</span>
<span class="sheet-small-label2" style="width: 20%;">
<input type="text" name="attr_spell-casting-time" data-i18n-placeholder="spell-casting-time-place" placeholder="Spell Casting Time" />
<span data-i18n="casting-time">Casting Time</span>
</span>
<span class="sheet-small-label2" style="width: 25%;">
<input type="text" name="attr_spell-traits" data-i18n-placeholder="spell-traits-place" placeholder="Spell Traits" />
<span data-i18n="traits">Traits</span>
</span>
<span class="sheet-small-label2" style="width: 99%;">
<input type="text" name="attr_spell-effect" data-i18n-placeholder="spell-effect-place" placeholder="Spell Effect" />
<span data-i18n="effect">Effect</span>
</span>
</div>
</fieldset>
</div>
</div>
</div>
</div>
</div>
<br/>
</div>
</section>
<section role="region" aria-label="Mount" data-i18n-aria-label="page-mount-aria">
<div class="sheet-section sheet-section-mount">
<input type="hidden" name="attr_mount_total_enc_close_weapons" value="0" />
<input type="hidden" name="attr_mount_total_enc_ranged_weapons" value="0" />
<input type="hidden" name="attr_mount_total_enc_armors" value="0" />
<input type="hidden" name="attr_mount_total_enc_items" value="0" />
<!-- MOUNT DESCRIPTION -->
<div class="sheet-section">
<div class="sheet-h2-section">
<div class="sheet-nontable sheet-sect" style="border:1px solid black;">
<span class="sheet-nontable-name" data-i18n="mount-desc">Mount Description</span>
<label class="sheet-small-label2" style="width: 20%;">
<input name="attr_mount_name" type="text" data-i18n-placeholder="mount-name-place" placeholder="Mount Name" />
<span data-i18n="mount-name">Mount Name</span>
</label>
<label class="sheet-small-label2" style="width: 20%;">
<input name="attr_mount-type" type="text" data-i18n-placeholder="mount-type-place" placeholder="Mount Type" />
<span data-i18n="mount-type">Mount Type</span>
</label>
<label class="sheet-small-label2" style="width: 10%;">
<input name="attr_mount-ca" type="number" readonly="readonly" data-i18n-title="mount-combat-action-title" title="Mount Combat Actions - @{mount-ca}" />
<span data-i18n="ca">CA</span>
</label>
<label class="sheet-small-label2" style="width: 10%;">
<input name="attr_mount-sr" type="number" data-i18n-title="mount-strike-rank-title" title="Mount Strike Rank - @{mount-sr}" />
<button data-i18n-title="mount-sr-initiative-title" title="Launch Initiative (select your token before)" class="sheet-text-button" type="roll" name="roll_mount-sr-check" value="@{PC-whisper} [[1d10+@{mount-sr}+(@{mount-dex}/100)&{tracker}]]"><span style="vertical-align: text-bottom; color: white;" data-i18n="strike-rank">SR</span></button>
</label>
<label class="sheet-small-label2" style="width: 10%;">
<input name="attr_mount-mov" type="number" data-i18n-title="mount-movement-title" title="Mount Movement - @{mount-mov}" />
<span data-i18n="mov">MOV</span>
</label>
<label class="sheet-small-label2" style="width: 99%;">
<input name="attr_mount-notes" type="text" data-i18n-placeholder="mount-notes-place" placeholder="Mount Notes" />
<span data-i18n="notes">Notes</span>
</label>
</div>
</div>
</div>
<br/>
<!-- MOUNT CHARACTERISTICS -->
<div class="sheet-section">
<div class="sheet-h2-section">
<div class="sheet-nontable sheet-sect" style="border:1px solid black;">
<span class="sheet-nontable-name" data-i18n="character-characteristics-desc">Characteristics</span>
<label class="sheet-small-label2" style="width: 10%;"><input name="attr_mount-str" type="number" title="@{str}" /><span data-i18n="STR">FOR</span></label>
<label class="sheet-small-label2" style="width: 10%;"><input name="attr_mount-con" type="number" title="@{con}" /><span data-i18n="CON">CON</span></label>
<label class="sheet-small-label2" style="width: 10%;"><input name="attr_mount-dex" type="number" title="@{dex}" /><span data-i18n="DEX">DEX</span></label>
<label class="sheet-small-label2" style="width: 10%;"><input name="attr_mount-siz" type="number" title="@{siz}" /><span data-i18n="SIZ">SIZ</span></label>
<label class="sheet-small-label2" style="width: 10%;"><input name="attr_mount-int" type="number" title="@{int}" /><span data-i18n="INT">INT</span></label>
<label class="sheet-small-label2" style="width: 10%;"><input name="attr_mount-pow" type="number" title="@{pow}" /><span data-i18n="POW">POW</span></label>
<label class="sheet-small-label2" style="width: 10%;"><input name="attr_mount-cha" type="number" title="@{cha}" /><span data-i18n="CHA">CHA</span></label>
</div>
</div>
</div>
<br/>
<!-- MOUNT SKILLS -->
<div class="sheet-section">
<div class="sheet-h2-section">
<div class="sheet-header sheet-text-center"><span data-i18n="skills">Skills</span></div>
<br/>
<div class="sheet-nontable sheet-sect">
<div class="sheet-divbox sheet-repeating-sect" style="width: 73%; margin: auto;">
<div class="sheet-repeating-fields">
<fieldset class="repeating_mountSkills">
<div style="border-spacing:2px; border-collapse:separate; margin:2px;">
<span class="sheet-small-label2 sheet-sect">
<input name="attr_mountSkillName" type="text" data-i18n-placeholder="mount-skill-name-place" placeholder="Mount Skill Name" />
<span data-i18n="mount-skill-name">Skill Name</span>
</span>
<span class="sheet-small-label2 sheet-sect">
<select name="attr_mountSkillChar1" data-i18n-title="mount-skill-characteristics-1-title" title="First Characteristics for Mount Skill">
<option value="0" selected></option>
<option value="mount-str" data-i18n="STR">STR</option>
<option value="mount-con" data-i18n="CON">CON</option>
<option value="mount-dex" data-i18n="DEX">DEX</option>
<option value="mount-siz" data-i18n="SIZ">SIZ</option>
<option value="mount-int" data-i18n="INT">INT</option>
<option value="mount-pow" data-i18n="POW">POW</option>
<option value="mount-cha" data-i18n="CHA">CHA</option>
</select>
<span data-i18n="characteristics-1">Ch. 1</span>
</span>
<span class="sheet-small-label2 sheet-sect">
<select name="attr_mountSkillChar2" data-i18n-title="mount-skill-characteristics-2-title" title="First Characteristics for Mount Skill">
<option value="0" selected></option>
<option value="mount-str" data-i18n="STR">STR</option>
<option value="mount-con" data-i18n="CON">CON</option>
<option value="mount-dex" data-i18n="DEX">DEX</option>
<option value="mount-siz" data-i18n="SIZ">SIZ</option>
<option value="mount-int" data-i18n="INT">INT</option>
<option value="mount-pow" data-i18n="POW">POW</option>
<option value="mount-cha" data-i18n="CHA">CHA</option>
</select>
<span data-i18n="characteristics-2">Ch. 2</span>
</span>
<span class="sheet-small-label2 sheet-sect sheet-entry-vshort">
<input name="attr_mountSkillBase" readonly="readonly" type="number" title="@{mountSkillBase}" />
<span data-i18n="mount-skill-score-base">Base</span>
</span>
<span class="sheet-small-label2 sheet-sect sheet-entry-vshort">
<input name="attr_mountSkillMod" type="number" title="@{mountSkillMod}" value="0" />
<span data-i18n="mount-skill-mod">Mod.</span>
</span>
<span class="sheet-small-label2 sheet-sect sheet-entry-vshort">
<input name="attr_mountSkill" readonly="readonly" type="number" title="@{mountSkill}" />
<span data-i18n="mount-skill-score">Score</span>
</span>
<span class="sheet-small-label2 sheet-sect sheet-entry-vshort">
<button type="roll" value="@{PC-whisper} &{template:hm_skill} {{character_name=@{character_name}}} {{character_id=@{character_id}}} {{skill_name=@{mountSkillName}}} {{skill_value=[[@{mountSkill}+?{Malus/Bonus|0}]]}} {{diceroll=[[1d100cs<10cf>100]]}}" name="roll_mount-skill-check" />
</span>
</div>
</fieldset>
</div>
</div>
</div>
<br/>
</div>
</div>
<!-- MOUNT HIT LOCATIONS -->
<div class="sheet-nontable sheet-sect sheet-hit-location" style="border:1px solid black;">
<span class="sheet-nontable-name" data-i18n="hit-locations">Hit Locations</span>
<div class="sheet-divbox sheet-repeating-sect" style="width: 63%; margin: auto;">
<div class="sheet-repeating-fields">
<fieldset class="repeating_hit-locations">
<div style="border-spacing:2px; border-collapse:separate; margin:2px;">
<span class="sheet-small-label2" style="width: 15%;">
<input name="attr_hit-location-dice-value" type="text" data-i18n-title="hit-location-dice-value-title" title="Dice Value (ex: 3-5)" />
<span data-i18n="dice">Dice</span>
</span>
<span class="sheet-small-label2" style="width: 25%;">
<input name="attr_hit-location-name" type="text" data-i18n-placeholder="hit-location-name-place" placeholder="Name (ex: chest)" />
<span data-i18n="location">Location</span>
</span>
<div class="sheet-linked-fields" style="width: 20%;">
<label class="sheet-small-label2 sheet-narrow-numbers" style="width: 30%; padding-right: 4px;">
<input name="attr_hit-location-ap" type="number" data-i18n-title="hit-location-ap-title" title="Location Armor Points" />
<span data-i18n="ap">AP</span>
</label>
<span class="sheet-divider-db-lg" style="width:1em; padding-bottom:10px;">/</span>
<label class="sheet-small-label2 sheet-narrow-numbers" style="width: 30%;">
<input name="attr_hit-location-ap_max" type="number" data-i18n-title="hit-location-ap-max-title" title="Location Max Armor Points" />
<span data-i18n="max">Max</span>
</label>
</div>
<div class="sheet-linked-fields" style="width: 20%;">
<label class="sheet-small-label2 sheet-narrow-numbers" style="width: 30%; padding-right: 4px;">
<input name="attr_hit-location-hp" type="number" data-i18n-title="hit-location-hp-title" title="Location Hit Points" />
<span data-i18n="hp">HP</span>
</label>
<span class="sheet-divider-db-lg" style="width:1em; padding-bottom:10px;">/</span>
<label class="sheet-small-label2 sheet-narrow-numbers" style="width: 30%;">
<input name="attr_hit-location-hp_max" type="number" data-i18n-title="hit-location-hp-max-title" title="Location Max Hit Points" />
<span data-i18n="max">Max</span>
</label>
</div>
</div>
</fieldset>
</div>
</div>
<br/>
</div>
<br/>
<!-- MOUNT CLOSE COMBAT WEAPONS -->
<div class="sheet-section">
<div class="sheet-h2-section">
<div class="sheet-nontable sheet-sect">
<div class="sheet-divbox sheet-repeating-sect">
<div class="sheet-header sheet-text-center" style="width:100%;"><span data-i18n="mount-close-combat-weapons">Mount Close Combat Weapons</span></div>
<br/>
<div class="sheet-repeating-fields">
<fieldset class="repeating_mount-close-combat-weapons">
<div style="border-spacing:2px; border-collapse:separate; margin:2px;">
<span class="sheet-repeating-rollbutton sheet-small-label2"><button type="roll" value="@{PC-whisper} &{template:hm_weapons} {{character_name=@{character_name}}} {{character_id=@{character_id}}} {{weapon_name=@{close-combat-weapon-name}}} {{weapon_value=[[@{close-combat-weapon-skill-score}+?{Malus/Bonus|0}]]}} {{diceroll=[[1d100cs<10cf>100]]}} {{diceroll_damage=[[@{close-combat-weapon-damage} + @{dmg-mod}]]}} {{hit_location=[[1d20]]}}" name="roll_close-combat-weapon-check"><span data-i18n="attack"></span></button>
</span>
<span class="sheet-small-label2" style="width: 15%;">
<input type="text" name="attr_close-combat-weapon-name" data-i18n-placeholder="close-combat-weapon-name-place" placeholder="Weapon Name" />
<span data-i18n="name">Nom</span>
</span>
<span class="sheet-small-label2" style="width: 15%;">
<input type="text" name="attr_close-combat-weapon-skill" data-i18n-title="close-combat-weapon-skill-place" title="Weapon Skill Name (Put the exact name of the skill)" />
<span data-i18n="skill">Skill</span>
</span>
<span class="sheet-small-label2" style="width: 7%;">
<input name="attr_close-combat-weapon-skill-score" type="number" readonly="readonly" data-i18n-title="close-combat-weapon-skill-score-title" title="Weapon Skill Score" />
<span data-i18n="score">Score</span>
</span>
<span class="sheet-small-label2" style="width: 10%;">
<input name="attr_close-combat-weapon-damage" data-i18n-placeholder="close-combat-weapon-damage-place" placeholder="ex: 1d6+2" type="text" />
<span data-i18n="damage">Damage</span>
</span>
<span class="sheet-small-label2" style="width: 7%;">
<input name="attr_close-combat-weapon-enc" data-i18n-title="close-combat-weapon-enc-title" title="Weapon Encumbrance" type="number" />
<span data-i18n="encumbrance">ENC</span>
</span>
<div class="sheet-linked-fields" style="width: 15%;">
<label class="sheet-small-label2 sheet-narrow-numbers" style="width: 30%; padding-right: 4px;">
<input name="attr_close-combat-weapon-ap" type="number" data-i18n-title="close-combat-weapon-ap-title" title="Weapon Armor Points" />
<span data-i18n="ap">AP</span>
</label>
<span class="sheet-divider-db-lg" style="width:1em; padding-bottom:10px;">/</span>
<label class="sheet-small-label2 sheet-narrow-numbers" style="width: 30%;">
<input name="attr_close-combat-weapon-ap_max" type="number" data-i18n-title="close-combat-weapon-ap-max-title" title="Weapon Max Armor Points" />
<span data-i18n="max">Max</span>
</label>
</div>
<div class="sheet-linked-fields" style="width: 15%;">
<label class="sheet-small-label2 sheet-narrow-numbers" style="width: 30%; padding-right: 4px;">
<input name="attr_close-combat-weapon-hp" type="number" data-i18n-title="close-combat-weapon-hp-title" title="Weapon Hit Points" />
<span data-i18n="hp">HP</span>
</label>
<span class="sheet-divider-db-lg" style="width:1em; padding-bottom:10px;">/</span>
<label class="sheet-small-label2 sheet-narrow-numbers" style="width: 30%;">
<input name="attr_close-combat-weapon-hp_max" type="number" data-i18n-title="close-combat-weapon-hp-max-title" title="Weapon Max Hit Points" />
<span data-i18n="max">Max</span>
</label>
</div>
<span class="sheet-small-label2" style="width: 99%;">
<input type="text" name="attr_close-combat-weapon-notes" data-i18n-placeholder="close-combat-weapon-notes-place" placeholder="Special Notes" />
<span data-i18n="notes">Notes</span>
</span>
</div>
</fieldset>
</div>
</div>
</div>
</div>
</div>
<br/>
<!-- MOUNT RANGED WEAPONS -->
<div class="sheet-section">
<div class="sheet-h2-section">
<div class="sheet-nontable sheet-sect">
<div class="sheet-divbox sheet-repeating-sect">
<div class="sheet-header sheet-text-center" style="width:100%;"><span data-i18n="mount-ranged-weapons">Mount Ranged Weapons</span></div>
<br/>
<div class="sheet-repeating-fields">
<fieldset class="repeating_mount-ranged-weapons">
<div style="border-spacing:2px; border-collapse:separate; margin:2px;">
<span class="sheet-repeating-rollbutton sheet-small-label2"><button type="roll" value="@{PC-whisper} &{template:hm_weapons} {{character_name=@{character_name}}} {{character_id=@{character_id}}} {{weapon_name=@{ranged-weapon-name}}} {{weapon_value=[[@{ranged-weapon-skill-score}+?{Malus/Bonus|0}]]}} {{diceroll=[[1d100cs<10cf>100]]}} {{diceroll_damage=[[@{ranged-weapon-damage} + ?{Damage Mod|0,0|1/2,((@{dmg-mod})/2)|Full,@{dmg-mod}}]]}} {{hit_location=[[1d20]]}}" name="roll_ranged-weapon-check"><span data-i18n="attack"></span></button>
</span>
<span class="sheet-small-label2" style="width: 15%;">
<input type="text" name="attr_ranged-weapon-name" data-i18n-placeholder="ranged-weapon-name-place" placeholder="Weapon Name" />
<span data-i18n="name">Nom</span>
</span>
<span class="sheet-small-label2" style="width: 15%;">
<input type="text" name="attr_ranged-weapon-skill" data-i18n-title="ranged-weapon-skill-place" title="Weapon Skill Name (Put the exact name of the skill)" />
<span data-i18n="skill">Skill</span>
</span>
<span class="sheet-small-label2" style="width: 5%;">
<input name="attr_ranged-weapon-skill-score" type="number" readonly="readonly" data-i18n-title="ranged-weapon-skill-score-title" title="Weapon Skill Score" />
<span data-i18n="score">Score</span>
</span>
<span class="sheet-small-label2" style="width: 5%;">
<input name="attr_ranged-weapon-damage" data-i18n-placeholder="ranged-weapon-damage-place" placeholder="ex: 1d6+2" type="text" />
<span data-i18n="damage">Damage</span>
</span>
<span class="sheet-small-label2" style="width: 5%;">
<input name="attr_ranged-weapon-enc" data-i18n-title="ranged-weapon-enc-title" title="Weapon Encumbrance" type="number" />
<span data-i18n="encumbrance">ENC</span>
</span>
<span class="sheet-small-label2" style="width: 5%;">
<input name="attr_ranged-weapon-range" type="number" data-i18n-title="ranged-weapon-range-title" title="Weapon Range" />
<span data-i18n="range">Range</span>
</span>
<span class="sheet-small-label2" style="width: 5%;">
<input name="attr_ranged-weapon-load" type="number" data-i18n-title="ranged-weapon-load-title" title="Weapon Load" />
<span data-i18n="load">Load</span>
</span>
<div class="sheet-linked-fields" style="width: 15%;">
<label class="sheet-small-label2 sheet-narrow-numbers" style="width: 30%; padding-right: 4px;">
<input name="attr_ranged-combat-weapon-ap" type="number" data-i18n-title="ranged-combat-weapon-ap-title" title="Weapon Armor Points" />
<span data-i18n="ap">AP</span>
</label>
<span class="sheet-divider-db-lg" style="width:1em; padding-bottom:10px;">/</span>
<label class="sheet-small-label2 sheet-narrow-numbers" style="width: 30%;">
<input name="attr_ranged-combat-weapon-ap_max" type="number" data-i18n-title="ranged-combat-weapon-ap-max-title" title="Weapon Max Armor Points" />
<span data-i18n="max">Max</span>
</label>
</div>
<div class="sheet-linked-fields" style="width: 15%;">
<label class="sheet-small-label2 sheet-narrow-numbers" style="width: 30%; padding-right: 4px;">
<input name="attr_ranged-combat-weapon-hp" type="number" data-i18n-title="ranged-combat-weapon-hp-title" title="Weapon Hit Points" />
<span data-i18n="hp">HP</span>
</label>
<span class="sheet-divider-db-lg" style="width:1em; padding-bottom:10px;">/</span>
<label class="sheet-small-label2 sheet-narrow-numbers" style="width: 30%;">
<input name="attr_ranged-combat-weapon-hp_max" type="number" data-i18n-title="ranged-combat-weapon-hp-max-title" title="Weapon Max Hit Points" />
<span data-i18n="max">Max</span>
</label>
</div>
<span class="sheet-small-label2" style="width: 99%;">
<input type="text" name="attr_ranged-combat-weapon-notes" data-i18n-placeholder="ranged-combat-weapon-notes-place" placeholder="Special Notes" />
<span data-i18n="notes">Notes</span>
</span>
</div>
</fieldset>
</div>
</div>
</div>
</div>
</div>
<br/>
<!-- MOUNT EQUIPMENTS -->
<div class="sheet-section">
<div class="sheet-h2-section">
<div class="sheet-nontable sheet-sect">
<div class="sheet-divbox sheet-repeating-sect">
<div class="sheet-header sheet-text-center" style="width:100%;"><span data-i18n="equipments">Equipments</span></div>
<br/>
<div class="sheet-repeating-fields">
<fieldset class="repeating_mount-equipments">
<div style="border-spacing:2px; border-collapse:separate; margin:2px;">
<span class="sheet-small-label2" style="width: 40%;">
<input type="text" name="attr_item-name" data-i18n-placeholder="item-name-place" placeholder="Item Name" />
<span data-i18n="item">Item</span>
</span>
<span class="sheet-small-label2" style="width: 7%;">
<input name="attr_item-number" type="number" data-i18n-title="item-number-title" title="Number of items" value="0" />
<span data-i18n="number">Nb.</span>
</span>
<span class="sheet-small-label2" style="width: 7%;">
<input name="attr_item-enc" data-i18n-title="item-enc-title" title="Item Encumbrance" type="number" value="0" />
<span data-i18n="encumbrance">ENC</span>
</span>
<div class="sheet-linked-fields" style="width: 15%;">
<label class="sheet-small-label2 sheet-narrow-numbers" style="width: 30%; padding-right: 4px;">
<input name="attr_item-ap" type="number" data-i18n-title="item-ap-title" title="Item Armor Points" />
<span data-i18n="ap">AP</span>
</label>
<span class="sheet-divider-db-lg" style="width:1em; padding-bottom:10px;">/</span>
<label class="sheet-small-label2 sheet-narrow-numbers" style="width: 30%;">
<input name="attr_item-ap_max" type="number" data-i18n-title="item-ap-max-title" title="Item Max Armor Points" />
<span data-i18n="max">Max</span>
</label>
</div>
<div class="sheet-linked-fields" style="width: 15%;">
<label class="sheet-small-label2 sheet-narrow-numbers" style="width: 30%; padding-right: 4px;">
<input name="attr_item-hp" type="number" data-i18n-title="item-hp-title" title="Item Hit Points" />
<span data-i18n="hp">HP</span>
</label>
<span class="sheet-divider-db-lg" style="width:1em; padding-bottom:10px;">/</span>
<label class="sheet-small-label2 sheet-narrow-numbers" style="width: 30%;">
<input name="attr_item-hp_max" type="number" data-i18n-title="item-hp-max-title" title="Item Max Hit Points" />
<span data-i18n="max">Max</span>
</label>
</div>
<span class="sheet-small-label2" style="width: 7%;">
<input name="attr_item-cost" type="number" data-i18n-title="item-cost-title" title="Item Cost (in Silver Coin)" />
<span data-i18n="cost">Cost</span>
</span>
<span class="sheet-small-label2" style="width: 99%;">
<input type="text" name="attr_item-notes" data-i18n-placeholder="item-notes-place" placeholder="Special Notes" />
<span data-i18n="notes">Notes</span>
</span>
</div>
</fieldset>
</div>
<br/>
</div>
</div>
</div>
</div>
<br/>
<div class="sheet-section">
<div class="sheet-h2-section">
<label class="sheet-small-label2" style="width: 12%;">
<span data-i18n="total-enc">Total Enc:</span>
</label>
<label class="sheet-small-label2" style="width: 7%;">
<input name="attr_mount_total-enc" type="number" readonly="readonly" data-i18n-title="mount-total-enc-title" title="Mount Total Encumbrance" />
</label>
<label class="sheet-small-label2" style="width: 7%;">
<input name="attr_mount_total-enc-overload" type="number" readonly="readonly" data-i18n-title="mount-total-enc-overload-title" title="Encumbrance Overload (STR+SIZ) without malus" />
</label>
<label class="sheet-small-label2" style="width: 7%;">
<input name="attr_mount_total-enc_max" type="number" readonly="readonly" data-i18n-title="mount-total-enc-max-title" title="Mount Total Max Encumbrance (STR+SIZ * 2)" />
</label>
<label class="sheet-small-label2" style="width: 50%;">
</label>
<label class="sheet-small-label2" style="width: 15%;">
<span data-i18n="current-fatigue" >Current Fatigue:</span>
</label>
<label class="sheet-small-label2" style="width: 30%;">
<input name="attr_mount_current-fatigue" type="text" data-i18n-placeholder="mount-current-fatigue-place" placeholder="Character Current Fatigue" />
</label>
</div>
</div>
</div>
</section>
<section role="region" aria-label="Notes" data-i18n-aria-label="page-notes-aria">
<div class="sheet-section sheet-section-notes">
<div class="sheet-nontable sheet-sect">
<div class="sheet-divbox sheet-repeating-sect">
<div class="sheet-header sheet-text-center" style="width:100%;"><span data-i18n="notes">Notes</span></div>
<br/>
<div class="sheet-repeating-fields">
<fieldset class="repeating_notes">
<div style="border-spacing:2px; border-collapse:separate; margin:2px;">
<input type="checkbox" class="sheet-counted sheet-sect-show" data-i18n-title="minimize-cmd" title="Minimize Row" name="attr_row-show" value="1" checked="checked" /><span></span>
<span class="sheet-small-label2" style="width: 95%;"><input type="text" name="attr_noteTitle" data-i18n-placeholder="note-title-place" placeholder="Note Title" /><span data-i18n="title">Title</span></span>
<span class="sheet-small-label2 sheet-sect" style="width: 99%;min-height: 120px;"><textarea name="attr_note" style="width:95%;height: 100px;"></textarea></span>
</div>
</fieldset>
</div>
</div>
</div>
</div>
</section>
<section role="region" aria-label="Configuration" data-i18n-aria-label="page-config-aria">
<div class="sheet-section sheet-section-config">
<div class="sheet-header sheet-text-center" style="width:100%;"><span data-i18n="rules">Rules</span></div>
<br/>
<input type="checkbox" class="sheet-noshow" name="attr_useArmorPenalty" value="1"><span data-i18n="use-armor-penalty">Use Armor Penalty?</span>
<br/>
<br/>
<div class="sheet-header sheet-text-center" style="width:100%;"><span data-i18n="misc">Miscellaneous</span></div>
<br/>
<span data-i18n="rolls-results">Rolls Results</span> :
<select name="attr_PC-whisper" style="width:150px">
<option value="&nbsp;" data-i18n="public" selected>Public</option>
<option value="/w gm" data-i18n="whisper-to-gm">Whisper to GM</option>
</select>
<br/>
<br/>
</div>
</section>
</div>
</main>
<footer role="contentinfo" aria-label="Help links">
<div class="sheet-footer">
<div class="sheet-table">
<div class="sheet-table-row">
<span class="sheet-table-cell"><span data-i18n="footer-created-by">Created By</span> PadRPG <span data-i18n="footer-inspired">(highly inspired by the Pathfinder Sheet)</span> | <span data-i18n="footer-last-update">Last Update</span>:<i>02.11.2017&nbsp;&nbsp;</i>v1.3</span>
</div>
</div>
</div>
</footer>
<aside role="complementary">
<rolltemplate class="sheet-rolltemplate-hm_characteristic">
<div class="sheet-roll-table sheet-rounded">
<div class="sheet-roll-header">
{{#character_name}} {{#character_id}}[{{character_name}}](https://journal.roll20.net/character/{{character_id}}){{/character_id}} {{^character_id}}{{character_name}}{{/character_id}} {{#mount_name}}({{mount_name}}){{/mount_name}} {{/character_name}}
</div>
<div class="sheet-roll-header sheet-roll-text-white sheet-roll-text-right sheet-roll-text-12px">
<span data-i18n="characteristic">Characteristic</span> : {{characteristic_name}}
</div>
<div class="sheet-roll-group2">
<div class="sheet-roll-row">
<div class="sheet-roll-cell"><span data-i18n="value">Value</span></div>
<div class="sheet-roll-cell">{{ability_value}}</div>
</div>
<div class="sheet-roll-row">
<div class="sheet-roll-cell"><span data-i18n="result">Result</span></div>
<div class="sheet-roll-cell">{{diceroll}}</div>
</div>
{{#rollGreater() diceroll ability_value}}
<div class="sheet-roll-row">
<div class="sheet-roll-cell">{{#rollWasFumble() diceroll}}<span style="color:red;font-weight:bold;" data-i18n="fumble">Fumble !</span>{{/rollWasFumble() diceroll}}</div>
<div class="sheet-roll-cell"><span style="font-weight:bold;" data-i18n="fail">Fail</span>{{#rollBetween() diceroll 96 100}} (<span data-i18n="automatic">Automatic</span>){{/rollBetween() diceroll 96 100}}</div>
</div>
{{/rollGreater() diceroll ability_value}}
{{#rollLess() diceroll ability_value}}
<div class="sheet-roll-row">
<div class="sheet-roll-cell">{{#rollWasCrit() diceroll}}<span style="color:green;font-weight:bold;" data-i18n="critical">Critical !</span>{{/rollWasCrit() diceroll}}</div>
<div class="sheet-roll-cell"><span style="font-weight:bold;" data-i18n="success">Success</span>{{#rollBetween() diceroll 1 5}} (<span data-i18n="automatic">Automatic</span>){{/rollBetween() diceroll 1 5}}</div>
</div>
{{/rollLess() diceroll ability_value}}
</div>
</div>
</rolltemplate>
<rolltemplate class="sheet-rolltemplate-hm_skill">
<div class="sheet-roll-table sheet-rounded">
<div class="sheet-roll-header">
{{#character_name}} {{#character_id}}[{{character_name}}](https://journal.roll20.net/character/{{character_id}}){{/character_id}} {{^character_id}}{{character_name}}{{/character_id}} {{#mount_name}}({{mount_name}}){{/mount_name}} {{/character_name}}
</div>
<div class="sheet-roll-header sheet-roll-text-white sheet-roll-text-right sheet-roll-text-12px">
<span data-i18n="skill">Skill</span> : {{skill_name}}
</div>
<div class="sheet-roll-group2">
<div class="sheet-roll-row">
<div class="sheet-roll-cell"><span data-i18n="value">Value</span></div>
<div class="sheet-roll-cell">{{skill_value}}</div>
</div>
<div class="sheet-roll-row">
<div class="sheet-roll-cell"><span data-i18n="result">Result</span></div>
<div class="sheet-roll-cell">{{diceroll}}</div>
</div>
{{#rollGreater() diceroll skill_value}}
<div class="sheet-roll-row">
<div class="sheet-roll-cell">{{#rollWasFumble() diceroll}}<span style="color:red;font-weight:bold;" data-i18n="fumble">Fumble !</span>{{/rollWasFumble() diceroll}}</div>
<div class="sheet-roll-cell"><span style="font-weight:bold;" data-i18n="fail">Fail</span>{{#rollBetween() diceroll 96 100}} (<span data-i18n="automatic">Automatic</span>){{/rollBetween() diceroll 96 100}}</div>
</div>
{{/rollGreater() diceroll skill_value}}
{{#rollLess() diceroll skill_value}}
<div class="sheet-roll-row">
<div class="sheet-roll-cell">{{#rollWasCrit() diceroll}}<span style="color:green;font-weight:bold;" data-i18n="critical">Critical !</span>{{/rollWasCrit() diceroll}}</div>
<div class="sheet-roll-cell"><span style="font-weight:bold;" data-i18n="success">Success</span>{{#rollBetween() diceroll 1 5}} (<span data-i18n="automatic">Automatic</span>){{/rollBetween() diceroll 1 5}}</div>
</div>
{{/rollLess() diceroll skill_value}}
</div>
</div>
</rolltemplate>
<rolltemplate class="sheet-rolltemplate-hm_weapons">
<div class="sheet-roll-table sheet-rounded">
<div class="sheet-roll-header">
{{#character_name}} {{#character_id}}[{{character_name}}](https://journal.roll20.net/character/{{character_id}}){{/character_id}} {{^character_id}}{{character_name}}{{/character_id}} {{#mount_name}}({{mount_name}}){{/mount_name}} {{/character_name}}
</div>
<div class="sheet-roll-header sheet-roll-text-white sheet-roll-text-right sheet-roll-text-12px">
<span data-i18n="weapon">Weapon</span> : {{weapon_name}}
</div>
<div class="sheet-roll-group2">
<div class="sheet-roll-row">
<div class="sheet-roll-cell"><span data-i18n="value">Value</span></div>
<div class="sheet-roll-cell">{{weapon_value}}</div>
</div>
<div class="sheet-roll-row">
<div class="sheet-roll-cell"><span data-i18n="result">Result</span></div>
<div class="sheet-roll-cell">{{diceroll}}</div>
</div>
{{#rollGreater() diceroll weapon_value}}
<div class="sheet-roll-row">
<div class="sheet-roll-cell">{{#rollWasFumble() diceroll}}<span style="color:red;font-weight:bold;" data-i18n="fumble">Fumble !</span>{{/rollWasFumble() diceroll}}</div>
<div class="sheet-roll-cell"><span style="font-weight:bold;" data-i18n="fail">Fail</span></div>
</div>
{{/rollGreater() diceroll weapon_value}}
{{#rollLess() diceroll weapon_value}}
<div class="sheet-roll-row">
<div class="sheet-roll-cell">{{#rollWasCrit() diceroll}}<span style="color:green;font-weight:bold;" data-i18n="critical">Critical !</span>{{/rollWasCrit() diceroll}}</div>
<div class="sheet-roll-cell"><span style="font-weight:bold;" data-i18n="success">Success</span></div>
</div>
<div class="sheet-roll-row">
<div class="sheet-roll-cell"><span data-i18n="damages">Damages</span></div>
<div class="sheet-roll-cell">
{{#rollWasCrit() diceroll}} <span style="color:green;font-weight:bold;" data-i18n="max_damages">Max Damages</span> ({{weapon_max_damage}}) {{/rollWasCrit() diceroll}}
{{#^rollWasCrit() diceroll}} {{diceroll_damage}} {{/^rollWasCrit() diceroll}}
</div>
</div>
{{#rollWasCrit() diceroll}}
{{#rollTotal() weapon_impale 1}}
<div class="sheet-roll-row">
<div class="sheet-roll-cell">&nbsp;</div>
<div class="sheet-roll-cell"><span style="color:green;font-weight:bold;" data-i18n="impaled">Impaled !</span></div>
</div>
{{/rollTotal() weapon_impale 1}}
{{/rollWasCrit() diceroll}}
<div class="sheet-roll-row">
<div class="sheet-roll-cell"><span data-i18n="location">Location</span></div>
{{#rollBetween() hit_location 1 3}}
<div class="sheet-roll-cell"><span data-i18n="right-leg">Right Leg</span> ({{hit_location}})</div>
{{/rollBetween() hit_location 1 3}}
{{#rollBetween() hit_location 4 6}}
<div class="sheet-roll-cell"><span data-i18n="left-leg">Left Leg</span> ({{hit_location}})</div>
{{/rollBetween() hit_location 4 6}}
{{#rollBetween() hit_location 7 9}}
<div class="sheet-roll-cell"><span data-i18n="abdomen">Abdomen</span> ({{hit_location}})</div>
{{/rollBetween() hit_location 7 9}}
{{#rollBetween() hit_location 10 12}}
<div class="sheet-roll-cell"><span data-i18n="chest">Chest</span> ({{hit_location}})</div>
{{/rollBetween() hit_location 10 12}}
{{#rollBetween() hit_location 13 15}}
<div class="sheet-roll-cell"><span data-i18n="right-arm">Right Arm</span> ({{hit_location}})</div>
{{/rollBetween() hit_location 13 15}}
{{#rollBetween() hit_location 16 18}}
<div class="sheet-roll-cell"><span data-i18n="left-arm">Left Arm</span> ({{hit_location}})</div>
{{/rollBetween() hit_location 16 18}}
{{#rollBetween() hit_location 19 20}}
<div class="sheet-roll-cell"><span data-i18n="head">Head</span> ({{hit_location}})</div>
{{/rollBetween() hit_location 19 20}}
</div>
{{/rollLess() diceroll weapon_value}}
</div>
</div>
</rolltemplate>
<rolltemplate class="sheet-rolltemplate-hm_macro">
<div class="sheet-roll-table sheet-rounded">
<div class="sheet-roll-header">
{{#character_name}} {{#character_id}}[{{character_name}}](https://journal.roll20.net/character/{{character_id}}){{/character_id}} {{^character_id}}{{character_name}}{{/character_id}} {{#mount_name}}({{mount_name}}){{/mount_name}} {{/character_name}}
</div>
<div class="sheet-roll-header sheet-roll-text-white sheet-roll-text-right sheet-roll-text-12px">
<span data-i18n="macro">Macro</span> : {{macro_name}}
</div>
<div class="sheet-roll-group2">
<div class="sheet-roll-row">
<div class="sheet-roll-cell"><span data-i18n="result">Result</span></div>
<div class="sheet-roll-cell">{{diceroll}}</div>
</div>
</div>
</div>
</rolltemplate>
</aside>
<script type="text/worker">
/* ---- BEGIN: TheAaronSheet.js ---- */
// Github: https://github.com/shdwjk/TheAaronSheet/blob/master/TheAaronSheet.js
// By: The Aaron, Arcane Scriptomancer
// Contact: https://app.roll20.net/users/104025/the-aaron
var TAS = TAS || (function(){
'use strict';
var version = '0.2.5',
lastUpdate = 1504710542,
loggingSettings = {
debug: {
key: 'debug',
title: 'DEBUG',
color: {
bgLabel: '#7732A2',
label: '#F2EF40',
bgText: '#FFFEB7',
text: '#7732A2'
}
},
error: {
key: 'error',
title: 'Error',
color: {
bgLabel: '#C11713',
label: 'white',
bgText: '#C11713',
text: 'white'
}
},
warn: {
key: 'warn',
title: 'Warning',
color: {
bgLabel: '#F29140',
label: 'white',
bgText: '#FFD8B7',
text: 'black'
}
},
info: {
key: 'info',
title: 'Info',
color: {
bgLabel: '#413FA9',
label: 'white',
bgText: '#B3B2EB',
text: 'black'
}
},
notice: {
key: 'notice',
title: 'Notice',
color: {
bgLabel: '#33C133',
label: 'white',
bgText: '#ADF1AD',
text: 'black'
}
},
log: {
key: 'log',
title: 'Log',
color: {
bgLabel: '#f2f240',
label: 'black',
bgText: '#ffff90',
text: 'black'
}
},
callstack: {
key: 'TAS',
title: 'function',
color: {
bgLabel: '#413FA9',
label: 'white',
bgText: '#B3B2EB',
text: 'black'
}
},
callstack_async: {
key: 'TAS',
title: 'ASYNC CALL',
color: {
bgLabel: '#413FA9',
label: 'white',
bgText: '#413FA9',
text: 'white'
}
},
TAS: {
key: 'TAS',
title: 'TAS',
color: {
bgLabel: 'grey',
label: 'black;background:linear-gradient(#304352,#d7d2cc,#d7d2cc,#d7d2cc,#304352)',
bgText: 'grey',
text: 'black;background:linear-gradient(#304352,#d7d2cc,#d7d2cc,#d7d2cc,#304352)'
}
}
},
config = {
debugMode: false,
logging: {
log: true,
notice: true,
info: true,
warn: true,
error: true,
debug: false
}
},
callstackRegistry = [],
queuedUpdates = {}, //< Used for delaying saves till the last moment.
complexType = function(o){
switch(typeof o){
case 'string':
return 'string';
case 'boolean':
return 'boolean';
case 'number':
return (_.isNaN(o) ? 'NaN' : (o.toString().match(/\./) ? 'decimal' : 'integer'));
case 'function':
return 'function: '+(o.name ? o.name+'()' : '(anonymous)');
case 'object':
return (_.isArray(o) ? 'array' : (_.isArguments(o) ? 'arguments' : ( _.isNull(o) ? 'null' : 'object')));
default:
return typeof o;
}
},
dataLogger = function(primaryLogger,secondaryLogger,data){
_.each(data,function(m){
var type = complexType(m);
switch(type){
case 'string':
primaryLogger(m);
break;
case 'undefined':
case 'null':
case 'NaN':
primaryLogger('['+type+']');
break;
case 'number':
case 'not a number':
case 'integer':
case 'decimal':
case 'boolean':
primaryLogger('['+type+']: '+m);
break;
default:
primaryLogger('['+type+']:=========================================');
secondaryLogger(m);
primaryLogger('=========================================================');
break;
}
});
},
colorLog = function(options){
var coloredLoggerFunction,
key = options.key,
label = options.title || 'TAS',
lBGColor = (options.color && options.color.bgLabel) || 'blue',
lTxtColor = (options.color && options.color.label) || 'white',
mBGColor = (options.color && options.color.bgText) || 'blue',
mTxtColor = (options.color && options.color.text) || 'white';
coloredLoggerFunction = function(message){
/* eslint-disable no-console */
console.log(
'%c '+label+': %c '+message + ' ',
'background-color: '+lBGColor+';color: '+lTxtColor+'; font-weight:bold;',
'background-color: '+mBGColor+';color: '+mTxtColor+';'
);
/* eslint-enable no-console */
};
return function(){
if('TAS'===key || config.logging[key]){
/* eslint-disable no-console */
dataLogger(coloredLoggerFunction,function(m){console.log(m);},_.toArray(arguments));
/* eslint-enable no-console */
}
};
},
logDebug = colorLog(loggingSettings.debug),
logError = colorLog(loggingSettings.error),
logWarn = colorLog(loggingSettings.warn),
logInfo = colorLog(loggingSettings.info),
logNotice = colorLog(loggingSettings.notice),
logLog = colorLog(loggingSettings.log),
log = colorLog(loggingSettings.TAS),
logCS = colorLog(loggingSettings.callstack),
logCSA = colorLog(loggingSettings.callstack_async),
registerCallstack = function(callstack,label){
var idx=_.findIndex(callstackRegistry,function(o){
return (_.difference(o.stack,callstack).length === _.difference(callstack,o.stack).length) &&
_.difference(o.stack,callstack).length === 0 &&
o.label === label;
});
if(-1 === idx){
idx=callstackRegistry.length;
callstackRegistry.push({
stack: callstack,
label: label
});
}
return idx;
},
setConfigOption = function(options){
var newconf =_.defaults(options,config);
newconf.logging=_.defaults(
(options && options.logging)||{},
config.logging
);
config=newconf;
},
isDebugMode = function(){
return config.debugMode;
},
debugMode = function(){
config.logging.debug=true;
config.debugMode = true;
},
getCallstack = function(){
var e = new Error('dummy'),
stack = _.map(_.rest(e.stack.replace(/^[^(]+?[\n$]/gm, '')
.replace(/^\s+at\s+/gm, '')
.replace(/^Object.<anonymous>\s*\(/gm, '{anonymous}()@')
.split('\n')),function(l){
return l.replace(/\s+.*$/,'');
});
return stack;
},
logCallstackSub = function(cs){
var matches, csa;
_.find(cs,function(line){
matches = line.match(/TAS_CALLSTACK_(\d+)/);
if(matches){
csa=callstackRegistry[matches[1]];
logCSA( '===================='+(csa.label ? '> '+csa.label+' <' : '')+'====================');
logCallstackSub(csa.stack);
return true;
}
logCS(line);
return false;
});
},
logCallstack = function(){
var cs;
if(config.debugMode){
cs = getCallstack();
cs.shift();
log('==============================> CALLSTACK <==============================');
logCallstackSub(cs);
log('=========================================================================');
}
},
wrapCallback = function (label, callback, context){
var callstack;
if('function' === typeof label){
context=callback;
callback=label;
label=undefined;
}
if(!config.debugMode){
return (function(cb,ctx){
return function(){
cb.apply(ctx||{},arguments);
};
}(callback,context));
}
callstack = getCallstack();
callstack.shift();
return (function(cb,ctx,cs,lbl){
var ctxref=registerCallstack(cs,lbl);
/*jshint -W054 */
return new Function('cb','ctx','TASlog',
"return function TAS_CALLSTACK_"+ctxref+"(){"+
"var start,end;"+
"TASlog('Entering: '+(cb.name||'(anonymous function)'));"+
"start=_.now();"+
"cb.apply(ctx||{},arguments);"+
"end=_.now();"+
"TASlog('Exiting: '+(cb.name||'(anonymous function)')+' :: '+(end-start)+'ms elapsed');"+
"};")(cb,ctx,log);
/*jshint +W054 */
}(callback,context,callstack,label));
},
prepareUpdate = function( attribute, value ){
queuedUpdates[attribute]=value;
},
applyQueuedUpdates = function() {
setAttrs(queuedUpdates);
queuedUpdates = {};
},
namesFromArgs = function(args,base){
return _.chain(args)
.reduce(function(memo,attr){
if('string' === typeof attr) {
memo.push(attr);
} else if(_.isArray(args) || _.isArguments(args)){
memo = namesFromArgs(attr,memo);
}
return memo;
},(_.isArray(base) && base) || [])
.uniq()
.value();
},
addId = function(obj,value){
Object.defineProperty(obj,'id',{
value: value,
writable: false,
enumerable: false
});
},
addProp = function(obj,prop,value,fullname){
(function(){
var pname=(_.contains(['S','F','I','D'],prop) ? '_'+prop : prop),
full_pname = fullname || prop,
pvalue=value;
_.each(['S','I','F'],function(p){
if( !_.has(obj,p)){
Object.defineProperty(obj, p, {
value: {},
enumerable: false,
readonly: true
});
}
});
if( !_.has(obj,'D')){
Object.defineProperty(obj, 'D', {
value: _.reduce(_.range(10),function(m,d){
Object.defineProperty(m, d, {
value: {},
enumerable: true,
readonly: true
});
return m;
},{}),
enumerable: false,
readonly: true
});
}
// Raw value
Object.defineProperty(obj, pname, {
enumerable: true,
set: function(v){
if(v!==pvalue) {
pvalue=v;
prepareUpdate(full_pname,v);
}
},
get: function(){
return pvalue;
}
});
// string value
Object.defineProperty(obj.S, pname, {
enumerable: true,
set: function(v){
var val=v.toString();
if(val !== pvalue) {
pvalue=val;
prepareUpdate(full_pname,val);
}
},
get: function(){
return pvalue.toString();
}
});
// int value
Object.defineProperty(obj.I, pname, {
enumerable: true,
set: function(v){
var val=parseInt(v,10) || 0;
if(val !== pvalue){
pvalue=val;
prepareUpdate(full_pname,val);
}
},
get: function(){
return parseInt(pvalue,10) || 0;
}
});
// float value
Object.defineProperty(obj.F, pname, {
enumerable: true,
set: function(v){
var val=parseFloat(v) || 0;
if(val !== pvalue) {
pvalue=val;
prepareUpdate(full_pname,val);
}
},
get: function(){
return parseFloat(pvalue) || 0;
}
});
_.each(_.range(10),function(d){
Object.defineProperty(obj.D[d], pname, {
enumerable: true,
set: function(v){
var val=(parseFloat(v) || 0).toFixed(d);
if(val !== pvalue){
pvalue=val;
prepareUpdate(full_pname,val);
}
},
get: function(){
return (parseFloat(pvalue) || 0).toFixed(d);
}
});
});
}());
},
repeating = function( section ) {
return (function(s){
var sectionName = s,
attrNames = [],
fieldNames = [],
operations = [],
after = [],
repAttrs = function TAS_Repeating_Attrs(){
attrNames = namesFromArgs(arguments,attrNames);
return this;
},
repFields = function TAS_Repeating_Fields(){
fieldNames = namesFromArgs(arguments,fieldNames);
return this;
},
repReduce = function TAS_Repeating_Reduce(func, initial, final, context) {
operations.push({
type: 'reduce',
func: (func && _.isFunction(func) && func) || _.noop,
memo: (_.isUndefined(initial) && 0) || initial,
final: (final && _.isFunction(final) && final) || _.noop,
context: context || {}
});
return this;
},
repMap = function TAS_Repeating_Map(func, final, context) {
operations.push({
type: 'map',
func: (func && _.isFunction(func) && func) || _.noop,
final: (final && _.isFunction(final) && final) || _.noop,
context: context || {}
});
return this;
},
repEach = function TAS_Repeating_Each(func, final, context) {
operations.push({
type: 'each',
func: (func && _.isFunction(func) && func) || _.noop,
final: (final && _.isFunction(final) && final) || _.noop,
context: context || {}
});
return this;
},
repTap = function TAS_Repeating_Tap(final, context) {
operations.push({
type: 'tap',
final: (final && _.isFunction(final) && final) || _.noop,
context: context || {}
});
return this;
},
repAfter = function TAS_Repeating_After(callback,context) {
after.push({
callback: (callback && _.isFunction(callback) && callback) || _.noop,
context: context || {}
});
return this;
},
repExecute = function TAS_Repeating_Execute(callback,context){
var rowSet = {},
attrSet = {},
fieldIds = [],
fullFieldNames = [];
repAfter(callback,context);
// call each operation per row.
// call each operation's final
getSectionIDs("repeating_"+sectionName,function(ids){
fieldIds = ids;
fullFieldNames = _.reduce(fieldIds,function(memo,id){
return memo.concat(_.map(fieldNames,function(name){
return 'repeating_'+sectionName+'_'+id+'_'+name;
}));
},[]);
getAttrs( _.uniq(attrNames.concat(fullFieldNames)), function(values){
_.each(attrNames,function(aname){
if(values.hasOwnProperty(aname)){
addProp(attrSet,aname,values[aname]);
}
});
rowSet = _.reduce(fieldIds,function(memo,id){
var r={};
addId(r,id);
_.each(fieldNames,function(name){
var fn = 'repeating_'+sectionName+'_'+id+'_'+name;
addProp(r,name,values[fn],fn);
});
memo[id]=r;
return memo;
},{});
_.each(operations,function(op){
var res;
switch(op.type){
case 'tap':
_.bind(op.final,op.context,rowSet,attrSet)();
break;
case 'each':
_.each(rowSet,function(r){
_.bind(op.func,op.context,r,attrSet,r.id,rowSet)();
});
_.bind(op.final,op.context,rowSet,attrSet)();
break;
case 'map':
res = _.map(rowSet,function(r){
return _.bind(op.func,op.context,r,attrSet,r.id,rowSet)();
});
_.bind(op.final,op.context,res,rowSet,attrSet)();
break;
case 'reduce':
res = op.memo;
_.each(rowSet,function(r){
res = _.bind(op.func,op.context,res,r,attrSet,r.id,rowSet)();
});
_.bind(op.final,op.context,res,rowSet,attrSet)();
break;
}
});
// finalize attrs
applyQueuedUpdates();
_.each(after,function(op){
_.bind(op.callback,op.context)();
});
});
});
};
return {
attrs: repAttrs,
attr: repAttrs,
column: repFields,
columns: repFields,
field: repFields,
fields: repFields,
reduce: repReduce,
inject: repReduce,
foldl: repReduce,
map: repMap,
collect: repMap,
each: repEach,
forEach: repEach,
tap: repTap,
'do': repTap,
after: repAfter,
last: repAfter,
done: repAfter,
execute: repExecute,
go: repExecute,
run: repExecute
};
}(section));
},
repeatingSimpleSum = function(section, field, destination){
repeating(section)
.attr(destination)
.field(field)
.reduce(function(m,r){
return m + (r.F[field]);
},0,function(t,r,a){
a.S[destination]=t;
})
.execute();
};
/* eslint-disable no-console */
console.log('%c•.¸¸.•*´¨`*•.¸¸.•*´¨`*•.¸ The Aaron Sheet v'+version+' ¸.•*´¨`*•.¸¸.•*´¨`*•.¸¸.•','background: linear-gradient(to right,green,white,white,green); color:black;text-shadow: 0 0 8px white;');
console.log('%c•.¸¸.•*´¨`*•.¸¸.•*´¨`*•.¸ Last update: '+(new Date(lastUpdate*1000))+' ¸.•*´¨`*•.¸¸.•*´¨`*•.¸¸.•','background: linear-gradient(to right,green,white,white,green); color:black;text-shadow: 0 0 8px white;');
/* eslint-enable no-console */
return {
/* Repeating Sections */
repeatingSimpleSum: repeatingSimpleSum,
repeating: repeating,
/* Configuration */
config: setConfigOption,
/* Debugging */
callback: wrapCallback,
callstack: logCallstack,
debugMode: debugMode,
isDebugMode: isDebugMode,
_fn: wrapCallback,
/* Logging */
debug: logDebug,
error: logError,
warn: logWarn,
info: logInfo,
notice: logNotice,
log: logLog
};
}());
/* ---- END: TheAaronSheet.js ---- */
TAS.config({
logging: {
error: true,
warning: true,
info: true,
debug: true
}
});
TAS.debugMode();
var hkmn = hkmn || (function () {
initCSheet = function () {
TAS.debug('Function Init Sheet');
getAttrs(["initSheet"], function(values){
var valinitSheet=parseInt(values.initSheet);
if(valinitSheet==1){
setAttrs({
'acrobatics-mod': 0,
'athletics-mod': 0,
'boating-mod': 0,
'dodge-mod': 0,
'driving-mod': 0,
'evaluate-mod': 0,
'first-aid-mod': 0,
'influence-mod': 0,
'lore-animal-mod': 0,
'lore-plant-mod': 0,
'lore-world-mod': 0,
'perception-mod': 0,
'persistence-mod': 0,
'resilience-mod': 0,
'riding-mod': 0,
'sing-mod': 0,
'sleight-mod': 0,
'stealth-mod': 0,
'throwing-mod': 0,
'unarmed-mod': 0,
'basic-close-combat-mod':0,
'basic-ranged-mod':0,
'rep':0,
'initSheet':0
});
}
});
};
return {
initCSheet: initCSheet
};
}
());
on('sheet:opened',function(){
TAS.debug('Sheet Opened');
hkmn.initCSheet();
});
/*****************************/
/* Combat Action Calculation */
/*****************************/
on("change:dex", function () {
getAttrs(["dex"], function (values) {
var resValue = parseInt(values.dex);
if (resValue < 7) {
setAttrs({
'ca': 1
});
} else if (resValue < 13) {
setAttrs({
'ca': 2
});
} else if (resValue < 19) {
setAttrs({
'ca': 3
});
} else{
setAttrs({
'ca': 4
});
}
});
});
/***************************/
/* Strike Rank Calculation */
/***************************/
on("change:int change:dex", function () {
getAttrs(["dex", "int"], function (values) {
var resValue = parseInt(values.dex)+parseInt(values.int);
var result = Math.ceil(resValue/2);
setAttrs({
'sr': result
});
});
});
/***************************/
/* Fate Points Calculation */
/***************************/
on("change:pow", function () {
getAttrs(["pow","initFate"], function (values) {
var resValue = parseInt(values.pow);
var result = Math.floor(resValue/2);
var valInitFate=parseInt(values.initFate);
if(valInitFate==1){
setAttrs({
'fate-points': result,
'fate-points-total': result,
'initFate': 0
});
}
setAttrs({
'focus-points_max': resValue
});
});
});
/**********************************/
/* Hit Point Location Calculation */
/**********************************/
on("change:siz change:con", function () {
getAttrs(["siz", "con", "initHp"], function (values) {
var valInitHp=parseInt(values.initHp);
var resValue = parseInt(values.siz) + parseInt(values.con);
if (resValue < 6) {
if(valInitHp==1){
setAttrs({
'right-leg-hp': 1,
'left-leg-hp': 1,
'abdomen-hp': 2,
'chest-hp': 3,
'right-arm-hp': 1,
'left-arm-hp': 1,
'head-hp': 1,
'initHp': 0
});
}
setAttrs({
'right-arm-hp_max': 1,
'right-leg-hp_max': 1,
'left-leg-hp_max': 1,
'abdomen-hp_max': 2,
'chest-hp_max': 3,
'left-arm-hp_max': 1,
'head-hp_max': 1
});
} else if (resValue < 11) {
if(valInitHp==1){
setAttrs({
'right-leg-hp': 2,
'left-leg-hp': 2,
'abdomen-hp': 3,
'chest-hp': 4,
'right-arm-hp': 1,
'left-arm-hp': 1,
'head-hp': 2,
'initHp': 0
});
}
setAttrs({
'right-leg-hp_max': 2,
'left-leg-hp_max': 2,
'abdomen-hp_max': 3,
'chest-hp_max': 4,
'right-arm-hp_max': 1,
'left-arm-hp_max': 1,
'head-hp_max': 2
});
} else if (resValue < 16) {
if(valInitHp==1){
setAttrs({
'right-leg-hp': 3,
'left-leg-hp': 3,
'abdomen-hp': 4,
'chest-hp': 5,
'right-arm-hp': 2,
'left-arm-hp': 2,
'head-hp': 3,
'initHp': 0
});
}
setAttrs({
'right-leg-hp_max': 3,
'left-leg-hp_max': 3,
'abdomen-hp_max': 4,
'right-arm-hp_max': 2,
'left-arm-hp_max': 2,
'head-hp_max': 3
});
} else if (resValue < 21) {
if(valInitHp==1){
setAttrs({
'right-leg-hp': 4,
'left-leg-hp': 4,
'abdomen-hp': 5,
'chest-hp': 6,
'right-arm-hp': 3,
'left-arm-hp': 3,
'head-hp': 4,
'initHp': 0
});
}
setAttrs({
'right-leg-hp_max': 4,
'left-leg-hp_max': 4,
'abdomen-hp_max': 5,
'chest-hp_max': 6,
'right-arm-hp_max': 3,
'left-arm-hp_max': 3,
'head-hp_max': 4
});
} else if (resValue < 26) {
if(valInitHp==1){
setAttrs({
'right-leg-hp': 5,
'left-leg-hp': 5,
'abdomen-hp': 6,
'chest-hp': 7,
'right-arm-hp': 4,
'left-arm-hp': 4,
'head-hp': 5,
'initHp': 0
});
}
setAttrs({
'right-leg-hp_max': 5,
'left-leg-hp_max': 5,
'abdomen-hp_max': 6,
'chest-hp_max': 7,
'right-arm-hp_max': 4,
'left-arm-hp_max': 4,
'head-hp_max': 5
});
} else if (resValue < 31) {
if(valInitHp==1){
setAttrs({
'right-leg-hp': 6,
'left-leg-hp': 6,
'abdomen-hp': 7,
'chest-hp': 8,
'right-arm-hp': 5,
'left-arm-hp': 5,
'head-hp': 6,
'initHp': 0
});
}
setAttrs({
'right-leg-hp_max': 6,
'left-leg-hp_max': 6,
'abdomen-hp_max': 7,
'chest-hp_max': 8,
'right-arm-hp_max': 5,
'left-arm-hp_max': 5,
'head-hp_max': 6
});
} else if (resValue < 36) {
if(valInitHp==1){
setAttrs({
'right-leg-hp': 7,
'left-leg-hp': 7,
'abdomen-hp': 8,
'chest-hp': 9,
'right-arm-hp': 6,
'left-arm-hp': 6,
'head-hp': 7,
'initHp': 0
});
}
setAttrs({
'right-leg-hp_max': 7,
'left-leg-hp_max': 7,
'abdomen-hp_max': 8,
'chest-hp_max': 9,
'right-arm-hp_max': 6,
'left-arm-hp_max': 6,
'head-hp_max': 7
});
} else if (resValue < 41) {
if(valInitHp==1){
setAttrs({
'right-leg-hp': 8,
'left-leg-hp': 8,
'abdomen-hp': 9,
'chest-hp': 10,
'right-arm-hp': 7,
'left-arm-hp': 7,
'head-hp': 8,
'initHp': 0
});
}
setAttrs({
'right-leg-hp_max': 8,
'left-leg-hp_max': 8,
'abdomen-hp_max': 9,
'chest-hp_max': 10,
'right-arm-hp_max': 7,
'left-arm-hp_max': 7,
'head-hp_max': 8
});
} else{
calValue=Math.round((resValue/5)-7)
if(valInitHp==1){
setAttrs({
'right-leg-hp': 8+calValue,
'left-leg-hp': 8+calValue,
'abdomen-hp': 9+calValue,
'chest-hp': 10+calValue,
'right-arm-hp': 7+calValue,
'left-arm-hp': 7+calValue,
'head-hp': 8+calValue,
'initHp': 0
});
}
setAttrs({
'right-leg-hp_max': 8+calValue,
'left-leg-hp_max': 8+calValue,
'abdomen-hp_max': 9+calValue,
'chest-hp_max': 10+calValue,
'right-arm-hp_max': 7+calValue,
'left-arm-hp_max': 7+calValue,
'head-hp_max': 8+calValue
});
}
});
});
/*************************************************/
/* Damage Modifier & Max Encumbrance Calculation */
/*************************************************/
on("change:str change:siz", function () {
getAttrs(["str", "siz"], function (values) {
var resValue = parseInt(values.str) + parseInt(values.siz);
setAttrs({
'total-enc-overload': resValue,
'total-enc_max': resValue*2
});
if (resValue < 6) {
setAttrs({
'dmg-mod': "-1d8"
});
} else if (resValue < 11) {
setAttrs({
'dmg-mod': "-1d6"
});
} else if (resValue < 16) {
setAttrs({
'dmg-mod': "-1d4"
});
} else if (resValue < 21) {
setAttrs({
'dmg-mod': "-1d2"
});
} else if (resValue < 26) {
setAttrs({
'dmg-mod': "0"
});
} else if (resValue < 31) {
setAttrs({
'dmg-mod': "1d2"
});
} else if (resValue < 36) {
setAttrs({
'dmg-mod': "1d4"
});
} else if (resValue < 41) {
setAttrs({
'dmg-mod': "1d6"
});
} else if (resValue < 46) {
setAttrs({
'dmg-mod': "1d8"
});
} else if (resValue < 51) {
setAttrs({
'dmg-mod': "1d10"
});
} else if (resValue < 61) {
setAttrs({
'dmg-mod': "1d12"
});
} else if (resValue < 71) {
setAttrs({
'dmg-mod': "2d6"
});
} else if (resValue < 81) {
setAttrs({
'dmg-mod': "2d8"
});
} else if (resValue < 91) {
setAttrs({
'dmg-mod': "2d10"
});
} else if (resValue < 101) {
setAttrs({
'dmg-mod': "2d12"
});
} else if (resValue < 121) {
setAttrs({
'dmg-mod': "3d10"
});
} else if (resValue < 141) {
setAttrs({
'dmg-mod': "3d12"
});
} else if (resValue < 161) {
setAttrs({
'dmg-mod': "4d10"
});
} else if (resValue < 181) {
setAttrs({
'dmg-mod': "4d12"
});
} else {
setAttrs({
'dmg-mod': "5d10"
});
}
});
});
/****************************/
/* Basic Skills Calculation */
/****************************/
on("change:str change:con change:dex change:siz change:int change:pow change:cha", function () {
getAttrs(["str", "con", "dex", "siz", "int", "pow", "cha"], function (values) {
var strValue = parseInt(values.str);
var conValue = parseInt(values.con);
var dexValue = parseInt(values.dex);
var sizValue = parseInt(values.siz);
var intValue = parseInt(values.int);
var powValue = parseInt(values.pow);
var chaValue = parseInt(values.cha);
setAttrs({
'acrobatics-base': dexValue,
'athletics-base': strValue+dexValue,
'boating-base': strValue,
'dodge-base': 10+dexValue-sizValue,
'driving-base': 10+powValue,
'evaluate-base': intValue,
'first-aid-base': intValue,
'influence-base': 10+chaValue,
'lore-animal-base': intValue,
'lore-plant-base': intValue,
'lore-world-base': intValue,
'perception-base': intValue+powValue,
'persistence-base': 40+chaValue+powValue,
'resilience-base': 40+conValue+powValue,
'riding-base': dexValue+powValue,
'sing-base': chaValue,
'sleight-base': dexValue,
'stealth-base': 10+dexValue-sizValue,
'throwing-base': dexValue,
'unarmed-base': strValue,
'basic-close-combat-base':strValue+dexValue,
'basic-ranged-base':dexValue
});
});
});
/********************************/
/* Acrobatics Skill Calculation */
/********************************/
on("change:acrobatics-base change:acrobatics-mod change:total_armor_penalty change:usearmorpenalty", function (eventinfo) {
getAttrs(["acrobatics-base","acrobatics-mod","total_armor_penalty","useArmorPenalty"], function (values) {
var acrobaticsBase = parseInt(values["acrobatics-base"]);
var acrobaticsMod = parseInt(values["acrobatics-mod"]);
var penaltyVal = parseInt(values["total_armor_penalty"]);
var usePenalty = parseInt(values["useArmorPenalty"]);
if(usePenalty==1){
if((acrobaticsMod+penaltyVal)>=0){
setAttrs({
'acrobatics': acrobaticsBase+acrobaticsMod+penaltyVal
});
}
else{
setAttrs({
'acrobatics': acrobaticsBase
});
}
}
else{
setAttrs({
'acrobatics': acrobaticsBase+acrobaticsMod
});
}
});
});
/*******************************/
/* Athletics Skill Calculation */
/*******************************/
on("change:athletics-base change:athletics-mod change:total_armor_penalty change:usearmorpenalty", function (eventinfo) {
getAttrs(["athletics-base","athletics-mod","total_armor_penalty","useArmorPenalty"], function (values) {
var athleticsBase = parseInt(values["athletics-base"]);
var athleticsMod = parseInt(values["athletics-mod"]);
var penaltyVal = parseInt(values["total_armor_penalty"]);
var usePenalty = parseInt(values["useArmorPenalty"]);
if(usePenalty==1){
if((athleticsMod+penaltyVal)>=0){
setAttrs({
'athletics': athleticsBase+athleticsMod+penaltyVal
});
}
else{
setAttrs({
'athletics': athleticsBase
});
}
}
else{
setAttrs({
'athletics': athleticsBase+athleticsMod
});
}
});
});
/*****************************/
/* Boating Skill Calculation */
/*****************************/
on("change:boating-base change:boating-mod", function (eventinfo) {
getAttrs(["boating-base","boating-mod"], function (values) {
var boatingBase = parseInt(values["boating-base"]);
var boatingMod = parseInt(values["boating-mod"]);
setAttrs({
'boating': boatingBase+boatingMod
});
});
});
/***************************/
/* Dodge Skill Calculation */
/***************************/
on("change:dodge-base change:dodge-mod change:total_armor_penalty change:usearmorpenalty", function (eventinfo) {
getAttrs(["dodge-base","dodge-mod","total_armor_penalty","useArmorPenalty"], function (values) {
var dodgeBase = parseInt(values["dodge-base"]);
var dodgeMod = parseInt(values["dodge-mod"]);
var penaltyVal = parseInt(values["total_armor_penalty"]);
var usePenalty = parseInt(values["useArmorPenalty"]);
if(usePenalty==1){
if((dodgeMod+penaltyVal)>=0){
setAttrs({
'dodge': dodgeBase+dodgeMod+penaltyVal
});
}
else{
setAttrs({
'dodge': dodgeBase
});
}
}
else {
setAttrs({
'dodge': dodgeBase+dodgeMod
});
}
});
});
/*****************************/
/* Driving Skill Calculation */
/*****************************/
on("change:driving-base change:driving-mod", function (eventinfo) {
getAttrs(["driving-base","driving-mod"], function (values) {
var drivingBase = parseInt(values["driving-base"]);
var drivingMod = parseInt(values["driving-mod"]);
setAttrs({
'driving': drivingBase+drivingMod
});
});
});
/******************************/
/* Evaluate Skill Calculation */
/******************************/
on("change:evaluate-base change:evaluate-mod", function (eventinfo) {
getAttrs(["evaluate-base","evaluate-mod"], function (values) {
var evaluateBase = parseInt(values["evaluate-base"]);
var evaluateMod = parseInt(values["evaluate-mod"]);
setAttrs({
'evaluate': evaluateBase+evaluateMod
});
});
});
/*******************************/
/* Influence Skill Calculation */
/*******************************/
on("change:influence-base change:influence-mod", function (eventinfo) {
getAttrs(["influence-base","influence-mod"], function (values) {
var influenceBase = parseInt(values["influence-base"]);
var influenceMod = parseInt(values["influence-mod"]);
setAttrs({
'influence': influenceBase+influenceMod
});
});
});
/*******************************/
/* First Aid Skill Calculation */
/*******************************/
on("change:first-aid-base change:first-aid-mod", function (eventinfo) {
getAttrs(["first-aid-base","first-aid-mod"], function (values) {
var firstAidBase = parseInt(values["first-aid-base"]);
var firstAidMod = parseInt(values["first-aid-mod"]);
setAttrs({
'first-aid': firstAidBase+firstAidMod
});
});
});
/*********************************/
/* Lore Animal Skill Calculation */
/*********************************/
on("change:lore-animal-base change:lore-animal-mod", function (eventinfo) {
getAttrs(["lore-animal-base","lore-animal-mod"], function (values) {
var loreAnimalBase = parseInt(values["lore-animal-base"]);
var loreAnimalMod = parseInt(values["lore-animal-mod"]);
setAttrs({
'lore-animal': loreAnimalBase+loreAnimalMod
});
});
});
/********************************/
/* Lore Plant Skill Calculation */
/********************************/
on("change:lore-plant-base change:lore-plant-mod", function (eventinfo) {
getAttrs(["lore-plant-base","lore-plant-mod"], function (values) {
var lorePlantBase = parseInt(values["lore-plant-base"]);
var lorePlantMod = parseInt(values["lore-plant-mod"]);
setAttrs({
'lore-plant': lorePlantBase+lorePlantMod
});
});
});
/********************************/
/* Lore World Skill Calculation */
/********************************/
on("change:lore-world-base change:lore-world-mod", function (eventinfo) {
getAttrs(["lore-world-base","lore-world-mod"], function (values) {
var loreWorldBase = parseInt(values["lore-world-base"]);
var loreWorldMod = parseInt(values["lore-world-mod"]);
setAttrs({
'lore-world': loreWorldBase+loreWorldMod
});
});
});
/********************************/
/* Perception Skill Calculation */
/********************************/
on("change:perception-base change:perception-mod", function (eventinfo) {
getAttrs(["perception-base","perception-mod"], function (values) {
var perceptionBase = parseInt(values["perception-base"]);
var perceptionMod = parseInt(values["perception-mod"]);
setAttrs({
'perception': perceptionBase+perceptionMod
});
});
});
/*********************************/
/* Persistence Skill Calculation */
/*********************************/
on("change:persistence-base change:persistence-mod", function (eventinfo) {
getAttrs(["persistence-base","persistence-mod"], function (values) {
var persistenceBase = parseInt(values["persistence-base"]);
var persistenceMod = parseInt(values["persistence-mod"]);
setAttrs({
'persistence': persistenceBase+persistenceMod
});
});
});
/********************************/
/* Resilience Skill Calculation */
/********************************/
on("change:resilience-base change:resilience-mod", function (eventinfo) {
getAttrs(["resilience-base","resilience-mod"], function (values) {
var resilienceBase = parseInt(values["resilience-base"]);
var resilienceMod = parseInt(values["resilience-mod"]);
setAttrs({
'resilience': resilienceBase+resilienceMod
});
});
});
/****************************/
/* Riding Skill Calculation */
/****************************/
on("change:riding-base change:riding-mod change:total_armor_penalty change:usearmorpenalty", function (eventinfo) {
getAttrs(["riding-base","riding-mod","total_armor_penalty","useArmorPenalty"], function (values) {
var ridingBase = parseInt(values["riding-base"]);
var ridingMod = parseInt(values["riding-mod"]);
var penaltyVal = parseInt(values["total_armor_penalty"]);
var usePenalty = parseInt(values["useArmorPenalty"]);
if(usePenalty==1){
if((ridingMod+penaltyVal)>=0){
setAttrs({
'riding': ridingBase+ridingMod+penaltyVal
});
}
else{
setAttrs({
'riding': ridingBase
});
}
}
else{
setAttrs({
'riding': ridingBase+ridingMod
});
}
});
});
/**************************/
/* Sing Skill Calculation */
/**************************/
on("change:sing-base change:sing-mod", function (eventinfo) {
getAttrs(["sing-base","sing-mod"], function (values) {
var singBase = parseInt(values["sing-base"]);
var singMod = parseInt(values["sing-mod"]);
setAttrs({
'sing': singBase+singMod
});
});
});
/*****************************/
/* Sleight Skill Calculation */
/*****************************/
on("change:sleight-base change:sleight-mod change:total_armor_penalty change:usearmorpenalty", function (eventinfo) {
getAttrs(["sleight-base","sleight-mod","total_armor_penalty","useArmorPenalty"], function (values) {
var sleightBase = parseInt(values["sleight-base"]);
var sleightMod = parseInt(values["sleight-mod"]);
var penaltyVal = parseInt(values["total_armor_penalty"]);
var usePenalty = parseInt(values["useArmorPenalty"]);
if(usePenalty==1){
if((sleightMod+penaltyVal)>=0){
setAttrs({
'sleight': sleightBase+sleightMod+penaltyVal
});
}
else{
setAttrs({
'sleight': sleightBase
});
}
}
else{
setAttrs({
'sleight': sleightBase+sleightMod
});
}
});
});
/*****************************/
/* Stealth Skill Calculation */
/*****************************/
on("change:stealth-base change:stealth-mod change:total_armor_penalty change:usearmorpenalty", function (eventinfo) {
getAttrs(["stealth-base","stealth-mod","total_armor_penalty","useArmorPenalty"], function (values) {
var stealthBase = parseInt(values["stealth-base"]);
var stealthMod = parseInt(values["stealth-mod"]);
var penaltyVal = parseInt(values["total_armor_penalty"]);
var usePenalty = parseInt(values["useArmorPenalty"]);
if(usePenalty==1){
if((stealthMod+penaltyVal)>=0){
setAttrs({
'stealth': stealthBase+stealthMod+penaltyVal
});
}
else{
setAttrs({
'stealth': stealthBase
});
}
}
else{
setAttrs({
'stealth': stealthBase+stealthMod
});
}
});
});
/******************************/
/* Throwing Skill Calculation */
/******************************/
on("change:throwing-base change:throwing-mod change:total_armor_penalty change:usearmorpenalty", function (eventinfo) {
getAttrs(["throwing-base","throwing-mod","total_armor_penalty","useArmorPenalty"], function (values) {
var throwingBase = parseInt(values["throwing-base"]);
var throwingMod = parseInt(values["throwing-mod"]);
var penaltyVal = parseInt(values["total_armor_penalty"]);
var usePenalty = parseInt(values["useArmorPenalty"]);
if(usePenalty==1){
if((throwingMod+penaltyVal)>=0){
setAttrs({
'throwing': throwingBase+throwingMod+penaltyVal
});
}
else{
setAttrs({
'throwing': throwingBase
});
}
}
else{
setAttrs({
'throwing': throwingBase+throwingMod
});
}
});
});
/*****************************/
/* Unarmed Skill Calculation */
/*****************************/
on("change:unarmed-base change:unarmed-mod", function (eventinfo) {
getAttrs(["unarmed-base","unarmed-mod"], function (values) {
var unarmedBase = parseInt(values["unarmed-base"]);
var unarmedMod = parseInt(values["unarmed-mod"]);
setAttrs({
'unarmed': unarmedBase+unarmedMod
});
});
});
/****************************************/
/* Basic Close Combat Skill Calculation */
/****************************************/
on("change:basic-close-combat-base change:basic-close-combat-mod change:total_armor_penalty change:usearmorpenalty", function (eventinfo) {
getAttrs(["basic-close-combat-base","basic-close-combat-mod","total_armor_penalty","useArmorPenalty"], function (values) {
var basicCloseCombatBase = parseInt(values["basic-close-combat-base"]);
var basicCloseCombatMod = parseInt(values["basic-close-combat-mod"]);
var penaltyVal = parseInt(values["total_armor_penalty"]);
var usePenalty = parseInt(values["useArmorPenalty"]);
if(usePenalty==1){
if((basicCloseCombatMod+penaltyVal)>=0){
setAttrs({
'basic-close-combat': basicCloseCombatBase+basicCloseCombatMod+penaltyVal
});
}
else{
setAttrs({
'basic-close-combat': basicCloseCombatBase
});
}
}
else{
setAttrs({
'basic-close-combat': basicCloseCombatBase+basicCloseCombatMod
});
}
});
});
/**********************************/
/* Basic Ranged Skill Calculation */
/**********************************/
on("change:basic-ranged-base change:basic-ranged-mod change:total_armor_penalty change:usearmorpenalty", function (eventinfo) {
getAttrs(["basic-ranged-base","basic-ranged-mod","total_armor_penalty","useArmorPenalty"], function (values) {
var basicRangedBase = parseInt(values["basic-ranged-base"]);
var basicRangedMod = parseInt(values["basic-ranged-mod"]);
var penaltyVal = parseInt(values["total_armor_penalty"]);
var usePenalty = parseInt(values["useArmorPenalty"]);
if(usePenalty==1){
if((basicRangedMod+penaltyVal)>=0){
setAttrs({
'basic-ranged': basicRangedBase+basicRangedMod+penaltyVal
});
}
else{
setAttrs({
'basic-ranged': basicRangedBase
});
}
}
else{
setAttrs({
'basic-ranged': basicRangedBase+basicRangedMod
});
}
});
});
/*****************************/
/* Armor Penalty Calculation */
/*****************************/
on("change:repeating_armors:armor-penalty", function(eventinfo) {
TAS.repeatingSimpleSum('armors','armor-penalty','total_armor_penalty');
});
on("remove:repeating_armors:armor-penalty", function(eventinfo) {
TAS.repeatingSimpleSum('armors','armor-penalty','total_armor_penalty');
});
/*************************************/
/* Equipments Encumbrance Calculation */
/*************************************/
on("change:total_enc_armors change:total_enc_close_weapons change:total_enc_ranged_weapons change:total_enc_items", function(eventinfo) {
TAS.log("Calculate the Total Encumbrance");
getAttrs(["total_enc_armors","total_enc_close_weapons","total_enc_ranged_weapons","total_enc_items"], function (values) {
var armorsVal=parseInt(values.total_enc_armors);
var closeWeaponsVal=parseInt(values.total_enc_close_weapons);
var rangedWeaponsVal=parseInt(values.total_enc_ranged_weapons);
var itemsVal=parseInt(values.total_enc_items);
TAS.log(armorsVal);
TAS.log(closeWeaponsVal);
TAS.log(rangedWeaponsVal);
TAS.log(itemsVal);
setAttrs({
'total-enc': armorsVal+closeWeaponsVal+rangedWeaponsVal+itemsVal
});
});
});
on("change:repeating_equipments:item-enc change:repeating_equipments:item-number change:repeating_armors:armor-enc change:repeating_close-combat-weapons:close-combat-weapon-enc change:repeating_ranged-weapons:ranged-weapon-enc", function(eventinfo) {
TAS.repeatingSimpleSum('armors','armor-enc','total_enc_armors');
TAS.repeatingSimpleSum('close-combat-weapons','close-combat-weapon-enc','total_enc_close_weapons');
TAS.repeatingSimpleSum('ranged-weapons','ranged-weapon-enc','total_enc_ranged_weapons');
TAS.repeating('equipments')
.attrs('total_enc_items')
.fields('item-enc','item-number')
.reduce(function(memo,row,attrSet,id,rowSet){
memo.push(row.I["item-enc"]*row.I["item-number"]);
return memo;
},[], function(memo,rowSet,attrSet){
var count = 0;
for(var i=0, n=memo.length; i < n; i++)
{
count += memo[i];
}
attrSet["total_enc_items"]=count;
})
.execute();
});
on("remove:repeating_equipments remove.repeating_armors remove:repeating_close-combat-weapons remove:repeating_ranged-weapons", function(eventinfo) {
TAS.repeatingSimpleSum('armors','armor-enc','total_enc_armors');
TAS.repeatingSimpleSum('close-combat-weapons','close-combat-weapon-enc','total_enc_close_weapons');
TAS.repeatingSimpleSum('ranged-weapons','ranged-weapon-enc','total_enc_ranged_weapons');
TAS.repeating('equipments')
.attrs('total_enc_items')
.fields('item-enc','item-number')
.reduce(function(memo,row,attrSet,id,rowSet){
memo.push(row.I["item-enc"]*row.I["item-number"]);
return memo;
},[], function(memo,rowSet,attrSet){
var count = 0;
for(var i=0, n=memo.length; i < n; i++)
{
count += memo[i];
}
attrSet["total_enc_items"]=count;
})
.execute();
});
/********************************/
/* Get Weapons Max Damage Score */
/********************************/
on("change:repeating_close-combat-weapons:close-combat-weapon-damage", function(){
getAttrs(["repeating_close-combat-weapons_close-combat-weapon-damage","dmg-mod"], function (values) {
var weaponDamage=values["repeating_close-combat-weapons_close-combat-weapon-damage"].split("+");
var dmgMod=values["dmg-mod"];
var result=0;
for(var i=0;i < weaponDamage.length;i++){
var value=weaponDamage[i].trim();
if(value.indexOf("d") !== -1){
result+=parseInt(value.split("d")[1]);
}
else{
result+=parseInt(value);
}
}
if(dmgMod.indexOf("d") !== -1){
var maxMod=parseInt(dmgMod.split("d")[1]);
if(dmgMod.startsWith("-")){
result-=maxMod;
}
else{
result+=maxMod;
}
}
else{
if(dmgMod.startsWith("-")){
result-=parseInt(dmgMod);
}
else{
result+=parseInt(dmgMod);
}
}
setAttrs({
'repeating_close-combat-weapons_max_damages':result
});
});
});
on("change:repeating_ranged-weapons:ranged-weapon-damage change:repeating_ranged-weapons:ranged-weapon-damage-mod", function(){
getAttrs(["repeating_ranged-weapons_ranged-weapon-damage","repeating_ranged-weapons_ranged-weapon-damage-mod","dmg-mod"], function (values) {
var weaponDamage=values["repeating_ranged-weapons_ranged-weapon-damage"].split("+");
var damageMod=values["repeating_ranged-weapons_ranged-weapon-damage-mod"];
var dmgMod=values["dmg-mod"];
TAS.log('dmgMod: '+dmgMod);
var result=0;
for(var i=0;i < weaponDamage.length;i++){
var value=weaponDamage[i].trim();
if(value.indexOf("d") !== -1){
result+=parseInt(value.split("d")[1]);
}
else{
result+=parseInt(value);
}
}
var modFinal='[['+dmgMod+']]';
if(damageMod=="half"){
var modVal=0
if(dmgMod.indexOf("d") !== -1){
modVal = parseInt(dmgMod.split("d")[1]);
}
else{
var modVal = parseInt(dmgMod);
}
if(dmgMod.startsWith("-")){
result-=Math.ceil(modVal/2);
modFinal='-ceil([['+dmgMod.substr(1)+']]/2)';
}
else{
result+=Math.ceil(modVal/2);
modFinal='ceil([['+dmgMod+'}]]/2)';
}
}
else if(damageMod=="full"){
if(dmgMod.indexOf("d") !== -1){
if(dmgMod.startsWith("-")){
result-=parseInt(dmgMod.split("d")[1]);
}
else{
result+=parseInt(dmgMod.split("d")[1]);
}
}
else{
if(dmgMod.startsWith("-")){
result-=parseInt(dmgMod);
}
else{
result+=parseInt(dmgMod);
}
}
}
else{
modFinal='0';
}
TAS.log('modFinal: '+modFinal);
setAttrs({
'repeating_ranged-weapons_max_damages':result,
'repeating_ranged-weapons_damage_mod':modFinal
});
});
});
/***************************/
/* Get Weapons Skill Score */
/***************************/
on("change:repeating_close-combat-weapons:close-combat-weapon-skill", function(){
getAttrs(["repeating_close-combat-weapons_close-combat-weapon-skill"], function (values) {
var skillName=values["repeating_close-combat-weapons_close-combat-weapon-skill"];
var result=0;
TAS.repeating('weaponskills')
.fields('weaponSkillName','weaponSkill')
.each(function(f){
if(skillName==f['weaponSkillName']) {
result=f.I['weaponSkill'];
}
setAttrs({
'repeating_close-combat-weapons_close-combat-weapon-skill-score':result
});
})
.execute();
});
});
on("change:repeating_ranged-weapons:ranged-weapon-skill", function(){
getAttrs(["repeating_ranged-weapons_ranged-weapon-skill"], function (values) {
var skillName=values["repeating_ranged-weapons_ranged-weapon-skill"];
var result=0;
TAS.repeating('weaponskills')
.fields('weaponSkillName','weaponSkill')
.each(function(f){
if(skillName==f['weaponSkillName']) {
result=f.I['weaponSkill'];
}
setAttrs({
'repeating_ranged-weapons_ranged-weapon-skill-score':result
});
})
.execute();
});
});
on("change:repeating_close-combat-weapons:close-combat-weapon-skill", function(){
getAttrs(["repeating_close-combat-weapons_close-combat-weapon-skill"], function (values) {
var skillName=values["repeating_close-combat-weapons_close-combat-weapon-skill"];
var result=0;
TAS.repeating('weaponskills')
.fields('weaponSkillName','weaponSkill')
.each(function(f){
if(skillName==f['weaponSkillName']) {
result=f.I['weaponSkill'];
}
setAttrs({
'repeating_close-combat-weapons_close-combat-weapon-skill-score':result
});
})
.execute();
});
});
/*****************************/
/* Weapon Skills Calculation */
/*****************************/
on("change:repeating_weaponskills:weaponSkillChar1 change:repeating_weaponskills:weaponSkillChar2 change:repeating_weaponskills:weaponSkillMod change:total_armor_penalty change:usearmorpenalty", function(){
getAttrs([
"repeating_weaponskills_weaponSkillName",
"repeating_weaponskills_weaponSkillChar1",
"repeating_weaponskills_weaponSkillChar2",
"repeating_weaponskills_weaponSkillMod",
"total_armor_penalty",
"useArmorPenalty",
"str",
"con",
"dex",
"siz",
"int",
"pow",
"cha"
], function (values) {
var modVal=parseInt(values.repeating_weaponskills_weaponSkillMod);
var penaltyVal=parseInt(values.total_armor_penalty);
var usePenalty = parseInt(values["useArmorPenalty"]);
var charVal1=parseInt(values[values.repeating_weaponskills_weaponSkillChar1])||0;
var charVal2=parseInt(values[values.repeating_weaponskills_weaponSkillChar2])||0;
var baseVal= charVal1 + charVal2;
var scoreVal= 0;
if(usePenalty==1){
if((modVal + penaltyVal)>=0){
scoreVal= baseVal + modVal + penaltyVal;
}
else{
scoreVal= baseVal;
}
}
else{
scoreVal= baseVal + modVal;
}
setAttrs({
'repeating_weaponskills_weaponSkillBase': baseVal,
'repeating_weaponskills_weaponSkill':scoreVal
});
TAS.repeating('close-combat-weapons')
.fields('close-combat-weapon-skill','close-combat-weapon-skill-score')
.each(function(f){
var result=0;
TAS.log('Weapon Skill Name: '+values['repeating_weaponskills_weaponSkillName']);
TAS.log('Close Combat Weapon Skill Name: '+f['close-combat-weapon-skill']);
if(values['repeating_weaponskills_weaponSkillName']==f['close-combat-weapon-skill']) {
TAS.log('Result: '+scoreVal);
f['close-combat-weapon-skill-score']=scoreVal
}
})
.execute();
TAS.repeating('ranged-weapons')
.fields('ranged-weapon-skill','ranged-weapon-skill-score')
.each(function(f){
var result=0;
TAS.log('Weapon Skill Name: '+values['repeating_weaponskills_weaponSkillName']);
TAS.log('Ranged Combat Weapon Skill Name: '+f['ranged-weapon-skill']);
if(values['repeating_weaponskills_weaponSkillName']==f['ranged-weapon-skill']) {
TAS.log('Result: '+scoreVal);
f['ranged-weapon-skill-score']=scoreVal
}
})
.execute();
});
});
/*******************************/
/* Advanced Skills Calculation */
/*******************************/
on("change:repeating_advancedskills:advancedSkillChar1 change:repeating_advancedskills:advancedSkillChar2 change:repeating_advancedskills:advancedSkillMod change:total_armor_penalty change:usearmorpenalty", function(){
getAttrs([
"repeating_advancedskills_advancedSkillChar1",
"repeating_advancedskills_advancedSkillChar2",
"repeating_advancedskills_advancedSkillMod",
"total_armor_penalty",
"useArmorPenalty",
"str",
"con",
"dex",
"siz",
"int",
"pow",
"cha"
], function (values) {
var modVal=parseInt(values.repeating_advancedskills_advancedSkillMod);
var penaltyVal=parseInt(values.total_armor_penalty);
var usePenalty = parseInt(values["useArmorPenalty"]);
var charVal1=parseInt(values[values.repeating_advancedskills_advancedSkillChar1])||0;
var charVal2=parseInt(values[values.repeating_advancedskills_advancedSkillChar2])||0;
var baseVal= charVal1 + charVal2;
var scoreVal= 0;
if(usePenalty==1){
if((modVal + penaltyVal)>=0){
scoreVal= baseVal + modVal + penaltyVal;
}
else{
scoreVal= baseVal;
}
}
else{
scoreVal= baseVal + modVal;
}
setAttrs({
'repeating_advancedskills_advancedSkillBase': baseVal,
'repeating_advancedskills_advancedSkill':scoreVal
});
});
});
/***********************************************************************/
/* Weapon & Advanced Skills ReCalculation after Characteristics change */
/***********************************************************************/
on("change:str change:con change:dex change:siz change:int change:pow change:cha change:total_armor_penalty change:usearmorpenalty", function(){
TAS.repeating('advancedSkills')
.attrs('str','con','dex','siz','int','pow','cha','total_armor_penalty','useArmorPenalty')
.fields('advancedSkillChar1','advancedSkillChar2','advancedSkillMod','advancedSkillBase','advancedSkill')
.each(function(r,f){
var charVal1=f.I[r.advancedSkillChar1]||0;
var charVal2=f.I[r.advancedSkillChar2]||0;
var modVal=r.I.advancedSkillMod;
var penaltyVal=0;
var usePenalty=f.I['useArmorPenalty'];
if(r.advancedSkillChar1=='dex' || r.advancedSkillChar2=='dex')
penaltyVal=f.I['total_armor_penalty'];
var baseVal= charVal1 + charVal2;
var scoreVal= 0;
if(usePenalty==1){
if((modVal + penaltyVal)>=0){
scoreVal= baseVal + modVal + penaltyVal;
}
else{
scoreVal= baseVal;
}
}
else{
scoreVal= baseVal + modVal;
}
r.advancedSkillBase=baseVal;
r.advancedSkill=scoreVal;
})
.execute();
TAS.repeating('weaponskills')
.attrs('str','con','dex','siz','int','pow','cha','total_armor_penalty','useArmorPenalty')
.fields('weaponskillChar1','weaponskillChar2','weaponskillMod','weaponskillBase','weaponskill')
.each(function(r,f){
var charVal1=f.I[r.weaponskillChar1]||0;
var charVal2=f.I[r.weaponskillChar2]||0;
var modVal=r.I.weaponskillMod;
var penaltyVal=0;
var usePenalty=f.I['useArmorPenalty'];
if(r.weaponskillChar1=='dex' || r.weaponskillChar2=='dex')
penaltyVal=f.I['total_armor_penalty'];
var baseVal= charVal1 + charVal2;
var scoreVal= 0;
if(usePenalty==1){
if((modVal + penaltyVal)>=0){
scoreVal= baseVal + modVal + penaltyVal;
}
else{
scoreVal= baseVal;
}
}
else{
scoreVal= baseVal + modVal;
}
r.weaponskillBase=baseVal;
r.weaponskill=scoreVal;
})
.execute();
});
/***********************************/
/* Mount Combat Action Calculation */
/***********************************/
on("change:mount-dex", function () {
getAttrs(["mount-dex"], function (values) {
var resValue = parseInt(values["mount-dex"]);
if (resValue < 7) {
setAttrs({
'mount-ca': 1
});
} else if (resValue < 13) {
setAttrs({
'mount-ca': 2
});
} else if (resValue < 19) {
setAttrs({
'mount-ca': 3
});
} else{
setAttrs({
'mount-ca': 4
});
}
});
});
/*********************************/
/* Mount Strike Rank Calculation */
/*********************************/
on("change:mount-int change:mount-dex", function () {
getAttrs(["mount-dex", "mount-int"], function (values) {
var resValue = parseInt(values["mount-dex"])+parseInt(values["mount-int"]);
var result = Math.ceil(resValue/2);
setAttrs({
'mount-sr': result
});
});
});
/********************************************/
/* Mount Equipments Encumbrance Calculation */
/********************************************/
on("change:mount-str change:mount-siz", function () {
getAttrs(["mount-str", "mount-siz"], function (values) {
var resValue = parseInt(values["mount-str"]) + parseInt(values["mount-siz"]);
TAS.log('Enc overload: '+resValue);
setAttrs({
'mount_total-enc-overload': resValue,
'mount_total-enc_max': resValue*2
});
});
});
on("change:mount_total_enc_close_weapons change:mount_total_enc_ranged_weapons change:mount_total_enc_items", function(eventinfo) {
getAttrs(["mount_total_enc_close_weapons","mount_total_enc_ranged_weapons","mount_total_enc_items"], function (values) {
var closeWeaponsVal=parseInt(values.mount_total_enc_close_weapons);
var rangedWeaponsVal=parseInt(values.mount_total_enc_ranged_weapons);
var itemsVal=parseInt(values.mount_total_enc_items);
setAttrs({
'mount_total-enc': +closeWeaponsVal+rangedWeaponsVal+itemsVal
});
});
});
on("change:repeating_mount-equipments:item-enc change:repeating_mount-equipments:item-number change:repeating_mount-close-combat-weapons:close-combat-weapon-enc change:repeating_mount-ranged-weapons:ranged-weapon-enc", function(eventinfo) {
TAS.repeatingSimpleSum('mount-close-combat-weapons','close-combat-weapon-enc','mount_total_enc_close_weapons');
TAS.repeatingSimpleSum('mount-ranged-weapons','ranged-weapon-enc','mount_total_enc_ranged_weapons');
TAS.repeating('mount-equipments')
.attrs('mount_total_enc_items')
.fields('item-enc','item-number')
.reduce(function(memo,row,attrSet,id,rowSet){
memo.push(row.I["item-enc"]*row.I["item-number"]);
return memo;
},[], function(memo,rowSet,attrSet){
var count = 0;
for(var i=0, n=memo.length; i < n; i++)
{
count += memo[i];
}
attrSet["mount_total_enc_items"]=count;
})
.execute();
});
on("remove:repeating_mount-equipments remove:repeating_mount-close-combat-weapons remove:repeating_mount-ranged-weapons", function(eventinfo) {
TAS.repeatingSimpleSum('close-combat-weapons','close-combat-weapon-enc','total_enc_close_weapons');
TAS.repeatingSimpleSum('ranged-weapons','ranged-weapon-enc','total_enc_ranged_weapons');
TAS.repeating('mount-equipments')
.attrs('mount_total_enc_items')
.fields('item-enc','item-number')
.reduce(function(memo,row,attrSet,id,rowSet){
memo.push(row.I["item-enc"]*row.I["item-number"]);
return memo;
},[], function(memo,rowSet,attrSet){
var count = 0;
for(var i=0, n=memo.length; i < n; i++)
{
count += memo[i];
}
attrSet["mount_total_enc_items"]=count;
})
.execute();
});
/*********************************/
/* Get Mount Weapons Skill Score */
/*********************************/
on("change:repeating_mount-close-combat-weapons:close-combat-weapon-skill", function(){
getAttrs(["repeating_mount-close-combat-weapons_close-combat-weapon-skill"], function (values) {
var skillName=values["repeating_mount-close-combat-weapons_close-combat-weapon-skill"];
var result=0;
TAS.repeating('mountskills')
.fields('mountSkillName','mountSkill')
.each(function(f){
if(skillName==f['mountSkillName']) {
result=f.I['mountSkill'];
}
setAttrs({
'repeating_mount-close-combat-weapons_close-combat-weapon-skill-score':result
});
})
.execute();
});
});
on("change:repeating_mount-ranged-weapons:ranged-weapon-skill", function(){
getAttrs(["repeating_mount-ranged-weapons_ranged-weapon-skill"], function (values) {
var skillName=values["repeating_mount-ranged-weapons_ranged-weapon-skill"];
var result=0;
TAS.repeating('mountskills')
.fields('mountSkillName','mountSkill')
.each(function(f){
if(skillName==f['mountSkillName']) {
result=f.I['mountSkill'];
}
setAttrs({
'repeating_mount-ranged-weapons_ranged-weapon-skill-score':result
});
})
.execute();
});
});
on("change:repeating_mount-close-combat-weapons:close-combat-weapon-skill", function(){
getAttrs(["repeating_mount-close-combat-weapons_close-combat-weapon-skill"], function (values) {
var skillName=values["repeating_mount-close-combat-weapons_close-combat-weapon-skill"];
var result=0;
TAS.repeating('mountskills')
.fields('mountSkillName','mountSkill')
.each(function(f){
if(skillName==f['mountSkillName']) {
result=f.I['mountSkill'];
}
setAttrs({
'repeating_mount-close-combat-weapons_close-combat-weapon-skill-score':result
});
})
.execute();
});
});
/****************************/
/* Mount Skills Calculation */
/****************************/
on("change:repeating_mountskills:mountskillchar1 change:repeating_mountskills:mountskillchar2 change:repeating_mountskills:mountskillmod", function(){
getAttrs([
"repeating_mountskills_mountskillname",
"repeating_mountskills_mountskillchar1",
"repeating_mountskills_mountskillchar2",
"repeating_mountskills_mountskillmod",
"mount-str",
"mount-con",
"mount-dex",
"mount-siz",
"mount-int",
"mount-pow",
"mount-cha"
], function (values) {
var modVal=parseInt(values.repeating_mountskills_mountskillmod);
var charVal1=parseInt(values[values.repeating_mountskills_mountskillchar1])||0;
var charVal2=parseInt(values[values.repeating_mountskills_mountskillchar2])||0;
var baseVal= charVal1 + charVal2;
var scoreVal= baseVal + modVal;
setAttrs({
'repeating_mountskills_mountskillbase': baseVal,
'repeating_mountskills_mountskill':scoreVal
});
TAS.repeating('mount-close-combat-weapons')
.fields('close-combat-weapon-skill','close-combat-weapon-skill-score')
.each(function(f){
var result=0;
TAS.log('Weapon Skill Name: '+values['repeating_mountskills_mountskillname']);
TAS.log('Mount Close Combat Weapon Skill Name: '+f['close-combat-weapon-skill']);
if(values['repeating_mountskills_mountskillname']==f['close-combat-weapon-skill']) {
TAS.log('Result: '+scoreVal);
f['close-combat-weapon-skill-score']=scoreVal
}
})
.execute();
TAS.repeating('mount-ranged-weapons')
.fields('ranged-weapon-skill','ranged-weapon-skill-score')
.each(function(f){
var result=0;
TAS.log('Weapon Skill Name: '+values['repeating_mountskills_mountskillname']);
TAS.log('Mount Ranged Weapon Skill Name: '+f['ranged-weapon-skill']);
if(values['repeating_mountskills_mountskillname']==f['ranged-weapon-skill']) {
TAS.log('Result: '+scoreVal);
f['ranged-weapon-skill-score']=scoreVal
}
})
.execute();
});
});
/******************************************************************/
/* Mount Weapon Skills ReCalculation after Characteristics change */
/******************************************************************/
on("change:mount-str change:mount-con change:mount-dex change:mount-siz change:mount-int change:mount-pow change:mount-cha", function(){
TAS.repeating('mountskills')
.attrs('mount-str','mount-con','mount-dex','mount-siz','mount-int','mount-pow','mount-cha')
.fields('mountskillChar1','mountskillChar2','mountskillMod','mountskillBase','mountskill')
.each(function(r,f){
var charVal1=f.I[r.mountskillChar1]||0;
var charVal2=f.I[r.mountskillChar2]||0;
r.mountskillBase=charVal1 + charVal2;
r.mountskill=charVal1 + charVal2 + r.I.mountskillMod;
})
.execute();
});
</script>
</div>