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

4239 lines
228 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.
<!--
Authors: Chevron Allen (Cirnoble) built on the work of:
Uriah Brown (PanoramicPanda)
David Lee (camperdave)
Corin Stratton (cwstra)
Version 2.0.1
-->
<input type="hidden" name="attr_version" />
<input type="hidden" name="attr_CharType" class="sheet-creature" value="0" />
<div class="sheet-center-img">
<img src="http://i.imgur.com/Dm0WdCu.png" alt="PTU v1.05" />
</div>
<!-- Old Tabs -->
<div class="sheet-oldtab-group">
<div class="sheet-oldtab">
<input type="radio" name="attr_tab" class="sheet-oldtab sheet-oldtab1" value="1" checked="checked" />
<span title="Core Page"></span>
</div>
<div class="sheet-oldtab">
<input type="radio" name="attr_tab" class="sheet-oldtab sheet-oldtab3" value="3" />
<span title="Action Page" ></span>
</div>
<div class="sheet-oldtab">
<input type="radio" name="attr_tab" class="sheet-oldtab sheet-oldtab1" value="2" />
<span title="Notes Page"></span>
</div>
<div class="sheet-oldtab">
<input type="radio" name="attr_tab" class="sheet-oldtab sheet-oldtab4" value="4" />
<span title="Import Page" ></span>
</div>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<span>
<div class="sheet-oldtab">
<input type="radio" name="attr_whisper" class="sheet-oldtab" value="/w gm " checked="checked"/>
<span title="GM" ></span>
</div>
<div class="sheet-oldtab">
<input type="radio" name="attr_whisper" class="sheet-oldtab" value=" " />
<span title="Public" ></span>
</div>
</span>
&nbsp;&nbsp;&nbsp;&nbsp;
<span>
<div class="sheet-oldtab">
<input type="radio" name="attr_CharType" class="sheet-oldtab" value="0" checked/>
<span title="Pokemon" ></span>
</div>
<div class="sheet-oldtab">
<input type="radio" name="attr_CharType" class="sheet-oldtab" value="1" />
<span title="Trainer" ></span>
</div>
</span>
</div>
<br />
<input type="hidden" name="attr_tab" class="sheet-oldtab" value="1" />
<!-- Traditional -->
<div class="sheet-oldtab1">
<div class="sheet-main-header">
</div>
<!-- Main -->
<div class='sheet-main-block'>
<div class='sheet-col'>
<h3 class="sheet-header">Basic Info</h3>
<div class="sheet-table sheet-basic-info">
<input type="hidden" name="attr_CharType" class="sheet-creature" value="0" />
<!-- Name -->
<div class="sheet-row ">
<div style="width:20%">
<span class='sheet-label'>Name</span>
</div><div style="width:70%">
<span><input type="text" name="attr_character_name" style="width:100%"\></span>
</div>
</div>
<!-- Species -->
<div class="sheet-row sheet-pokemon">
<div style="width:20%">
<span class='sheet-label' >Species</span>
</div><div style="width:70%">
<span><input type="text" name="attr_species" style="width:100%"\></span>
</div>
</div>
<!-- Type -->
<div class="sheet-row sheet-pokemon">
<div style="width:20%">
<span class='sheet-label' >Type</span>
</div><div style="width:30%">
<input type="text" name='attr_type1' value='-' style="text-align:center" />
</div><div style="width:10%;text-align:center">
/
</div><div style="width:30%">
<input type="text" name='attr_type2' value='-' style="text-align:center" />
</div>
</div>
<!-- Gender | Age -->
<div class="sheet-row">
<input type="hidden" name="attr_CharType" class="sheet-creature" value="0"/>
<div style="width:20%">
<span class='sheet-label' >Gender</span>
</div><div style="width:40%">
<span><input type="text" name="attr_gender" style="width:100%"\></span>
</div><div class="sheet-trainer" style="width:10%">
<span class='sheet-label' >Age</span>
</div ><div style="width:20%" class="sheet-trainer">
<span ><input type="number" name="attr_age" style="width:100%"\></span>
</div>
</div>
<!-- Level -->
<div class="sheet-row">
<div style="width:20%">
<span class='sheet-label' >Level</span>
</div><div style="width:30%">
<span><input type="number" name="attr_level" style="width:45%" value="1" min='1' \></span>
</div><div style="width:10%">
<span class='sheet-label' >EXP</span>
</div><div style="width:30%">
<span>
<input type="number" name="attr_exp" value="0" min='0' style="width:45%"/> / <input type="number" name="attr_exp_max" value="10" min='0' style="width:45%"/>
</span>
</div>
</div>
<!-- Nature -->
<div class="sheet-row sheet-pokemon">
<div style="width:20%">
<span class='sheet-label' >Nature</span>
</div><div style="width:30%">
<span><input type="text" name="attr_nature" style="width:100%;text-align:center;" value="Composed"/></span>
</div><div style="width:20%">
<!-- span class='sheet-label'>High</span -->
<select name="attr_nature_high" style="margin-left:5px;width:90%" >
<option value="HP" >+HP</option>
<option value="ATK" >+ATK</option>
<option value="DEF" >+DEF</option>
<option value="SPATK" >+SPATK</option>
<option value="SPDEF" >+SPDEF</option>
<option value="SPEED" >+SPEED</option>
</select>
</div><div style="width:20%">
<!-- span class='sheet-label'>Low </span -->
<select name="attr_nature_low" style="margin-left:5px;width:90%">
<option value="HP" >-HP</option>
<option value="ATK" >-ATK</option>
<option value="DEF" >-DEF</option>
<option value="SPATK" >-SPATK</option>
<option value="SPDEF" >-SPDEF</option>
<option value="SPEED" >-SPEED</option>
</select>
</div>
</div>
<!-- Held Item -->
<div class="sheet-row sheet-pokemon">
<div style="width:20%">
<span class='sheet-label' >Held Item</span>
</div><div style="width:50%">
<span><input type="text" name="attr_heldItem" style="width:100%" /></span>
</div>
</div>
<!-- Size -->
<div class="sheet-row">
<div style="width:20%">
<input type="hidden" name="attr_CharType" class="sheet-creature" value="1">
<span class='sheet-label sheet-trainer' >Height</span>
<span class='sheet-label sheet-pokemon' >Size</span>
</div><div style="width:50%">
<span><input type="text" name="attr_height" style="width:100%;text-align:center" /></span>
</div>
</div>
<!-- Weight -->
<div class="sheet-row">
<div style="width:20%">
<span class='sheet-label' >Weight</span>
</div><div style="width:40%">
<span><input type="text" name="attr_weight" style="width:170px;text-align:center" /></span>
</div><div style="width:20%">
<span class='sheet-label' >Weight Class</span>
</div><div style="width:10%">
<span><input type="number" name="attr_weightClass" min='0' \></span>
</div>
</div>
<!-- Background -->
<div class="sheet-row sheet-trainer">
<div style="width:20%">
<span class='sheet-label' >Background</span>
</div><div style="width:70%">
<span><input type="text" name="attr_background" style="width:100%"\></span>
</div><div style="width:10%">
<span class="sheet-background sheet-hide-container">
<input type="hidden" name="attr_background_show" class="sheet-hide-swap" value="1"/>
<input type="checkbox" name="attr_background_show" value="1" checked/>
<img src="https://i.imgur.com/kwVsJmi.png" class="sheet-a"/>
<img src="https://i.imgur.com/PlZzvAT.png" class="sheet-b"/>
</span>
</div><input type="hidden" name="attr_background_show" class="sheet-hide-swap" value="1"/>
<div class="sheet-a sheet-background-body" style="width: 100%; border-top: 2px gray dotted">
<div class="sheet-background-row">
<span>Adept</span>
<input type="text" name="attr_background_adept" placeholder="1 Skill (4d6)"/>
</div>
<div class="sheet-background-row">
<span>Novice</span>
<input type="text" name="attr_background_novice" placeholder="1 Skill (3d6)"/>
</div>
<div class="sheet-background-row">
<span style="display: block;" >Pathetic</span>
<textarea name="attr_background_pathetic" placeholder="3 Skills (1d6)"></textarea>
</div>
</div>
</div>
<!-- AP -->
<div class="sheet-row sheet-trainer" style="border-bottom: 2px gray dotted">
<div style="width:20%">
<span class='sheet-label' >AP</span>
</div><div style="width:30%">
<span class="sheet-field" name="attr_ap" style="width:100%" ></span>
</div><div style="width:10%;text-align:center">
/
</div><div style="width:30%">
<span> <input type="number" name="attr_ap_max" style="width:100%" \> </span>
</div>
</div>
<!-- AP repeating -->
<div class="sheet-row sheet-trainer">
<fieldset class="repeating_apCost">
<div class="sheet-ap-item ">
<div style="width:30%">
<select name="attr_ap_reason" style="width:100%" value='Spent' >
<option>Spent</option>
<option>Drained</option>
<option>Bound</option>
</select>
</div><div style="width:20%">
<input type="number" name="attr_ap_cost" style="width:100%" value='0' />
</div><div style="width:50%">
<input type="text" name="attr_ap_descr" style="width:100%" placeholder='description'/>
</div>
</div>
</fieldset>
</div>
</div>
<br />
<h3 class="sheet-header">Stats</h3>
<!-- Stats -->
<table class='sheet-table sheet-basic-info'>
<tr>
<th>Stat</th>
<th>Base</th>
<th>Allocated</th>
<th>Bonus</th>
<th>Stage</th>
<th>Current</th>
</tr>
<tr>
<td class='sheet-table-header'>HP</td>
<td align="center"><input type='number' name='attr_base_HP' value ='10' ></td>
<td align='center'><input type='number' name='attr_HP' value = 0 ></td>
<td align='center'><input type='number' name='attr_HP_bonus' value = 0 ></td>
<td>&nbsp;</td>
<td align='center'><span class="sheet-field" name="attr_HP_total" style="width:100%" >0</span></td>
</tr>
<tr>
<td class='sheet-table-header'>Attack</td>
<td align="center"><input type='number' name='attr_base_ATK' value='5' ></td>
<td align='center'><input type='number' name='attr_ATK' value = 0 ></td>
<td align='center'><input type='number' name='attr_ATK_bonus' value = 0 ></td>
<td align='center'><select class='sheet-shortfield2' name='attr_ATK_Stage'>
<option value='0.4'>-6</option>
<option value='0.5'>-5</option>
<option value='0.6'>-4</option>
<option value='0.7'>-3</option>
<option value='0.8'>-2</option>
<option value='0.9'>-1</option>
<option value='1' selected>0</option>
<option value='1.2'>1</option>
<option value='1.4'>2</option>
<option value='1.6'>3</option>
<option value='1.8'>4</option>
<option value='2'>5</option>
<option value='2.2'>6</option>
</select></td>
<td align='center'><span class="sheet-field" style="width:100%" name="attr_ATK_total" >0</span></td>
</tr>
<tr>
<td class='sheet-table-header'>Defense</td>
<td align="center"><input type='number' name='attr_base_DEF' value='5' ></td>
<td align='center'><input type='number' name='attr_DEF' value = 0 ></td>
<td align='center'><input type='number' name='attr_DEF_bonus' value = 0 ></td>
<td align='center'><select class='sheet-shortfield2' name='attr_DEF_Stage'>
<option value='0.4'>-6</option>
<option value='0.5'>-5</option>
<option value='0.6'>-4</option>
<option value='0.7'>-3</option>
<option value='0.8'>-2</option>
<option value='0.9'>-1</option>
<option value='1' selected>0</option>
<option value='1.2'>1</option>
<option value='1.4'>2</option>
<option value='1.6'>3</option>
<option value='1.8'>4</option>
<option value='2'>5</option>
<option value='2.2'>6</option>
</select></td>
<td align='center'><span class="sheet-field" style="width:100%" name="attr_DEF_total">0</span></td>
</tr>
<tr>
<td class='sheet-table-header'>Special Attack</td>
<td align="center"><input type='number' name='attr_base_SPATK' value='5' ></td>
<td align='center'><input type='number' name='attr_SPATK' value = 0 ></td>
<td align='center'><input type='number' name='attr_SPATK_bonus' value = 0 ></td>
<td align='center'><select class='sheet-shortfield2' name='attr_SPATK_Stage'>
<option value='0.4'>-6</option>
<option value='0.5'>-5</option>
<option value='0.6'>-4</option>
<option value='0.7'>-3</option>
<option value='0.8'>-2</option>
<option value='0.9'>-1</option>
<option value='1' selected>0</option>
<option value='1.2'>1</option>
<option value='1.4'>2</option>
<option value='1.6'>3</option>
<option value='1.8'>4</option>
<option value='2'>5</option>
<option value='2.2'>6</option>
</select></td>
<td align='center'><span class="sheet-field" style="width:100%" name="attr_SPATK_total">0</span></td>
</tr>
<tr>
<td class='sheet-table-header'>Special Defense</td>
<td align="center"><input type='number' name='attr_base_SPDEF' value='5' ></td>
<td align='center'><input type='number' name='attr_SPDEF' value = 0 ></td>
<td align='center'><input type='number' name='attr_SPDEF_bonus' value = 0 ></td>
<td align='center'><select class='sheet-shortfield2' name='attr_SPDEF_Stage'>
<option value='0.4'>-6</option>
<option value='0.5'>-5</option>
<option value='0.6'>-4</option>
<option value='0.7'>-3</option>
<option value='0.8'>-2</option>
<option value='0.9'>-1</option>
<option value='1' selected>0</option>
<option value='1.2'>1</option>
<option value='1.4'>2</option>
<option value='1.6'>3</option>
<option value='1.8'>4</option>
<option value='2'>5</option>
<option value='2.2'>6</option>
</select></td>
<td align='center'><span class="sheet-field" style="width:100%" name="attr_SPDEF_total">0</span></td>
</tr>
<tr style="border-bottom: 2px gray dotted;">
<td class='sheet-table-header'>Speed</td>
<td align="center"><input type='number' name='attr_base_SPEED' value='5' ></td>
<td align='center'><input type='number' name='attr_SPEED' value = 0 ></td>
<td align='center'><input type='number' name='attr_SPEED_bonus' value = 0 ></td>
<td align='center'><select class='sheet-shortfield2' name='attr_SPEED_Stage'>
<option value='0.4'>-6</option>
<option value='0.5'>-5</option>
<option value='0.6'>-4</option>
<option value='0.7'>-3</option>
<option value='0.8'>-2</option>
<option value='0.9'>-1</option>
<option value='1' selected>0</option>
<option value='1.2'>1</option>
<option value='1.4'>2</option>
<option value='1.6'>3</option>
<option value='1.8'>4</option>
<option value='2'>5</option>
<option value='2.2'>6</option>
</select></td>
<td align='center'><span class="sheet-field" style="width:100%" name="attr_SPEED_total">0</span></td>
</tr>
<tr>
<td class='sheet-table-header'>Accuracy Bonus</td>
<td align="center">&nbsp;</td>
<td align='center'>&nbsp;</td>
<td align='center'><input type='number' name='attr_Acc_bonus' value = 0 ></td>
<td align='center'><select class='sheet-shortfield2' name='attr_Acc'>
<option value='-6'>-6</option>
<option value='-5'>-5</option>
<option value='-4'>-4</option>
<option value='-3'>-3</option>
<option value='-2'>-2</option>
<option value='-1'>-1</option>
<option value='0' selected>0</option>
<option value='1'>1</option>
<option value='2'>2</option>
<option value='3'>3</option>
<option value='4'>4</option>
<option value='5'>5</option>
<option value='6'>6</option>
</select></td>
<td align='center'>
<input type="hidden" name="attr_Acc_total" value="0"/>
<span class="sheet-field" style="width:100%" name="attr_Acc_total">0</span></td>
</tr>
<tr>
<td class='sheet-table-header'>Evasion Bonus</td>
<td align="center">&nbsp;</td>
<td align='center'>&nbsp;</td>
<td align='center'><input type='number' name='attr_Eva_bonus' value = 0 ></td>
<td align='center'><select class='sheet-shortfield2' name='attr_Eva'>
<option value='-6'>-6</option>
<option value='-5'>-5</option>
<option value='-4'>-4</option>
<option value='-3'>-3</option>
<option value='-2'>-2</option>
<option value='-1'>-1</option>
<option value='0' selected>0</option>
<option value='1'>1</option>
<option value='2'>2</option>
<option value='3'>3</option>
<option value='4'>4</option>
<option value='5'>5</option>
<option value='6'>6</option>
</select></td>
<td align='center'><span class="sheet-field" style="width:100%" name="attr_Eva_total">0</span></td>
</tr>
<tr>
<td colspan="1" class='sheet-table-header'>Damage Bonus</td>
<td colspan="4" align="center">&nbsp;</td>
<td align="center"><input type='number' value='0' name='attr_dmg_bonus' style="width:55px"/></td>
</tr>
<tr>
<td colspan="1" class='sheet-table-header'>Damage Resistance</td>
<td colspan="4" align="center">&nbsp;</td>
<td align="center"><input type='number' value='0' name='attr_dam_R' style="width:55px"/></td>
</tr>
<tr>
<td colspan="1" class='sheet-table-header'>Critical Range Bonus</td>
<td colspan="4" align="center">&nbsp;</td>
<td align="center"><input type='number' value='0' name='attr_crit_mod' style="width:55px"/></td>
</tr>
<tr>
<td colspan="1" class='sheet-table-header'>Initiative</td>
<td colspan="2" align="center">&nbsp;</td>
<td colspan="1" align="center"><input type ='number' value = '0' name='attr_init_bonus'></td>
<td colspan="1" align="center">&nbsp;</td>
<td colspan="1" align="center"><button type='roll' style="width: 45px;" value="@{whisper} &{template:PTU}{{title= @{character_name}'s Initiative }}{{message= [[@{SPEED_total} + @{init_bonus} + ([[1d20 ]] / 100) &{tracker}]] }}" name='roll_init' /></td>
</tr>
</table>
<br/>
<!-- Quick Notes -->
<h3 class="sheet-header">Notes</h3>
<div>
<textarea name='attr_notes' style="height: 350px;"></textarea>
</div>
</div>
<div class='sheet-col'>
<!-- Health & Injuries -->
<h3 class="sheet-header">HP</h3>
<div class="sheet-table sheet-basic-info">
<input type="hidden" name="attr_Injuries" value="0" />
<input type="hidden" name="attr_CharType" class="sheet-creature" value="0" />
<div class="sheet-row">
<button type='roll' name='act_calcDamage' style="width:100%; margin:0px;" value="@{whisper} &{template:default} {{name= @{character_name} Damage Calculation}} {{Damage Taken= [[?{Damage|0}]] }} {{After Defenses= [[(?{Damage} - @{dam_R}) - ?{Category|Physical, @{DEF_total}|Special,@{SPDEF_total}|Other, 0} )]] }} {{After Type = [[floor( [[( (?{Damage} - @{dam_R}) - ?{Category|Physical, @{DEF_total}|Special,@{SPDEF_total}|Other, 0}) * ?{Effectiveness|Immune, 0|Triple Resisted, 0.125|Double Resisted, 0.25|Resisted, 0.5|Normal, 1|Effective, 1.5| Double Effective, 2| Triple Effective,3} ]] )]] }}">Calculate Damage</button>
</div>
<div class="sheet-row">
<div style="width:50%">
<span class='sheet-label' >Temporary Hit Points</span>
</div><div style="width:30%">
<span><input type="number" name="attr_TempHitPoints" style="width:100%" value='0' \></span>
</div>
</div>
<div class="sheet-row">
<div style="width:50%">
<span class='sheet-label' >Current Hit Points</span>
</div><div style="width:30%">
<span><input type="number" name="attr_HitPoints" style="width:100%" value='0' \></span>
</div>
</div>
<div class="sheet-row">
<div style="width:50%">
<span class='sheet-label' >Current Max Hit Points</span>
</div><div style="width:30%">
<!--span><input type="number" name="attr_HitPoints_max" style="width:100%" value='10' \></span-->
<span class="sheet-field" name="attr_HitPoints_max" style="width:100%" >10</span>
</div>
</div>
<div class="sheet-row">
<div style="width:50%">
<span class='sheet-label' >Max Hit Points</span>
</div><div style="width:30%">
<span><input type="number" name="attr_HitPoints_permmax" style="width:100%" value='10'\></span>
</div>
</div>
<div class="sheet-row">
<div style="width:50%">
<span class='sheet-label' >Injuries</span>
</div><div style="width:30%">
<input type="hidden" name="attr_Injuries_max" value='10' \>
<span><input type="number" name="attr_Injuries" style="width:100%" value='0' \></span>
</div>
</div>
</div>
<br/>
<!-- HP Markers -->
<h3 class='sheet-header'>HP Markers</h3>
<div class="sheet-table sheet-basic-info">
<div class="sheet-row">
<div style="width:30%">
<span class='sheet-label' >75%</span>
</div><div style="width:20%">
<span class="sheet-field" name="attr_a75_hp" style="width:100%"></span>
</div><div style="width:5%">
</div><div style="width:25%">
<span class='sheet-label' >50%</span>
</div><div style="width:20%">
<span class="sheet-field" name="attr_a50_hp" style="width:100%"></span>
</div>
</div>
<div class="sheet-row">
<div style="width:30%">
<span class='sheet-label' >25%</span>
</div><div style="width:20%">
<span class="sheet-field" name="attr_a25_hp" style="width:100%"></span>
</div><div style="width:5%">
</div><div style="width:25%">
<span class='sheet-label' >1/3rd</span>
</div><div style="width:20%">
<span class="sheet-field" name="attr_a13_hp" style="width:100%"></span>
</div>
</div>
<div class="sheet-row">
<div style="width:30%">
<span class='sheet-label' >1/6th</span>
</div><div style="width:20%">
<span class="sheet-field" name="attr_a16_hp" style="width:100%"></span>
</div><div style="width:5%">
</div><div style="width:25%">
<span class='sheet-label' >1/8th</span>
</div><div style="width:20%">
<span class="sheet-field" name="attr_a18_hp" style="width:100%"></span>
</div>
</div>
<div class="sheet-row">
<div style="width:30%">
<span class='sheet-label' >1/10th (Tick)</span>
</div><div style="width:20%">
<span class="sheet-field" name="attr_a110_hp" style="width:100%"></span>
</div><div style="width:5%">
</div><div style="width:25%">
<span class='sheet-label' >1/16th</span>
</div><div style="width:20%">
<span class="sheet-field" name="attr_a116_hp" style="width:100%"></span>
</div>
</div>
</div>
<br />
<!-- Evasions -->
<h3 class="sheet-header">Evasions</h3>
<div class="sheet-table sheet-basic-info sheet-evasions">
<div class="sheet-row">
<div >
<span class='sheet-label' >Physical</span>
</div><div >
<span class="sheet-field" style="width:100%" name='attr_PhysEvade'>0</span>
</div><div >
<span style="display:block;text-align:center">+</span>
</div><div >
<input type='number' style="width:100%" name='attr_PEB' value="0"/>
</div><div >
<span style="display:block;text-align:center">=</span>
</div><div >
<input type="hidden" name="attr_PhysEvade" value="0"/>
<input type="hidden" name="attr_PhysEvade_calc" value="0"/>
<span class="sheet-field" style="width:100%" name='attr_PhysEvade_calc'>0</span>
</div>
</div>
<div class="sheet-row">
<div >
<span class='sheet-label' >Special</span>
</div><div >
<span class="sheet-field" style="width:100%" name='attr_SpecEvade'>0</span>
</div><div >
<span style="display:block;text-align:center">+</span>
</div><div>
<input type='number' style="width:100%" name='attr_ScEB' value="0"/>
</div><div >
<span style="display:block;text-align:center">=</span>
</div><div >
<input type="hidden" name="attr_SpecEvade" value="0"/>
<input type="hidden" name="attr_SpecEvade_calc" value="0"/>
<span class="sheet-field" style="width:100%" name='attr_SpecEvade_calc'>0</span>
</div>
</div>
<div class="sheet-row">
<div >
<span class='sheet-label' >Speed</span>
</div><div >
<span class="sheet-field" style="width:100%" name='attr_SpeedEvade'>0</span>
</div><div >
<span style="display:block;text-align:center">+</span>
</div><div >
<input type='number' style="width:100%" name='attr_SpEB' value="0" />
</div><div >
<span style="display:block;text-align:center">=</span>
</div><div >
<input type="hidden" name="attr_SpeedEvade" value="0"/>
<input type="hidden" name="attr_SpeedEvade_calc" value="0"/>
<span class="sheet-field" style="width:100%" name='attr_SpeedEvade_calc'>0</span>
</div>
</div>
</div>
<br />
<!-- Capabilities -->
<h3 class="sheet-header">Capabilities</h3>
<div class="sheet-table sheet-basic-info">
<input type="hidden" name="attr_CharType" class="sheet-creature" value="0" />
<div class="sheet-row ">
<div style="width:30%">
<span class='sheet-label' >Overland</span>
</div><div style="width:15%">
<input type="number" name='attr_Overland' style="width:100%" value='0' />
</div><div style="width:10%">
<span style="display:block;text-align:center">+</span>
</div><div style="width:15%">
<input type="number" name="attr_Overland_bonus" style="width:100%" value="0" />
</div><div style="width:10%">
<span style="display:block;text-align:center">=</span>
</div><div style="width:20%">
<input type="hidden" name="attr_Overland_calc" value="0" />
<span name="attr_Overland_calc" style="width:100%" class="sheet-field">0</span>
</div>
</div>
<div class="sheet-row ">
<div style="width:30%">
<span class='sheet-label' >Swim</span>
</div><div style="width:15%">
<input type="number" name='attr_Swim' style="width:100%" value='0' />
</div><div style="width:10%">
<span style="display:block;text-align:center">+</span>
</div><div style="width:15%">
<input type="number" name="attr_Swim_bonus" style="width:100%" value="0" />
</div><div style="width:10%">
<span style="display:block;text-align:center">=</span>
</div><div style="width:20%">
<input type="hidden" name="attr_Swim_calc" value="0" />
<span name="attr_Swim_calc" style="width:100%" class="sheet-field">0</span>
</div>
</div>
<div class="sheet-row ">
<div style="width:30%">
<span class='sheet-label' >Long Jump</span>
</div><div style="width:15%">
<input type="number" name='attr_LJ' style="width:100%" value='0' />
</div><div style="width:10%">
<span style="display:block;text-align:center">+</span>
</div><div style="width:15%">
<input type="number" name="attr_LJ_bonus" style="width:100%" value="0" />
</div><div style="width:10%">
<span style="display:block;text-align:center">=</span>
</div><div style="width:20%">
<input type="hidden" name="attr_LJ_calc" value="0" />
<span name="attr_LJ_calc" style="width:100%" class="sheet-field">0</span>
</div>
</div>
<div class="sheet-row ">
<div style="width:30%">
<span class='sheet-label' >High Jump</span>
</div><div style="width:15%">
<input type="number" name='attr_HJ' style="width:100%" value='0' />
</div><div style="width:10%">
<span style="display:block;text-align:center">+</span>
</div><div style="width:15%">
<input type="number" name="attr_HJ_bonus" style="width:100%" value="0" />
</div><div style="width:10%">
<span style="display:block;text-align:center">=</span>
</div><div style="width:20%">
<input type="hidden" name="attr_HJ_calc" value="0" />
<span name="attr_HJ_calc" style="width:100%" class="sheet-field">0</span>
</div>
</div>
<div class="sheet-row ">
<div style="width:30%">
<span class='sheet-label' >Power</span>
</div><div style="width:15%">
<input type="number" name='attr_Power' style="width:100%" value='0' />
</div><div style="width:10%">
<span style="display:block;text-align:center">+</span>
</div><div style="width:15%">
<input type="number" name="attr_Power_bonus" style="width:100%" value="0" />
</div><div style="width:10%">
<span style="display:block;text-align:center">=</span>
</div><div style="width:20%">
<input type="hidden" name="attr_Power_calc" value="0" />
<span name="attr_Power_calc" style="width:100%" class="sheet-field">0</span>
</div>
</div>
<div class="sheet-row " style="border-bottom: 2px gray dotted">
<div style="width:30%">
<span class='sheet-label' >Throw</span>
</div><div style="width:15%">
<input type="number" name='attr_Throw' style="width:100%" value='0' />
</div><div style="width:10%">
<span style="display:block;text-align:center">+</span>
</div><div style="width:15%">
<input type="number" name="attr_Throw_bonus" style="width:100%" value="0" />
</div><div style="width:10%">
<span style="display:block;text-align:center">=</span>
</div><div style="width:20%">
<input type="hidden" name="attr_Throw_calc" value="0" />
<span name="attr_Throw_calc" style="width:100%" class="sheet-field">0</span>
</div>
</div>
<div class="sheet-row ">
<fieldset class="repeating_capabilities">
<div class="sheet-cap-item">
<div style="width:10%">
</div><div style="width:60%">
<input type="text" name="attr_Capability" />
</div><div style="width:10%">
</div><div style="width:20%">
<input type="number" name="attr_Capability_Rank" />
</div>
</div>
</fieldset>
</div>
</div>
<br />
<!-- Status Effects -->
<h3 class="sheet-header">Status Conditions</h3>
<h4 class='sheet-minihead'>Persistent Statuses</h4>
<table class='sheet-table sheet-status-table'>
<tr >
<td style="width:25%" >
<input type='checkbox' value='1' name='attr_st_burn' title="Defense -2 CS. 1 Tick per Standard Action"/>
<span>Burned</span>
</td>
<td style="width:25%" >
<input type='checkbox' value='1' name='attr_st_froz' title="No Actions. DC 16 Save Check. Vulnerable" />
<span>Frozen</span>
</td>
<td style="width:25%" >
<input type='checkbox' value='1' name='attr_st_para' title="Half Initiative. DC 11 Save or:
- Standard OR Shift Action
- Vulnerable
- No AoO" />
<span>Paralysis</span>
</td>
<td style="width:25%" >
<input type='checkbox' value='1' name='attr_st_pois' title="SpDef -2 CS. 1 Tick Per Standard Taken/Skipped" />
<span>Poisoned </span>
</td>
</tr>
<tr>
<td colspan='4'>
<input type='checkbox' value='2' name='attr_st_pois' title="SpDef -2 CS. HP Loss 5,10,20,40... per Standard Taken/Skipped" />
<span>Badly Poisoned</span>
</td>
</tr>
</table>
<h4 class='sheet-minihead'>Volatile Statuses</h4>
<table class='sheet-table sheet-status-table'>
<tr>
<td style="width:50%" >
<input type='checkbox' value='1' name='attr_st_bads' title="2 ticks per Sleep Save" />
<span>Bad Sleep</span>
</td>
<td style="width:50%" >
<input type='checkbox' value='1' name='attr_st_conf' title="No AoO. After you attack, roll 1d2.
On a 1, lose Hit Points equal to ½ Attack / ½ Special Attack / Two Ticks.
Cured by a DC 16 Save." />
<span>Confused</span>
</td>
</tr>
<tr>
<td colspan='1'>
<input type='checkbox' value='1' name='attr_st_curs' title="2 ticks per Standard Action Taken" />
<span>Cursed</span>
</td>
<td colspan='1'>
<input type='checkbox' value='1' name='attr_st_disa' title="Disables a move. Stacks" />
<span>Disabled</span>
</td>
</tr>
<tr>
<td colspan='1'>
<input type='checkbox' value='1' name='attr_st_rage' title="Must use damaging Phys/Spec move or Struggle" />
<span>Rage</span>
</td>
<td colspan='1'>
<input type='checkbox' value='1' name='attr_st_flin' title="Lower Initiative by 5. Vulnerable. Stacks; Switching removes the Initiative penalty." />
<span>Flinch</span>
</td>
</tr>
<tr>
<td colspan='1'>
<input type='checkbox' value='1' name='attr_st_infa' title="-5 penalty on all Damage Rolls that do not include their Crush as a target.
Half ATK/SPATK on Damage Rolls that do include your Crush;
The user is cured with a DC 16 Save." />
<span>Infatuation</span>
</td>
<td colspan='1'>
<input type='checkbox' value='1' name='attr_st_slee' title="DC 16 Save Check. Vulnerable" />
<span>Sleep</span>
</td>
</tr>
<tr>
<td colspan='2'>
<input type='checkbox' value='1' name='attr_st_supp' title="1 Round. Only use “At-Will” Moves." />
<span>Suppressed</span>
</td>
</tr>
</table>
<h4 class='sheet-minihead'>Other Statuses</h4>
<table class='sheet-table sheet-status-table'>
<tr>
<td style="width:50%" >
<input type='checkbox' value='1' name='attr_st_fain' title="Fainted Effects on pg 248 Core. Vulnerable" />
<span>Fainted</span>
</td>
<td style="width:50%">
<input type='checkbox' value='1' name='attr_st_blin' title="-6 Accuracy penalty. DC 10 Acro on Rough/Slow terrain. Vulnerable" />
<span>Blindness</span>
</td>
</tr>
<tr>
<td colspan='1'>
<input type='checkbox' value='1' name='attr_st_tota' title="-10 Accuracy penalty. No Priority/Interrupts. Vulnerable" />
<span>Total Blindness</span>
</td>
<td colspan='1'>
<input type='checkbox' value='1' name='attr_st_slow' title="Half Movement (min 1)" />
<span>Slowed</span>
</td>
</tr>
<tr>
<td colspan='1'>
<input type='checkbox' value='1' name='attr_st_stuc' title="No Shift. No Speed Evasion." />
<span>Stuck</span>
</td>
<td colspan='1'>
<input type='checkbox' value='1' name='attr_st_trap' title="Cannot be Recalled" />
<span>Trapped</span>
</td>
</tr>
<tr>
<td colspan='1'>
<input type='checkbox' value='1' name='attr_st_trip' title="Spend Shift action to stand. Vulnerable" />
<span>Tripped</span>
</td>
<td colspan='1'>
<input type='checkbox' value='1' name='attr_st_vuln' title="No Evasion" />
<span>Vulnerable</span>
</td>
</tr>
</table>
<h4 class='sheet-minihead' style="border-bottom: 2px gray dotted">Custom Statuses</h4>
<div class="sheet-custom-status">
<fieldset class='repeating_custom-status'>
<!--table class='sheet-table'>
<td class="sheet-table-header" style="width:70%">
<input type='text' name='attr_status_name'/>
</td>
<td>
<input type='checkbox' value='1' name='attr_status_state'/>
</td>
</table-->
<div class="sheet-custom-status-item sheet-row">
<div class="sheet-custom-status-name">
<input type='text' name='attr_status_name' style="width:100%" />
</div><div class="sheet-custom-status-check">
<input type='checkbox' value='1' name='attr_status_state' />
</div>
</div>
</fieldset>
</div>
</div>
</div>
<br />
<!-- Skills -->
<div class='sheet-row'>
<h3 class="sheet-header">Skills</h3>
<br />
<table class='sheet-left-half-table' STYLE="margin-bottom: 20px;">
<tr align = "center">
<th class='sheet-minihead'>Skill Name</th>
<th class='sheet-minihead'>Rank</th>
<th class='sheet-minihead'>Other Modifiers</th>
<th class='sheet-minihead'>Roll</th>
</tr>
<tr align = "center">
<td class='sheet-table-header'>Acrobatics</td>
<td><input type='number' name='attr_Acrobatics' value='2'/> d6+</td>
<td><input type='number' name='attr_Acrobatics_bonus' value='0'/></td>
<td><button type='roll' value='@{whisper} &{template:PTU} {{nick=@{character_name}}} {{skill=Acrobatics}} {{SL=[[@{Acrobatics}d6+@{Acrobatics_bonus}]]}}' name='roll_AcrobaticsCheck' /></td>
</tr>
<tr align = "center">
<td class='sheet-table-header'>Athletics</td>
<td><input type='number' name='attr_Athletics' value='2'/> d6+</td>
<td><input type='number' name='attr_Athletics_bonus' value='0'/></td>
<td><button type='roll' value='@{whisper} &{template:PTU} {{nick=@{character_name}}} {{skill=Athletics}} {{SL=[[@{Athletics}d6+@{Athletics_bonus}]]}}' name='roll_AthleticsCheck'/></td>
</tr>
<tr align = "center">
<td class='sheet-table-header'>Combat</td>
<td><input type='number' name='attr_Combat' value='2'/> d6+</td>
<td><input type='number' name='attr_Combat_bonus' value='0'/></td>
<td><button type='roll' value='@{whisper} &{template:PTU} {{nick=@{character_name}}} {{skill=Combat}} {{SL=[[@{Combat}d6+@{Combat_bonus}]]}}' name='roll_CombatCheck'/></td>
</tr>
<tr align = "center">
<td class='sheet-table-header'>Intimidate</td>
<td><input type='number' name='attr_Intimidate' value='2'/> d6+</td>
<td><input type='number' name='attr_Intimidate_bonus' value='0'/></td>
<td><button type='roll' value='@{whisper} &{template:PTU} {{nick=@{character_name}}} {{skill=Intimidate}} {{SL=[[@{Intimidate}d6+@{Intimidate_bonus}]]}}' name='roll_IntimidateCheck'/></td>
</tr>
<tr align = "center">
<td class='sheet-table-header'>Stealth</td>
<td><input type='number' name='attr_Stealth' value='2'/> d6+</td>
<td><input type='number' name='attr_Stealth_bonus' value='0'/></td>
<td><button type='roll' value='@{whisper} &{template:PTU} {{nick=@{character_name}}} {{skill=Stealth}} {{SL=[[@{Stealth}d6+@{Stealth_bonus}]]}}' name='roll_StealthCheck'/></td>
</tr>
<tr align = "center">
<td class='sheet-table-header'>Survival</td>
<td><input type='number' name='attr_Survival' value='2'/> d6+</td>
<td><input type='number' name='attr_Survival_bonus' value='0'/></td>
<td><button type='roll' value='@{whisper} &{template:PTU} {{nick=@{character_name}}} {{skill=Survival}} {{SL=[[@{Survival}d6+@{Survival_bonus}]]}}' name='roll_SurvivalCheck'/></td>
</tr>
<tr align = "center">
<td class='sheet-table-header'>General Education</td>
<td><input type='number' name='attr_GeneralEducation' value='2'/> d6+</td>
<td><input type='number' name='attr_GeneralEducation_bonus' value='0'/></td>
<td><button type='roll' value='@{whisper} &{template:PTU} {{nick=@{character_name}}} {{skill=General Education}} {{SL=[[@{GeneralEducation}d6+@{GeneralEducation_bonus}]]}}' name='roll_GeneralEducationCheck'/></td>
</tr>
<tr align = "center">
<td class='sheet-table-header'>Medicine Education</td>
<td><input type='number' name='attr_MedicineEducation' value='2'/> d6+</td>
<td><input type='number' name='attr_MedicineEducation_bonus' value='0'/></td>
<td><button type='roll' value='@{whisper} &{template:PTU} {{nick=@{character_name}}} {{skill=Medicine Education}} {{SL=[[@{MedicineEducation}d6+@{MedicineEducation_bonus}]]}}' name='roll_MedicineEducationCheck' /></td>
</tr>
<tr align = "center">
<td class='sheet-table-header'>Occult Education</td>
<td><input type='number' name='attr_OccultEducation' value='2'/> d6+</td>
<td><input type='number' name='attr_OccultEducation_bonus' value='0'/></td>
<td><button type='roll' value='@{whisper} &{template:PTU} {{nick=@{character_name}}} {{skill=Occult Education}} {{SL=[[@{OccultEducation}d6+@{OccultEducation_bonus}]]}}' name='roll_OccultEducationCheck' /></td>
</tr>
</table>
<table class='sheet-right-half-table'>
<tr align = "center">
<th class='sheet-minihead'>Skill Name</th>
<th class='sheet-minihead'>Rank</th>
<th class='sheet-minihead'>Other Modifiers</th>
<th class='sheet-minihead'>Roll</th>
</tr>
<tr align = "center">
<td class='sheet-table-header'>Pokemon Education</td>
<td><input type='number' name='attr_PokemonEducation' value='2'/> d6+</td>
<td><input type='number' name='attr_PokemonEducation_bonus' value='0'/></td>
<td><button type='roll' value='@{whisper} &{template:PTU} {{nick=@{character_name}}} {{skill=Pokemon Education}} {{SL=[[@{PokemonEducation}d6+@{PokemonEducation_bonus}]]}}' name='roll_PokemonEducationCheck' /></td>
</tr>
<tr align = "center">
<td class='sheet-table-header'>Technology Education</td>
<td><input type='number' name='attr_TechnologyEducation' value='2'/> d6+</td>
<td><input type='number' name='attr_TechnologyEducation_bonus' value='0'/></td>
<td><button type='roll' value='@{whisper} &{template:PTU} {{nick=@{character_name}}} {{skill=Technology Education}} {{SL=[[@{TechnologyEducation}d6+@{TechnologyEducation_bonus}]]}}' name='roll_TechnologyEducationCheck' /></td>
</tr>
<tr align = "center">
<td class='sheet-table-header'>Guile</td>
<td><input type='number' name='attr_Guile' value='2'/> d6+</td>
<td><input type='number' name='attr_Guile_bonus' value='0'/></td>
<td><button type='roll' value='@{whisper} &{template:PTU} {{nick=@{character_name}}} {{skill=Guile}} {{SL=[[@{Guile}d6+@{Guile_bonus}]]}}' name='roll_GuileCheck' /></td>
</tr>
<tr align = "center">
<td class='sheet-table-header'>Perception</td>
<td><input type='number' name='attr_Perception' value='2'/> d6+</td>
<td><input type='number' name='attr_Perception_bonus' value='0'/></td>
<td><button type='roll' value='@{whisper} &{template:PTU} {{nick=@{character_name}}} {{skill=Perception}} {{SL=[[@{Perception}d6+@{Perception_bonus}]]}}' name='roll_PerceptionCheck' /></td>
</tr>
<tr align = "center">
<td class='sheet-table-header'>Charm</td>
<td><input type='number' name='attr_Charm' value='2'/> d6+</td>
<td><input type='number' name='attr_Charm_bonus' value='0'/></td>
<td><button type='roll' value='@{whisper} &{template:PTU} {{nick=@{character_name}}} {{skill=Charm}} {{SL=[[@{Charm}d6+@{Charm_bonus}]]}}' name='roll_CharmCheck' /></td>
</tr>
<tr align = "center">
<td class='sheet-table-header'>Command</td>
<td><input type='number' name='attr_Command' value='2'/> d6+</td>
<td><input type='number' name='attr_Command_bonus' value='0'/></td>
<td><button type='roll' value='@{whisper} &{template:PTU} {{nick=@{character_name}}} {{skill=Command}} {{SL=[[@{Command}d6+@{Command_bonus}]]}}' name='roll_CommandCheck' /></td>
</tr>
<tr align = "center">
<td class='sheet-table-header'>Focus</td>
<td><input type='number' name='attr_Focus' value='2'/> d6+</td>
<td><input type='number' name='attr_Focus_bonus' value='0'/></td>
<td><button type='roll' value='@{whisper} &{template:PTU} {{nick=@{character_name}}} {{skill=Focus}} {{SL=[[@{Focus}d6+@{Focus_bonus}]]}}' name='roll_FocusCheck' /></td>
</tr>
<tr align = "center">
<td class='sheet-table-header'>Intuition</td>
<td><input type='number' name='attr_Intuition' value='2'/> d6+</td>
<td><input type='number' name='attr_Intuition_bonus' value='0'/></td>
<td><button type='roll' value='@{whisper} &{template:PTU} {{nick=@{character_name}}} {{skill=Intuition}} {{SL=[[@{Intuition}d6+@{Intuition_bonus}]]}}' name='roll_IntuitionCheck' /></td>
</tr>
</table>
</div>
<br/>
<!-- Moves -->
<div class="sheet-generic-rolls">
<!-- Generic Damage -->
<div class="sheet-table">
<div class="sheet-row">
<div style="width:10px;"></div>
<div style="width:30px;">
<span>DB</span>
</div>
<div style="width:40px;">
<input type="number" name="attr_generic_db" value="4" min="0" style="width:100%"/>
</div>
<div style="width:120px;">
<input type="hidden" name="attr_generic_db_roll" value="1d8+6" />
<span class="sheet-field" name="attr_generic_db_roll" style="width:80px;">1d8+6</span>
</div>
<div style="width:100px;">
<button type="roll" name="roll_generic_db" value="@{whisper} &{template:PTU}{{nick=@{character_name}}}{{title=Damage}}{{damage= [[@{generic_db_roll} + ?{Class|None, 0|Physical, @{ATK_total}|Special, @{SPATK_total}} + @{dmg_bonus} ]] }}">Damage</button>
</div>
<div style="width:10px;"></div>
<div style="width:100px;">
<button type="roll" name="roll_generic_accuracy" value="@{whisper} &{template:PTU}{{nick=@{character_name}}}{{title=Accuracy}}{{AC= [[1d20 + @{Acc_total}]] }}">Accuracy</button>
</div>
<div style="width:10px;"></div>
</div>
</div>
</div>
<!-- Known Moves Summary -->
<h3 class="sheet-header">
Known Moves
<button type="action" name="act_lockMoves" style="font-family: 'Pictos';color:black">(</button>
</h3>
<div class="sheet-movesKnown">
<input type='hidden' name="attr_lockMovesKnown" value="1" />
<fieldset class="repeating_movesKnown">
<input type="hidden" name="attr_mkID" value='0' />
<input type="hidden" name="attr_mkName" value='' />
<input type="hidden" name="attr_mkRange" value='' />
<input type="hidden" name="attr_mkCat" value='Physical' />
<input type="hidden" name="attr_mkCrit" value='0' />
<input type="hidden" name="attr_mk_multistrike" value='0' />
<input type="hidden" name="attr_mkDB" value='0' />
<input type="hidden" name="attr_mkDB_roll" value='0' />
<input type="hidden" name="attr_mkContestType" value='' />
<input type="hidden" name="attr_mkContestEffect" value='' />
<input type="hidden" name="attr_mkEffects" value='' />
<input type="hidden" name="attr_mkDamage_diceCount" value='0' />
<input type="hidden" name="attr_mkDamage_diceType" value='0' />
<input type="hidden" name="attr_mkDamage_diceBonus" value='0' />
<div class="sheet-table sheet-moveKnown-item">
<input type="hidden" name="attr_mkType" class="sheet-move-type" />
<div class=" sheet-move-header">
<div class="sheet-name">
<span name="attr_mkName" >Name </span>
<input type="hidden" name="attr_mkCat" class='sheet-move-cat' />
<button type="roll" class="sheet-btn-show sheet-blank-roll-button sheet-move-physical" title="Show All" value="@{whisper} &{template:PTU} {{nick=@{character_name}}} {{name= @{mkName} }} {{type= @{mkType} }} {{frequency= @{mkFrequency} }} {{range= @{mkRange} }} {{dmgcat= @{mkCat} }} {{ac= [[ @{mkAC} + 0]] }} {{ar= [[1d20cs>@{mkCrit} + @{Acc_total} - @{mkAC} ]] }} {{critsOn= [[@{mkCrit}]] }} {{multistrike=[[@{mk_multistrike}]]}} {{db= [[@{mkDB}]] }} {{db_roll= [[@{mkDB_roll}]] }} {{damage= [[@{mkDB_roll} + @{ATK_total} ]] }} {{contest_type= @{mkContestType} }} {{contest_effect= @{mkContestEffect} }} {{effect= @{mkEffects} }}"></button>
<button type="roll" class="sheet-btn-show sheet-blank-roll-button sheet-move-special" title="Show All" value="@{whisper} &{template:PTU} {{nick=@{character_name}}} {{name= @{mkName} }} {{type= @{mkType} }} {{frequency= @{mkFrequency} }} {{range= @{mkRange} }} {{dmgcat= @{mkCat} }} {{ac= [[ @{mkAC} + 0]] }} {{ar= [[1d20cs>@{mkCrit} + @{Acc_total} - @{mkAC} ]] }} {{critsOn= [[@{mkCrit}]] }} {{multistrike=[[@{mk_multistrike}]]}} {{db= [[@{mkDB}]] }} {{db_roll= [[@{mkDB_roll}]] }} {{damage= [[@{mkDB_roll} + @{SPATK_total} ]] }} {{contest_type= @{mkContestType} }} {{contest_effect= @{mkContestEffect} }} {{effect= @{mkEffects} }}"></button>
<button type="roll" class="sheet-btn-show sheet-blank-roll-button sheet-move-status" title="Show All" value="@{whisper} &{template:PTU} {{nick=@{character_name}}} {{name= @{mkName} }} {{type= @{mkType} }} {{frequency= @{mkFrequency} }} {{range= @{mkRange} }} {{dmgcat= @{mkCat} }} {{ac= [[ @{mkAC} + 0]] }} {{ar= [[1d20cs>@{mkCrit} + @{Acc_total} - @{mkAC} ]] }} {{critsOn= [[@{mkCrit}]] }} {{multistrike=[[@{mk_multistrike}]]}} {{db= [[@{mkDB}]] }} {{db_roll= [[@{mkDB_roll}]] }} {{damage= [[@{mkDB_roll} + 0 ]] }} {{contest_type= @{mkContestType} }} {{contest_effect= @{mkContestEffect} }} {{effect= @{mkEffects} }}"></button>
</div>
<span name="attr_mkFrequency" class="sheet-freq">Frequency</span>
<input type="hidden" name="attr_mkFrequency" class="sheet-freq" value="Physical" />
<span class="sheet-uses sheet-move-uses">
<input type="number" name="attr_mkUses" value='0' />
<input type="hidden" name="attr_mkUses_max" value='0' />
<span>/</span>
<span name="attr_mkUses_max">0</span>
</span>
</div>
<div class="sheet-move-body">
<div class="">
<span class="sheet-label">Range:</span><span name="attr_mkRange">---</span>
</div>
<input type='hidden' name="attr_mkAC" value='' />
<div class="sheet-move-AC">
<span class="sheet-label"> AC: </span> <span name="attr_mkAC"></span>
<span class="sheet-label"> Crit On: </span> <span name="attr_mkCrit"></span>
<button type="roll" class="sheet-btn-accuracy sheet-blank-roll-button sheet-move-physical" title="Roll AC" value="@{whisper} &{template:PTU} {{nick= @{character_name}}} {{name= @{mkName} }} {{ac= [[@{mkAC}]] }} {{ar= [[1d20cs>@{mkCrit} + (@{Acc_total} - (@{mkAC}) ) ]] }} {{critsOn= [[@{mkCrit} + 0]] }} {{type= @{mkType} }} {{frequency= @{mkFrequency} }} {{range= @{mkRange}}} {{effect= @{mkEffects}}}"></button>
</div>
<input type='hidden' name="attr_mkDB" value='' />
<div class="sheet-move-DB">
<span class="sheet-label"> DB: </span> <span name="attr_mkDB">4</span>
<span class="sheet-field" name="attr_mkDB_roll">1d8 + 6</span>
<input type="hidden" name="attr_mkCat" class='sheet-move-cat' />
<button type="roll" class="sheet-btn-damage sheet-blank-roll-button sheet-move-physical" title="Roll DB" value="@{whisper} &{template:PTU} {{nick= @{character_name} }} {{name= @{mkName}}} {{type= @{mkType} }} {{frequency= @{mkFrequency} }} {{db= [[@{mkDB}]] }} {{damage= [[@{mkDB_roll} + @{ATK_total} + @{dmg_bonus} ]] }}"></button>
<button type="roll" class="sheet-btn-damage sheet-blank-roll-button sheet-move-special" title="Roll DB" value="@{whisper} &{template:PTU} {{nick= @{character_name} }} {{name= @{mkName}}} {{type= @{mkType} }} {{frequency= @{mkFrequency} }} {{db= [[@{mkDB}]] }} {{damage= [[@{mkDB_roll} + @{SPATK_total} + @{dmg_bonus} ]] }}"></button>
<button type="roll" class="sheet-btn-damage sheet-blank-roll-button sheet-move-status" title="Roll DB" value="@{whisper} &{template:PTU} {{nick= @{character_name} }} {{name= @{mkName}}} {{type= @{mkType} }} {{frequency= @{mkFrequency} }} {{db= [[@{mkDB}]] }} {{damage= [[@{mkDB_roll} + 0 + @{dmg_bonus} ]] }}"></button>
</div>
</div>
</div>
</fieldset>
</div>
<!-- Moves Learnset -->
<h3 class="sheet-header">Move List
<input type='hidden' class='sheet-hide-swap' name='attr_hideMoveList' value='0'/>
<span class='sheet-a' ><img src="https://i.imgur.com/6Y3uQYI.png" style="width:1em;"></span>
<span class='sheet-b' ><img src="https://i.imgur.com/WMlVxKg.png" style="width:1em;"></span>
<input type='checkbox' name='attr_hideMoveList' value='1' />
</h3>
<div class="sheet-movesList">
<input type='hidden' class='sheet-hide-swap' name='attr_hideMoveList' value='0' />
<!-- Struggle -->
<div class="sheet-table sheet-move-item">
<input type="hidden" name="attr_struggleFreq" value='At-Will' />
<input type="hidden" name="attr_struggleType" class="sheet-move-type" value ='Normal' />
<!-- Header -->
<div class="sheet-row sheet-move-header" >
<div style="width:40%">
<span>Struggle</span>
</div><div style="width:25%">
<span class="sheet-move-freq">At-Will</span>
</div><div style="width:10%">
</div><div style="width:25%">
<select name="attr_struggleCat">
<option selected="selected">Physical</option>
<option >Special</option>
<option >Status</option>
</select>
</div>
</div>
<div class="sheet-row">
<div style="width:30%" class="sheet-move-side">
<div>
<select name="attr_struggleType">
<option value="Untyped" >-</option>
<option selected>Normal</option>
<option>Bug</option>
<option>Dark</option>
<option>Dragon</option>
<option>Electric</option>
<option>Fairy</option>
<option>Fighting</option>
<option>Fire</option>
<option>Flying</option>
<option>Ghost</option>
<option>Grass</option>
<option>Ground</option>
<option>Ice</option>
<option>Poison</option>
<option>Psychic</option>
<option>Rock</option>
<option>Steel</option>
<option>Water</option>
</select>
</div>
<div>
<select name="attr_struggleContestType">
<option selected="selected">Cool</option>
<option >Tough</option>
<option >Beauty</option>
<option >Smart</option>
<option >Cute</option>
</select>
</div>
<div>
<input type="text" name="attr_struggleContestEffect" placeholder="Contest Effect" style="text-align: center"/>
</div>
</div><div style="width:70%" class="sheet-move-body" >
<div>
<span>Range: <input type="text" name="attr_struggleRange" style="width:350px" value='Melee-Ranged' /></span>
<input type="hidden" name="attr_struggleCat" class='sheet-move-cat' value='Physical' />
<button type="roll" name="roll_struggleShow_physical" class="sheet-move-button sheet-move-physical" title="Show All" value="@{whisper} &{template:PTU} {{whisper=@{whisper}}} {{nick=@{character_name}}} {{name= Struggle }} {{type= @{struggleType} }} {{frequency= At-Will }} {{range= @{struggleRange} }} {{dmgcat= @{struggleCat} }} {{ac= [[ @{struggleAC_total} ]] }} {{ar= [[1d20cs>[[@{struggleCrit_total} - @{crit_mod}]] + @{Acc_total} - @{struggleAC_total} ]] }} {{critsOn= [[@{struggleCrit_total} - @{crit_mod}]] }} {{db= [[@{struggle_db_total}]] }} {{db_roll= [[@{struggle_db_roll} ]]}} {{damage= [[@{struggle_db_roll} + @{ATK_total} + @{dmg_bonus}]] }} {{contest_type= @{struggleContestType} }} {{contest_effect= @{struggleContestEffect} }} {{effect= @{struggleEffects} }}"></button>
<button type="roll" name="roll_struggleShow_special" class="sheet-move-button sheet-move-special" title="Show All" value="@{whisper} &{template:PTU} {{whisper=@{whisper}}} {{nick=@{character_name}}} {{name= Struggle }} {{type= @{struggleType} }} {{frequency= At-Will }} {{range= @{struggleRange} }} {{dmgcat= @{struggleCat} }} {{ac= [[ @{struggleAC_total} ]] }} {{ar= [[1d20cs>[[@{struggleCrit_total} - @{crit_mod}]] + @{Acc_total} - @{struggleAC_total} ]] }} {{critsOn= [[@{struggleCrit_total} - @{crit_mod}]] }} {{db= [[@{struggle_db_total}]] }} {{db_roll= [[@{struggle_db_roll} ]]}} {{damage= [[@{struggle_db_roll} + @{SPATK_total} + @{dmg_bonus}]] }} {{contest_type= @{struggleContestType} }} {{contest_effect= @{struggleContestEffect} }} {{effect= @{struggleEffects} }}"></button>
<button type="roll" name="roll_struggleShow_status" class="sheet-move-button sheet-move-status" title="Show All" value="@{whisper} &{template:PTU} {{whisper=@{whisper}}} {{nick=@{character_name}}} {{name= Struggle }} {{type= @{struggleType} }} {{frequency= At-Will }} {{range= @{struggleRange} }} {{dmgcat= @{struggleCat} }} {{ac= [[ @{struggleAC_total} ]] }} {{ar= [[1d20cs>[[@{struggleCrit_total} - @{crit_mod}]] + @{Acc_total} - @{struggleAC_total} ]] }} {{critsOn= [[@{struggleCrit_total} - @{crit_mod}]] }} {{db= [[@{struggle_db_total}]] }} {{db_roll= [[@{struggle_db_roll} ]]}} {{damage= [[@{struggle_db_roll} + 0 + @{dmg_bonus}]] }} {{contest_type= @{struggleContestType} }} {{contest_effect= @{struggleContestEffect} }} {{effect= @{struggleEffects} }}"></button>
</div>
<div>
<input type="hidden" name="attr_struggleCrit_total" value='20' />
<input type="hidden" name="attr_struggleAC_total" value='4' />
<span>AC: <input type="number" name="attr_struggleAC" value='4' />
+ <input type="number" name="attr_struggleAC_bonus" value='0' /> </span>
<span>Crit On: <input type="number" name="attr_struggleCrit" value="20" />
- <input type="number" name="attr_struggleCrit_mod" value="0" />
</span>
<button type="roll" name="roll_struggleAC" class="sheet-move-button" title="Roll AC" value="@{whisper} &{template:PTU} {{nick= @{character_name}}} {{name= Struggle: Accuracy }} {{ac= [[@{struggleAC_total}]] }} {{ar= [[1d20cs>[[@{struggleCrit_total} - @{crit_mod}]] + (@{Acc_total} - @{struggleAC_total})]] }} {{critsOn= [[@{struggleCrit_total} - @{crit_mod} + 0]] }} {{type= @{struggleType} }} {{frequency= At-Will }} {{range= @{struggleRange}}} {{effect= @{struggleEffects}}}"></button>
<!-- <span class="sheet-multistrike-container">
<input class="sheet-move-multistrike" name="attr_struggle_multistrike" type="hidden" />
<input class="sheet-c" name="attr_struggle_multistrike" title="Five Strike" type="radio" value="0" checked/>
<input class="sheet-a" name="attr_struggle_multistrike" title="No Multistrike" type="radio" value="2" />
<input class="sheet-b" name="attr_struggle_multistrike" title="Double Strike" type="radio" value="5" />
<img class="sheet-a" src="https://i.imgur.com/xHmdPBa.png" />
<img class="sheet-b" src="https://i.imgur.com/PaGMG5g.png" />
<img class="sheet-c" src="https://i.imgur.com/GwdvtBR.png" />
</span> -->
</div>
<div>
<input type="hidden" name="attr_struggle_db_roll" value="1d8+6" />
<input type="hidden" name="attr_struggle_db_total" value="4" />
<span>DB: <input type="number" name="attr_struggle_db" value='4' />
+ <input type="number" name="attr_struggle_db_bonus" value='0' /></span>
<span class="sheet-db-breakdown">
<input type="text" name="attr_struggle_db_roll" style="width: 200px;text-align: center;" value="1d8 + 6" />
</span>
<span>
<label style='display:inline-block; width:auto'>STAB</label>
<input type='checkbox' name='attr_struggleStab' value='1'/>
</span>
<input type="hidden" name="attr_struggleCat" class='sheet-move-cat' value='Physical' />
<button type="roll" name="roll_struggleDamage" title="Roll Damage" class="sheet-move-button sheet-move-physical" value="@{whisper} &{template:PTU} {{nick= @{character_name} }} {{name= Struggle: Damage}} {{type= @{struggleType} }} {{frequency= At-Will }} {{db= [[@{struggle_db_total}]] }} {{damage= [[@{struggle_db_roll} + @{ATK_total} + @{dmg_bonus} ]] }}"></button>
<button type="roll" name="roll_struggleDamage" title="Roll Damage" class="sheet-move-button sheet-move-special" value="@{whisper} &{template:PTU} {{nick= @{character_name} }} {{name= Struggle: Damage}} {{type= @{struggleType} }} {{frequency= At-Will }} {{db= [[@{struggle_db_total}]] }} {{damage= [[@{struggle_db_roll} + @{SPATK_total} + @{dmg_bonus} ]] }}"></button>
<button type="roll" name="roll_struggleDamage" title="Roll Damage" class="sheet-move-button sheet-move-status" value="@{whisper} &{template:PTU} {{nick= @{character_name} }} {{name= Struggle: Damage}} {{type= @{struggleType} }} {{frequency= At-Will }} {{db= [[@{struggle_db_total}]] }} {{damage= [[@{struggle_db_roll} + 0 + @{dmg_bonus} ]] }}"></button>
</div>
</div>
</div>
<div class="sheet-row">
<textarea name="attr_struggleEffects" style="display:inline-block;max-width:100%"></textarea>
</div>
</div>
<div class='sheet-a'>
<fieldset class="repeating_moves">
<input type="hidden" name="attr_mlID" />
<div class="sheet-table sheet-move-item">
<span class="sheet-movesKnown-Add">
<input type="checkbox" name="attr_mlKnown" value="1" />
<div></div>
</span>
<input type="hidden" name="attr_mlType" class="sheet-move-type" value="Normal" />
<!-- Header -->
<div class="sheet-row sheet-move-header" >
<div style="width:40%">
<input type="text" placeholder="Move Name" name="attr_mlName" style="width:100%" />
</div><div style="width:25%">
<select name="attr_mlFrequency" class="sheet-move-freq">
<option selected="selected">At-Will</option>
<option>EOT</option>
<option>Scene</option>
<option>Daily</option>
<option>Static</option>
<option>Other</option>
</select>
</div><div style="width:10%">
<input type="hidden" name="attr_mlFrequency" value="At-Will" />
<input type="number" placeholder="Uses" name="attr_mlUses" class="sheet-move-uses" />
</div><div style="width:25%">
<select name="attr_mlCat" value="Physical">
<option selected="selected">Physical</option>
<option >Special</option>
<option >Status</option>
</select>
</div>
</div>
<div class="sheet-row">
<div style="width:30%" class="sheet-move-side">
<div>
<select name="attr_mlType">
<option value="Untyped" >-</option>
<option selected>Normal</option>
<option>Bug</option>
<option>Dark</option>
<option>Dragon</option>
<option>Electric</option>
<option>Fairy</option>
<option>Fighting</option>
<option>Fire</option>
<option>Flying</option>
<option>Ghost</option>
<option>Grass</option>
<option>Ground</option>
<option>Ice</option>
<option>Poison</option>
<option>Psychic</option>
<option>Rock</option>
<option>Steel</option>
<option>Water</option>
</select>
</div>
<div>
<select name="attr_mlContestType">
<option selected="selected">Cool</option>
<option >Tough</option>
<option >Beauty</option>
<option >Smart</option>
<option >Cute</option>
</select>
</div>
<div>
<input type='text' name="attr_mlContestEffect" placeholder="Contest Effect" style="text-align:center"/>
</div>
</div><div style="width:70%" class="sheet-move-body" >
<div>
<span>Range: <input type="text" name="attr_mlRange" placeholder="Distance, Targets" style="width:350px"/></span>
<input type="hidden" name="attr_mlCat" class='sheet-move-cat' value="Physical"/>
<button type="roll" name="roll_mlShow" class="sheet-move-button sheet-move-physical" title="Show All" value="@{whisper} &{template:PTU} {{whisper=@{whisper}}} {{nick=@{character_name}}} {{name= @{mlName} }} {{type= @{mlType} }} {{frequency= @{mlFrequency} }} {{range= @{mlRange} }} {{dmgcat= @{mlCat} }} {{ac= [[ @{mlAC_total} ]] }} {{ar= [[1d20cs>[[@{mlCrit_total} - @{crit_mod}]] + @{Acc_total} - @{mlAC_total} ]] }} {{critsOn= [[@{mlCrit_total} - @{crit_mod}]] }} {{multistrike=[[@{ml_multistrike}]]}} {{db= [[@{mldb_total}]] }} {{db_roll= [[@{mlDB_roll}]] }} {{damage= [[@{mlDB_roll} + @{ATK_total} + @{dmg_bonus} ]] }} {{contest_type= @{mlContestType} }} {{contest_effect= @{mlContestEffect} }} {{effect= @{mlEffects} }}"></button>
<button type="roll" name="roll_mlShow" class="sheet-move-button sheet-move-special" title="Show All" value="@{whisper} &{template:PTU} {{whisper=@{whisper}}} {{nick=@{character_name}}} {{name= @{mlName} }} {{type= @{mlType} }} {{frequency= @{mlFrequency} }} {{range= @{mlRange} }} {{dmgcat= @{mlCat} }} {{ac= [[ @{mlAC_total} ]] }} {{ar= [[1d20cs>[[@{mlCrit_total} - @{crit_mod}]] + @{Acc_total} - @{mlAC_total} ]] }} {{critsOn= [[@{mlCrit_total} - @{crit_mod}]] }} {{multistrike=[[@{ml_multistrike}]]}} {{db= [[@{mldb_total}]] }} {{db_roll= [[@{mlDB_roll}]] }} {{damage= [[@{mlDB_roll} + @{SPATK_total} + @{dmg_bonus} ]] }} {{contest_type= @{mlContestType} }} {{contest_effect= @{mlContestEffect} }} {{effect= @{mlEffects} }}"></button>
<button type="roll" name="roll_mlShow" class="sheet-move-button sheet-move-status" title="Show All" value="@{whisper} &{template:PTU} {{whisper=@{whisper}}} {{nick=@{character_name}}} {{name= @{mlName} }} {{type= @{mlType} }} {{frequency= @{mlFrequency} }} {{range= @{mlRange} }} {{dmgcat= @{mlCat} }} {{ac= [[ @{mlAC_total} ]] }} {{ar= [[1d20cs>[[@{mlCrit_total} - @{crit_mod}]] + @{Acc_total} - @{mlAC_total} ]] }} {{critsOn= [[@{mlCrit_total} - @{crit_mod}]] }} {{multistrike=[[@{ml_multistrike}]]}} {{db= [[@{mldb_total}]] }} {{db_roll= [[@{mlDB_roll}]] }} {{damage= [[@{mlDB_roll} + 0 + @{dmg_bonus} ]] }} {{contest_type= @{mlContestType} }} {{contest_effect= @{mlContestEffect} }} {{effect= @{mlEffects} }}"></button>
</div>
<div>
<input type="hidden" name="attr_mlAC_total" value='0' />
<input type="hidden" name="attr_mlCrit_total" value='20' />
<span>AC: <input type="number" name="attr_mlAC" value='0' />
+ <input type="number" name="attr_mlAC_bonus" value='0' />
</span>
<span>Crit On: <input type="number" name="attr_mlCrit" value ="20"/>
- <input type="number" name="attr_mlCrit_mod" value ="0"/>
</span>
<button type="roll" name="roll_mlAC" class="sheet-move-button" title="Roll AC" value="@{whisper} &{template:PTU} {{whisper=@{whisper}}} {{nick= @{character_name}}} {{name= @{mlName} }} {{ac= [[@{mlAC_total}]] }} {{ar= [[1d20cs>[[@{mlCrit_total} - @{crit_mod}]] + (@{Acc_total} - @{mlAC_total}) ]] }} {{critsOn= [[@{mlCrit_total} - @{crit_mod} + 0]] }} {{type= @{mlType} }} {{frequency= @{mlFrequency} }} {{range= @{mlRange}}} {{effect= @{mlEffects}}}"></button>
<span class="sheet-multistrike-container">
<input class="sheet-move-multistrike" name="attr_ml_multistrike" type="hidden" value="0"/>
<input class="sheet-c" name="attr_ml_multistrike" title="Five Strike" type="radio" value="0" checked/>
<input class="sheet-a" name="attr_ml_multistrike" title="No Multistrike" type="radio" value="2" />
<input class="sheet-b" name="attr_ml_multistrike" title="Double Strike" type="radio" value="5" />
<img class="sheet-a" src="https://i.imgur.com/xHmdPBa.png" />
<img class="sheet-b" src="https://i.imgur.com/PaGMG5g.png" />
<img class="sheet-c" src="https://i.imgur.com/GwdvtBR.png" />
</span>
</div>
<div>
<input type="hidden" name="attr_mldb_total" value="0" />
<!-- <input type="hidden" name="attr_mlDB_roll" value='1d8 + 6' /> -->
<span>DB: <input type="number" name="attr_mlDB" value="0" />
+ <input type="number" name="attr_mlDB_bonus" value="0" />
</span>
<span class="sheet-db-breakdown">
<input type="text" name="attr_mlDB_roll" style="width: 200px;text-align: center;" value="0" />
</span>
<span>
<label style='display:inline-block; width:auto'>STAB</label>
<input type='checkbox' name='attr_mlStab' value='1'/>
</span>
<input type="hidden" name="attr_mlCat" class='sheet-move-cat' value="Physical"/>
<button type="roll" name="roll_mlDB" class="sheet-move-button sheet-move-physical" title="Roll Damage" value="@{whisper} &{template:PTU} {{whisper=@{whisper}}} {{nick= @{character_name} }} {{name= @{mlName}}} {{type= @{mlType} }} {{frequency= @{mlFrequency} }} {{db= [[@{mldb_total}]] }} {{damage= [[@{mlDB_roll} + @{ATK_total} + @{dmg_bonus} ]] }}"></button>
<button type="roll" name="roll_mlDB" class="sheet-move-button sheet-move-special" title="Roll Damage" value="@{whisper} &{template:PTU} {{whisper=@{whisper}}} {{nick= @{character_name} }} {{name= @{mlName}}} {{type= @{mlType} }} {{frequency= @{mlFrequency} }} {{db= [[@{mldb_total}]] }} {{damage= [[@{mlDB_roll} + @{SPATK_total} + @{dmg_bonus} ]] }}"></button>
<button type="roll" name="roll_mlDB" class="sheet-move-button sheet-move-status" title="Roll Damage" value="@{whisper} &{template:PTU} {{whisper=@{whisper}}} {{nick= @{character_name} }} {{name= @{mlName}}} {{type= @{mlType} }} {{frequency= @{mlFrequency} }} {{db= [[@{mldb_total}]] }} {{damage= [[@{mlDB_roll} + 0 + @{dmg_bonus} ]] }}"></button>
</div>
</div>
</div>
<div class="sheet-row">
<textarea name="attr_mlEffects" style="display:inline-block;max-width:100%"></textarea>
</div>
</div>
</fieldset>
</div>
</div>
<br/>
<!-- Edges, Features, Abilities -->
<div class='sheet-ability-features-edges'>
<div class='sheet-edges'>
<h3 class='sheet-header'>Edges</h3>
<input type="hidden" name="attr_CharType" class="sheet-creature" value="0" />
<input type="hidden" name="attr_TutorPoints_max" value="0" />
<table class='sheet-table sheet-pokemon'>
<tr>
<td class='sheet-table-header'>Remaining Tutor Points</td>
<td><input type='number' name='attr_TutorPoints'/></td>
</tr>
<tr>
<td class='sheet-table-header'>Bonus Tutor Points</td>
<td><input type='number' name='attr_TutorPoints_bonus' value='0'></td>
</tr>
<tr>
<td class='sheet-table-header'>Max Tutor Points</td>
<td><span class="sheet-field" name="attr_TutorPoints_max" style="width: 40px;min-width: 40px;">0</span></td>
</tr>
</table>
<input type="hidden" name="attr_CharType" class="sheet-creature" value="0" />
<div class='sheet-pokemon'>
<fieldset class='repeating_edges'>
<div class='sheet-minihead sheet-ability'>
<input type='hidden' class='sheet-hide-swap' name="attr_EdgeHide" value='0' />
<input type="checkbox" class="sheet-arrow" name="attr_EdgeHide" value="1" /><span></span>
<button type='roll' value="@{whisper} &{template:PTU} {{nick=@{character_name}}} {{title= @{EdgeName} }} {{prerequisite= @{EdgePrereq} }} {{cost= @{EdgeCost} }} {{message= @{EdgeInfo} }} " ></button>
<input type="text" class="sheet-ability-name" name="attr_EdgeName" placeholder="Edge Name" style="width:100%" />
</div>
<input type='hidden' class='sheet-hide-swap' name="attr_EdgeHide" value='0' />
<div class="sheet-a">
<div>
<input type="text" name="attr_EdgePrereq" placeholder="Prerequisite" style="width:100%" />
</div>
<div>
<span class="sheet-label">Cost </span>
<input type="number" name="attr_EdgeCost" value='0' />
</div>
<div>
<textarea name='attr_EdgeInfo' ></textarea>
</div>
</div>
</fieldset>
</div>
<div class='sheet-trainer'>
<fieldset class='repeating_edges'>
<div class='sheet-minihead sheet-ability'>
<input type='hidden' class='sheet-hide-swap' name="attr_EdgeHide" value='0' />
<input type="checkbox" class="sheet-arrow" name="attr_EdgeHide" value="1" /><span></span>
<button type='roll' value="@{whisper} &{template:PTU} {{nick=@{character_name}}} {{title= @{EdgeName} }} {{prerequisite= @{EdgePrereq} }} {{message= @{EdgeInfo} }} " ></button>
<input type="text" class="sheet-ability-name" name="attr_EdgeName" placeholder="Edge Name" style="width:100%" />
</div>
<input type='hidden' class='sheet-hide-swap' name="attr_EdgeHide" value='0' />
<div class="sheet-a">
<div>
<input type="text" name="attr_EdgePrereq" placeholder="Prerequisite" style="width:100%" />
</div>
<div>
<textarea name='attr_EdgeInfo' ></textarea>
</div>
</div>
</fieldset>
</div>
</div>
<div class='sheet-features'>
<h3 class='sheet-header'>Features</h3>
<fieldset class='repeating_features'>
<input type='hidden' class='sheet-hide-swap' name="attr_Feature_Hide" value='0' />
<div class='sheet-minihead sheet-ability'>
<input type='hidden' class='sheet-hide-swap' name="attr_Feature_Hide" value='0' />
<input type="checkbox" class="sheet-arrow " name="attr_Feature_Hide" value="1" /><span></span>
<button type='roll' value="@{whisper} &{template:PTU} {{nick=@{character_name}}} {{title= @{Feature_Name} }} {{prerequisite= @{Feature_Prereq} }} {{frequency= @{Feature_Freq} }} {{target= @{Feature_Target} }} {{trigger= @{Feature_Trigger} }} {{message= @{Feature_Info} }} "></button>
<input type="text" class="sheet-ability-name" name="attr_Feature_Name" placeholder="Feature Name" style="width:100%" />
</div>
<div class="sheet-a">
<div>
<input type="text" name="attr_Feature_Prereq" placeholder="Prerequisite" style="width:100%" />
</div>
<div>
<input type="text" name="attr_Feature_Freq" placeholder="Frequency" style="width:100%" />
</div>
<div>
<input type="text" name="attr_Feature_Target" placeholder="Target" style="width:100%" />
</div>
<div>
<input type="text" name="attr_Feature_Trigger" placeholder="Trigger" style="width:100%" />
</div>
<div>
<textarea name='attr_Feature_Info' ></textarea>
</div>
</div>
<!--input type="checkbox" class="sheet-arrow" name="attr_Feature_Hide"/><span></span>
<h4 class='sheet-minihead'>Feature</h4>
<table class='sheet-table'>
<tr>
<td class='sheet-table-header'>Name:</td>
<td><input class='sheet-shortfield' name='attr_Feature_Name' type='text'></td>
</tr>
<tr class="sheet-featlist">
<td class='sheet-table-header'>Frequency:</td>
<td><input class='sheet-shortfield' name='attr_Feature_Freq' type='text'></td>
</tr>
<tr class="sheet-featlist">
<td class='sheet-table-header'>Target:</td>
<td><input class='sheet-shortfield' name='attr_Feature_Target' type='text'></td>
</tr>
<tr class="sheet-featlist">
<td class='sheet-table-header'>Other Info:</td>
<td><textarea class='sheet-textarea-b' name='attr_Feature_Info'></textarea></td>
</tr>
<tr class="sheet-featlist">
<td class='sheet-table-header'>Display:</td>
<td><button type='roll' value='&{template:PTU} {{dis=Feature}} {{desc=@{Feature_Info}}} {{nick=@{character_name}}} {{name=@{Feature_Name}}} {{freq=@{Feature_Freq}}} {{tar=@{Feature_Target}}}' name='roll_FeatRoll' /> Show</td>
</tr>
</table-->
</fieldset>
</div>
<div class='sheet-abilities'>
<h3 class="sheet-header">Abilities</h3>
<fieldset class='repeating_abilities'>
<input type='hidden' class='sheet-hide-swap' name="attr_Ability_Hide" value='0' />
<div class='sheet-minihead sheet-ability'>
<input type='hidden' class='sheet-hide-swap' name="attr_Ability_Hide" value='0' />
<input type="checkbox" class="sheet-arrow " name="attr_Ability_Hide" value="1" /><span></span>
<button type='roll' value="@{whisper} &{template:PTU} {{nick=@{character_name}}} {{title= @{Ability_Name} }} {{frequency= @{Ability_Freq} }} {{target= @{Ability_Target} }} {{trigger= @{Ability_Trigger} }} {{message= @{Ability_Info} }} "></button>
<input type="text" class="sheet-ability-name" name="attr_Ability_Name" placeholder="Ability Name" style="width:100%" />
</div>
<div class="sheet-a">
<div>
<input type="text" name="attr_Ability_Freq" placeholder="Frequency" style="width:100%" />
</div>
<div>
<input type="text" name="attr_Ability_Target" placeholder="Target" style="width:100%" />
</div>
<div>
<input type="text" name="attr_Ability_Trigger" placeholder="Trigger" style="width:100%" />
</div>
<div>
<textarea name='attr_Ability_Info' ></textarea>
</div>
</div>
</fieldset>
</div>
</div>
<br/>
<!-- Contest & Inventory -->
<div class="sheet-row sheet-contest-inventory">
<div >
<!-- Contest -->
<h3 class='sheet-header'>Contests</h3>
<div>
<span class='sheet-label'>Beauty</span>
<input type='number' name='attr_Beauty' value="0" />
</div>
<div>
<span class='sheet-label'>Cool</span>
<input type='number' name='attr_Cool' value="0"/>
</div>
<div>
<span class='sheet-label'>Cute</span>
<input type='number' name='attr_Cute' value="0"/>
</div>
<div>
<span class='sheet-label'>Smart</span>
<input type='number' name='attr_Smart' value="0"/>
</div>
<div>
<span class='sheet-label'>Tough</span>
<input type='number' name='attr_Tough' value="0"/>
</div>
<div>
<span class='sheet-label'>Poffins</span>
<textarea class='sheet-textarea-b' name='attr_Poffins'></textarea>
</div>
<div>
<span class='sheet-label'>Vitamins</span>
<textarea class='sheet-textarea-b' name='attr_Vitamins'></textarea>
</div>
</div><div >
<!-- Inventory -->
<h3 class='sheet-header'>Inventory</h3>
<div class="sheet-inventory-money">
<span></span>
<input type="number" name='attr_money' value="0" min='0' />
</div>
<fieldset class='repeating_inventory'>
<div class="sheet-inventory-item">
<span class="sheet-hide-container">
<input type="hidden" name="attr_InventoryHide" class="sheet-hide-swap" value="0" />
<input type="checkbox" name="attr_InventoryHide" value="1" />
<img src="https://i.imgur.com/PlZzvAT.png" class="sheet-a" />
<img src="https://i.imgur.com/kwVsJmi.png" class="sheet-b" />
</span>
<div class="sheet-inventory-header">
<input type="hidden" name="attr_InventoryHide" class="sheet-hide-swap" value="0" />
<input type="number" name='attr_InventoryQuantity' value="1" style="width: 20%;"/>
<input type="text" name='attr_InventoryName' placeholder="Item Name" style="width: 70%;"/>
</div>
<input type="hidden" name="attr_InventoryHide" class="sheet-hide-swap" value="0" />
<textarea class="sheet-b" name="attr_InventoryDesc" placeholder="Item Description"></textarea>
</div>
</fieldset>
</div>
</div>
<br/>
</div>
<!-- Notes -->
<div class='sheet-oldtab2'>
<table style="width: 100%;">
<tr>
<th colspan ="4">
<h3 class='sheet-header'>Notes</h3><br/>
</th>
</tr>
<tr>
<td colspan ="2">
<div>
<h4 class='sheet-header'>Appearance</h4>
<textarea name='attr_notesAppearance'></textarea>
</div>
</td>
<td colspan ="2">
<div>
<h4 class='sheet-header'>Background</h4>
<textarea name='attr_notesBackground'></textarea>
</div>
</td>
</tr>
<tr>
<td colspan ="4">
<div>
<h4 class='sheet-header'>Notes</h4>
<textarea name='attr_notesGeneral'></textarea>
</div>
</td>
</tr>
</table>
<!-- Inventory -->
<div class='sheet-row sheet-inventory'>
<h3 class="sheet-header">Inventory</h3>
<div class="sheet-inventory-money">
<span></span>
<input type="number" name='attr_money' value="0" min='0' />
</div>
<fieldset class='repeating_inventory'>
<div class="sheet-inventory-item">
<span class="sheet-hide-container">
<input type="hidden" name="attr_InventoryHide" class="sheet-hide-swap" value="0" />
<input type="checkbox" name="attr_InventoryHide" value="1" />
<img src="https://i.imgur.com/kwVsJmi.png" class="sheet-a" />
<img src="https://i.imgur.com/PlZzvAT.png" class="sheet-b" />
</span>
<input type="hidden" name="attr_InventoryHide" class="sheet-hide-swap" value="0" />
<input type="number" name='attr_InventoryQuantity' value="1" />
<input type="text" name='attr_InventoryName' style="width: 80%;"/>
<textarea class="sheet-b" name="attr_InventoryDesc"></textarea>
</div>
</fieldset>
</div>
</div>
<!-- Action Page -->
<div class="sheet-oldtab3">
<!-- Edges, Features, Abilities -->
<h3 class='sheet-header'>Actions</h3><br/>
<div class='sheet-ability-features-edges'>
<div class='sheet-edges'>
<h3 class='sheet-header'>Edges</h3>
<input type="hidden" name="attr_CharType" class="sheet-creature" value="0" />
<input type="hidden" name="attr_TutorPoints_max" value="0" />
<table class='sheet-table sheet-pokemon'>
<tr>
<td class='sheet-table-header'>Remaining Tutor Points</td>
<td><input type='number' name='attr_TutorPoints'/></td>
</tr>
<tr>
<td class='sheet-table-header'>Bonus Tutor Points</td>
<td><input type='number' name='attr_TutorPoints_bonus' value='0'></td>
</tr>
<tr>
<td class='sheet-table-header'>Max Tutor Points</td>
<td><span class="sheet-field" name="attr_TutorPoints_max" style="width: 40px;min-width: 40px;">0</span></td>
</tr>
</table>
<input type="hidden" name="attr_CharType" class="sheet-creature" value="0" />
<div class='sheet-pokemon'>
<fieldset class='repeating_edges'>
<div class='sheet-minihead sheet-ability'>
<input type='hidden' class='sheet-hide-swap' name="attr_EdgeHide" value='0' />
<input type="checkbox" class="sheet-arrow" name="attr_EdgeHide" value="1" /><span></span>
<button type='roll' value="@{whisper} &{template:PTU} {{nick=@{character_name}}} {{title= @{EdgeName} }} {{prerequisite= @{EdgePrereq} }} {{cost= @{EdgeCost} }} {{message= @{EdgeInfo} }} " ></button>
<input type="text" class="sheet-ability-name" name="attr_EdgeName" placeholder="Edge Name" style="width:100%" />
</div>
<input type='hidden' class='sheet-hide-swap' name="attr_EdgeHide" value='0' />
<div class="sheet-a">
<div>
<input type="text" name="attr_EdgePrereq" placeholder="Prerequisite" style="width:100%" />
</div>
<div>
<span class="sheet-label">Cost </span>
<input type="number" name="attr_EdgeCost" value='0' />
</div>
<div>
<textarea name='attr_EdgeInfo' ></textarea>
</div>
</div>
</fieldset>
</div>
<div class='sheet-trainer'>
<fieldset class='repeating_edges'>
<div class='sheet-minihead sheet-ability'>
<input type='hidden' class='sheet-hide-swap' name="attr_EdgeHide" value='0' />
<input type="checkbox" class="sheet-arrow" name="attr_EdgeHide" value="1" /><span></span>
<button type='roll' value="@{whisper} &{template:PTU} {{nick=@{character_name}}} {{title= @{EdgeName} }} {{prerequisite= @{EdgePrereq} }} {{message= @{EdgeInfo} }} " ></button>
<input type="text" class="sheet-ability-name" name="attr_EdgeName" placeholder="Edge Name" style="width:100%" />
</div>
<input type='hidden' class='sheet-hide-swap' name="attr_EdgeHide" value='0' />
<div class="sheet-a">
<div>
<input type="text" name="attr_EdgePrereq" placeholder="Prerequisite" style="width:100%" />
</div>
<div>
<textarea name='attr_EdgeInfo' ></textarea>
</div>
</div>
</fieldset>
</div>
</div>
<div class='sheet-features'>
<h3 class='sheet-header'>Features</h3>
<fieldset class='repeating_features'>
<input type='hidden' class='sheet-hide-swap' name="attr_Feature_Hide" value='0' />
<div class='sheet-minihead sheet-ability'>
<input type='hidden' class='sheet-hide-swap' name="attr_Feature_Hide" value='0' />
<input type="checkbox" class="sheet-arrow " name="attr_Feature_Hide" value="1" /><span></span>
<button type='roll' value="@{whisper} &{template:PTU} {{nick=@{character_name}}} {{title= @{Feature_Name} }} {{prerequisite= @{Feature_Prereq} }} {{frequency= @{Feature_Freq} }} {{target= @{Feature_Target} }} {{trigger= @{Feature_Trigger} }} {{message= @{Feature_Info} }} "></button>
<input type="text" class="sheet-ability-name" name="attr_Feature_Name" placeholder="Feature Name" style="width:100%" />
</div>
<div class="sheet-a">
<div>
<input type="text" name="attr_Feature_Prereq" placeholder="Prerequisite" style="width:100%" />
</div>
<div>
<input type="text" name="attr_Feature_Freq" placeholder="Frequency" style="width:100%" />
</div>
<div>
<input type="text" name="attr_Feature_Target" placeholder="Target" style="width:100%" />
</div>
<div>
<input type="text" name="attr_Feature_Trigger" placeholder="Trigger" style="width:100%" />
</div>
<div>
<textarea name='attr_Feature_Info' ></textarea>
</div>
</div>
<!--input type="checkbox" class="sheet-arrow" name="attr_Feature_Hide"/><span></span>
<h4 class='sheet-minihead'>Feature</h4>
<table class='sheet-table'>
<tr>
<td class='sheet-table-header'>Name:</td>
<td><input class='sheet-shortfield' name='attr_Feature_Name' type='text'></td>
</tr>
<tr class="sheet-featlist">
<td class='sheet-table-header'>Frequency:</td>
<td><input class='sheet-shortfield' name='attr_Feature_Freq' type='text'></td>
</tr>
<tr class="sheet-featlist">
<td class='sheet-table-header'>Target:</td>
<td><input class='sheet-shortfield' name='attr_Feature_Target' type='text'></td>
</tr>
<tr class="sheet-featlist">
<td class='sheet-table-header'>Other Info:</td>
<td><textarea class='sheet-textarea-b' name='attr_Feature_Info'></textarea></td>
</tr>
<tr class="sheet-featlist">
<td class='sheet-table-header'>Display:</td>
<td><button type='roll' value='&{template:PTU} {{dis=Feature}} {{desc=@{Feature_Info}}} {{nick=@{character_name}}} {{name=@{Feature_Name}}} {{freq=@{Feature_Freq}}} {{tar=@{Feature_Target}}}' name='roll_FeatRoll' /> Show</td>
</tr>
</table-->
</fieldset>
</div>
<div class='sheet-abilities'>
<h3 class="sheet-header">Abilities</h3>
<fieldset class='repeating_abilities'>
<input type='hidden' class='sheet-hide-swap' name="attr_Ability_Hide" value='0' />
<div class='sheet-minihead sheet-ability'>
<input type='hidden' class='sheet-hide-swap' name="attr_Ability_Hide" value='0' />
<input type="checkbox" class="sheet-arrow " name="attr_Ability_Hide" value="1" /><span></span>
<button type='roll' value="@{whisper} &{template:PTU} {{nick=@{character_name}}} {{title= @{Ability_Name} }} {{frequency= @{Ability_Freq} }} {{target= @{Ability_Target} }} {{trigger= @{Ability_Trigger} }} {{message= @{Ability_Info} }} "></button>
<input type="text" class="sheet-ability-name" name="attr_Ability_Name" placeholder="Ability Name" style="width:100%" />
</div>
<div class="sheet-a">
<div>
<input type="text" name="attr_Ability_Freq" placeholder="Frequency" style="width:100%" />
</div>
<div>
<input type="text" name="attr_Ability_Target" placeholder="Target" style="width:100%" />
</div>
<div>
<input type="text" name="attr_Ability_Trigger" placeholder="Trigger" style="width:100%" />
</div>
<div>
<textarea name='attr_Ability_Info' ></textarea>
</div>
</div>
</fieldset>
</div>
</div>
<!-- Skills -->
<div class='sheet-row'>
<h3 class="sheet-header">Skills</h3>
<br />
<table class='sheet-left-half-table' STYLE="margin-bottom: 20px;">
<tr align = "center">
<th class='sheet-minihead'>Skill Name</th>
<th class='sheet-minihead'>Rank</th>
<th class='sheet-minihead'>Other Modifiers</th>
<th class='sheet-minihead'>Roll</th>
</tr>
<tr align = "center">
<td class='sheet-table-header'>Acrobatics</td>
<td><input type='number' name='attr_Acrobatics' value='2'/> d6+</td>
<td><input type='number' name='attr_Acrobatics_bonus' value='0'/></td>
<td><button type='roll' value='@{whisper} &{template:PTU} {{nick=@{character_name}}} {{skill=Acrobatics}} {{SL=[[@{Acrobatics}d6+@{Acrobatics_bonus}]]}}' name='roll_AcrobaticsCheck' /></td>
</tr>
<tr align = "center">
<td class='sheet-table-header'>Athletics</td>
<td><input type='number' name='attr_Athletics' value='2'/> d6+</td>
<td><input type='number' name='attr_Athletics_bonus' value='0'/></td>
<td><button type='roll' value='@{whisper} &{template:PTU} {{nick=@{character_name}}} {{skill=Athletics}} {{SL=[[@{Athletics}d6+@{Athletics_bonus}]]}}' name='roll_AthleticsCheck'/></td>
</tr>
<tr align = "center">
<td class='sheet-table-header'>Combat</td>
<td><input type='number' name='attr_Combat' value='2'/> d6+</td>
<td><input type='number' name='attr_Combat_bonus' value='0'/></td>
<td><button type='roll' value='@{whisper} &{template:PTU} {{nick=@{character_name}}} {{skill=Combat}} {{SL=[[@{Combat}d6+@{Combat_bonus}]]}}' name='roll_CombatCheck'/></td>
</tr>
<tr align = "center">
<td class='sheet-table-header'>Intimidate</td>
<td><input type='number' name='attr_Intimidate' value='2'/> d6+</td>
<td><input type='number' name='attr_Intimidate_bonus' value='0'/></td>
<td><button type='roll' value='@{whisper} &{template:PTU} {{nick=@{character_name}}} {{skill=Intimidate}} {{SL=[[@{Intimidate}d6+@{Intimidate_bonus}]]}}' name='roll_IntimidateCheck'/></td>
</tr>
<tr align = "center">
<td class='sheet-table-header'>Stealth</td>
<td><input type='number' name='attr_Stealth' value='2'/> d6+</td>
<td><input type='number' name='attr_Stealth_bonus' value='0'/></td>
<td><button type='roll' value='@{whisper} &{template:PTU} {{nick=@{character_name}}} {{skill=Stealth}} {{SL=[[@{Stealth}d6+@{Stealth_bonus}]]}}' name='roll_StealthCheck'/></td>
</tr>
<tr align = "center">
<td class='sheet-table-header'>Survival</td>
<td><input type='number' name='attr_Survival' value='2'/> d6+</td>
<td><input type='number' name='attr_Survival_bonus' value='0'/></td>
<td><button type='roll' value='@{whisper} &{template:PTU} {{nick=@{character_name}}} {{skill=Survival}} {{SL=[[@{Survival}d6+@{Survival_bonus}]]}}' name='roll_SurvivalCheck'/></td>
</tr>
<tr align = "center">
<td class='sheet-table-header'>General Education</td>
<td><input type='number' name='attr_GeneralEducation' value='2'/> d6+</td>
<td><input type='number' name='attr_GeneralEducation_bonus' value='0'/></td>
<td><button type='roll' value='@{whisper} &{template:PTU} {{nick=@{character_name}}} {{skill=General Education}} {{SL=[[@{GeneralEducation}d6+@{GeneralEducation_bonus}]]}}' name='roll_GeneralEducationCheck'/></td>
</tr>
<tr align = "center">
<td class='sheet-table-header'>Medicine Education</td>
<td><input type='number' name='attr_MedicineEducation' value='2'/> d6+</td>
<td><input type='number' name='attr_MedicineEducation_bonus' value='0'/></td>
<td><button type='roll' value='@{whisper} &{template:PTU} {{nick=@{character_name}}} {{skill=Medicine Education}} {{SL=[[@{MedicineEducation}d6+@{MedicineEducation_bonus}]]}}' name='roll_MedicineEducationCheck' /></td>
</tr>
<tr align = "center">
<td class='sheet-table-header'>Occult Education</td>
<td><input type='number' name='attr_OccultEducation' value='2'/> d6+</td>
<td><input type='number' name='attr_OccultEducation_bonus' value='0'/></td>
<td><button type='roll' value='@{whisper} &{template:PTU} {{nick=@{character_name}}} {{skill=Occult Education}} {{SL=[[@{OccultEducation}d6+@{OccultEducation_bonus}]]}}' name='roll_OccultEducationCheck' /></td>
</tr>
</table>
<table class='sheet-right-half-table'>
<tr align = "center">
<th class='sheet-minihead'>Skill Name</th>
<th class='sheet-minihead'>Rank</th>
<th class='sheet-minihead'>Other Modifiers</th>
<th class='sheet-minihead'>Roll</th>
</tr>
<tr align = "center">
<td class='sheet-table-header'>Pokemon Education</td>
<td><input type='number' name='attr_PokemonEducation' value='2'/> d6+</td>
<td><input type='number' name='attr_PokemonEducation_bonus' value='0'/></td>
<td><button type='roll' value='@{whisper} &{template:PTU} {{nick=@{character_name}}} {{skill=Pokemon Education}} {{SL=[[@{PokemonEducation}d6+@{PokemonEducation_bonus}]]}}' name='roll_PokemonEducationCheck' /></td>
</tr>
<tr align = "center">
<td class='sheet-table-header'>Technology Education</td>
<td><input type='number' name='attr_TechnologyEducation' value='2'/> d6+</td>
<td><input type='number' name='attr_TechnologyEducation_bonus' value='0'/></td>
<td><button type='roll' value='@{whisper} &{template:PTU} {{nick=@{character_name}}} {{skill=Technology Education}} {{SL=[[@{TechnologyEducation}d6+@{TechnologyEducation_bonus}]]}}' name='roll_TechnologyEducationCheck' /></td>
</tr>
<tr align = "center">
<td class='sheet-table-header'>Guile</td>
<td><input type='number' name='attr_Guile' value='2'/> d6+</td>
<td><input type='number' name='attr_Guile_bonus' value='0'/></td>
<td><button type='roll' value='@{whisper} &{template:PTU} {{nick=@{character_name}}} {{skill=Guile}} {{SL=[[@{Guile}d6+@{Guile_bonus}]]}}' name='roll_GuileCheck' /></td>
</tr>
<tr align = "center">
<td class='sheet-table-header'>Perception</td>
<td><input type='number' name='attr_Perception' value='2'/> d6+</td>
<td><input type='number' name='attr_Perception_bonus' value='0'/></td>
<td><button type='roll' value='@{whisper} &{template:PTU} {{nick=@{character_name}}} {{skill=Perception}} {{SL=[[@{Perception}d6+@{Perception_bonus}]]}}' name='roll_PerceptionCheck' /></td>
</tr>
<tr align = "center">
<td class='sheet-table-header'>Charm</td>
<td><input type='number' name='attr_Charm' value='2'/> d6+</td>
<td><input type='number' name='attr_Charm_bonus' value='0'/></td>
<td><button type='roll' value='@{whisper} &{template:PTU} {{nick=@{character_name}}} {{skill=Charm}} {{SL=[[@{Charm}d6+@{Charm_bonus}]]}}' name='roll_CharmCheck' /></td>
</tr>
<tr align = "center">
<td class='sheet-table-header'>Command</td>
<td><input type='number' name='attr_Command' value='2'/> d6+</td>
<td><input type='number' name='attr_Command_bonus' value='0'/></td>
<td><button type='roll' value='@{whisper} &{template:PTU} {{nick=@{character_name}}} {{skill=Command}} {{SL=[[@{Command}d6+@{Command_bonus}]]}}' name='roll_CommandCheck' /></td>
</tr>
<tr align = "center">
<td class='sheet-table-header'>Focus</td>
<td><input type='number' name='attr_Focus' value='2'/> d6+</td>
<td><input type='number' name='attr_Focus_bonus' value='0'/></td>
<td><button type='roll' value='@{whisper} &{template:PTU} {{nick=@{character_name}}} {{skill=Focus}} {{SL=[[@{Focus}d6+@{Focus_bonus}]]}}' name='roll_FocusCheck' /></td>
</tr>
<tr align = "center">
<td class='sheet-table-header'>Intuition</td>
<td><input type='number' name='attr_Intuition' value='2'/> d6+</td>
<td><input type='number' name='attr_Intuition_bonus' value='0'/></td>
<td><button type='roll' value='@{whisper} &{template:PTU} {{nick=@{character_name}}} {{skill=Intuition}} {{SL=[[@{Intuition}d6+@{Intuition_bonus}]]}}' name='roll_IntuitionCheck' /></td>
</tr>
</table>
</div>
<br/>
<!-- Moves -->
<div class="sheet-generic-rolls">
<!-- Generic Damage -->
<div class="sheet-table">
<div class="sheet-row">
<div style="width:10px;"></div>
<div style="width:30px;">
<span>DB</span>
</div>
<div style="width:40px;">
<input type="number" name="attr_generic_db" value="4" min="0" style="width:100%"/>
</div>
<div style="width:120px;">
<input type="hidden" name="attr_generic_db_roll" value="1d8+6" />
<span class="sheet-field" name="attr_generic_db_roll" style="width:80px;">1d8+6</span>
</div>
<div style="width:100px;">
<button type="roll" name="roll_generic_db" value="@{whisper} &{template:PTU}{{title=@{character_name}'s Damage}}{{damage= [[@{generic_db_roll} + ?{Class|None, 0|Physical, @{ATK_total}|Special, @{SPATK_total}} + @{dmg_bonus} ]] }}">Damage</button>
</div>
<div style="width:10px;"></div>
<div style="width:100px;">
<button type="roll" name="roll_generic_accuracy" value="@{whisper} &{template:PTU}{{title=@{character_name}'s Accuracy}}{{AC= [[1d20 + @{Acc_total}]] }}">Accuracy</button>
</div>
<div style="width:10px;"></div>
</div>
</div>
</div>
<!-- Known Moves Summary -->
<h3 class="sheet-header">
Known Moves
<button type="action" name="act_lockMoves" style="font-family: 'Pictos';color:black">(</button>
</h3>
<div class="sheet-movesKnown">
<input type='hidden' name="attr_lockMovesKnown" value="1" />
<fieldset class="repeating_movesKnown">
<input type="hidden" name="attr_mkID" value='0' />
<input type="hidden" name="attr_mkName" value='' />
<input type="hidden" name="attr_mkRange" value='' />
<input type="hidden" name="attr_mkCat" value='Physical' />
<input type="hidden" name="attr_mkCrit" value='0' />
<input type="hidden" name="attr_mk_multistrike" value='0' />
<input type="hidden" name="attr_mkDB" value='0' />
<input type="hidden" name="attr_mkDB_roll" value='0' />
<input type="hidden" name="attr_mkContestType" value='' />
<input type="hidden" name="attr_mkContestEffect" value='' />
<input type="hidden" name="attr_mkEffects" value='' />
<input type="hidden" name="attr_mkDamage_diceCount" value='0' />
<input type="hidden" name="attr_mkDamage_diceType" value='0' />
<input type="hidden" name="attr_mkDamage_diceBonus" value='0' />
<div class="sheet-table sheet-moveKnown-item">
<input type="hidden" name="attr_mkType" class="sheet-move-type" />
<div class=" sheet-move-header">
<div class="sheet-name">
<span name="attr_mkName" >Name </span>
<input type="hidden" name="attr_mkCat" class='sheet-move-cat' />
<button type="roll" class="sheet-btn-show sheet-blank-roll-button sheet-move-physical" title="Show All" value="@{whisper} &{template:PTU} {{nick=@{character_name}}} {{name= @{mkName} }} {{type= @{mkType} }} {{frequency= @{mkFrequency} }} {{range= @{mkRange} }} {{dmgcat= @{mkCat} }} {{ac= [[ @{mkAC} + 0]] }} {{ar= [[1d20cs>@{mkCrit} + @{Acc_total} - @{mkAC} ]] }} {{critsOn= [[@{mkCrit}]] }} {{multistrike=[[@{mk_multistrike}]]}} {{db= [[@{mkDB}]] }} {{db_roll= [[@{mkDB_roll}]] }} {{damage= [[@{mkDB_roll} + @{ATK_total} ]] }} {{contest_type= @{mkContestType} }} {{contest_effect= @{mkContestEffect} }} {{effect= @{mkEffects} }}"></button>
<button type="roll" class="sheet-btn-show sheet-blank-roll-button sheet-move-special" title="Show All" value="@{whisper} &{template:PTU} {{nick=@{character_name}}} {{name= @{mkName} }} {{type= @{mkType} }} {{frequency= @{mkFrequency} }} {{range= @{mkRange} }} {{dmgcat= @{mkCat} }} {{ac= [[ @{mkAC} + 0]] }} {{ar= [[1d20cs>@{mkCrit} + @{Acc_total} - @{mkAC} ]] }} {{critsOn= [[@{mkCrit}]] }} {{multistrike=[[@{mk_multistrike}]]}} {{db= [[@{mkDB}]] }} {{db_roll= [[@{mkDB_roll}]] }} {{damage= [[@{mkDB_roll} + @{SPATK_total} ]] }} {{contest_type= @{mkContestType} }} {{contest_effect= @{mkContestEffect} }} {{effect= @{mkEffects} }}"></button>
<button type="roll" class="sheet-btn-show sheet-blank-roll-button sheet-move-status" title="Show All" value="@{whisper} &{template:PTU} {{nick=@{character_name}}} {{name= @{mkName} }} {{type= @{mkType} }} {{frequency= @{mkFrequency} }} {{range= @{mkRange} }} {{dmgcat= @{mkCat} }} {{ac= [[ @{mkAC} + 0]] }} {{ar= [[1d20cs>@{mkCrit} + @{Acc_total} - @{mkAC} ]] }} {{critsOn= [[@{mkCrit}]] }} {{multistrike=[[@{mk_multistrike}]]}} {{db= [[@{mkDB}]] }} {{db_roll= [[@{mkDB_roll}]] }} {{damage= [[@{mkDB_roll} + 0 ]] }} {{contest_type= @{mkContestType} }} {{contest_effect= @{mkContestEffect} }} {{effect= @{mkEffects} }}"></button>
</div>
<span name="attr_mkFrequency" class="sheet-freq">Frequency</span>
<input type="hidden" name="attr_mkFrequency" class="sheet-freq" value="Physical" />
<span class="sheet-uses sheet-move-uses">
<input type="number" name="attr_mkUses" value='0' />
<input type="hidden" name="attr_mkUses_max" value='0' />
<span>/</span>
<span name="attr_mkUses_max">0</span>
</span>
</div>
<div class="sheet-move-body">
<div class="">
<span class="sheet-label">Range:</span><span name="attr_mkRange">---</span>
</div>
<input type='hidden' name="attr_mkAC" value='' />
<div class="sheet-move-AC">
<span class="sheet-label"> AC: </span> <span name="attr_mkAC"></span>
<span class="sheet-label"> Crit On: </span> <span name="attr_mkCrit"></span>
<button type="roll" class="sheet-btn-accuracy sheet-blank-roll-button sheet-move-physical" title="Roll AC" value="@{whisper} &{template:PTU} {{nick= @{character_name}}} {{name= @{mkName} }} {{ac= [[@{mkAC}]] }} {{ar= [[1d20cs>@{mkCrit} + (@{Acc_total} - (@{mkAC}) ) ]] }} {{critsOn= [[@{mkCrit} + 0]] }} {{type= @{mkType} }} {{frequency= @{mkFrequency} }} {{range= @{mkRange}}} {{effect= @{mkEffects}}}"></button>
</div>
<input type='hidden' name="attr_mkDB" value='' />
<div class="sheet-move-DB">
<span class="sheet-label"> DB: </span> <span name="attr_mkDB">4</span>
<span class="sheet-field" name="attr_mkDB_roll">1d8 + 6</span>
<input type="hidden" name="attr_mkCat" class='sheet-move-cat' />
<button type="roll" class="sheet-btn-damage sheet-blank-roll-button sheet-move-physical" title="Roll DB" value="@{whisper} &{template:PTU} {{nick= @{character_name} }} {{name= @{mkName}}} {{type= @{mkType} }} {{frequency= @{mkFrequency} }} {{db= [[@{mkDB}]] }} {{damage= [[@{mkDB_roll} + @{ATK_total} + @{dmg_bonus} ]] }}"></button>
<button type="roll" class="sheet-btn-damage sheet-blank-roll-button sheet-move-special" title="Roll DB" value="@{whisper} &{template:PTU} {{nick= @{character_name} }} {{name= @{mkName}}} {{type= @{mkType} }} {{frequency= @{mkFrequency} }} {{db= [[@{mkDB}]] }} {{damage= [[@{mkDB_roll} + @{SPATK_total} + @{dmg_bonus} ]] }}"></button>
<button type="roll" class="sheet-btn-damage sheet-blank-roll-button sheet-move-status" title="Roll DB" value="@{whisper} &{template:PTU} {{nick= @{character_name} }} {{name= @{mkName}}} {{type= @{mkType} }} {{frequency= @{mkFrequency} }} {{db= [[@{mkDB}]] }} {{damage= [[@{mkDB_roll} + 0 + @{dmg_bonus} ]] }}"></button>
</div>
</div>
</div>
</fieldset>
</div>
<!-- Moves Learnset -->
<h3 class="sheet-header">Move List
<input type='hidden' class='sheet-hide-swap' name='attr_hideMoveList' value='0'/>
<span class='sheet-a' ><img src="https://i.imgur.com/6Y3uQYI.png" style="width:1em;"></span>
<span class='sheet-b' ><img src="https://i.imgur.com/WMlVxKg.png" style="width:1em;"></span>
<input type='checkbox' name='attr_hideMoveList' value='1' />
</h3>
<div class="sheet-movesList">
<input type='hidden' class='sheet-hide-swap' name='attr_hideMoveList' value='0' />
<!-- Struggle -->
<div class="sheet-table sheet-move-item">
<input type="hidden" name="attr_struggleFreq" value='At-Will' />
<input type="hidden" name="attr_struggleType" class="sheet-move-type" value ='Normal' />
<!-- Header -->
<div class="sheet-row sheet-move-header" >
<div style="width:40%">
<span>Struggle</span>
</div><div style="width:25%">
<span class="sheet-move-freq">At-Will</span>
</div><div style="width:10%">
</div><div style="width:25%">
<select name="attr_struggleCat">
<option selected="selected">Physical</option>
<option >Special</option>
<option >Status</option>
</select>
</div>
</div>
<div class="sheet-row">
<div style="width:30%" class="sheet-move-side">
<div>
<select name="attr_struggleType">
<option value="Untyped" >-</option>
<option selected>Normal</option>
<option>Bug</option>
<option>Dark</option>
<option>Dragon</option>
<option>Electric</option>
<option>Fairy</option>
<option>Fighting</option>
<option>Fire</option>
<option>Flying</option>
<option>Ghost</option>
<option>Grass</option>
<option>Ground</option>
<option>Ice</option>
<option>Poison</option>
<option>Psychic</option>
<option>Rock</option>
<option>Steel</option>
<option>Water</option>
</select>
</div>
<div>
<select name="attr_struggleContestType">
<option selected="selected">Cool</option>
<option >Tough</option>
<option >Beauty</option>
<option >Smart</option>
<option >Cute</option>
</select>
</div>
<div>
<input type="text" name="attr_struggleContestEffect" placeholder="Contest Effect" style="text-align: center"/>
</div>
</div><div style="width:70%" class="sheet-move-body" >
<div>
<span>Range: <input type="text" name="attr_struggleRange" style="width:350px" value='Melee-Ranged' /></span>
<input type="hidden" name="attr_struggleCat" class='sheet-move-cat' value='Physical' />
<button type="roll" name="roll_struggleShow_physical" class="sheet-move-button sheet-move-physical" title="Show All" value="@{whisper} &{template:PTU} {{whisper=@{whisper}}} {{nick=@{character_name}}} {{name= Struggle }} {{type= @{struggleType} }} {{frequency= At-Will }} {{range= @{struggleRange} }} {{dmgcat= @{struggleCat} }} {{ac= [[ @{struggleAC_total} ]] }} {{ar= [[1d20cs>[[@{struggleCrit_total} - @{crit_mod}]] + @{Acc_total} - @{struggleAC_total} ]] }} {{critsOn= [[@{struggleCrit_total} - @{crit_mod}]] }} {{db= [[@{struggle_db_total}]] }} {{db_roll= [[@{struggle_db_roll} ]]}} {{damage= [[@{struggle_db_roll} + @{ATK_total} + @{dmg_bonus}]] }} {{contest_type= @{struggleContestType} }} {{contest_effect= @{struggleContestEffect} }} {{effect= @{struggleEffects} }}"></button>
<button type="roll" name="roll_struggleShow_special" class="sheet-move-button sheet-move-special" title="Show All" value="@{whisper} &{template:PTU} {{whisper=@{whisper}}} {{nick=@{character_name}}} {{name= Struggle }} {{type= @{struggleType} }} {{frequency= At-Will }} {{range= @{struggleRange} }} {{dmgcat= @{struggleCat} }} {{ac= [[ @{struggleAC_total} ]] }} {{ar= [[1d20cs>[[@{struggleCrit_total} - @{crit_mod}]] + @{Acc_total} - @{struggleAC_total} ]] }} {{critsOn= [[@{struggleCrit_total} - @{crit_mod}]] }} {{db= [[@{struggle_db_total}]] }} {{db_roll= [[@{struggle_db_roll} ]]}} {{damage= [[@{struggle_db_roll} + @{SPATK_total} + @{dmg_bonus}]] }} {{contest_type= @{struggleContestType} }} {{contest_effect= @{struggleContestEffect} }} {{effect= @{struggleEffects} }}"></button>
<button type="roll" name="roll_struggleShow_status" class="sheet-move-button sheet-move-status" title="Show All" value="@{whisper} &{template:PTU} {{whisper=@{whisper}}} {{nick=@{character_name}}} {{name= Struggle }} {{type= @{struggleType} }} {{frequency= At-Will }} {{range= @{struggleRange} }} {{dmgcat= @{struggleCat} }} {{ac= [[ @{struggleAC_total} ]] }} {{ar= [[1d20cs>[[@{struggleCrit_total} - @{crit_mod}]] + @{Acc_total} - @{struggleAC_total} ]] }} {{critsOn= [[@{struggleCrit_total} - @{crit_mod}]] }} {{db= [[@{struggle_db_total}]] }} {{db_roll= [[@{struggle_db_roll} ]]}} {{damage= [[@{struggle_db_roll} + 0 + @{dmg_bonus}]] }} {{contest_type= @{struggleContestType} }} {{contest_effect= @{struggleContestEffect} }} {{effect= @{struggleEffects} }}"></button>
</div>
<div>
<input type="hidden" name="attr_struggleCrit_total" value='20' />
<input type="hidden" name="attr_struggleAC_total" value='4' />
<span>AC: <input type="number" name="attr_struggleAC" value='4' />
+ <input type="number" name="attr_struggleAC_bonus" value='0' /> </span>
<span>Crit On: <input type="number" name="attr_struggleCrit" value="20" />
- <input type="number" name="attr_struggleCrit_mod" value="0" />
</span>
<button type="roll" name="roll_struggleAC" class="sheet-move-button" title="Roll AC" value="@{whisper} &{template:PTU} {{nick= @{character_name}}} {{name= Struggle: Accuracy }} {{ac= [[@{struggleAC_total}]] }} {{ar= [[1d20cs>[[@{struggleCrit_total} - @{crit_mod}]] + (@{Acc_total} - @{struggleAC_total})]] }} {{critsOn= [[@{struggleCrit_total} - @{crit_mod} + 0]] }} {{type= @{struggleType} }} {{frequency= At-Will }} {{range= @{struggleRange}}} {{effect= @{struggleEffects}}}"></button>
<!-- <span class="sheet-multistrike-container">
<input class="sheet-move-multistrike" name="attr_struggle_multistrike" type="hidden" />
<input class="sheet-c" name="attr_struggle_multistrike" title="Five Strike" type="radio" value="0" checked/>
<input class="sheet-a" name="attr_struggle_multistrike" title="No Multistrike" type="radio" value="2" />
<input class="sheet-b" name="attr_struggle_multistrike" title="Double Strike" type="radio" value="5" />
<img class="sheet-a" src="https://i.imgur.com/xHmdPBa.png" />
<img class="sheet-b" src="https://i.imgur.com/PaGMG5g.png" />
<img class="sheet-c" src="https://i.imgur.com/GwdvtBR.png" />
</span> -->
</div>
<div>
<input type="hidden" name="attr_struggle_db_roll" value="1d8+6" />
<input type="hidden" name="attr_struggle_db_total" value="4" />
<span>DB: <input type="number" name="attr_struggle_db" value='4' />
+ <input type="number" name="attr_struggle_db_bonus" value='0' /></span>
<span class="sheet-db-breakdown">
<input type="text" name="attr_struggle_db_roll" style="width: 200px;text-align: center;" value="1d8 + 6" />
</span>
<span>
<label style='display:inline-block; width:auto'>STAB</label>
<input type='checkbox' name='attr_struggleStab' value='1'/>
</span>
<input type="hidden" name="attr_struggleCat" class='sheet-move-cat' value='Physical' />
<button type="roll" name="roll_struggleDamage" title="Roll Damage" class="sheet-move-button sheet-move-physical" value="@{whisper} &{template:PTU} {{nick= @{character_name} }} {{name= Struggle: Damage}} {{type= @{struggleType} }} {{frequency= At-Will }} {{db= [[@{struggle_db_total}]] }} {{damage= [[@{struggle_db_roll} + @{ATK_total} + @{dmg_bonus} ]] }}"></button>
<button type="roll" name="roll_struggleDamage" title="Roll Damage" class="sheet-move-button sheet-move-special" value="@{whisper} &{template:PTU} {{nick= @{character_name} }} {{name= Struggle: Damage}} {{type= @{struggleType} }} {{frequency= At-Will }} {{db= [[@{struggle_db_total}]] }} {{damage= [[@{struggle_db_roll} + @{SPATK_total} + @{dmg_bonus} ]] }}"></button>
<button type="roll" name="roll_struggleDamage" title="Roll Damage" class="sheet-move-button sheet-move-status" value="@{whisper} &{template:PTU} {{nick= @{character_name} }} {{name= Struggle: Damage}} {{type= @{struggleType} }} {{frequency= At-Will }} {{db= [[@{struggle_db_total}]] }} {{damage= [[@{struggle_db_roll} + 0 + @{dmg_bonus} ]] }}"></button>
</div>
</div>
</div>
<div class="sheet-row">
<textarea name="attr_struggleEffects" style="display:inline-block;max-width:100%"></textarea>
</div>
</div>
<div class='sheet-a'>
<fieldset class="repeating_moves">
<input type="hidden" name="attr_mlID" />
<div class="sheet-table sheet-move-item">
<span class="sheet-movesKnown-Add">
<input type="checkbox" name="attr_mlKnown" value="1" />
<div></div>
</span>
<input type="hidden" name="attr_mlType" class="sheet-move-type" value="Normal" />
<!-- Header -->
<div class="sheet-row sheet-move-header" >
<div style="width:40%">
<input type="text" placeholder="Move Name" name="attr_mlName" style="width:100%" />
</div><div style="width:25%">
<select name="attr_mlFrequency" class="sheet-move-freq">
<option selected="selected">At-Will</option>
<option>EOT</option>
<option>Scene</option>
<option>Daily</option>
<option>Static</option>
<option>Other</option>
</select>
</div><div style="width:10%">
<input type="hidden" name="attr_mlFrequency" value="At-Will" />
<input type="number" placeholder="Uses" name="attr_mlUses" class="sheet-move-uses" />
</div><div style="width:25%">
<select name="attr_mlCat" value="Physical">
<option selected="selected">Physical</option>
<option >Special</option>
<option >Status</option>
</select>
</div>
</div>
<div class="sheet-row">
<div style="width:30%" class="sheet-move-side">
<div>
<select name="attr_mlType">
<option value="Untyped" >-</option>
<option selected>Normal</option>
<option>Bug</option>
<option>Dark</option>
<option>Dragon</option>
<option>Electric</option>
<option>Fairy</option>
<option>Fighting</option>
<option>Fire</option>
<option>Flying</option>
<option>Ghost</option>
<option>Grass</option>
<option>Ground</option>
<option>Ice</option>
<option>Poison</option>
<option>Psychic</option>
<option>Rock</option>
<option>Steel</option>
<option>Water</option>
</select>
</div>
<div>
<select name="attr_mlContestType">
<option selected="selected">Cool</option>
<option >Tough</option>
<option >Beauty</option>
<option >Smart</option>
<option >Cute</option>
</select>
</div>
<div>
<input type='text' name="attr_mlContestEffect" placeholder="Contest Effect" style="text-align:center"/>
</div>
</div><div style="width:70%" class="sheet-move-body" >
<div>
<span>Range: <input type="text" name="attr_mlRange" placeholder="Distance, Targets" style="width:350px"/></span>
<input type="hidden" name="attr_mlCat" class='sheet-move-cat' value="Physical"/>
<button type="roll" name="roll_mlShow" class="sheet-move-button sheet-move-physical" title="Show All" value="@{whisper} &{template:PTU} {{whisper=@{whisper}}} {{nick=@{character_name}}} {{name= @{mlName} }} {{type= @{mlType} }} {{frequency= @{mlFrequency} }} {{range= @{mlRange} }} {{dmgcat= @{mlCat} }} {{ac= [[ @{mlAC_total} ]] }} {{ar= [[1d20cs>[[@{mlCrit_total} - @{crit_mod}]] + @{Acc_total} - @{mlAC_total} ]] }} {{critsOn= [[@{mlCrit_total} - @{crit_mod}]] }} {{multistrike=[[@{ml_multistrike}]]}} {{db= [[@{mldb_total}]] }} {{db_roll= [[@{mlDB_roll}]]}} {{damage= [[@{mlDB_roll} + @{ATK_total} + @{dmg_bonus} ]] }} {{contest_type= @{mlContestType} }} {{contest_effect= @{mlContestEffect} }} {{effect= @{mlEffects} }}"></button>
<button type="roll" name="roll_mlShow" class="sheet-move-button sheet-move-special" title="Show All" value="@{whisper} &{template:PTU} {{whisper=@{whisper}}} {{nick=@{character_name}}} {{name= @{mlName} }} {{type= @{mlType} }} {{frequency= @{mlFrequency} }} {{range= @{mlRange} }} {{dmgcat= @{mlCat} }} {{ac= [[ @{mlAC_total} ]] }} {{ar= [[1d20cs>[[@{mlCrit_total} - @{crit_mod}]] + @{Acc_total} - @{mlAC_total} ]] }} {{critsOn= [[@{mlCrit_total} - @{crit_mod}]] }} {{multistrike=[[@{ml_multistrike}]]}} {{db= [[@{mldb_total}]] }} {{db_roll= [[@{mlDB_roll}]]}} {{damage= [[@{mlDB_roll} + @{SPATK_total} + @{dmg_bonus} ]] }} {{contest_type= @{mlContestType} }} {{contest_effect= @{mlContestEffect} }} {{effect= @{mlEffects} }}"></button>
<button type="roll" name="roll_mlShow" class="sheet-move-button sheet-move-status" title="Show All" value="@{whisper} &{template:PTU} {{whisper=@{whisper}}} {{nick=@{character_name}}} {{name= @{mlName} }} {{type= @{mlType} }} {{frequency= @{mlFrequency} }} {{range= @{mlRange} }} {{dmgcat= @{mlCat} }} {{ac= [[ @{mlAC_total} ]] }} {{ar= [[1d20cs>[[@{mlCrit_total} - @{crit_mod}]] + @{Acc_total} - @{mlAC_total} ]] }} {{critsOn= [[@{mlCrit_total} - @{crit_mod}]] }} {{multistrike=[[@{ml_multistrike}]]}} {{db= [[@{mldb_total}]] }} {{db_roll= [[@{mlDB_roll}]]}} {{damage= [[@{mlDB_roll} + 0 + @{dmg_bonus} ]] }} {{contest_type= @{mlContestType} }} {{contest_effect= @{mlContestEffect} }} {{effect= @{mlEffects} }}"></button>
</div>
<div>
<input type="hidden" name="attr_mlAC_total" value='0' />
<input type="hidden" name="attr_mlCrit_total" value='20' />
<span>AC: <input type="number" name="attr_mlAC" value='0' />
+ <input type="number" name="attr_mlAC_bonus" value='0' />
</span>
<span>Crit On: <input type="number" name="attr_mlCrit" value ="20"/>
- <input type="number" name="attr_mlCrit_mod" value ="0"/>
</span>
<button type="roll" name="roll_mlAC" class="sheet-move-button" title="Roll AC" value="@{whisper} &{template:PTU} {{whisper=@{whisper}}} {{nick= @{character_name}}} {{name= @{mlName} }} {{ac= [[@{mlAC_total}]] }} {{ar= [[1d20cs>[[@{mlCrit_total} - @{crit_mod}]] + (@{Acc_total} - @{mlAC_total}) ]] }} {{critsOn= [[@{mlCrit_total} - @{crit_mod} + 0]] }} {{type= @{mlType} }} {{frequency= @{mlFrequency} }} {{range= @{mlRange}}} {{effect= @{mlEffects}}}"></button>
<span class="sheet-multistrike-container">
<input class="sheet-move-multistrike" name="attr_ml_multistrike" type="hidden" value="0"/>
<input class="sheet-c" name="attr_ml_multistrike" title="Five Strike" type="radio" value="0" checked/>
<input class="sheet-a" name="attr_ml_multistrike" title="No Multistrike" type="radio" value="2" />
<input class="sheet-b" name="attr_ml_multistrike" title="Double Strike" type="radio" value="5" />
<img class="sheet-a" src="https://i.imgur.com/xHmdPBa.png" />
<img class="sheet-b" src="https://i.imgur.com/PaGMG5g.png" />
<img class="sheet-c" src="https://i.imgur.com/GwdvtBR.png" />
</span>
</div>
<div>
<input type="hidden" name="attr_mldb_total" value="0" />
<!-- <input type="hidden" name="attr_mlDB_roll" value='1d8 + 6' /> -->
<span>DB: <input type="number" name="attr_mlDB" value="0" />
+ <input type="number" name="attr_mlDB_bonus" value="0" />
</span>
<span class="sheet-db-breakdown">
<input type="text" name="attr_mlDB_roll" style="width: 200px;text-align: center;" value="0" />
</span>
<span>
<label style='display:inline-block; width:auto'>STAB</label>
<input type='checkbox' name='attr_mlStab' value='1'/>
</span>
<input type="hidden" name="attr_mlCat" class='sheet-move-cat' value="Physical"/>
<button type="roll" name="roll_mlDB" class="sheet-move-button sheet-move-physical" title="Roll Damage" value="@{whisper} &{template:PTU} {{whisper=@{whisper}}} {{nick= @{character_name} }} {{name= @{mlName}}} {{type= @{mlType} }} {{frequency= @{mlFrequency} }} {{db= [[@{mldb_total}]] }} {{damage= [[@{mlDB_roll} + @{ATK_total} + @{dmg_bonus} ]] }}"></button>
<button type="roll" name="roll_mlDB" class="sheet-move-button sheet-move-special" title="Roll Damage" value="@{whisper} &{template:PTU} {{whisper=@{whisper}}} {{nick= @{character_name} }} {{name= @{mlName}}} {{type= @{mlType} }} {{frequency= @{mlFrequency} }} {{db= [[@{mldb_total}]] }} {{damage= [[@{mlDB_roll} + @{SPATK_total} + @{dmg_bonus} ]] }}"></button>
<button type="roll" name="roll_mlDB" class="sheet-move-button sheet-move-status" title="Roll Damage" value="@{whisper} &{template:PTU} {{whisper=@{whisper}}} {{nick= @{character_name} }} {{name= @{mlName}}} {{type= @{mlType} }} {{frequency= @{mlFrequency} }} {{db= [[@{mldb_total}]] }} {{damage= [[@{mlDB_roll} + 0 + @{dmg_bonus} ]] }}"></button>
</div>
</div>
</div>
<div class="sheet-row">
<textarea name="attr_mlEffects" style="display:inline-block;max-width:100%"></textarea>
</div>
</div>
</fieldset>
</div>
</div>
</div>
<!-- Import Page -->
<div class="sheet-oldtab4 sheet-page-import" >
<h3 class='sheet-header'>Import</h3>
<button type="action" style="width: 100%;" name="act_import">Import</button>
<textarea class='sheet-import sheet-textarea' name='attr_input'></textarea>
</div>
<script type="text/worker">
let moveAttrs = [
"repeating_moves_mlKnown","repeating_moves_mlName","repeating_moves_mlType","repeating_moves_mlFrequency",
"repeating_moves_mlCat","repeating_moves_mlRange","repeating_moves_mlAC_total","repeating_moves_mlCrit_total",
"repeating_moves_mldb_total","repeating_moves_mlDB_roll","repeating_moves_mlDamageBonus","repeating_moves_mlUses",
"repeating_moves_mlContestType","repeating_moves_mlContestEffect","repeating_moves_mlEffects",
"repeating_moves_mlID", "repeating_moves_ml_multistrike"
];
let natures={
"composed":{"up":"HP","down":"HP"},"cuddly":{"up":"HP","down":"ATK"},"distracted":{"up":"HP","down":"DEF"},
"proud":{"up":"HP","down":"SPATK"},"decisive":{"up":"HP","down":"SPDEF"},"patient":{"up":"HP","down":"SPEED"},
"desperate":{"up":"ATK","down":"HP"},"hardy":{"up":"ATK","down":"ATK"},"lonely":{"up":"ATK","down":"DEF"},
"adamant":{"up":"ATK","down":"SPATK"},"naughty":{"up":"ATK","down":"SPDEF"},"brave":{"up":"ATK","down":"SPEED"},
"stark":{"up":"DEF","down":"HP"},"bold":{"up":"DEF","down":"ATK"},"docile":{"up":"DEF","down":"DEF"},"impish":{"up":"DEF","down":"SPATK"},
"lax":{"up":"DEF","down":"SPDEF"},"relaxed":{"up":"DEF","down":"SPEED"},"curious":{"up":"SPATK","down":"HP"},
"modest":{"up":"SPATK","down":"ATK"},"mild":{"up":"SPATK","down":"DEF"},"bashful":{"up":"SPATK","down":"SPATK"},
"rash":{"up":"SPATK","down":"SPDEF"},"quiet":{"up":"SPATK","down":"SPEED"},"dreamy":{"up":"SPDEF","down":"HP"},
"calm":{"up":"SPDEF","down":"ATK"},"gentle":{"up":"SPDEF","down":"DEF"},"careful":{"up":"SPDEF","down":"SPATK"},
"quirky":{"up":"SPDEF","down":"SPDEF"},"sassy":{"up":"SPDEF","down":"SPEED"},"skittish":{"up":"SPEED","down":"HP"},
"timid":{"up":"SPEED","down":"ATK"},"hasty":{"up":"SPEED","down":"DEF"},"jolly":{"up":"SPEED","down":"SPATK"},
"naive":{"up":"SPEED","down":"SPDEF"},"serious":{"up":"SPEED","down":"SPEED"}
};
let weights=[
"0 25 lbs; 0 11 kg; ---","25 55 lbs; 11 25 kg; ---",
"55 110 lbs; 25 50 kg; ---","110 220 lbs; 50 100 kg; ---","220 440 lbs; 100 200 kg; ---",
" > 440lbs ; > 200kg; ---", " > 440lbs ; > 200kg; Heavy Metal"
];
let oldStruggleAttrs = [
`Struggle_AC`, `Struggle_critsOn`, `Struggle_Type`, `Struggle_DB`, `Struggle_Amount`,
`Struggle_Dice`, `Struggle_Bonus`, `Struggle_DType`, `Struggle_Range`,
`Struggle_Effects`, `Struggle_pmod`, `Struggle_smod`, `Struggle_dam_B_t`
];
var getOldMoveAttrs = function (n) {
return [
`Move${n}_Name`,`Move${n}_Freq`, `Move${n}_AC`,`Move${n}_critsOn`,`Move${n}_Type`,
`Move${n}_DB`, `Move${n}_Amount`, `Move${n}_Dice`, `Move${n}_Bonus`, `Move${n}_DType`, `Move${n}_Range`,
`Move${n}_Effects`, `Move${n}_pmod`, `Move${n}_smod`, `Move${n}_dam_B_t`, `Move${n}_diebonus`
];
};
var getOldMoveAttrsRepeating = function (section) {
return [
`repeating_moves_${section}_Move_Name`,`repeating_moves_${section}_Move_Freq`, `repeating_moves_${section}_Move_AC`,`repeating_moves_${section}_Move_critsOn`,`repeating_moves_${section}_Move_Type`,
`repeating_moves_${section}_Move_DB`, `repeating_moves_${section}_Move_Amount`, `repeating_moves_${section}_Move_Dice`, `repeating_moves_${section}_Move_Bonus`, `repeating_moves_${section}_Move_DType`, `repeating_moves_${section}_Move_Range`,
`repeating_moves_${section}_Move_Effects`, `repeating_moves_${section}_Move_pmod`, `repeating_moves_${section}_Move_smod`, `repeating_moves_${section}_Move_dam_B_t`, `repeating_moves_${section}_Move_diebonus`
];
};
var oldFeatureAttrs = function (sectionid) {
return [
`repeating_abilities_${sectionid}_Ability_Hide`,
`repeating_abilities_${sectionid}_Ability_Name`,
`repeating_abilities_${sectionid}_Ability_Freq`,
`repeating_abilities_${sectionid}_Ability_Target`,
`repeating_abilities_${sectionid}_Ability_Trigger`,
`repeating_abilities_${sectionid}_Ability_Info`
];
};
var tryUpdateRepeatingMoves = function () {
getSectionIDs("repeating_moves", function (idarray) {
for(i = 0 ; i < idarray.length ; i++ )
{
getAttrs( getOldMoveAttrsRepeating(idarray[i]), function (values) {
var section = idarray[i];
var autoupdate = {};
var update={};
autoupdate[`repeating_moves_${section}_mlAC`] = parseInt(values[`repeating_moves_${section}_Move_AC`], 10)||0;
autoupdate[`repeating_moves_${section}_mlCrit`] = parseInt(values[`repeating_moves_${section}_Move_critsOn`], 10)||20;
autoupdate[`repeating_moves_${section}_mlDB`] = parseInt(values[`repeating_moves_${section}_Move_DB`], 10)||0;
update[`repeating_moves_${section}_mlID`] = "";
update[`repeating_moves_${section}_mlKnown`] = 0 ;
update[`repeating_moves_${section}_mlName`] = values[`repeating_moves_${section}_Move_Name`]||"";
update[`repeating_moves_${section}_mlType`] = values[`repeating_moves_${section}_Move_Type`]||"Untyped";
update[`repeating_moves_${section}_mlFrequency`] = values[`repeating_moves_${section}_Move_Freq`]||"At-Will"
update[`repeating_moves_${section}_mlUses`] = 0;
update[`repeating_moves_${section}_mlCat`] = values[`repeating_moves_${section}_Move_DType`]||"Physical";
update[`repeating_moves_${section}_mlContestType`] = "Cool";
update[`repeating_moves_${section}_mlContestEffect`] = "";
update[`repeating_moves_${section}_mlRange`] = values[`repeating_moves_${section}_Move_Range`]||"";
update[`repeating_moves_${section}_mlAC_bonus`] = 0;
update[`repeating_moves_${section}_mlCrit_mod`] = 0;
update[`repeating_moves_${section}_mlDB_bonus`] = 0;
update[`repeating_moves_${section}_mlDB_total`] = 0;
update[`repeating_moves_${section}_mlStab`] = 0;
update[`repeating_moves_${section}_mlEffects`] = values[`repeating_moves_${section}_Move_Effects`]||"";
setAttrs(update, {silent:true}, function () {
setAttrs(autoupdate);
});
});
}
});
};
var tryUpdateStruggle = function () {
getAttrs(oldStruggleAttrs, function (values) {
var update = {};
update["struggleFreq"] = "At-Will";
update["struggleType"] = values["Struggle_Type"] || "Normal";
update["struggleContestType"] = "Cool";
update["struggleCat"] = values["Struggle_DType"] || "Physical";
update["struggleContestEffect"] = "";
update["struggleRange"] = values["Struggle_Range"] || "Melee, 1 Target";
update["struggleAC"] = parseInt( values["Struggle_AC"], 10) || 4;
update["struggleAC_bonus"] = 0;
update["struggleAC_total"] = update["struggleAC"];
update["struggleCrit"] = parseInt( values["Struggle_critsOn"], 10) || 20;
update["struggleCrit_mod"] = 0;
update["struggleCrit_total"] = update["struggleCrit"];
update["struggle_db_bonus"] = 0;
update["struggleStab"] = 0;
update["struggleEffects"] = values["Struggle_Effects"] || "" ;
setAttrs(update, {silent:true}, function () {
setAttrs({
"struggle_db" : ( parseInt( values["Struggle_DB"], 10) || 4 )
});
});
});
};
function tryUpdateMove(n){
if(n > 6){return;}
getAttrs(getOldMoveAttrs(n), function (values) {
var newrowid = generateRowID();
var update = {};
var autoFields = {};
if(values[`Move${n}_Name`] != undefined){
update[`repeating_moves_${newrowid}_mlID`] = "";
update[`repeating_moves_${newrowid}_mlKnown`] = 0;
update[`repeating_moves_${newrowid}_mlName`] = values[`Move${n}_Name`] || "";
update[`repeating_moves_${newrowid}_mlFrequency`] = values[`Move${n}_Freq`] || "At-Will";
update[`repeating_moves_${newrowid}_mlUses`] = 0;
update[`repeating_moves_${newrowid}_mlType`] = values[`Move${n}_Type`] || "Untyped";
update[`repeating_moves_${newrowid}_mlCat`] = values[`Move${n}_DType`] || "Physical";
update[`repeating_moves_${newrowid}_mlContestType`] = "Cool";
update[`repeating_moves_${newrowid}_mlContestEffect`] = "";
update[`repeating_moves_${newrowid}_mlRange`] = values[`Move${n}_Range`] || "";
update[`repeating_moves_${newrowid}_mlAC_bonus`] = 0;
update[`repeating_moves_${newrowid}_mlAC_total`] = "";
update[`repeating_moves_${newrowid}_mlCrit_mod`] = 0;
update[`repeating_moves_${newrowid}_mlCrit_total`] = "";
update[`repeating_moves_${newrowid}_mlDB_bonus`] = 0;
update[`repeating_moves_${newrowid}_mlDB_roll`] = "";
update[`repeating_moves_${newrowid}_mlStab`] = 0;
update[`repeating_moves_${newrowid}_mlEffects`] = values[`Move${n}_Effects`] || "";
autoFields[`repeating_moves_${newrowid}_mlAC`] = parseInt(values[`Move${n}_AC`],10)||0;
autoFields[`repeating_moves_${newrowid}_mlDB`] = parseInt(values[`Move${n}_DB`],10)||0;
autoFields[`repeating_moves_${newrowid}_mlCrit`] = parseInt(values[`Move${n}_critsOn`],10)||20;
}
setAttrs(update, {silent: true}, function () {
setAttrs(autoFields);
});
});
};
function tryUpdateRepeatingConditions(){
getSectionIDs("statuses", function (idarray) {
for(i = 0 ; i < idarray.length ; i++ )
{
getAttrs(
[
`repeating_statuses_${idarray[i]}_status_name1`,
`repeating_statuses_${idarray[i]}_status_name2`,
`repeating_statuses_${idarray[i]}_status_state1`,
`repeating_statuses_${idarray[i]}_status_state2`
], function (values) {
var update = {};
var id1 = generateRowID();
if(values[`repeating_statuses_${idarray[i]}_status_name1`] != undefined){
update[`repeating_custom-status_${id1}_status_name`] = values[`repeating_statuses_${idarray[i]}_status_name1`];
update[`repeating_custom-status_${id1}_status_state`] = parseInt(values[`repeating_statuses_${idarray[i]}_status_state1`],10)||0;
}
var id2 = generateRowID();
if(values[`repeating_statuses_${idarray[i]}_status_name2`] != undefined){
update[`repeating_custom-status_${id2}_status_name`] = values[`repeating_statuses_${idarray[i]}_status_name2`];
update[`repeating_custom-status_${id2}_status_state`] = parseInt(values[`repeating_statuses_${idarray[i]}_status_state2`],10)||0;
}
setAttrs(update, {"silent": true});
removeRepeatingRow(`repeating_statuses_${idarray[i]}`);
});
}
});
};
function tryUpdateStaticFeature(){
getAttrs(["FeatureHide","FeatureName", "FeatureFreq", "FeatureTarget", "FeatureInfo"], function (values){
if(values["FeatureName"] != undefined){
var update = {};
var id = generateRowID();
update[`repeating_features_${id}_Feature_Hide`] = values["FeatureHide"] || "";
update[`repeating_features_${id}_Feature_Name`] = values["FeatureName"] || "";
update[`repeating_features_${id}_Feature_Freq`] = values["FeatureFreq"] || "";
update[`repeating_features_${id}_Feature_Target`] = values["FeatureTarget"] || "";
update[`repeating_features_${id}_Feature_Info`] = values["FeatureInfo"] || "";
setAttrs(update,{"silent": true});
}
});
};
function tryUpdateStaticAbility(){
getAttrs(["AbilityHide","AbilityName", "AbilityFreq", "AbilityTarget", "AbilityInfo"], function (values){
if(values["AbilityName"] != undefined){
var update = {};
var id = generateRowID();
update[`repeating_abilities_${id}_Ability_Hide`] = values["AbilityHide"] || "";
update[`repeating_abilities_${id}_Ability_Name`] = values["AbilityName"] || "";
update[`repeating_abilities_${id}_Ability_Freq`] = values["AbilityFreq"] || "";
update[`repeating_abilities_${id}_Ability_Target`] = values["AbilityTarget"] || "";
update[`repeating_abilities_${id}_Ability_Info`] = values["AbilityInfo"] || "";
setAttrs(update,{"silent": true});
}
});
};
var versioning = function (version) {
if (version == undefined || version < 2.0){
var update = {};
// RepeatingMoves
tryUpdateRepeatingMoves();
// Repeating Conditions
tryUpdateRepeatingConditions();
// Struggle
tryUpdateStruggle();
// Static Moves
tryUpdateMove(1);
tryUpdateMove(2);
tryUpdateMove(3);
tryUpdateMove(4);
tryUpdateMove(5);
tryUpdateMove(6);
// Static Feature
tryUpdateStaticFeature();
// Static Ability
tryUpdateStaticAbility();
update["version"] = 2.0;
setAttrs(update,{silent: true}, function () {
versioning(2.0);
});
}
};
on("sheet:opened", function () {
getAttrs(["character_name","version", "character_sheet"], function (values) {
var version = parseFloat(values["version"], 10) || 0;
console.log(`Running update for v${version} sheet '${values["character_name"]}'`);
if(version < 2.0){
versioning(1);
}else if(version > 2.0){
versioning(version);
}
});
});
/*
Auto-fill Weight based on weight class.
If a non generic value has been set to the weight field
this event does nothing.
*/
on("change:weightClass" , function(e){
getAttrs(["weightClass","weight"],function(v){
var wc = parseInt(v["weightClass"])||0;
var text = v["weight"] || "";
var w = "--- ; --- ; ---";
if(wc > 0 && wc < 8){
w = weights[wc-1];
}
if(text.length <= 0 || weights.find( (el,i,arr) => {return el === text;}) != undefined ) {
setAttrs({
"weight": w
});
}
});
});
/*
Auto-fill Nature stats if the nature matches an existing nature
*/
on("change:nature",function(){
var update = {};
getAttrs(["nature"],function(v){
var nat = v["nature"] + "";
nat = ('' + nat).toLowerCase().trim();
if(natures[nat] != null){
update["nature_high"] = natures[nat]["up"];
update["nature_low"] = natures[nat]["down"];
}
// Silent to avoid infinite callbacks
setAttrs(update, {silent: true});
});
});
/*
Auto-fill Nature name based on stat combination
*/
on("change:nature_high change:nature_low",function(){
var update = {};
getAttrs(["nature_high","nature_low"],function(v){
var high = v["nature_high"];
var low = v["nature_low"];
for (var property in natures) {
if(natures[property]["up"] == high && natures[property]["down"] == low){
update["nature"] = property.charAt(0).toUpperCase() + property.slice(1);
// Silent to avoid infinite callbacks
setAttrs(update,{silent:true});
break;
}
}
});
});
/*
Auto-fill max exp field based on current level
*/
on("change:level change:CharType", function(){
var update = {};
getAttrs(["level", "CharType"],function(v){
var level = parseInt( v["level"]) || 0;
var char = parseInt( v["CharType"]) || 0;
if(char == 0){
// Pokemon
var exp = expCalc(level+1);
}else{
// Trainer
var exp = 10;
}
update["exp_max"] = exp;
setAttrs(update);
});
});
/*
Auto-calculates capability totals from base and bonuses
This sheet does not automate base value calculation for capabilities, this leaves room for custom formulea
*/
on("sheet:opened change:Overland change:Overland_bonus change:Swim change:Swim_bonus change:Throw change:Throw_bonus change:Power change:Power_bonus change:HJ change:HJ_bonus change:LJ change:LJ_bonus change:speed_movement_bonus",function(){
var update = {};
getAttrs([ "Overland", "Overland_bonus", "Swim", "Swim_bonus", "Throw", "Throw_bonus", "Power", "Power_bonus", "HJ", "HJ_bonus" ,"LJ", "LJ_bonus","speed_movement_bonus"],function(v){
var overland = parseInt(v["Overland"])||0;
var swim = parseInt(v["Swim"])||0;
var hj = parseInt(v["HJ"])||0;
var lj = parseInt(v["LJ"])||0;
var power = parseInt(v["Power"])||0;
var thrown = parseInt(v["Throw"])||0;
var movement_mod = parseInt(v["speed_movement_bonus"])||0;
var bonus_o = parseInt(v["Overland_bonus"])||0;
var bonus_s = parseInt(v["Swim_bonus"])||0;
var bonus_t = parseInt(v["Throw_bonus"])||0;
var bonus_p = parseInt(v["Power_bonus"])||0;
var bonus_h = parseInt(v["HJ_bonus"]) || 0;
var bonus_l = parseInt(v["LJ_bonus"]) || 0;
if(movement_mod < 0)
{
update["Overland_calc"] = Math.min(Math.max( (overland + bonus_o) + movement_mod, 2), (overland + bonus_o));
update["Swim_calc"] = Math.min(Math.max( (swim + bonus_s) + movement_mod, 2), (swim + bonus_s));
}else
{
update["Overland_calc"] = (overland + bonus_o) + movement_mod;
update["Swim_calc"] = (swim + bonus_s) + movement_mod;
}
update["HJ_calc"] = (hj + bonus_h);
update["LJ_calc"] = (lj + bonus_l);
update["Power_calc"] = (power + bonus_p);
update["Throw_calc"] = (thrown + bonus_t);
setAttrs(update, {silent: true});
});
});
/*
Unlocks/Locks controls for the known moves repeating section
*/
on("clicked:lockMoves",function(){
var update = {};
getAttrs(["lockMovesKnown"], function(values){
var lock = parseInt(values["lockMovesKnown"]) || 0;
lock+=1;
if(lock == 0){
update["lockMovesKnown"] = lock % 2;
}else{
update["lockMovesKnown"] = lock % 2;
}
setAttrs(update);
});
});
/*
on("clicked:hideMoveList", function(){
var update = {};
getAttrs(["hideMoveList"], function(values){
var lock = parseInt(values["hideMoveList"]) || 0;
lock+=1;
update["hideMoveList"] = lock % 2;
setAttrs(update);
});
});
*/
/*
Auto-calculate total tutor points
*/
on("change:TutorPoints_bonus change:Level", function(eventinfo){
getAttrs(["TutorPoints_bonus", "Level"], function(values){
bonus = parseInt(values["TutorPoints_bonus"]) || 0;
level = parseInt(values["Level"]) || 0;
sum = Math.floor( (level > 1 ? level:1) / 5 ) + 1 + bonus;
setAttrs({
'TutorPoints_max': sum
});
});
});
/*
Auto-calculate remaining tutor
Find the sum of all edge costs
*/
on("remove:repeating_edges change:repeating_edges:EdgeCost change:TutorPoints_max sheet:opened", function(eventinfo){
update = {};
attrs = [];
sum = 0;
getSectionIDs("edges", function(idArray){
for(i = 0; i < idArray.length; i++){
attrs.push(`repeating_edges_${idArray[i]}_EdgeCost`);
}
getAttrs(attrs.concat(["TutorPoints_max"]), function(values){
sum = parseInt(values["TutorPoints_max"])||0;
for(i = 0; i < attrs.length; i++){
sum -= parseInt(values[attrs[i]])||0;
}
setAttrs({
'TutorPoints': sum
});
});
});
});
/*
Auto-calculate AP used
Sum all uses in the repeating list
*/
on("change:ap_max change:repeating_apcost:ap_cost remove:repeating_apcost sheet:opened", function(eventinfo){
update = {};
attrs = [];
sum = 0;
getSectionIDs("apcost", function(idArray){
for(i = 0; i < idArray.length; i++){
attrs.push(`repeating_apcost_${idArray[i]}_ap_cost`);
}
getAttrs(attrs.concat(["ap_max"]), function(values){
sum = parseInt(values["ap_max"])||0;
for(i = 0; i < attrs.length; i++){
sum -= parseInt(values[attrs[i]])||0;
}
setAttrs({
"ap": sum
});
});
});
});
/*
Button event
Imports data from user given JSON
*/
on("clicked:import", function() {
infoImport();
});
/*
Auto-updates Known Move shortcut
when a change is made to the move auto update the corresponding shortcut
*/
on("change:repeating_moves", function(eventinfo){
var source = eventinfo.sourceAttribute.substring(39);
var v ="";
var update = {};
if(source === "known"){ return;}
if(source === "ac" || source === "ac_bonus" ){ return;}
if(source === "db" || source === "db_bonus" || source === "stab"){ return;}
if(source === "crit" || source === "crit_mod" ){ return;}
getAttrs([`repeating_moves_ml${source}`, `repeating_moves_ml${source}_max` , "repeating_moves_mlID"], function(values){
var id = values["repeating_moves_mlID"] || "";
if(id != ""){
v = values[`repeating_moves_ml${source}`];
if(id != "" && values["repeating_moves_mlID"] != null){
if(source === "ac_total"){
update["repeating_movesKnown_" + id + "_mkac"] = v;
}else if(source === "crit_total"){
update["repeating_movesKnown_" + id + "_mkcrit"] = v;
}else if(source === "db_total"){
update["repeating_movesKnown_" + id + "_mkdb"] = v;
}else if(source === "uses"){
update["repeating_movesKnown_" + id + "_mkUses_max"] = eventinfo.newValue;
}else{
update["repeating_movesKnown_" + id + "_mk" + source] = v;
}
}
// Silent to avoid infinite callbacks
setAttrs(update,{silent: true});
}
});
});
/*
Add/Remove a move from the known moves list
*/
on("change:repeating_moves:mlKnown", function(eventinfo) {
var update = {};
if(eventinfo.newValue == "1"){
var newID = generateRowID();
getAttrs(moveAttrs, function(values){
update["repeating_moves_mlID"] = newID;
update["repeating_movesKnown_"+ newID +"_mkName"] = values["repeating_moves_mlName"];
update["repeating_movesKnown_"+ newID +"_mkType"] = values["repeating_moves_mlType"];
update["repeating_movesKnown_"+ newID +"_mkCat"] = values["repeating_moves_mlCat"];
update["repeating_movesKnown_"+ newID +"_mkFrequency"] = values["repeating_moves_mlFrequency"];
update["repeating_movesKnown_"+ newID +"_mkRange"] = values["repeating_moves_mlRange"];
update["repeating_movesKnown_"+ newID +"_mkAC"] = values["repeating_moves_mlAC_total"];
update["repeating_movesKnown_"+ newID +"_mkCrit"] = values["repeating_moves_mlCrit_total"];
update["repeating_movesKnown_"+ newID +"_mkDB"] = values["repeating_moves_mldb_total"];
update["repeating_movesKnown_"+ newID +"_mkDB_roll"] = values["repeating_moves_mlDB_roll"];
update["repeating_movesKnown_"+ newID +"_mkContestType"] = values["repeating_moves_mlContestType"];
update["repeating_movesKnown_"+ newID +"_mkContestEffect"] = values["repeating_moves_mlContestEffect"];
update["repeating_movesKnown_"+ newID +"_mkEffects"] = values["repeating_moves_mlEffects"];
update["repeating_movesKnown_"+ newID +"_mkUses"] = values["repeating_moves_mlUses"];
update["repeating_movesKnown_"+ newID +"_mkUses_max"] = values["repeating_moves_mlUses"];
update["repeating_movesKnown_"+ newID +"_mk_multistrike"] = values["repeating_moves_ml_multistrike"];
setAttrs(update,{silent: true});
});
}else{
getAttrs(["repeating_moves_mlID"], function(values){
update["repeating_moves_mlID"] = "";
removeRepeatingRow("repeating_movesKnown_" + values["repeating_moves_mlID"]);
setAttrs(update,{silent: true});
});
}
});
/*
Auto-remove known moves shortcut when the original is deleted
*/
on("remove:repeating_moves", function(eventinfo) {
for (var property in eventinfo.removedInfo) {
if (eventinfo.removedInfo.hasOwnProperty(property)) {
if (property.match(/.*mlID/g)!=null) {
removeRepeatingRow("repeating_movesKnown_" + eventinfo.removedInfo[property]);
}
}
}
});
/*
Auto-calculate AC of a move given the base and a bonus
*/
on("change:repeating_moves:mlAC change:repeating_moves:mlAC_bonus", function(){
update={};
getAttrs(["repeating_moves_mlAC", "repeating_moves_mlAC_bonus"], function(values){
var ac = parseInt(values["repeating_moves_mlAC"], 10) || 0;
var ac_b = parseInt(values["repeating_moves_mlAC_bonus"], 10) || 0;
update["repeating_moves_mlAC_total"] = ac + ac_b;
setAttrs(update);
});
});
/*
Auto-calculate DB of a move given the base and a bonus
will not update if the new DB is <= 0
*/
on("change:repeating_moves:mlDB change:repeating_moves:mlDB_bonus change:repeating_moves:mlStab", function(){
update = {};
getAttrs(["repeating_moves_mlDB", "repeating_moves_mlDB_bonus", "repeating_moves_mlStab","repeating_moves_mlID"], function(values){
var id = values["repeating_moves_mlID"];
var db = parseInt(values["repeating_moves_mlDB"]) || 0;
var db_b = parseInt(values["repeating_moves_mlDB_bonus"]) || 0;
var stab = parseInt(values["repeating_moves_mlStab"]) || 0;
var db_total =db + db_b + (stab * 2);
var x = dbCalc(db + db_b + (stab * 2));
var roll = "";
setAttrs({"repeating_moves_mldb_total" : db_total });
if( (db + db_b + (stab * 2)) > 0){
roll = "" + x.amount + "" + x.dice + " + " + x.bonus ;
update["repeating_moves_mlDB_roll"] = roll;
if(id != ""){
update[`repeating_movesKnown_${id}_mkDB_roll`] = roll;
}
// Silent to avoid infinite callbacks
setAttrs(update, {silent: true});
}
});
});
/*
Auto-calculate the Crit range of a move given the base and a modifier
*/
on("change:repeating_moves:mlCrit change:repeating_moves:mlCrit_mod", function(){
update={};
getAttrs(["repeating_moves_mlCrit", "repeating_moves_mlCrit_mod"], function(values){
var crit = parseInt(values["repeating_moves_mlCrit"], 10) || 0;
var crit_m = parseInt(values["repeating_moves_mlCrit_mod"], 10) || 0;
update["repeating_moves_mlCrit_total"] = crit - crit_m;
setAttrs(update);
});
});
/*
Auto-update Combat Stats
this generates an event for each stat
*/
const stats = ['HP','ATK','DEF','SPATK','SPDEF','SPEED'];
stats.forEach(function (stat) {
on(`change:base_${stat} change:${stat} change:${stat}_Stage change:${stat}_bonus sheet:opened`, function () {
getAttrs([`base_${stat}`,`${stat}`, `${stat}_Stage`, `${stat}_bonus`], function (values) {
const base = parseInt(values[`base_${stat}`], 10)||0;
const alloc = parseInt(values[`${stat}`], 10)||0;
const stage = parseFloat(values[`${stat}_Stage`], 10)||1;
const bonus = parseInt(values[`${stat}_bonus`], 10)||0;
const calc = Math.floor( (base + alloc + bonus) * stage );
setAttrs({
[stat + '_total']: calc
});
});
});
});
/*
Auto-update movement capabilities using Speed CS
*/
on("change:SPEED_Stage",function(){
update={};
getAttrs(["SPEED_Stage"], function(values){
var stage_mul = parseFloat( values["SPEED_Stage"], 10)||1;
var stage = 0;
if(stage_mul != 1){
stage_mul *= 10;
stage = (stage_mul < 10) ? 0-(10 - stage_mul) : Math.trunc((stage_mul - 10)/2);
}
update["speed_movement_bonus"] = Math.floor(stage/2);
setAttrs(update);
});
});
/*
Auto-calculate global Accuracy modifier
*/
on("change:Acc change:Acc_bonus",function(){
update={};
getAttrs(["Acc","Acc_bonus"],function(values){
var stage = parseInt(values["Acc"],10)||0;
var bonus = parseInt(values["Acc_bonus"],10)||0;
update["Acc_total"] = stage + bonus;
setAttrs(update);
});
});
/*
Auto-calculate global Evasion modifier
*/
on("change:Eva change:Eva_bonus",function(){
update={};
getAttrs(["Eva","Eva_bonus"],function(values){
var stage = parseInt(values["Eva"],10)||0;
var bonus = parseInt(values["Eva_bonus"],10)||0;
update["Eva_total"] = stage + bonus;
setAttrs(update);
});
});
/*
Auto-calculate Evasions
*/
on("sheet:opened change:def_total change:spdef_total change:speed_total change:Eva_total change:PEB change:ScEB change:SpEB", function() {
evaUp();
});
/*
Auto-calculate current max hitpoints
*/
on("sheet:opened change:level change:chartype change:hp_total change:injuries", function() {
hpCalc();
});
/*
Auto-calculate AP max
*/
on("sheet:opened change:level", function() {
apCalc();
});
/*
Auto-calculate damage dice roll for generic rolls
*/
on("change:generic_db", function(){
update = {};
getAttrs(["generic_db"],function(values){
db = parseInt(values["generic_db"]) || 0;
x = dbCalc(db);
update["generic_db_roll"] = "" + x.amount + "" + x.dice + " + " + x.bonus;
setAttrs(update);
});
});
/*
Auto-calculate AC for Struggle
*/
on("change:struggleAC change:struggleAC_bonus", function(){
update={};
getAttrs(["struggleAC", "struggleAC_bonus"],function(values){
var ac = parseInt(values["struggleAC"]) || 0;
var ac_b = parseInt(values["struggleAC_bonus"]) || 0;
update["struggleAC_total"] = ac + ac_b;
setAttrs(update);
});
});
/*
Auto-calculate Crit range for Struggle
*/
on("change:struggleCrit change:struggleCrit_mod", function(){
update={};
getAttrs(["struggleCrit", "struggleCrit_mod"], function(values){
var crit = parseInt(values["struggleCrit"]) || 20;
var crit_m = parseInt(values["struggleCrit_mod"]) || 0;
update["struggleCrit_total"] = crit - crit_m;
setAttrs(update);
});
});
/*
Auto-calculate DB for Struggle
*/
on("change:struggle_db change:struggle_db_bonus change:struggleStab", function(){
update = {};
getAttrs(["struggle_db", "struggle_db_bonus", "struggleStab"],function(values){
var db = parseInt(values["struggle_db"]) || 0;
var db_b = parseInt(values["struggle_db_bonus"]) || 0;
var stab = parseInt(values["struggleStab"]) || 0;
var x = dbCalc(db + db_b + (stab * 2));
var roll = "";
update["struggle_db_total"] = db + db_b + (stab * 2);
if(db > 0){
roll = "" + x.amount + "" + x.dice + " + " + x.bonus ;
update["struggle_db_roll"] = roll;
setAttrs(update, {silent:true});
}
});
});
/*
Set DB to 0 if DB is modified
*/
on("change:struggle_db_roll", function(){
update = {};
update["struggle_db_total"] = "" ;
setAttrs(update,{silent: true});
});
/*
Import character from JSON data
*/
var infoImport = function() {
getAttrs(["input"], function (v) {
var char = JSON.parse(v["input"]);
var x; var t; var rmoves; var rcaps; var redges; var rabils; var rfeats; var i;
t = {};
getSectionIDs("repeating_moves", function(idarray) {
rmoves = idarray;
getSectionIDs("repeating_capabilities", function(idarray) {
rcaps = idarray;
getSectionIDs("repeating_edges", function(idarray) {
redges = idarray;
getSectionIDs("repeating_features", function(idarray) {
rfeats = idarray;
getSectionIDs("repeating_abilities", function(idarray) {
rabils = idarray;
if (rmoves==undefined){rmoves=[];}
if (rcaps ==undefined){rcaps=[];}
if (redges==undefined){redges=[];}
if (rfeats==undefined){rfeats=[];}
if (rabils==undefined){rabils=[];}
for (var property in char) {
if (char.hasOwnProperty(property)) {
if(char[property] == undefined || char[property] === ""){
continue;
}
if (property.match(/Move\s*\d*/gi) != null) {
// Import Moves
i = generateRowID();
for (var prop in char[property]){
if (char[property].hasOwnProperty(prop)){
if(char[property][prop] == undefined || char[property][prop] === ""){
continue;
}
x = "repeating_moves_" + i + "_ml";
switch(prop){
case "Name":
t[x + "Name"] = char[property][prop];
break;
case "Type":
t[x + "Type"] = char[property][prop];
break;
case "Freq":
list = char[property][prop].match(/([a-wyz\-]+)(\s*[x]\s*)?(\d+)?/i);
if(list != undefined){
if(list.length <= 2){
// has no use count
t[x + "Frequency"] = list[1];
t[x + "Uses_max"] = 1;
}else if(list.length < 4){
//number missing
t[x + "Frequency"] = list[1];
t[x + "Uses_max"] = 1;
}else{
// frequesncy and uses
t[x + "Frequency"] = list[1];
t[x + "Uses_max"] = parseInt(list[3])||1;
}
}
break;
case "AC":
t[x + "AC"] = parseInt(char[property][prop])||0;
break;
case "DB":
t[x + "DB"] = char[property][prop];
break;
case "DType":
t[x + "Cat"] = char[property][prop];
break;
case "Range":
t[x + "Range"] = char[property][prop];
break;
case "Effects":
t[x + "Effects"] = char[property][prop];
break;
case "Contest Type":
t[x + "ContestEffect"] = char[property][prop];
break;
case "Contest Effect":
t[x + "ContestType"] = char[property][prop];
break;
default:
break;
}
}
}
} else if (property.match(/Feature\s*\d*/gi)!=null) {
// Import Features
//i = Number(property.substring(7));
i=generateRowID();
for (var prop in char[property]){
if (char[property].hasOwnProperty(prop)){
if(char[property][prop] == undefined || char[property][prop] === ""){
continue;
}
x = "repeating_features_".concat(i).concat("_Feature_").concat(prop);
t[x] = char[property][prop];
}
}
} else if (property.match(/Ability\s*\d*/gi)!=null) {
i=generateRowID();
for (var prop in char[property]){
if (char[property].hasOwnProperty(prop)){
if(char[property][prop] == undefined || char[property][prop] === ""){
continue;
}
x = "repeating_abilities_".concat(i).concat("_Ability_").concat(prop);
t[x] = char[property][prop];
}
}
} else if (property.match(/Edge\s*\d*/gi)!=null) {
i=generateRowID();
for (var prop in char[property]){
if (char[property].hasOwnProperty(prop)){
if(char[property][prop] == undefined || char[property][prop] === ""){
continue;
}
x = "repeating_edges_".concat(i).concat("_Edge").concat(prop);
t[x] = char[property][prop];
}
}
}
else if (property.match(/Capabilities/i)){
x = 0;
for (var prop in char[property]) {
if (char[property].hasOwnProperty(prop)) {
if(char[property][prop] == undefined || char[property][prop] === ""){
continue;
}
if (prop=="Overland"||prop=="Swim"||prop=="HJ"||prop=="LJ"||prop=="Power") {
t[prop]=char[property][prop];
}else if (prop=="Throwing Range") {
t["Throw"]= char[property][prop];
}else if (Number.isInteger(char[property][prop])){
if (x<rcaps.length-1) {
t["repeating_capabilities_".concat(rcaps[x]).concat("_Capability")]=prop;
t["repeating_capabilities_".concat(rcaps[x]).concat("_Capability_Rank")]=char[property][prop];
} else {
i=generateRowID();
t["repeating_capabilities_".concat(i).concat("_Capability")]=prop;
t["repeating_capabilities_".concat(i).concat("_Capability_Rank")]=char[property][prop];
}
x++;
} else {
if (x<rcaps.length-1) {
t["repeating_capabilities_".concat(rcaps[x]).concat("_Capability")]=prop;
} else {
i=generateRowID();
t["repeating_capabilities_".concat(i).concat("_Capability")]=prop;
}
x++;
}
}
}
} else if(property.match(/nickname/i)){
if(char[property] == undefined || char[property] === ""){
continue;
}
t["character_name"] = char[property];
} else if(property.match(/struggle_type/i)){
if(char[property] == undefined || char[property] === ""){
continue;
}
t["struggleType"] = char[property];
} else if(property.match(/struggle_dtype/i)){
if(char[property] == undefined || char[property] === ""){
continue;
}
t["struggleCat"] = char[property];
} else if(property.match(/struggle_db/i)){
if(char[property] == undefined || char[property] === ""){
continue;
}
t["struggle_db"] = parseInt(char[property],10)||0;
} else if(property.match(/struggle_ac/i)){
if(char[property] == undefined || char[property] === ""){
continue;
}
t["struggleAC"] = parseInt(char[property],10)||0;
} else if(property.match(/struggle_range/i)){
if(char[property] == undefined || char[property] === ""){
continue;
}
t["struggleRange"] = char[property];
}else {
if(char[property] == undefined || char[property] === ""){
continue;
}
t[property]= char[property] ;
}
}
}
setAttrs(t);
});
});
});
});
});
});
};
/*
Calculate evasions from stats
*/
var evaUp = function () {
var update = {};
getAttrs(["DEF_total","SPDEF_total","SPEED_total", "Eva_total", "PEB","ScEB", "SpEB"], function(v) {
var def = parseInt(v["DEF_total"]) || 0;
var sdef = parseInt(v["SPDEF_total"]) || 0;
var speed = parseInt(v["SPEED_total"]) || 0;
var eva = parseInt(v["Eva_total"]) || 0;
var peb = parseInt(v["PEB"]) ||0;
var sceb = parseInt(v["ScEB"])||0;
var speb = parseInt(v["SpEB"])||0;
def = Math.min(Math.floor( def/5),6);
sdef = Math.min(Math.floor( sdef/5),6);
speed = Math.min(Math.floor(speed/5),6);
update["PhysEvade"] = def;
update["SpecEvade"] = sdef;
update["SpeedEvade"] = speed;
update["PhysEvade_calc"] = Math.min( eva + peb + def, 9);
update["SpecEvade_calc"] = Math.min( eva + sceb + sdef, 9);
update["SpeedEvade_calc"] = Math.min( eva + speb + speed,9);
setAttrs(update);
});
};
/*
Calculate Max Hit Points and current max
*/
var hpCalc = function (){
getAttrs(["Level","CharType","HP_Total", "Injuries"], function(v) {
var level = parseInt(v["Level"]) || 0;
var char = parseInt(v["CharType"]) || 0;
var hp = parseInt(v["HP_Total"]) || 0;
var injuries = parseInt(v["Injuries"]) || 0;
var x = Math.floor(level * (char + 1) + hp * 3 + 10);
setAttrs({
HitPoints_max: Math.floor(x * (1 - (injuries/10) ) ),
HitPoints_permmax: x,
a75_hp: Math.floor(x*0.75),
a50_hp: Math.floor(x*0.5),
a25_hp: Math.floor(x*0.25),
a13_hp: Math.floor(x*(1/3)),
a16_hp: Math.floor(x*(1/6)),
a18_hp: Math.floor(x*(1/8)),
a110_hp:Math.floor(x*(1/10)),
a116_hp:Math.floor(x*(1/16))
});
});
};
/*
Calculate max AP
*/
var apCalc = function (){
getAttrs(["Level"], function(v) {
x = Math.floor(v.Level/5)+5;
setAttrs({
AP_max:x
});
});
};
/*
Return damage roll from a given DB
returns object eg {amount:8, dice:"d12", bonus:70}
*/
var dbCalc = function (v){
if (isNaN(v) || v == 0){
return {amount:"0",dice:"d0",bonus:"0"};
}else if (v>14){
if (v>21){
if (v>24){
if (v>26){
if (v==27) {
return {amount:8,dice:"d12",bonus:70};
} else {
return {amount:8,dice:"d12",bonus:80};
}
} else {
if (v==25) {
return {amount:6,dice:"d12",bonus:60};
} else {
return {amount:7,dice:"d12",bonus:65};
}
}
} else {
if (v==22){
return {amount:6,dice:"d12",bonus:45};
} else if (v==23) {
return {amount:6,dice:"d12",bonus:50};
} else {
return {amount:6,dice:"d12",bonus:55};
}
}
} else {
if (v>17){
if (v>19){
if (v==20) {
return {amount:6,dice:"d12",bonus:35};
} else {
return {amount:6,dice:"d12",bonus:40};
}
} else {
if (v==18) {
return {amount:6,dice:"d12",bonus:25};
} else {
return {amount:6,dice:"d12",bonus:30};
}
}
} else {
if (v==15) {
return {amount:4,dice:"d10",bonus:20};
} else if (v==16) {
return {amount:5,dice:"d10",bonus:20};
} else {
return {amount:5,dice:"d12",bonus:25};
}
}
}
} else {
if (v>7){
if (v>10){
if (v>12){
if (v==13) {
return {amount:4,dice:"d10",bonus:10};
} else {
return {amount:4,dice:"d10",bonus:15};
}
} else {
if (v==11) {
return {amount:3,dice:"d10",bonus:10};
} else {
return {amount:3,dice:"d12",bonus:10};
}
}
} else {
if (v==8) {
return {amount:2,dice:"d8",bonus:10};
} else if (v==9) {
return {amount:2,dice:"d10",bonus:10};
} else {
return {amount:3,dice:"d8",bonus:10};
}
}
} else {
if (v>3){
if (v>5){
if (v==6) {
return {amount:2,dice:"d6",bonus:8};
} else {
return {amount:2,dice:"d6",bonus:10};
}
} else {
if (v==4){
return {amount:1,dice:"d8",bonus:6};
} else {
return {amount:1,dice:"d8",bonus:8};
}
}
} else {
if (v==1) {
return {amount:1,dice:"d6",bonus:1};
} else if (v==2) {
return {amount:1,dice:"d6",bonus:3};
} else {
return {amount:1,dice:"d6",bonus:5};
}
}
}
}
};
/*
return max exp given a level
*/
var expCalc = function(v){
let exp = 0;
switch(v){
case 1: exp = 0; break;
case 2: exp = 10; break;
case 3: exp = 20; break;
case 4: exp = 30; break;
case 5: exp = 40; break;
case 6: exp = 50; break;
case 7: exp = 60; break;
case 8: exp = 70; break;
case 9: exp = 80; break;
case 10: exp = 90; break;
case 11: exp = 110; break;
case 12: exp = 135; break;
case 13: exp = 160; break;
case 14: exp = 190; break;
case 15: exp = 220; break;
case 16: exp = 250; break;
case 17: exp = 285; break;
case 18: exp = 320; break;
case 19: exp = 360; break;
case 20: exp = 400; break;
case 21: exp = 460; break;
case 22: exp = 530; break;
case 23: exp = 600; break;
case 24: exp = 670; break;
case 25: exp = 745; break;
case 26: exp = 820; break;
case 27: exp = 900; break;
case 28: exp = 990; break;
case 29: exp = 1075; break;
case 30: exp = 1165; break;
case 31: exp = 1260; break;
case 32: exp = 1355; break;
case 33: exp = 1455; break;
case 34: exp = 1555; break;
case 35: exp = 1660; break;
case 36: exp = 1770; break;
case 37: exp = 1880; break;
case 38: exp = 1995; break;
case 39: exp = 2110; break;
case 40: exp = 2230; break;
case 41: exp = 2355; break;
case 42: exp = 2480; break;
case 43: exp = 2610; break;
case 44: exp = 2740; break;
case 45: exp = 2875; break;
case 46: exp = 3015; break;
case 47: exp = 3155; break;
case 48: exp = 3300; break;
case 49: exp = 3445; break;
case 50: exp = 3645; break;
case 51: exp = 3850; break;
case 52: exp = 4060; break;
case 53: exp = 4270; break;
case 54: exp = 4485; break;
case 55: exp = 4705; break;
case 56: exp = 4930; break;
case 57: exp = 5160; break;
case 58: exp = 5390; break;
case 59: exp = 5625; break;
case 60: exp = 5865; break;
case 61: exp = 6110; break;
case 62: exp = 6360; break;
case 63: exp = 6610; break;
case 64: exp = 6865; break;
case 65: exp = 7125; break;
case 66: exp = 7390; break;
case 67: exp = 7660; break;
case 68: exp = 7925; break;
case 69: exp = 8205; break;
case 70: exp = 8485; break;
case 71: exp = 8770; break;
case 72: exp = 9060; break;
case 73: exp = 9350; break;
case 74: exp = 9645; break;
case 75: exp = 9945; break;
case 76: exp = 10250; break;
case 77: exp = 10560; break;
case 78: exp = 10870; break;
case 79: exp = 11185; break;
case 80: exp = 11505; break;
case 81: exp = 11910; break;
case 82: exp = 12320; break;
case 83: exp = 12735; break;
case 84: exp = 13155; break;
case 85: exp = 13580; break;
case 86: exp = 14010; break;
case 87: exp = 14445; break;
case 88: exp = 14885; break;
case 89: exp = 15330; break;
case 90: exp = 15780; break;
case 91: exp = 16235; break;
case 92: exp = 16695; break;
case 93: exp = 17160; break;
case 94: exp = 17630; break;
case 95: exp = 18105; break;
case 96: exp = 18585; break;
case 97: exp = 19070; break;
case 98: exp = 19560; break;
case 99: exp = 20055; break;
case 100: exp = 20555; break;
default: exp = 0; break;
}
return exp;
}
</script>
<rolltemplate class="sheet-rolltemplate-PTU">
<table class='sheet-template-table' >
{{^title}}
{{^skill}}
{{#nick}}
<tr>
<th colspan="2">
<span class="sheet-owner">{{nick}}</span>
<br/>
<span>{{name}}</span>
</th>
</tr>
{{/nick}}
{{^nick}}
<tr>
<th colspan="2">{{name}}</th>
</tr>
{{/nick}}
{{#ac}}
{{#rollGreater() ac -1}}
<tr>
<td colspan="2">
<span class="tcat">AC: </span>{{ar}} ≥ Target Evasion</td>
</tr>
<tr>
<td colspan="2">
<span class="tcat">Crits On: {{critsOn}}+</span>
</td>
</tr>
{{/rollGreater() ac -1}}
{{/ac}}
{{^ac}}
<!-- <tr><td colspan="2"><span class="tcat">AC: </span>No Check</td></tr> -->
{{/ac}}
{{#type}}
<tr>
<td colspan="2"><span class="tcat">Type: </span>{{type}}</td>
</tr>
{{/type}}
{{#frequency}}
<tr>
<td colspan="2"><span class="tcat">Frequency: </span>{{frequency}}</td>
</tr>
{{/frequency}}
{{#range}}
<tr>
<td colspan="2"><span class="tcat">Range: </span>{{range}}</td>
</tr>
{{/range}}
{{#damage}}
<tr>
<td>
<span class="tcat">Damage: </span>{{damage}}
</td>
{{#ac}}
{{#rollWasCrit() ar}}
<td>
<span class="tcat">Crit: </span>{{db_roll}}
</td>
{{/rollWasCrit() ar}}
{{/ac}}
</tr>
{{#dmgcat}}
<tr>
<td colspan="2"><span class="tcat">Damage Category: </span>{{dmgcat}}</td>
</tr>
{{/dmgcat}}
{{/damage}}
{{#multistrike}}
{{#rollTotal() multistrike 2}}
<tr>
<td colspan="2">
[Double Strike](!&#13;&quest;{Whisper GM|Yes,/w gm &nbsp|No,&nbsp}&amp;{template:PTU}&lcub;&lcub;title=Double Strike&rcub;&rcub;&lcub;&lcub;message=Make two Attack Rolls. If one Attack Roll hits, the Move does damage as indicated by its Damage Base value; if both Attack Rolls hit however, the Damage Base value is doubled. Each hit may Critically Hit separately; when adding damage from Critical Hit, add the Damage Base before its doubled.&rcub;&rcub; )
</td>
</tr>
{{/rollTotal() multistrike 2}}
{{#rollTotal() multistrike 5}}
<tr>
<td colspan="2">
[Five Strike](!&#13;&quest;{Whisper GM|Yes,/w gm &nbsp|No,&nbsp}&amp;{template:PTU_FiveStrike}&lcub;&lcub;roll=&#91;&#91;1d8&#93;&#93;&rcub;&rcub; )
</td>
</tr>
{{/rollTotal() multistrike 5}}
{{/multistrike}}
{{#effect}}
<tr>
<td colspan="2">{{effect}}</td>
</tr>
{{/effect}}
{{/skill}}
{{#skill}}
<tr>
<th colspan="2">
{{#nick}}
<span class="sheet-owner">{{nick}}</span>
<br/>
{{/nick}}
<span>Rolling&NewLine;{{skill}}</span>
</th>
</tr>
<tr>
<td colspan="2">
<span class="tcat">Result: </span>
<span>{{SL}}</span>
</td>
</tr>
{{/skill}}
{{/title}}
{{#title}}
<tr>
<th colspan="2">
{{#nick}}
<span class="sheet-owner">{{nick}}</span>
<br/>
{{/nick}}
<span>{{title}}</span>
</th>
</tr>
{{#allprops() nick title message}}
<tr><td class='sheet-table-header'>{{key}}</td><td>{{value}}</td></tr>
{{/allprops() nick title message}}
{{#message}}
<tr><td colspan="2" >{{message}}</td></tr>
{{/message}}
{{/title}}
</table>
</rolltemplate>
<rolltemplate class="sheet-rolltemplate-PTU_Move">
<table class='sheet-template-table' >
<tr>
<th colspan="2"><div>{{name}}</div></th>
</tr>
{{#range}}
<tr>
<td colspan="1"><div class="sheet-label">Range</div></td>
<td colspan="1"><div>{{range}}</div></td>
</tr>
{{/range}}
{{#frequency}}
<tr>
<td colspan="1"><div class="sheet-label">Frequency</div></td>
<td colspan="1"><div>{{frequency}}</div></td>
</tr>
{{/frequency}}
{{#type}}
<tr class='sheet-roll-type'>
<td colspan="1"><div class="sheet-label">Type</div></td>
<td colspan="1"><div>{{type}}</div></td>
</tr>
{{/type}}
{{#cat}}
<tr>
<td colspan="1"><div class="sheet-label">Category</div></td>
<td colspan="1"><div>{{cat}}</div></td>
</tr>
{{/cat}}
{{^ac}}
<tr>
<td colspan="1"><div class="sheet-label">AC</div></td>
<td colspan="1"><div>No Check</div></td>
</tr>
{{/ac}}
{{#ac}}
<tr>
<td colspan="1"><div class="sheet-label">AC</div></td>
<td colspan="1"><div>{{ar}} {{#rollGreater() ac 0}} &ge; {{^evasion}} Target Evasion {{/evasion}}{{#evasion}} {{evasion}} {{/evasion}} {{/rollGreater() ac 0}}</div></td>
</tr>
<tr>
<td colspan="1"><div class="sheet-label">Crit On</div></td>
<td colspan="1"><div>{{critsOn}}+ </div></td>
</tr>
{{/ac}}
{{#rollGreater() db 0}}
{{#db}}
<tr>
<td colspan="1"><div class="sheet-label">DB {{db}}</div></td>
<td colspan="1"><div>{{db_roll}} {{#roll}}= {{roll}} {{/roll}}</div></td>
</tr>
{{/db}}
{{/rollGreater() db 0}}
{{^db}}
{{#damage}}
<tr>
<td colspan="1"><div class="sheet-label">Damage</div></td>
<td colspan="1"><div>{{damage}} </div></td>
</tr>
{{/damage}}
{{/db}}
{{#contest_type}}
<tr>
<td colspan="1"><div class="sheet-label">Contest Type</div></td>
<td colspan="1"><div>{{contest_type}} </div></td>
</tr>
{{/contest_type}}
{{#contest_effect}}
<tr>
<td colspan="1"><div class="sheet-label">Contest Effect</div></td>
<td colspan="1"><div>{{contest_effect}} </div></td>
</tr>
{{/contest_effect}}
{{#effects}}
<tr>
<td colspan="2"><div class="sheet-label sheet-block" style="text-align:center;font-weight:bold">Effects</div></td>
</tr>
<tr>
<td colspan="2"><div class="sheet-spacing ">{{effects}} </div></td>
</tr>
{{/effects}}
</table>
</rolltemplate>
<rolltemplate class="sheet-rolltemplate-PTU_Skill">
<table class='sheet-template-table' >
<tr>
<th colspan="2"><div>{{name}}</div></th>
</tr>
{{#range}}
<tr>
<td colspan="1"><div class="sheet-label">Range</div></td>
<td colspan="1"><div>{{range}}</div></td>
</tr>
{{/range}}
{{#frequency}}
<tr>
<td colspan="1"><div class="sheet-label">Frequency</div></td>
<td colspan="1"><div>{{frequency}}</div></td>
</tr>
{{/frequency}}
{{#type}}
<tr>
<td colspan="1"><div class="sheet-label">Type</div></td>
<td colspan="1"><div>{{type}}</div></td>
</tr>
{{/type}}
{{#cat}}
<tr>
<td colspan="1"><div class="sheet-label">Category</div></td>
<td colspan="1"><div>{{cat}}</div></td>
</tr>
{{/cat}}
{{^ac}}
<tr>
<td colspan="1"><div class="sheet-label">AC</div></td>
<td colspan="1"><div>No Check</div></td>
</tr>
{{/ac}}
{{#ac}}
{{#rollGreater() ac 0}}
<tr>
<td colspan="1"><div class="sheet-label">AC</div></td>
<td colspan="1"><div>{{ac}}</div></td>
</tr>
<tr>
<td colspan="1"><div class="sheet-label">Crit On</div></td>
<td colspan="1"><div>{{critsOn}}+ </div></td>
</tr>
{{/rollGreater() ac 0}}
{{/ac}}
{{#rollGreater() db 0}}
{{#db}}
<tr>
<td colspan="1"><div class="sheet-label">DB {{db}}</div></td>
<td colspan="1"><div>{{db_roll}} </div></td>
</tr>
{{/db}}
{{/rollGreater() db 0}}
{{^db}}
{{#damage}}
<tr>
<td colspan="1"><div class="sheet-label">Damage</div></td>
<td colspan="1"><div>{{damage}} </div></td>
</tr>
{{/damage}}
{{/db}}
{{#contest_type}}
<tr>
<td colspan="1"><div class="sheet-label">Contest Type</div></td>
<td colspan="1"><div>{{contest_type}} </div></td>
</tr>
{{/contest_type}}
{{#contest_effect}}
<tr>
<td colspan="1"><div class="sheet-label">Contest Effect</div></td>
<td colspan="1"><div>{{contest_effect}} </div></td>
</tr>
{{/contest_effect}}
{{#effects}}
<tr>
<td colspan="2"><div class="sheet-label sheet-block">Effects</div></td>
</tr>
<tr>
<td colspan="2"><div class="sheet-spacing ">{{effects}} </div></td>
</tr>
{{/effects}}
</table>
</rolltemplate>
<rolltemplate class="sheet-rolltemplate-PTU_FiveStrike">
<table class='sheet-template-table' >
<tr>
<th colspan="2">Five Strike</th>
</tr>
<tr>
{{#rollLess() roll 2}}
<td colspan="2"><b>One Hit!</b></td>
{{/rollLess() roll 2}}
{{#rollBetween() roll 2 3}}
<td colspan="2"><b>Two Hits!</b></td>
{{/rollBetween() roll 2 3}}
{{#rollBetween() roll 4 6}}
<td colspan="2"><b>Three Hits!</b></td>
{{/rollBetween() roll 4 6}}
{{#rollBetween() roll 7 7}}
<td colspan="2"><b>Four Hits!</b></td>
{{/rollBetween() roll 7 7}}
{{#rollGreater() roll 7}}
<td colspan="2"><b>Five Hits!</b></td>
{{/rollGreater() roll 7}}
</tr>
<tr>
<td colspan="2">
Multiply the Moves Damage Base by the number of times hit; that becomes its new Damage Base. You may always apply Technician to Moves withFive Strike. Apply STAB and all other effects that raise Damage Base only after the Moves final Damage Base has been calculated.
</td>
</tr>
</table>
</rolltemplate>
<!--
Jakob's Default RollTemplate
-->
<rolltemplate class="sheet-rolltemplate-custom">
<div class="sheet-container sheet-color-{{color}}">
<div class="sheet-header">
{{#title}}<div class="sheet-title">{{title}}</div>{{/title}}
{{#subtitle}}<div class="sheet-subtitle">{{subtitle}}</div>{{/subtitle}}
</div>
<div class="sheet-content">
{{#allprops() title subtitle desc color}}
<div class="sheet-key">{{key}}</div>
<div class="sheet-value">{{value}}</div>
{{/allprops() title subtitle desc color}}
{{#desc}}<div class="sheet-desc">{{desc}}</div>{{/desc}}
</div>
</div>
</rolltemplate>