Files
roll20-character-sheets/WOIN/WOIN.html
T
2017-05-30 13:40:02 -06:00

2920 lines
133 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.
<input type="radio" class="sheet-new sheet-hidden" name="attr_sheet_type2" value="0" checked/>
<input type="radio" class="sheet-old sheet-hidden" name="attr_sheet_type2" value="1" />
<div class="sheet-all">
<input type="radio" class="sheet-new sheet-type" name="attr_sheet_type1" value="0" checked/><span></span>
<input type="radio" class="sheet-old sheet-type" name="attr_sheet_type1" value="1" /><span></span>
<div class="sheet-topbar">
<input type="radio" class="sheet-new sheet-hidden" name="attr_sheet_type3" value="0" checked/>
<input type="radio" class="sheet-old sheet-hidden" name="attr_sheet_type3" value="1" />
<div class='sheet-3colrow'>
<div class='sheet-col'>
<br>
<br>
<input type="radio" class="sheet-new sheet-hidden" name="attr_sheet_type4" value="0" checked/>
<input type="radio" class="sheet-old sheet-hidden" name="attr_sheet_type4" value="1" />
<input type="text" class="sheet-title" name="attr_character_name" placeholder="Character Name"/>
</div>
<div class='sheet-col'>
<div style="text-align:center;">Maximum Dice Pool</div>
<div style="text-align:center;">
<input type="number" class="sheet-bignumber" name="attr_maximum_dice_pool" value="5"/>
</div>
</div>
<div class='sheet-col' >
<input type="radio" class="sheet-block1 sheet-hidden" name="attr_sheet_switch10" value="0" checked/><span></span>
<input type="radio" class="sheet-block2 sheet-hidden" name="attr_sheet_switch10" value="1"/><span></span>
<div class="sheet-block1">
<table>
<tr>
<th><input type="text" class="sheet-text1" name="attr_Homeworld" placeholder="Homeworld"/><br>Homeworld</th>
</tr>
<tr>
<th><input type="text" class="sheet-text1" name="attr_Origin" placeholder="Origin"/><br>Origin</th>
</tr>
</table>
</div>
<div class="sheet-block2">
<table>
<tr>
<th><input type="text" class="sheet-text1" name="attr_Homeland" placeholder="Homeland"/><br>Homeland</th>
</tr>
<tr>
<th><input type="text" class="sheet-text1" name="attr_Origin_old" placeholder="Origin"/><br>Origin</th>
</tr>
</table>
</div>
</div>
</div>
<div class="sheet-describe">
a <input type="text" class="sheet-text2" name="attr_career" style="width:300px;" placeholder="Bounty Hunter/Mechanic/Politician"/> who/with <input type="text" class="sheet-text2" style="width:300px;" name="attr_Description" placeholder="Grudge/Personal Life/Fondness of blades"/>
</div>
<br>
</div>
<!-- Set up the Tabs -->
<input type="radio" name="attr_tab" class="sheet-tab sheet-tab1" value="1" style="width:120px;" title="Basic" checked="checked" id="radio1" /><label class="sheet-bob" for="radio1">Basic</label>
<input type="radio" name="attr_tab" class="sheet-tab sheet-tab2" value="2" title="Life Path" id="radio2" /><label for="radio2">Life Path</label>
<input type="radio" name="attr_tab" class="sheet-tab sheet-tab3" value="3" title="Combat/Equipment" id="radio3" /><label for="radio3">Combat/Equipment</label>
<input type="radio" name="attr_tab" class="sheet-tab sheet-tab4" value="4" title="Exploits" id="radio4" /><label for="radio4">Exploits</label>
<input type="radio" name="attr_tab" class="sheet-tab sheet-tab5" value="5" title="Advancement" id="radio5" /><label for="radio5">Advancement</label>
<button type="roll" class="sheet-rollluck" name="roll_Luck" value="&{template:default} {{name= Luck}} {{roll= [[1d6!]]}}">Luck Pool</button>
&nbsp; &nbsp;
<input type="radio" class="sheet-radio2 sheet-zero" name="attr_luck_pool" value="0" checked /><span></span>
<input type="radio" class="sheet-radio2" name="attr_luck_pool" value="1" /><span></span>
<input type="radio" class="sheet-radio2" name="attr_luck_pool" value="2" /><span></span>
<input type="radio" class="sheet-radio2" name="attr_luck_pool" value="3" /><span></span>
<input type="radio" class="sheet-radio2" name="attr_luck_pool" value="4" /><span></span>
<input type="radio" class="sheet-radio2" name="attr_luck_pool" value="5" /><span></span>
<input type="radio" class="sheet-radio2" name="attr_luck_pool" value="6" /><span></span>
<input type="radio" class="sheet-radio2" name="attr_luck_pool" value="7" /><span></span>
<!-- First -->
<div class="sheet-tab-content sheet-tab1">
<input type="radio" class="sheet-new sheet-hidden" name="attr_sheet_type5" value="0" checked/>
<input type="radio" class="sheet-old sheet-hidden" name="attr_sheet_type5" value="1" />
<div class="sheet-header">Attributes</div>
<table class="sheet-attrib">
<tr>
<th><button type="roll" class="sheet-rollatrrib" name="roll_str" value="&{template:default} {{name= Strength}} {{roll= [[@{strength_1}d6]]}}">STR</button></th>
<th><button type="roll" class="sheet-rollatrrib" name="roll_agl" value="&{template:default} {{name= Agility}} {{roll= [[@{agility_1}d6]]}}">AGL</button></th>
<th><button type="roll" class="sheet-rollatrrib" name="roll_end" value="&{template:default} {{name= Endurance}} {{roll= [[@{endurance_1}d6]]}}">END</button></th>
<th><button type="roll" class="sheet-rollatrrib" name="roll_int" value="&{template:default} {{name= Intuition}} {{roll= [[@{intuition_1}d6]]}}">INT</button></th>
<th><button type="roll" class="sheet-rollatrrib" name="roll_log" value="&{template:default} {{name= Agility}} {{roll= [[@{logic_1}d6]]}}">LOG</button></th>
<th><button type="roll" class="sheet-rollatrrib" name="roll_wil" value="&{template:default} {{name= Willpower}} {{roll= [[@{willpower_1}d6]]}}">WIL</button></th>
<th><button type="roll" class="sheet-rollatrrib" name="roll_cha" value="&{template:default} {{name= Charisma}} {{roll= [[@{charisma_1}d6]]}}">CHA</button></th>
<th><button type="roll" class="sheet-rollatrrib" name="roll_luc" value="&{template:default} {{name= Luck}} {{roll= [[@{luck_1}d6]]}}">LUC</button></th>
<th><button type="roll" class="sheet-rollatrrib" name="roll_rep" value="&{template:default} {{name= Repuation}} {{roll= [[@{repuation_1}d6]]}}">REP</button></th>
<th>
<input type="radio" class="sheet-block1 sheet-hidden" name="attr_sheet_switch7" value="0" checked/><span></span>
<input type="radio" class="sheet-block2 sheet-hidden" name="attr_sheet_switch7" value="1"/><span></span>
<div class="sheet-block1">
<button type="roll" class="sheet-rollatrrib" name="roll_psi" value="&{template:default} {{name= Psionics}} {{roll= [[@{psionics_1}d6]]}}">PSI</button></th>
</div>
<div class="sheet-block2">
<button type="roll" class="sheet-rollatrrib" name="roll_psi" value="&{template:default} {{name= Magic}} {{roll= [[@{Magic_1}d6]]}}">MAG</button></th>
</div>
</th>
</tr>
<tr>
<th>
<div class="sheet-octo">
<div class="sheet-octo_inner">
<input type="number" class="sheet-number1" name="attr_strength_rank" value="0"/>
</div>
</div>
</th>
<th>
<div class="sheet-octo">
<div class="sheet-octo_inner">
<input type="number" class="sheet-number1" name="attr_agility_rank" value="0"/>
</div>
</div>
</th>
<th>
<div class="sheet-octo">
<div class="sheet-octo_inner">
<input type="number" class="sheet-number1" name="attr_endurance_rank" value="0"/>
</div>
</div>
</th>
<th>
<div class="sheet-octo">
<div class="sheet-octo_inner">
<input type="number" class="sheet-number1" name="attr_intuition_rank" value="0"/>
</div>
</div>
</th>
<th>
<div class="sheet-octo">
<div class="sheet-octo_inner">
<input type="number" class="sheet-number1" name="attr_logic_rank" value="0"/>
</div>
</div>
</th>
<th>
<div class="sheet-octo">
<div class="sheet-octo_inner">
<input type="number" class="sheet-number1" name="attr_willpower_rank" value="0"/>
</div>
</div>
</th>
<th>
<div class="sheet-octo">
<div class="sheet-octo_inner">
<input type="number" class="sheet-number1" name="attr_charisma_rank" value="0"/>
</div>
</div>
</th>
<th>
<div class="sheet-octo">
<div class="sheet-octo_inner">
<input type="number" class="sheet-number1" name="attr_luck_rank" value="0"/>
</div>
</div>
</th>
<th>
<div class="sheet-octo">
<div class="sheet-octo_inner">
<input type="number" class="sheet-number1" name="attr_repuation_rank" value="0"/>
</div>
</div>
</th>
<th>
<input type="radio" class="sheet-block1 sheet-hidden" name="attr_sheet_switch5" value="0" checked/><span></span>
<input type="radio" class="sheet-block2 sheet-hidden" name="attr_sheet_switch5" value="1"/><span></span>
<div class="sheet-block1">
<div class="sheet-octo">
<div class="sheet-octo_inner">
<input type="number" class="sheet-number1" name="attr_psionics_rank" value="0"/>
</div>
</div>
</div>
<div class="sheet-block2">
<div class="sheet-octo">
<div class="sheet-octo_inner">
<input type="number" class="sheet-number1" name="attr_magic_rank" value="0"/>
</div>
</div>
</div>
</th>
</tr>
<tr>
<th>
<input type="number" class="sheet-number4" name="attr_strength" value="0" readonly/>d6
<br><input type="number" class="sheet-hidden" name="attr_strength_1" value="0"/>
</th>
<th>
<input type="number" class="sheet-number4" name="attr_agility" value="0" readonly/>d6
<br><input type="number" class="sheet-hidden" name="attr_agility_1" value="0"/>
</th>
<th>
<input type="number" class="sheet-number4" name="attr_endurance" value="0" readonly/>d6
<br><input type="number" class="sheet-hidden" name="attr_endurance_1" value="0"/>
</th>
<th>
<input type="number" class="sheet-number4" name="attr_intuition" value="0" readonly/>d6
<br><input type="number" class="sheet-hidden" name="attr_intuition_1" value="0"/>
</th>
<th>
<input type="number" class="sheet-number4" name="attr_logic" value="0" readonly/>d6
<br><input type="number" class="sheet-hidden" name="attr_logic_1" value="0"/>
</th>
<th>
<input type="number" class="sheet-number4" name="attr_willpower" value="0" readonly/>d6
<br><input type="number" class="sheet-hidden" name="attr_willpower_1" value="0"/>
</th>
<th>
<input type="number" class="sheet-number4" name="attr_charisma" value="0" readonly/>d6
<br><input type="number" class="sheet-hidden" name="attr_charisma_1" value="0"/>
</th>
<th>
<input type="number" class="sheet-number4" name="attr_luck" value="0" readonly/>d6
<br><input type="number" class="sheet-hidden" name="attr_luck_1" value="0"/>
</th>
<th>
<input type="number" class="sheet-number4" name="attr_repuation" value="0" readonly/>d6
<br><input type="number" class="sheet-hidden" name="attr_repuation_1" value="0"/>
</th>
<th>
<input type="radio" class="sheet-block1 sheet-hidden" name="attr_sheet_switch6" value="0" checked/><span></span>
<input type="radio" class="sheet-block2 sheet-hidden" name="attr_sheet_switch6" value="1"/><span></span>
<div class="sheet-block1">
<input type="number" class="sheet-number4" name="attr_psionics" value="0" readonly/>d6
<br><input type="number" class="sheet-hidden" name="attr_psionics_1" value="0"/>
</div>
<div class="sheet-block2">
<input type="number" class="sheet-number4" name="attr_magic" value="0" readonly/>d6
<br><input type="number" class="sheet-hidden" name="attr_magic_1" value="0"/>
</div>
</th>
</tr>
</table>
<hr>
<div>
<input type="radio" class="sheet-block1 sheet-hidden" name="attr_sheet_switch" value="0" checked/><span></span>
<input type="radio" class="sheet-block2 sheet-hidden" name="attr_sheet_switch" value="1"/><span></span>
<div class="sheet-block1">
<div class="sheet-header">Skills</div>
<fieldset class="repeating_skillsnew">
<table class="sheet-skill">
<tr>
<td><button type="roll" class="sheet-rollskill" name="roll_skill" value="&{template:default} {{name= @{skill_name} }} {{attribute= @{skill_attrib}:@{skill_attrib_score} }} {{skill= @{skill_level}:@{skill_dice} }} {{Pool Limit= @{skill_max_dice}}} {{roll= [[(@{skill_rolled})d6]]}}"></button></td>
<td><input type="text" class="sheet-text3" name="attr_skill_name" value="" placeholder="Skill Name"/></td>
<td>
<select class="sheet-select1" name="attr_skill_select">
<option value="0"></option>
<option value="1">Strength</option>
<option value="2">Agility</option>
<option value="3">Endurance</option>
<option value="4">Intuition</option>
<option value="5">Logic</option>
<option value="6">Willpower</option>
<option value="7">Charisma</option>
<option value="8">Luck</option>
<option value="9">Repuation</option>
<option value="10">Psionics</option>
<option value="11">Magic</option>
</select>
<input type="text" class="sheet-hidden" name="attr_skill_attrib" title="Attribute Used" value="" />
<input type="number" class="sheet-hidden" name="attr_skill_attrib_score" title="Attribute Score" value="" />
</td>
<td>
<input type="number" class="sheet-number2" name="attr_skill_rating" value="0" />
<!-- label of skill level -->
<input type="text" class="sheet-hidden" name="attr_skill_level" value="0" />
</td>
<td>
<input type="number" class="sheet-number4" name="attr_skill_dice" value="0" readonly/>d6
<!-- skill_total -->
<input type="number" class="sheet-hidden" name="attr_skill_total" value="0" readonly/>
<!-- skill dice limit -->
<input type="number" class="sheet-hidden" name="attr_skill_max_dice" value="0" />
<!-- number of dice rolled -->
<input type="number" class="sheet-hidden" name="attr_skill_rolled" value="0" readonly/>
</td>
</tr>
</table>
</fieldset>
</div>
<div class="sheet-block2">
<div class="sheet-header_old">Skills</div>
<fieldset class="repeating_skillsold">
<table class="sheet-skillold">
<tr>
<td><button type="roll" class="sheet-rollskillold" name="roll_skill" value="&{template:default} {{name= @{skill_name} }} {{attribute= @{skill_attrib}:@{skill_attrib_score} }} {{skill= @{skill_level}:@{skill_dice} }} {{Pool Limit= @{skill_max_dice}}} {{roll= [[(@{skill_rolled})d6]]}}"></button></td>
<td><input type="text" class="sheet-text3" name="attr_skill_name" value="" placeholder="Skill Name"/></td>
<td>
<select class="sheet-select1" name="attr_skill_select">
<option value="0"></option>
<option value="1">Strength</option>
<option value="2">Agility</option>
<option value="3">Endurance</option>
<option value="4">Intuition</option>
<option value="5">Logic</option>
<option value="6">Willpower</option>
<option value="7">Charisma</option>
<option value="8">Luck</option>
<option value="9">Repuation</option>
<option value="10">Psionics</option>
<option value="11">Magic</option>
</select>
<input type="text" class="sheet-hidden" name="attr_skill_attrib" title="Attribute Used" value="" />
<input type="number" class="sheet-hidden" name="attr_skill_attrib_score" title="Attribute Score" value="" />
</td>
<td>
<input type="number" class="sheet-number2" name="attr_skill_rating" value="0" />
<!-- label of skill level -->
<input type="text" class="sheet-hidden" name="attr_skill_level" value="0" />
</td>
<td>
<input type="number" class="sheet-number4" name="attr_skill_dice" value="0" readonly/>d6
<!-- skill_total -->
<input type="number" class="sheet-hidden" name="attr_skill_total" value="0" readonly/>
<!-- skill dice limit -->
<input type="number" class="sheet-hidden" name="attr_skill_max_dice" value="0" />
<!-- number of dice rolled -->
<input type="number" class="sheet-hidden" name="attr_skill_rolled" value="0" readonly/>
</td>
</tr>
</table>
</fieldset>
</div>
</div>
<hr>
<input type="radio" class="sheet-new sheet-hidden" name="attr_sheet_type6" value="0" checked/>
<input type="radio" class="sheet-old sheet-hidden" name="attr_sheet_type6" value="1" />
<div class="sheet-header">Movement</div>
<table class="sheet-skill">
<tr>
<th></th>
<th>Speed</th>
<th>Climb</th>
<th>Swim</th>
<th>Jump</th>
<th>Other</th>
</tr>
<tr>
<th>Base</th>
<td><input type="number" class="sheet-number3" name="attr_speed_rating" value="0" /></td>
<td><input type="number" class="sheet-number3" name="attr_climb_rating" value="0" /></td>
<td><input type="number" class="sheet-number3" name="attr_swim_rating" value="0" /></td>
<td><input type="number" class="sheet-number3" name="attr_jump_rating" value="0" /></td>
<td><input type="number" class="sheet-number3" name="attr_other_rating" value="0" /></td>
</tr>
<tr>
<th>Modifier</th>
<td><input type="number" class="sheet-number3" name="attr_speed_mod" value="0" /></td>
<td><input type="number" class="sheet-number3" name="attr_climb_mod" value="0" /></td>
<td><input type="number" class="sheet-number3" name="attr_swim_mod" value="0" /></td>
<td><input type="number" class="sheet-number3" name="attr_jump_mod" value="0" /></td>
<td><input type="number" class="sheet-number3" name="attr_other_mod" value="0" /></td>
</tr>
<tr>
<th></th>
<th>Initiative</th>
<th>Perception</th>
<th>Carry</th>
<th>Actions</th>
<th>Nat. Dmg</th>
</tr>
<tr>
<th>Base</th>
<td><input type="number" class="sheet-number3" name="attr_initiative_rating" value="0" /></td>
<td><input type="number" class="sheet-number3" name="attr_perception_rating" value="0" /></td>
<td><input type="number" class="sheet-number3" name="attr_carry_rating" value="0" /></td>
<td><input type="number" class="sheet-number3" name="attr_actions_rating" value="0" /></td>
<td><input type="number" class="sheet-number3" name="attr_damage_rating" value="0" /></td>
</tr>
<tr>
<th>Modifier</th>
<td><input type="number" class="sheet-number3" name="attr_initiative_mod" value="0" /></td>
<td><input type="number" class="sheet-number3" name="attr_perception_mod" value="0" /></td>
<td><input type="number" class="sheet-number3" name="attr_carry_mod" value="0" /></td>
<td><input type="number" class="sheet-number3" name="attr_actions_mod" value="0" /></td>
<td><input type="number" class="sheet-number3" name="attr_damage_mod" value="0" /></td>
</tr>
</table>
<br>
</div>
<!-- Second -->
<div class="sheet-tab-content sheet-tab2">
<input type="radio" class="sheet-new sheet-hidden" name="attr_sheet_type7" value="0" checked/>
<input type="radio" class="sheet-old sheet-hidden" name="attr_sheet_type7" value="1" />
<div class="sheet-header">Life Path</div>
<table class="sheet-skill">
<tr>
<th>Path</th>
<th>Grades</th>
<th>Age</th>
</tr>
<tr>
<td><input type="text" class="sheet-text3" name="attr_path1_name" style="width:600px;" value="" placeholder="Path Title"/></td>
<td><input type="number" class="sheet-number2" name="attr_path1_grade" value="0" /></td>
<td><input type="number" class="sheet-number2" name="attr_path1_age" value="0" /></td>
</tr>
<tr>
<td><input type="text" class="sheet-text3" name="attr_path2_name" style="width:600px;" value="" placeholder="Path Title"/></td>
<td><input type="number" class="sheet-number2" name="attr_path2_grade" value="0" /></td>
<td><input type="number" class="sheet-number2" name="attr_path2_age" value="0" /></td>
</tr>
<tr>
<td><input type="text" class="sheet-text3" name="attr_path3_name" style="width:600px;" value="" placeholder="Path Title"/></td>
<td><input type="number" class="sheet-number2" name="attr_path3_grade" value="0" /></td>
<td><input type="number" class="sheet-number2" name="attr_path3_age" value="0" /></td>
</tr>
<tr>
<td><input type="text" class="sheet-text3" name="attr_path4_name" style="width:600px;" value="" placeholder="Path Title"/></td>
<td><input type="number" class="sheet-number2" name="attr_path4_grade" value="0" /></td>
<td><input type="number" class="sheet-number2" name="attr_path4_age" value="0" /></td>
</tr>
<tr>
<td><input type="text" class="sheet-text3" name="attr_path5_name" style="width:600px;" value="" placeholder="Path Title"/></td>
<td><input type="number" class="sheet-number2" name="attr_path5_grade" value="0" /></td>
<td><input type="number" class="sheet-number2" name="attr_path5_age" value="0" /></td>
</tr>
<tr>
<td><input type="text" class="sheet-text3" name="attr_path6_name" style="width:600px;" value="" placeholder="Path Title"/></td>
<td><input type="number" class="sheet-number2" name="attr_path6_grade" value="0" /></td>
<td><input type="number" class="sheet-number2" name="attr_path6_age" value="0" /></td>
</tr>
<tr>
<td><input type="text" class="sheet-text3" name="attr_path7_name" style="width:600px;" value="" placeholder="Path Title"/></td>
<td><input type="number" class="sheet-number2" name="attr_path7_grade" value="0" /></td>
<td><input type="number" class="sheet-number2" name="attr_path7_age" value="0" /></td>
</tr>
<tr>
<td><input type="text" class="sheet-text3" name="attr_path8_name" style="width:600px;" value="" placeholder="Path Title"/></td>
<td><input type="number" class="sheet-number2" name="attr_path8_grade" value="0" /></td>
<td><input type="number" class="sheet-number2" name="attr_path8_age" value="0" /></td>
</tr>
<tr>
<td colspan="2">Current Age</td>
<td><input type="number" class="sheet-number2" name="attr_current_age" value="@{path1_age} + @{path2_age} + @{path3_age} + @{path4_age} + @{path5_age} + @{path6_age} + @{path7_age} + @{path8_age}" disabled='true' /></td>
</tr>
</table>
<br>
</div>
<!-- Combat -->
<div class="sheet-tab-content sheet-tab3">
<div class='sheet-2colrow'>
<div class='sheet-col'>
<input type="radio" class="sheet-new sheet-hidden" name="attr_sheet_type8" value="0" checked/>
<input type="radio" class="sheet-old sheet-hidden" name="attr_sheet_type8" value="1" />
<div class="sheet-header">Defenses</div>
<table class="sheet-skill">
<tr>
<th>Melee Defense</th>
<th>Ranged Defense</th>
<th>Mental Defense</th>
</tr>
<tr>
<td><input type="number" class="sheet-number2" style="width:80px;" name="attr_melee_defense" value="0" /></td>
<td><input type="number" class="sheet-number2" style="width:80px;" name="attr_ranged_defense" value="0" /></td>
<td><input type="number" class="sheet-number2" style="width:80px;" name="attr_mental_defense" value="0" /></td>
</tr>
<tr>
<th>Soak</th>
<th colspan="2">Health</th>
</tr>
<tr>
<td><input type="number" class="sheet-number2" style="width:80px;" name="attr_soak" value="0" /></td>
<td colspan="2"><input type="number" class="sheet-number2" style="width:80px;" name="attr_health" value="0" /></td>
</tr>
</table>
</div>
<div class='sheet-col'>
<input type="radio" class="sheet-new sheet-hidden" name="attr_sheet_type10" value="0" checked/>
<input type="radio" class="sheet-old sheet-hidden" name="attr_sheet_type10" value="1" />
<div class="sheet-header">Wealth</div>
<textarea class="sheet-textarea" name="attr_wealth" value="" style="width:390px;" placeholder="From bum to Bruce Wayne, you own something..."></textarea>
</div>
</div>
<!-- Armor -->
<div>
<input type="radio" class="sheet-block1 sheet-hidden" name="attr_sheet_switch2" value="0" checked/><span></span>
<input type="radio" class="sheet-block2 sheet-hidden" name="attr_sheet_switch2" value="1"/><span></span>
<div class="sheet-block1">
<div class="sheet-header">Armor</div>
<fieldset class="repeating_armor">
<table class="sheet-skill">
<tr>
<th></th>
<th>Armor</th>
<th>Soak</th>
<th>Type</th>
<th>Weight</th>
<th>Inneffective</th>
<th></th>
</tr>
<tr>
<td><button type="roll" class="sheet-rollskill" name="roll_Armor" value="&{template:default} {{name= @{Armor_name} }} {{soak= @{Armor_soak} }} {{inneffective= @{Armor_Inneffective} }} {{notes= @{Armor_notes} }}"></button></td>
<td><input type="text" class="sheet-text3" name="attr_Armor_name" value="" placeholder="Armor Name"/></td>
<td><input type="number" class="sheet-number2" name="attr_Armor_soak" value="0" /></td>
<td>
<select class="sheet-select1" name="attr_Armor_type">
<option value="None">None</option>
<option value="Light">Light</option>
<option value="Medium">Medium</option>
<option value="Heavy">Heavy</option>
</select>
</td>
<td><input type="number" class="sheet-number2" name="attr_Armor_weight" value="0" /></td>
<td><input type="text" class="sheet-text3" name="attr_Armor_Inneffective" value="" placeholder="Blunt, Heat, Electricity"/></td>
<th><input type="checkbox" class="sheet-box" name="attr_Armor_open" value="1"/><span></span></th>
</tr>
</table>
<div>
<input type="checkbox" class="sheet-hider sheet-hidden" name="attr_Armor_open" value="1"/><span></span>
<div class="sheet-body">
<textarea class="sheet-textarea" style="width:665px;" name="attr_Armor_notes"></textarea>
</div>
</div>
</fieldset>
</div>
<div class="sheet-block2">
<div class="sheet-headerold">Armor</div>
<fieldset class="repeating_armorold">
<table class="sheet-skillold">
<tr>
<th></th>
<th>Armor</th>
<th>Soak</th>
<th>Type</th>
<th>Weight</th>
<th>Inneffective</th>
<th></th>
</tr>
<tr>
<td><button type="roll" class="sheet-rollskillold" name="roll_Armor" value="&{template:default} {{name= @{Armor_name} }} {{soak= @{Armor_soak} }} {{inneffective= @{Armor_Inneffective} }} {{notes= @{Armor_notes} }}"></button></td>
<td><input type="text" class="sheet-text3" name="attr_Armor_name" value="" placeholder="Armor Name"/></td>
<td><input type="number" class="sheet-number2" name="attr_Armor_soak" value="0" /></td>
<td>
<select class="sheet-select1" name="attr_Armor_type">
<option value="None">None</option>
<option value="Light">Light</option>
<option value="Medium">Medium</option>
<option value="Heavy">Heavy</option>
</select>
</td>
<td><input type="number" class="sheet-number2" name="attr_Armor_weight" value="0" /></td>
<td><input type="text" class="sheet-text3" name="attr_Armor_Inneffective" value="" placeholder="Blunt, Heat, Electricity"/></td>
<th><input type="checkbox" class="sheet-box" name="attr_Armor_open" value="1"/><span></span></th>
</tr>
</table>
<div>
<input type="checkbox" class="sheet-hider sheet-hidden" name="attr_Armor_open" value="1"/><span></span>
<div class="sheet-body">
<textarea class="sheet-textarea" style="width:665px;" name="attr_Armor_notes"></textarea>
</div>
</div>
</fieldset>
</div>
</div>
<br>
<!-- Attacks -->
<div>
<input type="radio" class="sheet-block1 sheet-hidden" name="attr_sheet_switch3" value="0" checked/><span></span>
<input type="radio" class="sheet-block2 sheet-hidden" name="attr_sheet_switch3" value="1"/><span></span>
<div class="sheet-block1">
<div class="sheet-header">Attacks</div>
<fieldset class="repeating_attacks">
<table class="sheet-skill">
<tr>
<th></th>
<th>Weapon</th>
<th>Attack Attribute</th>
<th>Attack Mod.</th>
<th>Damage</th>
<th>Damage Mod.</th>
<th>Range</th>
<th></th>
</tr>
<tr>
<td><button type="roll" class="sheet-rollskill" name="roll_weapon1" value="&{template:default} {{name= @{weapon1_name} }} {{range= @{weapon1_range} }} {{attack= [[ (@{weaponattrib1_select} + @{weapon1_skill})d6]] }} {{damage= [[(@{weapon1_damage} + @{weapon1_damagemod})d6]] }}"></button></td>
<td><input type="text" class="sheet-text3" name="attr_weapon1_name" value="" placeholder="Weapon Name"/></td>
<td>
<select class="sheet-select1" name="attr_weaponattrib1_select">
<option value="0"></option>
<option value="@{strength}">Strength</option>
<option value="@{agility}">Agility</option>
<option value="@{endurance}">Endurance</option>
<option value="@{intuition}">Intuition</option>
<option value="@{logic}">Logic</option>
<option value="@{willpower}">Willpower</option>
<option value="@{charisma}">Charisma</option>
<option value="@{luck}">Luck</option>
<option value="@{repuation}">Repuation</option>
<option value="@{psionics}">Psionics</option>
</select>
</td>
<td><input type="number" class="sheet-number2" style="width:80px;" name="attr_weapon1_skill" value="0" /></td>
<td><input type="number" class="sheet-number2" name="attr_weapon1_damage" value="0" /></td>
<td><input type="number" class="sheet-number2" style="width:80px;" name="attr_weapon1_damagemod" value="0" /></td>
<td><input type="number" class="sheet-number2" name="attr_weapon1_range" value="0" /></td>
<th><input type="checkbox" class="sheet-box" name="attr_weapon1_open" value="1"/><span></span></th>
</tr>
</table>
<div>
<input type="checkbox" class="sheet-hider sheet-hidden" name="attr_weapon1_open" value="1"/><span></span>
<div class="sheet-body">
<textarea class="sheet-textarea" style="width:625px;" name="attr_weapon1_notes"></textarea>
</div>
</div>
</fieldset>
</div>
<div class="sheet-block2">
<div class="sheet-headerold">Attacks</div>
<fieldset class="repeating_attacksold">
<table class="sheet-skillold">
<tr>
<th></th>
<th>Weapon</th>
<th>Attack Attribute</th>
<th>Attack Mod.</th>
<th>Damage</th>
<th>Damage Mod.</th>
<th>Range</th>
<th></th>
</tr>
<tr>
<td><button type="roll" class="sheet-rollskillold" name="roll_weapon1" value="&{template:default} {{name= @{weapon1_name} }} {{range= @{weapon1_range} }} {{attack= [[ (@{weaponattrib1_select} + @{weapon1_skill})d6]] }} {{damage= [[(@{weapon1_damage} + @{weapon1_damagemod})d6]] }}"></button></td>
<td><input type="text" class="sheet-text3" name="attr_weapon1_name" value="" placeholder="Weapon Name"/></td>
<td>
<select class="sheet-select1" name="attr_weaponattrib1_select">
<option value="0"></option>
<option value="@{strength}">Strength</option>
<option value="@{agility}">Agility</option>
<option value="@{endurance}">Endurance</option>
<option value="@{intuition}">Intuition</option>
<option value="@{logic}">Logic</option>
<option value="@{willpower}">Willpower</option>
<option value="@{charisma}">Charisma</option>
<option value="@{luck}">Luck</option>
<option value="@{repuation}">Repuation</option>
<option value="@{psionics}">Psionics</option>
</select>
</td>
<td><input type="number" class="sheet-number2" style="width:80px;" name="attr_weapon1_skill" value="0" /></td>
<td><input type="number" class="sheet-number2" name="attr_weapon1_damage" value="0" /></td>
<td><input type="number" class="sheet-number2" style="width:80px;" name="attr_weapon1_damagemod" value="0" /></td>
<td><input type="number" class="sheet-number2" name="attr_weapon1_range" value="0" /></td>
<th><input type="checkbox" class="sheet-box" name="attr_weapon1_open" value="1"/><span></span></th>
</tr>
</table>
<div>
<input type="checkbox" class="sheet-hider sheet-hidden" name="attr_weapon1_open" value="1"/><span></span>
<div class="sheet-body">
<textarea class="sheet-textarea" style="width:625px;" name="attr_weapon1_notes"></textarea>
</div>
</div>
</fieldset>
</div>
</div>
<br>
<!-- Equipment -->
<div>
<input type="radio" class="sheet-block1 sheet-hidden" name="attr_sheet_switch4" value="0" checked/><span></span>
<input type="radio" class="sheet-block2 sheet-hidden" name="attr_sheet_switch4" value="1"/><span></span>
<div class="sheet-block1">
<div class="sheet-header">Equipment</div>
<div class='sheet-2colrow'>
<div class='sheet-col'>
<fieldset class="repeating_gear">
<table class="sheet-skill">
<tr>
<th></th>
<th>Gear</th>
<th>Weight</th>
<th></th>
</tr>
<tr>
<td><button type="roll" class="sheet-rollskill" name="roll_Equipment" value="&{template:default} {{name= @{Equipment_name} }} {{Notes= @{Equipment_notes} }}"></button></td>
<td><input type="text" class="sheet-text3" name="attr_Equipment_name" value="" placeholder="Equipment Name"/></td>
<td><input type="number" class="sheet-number2" style="width:80px;" name="attr_Equipment_weight" value="0" /></td>
<th><input type="checkbox" class="sheet-box" name="attr_Equipment_open" value="1"/><span></span></th>
</tr>
</table>
<div>
<input type="checkbox" class="sheet-hider sheet-hidden" name="attr_Equipment_open" value="1"/><span></span>
<div class="sheet-body">
<textarea class="sheet-textarea" style="width:340px;" name="attr_Equipment_notes"></textarea>
</div>
</div>
</fieldset>
</div>
<div class='sheet-col'>
<fieldset class="repeating_gear2">
<table class="sheet-skill">
<tr>
<th></th>
<th>Gear</th>
<th>Weight</th>
<th></th>
</tr>
<tr>
<td><button type="roll" class="sheet-rollskill" name="roll_Equipment" value="&{template:default} {{name= @{Equipment_name} }} {{Notes= @{Equipment_notes} }}"></button></td>
<td><input type="text" class="sheet-text3" name="attr_Equipment_name" value="" placeholder="Equipment Name"/></td>
<td><input type="number" class="sheet-number2" style="width:80px;" name="attr_Equipment_weight" value="0" /></td>
<th><input type="checkbox" class="sheet-box" name="attr_Equipment_open" value="1"/><span></span></th>
</tr>
</table>
<div>
<input type="checkbox" class="sheet-hider sheet-hidden" name="attr_Equipment_open" value="1"/><span></span>
<div class="sheet-body">
<textarea class="sheet-textarea" style="width:340px;" name="attr_Equipment_notes"></textarea>
</div>
</div>
</fieldset>
</div>
</div>
</div>
<div class="sheet-block2">
<div class="sheet-headerold">Equipment</div>
<div class='sheet-2colrow'>
<div class='sheet-col'>
<fieldset class="repeating_gear1old">
<table class="sheet-skillold">
<tr>
<th></th>
<th>Gear</th>
<th>Weight</th>
<th></th>
</tr>
<tr>
<td><button type="roll" class="sheet-rollskillold" name="roll_Equipment" value="&{template:default} {{name= @{Equipment_name} }} {{Notes= @{Equipment_notes} }}"></button></td>
<td><input type="text" class="sheet-text3" name="attr_Equipment_name" value="" placeholder="Equipment Name"/></td>
<td><input type="number" class="sheet-number2" style="width:80px;" name="attr_Equipment_weight" value="0" /></td>
<th><input type="checkbox" class="sheet-box" name="attr_Equipment_open" value="1"/><span></span></th>
</tr>
</table>
<div>
<input type="checkbox" class="sheet-hider sheet-hidden" name="attr_Equipment_open" value="1"/><span></span>
<div class="sheet-body">
<textarea class="sheet-textarea" style="width:340px;" name="attr_Equipment_notes"></textarea>
</div>
</div>
</fieldset>
</div>
<div class='sheet-col'>
<fieldset class="repeating_gear2old">
<table class="sheet-skillold">
<tr>
<th></th>
<th>Gear</th>
<th>Weight</th>
<th></th>
</tr>
<tr>
<td><button type="roll" class="sheet-rollskillold" name="roll_Equipment" value="&{template:default} {{name= @{Equipment_name} }} {{Notes= @{Equipment_notes} }}"></button></td>
<td><input type="text" class="sheet-text3" name="attr_Equipment_name" value="" placeholder="Equipment Name"/></td>
<td><input type="number" class="sheet-number2" style="width:80px;" name="attr_Equipment_weight" value="0" /></td>
<th><input type="checkbox" class="sheet-box" name="attr_Equipment_open" value="1"/><span></span></th>
</tr>
</table>
<div>
<input type="checkbox" class="sheet-hider sheet-hidden" name="attr_Equipment_open" value="1"/><span></span>
<div class="sheet-body">
<textarea class="sheet-textarea" style="width:340px;" name="attr_Equipment_notes"></textarea>
</div>
</div>
</fieldset>
</div>
</div>
</div>
</div>
<br>
<!-- Status -->
<input type="radio" class="sheet-new sheet-hidden" name="attr_sheet_type11" value="0" checked/>
<input type="radio" class="sheet-old sheet-hidden" name="attr_sheet_type11" value="1" />
<div class="sheet-header">Status Track</div>
<table style="width:800px;">
<tr>
<td>Damage Type</td>
<td>Status Track</td>
<td><div style="width:10px;"></div></td>
</tr>
<tr>
<td>Acid</td>
<td>Pain (plus 1/6 chance of Sight)</td>
<td></td>
<td><input type="radio" class="sheet-radio1" name="attr_Acid" value="0" checked /><span></span></td>
<td><input type="radio" class="sheet-radio1" name="attr_Acid" value="1" /><span></span></td>
<td><input type="radio" class="sheet-radio1" name="attr_Acid" value="2" /><span></span></td>
<td><input type="radio" class="sheet-radio1" name="attr_Acid" value="3" /><span></span></td>
<td><input type="radio" class="sheet-radio1" name="attr_Acid" value="4" /><span></span></td>
<td>
<select class="sheet-select1" name="attr_Acid_level">
<option value="0">None</option>
<option value="1">Mild</option>
<option value="2">Moderate</option>
<option value="3">Severe</option>
<option value="4">Extreme</option>
</select>
</td>
</tr>
<tr>
<td>Ballistic</td>
<td>Bleeding</td>
<td></td>
<td><input type="radio" class="sheet-radio1" name="attr_Ballistic" value="0" checked /><span></span></td>
<td><input type="radio" class="sheet-radio1" name="attr_Ballistic" value="1" /><span></span></td>
<td><input type="radio" class="sheet-radio1" name="attr_Ballistic" value="2" /><span></span></td>
<td><input type="radio" class="sheet-radio1" name="attr_Ballistic" value="3" /><span></span></td>
<td><input type="radio" class="sheet-radio1" name="attr_Ballistic" value="4" /><span></span></td>
<td>
<select class="sheet-select1" name="attr_Ballistic_level">
<option value="0">None</option>
<option value="1">Mild</option>
<option value="2">Moderate</option>
<option value="3">Severe</option>
<option value="4">Extreme</option>
</select>
</td>
</tr>
<tr>
<td>Blunt</td>
<td>Alertness</td>
<td></td>
<td><input type="radio" class="sheet-radio1" name="attr_Blunt" value="0" checked /><span></span></td>
<td><input type="radio" class="sheet-radio1" name="attr_Blunt" value="1" /><span></span></td>
<td><input type="radio" class="sheet-radio1" name="attr_Blunt" value="2" /><span></span></td>
<td><input type="radio" class="sheet-radio1" name="attr_Blunt" value="3" /><span></span></td>
<td><input type="radio" class="sheet-radio1" name="attr_Blunt" value="4" /><span></span></td>
<td>
<select class="sheet-select1" name="attr_Blunt_level">
<option value="0">None</option>
<option value="1">Mild</option>
<option value="2">Moderate</option>
<option value="3">Severe</option>
<option value="4">Extreme</option>
</select>
</td>
</tr>
<tr>
<td>Cryo/Cold</td>
<td>Mobility</td>
<td></td>
<td><input type="radio" class="sheet-radio1" name="attr_Cryo" value="0" checked /><span></span></td>
<td><input type="radio" class="sheet-radio1" name="attr_Cryo" value="1" /><span></span></td>
<td><input type="radio" class="sheet-radio1" name="attr_Cryo" value="2" /><span></span></td>
<td><input type="radio" class="sheet-radio1" name="attr_Cryo" value="3" /><span></span></td>
<td><input type="radio" class="sheet-radio1" name="attr_Cryo" value="4" /><span></span></td>
<td>
<select class="sheet-select1" name="attr_Cryo_level">
<option value="0">None</option>
<option value="1">Mild</option>
<option value="2">Moderate</option>
<option value="3">Severe</option>
<option value="4">Extreme</option>
</select>
</td>
</tr>
<tr>
<td>Electricity/Lightning</td>
<td>Pain</td>
<td></td>
<td><input type="radio" class="sheet-radio1" name="attr_Electricity" checked value="0" /><span></span></td>
<td><input type="radio" class="sheet-radio1" name="attr_Electricity" value="1" /><span></span></td>
<td><input type="radio" class="sheet-radio1" name="attr_Electricity" value="2" /><span></span></td>
<td><input type="radio" class="sheet-radio1" name="attr_Electricity" value="3" /><span></span></td>
<td><input type="radio" class="sheet-radio1" name="attr_Electricity" value="4" /><span></span></td>
<td>
<select class="sheet-select1" name="attr_Electricity_level">
<option value="0">None</option>
<option value="1">Mild</option>
<option value="2">Moderate</option>
<option value="3">Severe</option>
<option value="4">Extreme</option>
</select>
</td>
</tr>
<tr>
<td>Force</td>
<td>Alertness</td>
<td></td>
<td><input type="radio" class="sheet-radio1" name="attr_Force" value="0" checked /><span></span></td>
<td><input type="radio" class="sheet-radio1" name="attr_Force" value="1" /><span></span></td>
<td><input type="radio" class="sheet-radio1" name="attr_Force" value="2" /><span></span></td>
<td><input type="radio" class="sheet-radio1" name="attr_Force" value="3" /><span></span></td>
<td><input type="radio" class="sheet-radio1" name="attr_Force" value="4" /><span></span></td>
<td>
<select class="sheet-select1" name="attr_Force_level">
<option value="0">None</option>
<option value="1">Mild</option>
<option value="2">Moderate</option>
<option value="3">Severe</option>
<option value="4">Extreme</option>
</select>
</td>
</tr>
<tr>
<td>Heat/Fire</td>
<td>Fire</td>
<td></td>
<td><input type="radio" class="sheet-radio1" name="attr_Heat" value="0" checked /><span></span></td>
<td><input type="radio" class="sheet-radio1" name="attr_Heat" value="1" /><span></span></td>
<td><input type="radio" class="sheet-radio1" name="attr_Heat" value="2" /><span></span></td>
<td><input type="radio" class="sheet-radio1" name="attr_Heat" value="3" /><span></span></td>
<td><input type="radio" class="sheet-radio1" name="attr_Heat" value="4" /><span></span></td>
<td>
<select class="sheet-select1" name="attr_Heat_level">
<option value="0">None</option>
<option value="1">Mild</option>
<option value="2">Moderate</option>
<option value="3">Severe</option>
<option value="4">Extreme</option>
</select>
</td>
</tr>
<tr>
<td>Ion</td>
<td>Tiredness</td>
<td></td>
<td><input type="radio" class="sheet-radio1" name="attr_Ion" value="0" checked /><span></span></td>
<td><input type="radio" class="sheet-radio1" name="attr_Ion" value="1" /><span></span></td>
<td><input type="radio" class="sheet-radio1" name="attr_Ion" value="2" /><span></span></td>
<td><input type="radio" class="sheet-radio1" name="attr_Ion" value="3" /><span></span></td>
<td><input type="radio" class="sheet-radio1" name="attr_Ion" value="4" /><span></span></td>
<td>
<select class="sheet-select1" name="attr_Ion_level">
<option value="0">None</option>
<option value="1">Mild</option>
<option value="2">Moderate</option>
<option value="3">Severe</option>
<option value="4">Extreme</option>
</select>
</td>
</tr>
<tr>
<td>Piercing</td>
<td>Bleeding</td>
<td></td>
<td><input type="radio" class="sheet-radio1" name="attr_Piercing" value="0" checked /><span></span></td>
<td><input type="radio" class="sheet-radio1" name="attr_Piercing" value="1" /><span></span></td>
<td><input type="radio" class="sheet-radio1" name="attr_Piercing" value="2" /><span></span></td>
<td><input type="radio" class="sheet-radio1" name="attr_Piercing" value="3" /><span></span></td>
<td><input type="radio" class="sheet-radio1" name="attr_Piercing" value="4" /><span></span></td>
<td>
<select class="sheet-select1" name="attr_Piercing_level">
<option value="0">None</option>
<option value="1">Mild</option>
<option value="2">Moderate</option>
<option value="3">Severe</option>
<option value="4">Extreme</option>
</select>
</td>
</tr>
<tr>
<td>Poison</td>
<td>Nausea</td>
<td></td>
<td><input type="radio" class="sheet-radio1" name="attr_Poison" value="0" checked /><span></span></td>
<td><input type="radio" class="sheet-radio1" name="attr_Poison" value="1" /><span></span></td>
<td><input type="radio" class="sheet-radio1" name="attr_Poison" value="2" /><span></span></td>
<td><input type="radio" class="sheet-radio1" name="attr_Poison" value="3" /><span></span></td>
<td><input type="radio" class="sheet-radio1" name="attr_Poison" value="4" /><span></span></td>
<td>
<select class="sheet-select1" name="attr_Poison_level">
<option value="0">None</option>
<option value="1">Mild</option>
<option value="2">Moderate</option>
<option value="3">Severe</option>
<option value="4">Extreme</option>
</select>
</td>
</tr>
<tr>
<td>Psionic</td>
<td>Cognizance</td>
<td></td>
<td><input type="radio" class="sheet-radio1" name="attr_Psionic" value="0" checked /><span></span></td>
<td><input type="radio" class="sheet-radio1" name="attr_Psionic" value="1" /><span></span></td>
<td><input type="radio" class="sheet-radio1" name="attr_Psionic" value="2" /><span></span></td>
<td><input type="radio" class="sheet-radio1" name="attr_Psionic" value="3" /><span></span></td>
<td><input type="radio" class="sheet-radio1" name="attr_Psionic" value="4" /><span></span></td>
<td>
<select class="sheet-select1" name="attr_Psionic_level">
<option value="0">None</option>
<option value="1">Mild</option>
<option value="2">Moderate</option>
<option value="3">Severe</option>
<option value="4">Extreme</option>
</select>
</td>
</tr>
<tr>
<td>Radiation</td>
<td>Nausea</td>
<td></td>
<td><input type="radio" class="sheet-radio1" name="attr_Radiation" value="0" checked /><span></span></td>
<td><input type="radio" class="sheet-radio1" name="attr_Radiation" value="1" /><span></span></td>
<td><input type="radio" class="sheet-radio1" name="attr_Radiation" value="2" /><span></span></td>
<td><input type="radio" class="sheet-radio1" name="attr_Radiation" value="3" /><span></span></td>
<td><input type="radio" class="sheet-radio1" name="attr_Radiation" value="4" /><span></span></td>
<td>
<select class="sheet-select1" name="attr_Radiation_level">
<option value="0">None</option>
<option value="1">Mild</option>
<option value="2">Moderate</option>
<option value="3">Severe</option>
<option value="4">Extreme</option>
</select>
</td>
</tr>
<tr>
<td>Slashing</td>
<td>Bleeding</td>
<td></td>
<td><input type="radio" class="sheet-radio1" name="attr_Slashing" value="0" checked /><span></span></td>
<td><input type="radio" class="sheet-radio1" name="attr_Slashing" value="1" /><span></span></td>
<td><input type="radio" class="sheet-radio1" name="attr_Slashing" value="2" /><span></span></td>
<td><input type="radio" class="sheet-radio1" name="attr_Slashing" value="3" /><span></span></td>
<td><input type="radio" class="sheet-radio1" name="attr_Slashing" value="4" /><span></span></td>
<td>
<select class="sheet-select1" name="attr_Slashing_level">
<option value="0">None</option>
<option value="1">Mild</option>
<option value="2">Moderate</option>
<option value="3">Severe</option>
<option value="4">Extreme</option>
</select>
</td>
</tr>
<tr>
<td>Sonic/Sound</td>
<td>Hearing</td>
<td></td>
<td><input type="radio" class="sheet-radio1" name="attr_Sonic" value="0" checked /><span></span></td>
<td><input type="radio" class="sheet-radio1" name="attr_Sonic" value="1" /><span></span></td>
<td><input type="radio" class="sheet-radio1" name="attr_Sonic" value="2" /><span></span></td>
<td><input type="radio" class="sheet-radio1" name="attr_Sonic" value="3" /><span></span></td>
<td><input type="radio" class="sheet-radio1" name="attr_Sonic" value="4" /><span></span></td>
<td>
<select class="sheet-select1" name="attr_Sonic_level">
<option value="0">None</option>
<option value="1">Mild</option>
<option value="2">Moderate</option>
<option value="3">Severe</option>
<option value="4">Extreme</option>
</select>
</td>
</tr>
<tr>
<td>Stun</td>
<td>Alertness</td>
<td></td>
<td><input type="radio" class="sheet-radio1" name="attr_Stun" value="0" checked/><span></span></td>
<td><input type="radio" class="sheet-radio1" name="attr_Stun" value="1" /><span></span></td>
<td><input type="radio" class="sheet-radio1" name="attr_Stun" value="2" /><span></span></td>
<td><input type="radio" class="sheet-radio1" name="attr_Stun" value="3" /><span></span></td>
<td><input type="radio" class="sheet-radio1" name="attr_Stun" value="4" /><span></span></td>
<td>
<select class="sheet-select1" name="attr_Stun_level">
<option value="0">None</option>
<option value="1">Mild</option>
<option value="2">Moderate</option>
<option value="3">Severe</option>
<option value="4">Extreme</option>
</select>
</td>
</tr>
</table>
</div>
<!-- Exploits -->
<div class="sheet-tab-content sheet-tab4">
<input type="radio" class="sheet-block1 sheet-hidden" name="attr_sheet_switch9" value="0" checked/><span></span>
<input type="radio" class="sheet-block2 sheet-hidden" name="attr_sheet_switch9" value="1"/><span></span>
<div class="sheet-block1">
<div class="sheet-header">Exploits</div>
<div class='sheet-2colrow'>
<div class='sheet-col'>
<fieldset class="repeating_Exploit">
<table class="sheet-skill" style="width:340px;">
<tr>
<th></th>
<th>Name</th>
<th></th>
</tr>
<tr>
<td><button type="roll" class="sheet-rollskill" name="roll_Exploit" value="&{template:default} {{name= @{Exploit_name} }} {{Notes= @{Exploit_notes} }}"></button></td>
<td><input type="text" class="sheet-text3" name="attr_Exploit_name" value="" placeholder="Exploit Name"/></td>
<th><input type="checkbox" class="sheet-box" name="attr_Exploit_open" value="1"/><span></span></th>
</tr>
</table>
<div>
<input type="checkbox" class="sheet-hider sheet-hidden" name="attr_Exploit_open" value="1"/><span></span>
<div class="sheet-body">
<textarea class="sheet-textarea" style="width:340px;" name="attr_Exploit_notes"></textarea>
</div>
</div>
</fieldset>
</div>
<div class='sheet-col'>
<fieldset class="repeating_Exploit2">
<table class="sheet-skill" style="width:340px;" >
<tr>
<th></th>
<th>Name</th>
<th></th>
</tr>
<tr>
<td><button type="roll" class="sheet-rollskill" name="roll_Exploit" value="&{template:default} {{name= @{Exploit_name} }} {{Notes= @{Exploit_notes} }}"></button></td>
<td><input type="text" class="sheet-text3" name="attr_Exploit_name" value="" placeholder="Exploit Name"/></td>
<th><input type="checkbox" class="sheet-box" name="attr_Exploit_open" value="1"/><span></span></th>
</tr>
</table>
<div>
<input type="checkbox" class="sheet-hider sheet-hidden" name="attr_Exploit_open" value="1"/><span></span>
<div class="sheet-body">
<textarea class="sheet-textarea" style="width:340px;" name="attr_Exploit_notes"></textarea>
</div>
</div>
</fieldset>
</div>
</div>
</div>
<div class="sheet-block2">
<div class="sheet-headerold">Exploits</div>
<div class='sheet-2colrow'>
<div class='sheet-col'>
<fieldset class="repeating_Exploit1old">
<table class="sheet-skillold" style="width:340px;">
<tr>
<th></th>
<th>Name</th>
<th></th>
</tr>
<tr>
<td><button type="roll" class="sheet-rollskillold" name="roll_Exploit" value="&{template:default} {{name= @{Exploit_name} }} {{Notes= @{Exploit_notes} }}"></button></td>
<td><input type="text" class="sheet-text3" name="attr_Exploit_name" value="" placeholder="Exploit Name"/></td>
<th><input type="checkbox" class="sheet-box" name="attr_Exploit_open" value="1"/><span></span></th>
</tr>
</table>
<div>
<input type="checkbox" class="sheet-hider sheet-hidden" name="attr_Exploit_open" value="1"/><span></span>
<div class="sheet-body">
<textarea class="sheet-textarea" style="width:340px;" name="attr_Exploit_notes"></textarea>
</div>
</div>
</fieldset>
</div>
<div class='sheet-col'>
<fieldset class="repeating_Exploit2old">
<table class="sheet-skillold" style="width:340px;">
<tr>
<th></th>
<th>Name</th>
<th></th>
</tr>
<tr>
<td><button type="roll" class="sheet-rollskillold" name="roll_Exploit" value="&{template:default} {{name= @{Exploit_name} }} {{Notes= @{Exploit_notes} }}"></button></td>
<td><input type="text" class="sheet-text3" name="attr_Exploit_name" value="" placeholder="Exploit Name"/></td>
<th><input type="checkbox" class="sheet-box" name="attr_Exploit_open" value="1"/><span></span></th>
</tr>
</table>
<div>
<input type="checkbox" class="sheet-hider sheet-hidden" name="attr_Exploit_open" value="1"/><span></span>
<div class="sheet-body">
<textarea class="sheet-textarea" style="width:340px;" name="attr_Exploit_notes"></textarea>
</div>
</div>
</fieldset>
</div>
</div>
</div> </div>
<!-- Experince -->
<div class="sheet-tab-content sheet-tab5">
<input type="radio" class="sheet-new sheet-hidden" name="attr_sheet_type10" value="0" checked/>
<input type="radio" class="sheet-old sheet-hidden" name="attr_sheet_type10" value="1" />
<div class="sheet-header">Experince</div>
<table class="sheet-skill" style="width:800px;">
<tr>
<th><input type="number" style="width:120px;" class="sheet-number2" name="attr_xp_earned_total" value="0"/><br>Total Earned</th>
<th><input type="number" style="width:120px;" class="sheet-number2" name="attr_xp_spent_total" readonly/><br>Total Spent</th>
<th><input type="number" style="width:120px;" class="sheet-number2" name="attr_remaining" value="@{xp_earned_total} - @{xp_spent_total}"disabled="true"/><br>Remaining</th>
</tr>
</table>
<hr>
<table class="sheet-darktext" style="width:800px;">
<tr>
<td style="width:400px;">Trait</td>
<td style="width:120x;">Cost</td>
</tr>
</table>
<fieldset class="repeating_xp">
<table>
<tr>
<td><input type="text" class="sheet-text2" style="width:400px;" name="attr_Trait" /></td>
<td><input type="number" class="sheet-number2" style="width:120px;" name="attr_cost" value="0"/></td>
</tr>
</table>
</fieldset>
<div>TheAaronSheet :: <a href="https://github.com/shdwjk/TheAaronSheet">https://github.com/shdwjk/TheAaronSheet</a></div> </div>
<br>
<div class="sheet-header2">www.woinrpg.com</div>
<br>
</div>
<script type="text/worker">
//
// dice pool limit INSIDE repeating field
on("change:repeating_skillsnew:skill_total change:repeating_skillsnew:skill_max_dice change:maximum_dice_pool sheet:opened", function() {
getAttrs(['repeating_skillsnew_skill_total', 'repeating_skillsnew_skill_max_dice'], function(values) {
setAttrs({
repeating_skillsnew_skill_rolled: Math.min(values.repeating_skillsnew_skill_total, values.repeating_skillsnew_skill_max_dice)
});
});
});
on("change:repeating_skillsold:skill_total change:repeating_skillsold:skill_max_dice change:maximum_dice_pool sheet:opened", function() {
getAttrs(['repeating_skillsold_skill_total', 'repeating_skillsold_skill_max_dice'], function(values) {
setAttrs({
repeating_skillsold_skill_rolled: Math.min(values.repeating_skillsold_skill_total, values.repeating_skillsold_skill_max_dice)
});
});
});
// Creating Skill Dice Poll skillnew
on("change:repeating_skillsnew:skill_rating sheet:opened", function() {
getAttrs(["repeating_skillsnew_skill_rating"], function(values) {
if (values.repeating_skillsnew_skill_rating == 0) {
setAttrs({
repeating_skillsnew_skill_dice: 0,
repeating_skillsnew_skill_level: 'Untrained'
})
}
else if(values.repeating_skillsnew_skill_rating >= 1 && values.repeating_skillsnew_skill_rating <= 2) {
setAttrs({
repeating_skillsnew_skill_dice: 1,
repeating_skillsnew_skill_level: 'Proficient'
})
}
else if(values.repeating_skillsnew_skill_rating >= 3 && values.repeating_skillsnew_skill_rating <= 5) {
setAttrs({
repeating_skillsnew_skill_dice: 2,
repeating_skillsnew_skill_level: 'Skilled'
})
}
else if(values.repeating_skillsnew_skill_rating >= 6 && values.repeating_skillsnew_skill_rating <= 9) {
setAttrs({
repeating_skillsnew_skill_dice: 3,
repeating_skillsnew_skill_level: 'Expert'
})
}
else if(values.repeating_skillsnew_skill_rating >= 10 && values.repeating_skillsnew_skill_rating <= 14) {
setAttrs({
repeating_skillsnew_skill_dice: 4,
repeating_skillsnew_skill_level: 'Mastery'
})
}
else if(values.repeating_skillsnew_skill_rating >= 15 && values.repeating_skillsnew_skill_rating <= 20) {
setAttrs({
repeating_skillsnew_skill_dice: 5,
repeating_skillsnew_skill_level: 'Authority'
})
}
});
});
// Creating Skill Dice Poll skillnew
on("change:repeating_skillsold:skill_rating sheet:opened", function() {
getAttrs(["repeating_skillsold_skill_rating"], function(values) {
if (values.repeating_skillsold_skill_rating == 0) {
setAttrs({
repeating_skillsold_skill_dice: 0,
repeating_skillsold_skill_level: 'Untrained'
})
}
else if(values.repeating_skillsold_skill_rating >= 1 && values.repeating_skillsold_skill_rating <= 2) {
setAttrs({
repeating_skillsold_skill_dice: 1,
repeating_skillsold_skill_level: 'Proficient'
})
}
else if(values.repeating_skillsold_skill_rating >= 3 && values.repeating_skillsold_skill_rating <= 5) {
setAttrs({
repeating_skillsold_skill_dice: 2,
repeating_skillsold_skill_level: 'Skilled'
})
}
else if(values.repeating_skillsold_skill_rating >= 6 && values.repeating_skillsold_skill_rating <= 9) {
setAttrs({
repeating_skillsold_skill_dice: 3,
repeating_skillsold_skill_level: 'Expert'
})
}
else if(values.repeating_skillsold_skill_rating >= 10 && values.repeating_skillsold_skill_rating <= 14) {
setAttrs({
repeating_skillsold_skill_dice: 4,
repeating_skillsold_skill_level: 'Mastery'
})
}
else if(values.repeating_skillsold_skill_rating >= 15 && values.repeating_skillsold_skill_rating <= 20) {
setAttrs({
repeating_skillsold_skill_dice: 5,
repeating_skillsold_skill_level: 'Authority'
})
}
});
});
//Skill Dice Limit Dice, skillsnew
on("change:repeating_skillsnew:skill_select change:repeating_skillsnew:skill_rating change:repeating_skillsnew:skill_dice change:maximum_dice_pool sheet:opened", function() {
getAttrs(["repeating_skillsnew_skill_select", "repeating_skillsnew_skill_rating", "repeating_skillsnew_skill_dice", "maximum_dice_pool", "magic", "psionics", "repuation", "luck", "charisma", "willpower", "logic", "intuition", "endurance", "agility", "strength"], function(values) {
if (values.repeating_skillsnew_skill_select == 0) {
setAttrs({
repeating_skillsnew_skill_total: +values.repeating_skillsnew_skill_dice,
repeating_skillsnew_skill_max_dice: +values.maximum_dice_pool,
repeating_skillsnew_skill_attrib: 'None',
repeating_skillsnew_skill_attrib_score: 0
})
}
else if(values.repeating_skillsnew_skill_select == 1) {
setAttrs({
repeating_skillsnew_skill_total: +values.repeating_skillsnew_skill_dice + +values.strength,
repeating_skillsnew_skill_max_dice: +values.maximum_dice_pool,
repeating_skillsnew_skill_attrib: 'Strength',
repeating_skillsnew_skill_attrib_score: +values.strength
})
}
else if(values.repeating_skillsnew_skill_select == 2) {
setAttrs({
repeating_skillsnew_skill_total: +values.repeating_skillsnew_skill_dice + +values.agility,
repeating_skillsnew_skill_max_dice: +values.maximum_dice_pool,
repeating_skillsnew_skill_attrib: 'Agility',
repeating_skillsnew_skill_attrib_score: +values.agility
})
}
else if(values.repeating_skillsnew_skill_select == 3) {
setAttrs({
repeating_skillsnew_skill_total: +values.repeating_skillsnew_skill_dice + +values.endurance,
repeating_skillsnew_skill_max_dice: +values.maximum_dice_pool,
repeating_skillsnew_skill_attrib: 'Endurance',
repeating_skillsnew_skill_attrib_score: +values.endurance
})
}
else if(values.repeating_skillsnew_skill_select == 4) {
setAttrs({
repeating_skillsnew_skill_total: +values.repeating_skillsnew_skill_dice + +values.intuition,
repeating_skillsnew_skill_max_dice: +values.maximum_dice_pool,
repeating_skillsnew_skill_attrib: 'Intuition',
repeating_skillsnew_skill_attrib_score: +values.intuition
})
}
else if(values.repeating_skillsnew_skill_select == 5) {
setAttrs({
repeating_skillsnew_skill_total: +values.repeating_skillsnew_skill_dice + +values.logic,
repeating_skillsnew_skill_max_dice: +values.maximum_dice_pool,
repeating_skillsnew_skill_attrib: 'Logic',
repeating_skillsnew_skill_attrib_score: +values.logic
})
}
else if(values.repeating_skillsnew_skill_select == 6) {
setAttrs({
repeating_skillsnew_skill_total: +values.repeating_skillsnew_skill_dice + +values.willpower,
repeating_skillsnew_skill_max_dice: +values.maximum_dice_pool,
repeating_skillsnew_skill_attrib: 'Willpower',
repeating_skillsnew_skill_attrib_score: +values.willpower
})
}
else if(values.repeating_skillsnew_skill_select == 7) {
setAttrs({
repeating_skillsnew_skill_total: +values.repeating_skillsnew_skill_dice + +values.charisma,
repeating_skillsnew_skill_max_dice: +values.maximum_dice_pool,
repeating_skillsnew_skill_attrib: 'Charisma',
repeating_skillsnew_skill_attrib_score: +values.charisma
})
}
else if(values.repeating_skillsnew_skill_select == 8) {
setAttrs({
repeating_skillsnew_skill_total: +values.repeating_skillsnew_skill_dice + +values.luck,
repeating_skillsnew_skill_max_dice: +values.maximum_dice_pool,
repeating_skillsnew_skill_attrib: 'Luck',
repeating_skillsnew_skill_attrib_score: +values.luck
})
}
else if(values.repeating_skillsnew_skill_select == 9) {
setAttrs({
repeating_skillsnew_skill_total: +values.repeating_skillsnew_skill_dice + +values.repuation,
repeating_skillsnew_skill_max_dice: +values.maximum_dice_pool,
repeating_skillsnew_skill_attrib: 'Repuation',
repeating_skillsnew_skill_attrib_score: +values.repuation
})
}
else if(values.repeating_skillsnew_skill_select == 10) {
setAttrs({
repeating_skillsnew_skill_total: +values.repeating_skillsnew_skill_dice + +values.psionics,
repeating_skillsnew_skill_max_dice: +values.maximum_dice_pool,
repeating_skillsnew_skill_attrib: 'Psionics',
repeating_skillsnew_skill_attrib_score: +values.psionics
})
}
else if(values.repeating_skillsnew_skill_select == 11) {
setAttrs({
repeating_skillsnew_skill_total: +values.repeating_skillsnew_skill_dice + +values.magic,
repeating_skillsnew_skill_max_dice: +values.maximum_dice_pool,
repeating_skillsnew_skill_attrib: 'Magic',
repeating_skillsnew_skill_attrib_score: +values.magic
})
}
});
});
//Skill Dice Limit Dice, skillsold
on("change:repeating_skillsold:skill_select change:repeating_skillsold:skill_rating change:maximum_dice_pool sheet:opened", function() {
getAttrs(["repeating_skillsold_skill_select", "repeating_skillsold_skill_rating", "maximum_dice_pool", "magic", "psionics", "repuation", "luck", "charisma", "willpower", "logic", "intuition", "endurance", "agility", "strength"], function(values) {
if (values.repeating_skillsold_skill_select == 0) {
setAttrs({
repeating_skillsold_skill_total: +values.repeating_skillsold_skill_rating,
repeating_skillsold_skill_max_dice: +values.maximum_dice_pool,
repeating_skillsold_skill_attrib: 'None',
repeating_skillsold_skill_attrib_score: 0
})
}
else if(values.repeating_skillsold_skill_select == 1) {
setAttrs({
repeating_skillsold_skill_total: +values.repeating_skillsold_skill_rating + +values.strength,
repeating_skillsold_skill_max_dice: +values.maximum_dice_pool,
repeating_skillsold_skill_attrib: 'Strength',
repeating_skillsold_skill_attrib_score: +values.strength
})
}
else if(values.repeating_skillsold_skill_select == 2) {
setAttrs({
repeating_skillsold_skill_total: +values.repeating_skillsold_skill_rating + +values.agility,
repeating_skillsold_skill_max_dice: +values.maximum_dice_pool,
repeating_skillsold_skill_attrib: 'Agility',
repeating_skillsold_skill_attrib_score: +values.agility
})
}
else if(values.repeating_skillsold_skill_select == 3) {
setAttrs({
repeating_skillsold_skill_total: +values.repeating_skillsold_skill_rating + +values.endurance,
repeating_skillsold_skill_max_dice: +values.maximum_dice_pool,
repeating_skillsold_skill_attrib: 'Endurance',
repeating_skillsold_skill_attrib_score: +values.endurance
})
}
else if(values.repeating_skillsold_skill_select == 4) {
setAttrs({
repeating_skillsold_skill_total: +values.repeating_skillsold_skill_rating + +values.intuition,
repeating_skillsold_skill_max_dice: +values.maximum_dice_pool,
repeating_skillsold_skill_attrib: 'Intuition',
repeating_skillsold_skill_attrib_score: +values.intuition
})
}
else if(values.repeating_skillsold_skill_select == 5) {
setAttrs({
repeating_skillsold_skill_total: +values.repeating_skillsold_skill_rating + +values.logic,
repeating_skillsold_skill_max_dice: +values.maximum_dice_pool,
repeating_skillsold_skill_attrib: 'Logic',
repeating_skillsold_skill_attrib_score: +values.logic
})
}
else if(values.repeating_skillsold_skill_select == 6) {
setAttrs({
repeating_skillsold_skill_total: +values.repeating_skillsold_skill_rating + +values.willpower,
repeating_skillsold_skill_max_dice: +values.maximum_dice_pool,
repeating_skillsold_skill_attrib: 'Willpower',
repeating_skillsold_skill_attrib_score: +values.willpower
})
}
else if(values.repeating_skillsold_skill_select == 7) {
setAttrs({
repeating_skillsold_skill_total: +values.repeating_skillsold_skill_rating + +values.charisma,
repeating_skillsold_skill_max_dice: +values.maximum_dice_pool,
repeating_skillsold_skill_attrib: 'Charisma',
repeating_skillsold_skill_attrib_score: +values.charisma
})
}
else if(values.repeating_skillsold_skill_select == 8) {
setAttrs({
repeating_skillsold_skill_total: +values.repeating_skillsold_skill_rating + +values.luck,
repeating_skillsold_skill_max_dice: +values.maximum_dice_pool,
repeating_skillsold_skill_attrib: 'Luck',
repeating_skillsold_skill_attrib_score: +values.luck
})
}
else if(values.repeating_skillsold_skill_select == 9) {
setAttrs({
repeating_skillsold_skill_total: +values.repeating_skillsold_skill_rating + +values.repuation,
repeating_skillsold_skill_max_dice: +values.maximum_dice_pool,
repeating_skillsold_skill_attrib: 'Repuation',
repeating_skillsold_skill_attrib_score: +values.repuation
})
}
else if(values.repeating_skillsold_skill_select == 10) {
setAttrs({
repeating_skillsold_skill_total: +values.repeating_skillsold_skill_rating + +values.psionics,
repeating_skillsold_skill_max_dice: +values.maximum_dice_pool,
repeating_skillsold_skill_attrib: 'Psionics',
repeating_skillsold_skill_attrib_score: +values.psionics
})
}
else if(values.repeating_skillsold_skill_select == 11) {
setAttrs({
repeating_skillsold_skill_total: +values.repeating_skillsold_skill_rating + +values.magic,
repeating_skillsold_skill_max_dice: +values.maximum_dice_pool,
repeating_skillsold_skill_attrib: 'Magic',
repeating_skillsold_skill_attrib_score: +values.magic
})
}
});
});
// Creating Strength Dice Pool
on("change:strength_rank sheet:opened", function() {
getAttrs(["strength_rank"], function(values) {
if (values.strength_rank == 0) {
setAttrs({
strength: 0
})
}
else if(values.strength_rank >= 1 && values.strength_rank <= 2) {
setAttrs({
strength: 1
})
}
else if(values.strength_rank >= 3 && values.strength_rank <= 5) {
setAttrs({
strength: 2
})
}
else if(values.strength_rank >= 6 && values.strength_rank <= 9) {
setAttrs({
strength: 3
})
}
else if(values.strength_rank >= 10 && values.strength_rank <= 14) {
setAttrs({
strength: 4
})
}
else if(values.strength_rank >= 15 && values.strength_rank <= 20) {
setAttrs({
strength: 5
})
}
else if(values.strength_rank >= 21 && values.strength_rank <= 27) {
setAttrs({
strength: 6
})
}
else if(values.strength_rank >= 28 && values.strength_rank <= 35) {
setAttrs({
strength: 7
})
}
});
});
// Dice Pool Limit Str
on("change:strength change:strength_rank change:maximum_dice_pool sheet:opened", function() {
getAttrs(['strength', 'maximum_dice_pool'], function(values) {
setAttrs({
strength_1: (Math.floor(Math.min.apply(null, Object.values(values))))
});
});
});
// Creating agility Dice Pool
on("change:agility_rank sheet:opened", function() {
getAttrs(["agility_rank"], function(values) {
if (values.agility_rank == 0) {
setAttrs({
agility: 0
})
}
else if(values.agility_rank >= 1 && values.agility_rank <= 2) {
setAttrs({
agility: 1
})
}
else if(values.agility_rank >= 3 && values.agility_rank <= 5) {
setAttrs({
agility: 2
})
}
else if(values.agility_rank >= 6 && values.agility_rank <= 9) {
setAttrs({
agility: 3
})
}
else if(values.agility_rank >= 10 && values.agility_rank <= 14) {
setAttrs({
agility: 4
})
}
else if(values.agility_rank >= 15 && values.agility_rank <= 20) {
setAttrs({
agility: 5
})
}
else if(values.agility_rank >= 21 && values.agility_rank <= 27) {
setAttrs({
agility: 6
})
}
else if(values.agility_rank >= 28 && values.agility_rank <= 35) {
setAttrs({
agility: 7
})
}
});
});
// Dice Pool Limit agility
on("change:agility change:agility_rank change:maximum_dice_pool sheet:opened", function() {
getAttrs(['agility', 'maximum_dice_pool'], function(values) {
setAttrs({
agility_1: (Math.floor(Math.min.apply(null, Object.values(values))))
});
});
});
// Creating endurance Dice Pool
on("change:endurance_rank sheet:opened", function() {
getAttrs(["endurance_rank"], function(values) {
if (values.endurance_rank == 0) {
setAttrs({
endurance: 0
})
}
else if(values.endurance_rank >= 1 && values.endurance_rank <= 2) {
setAttrs({
endurance: 1
})
}
else if(values.endurance_rank >= 3 && values.endurance_rank <= 5) {
setAttrs({
endurance: 2
})
}
else if(values.endurance_rank >= 6 && values.endurance_rank <= 9) {
setAttrs({
endurance: 3
})
}
else if(values.endurance_rank >= 10 && values.endurance_rank <= 14) {
setAttrs({
endurance: 4
})
}
else if(values.endurance_rank >= 15 && values.endurance_rank <= 20) {
setAttrs({
endurance: 5
})
}
else if(values.endurance_rank >= 21 && values.endurance_rank <= 27) {
setAttrs({
endurance: 6
})
}
else if(values.endurance_rank >= 28 && values.endurance_rank <= 35) {
setAttrs({
endurance: 7
})
}
});
});
// Dice Pool Limit endurance
on("change:endurance change:endurance_rank change:maximum_dice_pool sheet:opened", function() {
getAttrs(['endurance', 'maximum_dice_pool'], function(values) {
setAttrs({
endurance_1: (Math.floor(Math.min.apply(null, Object.values(values))))
});
});
});
// Creating intuition Dice Pool
on("change:intuition_rank sheet:opened", function() {
getAttrs(["intuition_rank"], function(values) {
if (values.intuition_rank == 0) {
setAttrs({
intuition: 0
})
}
else if(values.intuition_rank >= 1 && values.intuition_rank <= 2) {
setAttrs({
intuition: 1
})
}
else if(values.intuition_rank >= 3 && values.intuition_rank <= 5) {
setAttrs({
intuition: 2
})
}
else if(values.intuition_rank >= 6 && values.intuition_rank <= 9) {
setAttrs({
intuition: 3
})
}
else if(values.intuition_rank >= 10 && values.intuition_rank <= 14) {
setAttrs({
intuition: 4
})
}
else if(values.intuition_rank >= 15 && values.intuition_rank <= 20) {
setAttrs({
intuition: 5
})
}
else if(values.intuition_rank >= 21 && values.intuition_rank <= 27) {
setAttrs({
intuition: 6
})
}
else if(values.intuition_rank >= 28 && values.intuition_rank <= 35) {
setAttrs({
intuition: 7
})
}
});
});
// Dice Pool Limit intuition
on("change:intuition change:intuition_rank change:maximum_dice_pool sheet:opened", function() {
getAttrs(['intuition', 'maximum_dice_pool'], function(values) {
setAttrs({
intuition_1: (Math.floor(Math.min.apply(null, Object.values(values))))
});
});
});
// Creating logic Dice Pool
on("change:logic_rank sheet:opened", function() {
getAttrs(["logic_rank"], function(values) {
if (values.logic_rank == 0) {
setAttrs({
logic: 0
})
}
else if(values.logic_rank >= 1 && values.logic_rank <= 2) {
setAttrs({
logic: 1
})
}
else if(values.logic_rank >= 3 && values.logic_rank <= 5) {
setAttrs({
logic: 2
})
}
else if(values.logic_rank >= 6 && values.logic_rank <= 9) {
setAttrs({
logic: 3
})
}
else if(values.logic_rank >= 10 && values.logic_rank <= 14) {
setAttrs({
logic: 4
})
}
else if(values.logic_rank >= 15 && values.logic_rank <= 20) {
setAttrs({
logic: 5
})
}
else if(values.logic_rank >= 21 && values.logic_rank <= 27) {
setAttrs({
logic: 6
})
}
else if(values.logic_rank >= 28 && values.logic_rank <= 35) {
setAttrs({
logic: 7
})
}
});
});
// Dice Pool Limit logic
on("change:logic change:logic_rank change:maximum_dice_pool sheet:opened", function() {
getAttrs(['logic', 'maximum_dice_pool'], function(values) {
setAttrs({
logic_1: (Math.floor(Math.min.apply(null, Object.values(values))))
});
});
});
// Creating willpower Dice Pool
on("change:willpower_rank sheet:opened", function() {
getAttrs(["willpower_rank"], function(values) {
if (values.willpower_rank == 0) {
setAttrs({
willpower: 0
})
}
else if(values.willpower_rank >= 1 && values.willpower_rank <= 2) {
setAttrs({
willpower: 1
})
}
else if(values.willpower_rank >= 3 && values.willpower_rank <= 5) {
setAttrs({
willpower: 2
})
}
else if(values.willpower_rank >= 6 && values.willpower_rank <= 9) {
setAttrs({
willpower: 3
})
}
else if(values.willpower_rank >= 10 && values.willpower_rank <= 14) {
setAttrs({
willpower: 4
})
}
else if(values.willpower_rank >= 15 && values.willpower_rank <= 20) {
setAttrs({
willpower: 5
})
}
else if(values.willpower_rank >= 21 && values.willpower_rank <= 27) {
setAttrs({
willpower: 6
})
}
else if(values.willpower_rank >= 28 && values.willpower_rank <= 35) {
setAttrs({
willpower: 7
})
}
});
});
// Dice Pool Limit willpower
on("change:willpower change:willpower_rank change:maximum_dice_pool sheet:opened", function() {
getAttrs(['willpower', 'maximum_dice_pool'], function(values) {
setAttrs({
willpower_1: (Math.floor(Math.min.apply(null, Object.values(values))))
});
});
});
// Creating charisma Dice Pool
on("change:charisma_rank sheet:opened", function() {
getAttrs(["charisma_rank"], function(values) {
if (values.charisma_rank == 0) {
setAttrs({
charisma: 0
})
}
else if(values.charisma_rank >= 1 && values.charisma_rank <= 2) {
setAttrs({
charisma: 1
})
}
else if(values.charisma_rank >= 3 && values.charisma_rank <= 5) {
setAttrs({
charisma: 2
})
}
else if(values.charisma_rank >= 6 && values.charisma_rank <= 9) {
setAttrs({
charisma: 3
})
}
else if(values.charisma_rank >= 10 && values.charisma_rank <= 14) {
setAttrs({
charisma: 4
})
}
else if(values.charisma_rank >= 15 && values.charisma_rank <= 20) {
setAttrs({
charisma: 5
})
}
else if(values.charisma_rank >= 21 && values.charisma_rank <= 27) {
setAttrs({
charisma: 6
})
}
else if(values.charisma_rank >= 28 && values.charisma_rank <= 35) {
setAttrs({
charisma: 7
})
}
});
});
// Dice Pool Limit charisma
on("change:charisma change:charisma_rank change:maximum_dice_pool sheet:opened", function() {
getAttrs(['charisma', 'maximum_dice_pool'], function(values) {
setAttrs({
charisma_1: (Math.floor(Math.min.apply(null, Object.values(values))))
});
});
});
// Creating luck Dice Pool
on("change:luck_rank sheet:opened", function() {
getAttrs(["luck_rank"], function(values) {
if (values.luck_rank == 0) {
setAttrs({
luck: 0,
luck_pool:0
})
}
else if(values.luck_rank >= 1 && values.luck_rank <= 2) {
setAttrs({
luck: 1,
luck_pool:1
})
}
else if(values.luck_rank >= 3 && values.luck_rank <= 5) {
setAttrs({
luck: 2,
luck_pool:2
})
}
else if(values.luck_rank >= 6 && values.luck_rank <= 9) {
setAttrs({
luck: 3,
luck_pool:3
})
}
else if(values.luck_rank >= 10 && values.luck_rank <= 14) {
setAttrs({
luck: 4,
luck_pool:4
})
}
else if(values.luck_rank >= 15 && values.luck_rank <= 20) {
setAttrs({
luck: 5,
luck_pool:5
})
}
else if(values.luck_rank >= 21 && values.luck_rank <= 27) {
setAttrs({
luck: 6,
luck_pool:6
})
}
else if(values.luck_rank >= 28 && values.luck_rank <= 35) {
setAttrs({
luck: 7,
luck_pool:7
})
}
});
});
// Dice Pool Limit luck
on("change:luck change:luck_rank change:maximum_dice_pool sheet:opened", function() {
getAttrs(['luck', 'maximum_dice_pool'], function(values) {
setAttrs({
luck_1: (Math.floor(Math.min.apply(null, Object.values(values))))
});
});
});
// Creating rep Dice Pool
on("change:repuation_rank sheet:opened", function() {
getAttrs(["repuation_rank"], function(values) {
if (values.repuation_rank == 0) {
setAttrs({
repuation: 0
})
}
else if(values.repuation_rank >= 1 && values.repuation_rank <= 2) {
setAttrs({
repuation: 1
})
}
else if(values.repuation_rank >= 3 && values.repuation_rank <= 5) {
setAttrs({
repuation: 2
})
}
else if(values.repuation_rank >= 6 && values.repuation_rank <= 9) {
setAttrs({
repuation: 3
})
}
else if(values.repuation_rank >= 10 && values.repuation_rank <= 14) {
setAttrs({
repuation: 4
})
}
else if(values.repuation_rank >= 15 && values.repuation_rank <= 20) {
setAttrs({
repuation: 5
})
}
else if(values.repuation_rank >= 21 && values.repuation_rank <= 27) {
setAttrs({
repuation: 6
})
}
else if(values.repuation_rank >= 28 && values.repuation_rank <= 35) {
setAttrs({
repuation: 7
})
}
});
});
// Dice Pool Limit repuation
on("change:repuation change:repuation_rank change:maximum_dice_pool sheet:opened", function() {
getAttrs(['repuation', 'maximum_dice_pool'], function(values) {
setAttrs({
repuation_1: (Math.floor(Math.min.apply(null, Object.values(values))))
});
});
});
// Creating psionics Dice Pool
on("change:psionics_rank sheet:opened", function() {
getAttrs(["psionics_rank"], function(values) {
if (values.psionics_rank == 0) {
setAttrs({
psionics: 0
})
}
else if(values.psionics_rank >= 1 && values.psionics_rank <= 2) {
setAttrs({
psionics: 1
})
}
else if(values.psionics_rank >= 3 && values.psionics_rank <= 5) {
setAttrs({
psionics: 2
})
}
else if(values.psionics_rank >= 6 && values.psionics_rank <= 9) {
setAttrs({
psionics: 3
})
}
else if(values.psionics_rank >= 10 && values.psionics_rank <= 14) {
setAttrs({
psionics: 4
})
}
else if(values.psionics_rank >= 15 && values.psionics_rank <= 20) {
setAttrs({
psionics: 5
})
}
else if(values.psionics_rank >= 21 && values.psionics_rank <= 27) {
setAttrs({
psionics: 6
})
}
else if(values.psionics_rank >= 28 && values.psionics_rank <= 35) {
setAttrs({
psionics: 7
})
}
});
});
// Dice Pool Limit psionics
on("change:psionics change:psionics_rank change:maximum_dice_pool sheet:opened", function() {
getAttrs(['psionics', 'maximum_dice_pool'], function(values) {
setAttrs({
psionics_1: (Math.floor(Math.min.apply(null, Object.values(values))))
});
});
});
// Creating magic Dice Pool
on("change:magic_rank sheet:opened", function() {
getAttrs(["magic_rank"], function(values) {
if (values.magic_rank == 0) {
setAttrs({
magic: 0
})
}
else if(values.magic_rank >= 1 && values.magic_rank <= 2) {
setAttrs({
magic: 1
})
}
else if(values.magic_rank >= 3 && values.magic_rank <= 5) {
setAttrs({
magic: 2
})
}
else if(values.magic_rank >= 6 && values.magic_rank <= 9) {
setAttrs({
magic: 3
})
}
else if(values.magic_rank >= 10 && values.magic_rank <= 14) {
setAttrs({
magic: 4
})
}
else if(values.magic_rank >= 15 && values.magic_rank <= 20) {
setAttrs({
magic: 5
})
}
else if(values.magic_rank >= 21 && values.magic_rank <= 27) {
setAttrs({
magic: 6
})
}
else if(values.magic_rank >= 28 && values.magic_rank <= 35) {
setAttrs({
magic: 7
})
}
});
});
// Dice Pool Limit magic
on("change:magic change:magic_rank change:maximum_dice_pool sheet:opened", function() {
getAttrs(['magic', 'maximum_dice_pool'], function(values) {
setAttrs({
magic_1: (Math.floor(Math.min.apply(null, Object.values(values))))
});
});
});
//Background Switches
on("change:sheet_type1 sheet:opened", function() {
getAttrs(["sheet_type1"], function(values) {
if (values.sheet_type1 == 0) {
setAttrs({
sheet_type2: 0,
sheet_type3: 0,
sheet_type4: 0,
sheet_type5: 0,
sheet_type6: 0,
sheet_type7: 0,
sheet_type8: 0,
sheet_type9: 0,
sheet_type10: 0,
sheet_type11: 0,
sheet_switch: 0,
sheet_switch1: 0,
sheet_switch2: 0,
sheet_switch3: 0,
sheet_switch4: 0,
sheet_switch5: 0,
sheet_switch6: 0,
sheet_switch7: 0,
sheet_switch8: 0,
sheet_switch9: 0,
sheet_switch10: 0
})
}
else if (values.sheet_type1 == 1) {
setAttrs({
sheet_type2: 1,
sheet_type3: 1,
sheet_type4: 1,
sheet_type5: 1,
sheet_type6: 1,
sheet_type7: 1,
sheet_type8: 1,
sheet_type9: 1,
sheet_type10: 1,
sheet_type11: 1,
sheet_switch: 1,
sheet_switch1: 1,
sheet_switch2: 1,
sheet_switch3: 1,
sheet_switch4: 1,
sheet_switch5: 1,
sheet_switch6: 1,
sheet_switch7: 1,
sheet_switch8: 1,
sheet_switch9: 1,
sheet_switch10: 1
})
}
});
});
//Damage Status
on("change:Acid sheet:opened", function() {
getAttrs(["Acid"], function(values) {
setAttrs({
Acid_level: +values.Acid
});
});
});
on("change:Ballistic sheet:opened", function() {
getAttrs(["Ballistic"], function(values) {
setAttrs({
Ballistic_level: +values.Ballistic
});
});
});
on("change:Blunt sheet:opened", function() {
getAttrs(["Blunt"], function(values) {
setAttrs({
Blunt_level: +values.Blunt
});
});
});
on("change:Cryo sheet:opened", function() {
getAttrs(["Cryo"], function(values) {
setAttrs({
Cryo_level: +values.Cryo
});
});
});
on("change:Electricity sheet:opened", function() {
getAttrs(["Electricity"], function(values) {
setAttrs({
Electricity_level: +values.Electricity
});
});
});
on("change:Force sheet:opened", function() {
getAttrs(["Force"], function(values) {
setAttrs({
Force_level: +values.Force
});
});
});
on("change:Heat sheet:opened", function() {
getAttrs(["Heat"], function(values) {
setAttrs({
Heat_level: +values.Heat
});
});
});
on("change:Ion sheet:opened", function() {
getAttrs(["Ion"], function(values) {
setAttrs({
Ion_level: +values.Ion
});
});
});
on("change:Piercing sheet:opened", function() {
getAttrs(["Piercing"], function(values) {
setAttrs({
Piercing_level: +values.Piercing
});
});
});
on("change:Poison sheet:opened", function() {
getAttrs(["Poison"], function(values) {
setAttrs({
Poison_level: +values.Poison
});
});
});
on("change:Psionic sheet:opened", function() {
getAttrs(["Psionic"], function(values) {
setAttrs({
Psionic_level: +values.Psionic
});
});
});
on("change:Radiation sheet:opened", function() {
getAttrs(["Radiation"], function(values) {
setAttrs({
Radiation_level: +values.Radiation
});
});
});
on("change:Slashing sheet:opened", function() {
getAttrs(["Slashing"], function(values) {
setAttrs({
Slashing_level: +values.Slashing
});
});
});
on("change:Stun sheet:opened", function() {
getAttrs(["Stun"], function(values) {
setAttrs({
Stun_level: +values.Stun
});
});
});
/* ---- BEGIN: TheAaronSheet.js ---- */
var TAS = TAS || (function(){
'use strict';
var version = '0.2.3',
lastUpdate = 1457098056,
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 momment.
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){
console.log(
'%c '+label+': %c '+message + ' ',
'background-color: '+lBGColor+';color: '+lTxtColor+'; font-weight:bold;',
'background-color: '+mBGColor+';color: '+mTxtColor+';'
);
};
return function(){
if('TAS'===key || config.logging[key]){
dataLogger(coloredLoggerFunction,function(m){console.log(m);},_.toArray(arguments));
}
};
},
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;
},
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+"(){"+
"TASlog('Entering: '+(cb.name||'(anonymous function)'));"+
"cb.apply(ctx||{},arguments);"+
"TASlog('Exiting: '+(cb.name||'(anonymous function)'));"+
"};")(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,
writeable: false,
enumerable: false
});
},
addProp = function(obj,prop,value,fullname){
(function(){
var pname=(_.contains(['S','F','I','D'],prop) ? '_'+prop : prop),
full_pname = fullname || prop,
pvalue=value;
_.each(['S','I','F'],function(p){
if( !_.has(obj,p)){
Object.defineProperty(obj, p, {
value: {},
enumerable: false,
readonly: true
});
}
});
if( !_.has(obj,'D')){
Object.defineProperty(obj, 'D', {
value: _.reduce(_.range(10),function(m,d){
Object.defineProperty(m, d, {
value: {},
enumerable: true,
readonly: true
});
return m;
},{}),
enumerable: false,
readonly: true
});
}
// Raw value
Object.defineProperty(obj, pname, {
enumerable: true,
set: function(v){
if(v!==pvalue) {
pvalue=v;
prepareUpdate(full_pname,v);
}
},
get: function(){
return pvalue;
}
});
// string value
Object.defineProperty(obj.S, pname, {
enumerable: true,
set: function(v){
var val=v.toString();
if(val !== pvalue) {
pvalue=val;
prepareUpdate(full_pname,val);
}
},
get: function(){
return pvalue.toString();
}
});
// int value
Object.defineProperty(obj.I, pname, {
enumerable: true,
set: function(v){
var val=parseInt(v,10) || 0;
if(val !== pvalue){
pvalue=val;
prepareUpdate(full_pname,val);
}
},
get: function(){
return parseInt(pvalue,10) || 0;
}
});
// float value
Object.defineProperty(obj.F, pname, {
enumerable: true,
set: function(v){
var val=parseFloat(v) || 0;
if(val !== pvalue) {
pvalue=val;
prepareUpdate(full_pname,val);
}
},
get: function(){
return parseFloat(pvalue) || 0;
}
});
_.each(_.range(10),function(d){
Object.defineProperty(obj.D[d], pname, {
enumerable: true,
set: function(v){
var val=(parseFloat(v) || 0).toFixed(d);
if(val !== pvalue){
pvalue=val;
prepareUpdate(full_pname,val);
}
},
get: function(){
return (parseFloat(pvalue) || 0).toFixed(d);
}
});
});
}());
},
repeating = function( section ) {
return (function(s){
var sectionName = s,
attrNames = [],
fieldNames = [],
operations = [],
after = [],
repAttrs = function TAS_Repeating_Attrs(){
attrNames = namesFromArgs(arguments,attrNames);
return this;
},
repFields = function TAS_Repeating_Fields(){
fieldNames = namesFromArgs(arguments,fieldNames);
return this;
},
repReduce = function TAS_Repeating_Reduce(func, initial, final, context) {
operations.push({
type: 'reduce',
func: (func && _.isFunction(func) && func) || _.noop,
memo: (_.isUndefined(initial) && 0) || initial,
final: (final && _.isFunction(final) && final) || _.noop,
context: context || {}
});
return this;
},
repMap = function TAS_Repeating_Map(func, final, context) {
operations.push({
type: 'map',
func: (func && _.isFunction(func) && func) || _.noop,
final: (final && _.isFunction(final) && final) || _.noop,
context: context || {}
});
return this;
},
repEach = function TAS_Repeating_Each(func, final, context) {
operations.push({
type: 'each',
func: (func && _.isFunction(func) && func) || _.noop,
final: (final && _.isFunction(final) && final) || _.noop,
context: context || {}
});
return this;
},
repTap = function TAS_Repeating_Tap(final, context) {
operations.push({
type: 'tap',
final: (final && _.isFunction(final) && final) || _.noop,
context: context || {}
});
return this;
},
repAfter = function TAS_Repeating_After(callback,context) {
after.push({
callback: (callback && _.isFunction(callback) && callback) || _.noop,
context: context || {}
});
return this;
},
repExecute = function TAS_Repeating_Execute(callback,context){
var rowSet = {},
attrSet = {},
fieldIds = [],
fullFieldNames = [];
repAfter(callback,context);
// call each operation per row.
// call each operation's final
getSectionIDs("repeating_"+sectionName,function(ids){
fieldIds = ids;
fullFieldNames = _.reduce(fieldIds,function(memo,id){
return memo.concat(_.map(fieldNames,function(name){
return 'repeating_'+sectionName+'_'+id+'_'+name;
}));
},[]);
getAttrs( _.uniq(attrNames.concat(fullFieldNames)), function(values){
_.each(attrNames,function(aname){
if(values.hasOwnProperty(aname)){
addProp(attrSet,aname,values[aname]);
}
});
rowSet = _.reduce(fieldIds,function(memo,id){
var r={};
addId(r,id);
_.each(fieldNames,function(name){
var fn = 'repeating_'+sectionName+'_'+id+'_'+name;
addProp(r,name,values[fn],fn);
});
memo[id]=r;
return memo;
},{});
_.each(operations,function(op){
var res;
switch(op.type){
case 'tap':
_.bind(op.final,op.context,rowSet,attrSet)();
break;
case 'each':
_.each(rowSet,function(r){
_.bind(op.func,op.context,r,attrSet,r.id,rowSet)();
});
_.bind(op.final,op.context,rowSet,attrSet)();
break;
case 'map':
res = _.map(rowSet,function(r){
return _.bind(op.func,op.context,r,attrSet,r.id,rowSet)();
});
_.bind(op.final,op.context,res,rowSet,attrSet)();
break;
case 'reduce':
res = op.memo;
_.each(rowSet,function(r){
res = _.bind(op.func,op.context,res,r,attrSet,r.id,rowSet)();
});
_.bind(op.final,op.context,res,rowSet,attrSet)();
break;
}
});
// finalize attrs
applyQueuedUpdates();
_.each(after,function(op){
_.bind(op.callback,op.context)();
});
});
});
};
return {
attrs: repAttrs,
attr: repAttrs,
column: repFields,
columns: repFields,
field: repFields,
fields: repFields,
reduce: repReduce,
inject: repReduce,
foldl: repReduce,
map: repMap,
collect: repMap,
each: repEach,
forEach: repEach,
tap: repTap,
'do': repTap,
after: repAfter,
last: repAfter,
done: repAfter,
execute: repExecute,
go: repExecute,
run: repExecute
};
}(section));
},
repeatingSimpleSum = function(section, field, destination){
repeating(section)
.attr(destination)
.field(field)
.reduce(function(m,r){
return m + (r.F[field]);
},0,function(t,r,a){
a.S[destination]=t;
})
.execute();
};
console.log('%c•.¸¸.•*´¨`*•.¸¸.•*´¨`*•.¸ The Aaron Sheet v'+version+' ¸.•*´¨`*•.¸¸.•*´¨`*•.¸¸.•','background: linear-gradient(to right,green,white,white,green); color:black;text-shadow: 0 0 8px white;');
console.log('%c•.¸¸.•*´¨`*•.¸¸.•*´¨`*•.¸ Last update: '+(new Date(lastUpdate*1000))+' ¸.•*´¨`*•.¸¸.•*´¨`*•.¸¸.•','background: linear-gradient(to right,green,white,white,green); color:black;text-shadow: 0 0 8px white;');
return {
/* Repeating Sections */
repeatingSimpleSum: repeatingSimpleSum,
repeating: repeating,
/* Configuration */
config: setConfigOption,
/* Debugging */
callback: wrapCallback,
callstack: logCallstack,
debugMode: debugMode,
_fn: wrapCallback,
/* Logging */
debug: logDebug,
error: logError,
warn: logWarn,
info: logInfo,
notice: logNotice,
log: logLog
};
}());
/* ---- END: TheAaronSheet.js ---- */
on('change:repeating_xp', function(){
TAS.repeatingSimpleSum('xp','cost','xp_spent_total');
});
</script>