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

7810 lines
478 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<div class="main">
<input type="radio" name="attr_tab" class="tab sheet-tab1" value="1" title="Personal" checked="checked" />
<span class="tab sheet-tab1">Personal</span>
<input type="radio" name="attr_tab" class="tab sheet-tab2" value="2" title="Skills" />
<span class="tab sheet-tab2">Skills</span>
<input type="radio" name="attr_tab" class="tab sheet-tab3" value="3" title="Spells" />
<span class="tab sheet-tab3">Spells</span>
<input type="radio" name="attr_tab" class="tab sheet-tab4" value="4" title="Equipment" />
<span class="tab sheet-tab4">Equipment</span>
<input type="radio" name="attr_tab" class="tab sheet-tab5" value="5" title="NPC/Creature" />
<span class="tab sheet-tab5">NPC/Creature</span>
<input type="radio" name="attr_tab" class="tab sheet-tab6" value="6" title="Configure" />
<span class="tab sheet-tab6">Settings</span>
<div class="heading">
<span class="main-heading">Middle Earth Role Playing&nbsp;&nbsp;&nbsp;&nbsp;</span>
<span class="skill-label" title="Roll for 1d100">1d100:</span>
<button type="roll" class="rolld100" name="attr_1d100_roll" title="1d100 roll" value="@{wtype} &{template:1d100} {{type=1d100}} {{character=@{character_name}}} {{subtags=Generic}} {{roll=[[1d100 + ?{Modifier|0}[MODIFIER]]]}}"><!-- --></button>
<span class="horizontal-spacer">&nbsp;</span>
<span class="skill-label" title="Roll for 1d100. Keep rolling while the outcome is equal to or greater than 95 and add up the results.">Open-ended: </span>
<button type="roll" class="rolld100" name="attr_openended_roll" title="Open-ended roll" value="@{wtype} &{template:openended} {{type=Open-ended 1d100}} {{character=@{character_name}}} {{subtags=Generic}} {{roll=[[1d100!>96cs>96cf<5 + ?{Modifier|0}[MODIFIER]]]}} {{underflow=[[1d100!>96 * -1]]}}"><!-- --></button>
<span class="horizontal-spacer">&nbsp;</span>
<span class="skill-label" title="Roll 1d100 for orientation">Orientation: </span>
<button type="roll" class="rolld100" name="attr_orientation2_roll" title="Orientation roll"
value="@{wtype} &{template:staticmaneuver} {{type=Orientation}} {{character=@{character_name}}} {{subtags=Static Maneuver}} {{roll=[[1d100!>96cs>96cf<5 + @{skill_perception_total_bonus}[SKILL] + @{activity_penalty}[ACT. PENALTY] + ?{Modifier|0}[MODIFIER]]]}} {{sm_penalty=[[@{activity_penalty}]]}} {{skill=[[@{skill_perception_total_bonus}]]}}"><!-- --></button>
<span class="horizontal-spacer">&nbsp;</span>
<span class="skill-label" title="Roll 1d100 for fumble">Fumble: </span>
<button type="roll" class="rolld100" name="attr_fumble_roll" title="Fumble roll" value="@{wtype} &{template:1d100} {{type=Fumble}} {{character=@{character_name}}} {{subtags=Generic}} {{roll=[[1d100 + ?{Modifier|0}[MODIFIER]]]}}"><!-- --></button>
</div>
<div class="tab-content sheet-tab1">
<div class="row">
<div class="col sheet-border-box sheet-personal-box">
<h3>Personal</h3>
<div class="tablelike">
<div class="table-row">
<div class="table-cell">
<label>Name:</label>
</div>
<div class="table-cell">
<input size="30" type="text" name="attr_character_name" />
</div>
</div>
<div class="table-row">
<div class="table-cell">
<label>Culture/Race:</label>
</div>
<div class="table-cell">
<select name="attr_race" class="text-field-race">
<option value="">-Select One-</option>
<optgroup label="Dwarvish Races">
<option value="Dwarf">Dwarf</option>
<option value="Umli">Umli</option>
</optgroup>
<optgroup label="Elvish Races">
<option value="Half-Elf">Half-Elf</option>
<option value="Noldo Elf">Noldo Elf</option>
<option value="Sindar Elf">Sinda Elf</option>
<option value="Silvan Elf">Silvan Elf</option>
</optgroup>
<optgroup label="Hobbits">
<option value="Hobbit">Hobbit</option>
</optgroup>
<optgroup label="Men">
<option value="Beorning">Beorning</option>
<option value="Black Numenorean">Black Númenórean</option>
<option value="Corsair">Corsair</option>
<option value="Dorwinrim">Dorwinadan</option>
<option value="Dunedain">Dúnadan</option>
<option value="Dunlending">Dunlending</option>
<option value="Easterling">Easterling</option>
<option value="Eriadoran">Eriadoran</option>
<option value="Gondorian">Gondorian</option>
<option value="Haradrim">Haradan</option>
<option value="Lossoth">Lossadan</option>
<option value="Rohirrim">Rohir</option>
<option value="Variag">Variag</option>
<option value="Woodman">Woodman</option>
<option value="Wose">Wose</option>
</optgroup>
<optgroup label="Orcish Races">
<option value="Orc">Orc</option>
<option value="Uruk-Hai">Uruk</option>
<option value="Half-Orc">Half-Orc</option>
</optgroup>
<optgroup label="Trollish Races">
<option value="Troll">Troll</option>
<option value="Olog-Hai">Olog</option>
<option value="Half-Troll">Half-Troll</option>
</optgroup>
</select>
</div>
</div>
<div class="table-row">
<div class="table-cell">
<label>Profession:</label>
</div>
<div class="table-cell-no-padding">
<div class="tablelike">
<div class="table-row">
<div class="table-cell">
<select name="attr_profession" class="text-field-profession">
<option value="">-Select One-</option>
<option value="animist">Animist</option>
<option value="bard">Bard</option>
<option value="mage">Mage</option>
<option value="ranger">Ranger</option>
<option value="scout">Scout</option>
<option value="warrior">Warrior</option>
<option value="">-----</option>
<option value="barbarian">Barbarian</option>
<option value="burglar">Burglar</option>
<option value="civilian">Civilian</option>
<option value="conjurer">Conjurer</option>
<option value="explorer">Explorer</option>
<option value="monk">Monk</option>
<option value="rogue">Rogue</option>
<option value="scholar">Scholar</option>
<option value="shapechanger">Shape Changer</option>
<option value="warriormonk">Warrior Monk</option>
<option value="wizard">Wizard</option>
</select>
</div>
</div>
</div>
</div>
</div>
<div class="table-row">
<div class="table-cell">
<label>Level:</label>
</div>
<div class="table-cell">
<input class="text-field-short" type="text" name="attr_level" value="1" />
</div>
</div>
<div class="table-row">
<div class="table-cell">
<label>Exp. Points:</label>
</div>
<div class="table-cell">
<input type="text" name="attr_experience_points" spellcheck="false"/>
</div>
</div>
<div class="table-row">
<div class="table-cell">
<label title="Character's outward behavior">Demeanor:</label>
</div>
<div class="table-cell">
<input type="text" name="attr_demeanor" spellcheck="false"/>
</div>
</div>
<div class="table-row">
<div class="table-cell">
<label title="Character's underlying set of behaviors, cognitions, and emotional patterns.">Personality:</label>
</div>
<div class="table-cell">
<input type="text" name="attr_personality" spellcheck="false"/>
</div>
</div>
<div class="table-row">
<div class="table-cell">
<label title="Character's objective(s) in life.">Motivation:</label>
</div>
<div class="table-cell">
<input type="text" name="attr_motivation" spellcheck="false"/>
</div>
</div>
<div class="table-row">
<div class="table-cell">
<label title="Character's morals, philosophy, and social tendencies.">Alignment:</label>
</div>
<div class="table-cell">
<input type="text" name="attr_alignment" spellcheck="false"/>
</div>
</div>
</div>
</div>
<div class="col sheet-border-box sheet-resistance-box">
<h3>Resistances and Defenses</h3>
<div class="tablelike">
<div class="table-row">
<div class="table-cell">
<div class="tablelike">
<div class="table-row">
<div class="table-cell">
<label>Armor worn:</label>
</div>
<div class="table-cell">
<select name="attr_armorworn" class="text-field-medium">
<option value="no_armor" selected="selected">No armor</option>
<option value="soft_leather">Soft leather</option>
<option value="rigid_leather">Rigid leather</option>
<option value="chain_armor">Chain</option>
<option value="plate_armor">Plate</option>
</select>
</div>
</div>
<div class="table-row">
<div class="table-cell">
<label>Realm:</label>
</div>
<div class="table-cell">
<select name="attr_realm" class="text-field-medium">
<option value="">None</option>
<option value="Both">Both</option>
<option value="Channeling">Channeling</option>
<option value="Essence">Essence</option>
</select>
</div>
</div>
</div>
</div>
<div class="table-cell">
<div class="tablelike">
<div class="table-row">
<div class="table-cell">
<span class="skill-label">Helm (-5 perception):</span>
</div>
<div class="table-cell">
<input type="checkbox" name="attr_helmet_penalty" value="-5"/>
</div>
</div>
<div class="table-row">
<div class="table-cell">
<span class="skill-label">Arm greaves (-5 OB):</span>
</div>
<div class="table-cell">
<input type="checkbox" name="attr_armgreaves_penalty" value="-5"/>
</div>
</div>
<div class="table-row">
<div class="table-cell">
<span class="skill-label">Leg greaves (-5 MM):</span>
</div>
<div class="table-cell">
<input type="checkbox" name="attr_leggreaves_penalty" value="-5"/>
</div>
</div>
<div class="table-row">
<div class="table-cell">
<span class="skill-label">Shield (+25 DB):</span>
</div>
<div class="table-cell">
<input type="checkbox" name="attr_shield_bonus" value="25"/>
</div>
</div>
</div>
</div>
</div>
</div>
<table class="resistances-table">
<tr class="skills-table-row sheet-skills-table-head">
<th class="skills-table-head"></th>
<th class="skills-table-head" colspan="2">Stat</th>
<th class="skills-table-head">Race</th>
<th class="skills-table-head">Item</th>
<th class="skills-table-head">Spec</th>
<th class="skills-table-head">Spec</th>
<th class="skills-table-head">Total</th>
<th></th>
</tr>
<tr>
<td class="skill-label">Defensive Bonus</td>
<td class="skill-label sheet-table-stat-label">AG</td>
<td><input class="autocalc-stat-right" type="number" name="attr_defensive_stat_bonus" value="@{stat_ag_total_bonus}" disabled /></td>
<td>
<input class="autocalc-stat-right" type="hidden" name="attr_defensive_race_bonus" value="0" />
<input class="autocalc-stat-right" type="number" name="attr_defensive_display_race_bonus" value="@{defensive_race_bonus}" disabled />
</td>
<td><input type="number" name="attr_defensive_item_bonus" value="0"/></td>
<td><input type="number" name="attr_defensive_spec1_bonus" value="0"/></td>
<td><input type="number" class="autocalc-stat-right" name="attr_defensive_spec2_bonus" value="@{shield_bonus}" disabled/></td>
<td>
<input type="hidden" name="attr_defensive_total_bonus" value="0"/>
<input type="number" class="autocalc-bonus sheet-autocalc-total" name="attr_defensive_total_display_bonus" value="@{defensive_total_bonus}" disabled/>
<span class="action-type-label" title="Defensive bonus">DB</span>
</td>
<td>
<button type="roll" class="rolld100" name="attr_defensive_rr" title="Defensive Resistance Roll" value="@{wtype} &{template:resistanceroll} {{type=Defense}} {{character=@{character_name}}} {{subtags=Defensive Roll}} {{roll=[[1d100 + @{defensive_total_bonus}[DB] + ?{Modifier|0}[MODIFIER]]]}} {{bonus=[[@{defensive_total_bonus}]]}}">
<!-- -->
</button>
</td>
</tr>
<tr>
<td class="skill-label">Essence RR</td>
<td class="skill-label sheet-table-stat-label">IG</td>
<td><input class="autocalc-stat-right" type="number" name="attr_essence_stat_bonus" value="@{stat_ig_total_bonus}" disabled /></td>
<td>
<input class="autocalc-stat-right" type="number" name="attr_essence_display_race_bonus" value="@{essence_race_bonus}" disabled />
<input type="hidden" name="attr_essence_race_bonus" value="0"/>
</td>
<td><input type="number" name="attr_essence_item_bonus" value="0"/></td>
<td><input type="number" name="attr_essence_spec1_bonus" value="0"/></td>
<td><input type="number" name="attr_essence_spec2_bonus" value="0"/></td>
<td>
<input type="hidden" name="attr_essence_total_bonus" value="0"/>
<input type="number" class="autocalc-bonus sheet-autocalc-total" name="attr_essence_total_display_bonus" value="@{essence_total_bonus}" disabled/>
<span class="action-type-label" title="Resistance roll">RR</span>
</td>
<td>
<button type="roll" class="rolld100" name="attr_essence_rr" title="Essence Resistance Roll" value="@{wtype} &{template:resistanceroll} {{type=Essence}} {{character=@{character_name}}} {{subtags=Resistance Roll}} {{roll=[[1d100 + @{essence_total_bonus}[ESSENCE] + ?{Modifier|0}[MODIFIER]]]}} {{bonus=[[@{essence_total_bonus}]]}}">
<!-- -->
</button>
</td>
</tr>
<tr>
<td class="skill-label">Channeling RR</td>
<td class="skill-label sheet-table-stat-label">IT</td>
<td><input class="autocalc-stat-right" type="number" name="attr_channeling_stat_bonus" value="@{stat_it_total_bonus}" disabled /></td>
<td>
<input class="autocalc-stat-right" type="number" name="attr_channeling_display_race_bonus" value="@{channeling_race_bonus}" disabled />
<input type="hidden" name="attr_channeling_race_bonus" value="0"/>
</td>
<td><input type="number" name="attr_channeling_item_bonus" value="0"/></td>
<td><input type="number" name="attr_channeling_spec1_bonus" value="0"/></td>
<td><input type="number" name="attr_channeling_spec2_bonus" value="0"/></td>
<td>
<input type="hidden" name="attr_channeling_total_bonus" value="0"/>
<input type="number" class="autocalc-bonus sheet-autocalc-total" name="attr_channeling_total_display_bonus"
value="@{channeling_total_bonus}" disabled/>
<span class="action-type-label" title="Resistance roll">RR</span>
</td>
<td>
<button type="roll" class="rolld100" name="attr_channeling_rr" title="Channeling Resistance Roll" value="@{wtype} &{template:resistanceroll} {{type=Channeling}} {{character=@{character_name}}} {{subtags=Resistance Roll}} {{roll=[[1d100 + @{channeling_total_bonus}[BONUS] + ?{Modifier|0}[MODIFIER]]]}} {{bonus=[[@{channeling_total_bonus}]]}}">
<!-- -->
</button>
</td>
</tr>
<tr>
<td class="skill-label">Poison RR</td>
<td class="skill-label sheet-table-stat-label">CO</td>
<td><input class="autocalc-stat-right" type="number" name="attr_poison_stat_bonus" value="@{stat_co_total_bonus}" disabled /></td>
<td>
<input class="autocalc-stat-right" type="number" name="attr_poison_display_race_bonus" value="@{poison_race_bonus}" disabled />
<input type="hidden" name="attr_poison_race_bonus" value="0"/>
</td>
<td><input type="number" name="attr_poison_item_bonus" value="0"/></td>
<td><input type="number" name="attr_poison_spec1_bonus" value="0"/></td>
<td><input type="number" name="attr_poison_spec2_bonus" value="0"/></td>
<td>
<input type="hidden" name="attr_poison_total_bonus" value="0"/>
<input type="number" class="autocalc-bonus sheet-autocalc-total" name="attr_poison_total_display_bonus" value="@{poison_total_bonus}" disabled/>
<span class="action-type-label" title="Resistance roll">RR</span>
</td>
<td>
<button type="roll" class="rolld100" name="attr_poison_rr" title="Poison Resistance Roll" value="@{wtype} &{template:resistanceroll} {{type=Poison}} {{character=@{character_name}}} {{subtags=Resistance Roll}} {{roll=[[1d100 + @{poison_total_bonus}[BONUS] + ?{Modifier|0}[MODIFIER]]]}} {{bonus=[[@{poison_total_bonus}]]}}">
<!-- -->
</button>
</td>
</tr>
<tr>
<td class="skill-label">Disease RR</td>
<td class="skill-label sheet-table-stat-label">CO</td>
<td><input class="autocalc-stat-right" type="number" name="attr_disease_stat_bonus" value="@{stat_co_total_bonus}" disabled /></td>
<td>
<input class="autocalc-stat-right" type="number" name="attr_disease_display_race_bonus" value="@{disease_race_bonus}" disabled />
<input type="hidden" name="attr_disease_race_bonus" value="0"/>
</td>
<td><input type="number" name="attr_disease_item_bonus" value="0"/></td>
<td><input type="number" name="attr_disease_spec1_bonus" value="0"/></td>
<td><input type="number" name="attr_disease_spec2_bonus" value="0"/></td>
<td>
<input type="hidden" name="attr_disease_total_bonus" value="0"/>
<input type="number" class="autocalc-bonus sheet-autocalc-total" name="attr_disease_total_display_bonus" value="@{disease_total_bonus}" disabled/>
<span class="action-type-label" title="Resistance roll">RR</span>
</td>
<td>
<button type="roll" class="rolld100" name="attr_disease_rr" title='Disease Resistance Roll' value="@{wtype} &{template:resistanceroll} {{type=Disease}} {{character=@{character_name}}} {{subtags=Resistance Roll}} {{roll=[[1d100 + @{disease_total_bonus}[BONUS] + ?{Modifier|0}[MODIFIER]]]}} {{bonus=[[@{disease_total_bonus}]]}}">
<!-- -->
</button>
</td>
</tr>
<tr>
<td class="skill-label">Cold RR</td>
<td class="skill-label sheet-table-stat-label"></td>
<td>xx</td>
<td>
<input class="autocalc-stat-right" type="number" name="attr_cold_display_race_bonus" value="@{cold_race_bonus}" disabled />
<input type="hidden" name="attr_cold_race_bonus" value="0"/>
</td>
<td><input type="number" name="attr_cold_item_bonus" value="0"/></td>
<td><input type="number" name="attr_cold_spec1_bonus" value="0"/></td>
<td><input type="number" name="attr_cold_spec2_bonus" value="0"/></td>
<td>
<input type="hidden" name="attr_cold_total_bonus" value="0"/>
<input type="number" class="autocalc-bonus sheet-autocalc-total" name="attr_cold_total_display_bonus" value="@{cold_total_bonus}" disabled />
<span class="action-type-label" title="Resistance roll">RR</span>
</td>
<td>
<button type="roll" class="rolld100" name="attr_cold_rr" title='Cold Resistance Roll' value="@{wtype} &{template:resistanceroll} {{type=Cold}} {{character=@{character_name}}} {{subtags=Resistance Roll}} {{roll=[[1d100 + @{cold_total_bonus}[BONUS] + ?{Modifier|0}[MODIFIER]]]}} {{bonus=[[@{cold_total_bonus}]]}}">
<!-- -->
</button>
</td>
</tr>
<tr>
<td class="skill-label">Heat RR</td>
<td class="skill-label sheet-table-stat-label"></td>
<td>xx</td>
<td>
<input class="autocalc-stat-right" type="number" name="attr_heat_display_race_bonus" value="@{heat_race_bonus}" disabled />
<input type="hidden" name="attr_heat_race_bonus" value="0"/>
</td>
<td><input type="number" name="attr_heat_item_bonus" value="0"/></td>
<td><input type="number" name="attr_heat_spec1_bonus" value="0"/></td>
<td><input type="number" name="attr_heat_spec2_bonus" value="0"/></td>
<td>
<input type="hidden" name="attr_heat_total_bonus" value="0"/>
<input type="number" class="autocalc-bonus sheet-autocalc-total" name="attr_heat_total_display_bonus" value="@{heat_total_bonus}" disabled />
<span class="action-type-label" title="Resistance roll">RR</span>
</td>
<td>
<button type="roll" class="rolld100" name="attr_heat_rr" title='Heat Resistance Roll' value="@{wtype} &{template:resistanceroll} {{type=Heat}} {{character=@{character_name}}} {{subtags=Resistance Roll}} {{roll=[[1d100 + @{heat_total_bonus}[BONUS] + ?{Modifier|0}[MODIFIER]]]}} {{bonus=[[@{heat_total_bonus}]]}}">
<!-- -->
</button>
</td>
</tr>
</table>
</div>
</div>
<div class="row">
<div class="col sheet-border-box sheet-appearance-box">
<h3>Appearance</h3>
<div class="tablelike">
<div class="table-row">
<div class="table-cell">
<label>Age:</label>
</div>
<div class="table-cell">
<input class="text-field-short" type="text" name="attr_age"/>
</div>
<div class="table-cell">
<label>Gender:</label>
</div>
<div class="table-cell">
<input class="text-field-short" type="text" name="attr_gender"/>
</div>
</div>
<div class="table-row">
<div class="table-cell">
<label title="Height in feet and inches">Height:</label>
</div>
<div class="table-cell">
<input class="text-field-short" type="text" name="attr_height"/>
</div>
<div class="table-cell">
<label title="Weight in pounds">Weight:</label>
</div>
<div class="table-cell">
<input class="text-field-short" type="text" name="attr_weight"/>
</div>
</div>
<div class="table-row">
<div class="table-cell">
<label>Hair:</label>
</div>
<div class="table-cell">
<input class="text-field-short" type="text" name="attr_hair"/>
</div>
<div class="table-cell">
<label>Eyes:</label>
</div>
<div class="table-cell">
<input class="text-field-short" type="text" name="attr_eyes"/>
</div>
</div>
</div>
</div>
<div class="col sheet-border-box sheet-status-box">
<h3>Status</h3>
<div class="tablelike">
<div class="table-row">
<div class="table-cell">
<div class="tablelike">
<div class="table-row">
<div class="tablelike">
<div class="table-row">
<div class="table-cell">
<span class="skill-label" title="Unable to attack. May only parry at 50% OB. Any other action requires a maneuver roll at -50.">Stunned:</span>
<input type="checkbox" name="attr_status_stunned" value="-50"/>
<span class="skill-label" title="Unable to attack or parry. Any other action requires a maneuver roll at -50.">Down:</span>
<input type="checkbox" name="attr_status_down" value="-70"/>
<span class="skill-label" title="Unable to use an arm or a leg.">One limb out:</span>
<input type="checkbox" name="attr_status_onelimbout" value="-30"/>
</div>
</div>
<div class="table-row">
<div class="table-cell">
<span class="skill-label" title="Blood loss in hits per round">Blood loss:</span>
<input type="number" name="attr_status_bleeding" value="0"/> hits/rnd
</div>
</div>
</div>
</div>
</div>
<div class="tablelike">
<div class="table-row">
<div class="table-cell">
<table class="point-indicator">
<tr class="point-indicator-header">
<td><span class="point-indicator-header-text">Hit Points</span></td>
<td>[<input type="number" class="point-indicator-header-score" class="autocalc-stat-right" name="attr_total_hit_points" value="@{skill_bodydev_total_bonus}" disabled />]</td>
</tr>
<tr>
<td colspan="2" class="align-center">
<input type="number" class="point-indicator-score" name="attr_hit_points" min="0" value="0"/>
</td>
</tr>
</table>
</div>
<div class="table-cell">
<table class="point-indicator">
<tr class="point-indicator-header">
<td><span class="point-indicator-header-text" title="Applies to all activity except DB and RR.">Activity Penalty</span></td>
</tr>
<tr>
<td class="align-center">
<input type="number" class="point-indicator-score" name="attr_activity_penalty" value="0" max="0"/>
</td>
</tr>
</table>
</div>
</div>
</div>
</div>
<div class="table-cell">
<div class="tablelike">
<div class="table-row">
<div class="table-cell">
<span class="skill-label-bold" title="Total penalty for moving maneuvers">MM Penalty:</span>
</div>
<div class="table-cell">
<input type="hidden" name="attr_total_mm_penalty" value="0"/>
<input type="number" class="autocalc-total sheet-autocalc-bonus" name="attr_total_mm_display_penalty" value="(@{total_mm_penalty})" disabled/>
</div>
<div class="table-cell">
<input type="hidden" name="attr_encumbrance_penalty" value="0"/>
<span class="skill-label" title="Encumbrance penalty applies to all movement and moving maneuvers. Negated by ST bonus.">Enc. Penalty:</span>
</div>
<div class="table-cell">
<input type="hidden" name="attr_total_enc_penalty" value="0" />
<input type="number" class="autocalc-bonus" name="attr_total_enc_display_penalty" value="@{total_enc_penalty}" disabled />
</div>
</div>
<div class="table-row">
<div class="table-cell">
<span class="skill-label-bold" title="Total penalty for offensive actions: activity penalty + arm greaves + hit loss">OB Penalty:</span>
</div>
<div class="table-cell">
<input type="hidden" name="attr_total_ob_penalty" value="0"/>
<input type="number" class="autocalc-total sheet-autocalc-bonus" name="attr_total_ob_display_penalty" value="@{total_ob_penalty}" disabled/>
</div>
<div class="table-cell">
<span class="skill-label" title="Hit loss penalty applies to OB, when more than half of total hit points are lost.">Hit Loss Penalty:</span>
</div>
<div class="table-cell">
<input type="hidden" name="attr_total_hitloss_penalty" value="0" />
<input type="number" class="autocalc-bonus" name="attr_total_hitloss_display_penalty" value="@{total_hitloss_penalty}" disabled/>
</div>
</div>
</div>
<div class="tablelike">
<div class="table-row">
<div class="table-cell">
<span class="skill-label" title="Height-based modifier to movement rate">Stride Modifier:</span>
</div>
<div class="table-cell">
<input type="number" name="attr_stride_modifier" value="0" /> feet/rnd
</div>
</div>
<div class="table-row">
<div class="table-cell">
<span class="skill-label" title="Movement rate (feet/round)">Movement rate:</span>
</div>
<div class="table-cell">
<input type="hidden" name="attr_movement_rate" value="0"/>
<input type="hidden" name="attr_movement_rate_modifier" value="0"/>
<input type="number" class="autocalc-bonus" name="attr_movement_display_rate" value="(@{movement_rate})" disabled/> feet/rnd
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col">
<div class="border-box sheet-stats-box">
<h3>Stats</h3>
<table class="stats-table">
<tr class="stats-table-heading">
<th class="stats-table-head">Stats</th>
<th class="stats-table-head">Value</th>
<th class="stats-table-head">Norm</th>
<th class="stats-table-head">Race</th>
<th class="stats-table-head">Misc</th>
<th class="stats-table-head">Total</th>
</tr>
<tr>
<td class="stat-label" title="A character's capabilities in melee, carrying loads, and other activities requiring strength.">Strength (ST)</td>
<td><input type="number" name="attr_stat_st_value" min="0" value="50"/></td>
<td>
<input class="autocalc-stat-right" type="number" name="attr_stat_st_norm_bonus" value="@{stat_st_stat_bonus}" disabled />
<input type="hidden" name="attr_stat_st_stat_bonus" value="0"/>
</td>
<td>
<input class="autocalc-stat-right" type="number" name="attr_stat_st_display_race_bonus" value="@{stat_st_race_bonus}" disabled />
<input type="hidden" name="attr_stat_st_race_bonus" value="0"/>
</td>
<td><input type="number" name="attr_stat_st_misc_bonus" value="0"/></td>
<td>
<input type="hidden" name="attr_stat_st_total_bonus" value="0"/>
<input type="number" class="autocalc-total" name="attr_stat_st_total_display_bonus" value="@{stat_st_total_bonus}" disabled/>
</td>
</tr>
<tr>
<td class="stat-label" title="A character's manual dexterity, litheness, quickness, reaction time, and speed.">Agility (AG)</td>
<td><input type="number" name="attr_stat_ag_value" min="0" value="50"/></td>
<td>
<input class="autocalc-stat-right" type="number" name="attr_stat_ag_norm_bonus" value="@{stat_ag_stat_bonus}" disabled />
<input type="hidden" name="attr_stat_ag_stat_bonus" value="0"/>
</td>
<td>
<input class="autocalc-stat-right" type="number" name="attr_stat_ag_display_race_bonus" value="@{stat_ag_race_bonus}" disabled />
<input type="hidden" name="attr_stat_ag_race_bonus" value="0"/>
</td>
<td><input type="number" name="attr_stat_ag_misc_bonus" value="0"/></td>
<td>
<input type="hidden" name="attr_stat_ag_total_bonus" value="0"/>
<input type="number" class="autocalc-total" name="attr_stat_ag_total_display_bonus" value="@{stat_ag_total_bonus}" disabled />
</td>
</tr>
<tr>
<td class="stat-label" title="A character's general health and well-being.">Constitution (CO)</td>
<td><input type="number" name="attr_stat_co_value" min="0" value="50"/></td>
<td>
<input class="autocalc-stat-right" type="number" name="attr_stat_co_norm_bonus" value="@{stat_co_stat_bonus}" disabled />
<input type="hidden" name="attr_stat_co_stat_bonus" value="0"/>
</td>
<td>
<input class="autocalc-stat-right" type="number" name="attr_stat_co_display_race_bonus" value="@{stat_co_race_bonus}" disabled />
<input type="hidden" name="attr_stat_co_race_bonus" value="0"/>
</td>
<td><input type="number" name="attr_stat_co_misc_bonus" value="0"/></td>
<td>
<input type="hidden" name="attr_stat_co_total_bonus" value="0"/>
<input type="number" class="autocalc-total" name="attr_stat_co_total_display_bonus" value="@{stat_co_total_bonus}" disabled />
</td>
</tr>
<tr>
<td class="stat-label" title="A character's reasoning, memory, and common sense.">Intelligence (IG)</td>
<td><input type="number" name="attr_stat_ig_value" min="0" value="50"/></td>
<td>
<input class="autocalc-stat-right" type="number" name="attr_stat_ig_norm_bonus" value="@{stat_ig_stat_bonus}" disabled />
<input type="hidden" name="attr_stat_ig_stat_bonus" value="0"/>
</td>
<td>
<input class="autocalc-stat-right" type="number" name="attr_stat_ig_display_race_bonus" value="@{stat_ig_race_bonus}" disabled />
<input type="hidden" name="attr_stat_ig_race_bonus" value="0"/>
</td>
<td><input type="number" name="attr_stat_ig_misc_bonus" value="0"/></td>
<td>
<input type="hidden" name="attr_stat_ig_total_bonus" value="0"/>
<input type="number" class="autocalc-total" name="attr_stat_ig_total_display_bonus" value="@{stat_ig_total_bonus}" disabled />
</td>
</tr>
<tr>
<td class="stat-label" title="A character's wisdom, luck, and genius.">Intuition (IT)</td>
<td><input type="number" name="attr_stat_it_value" min="0" value="50"/></td>
<td>
<input class="autocalc-stat-right" type="number" name="attr_stat_it_norm_bonus" value="@{stat_it_stat_bonus}" disabled />
<input type="hidden" name="attr_stat_it_stat_bonus" value="0"/>
</td>
<td>
<input class="autocalc-stat-right" type="number" name="attr_stat_it_display_race_bonus" value="@{stat_it_race_bonus}" disabled />
<input type="hidden" name="attr_stat_it_race_bonus" value="0"/>
</td>
<td><input type="number" name="attr_stat_it_misc_bonus" value="0"/></td>
<td>
<input type="hidden" name="attr_stat_it_total_bonus" value="0"/>
<input type="number" class="autocalc-total" name="attr_stat_it_total_display_bonus" value="@{stat_it_total_bonus}" disabled />
</td>
</tr>
<tr>
<td class="stat-label" title="A character's self-discipline, courage, bearing, self esteem, and charisma.">Presence (PR)</td>
<td><input type="number" name="attr_stat_pr_value" min="0" value="50"/></td>
<td>
<input class="autocalc-stat-right" type="number" name="attr_stat_pr_norm_bonus" value="@{stat_pr_stat_bonus}" disabled />
<input type="hidden" name="attr_stat_pr_stat_bonus" value="0"/>
</td>
<td>
<input class="autocalc-stat-right" type="number" name="attr_stat_pr_display_race_bonus" value="@{stat_pr_race_bonus}" disabled />
<input type="hidden" name="attr_stat_pr_race_bonus" value="0"/>
</td>
<td><input type="number" name="attr_stat_pr_misc_bonus" value="0"/></td>
<td>
<input type="hidden" name="attr_stat_pr_total_bonus" value="0"/>
<input type="number" class="autocalc-total" name="attr_stat_pr_total_display_bonus" value="@{stat_pr_total_bonus}" disabled />
</td>
</tr>
<tr>
<td class="stat-label" title="How well your character is perceived by others.">Appearance (AP)</td>
<td><input type="number" name="attr_stat_ap_value" min="0" value="50"/></td>
<td>+</td>
<td>PR</td>
<td>=</td>
<td><input type="number" class="autocalc-total" name="attr_stat_ap_total_value" value="(@{stat_ap_value}+@{stat_pr_total_bonus})" disabled /></td>
</tr>
</table>
</div>
</div>
<div class="col">
<div class="col sheet-border-box sheet-abilities-box">
<h3>Injuries</h3>
<fieldset class="repeating_injuries">
<input type="text" name="attr_injuries" spellcheck="false"/>
</fieldset>
<h3>Special Abilities</h3>
<fieldset class="repeating_special">
<input type="text" name="attr_special" spellcheck="false"/>
</fieldset>
</div>
<div class="col sheet-border-box sheet-languages-box">
<h3>Languages</h3>
<div class="tablelike">
<div class="table-heading fields-rowlike">
<div class="table-cell">
<span class="devpts-label">Adolescent ranks:<input type="number" name="attr_language_display_ad_ranks" value="@{race_language_ad_ranks}" disabled title="Number of ranks learned during adolescence."><input type="hidden" name="attr_race_language_ad_ranks" value="0"/></span> <br />
<span class="devpts-label">Professional ranks: <input type="number" name="attr_language_display_profession_development" value="@{language_profession_development}" disabled title="Number of ranks earned per level"><input type="hidden" name="attr_language_profession_development" value="0"/>/lvl</span>
</div>
</div>
<div class="table-heading fields-rowlike">
<div class="table-cell">Language / Rank</div>
</div>
<fieldset class="repeating_languages">
<div class="table-heading fields-rowlike">
<div class="table-cell">
<input type="text" name="attr_language" class="text-field-language" spellcheck="false"/>
</div>
<div class="table-cell">
<input type="number" name="attr_language_rank" />
</div>
</div>
</fieldset>
</div>
</div>
</div>
</div>
</div>
<div class="tab-content sheet-tab2 sheet-top-padding">
<h2>Skills</h2>
<input type="hidden" name="attr_weapon_skill_profession_bonus" value="0"/>
<input type="hidden" name="attr_general_skill_profession_bonus" value="0"/>
<input type="hidden" name="attr_subterfuge_skill_profession_bonus" value="0"/>
<input type="hidden" name="attr_magical_skill_profession_bonus" value="0"/>
<input type="hidden" name="attr_perception_skill_profession_bonus" value="0"/>
<input type="hidden" name="attr_basespell_skill_profession_bonus" value="0"/>
<input type="hidden" name="attr_directedspell_skill_profession_bonus" value="0"/>
<input type="hidden" name="attr_stalkhide_skill_profession_bonus" value="0"/>
<input type="hidden" name="attr_bodydev_skill_profession_bonus" value="0"/>
<input type="hidden" name="attr_martialarts_skill_profession_bonus" value="0"/>
<input type="hidden" name="attr_adrenaldefense_skill_profession_bonus" value="0"/>
<div class="1colrow">
<!-- skills -->
<div class="col">
<table class="skills-table">
<tr class="skills-table-row sheet-skills-table-head">
<th class="skills-table-head sheet-skill-heading" colspan="4">Skill Ranks</th>
<th class="skills-table-head sheet-skill-heading" colspan="10">Skill Bonuses</th>
</tr>
<tr class="skills-table-row sheet-skills-table-head">
<th class="skills-table-head">Skills</th>
<th class="skills-table-head" title="Skill ranks from adolescence (i.e., race/culture)">Adol.<br/>Ranks</th>
<th class="skills-table-head">5% Rank</th>
<th class="skills-table-head">2% Rank</th>
<th class="skills-table-head" title="The total bonus from skill ranks">Rank</th>
<th class="skills-table-head" title="The bonus from relevant stat">Stat</th>
<th class="skills-table-head" title="The bonus from profession (automatically increases with levels)">Prof</th>
<th class="skills-table-head" title="The bonus from race/culture">Race</th>
<th class="skills-table-head" title="The bonus from special item">Item</th>
<th class="skills-table-head" title="Special bonus">Spec</th>
<th class="skills-table-head" title="Special bonus">Spec</th>
<th class="skills-table-head" title="The total skill bonus">Total</th>
<th></th>
</tr>
<tr>
<td colspan="14">
<span class="skill-heading">Movement and Maneuver</span>
<input type="hidden" name="attr_movingmaneuver_profession_development" value="0"/>
<span class="devpts-label" title="Number of professional development points per level. To raise a skill 1 rank => 1 point, 2 ranks => 3 points">[ dev pts
<input class="autocalc-devpts-right" type="number" name="attr_movingmaneuver_display_profession_development" value="@{movingmaneuver_profession_development}" disabled /> /lvl ]
</span>
</td>
</tr>
<!-- Movement and maneuver -->
<!-- No armor -->
<tr class="table-section-shaded">
<td class="skill-label">No Armor</td>
<td>
<input type="number" class="autocalc-stat-right" name="attr_skill_noarmor_display_ad_ranks" value="@{skill_noarmor_ad_ranks}" disabled /><input type="hidden" name="attr_skill_noarmor_ad_ranks" value="0" />
</td>
<td>
<input class="rank-box" type="checkbox" name="attr_skill_noarmor_5rank1" value="30" />
<input class="rank-box" type="checkbox" name="attr_skill_noarmor_5rank2" value="5" />
</td>
<td></td>
<td>
<input type="hidden" name="attr_skill_noarmor_rank_bonus" value="0" />
<input type="number" class="autocalc-stat-right" name="attr_skill_noarmor_rank_display_bonus" value="@{skill_noarmor_rank_bonus}" disabled />
</td>
<td>AG<input type="number" class="autocalc-stat-right" name="attr_skill_noarmor_stat_bonus" value="(@{stat_ag_total_bonus})" disabled /></td>
<td class="table-cell-center"> xx </td>
<td>
<input type="hidden" name="attr_skill_noarmor_race_bonus" value="0" />
<input type="number" class="autocalc-stat-right" name="attr_skill_noarmor_display_race_bonus" value="@{skill_noarmor_race_bonus}" disabled />
</td>
<td><input type="number" name="attr_skill_noarmor_item_bonus" value="0"/></td>
<td><input type="number" name="attr_skill_noarmor_spec1_bonus" value="0"/></td>
<td><input type="number" class="autocalc-stat-right" name="attr_skill_noarmor_spec2_bonus" value="0" disabled /></td>
<td>
<input type="hidden" name="attr_skill_noarmor_total_bonus" value="0"/>
<input type="number" class="autocalc-bonus sheet-autocalc-total" name="attr_skill_noarmor_total_display_bonus" value="(@{skill_noarmor_total_bonus})" disabled />
<span class="action-type-label" title="moving maneuver">MM</span>
</td>
<td>
<button type="roll" class="rolld100" name="attr_noarmor_mm" title="No armor moving maneuver" value="@{wtype} &{template:movingmaneuver} {{type=No Armor}} {{character=@{character_name}}} {{subtags=Moving Maneuver}} {{roll=[[1d100!>96cs>96cf<5 + @{skill_noarmor_total_bonus}[SKILL] + @{total_mm_penalty}[MM PENALTY] + ?{Modifier|0}[MODIFIER]]]}} {{mm_penalty=[[@{total_mm_penalty}]]}} {{skill=[[@{skill_noarmor_total_bonus}]]}} {{underflow=[[1d100!>96 * -1]]}}">
</button>
</td>
</tr>
<!-- Soft leather -->
<tr class="table-section-shaded">
<td class="skill-label">Soft Leather</td>
<td>
<input type="number" class="autocalc-stat-right" name="attr_skill_softleather_display_ad_ranks" value="@{skill_softleather_ad_ranks}" disabled /><input type="hidden" name="attr_skill_softleather_ad_ranks" value="0"/>
</td>
<td>
<input class="rank-box" type="checkbox" name="attr_skill_softleather_5rank1" value="30" />
<input class="rank-box" type="checkbox" name="attr_skill_softleather_5rank2" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_softleather_5rank3" value="5" />
</td>
<td></td>
<td>
<input type="hidden" name="attr_skill_softleather_rank_bonus" value="0" />
<input type="number" class="autocalc-stat-right" name="attr_skill_softleather_rank_display_bonus" value="@{skill_softleather_rank_bonus}" disabled />
</td>
<td>AG<input type="number" class="autocalc-stat-right" name="attr_skill_softleather_stat_bonus" value="(@{stat_ag_total_bonus})" disabled /></td>
<td class="table-cell-center"> xx </td>
<td>
<input type="number" class="autocalc-stat-right" name="attr_skill_softleather_display_race_bonus" value="@{skill_softleather_race_bonus}" disabled />
<input type="hidden" name="attr_skill_softleather_race_bonus" value="0" />
</td>
<td><input type="number" name="attr_skill_softleather_item_bonus" value="0"/></td>
<td><input type="number" name="attr_skill_softleather_spec1_bonus" value="0"/></td>
<td><input type="number" class="autocalc-stat-right" name="attr_skill_softleather_spec2_bonus" value="-15" disabled /></td>
<td>
<input type="hidden" name="attr_skill_softleather_total_bonus" value="0" />
<input type="number" class="autocalc-bonus sheet-autocalc-total" name="attr_skill_softleather_total_display_bonus" value="@{skill_softleather_total_bonus}" disabled />
<span class="action-type-label" title="Moving Maneuver">MM</span>
</td>
<td>
<button type="roll" class="rolld100" name="attr_softleather_mm" title="Soft leather moving maneuver" value="@{wtype} &{template:movingmaneuver} {{type=Soft Leather Armor}} {{character=@{character_name}}} {{subtags=Moving Maneuver}} {{roll=[[1d100 + @{skill_softleather_total_bonus}[SKILL] + @{total_mm_penalty}[MM PENALTY] + ?{Modifier|0}[MODIFIER]]]}} {{mm_penalty=[[@{total_mm_penalty}]]}} {{skill=[[@{skill_softleather_total_bonus}]]}} {{underflow=[[1d100!>96 * -1]]}}">
</button>
</td>
</tr>
<!-- Rigid leather -->
<tr class="table-section-shaded">
<td class="skill-label">Rigid Leather</td>
<td>
<input type="number" class="autocalc-stat-right" name="attr_skill_rigidleather_display_ad_ranks" value="@{skill_rigidleather_ad_ranks}" disabled /><input type="hidden" name="attr_skill_rigidleather_ad_ranks" value="0" />
</td>
<td>
<input class="rank-box" type="checkbox" name="attr_skill_rigidleather_5rank1" value="30" />
<input class="rank-box" type="checkbox" name="attr_skill_rigidleather_5rank2" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_rigidleather_5rank3" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_rigidleather_5rank4" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_rigidleather_5rank5" value="5" />
</td>
<td></td>
<td>
<input type="hidden" name="attr_skill_rigidleather_rank_bonus" value="0" />
<input type="number" class="autocalc-stat-right" name="attr_skill_rigidleather_rank_display_bonus" value="@{skill_rigidleather_rank_bonus}" disabled />
</td>
<td>AG<input type="number" class="autocalc-stat-right" name="attr_skill_rigidleather_stat_bonus" value="(@{stat_ag_total_bonus})" disabled /></td>
<td class="table-cell-center"> xx </td>
<td>
<input type="number" class="autocalc-stat-right" name="attr_skill_rigidleather_display_race_bonus" value="@{skill_rigidleather_race_bonus}" disabled />
<input type="hidden" name="attr_skill_rigidleather_race_bonus" value="0" />
</td>
<td><input type="number" name="attr_skill_rigidleather_item_bonus" value="0"/></td>
<td><input type="number" name="attr_skill_rigidleather_spec1_bonus" value="0"/></td>
<td><input type="number" class="autocalc-stat-right" name="attr_skill_rigidleather_spec2_bonus" value="-30" disabled /></td>
<td>
<input type="hidden" name="attr_skill_rigidleather_total_bonus" value="0" />
<input type="number" class="autocalc-bonus sheet-autocalc-total" name="attr_skill_rigidleather_total_display_bonus" value="(@{skill_rigidleather_total_bonus})" disabled/>
<span class="action-type-label" title="Moving maneuver">MM</span>
</td>
<td>
<button type="roll" class="rolld100" name="attr_rigidleather_mm" title="Rigid leather moving maneuver" value="@{wtype} &{template:movingmaneuver} {{type=Rigid Leather Armor}} {{character=@{character_name}}} {{subtags=Moving Maneuver}} {{roll=[[1d100!>96cs>96cf<5 + @{skill_rigidleather_total_bonus}[SKILL] + @{total_mm_penalty}[MM PENALTY] + ?{Modifier|0}[MODIFIER]]]}} {{mm_penalty=[[@{total_mm_penalty}]]}} {{skill=[[@{skill_rigidleather_total_bonus}]]}} {{underflow=[[1d100!>96 * -1]]}}">
</button>
</td>
</tr>
<!-- Chain -->
<tr class="table-section-shaded">
<td class="skill-label">Chain</td>
<td>
<input type="number" class="autocalc-stat-right" name="attr_skill_chain_display_ad_ranks" value="@{skill_chain_ad_ranks}" disabled /><input type="hidden" name="attr_skill_chain_ad_ranks" value="0"/>
</td>
<td>
<input class="rank-box" type="checkbox" name="attr_skill_chain_5rank1" value="30" />
<input class="rank-box" type="checkbox" name="attr_skill_chain_5rank2" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_chain_5rank3" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_chain_5rank4" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_chain_5rank5" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_chain_5rank6" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_chain_5rank7" value="5" />
</td>
<td></td>
<td>
<input type="hidden" name="attr_skill_chain_rank_bonus" value="0" />
<input type="number" class="autocalc-stat-right" name="attr_skill_chain_rank_display_bonus" value="@{skill_chain_rank_bonus}" disabled />
</td>
<td>ST<input type="number" class="autocalc-stat-right" name="attr_skill_chain_stat_bonus" value="(@{stat_st_total_bonus})" disabled /></td>
<td class="table-cell-center"> xx </td>
<td>
<input type="number" class="autocalc-stat-right" name="attr_skill_chain_display_race_bonus" value="@{skill_chain_race_bonus}" disabled />
<input type="hidden" name="attr_skill_chain_race_bonus" value="0" />
</td>
<td><input type="number" name="attr_skill_chain_item_bonus" value="0"/></td>
<td><input type="number" name="attr_skill_chain_spec1_bonus" value="0"/></td>
<td><input type="number" class="autocalc-stat-right" name="attr_skill_chain_spec2_bonus" value="-45" disabled /></td>
<td>
<input type="hidden" name="attr_skill_chain_total_bonus" value="0" />
<input type="number" class="autocalc-bonus sheet-autocalc-total" name="attr_skill_chain_total_display_bonus" value="(@{skill_chain_total_bonus})" disabled />
<span class="action-type-label" title="Moving maneuver">MM</span>
</td>
<td>
<button type="roll" class="rolld100" name="attr_chain_mm" title="Chain moving maneuver" value="@{wtype} &{template:movingmaneuver} {{type=Chain Armor}} {{character=@{character_name}}} {{subtags=Moving maNeuver}} {{roll=[[1d100!>96cs>96cf<5 + @{skill_chain_total_bonus}[SKILL] + @{total_mm_penalty}[MM PENALTY] + ?{Modifier|0}[MODIFIER]]]}} {{mm_penalty=[[@{total_mm_penalty}]]}} {{skill=[[@{skill_chain_total_bonus}]]}} {{underflow=[[1d100!>96 * -1]]}}">
</button>
</td>
</tr>
<!-- Plate -->
<tr class="table-section-shaded">
<td class="skill-label">Plate</td>
<td>
</td>
<td>
<input class="rank-box" type="checkbox" name="attr_skill_plate_5rank1" value="30" />
<input class="rank-box" type="checkbox" name="attr_skill_plate_5rank2" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_plate_5rank3" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_plate_5rank4" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_plate_5rank5" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_plate_5rank6" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_plate_5rank7" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_plate_5rank8" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_plate_5rank9" value="5" />
</td>
<td></td>
<td>
<input type="hidden" name="attr_skill_plate_rank_bonus" value="0" />
<input type="number" class="autocalc-stat-right" name="attr_skill_plate_rank_display_bonus" value="@{skill_plate_rank_bonus}" disabled />
</td>
<td>ST<input type="number" class="autocalc-stat-right" name="attr_skill_plate_stat_bonus" value="(@{stat_st_total_bonus})" disabled /></td>
<td class="table-cell-center"> xx </td>
<td>
<input type="number" class="autocalc-stat-right" name="attr_skill_plate_display_race_bonus" value="@{skill_plate_race_bonus}" disabled/>
<input type="hidden" name="attr_skill_plate_race_bonus" value="0"/>
</td>
<td><input type="number" name="attr_skill_plate_item_bonus" value="0"/></td>
<td><input type="number" name="attr_skill_plate_spec1_bonus" value="0"/></td>
<td><input type="number" class="autocalc-stat-right" name="attr_skill_plate_spec2_bonus" value="-60" disabled /></td>
<td>
<input type="hidden" name="attr_skill_plate_total_bonus" value="0" />
<input type="number" class="autocalc-bonus sheet-autocalc-total" name="attr_skill_plate_total_display_bonus" value="(@{skill_plate_total_bonus})" disabled />
<span class="action-type-label" title="Moving maneuver">MM</span>
</td>
<td>
<button type="roll" class="rolld100" name="attr_plate_mm" title="Plate moving maneuver" value="@{wtype} &{template:movingmaneuver} {{type=Plate Armor}} {{character=@{character_name}}} {{subtags=Moving maNeuver}} {{roll=[[1d100!>96cs>96cf<5 + @{skill_plate_total_bonus}[SKILL] + @{total_mm_penalty}[MM PENALTY] + ?{Modifier|0}[MODIFIER]]]}} {{mm_penalty=[[@{total_mm_penalty}]]}} {{skill=[[@{skill_plate_total_bonus}]]}} {{underflow=[[1d100!>96 * -1]]}}">
</button>
</td>
</tr>
<tr>
<td colspan="14">
<span class="skill-heading">Weapon Skills</span>
<input type="hidden" name="attr_weapon_profession_development" value="0"/>
<span class="devpts-label" title="Number of professional development points per level. To raise a skill 1 rank = 1 point, 2 ranks = 3 points">[ dev pts
<input class="autocalc-devpts-right" type="number" name="attr_weapon_display_profession_development" value="@{weapon_profession_development}" disabled /> /lvl ]
</span>
</td>
</tr>
<!-- 1H-Edged -->
<tr>
<td class="skill-label">1-H Edged</td>
<td>
<input type="number" class="autocalc-stat-right" name="attr_skill_1hedged_display_ad_ranks" value="@{skill_1hedged_ad_ranks}" disabled/><input type="hidden" name="attr_skill_1hedged_ad_ranks" value="0"/>
</td>
<td>
<input class="rank-box" type="checkbox" name="attr_skill_1hedged_5rank1" value="30" />
<input class="rank-box" type="checkbox" name="attr_skill_1hedged_5rank2" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_1hedged_5rank3" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_1hedged_5rank4" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_1hedged_5rank5" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_1hedged_5rank6" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_1hedged_5rank7" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_1hedged_5rank8" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_1hedged_5rank9" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_1hedged_5rank10" value="5" />
<input type="hidden" name="attr_skill_1hedged_5sum_ranks" value="(-25+@{skill_1hedged_5rank1}+@{skill_1hedged_5rank2}+@{skill_1hedged_5rank3}+@{skill_1hedged_5rank4}+@{skill_1hedged_5rank5}+@{skill_1hedged_5rank6}+@{skill_1hedged_5rank7}+@{skill_1hedged_5rank8}+@{skill_1hedged_5rank9}+@{skill_1hedged_5rank10})"/>
</td>
<td>
<input class="rank-box" type="checkbox" name="attr_skill_1hedged_2rank1" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_1hedged_2rank2" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_1hedged_2rank3" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_1hedged_2rank4" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_1hedged_2rank5" value="2" />
<input type="hidden" name="attr_skill_1hedged_2sum_ranks" value="(@{skill_1hedged_2rank1} + @{skill_1hedged_2rank2} + @{skill_1hedged_2rank3} + @{skill_1hedged_2rank4} + @{skill_1hedged_2rank5})"/>
</td>
<td>
<input type="hidden" name="attr_skill_1hedged_rank_bonus" value="0" />
<input type="number" class="autocalc-stat-right" name="attr_skill_1hedged_rank_display_bonus" value="(@{skill_1hedged_rank_bonus})" disabled/>
</td>
<td>ST<input type="number" class="autocalc-stat-right" name="attr_skill_1hedged_stat_bonus" value="(@{stat_st_total_bonus})" disabled /></td>
<td>
<input type="hidden" name="attr_skill_1hedged_prof_bonus" value="0" />
<input type="number" name="attr_skill_1hedged_prof_display_bonus" value="@{skill_1hedged_prof_bonus}" disabled/>
</td>
<td>
<input type="number" class="autocalc-stat-right" name="attr_skill_1hedged_display_race_bonus" value="@{skill_1hedged_race_bonus}" disabled/>
<input type="hidden" name="attr_skill_1hedged_race_bonus" value="0"/>
</td>
<td><input type="number" name="attr_skill_1hedged_item_bonus" value="0"/></td>
<td><input type="number" name="attr_skill_1hedged_spec1_bonus" value="0"/></td>
<td><input type="number" class="autocalc-stat-right" name="attr_skill_1hedged_spec2_bonus" value="0" /></td>
<td>
<input type="hidden" name="attr_skill_1hedged_total_bonus" value="0" />
<input type="number" class="autocalc-bonus sheet-autocalc-total" name="attr_skill_1hedged_total_display_bonus" value="@{skill_1hedged_total_bonus}" disabled />
<span class="action-type-label" title="Offensive bonus">OB</span>
</td>
<td>
<button type="roll" class="rolld100" name="attr_1hedged_ob" title="1-H Edged Attack Roll" value="@{wtype} &{template:attack} {{type=1-Handed Edged Weapon}} {{character=@{character_name}}} {{subtags=Melee Attack}} {{roll=[[1d100!>96cs>96cf<8 + @{skill_1hedged_total_bonus}[SKILL] + @{total_ob_penalty}[OB PENALTY] + ?{Modifier|0}[MODIFIER]]]}} {{ob_penalty=[[@{total_ob_penalty}]]}} {{skill=[[@{skill_1hedged_total_bonus}]]}} {{primary_critical=[[1d100]]}} {{secondary_critical=[[1d100]]}} {{fumble_roll=[[1d100]]}} {{underflow=[[1d100!>96 * -1]]}}">
</button>
</td>
</tr>
<!-- 1H-Conc -->
<tr>
<td class="skill-label">1-H Concussion</td>
<td>
<input type="number" class="autocalc-stat-right" name="attr_skill_1hconc_display_ad_ranks" value="@{skill_1hconc_ad_ranks}" disabled /><input type="hidden" name="attr_skill_1hconc_ad_ranks" value="0" />
</td>
<td>
<input class="rank-box" type="checkbox" name="attr_skill_1hconc_5rank1" value="30" />
<input class="rank-box" type="checkbox" name="attr_skill_1hconc_5rank2" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_1hconc_5rank3" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_1hconc_5rank4" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_1hconc_5rank5" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_1hconc_5rank6" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_1hconc_5rank7" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_1hconc_5rank8" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_1hconc_5rank9" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_1hconc_5rank10" value="5" />
</td>
<td>
<input class="rank-box" type="checkbox" name="attr_skill_1hconc_2rank1" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_1hconc_2rank2" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_1hconc_2rank3" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_1hconc_2rank4" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_1hconc_2rank5" value="2" />
</td>
<td>
<input type="hidden" name="attr_skill_1hconc_rank_bonus" value="0" />
<input type="number"class="autocalc-stat-right" name="attr_skill_1hconc_rank_display_bonus" value="(@{skill_1hconc_rank_bonus})" disabled/>
</td>
<td>ST<input type="number" class="autocalc-stat-right" name="attr_skill_1hconc_stat_bonus" value="(@{stat_st_total_bonus})" disabled /></td>
<td>
<input type="hidden" name="attr_skill_1hconc_prof_bonus" value="0" />
<input type="number" name="attr_skill_1hconc_prof_display_bonus" value="@{skill_1hconc_prof_bonus}" disabled />
</td>
<td>
<input type="number" class="autocalc-stat-right" name="attr_skill_1hconc_display_race_bonus" value="@{skill_1hconc_race_bonus}" disabled />
<input type="hidden" name="attr_skill_1hconc_race_bonus" value="0" />
</td>
<td><input type="number" name="attr_skill_1hconc_item_bonus" value="0"/></td>
<td><input type="number" name="attr_skill_1hconc_spec1_bonus" value="0"/></td>
<td><input type="number" class="autocalc-stat-right" name="attr_skill_1hconc_spec2_bonus" value="0" /></td>
<td>
<input type="hidden" name="attr_skill_1hconc_total_bonus" value="0" />
<input type="number" class="autocalc-bonus sheet-autocalc-total" name="attr_skill_1hconc_total_display_bonus" value="(@{skill_1hconc_total_bonus})" disabled />
<span class="action-type-label" title="Offensive bonus">OB</span></td>
<td>
<button type="roll" class="rolld100" name="attr_1hconc_ob" title="1-H Concussion Attack Roll" value="@{wtype} &{template:attack} {{type=1-Handed Concussion Weapon}} {{character=@{character_name}}} {{subtags=Melee Attack}} {{roll=[[1d100!>96cs>96cf<8 + @{skill_1hconc_total_bonus}[SKILL] + @{total_ob_penalty}[OB PENALTY] ?{Modifier|0}[MODIFIER]]]}} {{ob_penalty=[[@{total_ob_penalty}]]}} {{skill=[[@{skill_1hconc_total_bonus}]]}} {{primary_critical=[[1d100]]}} {{secondary_critical=[[1d100]]}} {{fumble_roll=[[1d100]]}} {{underflow=[[1d100!>96 * -1]]}}">
</button>
</td>
</tr>
<!-- 2-Handed -->
<tr>
<td class="skill-label">2-Handed</td>
<td>
<input type="number" class="autocalc-stat-right" name="attr_skill_2handed_display_ad_ranks" value="@{skill_2handed_ad_ranks}" disabled/><input type="hidden" name="attr_skill_2handed_ad_ranks" value="0" />
</td>
<td>
<input class="rank-box" type="checkbox" name="attr_skill_2handed_5rank1" value="30" />
<input class="rank-box" type="checkbox" name="attr_skill_2handed_5rank2" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_2handed_5rank3" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_2handed_5rank4" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_2handed_5rank5" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_2handed_5rank6" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_2handed_5rank7" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_2handed_5rank8" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_2handed_5rank9" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_2handed_5rank10" value="5" />
</td>
<td>
<input class="rank-box" type="checkbox" name="attr_skill_2handed_2rank1" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_2handed_2rank2" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_2handed_2rank3" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_2handed_2rank4" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_2handed_2rank5" value="2" />
</td>
<td>
<input type="hidden" name="attr_skill_2handed_rank_bonus" value="0" />
<input type="number" class="autocalc-stat-right" name="attr_skill_2handed_rank_display_bonus" value="(@{skill_2handed_rank_bonus})" disabled />
</td>
<td>ST<input type="number" class="autocalc-stat-right" name="attr_skill_2handed_stat_bonus" value="(@{stat_st_total_bonus})" disabled /></td>
<td>
<input type="hidden" name="attr_skill_2handed_prof_bonus" value="0" />
<input type="number" name="attr_skill_2handed_prof_display_bonus" value="@{skill_2handed_prof_bonus}" disabled />
</td>
<td>
<input type="number" class="autocalc-stat-right" name="attr_skill_2handed_display_race_bonus" value="@{skill_2handed_race_bonus}" disabled />
<input type="hidden" name="attr_skill_2handed_race_bonus" value="0" />
</td>
<td><input type="number" name="attr_skill_2handed_item_bonus" value="0"/></td>
<td><input type="number" name="attr_skill_2handed_spec1_bonus" value="0"/></td>
<td><input type="number" class="autocalc-stat-right" name="attr_skill_2handed_spec2_bonus" value="0" /></td>
<td>
<input type="hidden" name="attr_skill_2handed_total_bonus" value="0" />
<input type="number" class="autocalc-bonus sheet-autocalc-total" name="attr_skill_2handed_total_display_bonus" value="(@{skill_2handed_total_bonus})" disabled />
<span class="action-type-label" title="Offensive bonus">OB</span>
</td>
<td>
<button type="roll" class="rolld100" name="attr_2handed_ob" title="2-Handed Attack Roll" value="@{wtype} &{template:attack} {{type=2-Handed Weapon}} {{character=@{character_name}}} {{subtags=Melee Attack}} {{roll=[[1d100!>96cs>96cf<8 + @{skill_2handed_total_bonus} + @{total_ob_penalty}[OB PENALTY] + ?{Modifier|0}[MODIFIER]]]}} {{ob_penalty=[[@{total_ob_penalty}]]}} {{skill=[[@{skill_2handed_total_bonus}]]}} {{primary_critical=[[1d100]]}} {{secondary_critical=[[1d100]]}} {{fumble_roll=[[1d100]]}} {{underflow=[[1d100!>96 * -1]]}}">
</button>
</td>
</tr>
<!-- Thrown -->
<tr>
<td class="skill-label">Thrown</td>
<td>
<input type="number" class="autocalc-stat-right" name="attr_skill_thrown_display_ad_ranks" value="@{skill_thrown_ad_ranks}" disabled /><input type="hidden" name="attr_skill_thrown_ad_ranks" value="0" />
</td>
<td>
<input class="rank-box" type="checkbox" name="attr_skill_thrown_5rank1" value="30" />
<input class="rank-box" type="checkbox" name="attr_skill_thrown_5rank2" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_thrown_5rank3" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_thrown_5rank4" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_thrown_5rank5" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_thrown_5rank6" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_thrown_5rank7" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_thrown_5rank8" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_thrown_5rank9" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_thrown_5rank10" value="5" />
</td>
<td>
<input class="rank-box" type="checkbox" name="attr_skill_thrown_2rank1" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_thrown_2rank2" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_thrown_2rank3" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_thrown_2rank4" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_thrown_2rank5" value="2" />
</td>
<td>
<input type="hidden" name="attr_skill_thrown_rank_bonus" value="0" />
<input type="number" class="autocalc-stat-right" name="attr_skill_thrown_rank_display_bonus" value="(@{skill_thrown_rank_bonus})" disabled/>
</td>
<td>AG<input type="number" class="autocalc-stat-right" name="attr_skill_thrown_stat_bonus" value="(@{stat_ag_total_bonus})" disabled /></td>
<td>
<input type="hidden" name="attr_skill_thrown_prof_bonus" value="0" />
<input type="number" name="attr_skill_thrown_prof_display_bonus" value="@{skill_thrown_prof_bonus}" disabled />
</td>
<td>
<input type="number" class="autocalc-stat-right" name="attr_skill_thrown_display_race_bonus" value="@{skill_thrown_race_bonus}" disabled />
<input type="hidden" name="attr_skill_thrown_race_bonus" value="0" />
</td>
<td><input type="number" name="attr_skill_thrown_item_bonus" value="0"/></td>
<td><input type="number" name="attr_skill_thrown_spec1_bonus" value="0"/></td>
<td><input type="number" class="autocalc-stat-right" name="attr_skill_thrown_spec2_bonus" value="0" /></td>
<td>
<input type="hidden" name="attr_skill_thrown_total_bonus" value="0" />
<input type="number" class="autocalc-bonus sheet-autocalc-total" name="attr_skill_thrown_total_display_bonus" value="(@{skill_thrown_total_bonus})" disabled />
<span class="action-type-label" title="Offensive bonus">OB</span></td>
<td>
<button type="roll" class="rolld100" name="attr_thrown_ob" title="Thrown Attack Roll" value="@{wtype} &{template:attack} {{type=Thrown Weapon}} {{character=@{character_name}}} {{subtags=Missile Attack}} {{roll=[[1d100!>96cs>96cf<8 + @{skill_thrown_total_bonus} + @{total_ob_penalty}[OB PENALTY] + ?{Modifier|0}[MODIFIER]]]}} {{ob_penalty=[[@{total_ob_penalty}]]}} {{skill=[[@{skill_thrown_total_bonus}]]}} {{primary_critical=[[1d100]]}} {{secondary_critical=[[1d100]]}} {{fumble_roll=[[1d100]]}} {{underflow=[[1d100!>96 * -1]]}}">
</button>
</td>
</tr>
<!-- Missile -->
<tr>
<td class="skill-label">Missile</td>
<td>
<input type="number" class="autocalc-stat-right" name="attr_skill_missile_display_ad_ranks" value="@{skill_missile_ad_ranks}" disabled /><input type="hidden" name="attr_skill_missile_ad_ranks" value="0" />
</td>
<td>
<input class="rank-box" type="checkbox" name="attr_skill_missile_5rank1" value="30" />
<input class="rank-box" type="checkbox" name="attr_skill_missile_5rank2" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_missile_5rank3" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_missile_5rank4" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_missile_5rank5" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_missile_5rank6" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_missile_5rank7" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_missile_5rank8" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_missile_5rank9" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_missile_5rank10" value="5" />
</td>
<td>
<input class="rank-box" type="checkbox" name="attr_skill_missile_2rank1" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_missile_2rank2" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_missile_2rank3" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_missile_2rank4" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_missile_2rank5" value="2" />
</td>
<td>
<input type="hidden" name="attr_skill_missile_rank_bonus" value="0" />
<input type="number" class="autocalc-stat-right" name="attr_skill_missile_rank_display_bonus" value="(@{skill_missile_rank_bonus})" disabled/>
</td>
<td>AG<input type="number" class="autocalc-stat-right" name="attr_skill_missile_stat_bonus" value="(@{stat_ag_total_bonus})" disabled /></td>
<td>
<input type="hidden" name="attr_skill_missile_prof_bonus" value="0" />
<input type="number" name="attr_skill_missile_prof_display_bonus" value="@{skill_missile_prof_bonus}" disabled />
</td>
<td>
<input type="number" class="autocalc-stat-right" name="attr_skill_missile_display_race_bonus" value="@{skill_missile_race_bonus}" disabled />
<input type="hidden" name="attr_skill_missile_race_bonus" value="0" />
</td>
<td><input type="number" name="attr_skill_missile_item_bonus" value="0"/></td>
<td><input type="number" name="attr_skill_missile_spec1_bonus" value="0"/></td>
<td><input type="number" class="autocalc-stat-right" name="attr_skill_missile_spec2_bonus" value="0" /></td>
<td>
<input type="hidden" name="attr_skill_missile_total_bonus" value="0" />
<input type="number" class="autocalc-bonus sheet-autocalc-total" name="attr_skill_missile_total_display_bonus" value="(@{skill_missile_total_bonus})" disabled/>
<span class="action-type-label" title="Offensive bonus">OB</span>
</td>
<td>
<button type="roll" class="rolld100" name="attr_missile_ob" title="Missile Attack Roll" value="@{wtype} &{template:attack} {{type=Missile Weapon}} {{character=@{character_name}}} {{subtags=Missile Attack}} {{roll=[[1d100!>96cs>96cf<8 + @{skill_missile_total_bonus}[SKILL] + @{total_ob_penalty}[OB PENALTY] ?{Modifier|0}[MODIFIER]]]}} {{ob_penalty=[[@{total_ob_penalty}]]}} {{skill=[[@{skill_missile_total_bonus}]]}} {{primary_critical=[[1d100]]}} {{secondary_critical=[[1d100]]}} {{fumble_roll=[[1d100]]}} {{underflow=[[1d100!>96 * -1]]}}">
</button>
</td>
</tr>
<!-- Polearm -->
<tr>
<td class="skill-label">Pole-arms</td>
<td>
<input type="number" class="autocalc-stat-right" name="attr_skill_polearm_display_ad_ranks" value="@{skill_polearm_ad_ranks}" disabled /><input type="hidden" name="attr_skill_polearm_ad_ranks" value="0" />
</td>
<td>
<input class="rank-box" type="checkbox" name="attr_skill_polearm_5rank1" value="30" />
<input class="rank-box" type="checkbox" name="attr_skill_polearm_5rank2" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_polearm_5rank3" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_polearm_5rank4" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_polearm_5rank5" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_polearm_5rank6" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_polearm_5rank7" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_polearm_5rank8" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_polearm_5rank9" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_polearm_5rank10" value="5" />
</td>
<td>
<input class="rank-box" type="checkbox" name="attr_skill_polearm_2rank1" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_polearm_2rank2" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_polearm_2rank3" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_polearm_2rank4" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_polearm_2rank5" value="2" />
</td>
<td>
<input type="hidden" name="attr_skill_polearm_rank_bonus" value="0" />
<input type="number" class="autocalc-stat-right" name="attr_skill_polearm_rank_display_bonus" value="(@{skill_polearm_rank_bonus})" disabled />
</td>
<td>ST<input type="number" class="autocalc-stat-right" name="attr_skill_polearm_stat_bonus" value="(@{stat_st_total_bonus})" disabled /></td>
<td>
<input type="hidden" name="attr_skill_polearm_prof_bonus" value="0" />
<input type="number" name="attr_skill_polearm_prof_display_bonus" value="@{skill_polearm_prof_bonus}" disabled />
</td>
<td>
<input type="number" class="autocalc-stat-right" name="attr_skill_polearm_display_race_bonus" value="@{skill_polearm_race_bonus}" disabled />
<input type="hidden" name="attr_skill_polearm_race_bonus" value="0" />
</td>
<td><input type="number" name="attr_skill_polearm_item_bonus" value="0"/></td>
<td><input type="number" name="attr_skill_polearm_spec1_bonus" value="0"/></td>
<td><input type="number" class="autocalc-stat-right" name="attr_skill_polearm_spec2_bonus" value="0" /></td>
<td>
<input type="hidden" name="attr_skill_polearm_total_bonus" value="0" />
<input type="number" class="autocalc-bonus sheet-autocalc-total" name="attr_skill_polearm_total_display_bonus" value="(@{skill_polearm_total_bonus})" disabled />
<span class="action-type-label" title="Offensive bonus">OB</span>
</td>
<td>
<button type="roll" class="rolld100" name="attr_polearm_ob" title="Polearm Attack Roll" value="@{wtype} &{template:attack} {{type=Pole-arm}} {{character=@{character_name}}} {{subtags=Melee Attack}} {{roll=[[1d100!>96cs>96cf<8 + @{skill_polearm_total_bonus}[SKILL] + @{total_ob_penalty}[OB PENALTY]+ ?{Modifier|0}[MODIFIER]]]}} {{ob_penalty=[[@{total_ob_penalty}]]}} {{skill=[[@{skill_polearm_total_bonus}]]}} {{primary_critical=[[1d100]]}} {{secondary_critical=[[1d100]]}} {{fumble_roll=[[1d100]]}} {{underflow=[[1d100!>96 * -1]]}}">
</button>
</td>
</tr>
<tr>
<td colspan="14">
<span class="skill-heading">General Skills</span>
<input type="hidden" name="attr_general_profession_development" value="0"/>
<span class="devpts-label" title="Number of professional development points per level. To raise a skill 1 rank = 1 point, 2 ranks = 3 points">[ dev pts
<input class="autocalc-devpts-right" type="number" name="attr_general_display_profession_development" value="@{general_profession_development}" disabled /> /lvl ]
</span>
</td>
</tr>
<!-- Climb -->
<tr class="table-section-shaded">
<td class="skill-label">Climb</td>
<td>
<input type="number" class="autocalc-stat-right" name="attr_skill_climb_display_ad_ranks" value="@{skill_climb_ad_ranks}" disabled /><input type="hidden" name="attr_skill_climb_ad_ranks" value="0" />
</td>
<td>
<input class="rank-box" type="checkbox" name="attr_skill_climb_5rank1" value="30" />
<input class="rank-box" type="checkbox" name="attr_skill_climb_5rank2" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_climb_5rank3" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_climb_5rank4" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_climb_5rank5" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_climb_5rank6" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_climb_5rank7" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_climb_5rank8" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_climb_5rank9" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_climb_5rank10" value="5" />
</td>
<td>
<input class="rank-box" type="checkbox" name="attr_skill_climb_2rank1" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_climb_2rank2" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_climb_2rank3" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_climb_2rank4" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_climb_2rank5" value="2" />
</td>
<td>
<input type="hidden" name="attr_skill_climb_rank_bonus" value="0" />
<input type="number" class="autocalc-stat-right" name="attr_skill_climb_rank_display_bonus" value="(@{skill_climb_rank_bonus})" disabled/>
</td>
<td>AG<input type="number" class="autocalc-stat-right" name="attr_skill_climb_stat_bonus" value="(@{stat_ag_total_bonus})" disabled /></td>
<td>
<input type="hidden" name="attr_skill_climb_prof_bonus" value="0" />
<input type="number" name="attr_skill_climb_prof_display_bonus" value="(@{skill_climb_prof_bonus})" disabled />
</td>
<td>
<input type="number" class="autocalc-stat-right" name="attr_skill_climb_display_race_bonus" value="@{skill_climb_race_bonus}" disabled />
<input type="hidden" name="attr_skill_climb_race_bonus" value="0" />
</td>
<td><input type="number" name="attr_skill_climb_item_bonus" value="0"/></td>
<td><input type="number" name="attr_skill_climb_spec1_bonus" value="0"/></td>
<td><input type="number" class="autocalc-stat-right" name="attr_skill_climb_spec2_bonus" value="0" /></td>
<td>
<input type="hidden" name="attr_skill_climb_total_bonus" value="0" />
<input type="number" class="autocalc-bonus sheet-autocalc-total" name="attr_skill_climb_total_display_bonus" disabled value="(@{skill_climb_total_bonus})"/>
<span class="action-type-label" title="Moving maneuver">MM</span></td>
<td>
<button type="roll" class="rolld100" name="attr_climb_mm" title="Climbing moving maneuver" value="@{wtype} &{template:movingmaneuver} {{type=Climbing}} {{character=@{character_name}}} {{subtags=Moving maneuver}} {{roll=[[1d100!>96cs>96cf<5 + @{skill_climb_total_bonus}[SKILL] + @{total_mm_penalty}[MM PENALTY] + ?{Modifier|0}[MODIFIER]]]}} {{mm_penalty=[[@{total_mm_penalty}]]}} {{skill=[[@{skill_climb_total_bonus}]]}} {{underflow=[[1d100!>96 * -1]]}}">
</button>
</td>
</tr>
<!-- Ride -->
<tr class="table-section-shaded">
<td class="skill-label">Ride</td>
<td>
<input type="number" class="autocalc-stat-right" name="attr_skill_ride_display_ad_ranks" value="@{skill_ride_ad_ranks}" disabled /><input type="hidden" name="attr_skill_ride_ad_ranks" value="0" />
</td>
<td>
<input class="rank-box" type="checkbox" name="attr_skill_ride_5rank1" value="30" />
<input class="rank-box" type="checkbox" name="attr_skill_ride_5rank2" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_ride_5rank3" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_ride_5rank4" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_ride_5rank5" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_ride_5rank6" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_ride_5rank7" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_ride_5rank8" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_ride_5rank9" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_ride_5rank10" value="5" />
</td>
<td>
<input class="rank-box" type="checkbox" name="attr_skill_ride_2rank1" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_ride_2rank2" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_ride_2rank3" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_ride_2rank4" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_ride_2rank5" value="2" />
</td>
<td>
<input type="hidden" name="attr_skill_ride_rank_bonus" value="0" />
<input type="number" class="autocalc-stat-right" name="attr_skill_ride_rank_display_bonus" value="(@{skill_ride_rank_bonus})" disabled />
</td>
<td>IT<input type="number" class="autocalc-stat-right" name="attr_skill_ride_stat_bonus" value="(@{stat_it_total_bonus})" disabled /></td>
<td>
<input type="hidden" name="attr_skill_ride_prof_bonus" value="0" />
<input type="number" name="attr_skill_ride_prof_display_bonus" value="@{skill_ride_prof_bonus}" disabled />
</td>
<td>
<input type="number" class="autocalc-stat-right" name="attr_skill_ride_display_race_bonus" value="@{skill_ride_race_bonus}" disabled />
<input type="hidden" name="attr_skill_ride_race_bonus" value="0" />
</td>
<td><input type="number" name="attr_skill_ride_item_bonus" value="0"/></td>
<td><input type="number" name="attr_skill_ride_spec1_bonus" value="0"/></td>
<td><input type="number" class="autocalc-stat-right" name="attr_skill_ride_spec2_bonus" value="0" /></td>
<td>
<input type="hidden" name="attr_skill_ride_total_bonus" value="0" />
<input type="number" class="autocalc-bonus sheet-autocalc-total" name="attr_skill_ride_total_display_bonus" disabled value="(@{skill_ride_total_bonus})"/>
<span class="action-type-label" title="Moving maneuver">MM</span>
</td>
<td>
<button type="roll" class="rolld100" name="attr_ride_mm" title="Riding moving maneuver" value="@{wtype} &{template:movingmaneuver} {{type=Riding}} {{character=@{character_name}}} {{subtags=Moving Maneuver}} {{roll=[[1d100!>96cs>96cf<5 + @{skill_ride_total_bonus}[SKILL] + @{total_mm_penalty}[MM PENALTY] + ?{Modifier|0}[MODIFIER]]]}} {{mm_penalty=[[@{total_mm_penalty}]]}} {{skill=[[@{skill_ride_total_bonus}]]}} {{underflow=[[1d100!>96 * -1]]}}">
</button>
</td>
</tr>
<!-- Swim -->
<tr class="table-section-shaded">
<td class="skill-label">Swim</td>
<td>
<input type="number" class="autocalc-stat-right" name="attr_skill_swim_display_ad_ranks" value="@{skill_swim_ad_ranks}" disabled /><input type="hidden" name="attr_skill_swim_ad_ranks" value="0"/>
</td>
<td>
<input class="rank-box" type="checkbox" name="attr_skill_swim_5rank1" value="30" />
<input class="rank-box" type="checkbox" name="attr_skill_swim_5rank2" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_swim_5rank3" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_swim_5rank4" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_swim_5rank5" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_swim_5rank6" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_swim_5rank7" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_swim_5rank8" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_swim_5rank9" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_swim_5rank10" value="5" />
</td>
<td>
<input class="rank-box" type="checkbox" name="attr_skill_swim_2rank1" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_swim_2rank2" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_swim_2rank3" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_swim_2rank4" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_swim_2rank5" value="2" />
</td>
<td>
<input type="hidden" name="attr_skill_swim_rank_bonus" value="0" />
<input type="number" class="autocalc-stat-right" name="attr_skill_swim_rank_display_bonus" value="(@{skill_swim_rank_bonus})" disabled/>
</td>
<td>AG<input type="number" class="autocalc-stat-right" name="attr_skill_swim_stat_bonus" value="(@{stat_ag_total_bonus})" disabled /></td>
<td>
<input type="hidden" name="attr_skill_swim_prof_bonus" value="0" />
<input type="number" name="attr_skill_swim_prof_display_bonus" value="@{skill_swim_prof_bonus}" disabled />
</td>
<td>
<input type="number" class="autocalc-stat-right" name="attr_skill_swim_display_race_bonus" value="@{skill_swim_race_bonus}" disabled />
<input type="hidden" name="attr_skill_swim_race_bonus" value="0" />
</td>
<td><input type="number" name="attr_skill_swim_item_bonus" value="0"/></td>
<td><input type="number" name="attr_skill_swim_spec1_bonus" value="0"/></td>
<td><input type="number" class="autocalc-stat-right" name="attr_skill_swim_spec2_bonus" value="0" /></td>
<td>
<input type="hidden" name="attr_skill_swim_total_bonus" value="0" />
<input type="number" class="autocalc-bonus sheet-autocalc-total" name="attr_skill_swim_total_display_bonus" value="(@{skill_swim_total_bonus})" disabled />
<span class="action-type-label" title="Moving maneuver">MM</span>
</td>
<td>
<button type="roll" class="rolld100" name="attr_swim_mm" title="Swimming moving maneuver" value="@{wtype} &{template:movingmaneuver} {{type=Swimming}} {{character=@{character_name}}} {{subtags=Moving maNeuver}} {{roll=[[1d100!>96cs>96cf<5 + @{skill_swim_total_bonus}[SKILL] + @{total_mm_penalty}[MM PENALTY] + ?{Modifier|0}[MODIFIER]]]}} {{mm_penalty=[[@{total_mm_penalty}]]}} {{skill=[[@{skill_swim_total_bonus}]]}} {{underflow=[[1d100!>96 * -1]]}}">
</button>
</td>
</tr>
<!-- Track -->
<tr class="table-section-shaded">
<td class="skill-label">Track</td>
<td>
</td>
<td>
<input class="rank-box" type="checkbox" name="attr_skill_track_5rank1" value="30" />
<input class="rank-box" type="checkbox" name="attr_skill_track_5rank2" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_track_5rank3" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_track_5rank4" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_track_5rank5" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_track_5rank6" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_track_5rank7" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_track_5rank8" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_track_5rank9" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_track_5rank10" value="5" />
</td>
<td>
<input class="rank-box" type="checkbox" name="attr_skill_track_2rank1" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_track_2rank2" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_track_2rank3" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_track_2rank4" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_track_2rank5" value="2" />
</td>
<td>
<input type="hidden" name="attr_skill_track_rank_bonus" value="0" />
<input type="number" class="autocalc-stat-right" name="attr_skill_track_rank_display_bonus" value="(@{skill_track_rank_bonus})" disabled />
</td>
<td>IG<input type="number" class="autocalc-stat-right" name="attr_skill_track_stat_bonus" value="(@{stat_ig_total_bonus})" disabled /></td>
<td>
<input type="hidden" name="attr_skill_track_prof_bonus" value="0" />
<input type="number" name="attr_skill_track_prof_display_bonus" value="@{skill_track_prof_bonus}" disabled />
</td>
<td>
<input type="number" class="autocalc-stat-right" name="attr_skill_track_display_race_bonus" value="@{skill_track_race_bonus}" disabled />
<input type="hidden" name="attr_skill_track_race_bonus" value="0" />
</td>
<td><input type="number" name="attr_skill_track_item_bonus" value="0"/></td>
<td><input type="number" name="attr_skill_track_spec1_bonus" value="0"/></td>
<td><input type="number" class="autocalc-stat-right" name="attr_skill_track_spec2_bonus" value="0" /></td>
<td>
<input type="hidden" name="attr_skill_track_total_bonus" value="0" />
<input type="number" class="autocalc-bonus sheet-autocalc-total" name="attr_skill_track_total_display_bonus" value="(@{skill_track_total_bonus})" disabled />
<span class="action-type-label" title="Static maneuver">SM</span>
</td>
<td>
<button type="roll" class="rolld100" name="attr_track_sm" title="Tracking static maneuver" value="@{wtype} &{template:staticmaneuver} {{type=Tracking}} {{character=@{character_name}}} {{subtags=Static Maneuver}} {{roll=[[1d100!>96cs>96cf<5 + @{skill_track_total_bonus}[SKILL] + @{activity_penalty}[ACT. PENALTY] + ?{Modifier|0}[MODIFIER]]]}} {{sm_penalty=[[@{activity_penalty}]]}} {{skill=[[@{skill_track_total_bonus}]]}} {{underflow=[[1d100!>96 * -1]]}}">
</button>
</td>
</tr>
<tr>
<td colspan="14">
<span class="skill-heading">Subterfuge Skills</span>
<input type="hidden" name="attr_subterfuge_profession_development" value="0"/>
<span class="devpts-label" title="Number of professional development points per level. To raise a skill 1 rank = 1 point, 2 ranks = 3 points">[ dev pts
<input class="autocalc-devpts-right" type="number" name="attr_subterfuge_display_profession_development" value="@{subterfuge_profession_development}" disabled /> /lvl ]
</span>
</td>
</tr>
<!-- Ambush -->
<tr>
<td class="skill-label">Ambush</td>
<td>
<input type="number" class="autocalc-stat-right" name="attr_skill_ambush_display_ad_ranks" value="@{skill_ambush_ad_ranks}" disabled />
<input type="hidden" name="attr_skill_ambush_ad_ranks" value="0" />
</td>
<td>
<input class="rank-box" type="checkbox" name="attr_skill_ambush_5rank1" value="1" />
<input class="rank-box" type="checkbox" name="attr_skill_ambush_5rank2" value="1" />
<input class="rank-box" type="checkbox" name="attr_skill_ambush_5rank3" value="1" />
<input class="rank-box" type="checkbox" name="attr_skill_ambush_5rank4" value="1" />
<input class="rank-box" type="checkbox" name="attr_skill_ambush_5rank5" value="1" />
<input class="rank-box" type="checkbox" name="attr_skill_ambush_5rank6" value="1" />
<input class="rank-box" type="checkbox" name="attr_skill_ambush_5rank7" value="1" />
<input class="rank-box" type="checkbox" name="attr_skill_ambush_5rank8" value="1" />
<input class="rank-box" type="checkbox" name="attr_skill_ambush_5rank9" value="1" />
<input class="rank-box" type="checkbox" name="attr_skill_ambush_5rank10" value="1" />
</td>
<td>
<input class="rank-box" type="checkbox" name="attr_skill_ambush_2rank1" value="1" />
<input class="rank-box" type="checkbox" name="attr_skill_ambush_2rank2" value="1" />
<input class="rank-box" type="checkbox" name="attr_skill_ambush_2rank3" value="1" />
<input class="rank-box" type="checkbox" name="attr_skill_ambush_2rank4" value="1" />
<input class="rank-box" type="checkbox" name="attr_skill_ambush_2rank5" value="1" />
</td>
<td>
<input type="hidden" name="attr_skill_ambush_rank_bonus" value="0"/>
<input type="number" class="autocalc-stat-right" name="attr_skill_ambush_rank_display_bonus" value="(@{skill_ambush_rank_bonus})" disabled/>
</td>
<td class="align-center"> xxxx </td>
<td class="align-center"> xx </td>
<td class="align-center"> xx </td>
<td class="align-center"> xx </td>
<td><input type="number" name="attr_skill_ambush_spec1_bonus" value="0"/></td>
<td><input type="number" class="autocalc-stat-right" name="attr_skill_ambush_spec2_bonus" value="0" /></td>
<td>
<input type="hidden" name="attr_skill_ambush_total_bonus" value="0"/>
<input type="number" class="autocalc-bonus sheet-autocalc-total" name="attr_skill_ambush_total_display_bonus" disabled value="(@{skill_ambush_total_bonus})"/>
<span class="action-type-label" title="Special">SP</span>
</td>
</tr>
<!-- Stalk/Hide -->
<tr>
<td class="skill-label">Stalk/Hide</td>
<td>
<input type="number" class="autocalc-stat-right" name="attr_skill_stalkhide_display_ad_ranks" value="@{skill_stalkhide_ad_ranks}" disabled /><input type="hidden" name="attr_skill_stalkhide_ad_ranks" value="0" />
</td>
<td>
<input class="rank-box" type="checkbox" name="attr_skill_stalkhide_5rank1" value="30" />
<input class="rank-box" type="checkbox" name="attr_skill_stalkhide_5rank2" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_stalkhide_5rank3" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_stalkhide_5rank4" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_stalkhide_5rank5" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_stalkhide_5rank6" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_stalkhide_5rank7" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_stalkhide_5rank8" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_stalkhide_5rank9" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_stalkhide_5rank10" value="5" />
</td>
<td>
<input class="rank-box" type="checkbox" name="attr_skill_stalkhide_2rank1" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_stalkhide_2rank2" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_stalkhide_2rank3" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_stalkhide_2rank4" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_stalkhide_2rank5" value="2" />
</td>
<td>
<input type="hidden" name="attr_skill_stalkhide_rank_bonus" value="0"/>
<input type="number" class="autocalc-stat-right" name="attr_skill_stalkhide_rank_display_bonus" value="(@{skill_stalkhide_rank_bonus})" disabled />
</td>
<td>PR<input type="number" class="autocalc-stat-right" name="attr_skill_stalkhide_stat_bonus" disabled value="(@{stat_pr_total_bonus})"/></td>
<td>
<input type="hidden" name="attr_skill_stalkhide_prof_bonus" value="0" />
<input type="number" name="attr_skill_stalkhide_prof_display_bonus" disabled value="(@{skill_stalkhide_prof_bonus})"/>
</td>
<td>
<input type="number" class="autocalc-stat-right" name="attr_skill_stalkhide_display_race_bonus" value="@{skill_stalkhide_race_bonus}" disabled />
<input type="hidden" name="attr_skill_stalkhide_race_bonus" value="0" />
</td>
<td><input type="number" name="attr_skill_stalkhide_item_bonus" value="0"/></td>
<td><input type="number" name="attr_skill_stalkhide_spec1_bonus" value="0"/></td>
<td><input type="number" class="autocalc-stat-right" name="attr_skill_stalkhide_spec2_bonus" value="0" /></td>
<td>
<input type="hidden" name="attr_skill_stalkhide_total_bonus" value="0"/>
<input type="number" class="autocalc-bonus sheet-autocalc-total" name="attr_skill_stalkhide_total_display_bonus" value="(@{skill_stalkhide_total_bonus})" disabled />
<span class="action-type-label" title="Special: Movement manuver / Static maneuver">SP</span>
</td>
<td>
<button type="roll" class="rolld100" name="attr_stalkhide_mm" title="Stalk/hide maneuver" value="@{wtype} &{template:stalkhide} {{type=Stalk/hide maneuver}} {{character=@{character_name}}} {{subtags=Movement & Static Maneuver}} {{mm_roll=[[1d100!>96cs>96cf<5 + @{skill_stalkhide_total_bonus}[SKILL] + @{total_mm_penalty}[MM PENALTY]]]}} {{sm_roll=[[1d100!>96cs>96cf<5 + @{skill_stalkhide_total_bonus}[SKILL] + @{activity_penalty}[ACT. PENALTY] + ?{Modifier|0}[MODIFIER]]]}} {{sm_penalty=[[@{activity_penalty}]]}} {{mm_penalty=[[@{total_mm_penalty}]]}} {{skill=[[@{skill_stalkhide_total_bonus}]]}} {{underflow=[[1d100!>96 * -1]]}}">
</button>
</td>
</tr>
<!-- Pick Lock -->
<tr>
<td class="skill-label">Pick Lock</td>
<td>
<input type="number" class="autocalc-stat-right" name="attr_skill_picklock_display_ad_ranks" value="@{skill_picklock_ad_ranks}" disabled />
<input type="hidden" name="attr_skill_picklock_ad_ranks" value="0" />
</td>
<td>
<input class="rank-box" type="checkbox" name="attr_skill_picklock_5rank1" value="30" />
<input class="rank-box" type="checkbox" name="attr_skill_picklock_5rank2" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_picklock_5rank3" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_picklock_5rank4" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_picklock_5rank5" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_picklock_5rank6" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_picklock_5rank7" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_picklock_5rank8" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_picklock_5rank9" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_picklock_5rank10" value="5" />
</td>
<td>
<input class="rank-box" type="checkbox" name="attr_skill_picklock_2rank1" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_picklock_2rank2" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_picklock_2rank3" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_picklock_2rank4" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_picklock_2rank5" value="2" />
</td>
<td>
<input type="hidden" name="attr_skill_picklock_rank_bonus" value="0"/>
<input type="number" class="autocalc-stat-right" name="attr_skill_picklock_rank_display_bonus" value="(@{skill_picklock_rank_bonus})" disabled />
</td>
<td>IG<input type="number" class="autocalc-stat-right" name="attr_skill_picklock_stat_bonus" value="(@{stat_ig_total_bonus})" disabled/></td>
<td>
<input type="hidden" name="attr_skill_picklock_prof_bonus" value="0" />
<input type="number" name="attr_skill_picklock_prof_display_bonus" value="(@{skill_picklock_prof_bonus})" disabled/>
</td>
<td>
<input type="number" class="autocalc-stat-right" name="attr_skill_picklock_display_race_bonus" value="@{skill_picklock_race_bonus}" disabled />
<input type="hidden" name="attr_skill_picklock_race_bonus" value="0" />
</td>
<td><input type="number" name="attr_skill_picklock_item_bonus" value="0"/></td>
<td><input type="number" name="attr_skill_picklock_spec1_bonus" value="0"/></td>
<td><input type="number" class="autocalc-stat-right" name="attr_skill_picklock_spec2_bonus" value="0" /></td>
<td>
<input type="hidden" name="attr_skill_picklock_total_bonus" value="0"/>
<input type="number" class="autocalc-bonus sheet-autocalc-total" name="attr_skill_picklock_total_display_bonus" disabled value="(@{skill_picklock_total_bonus})"/>
<span class="action-type-label" title="Static maneuver">SM</span>
</td>
<td>
<button type="roll" class="rolld100" name="attr_picklock_sm" title="Pick lock static maneuver" value="@{wtype} &{template:staticmaneuver} {{type=Picking Locks}} {{character=@{character_name}}} {{subtags=Static Maneuver}}} {{roll=[[1d100!>96cs>96cf<5 + @{skill_picklock_total_bonus}[SKILL] + @{activity_penalty}[ACT. PENALTY] + ?{Modifier|0}[MODIFIER]]]}} {{sm_penalty=[[@{activity_penalty}]]}} {{skill=[[@{skill_picklock_total_bonus}]]}} {{underflow=[[1d100!>96 * -1]]}}">
</button>
</td>
</tr>
<!-- Disarm Trap -->
<tr>
<td class="skill-label">Disarm Trap</td>
<td>
<input type="number" class="autocalc-stat-right" name="attr_skill_disarmtrap_display_ad_ranks" value="@{skill_disarmtrap_ad_ranks}" disabled />
<input type="hidden" name="attr_skill_disarmtrap_ad_ranks" value="0" />
</td>
<td>
<input class="rank-box" type="checkbox" name="attr_skill_disarmtrap_5rank1" value="30" />
<input class="rank-box" type="checkbox" name="attr_skill_disarmtrap_5rank2" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_disarmtrap_5rank3" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_disarmtrap_5rank4" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_disarmtrap_5rank5" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_disarmtrap_5rank6" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_disarmtrap_5rank7" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_disarmtrap_5rank8" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_disarmtrap_5rank9" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_disarmtrap_5rank10" value="5" />
</td>
<td>
<input class="rank-box" type="checkbox" name="attr_skill_disarmtrap_2rank1" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_disarmtrap_2rank2" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_disarmtrap_2rank3" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_disarmtrap_2rank4" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_disarmtrap_2rank5" value="2" />
</td>
<td>
<input type="hidden" name="attr_skill_disarmtrap_rank_bonus" value="0"/>
<input type="number" class="autocalc-stat-right" name="attr_skill_disarmtrap_rank_display_bonus" value="(@{skill_disarmtrap_rank_bonus})" disabled />
</td>
<td>IT<input type="number" class="autocalc-stat-right" name="attr_skill_disarmtrap_stat_bonus" disabled value="(@{stat_it_total_bonus})"/></td>
<td>
<input type="hidden" name="attr_skill_disarmtrap_prof_bonus" value="0" />
<input type="number" name="attr_skill_disarmtrap_prof_display_bonus" disabled value="(@{skill_disarmtrap_prof_bonus})"/>
</td>
<td>
<input type="number" class="autocalc-stat-right" name="attr_skill_disarmtrap_display_race_bonus" value="@{skill_disarmtrap_race_bonus}" disabled />
<input type="hidden" name="attr_skill_disarmtrap_race_bonus" value="0" />
</td>
<td><input type="number" name="attr_skill_disarmtrap_item_bonus" value="0"/></td>
<td><input type="number" name="attr_skill_disarmtrap_spec1_bonus" value="0"/></td>
<td><input type="number" class="autocalc-stat-right" name="attr_skill_disarmtrap_spec2_bonus" value="0" /></td>
<td>
<input type="hidden" name="attr_skill_disarmtrap_total_bonus" value="0"/>
<input type="number" class="autocalc-bonus sheet-autocalc-total" name="attr_skill_disarmtrap_total_display_bonus" disabled value="(@{skill_disarmtrap_total_bonus})"/>
<span class="action-type-label" title="Static maneuver">SM</span>
</td>
<td>
<button type="roll" class="rolld100" name="attr_disarmtrap_sm" title="Disarm trap static maneuver" value="@{wtype} &{template:staticmaneuver} {{type=Disarming Traps}} {{character=@{character_name}}} {{subtags=Static Maneuver}} {{roll=[[1d100!>96cs>96cf<5 + @{skill_disarmtrap_total_bonus}[SKILL] + @{activity_penalty}[ACT. PENALTY] + ?{Modifier|0}[MODIFIER]]]}} {{sm_penalty=[[@{activity_penalty}]]}} {{skill=[[@{skill_disarmtrap_total_bonus}]]}} {{underflow=[[1d100!>96 * -1]]}}">
</button>
</td>
</tr>
<tr>
<td colspan="14">
<span class="skill-heading">Magical Skills</span>
<input type="hidden" name="attr_magical_profession_development" value="0"/>
<span class="devpts-label" title="Number of professional development points per level. To raise a skill 1 rank = 1 point, 2 ranks = 3 points">[ dev pts
<input class="autocalc-devpts-right" type="number" name="attr_magical_display_profession_development" value="@{magical_profession_development}" disabled /> /lvl ]
</span>
</td>
</tr>
<!-- Read Runes -->
<tr class="table-section-shaded">
<td class="skill-label">Read Runes</td>
<td>
<input type="number" class="autocalc-stat-right" name="attr_skill_readrunes_display_ad_ranks" value="@{skill_readrunes_ad_ranks}" disabled />
<input type="hidden" name="attr_skill_readrunes_ad_ranks" value="0" />
</td>
<td>
<input class="rank-box" type="checkbox" name="attr_skill_readrunes_5rank1" value="30" />
<input class="rank-box" type="checkbox" name="attr_skill_readrunes_5rank2" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_readrunes_5rank3" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_readrunes_5rank4" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_readrunes_5rank5" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_readrunes_5rank6" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_readrunes_5rank7" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_readrunes_5rank8" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_readrunes_5rank9" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_readrunes_5rank10" value="5" />
</td>
<td>
<input class="rank-box" type="checkbox" name="attr_skill_readrunes_2rank1" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_readrunes_2rank2" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_readrunes_2rank3" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_readrunes_2rank4" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_readrunes_2rank5" value="2" />
</td>
<td>
<input type="hidden" name="attr_skill_readrunes_rank_bonus" value="0"/>
<input type="number" class="autocalc-stat-right" name="attr_skill_readrunes_rank_display_bonus" value="(@{skill_readrunes_rank_bonus})" disabled />
</td>
<td>IG<input type="number" class="autocalc-stat-right" name="attr_skill_readrunes_stat_bonus" disabled value="(@{stat_ig_total_bonus})"/> </td>
<td>
<input type="hidden" name="attr_skill_readrunes_prof_bonus" value="0" />
<input type="number" name="attr_skill_readrunes_prof_display_bonus" value="(@{skill_readrunes_prof_bonus})" disabled/>
</td>
<td>
<input type="number" class="autocalc-stat-right" name="attr_skill_readrunes_display_race_bonus" value="@{skill_readrunes_race_bonus}" disabled />
<input type="hidden" name="attr_skill_readrunes_race_bonus" value="0" />
</td>
<td><input type="number" name="attr_skill_readrunes_item_bonus" value="0"/></td>
<td><input type="number" name="attr_skill_readrunes_spec1_bonus" value="0"/></td>
<td><input type="number" class="autocalc-stat-right" name="attr_skill_readrunes_spec2_bonus" value="0" /></td>
<td>
<input type="hidden" name="attr_skill_readrunes_total_bonus" value="0"/>
<input type="number" class="autocalc-bonus sheet-autocalc-total" name="attr_skill_readrunes_total_display_bonus" value="(@{skill_readrunes_total_bonus})" disabled />
<span class="action-type-label" title="Static maneuver">SM</span>
</td>
<td>
<button type="roll" class="rolld100" name="attr_readrunes_sm" title="Read runes static maneuver" value="@{wtype} &{template:staticmaneuver} {{type=Reading Runes}} {{character=@{character_name}}} {{subtags=Static Maneuver}} {{roll=[[1d100!>96cs>96cf<5 + @{skill_readrunes_total_bonus}[SKILL] + @{activity_penalty}[ACT. PENALTY] + ?{Modifier|0}[MODIFIER]]]}} {{sm_penalty=[[@{activity_penalty}]]}} {{skill=[[@{skill_readrunes_total_bonus}]]}} {{underflow=[[1d100!>96 * -1]]}}">
</button>
</td>
</tr>
<!-- Use Items -->
<tr class="table-section-shaded">
<td class="skill-label">Use Items</td>
<td>
<input type="number" class="autocalc-stat-right" name="attr_skill_useitems_display_ad_ranks" value="@{skill_useitems_ad_ranks}" disabled /><input type="hidden" name="attr_skill_useitems_ad_ranks" value="0"/>
</td>
<td>
<input class="rank-box" type="checkbox" name="attr_skill_useitems_5rank1" value="30" />
<input class="rank-box" type="checkbox" name="attr_skill_useitems_5rank2" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_useitems_5rank3" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_useitems_5rank4" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_useitems_5rank5" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_useitems_5rank6" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_useitems_5rank7" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_useitems_5rank8" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_useitems_5rank9" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_useitems_5rank10" value="5" />
</td>
<td>
<input class="rank-box" type="checkbox" name="attr_skill_useitems_2rank1" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_useitems_2rank2" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_useitems_2rank3" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_useitems_2rank4" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_useitems_2rank5" value="2" />
</td>
<td>
<input type="hidden" name="attr_skill_useitems_rank_bonus" value="0"/>
<input type="number" class="autocalc-stat-right" name="attr_skill_useitems_rank_display_bonus" value="(@{skill_useitems_rank_bonus})" disabled/>
</td>
<td>IT<input type="number" class="autocalc-stat-right" name="attr_skill_useitems_stat_bonus" value="(@{stat_it_total_bonus})" disabled /></td>
<td>
<input type="hidden" name="attr_skill_useitems_prof_bonus" value="0" />
<input type="number" name="attr_skill_useitems_prof_display_bonus" value="(@{skill_useitems_prof_bonus})" disabled />
</td>
<td>
<input type="number" class="autocalc-stat-right" name="attr_skill_useitems_display_race_bonus" value="@{skill_useitems_race_bonus}" disabled />
<input type="hidden" name="attr_skill_useitems_race_bonus" value="0" />
</td>
<td><input type="number" name="attr_skill_useitems_item_bonus" value="0"/></td>
<td><input type="number" name="attr_skill_useitems_spec1_bonus" value="0"/></td>
<td><input type="number" class="autocalc-stat-right" name="attr_skill_useitems_spec2_bonus" value="0" /></td>
<td>
<input type="hidden" name="attr_skill_useitems_total_bonus" value="0"/>
<input type="number" class="autocalc-bonus sheet-autocalc-total" name="attr_skill_useitems_total_display_bonus" value="(@{skill_useitems_total_bonus})" disabled />
<span class="action-type-label" title="Static maneuver">SM</span>
</td>
<td>
<button type="roll" class="rolld100" name="attr_useitems_sm" title="Use items static maneuver" value="@{wtype} &{template:staticmaneuver} {{type=Using Items}} {{character=@{character_name}}} {{subtags=Static Maneuver}} {{roll=[[1d100!>96cs>96cf<5 + @{skill_useitems_total_bonus} + @{activity_penalty} + ?{Modifier|0}]]}} {{sm_penalty=[[@{activity_penalty}]]}} {{skill=[[@{skill_useitems_total_bonus}]]}} {{underflow=[[1d100!>96 * -1]]}}">
</button>
</td>
</tr>
<!-- Directed Spells -->
<tr class="table-section-shaded">
<td class="skill-label">Directed Spells</td>
<td>
</td>
<td>
<input class="rank-box" type="checkbox" name="attr_skill_directedspells_5rank1" value="30" />
<input class="rank-box" type="checkbox" name="attr_skill_directedspells_5rank2" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_directedspells_5rank3" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_directedspells_5rank4" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_directedspells_5rank5" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_directedspells_5rank6" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_directedspells_5rank7" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_directedspells_5rank8" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_directedspells_5rank9" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_directedspells_5rank10" value="5" />
</td>
<td>
<input class="rank-box" type="checkbox" name="attr_skill_directedspells_2rank1" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_directedspells_2rank2" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_directedspells_2rank3" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_directedspells_2rank4" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_directedspells_2rank5" value="2" />
</td>
<td>
<input type="hidden" name="attr_skill_directedspells_rank_bonus" value="0"/>
<input type="number" class="autocalc-stat-right" name="attr_skill_directedspells_rank_display_bonus" value="(@{skill_directedspells_rank_bonus})" disabled /></td>
<td>AG<input type="number" class="autocalc-stat-right" name="attr_skill_directedspells_stat_bonus" value="(@{stat_ag_total_bonus})" disabled /></td>
<td>
<input type="hidden" name="attr_skill_directedspells_prof_bonus" value="0" />
<input type="number" name="attr_skill_directedspells_prof_display_bonus" value="@{skill_directedspells_prof_bonus}" disabled />
</td>
<td>
<input type="number" class="autocalc-stat-right" name="attr_skill_directedspells_display_race_bonus" value="@{skill_directedspells_race_bonus}" disabled />
<input type="hidden" name="attr_skill_directedspells_race_bonus" value="0" />
</td>
<td><input type="number" name="attr_skill_directedspells_item_bonus" value="0"/></td>
<td><input type="number" name="attr_skill_directedspells_spec1_bonus" value="0"/></td>
<td><input type="number" class="autocalc-stat-right" name="attr_skill_directedspells_spec2_bonus" value="0" /></td>
<td>
<input type="hidden" name="attr_skill_directedspells_total_bonus" value="0"/>
<input type="number" class="autocalc-bonus sheet-autocalc-total" name="attr_skill_directedspells_total_display_bonus" value="(@{skill_directedspells_total_bonus})" disabled />
<span class="action-type-label" title="Offensive Bonus">OB</span>
</td>
<td>
<button type="roll" class="rolld100" name="attr_directedspells_ob" title="Directed spells attack" value="@{wtype} &{template:attack} {{type=Directed Spell}} {{character=@{character_name}}} {{subtags=Spell Attack}} {{roll=[[1d100!>96cs>96cf<8 + @{skill_directedspells_total_bonus}[SKILL] + @{total_ob_penalty}[OB PENALTY] + ?{Modifier|0}[MODIFIER]]]}} {{ob_penalty=[[@{total_ob_penalty}]]}} {{skill=[[@{skill_directedspells_total_bonus}]]}} {{primary_critical=[[1d100]]}} {{secondary_critical=[[1d100]]}} {{fumble_roll=[[1d100]]}} {{underflow=[[1d100!>96 * -1]]}}">
</button>
</td>
</tr>
<tr>
<td colspan="14">
<span class="skill-heading">Martial Art Skills</span>
<input type="hidden" name="attr_martialarts_profession_development" value="0"/>
<span class="devpts-label" title="Number of professional development points per level. To raise a skill 1 rank = 1 point, 2 ranks = 3 points">[ dev pts
<input class="autocalc-devpts-right" type="number" name="attr_martialarts_display_profession_development" value="@{martialarts_profession_development}" disabled /> /lvl ]
</span>
</td>
</tr>
<!-- Novice Striking -->
<tr>
<td class="skill-label">Novice Striking</td>
<td>
<input type="number" class="autocalc-stat-right" name="attr_skill_novicestriking_display_ad_ranks" value="@{skill_novicestriking_ad_ranks}" disabled /><input type="hidden" name="attr_skill_novicestriking_ad_ranks" value="0"/>
</td>
<td>
<input class="rank-box" type="checkbox" name="attr_skill_novicestriking_5rank1" value="30" />
<input class="rank-box" type="checkbox" name="attr_skill_novicestriking_5rank2" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_novicestriking_5rank3" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_novicestriking_5rank4" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_novicestriking_5rank5" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_novicestriking_5rank6" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_novicestriking_5rank7" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_novicestriking_5rank8" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_novicestriking_5rank9" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_novicestriking_5rank10" value="5" />
</td>
<td>
<input class="rank-box" type="checkbox" name="attr_skill_novicestriking_2rank1" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_novicestriking_2rank2" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_novicestriking_2rank3" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_novicestriking_2rank4" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_novicestriking_2rank5" value="2" />
</td>
<td>
<input type="hidden" name="attr_skill_novicestriking_rank_bonus" value="0"/>
<input type="number" class="autocalc-stat-right" name="attr_skill_novicestriking_rank_display_bonus" value="(@{skill_novicestriking_rank_bonus})" disabled/>
</td>
<td>ST<input type="number" class="autocalc-stat-right" name="attr_skill_novicestriking_stat_bonus" value="(@{stat_st_total_bonus})" disabled /> </td>
<td>
<input type="hidden" name="attr_skill_novicestriking_prof_bonus" value="0" />
<input type="number" name="attr_skill_novicestriking_prof_display_bonus" value="(@{skill_novicestriking_prof_bonus})" disabled />
</td>
<td>
<input type="number" class="autocalc-stat-right" name="attr_skill_novicestriking_display_race_bonus" value="@{skill_novicestriking_race_bonus}" disabled />
<input type="hidden" name="attr_skill_novicestriking_race_bonus" value="0" />
</td>
<td><input type="number" name="attr_skill_novicestriking_item_bonus" value="0"/> </td>
<td><input type="number" name="attr_skill_novicestriking_spec1_bonus" value="0"/></td>
<td><input type="number" class="autocalc-stat-right" name="attr_skill_novicestriking_spec2_bonus" value="0" /></td>
<td>
<input type="hidden" name="attr_skill_novicestriking_total_bonus" value="0"/>
<input type="number" class="autocalc-bonus sheet-autocalc-total" name="attr_skill_novicestriking_total_display_bonus" value="(@{skill_novicestriking_total_bonus})" disabled />
<span class="action-type-label" title="Offensive Bonus">OB</span>
</td>
<td>
<button type="roll" class="rolld100" name="attr_novicestriking_ob" title="Novice Striking Attack Roll" value="@{wtype} &{template:attack} {{type=Novice Striking}} {{character=@{character_name}}} {{subtags=Martial Art Melee Attack}} {{roll=[[1d100!>96cs>96cf<8 + @{skill_novicestriking_total_bonus}[SKILL] + @{total_ob_penalty}[OB PENALTY] ?{Modifier|0}[MODIFIER]]]}} {{ob_penalty=[[@{total_ob_penalty}]]}} {{skill=[[@{skill_novicestriking_total_bonus}]]}} {{primary_critical=[[1d100]]}} {{secondary_critical=[[1d100]]}} {{fumble_roll=[[1d100]]}} {{underflow=[[1d100!>96 * -1]]}}">
</button>
</td>
</tr>
<!-- Standard Striking -->
<tr>
<td class="skill-label">Standard Striking</td>
<td>
<input type="number" class="autocalc-stat-right" name="attr_skill_standardstriking_display_ad_ranks" value="@{skill_standardstriking_ad_ranks}" disabled /><input type="hidden" name="attr_skill_standardstriking_ad_ranks" value="0"/>
</td>
<td>
<input class="rank-box" type="checkbox" name="attr_skill_standardstriking_5rank1" value="30" />
<input class="rank-box" type="checkbox" name="attr_skill_standardstriking_5rank2" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_standardstriking_5rank3" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_standardstriking_5rank4" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_standardstriking_5rank5" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_standardstriking_5rank6" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_standardstriking_5rank7" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_standardstriking_5rank8" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_standardstriking_5rank9" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_standardstriking_5rank10" value="5" />
</td>
<td>
<input class="rank-box" type="checkbox" name="attr_skill_standardstriking_2rank1" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_standardstriking_2rank2" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_standardstriking_2rank3" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_standardstriking_2rank4" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_standardstriking_2rank5" value="2" />
</td>
<td>
<input type="hidden" name="attr_skill_standardstriking_rank_bonus" value="0"/>
<input type="number" class="autocalc-stat-right" name="attr_skill_standardstriking_rank_display_bonus" value="(@{skill_standardstriking_rank_bonus})" disabled/>
</td>
<td>ST<input type="number" class="autocalc-stat-right" name="attr_skill_standardstriking_stat_bonus" value="(@{stat_st_total_bonus})" disabled /> </td>
<td>
<input type="hidden" name="attr_skill_standardstriking_prof_bonus" value="0" />
<input type="number" name="attr_skill_standardstriking_prof_display_bonus" value="(@{skill_standardstriking_prof_bonus})" disabled />
</td>
<td>
<input type="number" class="autocalc-stat-right" name="attr_skill_standardstriking_display_race_bonus" value="@{skill_standardstriking_race_bonus}" disabled />
<input type="hidden" name="attr_skill_standardstriking_race_bonus" value="0" />
</td>
<td><input type="number" name="attr_skill_standardstriking_item_bonus" value="0"/> </td>
<td><input type="number" name="attr_skill_standardstriking_spec1_bonus" value="0"/></td>
<td><input type="number" class="autocalc-stat-right" name="attr_skill_standardstriking_spec2_bonus" value="0" /></td>
<td>
<input type="hidden" name="attr_skill_standardstriking_total_bonus" value="0"/>
<input type="number" class="autocalc-bonus sheet-autocalc-total" name="attr_skill_standardstriking_total_display_bonus" value="(@{skill_standardstriking_total_bonus})" disabled />
<span class="action-type-label" title="Offensive Bonus">OB</span>
</td>
<td>
<button type="roll" class="rolld100" name="attr_standardstriking_ob" title="Standard Striking Attack Roll" value="@{wtype} &{template:attack} {{type=Stardard Striking}} {{character=@{character_name}}} {{subtags=Martial Art Melee Attack}} {{roll=[[1d100!>96cs>96cf<8 + @{skill_standardstriking_total_bonus}[SKILL] + @{total_ob_penalty}[OB PENALTY] ?{Modifier|0}[MODIFIER]]]}} {{ob_penalty=[[@{total_ob_penalty}]]}} {{skill=[[@{skill_standardstriking_total_bonus}]]}} {{primary_critical=[[1d100]]}} {{secondary_critical=[[1d100]]}} {{fumble_roll=[[1d100]]}} {{underflow=[[1d100!>96 * -1]]}}">
</button>
</td>
</tr>
<!-- Expert Striking -->
<tr>
<td class="skill-label">Expert Striking</td>
<td>
<input type="number" class="autocalc-stat-right" name="attr_skill_expertstriking_display_ad_ranks" value="@{skill_expertstriking_ad_ranks}" disabled /><input type="hidden" name="attr_skill_expertstriking_ad_ranks" value="0"/>
</td>
<td>
<input class="rank-box" type="checkbox" name="attr_skill_expertstriking_5rank1" value="30" />
<input class="rank-box" type="checkbox" name="attr_skill_expertstriking_5rank2" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_expertstriking_5rank3" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_expertstriking_5rank4" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_expertstriking_5rank5" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_expertstriking_5rank6" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_expertstriking_5rank7" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_expertstriking_5rank8" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_expertstriking_5rank9" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_expertstriking_5rank10" value="5" />
</td>
<td>
<input class="rank-box" type="checkbox" name="attr_skill_expertstriking_2rank1" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_expertstriking_2rank2" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_expertstriking_2rank3" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_expertstriking_2rank4" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_expertstriking_2rank5" value="2" />
</td>
<td>
<input type="hidden" name="attr_skill_expertstriking_rank_bonus" value="0"/>
<input type="number" class="autocalc-stat-right" name="attr_skill_expertstriking_rank_display_bonus" value="(@{skill_expertstriking_rank_bonus})" disabled/>
</td>
<td>ST<input type="number" class="autocalc-stat-right" name="attr_skill_expertstriking_stat_bonus" value="(@{stat_st_total_bonus})" disabled /> </td>
<td>
<input type="hidden" name="attr_skill_expertstriking_prof_bonus" value="0" />
<input type="number" name="attr_skill_expertstriking_prof_display_bonus" value="(@{skill_expertstriking_prof_bonus})" disabled />
</td>
<td>
<input type="number" class="autocalc-stat-right" name="attr_skill_expertstriking_display_race_bonus" value="@{skill_expertstriking_race_bonus}" disabled />
<input type="hidden" name="attr_skill_expertstriking_race_bonus" value="0" />
</td>
<td><input type="number" name="attr_skill_expertstriking_item_bonus" value="0"/> </td>
<td><input type="number" name="attr_skill_expertstriking_spec1_bonus" value="0"/></td>
<td><input type="number" class="autocalc-stat-right" name="attr_skill_expertstriking_spec2_bonus" value="0" /></td>
<td>
<input type="hidden" name="attr_skill_expertstriking_total_bonus" value="0"/>
<input type="number" class="autocalc-bonus sheet-autocalc-total" name="attr_skill_expertstriking_total_display_bonus" value="(@{skill_expertstriking_total_bonus})" disabled />
<span class="action-type-label" title="Offensive Bonus">OB</span>
</td>
<td>
<button type="roll" class="rolld100" name="attr_expertstriking_ob" title="Expert Striking Attack Roll" value="@{wtype} &{template:attack} {{type=Expert Striking}} {{character=@{character_name}}} {{subtags=Martial Art Melee Attack}} {{roll=[[1d100!>96cs>96cf<8 + @{skill_expertstriking_total_bonus}[SKILL] + @{total_ob_penalty}[OB PENALTY] ?{Modifier|0}[MODIFIER]]]}} {{ob_penalty=[[@{total_ob_penalty}]]}} {{skill=[[@{skill_expertstriking_total_bonus}]]}} {{primary_critical=[[1d100]]}} {{secondary_critical=[[1d100]]}} {{fumble_roll=[[1d100]]}} {{underflow=[[1d100!>96 * -1]]}}">
</button>
</td>
</tr>
<!-- Novice Sweeps -->
<tr>
<td class="skill-label">Novice Sweeps</td>
<td>
<input type="number" class="autocalc-stat-right" name="attr_skill_novicesweeps_display_ad_ranks" value="@{skill_novicesweeps_ad_ranks}" disabled /><input type="hidden" name="attr_skill_novicesweeps_ad_ranks" value="0"/>
</td>
<td>
<input class="rank-box" type="checkbox" name="attr_skill_novicesweeps_5rank1" value="30" />
<input class="rank-box" type="checkbox" name="attr_skill_novicesweeps_5rank2" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_novicesweeps_5rank3" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_novicesweeps_5rank4" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_novicesweeps_5rank5" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_novicesweeps_5rank6" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_novicesweeps_5rank7" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_novicesweeps_5rank8" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_novicesweeps_5rank9" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_novicesweeps_5rank10" value="5" />
</td>
<td>
<input class="rank-box" type="checkbox" name="attr_skill_novicesweeps_2rank1" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_novicesweeps_2rank2" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_novicesweeps_2rank3" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_novicesweeps_2rank4" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_novicesweeps_2rank5" value="2" />
</td>
<td>
<input type="hidden" name="attr_skill_novicesweeps_rank_bonus" value="0"/>
<input type="number" class="autocalc-stat-right" name="attr_skill_novicesweeps_rank_display_bonus" value="(@{skill_novicesweeps_rank_bonus})" disabled/>
</td>
<td>AG<input type="number" class="autocalc-stat-right" name="attr_skill_novicesweeps_stat_bonus" value="(@{stat_ag_total_bonus})" disabled /> </td>
<td>
<input type="hidden" name="attr_skill_novicesweeps_prof_bonus" value="0" />
<input type="number" name="attr_skill_novicesweeps_prof_display_bonus" value="(@{skill_novicesweeps_prof_bonus})" disabled />
</td>
<td>
<input type="number" class="autocalc-stat-right" name="attr_skill_novicesweeps_display_race_bonus" value="@{skill_novicesweeps_race_bonus}" disabled />
<input type="hidden" name="attr_skill_novicesweeps_race_bonus" value="0" />
</td>
<td><input type="number" name="attr_skill_novicesweeps_item_bonus" value="0"/> </td>
<td><input type="number" name="attr_skill_novicesweeps_spec1_bonus" value="0"/></td>
<td><input type="number" class="autocalc-stat-right" name="attr_skill_novicesweeps_spec2_bonus" value="0" /></td>
<td>
<input type="hidden" name="attr_skill_novicesweeps_total_bonus" value="0"/>
<input type="number" class="autocalc-bonus sheet-autocalc-total" name="attr_skill_novicesweeps_total_display_bonus" value="(@{skill_novicesweeps_total_bonus})" disabled />
<span class="action-type-label" title="Offensive Bonus">OB</span>
</td>
<td>
<button type="roll" class="rolld100" name="attr_novicesweeps_ob" title="Novice Sweeps Attack Roll" value="@{wtype} &{template:attack} {{type=Novice Sweeps}} {{character=@{character_name}}} {{subtags=Martial Art Melee Attack}} {{roll=[[1d100!>96cs>96cf<8 + @{skill_novicesweeps_total_bonus}[SKILL] + @{total_ob_penalty}[OB PENALTY] ?{Modifier|0}[MODIFIER]]]}} {{ob_penalty=[[@{total_ob_penalty}]]}} {{skill=[[@{skill_novicesweeps_total_bonus}]]}} {{primary_critical=[[1d100]]}} {{secondary_critical=[[1d100]]}} {{fumble_roll=[[1d100]]}} {{underflow=[[1d100!>96 * -1]]}}">
</button>
</td>
</tr>
<!-- Standard Striking -->
<tr>
<td class="skill-label">Standard Sweeps</td>
<td>
<input type="number" class="autocalc-stat-right" name="attr_skill_standardsweeps_display_ad_ranks" value="@{skill_standardsweeps_ad_ranks}" disabled /><input type="hidden" name="attr_skill_standardsweeps_ad_ranks" value="0"/>
</td>
<td>
<input class="rank-box" type="checkbox" name="attr_skill_standardsweeps_5rank1" value="30" />
<input class="rank-box" type="checkbox" name="attr_skill_standardsweeps_5rank2" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_standardsweeps_5rank3" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_standardsweeps_5rank4" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_standardsweeps_5rank5" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_standardsweeps_5rank6" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_standardsweeps_5rank7" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_standardsweeps_5rank8" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_standardsweeps_5rank9" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_standardsweeps_5rank10" value="5" />
</td>
<td>
<input class="rank-box" type="checkbox" name="attr_skill_standardsweeps_2rank1" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_standardsweeps_2rank2" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_standardsweeps_2rank3" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_standardsweeps_2rank4" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_standardsweeps_2rank5" value="2" />
</td>
<td>
<input type="hidden" name="attr_skill_standardsweeps_rank_bonus" value="0"/>
<input type="number" class="autocalc-stat-right" name="attr_skill_standardsweeps_rank_display_bonus" value="(@{skill_standardsweeps_rank_bonus})" disabled/>
</td>
<td>AG<input type="number" class="autocalc-stat-right" name="attr_skill_standardsweeps_stat_bonus" value="(@{stat_ag_total_bonus})" disabled /> </td>
<td>
<input type="hidden" name="attr_skill_standardsweeps_prof_bonus" value="0" />
<input type="number" name="attr_skill_standardsweeps_prof_display_bonus" value="(@{skill_standardsweeps_prof_bonus})" disabled />
</td>
<td>
<input type="number" class="autocalc-stat-right" name="attr_skill_standardsweeps_display_race_bonus" value="@{skill_standardsweeps_race_bonus}" disabled />
<input type="hidden" name="attr_skill_standardsweeps_race_bonus" value="0" />
</td>
<td><input type="number" name="attr_skill_standardsweeps_item_bonus" value="0"/> </td>
<td><input type="number" name="attr_skill_standardsweeps_spec1_bonus" value="0"/></td>
<td><input type="number" class="autocalc-stat-right" name="attr_skill_standardsweeps_spec2_bonus" value="0" /></td>
<td>
<input type="hidden" name="attr_skill_standardsweeps_total_bonus" value="0"/>
<input type="number" class="autocalc-bonus sheet-autocalc-total" name="attr_skill_standardsweeps_total_display_bonus" value="(@{skill_standardsweeps_total_bonus})" disabled />
<span class="action-type-label" title="Offensive Bonus">OB</span>
</td>
<td>
<button type="roll" class="rolld100" name="attr_standardsweeps_ob" title="Standard Sweeps Attack Roll" value="@{wtype} &{template:attack} {{type=Stardard Sweeps}} {{character=@{character_name}}} {{subtags=Martial Art Melee Attack}} {{roll=[[1d100!>96cs>96cf<8 + @{skill_standardsweeps_total_bonus}[SKILL] + @{total_ob_penalty}[OB PENALTY] ?{Modifier|0}[MODIFIER]]]}} {{ob_penalty=[[@{total_ob_penalty}]]}} {{skill=[[@{skill_standardsweeps_total_bonus}]]}} {{primary_critical=[[1d100]]}} {{secondary_critical=[[1d100]]}} {{fumble_roll=[[1d100]]}} {{underflow=[[1d100!>96 * -1]]}}">
</button>
</td>
</tr>
<!-- Expert Sweeps -->
<tr>
<td class="skill-label">Expert Sweeps</td>
<td>
<input type="number" class="autocalc-stat-right" name="attr_skill_expertsweeps_display_ad_ranks" value="@{skill_expertsweeps_ad_ranks}" disabled /><input type="hidden" name="attr_skill_expertsweeps_ad_ranks" value="0"/>
</td>
<td>
<input class="rank-box" type="checkbox" name="attr_skill_expertsweeps_5rank1" value="30" />
<input class="rank-box" type="checkbox" name="attr_skill_expertsweeps_5rank2" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_expertsweeps_5rank3" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_expertsweeps_5rank4" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_expertsweeps_5rank5" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_expertsweeps_5rank6" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_expertsweeps_5rank7" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_expertsweeps_5rank8" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_expertsweeps_5rank9" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_expertsweeps_5rank10" value="5" />
</td>
<td>
<input class="rank-box" type="checkbox" name="attr_skill_expertsweeps_2rank1" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_expertsweeps_2rank2" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_expertsweeps_2rank3" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_expertsweeps_2rank4" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_expertsweeps_2rank5" value="2" />
</td>
<td>
<input type="hidden" name="attr_skill_expertsweeps_rank_bonus" value="0"/>
<input type="number" class="autocalc-stat-right" name="attr_skill_expertsweeps_rank_display_bonus" value="(@{skill_expertsweeps_rank_bonus})" disabled/>
</td>
<td>AG<input type="number" class="autocalc-stat-right" name="attr_skill_expertsweeps_stat_bonus" value="(@{stat_ag_total_bonus})" disabled /> </td>
<td>
<input type="hidden" name="attr_skill_expertsweeps_prof_bonus" value="0" />
<input type="number" name="attr_skill_expertsweeps_prof_display_bonus" value="(@{skill_expertsweeps_prof_bonus})" disabled />
</td>
<td>
<input type="number" class="autocalc-stat-right" name="attr_skill_expertsweeps_display_race_bonus" value="@{skill_expertsweeps_race_bonus}" disabled />
<input type="hidden" name="attr_skill_expertsweeps_race_bonus" value="0" />
</td>
<td><input type="number" name="attr_skill_expertsweeps_item_bonus" value="0"/> </td>
<td><input type="number" name="attr_skill_expertsweeps_spec1_bonus" value="0"/></td>
<td><input type="number" class="autocalc-stat-right" name="attr_skill_expertsweeps_spec2_bonus" value="0" /></td>
<td>
<input type="hidden" name="attr_skill_expertsweeps_total_bonus" value="0"/>
<input type="number" class="autocalc-bonus sheet-autocalc-total" name="attr_skill_expertsweeps_total_display_bonus" value="(@{skill_expertsweeps_total_bonus})" disabled />
<span class="action-type-label" title="Offensive Bonus">OB</span>
</td>
<td>
<button type="roll" class="rolld100" name="attr_expertsweeps_ob" title="Expert Sweeps Attack Roll" value="@{wtype} &{template:attack} {{type=Expert Sweeps}} {{character=@{character_name}}} {{subtags=Martial Art Melee Attack}} {{roll=[[1d100!>96cs>96cf<8 + @{skill_expertsweeps_total_bonus}[SKILL] + @{total_ob_penalty}[OB PENALTY] ?{Modifier|0}[MODIFIER]]]}} {{ob_penalty=[[@{total_ob_penalty}]]}} {{skill=[[@{skill_expertsweeps_total_bonus}]]}} {{primary_critical=[[1d100]]}} {{secondary_critical=[[1d100]]}} {{fumble_roll=[[1d100]]}} {{underflow=[[1d100!>96 * -1]]}}">
</button>
</td>
</tr>
<tr>
<td colspan="14">
<span class="skill-heading">Misc. Skills and Bonuses</span>
</td>
</tr>
<!-- Perception -->
<tr>
<td class="skill-label">Perception</td>
<td>
<input type="number" class="autocalc-stat-right" name="attr_skill_perception_display_ad_ranks" value="@{skill_perception_ad_ranks}" disabled /><input type="hidden" name="attr_skill_perception_ad_ranks" value="0"/>
</td>
<td>
<input class="rank-box" type="checkbox" name="attr_skill_perception_5rank1" value="30" />
<input class="rank-box" type="checkbox" name="attr_skill_perception_5rank2" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_perception_5rank3" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_perception_5rank4" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_perception_5rank5" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_perception_5rank6" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_perception_5rank7" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_perception_5rank8" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_perception_5rank9" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_perception_5rank10" value="5" />
</td>
<td>
<input class="rank-box" type="checkbox" name="attr_skill_perception_2rank1" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_perception_2rank2" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_perception_2rank3" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_perception_2rank4" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_perception_2rank5" value="2" />
</td>
<td>
<input type="hidden" name="attr_skill_perception_rank_bonus" value="0"/>
<input type="number" class="autocalc-stat-right" name="attr_skill_perception_rank_display_bonus" value="(@{skill_perception_rank_bonus})" disabled/>
</td>
<td>IT<input type="number" class="autocalc-stat-right" name="attr_skill_perception_stat_bonus" value="(@{stat_it_total_bonus})" disabled /> </td>
<td>
<input type="hidden" name="attr_skill_perception_prof_bonus" value="0" />
<input type="number" name="attr_skill_perception_prof_display_bonus" value="(@{skill_perception_prof_bonus})" disabled />
</td>
<td>
<input type="number" class="autocalc-stat-right" name="attr_skill_perception_display_race_bonus" value="@{skill_perception_race_bonus}" disabled />
<input type="hidden" name="attr_skill_perception_race_bonus" value="0" />
</td>
<td><input type="number" name="attr_skill_perception_item_bonus" value="0"/> </td>
<td><input type="number" name="attr_skill_perception_spec1_bonus" value="0"/></td>
<td><input type="number" class="autocalc-stat-right" name="attr_skill_perception_spec2_bonus" value="(@{helmet_penalty})" disabled/></td>
<td>
<input type="hidden" name="attr_skill_perception_total_bonus" value="0"/>
<input type="number" class="autocalc-bonus sheet-autocalc-total" name="attr_skill_perception_total_display_bonus" value="(@{skill_perception_total_bonus})" disabled />
<span class="action-type-label" title="Static maneuver">SM</span>
</td>
<td>
<button type="roll" class="rolld100" name="attr_perception_sm" title="Perception static maneuver" value="@{wtype} &{template:staticmaneuver} {{type=Perception}} {{character=@{character_name}}} {{subtags=Static Maneuver}} {{roll=[[1d100!>96cs>96cf<5 + @{skill_perception_total_bonus}[SKILL] + @{activity_penalty}[ACT. PENALTY] + ?{Modifier|0}[MODIFIER]]]}} {{sm_penalty=[[@{activity_penalty}]]}} {{skill=[[@{skill_perception_total_bonus}]]}} {{underflow=[[1d100!>96 * -1]]}}">
<!-- -->
</button>
</td>
</tr>
<!-- Adrenal Defense -->
<tr>
<td class="skill-label">Adrenal Defense
<input type="hidden" name="attr_adrenaldefense_profession_development" value="0"/>
<span class="devpts-label" title="Number of professional development points per level. To raise a skill 1 rank = 1 point, 2 ranks = 3 points">[ dev pts
<input class="autocalc-devpts-right" type="number" name="attr_adrenaldefense_display_profession_development" value="@{adrenaldefense_profession_development}" disabled /> /lvl ]
</span>
</td>
<td>
<input type="number" class="autocalc-stat-right" name="attr_skill_adrenaldefense_display_ad_ranks" value="@{skill_adrenaldefense_ad_ranks}" disabled />
<input type="hidden" name="attr_skill_adrenaldefense_ad_ranks" value="0"/>
</td>
<td>
<input class="rank-box" type="checkbox" name="attr_skill_adrenaldefense_5rank1" value="30" />
<input class="rank-box" type="checkbox" name="attr_skill_adrenaldefense_5rank2" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_adrenaldefense_5rank3" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_adrenaldefense_5rank4" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_adrenaldefense_5rank5" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_adrenaldefense_5rank6" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_adrenaldefense_5rank7" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_adrenaldefense_5rank8" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_adrenaldefense_5rank9" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_adrenaldefense_5rank10" value="5" />
</td>
<td>
<input class="rank-box" type="checkbox" name="attr_skill_adrenaldefense_2rank1" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_adrenaldefense_2rank2" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_adrenaldefense_2rank3" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_adrenaldefense_2rank4" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_adrenaldefense_2rank5" value="2" />
</td>
<td>
<input type="hidden" name="attr_skill_adrenaldefense_rank_bonus" value="0"/>
<input type="number" class="autocalc-stat-right" name="attr_skill_adrenaldefense_rank_display_bonus" value="(@{skill_adrenaldefense_rank_bonus})" disabled/>
</td>
<td class="align-center"> xxxx </td>
<td>
<input type="hidden" name="attr_skill_adrenaldefense_prof_bonus" value="0" />
<input type="number" name="attr_skill_adrenaldefense_prof_display_bonus" value="(@{skill_adrenaldefense_prof_bonus})" disabled />
</td>
<td>
<input type="number" class="autocalc-stat-right" name="attr_skill_adrenaldefense_display_race_bonus" value="@{skill_adrenaldefense_race_bonus}" disabled />
<input type="hidden" name="attr_skill_adrenaldefense_race_bonus" value="0" />
</td>
<td><input type="number" name="attr_skill_adrenaldefense_item_bonus" value="0"/></td>
<td><input type="number" name="attr_skill_adrenaldefense_spec1_bonus" value="0"/></td>
<td><input type="number" class="autocalc-stat-right" name="attr_skill_adrenaldefense_spec2_bonus" value="0" /></td>
<td>
<input type="hidden" name="attr_skill_adrenaldefense_total_bonus" value="0"/>
<input type="number" class="autocalc-bonus sheet-autocalc-total" name="attr_skill_adrenaldefense_total_display_bonus" value="(@{skill_adrenaldefense_total_bonus})" disabled />
<span class="action-type-label" title="Special">SP</span>
</td>
<td>
</td>
</tr>
<!-- Body Development -->
<tr>
<td class="skill-label">Body Dev.
<input type="hidden" name="attr_bodydev_profession_development" value="0"/>
<span class="devpts-label" title="Number of professional development points per level. To raise a skill 1 rank = 1 point, 2 ranks = 3 points">[ dev pts
<input class="autocalc-devpts-right" type="number" name="attr_bodydev_display_profession_development" value="@{bodydev_profession_development}" disabled /> /lvl ]
</span>
</td>
<td>
<input type="number" class="autocalc-stat-right" name="attr_skill_bodydev_display_ad_ranks" value="@{skill_bodydev_ad_ranks}" disabled /><input type="hidden" name="attr_skill_bodydev_ad_ranks" value="0" />
</td>
<td>
<input type="number" class="bodydev" name="attr_skill_bodydev_5rank1" min="0" max="10" value="0" />
<input type="number" class="bodydev" name="attr_skill_bodydev_5rank2" min="0" max="10" value="0" />
<input type="number" class="bodydev" name="attr_skill_bodydev_5rank3" min="0" max="10" value="0" />
<input type="number" class="bodydev" name="attr_skill_bodydev_5rank4" min="0" max="10" value="0" />
<input type="number" class="bodydev" name="attr_skill_bodydev_5rank5" min="0" max="10" value="0" />
<input type="number" class="bodydev" name="attr_skill_bodydev_5rank6" min="0" max="10" value="0" />
<input type="number" class="bodydev" name="attr_skill_bodydev_5rank7" min="0" max="10" value="0" />
<input type="number" class="bodydev" name="attr_skill_bodydev_5rank8" min="0" max="10" value="0" />
<input type="number" class="bodydev" name="attr_skill_bodydev_5rank9" min="0" max="10" value="0" />
<input type="number" class="bodydev" name="attr_skill_bodydev_5rank10" min="0" max="10" value="0" />
</td>
<td>
<input type="number" class="bodydev" name="attr_skill_bodydev_2rank1" min="0" max="10" value="0" />
<input type="number" class="bodydev" name="attr_skill_bodydev_2rank2" min="0" max="10" value="0" />
<input type="number" class="bodydev" name="attr_skill_bodydev_2rank3" min="0" max="10" value="0" />
<input type="number" class="bodydev" name="attr_skill_bodydev_2rank4" min="0" max="10" value="0" />
<input type="number" class="bodydev" name="attr_skill_bodydev_2rank5" min="0" max="10" value="0" />
</td>
<td>
<input type="hidden" name="attr_skill_bodydev_rank_bonus" value="0"/>
<input type="number" class="autocalc-stat-right" name="attr_skill_bodydev_rank_display_bonus" value="(@{skill_bodydev_rank_bonus})" disabled />
</td>
<td>CO<input type="number" class="autocalc-stat-right" name="attr_skill_bodydev_stat_bonus" value="(@{stat_co_total_bonus})" disabled /></td>
<td>
<input type="hidden" name="attr_skill_bodydev_prof_bonus" value="0" />
<input type="number" name="attr_skill_bodydev_prof_display_bonus" value="(@{skill_bodydev_prof_bonus})" disabled />
</td>
<td>
<input type="number" class="autocalc-stat-right" name="attr_skill_bodydev_display_race_bonus" value="@{skill_bodydev_race_bonus}" disabled />
<input type="hidden" name="attr_skill_bodydev_race_bonus" value="0" />
</td>
<td><input type="number" name="attr_skill_bodydev_item_bonus" value="0"/></td>
<td><input type="number" name="attr_skill_bodydev_spec1_bonus" value="0"/></td>
<td><input type="number" class="autocalc-stat-right" name="attr_skill_bodydev_spec2_bonus" disabled value="5"/></td>
<td>
<input type="hidden" name="attr_skill_bodydev_total_bonus" value="0"/>
<input type="number" class="autocalc-bonus sheet-autocalc-total" name="attr_skill_bodydev_total_display_bonus" value="(@{skill_bodydev_total_bonus})" disabled />
<span class="action-type-label" title="Special">SP</span>
</td>
</tr>
<tr class="table-section-shaded">
<td class="skill-label">Base Spells</td>
<td></td>
<td></td>
<td></td>
<td class="table-cell-center"> xx </td>
<td class="table-cell-center"> xxxxxx </td>
<td>
<input type="hidden" name="attr_skill_basespell_prof_bonus" value="0" />
<input type="number" name="attr_skill_basespell_prof_display_bonus" value="@{skill_basespell_prof_bonus}" disabled/>
</td>
<td>
<input type="number" class="autocalc-stat-right" name="attr_skill_basespell_display_race_bonus" value="@{skill_basespell_race_bonus}" disabled />
<input type="hidden" name="attr_skill_basespell_race_bonus" value="0" />
</td>
<td><input type="number" name="attr_skill_basespell_item_bonus" value="0"/></td>
<td><input type="number" name="attr_skill_basespell_spec1_bonus" value="0"/></td>
<td><input type="number" class="autocalc-stat-right" name="attr_skill_basespell_spec2_bonus" value="0"/></td>
<td>
<input type="hidden" name="attr_skill_basespell_total_bonus" value="0"/>
<input type="number" class="autocalc-bonus sheet-autocalc-total" name="attr_skill_basespell_total_display_bonus" disabled
value="(@{skill_basespell_total_bonus})"/>
<span class="action-type-label" title="Offensive Bonus">OB</span>
</td>
<td>
<button type="roll" class="rolld100" name="attr_basespell_ob" title="Base spell attack" value="@{wtype} &{template:attack} {{type=Base Spells}} {{character=@{character_name}}} {{subtags=Spell Attack (UM)}} {{roll=[[1d100cf<0+ @{skill_basespell_total_bonus}[SKILL] + @{total_ob_penalty}[OB_PENALTY] + ?{Modifier|0}]]}} {{ob_penalty=[[@{total_ob_penalty}]]}} {{skill=[[@{skill_basespell_total_bonus}]]}} {{underflow=[[1d100!>96 * -1]]}} {{fumble_roll=[[1d100]]}}">
<!-- -->
</button>
</td>
</tr>
<tr class="table-section-shaded">
<td class="skill-label">Leadership and Influence</td>
<td></td>
<td></td>
<td></td>
<td class="table-cell-center"> xx </td>
<td>PR<input type="number" class="autocalc-stat-right" name="attr_skill_leadership_stat_bonus" value="@{stat_pr_total_bonus}" disabled /></td>
<td class="table-cell-center"> xx </td>
<td>
<input type="number" class="autocalc-stat-right" name="attr_skill_leadership_display_race_bonus" value="@{skill_leadership_race_bonus}" disabled />
<input type="hidden" name="attr_skill_leadership_race_bonus" value="0" />
</td>
<td><input type="number" name="attr_skill_leadership_item_bonus" value="0"/></td>
<td><input type="number" name="attr_skill_leadership_spec1_bonus" value="0"/></td>
<td><input type="number" class="autocalc-stat-right" name="attr_skill_leadership_spec2_bonus" value="0" /></td>
<td>
<input type="hidden" name="attr_skill_leadership_total_bonus" value="0"/>
<input type="number" class="autocalc-bonus sheet-autocalc-total" name="attr_skill_leadership_total_display_bonus"
value="(@{skill_leadership_total_bonus})" disabled />
<span class="action-type-label" title="Static maneuver">SM</span>
</td>
<td>
<button type="roll" class="rolld100" name="attr_leadership_sm" title="Leadership maneuver" value="@{wtype} &{template:staticmaneuver} {{type=Leadership}} {{character=@{character_name}}} {{subtags=Static Maneuver}} {{roll=[[1d100!>96cs>96cf<5 + @{skill_leadership_total_bonus}[SKILL] + @{activity_penalty}[ACT. PENALTY]]]}} {{sm_penalty=[[@{activity_penalty} + ?{Modifier|0}]]}} {{skill=[[@{skill_leadership_total_bonus}]]}} {{underflow=[[1d100!>96 * -1]]}} {{primary_critical=[[1d100]]}} {{secondary_critical=[[1d100]]}} {{underflow=[[1d100!>96 * -1]]}}">
<!-- -->
</button>
</td>
</tr>
</table>
<table class="stats-table full-width">
<tr>
<td colspan="14">
<span class="skill-heading">Secondary Skills</span>
<input type="hidden" name="attr_secondaryskill_profession_development" value="0"/>
<span class="devpts-label" title="Number of professional development points per level. To raise a skill 1 rank = 1 point, 2 ranks = 3 points">[ dev pts
<input class="autocalc-devpts-right" type="number" name="attr_secondaryskill_display_profession_development" value="@{secondaryskill_profession_development}" disabled /> /lvl ]
</span>
</td>
</tr>
</table>
<div class="tablelike sheet-secondaryskill-table">
<div class="table-row sheet-secondaryskill-table-row">
<div class="table-cell skills-table-head skill-label-bold table-cell-no-padding" style="width:130px">
Skill
</div>
<div class="table-cell skills-table-head skill-label-bold table-cell-no-padding" style="width:7px">
</div>
<div class="table-cell skills-table-head skill-label-bold table-cell-no-padding" style="width:177px">
5% Rank
</div>
<div class="table-cell skills-table-head skill-label-bold table-cell-no-padding" style="width:92px">
2% Rank
</div>
<div class="table-cell skills-table-head skill-label-bold table-cell-no-padding" title="The total bonus from skill ranks" style="width:31px">
Rank
</div>
<div class="table-cell skills-table-head skill-label-bold table-cell-no-padding" title="The bonus from relevant stat" style="width:81px">
Stat
</div>
<div class="table-cell skills-table-head skill-label-bold table-cell-no-padding" title="The bonus from profession (does not automatically increase with levels)" style="width:31px">
Prof
</div>
<div class="table-cell skills-table-head skill-label-bold table-cell-no-padding" title="The bonus from race/culture (is not automatically assigned)" style="width:31px">
Race
</div>
<div class="table-cell skills-table-head skill-label-bold table-cell-no-padding" title="The bonus from special item" style="width:31px">
Item
</div>
<div class="table-cell skills-table-head skill-label-bold table-cell-no-padding" title="Special bonus" style="width:31px">
Spec
</div>
<div class="table-cell skills-table-head skill-label-bold table-cell-no-padding" title="Special bonus" style="width:31px">
Spec
</div>
<div class="table-cell skills-table-head skill-label-bold table-cell-no-padding" title="The total skill bonus" style="width:102px">
Total
</div>
<div class="table-cell skills-table-head skill-label-bold table-cell-no-padding" style="width:33px">
</div>
</div>
</div>
<div class="tablelike sheet-secondaryskill-table">
<fieldset class="repeating_secondaryskills">
<div class="table-row sheet-secondaryskill-table-row">
<div class="table-cell sheet-secondaryskill-cell sheet-secondaryskill-name">
<input class="skill-label sheet-secondaryskill-label" type="text" name="attr_skill_secondaryskill_name"/>
</div>
<div class="table-cell sheet-secondaryskill-cell">&nbsp;</div>
<div class="table-cell sheet-secondaryskill-cell sheet-secondaryskill-5ranks">
<input class="rank-box" type="checkbox" name="attr_skill_secondaryskill_5rank1" value="30" />
<input class="rank-box" type="checkbox" name="attr_skill_secondaryskill_5rank2" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_secondaryskill_5rank3" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_secondaryskill_5rank4" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_secondaryskill_5rank5" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_secondaryskill_5rank6" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_secondaryskill_5rank7" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_secondaryskill_5rank8" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_secondaryskill_5rank9" value="5" />
<input class="rank-box" type="checkbox" name="attr_skill_secondaryskill_5rank10" value="5" />
<input type="hidden" name="attr_skill_secondaryskill_5sum_ranks" value="(-25 + @{skill_secondaryskill_5rank1} + @{skill_secondaryskill_5rank2} + @{skill_secondaryskill_5rank3} + @{skill_secondaryskill_5rank4} + @{skill_secondaryskill_5rank5} + @{skill_secondaryskill_5rank6} + @{skill_secondaryskill_5rank7} + @{skill_secondaryskill_5rank8} + @{skill_secondaryskill_5rank9} + @{skill_secondaryskill_5rank10})"/>
</div>
<div class="table-cell sheet-secondaryskill-cell sheet-secondaryskill-2ranks">
<input class="rank-box" type="checkbox" name="attr_skill_secondaryskill_2rank1" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_secondaryskill_2rank2" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_secondaryskill_2rank3" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_secondaryskill_2rank4" value="2" />
<input class="rank-box" type="checkbox" name="attr_skill_secondaryskill_2rank5" value="2" />
<input type="hidden" name="attr_skill_secondaryskill_2sum_ranks" value="(@{skill_secondaryskill_2rank1} + @{skill_secondaryskill_2rank2} + @{skill_secondaryskill_2rank3} + @{skill_secondaryskill_2rank4} + @{skill_secondaryskill_2rank5})"/>
</div>
<div class="table-cell sheet-secondaryskill-cell">
<input type="number" class="autocalc-stat-right" name="attr_skill_secondaryskill_rank_bonus" disabled value="(@{skill_secondaryskill_5sum_ranks} + @{skill_secondaryskill_2sum_ranks})"/>
</div>
<div class="table-cell">
<select name="attr_skill_secondaryskill_stat" class="secondaryskill-stat">
<option value="@{stat_st_total_bonus}">ST</option>
<option value="@{stat_ag_total_bonus}">AG</option>
<option value="@{stat_co_total_bonus}">CO</option>
<option value="@{stat_ig_total_bonus}">IG</option>
<option value="@{stat_it_total_bonus}">IT</option>
<option value="@{stat_pr_total_bonus}">PR</option>
</select>
<input type="number" class="autocalc-stat-right" name="attr_skill_secondaryskill_stat_bonus" disabled value="(@{skill_secondaryskill_stat})" />
</div>
<div class="table-cell sheet-secondaryskill-cell"><input type="number" name="attr_skill_secondaryskill_prof_bonus" value="0" /></div>
<div class="table-cell sheet-secondaryskill-cell"><input type="number" name="attr_skill_secondaryskill_race_bonus" value="0" /></div>
<div class="table-cell sheet-secondaryskill-cell"><input type="number" name="attr_skill_secondaryskill_item_bonus" value="0" /></div>
<div class="table-cell sheet-secondaryskill-cell"><input type="number" name="attr_skill_secondaryskill_spec1_bonus" value="0" /></div>
<div class="table-cell sheet-secondaryskill-cell"><input type="number" class="autocalc-stat-right" name="attr_skill_secondaryskill_spec2_bonus" value="0" /></div>
<div class="table-cell sheet-secondaryskill-cell">
<input type="number" class="autocalc-bonus sheet-autocalc-total" name="attr_skill_secondaryskill_total_bonus" disabled value="(@{skill_secondaryskill_rank_bonus}+@{skill_secondaryskill_stat_bonus}+@{skill_secondaryskill_prof_bonus}+ @{skill_secondaryskill_race_bonus}+@{skill_secondaryskill_item_bonus}+@{skill_secondaryskill_spec1_bonus}+@{skill_secondaryskill_spec2_bonus})" />
<select name="attr_skill_secondaryskill_type" class="secondaryskill-type" title="SM - static maneuver, MM - moving maneuver, SP - special (i.e. both)">
<option value="staticmaneuver">SM</option>
<option value="movingmaneuver">MM</option>
<option value="special">SP</option>
</select>
</div>
<div class="table-cell sheet-secondaryskill-cell">
<button type="roll" class="rolld100" name="attr_secondaryskill_roll" title="@{skill_secondaryskill_name} maneuver" value="@{wtype} &{template:secondaryskill} {{type=@{skill_secondaryskill_name}}} {{character=@{character_name}}} {{@{skill_secondaryskill_type}=1}} {{mm_roll=[[1d100!>96cs>96cf<5 + @{skill_secondaryskill_total_bonus} + @{total_mm_penalty} + ?{Modifier|0}]]}} {{sm_roll=[[1d100!>96cs>96cf<5 + @{skill_secondaryskill_total_bonus} + @{activity_penalty} + ?{Modifier|0}]]}} {{sm_penalty=[[@{activity_penalty}]]}} {{mm_penalty=[[@{total_mm_penalty}]]}} {{skill=[[@{skill_secondaryskill_total_bonus}]]}} {{underflow=[[1d100!>96 * -1]]}}">
<!-- -->
</button>
</div>
</div>
</fieldset>
</div>
</div>
</div>
</div>
<div class="tab-content sheet-tab3 sheet-top-padding">
<div class="1colrow">
<div class="tablelike full-width">
<div class="table-row">
<div class="table-cell">
<label>Realm:</label>
</div>
<div class="table-cell">
<span name="attr_realm"></span>
</div>
<div class="table-cell">
<label title="The available number of power points is based on stats (IG or IT) and level.">Power Points:</label>
</div>
<div class="table-cell">
<input type="hidden" name="attr_power_points_base" value="0" />
<input type="hidden" name="attr_effective_pp_multiplier" value="(((@{power_point_multiplier} + 1) + abs(@{power_point_multiplier} - 1))/2)" />
<input type="number" name="attr_power_points" value="0" />/
<input type="hidden" name="attr_total_power_points" value="(@{power_points_base} * @{level} * @{effective_pp_multiplier})" disabled />
<input type="number" name="attr_power_points_max" value="(@{power_points_base} * @{level} * @{effective_pp_multiplier})" disabled />
</div>
<div class="table-cell">
<label title="Multiplies the power points available per day">PP Multipliers:</label>
</div>
<div class="table-cell">
<input type="number" name="attr_power_point_multiplier" value="0" />
</div>
<div class="table-cell">
<label title="Each adder allows casting an extra spell (any level) per day">Spell Adders:</label>
</div>
<div class="table-cell">
<input type="number" name="attr_temp_spell_adders" value="0" /> /
<input type="number" name="attr_total_spell_adders" value="0" />
</div>
</div>
</div>
<div class="tablelike full-width">
<div class="table-row">
<div class="table-cell">
<span class="devpts-label" title="Number of professional development points for spell acquisition per level. For each point spend learning a spell list, your chance to learn that list increases by 20%">Spell development points:
<input type="hidden" name="attr_spell_profession_development" value="0"/>
<input class="autocalc-devpts-right" type="number" name="attr_spell_display_profession_development" value="@{spell_profession_development}" disabled /> /lvl
</span>
<span class="horizontal-spacer">&nbsp;</span>
<span class="devpts-label" title="Percent chance you have at learning a spell list during adolescence.">Adolescence spell list acquisition:
<input type="hidden" name="attr_race_spell_ad_ranks" value="0"/>
<input class="autocalc-devpts-right" type="number" name="attr_race_spell_display_ad_ranks" value="@{race_spell_ad_ranks}" disabled />%.
</span>
</div>
</div>
</div>
</div>
<div class="1colrow">
<span class="skill-heading">Spell Lists</span>
<div class="col sheet-border-box">
<fieldset class="repeating_spellists">
<div class="tablelike border-box full-width">
<div class="table-row">
<div class="table-cell">
<div class="tablelike">
<div class="table-cell">
<input type="text" name="attr_spelllist_name" class="spelllist-name" spellcheck="false"/>
</div>
<div class="table-cell">
<label title="">Collection:</label>
</div>
<div class="table-cell">
<select name="attr_spelllist_section" class="text-field-spell-class">
<option value="none" selected="selected">--</option>
<option value="animists_lists">Animists' Spell Lists</option>
<option value="bards_lists">Bards' Spell Lists</option>
<option value="mages_lists">Mages' Spell Lists</option>
<option value="channeling_lists">Open Channeling Spell Lists</option>
<option value="essence_lists">Open Essence Spell Lists</option>
<option value="rangers_lists">Rangers' Spell Lists</option>
</select>
</div>
<div class="table-cell">
<label title="Chance of acquiring the spell list">Chance:</label>
</div>
<div class="table-cell">
<input type="text" name="attr_spellist_chance" class="text-field-short" value="0" spellcheck="false"/>
</div>
</div>
</div>
</div>
<div class="table-row">
<div class="table-cell">
<input type="checkbox" class="visibility-toggle"/><span></span>
<div class="togglable-visibility">
<table class="spells-table">
<tr class="stats-table-heading">
<th class="stats-table-head">Lvl</th>
<th class="stats-table-head">Name</th>
<th class="stats-table-head">Area</th>
<th class="stats-table-head">Duration</th>
<th class="stats-table-head">Range</th>
<th class="stats-table-head">Class</th>
<th class="stats-table-head">Instant</th>
</tr>
<tr class="table-section-shaded sheet-table-spelllist-row">
<td>1)</td>
<td><input type="text" class="text-field-spellname" name="attr_spell1_name" spellcheck="false"/></td>
<td><input type="text" class="text-field-medium" name="attr_spell1_area" spellcheck="false"/></td>
<td><input type="text" class="text-field-medium" name="attr_spell1_duration" spellcheck="false"/></td>
<td><input type="text" class="text-field-short" name="attr_spell1_range" spellcheck="false"/></td>
<td><select name="attr_spell1_class" class="text-field-spell-class">
<option value="none" selected="selected">--</option>
<option value="elemental">Elemental</option>
<option value="force">Force</option>
<option value="informational">Informational</option>
<option value="passive">Passive</option>
<option value="utility">Utility</option>
</select></td>
<td class="align-center"><input type="checkbox" name="attr_spell1_instant" /></td>
</tr>
<tr class="table-section-shaded sheet-table-spelllist-row">
<td></td>
<td colspan="6">
<input type="text" name="attr_spell1_desc" class="fill-width" spellcheck="false"/>
</td>
</tr>
<tr class="table-spelllist-row">
<td>2)</td>
<td><input type="text" class="text-field-spellname" name="attr_spell2_name" spellcheck="false"/></td>
<td><input type="text" class="text-field-medium" name="attr_spell2_area" spellcheck="false"/></td>
<td><input type="text" class="text-field-medium" name="attr_spell2_duration" spellcheck="false"/></td>
<td><input type="text" class="text-field-short" name="attr_spell2_range" spellcheck="false"/></td>
<td><select name="attr_spell2_class" class="text-field-spell-class fill-width">
<option value="none" selected="selected">--</option>
<option value="elemental">Elemental</option>
<option value="force">Force</option>
<option value="informational">Informational</option>
<option value="passive">Passive</option>
<option value="utility">Utility</option>
</select></td>
<td class="align-center"><input type="checkbox" name="attr_spell2_instant" /></td>
</tr>
<tr class="table-spelllist-row sheet-table-spelllist-row">
<td></td>
<td colspan="6">
<input type="text" name="attr_spell2_desc" class="fill-width" spellcheck="false"/>
</td>
</tr>
<tr class="table-section-shaded sheet-table-spelllist-row">
<td>3)</td>
<td><input type="text" class="text-field-spellname" name="attr_spell3_name" spellcheck="false"/></td>
<td><input type="text" class="text-field-medium" name="attr_spell3_area" spellcheck="false"/></td>
<td><input type="text" class="text-field-medium" name="attr_spell3_duration" spellcheck="false"/></td>
<td><input type="text" class="text-field-short" name="attr_spell3_range" spellcheck="false"/></td>
<td><select name="attr_spell3_class" class="text-field-spell-class fill-width">
<option value="none" selected="selected">--</option>
<option value="elemental">Elemental</option>
<option value="force">Force</option>
<option value="informational">Informational</option>
<option value="passive">Passive</option>
<option value="utility">Utility</option>
</select></td>
<td class="align-center"><input type="checkbox" name="attr_spell3_instant" /></td>
</tr>
<tr class="table-section-shaded sheet-table-spelllist-row">
<td></td>
<td colspan="6">
<input type="text" name="attr_spell3_desc" class="fill-width"/>
</td>
</tr>
<tr class="table-spelllist-row">
<td>4)</td>
<td><input type="text" class="text-field-spellname" name="attr_spell4_name" spellcheck="false"/></td>
<td><input type="text" class="text-field-medium" name="attr_spell4_area" spellcheck="false"/></td>
<td><input type="text" class="text-field-medium" name="attr_spell4_duration" spellcheck="false"/></td>
<td><input type="text" class="text-field-short" name="attr_spell4_range" spellcheck="false"/></td>
<td><select name="attr_spell4_class" class="text-field-spell-class fill-width">
<option value="none" selected="selected">--</option>
<option value="elemental">Elemental</option>
<option value="force">Force</option>
<option value="informational">Informational</option>
<option value="passive">Passive</option>
<option value="utility">Utility</option>
</select></td>
<td class="align-center"><input type="checkbox" name="attr_spell4_instant" /></td>
</tr>
<tr class="table-spelllist-row">
<td></td>
<td colspan="6">
<input type="text" name="attr_spell4_desc" class="fill-width" spellcheck="false"/>
</td>
</tr>
<tr class="table-section-shaded sheet-table-spelllist-row">
<td>5)</td>
<td><input type="text" class="text-field-spellname" name="attr_spell5_name" spellcheck="false"/></td>
<td><input type="text" class="text-field-medium" name="attr_spell5_area" spellcheck="false"/></td>
<td><input type="text" class="text-field-medium" name="attr_spell5_duration" spellcheck="false"/></td>
<td><input type="text" class="text-field-short" name="attr_spell5_range" spellcheck="false"/></td>
<td><select name="attr_spell5_class" class="text-field-spell-class fill-width">
<option value="none" selected="selected">--</option>
<option value="elemental">Elemental</option>
<option value="force">Force</option>
<option value="informational">Informational</option>
<option value="passive">Passive</option>
<option value="utility">Utility</option>
</select></td>
<td class="align-center"><input type="checkbox" name="attr_spell5_instant" /></td>
</tr>
<tr class="table-section-shaded sheet-table-spelllist-row">
<td></td>
<td colspan="6">
<input type="text" name="attr_spell5_desc" class="fill-width" spellcheck="false"/>
</td>
</tr>
<tr class="table-spelllist-row">
<td>6)</td>
<td><input type="text" class="text-field-spellname" name="attr_spell6_name" spellcheck="false"/></td>
<td><input type="text" class="text-field-medium" name="attr_spell6_area" spellcheck="false"/></td>
<td><input type="text" class="text-field-medium" name="attr_spell6_duration" spellcheck="false"/></td>
<td><input type="text" class="text-field-short" name="attr_spell6_range" spellcheck="false"/></td>
<td><select name="attr_spell6_class" class="text-field-spell-class fill-width">
<option value="none" selected="selected">--</option>
<option value="elemental">Elemental</option>
<option value="force">Force</option>
<option value="informational">Informational</option>
<option value="passive">Passive</option>
<option value="utility">Utility</option>
</select></td>
<td class="align-center"><input type="checkbox" name="attr_spell6_instant" /></td>
</tr>
<tr class="table-spelllist-row">
<td></td>
<td colspan="6">
<input type="text" name="attr_spell6_desc" class="fill-width" spellcheck="false"/>
</td>
</tr>
<tr class="table-section-shaded sheet-table-spelllist-row">
<td>7)</td>
<td><input type="text" class="text-field-spellname" name="attr_spell7_name" spellcheck="false"/></td>
<td><input type="text" class="text-field-medium" name="attr_spell7_area" spellcheck="false"/></td>
<td><input type="text" class="text-field-medium" name="attr_spell7_duration" spellcheck="false"/></td>
<td><input type="text" class="text-field-short" name="attr_spell7_range" spellcheck="false"/></td>
<td><select name="attr_spell7_class" class="text-field-spell-class fill-width">
<option value="none" selected="selected">--</option>
<option value="elemental">Elemental</option>
<option value="force">Force</option>
<option value="informational">Informational</option>
<option value="passive">Passive</option>
<option value="utility">Utility</option>
</select></td>
<td class="align-center"><input type="checkbox" name="attr_spell7_instant" /></td>
</tr>
<tr class="table-section-shaded sheet-table-spelllist-row">
<td></td>
<td colspan="6">
<input type="text" name="attr_spell7_desc" class="fill-width" spellcheck="false"/>
</td>
</tr>
<tr class="table-spelllist-row">
<td>8)</td>
<td><input type="text" class="text-field-spellname" name="attr_spell8_name" spellcheck="false"/></td>
<td><input type="text" class="text-field-medium" name="attr_spell8_area" spellcheck="false"/></td>
<td><input type="text" class="text-field-medium" name="attr_spell8_duration" spellcheck="false"/></td>
<td><input type="text" class="text-field-short" name="attr_spell8_range" spellcheck="false"/></td>
<td><select name="attr_spell8_class" class="text-field-spell-class fill-width">
<option value="none" selected="selected">--</option>
<option value="elemental">Elemental</option>
<option value="force">Force</option>
<option value="informational">Informational</option>
<option value="passive">Passive</option>
<option value="utility">Utility</option>
</select></td>
<td class="align-center"><input type="checkbox" name="attr_spell8_instant" /></td>
</tr>
<tr class="table-spelllist-row">
<td></td>
<td colspan="6">
<input type="text" name="attr_spell8_desc" class="fill-width" spellcheck="false"/>
</td>
</tr>
<tr class="table-section-shaded sheet-table-spelllist-row">
<td>9)</td>
<td><input type="text" class="text-field-spellname" name="attr_spell9_name" spellcheck="false"/></td>
<td><input type="text" class="text-field-medium" name="attr_spell9_area" spellcheck="false"/></td>
<td><input type="text" class="text-field-medium" name="attr_spell9_duration" spellcheck="false"/></td>
<td><input type="text" class="text-field-short" name="attr_spell9_range" spellcheck="false"/></td>
<td><select name="attr_spell9_class" class="text-field-spell-class fill-width">
<option value="none" selected="selected">--</option>
<option value="elemental">Elemental</option>
<option value="force">Force</option>
<option value="informational">Informational</option>
<option value="passive">Passive</option>
<option value="utility">Utility</option>
</select></td>
<td class="align-center"><input type="checkbox" name="attr_spell9_instant" /></td>
</tr>
<tr class="table-section-shaded sheet-table-spelllist-row">
<td></td>
<td colspan="6">
<input type="text" name="attr_spell9_desc" class="fill-width" spellcheck="false"/>
</td>
</tr>
<tr class="table-spelllist-row">
<td>10)</td>
<td><input type="text" class="text-field-medium" name="attr_spell10_name" spellcheck="false"/></td>
<td><input type="text" class="text-field-medium" name="attr_spell10_area" spellcheck="false"/></td>
<td><input type="text" class="text-field-medium" name="attr_spell10_duration" spellcheck="false"/></td>
<td><input type="text" class="text-field-short" name="attr_spell10_range" spellcheck="false"/></td>
<td><select name="attr_spell10_class" class="text-field-spell-class fill-width">
<option value="none" selected="selected">--</option>
<option value="elemental">Elemental</option>
<option value="force">Force</option>
<option value="informational">Informational</option>
<option value="passive">Passive</option>
<option value="utility">Utility</option>
</select></td>
<td class="align-center"><input type="checkbox" name="attr_spell10_instant" /></td>
</tr>
<tr class="table-spelllist-row">
<td></td>
<td colspan="6">
<input type="text" name="attr_spell10_desc" class="fill-width" spellcheck="false"/>
</td>
</tr>
</table>
</div>
</div>
</div>
</div>
</fieldset>
</div>
</div>
</div>
<div class="tab-content sheet-tab4 top-padding">
<h2>Equipment</h2>
<div class="tablelike">
<div class="fields-rowlike">
<div class="table-cell">
<span class="skill-label" title="Total weight of weapons, items and coins">Total Equipment Weight:</span><input type="number" class="autocalc-weight" name="attr_equipment_total_weight" value="round(@{weapon_total_weight} + @{item_total_weight} + @{coins_total_weight})" disabled /> lbs
</div>
<div><span>&nbsp;&nbsp;&nbsp;</span></div>
<div class="table-cell">
<span class="skill-label" title="Total encumbering weight of weapons, items and coins, i.e., weight of items not worn.">Total Encumbering Weight:</span><input type="number" class="autocalc-weight" name="attr_equipment_total_encumbrance" value="round(@{weapon_total_weight} + @{item_total_encumbrance} + @{coins_total_weight})" disabled /> lbs
</div>
</div>
</div>
<div class="row">
<div class="col border-box full-width">
<h3>Weapons</h3>
<input type="hidden" name="attr_weapon_total_weight" value="0"/>
<span class="skill-label" title="Total weight of items and coins">Weapons Total Weight:</span><input type="number" class="autocalc-weight" name="attr_weapons_total_weight" value="round(@{weapon_total_weight})" disabled /> lbs.
<div class="tablelike">
<div class="table-heading fields-rowlike">
<div class="table-cell" title="The weapon name">Weapon</div>
<div class="table-cell" title="The applied weapons skill.">Weapon Skill</div>
<div class="table-cell" title="The weight of the weapon in pounds">Wt.</div>
<div class="table-cell" title="Dropped weapon: a convenience toggle managing the inventory and encumbrance">D.</div>
<div class="table-cell" title="The fumble range.">Fmbl</div>
<div class="table-cell" title="The severity of critical obtained when fumbled, if applicable.">Fmbl<br/>Crit.</div>
<div class="table-cell" title="The type of critical delivered by the weapon. The letter in parentheses indicates maximum critical that can be obtained.">Primary<br/>Critical</div>
<div class="table-cell" title="The type of critical delivered by the weapon, if applicable. The letter in parentheses indicates maximum critical that can be obtained.">Secondary<br/>Critical</div>
<div class="table-cell" title="The base range (BR) in feet for the weapon to be thrown or fired. Short range: Up to BR (No OB mod.). Medium range: up to 2 * BR (-25 OB). Long range: 3 * BR (-50 OB). Max range: 4 * BR (-75 OB).">Base<br/>Range</div>
<div class="table-cell" title="The rounds it takes to reload the weapon to avoid a OB penalty.">Load<br/>Rnds</div>
<div class="table-cell" title="The OB penalty for not taking the indicated rounds to reload the weapon.">Load<br/>Pen.</div>
<div class="table-cell" title="The OB modifier against no armor, soft leather armor, or rigid leather armor.">Mod.<br/>N/L</div>
<div class="table-cell" title="The OB modifier against chain armor or plate armor.">Mod.<br/>C/P</div>
<div class="table-cell" title="Any OB bonus deriving from the weapon, whether magical or non-magical.">Item</div>
<div class="table-cell align-center" title="The appropriate skill bonus from the skills tab.">OB</div>
<div class="table-cell"></div>
</div>
<fieldset class="repeating_weapon">
<div class="table-cell"><input class="text-field-weapon-name" name="attr_weapon_name" type="text" spellcheck="false"/></div>
<div class="table-cell">
<select class="text-field-weapon-type" name="attr_weapon_skill">
<option value="" selected="selected">--</option>
<option value="@{skill_1hedged_total_bonus}">1-H Edged</option>
<option value="@{skill_1hconc_total_bonus}">1-H Conc.</option>
<option value="@{skill_2handed_total_bonus}">2-Handed</option>
<option value="@{skill_thrown_total_bonus}">Thrown</option>
<option value="@{skill_missile_total_bonus}">Missile</option>
<option value="@{skill_polearm_total_bonus}">Polearm</option>
</select>
</div>
<div class="table-cell"><input class="text-weapon-stat" type="number" name="attr_weapon_weight" value="0" /></div>
<div class="table-cell" class="align-center"><input type="checkbox" name="attr_weapon_dropped"/></div>
<div class="table-cell"><input class="text-weapon-stat-short" type="number" name="attr_weapon_fumble_max" value="0" /></div>
<div class="table-cell">
<select class="text-field-critical-short" name="attr_weapon_fumble_severity">
<option value="--" selected="selected">--</option>
<option value="A">A</option>
<option value="B">B</option>
<option value="C">C</option>
<option value="D">D</option>
<option value="E">E</option>
</select>
</div>
<div class="table-cell">
<select class="text-field-critical" name="attr_weapon_primary_critical">
<option value="(None)" selected="selected">--</option>
<optgroup label="Crush">
<option value="Crush">CR</option>
<option value="Crush(A)">CR(A)</option>
<option value="Crush(B)">CR(B)</option>
<option value="Crush(C)">CR(C)</option>
<option value="Crush(D)">CR(D)</option>
</optgroup>
<optgroup label="Slash">
<option value="Slash">SL</option>
<option value="Slash(A)">SL(A)</option>
<option value="Slash(B)">SL(B)</option>
<option value="Slash(C)">SL(C)</option>
<option value="Slash(D)">SL(D)</option>
</optgroup>
<optgroup label="Puncture">
<option value="Puncture">PU</option>
<option value="Puncture(A)">PU(A)</option>
<option value="Puncture(B)">PU(B)</option>
<option value="Puncture(C)">PU(C)</option>
<option value="Puncture(D)">PU(D)</option>
</optgroup>
<optgroup label="Unbalance">
<option value="Unbalance">UB</option>
<option value="Unbalance(A)">UB(A)</option>
<option value="Unbalance(B)">UB(B)</option>
<option value="Unbalance(C)">UB(C)</option>
<option value="Unbalance(D)">UB(D)</option>
</optgroup>
<optgroup label="Grapple">
<option value="Grapple">GR</option>
<option value="Grapple(A)">GR(A)</option>
<option value="Grapple(B)">GR(B)</option>
<option value="Grapple(C)">GR(C)</option>
<option value="Grapple(D)">GR(D)</option>
</optgroup>
<optgroup label="Heat">
<option value="Heat">HT</option>
<option value="Heat(A)">HT(A)</option>
<option value="Heat(B)">HT(B)</option>
<option value="Heat(C)">HT(C)</option>
<option value="Heat(D)">HT(D)</option>
</optgroup>
<optgroup label="Cold">
<option value="Cold">CLD</option>
<option value="Cold(A)">CLD(A)</option>
<option value="Cold(B)">CLD(B)</option>
<option value="Cold(C)">CLD(C)</option>
<option value="Cold(D)">CLD(D)</option>
</optgroup>
<optgroup label="Electricity">
<option value="Electricity">EL</option>
<option value="Electricity(A)">EL(A)</option>
<option value="Electricity(B)">EL(B)</option>
<option value="Electricity(C)">EL(C)</option>
<option value="Electricity(D)">EL(D)</option>
</optgroup>
<optgroup label="Impact">
<option value="Impact">IMP</option>
<option value="Impact(A)">IMP(A)</option>
<option value="Impact(B)">IMP(B)</option>
<option value="Impact(C)">IMP(C)</option>
<option value="Impact(D)">IMP(D)</option>
</optgroup>
</select>
</div>
<div class="table-cell">
<select class="text-field-critical" name="attr_weapon_secondary_critical">
<option value="(None)" selected="selected">--</option>
<optgroup label="Crush">
<option value="Crush">CR</option>
<option value="Crush(A)">CR(A)</option>
<option value="Crush(B)">CR(B)</option>
<option value="Crush(C)">CR(C)</option>
<option value="Crush(D)">CR(D)</option>
</optgroup>
<optgroup label="Slash">
<option value="Slash">SL</option>
<option value="Slash(A)">SL(A)</option>
<option value="Slash(B)">SL(B)</option>
<option value="Slash(C)">SL(C)</option>
<option value="Slash(D)">SL(D)</option>
</optgroup>
<optgroup label="Puncture">
<option value="Puncture">PU</option>
<option value="Puncture(A)">PU(A)</option>
<option value="Puncture(B)">PU(B)</option>
<option value="Puncture(C)">PU(C)</option>
<option value="Puncture(D)">PU(D)</option>
</optgroup>
<optgroup label="Unbalance">
<option value="Unbalance">UB</option>
<option value="Unbalance(A)">UB(A)</option>
<option value="Unbalance(B)">UB(B)</option>
<option value="Unbalance(C)">UB(C)</option>
<option value="Unbalance(D)">UB(D)</option>
</optgroup>
<optgroup label="Grapple">
<option value="Grapple">GR</option>
<option value="Grapple(A)">GR(A)</option>
<option value="Grapple(B)">GR(B)</option>
<option value="Grapple(C)">GR(C)</option>
<option value="Grapple(D)">GR(D)</option>
</optgroup>
<optgroup label="Heat">
<option value="Heat">HT</option>
<option value="Heat(A)">HT(A)</option>
<option value="Heat(B)">HT(B)</option>
<option value="Heat(C)">HT(C)</option>
<option value="Heat(D)">HT(D)</option>
</optgroup>
<optgroup label="Cold">
<option value="Cold">CLD</option>
<option value="Cold(A)">CLD(A)</option>
<option value="Cold(B)">CLD(B)</option>
<option value="Cold(C)">CLD(C)</option>
<option value="Cold(D)">CLD(D)</option>
</optgroup>
<optgroup label="Electricity">
<option value="Electricity">EL</option>
<option value="Electricity(A)">EL(A)</option>
<option value="Electricity(B)">EL(B)</option>
<option value="Electricity(C)">EL(C)</option>
<option value="Electricity(D)">EL(D)</option>
</optgroup>
<optgroup label="Impact">
<option value="Impact">IMP</option>
<option value="Impact(A)">IMP(A)</option>
<option value="Impact(B)">IMP(B)</option>
<option value="Impact(C)">IMP(C)</option>
<option value="Impact(D)">IMP(D)</option>
</optgroup>
</optgroup>
</select>
</div>
<div class="table-cell"><input type="number" name="attr_weapon_range" value="0" /></div>
<div class="table-cell"><input class="text-weapon-stat-small" type="number" name="attr_weapon_reload_rounds" value="0" /></div>
<div class="table-cell"><input class="text-weapon-stat" type="number" name="attr_weapon_reload_penalty" value="0" /></div>
<div class="table-cell"><input class="text-weapon-stat" type="number" name="attr_weapon_noleather_bonus" value="0" /></div>
<div class="table-cell"><input class="text-weapon-stat" type="number" name="attr_weapon_chainplate_bonus" value="0" /></div>
<div class="table-cell"><input class="text-weapon-stat" type="number" name="attr_weapon_item_bonus" value="0" /></div>
<div class="table-cell">
<input type="hidden" name="attr_weapon_skill_bonus" value="(@{weapon_skill})" />
<input type="hidden" name="attr_total_wpn_ob_bonus" value="(@{weapon_skill} + @{weapon_item_bonus})" />
<input type="number" name="attr_total_wpn_ob_display_bonus" value="@{total_wpn_ob_bonus}" disabled/>
</div>
<div class="table-cell">
<button type="roll" class="rolld100" name="attr_weapon_roll" title="Weapon Attack Roll" value="@{wtype} &{template:weaponattack} {{type=@{weapon_name}}} {{character=@{character_name}}} {{roll=[[1d100!>96cs>96cf<[[@{weapon_fumble_max}]] + @{total_wpn_ob_bonus}[TOTAL OB] + @{total_ob_penalty} [OB PENALTY] + ?{Modifier|0} [MODIFIER] ]]}} {{fumble_roll=[[1d100]]}} {{fumble_severity=@{weapon_fumble_severity}}} {{primary_critical=[[1d100]] @{weapon_primary_critical}}} {{secondary_critical=[[1d100]] @{weapon_secondary_critical}}} {{reloadpenalty=@{weapon_reload_penalty}}} {{noleather=@{weapon_noleather_bonus}}} {{chainplate=@{weapon_chainplate_bonus}}} {{subtags=Weapon attack}} {{ob_skill=[[@{weapon_skill_bonus}]]}} {{wpn_bonus=[[@{weapon_item_bonus}]]}} {{modifier=[[?{Modifier|0}]]}} {{ob_penalty=[[@{total_ob_penalty}]]}}">
</button>
</div>
</fieldset>
</div>
</div>
</div>
<div class="row">
<div class="col border-box full-width">
<h3>Other Items</h3>
<input type="hidden" name="attr_item_total_weight" value="0"/>
<input type="hidden" name="attr_item_total_encumbrance" value="0"/>
<div class="tablelike">
<div class="fields-rowlike">
<div class="table-cell">
<span class="skill-label" title="Total weight of items">Items Total Weight:</span><input type="number" class="autocalc-weight" name="attr_items_total_display_weight" value="round(@{item_total_weight})" disabled /> lbs
</div>
<div><span>&nbsp;&nbsp;&nbsp;</span></div>
<div class="table-cell">
<span class="skill-label" title="Total encumbering weight of items">Items Encumbering Weight:</span><input type="number" class="autocalc-weight" name="attr_items_total_display_encumbrance" value="round(@{item_total_encumbrance})" disabled /> lbs
</div>
</div>
</div>
<div class="tablelike">
<div class="table-heading fields-rowlike">
<div class="table-cell">Item</div>
<div class="table-cell" title="Worn items are not added to encumbrance">Worn</div>
<div class="table-cell" title="Dropped item: a convenience toggle for travel gear etc.">Dropped</div>
<div class="table-cell" title="Weight in pounds">Weight</div>
<div class="table-cell">Note</div>
</div>
<fieldset class="repeating_equipment">
<div class="table-cell"><input type="text" name="attr_item_name" spellcheck="false"/></div>
<div class="table-cell" class="align-center"><input type="checkbox" name="attr_item_worn"/></div>
<div class="table-cell" class="align-center"><input type="checkbox" name="attr_item_dropped"/></div>
<div class="table-cell"><input type="number" name="attr_item_weight" value="0" min="0" step="any"/></div>
<div class="table-cell"><input type="text" name="attr_item_note" class="text-field-itemnote" spellcheck="false"/></div>
</fieldset>
</div>
</div>
</div>
<div class="row">
<div class="col border-box full-width">
<h3>Coins</h3>
<span class="skill-label" title="Total weight of coins">Coins Total Weight:</span>
<input type="number" class="autocalc-weight" name="attr_weapons_total_display_weight" value="round(@{coins_total_weight})" disabled /> lbs.
<div class="fields-rowlike">
<div class="table-cell">
<label class="label-celllike">Tin: <input type="number" name="attr_coins_tin" value="0" min="0" /></label>
</div>
<div class="table-cell">
<label class="label-celllike">Copper: <input type="number" name="attr_coins_copper" value="0" min="0" /></label>
</div>
<div class="table-cell">
<label class="label-celllike">Bronze: <input type="number" name="attr_coins_bronze" value="0" min="0" /></label>
</div>
<div class="table-cell">
<label class="label-celllike">Silver: <input type="number" name="attr_coins_silver" value="0" min="0" /></label>
</div>
<div class="table-cell">
<label class="label-celllike">Gold: <input type="number" name="attr_coins_gold" value="0" min="0" /></label>
</div>
<div class="table-cell">
<label class="label-cellike">Mithril: <input type="number" name="attr_coins_mithril" value="0" min="0" /></label>
</div>
<input type="hidden" name="attr_coins_total" value="(@{coins_tin} + @{coins_copper} + @{coins_bronze} + @{coins_silver} + @{coins_gold} + @{coins_mithril})" />
<input type="hidden" name="attr_coins_total_weight" value="(@{coins_total}/64)" />
</div>
</div>
</div>
<div class="1colrow">
<div class="col border-box full-width">
<h3>Other Possessions</h3>
<div class="tablelike">
<div class="table-heading sheet-fields-rowlike">
<div class="table-cell">Article</div>
<div class="table-cell">Location</div>
<div class="table-cell">Note</div>
</div>
<fieldset class="repeating_otheritems">
<div class="table-cell"><input type="text" name="attr_otheritem_name" spellcheck="false"/></div>
<div class="table-cell"><input type="text" name="attr_otheritem_location" spellcheck="false"/></div>
<div class="table-cell"><input type="text" name="attr_otheritem_note" class="text-field-note" spellcheck="false"/></div>
</fieldset>
</div>
</div>
</div>
</div>
<!-- NPC / Creature sheet-->
<div class="tab-content sheet-tab5 top-padding">
<div class="row">
<div class="col sheet-border-box sheet-personal-box">
<h3>NPC/Creature</h3>
<div class="tablelike">
<div class="table-row">
<div class="table-cell">
<label>Name:</label>
</div>
<div class="table-cell">
<input type="text" name="attr_character_name" />
</div>
</div>
<div class="table-row">
<div class="table-cell">
<label>Type:</label>
</div>
<div class="table-cell">
<input type="text" name="attr_creature_type" />
</div>
</div>
<div class="table-row">
<div class="table-cell">
<label>Level:</label>
</div>
<div class="table-cell">
<div class="tablelike">
<div class="table-row">
<div class="table-cell">
<input class="text-field-short" type="text" name="attr_creature_level" value="1" />
</div>
<div class="table-cell">
<label title="The usual number of appearance">#App:</label>
</div>
<div class="table-cell">
<input class="text-field-short" type="text" name="attr_creature_number_of_appearance" value="1" spellcheck="false"/>
</div>
</div>
</div>
</div>
</div>
<div class="table-row">
<div class="table-cell">
<label>Size:</label>
</div>
<div class="table-cell">
<input type="text" name="attr_creature_size" />
</div>
</div>
<div class="table-row">
<div class="table-cell">
<label title="The size classification of the creature">Size Category:</label>
</div>
<div class="table-cell">
<div class="tablelike">
<div class="table-row">
<div class="table-cell">
<select name="attr_creature_size_category" class="text-field-profession">
<option value="tiny">Tiny</option>
<option value="small">Small</option>
<option value="medium">Medium</option>
<option value="large">Large</option>
<option value="huge">Huge</option>
</select>
</div>
</div>
</div>
</div>
</div>
<div class="table-row">
<div class="table-cell">
<label>Climate:</label>
</div>
<div class="table-cell">
<input type="text" name="attr_creature_climate" />
</div>
</div>
<div class="table-row">
<div class="table-cell">
<label>Terrain:</label>
</div>
<div class="table-cell">
<input type="text" name="attr_creature_terrain" />
</div>
</div>
</div>
</div>
<div class="col sheet-border-box sheet-resistance-box">
<h3>Resistances and Defenses</h3>
<div class="tablelike">
<div class="table-row">
<div class="table-cell">
<div class="tablelike">
<div class="table-row">
<div class="table-cell">
<label title="The criticals table to use when hit.">Criticals:</label>
</div>
<div class="table-cell">
<select name="attr_creature_critical" class="text-field-medium">
<option value="medium">Regular</option>
<option value="large">Large</option>
<option value="superlarge">Super Large</option>
<option value="i">I</option>
<option value="ii">II</option>
</select>
</div>
</div>
<div class="table-row">
<div class="table-cell">
<label>Armor worn:</label>
</div>
<div class="table-cell">
<select name="attr_creature_armorworn" class="text-field-medium">
<option value="no_armor" selected="selected">No armor</option>
<option value="soft_leather">Soft leather</option>
<option value="rigid_leather">Rigid leather</option>
<option value="chain_armor">Chain</option>
<option value="plate_armor">Plate</option>
</select>
</div>
</div>
</div>
</div>
<div class="table-cell">
<div class="tablelike sheet-border-box">
<div class="table-row">
<div class="table-cell">
<span class="skill-label" title="Applies when creature is attacking.">Charge/Lunge DB mod:</span>
</div>
<div class="table-cell">
<input type="hidden" name="attr_creature_chargelunge_db_mod" value="0"/>
<input type="number" name="attr_creature_chargelunge_db_modifier" value="@{creature_chargelunge_db_mod}" disabled/>
</div>
</div>
<div class="table-row">
<div class="table-cell">
<span class="skill-label" title="Applies when creature is 50' away and dashing away or across a line of sight.">Flee/Evade DB mod:</span>
</div>
<div class="table-cell">
<input type="hidden" name="attr_creature_fleeevade_db_mod" value="0"/>
<input type="number" name="attr_creature_chargelunge_db_modifier" value="@{creature_fleeevade_db_mod}" disabled/>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="tablelike fill-width">
<div class="table-row">
<div class="table-cell">
<span class="skill-label" title="Roll for 1d100">1d100:</span>
<button type="roll" class="rolld100" name="attr_1d100_roll" title="1d100 roll" value="@{wtype} &{template:1d100} {{type=1d100}} {{character=@{character_name}}} {{subtags=Generic}} {{roll=[[1d100 + ?{Modifier|0}]]}}">
<!-- -->
</button>
</div>
<div class="table-cell">
<span class="horizontal-spacer">&nbsp;</span>
<span class="skill-label" title="Roll for 1d100. Keep rolling while the outcome is equal to or greater than 95 and add up the results.">Open-ended: </span>
<button type="roll" class="rolld100" name="attr_openended_roll" title="Open-ended roll" value="@{wtype} &{template:openended} {{type=Open-ended 1d100}} {{character=@{character_name}}} {{subtags=Generic}} {{roll=[[1d100!>96cs>96cf<5 + ?{Modifier|0}]]}} {{underflow=[[1d100!>96 * -1]]}}">
<!-- -->
</button>
</div>
<div class="table-cell">
<span class="horizontal-spacer">&nbsp;</span>
<span class="skill-label" title="Roll 1d100 for orientation">Orientation: </span>
<button type="roll" class="rolld100" name="attr_orientation2_roll" title="Orientation roll"
value="@{wtype} &{template:staticmaneuver} {{type=Orientation}} {{character=@{character_name}}} {{subtags=Static Maneuver}} {{roll=[[1d100!>96cs>96cf<5 + @{creature_activity_penalty}[PENALTY] + ?{Modifier|0}[MODIFIER]]]}} {{sm_penalty=[[@{creature_activity_penalty}]]}} {{skill=[[@{skill_perception_total_bonus}]]}} {{underflow=[[1d100!>96 * -1]]}}">
<!-- -->
</button>
</div>
<div class="table-cell">
<span class="horizontal-spacer">&nbsp;</span>
<span class="skill-label" title="Roll 1d100 for fumble">Fumble: </span>
<button type="roll" class="rolld100" name="attr_fumble_roll" title="Fumble roll"
value="@{wtype} &{template:1d100} {{type=Fumble}} {{character=@{character_name}}} {{subtags=Generic}} {{roll=[[1d100 + ?{Modifier|0}]]}}">
<!-- -->
</button>
</div>
</div>
</div>
<table class="resistances-table">
<tr class="skills-table-row sheet-skills-table-head">
<th class="skills-table-head"></th>
<th class="skills-table-head" colspan="2">Stat</th>
<th class="skills-table-head">Race</th>
<th class="skills-table-head">Item</th>
<th class="skills-table-head">Spec</th>
<th class="skills-table-head">Spec</th>
<th class="skills-table-head">Total</th>
<th></th>
</tr>
<tr>
<td class="skill-label">Defensive Bonus</td>
<td class="skill-label sheet-table-stat-label">AG</td>
<td><input class="autocalc-stat-right" type="number" name="attr_creature_defensive_stat_bonus" value="@{stat_ag_total_bonus}" disabled /></td>
<td></td>
<td><input type="number" name="attr_creature_defensive_item_bonus" value="0"/></td>
<td><input type="number" name="attr_creature_defensive_spec1_bonus" value="0"/></td>
<td><input type="number" name="attr_creature_defensive_spec2_bonus" value="0"/></td>
<td>
<input type="hidden" name="attr_creature_defensive_total_bonus" value="0" />
<input type="number" class="autocalc-bonus sheet-autocalc-total" name="attr_creature_defensive_total_display_bonus" disabled
value="(@{creature_defensive_total_bonus})"/>
<span class="action-type-label" title="Defensive bonus">DB</span>
</td>
<td>
</td>
</tr>
<tr>
<td class="skill-label">Essence RR</td>
<td class="skill-label sheet-table-stat-label">IG</td>
<td>
<input class="autocalc-stat-right" type="number" name="attr_creature_essence_stat_bonus" value="@{stat_ig_total_bonus}" disabled />
</td>
<td><input type="number" name="attr_creature_essence_race_bonus" value="0"/></td>
<td><input type="number" name="attr_creature_essence_item_bonus" value="0"/></td>
<td><input type="number" name="attr_creature_essence_spec1_bonus" value="0"/></td>
<td><input type="number" name="attr_creature_essence_spec2_bonus" value="0"/></td>
<td>
<input type="hidden" name="attr_creature_essence_total_bonus" value="0" />
<input type="number" class="autocalc-bonus sheet-autocalc-total" name="attr_creature_essence_total_display_bonus" disabled
value="(@{creature_essence_total_bonus})"/>
<span class="action-type-label" title="Resistance roll">RR</span>
</td>
<td>
<button type="roll" class="rolld100" name="attr_creature_essence_rr" title="Essence Resistance Roll" value="@{wtype} &{template:resistanceroll} {{type=Essence}} {{character=@{character_name}}} {{subtags=Resistance Roll}} {{roll=[[1d100 + @{creature_essence_total_bonus}[BONUS] + ?{Modifier|0}[MODIFIER]]]}} {{bonus=[[@{creature_essence_total_bonus}]]}}">
<!-- -->
</button>
</td>
</tr>
<tr>
<td class="skill-label">Channeling RR</td>
<td class="skill-label sheet-table-stat-label">IT</td>
<td><input class="autocalc-stat-right" type="number" name="attr_creature_channeling_stat_bonus" value="@{stat_it_total_bonus}" disabled /></td>
<td><input type="number" name="attr_creature_channeling_race_bonus" value="0"/></td>
<td><input type="number" name="attr_creature_channeling_item_bonus" value="0"/></td>
<td><input type="number" name="attr_creature_channeling_spec1_bonus" value="0"/></td>
<td><input type="number" name="attr_creature_channeling_spec2_bonus" value="0"/></td>
<td>
<input type="hidden" name="attr_creature_channeling_total_bonus" value="0" />
<input type="number" class="autocalc-bonus sheet-autocalc-total" name="attr_creature_channeling_total_display_bonus" disabled
value="(@{creature_channeling_total_bonus})"/>
<span class="action-type-label" title="Resistance roll">RR</span>
</td>
<td>
<button type="roll" class="rolld100" name="attr_creature_channeling_rr" title="Channeling Resistance Roll" value="@{wtype} &{template:resistanceroll} {{type=Channeling}} {{character=@{character_name}}} {{subtags=Resistance Roll}} {{roll=[[1d100 + @{creature_channeling_total_bonus}[BONUS] + ?{Modifier|0}[MODIFIER]]]}} {{bonus=[[@{creature_channeling_total_bonus}]]}}">
<!-- -->
</button>
</td>
</tr>
<tr>
<td class="skill-label">Poison RR</td>
<td class="skill-label sheet-table-stat-label">CO</td>
<td><input class="autocalc-stat-right" type="number" name="attr_creature_poison_stat_bonus" value="@{stat_co_total_bonus}" disabled /></td>
<td><input type="number" name="attr_creature_poison_race_bonus" value="0"/></td>
<td><input type="number" name="attr_creature_poison_item_bonus" value="0"/></td>
<td><input type="number" name="attr_creature_poison_spec1_bonus" value="0"/></td>
<td><input type="number" name="attr_creature_poison_spec2_bonus" value="0"/></td>
<td>
<input type="hidden" name="attr_creature_poison_total_bonus" value="0" />
<input type="number" class="autocalc-bonus sheet-autocalc-total" name="attr_creature_poison_total_display_bonus" disabled
value="(@{creature_poison_total_bonus})"/>
<span class="action-type-label" title="Resistance roll">RR</span>
</td>
<td>
<button type="roll" class="rolld100" name="attr_creature_poison_rr" title="Poison Resistance Roll" value="@{wtype} &{template:resistanceroll} {{type=Poison}} {{character=@{character_name}}} {{subtags=Resistance Roll}} {{roll=[[1d100 + @{creature_poison_total_bonus}[BONUS] + ?{Modifier|0}[MODIFIER]]]}} {{bonus=[[@{creature_poison_total_bonus}]]}}">
<!-- -->
</button>
</td>
</tr>
<tr>
<td class="skill-label">Disease RR</td>
<td class="skill-label sheet-table-stat-label">CO</td>
<td><input class="autocalc-stat-right" type="number" name="attr_creature_disease_stat_bonus" value="@{stat_co_total_bonus}" disabled /></td>
<td><input type="number" name="attr_creature_disease_race_bonus" value="0"/></td>
<td><input type="number" name="attr_creature_disease_item_bonus" value="0"/></td>
<td><input type="number" name="attr_creature_disease_spec1_bonus" value="0"/></td>
<td><input type="number" name="attr_creature_disease_spec2_bonus" value="0"/></td>
<td>
<input type="hidden" name="attr_creature_disease_total_bonus" value="0"/>
<input type="number" class="autocalc-bonus sheet-autocalc-total" name="attr_creature_disease_total_display_bonus" disabled
value="(@{creature_disease_total_bonus})"/>
<span class="action-type-label" title="Resistance roll">RR</span>
</td>
<td>
<button type="roll" class="rolld100" name="attr_creature_disease_rr" title='Disease Resistance Roll' value="@{wtype} &{template:resistanceroll} {{type=Disease}} {{character=@{character_name}}} {{subtags=Resistance Roll}} {{roll=[[1d100 + @{creature_disease_total_bonus}[BONUS] + ?{Modifier|0}[MODIFIER]]]}} {{bonus=[[@{creature_disease_total_bonus}]]}}">
<!-- -->
</button>
</td>
</tr>
<tr>
<td class="skill-label">Cold RR</td>
<td class="skill-label sheet-table-stat-label">CO</td>
<td><input class="autocalc-stat-right" type="number" name="attr_creature_cold_stat_bonus" value="@{stat_co_total_bonus}" disabled /></td>
<td><input type="number" name="attr_creature_cold_race_bonus" value="0"/></td>
<td><input type="number" name="attr_creature_cold_item_bonus" value="0"/></td>
<td><input type="number" name="attr_creature_cold_spec1_bonus" value="0"/></td>
<td><input type="number" name="attr_creature_cold_spec2_bonus" value="0"/></td>
<td>
<input type="hidden" name="attr_creature_cold_total_bonus" value="0" />
<input type="number" class="autocalc-bonus sheet-autocalc-total" name="attr_creature_cold_total_display_bonus" disabled
value="(@{creature_cold_total_bonus})"/>
<span class="action-type-label" title="Resistance roll">RR</span>
</td>
<td>
<button type="roll" class="rolld100" name="attr_creature_cold_rr" title="Cold Resistance Roll" value="@{wtype} &{template:resistanceroll} {{type=Cold}} {{character=@{character_name}}} {{subtags=Resistance Roll}} {{roll=[[1d100 + @{creature_cold_total_bonus}[BONUS] + ?{Modifier|0}[MODIFIER]]]}} {{bonus=[[@{creature_poison_total_bonus}]]}}">
<!-- -->
</button>
</td>
</tr>
<tr>
<td class="skill-label">Heat RR</td>
<td class="skill-label sheet-table-stat-label">CO</td>
<td><input class="autocalc-stat-right" type="number" name="attr_creature_heat_stat_bonus" value="@{stat_co_total_bonus}" disabled /></td>
<td><input type="number" name="attr_creature_heat_race_bonus" value="0"/></td>
<td><input type="number" name="attr_creature_heat_item_bonus" value="0"/></td>
<td><input type="number" name="attr_creature_heat_spec1_bonus" value="0"/></td>
<td><input type="number" name="attr_creature_heat_spec2_bonus" value="0"/></td>
<td>
<input type="hidden" name="attr_creature_heat_total_bonus" value="0"/>
<input type="number" class="autocalc-bonus sheet-autocalc-total" name="attr_creature_heat_total_display_bonus" disabled
value="(@{creature_heat_total_bonus})"/>
<span class="action-type-label" title="Resistance roll">RR</span>
</td>
<td>
<button type="roll" class="rolld100" name="attr_creature_disease_rr" title='Disease Resistance Roll' value="@{wtype} &{template:resistanceroll} {{type=Heat}} {{character=@{character_name}}} {{subtags=Resistance Roll}} {{roll=[[1d100 + @{creature_heat_total_bonus}[BONUS] + ?{Modifier|0}[MODIFIER]]]}} {{bonus=[[@{creature_heat_total_bonus}]]}}">
<!-- -->
</button>
</td>
</tr>
</table>
</div>
</div>
<div class="row">
<div class="col sheet-border-box sheet-movement-box">
<h3>Movement</h3>
<div class="tablelike">
<div class="table-row">
<div class="table-cell">
<label title="The relative speed of the creature">Movement Speed:</label>
</div>
<div class="table-cell">
<select name="attr_creature_speed" class="text-field-creature-speed">
<option value="CR">Creeping</option>
<option value="VS">Very Slow</option>
<option value="SL">Slow</option>
<option value="MD" selected="selected">Medium</option>
<option value="MF">Moderately Fast</option>
<option value="FA">Fast</option>
<option value="VF">Very Fast</option>
<option value="BF">Blindingly Fast</option>
</select>
</div>
</div>
<div class="table-row">
<div class="table-cell">
<label title="The relative quickness of the creature.">Quickness:</label>
</div>
<div class="table-cell">
<select name="attr_creature_quickness" class="text-field-creature-speed">
<option value="CR">Creeping</option>
<option value="VS">Very Slow</option>
<option value="SL">Slow</option>
<option value="MD" selected="selected">Medium</option>
<option value="MF">Moderately Fast</option>
<option value="FA">Fast</option>
<option value="VF">Very Fast</option>
<option value="BF">Blindingly Fast</option>
</select>
</div>
</div>
<div class="table-row">
<div class="table-cell">
<span class="skill-label" title="Movement rate (feet/round)">Base Movement rate:</span>
</div>
<div class="table-cell">
<input type="hidden" name="attr_creature_base_movement_rate" value="0"/>
<input type="number" class="autocalc-bonus" name="attr_creature_movement_rate" value="(@{creature_base_movement_rate})" disabled/> feet/rnd
</div>
</div>
<div class="table-row">
<div class="table-cell">
<span class="skill-label" title="Movement maneuver bonus from movement speed">Maneuver Bonus:</span>
</div>
<div class="table-cell">
<input type="hidden" name="attr_creature_mm_bonus" value="0"/>
<input type="number" class="autocalc-bonus" name="attr_creature_mm_total" value="(@{creature_mm_bonus})" disabled/> <span class="action-type-label" title="Movement maneuver bonus">MM</span>
</div>
</div>
</div>
</div>
<div class="col sheet-border-box sheet-creature-status-box">
<h3>Status</h3>
<div class="tablelike">
<div class="table-row">
<div class="table-cell">
<div class="tablelike">
<div class="table-row">
<div class="tablelike">
<div class="table-row">
<div class="table-cell">
<span class="skill-label" title="Unable to attack. May only parry at 50% OB. Any other action requires a maneuver roll at -50.">Stunned:</span>
<input type="checkbox" name="attr_creature_status_stunned" value="-50"/>
<span class="skill-label" title="Unable to attack or parry. Any other action requires a maneuver roll at -50.">Down:</span>
<input type="checkbox" name="attr_creature_status_down" value="-70"/>
<span class="skill-label" title="Unable to use an arm or a leg.">One limb out:</span>
<input type="checkbox" name="attr_creature_status_onelimbout" value="-30"/>
</div>
</div>
<div class="table-row">
<div class="table-cell">
<span class="skill-label" title="Blood loss in hits per round">Blood loss:</span>
<input type="number" name="attr_creature_status_bleeding" value="0"/> hits/rnd
</div>
</div>
</div>
</div>
</div>
<div class="tablelike">
<div class="table-row">
<div class="table-cell">
<table class="point-indicator">
<tr class="point-indicator-header">
<td><span class="point-indicator-header-text">Hit Points</span></td>
<td>[<input type="number" class="point-indicator-header-score" class="autocalc-stat-right" name="attr_creature_total_hit_points" value="0">]</td>
</tr>
<tr>
<td colspan="2" class="align-center">
<input type="number" class="point-indicator-score" name="attr_creature_hit_points" min="0" value="0"/>
</td>
</tr>
</table>
</div>
<div class="table-cell">
<table class="point-indicator">
<tr class="point-indicator-header">
<td><span class="point-indicator-header-text" title="Applies to all activity except DB and RR.">Activity Penalty</span></td>
</tr>
<tr>
<td class="align-center">
<input type="number" class="point-indicator-score" name="attr_creature_activity_penalty" value="0" max="0"/>
</td>
</tr>
</table>
</div>
</div>
</div>
</div>
<div class="table-cell">
<div class="tablelike">
<div class="table-row">
<div class="table-cell">
<span class="skill-label-bold" title="Total penalty for moving maneuvers">MM Penalty:</span>
</div>
<div class="table-cell">
<input type="hidden" name="attr_creature_total_mm_penalty" value="0" />
<input type="number" class="autocalc-total sheet-autocalc-bonus" name="attr_creature_total_mm_display_penalty" value="(@{creature_total_mm_penalty})" disabled/>
</div>
<div class="table-cell">
</div>
<div class="table-cell">
</div>
</div>
<div class="table-row">
<div class="table-cell">
<span class="skill-label-bold" title="Total penalty for offensive actions: activity penalty + hit loss penalty ">OB Penalty:</span>
</div>
<div class="table-cell">
<input type="hidden" name="attr_creature_total_ob_penalty" value="0"/>
<input type="number" class="autocalc-total sheet-autocalc-bonus" name="attr_creature_total_ob_display_penalty" value="@{creature_total_ob_penalty}" disabled/>
</div>
<div class="table-cell">
<span class="skill-label" title="Hit loss penalty applies to OB, when more than half of total hit points are lost.">Hit Loss Penalty:</span>
</div>
<div class="table-cell">
<input type="hidden" name="attr_creature_hitloss_penalty" value="0" />
<input type="number" class="autocalc-bonus" name="attr_creature_hitloss_display_penalty" value="@{creature_hitloss_penalty}" disabled/>
</div>
</div>
</div>
<div class="tablelike">
<div class="table-row">
<div class="table-cell">
<span class="skill-label" title="Effective Movement rate (feet/round)">Effective Movement rate:</span>
</div>
<div class="table-cell">
<input type="hidden" name="attr_creature_effective_movement_rate" value="0" />
<input type="number" class="autocalc-total sheet-autocalc-bonus" name="attr_creature_effective_movement_display_rate" value="(@{creature_effective_movement_rate})" disabled/> feet/rnd
</div>
</div>
<div class="table-row">
<div class="table-cell">
<span class="skill-label" title="The effective movement maneuver bonus equals MM bonus from Movement Speed minus the total MM penalty">Effective MM Bonus:</span>
</div>
<div class="table-cell">
<input type="hidden" name="attr_creature_effective_mm_bonus" value="0" />
<input type="number" class="autocalc-total sheet-autocalc-bonus" name="attr_creature_effective_mm_display_bonus" value="(@{creature_mm_bonus}+@{creature_total_mm_penalty})" disabled/> feet/rnd
<span class="action-type-label" title="Movement maneuver bonus">MM</span>
<button type="roll" class="rolld100" name="attr_creature_mm" title="Creature moving maneuver" value="@{wtype} &{template:movingmaneuver} {{type=Basic}} {{character=@{character_name}}} {{subtags=Moving Maneuver}} {{roll=[[1d100!>96cs>96cf<5 + @{creature_mm_bonus}[BONUS] + @{creature_total_mm_penalty}[PENALTY] + ?{Modifier|0}[MODIFIER]]]}} {{mm_penalty=[[@{creature_total_mm_penalty}]]}} {{skill=[[@{creature_mm_bonus}]]}} {{underflow=[[1d100!>96 * -1]]}}">
<!-- -->
</button>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col">
<div class="col sheet-border-box sheet-creature-abilities-box">
<h3>Special Abilities</h3>
<fieldset class="repeating_creaturespecials">
<input type="text" class="text-field-creature-ability" name="attr_creature_special" spellcheck="false"/>
</fieldset>
</div>
<div class="col sheet-border-box sheet-attacks-box">
<h3>Attacks</h3>
<table class="resistances-table">
<tr class="skills-table-row sheet-skills-table-head">
<th class="skills-table-head">Name</th>
<th class="skills-table-head">Size</th>
<th class="skills-table-head">Type</th>
<th class="skills-table-head">Total</th>
<th class="skills-table-head"></th>
</tr>
<tr class="skills-table-row">
<td>
<input type="text" name="attr_attack1_name" class="text-field-language" spellcheck="false"/>
</td>
<td>
<select name="attr_attack1_size" class="text-field-medium">
<option value="Tiny">Tiny</option>
<option value="Small">Small</option>
<option value="Medium" selected="selected">Medium</option>
<option value="Large">Large</option>
<option value="Huge">Huge</option>
</select>
</td>
<td>
<select name="attr_attack1_type" class="text-field-medium">
<option value="Tiny">Tiny</option>
<option value="Pincher/Beak">Pincher/Beak</option>
<option value="Bash">Bash</option>
<option value="Bite">Bite</option>
<option value="Claw">Claw</option>
<option value="Crush">Crush</option>
<option value="Grapple">Grapple</option>
<option value="Ho">Horn</option>
<option value="Trample/Stomp">Trample/Stopm</option>
<option value="Stinger">Stinger</option>
<option value="Weapon">Weapon</option>
</select>
</td>
<td>
<input type="number" name="attr_attack1_ob" value="0"/> <span class="action-type-label" title="Offensive bonus">OB</span>
</td>
<td>
<button type="roll" class="rolld100" name="attr_primary_ob" title="Primary Attack Roll" value="@{wtype} &{template:attack} {{type=@{attack1_name}}} {{character=@{character_name}}} {{subtags=@{attack1_size} @{attack1_type} Attack}} {{roll=[[1d100!>96cs>96cf<8 + @{attack1_ob}[BONUS] + @{creature_total_ob_penalty}[PENALTY] + ?{Modifier|0}[MODIFIER]]]}} {{ob_penalty=[[@{creature_total_ob_penalty}]]}} {{skill=[[@{attack1_ob}]]}} {{primary_critical=[[1d100]]}} {{secondary_critical=[[1d100]]}} {{fumble_roll=[[1d100]]}} {{underflow=[[1d100!>96 * -1]]}}">
<!-- -->
</button>
</td>
</tr>
<tr class="skills-table-row">
<td>
<input type="text" name="attr_attack2_name" class="text-field-language" spellcheck="false"/>
</td>
<td>
<select name="attr_attack2_size" class="text-field-medium">
<option value="Tiny">Tiny</option>
<option value="Small">Small</option>
<option value="Medium" selected="selected">Medium</option>
<option value="Large">Large</option>
<option value="Huge">Huge</option>
</select>
</td>
<td>
<select name="attr_attack2_type" class="text-field-medium">
<option value="Tiny">Tiny</option>
<option value="Pincher/Beak">Pincher/Beak</option>
<option value="Bash">Bash</option>
<option value="Bite">Bite</option>
<option value="Claw" selected="selected">Claw</option>
<option value="Crush">Crush</option>
<option value="Grapple">Grapple</option>
<option value="Ho">Horn</option>
<option value="Trample/Stomp">Trample/Stopm</option>
<option value="Stinger">Stinger</option>
<option value="Weapon">Weapon</option>
</select>
</td>
<td>
<input type="number" name="attr_attack2_ob" value="0"/> <span class="action-type-label" title="Offensive bonus">OB</span>
</td>
<td>
<button type="roll" class="rolld100" name="attr_secondary_ob" title="Secondary Attack Roll" value="@{wtype} &{template:attack} {{type=@{attack2_name}}} {{character=@{character_name}}} {{subtags=@{attack2_size} @{attack2_type} Attack}} {{roll=[[1d100!>96cs>96cf<8 + @{attack2_ob}[BONUS] + @{creature_total_ob_penalty}[PENALTY] + ?{Modifier|0}[MODIFIER]]]}} {{ob_penalty=[[@{creature_total_ob_penalty}]]}} {{skill=[[@{attack2_ob}]]}} {{primary_critical=[[1d100]]}} {{secondary_critical=[[1d100]]}} {{fumble_roll=[[1d100]]}} {{underflow=[[1d100!>96 * -1]]}}">
<!-- -->
</button>
</td>
</tr>
<tr class="skills-table-row">
<td>
<input type="text" name="attr_attack3_name" class="text-field-language" spellcheck="false"/>
</td>
<td>
<select name="attr_attack3_size" class="text-field-medium">
<option value="Tiny">Tiny</option>
<option value="Small">Small</option>
<option value="Medium" selected="selected">Medium</option>
<option value="Large">Large</option>
<option value="Huge">Huge</option>
</select>
</td>
<td>
<select name="attr_attack3_type" class="text-field-medium">
<option value="Tiny">Tiny</option>
<option value="Pincher/Beak">Pincher/Beak</option>
<option value="Bash">Bash</option>
<option value="Bite">Bite</option>
<option value="Claw">Claw</option>
<option value="Crush">Crush</option>
<option value="Grapple">Grapple</option>
<option value="Ho">Horn</option>
<option value="Trample/Stomp">Trample/Stopm</option>
<option value="Stinger">Stinger</option>
<option value="Weapon">Weapon</option>
</select>
</td>
<td>
<input type="number" name="attr_attack3_ob" value="0"/> <span class="action-type-label" title="Offensive bonus">OB</span>
</td>
<td>
<button type="roll" class="rolld100" name="attr_tertiary_ob" title="Tertiary Attack Roll" value="@{wtype} &{template:attack} {{type=@{attack3_name}}} {{character=@{character_name}}} {{subtags=@{attack3_size} @{attack3_type} Attack}} {{roll=[[1d100!>96cs>96cf<8 + @{attack3_ob}[BONUS] + @{creature_total_ob_penalty}[PENALTY] + ?{Modifier|0}[MODIFIER]]]}} {{ob_penalty=[[@{creature_total_ob_penalty}]]}} {{skill=[[@{attack3_ob}]]}} {{primary_critical=[[1d100]]}} {{secondary_critical=[[1d100]]}} {{fumble_roll=[[1d100]]}} {{underflow=[[1d100!>96 * -1]]}}">
<!-- -->
</button>
</td>
</tr>
<tr class="skills-table-row">
<td>
<input type="text" name="attr_attack4_name" class="text-field-language" spellcheck="false"/>
</td>
<td>
<select name="attr_attack4_size" class="text-field-medium">
<option value="Tiny">Tiny</option>
<option value="Small">Small</option>
<option value="Medium" selected="selected">Medium</option>
<option value="Large">Large</option>
<option value="Huge">Huge</option>
</select>
</td>
<td>
<select name="attr_attack4_type" class="text-field-medium">
<option value="Tiny">Tiny</option>
<option value="Pincher/Beak">Pincher/Beak</option>
<option value="Bash">Bash</option>
<option value="Bite">Bite</option>
<option value="Claw">Claw</option>
<option value="Crush">Crush</option>
<option value="Grapple">Grapple</option>
<option value="Ho">Horn</option>
<option value="Trample/Stomp">Trample/Stopm</option>
<option value="Stinger">Stinger</option>
<option value="Weapon">Weapon</option>
</select>
</td>
<td>
<input type="number" name="attr_attack4_ob" value="0"/> <span class="action-type-label" title="Offensive bonus">OB</span>
</td>
<td>
<button type="roll" class="rolld100" name="attr_quaterary_ob" title="Quaternary Attack Roll" value="@{wtype} &{template:attack} {{type=@{attack4_name}}} {{character=@{character_name}}} {{subtags=@{attack4_size} @{attack4_type} Attack}} {{roll=[[1d100!>96cs>96cf<8 + @{attack4_ob}[BONUS] + @{creature_total_ob_penalty}[PENALTY] + ?{Modifier|0}[MODIFIER]]]}} {{ob_penalty=[[@{creature_total_ob_penalty}]]}} {{skill=[[@{attack4_ob}]]}} {{primary_critical=[[1d100]]}} {{secondary_critical=[[1d100]]}} {{fumble_roll=[[1d100]]}} {{underflow=[[1d100!>96 * -1]]}}">
<!-- -->
</button>
</td>
</tr>
<tr class="skills-table-row">
<td>
<input type="text" name="attr_attack5_name" class="text-field-language" spellcheck="false"/>
</td>
<td>
<select name="attr_attack5_size" class="text-field-medium">
<option value="Tiny">Tiny</option>
<option value="Small">Small</option>
<option value="Medium" selected="selected">Medium</option>
<option value="Large">Large</option>
<option value="Huge">Huge</option>
</select>
</td>
<td>
<select name="attr_attack5_type" class="text-field-medium">
<option value="Tiny">Tiny</option>
<option value="Pincher/Beak">Pincher/Beak</option>
<option value="Bash">Bash</option>
<option value="Bite">Bite</option>
<option value="Claw">Claw</option>
<option value="Crush">Crush</option>
<option value="Grapple">Grapple</option>
<option value="Ho">Horn</option>
<option value="Trample/Stomp">Trample/Stopm</option>
<option value="Stinger">Stinger</option>
<option value="Weapon">Weapon</option>
</select>
</td>
<td>
<input type="number" name="attr_attack5_ob" value="0"/> <span class="action-type-label" title="Offensive bonus">OB</span>
</td>
<td>
<button type="roll" class="rolld100" name="attr_quinary_ob" title="Quinary Attack Roll" value="@{wtype} &{template:attack} {{type=@{attack5_name}}} {{character=@{character_name}}} {{subtags=@{attack5_size} @{attack5_type} Attack}} {{roll=[[1d100!>96cs>96cf<8 + @{attack5_ob}[BONUS] + @{creature_total_ob_penalty}[PENALTY] + ?{Modifier|0}[MODIFIER]]]}} {{ob_penalty=[[@{creature_total_ob_penalty}]]}} {{skill=[[@{attack5_ob}]]}} {{primary_critical=[[1d100]]}} {{secondary_critical=[[1d100]]}} {{fumble_roll=[[1d100]]}} {{underflow=[[1d100!>96 * -1]]}}">
<!-- -->
</button>
</td>
</tr>
</table>
</div>
</div>
</div>
</div>
<div class="tab-content sheet-tab6 top-padding">
<h2>Settings</h2>
<div class="row">
<div class="col sheet-border-box" style="width: 250px">
<h3>Whisper rolls to GM</h3>
<p>Choose whether you want to share your rolls with other players or not.</p>
<select name="attr_wtype">
<option value="">Never Whisper Rolls</option>
<option value="?{Whisper?|Public Roll,|Whisper Roll,/w gm }">Query Whisper</option>
<option value="/w gm ">Always Whisper Rolls</option>
</select>
</div>
</div>
</div>
</div>
<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.3.0',
lastUpdate = 1613447936,
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){
TAS.log("field:" + field + " --> " + r.F[field] + "/" + m)
return m + (r.F[field]);
},0,function(t,r,a){
TAS.log("destination:" + destination + " --> " + t)
a.S[destination]=t;
})
.execute();
};
/* eslint-disable no-console */
console.log('%c•.¸¸.•*´¨`*•.¸¸.•*´¨`*•.¸ MERP 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 ---- */
/* ---------------------------------------------------------------------------------------------------
* powerPointBase: given a value 1-100+, return the corresponding number of power points.
* --------------------------------------------------------------------------------------------------- */
function powerPointBase(stat) {
var pp = 0;
if (stat <= 74) {
pp = 0;
} else if (stat <= 94) {
pp = 1;
} else if (stat <= 99) {
pp = 2;
} else if (stat <= 101) {
pp = 3;
} else {
pp = 4;
}
return pp;
}
/* ---------------------------------------------------------------------------------------------------
* StatBonus: given a value 1-100+, return the corresponding bonus.
* --------------------------------------------------------------------------------------------------- */
function statBonus(stat) {
var bonus = 0;
if (stat <= 1) {
bonus = -25;
} else if (stat <= 2) {
bonus = -20;
} else if (stat <= 4) {
bonus = -15;
} else if (stat <= 9) {
bonus = -10;
} else if (stat <= 24) {
bonus = -5;
} else if (stat <= 74) {
bonus = 0;
} else if (stat <= 89) {
bonus = 5;
} else if (stat <= 94) {
bonus = 10;
} else if (stat <= 97) {
bonus = 15;
} else if (stat <= 99) {
bonus = 20;
} else if (stat <= 100) {
bonus = 25;
} else if (stat <= 101) {
bonus = 30;
} else {
bonus = 35;
}
return bonus;
}
/* ---------------------------------------------------------------------------------------------------
* Stats worker
* --------------------------------------------------------------------------------------------------- */
const stats = ["st", "ag", "co", "ig", "it", "pr"];
stats.forEach( stat => {
on("sheet:opened change:race " +
[`change:stat_${stat}_value`, `change:stat_${stat}_race_bonus`, `change:stat_${stat}_misc_bonus`].join(" "), function() {
getAttrs([`stat_${stat}_value`, `stat_${stat}_race_bonus`, `stat_${stat}_misc_bonus`], function(values) {
let stat_base = parseInt(values[`stat_${stat}_value`],10) || 50;
let stat_bonus = statBonus(stat_base);
let stat_race = parseInt(values[`stat_${stat}_race_bonus`],10) || 0;
let stat_misc = parseInt(values[`stat_${stat}_misc_bonus`],10) || 0;
let stat_total = stat_bonus + stat_race + stat_misc;
TAS.log("stat value worker for " + stat + " says " + stat_base + " yields " + stat_bonus + " => " + stat_total);
setAttrs({
[`stat_${stat}_stat_bonus`]: stat_bonus,
[`stat_${stat}_total_bonus`]: stat_total
});
switch(stat) {
case "st":
setAttrs({
skill_chain_stat_bonus: stat_total,
skill_plate_stat_bonus: stat_total,
skill_1hedged_stat_bonus: stat_total,
skill_1hconc_stat_bonus: stat_total,
skill_2handed_stat_bonus: stat_total,
skill_polearm_stat_bonus: stat_total,
skill_novicestriking_stat_bonus: stat_total,
skill_standardstriking_stat_bonus: stat_total,
skill_expertstriking_stat_bonus: stat_total
});
break;
case "ag":
setAttrs({
defensive_stat_bonus: stat_total,
creature_defensive_stat_bonus: stat_total,
skill_noarmor_stat_bonus: stat_total,
skill_softleather_stat_bonus: stat_total,
skill_rigidleather_stat_bonus: stat_total,
skill_thrown_stat_bonus: stat_total,
skill_missile_stat_bonus: stat_total,
skill_climb_stat_bonus: stat_total,
skill_swim_stat_bonus: stat_total,
skill_directedspells_stat_bonus: stat_total,
skill_novicesweeps_stat_bonus: stat_total,
skill_standardsweeps_stat_bonus: stat_total,
skill_expertsweeps_stat_bonus: stat_total
});
break;
case "co":
setAttrs({
poison_stat_bonus: stat_total,
disease_stat_bonus: stat_total,
creature_poison_stat_bonus: stat_total,
creature_disease_stat_bonus: stat_total,
skill_bodydev_stat_bonus: stat_total
});
break;
case "ig":
setAttrs({
essence_stat_bonus: stat_total,
creature_essence_stat_bonus: stat_total,
skill_track_stat_bonus: stat_total,
skill_picklock_stat_bonus: stat_total,
skill_readrunes_stat_bonus: stat_total
});
break;
case "it":
setAttrs({
channeling_stat_bonus: stat_total,
creature_channeling_stat_bonus: stat_total,
skill_ride_stat_bonus: stat_total,
skill_disarmtrap_stat_bonus: stat_total,
skill_useitems_stat_bonus: stat_total,
skill_perception_stat_bonus: stat_total
});
break;
case "pr":
setAttrs({
skill_stalkhide_stat_bonus: stat_total,
skill_leadership_stat_bonus: stat_total
});
break;
default:
break;
}
});
});
});
/* ---------------------------------------------------------------------------------------------------
* Resistances worker
* --------------------------------------------------------------------------------------------------- */
const resistances = ["defensive", "essence", "channeling", "poison", "disease", "cold", "heat"];
resistances.forEach( rr => {
on("sheet:opened change:race change:shield_bonus " +
[`change:${rr}_stat_bonus`, `change:${rr}_race_bonus`, `change:${rr}_item_bonus`, `change:${rr}_spec1_bonus`, `change:${rr}_spec2_bonus`].join(" "), function() {
getAttrs(["shield_bonus", `${rr}_stat_bonus`, `${rr}_race_bonus`, `${rr}_item_bonus`, `${rr}_spec1_bonus`, `${rr}_spec2_bonus`], function(values) {
var keys = Object.keys(values);
keys.forEach(key=>{
console.log(key + '|' + values[key]);
});
let stat_bonus = parseInt(values[`${rr}_stat_bonus`],10) || 0;
let race_bonus = parseInt(values[`${rr}_race_bonus`],10) || 0;
let item_bonus = parseInt(values[`${rr}_item_bonus`],10) || 0;
let spec1_bonus = parseInt(values[`${rr}_spec1_bonus`],10) || 0;
let spec2_bonus = parseInt(values[`${rr}_spec2_bonus`],10) || 0;
if (rr == "defensive") {
spec2_bonus = parseInt(values["shield_bonus"],10) || 0;
}
let total_bonus = stat_bonus + race_bonus + item_bonus + spec1_bonus + spec2_bonus;
setAttrs({
[`${rr}_total_bonus`]: total_bonus
});
});
});
});
/* ---------------------------------------------------------------------------------------------------
* Primary skills worker
* --------------------------------------------------------------------------------------------------- */
const primarySkills = ["noarmor", "softleather", "rigidleather", "chain", "plate", "1hedged", "1hconc", "2handed", "thrown", "missile", "polearm", "climb", "ride", "swim", "track", "ambush", "stalkhide", "picklock", "disarmtrap", "readrunes", "useitems", "directedspells", "adrenaldefense", "perception", "bodydev", "basespell", "leadership", "novicestriking", "standardstriking", "expertstriking", "novicesweeps", "standardsweeps", "expertsweeps"];
primarySkills.forEach( ps => {
on("sheet:opened " + [`change:skill_${ps}_5rank1`, `change:skill_${ps}_5rank2`, `change:skill_${ps}_5rank3`, `change:skill_${ps}_5rank4`, `change:skill_${ps}_5rank5`, `change:skill_${ps}_5rank6`, `change:skill_${ps}_5rank7`, `change:skill_${ps}_5rank8`, `change:skill_${ps}_5rank9`, `change:skill_${ps}_5rank10`, `change:skill_${ps}_2rank1`, `change:skill_${ps}_2rank2`, `change:skill_${ps}_2rank3`, `change:skill_${ps}_2rank4`, `change:skill_${ps}_2rank5`, `change:skill_${ps}_stat_bonus`, `change:skill_${ps}_prof_bonus`, `change:skill_${ps}_race_bonus`, `change:skill_${ps}_item_bonus`, `change:skill_${ps}_spec1_bonus`, `change:skill_${ps}_spec2_bonus`].join(" "),
function() {
getAttrs([`skill_${ps}_5rank1`, `skill_${ps}_5rank2`, `skill_${ps}_5rank3`, `skill_${ps}_5rank4`, `skill_${ps}_5rank5`, `skill_${ps}_5rank6`, `skill_${ps}_5rank7`, `skill_${ps}_5rank8`, `skill_${ps}_5rank9`, `skill_${ps}_5rank10`, `skill_${ps}_2rank1`, `skill_${ps}_2rank2`, `skill_${ps}_2rank3`, `skill_${ps}_2rank4`, `skill_${ps}_2rank5`, `skill_${ps}_stat_bonus`, `skill_${ps}_prof_bonus`, `skill_${ps}_race_bonus`, `skill_${ps}_item_bonus`, `skill_${ps}_spec1_bonus`, `skill_${ps}_spec2_bonus`], function(values) {
TAS.log("PRIMARY SKILL WORKER:" + ps);
/*
var keys = Object.keys(values);
keys.forEach(key=>{
console.log(key + '|' + values[key]);
});
*/
let initial_bonus = -25;
if (ps == "ambush" || ps == "bodydev" || ps == "basespell" || ps == "leadership") {
initial_bonus = 0;
}
let rank_bonus = initial_bonus + (parseInt(values[`skill_${ps}_5rank1`],10) || 0) + (parseInt(values[`skill_${ps}_5rank2`],10) || 0) + (parseInt(values[`skill_${ps}_5rank3`],10) || 0) + (parseInt(values[`skill_${ps}_5rank4`],10) || 0) + (parseInt(values[`skill_${ps}_5rank5`],10) || 0) + (parseInt(values[`skill_${ps}_5rank6`],10) || 0) + (parseInt(values[`skill_${ps}_5rank7`],10) || 0) + (parseInt(values[`skill_${ps}_5rank8`],10) || 0) + (parseInt(values[`skill_${ps}_5rank9`],10) || 0) + (parseInt(values[`skill_${ps}_5rank10`],10) || 0) + (parseInt(values[`skill_${ps}_2rank1`],10) || 0) + (parseInt(values[`skill_${ps}_2rank2`],10) || 0) + (parseInt(values[`skill_${ps}_2rank3`],10) || 0) + (parseInt(values[`skill_${ps}_2rank4`],10) || 0) + (parseInt(values[`skill_${ps}_2rank5`],10) || 0);
let stat_bonus = parseInt(values[`skill_${ps}_stat_bonus`],10) || 0;
let prof_bonus = parseInt(values[`skill_${ps}_prof_bonus`],10) || 0;
let race_bonus = parseInt(values[`skill_${ps}_race_bonus`],10) || 0;
let item_bonus = parseInt(values[`skill_${ps}_item_bonus`],10) || 0;
let spec1_bonus = parseInt(values[`skill_${ps}_spec1_bonus`],10) || 0;
let spec2_bonus = parseInt(values[`skill_${ps}_spec2_bonus`],10) || 0;
let total_bonus = rank_bonus + stat_bonus + prof_bonus + race_bonus + item_bonus + spec1_bonus + spec2_bonus;
TAS.log("Rank bonus for " + ps + " = " + rank_bonus + " (" + `skill_${ps}_rank_bonus` + ")");
TAS.log("Total bonus for " + ps + " = " + total_bonus + " (" + `skill_${ps}_total_bonus` + ")");
setAttrs({
[`skill_${ps}_total_bonus`]: total_bonus,
[`skill_${ps}_rank_bonus`]: rank_bonus
});
});
});
});
/* ---------------------------------------------------------------------------------------------------
* Movement rate worker
* --------------------------------------------------------------------------------------------------- */
on("sheet:opened change:total_mm_penalty change:stride_modifier change:movement_rate_modifier", function() {
getAttrs(["total_mm_penalty", "stride_modifier", "movement_rate_modifier"], function(values) {
let movement_rate_modifier = parseInt(values["movement_rate_modifier"], 10) || 0;
let total_mm_penalty = parseInt(values["total_mm_penalty"], 10) || 0;
let stride_modifier = parseInt(values["stride_modifier"], 10) || 0;
let base_rate = 50 + movement_rate_modifier + total_mm_penalty + stride_modifier
setAttrs({
"movement_rate": base_rate
});
});
});
/* ---------------------------------------------------------------------------------------------------
* Encumbrance penalty total worker
* --------------------------------------------------------------------------------------------------- */
on("sheet:opened change:stat_st_total_bonus change:encumbrance_penalty", function() {
getAttrs(["stat_st_total_bonus", "encumbrance_penalty"], function(values) {
let st_bonus = parseInt(values["stat_st_total_bonus"], 10) || 0;
let positive_st_bonus = Math.max(0, st_bonus);
let enc_penalty = parseInt(values["encumbrance_penalty"], 10) || 0;
let total_enc_penalty = Math.min(0, enc_penalty + positive_st_bonus);
setAttrs({
"total_enc_penalty": total_enc_penalty
});
});
});
/* ---------------------------------------------------------------------------------------------------
* Hitloss penalty worker
* --------------------------------------------------------------------------------------------------- */
on("sheet:opened change:hit_points change:skill_bodydev_total_bonus", function() {
getAttrs(["hit_points", "skill_bodydev_total_bonus"], function(values) {
let hp = parseInt(values["hit_points"]) || 0;
let hp_total = parseInt(values["skill_bodydev_total_bonus"]) || 0;
let hlp = 0;
if (hp * 2 < hp_total) {
hlp = -20;
}
TAS.log("HIT LOSS PENALTY hp:" + hp + " hpTotal:" + hp_total + " => " + hlp);
setAttrs({
"total_hitloss_penalty": hlp,
"hit_points_max": hp_total
});
});
});
/* ---------------------------------------------------------------------------------------------------
* Movement maneuver penalty worker
* --------------------------------------------------------------------------------------------------- */
on("sheet:opened change:status_stunned change:status_down change:status_onelimbout change:activity_penalty change:total_enc_penalty change:leggreaves_penalty", function() {
getAttrs(["status_stunned", "status_down", "status_onelimbout", "activity_penalty", "total_enc_penalty", "leggreaves_penalty"], function(values) {
let status_stunned = parseInt(values["status_stunned"]) || 0;
let status_down = parseInt(values["status_down"]) || 0;
let status_onelimbout = parseInt(values["status_onelimbout"]) || 0;
let activity_penalty = parseInt(values["activity_penalty"]) || 0;
let total_enc_penalty = parseInt(values["total_enc_penalty"]) || 0;
let leggreaves_penalty = parseInt(values["leggreaves_penalty"]) || 0;
let total_mm_penalty = status_stunned + status_down + status_onelimbout + activity_penalty + total_enc_penalty + leggreaves_penalty;
TAS.log("MM PENALTY:" + total_mm_penalty);
setAttrs({
"total_mm_penalty": total_mm_penalty
});
});
});
/* ---------------------------------------------------------------------------------------------------
* Offensive penalty worker
* --------------------------------------------------------------------------------------------------- */
on("sheet:opened change:activity_penalty change:total_hitloss_penalty change:armgreaves_penalty", function() {
getAttrs(["activity_penalty", "total_hitloss_penalty", "armgreaves_penalty"], function(values) {
let activity_penalty = parseInt(values["activity_penalty"]) || 0;
let total_hitloss_penalty = parseInt(values["total_hitloss_penalty"]) || 0;
let armgreaves_penalty = parseInt(values["armgreaves_penalty"]) || 0;
let total_ob_penalty = activity_penalty + total_hitloss_penalty + armgreaves_penalty;
TAS.log("OB PENALTY:" + total_ob_penalty);
setAttrs({
"total_ob_penalty": total_ob_penalty
});
});
});
on("sheet:opened change:stat_it_value change:stat_ig_value change:realm", function() {
getAttrs(["stat_it_value", "stat_ig_value", "realm"], function(values) {
let powerPoints = 0
switch (values["realm"]) {
case "Channeling":
powerPoints = powerPointBase(parseInt(values["stat_it_value"], 10) || 0);
break;
case "Essence":
powerPoints = powerPointBase(parseInt(values["stat_ig_value"], 10) || 0);
break;
case "Both":
ig = parseInt(values["stat_ig_value"], 10) || 0;
it = parseInt(values["stat_it_value"], 10) || 0;
avg = Math.round((ig + it)/2.0);
powerPoints = powerPointBase(avg) || 0;
break;
default:
break;
}
setAttrs({
"power_points_base": powerPoints
});
});
});
/* ---------------------------------------------------------------------------------------------------
* Movement rate modifier worker
* --------------------------------------------------------------------------------------------------- */
on("sheet:opened change:armorworn change:skill_noarmor_total_bonus change:skill_softleather_total_bonus change:skill_rigidleather_total_bonus change:skill_chain_total_bonus change:skill_plate_total_bonus", function() {
getAttrs(["armorworn", "skill_noarmor_total_bonus", "skill_softleather_total_bonus",
"skill_rigidleather_total_bonus", "skill_chain_total_bonus",
"skill_plate_total_bonus"], function(values) {
TAS.log("Calculate movement rate modifier")
TAS.log("armor worn:" + values["armorworn"])
TAS.log("noarmor:" + values["skill_noarmor_total_bonus"] + " " + parseInt(values["skill_noarmor_total_bonus"], 10))
TAS.log("softleather:" + values["skill_softleather_total_bonus"] + " " + parseInt(values["skill_softleather_total_bonus"], 10))
TAS.log("rigidleather:" + values["skill_rigidleather_total_bonus"] + " " + parseInt(values["skill_rigidleather_total_bonus"], 10))
TAS.log("chainarmor:" + values["skill_chain_total_bonus"] + " " + parseInt(values["skill_chain_total_bonus"], 10))
TAS.log("platearmor:" + values["skill_plate_total_bonus"] + " " + parseInt(values["skill_plate_total_bonus"], 10))
let mm_bonus = 0
switch (values["armorworn"]) {
case "no_armor":
mm_bonus = values["skill_noarmor_total_bonus"], 10
break;
case "soft_leather":
mm_bonus = values["skill_softleather_total_bonus"], 10
break;
case "rigid_leather":
mm_bonus = values["skill_rigidleather_total_bonus"], 10
break;
case "chain_armor":
mm_bonus = values["skill_chain_total_bonus"], 10
break;
case "plate_armor":
mm_bonus = values["skill_plate_total_bonus"], 10
break;
default:
break;
}
TAS.log("mm_bonus:" + mm_bonus)
setAttrs({
"movement_rate_modifier": mm_bonus
});
});
});
on("sheet:opened change:race", function(eventInfo) {
getAttrs(["race"], function(values) {
TAS.log("Race bonus " + eventInfo.previousValue + " to " + eventInfo.newValue)
let race = values["race"];
let bonuses = raceBonuses(race);
TAS.log("Strength skill bonus for race:" + race + " is " + bonuses["attr_stat_st_race_bonus"]);
setAttrs({
"stat_st_race_bonus": bonuses["stat_st_race_bonus"] || 0,
"stat_ag_race_bonus": bonuses["stat_ag_race_bonus"] || 0,
"stat_co_race_bonus": bonuses["stat_co_race_bonus"] || 0,
"stat_ig_race_bonus": bonuses["stat_ig_race_bonus"] || 0,
"stat_it_race_bonus": bonuses["stat_it_race_bonus"] || 0,
"stat_pr_race_bonus": bonuses["stat_pr_race_bonus"] || 0,
"defensive_race_bonus": bonuses["defensive_race_bonus"] || 0,
"essence_race_bonus": bonuses["essence_race_bonus"] || 0,
"channeling_race_bonus": bonuses["channeling_race_bonus"] || 0,
"poison_race_bonus": bonuses["poison_race_bonus"] || 0,
"disease_race_bonus": bonuses["disease_race_bonus"] || 0,
"cold_race_bonus": bonuses["cold_race_bonus"] || 0,
"heat_race_bonus": bonuses["heat_race_bonus"] || 0,
"skill_noarmor_ad_ranks": bonuses["skill_noarmor_ad_ranks"] || 0,
"skill_softleather_ad_ranks": bonuses["skill_softleather_ad_ranks"] || 0,
"skill_rigidleather_ad_ranks": bonuses["skill_rigidleather_ad_ranks"] || 0,
"skill_chain_ad_ranks": bonuses["skill_chain_ad_ranks"] || 0,
"skill_1hedged_ad_ranks": bonuses["skill_1hedged_ad_ranks"] || 0,
"skill_1hconc_ad_ranks": bonuses["skill_1conc_ad_ranks"] || 0,
"skill_2handed_ad_ranks": bonuses["skill_2handed_ad_ranks"] || 0,
"skill_thrown_ad_ranks": bonuses["skill_thrown_ad_ranks"] || 0,
"skill_missile_ad_ranks": bonuses["skill_missile_ad_ranks"] || 0,
"skill_polearm_ad_ranks": bonuses["skill_polearm_ad_ranks"] || 0,
"skill_climb_ad_ranks": bonuses["skill_climb_ad_ranks"] || 0,
"skill_ride_ad_ranks": bonuses["skill_ride_ad_ranks"] || 0,
"skill_swim_ad_ranks": bonuses["skill_swim_ad_ranks"] || 0,
"skill_ambush_ad_ranks": bonuses["skill_ambush_ad_ranks"] || 0,
"skill_stalkhide_ad_ranks": bonuses["skill_stalkhide_ad_ranks"] || 0,
"skill_picklock_ad_ranks": bonuses["skill_picklock_ad_ranks"] || 0,
"skill_disarmtrap_ad_ranks": bonuses["skill_disarmtrap_ad_ranks"] || 0,
"skill_readrunes_ad_ranks": bonuses["skill_readrunes_ad_ranks"] || 0,
"skill_useitems_ad_ranks": bonuses["skill_useitems_ad_ranks"] || 0,
"skill_novicestriking_ad_ranks": bonuses["skill_novicestriking_ad_ranks"] || 0,
"skill_standardstriking_ad_ranks": bonuses["skill_standardstriking_ad_ranks"] || 0,
"skill_expertstriking_ad_ranks": bonuses["skill_expertstriking_ad_ranks"] || 0,
"skill_novicesweeps_ad_ranks": bonuses["skill_novicesweeps_ad_ranks"] || 0,
"skill_standardsweeps_ad_ranks": bonuses["skill_standardsweeps_ad_ranks"] || 0,
"skill_expertsweeps_ad_ranks": bonuses["skill_expertsweeps_ad_ranks"] || 0,
"skill_adrenaldefense_ad_ranks": bonuses["skill_adrenaldefense_ad_ranks"] || 0,
"skill_perception_ad_ranks": bonuses["skill_perception_ad_ranks"] || 0,
"skill_bodydev_ad_ranks": bonuses["skill_bodydev_ad_ranks"] || 0,
"race_spell_ad_ranks": bonuses["race_spell_ad_ranks"] || 0,
"race_language_ad_ranks": bonuses["race_language_ad_ranks"] || 0,
"race_bg_options": bonuses["race_bg_options"] || 0,
"skill_noarmor_race_bonus": bonuses["skill_noarmor_race_bonus"] || 0,
"skill_softleather_race_bonus": bonuses["skill_softleather_race_bonus"] || 0,
"skill_rigidleather_race_bonus": bonuses["skill_skill_rigidleather_race_bonus"] || 0,
"skill_chain_race_bonus": bonuses["skill_skill_chain_race_bonus"] || 0,
"skill_plate_race_bonus": bonuses["skill_plate_race_bonus"] || 0,
"skill_1hedged_race_bonus": bonuses["skill_1hedged_race_bonus"] || 0,
"skill_1hconc_race_bonus": bonuses["skill_1hconc_race_bonus"] || 0,
"skill_2handed_race_bonus": bonuses["skill_2handed_race_bonus"] || 0,
"skill_thrown_race_bonus": bonuses["skill_thrown_race_bonus"] || 0,
"skill_missile_race_bonus": bonuses["skill_missile_race_bonus"] || 0,
"skill_polearm_race_bonus": bonuses["skill_polearm_race_bonus"] || 0,
"skill_climb_race_bonus": bonuses["skill_climb_race_bonus"] || 0,
"skill_ride_race_bonus": bonuses["skill_ride_race_bonus"] || 0,
"skill_swim_race_bonus": bonuses["skill_swim_race_bonus"] || 0,
"skill_track_race_bonus": bonuses["skill_track_race_bonus"] || 0,
"skill_stalkhide_race_bonus": bonuses["skill_stalkhide_race_bonus"] || 0,
"skill_picklock_race_bonus": bonuses["skill_picklock_race_bonus"] || 0,
"skill_disarmtrap_race_bonus": bonuses["skill_disarmtrap_race_bonus"] || 0,
"skill_readrunes_race_bonus": bonuses["skill_readrunes_race_bonus"] || 0,
"skill_useitems_race_bonus": bonuses["skill_useitems_race_bonus"] || 0,
"skill_directedspells_race_bonus": bonuses["skill_directedspells_race_bonus"] || 0,
"skill_novicestriking_race_bonus": bonuses["skill_novicestriking_race_bonus"] || 0,
"skill_standardstriking_race_bonus": bonuses["skill_standardstriking_race_bonus"] || 0,
"skill_expertstriking_race_bonus": bonuses["skill_expertstriking_race_bonus"] || 0,
"skill_novicesweeps_race_bonus": bonuses["skill_novicesweeps_race_bonus"] || 0,
"skill_standardsweeps_race_bonus": bonuses["skill_standardsweeps_race_bonus"] || 0,
"skill_expertsweeps_race_bonus": bonuses["skill_expertsweeps_race_bonus"] || 0,
"skill_adrenaldefense_race_bonus": bonuses["skill_adrenaldefense_race_bonus"] || 0,
"skill_perception_race_bonus": bonuses["skill_perception_race_bonus"] || 0,
"skill_bodydev_race_bonus": bonuses["skill_bodydev_race_bonus"] || 0,
"skill_basespell_race_bonus": bonuses["skill_basespell_race_bonus"] || 0
});
});
});
function raceBonuses(race) {
var bonuses = {};
switch(race) {
case "Dwarf":
bonuses["stat_st_race_bonus"] = 5;
bonuses["stat_ag_race_bonus"] = -5;
bonuses["stat_co_race_bonus"] = 15;
bonuses["stat_ig_race_bonus"] = 0;
bonuses["stat_it_race_bonus"] = -5;
bonuses["stat_pr_race_bonus"] = -5;
bonuses["essence_race_bonus"] = 40;
bonuses["channeling_race_bonus"] = 0;
bonuses["poison_race_bonus"] = 10;
bonuses["disease_race_bonus"] = 10;
bonuses["cold_race_bonus"] = 30;
bonuses["heat_race_bonus"] = 30;
bonuses["skill_noarmor_ad_ranks"] = 1;
bonuses["skill_softleather_ad_ranks"] = 0;
bonuses["skill_rigidleather_ad_ranks"] = 1;
bonuses["skill_chain_ad_ranks"] = 3;
bonuses["skill_1hedged_ad_ranks"] = 0;
bonuses["skill_1conc_ad_ranks"] = 4;
bonuses["skill_2handed_ad_ranks"] = 0;
bonuses["skill_thrown_ad_ranks"] = 1;
bonuses["skill_missile_ad_ranks"] = 0;
bonuses["skill_polearm_ad_ranks"] = 0;
bonuses["skill_climb_ad_ranks"] = 1;
bonuses["skill_ride_ad_ranks"] = 0;
bonuses["skill_swim_ad_ranks"] = 0;
bonuses["skill_ambush_ad_ranks"] = 0;
bonuses["skill_stalkhide_ad_ranks"] = 0;
bonuses["skill_picklock_ad_ranks"] = 1;
bonuses["skill_disarmtrap_ad_ranks"] = 1;
bonuses["skill_readrunes_ad_ranks"] = 0;
bonuses["skill_useitems_ad_ranks"] = 0;
bonuses["skill_perception_ad_ranks"] = 2;
bonuses["skill_bodydev_ad_ranks"] = 3;
bonuses["race_spell_ad_ranks"] = 3;
bonuses["race_language_ad_ranks"] = 4;
bonuses["race_bg_options"] = 4;
break;
case "Umli":
bonuses["stat_st_race_bonus"] = 5;
bonuses["stat_ag_race_bonus"] = 0;
bonuses["stat_co_race_bonus"] = 10;
bonuses["stat_ig_race_bonus"] = 0;
bonuses["stat_it_race_bonus"] = -5;
bonuses["stat_pr_race_bonus"] = -5;
bonuses["essence_race_bonus"] = 20;
bonuses["channeling_race_bonus"] = 0;
bonuses["poison_race_bonus"] = 5;
bonuses["disease_race_bonus"] = 5;
bonuses["cold_race_bonus"] = 30;
bonuses["heat_race_bonus"] = -15;
bonuses["skill_noarmor_ad_ranks"] = 1;
bonuses["skill_softleather_ad_ranks"] = 3;
bonuses["skill_rigidleather_ad_ranks"] = 3;
bonuses["skill_chain_ad_ranks"] = 0;
bonuses["skill_1hedged_ad_ranks"] = 0;
bonuses["skill_1conc_ad_ranks"] = 3;
bonuses["skill_2handed_ad_ranks"] = 1;
bonuses["skill_thrown_ad_ranks"] = 1;
bonuses["skill_missile_ad_ranks"] = 0;
bonuses["skill_polearm_ad_ranks"] = 0;
bonuses["skill_climb_ad_ranks"] = 0;
bonuses["skill_ride_ad_ranks"] = 0;
bonuses["skill_swim_ad_ranks"] = 1;
bonuses["skill_ambush_ad_ranks"] = 0;
bonuses["skill_stalkhide_ad_ranks"] = 1;
bonuses["skill_picklock_ad_ranks"] = 0;
bonuses["skill_disarmtrap_ad_ranks"] = 0;
bonuses["skill_readrunes_ad_ranks"] = 0;
bonuses["skill_useitems_ad_ranks"] = 0;
bonuses["skill_perception_ad_ranks"] = 1;
bonuses["skill_bodydev_ad_ranks"] = 2;
bonuses["race_spell_ad_ranks"] = 5;
bonuses["race_language_ad_ranks"] = 3;
bonuses["race_bg_options"] = 4;
break;
case "Noldo Elf":
bonuses["stat_st_race_bonus"] = 0;
bonuses["stat_ag_race_bonus"] = 15;
bonuses["stat_co_race_bonus"] = 10;
bonuses["stat_ig_race_bonus"] = 5;
bonuses["stat_it_race_bonus"] = 5;
bonuses["stat_pr_race_bonus"] = 15;
bonuses["essence_race_bonus"] = 0;
bonuses["channeling_race_bonus"] = 0;
bonuses["poison_race_bonus"] = 10;
bonuses["disease_race_bonus"] = 100;
bonuses["cold_race_bonus"] = 20;
bonuses["heat_race_bonus"] = 0;
bonuses["skill_noarmor_ad_ranks"] = 1;
bonuses["skill_softleather_ad_ranks"] = 0;
bonuses["skill_rigidleather_ad_ranks"] = 0;
bonuses["skill_chain_ad_ranks"] = 0;
bonuses["skill_1hedged_ad_ranks"] = 1;
bonuses["skill_1conc_ad_ranks"] = 0;
bonuses["skill_2handed_ad_ranks"] = 0;
bonuses["skill_thrown_ad_ranks"] = 0;
bonuses["skill_missile_ad_ranks"] = 1;
bonuses["skill_polearm_ad_ranks"] = 0;
bonuses["skill_climb_ad_ranks"] = 0;
bonuses["skill_ride_ad_ranks"] = 1;
bonuses["skill_swim_ad_ranks"] = 2;
bonuses["skill_ambush_ad_ranks"] = 0;
bonuses["skill_stalkhide_ad_ranks"] = 2;
bonuses["skill_picklock_ad_ranks"] = 0;
bonuses["skill_disarmtrap_ad_ranks"] = 0;
bonuses["skill_readrunes_ad_ranks"] = 2;
bonuses["skill_useitems_ad_ranks"] = 1;
bonuses["skill_perception_ad_ranks"] = 3;
bonuses["skill_bodydev_ad_ranks"] = 1;
bonuses["race_spell_ad_ranks"] = 40;
bonuses["race_language_ad_ranks"] = 10;
bonuses["race_bg_options"] = 2;
bonuses["skill_useitems_race_bonus"] = 20;
break;
case "Sindar Elf":
bonuses["stat_st_race_bonus"] = 0;
bonuses["stat_ag_race_bonus"] = 10;
bonuses["stat_co_race_bonus"] = 5;
bonuses["stat_ig_race_bonus"] = 0;
bonuses["stat_it_race_bonus"] = 5;
bonuses["stat_pr_race_bonus"] = 10;
bonuses["essence_race_bonus"] = 0;
bonuses["channeling_race_bonus"] = 0;
bonuses["poison_race_bonus"] = 10;
bonuses["disease_race_bonus"] = 100;
bonuses["cold_race_bonus"] = 15;
bonuses["heat_race_bonus"] = 0;
bonuses["skill_noarmor_ad_ranks"] = 1;
bonuses["skill_softleather_ad_ranks"] = 0;
bonuses["skill_rigidleather_ad_ranks"] = 0;
bonuses["skill_chain_ad_ranks"] = 0;
bonuses["skill_1hedged_ad_ranks"] = 1;
bonuses["skill_1conc_ad_ranks"] = 0;
bonuses["skill_2handed_ad_ranks"] = 0;
bonuses["skill_thrown_ad_ranks"] = 0;
bonuses["skill_missile_ad_ranks"] = 2;
bonuses["skill_polearm_ad_ranks"] = 0;
bonuses["skill_climb_ad_ranks"] = 1;
bonuses["skill_ride_ad_ranks"] = 1;
bonuses["skill_swim_ad_ranks"] = 2;
bonuses["skill_ambush_ad_ranks"] = 0;
bonuses["skill_stalkhide_ad_ranks"] = 3;
bonuses["skill_picklock_ad_ranks"] = 0;
bonuses["skill_disarmtrap_ad_ranks"] = 0;
bonuses["skill_readrunes_ad_ranks"] = 1;
bonuses["skill_useitems_ad_ranks"] = 1;
bonuses["skill_perception_ad_ranks"] = 3;
bonuses["skill_bodydev_ad_ranks"] = 1;
bonuses["race_spell_ad_ranks"] = 30;
bonuses["race_language_ad_ranks"] = 8;
bonuses["race_bg_options"] = 3;
break;
case "Silvan Elf":
bonuses["stat_st_race_bonus"] = 0;
bonuses["stat_ag_race_bonus"] = 10;
bonuses["stat_co_race_bonus"] = 0;
bonuses["stat_ig_race_bonus"] = 0;
bonuses["stat_it_race_bonus"] = 5;
bonuses["stat_pr_race_bonus"] = 5;
bonuses["essence_race_bonus"] = 0;
bonuses["channeling_race_bonus"] = 0;
bonuses["poison_race_bonus"] = 10;
bonuses["disease_race_bonus"] = 100;
bonuses["cold_race_bonus"] = 10;
bonuses["heat_race_bonus"] = 0;
bonuses["skill_noarmor_ad_ranks"] = 1;
bonuses["skill_softleather_ad_ranks"] = 0;
bonuses["skill_rigidleather_ad_ranks"] = 0;
bonuses["skill_chain_ad_ranks"] = 0;
bonuses["skill_1hedged_ad_ranks"] = 1;
bonuses["skill_1conc_ad_ranks"] = 0;
bonuses["skill_2handed_ad_ranks"] = 0;
bonuses["skill_thrown_ad_ranks"] = 0;
bonuses["skill_missile_ad_ranks"] = 3;
bonuses["skill_polearm_ad_ranks"] = 0;
bonuses["skill_climb_ad_ranks"] = 2;
bonuses["skill_ride_ad_ranks"] = 1;
bonuses["skill_swim_ad_ranks"] = 3;
bonuses["skill_ambush_ad_ranks"] = 0;
bonuses["skill_stalkhide_ad_ranks"] = 4;
bonuses["skill_picklock_ad_ranks"] = 0;
bonuses["skill_disarmtrap_ad_ranks"] = 0;
bonuses["skill_readrunes_ad_ranks"] = 1;
bonuses["skill_useitems_ad_ranks"] = 0;
bonuses["skill_perception_ad_ranks"] = 3;
bonuses["skill_bodydev_ad_ranks"] = 1;
bonuses["race_spell_ad_ranks"] = 20;
bonuses["race_language_ad_ranks"] = 6;
bonuses["race_bg_options"] = 4;
bonuses["skill_stalkhide_race_bonus"] = 10;
bonuses["skill_trickery_race_bonus"] = 10;
break;
case "Half-Elf":
bonuses["stat_st_race_bonus"] = 5;
bonuses["stat_ag_race_bonus"] = 5;
bonuses["stat_co_race_bonus"] = 5;
bonuses["stat_ig_race_bonus"] = 0;
bonuses["stat_it_race_bonus"] = 0;
bonuses["stat_pr_race_bonus"] = 5;
bonuses["essence_race_bonus"] = 0;
bonuses["channeling_race_bonus"] = 0;
bonuses["poison_race_bonus"] = 5;
bonuses["disease_race_bonus"] = 50;
bonuses["cold_race_bonus"] = 5;
bonuses["heat_race_bonus"] = 0;
bonuses["skill_noarmor_ad_ranks"] = 1;
bonuses["skill_softleather_ad_ranks"] = 0;
bonuses["skill_rigidleather_ad_ranks"] = 1;
bonuses["skill_chain_ad_ranks"] = 1;
bonuses["skill_1hedged_ad_ranks"] = 1;
bonuses["skill_1conc_ad_ranks"] = 0;
bonuses["skill_2handed_ad_ranks"] = 0;
bonuses["skill_thrown_ad_ranks"] = 0;
bonuses["skill_missile_ad_ranks"] = 2;
bonuses["skill_polearm_ad_ranks"] = 0;
bonuses["skill_climb_ad_ranks"] = 1;
bonuses["skill_ride_ad_ranks"] = 1;
bonuses["skill_swim_ad_ranks"] = 1;
bonuses["skill_ambush_ad_ranks"] = 0;
bonuses["skill_stalkhide_ad_ranks"] = 2;
bonuses["skill_picklock_ad_ranks"] = 0;
bonuses["skill_disarmtrap_ad_ranks"] = 0;
bonuses["skill_readrunes_ad_ranks"] = 1;
bonuses["skill_useitems_ad_ranks"] = 0;
bonuses["skill_perception_ad_ranks"] = 1;
bonuses["skill_bodydev_ad_ranks"] = 1;
bonuses["race_spell_ad_ranks"] = 10;
bonuses["race_language_ad_ranks"] = 4;
bonuses["race_bg_options"] = 3;
break;
case "Hobbit":
bonuses["stat_st_race_bonus"] = -20;
bonuses["stat_ag_race_bonus"] = 15;
bonuses["stat_co_race_bonus"] = 15;
bonuses["stat_ig_race_bonus"] = 0;
bonuses["stat_it_race_bonus"] = -5;
bonuses["stat_pr_race_bonus"] = -5;
bonuses["essence_race_bonus"] = 50;
bonuses["channeling_race_bonus"] = 20;
bonuses["poison_race_bonus"] = 30;
bonuses["disease_race_bonus"] = 15;
bonuses["cold_race_bonus"] = 0;
bonuses["heat_race_bonus"] = 0;
bonuses["skill_noarmor_ad_ranks"] = 1;
bonuses["skill_softleather_ad_ranks"] = 0;
bonuses["skill_rigidleather_ad_ranks"] = 0;
bonuses["skill_chain_ad_ranks"] = 0;
bonuses["skill_1hedged_ad_ranks"] = 0;
bonuses["skill_1conc_ad_ranks"] = 0;
bonuses["skill_2handed_ad_ranks"] = 0;
bonuses["skill_thrown_ad_ranks"] = 2;
bonuses["skill_missile_ad_ranks"] = 2;
bonuses["skill_polearm_ad_ranks"] = 0;
bonuses["skill_climb_ad_ranks"] = 2;
bonuses["skill_ride_ad_ranks"] = 0;
bonuses["skill_swim_ad_ranks"] = 0;
bonuses["skill_ambush_ad_ranks"] = 0;
bonuses["skill_stalkhide_ad_ranks"] = 5;
bonuses["skill_picklock_ad_ranks"] = 1;
bonuses["skill_disarmtrap_ad_ranks"] = 1;
bonuses["skill_readrunes_ad_ranks"] = 0;
bonuses["skill_useitems_ad_ranks"] = 0;
bonuses["skill_perception_ad_ranks"] = 4;
bonuses["skill_bodydev_ad_ranks"] = 2;
bonuses["race_spell_ad_ranks"] = 0;
bonuses["race_language_ad_ranks"] = 3;
bonuses["race_bg_options"] = 5;
break;
case "Beorning":
bonuses["stat_st_race_bonus"] = 5;
bonuses["stat_ag_race_bonus"] = 0;
bonuses["stat_co_race_bonus"] = 0;
bonuses["stat_ig_race_bonus"] = 0;
bonuses["stat_it_race_bonus"] = 0;
bonuses["stat_pr_race_bonus"] = 0;
bonuses["essence_race_bonus"] = 0;
bonuses["channeling_race_bonus"] = 0;
bonuses["poison_race_bonus"] = 0;
bonuses["disease_race_bonus"] = 0;
bonuses["cold_race_bonus"] = 0;
bonuses["heat_race_bonus"] = 0;
bonuses["skill_noarmor_ad_ranks"] = 1;
bonuses["skill_softleather_ad_ranks"] = 0;
bonuses["skill_rigidleather_ad_ranks"] = 0;
bonuses["skill_chain_ad_ranks"] = 0;
bonuses["skill_1hedged_ad_ranks"] = 0;
bonuses["skill_1conc_ad_ranks"] = 0;
bonuses["skill_2handed_ad_ranks"] = 1;
bonuses["skill_thrown_ad_ranks"] = 1;
bonuses["skill_missile_ad_ranks"] = 0;
bonuses["skill_polearm_ad_ranks"] = 2;
bonuses["skill_climb_ad_ranks"] = 2;
bonuses["skill_ride_ad_ranks"] = 0;
bonuses["skill_swim_ad_ranks"] = 2;
bonuses["skill_ambush_ad_ranks"] = 0;
bonuses["skill_stalkhide_ad_ranks"] = 4;
bonuses["skill_picklock_ad_ranks"] = 0;
bonuses["skill_disarmtrap_ad_ranks"] = 0;
bonuses["skill_readrunes_ad_ranks"] = 0;
bonuses["skill_useitems_ad_ranks"] = 0;
bonuses["skill_perception_ad_ranks"] = 1;
bonuses["skill_bodydev_ad_ranks"] = 3;
bonuses["race_spell_ad_ranks"] = 3;
bonuses["race_language_ad_ranks"] = 3;
bonuses["race_bg_options"] = 5;
break;
case "Black Numenorean":
bonuses["stat_st_race_bonus"] = 5;
bonuses["stat_ag_race_bonus"] = 0;
bonuses["stat_co_race_bonus"] = 10;
bonuses["stat_ig_race_bonus"] = 0;
bonuses["stat_it_race_bonus"] = 0;
bonuses["stat_pr_race_bonus"] = 5;
bonuses["defensive_race_bonus"] = -10;
bonuses["essence_race_bonus"] = 0;
bonuses["channeling_race_bonus"] = 0;
bonuses["poison_race_bonus"] = 5;
bonuses["disease_race_bonus"] = 5;
bonuses["cold_race_bonus"] = 0;
bonuses["heat_race_bonus"] = 0;
bonuses["skill_noarmor_ad_ranks"] = 1;
bonuses["skill_softleather_ad_ranks"] = 0;
bonuses["skill_rigidleather_ad_ranks"] = 0;
bonuses["skill_chain_ad_ranks"] = 2;
bonuses["skill_1hedged_ad_ranks"] = 1;
bonuses["skill_1conc_ad_ranks"] = 0;
bonuses["skill_2handed_ad_ranks"] = 0;
bonuses["skill_thrown_ad_ranks"] = 1;
bonuses["skill_missile_ad_ranks"] = 1;
bonuses["skill_polearm_ad_ranks"] = 0;
bonuses["skill_climb_ad_ranks"] = 0;
bonuses["skill_ride_ad_ranks"] = 1;
bonuses["skill_swim_ad_ranks"] = 3;
bonuses["skill_ambush_ad_ranks"] = 0;
bonuses["skill_stalkhide_ad_ranks"] = 0;
bonuses["skill_picklock_ad_ranks"] = 0;
bonuses["skill_disarmtrap_ad_ranks"] = 0;
bonuses["skill_readrunes_ad_ranks"] = 1;
bonuses["skill_useitems_ad_ranks"] = 1;
bonuses["skill_perception_ad_ranks"] = 0;
bonuses["skill_bodydev_ad_ranks"] = 2;
bonuses["race_spell_ad_ranks"] = 10;
bonuses["race_language_ad_ranks"] = 6;
bonuses["race_bg_options"] = 3;
bonuses["skill_1hedged_race_bonus"] = 10;
bonuses["skill_1hconc_race_bonus"] = 10;
bonuses["skill_2handed_race_bonus"] = 10;
bonuses["skill_thrown_race_bonus"] = 0;
bonuses["skill_missile_race_bonus"] = 0;
bonuses["skill_polearm_race_bonus"] = 10;
bonuses["skill_directedspells_race_bonus"] = 0;
bonuses["skill_basespell_race_bonus"] = 0;
bonuses["skill_novicestriking_race_bonus"] = 10;
bonuses["skill_standardstriking_race_bonus"] = 10;
bonuses["skill_expertstriking_race_bonus"] = 10;
bonuses["skill_novicesweeps_race_bonus"] = 10;
bonuses["skill_standardsweeps_race_bonus"] = 10;
bonuses["skill_expertsweeps_race_bonus"] = 10;
bonuses["skill_sailing_race_bonus"] = 25;
break;
case "Corsair":
bonuses["stat_st_race_bonus"] = 5;
bonuses["stat_ag_race_bonus"] = 0;
bonuses["stat_co_race_bonus"] = 10;
bonuses["stat_ig_race_bonus"] = 0;
bonuses["stat_it_race_bonus"] = 0;
bonuses["stat_pr_race_bonus"] = 5;
bonuses["essence_race_bonus"] = 0;
bonuses["channeling_race_bonus"] = 0;
bonuses["poison_race_bonus"] = 5;
bonuses["disease_race_bonus"] = 5;
bonuses["cold_race_bonus"] = 0;
bonuses["heat_race_bonus"] = 0;
bonuses["skill_noarmor_ad_ranks"] = 1;
bonuses["skill_softleather_ad_ranks"] = 0;
bonuses["skill_rigidleather_ad_ranks"] = 2;
bonuses["skill_chain_ad_ranks"] = 0;
bonuses["skill_1hedged_ad_ranks"] = 2;
bonuses["skill_1conc_ad_ranks"] = 0;
bonuses["skill_2handed_ad_ranks"] = 0;
bonuses["skill_thrown_ad_ranks"] = 1;
bonuses["skill_missile_ad_ranks"] = 1;
bonuses["skill_polearm_ad_ranks"] = 0;
bonuses["skill_climb_ad_ranks"] = 0;
bonuses["skill_ride_ad_ranks"] = 0;
bonuses["skill_swim_ad_ranks"] = 5;
bonuses["skill_ambush_ad_ranks"] = 0;
bonuses["skill_stalkhide_ad_ranks"] = 0;
bonuses["skill_picklock_ad_ranks"] = 0;
bonuses["skill_disarmtrap_ad_ranks"] = 0;
bonuses["skill_readrunes_ad_ranks"] = 0;
bonuses["skill_useitems_ad_ranks"] = 0;
bonuses["skill_perception_ad_ranks"] = 0;
bonuses["skill_bodydev_ad_ranks"] = 2;
bonuses["race_spell_ad_ranks"] = 5;
bonuses["race_language_ad_ranks"] = 5;
bonuses["race_bg_options"] = 5;
bonuses["skill_stargazing_race_bonus"] = 25;
bonuses["skill_weatherwatching_race_bonus"] = 25;
break;
case "Dorwinrim":
bonuses["stat_st_race_bonus"] = 5;
bonuses["stat_ag_race_bonus"] = 0;
bonuses["stat_co_race_bonus"] = 0;
bonuses["stat_ig_race_bonus"] = 0;
bonuses["stat_it_race_bonus"] = 0;
bonuses["stat_pr_race_bonus"] = 0;
bonuses["essence_race_bonus"] = 0;
bonuses["channeling_race_bonus"] = 0;
bonuses["poison_race_bonus"] = 30;
bonuses["disease_race_bonus"] = 0;
bonuses["cold_race_bonus"] = 0;
bonuses["heat_race_bonus"] = 0;
bonuses["skill_noarmor_ad_ranks"] = 1;
bonuses["skill_softleather_ad_ranks"] = 0;
bonuses["skill_rigidleather_ad_ranks"] = 1;
bonuses["skill_chain_ad_ranks"] = 0;
bonuses["skill_1hedged_ad_ranks"] = 0;
bonuses["skill_1conc_ad_ranks"] = 1;
bonuses["skill_2handed_ad_ranks"] = 0;
bonuses["skill_thrown_ad_ranks"] = 1;
bonuses["skill_missile_ad_ranks"] = 1;
bonuses["skill_polearm_ad_ranks"] = 1;
bonuses["skill_climb_ad_ranks"] = 0;
bonuses["skill_ride_ad_ranks"] = 2;
bonuses["skill_swim_ad_ranks"] = 1;
bonuses["skill_ambush_ad_ranks"] = 0;
bonuses["skill_stalkhide_ad_ranks"] = 0;
bonuses["skill_picklock_ad_ranks"] = 0;
bonuses["skill_disarmtrap_ad_ranks"] = 0;
bonuses["skill_readrunes_ad_ranks"] = 0;
bonuses["skill_useitems_ad_ranks"] = 0;
bonuses["skill_perception_ad_ranks"] = 0;
bonuses["skill_bodydev_ad_ranks"] = 1;
bonuses["race_spell_ad_ranks"] = 10;
bonuses["race_language_ad_ranks"] = 5;
bonuses["race_bg_options"] = 5;
bonuses["skill_rowing_race_bonus"] = 10;
bonuses["skill_publicspeaking_race_bonus"] = 15;
bonuses["skill_acting_race_bonus"] = 15;
break;
case "Dunedain":
bonuses["stat_st_race_bonus"] = 5;
bonuses["stat_ag_race_bonus"] = 0;
bonuses["stat_co_race_bonus"] = 10;
bonuses["stat_ig_race_bonus"] = 0;
bonuses["stat_it_race_bonus"] = 0;
bonuses["stat_pr_race_bonus"] = 5;
bonuses["essence_race_bonus"] = 0;
bonuses["channeling_race_bonus"] = 0;
bonuses["poison_race_bonus"] = 5;
bonuses["disease_race_bonus"] = 5;
bonuses["cold_race_bonus"] = 0;
bonuses["heat_race_bonus"] = 0;
bonuses["skill_noarmor_ad_ranks"] = 1;
bonuses["skill_softleather_ad_ranks"] = 0;
bonuses["skill_rigidleather_ad_ranks"] = 1;
bonuses["skill_chain_ad_ranks"] = 2;
bonuses["skill_1hedged_ad_ranks"] = 2;
bonuses["skill_1conc_ad_ranks"] = 0;
bonuses["skill_2handed_ad_ranks"] = 1;
bonuses["skill_thrown_ad_ranks"] = 0;
bonuses["skill_missile_ad_ranks"] = 1;
bonuses["skill_polearm_ad_ranks"] = 1;
bonuses["skill_climb_ad_ranks"] = 0;
bonuses["skill_ride_ad_ranks"] = 1;
bonuses["skill_swim_ad_ranks"] = 1;
bonuses["skill_ambush_ad_ranks"] = 0;
bonuses["skill_stalkhide_ad_ranks"] = 0;
bonuses["skill_picklock_ad_ranks"] = 0;
bonuses["skill_disarmtrap_ad_ranks"] = 0;
bonuses["skill_readrunes_ad_ranks"] = 1;
bonuses["skill_useitems_ad_ranks"] = 1;
bonuses["skill_perception_ad_ranks"] = 0;
bonuses["skill_bodydev_ad_ranks"] = 3;
bonuses["race_spell_ad_ranks"] = 10;
bonuses["race_language_ad_ranks"] = 6;
bonuses["race_bg_options"] = 3;
break;
case "Dunlending":
bonuses["stat_st_race_bonus"] = 5;
bonuses["stat_ag_race_bonus"] = 0;
bonuses["stat_co_race_bonus"] = 0;
bonuses["stat_ig_race_bonus"] = 0;
bonuses["stat_it_race_bonus"] = 0;
bonuses["stat_pr_race_bonus"] = 0;
bonuses["essence_race_bonus"] = 0;
bonuses["channeling_race_bonus"] = 0;
bonuses["poison_race_bonus"] = 0;
bonuses["disease_race_bonus"] = 0;
bonuses["cold_race_bonus"] = 0;
bonuses["heat_race_bonus"] = 0;
bonuses["skill_noarmor_ad_ranks"] = 1;
bonuses["skill_softleather_ad_ranks"] = 0;
bonuses["skill_rigidleather_ad_ranks"] = 1;
bonuses["skill_chain_ad_ranks"] = 0;
bonuses["skill_1hedged_ad_ranks"] = 0;
bonuses["skill_1conc_ad_ranks"] = 1;
bonuses["skill_2handed_ad_ranks"] = 0;
bonuses["skill_thrown_ad_ranks"] = 2;
bonuses["skill_missile_ad_ranks"] = 1;
bonuses["skill_polearm_ad_ranks"] = 2;
bonuses["skill_climb_ad_ranks"] = 5;
bonuses["skill_ride_ad_ranks"] = 0;
bonuses["skill_swim_ad_ranks"] = 1;
bonuses["skill_ambush_ad_ranks"] = 0;
bonuses["skill_stalkhide_ad_ranks"] = 2;
bonuses["skill_picklock_ad_ranks"] = 0;
bonuses["skill_disarmtrap_ad_ranks"] = 0;
bonuses["skill_readrunes_ad_ranks"] = 0;
bonuses["skill_useitems_ad_ranks"] = 0;
bonuses["skill_perception_ad_ranks"] = 1;
bonuses["skill_bodydev_ad_ranks"] = 3;
bonuses["race_spell_ad_ranks"] = 2;
bonuses["race_language_ad_ranks"] = 2;
bonuses["race_bg_options"] = 4;
bonuses["skill_acting_race_bonus"] = 20;
bonuses["skill_publicspeaking_race_bonus"] = 20;
bonuses["skill_climb_race_bonus"] = 20;
bonuses["skill_acrobatics_race_bonus"] = 20;
break;
case "Easterling":
bonuses["stat_st_race_bonus"] = 5;
bonuses["stat_ag_race_bonus"] = 0;
bonuses["stat_co_race_bonus"] = 0;
bonuses["stat_ig_race_bonus"] = 0;
bonuses["stat_it_race_bonus"] = 0;
bonuses["stat_pr_race_bonus"] = 0;
bonuses["essence_race_bonus"] = 0;
bonuses["channeling_race_bonus"] = 0;
bonuses["poison_race_bonus"] = 0;
bonuses["disease_race_bonus"] = 0;
bonuses["cold_race_bonus"] = 0;
bonuses["heat_race_bonus"] = 0;
bonuses["skill_noarmor_ad_ranks"] = 1;
bonuses["skill_softleather_ad_ranks"] = 0;
bonuses["skill_rigidleather_ad_ranks"] = 0;
bonuses["skill_chain_ad_ranks"] = 0;
bonuses["skill_1hedged_ad_ranks"] = 1;
bonuses["skill_1conc_ad_ranks"] = 0;
bonuses["skill_2handed_ad_ranks"] = 0;
bonuses["skill_thrown_ad_ranks"] = 1;
bonuses["skill_missile_ad_ranks"] = 2;
bonuses["skill_polearm_ad_ranks"] = 2;
bonuses["skill_climb_ad_ranks"] = 0;
bonuses["skill_ride_ad_ranks"] = 5;
bonuses["skill_swim_ad_ranks"] = 0;
bonuses["skill_ambush_ad_ranks"] = 0;
bonuses["skill_stalkhide_ad_ranks"] = 0;
bonuses["skill_picklock_ad_ranks"] = 0;
bonuses["skill_disarmtrap_ad_ranks"] = 0;
bonuses["skill_readrunes_ad_ranks"] = 0;
bonuses["skill_useitems_ad_ranks"] = 0;
bonuses["skill_perception_ad_ranks"] = 1;
bonuses["skill_bodydev_ad_ranks"] = 2;
bonuses["race_spell_ad_ranks"] = 2;
bonuses["race_language_ad_ranks"] = 2;
bonuses["race_bg_options"] = 4;
break;
case "Eriadoran":
bonuses["stat_st_race_bonus"] = 5;
bonuses["stat_ag_race_bonus"] = 0;
bonuses["stat_co_race_bonus"] = 0;
bonuses["stat_ig_race_bonus"] = 0;
bonuses["stat_it_race_bonus"] = 0;
bonuses["stat_pr_race_bonus"] = 0;
bonuses["essence_race_bonus"] = 0;
bonuses["channeling_race_bonus"] = 0;
bonuses["poison_race_bonus"] = 0;
bonuses["disease_race_bonus"] = 0;
bonuses["cold_race_bonus"] = 0;
bonuses["heat_race_bonus"] = 0;
bonuses["skill_noarmor_ad_ranks"] = 1;
bonuses["skill_softleather_ad_ranks"] = 1;
bonuses["skill_rigidleather_ad_ranks"] = 1;
bonuses["skill_chain_ad_ranks"] = 1;
bonuses["skill_1hedged_ad_ranks"] = 1;
bonuses["skill_1conc_ad_ranks"] = 0;
bonuses["skill_2handed_ad_ranks"] = 0;
bonuses["skill_thrown_ad_ranks"] = 1;
bonuses["skill_missile_ad_ranks"] = 1;
bonuses["skill_polearm_ad_ranks"] = 1;
bonuses["skill_climb_ad_ranks"] = 0;
bonuses["skill_ride_ad_ranks"] = 1;
bonuses["skill_swim_ad_ranks"] = 1;
bonuses["skill_ambush_ad_ranks"] = 0;
bonuses["skill_stalkhide_ad_ranks"] = 1;
bonuses["skill_picklock_ad_ranks"] = 0;
bonuses["skill_disarmtrap_ad_ranks"] = 0;
bonuses["skill_readrunes_ad_ranks"] = 0;
bonuses["skill_useitems_ad_ranks"] = 0;
bonuses["skill_perception_ad_ranks"] = 1;
bonuses["skill_bodydev_ad_ranks"] = 2;
bonuses["race_spell_ad_ranks"] = 3;
bonuses["race_language_ad_ranks"] = 4;
bonuses["race_bg_options"] = 5;
break;
case "Gondorian":
bonuses["stat_st_race_bonus"] = 5;
bonuses["stat_ag_race_bonus"] = 0;
bonuses["stat_co_race_bonus"] = 0;
bonuses["stat_ig_race_bonus"] = 0;
bonuses["stat_it_race_bonus"] = 0;
bonuses["stat_pr_race_bonus"] = 0;
bonuses["essence_race_bonus"] = 0;
bonuses["channeling_race_bonus"] = 0;
bonuses["poison_race_bonus"] = 0;
bonuses["disease_race_bonus"] = 0;
bonuses["cold_race_bonus"] = 0;
bonuses["heat_race_bonus"] = 0;
bonuses["skill_noarmor_ad_ranks"] = 1;
bonuses["skill_softleather_ad_ranks"] = 0;
bonuses["skill_rigidleather_ad_ranks"] = 0;
bonuses["skill_chain_ad_ranks"] = 0;
bonuses["skill_1hedged_ad_ranks"] = 1;
bonuses["skill_1conc_ad_ranks"] = 0;
bonuses["skill_2handed_ad_ranks"] = 0;
bonuses["skill_thrown_ad_ranks"] = 0;
bonuses["skill_missile_ad_ranks"] = 1;
bonuses["skill_polearm_ad_ranks"] = 0;
bonuses["skill_climb_ad_ranks"] = 0;
bonuses["skill_ride_ad_ranks"] = 0;
bonuses["skill_swim_ad_ranks"] = 1;
bonuses["skill_ambush_ad_ranks"] = 0;
bonuses["skill_stalkhide_ad_ranks"] = 0;
bonuses["skill_picklock_ad_ranks"] = 0;
bonuses["skill_disarmtrap_ad_ranks"] = 0;
bonuses["skill_readrunes_ad_ranks"] = 1;
bonuses["skill_useitems_ad_ranks"] = 1;
bonuses["skill_perception_ad_ranks"] = 1;
bonuses["skill_bodydev_ad_ranks"] = 1;
bonuses["race_spell_ad_ranks"] = 15;
bonuses["race_language_ad_ranks"] = 5;
bonuses["race_bg_options"] = 5;
break;
case "Haradrim":
bonuses["stat_st_race_bonus"] = 5;
bonuses["stat_ag_race_bonus"] = 0;
bonuses["stat_co_race_bonus"] = 0;
bonuses["stat_ig_race_bonus"] = 0;
bonuses["stat_it_race_bonus"] = 0;
bonuses["stat_pr_race_bonus"] = 0;
bonuses["essence_race_bonus"] = 0;
bonuses["channeling_race_bonus"] = 0;
bonuses["poison_race_bonus"] = 0;
bonuses["disease_race_bonus"] = 0;
bonuses["cold_race_bonus"] = -10;
bonuses["heat_race_bonus"] = 10;
bonuses["skill_noarmor_ad_ranks"] = 1;
bonuses["skill_softleather_ad_ranks"] = 1;
bonuses["skill_rigidleather_ad_ranks"] = 0;
bonuses["skill_chain_ad_ranks"] = 0;
bonuses["skill_1hedged_ad_ranks"] = 1;
bonuses["skill_1conc_ad_ranks"] = 0;
bonuses["skill_2handed_ad_ranks"] = 0;
bonuses["skill_thrown_ad_ranks"] = 1;
bonuses["skill_missile_ad_ranks"] = 0;
bonuses["skill_polearm_ad_ranks"] = 2;
bonuses["skill_climb_ad_ranks"] = 0;
bonuses["skill_ride_ad_ranks"] = 7;
bonuses["skill_swim_ad_ranks"] = 0;
bonuses["skill_ambush_ad_ranks"] = 0;
bonuses["skill_stalkhide_ad_ranks"] = 0;
bonuses["skill_picklock_ad_ranks"] = 0;
bonuses["skill_disarmtrap_ad_ranks"] = 0;
bonuses["skill_readrunes_ad_ranks"] = 0;
bonuses["skill_useitems_ad_ranks"] = 0;
bonuses["skill_perception_ad_ranks"] = 1;
bonuses["skill_bodydev_ad_ranks"] = 2;
bonuses["race_spell_ad_ranks"] = 2;
bonuses["race_language_ad_ranks"] = 3;
bonuses["race_bg_options"] = 5;
break;
case "Lossoth":
bonuses["stat_st_race_bonus"] = 5;
bonuses["stat_ag_race_bonus"] = 0;
bonuses["stat_co_race_bonus"] = 0;
bonuses["stat_ig_race_bonus"] = 0;
bonuses["stat_it_race_bonus"] = 0;
bonuses["stat_pr_race_bonus"] = 0;
bonuses["essence_race_bonus"] = 0;
bonuses["channeling_race_bonus"] = 0;
bonuses["poison_race_bonus"] = 0;
bonuses["disease_race_bonus"] = 0;
bonuses["cold_race_bonus"] = 20;
bonuses["heat_race_bonus"] = -20;
bonuses["skill_noarmor_ad_ranks"] = 1;
bonuses["skill_softleather_ad_ranks"] = 3;
bonuses["skill_rigidleather_ad_ranks"] = 0;
bonuses["skill_chain_ad_ranks"] = 0;
bonuses["skill_1hedged_ad_ranks"] = 0;
bonuses["skill_1conc_ad_ranks"] = 0;
bonuses["skill_2handed_ad_ranks"] = 0;
bonuses["skill_thrown_ad_ranks"] = 3;
bonuses["skill_missile_ad_ranks"] = 0;
bonuses["skill_polearm_ad_ranks"] = 2;
bonuses["skill_climb_ad_ranks"] = 0;
bonuses["skill_ride_ad_ranks"] = 0;
bonuses["skill_swim_ad_ranks"] = 2;
bonuses["skill_ambush_ad_ranks"] = 0;
bonuses["skill_stalkhide_ad_ranks"] = 4;
bonuses["skill_picklock_ad_ranks"] = 0;
bonuses["skill_disarmtrap_ad_ranks"] = 0;
bonuses["skill_readrunes_ad_ranks"] = 0;
bonuses["skill_useitems_ad_ranks"] = 0;
bonuses["skill_perception_ad_ranks"] = 1;
bonuses["skill_bodydev_ad_ranks"] = 3;
bonuses["race_spell_ad_ranks"] = 5;
bonuses["race_language_ad_ranks"] = 1;
bonuses["race_bg_options"] = 4;
bonuses["skill_perception_race_bonus"] = 10;
break;
case "Rohirrim":
bonuses["stat_st_race_bonus"] = 5;
bonuses["stat_ag_race_bonus"] = 0;
bonuses["stat_co_race_bonus"] = 0;
bonuses["stat_ig_race_bonus"] = 0;
bonuses["stat_it_race_bonus"] = 0;
bonuses["stat_pr_race_bonus"] = 0;
bonuses["essence_race_bonus"] = 0;
bonuses["channeling_race_bonus"] = 0;
bonuses["poison_race_bonus"] = 0;
bonuses["disease_race_bonus"] = 0;
bonuses["cold_race_bonus"] = 0;
bonuses["heat_race_bonus"] = 0;
bonuses["skill_noarmor_ad_ranks"] = 1;
bonuses["skill_softleather_ad_ranks"] = 0;
bonuses["skill_rigidleather_ad_ranks"] = 1;
bonuses["skill_chain_ad_ranks"] = 2;
bonuses["skill_1hedged_ad_ranks"] = 2;
bonuses["skill_1conc_ad_ranks"] = 0;
bonuses["skill_2handed_ad_ranks"] = 0;
bonuses["skill_thrown_ad_ranks"] = 0;
bonuses["skill_missile_ad_ranks"] = 1;
bonuses["skill_polearm_ad_ranks"] = 1;
bonuses["skill_climb_ad_ranks"] = 0;
bonuses["skill_ride_ad_ranks"] = 8;
bonuses["skill_swim_ad_ranks"] = 1;
bonuses["skill_ambush_ad_ranks"] = 0;
bonuses["skill_stalkhide_ad_ranks"] = 0;
bonuses["skill_picklock_ad_ranks"] = 0;
bonuses["skill_disarmtrap_ad_ranks"] = 0;
bonuses["skill_readrunes_ad_ranks"] = 0;
bonuses["skill_useitems_ad_ranks"] = 0;
bonuses["skill_perception_ad_ranks"] = 1;
bonuses["skill_bodydev_ad_ranks"] = 2;
bonuses["race_spell_ad_ranks"] = 3;
bonuses["race_language_ad_ranks"] = 4;
bonuses["race_bg_options"] = 5;
break;
case "Variag":
bonuses["stat_st_race_bonus"] = 5;
bonuses["stat_ag_race_bonus"] = 0;
bonuses["stat_co_race_bonus"] = 0;
bonuses["stat_ig_race_bonus"] = 0;
bonuses["stat_it_race_bonus"] = 0;
bonuses["stat_pr_race_bonus"] = 0;
bonuses["essence_race_bonus"] = 0;
bonuses["channeling_race_bonus"] = 0;
bonuses["poison_race_bonus"] = 0;
bonuses["disease_race_bonus"] = 0;
bonuses["cold_race_bonus"] = 0;
bonuses["heat_race_bonus"] = 0;
bonuses["skill_noarmor_ad_ranks"] = 1;
bonuses["skill_softleather_ad_ranks"] = 1;
bonuses["skill_rigidleather_ad_ranks"] = 0;
bonuses["skill_chain_ad_ranks"] = 0;
bonuses["skill_1hedged_ad_ranks"] = 2;
bonuses["skill_1conc_ad_ranks"] = 0;
bonuses["skill_2handed_ad_ranks"] = 0;
bonuses["skill_thrown_ad_ranks"] = 1;
bonuses["skill_missile_ad_ranks"] = 1;
bonuses["skill_polearm_ad_ranks"] = 1;
bonuses["skill_climb_ad_ranks"] = 0;
bonuses["skill_ride_ad_ranks"] = 4;
bonuses["skill_swim_ad_ranks"] = 0;
bonuses["skill_ambush_ad_ranks"] = 0;
bonuses["skill_stalkhide_ad_ranks"] = 1;
bonuses["skill_picklock_ad_ranks"] = 0;
bonuses["skill_disarmtrap_ad_ranks"] = 0;
bonuses["skill_readrunes_ad_ranks"] = 0;
bonuses["skill_useitems_ad_ranks"] = 0;
bonuses["skill_perception_ad_ranks"] = 1;
bonuses["skill_bodydev_ad_ranks"] = 2;
bonuses["race_spell_ad_ranks"] = 5;
bonuses["race_language_ad_ranks"] = 3;
bonuses["race_bg_options"] = 4;
break;
case "Woodman":
bonuses["stat_st_race_bonus"] = 5;
bonuses["stat_ag_race_bonus"] = 0;
bonuses["stat_co_race_bonus"] = 0;
bonuses["stat_ig_race_bonus"] = 0;
bonuses["stat_it_race_bonus"] = 0;
bonuses["stat_pr_race_bonus"] = 0;
bonuses["essence_race_bonus"] = 0;
bonuses["channeling_race_bonus"] = 0;
bonuses["poison_race_bonus"] = 0;
bonuses["disease_race_bonus"] = 0;
bonuses["cold_race_bonus"] = 0;
bonuses["heat_race_bonus"] = 0;
bonuses["skill_noarmor_ad_ranks"] = 1;
bonuses["skill_softleather_ad_ranks"] = 1;
bonuses["skill_rigidleather_ad_ranks"] = 0;
bonuses["skill_chain_ad_ranks"] = 0;
bonuses["skill_1hedged_ad_ranks"] = 1;
bonuses["skill_1conc_ad_ranks"] = 0;
bonuses["skill_2handed_ad_ranks"] = 0;
bonuses["skill_thrown_ad_ranks"] = 1;
bonuses["skill_missile_ad_ranks"] = 1;
bonuses["skill_polearm_ad_ranks"] = 1;
bonuses["skill_climb_ad_ranks"] = 3;
bonuses["skill_ride_ad_ranks"] = 0;
bonuses["skill_swim_ad_ranks"] = 1;
bonuses["skill_ambush_ad_ranks"] = 0;
bonuses["skill_stalkhide_ad_ranks"] = 4;
bonuses["skill_picklock_ad_ranks"] = 0;
bonuses["skill_disarmtrap_ad_ranks"] = 0;
bonuses["skill_readrunes_ad_ranks"] = 0;
bonuses["skill_useitems_ad_ranks"] = 0;
bonuses["skill_perception_ad_ranks"] = 1;
bonuses["skill_bodydev_ad_ranks"] = 2;
bonuses["race_spell_ad_ranks"] = 3;
bonuses["race_language_ad_ranks"] = 2;
bonuses["race_bg_options"] = 5;
bonuses["skill_climb_race_bonus"] = 20;
bonuses["skill_acrobatics_race_bonus"] = 20;
bonuses["skill_foraging_race_bonus"] = 10;
break;
case "Wose":
bonuses["stat_st_race_bonus"] = 0;
bonuses["stat_ag_race_bonus"] = 0;
bonuses["stat_co_race_bonus"] = 5;
bonuses["stat_ig_race_bonus"] = 0;
bonuses["stat_it_race_bonus"] = 0;
bonuses["stat_pr_race_bonus"] = -5;
bonuses["essence_race_bonus"] = 20;
bonuses["channeling_race_bonus"] = 0;
bonuses["poison_race_bonus"] = 0;
bonuses["disease_race_bonus"] = 0;
bonuses["cold_race_bonus"] = 0;
bonuses["heat_race_bonus"] = 0;
bonuses["skill_noarmor_ad_ranks"] = 1;
bonuses["skill_softleather_ad_ranks"] = 3;
bonuses["skill_rigidleather_ad_ranks"] = 0;
bonuses["skill_chain_ad_ranks"] = 0;
bonuses["skill_1hedged_ad_ranks"] = 2;
bonuses["skill_1conc_ad_ranks"] = 0;
bonuses["skill_2handed_ad_ranks"] = 0;
bonuses["skill_thrown_ad_ranks"] = 4;
bonuses["skill_missile_ad_ranks"] = 0;
bonuses["skill_polearm_ad_ranks"] = 1;
bonuses["skill_climb_ad_ranks"] = 3;
bonuses["skill_ride_ad_ranks"] = 0;
bonuses["skill_swim_ad_ranks"] = 2;
bonuses["skill_ambush_ad_ranks"] = 2;
bonuses["skill_stalkhide_ad_ranks"] = 4;
bonuses["skill_picklock_ad_ranks"] = 0;
bonuses["skill_disarmtrap_ad_ranks"] = 0;
bonuses["skill_readrunes_ad_ranks"] = 0;
bonuses["skill_useitems_ad_ranks"] = 0;
bonuses["skill_perception_ad_ranks"] = 1;
bonuses["skill_bodydev_ad_ranks"] = 3;
bonuses["race_spell_ad_ranks"] = 5;
bonuses["race_language_ad_ranks"] = 2;
bonuses["race_bg_options"] = 5;
bonuses["skill_track_race_bonus"] = 25;
bonuses["skill_foraging_race_bonus"] = 15;
break;
case "Orc":
bonuses["stat_st_race_bonus"] = 5;
bonuses["stat_ag_race_bonus"] = -5;
bonuses["stat_co_race_bonus"] = 15;
bonuses["stat_ig_race_bonus"] = -10;
bonuses["stat_it_race_bonus"] = -10;
bonuses["stat_pr_race_bonus"] = -10;
bonuses["essence_race_bonus"] = 0;
bonuses["channeling_race_bonus"] = 0;
bonuses["poison_race_bonus"] = 20;
bonuses["disease_race_bonus"] = 5;
bonuses["cold_race_bonus"] = 0;
bonuses["heat_race_bonus"] = 30;
bonuses["skill_noarmor_ad_ranks"] = 1;
bonuses["skill_softleather_ad_ranks"] = 1;
bonuses["skill_rigidleather_ad_ranks"] = 3;
bonuses["skill_chain_ad_ranks"] = 2;
bonuses["skill_1hedged_ad_ranks"] = 0;
bonuses["skill_1conc_ad_ranks"] = 3;
bonuses["skill_2handed_ad_ranks"] = 0;
bonuses["skill_thrown_ad_ranks"] = 1;
bonuses["skill_missile_ad_ranks"] = 0;
bonuses["skill_polearm_ad_ranks"] = 1;
bonuses["skill_climb_ad_ranks"] = 1;
bonuses["skill_ride_ad_ranks"] = 0;
bonuses["skill_swim_ad_ranks"] = 0;
bonuses["skill_ambush_ad_ranks"] = 1;
bonuses["skill_stalkhide_ad_ranks"] = 0;
bonuses["skill_picklock_ad_ranks"] = 0;
bonuses["skill_disarmtrap_ad_ranks"] = 0;
bonuses["skill_readrunes_ad_ranks"] = 0;
bonuses["skill_useitems_ad_ranks"] = 0;
bonuses["skill_perception_ad_ranks"] = 0;
bonuses["skill_bodydev_ad_ranks"] = 2;
bonuses["race_spell_ad_ranks"] = 0;
bonuses["race_language_ad_ranks"] = 2;
bonuses["race_bg_options"] = 2;
break;
case "Uruk-Hai":
bonuses["stat_st_race_bonus"] = 10;
bonuses["stat_ag_race_bonus"] = 0;
bonuses["stat_co_race_bonus"] = 20;
bonuses["stat_ig_race_bonus"] = 0;
bonuses["stat_it_race_bonus"] = -5;
bonuses["stat_pr_race_bonus"] = -10;
bonuses["essence_race_bonus"] = 0;
bonuses["channeling_race_bonus"] = 0;
bonuses["pointsson_race_bonus"] = 20;
bonuses["disease_race_bonus"] = 5;
bonuses["cold_race_bonus"] = 0;
bonuses["heat_race_bonus"] = 30;
bonuses["skill_noarmor_ad_ranks"] = 1;
bonuses["skill_softleather_ad_ranks"] = 1;
bonuses["skill_rigidleather_ad_ranks"] = 3;
bonuses["skill_chain_ad_ranks"] = 3;
bonuses["skill_1hedged_ad_ranks"] = 4;
bonuses["skill_1conc_ad_ranks"] = 1;
bonuses["skill_2handed_ad_ranks"] = 1;
bonuses["skill_thrown_ad_ranks"] = 1;
bonuses["skill_missile_ad_ranks"] = 1;
bonuses["skill_polearm_ad_ranks"] = 1;
bonuses["skill_climb_ad_ranks"] = 1;
bonuses["skill_ride_ad_ranks"] = 1;
bonuses["skill_swim_ad_ranks"] = 0;
bonuses["skill_ambush_ad_ranks"] = 1;
bonuses["skill_stalkhide_ad_ranks"] = 0;
bonuses["skill_picklock_ad_ranks"] = 0;
bonuses["skill_disarmtrap_ad_ranks"] = 0;
bonuses["skill_readrunes_ad_ranks"] = 0;
bonuses["skill_useitems_ad_ranks"] = 0;
bonuses["skill_perception_ad_ranks"] = 1;
bonuses["skill_bodydev_ad_ranks"] = 3;
bonuses["race_spell_ad_ranks"] = 0;
bonuses["race_language_ad_ranks"] = 2;
bonuses["race_bg_options"] = 2;
break;
case "Half-Orc":
bonuses["stat_st_race_bonus"] = 5;
bonuses["stat_ag_race_bonus"] = 0;
bonuses["stat_co_race_bonus"] = 5;
bonuses["stat_ig_race_bonus"] = 0;
bonuses["stat_it_race_bonus"] = 0;
bonuses["stat_pr_race_bonus"] = -5;
bonuses["essence_race_bonus"] = 0;
bonuses["channeling_race_bonus"] = 0;
bonuses["poison_race_bonus"] = 10;
bonuses["disease_race_bonus"] = 0;
bonuses["cold_race_bonus"] = 0;
bonuses["heat_race_bonus"] = 15;
bonuses["skill_noarmor_ad_ranks"] = 1;
bonuses["skill_softleather_ad_ranks"] = 1;
bonuses["skill_rigidleather_ad_ranks"] = 3;
bonuses["skill_chain_ad_ranks"] = 1;
bonuses["skill_1hedged_ad_ranks"] = 0;
bonuses["skill_1conc_ad_ranks"] = 3;
bonuses["skill_2handed_ad_ranks"] = 0;
bonuses["skill_thrown_ad_ranks"] = 1;
bonuses["skill_missile_ad_ranks"] = 1;
bonuses["skill_polearm_ad_ranks"] = 0;
bonuses["skill_climb_ad_ranks"] = 1;
bonuses["skill_ride_ad_ranks"] = 0;
bonuses["skill_swim_ad_ranks"] = 0;
bonuses["skill_ambush_ad_ranks"] = 1;
bonuses["skill_stalkhide_ad_ranks"] = 0;
bonuses["skill_picklock_ad_ranks"] = 0;
bonuses["skill_disarmtrap_ad_ranks"] = 0;
bonuses["skill_readrunes_ad_ranks"] = 0;
bonuses["skill_useitems_ad_ranks"] = 0;
bonuses["skill_perception_ad_ranks"] = 0;
bonuses["skill_bodydev_ad_ranks"] = 2;
bonuses["race_spell_ad_ranks"] = 0;
bonuses["race_language_ad_ranks"] = 2;
bonuses["race_bg_options"] = 3;
break;
case "Troll":
bonuses["stat_st_race_bonus"] = 15;
bonuses["stat_ag_race_bonus"] = -10;
bonuses["stat_co_race_bonus"] = 15;
bonuses["stat_ig_race_bonus"] = -15;
bonuses["stat_it_race_bonus"] = -15;
bonuses["stat_pr_race_bonus"] = -10;
bonuses["essence_race_bonus"] = 0;
bonuses["channeling_race_bonus"] = 0;
bonuses["poison_race_bonus"] = 30;
bonuses["disease_race_bonus"] = 10;
bonuses["cold_race_bonus"] = 0;
bonuses["heat_race_bonus"] = 0;
bonuses["skill_noarmor_ad_ranks"] = 1;
bonuses["skill_softleather_ad_ranks"] = 0;
bonuses["skill_rigidleather_ad_ranks"] = 0;
bonuses["skill_chain_ad_ranks"] = 0;
bonuses["skill_1hedged_ad_ranks"] = 0;
bonuses["skill_1conc_ad_ranks"] = 0;
bonuses["skill_2handed_ad_ranks"] = 3;
bonuses["skill_thrown_ad_ranks"] = 1;
bonuses["skill_missile_ad_ranks"] = 0;
bonuses["skill_polearm_ad_ranks"] = 0;
bonuses["skill_climb_ad_ranks"] = 1;
bonuses["skill_ride_ad_ranks"] = 0;
bonuses["skill_swim_ad_ranks"] = 0;
bonuses["skill_ambush_ad_ranks"] = 0;
bonuses["skill_stalkhide_ad_ranks"] = 0;
bonuses["skill_picklock_ad_ranks"] = 0;
bonuses["skill_disarmtrap_ad_ranks"] = 0;
bonuses["skill_readrunes_ad_ranks"] = 0;
bonuses["skill_useitems_ad_ranks"] = 0;
bonuses["skill_perception_ad_ranks"] = 0;
bonuses["skill_bodydev_ad_ranks"] = 5;
bonuses["race_spell_ad_ranks"] = 0;
bonuses["race_language_ad_ranks"] = 2;
bonuses["race_bg_options"] = 1;
break;
case "Olog-Hai":
bonuses["stat_st_race_bonus"] = 20;
bonuses["stat_ag_race_bonus"] = -5;
bonuses["stat_co_race_bonus"] = 15;
bonuses["stat_ig_race_bonus"] = -5;
bonuses["stat_it_race_bonus"] = -10;
bonuses["stat_pr_race_bonus"] = -10;
bonuses["essence_race_bonus"] = 0;
bonuses["channeling_race_bonus"] = 0;
bonuses["poison_race_bonus"] = 20;
bonuses["disease_race_bonus"] = 10;
bonuses["cold_race_bonus"] = 0;
bonuses["heat_race_bonus"] = 0;
bonuses["skill_noarmor_ad_ranks"] = 1;
bonuses["skill_softleather_ad_ranks"] = 0;
bonuses["skill_rigidleather_ad_ranks"] = 0;
bonuses["skill_chain_ad_ranks"] = 0;
bonuses["skill_1hedged_ad_ranks"] = 0;
bonuses["skill_1conc_ad_ranks"] = 0;
bonuses["skill_2handed_ad_ranks"] = 5;
bonuses["skill_thrown_ad_ranks"] = 2;
bonuses["skill_missile_ad_ranks"] = 0;
bonuses["skill_polearm_ad_ranks"] = 0;
bonuses["skill_climb_ad_ranks"] = 1;
bonuses["skill_ride_ad_ranks"] = 0;
bonuses["skill_swim_ad_ranks"] = 0;
bonuses["skill_ambush_ad_ranks"] = 0;
bonuses["skill_stalkhide_ad_ranks"] = 0;
bonuses["skill_picklock_ad_ranks"] = 0;
bonuses["skill_disarmtrap_ad_ranks"] = 0;
bonuses["skill_readrunes_ad_ranks"] = 0;
bonuses["skill_useitems_ad_ranks"] = 0;
bonuses["skill_perception_ad_ranks"] = 1;
bonuses["skill_bodydev_ad_ranks"] = 5;
bonuses["race_spell_ad_ranks"] = 0;
bonuses["race_language_ad_ranks"] = 2;
bonuses["race_bg_options"] = 1;
break;
case "Half-Troll":
bonuses["stat_st_race_bonus"] = 10;
bonuses["stat_ag_race_bonus"] = -5;
bonuses["stat_co_race_bonus"] = 10;
bonuses["stat_ig_race_bonus"] = -5;
bonuses["stat_it_race_bonus"] = -5;
bonuses["stat_pr_race_bonus"] = -5;
bonuses["essence_race_bonus"] = 0;
bonuses["channeling_race_bonus"] = 0;
bonuses["poison_race_bonus"] = 15;
bonuses["disease_race_bonus"] = 5;
bonuses["cold_race_bonus"] = 0;
bonuses["heat_race_bonus"] = 0;
bonuses["skill_noarmor_ad_ranks"] = 1;
bonuses["skill_softleather_ad_ranks"] = 1;
bonuses["skill_rigidleather_ad_ranks"] = 2;
bonuses["skill_chain_ad_ranks"] = 3;
bonuses["skill_1hedged_ad_ranks"] = 0;
bonuses["skill_1conc_ad_ranks"] = 0;
bonuses["skill_2handed_ad_ranks"] = 4;
bonuses["skill_thrown_ad_ranks"] = 2;
bonuses["skill_missile_ad_ranks"] = 0;
bonuses["skill_polearm_ad_ranks"] = 0;
bonuses["skill_climb_ad_ranks"] = 1;
bonuses["skill_ride_ad_ranks"] = 0;
bonuses["skill_swim_ad_ranks"] = 0;
bonuses["skill_ambush_ad_ranks"] = 0;
bonuses["skill_stalkhide_ad_ranks"] = 0;
bonuses["skill_picklock_ad_ranks"] = 0;
bonuses["skill_disarmtrap_ad_ranks"] = 0;
bonuses["skill_readrunes_ad_ranks"] = 0;
bonuses["skill_useitems_ad_ranks"] = 0;
bonuses["skill_perception_ad_ranks"] = 0;
bonuses["skill_bodydev_ad_ranks"] = 4;
bonuses["race_spell_ad_ranks"] = 0;
bonuses["race_language_ad_ranks"] = 2;
bonuses["race_bg_options"] = 2;
break;
default:
break;
}
return bonuses;
}
on("change:profession", function(eventInfo) {
getAttrs(["profession"], function(values) {
let profession = values["profession"];
let realms = profRealm(profession)
setAttrs({
"realm": realms["realm"] || ""
});
});
});
function profRealm(profession) {
var realms = {};
switch(profession) {
case "animist":
realms["realm"] = "Channeling";
break;
case "bard":
realms["realm"] = "Essence";
break;
case "mage":
realms["realm"] = "Essence";
break;
case "ranger":
realms["realm"] = "Channeling";
break;
case "conjurer":
realms["realm"] = "Both";
break;
case "wizard":
realms["realm"] = "Both";
break;
case "monk":
realms["realm"] = "Both";
break;
default:
break;
}
return realms;
}
on("sheet:opened change:level change:profession", function(eventInfo) {
getAttrs(["level", "profession"], function(values) {
TAS.log("Profession skill bonus " + eventInfo.previousValue + " to " + eventInfo.newValue)
let intLevel = parseInt(values["level"], 10) || 1;
let profession = values["profession"];
let bonuses = profBonuses(profession)
let bn = bonuses["weapon_skill_profession_bonus"] * intLevel || 0
TAS.log("Weapon skill bonus level:" + intLevel + " and profession:" + profession + " is " + bn)
setAttrs({
"skill_1hedged_prof_bonus": bonuses["weapon_skill_profession_bonus"] * intLevel || 0,
"skill_1hconc_prof_bonus": bonuses["weapon_skill_profession_bonus"] * intLevel || 0,
"skill_2handed_prof_bonus": bonuses["weapon_skill_profession_bonus"] * intLevel || 0,
"skill_missile_prof_bonus": bonuses["weapon_skill_profession_bonus"] * intLevel || 0,
"skill_thrown_prof_bonus": bonuses["weapon_skill_profession_bonus"] * intLevel || 0,
"skill_polearm_prof_bonus": bonuses["weapon_skill_profession_bonus"] * intLevel || 0,
"skill_climb_prof_bonus": bonuses["general_skill_profession_bonus"] * intLevel || 0,
"skill_ride_prof_bonus": bonuses["general_skill_profession_bonus"] * intLevel || 0,
"skill_swim_prof_bonus": bonuses["general_skill_profession_bonus"] * intLevel || 0,
"skill_track_prof_bonus": bonuses["general_skill_profession_bonus"] * intLevel || 0,
"skill_stalkhide_prof_bonus": bonuses["stalkhide_skill_profession_bonus"] * intLevel || bonuses["subterfuge_skill_profession_bonus"] * intLevel || 0,
"skill_picklock_prof_bonus": bonuses["subterfuge_skill_profession_bonus"] * intLevel || 0,
"skill_disarmtrap_prof_bonus": bonuses["subterfuge_skill_profession_bonus"] * intLevel || 0,
"skill_readrunes_prof_bonus": bonuses["magical_skill_profession_bonus"] * intLevel || 0,
"skill_useitems_prof_bonus": bonuses["magical_skill_profession_bonus"] * intLevel || 0,
"skill_directedspells_prof_bonus": bonuses["directedspell_skill_profession_bonus"] * intLevel || bonuses["magical_skill_profession_bonus"] * intLevel || 0,
"skill_novicestriking_prof_bonus": bonuses["martialarts_skill_profession_bonus"] * intLevel || 0,
"skill_standardstriking_prof_bonus": bonuses["martialarts_skill_profession_bonus"] * intLevel || 0,
"skill_expertstriking_prof_bonus": bonuses["martialarts_skill_profession_bonus"] * intLevel || 0,
"skill_novicesweeps_prof_bonus": bonuses["martialarts_skill_profession_bonus"] * intLevel || 0,
"skill_standardsweeps_prof_bonus": bonuses["martialarts_skill_profession_bonus"] * intLevel || 0,
"skill_expertsweeps_prof_bonus": bonuses["martialarts_skill_profession_bonus"] * intLevel || 0,
"skill_perception_prof_bonus": bonuses["perception_skill_profession_bonus"] * intLevel || 0,
"skill_adrenaldefense_prof_bonus": bonuses["adrenaldefense_skill_profession_bonus"] * intLevel || 0,
"skill_basespell_prof_bonus": bonuses["basespell_skill_profession_bonus"] * intLevel || 0,
"skill_bodydev_prof_bonus": bonuses["bodydev_skill_profession_bonus"] * intLevel || 0,
"movingmaneuver_profession_development": bonuses["movingmaneuver_profession_development"] || 0,
"weapon_profession_development": bonuses["weapon_profession_development"] || 0,
"general_profession_development": bonuses["general_profession_development"] || 0,
"subterfuge_profession_development": bonuses["subterfuge_profession_development"] || 0,
"magical_profession_development": bonuses["magical_profession_development"] || 0,
"martialarts_profession_development": bonuses["martialarts_profession_development"] || 0,
"adrenaldefense_profession_development": bonuses["adrenaldefense_profession_development"] || 0,
"bodydev_profession_development": bonuses["bodydev_profession_development"] || 0,
"language_profession_development": bonuses["language_profession_development"] || 0,
"spell_profession_development": bonuses["spell_profession_development"] || 0,
"secondaryskill_profession_development": bonuses["secondaryskill_profession_development"] || 0
});
});
});
function profBonuses(profession) {
var bonuses = {};
switch(profession) {
case "animist":
bonuses["general_skill_profession_bonus"] = 1;
bonuses["magical_skill_profession_bonus"] = 1;
bonuses["perception_skill_profession_bonus"] = 1;
bonuses["directedspell_skill_profession_bonus"] = 2;
bonuses["basespell_skill_profession_bonus"] = 2;
bonuses["movingmaneuver_profession_development"] = 1;
bonuses["weapon_profession_development"] = 1;
bonuses["general_profession_development"] = 2;
bonuses["subterfuge_profession_development"] = 1;
bonuses["magical_profession_development"] = 2;
bonuses["bodydev_profession_development"] = 1;
bonuses["language_profession_development"] = 2;
bonuses["spell_profession_development"] = 5;
break;
case "bard":
bonuses["weapon_skill_profession_bonus"] = 1;
bonuses["general_skill_profession_bonus"] = 1;
bonuses["subterfuge_skill_profession_bonus"] = 1;
bonuses["magical_skill_profession_bonus"] = 1;
bonuses["directedspell_skill_profession_bonus"] = 1;
bonuses["perception_skill_profession_bonus"] = 1;
bonuses["basespell_skill_profession_bonus"] = 1;
bonuses["movingmaneuver_profession_development"] = 0;
bonuses["weapon_profession_development"] = 2;
bonuses["general_profession_development"] = 2;
bonuses["subterfuge_profession_development"] = 2;
bonuses["magical_profession_development"] = 3;
bonuses["bodydev_profession_development"] = 1;
bonuses["language_profession_development"] = 3;
bonuses["spell_profession_development"] = 2;
break;
case "mage":
bonuses["magical_skill_profession_bonus"] = 2;
bonuses["directedspell_skill_profession_bonus"] = 3;
bonuses["basespell_skill_profession_bonus"] = 2;
bonuses["movingmaneuver_profession_development"] = 0;
bonuses["weapon_profession_development"] = 0;
bonuses["general_profession_development"] = 2;
bonuses["subterfuge_profession_development"] = 0;
bonuses["magical_profession_development"] = 5;
bonuses["bodydev_profession_development"] = 1;
bonuses["language_profession_development"] = 2;
bonuses["spell_profession_development"] = 5;
break;
case "ranger":
bonuses["weapon_skill_profession_bonus"] = 2;
bonuses["general_skill_profession_bonus"] = 3;
bonuses["perception_skill_profession_bonus"] = 2;
bonuses["stalkhide_skill_profession_bonus"] = 2;
bonuses["movingmaneuver_profession_development"] = 2;
bonuses["weapon_profession_development"] = 3;
bonuses["general_profession_development"] = 4;
bonuses["subterfuge_profession_development"] = 2;
bonuses["magical_profession_development"] = 0;
bonuses["bodydev_profession_development"] = 2;
bonuses["language_profession_development"] = 1;
bonuses["spell_profession_development"] = 1;
break;
case "scout":
bonuses["weapon_skill_profession_bonus"] = 1;
bonuses["general_skill_profession_bonus"] = 1;
bonuses["subterfuge_skill_profession_bonus"] = 2;
bonuses["perception_skill_profession_bonus"] = 3;
bonuses["movingmaneuver_profession_development"] = 1;
bonuses["weapon_profession_development"] = 3;
bonuses["general_profession_development"] = 3;
bonuses["subterfuge_profession_development"] = 5;
bonuses["magical_profession_development"] = 0;
bonuses["bodydev_profession_development"] = 2;
bonuses["language_profession_development"] = 1;
bonuses["spell_profession_development"] = 0;
break;
case "warrior":
bonuses["weapon_skill_profession_bonus"] = 3;
bonuses["general_skill_profession_bonus"] = 1;
bonuses["bodydev_skill_profession_bonus"] = 2;
bonuses["movingmaneuver_profession_development"] = 3;
bonuses["weapon_profession_development"] = 5;
bonuses["general_profession_development"] = 2;
bonuses["subterfuge_profession_development"] = 2;
bonuses["magical_profession_development"] = 0;
bonuses["bodydev_profession_development"] = 3;
bonuses["language_profession_development"] = 0;
bonuses["spell_profession_development"] = 0;
break;
/* ----------------------------------------------------------------------
* Optional Classes
* ---------------------------------------------------------------------- */
case "barbarian":
bonuses["weapon_skill_profession_bonus"] = 2;
bonuses["general_skill_profession_bonus"] = 3;
bonuses["bodydev_skill_profession_bonus"] = 2;
bonuses["movingmaneuver_profession_development"] = 1;
bonuses["weapon_profession_development"] = 5;
bonuses["general_profession_development"] = 5;
bonuses["subterfuge_profession_development"] = 1;
bonuses["magical_profession_development"] = 0;
bonuses["bodydev_profession_development"] = 3;
bonuses["language_profession_development"] = 0;
bonuses["spell_profession_development"] = 0;
bonuses["secondaryskill_profession_development"] = 0;
bonuses["martialarts_profession_development"] = 0;
bonuses["adrenaldefense_profession_development"] = 0;
break;
case "burglar":
bonuses["general_skill_profession_bonus"] = 1;
bonuses["subterfuge_skill_profession_bonus"] = 3;
bonuses["perception_skill_profession_bonus"] = 3;
bonuses["movingmaneuver_profession_development"] = 2;
bonuses["weapon_profession_development"] = 1;
bonuses["general_profession_development"] = 2;
bonuses["subterfuge_profession_development"] = 8;
bonuses["magical_profession_development"] = 0;
bonuses["bodydev_profession_development"] = 1;
bonuses["language_profession_development"] = 1;
bonuses["spell_profession_development"] = 0;
bonuses["secondaryskill_profession_development"] = 0;
bonuses["martialarts_profession_development"] = 0;
bonuses["adrenaldefense_profession_development"] = 0;
break;
case "civilian":
bonuses["movingmaneuver_profession_development"] = 0;
bonuses["weapon_profession_development"] = 1;
bonuses["general_profession_development"] = 2;
bonuses["subterfuge_profession_development"] = 0;
bonuses["magical_profession_development"] = 0;
bonuses["bodydev_profession_development"] = 1;
bonuses["language_profession_development"] = 0;
bonuses["spell_profession_development"] = 0;
bonuses["secondaryskill_profession_development"] = 11;
bonuses["martialarts_profession_development"] = 0;
bonuses["adrenaldefense_profession_development"] = 0;
break;
case "conjurer":
bonuses["magical_skill_profession_bonus"] = 1;
bonuses["basespell_skill_profession_bonus"] = 1;
bonuses["subterfuge_skill_profession_bonus"] = 1;
bonuses["perception_skill_profession_bonus"] = 1;
bonuses["movingmaneuver_profession_development"] = 0;
bonuses["weapon_profession_development"] = 1;
bonuses["general_profession_development"] = 1;
bonuses["subterfuge_profession_development"] = 4;
bonuses["magical_profession_development"] = 3;
bonuses["bodydev_profession_development"] = 1;
bonuses["language_profession_development"] = 1;
bonuses["spell_profession_development"] = 4;
bonuses["secondaryskill_profession_development"] = 0;
bonuses["martialarts_profession_development"] = 0;
bonuses["adrenaldefense_profession_development"] = 0;
break;
case "explorer":
bonuses["weapon_skill_profession_bonus"] = 1;
bonuses["general_skill_profession_bonus"] = 3;
bonuses["subterfuge_skill_profession_bonus"] = 2;
bonuses["stalkhide_skill_profession_bonus"] = 2;
bonuses["perception_skill_profession_bonus"] = 2;
bonuses["movingmaneuver_profession_development"] = 2;
bonuses["weapon_profession_development"] = 2;
bonuses["general_profession_development"] = 5;
bonuses["subterfuge_profession_development"] = 4;
bonuses["magical_profession_development"] = 0;
bonuses["bodydev_profession_development"] = 1;
bonuses["language_profession_development"] = 1;
bonuses["spell_profession_development"] = 0;
bonuses["secondaryskill_profession_development"] = 0;
bonuses["martialarts_profession_development"] = 0;
bonuses["adrenaldefense_profession_development"] = 0;
break;
case "monk":
bonuses["weapon_skill_profession_bonus"] = 0;
bonuses["general_skill_profession_bonus"] = 1;
bonuses["subterfuge_skill_profession_bonus"] = 1;
bonuses["magical_skill_profession_bonus"] = 1;
bonuses["martialarts_skill_profession_bonus"] = 2;
bonuses["perception_skill_profession_bonus"] = 1;
bonuses["movingmaneuver_profession_development"] = 0;
bonuses["weapon_profession_development"] = 1;
bonuses["general_profession_development"] = 2;
bonuses["subterfuge_profession_development"] = 2;
bonuses["magical_profession_development"] = 1;
bonuses["bodydev_profession_development"] = 1;
bonuses["language_profession_development"] = 1;
bonuses["spell_profession_development"] = 2;
bonuses["secondaryskill_profession_development"] = 0;
bonuses["martialarts_profession_development"] = 3;
bonuses["adrenaldefense_profession_development"] = 2;
break;
case "rogue":
bonuses["weapon_skill_profession_bonus"] = 2;
bonuses["general_skill_profession_bonus"] = 2;
bonuses["subterfuge_skill_profession_bonus"] = 2;
bonuses["magical_skill_profession_bonus"] = 0;
bonuses["martialarts_skill_profession_bonus"] = 0;
bonuses["perception_skill_profession_bonus"] = 2;
bonuses["movingmaneuver_profession_development"] = 2;
bonuses["weapon_profession_development"] = 4;
bonuses["general_profession_development"] = 3;
bonuses["subterfuge_profession_development"] = 3;
bonuses["magical_profession_development"] = 1;
bonuses["bodydev_profession_development"] = 2;
bonuses["language_profession_development"] = 0;
bonuses["spell_profession_development"] = 0;
bonuses["secondaryskill_profession_development"] = 0;
bonuses["martialarts_profession_development"] = 0;
bonuses["adrenaldefense_profession_development"] = 0;
break;
case "scholar":
bonuses["perception_skill_profession_bonus"] = 2;
bonuses["movingmaneuver_profession_development"] = 1;
bonuses["weapon_profession_development"] = 1;
bonuses["general_profession_development"] = 3;
bonuses["subterfuge_profession_development"] = 0;
bonuses["magical_profession_development"] = 0;
bonuses["bodydev_profession_development"] = 1;
bonuses["language_profession_development"] = 4;
bonuses["spell_profession_development"] = 0;
bonuses["secondaryskill_profession_development"] = 5;
bonuses["martialarts_profession_development"] = 0;
bonuses["adrenaldefense_profession_development"] = 0;
break;
case "shapechanger":
bonuses["movingmaneuver_skill_profession_bonus"] = 1;
bonuses["martialarts_skill_profession_bonus"] = 2;
bonuses["bodydev_skill_profession_bonus"] = 2;
bonuses["shapechange_skill_profession_bonus"] = 5;
bonuses["movingmaneuver_profession_development"] = 1;
bonuses["weapon_profession_development"] = 1;
bonuses["general_profession_development"] = 1;
bonuses["subterfuge_profession_development"] = 1;
bonuses["magical_profession_development"] = 0;
bonuses["bodydev_profession_development"] = 3;
bonuses["language_profession_development"] = 1;
bonuses["spell_profession_development"] = 0;
bonuses["secondaryskill_profession_development"] = 0;
bonuses["martialarts_profession_development"] = 3;
bonuses["adrenaldefense_profession_development"] = 3;
break;
case "warriormonk":
bonuses["general_skill_profession_bonus"] = 1;
bonuses["martialarts_skill_profession_bonus"] = 3;
bonuses["bodydev_skill_profession_bonus"] = 2;
bonuses["movingmaneuver_profession_development"] = 0;
bonuses["weapon_profession_development"] = 1;
bonuses["general_profession_development"] = 1;
bonuses["subterfuge_profession_development"] = 2;
bonuses["magical_profession_development"] = 0;
bonuses["bodydev_profession_development"] = 3;
bonuses["language_profession_development"] = 0;
bonuses["spell_profession_development"] = 0;
bonuses["secondaryskill_profession_development"] = 0;
bonuses["martialarts_profession_development"] = 5;
bonuses["adrenaldefense_profession_development"] = 3;
break;
case "wizard":
bonuses["magical_skill_profession_bonus"] = 2;
bonuses["basespell_skill_profession_bonus"] = 2;
bonuses["movingmaneuver_profession_development"] = 0;
bonuses["weapon_profession_development"] = 0;
bonuses["general_profession_development"] = 2;
bonuses["subterfuge_profession_development"] = 0;
bonuses["magical_profession_development"] = 5;
bonuses["bodydev_profession_development"] = 1;
bonuses["language_profession_development"] = 2;
bonuses["spell_profession_development"] = 5;
bonuses["secondaryskill_profession_development"] = 0;
bonuses["martialarts_profession_development"] = 0;
bonuses["adrenaldefense_profession_development"] = 0;
break;
default:
break;
}
return bonuses;
}
/* ---------------------------------------------------------------------------------------------------
* Weapon total weight worker
* --------------------------------------------------------------------------------------------------- */
on('sheet:opened change:repeating_weapon remove:repeating_weapon', function(){
TAS.log("Calculating total weapon weight")
TAS.repeating('weapon')
.attrs('weapon_total_weight')
.fields('weapon_weight', 'weapon_dropped')
.reduce(function(m,r){
var w = 0
if (r.weapon_dropped != "on") {
m.weight+=(r.F.weapon_weight);
}
return m;
},{weight:0},function(m,r,a){
a.D[1].weapon_total_weight=m.weight;
})
.execute();
});
/* ---------------------------------------------------------------------------------------------------
* Equipment total weight worker
* --------------------------------------------------------------------------------------------------- */
on('sheet:opened change:weapon_total_weight change:repeating_equipment remove:repeating_equipment', function(){
TAS.log("Calculating item weight")
TAS.repeating('equipment')
.attrs('item_total_weight','item_total_encumbrance')
.fields('item_weight','item_worn', 'item_dropped')
.reduce(function(m,r){
var w = 0
if (r.item_worn != "on" && r.item_dropped != "on") {
m.enc+=(r.F.item_weight);
}
if (r.item_dropped != "on") {
m.weight+=(r.F.item_weight);
}
return m;
},{weight:0, enc:0},function(m,r,a){
a.D[1].item_total_weight=m.weight;
a.D[1].item_total_encumbrance=m.enc;
})
.execute();
});
/* ---------------------------------------------------------------------------------------------------
* Encumbrance penalty worker
* --------------------------------------------------------------------------------------------------- */
on("sheet:opened change:weight change:item_total_encumbrance", function(eventInfo) {
getAttrs(["weight", "item_total_encumbrance"], function(values) {
TAS.log("Calculating enc penalty:" + (values["item_total_encumbrance"]))
let weight = parseInt(values["weight"], 10) || 0;
let enc = parseInt(values["item_total_encumbrance"], 10) || 0;
let weightIndex = Math.min(Math.max(Math.floor((weight - 41) / 20), 0), 14);
let encIndex = (enc < 16) ? 0 : (enc < 26) ? 1 : (enc < 36) ? 2 : (enc < 46) ? 3 : (enc < 61) ? 4 :
(enc < 81) ? 5 : (enc < 101) ? 6 : (enc < 121) ? 7 : (enc < 141) ? 8 : (enc < 161) ? 9 : 9;
TAS.log("weight:" + weight + " ==> " + weightIndex)
TAS.log("enc:" + enc + " ==> " + encIndex)
let max = 200;
let penalties = [
[0, 30, 60, max, max, max, max, max, max, max],
[0, 20, 35, 60, 80, max, max, max, max, max],
[0, 15, 25, 40, 60, max, max, max, max, max],
[0, 15, 20, 30, 40, 60, max, max, max, max],
[0, 10, 15, 25, 35, 40, 60, max, max, max],
[0, 10, 15, 20, 30, 35, 40, 60, max, max],
[0, 5, 10, 15, 25, 30, 35, 45, 60, max],
[0, 5, 10, 15, 20, 25, 30, 35, 50, 60],
[0, 5, 10, 15, 20, 20, 30, 35, 45, 55],
[0, 0, 10, 10, 15, 20, 25, 30, 40, 50],
[0, 0, 10, 10, 15, 15, 25, 30, 35, 45],
[0, 0, 5, 10, 15, 15, 20, 25, 30, 40],
[0, 0, 5, 5, 10, 15, 20, 25, 30, 35],
[0, 0, 0, 5, 10, 10, 20, 25, 25, 35],
[0, 0, 0, 0, 5, 10, 15, 20, 25, 30]
];
let penalty = penalties[weightIndex][encIndex]
if (enc > 160) {
penalty += 5 * Math.ceil((enc - 160) / 10)
}
TAS.log("enc penalty:" + penalty)
setAttrs({
"encumbrance_penalty": -1 * penalty || 0
});
});
});
/* ---------------------------------------------------------------------------------------------------
* CREATURE/NPC SHEET WORKERS
* ---------------------------------------------------------------------------------------------------*/
/* ---------------------------------------------------------------------------------------------------
* Creature resistance sheet worker
* --------------------------------------------------------------------------------------------------- */
const creature_resistances = ["creature_defensive", "creature_essence", "creature_channeling", "creature_poison", "creature_disease", "creature_cold", "creature_heat"];
creature_resistances.forEach( rr => {
on("sheet:opened " + [`change:${rr}_stat_bonus`, `change:${rr}_race_bonus`, `change:${rr}_item_bonus`, `change:${rr}_spec1_bonus`, `change:${rr}_spec2_bonus`].join(" "), function() {
getAttrs([`${rr}_race_bonus`, `${rr}_stat_bonus`, `${rr}_item_bonus`, `${rr}_spec1_bonus`, `${rr}_spec2_bonus`], function(values) {
var keys = Object.keys(values);
keys.forEach(key=>{
console.log(key + '|' + values[key]);
});
let stat_bonus = parseInt(values[`${rr}_stat_bonus`],10) || 0;
let race_bonus = parseInt(values[`${rr}_race_bonus`],10) || 0;
let item_bonus = parseInt(values[`${rr}_item_bonus`],10) || 0;
let spec1_bonus = parseInt(values[`${rr}_spec1_bonus`],10) || 0;
let spec2_bonus = parseInt(values[`${rr}_spec2_bonus`],10) || 0;
let total_bonus = stat_bonus + race_bonus + item_bonus + spec1_bonus + spec2_bonus;
setAttrs({
[`${rr}_total_bonus`]: total_bonus
});
});
});
});
/* ---------------------------------------------------------------------------------------------------
* Creature hitloss penalty worker
* --------------------------------------------------------------------------------------------------- */
on("sheet:opened change:creature_hit_points change:creature_total_hit_points", function() {
getAttrs(["creature_hit_points", "creature_total_hit_points"], function(values) {
let hp = parseInt(values["creature_hit_points"]) || 0;
let hp_total = parseInt(values["creature_total_hit_points"]) || 0;
let hlp = 0;
if (hp * 2 < hp_total) {
hlp = -20;
}
TAS.log("CREATURE HIT LOSS PENALTY hp:" + hp + " hpTotal:" + hp_total + " => " + hlp);
setAttrs({
"creature_hitloss_penalty": hlp,
"creature_hit_points_max": hp_total
});
});
});
/* ---------------------------------------------------------------------------------------------------
* Creature movement maneuver penalty worker
* --------------------------------------------------------------------------------------------------- */
on("sheet:opened change:creature_status_stunned change:creature_status_down change:creature_status_onelimbout change:creature_activity_penalty", function() {
getAttrs(["creature_status_stunned", "creature_status_down", "creature_status_onelimbout", "creature_activity_penalty"], function(values) {
let status_stunned = parseInt(values["creature_status_stunned"]) || 0;
let status_down = parseInt(values["creature_status_down"]) || 0;
let status_onelimbout = parseInt(values["creature_status_onelimbout"]) || 0;
let activity_penalty = parseInt(values["creature_activity_penalty"]) || 0;
let total_mm_penalty = status_stunned + status_down + status_onelimbout + activity_penalty;
TAS.log("CREATURE MM PENALTY:" + total_mm_penalty);
setAttrs({
"creature_total_mm_penalty": total_mm_penalty
});
});
});
/* ---------------------------------------------------------------------------------------------------
* Creature offensive penalty worker
* --------------------------------------------------------------------------------------------------- */
on("sheet:opened change:creature_activity_penalty change:creature_hitloss_penalty", function() {
getAttrs(["creature_activity_penalty", "creature_hitloss_penalty"], function(values) {
let activity_penalty = parseInt(values["creature_activity_penalty"]) || 0;
let hitloss_penalty = parseInt(values["creature_hitloss_penalty"]) || 0;
let total_ob_penalty = activity_penalty + hitloss_penalty;
TAS.log("CREATURE OB PENALTY:" + total_ob_penalty);
setAttrs({
"creature_total_ob_penalty": total_ob_penalty
});
});
});
/* ---------------------------------------------------------------------------------------------------
* Creature movement rate worker
* --------------------------------------------------------------------------------------------------- */
on("sheet:opened change:creature_total_mm_penalty change:creature_base_movement_rate", function() {
getAttrs(["creature_total_mm_penalty", "creature_base_movement_rate", "creature_mm_bonus"], function(values) {
let base_movement_rate = parseInt(values["creature_base_movement_rate"], 10) || 0;
let total_mm_penalty = parseInt(values["creature_total_mm_penalty"], 10) || 0;
let mm_bonus = parseInt(values["creature_mm_bonus"], 10) || 0;
let effective_rate = base_movement_rate + total_mm_penalty;
let effective_mm_bonus = mm_bonus+total_mm_penalty;
setAttrs({
"creature_effective_movement_rate": effective_rate,
"creature_effective_mm_bonus": effective_mm_bonus
});
});
});
function creatureMovement(speed) {
var bonuses = {};
switch(speed) {
case "CR":
bonuses["base_movement_rate"] = 20;
bonuses["movement_bonus"] = 0;
break;
case "VS":
bonuses["base_movement_rate"] = 40;
bonuses["movement_bonus"] = 0;
break;
case "SL":
bonuses["base_movement_rate"] = 50;
bonuses["movement_bonus"] = 10;
break;
case "MD":
bonuses["base_movement_rate"] = 65;
bonuses["movement_bonus"] = 15;
break;
case "MF":
bonuses["base_movement_rate"] = 80;
bonuses["movement_bonus"] = 20;
break;
case "FA":
bonuses["base_movement_rate"] = 110;
bonuses["movement_bonus"] = 30;
break;
case "VF":
bonuses["base_movement_rate"] = 140;
bonuses["movement_bonus"] = 40;
break;
case "BF":
bonuses["base_movement_rate"] = 170;
bonuses["movement_bonus"] = 50;
break;
default:
bonuses["base_movement_rate"] = 0;
bonuses["movement_bonus"] = 0;
break;
}
return bonuses;
}
function creatureDefensiveModifiers(speed) {
var bonuses = {};
switch(speed) {
case "CR":
bonuses["charge_lunge"] = 0;
bonuses["flee_evade"] = 0;
break;
case "VS":
bonuses["charge_lunge"] = 0;
bonuses["flee_evade"] = 0;
break;
case "SL":
bonuses["charge_lunge"] = 0;
bonuses["flee_evade"] = 5;
break;
case "MD":
bonuses["charge_lunge"] = -5;
bonuses["flee_evade"] = 10;
break;
case "MF":
bonuses["charge_lunge"] = -10;
bonuses["flee_evade"] = 15;
break;
case "FA":
bonuses["charge_lunge"] = -15;
bonuses["flee_evade"] = 20;
break;
case "VF":
bonuses["charge_lunge"] = -20;
bonuses["flee_evade"] = 30;
break;
case "BF":
bonuses["charge_lunge"] = -20;
bonuses["flee_evade"] = 40;
break;
default:
bonuses["charge_lunge"] = 0;
bonuses["flee_evade"] = 0;
break;
}
return bonuses;
}
on("sheet:opened change:creature_speed", function() {
getAttrs(["creature_speed"], function(values) {
TAS.log("Creature speed")
TAS.log("Speed code:" + values["creature_speed"])
let bonuses = creatureMovement(values["creature_speed"])
TAS.log("base movement :" + bonuses["base_movement_rate"])
setAttrs({
"creature_base_movement_rate": bonuses["base_movement_rate"],
"creature_mm_bonus": bonuses["movement_bonus"]
});
});
});
on("sheet:opened change:creature_quickness", function() {
getAttrs(["creature_quickness"], function(values) {
TAS.log("Creature speed")
TAS.log("Speed code:" + values["creature_quickness"])
let bonuses = creatureDefensiveModifiers(values["creature_quickness"])
setAttrs({
"creature_chargelunge_db_mod": bonuses["charge_lunge"],
"creature_fleeevade_db_mod": bonuses["flee_evade"]
});
});
});
</script>
<div class="hidden">
<rolltemplate class="sheet-rolltemplate-openended">
<div class="sheet-rolltemplate-character">{{character}}</div>
<div class="sheet-rolltemplate-container">
<div class="sheet-rolltemplate-header">
<div>
<span class="sheet-rolltemplate-heading">{{type}}</span>
</div>
<div>
<span class="sheet-rolltemplate-subheading">{{subtags}}</span>
</div>
</div>
<table class="sheet-rolltemplate-results">
<tr>
<td class="sheet-rolltemplate-total">
{{roll}}
</td>
</tr>
<tr>
<td class="sheet-rolltemplate-label">
roll
</td>
</tr>
</table>
{{#rollWasFumble() roll}}
<table class="sheet-rolltemplate-modifiers">
<tr>
<td colspan="2" class="sheet-rolltemplate-modifier-fumble">
<span>The roll exploded into negative range.</span>
</td>
</tr>
<tr>
<td class="sheet-rolltemplate-modifier-label">
<span title="Subtract this from the above roll">Additional underflow:</span>
</td>
<td>
{{underflow}}
</td>
</tr>
</table>
{{/rollWasFumble() roll}}
</div>
</rolltemplate>
<rolltemplate class="sheet-rolltemplate-1d100">
<div class="sheet-rolltemplate-character">{{character}}</div>
<div class="sheet-rolltemplate-container">
<div class="sheet-rolltemplate-header">
<div>
<span class="sheet-rolltemplate-heading">{{type}}</span>
</div>
<div>
<span class="sheet-rolltemplate-subheading">{{subtags}}</span>
</div>
</div>
<table class="sheet-rolltemplate-results">
<tr>
<td class="sheet-rolltemplate-total">
{{roll}}
</td>
</tr>
<tr>
<td class="sheet-rolltemplate-label">
roll
</td>
</tr>
</table>
</div>
</rolltemplate>
<rolltemplate class="sheet-rolltemplate-resistanceroll">
<div class="sheet-rolltemplate-character">{{character}}</div>
<div class="sheet-rolltemplate-container">
<div class="sheet-rolltemplate-header">
<div>
<span class="sheet-rolltemplate-heading">{{type}}</span>
</div>
<div>
<span class="sheet-rolltemplate-subheading">{{subtags}}</span>
</div>
</div>
<table class="sheet-rolltemplate-results">
<tr>
<td class="sheet-rolltemplate-total">
{{roll}}
</td>
</tr>
<tr>
<td class="sheet-rolltemplate-label">
roll
</td>
</tr>
</table>
<table class="sheet-rolltemplate-modifiers">
<tr>
<td class="sheet-rolltemplate-modifier-label">
Bonus:
</td>
<td>
{{bonus}}
</td>
</tr>
</table>
</div>
</rolltemplate>
<rolltemplate class="sheet-rolltemplate-movingmaneuver">
<div class="sheet-rolltemplate-character">{{character}}</div>
<div class="sheet-rolltemplate-container">
<div class="sheet-rolltemplate-header">
<div>
<span class="sheet-rolltemplate-heading">{{type}}</span>
</div>
<div>
<span class="sheet-rolltemplate-subheading">{{subtags}}</span>
</div>
</div>
<table class="sheet-rolltemplate-results">
<tr>
<td class="sheet-rolltemplate-total">
{{roll}}
</td>
</tr>
<tr>
<td class="sheet-rolltemplate-label">
roll
</td>
</tr>
</table>
{{#rollWasFumble() roll}}
<table class="sheet-rolltemplate-modifiers">
<tr>
<td colspan="2" class="sheet-rolltemplate-modifier-fumble">
<span>The roll exploded into negative range.</span>
</td>
</tr>
<tr>
<td class="sheet-rolltemplate-modifier-label">
<span title="Subtract this from the above roll">Additional underflow:</span>
</td>
<td>
{{underflow}}
</td>
</tr>
</table>
{{/rollWasFumble() roll}}
<table class="sheet-rolltemplate-modifiers">
<tr>
<td class="sheet-rolltemplate-modifier-label">
MM Penalty:
</td>
<td>
{{mm_penalty}}
</td>
</tr>
<tr>
<td class="sheet-rolltemplate-modifier-label">
Skill:
</td>
<td>
{{skill}}
</td>
</tr>
</table>
</div>
</rolltemplate>
<rolltemplate class="sheet-rolltemplate-staticmaneuver">
<div class="sheet-rolltemplate-character">{{character}}</div>
<div class="sheet-rolltemplate-container">
<div class="sheet-rolltemplate-header">
<div>
<span class="sheet-rolltemplate-heading">{{type}}</span>
</div>
<div>
<span class="sheet-rolltemplate-subheading">{{subtags}}</span>
</div>
</div>
<table class="sheet-rolltemplate-results">
<tr>
<td class="sheet-rolltemplate-total">
{{roll}}
</td>
</tr>
<tr>
<td class="sheet-rolltemplate-label">
roll
</td>
</tr>
</table>
{{#rollWasFumble() roll}}
<table class="sheet-rolltemplate-modifiers">
<tr>
<td colspan="2" class="sheet-rolltemplate-modifier-fumble">
<span>The roll exploded into negative range.</span>
</td>
</tr>
<tr>
<td class="sheet-rolltemplate-modifier-label">
<span title="Subtract this from the above roll">Additional Underflow:</span>
</td>
<td>
{{underflow}}
</td>
</tr>
</table>
{{/rollWasFumble() roll}}
<table class="sheet-rolltemplate-modifiers">
<tr>
<td class="sheet-rolltemplate-modifier-label">
SM Penalty:
</td>
<td>
{{sm_penalty}}
</td>
</tr>
<tr>
<td class="sheet-rolltemplate-modifier-label">
Skill:
</td>
<td>
{{skill}}
</td>
</tr>
</table>
</div>
</rolltemplate>
<rolltemplate class="sheet-rolltemplate-attack">
<div class="sheet-rolltemplate-character">{{character}}</div>
<div class="sheet-rolltemplate-container">
<div class="sheet-rolltemplate-header">
<div>
<span class="sheet-rolltemplate-heading">{{type}}</span>
</div>
<div>
<span class="sheet-rolltemplate-subheading">{{subtags}}</span>
</div>
</div>
<table class="sheet-rolltemplate-results">
<tr>
<td class="sheet-rolltemplate-total">
{{roll}}
</td>
</tr>
<tr>
<td class="sheet-rolltemplate-label">
roll
</td>
</tr>
</table>
{{#rollWasFumble() roll}}
<table class="sheet-rolltemplate-modifiers">
<tr>
<td colspan="2" class="sheet-rolltemplate-modifier-fumble">
<span>Possible fumble!</span>
</td>
</tr>
<tr>
<td class="sheet-rolltemplate-modifier-label">
Fumble roll:
</td>
<td>
{{fumble_roll}}
</td>
</tr>
</table>
{{/rollWasFumble() roll}}
{{#^rollWasFumble() roll}}
<table class="sheet-rolltemplate-modifiers">
<tr>
<td class="sheet-rolltemplate-modifier-label">
Primary Critical:
</td>
<td>
{{primary_critical}}
</td>
</tr>
<tr>
<td class="sheet-rolltemplate-modifier-label">
Secondary Critical:
</td>
<td>
{{secondary_critical}}
</td>
</tr>
</table>
{{/^rollWasFumble() roll}}
<table class="sheet-rolltemplate-modifiers">
<tr>
<td class="sheet-rolltemplate-modifier-label">
OB Penalty:
</td>
<td>
{{ob_penalty}}
</td>
</tr>
<tr>
<td class="sheet-rolltemplate-modifier-label">
Skill:
</td>
<td>
{{skill}}
</td>
</tr>
</table>
</div>
</rolltemplate>
<rolltemplate class="sheet-rolltemplate-weaponattack">
<div class="sheet-rolltemplate-character">{{character}}</div>
<div class="sheet-rolltemplate-container">
<div class="sheet-rolltemplate-header">
<div>
<span class="sheet-rolltemplate-heading">{{type}}</span>
</div>
<div>
<span class="sheet-rolltemplate-subheading">{{subtags}}</span>
</div>
</div>
<table class="sheet-rolltemplate-results">
<tr>
<td class="sheet-rolltemplate-total">
{{roll}}
</td>
</tr>
<tr>
<td class="sheet-rolltemplate-label">
roll
</td>
</tr>
</table>
{{#rollWasFumble() roll}}
<table class="sheet-rolltemplate-modifiers">
<tr>
<td colspan="2" class="sheet-rolltemplate-modifier-fumble">
<span>FUMBLE Result</span>
</td>
</tr>
<tr>
<td class="sheet-rolltemplate-modifier-label">
Fumble Roll:
</td>
<td>
{{fumble_roll}}
</td>
</tr>
<tr>
<td class="sheet-rolltemplate-modifier-label">
Additional fumble critical:
</td>
<td>
{{fumble_severity}}
</td>
</tr>
</table>
{{/rollWasFumble() roll}}
{{#^rollWasFumble() roll}}
<table class="sheet-rolltemplate-modifiers">
<tr>
<td colspan="2" class="sheet-rolltemplate-modifier-fumble">
<span>Additional modifiers</span>
</td>
</tr>
<tr>
<td class="sheet-rolltemplate-modifier-label">
vs. No/Leather:
</td>
<td>
{{noleather}}
</td>
</tr>
<tr>
<td class="sheet-rolltemplate-modifier-label">
vs. Chain/Plate:
</td>
<td>
{{chainplate}}
</td>
</tr>
<tr>
<td class="sheet-rolltemplate-modifier-label">
Reload Penalty:
</td>
<td>
{{reloadpenalty}}
</td>
</tr>
</table>
<table class="sheet-rolltemplate-modifiers">
<tr>
<td colspan="2" class="sheet-rolltemplate-modifier-fumble">
<span>Potential criticals</span>
</td>
</tr>
<tr>
<td class="sheet-rolltemplate-modifier-label">
Primary Critical:
</td>
<td>
{{primary_critical}}
</td>
</tr>
<tr>
<td class="sheet-rolltemplate-modifier-label">
Secondary Critical:
</td>
<td>
{{secondary_critical}}
</td>
</tr>
</table>
{{/^rollWasFumble() roll}}
<table class="sheet-rolltemplate-modifiers">
<tr>
<td colspan="2" class="sheet-rolltemplate-modifier-fumble">
<span>Included modifiers</span>
</td>
</tr>
<tr>
<td class="sheet-rolltemplate-modifier-label">
Skill:
</td>
<td>
{{ob_skill}}
</td>
</tr>
<tr>
<td class="sheet-rolltemplate-modifier-label">
Item:
</td>
<td>
{{wpn_bonus}}
</td>
</tr>
<tr>
<td class="sheet-rolltemplate-modifier-label">
OB Penalty:
</td>
<td>
{{ob_penalty}}
</td>
</tr>
<tr>
<td class="sheet-rolltemplate-modifier-label">
Modifier:
</td>
<td>
{{modifier}}
</td>
</tr>
</table>
</div>
</rolltemplate>
<rolltemplate class="sheet-rolltemplate-stalkhide">
<div class="sheet-rolltemplate-character">{{character}}</div>
<div class="sheet-rolltemplate-container">
<div class="sheet-rolltemplate-header">
<div>
<span class="sheet-rolltemplate-heading">Stalking</span>
</div>
<div>
<span class="sheet-rolltemplate-subheading">Moving maNeuver</span>
</div>
</div>
<table class="sheet-rolltemplate-results">
<tr>
<td class="sheet-rolltemplate-total">
{{mm_roll}}
</td>
</tr>
<tr>
<td class="sheet-rolltemplate-label">
roll
</td>
</tr>
</table>
{{#rollWasFumble() mm_roll}}
<table class="sheet-rolltemplate-modifiers">
<tr>
<td colspan="2" class="sheet-rolltemplate-modifier-fumble">
<span>The roll exploded into negative range.</span>
</td>
</tr>
<tr>
<td class="sheet-rolltemplate-modifier-label">
<span title="Subtract this from the above roll">Additional Underflow:</span>
</td>
<td>
{{underflow}}
</td>
</tr>
</table>
{{/rollWasFumble() mm_roll}}
<table class="sheet-rolltemplate-modifiers">
<tr>
<td class="sheet-rolltemplate-modifier-label">
MM Penalty:
</td>
<td>
{{mm_penalty}}
</td>
</tr>
<tr>
<td class="sheet-rolltemplate-modifier-label">
Skill:
</td>
<td>
{{skill}}
</td>
</tr>
</table>
<div class="sheet-rolltemplate-header">
<div>
<span class="sheet-rolltemplate-heading">Hiding</span>
</div>
<div>
<span class="sheet-rolltemplate-subheading">Static Maneuver</span>
</div>
</div>
<table class="sheet-rolltemplate-results">
<tr>
<td class="sheet-rolltemplate-total">
{{sm_roll}}
</td>
</tr>
<tr>
<td class="sheet-rolltemplate-label">
roll
</td>
</tr>
</table>
{{#rollWasFumble() sm_roll}}
<table class="sheet-rolltemplate-modifiers">
<tr>
<td colspan="2" class="sheet-rolltemplate-modifier-fumble">
<span>The roll exploded into negative range.</span>
</td>
</tr>
<tr>
<td class="sheet-rolltemplate-modifier-label">
<span title="Subtract this from the above roll">Additional Underflow:</span>
</td>
<td>
{{underflow}}
</td>
</tr>
</table>
{{/rollWasFumble() sm_roll}}
<table class="sheet-rolltemplate-modifiers">
<tr>
<td class="sheet-rolltemplate-modifier-label">
SM Penalty:
</td>
<td>
{{sm_penalty}}
</td>
</tr>
<tr>
<td class="sheet-rolltemplate-modifier-label">
Skill:
</td>
<td>
{{skill}}
</td>
</tr>
</table>
</div>
</rolltemplate>
<rolltemplate class="sheet-rolltemplate-secondaryskill">
<div class="sheet-rolltemplate-character">{{character}}</div>
<div class="sheet-rolltemplate-container">
{{#movingmaneuver}}
<div class="sheet-rolltemplate-header">
<div>
<span class="sheet-rolltemplate-heading">{{type}}</span>
</div>
<div>
<span class="sheet-rolltemplate-subheading">Moving maNeuver</span>
</div>
</div>
<table class="sheet-rolltemplate-results">
<tr>
<td class="sheet-rolltemplate-total">
{{mm_roll}}
</td>
</tr>
<tr>
<td class="sheet-rolltemplate-label">
roll
</td>
</tr>
</table>
{{#rollWasFumble() mm_roll}}
<table class="sheet-rolltemplate-modifiers">
<tr>
<td colspan="2" class="sheet-rolltemplate-modifier-fumble">
<span>The roll exploded into negative range.</span>
</td>
</tr>
<tr>
<td class="sheet-rolltemplate-modifier-label">
<span title="Subtract this from the above roll">Additional Underflow:</span>
</td>
<td>
{{underflow}}
</td>
</tr>
</table>
{{/rollWasFumble() mm_roll}}
<table class="sheet-rolltemplate-modifiers">
<tr>
<td class="sheet-rolltemplate-modifier-label">
MM Penalty:
</td>
<td>
{{mm_penalty}}
</td>
</tr>
<tr>
<td class="sheet-rolltemplate-modifier-label">
Skill:
</td>
<td>
{{skill}}
</td>
</tr>
</table>
{{/movingmaneuver}}
{{#staticmaneuver}}
<div class="sheet-rolltemplate-header">
<div>
<span class="sheet-rolltemplate-heading">{{type}}</span>
</div>
<div>
<span class="sheet-rolltemplate-subheading">Static Maneuver</span>
</div>
</div>
<table class="sheet-rolltemplate-results">
<tr>
<td class="sheet-rolltemplate-total">
{{sm_roll}}
</td>
</tr>
<tr>
<td class="sheet-rolltemplate-label">
roll
</td>
</tr>
</table>
{{#rollWasFumble() sm_roll}}
<table class="sheet-rolltemplate-modifiers">
<tr>
<td colspan="2" class="sheet-rolltemplate-modifier-fumble">
<span>The roll exploded into negative range.</span>
</td>
</tr>
<tr>
<td class="sheet-rolltemplate-modifier-label">
<span title="Subtract this from the above roll">Additional Underflow:</span>
</td>
<td>
{{underflow}}
</td>
</tr>
</table>
{{/rollWasFumble() sm_roll}}
<table class="sheet-rolltemplate-modifiers">
<tr>
<td class="sheet-rolltemplate-modifier-label">
SM Penalty:
</td>
<td>
{{sm_penalty}}
</td>
</tr>
<tr>
<td class="sheet-rolltemplate-modifier-label">
Skill:
</td>
<td>
{{skill}}
</td>
</tr>
</table>
{{/staticmaneuver}}
{{#special}}
<div class="sheet-rolltemplate-header">
<div>
<span class="sheet-rolltemplate-heading">{{type}}</span>
</div>
<div>
<span class="sheet-rolltemplate-subheading">Moving maNeuver</span>
</div>
</div>
<table class="sheet-rolltemplate-results">
<tr>
<td class="sheet-rolltemplate-total">
{{mm_roll}}
</td>
</tr>
<tr>
<td class="sheet-rolltemplate-label">
roll
</td>
</tr>
</table>
{{#rollWasFumble() mm_roll}}
<table class="sheet-rolltemplate-modifiers">
<tr>
<td colspan="2" class="sheet-rolltemplate-modifier-fumble">
<span>The roll exploded into negative range.</span>
</td>
</tr>
<tr>
<td class="sheet-rolltemplate-modifier-label">
<span title="Subtract this from the above roll">Additional Underflow:</span>
</td>
<td>
{{underflow}}
</td>
</tr>
</table>
{{/rollWasFumble() mm_roll}}
<table class="sheet-rolltemplate-modifiers">
<tr>
<td class="sheet-rolltemplate-modifier-label">
MM Penalty:
</td>
<td>
{{mm_penalty}}
</td>
</tr>
<tr>
<td class="sheet-rolltemplate-modifier-label">
Skill:
</td>
<td>
{{skill}}
</td>
</tr>
</table>
<div class="sheet-rolltemplate-header">
<div>
<span class="sheet-rolltemplate-heading">{{type}}</span>
</div>
<div>
<span class="sheet-rolltemplate-subheading">Static Maneuver</span>
</div>
</div>
<table class="sheet-rolltemplate-results">
<tr>
<td class="sheet-rolltemplate-total">
{{sm_roll}}
</td>
</tr>
<tr>
<td class="sheet-rolltemplate-label">
roll
</td>
</tr>
</table>
{{#rollWasFumble() sm_roll}}
<table class="sheet-rolltemplate-modifiers">
<tr>
<td colspan="2" class="sheet-rolltemplate-modifier-fumble">
<span>The roll exploded into negative range.</span>
</td>
</tr>
<tr>
<td class="sheet-rolltemplate-modifier-label">
<span title="Subtract this from the above roll">Additional Underflow:</span>
</td>
<td>
{{underflow}}
</td>
</tr>
</table>
{{/rollWasFumble() sm_roll}}
<table class="sheet-rolltemplate-modifiers">
<tr>
<td class="sheet-rolltemplate-modifier-label">
SM Penalty:
</td>
<td>
{{sm_penalty}}
</td>
</tr>
<tr>
<td class="sheet-rolltemplate-modifier-label">
Skill:
</td>
<td>
{{skill}}
</td>
</tr>
</table>
{{/special}}
</div>
</rolltemplate>
</div>