Files
2025-12-20 22:53:51 -06:00

4757 lines
333 KiB
HTML

<!-- Prowlers and Paragons Logo/Header -->
<div class='sheet-row' style='width: 840px; margin:0px; padding:0px;'>
<img style='display: block; margin-left: auto; margin-right: auto; width: 450px; height: 91px;' src='http://www.geeksville.us/roll20/PPTransLogo-2.png' />
</div>
<!-- Names bar -->
<div class='sheet-block'>
<div class="sheet-2colrow" style='width:785px;'>
<div class="sheet-col" style='width:382px; padding: 0px; margin-right: 10px;'>
<label><span class='sheet-label'>Hero Name:</span> <input type='text' style='width:285px;' name='attr_character_name' /></label>
<label><span class='sheet-label'>Civilian Name:</span> <input type='text' style='width:265px;' name='attr_alias' /></label>
</div>
<div class="sheet-col" style='width:382px; padding: 0px; margin-right: 10px;'>
<label><span class='sheet-label'>Hero Group:</span> <input type='text' style='width: 283px;' name='attr_herogroup' /></label>
<label><span class='sheet-label'>Motivation:</span> <input type='text' style='width: 283px;' name='attr_motivation' /></label>
</div>
</div>
</div>
<!-- Character Stats -->
<div class="sheet-statistics">
<div class="sheet-header" style='width:16%'>
<div class="sheet-section-name">HEALTH</div>
<input type="hidden" name="attr_maxhealthbox" value="0">
<!-- When auto calculate health is checked -->
<input type='checkbox' checked class='sheet-hidehealth-toggle' name='attr_calculate_health' value='1' style='display: none;' />
<input type="number" class='sheet-hidehealth' name='attr_health_max' value="@{maxhealthbox}" disabled="true" placeholder='0' style="width:30px">
<!-- When auto calculate health is checked -->
<input type='checkbox' checked class='sheet-hidehealth-toggle' name='attr_calculate_health' value='1' style='display: none;' />
<input type="number" class='sheet-showhealth' name='attr_health_max_manual' value="0" style="width:30px">
<span>/</span>
<input type="number" name="attr_health" placeholder="0" style="width:30px">
</div>
<div class="sheet-header" style='width:19%'>
<input type="checkbox" class="sheet-toggle sheet-left" name="attr_resolve-show" title="show/hide" />
<input type="hidden" name="attr_maxresolvebox" value="0">
<!-- When auto calculate resolve is checked -->
<input type='checkbox' checked class='sheet-hideresolve-toggle' name='attr_calculate_resolve' value='1' style='display: none;' />
<input type="number" class="sheet-show sheet-hideresolve" name='attr_resolve_max' value="@{maxresolvebox}" disabled="true" placeholder='0' style="width:30px">
<!-- When auto calculate resolve is unchecked -->
<input type='checkbox' checked class='sheet-hideresolve-toggle' name='attr_calculate_resolve' value='1' style='display: none;' />
<input type="number" class="sheet-show sheet-showresolve" name='attr_resolve_max_manual' value="0" placeholder='0' style="width:30px">
<span class="sheet-show">/</span>
<div class="sheet-section-name sheet-show">RESOLVE</div>
<input type="number" class="sheet-show" name="attr_resolve" placeholder='0' style="width:30px">
<div class="sheet-section-name sheet-hide">TRAIT CAP</div>
<input class="sheet-hide" type="number" name="attr_traitcap" value="12" style="width:30px">
</div>
<div class="sheet-header" style='width: 9.5%'>
<div class="sheet-section-name ">
<input type='checkbox' checked class='sheet-hideedge-toggle' name='attr_calculate_edge' value='1' style='display: none;' />
<button type='roll' class="roll-edge sheet-hideedge" name="act_edgebutton" title="Display edge in chat" value='&{template:default} {{name=@{character_name}}} {{Edge: = [[@{edgebox} &{tracker}]] }}'>
EDGE
</button>
<input type='checkbox' checked class='sheet-hideedge-toggle' name='attr_calculate_edge' value='1' style='display: none;' />
<button type='roll' class="roll-edge sheet-showedge" name="act_edgebutton" title="Display edge in chat" value='&{template:default} {{name=@{character_name}}} {{Edge: = [[@{edge_manual} &{tracker}]] }}'>
EDGE
</button>
<button type='roll' class='tokenaction' name='roll_rolledge' style='display: none;' value='&{template:default} {{name=@{character_name}}} {{edge=[[@{edgebox} &{tracker}]] }}'></button>
</div>
<input type="hidden" name="attr_edgebox" value="0">
<!-- When auto calculate edge points is checked z-index: 9999; width: 35px; height: 25px; cursor: pointer; margin-left: -5px; opacity: 0; -->
<input type='checkbox' checked class='sheet-hideedge-toggle' name='attr_calculate_edge' value='1' style='display: none;' />
<input type="number" class='sheet-hideedge' name='attr_edge' placeholder='0' value="@{edgebox}" disabled="true" style="width:30px">
<!-- When auto calculate edge is unchecked -->
<input type='checkbox' checked class='sheet-hideedge-toggle' name='attr_calculate_edge' value='1' style='display: none;' />
<input type="number" class='sheet-showedge' name='attr_edge_manual' placeholder='0' value="0" style="width:30px">
</div>
<div class="sheet-header" style='width:25%'>
<input type="checkbox" class="sheet-toggle sheet-left" name="attr_heropoints-show" title="show/hide" />
<div class="sheet-section-name sheet-show">HERO POINTS</div>
<input type="number" class="sheet-show" name="attr_heropoints_max" placeholder='125' style="width:40px">
<span class="sheet-show">/</span>
<input type="hidden" name="attr_heropointsbox" value="0">
<!-- When auto calculate hero points is checked -->
<input type='checkbox' checked class='sheet-hideheropoints-toggle' name='attr_calculate_heropoints' value='1' style='display: none;' />
<input type="number" class="sheet-show sheet-hideheropoints" name="attr_heropoints" placeholder='125' value="@{heropointsbox}" disabled="true" style="width:40px">
<!-- When auto calculate hero points is unchecked -->
<input type='checkbox' checked class='sheet-hideheropoints-toggle' name='attr_calculate_heropoints' value='1' style='display: none;' />
<input type="number" class="sheet-show sheet-showheropoints" name="attr_heropoints_manual" placeholder='0' value="0" style="width:40px">
<div class="sheet-section-name sheet-hide">PACKAGE</div>
<select name="attr_heropackage" class="sheet-hide" style="width:110px">
<option value="0" selected="selected">NONE</option>
<option value="1">CIVILIAN</option>
<option value="2">HERO</option>
<option value="4">SUPERHERO</option>
</select>
</div>
<div class="sheet-header">
<div class="sheet-section-name">GENERIC ROLL</div>
<button type='roll' class='roll-generic' name='roll_generic' value='&{template:default} {{name=Roll off}} {{Rolling ?{Number of Dice|1} Dice:=[[?{Number of Dice} + ?{Number of Dice}d6>6f<3]] Success(es)!}}' /></button>
</div>
<div class="sheet-clearfix"></div>
</div>
<!-- Hide/show Traits Banner -->
<div class='sheet-block'>
<input type='checkbox' class='sheet-hideskills' name='attr_hideskills' value='1' /><span class='sheet-is-hideskills'>mundane traits</span>
<input type='checkbox' class='sheet-hidetraits' name='attr_hidetraits' value='1' /><span class='sheet-is-hidetraits'>super traits</span>
<input type='checkbox' class='sheet-hideitems' name='attr_hideitems' value='1' /><span class='sheet-is-hideitems'>gear/equipment</span>
<input type='checkbox' class='sheet-hidevehicle' name='attr_hidevehicle' value='1' /><span class='sheet-is-hidevehicle'>vehicles</span>
<input type='checkbox' checked class='sheet-hideoptions' name='attr_hideoptions' value='1' /><span class='sheet-is-hideoptions'>options</span>
</div>
<!-- Sheet Options (talents and abilities aranged alphabetically) -->
<input type='checkbox' checked class='sheet-hideoptions' name='attr_hideoptions' value='1' style='display: none;' />
<div class='sheet-block sheet-showoptions' >
<h3 style='text-align: center; font-family: "Contrail One"; font-size: 125%;'>SHEET OPTIONS</h3>
<br>
<div class="sheet-3colrow" style='width:830px;'>
<div class='sheet-col' style='margin-right: 10px;'>
<label><span class='sheet-label'>Auto Calculate:</span></label>
<!--Col 1 Health -->
<div class='sheet-row' style='padding: 0px;'>
<input type="checkbox" checked class='sheet-hidehealth-toggle' title="Allow sheet to auto calculate Health?" name="attr_calculate_health" value="1" />
<div class='sheet-col ' style='width:45%;'>
Health
</div>
</div>
<!--End Col 1 Health-->
<!--Col 1 Resolve -->
<div class='sheet-row' style='padding: 0px;'>
<input type="checkbox" checked class='sheet-hideresolve-toggle' title="Allow sheet to auto calculate Resolve?" name="attr_calculate_resolve" value="1" />
<div class='sheet-col ' style='width:45%;'>
Resolve
</div>
</div>
<!--End Col 1 Resolve-->
<!--Col 1 Edge -->
<div class='sheet-row' style='padding: 0px;'>
<input type="checkbox" checked class='sheet-hideedge-toggle' title="Allow sheet to auto calculate Edge?" name="attr_calculate_edge" value="1"/>
<div class='sheet-col ' style='width:45%;'>
Edge
</div>
</div>
<!--End Col 1 Edge-->
<!--Col 1 Hero points -->
<div class='sheet-row' style='padding: 0px;'>
<input type="checkbox" checked class='sheet-hideheropoints-toggle' title="Allow sheet to auto calculate Hero Points?" name="attr_calculate_heropoints" value="1" />
<div class='sheet-col ' style='width:45%;'>
Hero Points
</div>
</div>
<!--End Col 1 Hero points-->
</div>
<div class='sheet-col' style='margin-right: 10px;'>
<label><span class='sheet-label'>Display Format:</span></label>
<!--Col 2-->
<input type="checkbox" checked class='sheet-divide_mundane-toggle' title="Display abilities and talents seperately" name="attr_divide_mundain" value="1" />
<div class='sheet-col' style='width:80%;'>
Seperate abilities/talents
</div>
<!--End Col 2-->
</div>
<div class='sheet-col' style='margin-right: 10px;'>
<!--Col 3-->
<input type="checkbox" class="sheet-toggle" name='attr_show_reset' value="1" style='display: none;'>
<button type="action" class="sheet-show" name="act_reset1" style='width:80%;' title="Reset Sheet by deleting all content">Reset Sheet</button>
<button type="action" class="sheet-hide" name="act_reset1" style='width:80%;' title="Reset Sheet by deleting all content">CANCEL SHEET RESET</button>
<button type="action" class="sheet-hide" name="act_reset2" style='width:80%; color:red;' title="Seriously this WILL deleting all content on this sheet">CONFIRM SHEET RESET</button>
<!--End Col 3 -->
</div>
</div>
</div>
<!-- Mundane Traits (talents and abilities aranged alphabetically) -->
<input type='checkbox' class='sheet-hideskills' name='attr_hideskills' value='1' style='display: none;' />
<div class='sheet-block sheet-showskills'>
<h3 style='text-align: center; font-family: "Contrail One"; font-size: 125%;'>MUNDANE TRAITS</h3>
<!-- Display mundate traits mixed -->
<input type='checkbox' checked class='sheet-divide_mundane-toggle' name='attr_divide_mundain' value='1' style='display: none;' />
<div class="sheet-3colrow sheet-divide_mundane-hide" style='width:830px;'>
<label><span class='sheet-label'>Abilities:</span></label>
<div class='sheet-col' style='margin-right: 10px;'>
<!--Col 1 Trait 1-->
<div class='sheet-row' style='padding: 0px;'>
<input type="checkbox" class="sheet-toggle sheet-left" title="show/hide" name="attr_Agility-show" value="1"/>
<div class='sheet-col sheet-labeldiv'>
Agility
</div>
<div class='sheet-col sheet-diebutton'>
<input type='number' class='sheet-skills' name='attr_agility' value='2' style="width:30px">
d
<button class='sheet-d6' type='roll' name='roll_agility' value='&{template:default} {{name=@{character_name}}} {{Agility=[[@{agility} + ?{extra dice|0} + (?{extra dice|0} + @{agility})d6>6f<3]] Success(es)!}}' />
</div>
<div class='sheet-hide'>
<textarea name='attr_agilitynotes' style='height: 20px; width: 93%;'></textarea>
</div>
</div>
<!--End Col 1 Trait 1-->
<!--Col 1 Trait 2-->
<div class='sheet-row' style='padding: 0px;'>
<input type="checkbox" class="sheet-toggle sheet-left" title="show/hide" name="attr_Intellect-show" value="1"/>
<div class='sheet-col sheet-labeldiv'>
Intellect
</div>
<div class='sheet-col sheet-diebutton'>
<input type='number' class='sheet-skills' name='attr_intellect' value='2' style="width:30px">
d
<button class='sheet-d6' type='roll' name='roll_intellect' value='&{template:default} {{name=@{character_name}}} {{Intellect=[[@{intellect} + ?{extra dice|0} + (?{extra dice|0} + @{intellect})d6>6f<3]] Success(es)!}}' />
</div>
<div class='sheet-hide'>
<textarea name='attr_Intellectnotes' style='height: 20px; width: 93%;'></textarea>
</div>
</div>
<!--End Col 1 Trait 2-->
</div>
<div class='sheet-col' style='margin-right: 10px;'>
<!--Col 2 Trait 1-->
<div class='sheet-row' style='padding: 0px;'>
<input type="checkbox" class="sheet-toggle sheet-left" title="show/hide" name="attr_Might-show" value="1"/>
<div class='sheet-col sheet-labeldiv'>
Might
</div>
<div class='sheet-col sheet-diebutton'>
<input type='number' class='sheet-skills' name='attr_might' value='2' style="width:30px">
d
<button class='sheet-d6' type='roll' name='roll_Might' value='&{template:default} {{name=@{character_name}}} {{Might=[[@{Might} + ?{extra dice|0} + (?{extra dice|0} + @{Might})d6>6f<3]] Success(es)!}}' />
</div>
<div class='sheet-hide'>
<textarea name='attr_Mightnotes' style='height: 20px; width: 93%;'></textarea>
</div>
</div>
<!--End Col 2 Trait 1-->
<!--Col 2 Trait 2-->
<div class='sheet-row' style='padding: 0px;'>
<input type="checkbox" class="sheet-toggle sheet-left" title="show/hide" name="attr_Perception-show" value="1"/>
<div class='sheet-col sheet-labeldiv'>
Perception
</div>
<div class='sheet-col sheet-diebutton'>
<input type='number' class='sheet-skills' name='attr_perception' value='2' style="width:30px">
d
<button class='sheet-d6' type='roll' name='roll_Perception' value='&{template:default} {{name=@{character_name}}} {{Perception=[[@{Perception} + ?{extra dice|0} + (?{extra dice|0} + @{Perception})d6>6f<3]] Success(es)!}}' />
</div>
<div class='sheet-hide'>
<textarea name='attr_Perceptionnotes' style='height: 20px; width: 93%;'></textarea>
</div>
</div>
<!--End Col 2 Trait 2-->
</div>
<div class='sheet-col' style='margin-right: 10px;'>
<!--Col 3 Trait 1-->
<div class='sheet-row' style='padding: 0px;'>
<input type="checkbox" class="sheet-toggle sheet-left" title="show/hide" name="attr_Toughness-show" value="1"/>
<div class='sheet-col sheet-labeldiv'>
Toughness
</div>
<div class='sheet-col sheet-diebutton'>
<input type='number' class='sheet-skills' name='attr_toughness' value='2' style="width:30px">
d
<button class='sheet-d6' type='roll' name='roll_Toughness' value='&{template:default} {{name=@{character_name}}} {{Toughness=[[@{Toughness} + ?{extra dice|0} + (?{extra dice|0} + @{Toughness})d6>6f<3]] Success(es)!}}' />
</div>
<div class='sheet-hide'>
<textarea name='attr_Toughnessnotes' style='height: 20px; width: 93%;'></textarea>
</div>
</div>
<!--End Col 3 Trait 1-->
<!--Col 3 Trait 2-->
<div class='sheet-row' style='padding: 0px;'>
<input type="checkbox" class="sheet-toggle sheet-left" title="show/hide" name="attr_Willpower-show" value="1"/>
<div class='sheet-col sheet-labeldiv'>
Willpower
</div>
<div class='sheet-col sheet-diebutton'>
<input type='number' class='sheet-skills' name='attr_willpower' value='2' style="width:30px">
d
<button class='sheet-d6' type='roll' name='roll_Willpower' value='&{template:default} {{name=@{character_name}}} {{Willpower=[[@{Willpower} + ?{extra dice|0} + (?{extra dice|0} + @{Willpower})d6>6f<3]] Success(es)!}}' />
</div>
<div class='sheet-hide'>
<textarea name='attr_Willpowernotes' style='height: 20px; width: 93%;'></textarea>
</div>
</div>
<!--End Col 3 Trait 2-->
</div>
</div>
<input type='checkbox' checked class='sheet-divide_mundane-toggle' name='attr_divide_mundain' value='1' style='display: none;' />
<div class="sheet-3colrow sheet-divide_mundane-hide" style='width:830px;'>
<br><label><span class='sheet-label'>Talents:</span></label>
<div class='sheet-col' style='margin-right: 10px;'>
<!--Col 1 Trait 1-->
<div class='sheet-row' style='padding: 0px;'>
<input type="checkbox" class="sheet-toggle sheet-left" title="show/hide" name="attr_Academics-show" value="1"/>
<div class='sheet-col sheet-labeldiv'>
Academics
</div>
<div class='sheet-col sheet-diebutton'>
<input type='number' class='sheet-skills' name='attr_academics' value='2' style="width:30px">
d
<button class='sheet-d6' type='roll' name='roll_academics' value='&{template:default} {{name=@{character_name}}} {{Academics=[[@{academics} + ?{extra dice|0} + (?{extra dice|0} + @{academics})d6>6f<3]] Success(es)!}}' />
</div>
<div class='sheet-hide'>
<textarea name='attr_academicsnotes' style='height: 20px; width: 93%;'></textarea>
</div>
</div>
<!--End Col 1 Trait 1-->
<!--Col 1 Trait 2-->
<div class='sheet-row' style='padding: 0px;'>
<input type="checkbox" class="sheet-toggle sheet-left" title="show/hide" name="attr_Charm-show" value="1"/>
<div class='sheet-col sheet-labeldiv'>
Charm
</div>
<div class='sheet-col sheet-diebutton'>
<input type='number' class='sheet-skills' name='attr_charm' value='2' style="width:30px">
d
<button class='sheet-d6' type='roll' name='roll_Charm' value='&{template:default} {{name=@{character_name}}} {{Charm=[[@{Charm} + ?{extra dice|0} + (?{extra dice|0} + @{Charm})d6>6f<3]] Success(es)!}}' />
</div>
<div class='sheet-hide'>
<textarea name='attr_Charmnotes' style='height: 20px; width: 93%;'></textarea>
</div>
</div>
<!--End Col 1 Trait 2-->
<!--Col 1 Trait 3-->
<div class='sheet-row' style='padding: 0px;'>
<input type="checkbox" class="sheet-toggle sheet-left" title="show/hide" name="attr_Command-show" value="1"/>
<div class='sheet-col sheet-labeldiv'>
Command
</div>
<div class='sheet-col sheet-diebutton'>
<input type='number' class='sheet-skills' name='attr_command' value='2' style="width:30px">
d
<button class='sheet-d6' type='roll' name='roll_Command' value='&{template:default} {{name=@{character_name}}} {{Command=[[@{Command} + ?{extra dice|0} + (?{extra dice|0} + @{Command})d6>6f<3]] Success(es)!}}' />
</div>
<div class='sheet-hide'>
<textarea name='attr_Commandnotes' style='height: 20px; width: 93%;'></textarea>
</div>
</div>
<!--End Col 1 Trait 3-->
<!--Col 1 Trait 4-->
<div class='sheet-row' style='padding: 0px;'>
<input type="checkbox" class="sheet-toggle sheet-left" title="show/hide" name="attr_Covert-show" value="1"/>
<div class='sheet-col sheet-labeldiv'>
Covert
</div>
<div class='sheet-col sheet-diebutton'>
<input type='number' class='sheet-skills' name='attr_covert' value='2' style="width:30px">
d
<button class='sheet-d6' type='roll' name='roll_covert' value='&{template:default} {{name=@{character_name}}} {{Covert=[[@{covert} + ?{extra dice|0} + (?{extra dice|0} + @{covert})d6>6f<3]] Success(es)!}}' />
</div>
<div class='sheet-hide'>
<textarea name='attr_Covertnotes' style='height: 20px; width: 93%;'></textarea>
</div>
</div>
<!--End Col 1 Trait 4-->
</div>
<div class='sheet-col' style='margin-right: 10px;'>
<!--Col 2 Trait 1-->
<div class='sheet-row' style='padding: 0px;'>
<input type="checkbox" class="sheet-toggle sheet-left" title="show/hide" name="attr_Investigation-show" value="1"/>
<div class='sheet-col sheet-labeldiv'>
Investigation
</div>
<div class='sheet-col sheet-diebutton'>
<input type='number' class='sheet-skills' name='attr_investigation' value='2' style="width:30px">
d
<button class='sheet-d6' type='roll' name='roll_investigation' value='&{template:default} {{name=@{character_name}}} {{Investigation=[[@{investigation} + ?{extra dice|0} + (?{extra dice|0} + @{investigation})d6>6f<3]] Success(es)!}}' />
</div>
<div class='sheet-hide'>
<textarea name='attr_Investigationnotes' style='height: 20px; width: 93%;'></textarea>
</div>
</div>
<!--End Col 2 Trait 1-->
<!--Col 2 Trait 2-->
<div class='sheet-row' style='padding: 0px;'>
<input type="checkbox" class="sheet-toggle sheet-left" title="show/hide" name="attr_Medicine-show" value="1"/>
<div class='sheet-col sheet-labeldiv'>
Medicine
</div>
<div class='sheet-col sheet-diebutton'>
<input type='number' class='sheet-skills' name='attr_medicine' value='2' style="width:30px">
d
<button class='sheet-d6' type='roll' name='roll_Medicine' value='&{template:default} {{name=@{character_name}}} {{Medicine=[[@{Medicine} + ?{extra dice|0} + (?{extra dice|0} + @{Medicine})d6>6f<3]] Success(es)!}}' />
</div>
<div class='sheet-hide'>
<textarea name='attr_Medicinenotes' style='height: 20px; width: 93%;'></textarea>
</div>
</div>
<!--End Col 2 Trait 2-->
<!--Col 2 Trait 3-->
<div class='sheet-row' style='padding: 0px;'>
<input type="checkbox" class="sheet-toggle sheet-left" title="show/hide" name="attr_Professional-show" value="1"/>
<div class='sheet-col sheet-labeldiv'>
Professional
</div>
<div class='sheet-col sheet-diebutton'>
<input type='number' class='sheet-skills' name='attr_professional' value='2' style="width:30px">
d
<button class='sheet-d6' type='roll' name='roll_Professional' value='&{template:default} {{name=@{character_name}}} {{Professional=[[@{Professional} + ?{extra dice|0} + (?{extra dice|0} + @{Professional})d6>6f<3]] Success(es)!}}' />
</div>
<div class='sheet-hide'>
<textarea name='attr_Professionalnotes' style='height: 20px; width: 93%;'></textarea>
</div>
</div>
<!--End Col 2 Trait 3-->
<!--Col 2 Trait 4-->
<div class='sheet-row' style='padding: 0px;'>
<input type="checkbox" class="sheet-toggle sheet-left" title="show/hide" name="attr_Science-show" value="1"/>
<div class='sheet-col sheet-labeldiv'>
Science
</div>
<div class='sheet-col sheet-diebutton'>
<input type='number' class='sheet-skills' name='attr_science' value='2' style="width:30px">
d
<button class='sheet-d6' type='roll' name='roll_Science' value='&{template:default} {{name=@{character_name}}} {{Science=[[@{Science} + ?{extra dice|0} + (?{extra dice|0} + @{Science})d6>6f<3]] Success(es)!}}' />
</div>
<div class='sheet-hide'>
<textarea name='attr_Sciencenotes' style='height: 20px; width: 93%;'></textarea>
</div>
</div>
<!--End Col 2 Trait 4-->
</div>
<div class='sheet-col' style='margin-right: 10px;'>
<!--Col 3 Trait 1-->
<div class='sheet-row' style='padding: 0px;'>
<input type="checkbox" class="sheet-toggle sheet-left" title="show/hide" name="attr_Streetwise-show" value="1"/>
<div class='sheet-col sheet-labeldiv'>
Streetwise
</div>
<div class='sheet-col sheet-diebutton'>
<input type='number' class='sheet-skills' name='attr_streetwise' value='2' style="width:30px">
d
<button class='sheet-d6' type='roll' name='roll_Streetwise' value='&{template:default} {{name=@{character_name}}} {{Streetwise=[[@{Streetwise} + ?{extra dice|0} + (?{extra dice|0} + @{Streetwise})d6>6f<3]] Success(es)!}}' />
</div>
<div class='sheet-hide'>
<textarea name='attr_Streetwisenotes' style='height: 20px; width: 93%;'></textarea>
</div>
</div>
<!--End Col 3 Trait 1-->
<!--Col 3 Trait 2-->
<div class='sheet-row' style='padding: 0px;'>
<input type="checkbox" class="sheet-toggle sheet-left" title="show/hide" name="attr_Survival-show" value="1"/>
<div class='sheet-col sheet-labeldiv'>
Survival
</div>
<div class='sheet-col sheet-diebutton'>
<input type='number' class='sheet-skills' name='attr_survival' value='2' style="width:30px">
d
<button class='sheet-d6' type='roll' name='roll_Survival' value='&{template:default} {{name=@{character_name}}} {{Survival=[[@{Survival} + ?{extra dice|0} + (?{extra dice|0} + @{Survival})d6>6f<3]] Success(es)!}}' />
</div>
<div class='sheet-hide'>
<textarea name='attr_Survivalnotes' style='height: 20px; width: 93%;'></textarea>
</div>
</div>
<!--End Col 3 Trait 2-->
<!--Col 3 Trait 3-->
<div class='sheet-row' style='padding: 0px;'>
<input type="checkbox" class="sheet-toggle sheet-left" title="show/hide" name="attr_Technology-show" value="1"/>
<div class='sheet-col sheet-labeldiv'>
Technology
</div>
<div class='sheet-col sheet-diebutton'>
<input type='number' class='sheet-skills' name='attr_technology' value='2' style="width:30px">
d
<button class='sheet-d6' type='roll' name='roll_Technology' value='&{template:default} {{name=@{character_name}}} {{Technology=[[@{Technology} + ?{extra dice|0} + (?{extra dice|0} + @{Technology})d6>6f<3]] Success(es)!}}' />
</div>
<div class='sheet-hide'>
<textarea name='attr_Technologynotes' style='height: 20px; width: 93%;'></textarea>
</div>
</div>
<!--End Col 3 Trait 3-->
<!--Col 3 Trait 4-->
<div class='sheet-row' style='padding: 0px;'>
<input type="checkbox" class="sheet-toggle sheet-left" title="show/hide" name="attr_Vehicles-show" value="1"/>
<div class='sheet-col sheet-labeldiv'>
Vehicles
</div>
<div class='sheet-col sheet-diebutton'>
<input type='number' class='sheet-skills' name='attr_vehicles' value='2' style="width:30px">
d
<button class='sheet-d6' type='roll' name='roll_Vehicles' value='&{template:default} {{name=@{character_name}}} {{Vehicles=[[@{Vehicles} + ?{extra dice|0} + (?{extra dice|0} + @{Vehicles})d6>6f<3]] Success(es)!}}' />
</div>
<div class='sheet-hide'>
<textarea name='attr_Vehiclesnotes' style='height: 20px; width: 93%;'></textarea>
</div>
</div>
<!--End Col 3 Trait 4-->
</div>
</div>
<!-- Display mundate traits mixed -->
<input type='checkbox' checked class='sheet-divide_mundane-toggle' name='attr_divide_mundain' value='1' style='display: none;' />
<div class="sheet-3colrow sheet-divide_mundane-show" style='width:830px;'>
<div class='sheet-col' style='margin-right: 10px;'>
<!--Col 1 Trait 1-->
<div class='sheet-row' style='padding: 0px;'>
<input type="checkbox" class="sheet-toggle sheet-left" title="show/hide" name="attr_Academics-show" value="1"/>
<div class='sheet-col sheet-labeldiv'>
Academics
</div>
<div class='sheet-col sheet-diebutton'>
<input type='number' class='sheet-skills' name='attr_academics' value='2' style="width:30px">
d
<button class='sheet-d6' type='roll' name='roll_academics' value='&{template:default} {{name=@{character_name}}} {{Academics=[[@{academics} + ?{extra dice|0} + (?{extra dice|0} + @{academics})d6>6f<3]] Success(es)!}}' />
</div>
<div class='sheet-hide'>
<textarea name='attr_academicsnotes' style='height: 20px; width: 93%;'></textarea>
</div>
</div>
<!--End Col 1 Trait 1-->
<!--Col 1 Trait 2-->
<div class='sheet-row' style='padding: 0px;'>
<input type="checkbox" class="sheet-toggle sheet-left" title="show/hide" name="attr_Agility-show" value="1"/>
<div class='sheet-col sheet-labeldiv'>
Agility
</div>
<div class='sheet-col sheet-diebutton'>
<input type='number' class='sheet-skills' name='attr_agility' value='2' style="width:30px">
d
<button class='sheet-d6' type='roll' name='roll_agility' value='&{template:default} {{name=@{character_name}}} {{Agility=[[@{agility} + ?{extra dice|0} + (?{extra dice|0} + @{agility})d6>6f<3]] Success(es)!}}' />
</div>
<div class='sheet-hide'>
<textarea name='attr_agilitynotes' style='height: 20px; width: 93%;'></textarea>
</div>
</div>
<!--End Col 1 Trait 2-->
<!--Col 1 Trait 3-->
<div class='sheet-row' style='padding: 0px;'>
<input type="checkbox" class="sheet-toggle sheet-left" title="show/hide" name="attr_Charm-show" value="1"/>
<div class='sheet-col sheet-labeldiv'>
Charm
</div>
<div class='sheet-col sheet-diebutton'>
<input type='number' class='sheet-skills' name='attr_charm' value='2' style="width:30px">
d
<button class='sheet-d6' type='roll' name='roll_Charm' value='&{template:default} {{name=@{character_name}}} {{Charm=[[@{Charm} + ?{extra dice|0} + (?{extra dice|0} + @{Charm})d6>6f<3]] Success(es)!}}' />
</div>
<div class='sheet-hide'>
<textarea name='attr_Charmnotes' style='height: 20px; width: 93%;'></textarea>
</div>
</div>
<!--End Col 1 Trait 3-->
<!--Col 1 Trait 4-->
<div class='sheet-row' style='padding: 0px;'>
<input type="checkbox" class="sheet-toggle sheet-left" title="show/hide" name="attr_Command-show" value="1"/>
<div class='sheet-col sheet-labeldiv'>
Command
</div>
<div class='sheet-col sheet-diebutton'>
<input type='number' class='sheet-skills' name='attr_command' value='2' style="width:30px">
d
<button class='sheet-d6' type='roll' name='roll_Command' value='&{template:default} {{name=@{character_name}}} {{Command=[[@{Command} + ?{extra dice|0} + (?{extra dice|0} + @{Command})d6>6f<3]] Success(es)!}}' />
</div>
<div class='sheet-hide'>
<textarea name='attr_Commandnotes' style='height: 20px; width: 93%;'></textarea>
</div>
</div>
<!--End Col 1 Trait 4-->
<!--Col 1 Trait 5-->
<div class='sheet-row' style='padding: 0px;'>
<input type="checkbox" class="sheet-toggle sheet-left" title="show/hide" name="attr_Covert-show" value="1"/>
<div class='sheet-col sheet-labeldiv'>
Covert
</div>
<div class='sheet-col sheet-diebutton'>
<input type='number' class='sheet-skills' name='attr_covert' value='2' style="width:30px">
d
<button class='sheet-d6' type='roll' name='roll_covert' value='&{template:default} {{name=@{character_name}}} {{Covert=[[@{covert} + ?{extra dice|0} + (?{extra dice|0} + @{covert})d6>6f<3]] Success(es)!}}' />
</div>
<div class='sheet-hide'>
<textarea name='attr_Covertnotes' style='height: 20px; width: 93%;'></textarea>
</div>
</div>
<!--End Col 1 Trait 5-->
<!--Col 1 Trait 6-->
<div class='sheet-row' style='padding: 0px;'>
<input type="checkbox" class="sheet-toggle sheet-left" title="show/hide" name="attr_Intellect-show" value="1"/>
<div class='sheet-col sheet-labeldiv'>
Intellect
</div>
<div class='sheet-col sheet-diebutton'>
<input type='number' class='sheet-skills' name='attr_intellect' value='2' style="width:30px">
d
<button class='sheet-d6' type='roll' name='roll_intellect' value='&{template:default} {{name=@{character_name}}} {{Intellect=[[@{intellect} + ?{extra dice|0} + (?{extra dice|0} + @{intellect})d6>6f<3]] Success(es)!}}' />
</div>
<div class='sheet-hide'>
<textarea name='attr_Intellectnotes' style='height: 20px; width: 93%;'></textarea>
</div>
</div>
<!--End Col 1 Trait 6-->
</div>
<div class='sheet-col' style='margin-right: 10px;'>
<!--Col 2 Trait 1-->
<div class='sheet-row' style='padding: 0px;'>
<input type="checkbox" class="sheet-toggle sheet-left" title="show/hide" name="attr_Investigation-show" value="1"/>
<div class='sheet-col sheet-labeldiv'>
Investigation
</div>
<div class='sheet-col sheet-diebutton'>
<input type='number' class='sheet-skills' name='attr_investigation' value='2' style="width:30px">
d
<button class='sheet-d6' type='roll' name='roll_investigation' value='&{template:default} {{name=@{character_name}}} {{Investigation=[[@{investigation} + ?{extra dice|0} + (?{extra dice|0} + @{investigation})d6>6f<3]] Success(es)!}}' />
</div>
<div class='sheet-hide'>
<textarea name='attr_Investigationnotes' style='height: 20px; width: 93%;'></textarea>
</div>
</div>
<!--End Col 2 Trait 1-->
<!--Col 2 Trait 2-->
<div class='sheet-row' style='padding: 0px;'>
<input type="checkbox" class="sheet-toggle sheet-left" title="show/hide" name="attr_Medicine-show" value="1"/>
<div class='sheet-col sheet-labeldiv'>
Medicine
</div>
<div class='sheet-col sheet-diebutton'>
<input type='number' class='sheet-skills' name='attr_medicine' value='2' style="width:30px">
d
<button class='sheet-d6' type='roll' name='roll_Medicine' value='&{template:default} {{name=@{character_name}}} {{Medicine=[[@{Medicine} + ?{extra dice|0} + (?{extra dice|0} + @{Medicine})d6>6f<3]] Success(es)!}}' />
</div>
<div class='sheet-hide'>
<textarea name='attr_Medicinenotes' style='height: 20px; width: 93%;'></textarea>
</div>
</div>
<!--End Col 2 Trait 2-->
<!--Col 2 Trait 3-->
<div class='sheet-row' style='padding: 0px;'>
<input type="checkbox" class="sheet-toggle sheet-left" title="show/hide" name="attr_Might-show" value="1"/>
<div class='sheet-col sheet-labeldiv'>
Might
</div>
<div class='sheet-col sheet-diebutton'>
<input type='number' class='sheet-skills' name='attr_might' value='2' style="width:30px">
d
<button class='sheet-d6' type='roll' name='roll_Might' value='&{template:default} {{name=@{character_name}}} {{Might=[[@{Might} + ?{extra dice|0} + (?{extra dice|0} + @{Might})d6>6f<3]] Success(es)!}}' />
</div>
<div class='sheet-hide'>
<textarea name='attr_Mightnotes' style='height: 20px; width: 93%;'></textarea>
</div>
</div>
<!--End Col 2 Trait 3-->
<!--Col 2 Trait 4-->
<div class='sheet-row' style='padding: 0px;'>
<input type="checkbox" class="sheet-toggle sheet-left" title="show/hide" name="attr_Perception-show" value="1"/>
<div class='sheet-col sheet-labeldiv'>
Perception
</div>
<div class='sheet-col sheet-diebutton'>
<input type='number' class='sheet-skills' name='attr_perception' value='2' style="width:30px">
d
<button class='sheet-d6' type='roll' name='roll_Perception' value='&{template:default} {{name=@{character_name}}} {{Perception=[[@{Perception} + ?{extra dice|0} + (?{extra dice|0} + @{Perception})d6>6f<3]] Success(es)!}}' />
</div>
<div class='sheet-hide'>
<textarea name='attr_Perceptionnotes' style='height: 20px; width: 93%;'></textarea>
</div>
</div>
<!--End Col 2 Trait 4-->
<!--Col 2 Trait 5-->
<div class='sheet-row' style='padding: 0px;'>
<input type="checkbox" class="sheet-toggle sheet-left" title="show/hide" name="attr_Professional-show" value="1"/>
<div class='sheet-col sheet-labeldiv'>
Professional
</div>
<div class='sheet-col sheet-diebutton'>
<input type='number' class='sheet-skills' name='attr_professional' value='2' style="width:30px">
d
<button class='sheet-d6' type='roll' name='roll_Professional' value='&{template:default} {{name=@{character_name}}} {{Professional=[[@{Professional} + ?{extra dice|0} + (?{extra dice|0} + @{Professional})d6>6f<3]] Success(es)!}}' />
</div>
<div class='sheet-hide'>
<textarea name='attr_Professionalnotes' style='height: 20px; width: 93%;'></textarea>
</div>
</div>
<!--End Col 2 Trait 5-->
<!--Col 2 Trait 6-->
<div class='sheet-row' style='padding: 0px;'>
<input type="checkbox" class="sheet-toggle sheet-left" title="show/hide" name="attr_Science-show" value="1"/>
<div class='sheet-col sheet-labeldiv'>
Science
</div>
<div class='sheet-col sheet-diebutton'>
<input type='number' class='sheet-skills' name='attr_science' value='2' style="width:30px">
d
<button class='sheet-d6' type='roll' name='roll_Science' value='&{template:default} {{name=@{character_name}}} {{Science=[[@{Science} + ?{extra dice|0} + (?{extra dice|0} + @{Science})d6>6f<3]] Success(es)!}}' />
</div>
<div class='sheet-hide'>
<textarea name='attr_Sciencenotes' style='height: 20px; width: 93%;'></textarea>
</div>
</div>
<!--End Col 2 Trait 6-->
</div>
<div class='sheet-col' style='margin-right: 10px;'>
<!--Col 3 Trait 1-->
<div class='sheet-row' style='padding: 0px;'>
<input type="checkbox" class="sheet-toggle sheet-left" title="show/hide" name="attr_Streetwise-show" value="1"/>
<div class='sheet-col sheet-labeldiv'>
Streetwise
</div>
<div class='sheet-col sheet-diebutton'>
<input type='number' class='sheet-skills' name='attr_streetwise' value='2' style="width:30px">
d
<button class='sheet-d6' type='roll' name='roll_Streetwise' value='&{template:default} {{name=@{character_name}}} {{Streetwise=[[@{Streetwise} + ?{extra dice|0} + (?{extra dice|0} + @{Streetwise})d6>6f<3]] Success(es)!}}' />
</div>
<div class='sheet-hide'>
<textarea name='attr_Streetwisenotes' style='height: 20px; width: 93%;'></textarea>
</div>
</div>
<!--End Col 3 Trait 1-->
<!--Col 3 Trait 2-->
<div class='sheet-row' style='padding: 0px;'>
<input type="checkbox" class="sheet-toggle sheet-left" title="show/hide" name="attr_Survival-show" value="1"/>
<div class='sheet-col sheet-labeldiv'>
Survival
</div>
<div class='sheet-col sheet-diebutton'>
<input type='number' class='sheet-skills' name='attr_survival' value='2' style="width:30px">
d
<button class='sheet-d6' type='roll' name='roll_Survival' value='&{template:default} {{name=@{character_name}}} {{Survival=[[@{Survival} + ?{extra dice|0} + (?{extra dice|0} + @{Survival})d6>6f<3]] Success(es)!}}' />
</div>
<div class='sheet-hide'>
<textarea name='attr_Survivalnotes' style='height: 20px; width: 93%;'></textarea>
</div>
</div>
<!--End Col 3 Trait 2-->
<!--Col 3 Trait 3-->
<div class='sheet-row' style='padding: 0px;'>
<input type="checkbox" class="sheet-toggle sheet-left" title="show/hide" name="attr_Technology-show" value="1"/>
<div class='sheet-col sheet-labeldiv'>
Technology
</div>
<div class='sheet-col sheet-diebutton'>
<input type='number' class='sheet-skills' name='attr_technology' value='2' style="width:30px">
d
<button class='sheet-d6' type='roll' name='roll_Technology' value='&{template:default} {{name=@{character_name}}} {{Technology=[[@{Technology} + ?{extra dice|0} + (?{extra dice|0} + @{Technology})d6>6f<3]] Success(es)!}}' />
</div>
<div class='sheet-hide'>
<textarea name='attr_Technologynotes' style='height: 20px; width: 93%;'></textarea>
</div>
</div>
<!--End Col 3 Trait 3-->
<!--Col 3 Trait 4-->
<div class='sheet-row' style='padding: 0px;'>
<input type="checkbox" class="sheet-toggle sheet-left" title="show/hide" name="attr_Toughness-show" value="1"/>
<div class='sheet-col sheet-labeldiv'>
Toughness
</div>
<div class='sheet-col sheet-diebutton'>
<input type='number' class='sheet-skills' name='attr_toughness' value='2' style="width:30px">
d
<button class='sheet-d6' type='roll' name='roll_Toughness' value='&{template:default} {{name=@{character_name}}} {{Toughness=[[@{Toughness} + ?{extra dice|0} + (?{extra dice|0} + @{Toughness})d6>6f<3]] Success(es)!}}' />
</div>
<div class='sheet-hide'>
<textarea name='attr_Toughnessnotes' style='height: 20px; width: 93%;'></textarea>
</div>
</div>
<!--End Col 3 Trait 4-->
<!--Col 3 Trait 5-->
<div class='sheet-row' style='padding: 0px;'>
<input type="checkbox" class="sheet-toggle sheet-left" title="show/hide" name="attr_Vehicles-show" value="1"/>
<div class='sheet-col sheet-labeldiv'>
Vehicles
</div>
<div class='sheet-col sheet-diebutton'>
<input type='number' class='sheet-skills' name='attr_vehicles' value='2' style="width:30px">
d
<button class='sheet-d6' type='roll' name='roll_Vehicles' value='&{template:default} {{name=@{character_name}}} {{Vehicles=[[@{Vehicles} + ?{extra dice|0} + (?{extra dice|0} + @{Vehicles})d6>6f<3]] Success(es)!}}' />
</div>
<div class='sheet-hide'>
<textarea name='attr_Vehiclesnotes' style='height: 20px; width: 93%;'></textarea>
</div>
</div>
<!--End Col 3 Trait 5-->
<!--Col 3 Trait 6-->
<div class='sheet-row' style='padding: 0px;'>
<input type="checkbox" class="sheet-toggle sheet-left" title="show/hide" name="attr_Willpower-show" value="1"/>
<div class='sheet-col sheet-labeldiv'>
Willpower
</div>
<div class='sheet-col sheet-diebutton'>
<input type='number' class='sheet-skills' name='attr_willpower' value='2' style="width:30px">
d
<button class='sheet-d6' type='roll' name='roll_Willpower' value='&{template:default} {{name=@{character_name}}} {{Willpower=[[@{Willpower} + ?{extra dice|0} + (?{extra dice|0} + @{Willpower})d6>6f<3]] Success(es)!}}' />
</div>
<div class='sheet-hide'>
<textarea name='attr_Willpowernotes' style='height: 20px; width: 93%;'></textarea>
</div>
</div>
<!--End Col 3 Trait 6-->
</div>
</div>
</div>
<!--Super Traits -->
<input type='checkbox' class='sheet-hidetraits' name='attr_hidetraits' value='1' style='display: none;' />
<div class='sheet-block sheet-showtraits'>
<h3 style='text-align: center; font-family: "Contrail One"; font-size: 125%;'>SUPER TRAITS</h3>
<div class='sheet-2colrow'>
<div class='sheet-col'>
<fieldset class="repeating_supertraits">
<!--Left Super Trait Column-->
<div class='sheet-row' style='padding: 1px;'>
<input type="checkbox" checked class="sheet-toggle sheet-left" title="show/hide" name="attr_supertrait-show" value="1"/>
<input type='text' name='attr_supertrait' placeholder='Custom Superpower Name' style='width:280px;' />
<input type='number' class='sheet-skills' name='attr_traitrank' style='width: 25px; text-align: right;' value='2'>
d
<button class='sheet-d6' type='roll' name='roll_supertrait' style='margin-left: 0px;' value='&{template:default} {{name=@{character_name}}} {{@{supertrait}=[[@{traitrank} + ?{extra dice|0} + (?{extra dice|0} + @{traitrank})d6>6f<3]] Success(es)!}} {{notes=@{traitnotes}}}' />
<textarea class='sheet-hide' name='attr_traitnotes' style='height: 20px; width: 93%;' placeholder='Note that will accompany rolls'></textarea>
<textarea class='sheet-hide' name='attr_extratraitnotes' style='height: 20px; width: 93%;' placeholder='Notes that will NOT accompany rolls'></textarea>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<select name="attr_power" style='width:240px;'>
<option value="none" selected="selected">none/custom</option><option value="adaption">adaption</option><option value="alternateform">alternate form</option><option value="animalcontrol">animal control</option><option value="animalempathy">animal empathy</option><option value="animalmimicry">animal mimicry</option><option value="animation">animation</option><option value="armor">armor</option><option value="astralprojection">astral projection</option>
<option value="attuned">attuned</option><option value="aura">aura</option><option value="banish">banish</option><option value="blast">blast</option><option value="blending">blending</option><option value="blind">blind</option><option value="blindfighting">blind fighting</option><option value="blink">blink</option>
<option value="boost">boost</option><option value="buff">buff</option><option value="clairvoyance">clairvoyance</option><option value="cloudminds">cloud minds</option><option value="communications">communications</option><option value="constructs">constructs</option><option value="dangersense">danger sense</option><option value="darkness">darkness</option><option value="dazzle">dazzle</option><option value="deflection">deflection</option>
<option value="density">density</option><option value="detection">detection</option><option value="determination">determination</option><option value="dimensionaltravel">dimensional travel</option><option value="dispel">dispel</option><option value="drain">drain</option><option value="duplication">duplication</option><option value="elementalcontrol">elemental control</option><option value="emotioncontrol">emotion control</option>
<option value="energyabsorption">energy absorption</option><option value="ensnare">ensnare</option><option value="evasion">evasion</option><option value="expertise">expertise</option><option value="extralimbs">extra limbs</option><option value="flight">flight</option><option value="forcefield">force field</option>
<option value="form">form</option><option value="gestalt">gestalt</option><option value="growth">growth</option><option value="hardtokill">hard to kill</option><option value="healing">healing</option><option value="hibernation">hibernation</option><option value="hyperbreath">hyper breath</option><option value="illusions">illusions</option>
<option value="immortality">immortality</option><option value="immunity">immunity</option><option value="inanimate">inanimate</option><option value="invisibility">invisibility</option><option value="irritant">irritant</option><option value="languages">languages</option><option value="leadership">leadership</option><option value="leaping">leaping</option><option value="lifedrain">life drain</option><option value="lighteffect">light/effect</option>
<option value="lightningreflexes">lightning reflexes</option><option value="luck">luck</option><option value="machinecontrol">machine control</option><option value="martialarts">martial arts</option><option value="masterofdisguise">master of disguise</option><option value="matterchameleon">matter chameleon</option><option value="mindblast">mind blast</option><option value="mindcontrol">mind control</option><option value="nullify">nullify</option>
<option value="omnipower">omni-power</option><option value="phasing">phasing</option><option value="plasticity">plasticity</option><option value="polymorph">polymorph</option><option value="portablestorehouse">portable storehouse</option><option value="possession">possession</option><option value="powerabsorption">power absorption</option><option value="powermimicry">power mimicry</option>
<option value="precognition">precognition</option><option value="preparation">preparation</option><option value="psiscreen">psi-screen</option><option value="psychometry">psychometry</option><option value="quickchange">quick change</option><option value="radar">radar</option><option value="regeneration">regeneration</option><option value="resistance">resistance</option><option value="running">running</option><option value="separation">separation</option>
<option value="shockwave">shockwave</option><option value="shrinking">shrinking</option><option value="slay">slay</option><option value="slick">slick</option><option value="speakwithdead">speak with dead</option><option value="specialty">specialty</option><option value="spinning">spinning</option><option value="stargate">star gate</option><option value="stretching">stretching</option>
<option value="strike">strike</option><option value="stun">stun</option><option value="summoning">summoning</option><option value="supersenses">super senses</option><option value="superspeed">super speed</option><option value="swimming">swimming</option><option value="swingline">swing line</option><option value="telekinesis">telekinesis</option><option value="telepathy">telepathy</option>
<option value="teleportation">teleportation</option><option value="timestop">time stop</option><option value="timetravel">time travel</option><option value="totalrecall">total recall</option><option value="tracer">tracer</option><option value="transformation">transformation</option><option value="transmutation">transmutation</option><option value="tunneling">tunneling</option><option value="twodimensional">two-dimensional</option>
<option value="twofisted">two-fisted</option><option value="vanish">vanish</option><option value="variant">variant</option><option value="ventriloquism">ventriloquism</option><option value="wallcrawling">wall-crawling</option><option value="weaknessdetection">weakness detection</option>
</select>
Power Cost:
<input type="hidden" name="attr_supertraitcosthidden" value="0">
<input type='number' class='sheet-skills' name='attr_supertraitcost' style='width: 25px; text-align: right;' value="@{supertraitcosthidden}" disabled="true" title="This value is autocalculated and is view-only. There is NO safeguard against making powers that cost zero or less. If a power costs less than zero then either add more ranks, more pros, or less cons. If you need to manually adjust a powers cost then just add the modification to the PRO/CON Total field.">
Cost/Rank:
<input type="hidden" name="attr_costperrankhidden" value="0" style='width: 25px; text-align: right;'>
<input type='number' class='sheet-skills' name='attr_costperrank' style='width: 25px; text-align: right;' value="@{costperrankhidden}" disabled="true" title="This value is autocalculated and is view-only.">
Ranks Purchased:
<input type="hidden" name="attr_supertraitranksboughthidden" value="0">
<input type='number' class='sheet-skills' name='attr_supertraitranksbought' style='width: 25px; text-align: right;' value="@{supertraitranksboughthidden}" disabled="true" title="This value is autocalculated and is view-only. This is the number of ranks purchased to bring the power up to the number of d6's indicated for the roll macro. This number should be POSSITIVE. If the value here is negative then the number of die indicated above is not high enough to overcome the baseline for this power (Default powers will only display a one) ">
PRO/CON Total:
<input type="hidden" name="attr_proconhidden" value="0">
<input type='number' class='sheet-skills' name='attr_procon' style='width: 25px; text-align: right; margin-bottom: 5px;' value='@{proconhidden}' disabled="true" title="This value is autocalculated and is view-only. Enter the total from all PROs and CONs not already marked for this power. Use the Ranks Purchased field to calculate the PRO/CON cost from PRO/CONs that have costs PER rank">
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="alternateform"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_alternateform_con_independent" value="-1" title="-1 hero point per rank"/>
CON: Independent Forms (-1 per rank)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="animalcontrol"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_animalcontrol_pro_calling" value="2" title="2 hero points"/>
PRO: Calling (+2)
<br><input type="checkbox" name="attr_animalcontrol_con_onlyxbroad" value="-2" title="-2 hero points"/>
CON: Only X (broad) (-2)
<br><input type="checkbox" name="attr_animalcontrol_con_onlyxnarrow" value="-4" title="-4 hero points"/>
CON: Only X (narrow) (-4)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="animalempathy"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_animalempathy_pro_speach" value="2" title="2 hero point per rank"/>
PRO: Speech (+2)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="animalmimicry"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_animalmimicry_pro_enhanced" value="4" title="4 hero points"/>
PRO: Enhanced (+4)
<br><input type="checkbox" name="attr_animalmimicry_pro_selection" value="4" title="4 hero points"/>
PRO: Selection (+4)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="armor"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_armor_con_activated" value="-1" title="-1 hero point"/>
CON: Activated (-1)
<br><input type="checkbox" name="attr_armor_con_reactive" value="-2" title="-2 hero points"/>
CON: Reactive (-2)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="aura"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_aura_con_spines" value="-2" title="-2 hero point"/>
CON: Spines (-2)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="blast"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_blast_pro_calling" value="2" title="2 hero points"/>
PRO: Block (+2)
<br><input type="checkbox" name="attr_blast_pro_melee" value="2" title="2 hero points"/>
PRO: Melee (+2)
<br><input type="checkbox" name="attr_blast_con_subdual" value="-1" title="-1 hero point"/>
CON: subdual (-1)
<br><input type="checkbox" name="attr_blast_con_weapons" value="-1" title="-1 hero point"/>
CON: weapons (-1)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="boost"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
Boosted Trait:
<select name="attr_boostedtrait" style='width:240px;'>
<option value="none" selected="selected">none</option><option value="academics">academics</option><option value="agility">agility</option><option value="charm">charm</option><option value="command">command</option><option value="covert">covert</option><option value="intellect">intellect</option><option value="investigation">investigation</option><option value="medicine">medicine</option><option value="might">might</option><option value="perception">perception</option><option value="professional">professional</option><option value="science">science</option><option value="streetwise">streetwise</option><option value="survival">survival</option><option value="technology">technology</option><option value="toughness">toughness</option><option value="vehicles">vehicles</option><option value="willpower">willpower</option>
<option value="animalcontrol">animal control</option><option value="animalmimicry">animal mimicry</option><option value="animation">animation</option><option value="armor">armor</option><option value="aura">aura</option><option value="banish">banish</option><option value="blast">blast</option><option value="blind">blind</option><option value="blink">blink</option><option value="cloudminds">cloud minds</option><option value="constructs">constructs</option><option value="dangersense">danger sense</option><option value="dazzle">dazzle</option><option value="deflection">deflection</option><option value="density">density</option><option value="detection">detection</option><option value="determination">determination</option><option value="dispel">dispel</option><option value="drain">drain</option><option value="elementalcontrol">elemental control</option><option value="emotioncontrol">emotion control</option><option value="energyabsorption">energy absorption</option><option value="ensnare">ensnare</option><option value="evasion">evasion</option><option value="expertise">expertise</option><option value="flight">flight</option><option value="forcefield">force field</option><option value="form">form</option><option value="growth">growth</option><option value="healing">healing</option><option value="hyperbreath">hyper breath</option><option value="illusions">illusions</option><option value="irritant">irritant</option><option value="leaping">leaping</option><option value="lifedrain">life drain</option><option value="luck">luck</option><option value="machinecontrol">machine control</option><option value="martialarts">martial arts</option><option value="matterchameleon">matter chameleon</option><option value="mindblast">mind blast</option><option value="mindcontrol">mind control</option><option value="nullify">nullify</option><option value="omnipower">omni-power</option><option value="plasticity">plasticity</option><option value="polymorph">polymorph</option><option value="possession">possession</option><option value="powerabsorption">power absorption</option><option value="powermimicry">power mimicry</option><option value="psiscreen">psi-screen</option><option value="resistance">resistance</option><option value="running">running</option><option value="shockwave">shockwave</option><option value="shrinking">shrinking</option><option value="slay">slay</option><option value="slick">slick</option><option value="speakwithdead">speak with dead</option><option value="spinning">spinning</option><option value="strike">strike</option><option value="stun">stun</option><option value="summoning">summoning</option><option value="supersenses">super senses</option><option value="superspeed">super speed</option><option value="swimming">swimming</option><option value="swingline">swing line</option><option value="telekinesis">telekinesis</option><option value="telepathy">telepathy</option><option value="teleportation">teleportation</option><option value="timestop">time stop</option><option value="transformation">transformation</option><option value="transmutation">transmutation</option><option value="tunneling">tunneling</option><option value="wallcrawling">wall-crawling</option>
</select>
<br><input type="checkbox" name="attr_boost_con_rage" value="-2" title="-2 hero point"/>
CON: Rage (-2)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="buff"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_buff_pro_greater" value="6" title="6 hero points"/>
PRO: Greater (+6)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="constructs"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_constructs_pro_devices" value="2" title="2 hero points per rank"/>
PRO: Devices (+2 per rank)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="dazzle"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_dazzle_con_deafen" value="-1" title="-1 hero point"/>
CON: Deafen (-1)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="deflection"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_deflection_con_onlyx" value="-4" title="-4 hero points"/>
CON: Only X (-4)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="detection"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_detection_pro_longrange" value="1" title="1 hero point"/>
PRO: Long Range (+1)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="dimensionaltravel"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_dimensionaltravel_pro_portal" value="2" title="2 hero points"/>
PRO: Portal (+2)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="dispel"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type='number' class='sheet-skills' name="attr_dispel_pro_alsox" value="0" style='width: 25px; text-align: right;' title="Number of ADDITIONAL sources. 1 hero point per 2 ranks">
PRO: Also X (Special)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="drain"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type='number' class='sheet-skills' name="attr_drain_pro_alsox" value="0" style='width: 25px; text-align: right;' title="Number of ADDITIONAL sources. 1 hero point per 2 ranks">
PRO: Also X (Special)
<br><input type="checkbox" name="attr_drain_con_onlyxbroad" value="-2" title="-2 hero points"/>
CON: Only X (One type of trait: Abilities, Talents, or Powers) (-2)
<br><input type="checkbox" name="attr_drain_con_onlyxnarrow" value="-4" title="-4 hero points"/>
CON: Only X (One specific Ability, Talent, or Power) (-4)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="elementalcontrol"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_elementalcontrol_pro_mattercreation" value="1" title="+1 hero point per rank"/>
PRO: Matter Creation (+1 per rank)
<br><input type="checkbox" name="attr_elementalcontrol_con_onlycontrol" value="-1" title="-1 hero point per rank"/>
CON: Only Control (-1 per rank)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="emotioncontrol"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_emotioncontrol_con_onlyx" value="-2" title="-2 hero points"/>
CON: Only X (-2)
<br><input type="checkbox" name="attr_emotioncontrol_con_pheomones" value="-2" title="-2 hero points"/>
CON: Pheromones (-2)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="energyabsorption"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_energyabsorptionkinetic" value="2" title="+2 hero points per rank"/>
PRO: Kinetic energy (+2 per rank)
<br><input type="checkbox" name="attr_energyabsorption_pro_alsox" value="2" title="+2 hero points"/>
PRO: Also X (+2)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="ensnare"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_ensnare_pro_line" value="2" title="+2 hero points"/>
PRO: Line (+2)
<br><input type="checkbox" name="attr_ensnare_con_immobilize" value="-2" title="-2 hero points"/>
CON: Immobilize (-2)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="expertise"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
Expertise Trait:
<select name="attr_expertisetrait" style='width:240px;'>
<option value="none" selected="selected">none</option><option value="academics">academics</option><option value="agility">agility</option><option value="charm">charm</option><option value="command">command</option><option value="covert">covert</option><option value="intellect">intellect</option><option value="investigation">investigation</option><option value="medicine">medicine</option><option value="might">might</option><option value="perception">perception</option><option value="professional">professional</option><option value="science">science</option><option value="streetwise">streetwise</option><option value="survival">survival</option><option value="technology">technology</option><option value="toughness">toughness</option><option value="vehicles">vehicles</option><option value="willpower">willpower</option>
</select>
<br><input type="checkbox" name="attr_expertise_combat_skill" value='TRUE' title="This skill is a combat skill. Non-combat expertises do not count against resolve."/>
Mark this if this is a combat skill
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="flight"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_flight_pro_spaceflight" value="2" title="+2 hero points"/>
PRO: Spaceflight (+2)
<br><input type="checkbox" name="attr_flight_con_gliding" value="-2" title="-2 hero points"/>
CON: Gliding (-2)
<br><input type="checkbox" name="attr_flight_con_levitation" value="-4" title="-4 hero points"/>
CON: Levitation (-4)
<br><input type="checkbox" name="attr_flight_con_slides" value="-2" title="-2 hero points"/>
CON: Slides (-2)
<br><input type="checkbox" name="attr_flight_con_wings" value="-2" title="-2 hero points"/>
CON: Wings (-2)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="forcefield"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_forcefield_pro_inviolate" value="1" title="+1 hero point per rank"/>
PRO: Inviolate (+1 per rank)
<br><input type="checkbox" name="attr_forcefield_pro_permeable" value="6" title="6 hero points"/>
PRO: Permeable (+6)
<br><input type="checkbox" name="attr_forcefield_con_collapsible" value="-2" title="-2 hero points"/>
CON: Collapsible (-2)
<br><input type="checkbox" name="attr_forcefield_con_ward" value="-1" title="-1 hero point"/>
CON: Ward (-1)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="form"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
Form type:
<select name="attr_formtype" style='width:240px;'>
<option value="energyform" selected="selected">energy form</option><option value="gaseousform">gaseous form</option><option value="liquidform">liquid form</option><option value="solidform">solid form</option>
</select>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_form_energyform-show" value="energyform"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_form_energyform_pro_alsox" value="2" title="2 hero points"/>
PRO: Also X (+2)
</div>
</div>
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="gestalt"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type='number' class='sheet-skills' name="attr_gestalt_alteregos" style='width: 25px; text-align: right;' value="2">
# of alter egos total (+3 per ego past 1)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="healing"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_healing_pro_repair" value="-2" title="-2 hero points"/>
CON: Repair (-2)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="hyperbreath"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_hyperbreath_pro_freezing" value="1" title="1 hero point per rank"/>
PRO: Freezing (+1 per rank)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="illusions"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_illusions_pro_mental" value="2" title="2 hero points per rank"/>
PRO: Mental (+2 per rank)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="immortality"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_immortality_con_vulnerable" value="-1" title="-1 hero point"/>
CON: Vulnerable (-1)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="inanimate"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_inanimate_pro_mindless" value="9" title="9 hero points"/>
PRO: Mindless (+9)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="invisibility"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_invisibility_pro_cloaking" value="3" title="3 hero points"/>
PRO: Cloaking (+3)
<br><input type="checkbox" name="attr_invisibility_pro_jamming" value="-3" title="-3 hero points"/>
CON: Jamming (-3)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="languages"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_languages_pro_hypertranslation" value="2" title="2 hero points"/>
PRO: Hyper Translation (+2)
<br><input type="checkbox" name="attr_languages_pro_polyglot" value="1" title="1 hero points"/>
PRO: Polyglot (+1)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="lifedrain"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_lifedrain_pro_vampirism" value="1" title="1 hero point"/>
PRO: Vampirism (+1)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="lightningreflexes"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_lightningreflexes_con_fightingmarksmanship" value="-1" title="-1 hero point"/>
CON: Fighting/Marksmanship (-1)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="luck"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_luck_pro_control" value="4" title="4 hero points"/>
PRO: Control (+4)
<br><input type="checkbox" name="attr_luck_pro_unbelievable" value="1" title="1 hero point per rank"/>
PRO: Unbelievable (+1 per rank)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="machinecontrol"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_machinecontrol_con_interface" value="-2" title="-2 hero points"/>
CON: Interface (-2)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="martialarts"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_martialarts_pro_deflect" value="4" title="4 hero points"/>
PRO: Deflect (+4)
<br><input type="checkbox" name="attr_martialarts_pro_deflectmissiles" value="2" title="2 hero points"/>
PRO: Deflect Missiles (+2)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="mindcontrol"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_mindcontrol_con_hypnosis" value="-2" title="2 hero points"/>
CON: Hypnosis (-2)
<br><input type="checkbox" name="attr_mindcontrol_con_pheromones" value="-2" title="-2 hero points"/>
CON: Pheromones (-2)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="nullify"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type='number' class='sheet-skills' name="attr_nullify_pro_alsox" value="0" style='width: 25px; text-align: right;' title="Number of ADDITIONAL sources. 1 hero point per rank">
PRO: Also X (Special)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="omnipower"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
Omni-power type:
<select name="attr_omnipowertype" style='width:240px;'>
<option value="3" selected="selected">narrow</option><option value="5">broad</option>
</select>
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="phasing"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_phasing_pro_intangible" value="3" title="3 hero points"/>
PRO: Intangible (+3)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="possession"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_possession_pro_meld" value="4" title="4 hero points"/>
PRO: Meld (+4)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="powerabsorption"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type='number' class='sheet-skills' name="attr_powerabsorption_pro_alsox" value="0" style='width: 25px; text-align: right;' title="Number of ADDITIONAL sources. 1 hero point per rank">
PRO: Also X (Special)
<br><input type="checkbox" name="attr_powerabsorption_con_onlyxbroad" value="-2" title="-2 hero points"/>
CON: Only X (One type of trait: Abilities, Talents, or Powers) (-2)
<br><input type="checkbox" name="attr_powerabsorption_con_onlyxnarrow" value="-4" title="-4 hero points"/>
CON: Only X (One specific Ability, Talent, or Power) (-4)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="powermimicry"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type='number' class='sheet-skills' name="attr_powermimicry_pro_alsox" value="0" style='width: 25px; text-align: right;' title="Number of ADDITIONAL sources. 1 hero point per rank">
PRO: Also X (Special)
<br><input type="checkbox" name="attr_powermimicry_con_onlyxbroad" value="-2" title="-2 hero points"/>
CON: Only X (One type of trait: Abilities, Talents, or Powers) (-2)
<br><input type="checkbox" name="attr_powermimicry_con_onlyxnarrow" value="-4" title="-4 hero points"/>
CON: Only X (One specific Ability, Talent, or Power) (-4)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="psiscreen"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_psiscreen_pro_cloakmind" value="2" title="2 hero points"/>
PRO: Cloak Mind (+2)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="quickchange"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_quickchange_con_costume" value="-1" title="1 hero point"/>
CON: Costume (-1)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="radar"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_radar_con_sonar" value="-1" title="-1 hero point"/>
CON: Sonar (-1)
<br><input type="checkbox" name="attr_radar_con_tremorsense" value="-1" title="-1 hero point"/>
CON: Tremor Sense (-1)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="regeneration"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_regeneration_pro_fast" value="6" title="6 hero points"/>
PRO: Fast (+6)
<br><input type="checkbox" name="attr_regeneration_pro_instant" value="18" title="18 hero points"/>
PRO: Instant (+18)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="running"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_running_pro_hover" value="2" title="2 hero points"/>
PRO: Hover (+2)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="stargate"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_stargate_pro_portal" value="2" title="2 hero points"/>
PRO: Portal (+2)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="stretching"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
Stretching Range:
<select name="attr_stretchingrange" style='width:240px;'>
<option value="close" selected="selected">close</option><option value="distant">distant</option><option value="extreme">extreme</option>
</select>
<br><input type="checkbox" name="attr_stretching_con_longreach" value="-1" title="-1 hero point"/>
CON: Long Reach (-1)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="strike"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_strike_pro_deflect" value="4" title="4 hero points"/>
PRO: Deflect (+4)
<br><input type="checkbox" name="attr_strike_pro_deflectmissiles" value="2" title="2 hero points"/>
PRO: Deflect Missiles (+2)
<br><input type="checkbox" name="attr_strike_pro_reachthrow" value="2" title="2 hero points"/>
PRO: Reach/Throw (+2)
<br><input type="checkbox" name="attr_strike_pro_sweep" value="4" title="4 hero points"/>
PRO: Sweep (+4)
<br><input type="checkbox" name="attr_strike_con_subdual" value="-1" title="-1 hero point"/>
CON: Subdual (-1)
<br><input type="checkbox" name="attr_strike_con_weapons" value="-1" title="-1 hero point"/>
CON: Weapons (-1)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="stun"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_stun_con_EMP" value="-2" title="-2 hero points"/>
CON: EMP (-2)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="summoning"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type='number' class='sheet-skills' name="attr_summoningthreat" style='width: 25px; text-align: right;'>
Summoning Threat
<br><input type="checkbox" name="attr_summoning_pro_animals_narrow" value="1" title="1 hero point per rank"/>
PRO: animals, narrow selection (+1 per rank)
<br><input type="checkbox" name="attr_summoning_pro_animals_wide" value="2" title="2 hero points per rank"/>
PRO: animals (wide variety) (+2 per rank)
<br><input type="checkbox" name="attr_summoning_pro_automatons" value="1" title="1 hero point per rank"/>
PRO: automatons (+1 per rank)
<br><input type="checkbox" name="attr_summoning_pro_duplicates" value="2" title="2 hero points per rank"/>
PRO: duplicates (+2 per rank)
<br><input type="checkbox" name="attr_summoning_pro_shooters" value="1" title="1 hero point per rank"/>
PRO: shooters (+1 per rank)
<br><input type="checkbox" name="attr_summoning_pro_unique_minor" value="1" title="1 hero point per rank"/>
PRO: unique (minor advantage) (+1 per rank)
<br><input type="checkbox" name="attr_summoning_pro_unique_moderate" value="2" title="2 hero points per rank"/>
PRO: unique (moderate advantage) (+2 per rank)
<br><input type="checkbox" name="attr_summoning_pro_unique_major" value="4" title="4 hero points per rank"/>
PRO: unique (major advantage) (+4 per rank)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="supersenses"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type='number' class='sheet-skills' name="attr_supersenses_acutex" style='width: 25px; text-align: right;' title="Raising this value raises the die value of this super senses power">
acute X
<br><input type="checkbox" name="attr_supersenses_analyticx" value="1" title="1 hero point"/>
analytic X (+1)
<br><input type="checkbox" name="attr_supersenses_astralsight" value="1" title="1 hero point"/>
astral sight (+1)
<br><input type="checkbox" name="attr_supersenses_circularvision" value="1" title="1 hero point"/>
circular vision (+1)
<br><input type="checkbox" name="attr_supersenses_enhancedhearing" value="1" title="1 hero point"/>
enhanced hearing (+1)
<br><input type="checkbox" name="attr_supersenses_hypersensitivetouch" value="1" title="1 hero point"/>
hypersensitive touch (+1)
<br><input type="checkbox" name="attr_supersenses_liedetection" value="3" title="3 hero points"/>
lie detection (+3)
<br><input type="checkbox" name="attr_supersenses_microscopicvision" value="1" title="1 hero point"/>
microscopic vision (+1)
<br><input type="checkbox" name="attr_supersenses_nightvision" value="3" title="3 hero points"/>
night vision (+3)
<br><input type="checkbox" name="attr_supersenses_radiohearing" value="1" title="1 hero point"/>
radio hearing (+1)
<br><input type="checkbox" name="attr_supersenses_telescopicvision" value="1" title="1 hero point"/>
telescopic vision (+1)
<br><input type="checkbox" name="attr_supersenses_thermalvision" value="2" title="2 hero points"/>
thermal vision (+2)
<br><input type="checkbox" name="attr_supersenses_trackingscent" value="1" title="1 hero point"/>
tracking scent (+1)
<br><input type="checkbox" name="attr_supersenses_truesight" value="6" title="6 hero points"/>
true sight (+6)
<br><input type="checkbox" name="attr_supersenses_ultravision" value="2" title="2 hero points"/>
ultra vision (+2)
<br><input type="checkbox" name="attr_supersenses_xrayvision" value="6" title="6 hero points"/>
x-ray vision (+6)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="swimming"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_swimming_con_lungs" value="-1" title="-1 hero point"/>
CON: Lungs (-1)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="swingline"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_swingline_con_natural" value="-2" title="-2 hero points"/>
CON: Natural (-2)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="telekinesis"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_telekinesis_con_impel" value="-4" title="-4 hero points"/>
CON: Impel (-4)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="telepathy"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_telepathy_pro_altermemories" value="6" title="6 hero points"/>
PRO: Alter Memories (+6)
<br><input type="checkbox" name="attr_telepathy_pro_cloakothers" value="2" title="2 hero points"/>
PRO: Cloak Others (+2)
<br><input type="checkbox" name="attr_telepathy_pro_dreamtravel" value="2" title="2 hero points"/>
PRO: Dream Travel (+2)
<br><input type="checkbox" name="attr_telepathy_pro_mindlink" value="2" title="2 hero points"/>
PRO: Mind Link (+2)
<br><input type="checkbox" name="attr_telepathy_pro_empathy" value="-2" title="-2 hero points"/>
CON: Empathy (-2)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="teleportation"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_teleportation_pro_portal" value="2" title="2 hero points"/>
PRO: Portal (+2)
<br><input type="checkbox" name="attr_teleportation_con_medium" value="-2" title="-2 hero point"/>
CON: Medium (-2)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="timetravel"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_timetravel_pro_portal" value="2" title="2 hero points"/>
PRO: Portal (+2)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="totalrecall"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_totalrecall_pro_playback" value="1" title="1 hero point"/>
PRO: Playback (+1)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="tracer"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_tracer_pro_tracking" value="3" title="3 hero points"/>
PRO: Tracking (+3)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="transformation"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
Transformation type:
<select name="attr_transformationtype" style='width:240px;'>
<option value="animalforms" selected="selected">animal forms</option><option value="doppelganger">doppelganger</option><option value="objectforms">object forms</option><option value="shapeshifting">shapeshifting</option>
</select>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_transformation-show" value="animalforms"/>
<div class='sheet-hide'>
<br><input type="checkbox" name="attr_transformation_pro_enhanced" value="4" title="4 hero points"/>
PRO: Enhanced (+4)
<br><input type="checkbox" name="attr_transformation_con_onlyxbroad" value="-2" title="-2 hero points"/>
CON: Only X (category, group, or type) (-2)
<br><input type="checkbox" name="attr_transformation_con_onlyxnarrow" value="-4" title="-4 hero points"/>
CON: Only X (single or extremely limited group) (-4)
</div>
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="twofisted"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_twofisted_con_fightingmarksmanship" value="-1" title="-1 hero point"/>
CON: Fighting/Marksmanship (-1)
</div>
</div>
<div>
<input type="checkbox" class="sheet-toggle sheet-left" name="attr_genericprocons-show" value="1"/>
<b>Show Generic Pro and Cons</b>
<div class='sheet-col sheet-hide' style='width: 100%;'>
Other/Custom PRO/CON <input type='number' class='sheet-skills' name='attr_procontotal' style='width: 25px; text-align: right; margin-bottom: 5px;' value='0' title="Enter the total from all PROs and CONs not already marked for this power. Use the Ranks Purchased field to calculate the PRO/CON cost from PRO/CONs that have costs PER rank">
<br>PRO: Affect Inanimate (+1 per source) <input type="number" class='sheet-skills' name="attr_pro_affectinanimate" style='width: 25px; text-align: right; margin-bottom: 5px;' value='0' title="1 hero point per type"/>
<br>PRO: Area of Effect <select name="attr_pro_areaofeffect">
<option value="none" selected="selected">none</option><option value="burst">Burst (ranged power) (+1)</option><option value="area">Area (ranged power) (+2)</option><option value="novaranged">Nova (ranged power) (+1)</option><option value="novatouch">Nova (touch power) (+2)</option><option value="zoneranged">Zone (ranged power) (+2)</option><option value="zonetouch">Zone (touch power) (+4)</option>
</select>
<br><input type="checkbox" name="attr_pro_armorpiercing" value="2" title="2 hero points"/>
PRO: Armor Piercing (+2)
<br><input type="checkbox" name="attr_con_buildup" value="-2" title="-2 hero points"/>
CON: Build-Up (-2)
<br><input type="checkbox" name="attr_con_burnout" value="-4" title="-4 hero points"/>
CON: Burnout (-4)
<br><input type="checkbox" name="attr_pro_carrierattack" value="6" title="6 hero points"/>
PRO: Carrier Attack (+6)
<br>CON: Charges <select name="attr_con_charges">
<option value="0" selected="selected">none</option><option value="-1">6 times per scene (-1)</option><option value="-2">3 times per scene (-2)</option><option value="-4">1 time per scene (-4)</option>
</select>
<br><input type="checkbox" name="attr_pro_close" value="2" title="2 hero points"/>
PRO: Close (touch power) (+2)
<br><input type="checkbox" name="attr_con_close" value="-2" title="-2 hero points"/>
CON: Close (ranged power) (-2)
<br><input type="checkbox" name="attr_con_concentration" value="-4" title="-4 hero points"/>
CON: Concentration (-4)
<br>CON: Conditional <select name="attr_con_conditional">
<option value="0" selected="selected">none</option><option value="-1">works often (-1)</option><option value="-2">occasionally works (-2)</option><option value="-4">rarely works (-4)</option>
</select>
<br><input type="checkbox" name="attr_con_constant" value="-2" title="-2 hero points"/>
CON: Constant (-2)
<br><input type="checkbox" name="attr_pro_contagious" value="4" title="4 hero points"/>
PRO: Contagious (+4)
<br><input type="checkbox" name="attr_con_costly" value="-4" title="-4 hero points"/>
CON: Costly (-4)
<br><input type="checkbox" name="attr_con_degrades" value="-2" title="-2 hero points"/>
CON: Degrades (-2)
<br><input type="checkbox" name="attr_con_delay" value="-4" title="-4 hero points"/>
CON: Delay (-4)
<br><input type="checkbox" name="attr_con_exclusive" value="-1" title="-1 hero point"/>
CON: Exclusive (-1)
<br>PRO: Expansive <select name="attr_pro_expansive">
<option value="0" selected="selected">none</option><option value="6">close range (+6)</option><option value="12">distant range (+12)</option><option value="18">extreme range (+18)</option>
</select>
<br><input type="checkbox" name="attr_pro_fuse" value="2" title="2 hero points"/>
PRO: Fuse (+2)
<br>CON: Harmful <select name="attr_con_harmful">
<option value="0" selected="selected">none</option><option value="-1">1 damage per use (-1)</option><option value="-2">1-3 damage per use (-2)</option><option value="-4">1-6 damage per use (-4)</option>
</select>
<br><input type="checkbox" name="attr_pro_imbue" value="4" title="4 hero points"/>
PRO: Imbue (+4)
<br><input type="checkbox" name="attr_pro_independent" value="6" title="6 hero points"/>
PRO: Independent (+6)
<br><input type="checkbox" name="attr_con_item" value="-1" title="-1 hero point"/>
CON: Item (-1)
<br>CON: Limited <select name="attr_con_limited">
<option value="0" selected="selected">none</option><option value="-1">somewhat limited (-1)</option><option value="-2">significantly limited (-2)</option><option value="-4">severely limited (-4)</option>
</select>
<br>PRO: Line of Sight <select name="attr_pro_lineofsight">
<option value="0" selected="selected">none</option><option value="2">distant range (+2)</option><option value="4">close range (+4)</option><option value="6">touch (+6)</option>
</select>
<br><input type="checkbox" name="attr_pro_ongoing" value="6" title="6 hero points"/>
PRO: Ongoing (+6)
<br>CON: Only Inanimate <select name="attr_con_onlyinanimate">
<option value="0" selected="selected">none</option><option value="-1">any power (-1)</option><option value="-2">2 sources (-2)</option><option value="-4">1 source (-4)</option>
</select>
<br><input type="checkbox" name="attr_con_overkill" value="-1" title="-1 hero points per rank"/>
CON: Overkill (-1 per rank)
<br><input type="checkbox" name="attr_pro_overload" value="2" title="2 hero points"/>
PRO: Overload (+2)
<br><input type="checkbox" name="attr_pro_penetrating" value="4" title="4 hero points"/>
PRO: Penetrating (+4)
<br><input type="checkbox" name="attr_pro_phaseshift" value="4" title="4 hero points"/>
PRO: Phase Shift (+4)
<br>PRO: Ranged <select name="attr_pro_ranged">
<option value="0" selected="selected">none</option><option value="2">close range (+2)</option><option value="4">touch (+4)</option>
</select>
<br><input type="checkbox" name="attr_con_readied" value="-2" title="-2 hero points"/>
CON: Readied (-2)
<br><input type="checkbox" name="attr_con_recharge" value="-4" title="-4 hero points"/>
CON: Recharge (-4)
<br><input type="checkbox" name="attr_pro_resisted" value="6" title="6 hero points"/>
PRO: Resisted (+6)
<br><input type="checkbox" name="attr_pro_richochet" value="2" title="2 hero points"/>
PRO: Ricochet (+2)
<br><input type="checkbox" name="attr_pro_selective" value="4" title="4 hero points"/>
PRO: Selective (+4)
<br>CON: Shutdown <select name="attr_con_shutdown">
<option value="0" selected="selected">none</option><option value="-1">works often (-1)</option><option value="-2">occasionally works (-2)</option><option value="-4">rarely works (-4)</option>
</select>
<br>CON: Side Effect <select name="attr_con_sideeffect">
<option value="0" selected="selected">none</option><option value="-1">annoying/inconvenient (-1)</option><option value="-2">detrimental/harmful (-2)</option><option value="-4">catastrophic/debilitating (-4)</option>
</select>
<br><input type="checkbox" name="attr_con_signature" value="-1" title="-1 hero point"/>
CON: Signature (-1)
<br>PRO: Subtle/Undetectable <select name="attr_pro_subtleundetectable">
<option value="0" selected="selected">none</option><option value="2">subtle (+2)</option><option value="6">undetectable (+6)</option>
</select>
<br><input type="checkbox" name="attr_con_sustained" value="-2" title="-2 hero points"/>
CON: Sustained (-2)
<br>CON: Touch <select name="attr_con_touch">
<option value="0" selected="selected">none</option><option value="-2">close range (-2)</option><option value="-4">distant range (-4)</option>
</select>
<br><input type="checkbox" name="attr_con_toxin" value="-2" title="-2 hero points"/>
CON: Toxin (-2)
<br><input type="checkbox" name="attr_pro_trap" value="2" title="2 hero points"/>
PRO: Trap (+2)
<br><input type="checkbox" name="attr_con_twohanded" value="-1" title="-1 hero point"/>
CON: Two-Handed (-1)
<br><input type="checkbox" name="attr_con_uncontrolled" value="-2" title="-2 hero points"/>
CON: Uncontrolled (-2)
<br><input type="checkbox" name="attr_con_unreliable" value="-2" title="-2 hero points"/>
CON: Unreliable (-2)
<br><input type="checkbox" name="attr_con_weak" value="-1" title="-1 hero points per rank"/>
CON: Weak (-1 per rank)
</div>
<button type="action" name="act_shift" style='width:80%;' title="Shift this trait to the right">Move this power to the right column <span style="font-family: Pictos;">7</span></button>
</div>
</div>
</div>
<!--End Left Super Trait Column-->
</fieldset>
</div>
<div class='sheet-col'>
<fieldset class="repeating_supertraitsother">
<!--Right Super Trait Column-->
<div class='sheet-row' style='padding: 1px;'>
<input type="checkbox" checked class="sheet-toggle sheet-left" title="show/hide" name="attr_supertrait-show" value="1"/>
<input type='text' name='attr_supertrait_other' placeholder='Custom Superpower Name' style='width:280px;' />
<input type='number' class='sheet-skills' name='attr_traitrank' style='width: 25px; text-align: right;' value='2'>
d
<button class='sheet-d6' type='roll' name='roll_supertrait' style='margin-left: 0px;' value='&{template:default} {{name=@{character_name}}} {{@{supertrait_other}=[[@{traitrank} + ?{extra dice|0} + (?{extra dice|0} + @{traitrank})d6>6f<3]] Success(es)!}} {{notes=@{traitnotes_other}}}' />
<textarea class='sheet-hide' name='attr_traitnotes_other' style='height: 20px; width: 93%;' placeholder='Note that will accompany rolls'></textarea>
<textarea class='sheet-hide' name='attr_extratraitnotes_other' style='height: 20px; width: 93%;' placeholder='Notes that will NOT accompany rolls'></textarea>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<select name="attr_power" style='width:240px'>
<option value="none" selected="selected">none/custom</option><option value="adaption">adaption</option><option value="alternateform">alternate form</option><option value="animalcontrol">animal control</option><option value="animalempathy">animal empathy</option><option value="animalmimicry">animal mimicry</option><option value="animation">animation</option><option value="armor">armor</option><option value="astralprojection">astral projection</option>
<option value="attuned">attuned</option><option value="aura">aura</option><option value="banish">banish</option><option value="blast">blast</option><option value="blending">blending</option><option value="blind">blind</option><option value="blindfighting">blind fighting</option><option value="blink">blink</option>
<option value="boost">boost</option><option value="buff">buff</option><option value="clairvoyance">clairvoyance</option><option value="cloudminds">cloud minds</option><option value="communications">communications</option><option value="constructs">constructs</option><option value="dangersense">danger sense</option><option value="darkness">darkness</option><option value="dazzle">dazzle</option><option value="deflection">deflection</option>
<option value="density">density</option><option value="detection">detection</option><option value="determination">determination</option><option value="dimensionaltravel">dimensional travel</option><option value="dispel">dispel</option><option value="drain">drain</option><option value="duplication">duplication</option><option value="elementalcontrol">elemental control</option><option value="emotioncontrol">emotion control</option>
<option value="energyabsorption">energy absorption</option><option value="ensnare">ensnare</option><option value="evasion">evasion</option><option value="expertise">expertise</option><option value="extralimbs">extra limbs</option><option value="flight">flight</option><option value="forcefield">force field</option>
<option value="form">form</option><option value="gestalt">gestalt</option><option value="growth">growth</option><option value="hardtokill">hard to kill</option><option value="healing">healing</option><option value="hibernation">hibernation</option><option value="hyperbreath">hyper breath</option><option value="illusions">illusions</option>
<option value="immortality">immortality</option><option value="immunity">immunity</option><option value="inanimate">inanimate</option><option value="invisibility">invisibility</option><option value="irritant">irritant</option><option value="languages">languages</option><option value="leadership">leadership</option><option value="leaping">leaping</option><option value="lifedrain">life drain</option><option value="lighteffect">light/effect</option>
<option value="lightningreflexes">lightning reflexes</option><option value="luck">luck</option><option value="machinecontrol">machine control</option><option value="martialarts">martial arts</option><option value="masterofdisguise">master of disguise</option><option value="matterchameleon">matter chameleon</option><option value="mindblast">mind blast</option><option value="mindcontrol">mind control</option><option value="nullify">nullify</option>
<option value="omnipower">omni-power</option><option value="phasing">phasing</option><option value="plasticity">plasticity</option><option value="polymorph">polymorph</option><option value="portablestorehouse">portable storehouse</option><option value="possession">possession</option><option value="powerabsorption">power absorption</option><option value="powermimicry">power mimicry</option>
<option value="precognition">precognition</option><option value="preparation">preparation</option><option value="psiscreen">psi-screen</option><option value="psychometry">psychometry</option><option value="quickchange">quick change</option><option value="radar">radar</option><option value="regeneration">regeneration</option><option value="resistance">resistance</option><option value="running">running</option><option value="separation">separation</option>
<option value="shockwave">shockwave</option><option value="shrinking">shrinking</option><option value="slay">slay</option><option value="slick">slick</option><option value="speakwithdead">speak with dead</option><option value="specialty">specialty</option><option value="spinning">spinning</option><option value="stargate">star gate</option><option value="stretching">stretching</option>
<option value="strike">strike</option><option value="stun">stun</option><option value="summoning">summoning</option><option value="supersenses">super senses</option><option value="superspeed">super speed</option><option value="swimming">swimming</option><option value="swingline">swing line</option><option value="telekinesis">telekinesis</option><option value="telepathy">telepathy</option>
<option value="teleportation">teleportation</option><option value="timestop">time stop</option><option value="timetravel">time travel</option><option value="totalrecall">total recall</option><option value="tracer">tracer</option><option value="transformation">transformation</option><option value="transmutation">transmutation</option><option value="tunneling">tunneling</option><option value="twodimensional">two-dimensional</option>
<option value="twofisted">two-fisted</option><option value="vanish">vanish</option><option value="variant">variant</option><option value="ventriloquism">ventriloquism</option><option value="wallcrawling">wall-crawling</option><option value="weaknessdetection">weakness detection</option>
</select>
Power Cost:
<input type="hidden" name="attr_supertraitcosthidden" value="0">
<input type='number' class='sheet-skills' name='attr_supertraitcost' style='width: 25px; text-align: right;' value="@{supertraitcosthidden}" disabled="true" title="This value is autocalculated and is view-only. There is NO safeguard against making powers that cost zero or less. If a power costs less than zero then either add more ranks, more pros, or less cons. If you need to manually adjust a powers cost then just add the modification to the PRO/CON Total field.">
Cost/Rank:
<input type="hidden" name="attr_costperrankhidden" value="0" style='width: 25px; text-align: right;'>
<input type='number' class='sheet-skills' name='attr_costperrank' style='width: 25px; text-align: right;' value="@{costperrankhidden}" disabled="true" title="This value is autocalculated and is view-only.">
Ranks Purchased:
<input type="hidden" name="attr_supertraitranksboughthidden" value="0">
<input type='number' class='sheet-skills' name='attr_supertraitranksbought' style='width: 25px; text-align: right;' value="@{supertraitranksboughthidden}" disabled="true" title="This value is autocalculated and is view-only. This is the number of ranks purchased to bring the power up to the number of d6's indicated for the roll macro. This number should be POSSITIVE. If the value here is negative then the number of die indicated above is not high enough to overcome the baseline for this power (Default powers will only display a one) ">
PRO/CON Total:
<input type="hidden" name="attr_proconhidden" value="0">
<input type='number' class='sheet-skills' name='attr_procon' style='width: 25px; text-align: right; margin-bottom: 5px;' value='@{proconhidden}' disabled="true" title="This value is autocalculated and is view-only. Enter the total from all PROs and CONs not already marked for this power. Use the Ranks Purchased field to calculate the PRO/CON cost from PRO/CONs that have costs PER rank">
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="alternateform"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_alternateform_con_independent" value="-1" title="-1 hero point per rank"/>
CON: Independent Forms (-1 per rank)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="animalcontrol"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_animalcontrol_pro_calling" value="2" title="2 hero points"/>
PRO: Calling (+2)
<br><input type="checkbox" name="attr_animalcontrol_con_onlyxbroad" value="-2" title="-2 hero points"/>
CON: Only X (broad) (-2)
<br><input type="checkbox" name="attr_animalcontrol_con_onlyxnarrow" value="-4" title="-4 hero points"/>
CON: Only X (narrow) (-4)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="animalempathy"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_animalempathy_pro_speach" value="2" title="2 hero point per rank"/>
PRO: Speech (+2)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="animalmimicry"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_animalmimicry_pro_enhanced" value="4" title="4 hero points"/>
PRO: Enhanced (+4)
<br><input type="checkbox" name="attr_animalmimicry_pro_selection" value="4" title="4 hero points"/>
PRO: Selection (+4)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="armor"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_armor_con_activated" value="-1" title="-1 hero point"/>
CON: Activated (-1)
<br><input type="checkbox" name="attr_armor_con_reactive" value="-2" title="-2 hero points"/>
CON: Reactive (-2)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="aura"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_aura_con_spines" value="-2" title="-2 hero point"/>
CON: Spines (-2)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="blast"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_blast_pro_calling" value="2" title="2 hero points"/>
PRO: Block (+2)
<br><input type="checkbox" name="attr_blast_pro_melee" value="2" title="2 hero points"/>
PRO: Melee (+2)
<br><input type="checkbox" name="attr_blast_con_subdual" value="-1" title="-1 hero point"/>
CON: subdual (-1)
<br><input type="checkbox" name="attr_blast_con_weapons" value="-1" title="-1 hero point"/>
CON: weapons (-1)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="boost"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
Boosted Trait:
<select name="attr_boostedtrait" style='width:240px;'>
<option value="none" selected="selected">none</option><option value="academics">academics</option><option value="agility">agility</option><option value="charm">charm</option><option value="command">command</option><option value="covert">covert</option><option value="intellect">intellect</option><option value="investigation">investigation</option><option value="medicine">medicine</option><option value="might">might</option><option value="perception">perception</option><option value="professional">professional</option><option value="science">science</option><option value="streetwise">streetwise</option><option value="survival">survival</option><option value="technology">technology</option><option value="toughness">toughness</option><option value="vehicles">vehicles</option><option value="willpower">willpower</option>
<option value="animalcontrol">animal control</option><option value="animalmimicry">animal mimicry</option><option value="animation">animation</option><option value="armor">armor</option><option value="aura">aura</option><option value="banish">banish</option><option value="blast">blast</option><option value="blind">blind</option><option value="blink">blink</option><option value="cloudminds">cloud minds</option><option value="constructs">constructs</option><option value="dangersense">danger sense</option><option value="dazzle">dazzle</option><option value="deflection">deflection</option><option value="density">density</option><option value="detection">detection</option><option value="determination">determination</option><option value="dispel">dispel</option><option value="drain">drain</option><option value="elementalcontrol">elemental control</option><option value="emotioncontrol">emotion control</option><option value="energyabsorption">energy absorption</option><option value="ensnare">ensnare</option><option value="evasion">evasion</option><option value="expertise">expertise</option><option value="flight">flight</option><option value="forcefield">force field</option><option value="form">form</option><option value="growth">growth</option><option value="healing">healing</option><option value="hyperbreath">hyper breath</option><option value="illusions">illusions</option><option value="irritant">irritant</option><option value="leaping">leaping</option><option value="lifedrain">life drain</option><option value="luck">luck</option><option value="machinecontrol">machine control</option><option value="martialarts">martial arts</option><option value="matterchameleon">matter chameleon</option><option value="mindblast">mind blast</option><option value="mindcontrol">mind control</option><option value="nullify">nullify</option><option value="omnipower">omni-power</option><option value="plasticity">plasticity</option><option value="polymorph">polymorph</option><option value="possession">possession</option><option value="powerabsorption">power absorption</option><option value="powermimicry">power mimicry</option><option value="psiscreen">psi-screen</option><option value="resistance">resistance</option><option value="running">running</option><option value="shockwave">shockwave</option><option value="shrinking">shrinking</option><option value="slay">slay</option><option value="slick">slick</option><option value="speakwithdead">speak with dead</option><option value="spinning">spinning</option><option value="strike">strike</option><option value="stun">stun</option><option value="summoning">summoning</option><option value="supersenses">super senses</option><option value="superspeed">super speed</option><option value="swimming">swimming</option><option value="swingline">swing line</option><option value="telekinesis">telekinesis</option><option value="telepathy">telepathy</option><option value="teleportation">teleportation</option><option value="timestop">time stop</option><option value="transformation">transformation</option><option value="transmutation">transmutation</option><option value="tunneling">tunneling</option><option value="wallcrawling">wall-crawling</option>
</select>
<br><input type="checkbox" name="attr_boost_con_rage" value="-2" title="-2 hero point"/>
CON: Rage (-2)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="buff"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_buff_pro_greater" value="6" title="6 hero points"/>
PRO: Greater (+6)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="constructs"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_constructs_pro_devices" value="2" title="2 hero points per rank"/>
PRO: Devices (+2 per rank)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="dazzle"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_dazzle_con_deafen" value="-1" title="-1 hero point"/>
CON: Deafen (-1)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="deflection"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_deflection_con_onlyx" value="-4" title="-4 hero points"/>
CON: Only X (-4)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="detection"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_detection_pro_longrange" value="1" title="1 hero point"/>
PRO: Long Range (+1)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="dimensionaltravel"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_dimensionaltravel_pro_portal" value="2" title="2 hero points"/>
PRO: Portal (+2)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="dispel"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type='number' class='sheet-skills' name="attr_dispel_pro_alsox" value="0" style='width: 25px; text-align: right;' title="Number of ADDITIONAL sources. 1 hero point per 2 ranks">
PRO: Also X (Special)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="drain"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type='number' class='sheet-skills' name="attr_drain_pro_alsox" value="0" style='width: 25px; text-align: right;' title="Number of ADDITIONAL sources. 1 hero point per 2 ranks">
PRO: Also X (Special)
<br><input type="checkbox" name="attr_drain_con_onlyxbroad" value="-2" title="-2 hero points"/>
CON: Only X (One type of trait: Abilities, Talents, or Powers) (-2)
<br><input type="checkbox" name="attr_drain_con_onlyxnarrow" value="-4" title="-4 hero points"/>
CON: Only X (One specific Ability, Talent, or Power) (-4)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="elementalcontrol"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_elementalcontrol_pro_mattercreation" value="1" title="+1 hero point per rank"/>
PRO: Matter Creation (+1 per rank)
<br><input type="checkbox" name="attr_elementalcontrol_con_onlycontrol" value="-1" title="-1 hero point per rank"/>
CON: Only Control (-1 per rank)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="emotioncontrol"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_emotioncontrol_con_onlyx" value="-2" title="-2 hero points"/>
CON: Only X (-2)
<br><input type="checkbox" name="attr_emotioncontrol_con_pheomones" value="-2" title="-2 hero points"/>
CON: Pheromones (-2)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="energyabsorption"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_energyabsorptionkinetic" value="2" title="+2 hero points per rank"/>
PRO: Kinetic energy (+2 per rank)
<br><input type="checkbox" name="attr_energyabsorption_pro_alsox" value="2" title="+2 hero points"/>
PRO: Also X (+2)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="ensnare"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_ensnare_pro_line" value="2" title="+2 hero points"/>
PRO: Line (+2)
<br><input type="checkbox" name="attr_ensnare_con_immobilize" value="-2" title="-2 hero points"/>
CON: Immobilize (-2)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="expertise"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
Expertise Trait:
<select name="attr_expertisetrait" style='width:240px;'>
<option value="none" selected="selected">none</option><option value="academics">academics</option><option value="agility">agility</option><option value="charm">charm</option><option value="command">command</option><option value="covert">covert</option><option value="intellect">intellect</option><option value="investigation">investigation</option><option value="medicine">medicine</option><option value="might">might</option><option value="perception">perception</option><option value="professional">professional</option><option value="science">science</option><option value="streetwise">streetwise</option><option value="survival">survival</option><option value="technology">technology</option><option value="toughness">toughness</option><option value="vehicles">vehicles</option><option value="willpower">willpower</option>
</select>
<br><input type="checkbox" name="attr_expertise_combat_skill" value='TRUE' title="This skill is a combat skill. Non-combat expertises do not count against resolve."/>
Mark this if this is a combat skill
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="flight"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_flight_pro_spaceflight" value="2" title="+2 hero points"/>
PRO: Spaceflight (+2)
<br><input type="checkbox" name="attr_flight_con_gliding" value="-2" title="-2 hero points"/>
CON: Gliding (-2)
<br><input type="checkbox" name="attr_flight_con_levitation" value="-4" title="-4 hero points"/>
CON: Levitation (-4)
<br><input type="checkbox" name="attr_flight_con_slides" value="-2" title="-2 hero points"/>
CON: Slides (-2)
<br><input type="checkbox" name="attr_flight_con_wings" value="-2" title="-2 hero points"/>
CON: Wings (-2)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="forcefield"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_forcefield_pro_inviolate" value="1" title="+1 hero point per rank"/>
PRO: Inviolate (+1 per rank)
<br><input type="checkbox" name="attr_forcefield_pro_permeable" value="6" title="6 hero points"/>
PRO: Permeable (+6)
<br><input type="checkbox" name="attr_forcefield_con_collapsible" value="-2" title="-2 hero points"/>
CON: Collapsible (-2)
<br><input type="checkbox" name="attr_forcefield_con_ward" value="-1" title="-1 hero point"/>
CON: Ward (-1)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="form"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
Form type:
<select name="attr_formtype" style='width:240px;'>
<option value="energyform" selected="selected">energy form</option><option value="gaseousform">gaseous form</option><option value="liquidform">liquid form</option><option value="solidform">solid form</option>
</select>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_form_energyform-show" value="energyform"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_form_energyform_pro_alsox" value="2" title="2 hero points"/>
PRO: Also X (+2)
</div>
</div>
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="gestalt"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type='number' class='sheet-skills' name="attr_gestalt_alteregos" style='width: 25px; text-align: right;' value="2">
# of alter egos total (+3 per ego past 1)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="healing"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_healing_pro_repair" value="-2" title="-2 hero points"/>
CON: Repair (-2)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="hyperbreath"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_hyperbreath_pro_freezing" value="1" title="1 hero point per rank"/>
PRO: Freezing (+1 per rank)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="illusions"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_illusions_pro_mental" value="2" title="2 hero points per rank"/>
PRO: Mental (+2 per rank)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="immortality"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_immortality_con_vulnerable" value="-1" title="-1 hero point"/>
CON: Vulnerable (-1)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="inanimate"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_inanimate_pro_mindless" value="9" title="9 hero points"/>
PRO: Mindless (+9)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="invisibility"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_invisibility_pro_cloaking" value="3" title="3 hero points"/>
PRO: Cloaking (+3)
<br><input type="checkbox" name="attr_invisibility_pro_jamming" value="-3" title="-3 hero points"/>
CON: Jamming (-3)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="languages"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_languages_pro_hypertranslation" value="2" title="2 hero points"/>
PRO: Hyper Translation (+2)
<br><input type="checkbox" name="attr_languages_pro_polyglot" value="1" title="1 hero points"/>
PRO: Polyglot (+1)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="lifedrain"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_lifedrain_pro_vampirism" value="1" title="1 hero point"/>
PRO: Vampirism (+1)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="lightningreflexes"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_lightningreflexes_con_fightingmarksmanship" value="-1" title="-1 hero point"/>
CON: Fighting/Marksmanship (-1)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="luck"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_luck_pro_control" value="4" title="4 hero points"/>
PRO: Control (+4)
<br><input type="checkbox" name="attr_luck_pro_unbelievable" value="1" title="1 hero point per rank"/>
PRO: Unbelievable (+1 per rank)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="machinecontrol"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_machinecontrol_con_interface" value="-2" title="-2 hero points"/>
CON: Interface (-2)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="martialarts"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_martialarts_pro_deflect" value="4" title="4 hero points"/>
PRO: Deflect (+4)
<br><input type="checkbox" name="attr_martialarts_pro_deflectmissiles" value="2" title="2 hero points"/>
PRO: Deflect Missiles (+2)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="mindcontrol"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_mindcontrol_con_hypnosis" value="-2" title="2 hero points"/>
CON: Hypnosis (-2)
<br><input type="checkbox" name="attr_mindcontrol_con_pheromones" value="-2" title="-2 hero points"/>
CON: Pheromones (-2)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="nullify"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type='number' class='sheet-skills' name="attr_nullify_pro_alsox" value="0" style='width: 25px; text-align: right;' title="Number of ADDITIONAL sources. 1 hero point per rank">
PRO: Also X (Special)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="omnipower"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
Omni-power type:
<select name="attr_omnipowertype" style='width:240px;'>
<option value="3" selected="selected">narrow</option><option value="5">broad</option>
</select>
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="phasing"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_phasing_pro_intangible" value="3" title="3 hero points"/>
PRO: Intangible (+3)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="possession"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_possession_pro_meld" value="4" title="4 hero points"/>
PRO: Meld (+4)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="powerabsorption"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type='number' class='sheet-skills' name="attr_powerabsorption_pro_alsox" value="0" style='width: 25px; text-align: right;' title="Number of ADDITIONAL sources. 1 hero point per rank">
PRO: Also X (Special)
<br><input type="checkbox" name="attr_powerabsorption_con_onlyxbroad" value="-2" title="-2 hero points"/>
CON: Only X (One type of trait: Abilities, Talents, or Powers) (-2)
<br><input type="checkbox" name="attr_powerabsorption_con_onlyxnarrow" value="-4" title="-4 hero points"/>
CON: Only X (One specific Ability, Talent, or Power) (-4)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="powermimicry"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type='number' class='sheet-skills' name="attr_powermimicry_pro_alsox" value="0" style='width: 25px; text-align: right;' title="Number of ADDITIONAL sources. 1 hero point per rank">
PRO: Also X (Special)
<br><input type="checkbox" name="attr_powermimicry_con_onlyxbroad" value="-2" title="-2 hero points"/>
CON: Only X (One type of trait: Abilities, Talents, or Powers) (-2)
<br><input type="checkbox" name="attr_powermimicry_con_onlyxnarrow" value="-4" title="-4 hero points"/>
CON: Only X (One specific Ability, Talent, or Power) (-4)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="psiscreen"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_psiscreen_pro_cloakmind" value="2" title="2 hero points"/>
PRO: Cloak Mind (+2)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="quickchange"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_quickchange_con_costume" value="-1" title="1 hero point"/>
CON: Costume (-1)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="radar"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_radar_con_sonar" value="-1" title="-1 hero point"/>
CON: Sonar (-1)
<br><input type="checkbox" name="attr_radar_con_tremorsense" value="-1" title="-1 hero point"/>
CON: Tremor Sense (-1)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="regeneration"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_regeneration_pro_fast" value="6" title="6 hero points"/>
PRO: Fast (+6)
<br><input type="checkbox" name="attr_regeneration_pro_instant" value="18" title="18 hero points"/>
PRO: Instant (+18)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="running"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_running_pro_hover" value="2" title="2 hero points"/>
PRO: Hover (+2)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="stargate"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_stargate_pro_portal" value="2" title="2 hero points"/>
PRO: Portal (+2)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="stretching"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
Stretching Range:
<select name="attr_stretchingrange" style='width:240px;'>
<option value="close" selected="selected">close</option><option value="distant">distant</option><option value="extreme">extreme</option>
</select>
<br><input type="checkbox" name="attr_stretching_con_longreach" value="-1" title="-1 hero point"/>
CON: Long Reach (-1)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="strike"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_strike_pro_deflect" value="4" title="4 hero points"/>
PRO: Deflect (+4)
<br><input type="checkbox" name="attr_strike_pro_deflectmissiles" value="2" title="2 hero points"/>
PRO: Deflect Missiles (+2)
<br><input type="checkbox" name="attr_strike_pro_reachthrow" value="2" title="2 hero points"/>
PRO: Reach/Throw (+2)
<br><input type="checkbox" name="attr_strike_pro_sweep" value="4" title="4 hero points"/>
PRO: Sweep (+4)
<br><input type="checkbox" name="attr_strike_con_subdual" value="-1" title="-1 hero point"/>
CON: Subdual (-1)
<br><input type="checkbox" name="attr_strike_con_weapons" value="-1" title="-1 hero point"/>
CON: Weapons (-1)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="stun"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_stun_con_EMP" value="-2" title="-2 hero points"/>
CON: EMP (-2)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="summoning"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type='number' class='sheet-skills' name="attr_summoningthreat" style='width: 25px; text-align: right;'>
Summoning Threat
<br><input type="checkbox" name="attr_summoning_pro_animals_narrow" value="1" title="1 hero point per rank"/>
PRO: animals, narrow selection (+1 per rank)
<br><input type="checkbox" name="attr_summoning_pro_animals_wide" value="2" title="2 hero points per rank"/>
PRO: animals (wide variety) (+2 per rank)
<br><input type="checkbox" name="attr_summoning_pro_automatons" value="1" title="1 hero point per rank"/>
PRO: automatons (+1 per rank)
<br><input type="checkbox" name="attr_summoning_pro_duplicates" value="2" title="2 hero points per rank"/>
PRO: duplicates (+2 per rank)
<br><input type="checkbox" name="attr_summoning_pro_shooters" value="1" title="1 hero point per rank"/>
PRO: shooters (+1 per rank)
<br><input type="checkbox" name="attr_summoning_pro_unique_minor" value="1" title="1 hero point per rank"/>
PRO: unique (minor advantage) (+1 per rank)
<br><input type="checkbox" name="attr_summoning_pro_unique_moderate" value="2" title="2 hero points per rank"/>
PRO: unique (moderate advantage) (+2 per rank)
<br><input type="checkbox" name="attr_summoning_pro_unique_major" value="4" title="4 hero points per rank"/>
PRO: unique (major advantage) (+4 per rank)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="supersenses"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type='number' class='sheet-skills' name="attr_supersenses_acutex" style='width: 25px; text-align: right;' title="Raising this value raises the die value of this super senses power">
acute X
<br><input type="checkbox" name="attr_supersenses_analyticx" value="1" title="1 hero point"/>
analytic X (+1)
<br><input type="checkbox" name="attr_supersenses_astralsight" value="1" title="1 hero point"/>
astral sight (+1)
<br><input type="checkbox" name="attr_supersenses_circularvision" value="1" title="1 hero point"/>
circular vision (+1)
<br><input type="checkbox" name="attr_supersenses_enhancedhearing" value="1" title="1 hero point"/>
enhanced hearing (+1)
<br><input type="checkbox" name="attr_supersenses_hypersensitivetouch" value="1" title="1 hero point"/>
hypersensitive touch (+1)
<br><input type="checkbox" name="attr_supersenses_liedetection" value="3" title="3 hero points"/>
lie detection (+3)
<br><input type="checkbox" name="attr_supersenses_microscopicvision" value="1" title="1 hero point"/>
microscopic vision (+1)
<br><input type="checkbox" name="attr_supersenses_nightvision" value="3" title="3 hero points"/>
night vision (+3)
<br><input type="checkbox" name="attr_supersenses_radiohearing" value="1" title="1 hero point"/>
radio hearing (+1)
<br><input type="checkbox" name="attr_supersenses_telescopicvision" value="1" title="1 hero point"/>
telescopic vision (+1)
<br><input type="checkbox" name="attr_supersenses_thermalvision" value="2" title="2 hero points"/>
thermal vision (+2)
<br><input type="checkbox" name="attr_supersenses_trackingscent" value="1" title="1 hero point"/>
tracking scent (+1)
<br><input type="checkbox" name="attr_supersenses_truesight" value="6" title="6 hero points"/>
true sight (+6)
<br><input type="checkbox" name="attr_supersenses_ultravision" value="2" title="2 hero points"/>
ultra vision (+2)
<br><input type="checkbox" name="attr_supersenses_xrayvision" value="6" title="6 hero points"/>
x-ray vision (+6)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="swimming"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_swimming_con_lungs" value="-1" title="-1 hero point"/>
CON: Lungs (-1)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="swingline"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_swingline_con_natural" value="-2" title="-2 hero points"/>
CON: Natural (-2)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="telekinesis"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_telekinesis_con_impel" value="-4" title="-4 hero points"/>
CON: Impel (-4)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="telepathy"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_telepathy_pro_altermemories" value="6" title="6 hero points"/>
PRO: Alter Memories (+6)
<br><input type="checkbox" name="attr_telepathy_pro_cloakothers" value="2" title="2 hero points"/>
PRO: Cloak Others (+2)
<br><input type="checkbox" name="attr_telepathy_pro_dreamtravel" value="2" title="2 hero points"/>
PRO: Dream Travel (+2)
<br><input type="checkbox" name="attr_telepathy_pro_mindlink" value="2" title="2 hero points"/>
PRO: Mind Link (+2)
<br><input type="checkbox" name="attr_telepathy_pro_empathy" value="-2" title="-2 hero points"/>
CON: Empathy (-2)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="teleportation"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_teleportation_pro_portal" value="2" title="2 hero points"/>
PRO: Portal (+2)
<br><input type="checkbox" name="attr_teleportation_con_medium" value="-2" title="-2 hero point"/>
CON: Medium (-2)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="timetravel"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_timetravel_pro_portal" value="2" title="2 hero points"/>
PRO: Portal (+2)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="totalrecall"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_totalrecall_pro_playback" value="1" title="1 hero point"/>
PRO: Playback (+1)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="tracer"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_tracer_pro_tracking" value="3" title="3 hero points"/>
PRO: Tracking (+3)
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="transformation"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
Transformation type:
<select name="attr_transformationtype" style='width:240px;'>
<option value="animalforms" selected="selected">animal forms</option><option value="doppelganger">doppelganger</option><option value="objectforms">object forms</option><option value="shapeshifting">shapeshifting</option>
</select>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_transformation-show" value="animalforms"/>
<div class='sheet-hide'>
<br><input type="checkbox" name="attr_transformation_pro_enhanced" value="4" title="4 hero points"/>
PRO: Enhanced (+4)
<br><input type="checkbox" name="attr_transformation_con_onlyxbroad" value="-2" title="-2 hero points"/>
CON: Only X (category, group, or type) (-2)
<br><input type="checkbox" name="attr_transformation_con_onlyxnarrow" value="-4" title="-4 hero points"/>
CON: Only X (single or extremely limited group) (-4)
</div>
</div>
</div>
<div>
<input type="checkbox" hidden class="sheet-toggle sheet-left" name="attr_procon-show" value="twofisted"/>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_twofisted_con_fightingmarksmanship" value="-1" title="-1 hero point"/>
CON: Fighting/Marksmanship (-1)
</div>
</div>
<div>
<input type="checkbox" class="sheet-toggle sheet-left" name="attr_genericprocons-show" value="1"/>
<b>Show Generic Pro and Cons</b>
<div class='sheet-col sheet-hide' style='width: 100%;'>
Other/Custom PRO/CON <input type='number' class='sheet-skills' name='attr_procontotal' style='width: 25px; text-align: right; margin-bottom: 5px;' value='0' title="Enter the total from all PROs and CONs not already marked for this power. Use the Ranks Purchased field to calculate the PRO/CON cost from PRO/CONs that have costs PER rank">
<br>PRO: Affect Inanimate (+1 per source) <input type="number" class='sheet-skills' name="attr_pro_affectinanimate" style='width: 25px; text-align: right; margin-bottom: 5px;' value='0' title="1 hero point per type"/>
<br>PRO: Area of Effect <select name="attr_pro_areaofeffect">
<option value="none" selected="selected">none</option><option value="burst">Burst (ranged power) (+1)</option><option value="area">Area (ranged power) (+2)</option><option value="novaranged">Nova (ranged power) (+1)</option><option value="novatouch">Nova (touch power) (+2)</option><option value="zoneranged">Zone (ranged power) (+2)</option><option value="zonetouch">Zone (touch power) (+4)</option>
</select>
<br><input type="checkbox" name="attr_pro_armorpiercing" value="2" title="2 hero points"/>
PRO: Armor Piercing (+2)
<br><input type="checkbox" name="attr_con_buildup" value="-2" title="-2 hero points"/>
CON: Build-Up (-2)
<br><input type="checkbox" name="attr_con_burnout" value="-4" title="-4 hero points"/>
CON: Burnout (-4)
<br><input type="checkbox" name="attr_pro_carrierattack" value="6" title="6 hero points"/>
PRO: Carrier Attack (+6)
<br>CON: Charges <select name="attr_con_charges">
<option value="0" selected="selected">none</option><option value="-1">6 times per scene (-1)</option><option value="-2">3 times per scene (-2)</option><option value="-4">1 time per scene (-4)</option>
</select>
<br><input type="checkbox" name="attr_pro_close" value="2" title="2 hero points"/>
PRO: Close (touch power) (+2)
<br><input type="checkbox" name="attr_con_close" value="-2" title="-2 hero points"/>
CON: Close (ranged power) (-2)
<br><input type="checkbox" name="attr_con_concentration" value="-4" title="-4 hero points"/>
CON: Concentration (-4)
<br>CON: Conditional <select name="attr_con_conditional">
<option value="0" selected="selected">none</option><option value="-1">works often (-1)</option><option value="-2">occasionally works (-2)</option><option value="-4">rarely works (-4)</option>
</select>
<br><input type="checkbox" name="attr_con_constant" value="-2" title="-2 hero points"/>
CON: Constant (-2)
<br><input type="checkbox" name="attr_pro_contagious" value="4" title="4 hero points"/>
PRO: Contagious (+4)
<br><input type="checkbox" name="attr_con_costly" value="-4" title="-4 hero points"/>
CON: Costly (-4)
<br><input type="checkbox" name="attr_con_degrades" value="-2" title="-2 hero points"/>
CON: Degrades (-2)
<br><input type="checkbox" name="attr_con_delay" value="-4" title="-4 hero points"/>
CON: Delay (-4)
<br><input type="checkbox" name="attr_con_exclusive" value="-1" title="-1 hero point"/>
CON: Exclusive (-1)
<br>PRO: Expansive <select name="attr_pro_expansive">
<option value="0" selected="selected">none</option><option value="6">close range (+6)</option><option value="12">distant range (+12)</option><option value="18">extreme range (+18)</option>
</select>
<br><input type="checkbox" name="attr_pro_fuse" value="2" title="2 hero points"/>
PRO: Fuse (+2)
<br>CON: Harmful <select name="attr_con_harmful">
<option value="0" selected="selected">none</option><option value="-1">1 damage per use (-1)</option><option value="-2">1-3 damage per use (-2)</option><option value="-4">1-6 damage per use (-4)</option>
</select>
<br><input type="checkbox" name="attr_pro_imbue" value="4" title="4 hero points"/>
PRO: Imbue (+4)
<br><input type="checkbox" name="attr_pro_independent" value="6" title="6 hero points"/>
PRO: Independent (+6)
<br><input type="checkbox" name="attr_con_item" value="-1" title="-1 hero point"/>
CON: Item (-1)
<br>CON: Limited <select name="attr_con_limited">
<option value="0" selected="selected">none</option><option value="-1">somewhat limited (-1)</option><option value="-2">significantly limited (-2)</option><option value="-4">severely limited (-4)</option>
</select>
<br>PRO: Line of Sight <select name="attr_pro_lineofsight">
<option value="0" selected="selected">none</option><option value="2">distant range (+2)</option><option value="4">close range (+4)</option><option value="6">touch (+6)</option>
</select>
<br><input type="checkbox" name="attr_pro_ongoing" value="6" title="6 hero points"/>
PRO: Ongoing (+6)
<br>CON: Only Inanimate <select name="attr_con_onlyinanimate">
<option value="0" selected="selected">none</option><option value="-1">any power (-1)</option><option value="-2">2 sources (-2)</option><option value="-4">1 source (-4)</option>
</select>
<br><input type="checkbox" name="attr_con_overkill" value="-1" title="-1 hero points per rank"/>
CON: Overkill (-1 per rank)
<br><input type="checkbox" name="attr_pro_overload" value="2" title="2 hero points"/>
PRO: Overload (+2)
<br><input type="checkbox" name="attr_pro_penetrating" value="4" title="4 hero points"/>
PRO: Penetrating (+4)
<br><input type="checkbox" name="attr_pro_phaseshift" value="4" title="4 hero points"/>
PRO: Phase Shift (+4)
<br>PRO: Ranged <select name="attr_pro_ranged">
<option value="0" selected="selected">none</option><option value="2">close range (+2)</option><option value="4">touch (+4)</option>
</select>
<br><input type="checkbox" name="attr_con_readied" value="-2" title="-2 hero points"/>
CON: Readied (-2)
<br><input type="checkbox" name="attr_con_recharge" value="-4" title="-4 hero points"/>
CON: Recharge (-4)
<br><input type="checkbox" name="attr_pro_resisted" value="6" title="6 hero points"/>
PRO: Resisted (+6)
<br><input type="checkbox" name="attr_pro_richochet" value="2" title="2 hero points"/>
PRO: Ricochet (+2)
<br><input type="checkbox" name="attr_pro_selective" value="4" title="4 hero points"/>
PRO: Selective (+4)
<br>CON: Shutdown <select name="attr_con_shutdown">
<option value="0" selected="selected">none</option><option value="-1">works often (-1)</option><option value="-2">occasionally works (-2)</option><option value="-4">rarely works (-4)</option>
</select>
<br>CON: Side Effect <select name="attr_con_sideeffect">
<option value="0" selected="selected">none</option><option value="-1">annoying/inconvenient (-1)</option><option value="-2">detrimental/harmful (-2)</option><option value="-4">catastrophic/debilitating (-4)</option>
</select>
<br><input type="checkbox" name="attr_con_signature" value="-1" title="-1 hero point"/>
CON: Signature (-1)
<br>PRO: Subtle/Undetectable <select name="attr_pro_subtleundetectable">
<option value="0" selected="selected">none</option><option value="2">subtle (+2)</option><option value="6">undetectable (+6)</option>
</select>
<br><input type="checkbox" name="attr_con_sustained" value="-2" title="-2 hero points"/>
CON: Sustained (-2)
<br>CON: Touch <select name="attr_con_touch">
<option value="0" selected="selected">none</option><option value="-2">close range (-2)</option><option value="-4">distant range (-4)</option>
</select>
<br><input type="checkbox" name="attr_con_toxin" value="-2" title="-2 hero points"/>
CON: Toxin (-2)
<br><input type="checkbox" name="attr_pro_trap" value="2" title="2 hero points"/>
PRO: Trap (+2)
<br><input type="checkbox" name="attr_con_twohanded" value="-1" title="-1 hero point"/>
CON: Two-Handed (-1)
<br><input type="checkbox" name="attr_con_uncontrolled" value="-2" title="-2 hero points"/>
CON: Uncontrolled (-2)
<br><input type="checkbox" name="attr_con_unreliable" value="-2" title="-2 hero points"/>
CON: Unreliable (-2)
<br><input type="checkbox" name="attr_con_weak" value="-1" title="-1 hero points per rank"/>
CON: Weak (-1 per rank)
</div>
<button type="action" name="act_shift" style='width:80%;' title="Shift this trait to the left"> <span style="font-family: Pictos;">8</span> Move this power to the left column</button>
</div>
</div>
</div>
<!--End Right Super Trait Column-->
</fieldset>
</div>
</div>
</div>
<!-- GEAR / EQUIPMENT -->
<input type='checkbox' class='sheet-hideitems' name='attr_hideitems' value='1' style='display: none;' />
<div class='sheet-block sheet-showitems'>
<h3 style='text-align: center; font-family: "Contrail One"; font-size: 125%;'>GEAR / EQUIPMENT</h3>
<div class='sheet-2colrow'>
<div class='sheet-col'>
<fieldset class="repeating_items">
<!-- Left Col GEAR / EQUIPMENT -->
<div class='sheet-row' style='padding: 1px;'>
<input type="checkbox" checked class="sheet-toggle sheet-left" title="show/hide" name="attr_item-show" />
<input type='text' name='attr_itemname' placeholder='Custom Item Name' style='width:280px;' />
<input type='number' class='sheet-skills' name='attr_itemrank' style='width: 25px; text-align: right;' value='2'>
d
<button class='sheet-d6' type='roll' name='roll_item' style='margin-left: 0px;' value='&{template:default} {{name=@{character_name}}} {{@{itemname}=[[@{itemrank} + ?{extra dice|0} + (?{extra dice|0} + @{itemrank})d6>6f<3]] Success(es)!}} {{notes=@{itemnotes}}}' />
<textarea class='sheet-hide' name='attr_itemnotes' style='height: 20px; width: 93%;' placeholder='item notes that will accompany rolls'></textarea>
<textarea class='sheet-hide' name='attr_extraitemnotes' style='height: 20px; width: 93%;' placeholder='item notes that will NOT accompany rolls'></textarea>
<div class='sheet-col sheet-hide' style='width: 100%;'>
PRO/CON/Feature Total:
<input type="hidden" name="attr_proconhidden" value="0">
<input type='number' class='sheet-skills' name='attr_procon' style='width: 25px; text-align: right; margin-bottom: 5px;' value='@{proconhidden}' disabled="true" title="This value is autocalculated and is view-only. Enter the total from all PROs and CONs not already marked for this power. Use the Ranks Purchased field to calculate the PRO/CON cost from PRO/CONs that have costs PER rank">
<br><input type="checkbox" class="sheet-toggle sheet-left" name="attr_customfeatures-show" value="1"/>
<b>Show Custom Features</b>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_accurate" value="1" title="1 hero point"/>
Accurate (+1)
<br><input type="checkbox" name="attr_veryaccurate" value="2" title="2 hero points"/>
Very Accurate (+2)
<br><input type="checkbox" name="attr_bonded" value="1" title="1 hero point"/>
Bonded (+1)
<br><input type="checkbox" name="attr_collapsible" value="1" title="1 hero point"/>
Collapsible (+1)
<br><input type="checkbox" name="attr_concealed" value="1" title="1 hero point"/>
Concealed (+1)
<br><input type="checkbox" name="attr_deflecting" value="2" title="2 hero points"/>
Deflecting (+2)
<br><input type="checkbox" name="attr_fitted" value="2" title="2 hero points"/>
Fitted (+2)
<br><input type="checkbox" name="attr_hardened" value="2" title="2 hero points"/>
Hardened (+2)
<br><input type="checkbox" name="attr_masterpiece" value="2" title="2 hero points"/>
Masterpiece (+2)
<br><input type="checkbox" name="attr_powerful" value="1" title="1 hero point"/>
Powerful (+1)
<br><input type="checkbox" name="attr_verypowerful" value="2" title="2 hero points"/>
Very Powerful (+2)
<br><input type="checkbox" name="attr_reinforced" value="2" title="2 hero points"/>
Reinforced (+2)
<br><input type="checkbox" name="attr_silenced" value="1" title="1 hero point"/>
Silenced (+1)
<br><input type="checkbox" name="attr_upgraded" value="2" title="2 hero points"/>
Upgraded (+2)
</div>
<div>
<input type="checkbox" class="sheet-toggle sheet-left" name="attr_genericprocons-show" value="1"/>
<b>Show Generic Pro and Cons</b>
<div class='sheet-col sheet-hide' style='width: 100%;'>
Other/Custom PRO/CON <input type='number' class='sheet-skills' name='attr_proconother' style='width: 25px; text-align: right; margin-bottom: 5px;' value='0' title="Enter the total from all PROs and CONs not already marked for this power. Use the Ranks Purchased field to calculate the PRO/CON cost from PRO/CONs that have costs PER rank">
<br><input type="checkbox" name="attr_pro_affectinanimate" value="1" title="1 hero point"/>
PRO: Affect Inanimate (+1)
<br>PRO: Area of Effect <select name="attr_pro_areaofeffect">
<option value="none" selected="selected">none</option><option value="burst">Burst (ranged power) (+1)</option><option value="area">Area (ranged power) (+2)</option><option value="novaranged">Nova (ranged power) (+1)</option><option value="novatouch">Nova (touch power) (+2)</option><option value="zoneranged">Zone (ranged power) (+2)</option><option value="zonetouch">Zone (touch power) (+4)</option>
</select>
<br><input type="checkbox" name="attr_pro_armorpiercing" value="2" title="2 hero points"/>
PRO: Armor Piercing (+2)
<br><input type="checkbox" name="attr_con_buildup" value="-2" title="-2 hero points"/>
CON: Build-Up (-2)
<br><input type="checkbox" name="attr_con_burnout" value="-4" title="-4 hero points"/>
CON: Burnout (-4)
<br><input type="checkbox" name="attr_pro_carrierattack" value="6" title="6 hero points"/>
PRO: Carrier Attack (+6)
<br>CON: Charges <select name="attr_con_charges">
<option value="0" selected="selected">none</option><option value="-1">6 times per scene (-1)</option><option value="-2">3 times per scene (-2)</option><option value="-4">1 time per scene (-4)</option>
</select>
<br><input type="checkbox" name="attr_pro_close" value="2" title="2 hero points"/>
PRO: Close (touch power) (+2)
<br><input type="checkbox" name="attr_con_close" value="-2" title="-2 hero points"/>
CON: Close (ranged power) (-2)
<br><input type="checkbox" name="attr_con_concentration" value="-4" title="-4 hero points"/>
CON: Concentration (-4)
<br>CON: Conditional <select name="attr_con_conditional">
<option value="0" selected="selected">none</option><option value="-1">works often (-1)</option><option value="-2">occasionally works (-2)</option><option value="-4">rarely works (-4)</option>
</select>
<br><input type="checkbox" name="attr_con_constant" value="-2" title="-2 hero points"/>
CON: Constant (-2)
<br><input type="checkbox" name="attr_pro_contagious" value="4" title="4 hero points"/>
PRO: Contagious (+4)
<br><input type="checkbox" name="attr_con_costly" value="-4" title="-4 hero points"/>
CON: Costly (-4)
<br><input type="checkbox" name="attr_con_degrades" value="-2" title="-2 hero points"/>
CON: Degrades (-2)
<br><input type="checkbox" name="attr_con_delay" value="-4" title="-4 hero points"/>
CON: Delay (-4)
<br><input type="checkbox" name="attr_con_exclusive" value="-1" title="-1 hero point"/>
CON: Exclusive (-1)
<br>PRO: Expansive <select name="attr_pro_expansive">
<option value="0" selected="selected">none</option><option value="6">close range (+6)</option><option value="12">distant range (+12)</option><option value="18">extreme range (+18)</option>
</select>
<br><input type="checkbox" name="attr_pro_fuse" value="2" title="2 hero points"/>
PRO: Fuse (+2)
<br>CON: Harmful <select name="attr_con_harmful">
<option value="0" selected="selected">none</option><option value="-1">1 damage per use (-1)</option><option value="-2">1-3 damage per use (-2)</option><option value="-4">1-6 damage per use (-4)</option>
</select>
<br><input type="checkbox" name="attr_pro_imbue" value="4" title="4 hero points"/>
PRO: Imbue (+4)
<br><input type="checkbox" name="attr_pro_independent" value="6" title="6 hero points"/>
PRO: Independent (+6)
<br><input type="checkbox" checked name="attr_con_item" value="0" title="0 hero point"/>
CON: Item (Does not effect item cost)
<br>CON: Limited <select name="attr_con_limited">
<option value="0" selected="selected">none</option><option value="-1">somewhat limited (-1)</option><option value="-2">significantly limited (-2)</option><option value="-4">severely limited (-4)</option>
</select>
<br>PRO: Line of Sight <select name="attr_pro_lineofsight">
<option value="0" selected="selected">none</option><option value="2">distant range (+2)</option><option value="4">close range (+4)</option><option value="6">touch (+6)</option>
</select>
<br><input type="checkbox" name="attr_pro_ongoing" value="6" title="6 hero points"/>
PRO: Ongoing (+6)
<br>CON: Only Inanimate <select name="attr_con_onlyinanimate">
<option value="0" selected="selected">none</option><option value="-1">any power (-1)</option><option value="-2">2 sources (-2)</option><option value="-4">1 source (-4)</option>
</select>
<br><input type="checkbox" name="attr_pro_overload" value="2" title="2 hero points"/>
PRO: Overload (+2)
<br><input type="checkbox" name="attr_pro_penetrating" value="4" title="4 hero points"/>
PRO: Penetrating (+4)
<br><input type="checkbox" name="attr_pro_phaseshift" value="4" title="4 hero points"/>
PRO: Phase Shift (+4)
<br>PRO: Ranged <select name="attr_pro_ranged">
<option value="0" selected="selected">none</option><option value="2">close range (+2)</option><option value="4">touch (+4)</option>
</select>
<br><input type="checkbox" name="attr_con_readied" value="-2" title="-2 hero points"/>
CON: Readied (-2)
<br><input type="checkbox" name="attr_con_recharge" value="-4" title="-4 hero points"/>
CON: Recharge (-4)
<br><input type="checkbox" name="attr_pro_resisted" value="6" title="6 hero points"/>
PRO: Resisted (+6)
<br><input type="checkbox" name="attr_pro_richochet" value="2" title="2 hero points"/>
PRO: Ricochet (+2)
<br><input type="checkbox" name="attr_pro_selective" value="4" title="4 hero points"/>
PRO: Selective (+4)
<br>CON: Shutdown <select name="attr_con_shutdown">
<option value="0" selected="selected">none</option><option value="-1">works often (-1)</option><option value="-2">occasionally works (-2)</option><option value="-4">rarely works (-4)</option>
</select>
<br>CON: Side Effect <select name="attr_con_sideeffect">
<option value="0" selected="selected">none</option><option value="-1">annoying/inconvenient (-1)</option><option value="-2">detrimental/harmful (-2)</option><option value="-4">catastrophic/debilitating (-4)</option>
</select>
<br><input type="checkbox" name="attr_con_signature" value="-1" title="-1 hero point"/>
CON: Signature (-1)
<br>PRO: Subtle/Undetectable <select name="attr_pro_subtleundetectable">
<option value="0" selected="selected">none</option><option value="2">subtle (+2)</option><option value="6">undetectable (+6)</option>
</select>
<br><input type="checkbox" name="attr_con_sustained" value="-2" title="-2 hero points"/>
CON: Sustained (-2)
<br>CON: Touch <select name="attr_con_touch">
<option value="0" selected="selected">none</option><option value="-2">close range (-2)</option><option value="-4">distant range (-4)</option>
</select>
<br><input type="checkbox" name="attr_con_toxin" value="-2" title="-2 hero points"/>
CON: Toxin (-2)
<br><input type="checkbox" name="attr_pro_trap" value="2" title="2 hero points"/>
PRO: Trap (+2)
<br><input type="checkbox" name="attr_con_twohanded" value="-1" title="-1 hero point"/>
CON: Two-Handed (-1)
<br><input type="checkbox" name="attr_con_uncontrolled" value="-2" title="-2 hero points"/>
CON: Uncontrolled (-2)
<br><input type="checkbox" name="attr_con_unreliable" value="-2" title="-2 hero points"/>
CON: Unreliable (-2)
</div>
<button type="action" name="act_shift" style='width:80%;' title="Shift this trait to the right">Move this item to the right column <span style="font-family: Pictos;">7</span></button>
</div>
</div>
</div>
<!-- End Left Col GEAR / EQUIPMENT -->
</fieldset>
</div>
<div class='sheet-col'>
<fieldset class="repeating_itemsother">
<!-- Right Col GEAR / EQUIPMENT -->
<div class='sheet-row' style='padding: 1px;'>
<input type="checkbox" checked class="sheet-toggle sheet-left" title="show/hide" name="attr_item-show" />
<input type='text' name='attr_itemname' placeholder='Custom Item Name' style='width:280px;' />
<input type='number' class='sheet-skills' name='attr_itemrank' style='width: 25px; text-align: right;' value='2'>
d
<button class='sheet-d6' type='roll' name='roll_item' style='margin-left: 0px;' value='&{template:default} {{name=@{character_name}}} {{@{itemname}=[[@{itemrank} + ?{extra dice|0} + (?{extra dice|0} + @{itemrank})d6>6f<3]] Success(es)!}} {{notes=@{itemnotes}}}' />
<textarea class='sheet-hide' name='attr_itemnotes' style='height: 20px; width: 93%;' placeholder='item notes that will accompany rolls'></textarea>
<textarea class='sheet-hide' name='attr_extraitemnotes' style='height: 20px; width: 93%;' placeholder='item notes that will NOT accompany rolls'></textarea>
<div class='sheet-col sheet-hide' style='width: 100%;'>
PRO/CON/Feature Total:
<input type="hidden" name="attr_proconhidden" value="0">
<input type='number' class='sheet-skills' name='attr_procon' style='width: 25px; text-align: right; margin-bottom: 5px;' value='@{proconhidden}' disabled="true" title="This value is autocalculated and is view-only. Enter the total from all PROs and CONs not already marked for this power. Use the Ranks Purchased field to calculate the PRO/CON cost from PRO/CONs that have costs PER rank">
<br><input type="checkbox" class="sheet-toggle sheet-left" name="attr_customfeatures-show" value="1"/>
<b>Show Custom Features</b>
<div class='sheet-col sheet-hide' style='width: 100%;'>
<input type="checkbox" name="attr_accurate" value="1" title="1 hero point"/>
Accurate (+1)
<br><input type="checkbox" name="attr_veryaccurate" value="2" title="2 hero points"/>
Very Accurate (+2)
<br><input type="checkbox" name="attr_bonded" value="1" title="1 hero point"/>
Bonded (+1)
<br><input type="checkbox" name="attr_collapsible" value="1" title="1 hero point"/>
Collapsible (+1)
<br><input type="checkbox" name="attr_concealed" value="1" title="1 hero point"/>
Concealed (+1)
<br><input type="checkbox" name="attr_deflecting" value="2" title="2 hero points"/>
Deflecting (+2)
<br><input type="checkbox" name="attr_fitted" value="2" title="2 hero points"/>
Fitted (+2)
<br><input type="checkbox" name="attr_hardened" value="2" title="2 hero points"/>
Hardened (+2)
<br><input type="checkbox" name="attr_masterpiece" value="2" title="2 hero points"/>
Masterpiece (+2)
<br><input type="checkbox" name="attr_powerful" value="1" title="1 hero point"/>
Powerful (+1)
<br><input type="checkbox" name="attr_verypowerful" value="2" title="2 hero points"/>
Very Powerful (+2)
<br><input type="checkbox" name="attr_reinforced" value="2" title="2 hero points"/>
Reinforced (+2)
<br><input type="checkbox" name="attr_silenced" value="1" title="1 hero point"/>
Silenced (+1)
<br><input type="checkbox" name="attr_upgraded" value="2" title="2 hero points"/>
Upgraded (+2)
</div>
<div>
<input type="checkbox" class="sheet-toggle sheet-left" name="attr_genericprocons-show" value="1"/>
<b>Show Generic Pro and Cons</b>
<div class='sheet-col sheet-hide' style='width: 100%;'>
Other/Custom PRO/CON <input type='number' class='sheet-skills' name='attr_proconother' style='width: 25px; text-align: right; margin-bottom: 5px;' value='0' title="Enter the total from all PROs and CONs not already marked for this power. Use the Ranks Purchased field to calculate the PRO/CON cost from PRO/CONs that have costs PER rank">
<br><input type="checkbox" name="attr_pro_affectinanimate" value="1" title="1 hero point"/>
PRO: Affect Inanimate (+1)
<br>PRO: Area of Effect <select name="attr_pro_areaofeffect">
<option value="none" selected="selected">none</option><option value="burst">Burst (ranged power) (+1)</option><option value="area">Area (ranged power) (+2)</option><option value="novaranged">Nova (ranged power) (+1)</option><option value="novatouch">Nova (touch power) (+2)</option><option value="zoneranged">Zone (ranged power) (+2)</option><option value="zonetouch">Zone (touch power) (+4)</option>
</select>
<br><input type="checkbox" name="attr_pro_armorpiercing" value="2" title="2 hero points"/>
PRO: Armor Piercing (+2)
<br><input type="checkbox" name="attr_con_buildup" value="-2" title="-2 hero points"/>
CON: Build-Up (-2)
<br><input type="checkbox" name="attr_con_burnout" value="-4" title="-4 hero points"/>
CON: Burnout (-4)
<br><input type="checkbox" name="attr_pro_carrierattack" value="6" title="6 hero points"/>
PRO: Carrier Attack (+6)
<br>CON: Charges <select name="attr_con_charges">
<option value="0" selected="selected">none</option><option value="-1">6 times per scene (-1)</option><option value="-2">3 times per scene (-2)</option><option value="-4">1 time per scene (-4)</option>
</select>
<br><input type="checkbox" name="attr_pro_close" value="2" title="2 hero points"/>
PRO: Close (touch power) (+2)
<br><input type="checkbox" name="attr_con_close" value="-2" title="-2 hero points"/>
CON: Close (ranged power) (-2)
<br><input type="checkbox" name="attr_con_concentration" value="-4" title="-4 hero points"/>
CON: Concentration (-4)
<br>CON: Conditional <select name="attr_con_conditional">
<option value="0" selected="selected">none</option><option value="-1">works often (-1)</option><option value="-2">occasionally works (-2)</option><option value="-4">rarely works (-4)</option>
</select>
<br><input type="checkbox" name="attr_con_constant" value="-2" title="-2 hero points"/>
CON: Constant (-2)
<br><input type="checkbox" name="attr_pro_contagious" value="4" title="4 hero points"/>
PRO: Contagious (+4)
<br><input type="checkbox" name="attr_con_costly" value="-4" title="-4 hero points"/>
CON: Costly (-4)
<br><input type="checkbox" name="attr_con_degrades" value="-2" title="-2 hero points"/>
CON: Degrades (-2)
<br><input type="checkbox" name="attr_con_delay" value="-4" title="-4 hero points"/>
CON: Delay (-4)
<br><input type="checkbox" name="attr_con_exclusive" value="-1" title="-1 hero point"/>
CON: Exclusive (-1)
<br>PRO: Expansive <select name="attr_pro_expansive">
<option value="0" selected="selected">none</option><option value="6">close range (+6)</option><option value="12">distant range (+12)</option><option value="18">extreme range (+18)</option>
</select>
<br><input type="checkbox" name="attr_pro_fuse" value="2" title="2 hero points"/>
PRO: Fuse (+2)
<br>CON: Harmful <select name="attr_con_harmful">
<option value="0" selected="selected">none</option><option value="-1">1 damage per use (-1)</option><option value="-2">1-3 damage per use (-2)</option><option value="-4">1-6 damage per use (-4)</option>
</select>
<br><input type="checkbox" name="attr_pro_imbue" value="4" title="4 hero points"/>
PRO: Imbue (+4)
<br><input type="checkbox" name="attr_pro_independent" value="6" title="6 hero points"/>
PRO: Independent (+6)
<br><input type="checkbox" checked name="attr_con_item" value="0" title="0 hero point"/>
CON: Item (Does not effect item cost)
<br>CON: Limited <select name="attr_con_limited">
<option value="0" selected="selected">none</option><option value="-1">somewhat limited (-1)</option><option value="-2">significantly limited (-2)</option><option value="-4">severely limited (-4)</option>
</select>
<br>PRO: Line of Sight <select name="attr_pro_lineofsight">
<option value="0" selected="selected">none</option><option value="2">distant range (+2)</option><option value="4">close range (+4)</option><option value="6">touch (+6)</option>
</select>
<br><input type="checkbox" name="attr_pro_ongoing" value="6" title="6 hero points"/>
PRO: Ongoing (+6)
<br>CON: Only Inanimate <select name="attr_con_onlyinanimate">
<option value="0" selected="selected">none</option><option value="-1">any power (-1)</option><option value="-2">2 sources (-2)</option><option value="-4">1 source (-4)</option>
</select>
<br><input type="checkbox" name="attr_pro_overload" value="2" title="2 hero points"/>
PRO: Overload (+2)
<br><input type="checkbox" name="attr_pro_penetrating" value="4" title="4 hero points"/>
PRO: Penetrating (+4)
<br><input type="checkbox" name="attr_pro_phaseshift" value="4" title="4 hero points"/>
PRO: Phase Shift (+4)
<br>PRO: Ranged <select name="attr_pro_ranged">
<option value="0" selected="selected">none</option><option value="2">close range (+2)</option><option value="4">touch (+4)</option>
</select>
<br><input type="checkbox" name="attr_con_readied" value="-2" title="-2 hero points"/>
CON: Readied (-2)
<br><input type="checkbox" name="attr_con_recharge" value="-4" title="-4 hero points"/>
CON: Recharge (-4)
<br><input type="checkbox" name="attr_pro_resisted" value="6" title="6 hero points"/>
PRO: Resisted (+6)
<br><input type="checkbox" name="attr_pro_richochet" value="2" title="2 hero points"/>
PRO: Ricochet (+2)
<br><input type="checkbox" name="attr_pro_selective" value="4" title="4 hero points"/>
PRO: Selective (+4)
<br>CON: Shutdown <select name="attr_con_shutdown">
<option value="0" selected="selected">none</option><option value="-1">works often (-1)</option><option value="-2">occasionally works (-2)</option><option value="-4">rarely works (-4)</option>
</select>
<br>CON: Side Effect <select name="attr_con_sideeffect">
<option value="0" selected="selected">none</option><option value="-1">annoying/inconvenient (-1)</option><option value="-2">detrimental/harmful (-2)</option><option value="-4">catastrophic/debilitating (-4)</option>
</select>
<br><input type="checkbox" name="attr_con_signature" value="-1" title="-1 hero point"/>
CON: Signature (-1)
<br>PRO: Subtle/Undetectable <select name="attr_pro_subtleundetectable">
<option value="0" selected="selected">none</option><option value="2">subtle (+2)</option><option value="6">undetectable (+6)</option>
</select>
<br><input type="checkbox" name="attr_con_sustained" value="-2" title="-2 hero points"/>
CON: Sustained (-2)
<br>CON: Touch <select name="attr_con_touch">
<option value="0" selected="selected">none</option><option value="-2">close range (-2)</option><option value="-4">distant range (-4)</option>
</select>
<br><input type="checkbox" name="attr_con_toxin" value="-2" title="-2 hero points"/>
CON: Toxin (-2)
<br><input type="checkbox" name="attr_pro_trap" value="2" title="2 hero points"/>
PRO: Trap (+2)
<br><input type="checkbox" name="attr_con_twohanded" value="-1" title="-1 hero point"/>
CON: Two-Handed (-1)
<br><input type="checkbox" name="attr_con_uncontrolled" value="-2" title="-2 hero points"/>
CON: Uncontrolled (-2)
<br><input type="checkbox" name="attr_con_unreliable" value="-2" title="-2 hero points"/>
CON: Unreliable (-2)
</div>
<button type="action" name="act_shift" style='width:80%;' title="Shift this trait to the right"> <span style="font-family: Pictos;">8</span> Move this item to the left column</button>
</div>
</div>
</div>
<!-- End Right Col GEAR / EQUIPMENT -->
</fieldset>
</div>
</div>
</div>
<!--Vehicles-->
<input type='checkbox' class='sheet-hidevehicle' name='attr_hidevehicle' value='1' style='display: none;' />
<div class='sheet-block sheet-showvehicle'>
<h3 style='text-align: center; font-family: "Contrail One"; font-size: 125%;'>VEHICLES</h3>
<div class='sheet-2colrow'>
<div class='sheet-col'>
<fieldset class="repeating_vehicletraits">
<!--Left Col Vehicle Traits-->
<div class='sheet-row' style='padding: 1px;'>
<input type="checkbox" checked class="sheet-toggle sheet-left" title="show/hide" name="attr_vehicletrait-show" />
<input type='text' name='attr_vehicletrait' placeholder='Vehicle Trait' style='width:280px;' />
<input type='number' class='sheet-skills' name='attr_vehiclerank' style='width: 25px; text-align: right;' value='2'>
d
<button class='sheet-d6' type='roll' name='roll_vehicletrait' style='margin-left: 0px;' value='&{template:default} {{name=@{character_name}}} {{@{vehicletrait}=[[@{vehiclerank} + ?{extra dice|0} + (?{extra dice|0} + @{vehiclerank})d6>6f<3]] Success(es)!}} {{notes=@{vehiclenotes}}}' />
<textarea class='sheet-hide' name='attr_vehiclenotes' style='height: 20px; width: 93%;' placeholder='Vehicle Notes'></textarea>
</div>
<!--End Left Col Vehicle Traits-->
</fieldset>
</div>
<div class='sheet-col'>
<fieldset class="repeating_vehicletraitsother">
<!--Right Col Vehicle Traits-->
<div class='sheet-row' style='padding: 1px;'>
<input type="checkbox" checked class="sheet-toggle" title="show/hide" name="attr_vehicletrait-show" />
<input type='text' name='attr_vehicletrait' placeholder='Vehicle Trait' style='width:280px;'>
<input type='number' class='sheet-skills' name='attr_vehiclerank' style='width: 25px; text-align: right;' value='2'>
d
<button class='sheet-d6' type='roll' name='roll_vehicletrait' style='margin-left: 0px;' value='&{template:default} {{name=@{character_name}}} {{@{vehicletrait}=[[@{vehiclerank} + ?{extra dice|0} + (?{extra dice|0} + @{vehiclerank})d6>6f<3]] Success(es)!}} {{notes=@{vehiclenotes}}}' />
<textarea class='sheet-hide' name='attr_vehiclenotes' style='height: 20px; width: 93%;' placeholder='Vehicle Notes'></textarea>
</div>
<!--End Right Col Vehicle Traits-->
</fieldset>
</div>
</div>
</div>
<!--Perks Flaws and other notes-->
<div class='sheet-block sheet-row'>
<div class='sheet-2colrow'>
<div class='sheet-col'>
<label><span class='sheet-label'>FLAWS:</span></label>
<fieldset class='repeating_flaws'>
<select name="attr_flaw" style='width:100%;'>
<option value= "none" selected="selected">none/custom</option><option value= "absentminded">Absentminded</option><option value= "alterego">Alter Ego</option><option value= "amnesia">Amnesia</option><option value= "aversionfear">Aversion/Fear</option><option value= "beast">Beast</option><option value= "blinddeaf">Blind/Deaf</option><option value= "broke">Broke</option><option value= "clumsy">Clumsy</option><option value= "code">Code</option><option value= "colorblind">Color Blind</option><option value= "compulsion">Compulsion</option><option value= "compulsionsevere">Compulsion (Severe)</option><option value= "creepy">Creepy</option><option value= "curse">Curse</option><option value= "decorum">Decorum</option><option value= "disabled">Disabled</option><option value= "emotionless">Emotionless</option><option value= "enemy">Enemy</option><option value= "initepower">Finite Power</option><option value= "flashbacksguilt">Flashbacks/Guilt</option><option value= "frenzy">Frenzy</option><option value= "frightening">Frightening</option><option value= "heavy">Heavy</option><option value= "heavyvery">Heavy (Very)</option><option value= "hiddenagenda">Hidden Agenda</option><option value= "illiterate">Illiterate</option><option value= "impairedsense">Impaired Sense</option><option value= "insane">Insane</option><option value= "lightsensitive">Light Sensitive</option><option value= "mute">Mute</option><option value= "nightblind">Night Blind</option><option value= "nocturnal">Nocturnal</option><option value= "notoriety">Notoriety</option><option value= "obligation">Obligation</option><option value= "outsider">Outsider</option><option value= "powerlimits">Power Limits</option><option value= "quirk">Quirk</option><option value= "reaction">Reaction</option><option value= "reactionsevere">Reaction (Severe)</option><option value= "relationship">Relationship</option><option value= "repair">Repair</option><option value= "requirement">Requirement</option><option value= "requirementsevere">Requirement (Severe)</option><option value= "restriction">Restriction</option><option value= "secret">Secret</option><option value= "secretidentity">Secret Identity</option><option value= "unluckyjinx">Unlucky/Jinx</option><option value= "unusuallooks">Unusual Looks</option><option value= "unusualshape">Unusual Shape</option><option value= "vulnerability">Vulnerability</option><option value= "wanted">Wanted</option>
</select>
<textarea name='attr_flawnotes' style='height: 20px; width: 98%;'></textarea>
</fieldset><br />
<label><span class='sheet-label'>QUOTE:</span><br />
<textarea name='attr_quote' style='height:50px; width: 98%;'></textarea>
</label><br />
<label><span class='sheet-label'>HERO DESCRIPTION:</span><br />
<textarea name='attr_herodesc' style='height:50px; width: 98%;'></textarea>
</label><br />
<label><span class='sheet-label'>CIVILIAN DESCRIPTION:</span><br />
<textarea name='attr_civdesc' style='height:50px; width: 98%;'></textarea>
</label><br />
</div>
<div class='sheet-col' style='width:48%;'>
<label><span class='sheet-label'>PERKS:</span></label>
<fieldset class='repeating_perks'>
<input type="checkbox" class="sheet-toggle sheet-left" title="show/hide" name="attr_perk-show" />
<select name="attr_perk" style='width:240px; margin-right: 5px;'>
<option value="none" selected="selected">none/custom</option><option value="authority">authority</option><option value="contacts">contacts</option> <option value="fame">fame</option><option value="fourthwall">fourth wall</option><option value="headquarters">headquarters</option><option value="infamy">infamy</option><option value="patron">patron</option><option value="petsidekick">pet/sidekick</option><option value="reputation">reputation</option><option value="resources">resources</option><option value="uniquevehicle">unique vehicle</option><option value="wealth">wealth</option><option value="greatwealth">great wealth</option>
</select>
Points Spent:
<input type='number' class='sheet-skills' name='attr_perkrank' style='width: 25px; text-align: right;' value='0'>
<textarea name='attr_perknotes' class='sheet-hide' style='height: 20px; width: 360px;' placeholder='Perk Notes'></textarea>
</fieldset><br />
<label><span class='sheet-label'>DETAILS:</span><br />
<textarea name='attr_details' placeholder='Details' style='width: 98%;'></textarea></label>
<label><span class='sheet-label'>CONNECTIONS:</span><br />
<textarea name='attr_connections' placeholder='Connections' style='width: 98%;'></textarea></label>
</div>
</div>
</div>
<div class='sheet-block'>
<Label><span class='sheet-label'>ORIGIN:</span><br />
<textarea name='attr_orign' style='width: 98%;'></textarea>
</Label>
</div>
<div class='sheet-block'>
<Label><span class='sheet-label'>NOTES:</span><br />
<textarea name='attr_notes' style='width: 98%;'></textarea>
</Label>
</div>
<!--
-->
<script type="text/worker">
function setActiveCharacterId(charId){
var oldAcid=getActiveCharacterId();
var ev = new CustomEvent("message");
ev.data={"id":"0", "type":"setActiveCharacter", "data":charId};
self.dispatchEvent(ev);
return oldAcid;
}
var _sIn=setInterval;
setInterval=function(callback, timeout){
var acid=getActiveCharacterId();
_sIn(
function(){
var prevAcid=setActiveCharacterId(acid);
callback();
setActiveCharacterId(prevAcid);
}
,timeout);
}
var _sto=setTimeout
setTimeout=function(callback, timeout){
var acid=getActiveCharacterId();
_sto(
function(){
var prevAcid=setActiveCharacterId(acid);
callback();
setActiveCharacterId(prevAcid);
}
,timeout);
}
function getAttrsAsync(props){
var acid=getActiveCharacterId(); //save the current activeCharacterID in case it has changed when the promise runs
var prevAcid=null; //local variable defined here, because it needs to be shared across the promise callbacks defined below
return new Promise((resolve,reject)=>{
prevAcid=setActiveCharacterId(acid); //in case the activeCharacterId has changed, restore it to what we were expecting and save the current value to restore later
try{
getAttrs(props,(values)=>{ resolve(values); });
}
catch{ reject(); }
}).finally(()=>{
setActiveCharacterId(prevAcid); //restore activeCharcterId to what it was when the promise first ran
});
}
//use the same pattern for each of the following...
function setAttrsAsync(propObj, options){
var acid=getActiveCharacterId();
var prevAcid=null;
return new Promise((resolve,reject)=>{
prevAcid=setActiveCharacterId(acid);
try{
setAttrs(propObj,options,(values)=>{ resolve(values); });
}
catch{ reject(); }
}).finally(()=>{
setActiveCharacterId(prevAcid);
});
}
function getSectionIDsAsync(sectionName){
var acid=getActiveCharacterId();
var prevAcid=null;
return new Promise((resolve,reject)=>{
prevAcid=setActiveCharacterId(acid);
try{
getSectionIDs(sectionName,(values)=>{ resolve(values); });
}
catch{ reject(); }
}).finally(()=>{
setActiveCharacterId(prevAcid);
});
}
function getSingleAttrAsync(prop){
var acid=getActiveCharacterId();
var prevAcid=null;
return new Promise((resolve,reject)=>{
prevAcid=setActiveCharacterId(acid);
try{
getAttrs([prop],(values)=>{ resolve(values[prop]); });
}
catch{ reject(); }
}).finally(()=>{
setActiveCharacterId(prevAcid);
});
}
// Reveal the procons specific to a super trait in the left column
on("change:repeating_supertraits:power change:repeating_supertraits:formtype change:repeating_supertraits:transformationtype", function() {
var output = {};
getAttrs(["repeating_supertraits_power", "repeating_supertraits_formtype", "repeating_supertraits_transformationtype"], function(values) {
output['repeating_supertraits_procon-show'] = values.repeating_supertraits_power;
output['repeating_supertraits_form_energyform-show'] = values.repeating_supertraits_formtype;
output['repeating_supertraits_transformation-show'] = values.repeating_supertraits_transformationtype;
setAttrs(output);
console.log('Revealed power specific procons in the left super trait column')
});
});
// Reveal the procons specific to a super trait in the right column
on("change:repeating_supertraitsother:power change:repeating_supertraitsother:formtype change:repeating_supertraitsother:transformationtype", function() {
var output = {};
getAttrs(["repeating_supertraitsother_power", "repeating_supertraitsother_formtype", "repeating_supertraitsother_transformationtype"], function(values) {
output['repeating_supertraitsother_procon-show'] = values.repeating_supertraitsother_power;
output['repeating_supertraitsother_form_energyform-show'] = values.repeating_supertraitsother_formtype;
output['repeating_supertraitsother_transformation-show'] = values.repeating_supertraitsother_transformationtype;
setAttrs(output);
console.log('Revealed power specific procons in the right super trait column')
});
});
// Resolve calculation
on("sheet:opened change:repeating_supertraits change:repeating_supertraitsother change:repeating_flaws change:calculate_resolve change:academics change:agility change:charm change:command change:covert change:intellect change:investigation change:medicine change:might change:perception change:professional change:science change:streetwise change:survival change:technology change:toughness change:vehicles change:willpower change:traitcap", async ()=>{
var calculate_resolve = await getSingleAttrAsync("calculate_resolve");
if (calculate_resolve != '1') return
var traitlist = ["academics", "agility", "charm", "command", "covert", "intellect", "investigation", "medicine", "might", "perception", "professional", "science", "streetwise", "survival", "technology", "toughness", "vehicles", "willpower", "traitcap", "calculate_resolve"];
var determinationvalue = 0;
var flawids = [];
var repeatingsuperid = [];
var ids = await getSectionIDsAsync('repeating_flaws');
ids.forEach(id => {
flawids.push('repeating_flaws_' + String(id));
traitlist.push('repeating_flaws_' + String(id) + '_flaw');
});
ids = await getSectionIDsAsync('repeating_supertraits');
ids.forEach(id => {
repeatingsuperid.push('repeating_supertraits_' + String(id));
traitlist.push('repeating_supertraits_' + String(id) + '_power');
traitlist.push('repeating_supertraits_' + String(id) + '_traitrank');
traitlist.push('repeating_supertraits_' + String(id) + '_boostedtrait');
traitlist.push('repeating_supertraits_' + String(id) + '_expertise_combat_skill');
traitlist.push('repeating_supertraits_' + String(id) + '_transformationtype');
});
ids = await getSectionIDsAsync('repeating_supertraitsother');
ids.forEach(id => {
repeatingsuperid.push('repeating_supertraitsother_' + String(id));
traitlist.push('repeating_supertraitsother_' + String(id) + '_power');
traitlist.push('repeating_supertraitsother_' + String(id) + '_traitrank');
traitlist.push('repeating_supertraitsother_' + String(id) + '_boostedtrait');
traitlist.push('repeating_supertraitsother_' + String(id) + '_expertise_combat_skill');
traitlist.push('repeating_supertraitsother_' + String(id) + '_transformationtype');
});
var values = await getAttrsAsync(traitlist);
var maxtraitforresolve = Math.max(Number(values.agility), Number(values.intellect), Number(values.might), Number(values.perception), Number(values.toughness), Number(values.willpower));
var flawtotal = 0;
var tempflawcheck;
flawids.forEach(id => {
tempflawcheck = values[id + '_flaw'];
if(tempflawcheck == "amnesia" || tempflawcheck == "blinddeaf" || tempflawcheck == "compulsionsevere" || tempflawcheck == "disabled" || tempflawcheck == "enemy" || tempflawcheck == "heavyvery" || tempflawcheck == "obligation" || tempflawcheck == "reactionsevere" || tempflawcheck == "relationship" || tempflawcheck == "repair" || tempflawcheck == "requirementsevere" || tempflawcheck == "unluckyjinx" || tempflawcheck == "vulnerability" || tempflawcheck == "wanted") flawtotal += 1;
});
var expertiseselection = ''; // Protect against the edge case where someone boosts expertise.
repeatingsuperid.forEach(id => {
if (values[id + '_power'] == 'expertise' && values[id + '_expertise_combat_skill'] == 'TRUE') expertiseselection = 'TRUE';
});
repeatingsuperid.forEach(id => {
power = values[id + '_power'];
if (power == 'boost') power = values[id + '_boostedtrait'];
switch(power) {
case 'determination':
determinationvalue = Math.max(determinationvalue, 0, values[id + '_traitrank']);
break;
case 'expertise':
if (values[id + '_power'] == 'boost') {
if (expertiseselection == 'TRUE') maxtraitforresolve = Math.max(maxtraitforresolve, values[id + '_traitrank']);
}
else if (values[id + '_expertise_combat_skill'] == 'TRUE') maxtraitforresolve = Math.max(maxtraitforresolve, values[id + '_traitrank']);
break;
case 'transformation':
if (values[id + '_transformationtype'] == 'shapeshifting') maxtraitforresolve = Math.max(maxtraitforresolve, Number(values[id + '_traitrank']) + Math.max(values['might'], values['toughness'], values['agility']));
maxtraitforresolve = Math.max(maxtraitforresolve, values[id + '_traitrank']);
break;
//Powers that cannot be used for attack, defense, or to affect other characters or objects do not affect Resolve.
case 'dangersense':
case 'detection':
case 'flight':
case 'leaping':
case 'running':
case 'supersenses':
case 'swimming':
case 'swinging':
case 'teleportation':
case 'tunneling':
case "wallcrawling":
case "academics":
case "charm":
case "command":
case "covert":
case "investigation":
case "medicine":
case "professional":
case "science":
case "streetwise":
case "survival":
case "technology":
case "vehicles":
break;
default:
maxtraitforresolve = Math.max(maxtraitforresolve, values[id + '_traitrank']);
}
});
await setAttrsAsync({maxresolvebox: (Number(values.traitcap) - Number(maxtraitforresolve)) * 2 + Number(flawtotal) + Number(determinationvalue)});
console.log('Resolve Recalculated')
});
// hero point and edge
on("sheet:opened change:repeating_supertraits change:repeating_supertraitsother change:repeating_items change:repeating_itemsother change:repeating_perks change:calculating_heropoints change:calculating_edge change:academics change:agility change:charm change:command change:covert change:intellect change:investigation change:medicine change:might change:perception change:professional change:science change:streetwise change:survival change:technology change:toughness change:vehicles change:willpower change:heropackage change:traitcap change:repeating_flaws remove:repeating_flaws", async ()=>{
var traitlist = ["academics", "agility", "charm", "command", "covert", "intellect", "investigation", "medicine", "might", "perception", "professional", "science", "streetwise", "survival", "technology", "toughness", "vehicles", "willpower", "heropackage", "traitcap", "heropoints_max", "calculate_heropoints", "calculate_edge"];
const powercosts = {none: 0, academics: 1, agility: 1, charm: 1, command: 1, covert: 1, intellect: 1, investigation: 1, medicine: 1, might: 1, perception: 1, professional: 1, science: 1, streetwise: 1, survival: 1, technology: 1, toughness: 1, vehicles: 1, willpower: 1, adaption: 12, alternateform: 4, animalcontrol: 1, animalempathy: 1, animalmimicry: 2,animation: 2, armor: 1, astralprojection: 12, attuned: 3, aura: 2, banish: 1, blast: 1, blending: 3, blind: 0.5, blindfighting: 3, blink: 1, boost: 0, buff: 12, clairvoyance: 9, cloudminds: 1, communications: 3, constructs: 3, dangersense: 1, darkness: 6, dazzle: 1, deflection: 1, density: 1, detection: 0.5, determination: 5, dimensionaltravel: 6, dispel: 0.5, drain: 0.5, duplication: 25, elementalcontrol: 3, emotioncontrol: 1, energyabsorption: 1, ensnare: 1, evasion: 0.5, expertise: 0.5, extralimbs: 3, flight: 1, forcefield: 1, form: 3, gestalt: 3, growth: 1, hardtokill: 1, healing: 1, hibernation: 1, hyperbreath: 1, illusions: 1, immortality: 3, immunity: 3, inanimate: 9, invisibility: 9, irritant: 1, languages: 1, leadership: 6, leaping: 1, lifedrain: 2, lighteffect: 3, lightningreflexes: 3, luck: 2, machinecontrol: 1, martialarts: 1, masterofdisguise: 3, matterchameleon: 2, mindblast: 1, mindcontrol: 2, nullify: 2, omnipower: 3, phasing: 9, plasticity: 2, polymorph: 1, portablestorehouse: 6, possession: 1, powerabsorption: 2, powermimicry: 2, precognition: 12, preparation: 6, psiscreen: 1, psychometry: 9, quickchange: 3, radar: 3, regeneration: 6, resistance: 0.5, running: 1, separation: 3, shockwave: 0.5, shrinking: 2, slay: 2, slick: 1, speakwithdead: 2, specialty: 0, spinning: 1, stargate: 3, stretching: 1, strike: 1, stun: 1, summoning: 1, supersenses: 0.5, superspeed: 3, swimming: 0.5, swingline: 0.5, telekinesis: 2, telepathy: 1, teleportation: 1, timestop: 3, timetravel: 3, totalrecall: 3, tracer: 3, transformation: 2, transmutation: 2, tunneling: 1, twodimensional: 6, twofisted: 3, vanish: 3, variant: 3, ventriloquism: 3, wallcrawling: 0.5, weaknessdetection: 3};
var output = {};
var perkids = [];
var repeatingsuperid = [];
var repeatingitemid = [];
var ids = await getSectionIDsAsync('repeating_perks');
ids.forEach(id => {
perkids.push(String(id));
traitlist.push('repeating_perks_' + String(id) + '_perk');
traitlist.push('repeating_perks_' + String(id) + '_perkrank');
});
ids = await getSectionIDsAsync('repeating_supertraits');
ids.forEach(id => {
repeatingsuperid.push('repeating_supertraits_' + String(id));
});
ids = await getSectionIDsAsync('repeating_supertraitsother');
ids.forEach(id => {
repeatingsuperid.push('repeating_supertraitsother_' + String(id));
});
var flawtotal = 0;
ids = await getSectionIDsAsync('repeating_flaws');
ids.forEach(id => {
flawtotal += 1;
});
repeatingsuperid.forEach(id => {
traitlist.push(id + '_power');
traitlist.push(id + '_traitrank');
traitlist.push(id + '_costperrankhidden');
traitlist.push(id + '_procontotal');
traitlist.push(id + '_animalcontrol_pro_calling');
traitlist.push(id + '_animalcontrol_con_onlyxbroad');
traitlist.push(id + '_animalcontrol_con_onlyxnarrow');
traitlist.push(id + '_animalmimicry_pro_enhanced');
traitlist.push(id + '_animalmimicry_pro_selection');
traitlist.push(id + '_aura_con_spines');
traitlist.push(id + '_blast_pro_calling');
traitlist.push(id + '_blast_pro_melee');
traitlist.push(id + '_blast_con_subdual');
traitlist.push(id + '_blast_con_weapons');
traitlist.push(id + '_alternateform_con_independent');
traitlist.push(id + '_animalempathy_pro_speach');
traitlist.push(id + '_armor_con_activated');
traitlist.push(id + '_armor_con_reactive');
traitlist.push(id + '_animalcontrol_pro_calling');
traitlist.push(id + '_animalcontrol_con_onlyxbroad');
traitlist.push(id + '_animalcontrol_con_onlyxnarrow');
traitlist.push(id + '_animalmimicry_pro_enhanced');
traitlist.push(id + '_animalmimicry_pro_selection');
traitlist.push(id + '_aura_con_spines');
traitlist.push(id + '_blast_pro_calling');
traitlist.push(id + '_blast_pro_melee');
traitlist.push(id + '_blast_con_subdual');
traitlist.push(id + '_blast_con_weapons');
traitlist.push(id + '_boostedtrait');
traitlist.push(id + '_boost_con_rage');
traitlist.push(id + '_buff_pro_greater');
traitlist.push(id + '_constructs_pro_devices');
traitlist.push(id + '_dazzle_con_deafen');
traitlist.push(id + '_deflection_con_onlyx');
traitlist.push(id + '_detection_pro_longrange');
traitlist.push(id + '_dimensionaltravel_pro_portal');
traitlist.push(id + '_dispel_pro_alsox');
traitlist.push(id + '_drain_con_onlyxbroad');
traitlist.push(id + '_drain_con_onlyxnarrow');
traitlist.push(id + '_drain_pro_alsox');
traitlist.push(id + '_elementalcontrol_pro_mattercreation');
traitlist.push(id + '_elementalcontrol_con_onlycontrol');
traitlist.push(id + '_emotioncontrol_con_onlyx');
traitlist.push(id + '_emotioncontrol_con_pheomones');
traitlist.push(id + '_energyabsorption_pro_alsox');
traitlist.push(id + '_energyabsorptionkinetic');
traitlist.push(id + '_ensnare_pro_line');
traitlist.push(id + '_ensnare_con_immobilize');
traitlist.push(id + '_expertisetrait');
traitlist.push(id + '_flight_pro_spaceflight');
traitlist.push(id + '_flight_con_gliding');
traitlist.push(id + '_flight_con_levitation');
traitlist.push(id + '_flight_con_slides');
traitlist.push(id + '_flight_con_wings');
traitlist.push(id + '_forcefield_pro_permeable');
traitlist.push(id + '_forcefield_con_collapsible');
traitlist.push(id + '_forcefield_con_ward');
traitlist.push(id + '_forcefield_pro_inviolate');
traitlist.push(id + '_form_energyform_pro_alsox');
traitlist.push(id + '_formtype');
traitlist.push(id + '_gestalt_alteregos');
traitlist.push(id + '_healing_pro_repair');
traitlist.push(id + '_hyperbreath_pro_freezing');
traitlist.push(id + '_illusions_pro_mental');
traitlist.push(id + '_immortality_con_vulnerable');
traitlist.push(id + '_inanimate_pro_mindless');
traitlist.push(id + '_invisibility_pro_cloaking');
traitlist.push(id + '_invisibility_pro_jamming');
traitlist.push(id + '_languages_pro_hypertranslation');
traitlist.push(id + '_languages_pro_polyglot');
traitlist.push(id + '_lifedrain_pro_vampirism');
traitlist.push(id + '_lightningreflexes_con_fightingmarksmanship');
traitlist.push(id + '_luck_pro_control');
traitlist.push(id + '_luck_pro_unbelievable');
traitlist.push(id + '_machinecontrol_con_interface');
traitlist.push(id + '_martialarts_pro_deflect');
traitlist.push(id + '_martialarts_pro_deflectmissiles');
traitlist.push(id + '_mindcontrol_con_hypnosis');
traitlist.push(id + '_mindcontrol_con_pheromones');
traitlist.push(id + '_nullify_pro_alsox');
traitlist.push(id + '_phasing_pro_intangible');
traitlist.push(id + '_possession_pro_meld');
traitlist.push(id + '_powerabsorption_con_onlyxbroad');
traitlist.push(id + '_powerabsorption_con_onlyxnarrow');
traitlist.push(id + '_powerabsorption_pro_alsox');
traitlist.push(id + '_powermimicry_pro_alsox');
traitlist.push(id + '_powermimicry_con_onlyxbroad');
traitlist.push(id + '_powermimicry_con_onlyxnarrow');
traitlist.push(id + '_psiscreen_pro_cloakmind');
traitlist.push(id + '_quickchange_con_costume');
traitlist.push(id + '_radar_con_sonar');
traitlist.push(id + '_radar_con_tremorsense');
traitlist.push(id + '_regeneration_pro_fast');
traitlist.push(id + '_regeneration_pro_instant');
traitlist.push(id + '_running_pro_hover');
traitlist.push(id + '_stargate_pro_portal');
traitlist.push(id + '_omnipowertype');
traitlist.push(id + '_stretchingrange');
traitlist.push(id + '_stretching_con_longreach');
traitlist.push(id + '_strike_pro_deflect');
traitlist.push(id + '_strike_pro_deflectmissiles');
traitlist.push(id + '_strike_pro_reachthrow');
traitlist.push(id + '_strike_pro_sweep');
traitlist.push(id + '_strike_con_subdual');
traitlist.push(id + '_strike_con_weapons');
traitlist.push(id + '_summoningthreat');
traitlist.push(id + '_summoning_pro_animals_narrow');
traitlist.push(id + '_summoning_pro_animals_wide');
traitlist.push(id + '_summoning_pro_automatons');
traitlist.push(id + '_summoning_pro_duplicates');
traitlist.push(id + '_summoning_pro_shooters');
traitlist.push(id + '_summoning_pro_unique_minor');
traitlist.push(id + '_summoning_pro_unique_moderate');
traitlist.push(id + '_summoning_pro_unique_major');
traitlist.push(id + '_supersenses_acutex');
traitlist.push(id + '_supersenses_analyticx');
traitlist.push(id + '_supersenses_astralsight');
traitlist.push(id + '_supersenses_circularvision');
traitlist.push(id + '_supersenses_enhancedhearing');
traitlist.push(id + '_supersenses_hypersensitivetouch');
traitlist.push(id + '_supersenses_liedetection');
traitlist.push(id + '_supersenses_microscopicvision');
traitlist.push(id + '_supersenses_nightvision');
traitlist.push(id + '_supersenses_radiohearing');
traitlist.push(id + '_supersenses_telescopicvision');
traitlist.push(id + '_supersenses_thermalvision');
traitlist.push(id + '_supersenses_trackingscent');
traitlist.push(id + '_supersenses_truesight');
traitlist.push(id + '_supersenses_ultravision');
traitlist.push(id + '_supersenses_xrayvision');
traitlist.push(id + '_swimming_con_lungs');
traitlist.push(id + '_swingline_con_natural');
traitlist.push(id + '_telekinesis_con_impel');
traitlist.push(id + '_telepathy_pro_altermemories');
traitlist.push(id + '_telepathy_pro_cloakothers');
traitlist.push(id + '_telepathy_pro_dreamtravel');
traitlist.push(id + '_telepathy_pro_empathy');
traitlist.push(id + '_telepathy_pro_mindlink');
traitlist.push(id + '_teleportation_pro_portal');
traitlist.push(id + '_teleportation_con_medium');
traitlist.push(id + '_timetravel_pro_portal');
traitlist.push(id + '_totalrecall_pro_playback');
traitlist.push(id + '_tracer_pro_tracking');
traitlist.push(id + '_transformation_pro_enhanced');
traitlist.push(id + '_transformation_con_onlyxbroad');
traitlist.push(id + '_transformation_con_onlyxnarrow');
traitlist.push(id + '_transformationtype');
traitlist.push(id + '_twofisted_con_fightingmarksmanship');
traitlist.push(id + '_pro_affectinanimate');
traitlist.push(id + '_pro_areaofeffect');
traitlist.push(id + '_pro_armorpiercing');
traitlist.push(id + '_con_buildup');
traitlist.push(id + '_con_burnout');
traitlist.push(id + '_pro_armorpiercing');
traitlist.push(id + '_con_buildup');
traitlist.push(id + '_con_burnout');
traitlist.push(id + '_pro_carrierattack');
traitlist.push(id + '_con_charges');
traitlist.push(id + '_pro_close');
traitlist.push(id + '_con_close');
traitlist.push(id + '_con_concentration');
traitlist.push(id + '_con_conditional');
traitlist.push(id + '_con_constant');
traitlist.push(id + '_pro_contagious');
traitlist.push(id + '_con_costly');
traitlist.push(id + '_con_degrades');
traitlist.push(id + '_con_delay');
traitlist.push(id + '_con_exclusive');
traitlist.push(id + '_pro_expansive');
traitlist.push(id + '_pro_fuse');
traitlist.push(id + '_con_harmful');
traitlist.push(id + '_pro_imbue');
traitlist.push(id + '_pro_independent');
traitlist.push(id + '_con_item');
traitlist.push(id + '_con_limited');
traitlist.push(id + '_pro_lineofsight');
traitlist.push(id + '_pro_ongoing');
traitlist.push(id + '_con_onlyinanimate');
traitlist.push(id + '_con_overkill');
traitlist.push(id + '_pro_overload');
traitlist.push(id + '_pro_penetrating');
traitlist.push(id + '_pro_phaseshift');
traitlist.push(id + '_pro_ranged');
traitlist.push(id + '_con_readied');
traitlist.push(id + '_con_recharge');
traitlist.push(id + '_pro_resisted');
traitlist.push(id + '_pro_richochet');
traitlist.push(id + '_pro_selective');
traitlist.push(id + '_con_shutdown');
traitlist.push(id + '_con_sideeffect');
traitlist.push(id + '_con_signature');
traitlist.push(id + '_pro_subtleundetectable');
traitlist.push(id + '_con_sustained');
traitlist.push(id + '_con_touch');
traitlist.push(id + '_con_toxin');
traitlist.push(id + '_pro_trap');
traitlist.push(id + '_con_twohanded');
traitlist.push(id + '_con_uncontrolled');
traitlist.push(id + '_con_unreliable');
traitlist.push(id + '_con_weak');
});
ids = await getSectionIDsAsync('repeating_items');
ids.forEach(id => {
repeatingitemid.push('repeating_items_' + String(id));
});
ids = await getSectionIDsAsync('repeating_itemsother');
ids.forEach(id => {
repeatingitemid.push('repeating_itemsother_' + String(id));
});
repeatingitemid.forEach(id => {
traitlist.push(id + '_traitrank');
traitlist.push(id + '_proconother');
traitlist.push(id + '_accurate');
traitlist.push(id + '_veryaccurate');
traitlist.push(id + '_bonded');
traitlist.push(id + '_collapsible');
traitlist.push(id + '_concealed');
traitlist.push(id + '_deflecting');
traitlist.push(id + '_fitted');
traitlist.push(id + '_hardened');
traitlist.push(id + '_masterpiece');
traitlist.push(id + '_powerful');
traitlist.push(id + '_verypowerful');
traitlist.push(id + '_reinforced');
traitlist.push(id + '_silenced');
traitlist.push(id + '_upgraded');
traitlist.push(id + '_pro_affectinanimate');
traitlist.push(id + '_pro_areaofeffect');
traitlist.push(id + '_pro_armorpiercing');
traitlist.push(id + '_con_buildup');
traitlist.push(id + '_con_burnout');
traitlist.push(id + '_pro_carrierattack');
traitlist.push(id + '_con_charges');
traitlist.push(id + '_pro_close');
traitlist.push(id + '_con_close');
traitlist.push(id + '_con_concentration');
traitlist.push(id + '_con_conditional');
traitlist.push(id + '_con_constant');
traitlist.push(id + '_pro_contagious');
traitlist.push(id + '_con_costly');
traitlist.push(id + '_con_degrades');
traitlist.push(id + '_con_delay');
traitlist.push(id + '_con_exclusive');
traitlist.push(id + '_pro_expansive');
traitlist.push(id + '_pro_fuse');
traitlist.push(id + '_con_harmful');
traitlist.push(id + '_pro_imbue');
traitlist.push(id + '_pro_independent');
traitlist.push(id + '_con_item');
traitlist.push(id + '_con_limited');
traitlist.push(id + '_pro_lineofsight');
traitlist.push(id + '_pro_ongoing');
traitlist.push(id + '_con_onlyinanimate');
traitlist.push(id + '_pro_overload');
traitlist.push(id + '_pro_penetrating');
traitlist.push(id + '_pro_phaseshift');
traitlist.push(id + '_pro_ranged');
traitlist.push(id + '_con_readied');
traitlist.push(id + '_con_recharge');
traitlist.push(id + '_pro_resisted');
traitlist.push(id + '_pro_richochet');
traitlist.push(id + '_pro_selective');
traitlist.push(id + '_con_shutdown');
traitlist.push(id + '_con_sideeffect');
traitlist.push(id + '_con_signature');
traitlist.push(id + '_pro_subtleundetectable');
traitlist.push(id + '_con_sustained');
traitlist.push(id + '_con_touch');
traitlist.push(id + '_con_toxin');
traitlist.push(id + '_pro_trap');
traitlist.push(id + '_con_twohanded');
traitlist.push(id + '_con_uncontrolled');
traitlist.push(id + '_con_unreliable');
});
var values = await getAttrsAsync(traitlist);
let abilitysum = Number(values.agility) + Number(values.intellect) + Number(values.might) + Number(values.perception) + Number(values.toughness) + Number(values.willpower);
let talentsum = Number(values.academics) + Number(values.charm) + Number(values.command) + Number(values.covert) + Number(values.investigation) + Number(values.medicine) + Number(values.professional) + Number(values.science) + Number(values.streetwise) + Number(values.survival) + Number(values.technology) + Number(values.vehicles);
var heropointtotal = abilitysum + talentsum - Number(values.heropackage);
if(flawtotal > 3) heropointtotal += Number(3)*(flawtotal-Number(3));
var tempperkcheck;
perkids.forEach(id => {
tempperkcheck = values['repeating_perks_' + id + '_perk'];
if(tempperkcheck == "authority" || tempperkcheck == "fame" || tempperkcheck == "infamy" || tempperkcheck == "patron" || tempperkcheck == "reputation" || tempperkcheck == "wealth") {
output['repeating_perks_' + id + '_perkrank'] = 3;
heropointtotal += Number(3);
}
else if(tempperkcheck == "fourthwall" || tempperkcheck == "greatwealth") {
output['repeating_perks_' + id + '_perkrank'] = 6;
heropointtotal += Number(6);
}
else if(tempperkcheck == "resources") {
output['repeating_perks_' + id + '_perkrank'] = 1;
heropointtotal += Number(1);
}
else heropointtotal += Number(values['repeating_perks_' + id + '_perkrank']);
});
if (values['calculate_edge'] == 1) {
// strike power can use martial arts as it's baseline so it's value is stored here
// dangersense, superspeed, and lightning relfexes modify edge
var martialartstemp = 0;
var dangersensetemp = 0;
var superspeedtemp = 0;
var lightningreflexestemp = 0;
repeatingsuperid.forEach(id => {
power = values[id + '_power'];
rankspurchased = Number(values[id + '_traitrank']);
if (values[id + '_power'] == 'martialarts') martialartstemp = Math.max(0, martialartstemp, rankspurchased);
if (power == 'dangersense') dangersensetemp = Math.max(0, dangersensetemp, rankspurchased);
if (power == 'superspeed') superspeedtemp = Math.max(0, superspeedtemp, rankspurchased);
if (power == 'lightningreflexes') lightningreflexestemp = 6;
});
output["edgebox"] = Math.max(Math.max(values.agility, values.intellect) + Math.max(values.perception, dangersensetemp), 3 * superspeedtemp) + lightningreflexestemp;
}
if (values['calculate_heropoints'] == 1) {
var power = 'none';
var rankspurchased = 0;
repeatingsuperid.forEach(id => {
power = values[id + '_power'];
rankspurchased = Number(values[id + '_traitrank']);
costperrank = powercosts[power];
procontotal = Number(values[id + '_procontotal']);
// Adjust the number of ranks purchased for baseline value or set the ranks purchsed to 1 if it's a default power
switch (power) {
case 'adaptation':
output[id + '_traitrank'] = 0;
rankspurchased = 1;
break;
case 'alternateform':
costperrank += Number(values[id + '_alternateform_con_independent']);
break;
case 'animalcontrol':
procontotal += Number(values[id + '_animalcontrol_pro_calling']) + Number(values[id + '_animalcontrol_con_onlyxbroad']) + Number(values[id + '_animalcontrol_con_onlyxnarrow']);
break;
case 'animalempathy':
output[id + '_traitrank'] = 0;
procontotal += Number(values[id + '_animalempathy_pro_speach'])
rankspurchased = 1;
break;
case 'animalmimicry':
procontotal += Number(values[id + '_animalmimicry_pro_enhanced']) + Number(values[id + '_animalmimicry_pro_selection']);
break;
case 'armor':
rankspurchased -= Math.ceil(values.toughness/2);
procontotal += Number(values[id + '_armor_con_activated']) + Number(values[id + '_armor_con_reactive']);
break;
case 'aura':
procontotal += Number(values[id + '_aura_con_spines']);
break;
case 'blast':
procontotal += Number(values[id + '_blast_pro_calling']) + Number(values[id + '_blast_pro_melee']) + Number(values[id + '_blast_con_subdual']) + Number(values[id + '_blast_con_weapons']);
break;
case 'boost':
var boostedtrait = values[id + '_boostedtrait'];
costperrank = powercosts[boostedtrait];
var boostedtemp = 0;
if (boostedtrait != 'none' && boostedtrait != 'academics' && boostedtrait != 'agility' && boostedtrait != 'charm' && boostedtrait != 'command' && boostedtrait != 'covert' && boostedtrait != 'intellect' && boostedtrait != 'investigation' && boostedtrait != 'medicine' && boostedtrait != 'might' && boostedtrait != 'perception' && boostedtrait != 'professional' && boostedtrait != 'science' && boostedtrait != 'streetwise' && boostedtrait != 'survival' && boostedtrait != 'technology' && boostedtrait != 'toughness' && boostedtrait != 'vehicles' && boostedtrait != 'willpower') {
repeatingsuperid.forEach(idboost => {
if (values[idboost + '_power'] == boostedtrait) {
costperrank = Number(values[idboost + '_costperrankhidden']);
boostedtemp = Number(values[idboost + '_traitrank']);
}
});
}
else boostedtemp = Math.max(values[boostedtrait], boostedtemp, 0);
procontotal += Number(values[id + '_boost_con_rage']);
rankspurchased -= boostedtemp;
break;
case 'buff':
procontotal += Number(values[id + '_buff_pro_greater']);
output[id + '_traitrank'] = 0;
rankspurchased = 1;
break;
case 'constructs':
costperrank += Number(values[id + '_constructs_pro_devices']);
break;
case 'dangersense':
rankspurchased -= values.perception;
break;
case 'dazzle':
procontotal += Number(values[id + '_dazzle_con_deafen']);
break;
case 'deflection':
procontotal += Number(values[id + '_deflection_con_onlyx']) + Number(values[id + '_detection_pro_longrange']);
break;
case 'dimensionaltravel':
procontotal += Number(values[id + '_dimensionaltravel_pro_portal']);
output[id + '_traitrank'] = 0;
rankspurchased = 1;
break;
case 'dispel':
costperrank += 0.5 * Number(values[id + '_dispel_pro_alsox']);
break;
case 'drain':
procontotal += Number(values[id + '_drain_con_onlyxbroad']) + Number(values[id + '_drain_con_onlyxnarrow']);
costperrank += 0.5 * Number(values[id + '_drain_pro_alsox']);
break;
case 'elementalcontrol':
costperrank += Number(values[id + '_elementalcontrol_pro_mattercreation']) + Number(values[id + '_elementalcontrol_con_onlycontrol']);
break;
case 'emotioncontrol':
procontotal += Number(values[id + '_emotioncontrol_con_onlyx']) + Number(values[id + '_emotioncontrol_con_pheomones']);
break;
case 'energyabsorption':
costperrank += Number(values[id + '_energyabsorptionkinetic']);
procontotal += Number(values[id + '_energyabsorption_pro_alsox']);
break;
case 'ensnare':
procontotal += Number(values[id + '_ensnare_pro_line']) + Number(values[id + '_ensnare_con_immobilize']);
break;
case 'evasion':
rankspurchased -= values.agility;
break;
case 'expertise':
if (values[id + '_expertisetrait'] != 'none') rankspurchased -= values[values[id + '_expertisetrait']];
break;
case 'flight':
procontotal += Number(values[id + '_flight_pro_spaceflight']) + Number(values[id + '_flight_con_gliding']) + Number(values[id + '_flight_con_levitation']) + Number(values[id + '_flight_con_slides']) + Number(values[id + '_flight_con_wings']);
break;
case 'forcefield':
costperrank += Number(values[id + '_forcefield_pro_inviolate']);
procontotal += Number(values[id + '_forcefield_pro_permeable']) + Number(values[id + '_forcefield_con_collapsible']) + Number(values[id + '_forcefield_con_ward']);
break;
case 'form':
if (values[id + '_formtype'] == 'energyform') {
costperrank = 3;
procontotal += 0.5 * Number(values[id + '_form_energyform_pro_alsox']);
}
if (values[id + '_formtype'] == 'gaseousform') {
costperrank = 6;
output[id + '_traitrank'] = 0;
rankspurchased = 1;
}
if (values[id + '_formtype'] == 'liquidform') {
costperrank = 12;
output[id + '_traitrank'] = 0;
rankspurchased = 1;
}
if (values[id + '_formtype'] == 'solidform') costperrank = 2;
break;
case 'gestalt':
output[id + '_traitrank'] = 0;
rankspurchased = Number(values[id + '_gestalt_alteregos']) - 1;
break;
case 'healing':
procontotal += Number(values[id + '_healing_pro_repair']);
break;
case 'hyperbreath':
costperrank += Number(values[id + '_hyperbreath_pro_freezing']);
break;
case 'illusions':
costperrank += Number(values[id + '_illusions_pro_mental']);
break;
case 'immortality':
procontotal += Number(values[id + '_immortality_con_vulnerable']);
output[id + '_traitrank'] = 0;
rankspurchased = 1;
break;
case 'inanimate':
procontotal += Number(values[id + '_inanimate_pro_mindless']);
output[id + '_traitrank'] = 0;
rankspurchased = 1;
break;
case 'invisibility':
procontotal += Number(values[id + '_invisibility_pro_cloaking']) + Number(values[id + '_invisibility_pro_jamming']);
output[id + '_traitrank'] = 0;
rankspurchased = 1;
break;
case 'languages':
procontotal += Number(values[id + '_languages_pro_hypertranslation']) + Number(values[id + '_languages_pro_polyglot']);
output[id + '_traitrank'] = 0;
rankspurchased = 1;
break;
case 'leaping':
rankspurchased -= Math.ceil(values.might / 2);
break;
case 'lifedrain':
procontotal += Number(values[id + '_lifedrain_pro_vampirism']);
break;
case 'lightningreflexes':
procontotal += Number(values[id + '_lightningreflexes_con_fightingmarksmanship']);
output[id + '_traitrank'] = 0;
rankspurchased = 1;
break;
case 'luck':
procontotal += Number(values[id + '_luck_pro_control']);
costperrank += Number(values[id + '_luck_pro_unbelievable']);
break;
case 'machinecontrol':
procontotal += Number(values[id + '_machinecontrol_con_interface']);
break;
case 'martialarts':
rankspurchased -= values.might;
procontotal += Number(values[id + '_martialarts_pro_deflect']) + Number(values[id + '_martialarts_pro_deflectmissiles']);
break;
case 'mindcontrol':
procontotal += Number(values[id + '_mindcontrol_con_hypnosis']) + Number(values[id + '_mindcontrol_con_pheromones']);
break;
case 'nullify':
costperrank += Number(values[id + '_nullify_pro_alsox']);
break;
case 'omnipower':
costperrank = Number(values[id + '_omnipowertype']);
break;
case 'phasing':
procontotal += Number(values[id + '_phasing_pro_intangible']);
output[id + '_traitrank'] = 0;
rankspurchased = 1;
break;
case 'possession':
procontotal += Number(values[id + '_possession_pro_meld']);
break;
case 'powerabsorption':
procontotal += Number(values[id + '_powerabsorption_con_onlyxbroad']) + Number(values[id + '_powerabsorption_con_onlyxnarrow']);
costperrank += Number(values[id + '_powerabsorption_pro_alsox']);
break;
case 'powermimicry':
procontotal += Number(values[id + '_powermimicry_con_onlyxbroad']) + Number(values[id + '_powermimicry_con_onlyxnarrow']);
costperrank += Number(values[id + '_powermimicry_pro_alsox']);
break;
case 'psiscreen':
procontotal += Number(values[id + '_psiscreen_pro_cloakmind']);
rankspurchased -= values.willpower;
break;
case 'quickchange':
procontotal += Number(values[id + '_quickchange_con_costume']);
output[id + '_traitrank'] = 0;
rankspurchased = 1;
break;
case 'radar':
procontotal += Number(values[id + '_radar_con_sonar']) + Number(values[id + '_radar_con_tremorsense']);
output[id + '_traitrank'] = 0;
rankspurchased = 1;
break;
case 'regeneration':
procontotal += Number(values[id + '_regeneration_pro_fast']) + Number(values[id + '_regeneration_pro_instant']);
output[id + '_traitrank'] = 0;
rankspurchased = 1;
break;
case 'resistance':
rankspurchased -= values.toughness;
break;
case 'running':
rankspurchased -= 3;
procontotal += Number(values[id + '_running_pro_hover']);
break;
case 'stargate':
procontotal += Number(values[id + '_stargate_pro_portal']);
output[id + '_traitrank'] = 0;
rankspurchased = 1;
break;
case 'stretching':
output[id + '_traitrank'] = 0;
rankspurchased = 1;
if (values[id + '_stretchingrange'] == 'close') costperrank = 1;
if (values[id + '_stretchingrange'] == 'distant') costperrank = 3;
if (values[id + '_stretchingrange'] == 'extreme') costperrank = 6;
procontotal += Number(values[id + '_stretching_con_longreach']);
break;
case 'strike':
procontotal += Number(values[id + '_strike_pro_deflect']) + Number(values[id + '_strike_pro_deflectmissiles']) + Number(values[id + '_strike_pro_reachthrow']) + Number(values[id + '_strike_pro_sweep']) + Number(values[id + '_strike_con_subdual']) + Number(values[id + '_strike_con_weapons']);
rankspurchased -= Math.max(values.might, martialartstemp);
break;
case 'summoning':
costperrank = Math.ceil(values[id + '_summoningthreat'] / 2) + Number(values[id + '_summoning_pro_animals_narrow']) + Number(values[id + '_summoning_pro_animals_wide']) + Number(values[id + '_summoning_pro_automatons']) + Number(values[id + '_summoning_pro_duplicates']) + Number(values[id + '_summoning_pro_shooters']) + Number(values[id + '_summoning_pro_unique_minor']) + Number(values[id + '_summoning_pro_unique_moderate']) + Number(values[id + '_summoning_pro_unique_major']);
break;
case 'supersenses':
procontotal += Number(values[id + '_supersenses_analyticx']) + Number(values[id + '_supersenses_astralsight']) + Number(values[id + '_supersenses_circularvision']) + Number(values[id + '_supersenses_enhancedhearing']) + Number(values[id + '_supersenses_hypersensitivetouch']) + Number(values[id + '_supersenses_liedetection']) + Number(values[id + '_supersenses_microscopicvision']) + Number(values[id + '_supersenses_nightvision']) + Number(values[id + '_supersenses_radiohearing']) + Number(values[id + '_supersenses_telescopicvision']) + Number(values[id + '_supersenses_thermalvision']) + Number(values[id + '_supersenses_trackingscent']) + Number(values[id + '_supersenses_truesight']) + Number(values[id + '_supersenses_ultravision']) + Number(values[id + '_supersenses_xrayvision']);
output[id + '_traitrank'] = Math.max(values.perception, Number(values[id + '_supersenses_acutex']));
rankspurchased -= values.perception;
break;
case 'swimming':
procontotal += Number(values[id + '_swimming_con_lungs']);
break;
case 'swingline':
procontotal += Number(values[id + '_swingline_con_natural']);
break;
case 'telekinesis':
procontotal += Number(values[id + '_telekinesis_con_impel']);
break;
case 'telepathy':
procontotal += Number(values[id + '_telepathy_pro_altermemories']) + Number(values[id + '_telepathy_pro_cloakothers']) + Number(values[id + '_telepathy_pro_dreamtravel']) + Number(values[id + '_telepathy_pro_mindlink']) + Number(values[id + '_telepathy_pro_empathy']);
break;
case 'teleportation':
procontotal += Number(values[id + '_teleportation_pro_portal']) + Number(values[id + '_teleportation_con_medium']);
break;
case 'timetravel':
procontotal += Number(values[id + '_timetravel_pro_portal']);
output[id + '_traitrank'] = 0;
rankspurchased = 1;
break;
case 'totalrecall':
procontotal += Number(values[id + '_totalrecall_pro_playback']);
output[id + '_traitrank'] = 0;
rankspurchased = 1;
break;
case 'tracer':
procontotal += Number(values[id + '_tracer_pro_tracking']);
output[id + '_traitrank'] = 0;
rankspurchased = 1;
break;
case 'transformation':
costperrank = 2;
if (values[id + '_transformationtype'] == 'animalforms') {
procontotal += Number(values[id + '_transformation_pro_enhanced']) + Number(values[id + '_transformation_con_onlyxbroad']) + Number(values[id + '_transformation_con_onlyxnarrow']);
}
if (values[id + '_transformationtype'] == 'doppelganger') {
costperrank = 6;
output[id + '_traitrank'] = 0;
rankspurchased = 1;
}
break;
case 'twofisted':
procontotal += Number(values[id + '_twofisted_con_fightingmarksmanship']);
output[id + '_traitrank'] = 0;
rankspurchased = 1;
break;
case 'variant':
rankspurchased = 1;
break;
case 'astralprojection':
case 'attuned':
case 'blending':
case 'blindfighting':
case 'clairvoyance':
case 'communications':
case 'darkness':
case 'duplication':
case 'extralimbs':
case 'hardtokill':
case 'hibernation':
case 'leadership':
case 'lighteffect':
case 'masterofdisguise':
case 'portablestorehouse':
case 'precognition':
case 'preparation':
case 'psychometry':
case 'separation':
case 'specialty':
case 'twodimensional':
case 'vanish':
case 'ventriloquism':
case 'weaknessdetection':
output[id + '_traitrank'] = 0;
rankspurchased = 1;
break;
}
procontotal += Number(values[id + '_pro_affectinanimate']) + Number(values[id + '_pro_armorpiercing']) + Number(values[id + '_con_buildup']) + Number(values[id + '_con_burnout']) + Number(values[id + '_pro_carrierattack']) + Number(values[id + '_con_charges']) + Number(values[id + '_pro_close']) + Number(values[id + '_con_close']) + Number(values[id + '_con_concentration']) + Number(values[id + '_con_conditional']) + Number(values[id + '_con_constant']) + Number(values[id + '_pro_contagious']) + Number(values[id + '_con_costly']) + Number(values[id + '_con_degrades']) + Number(values[id + '_con_delay']) + Number(values[id + '_con_exclusive']) + Number(values[id + '_pro_expansive']) + Number(values[id + '_pro_fuse']) + Number(values[id + '_con_harmful']) + Number(values[id + '_pro_imbue']) + Number(values[id + '_pro_independent']) + Number(values[id + '_con_item']) + Number(values[id + '_con_limited']) + Number(values[id + '_pro_lineofsight']) + Number(values[id + '_pro_ongoing']) + Number(values[id + '_con_onlyinanimate']) + Number(values[id + '_pro_overload']) + Number(values[id + '_pro_penetrating']) + Number(values[id + '_pro_phaseshift']) + Number(values[id + '_pro_ranged']) + Number(values[id + '_con_readied']) + Number(values[id + '_con_recharge']) + Number(values[id + '_pro_resisted']) + Number(values[id + '_pro_richochet']) + Number(values[id + '_pro_selective']) + Number(values[id + '_con_shutdown']) + Number(values[id + '_con_sideeffect']) + Number(values[id + '_con_signature']) + Number(values[id + '_pro_subtleundetectable']) + Number(values[id + '_con_sustained']) + Number(values[id + '_con_touch']) + Number(values[id + '_con_toxin']) + Number(values[id + '_pro_trap']) + Number(values[id + '_con_twohanded']) + Number(values[id + '_con_uncontrolled']) + Number(values[id + '_con_unreliable']);
if (values[id + '_pro_areaofeffect'] == 'none') procontotal += 0;
else if (values[id + '_pro_areaofeffect'] =='burst' || values[id + '_pro_areaofeffect'] =='novaranged') procontotal += 1;
else if (values[id + '_pro_areaofeffect'] =='area' || values[id + '_pro_areaofeffect'] =='novatouch' || values[id + '_pro_areaofeffect'] =='zoneranged') procontotal += 2;
else if (values[id + '_pro_areaofeffect'] =='zonetouch') procontotal += 4;
if (costperrank == 1 && Number(values[id + '_con_overkill']) == -1) costperrank = 0.5;
else if (costperrank > 1 && Number(values[id + '_con_overkill']) == -1) costperrank -= 1;
if (costperrank == 1 && Number(values[id + '_con_weak']) == -1) costperrank = 0.5;
else if (costperrank > 1 && Number(values[id + '_con_weak']) == -1) costperrank -= 1;
output[id + '_proconhidden'] = Number(procontotal);
output[id + '_costperrankhidden'] = Number(costperrank);
output[id + '_supertraitranksboughthidden'] = Number(rankspurchased);
output[id + '_supertraitcosthidden'] = Number(rankspurchased * costperrank) + Number(procontotal);
heropointtotal += Number(rankspurchased * costperrank) + Number(procontotal);
});
repeatingitemid.forEach(id => {
rankspurchased = Number(values[id + '_traitrank']);
costperrank = 0;
procontotal = Number(values[id + '_proconother']) + Number(values[id + '_pro_affectinanimate']) + Number(values[id + '_pro_armorpiercing']) + Number(values[id + '_con_buildup']) + Number(values[id + '_con_burnout']) + Number(values[id + '_pro_carrierattack']) + Number(values[id + '_con_charges']) + Number(values[id + '_pro_close']) + Number(values[id + '_con_close']) + Number(values[id + '_con_concentration']) + Number(values[id + '_con_conditional']) + Number(values[id + '_con_constant']) + Number(values[id + '_pro_contagious']) + Number(values[id + '_con_costly']) + Number(values[id + '_con_degrades']) + Number(values[id + '_con_delay']) + Number(values[id + '_con_exclusive']) + Number(values[id + '_pro_expansive']) + Number(values[id + '_pro_fuse']) + Number(values[id + '_con_harmful']) + Number(values[id + '_pro_imbue']) + Number(values[id + '_pro_independent']) + Number(values[id + '_con_item']) + Number(values[id + '_con_limited']) + Number(values[id + '_pro_lineofsight']) + Number(values[id + '_pro_ongoing']) + Number(values[id + '_con_onlyinanimate']) + Number(values[id + '_pro_overload']) + Number(values[id + '_pro_penetrating']) + Number(values[id + '_pro_phaseshift']) + Number(values[id + '_pro_ranged']) + Number(values[id + '_con_readied']) + Number(values[id + '_con_recharge']) + Number(values[id + '_pro_resisted']) + Number(values[id + '_pro_richochet']) + Number(values[id + '_pro_selective']) + Number(values[id + '_con_shutdown']) + Number(values[id + '_con_sideeffect']) + Number(values[id + '_con_signature']) + Number(values[id + '_pro_subtleundetectable']) + Number(values[id + '_con_sustained']) + Number(values[id + '_con_touch']) + Number(values[id + '_con_toxin']) + Number(values[id + '_pro_trap']) + Number(values[id + '_con_twohanded']) + Number(values[id + '_con_uncontrolled']) + Number(values[id + '_con_unreliable']);
procontotal += Number(values[id + '_accurate']) + Number(values[id + '_veryaccurate']) + Number(values[id + '_bonded']) + Number(values[id + '_collapsible']) + Number(values[id + '_concealed']) + Number(values[id + '_deflecting']) + Number(values[id + '_fitted']) + Number(values[id + '_hardened']) + Number(values[id + '_masterpiece']) + Number(values[id + '_powerful']) + Number(values[id + '_verypowerful']) + Number(values[id + '_reinforced']) + Number(values[id + '_silenced']) + Number(values[id + '_upgraded']);
if (values[id + '_pro_areaofeffect'] == 'none') procontotal += 0;
else if (values[id + '_pro_areaofeffect'] =='burst' || values[id + '_pro_areaofeffect'] =='novaranged') procontotal += 1;
else if (values[id + '_pro_areaofeffect'] =='area' || values[id + '_pro_areaofeffect'] =='novatouch' || values[id + '_pro_areaofeffect'] =='zoneranged') procontotal += 2;
else if (values[id + '_pro_areaofeffect'] =='zonetouch') procontotal += 4;
procontotal = Math.max(0, Number(procontotal));
output[id + '_proconhidden'] = Number(procontotal);
heropointtotal += Number(procontotal);
});
output["heropointsbox"] = Number(Math.ceil(heropointtotal));
} // end of if statement cheching if autocalculate is checked
await setAttrsAsync(output);
console.log('Hero Points and Edge Recalculated')
});
// Update max HP when might, toughness, or willpower are modified as well as when the sheet opens
on("sheet:opened change:might change:toughness change:willpower", function() {
getAttrs(["might", "toughness", "willpower"], function(values) {
setAttrs({
maxhealthbox: Math.max(Math.ceil(values.toughness / 2 + values.might / 2), Math.ceil(values.toughness / 2 + values.willpower / 2))
});
console.log('Health Recalculated')
});
});
// Reveals and hides the reset sheet buttons
on("clicked:reset1", function() {
getAttrs(["show_reset"], function(values) {
var output = {};
if (values['show_reset'] != '1') output['show_reset'] = '1';
else output['show_reset'] = '';
setAttrs(output);
});
});
// Resets the sheet by deleting/setting all attributes to their default values (or at least to the values specified below)
on("clicked:reset2", function() {
getSectionIDs('repeating_supertraits', function (ids) {
ids.forEach(id => {
removeRepeatingRow('repeating_supertraits_' + String(id));
});
});
getSectionIDs('repeating_supertraitsother', function (ids) {
ids.forEach(id => {
removeRepeatingRow('repeating_supertraitsother_' + String(id));
});
});
getSectionIDs('repeating_items', function (ids) {
ids.forEach(id => {
removeRepeatingRow('repeating_items_' + String(id));
});
});
getSectionIDs('repeating_itemsother', function (ids) {
ids.forEach(id => {
removeRepeatingRow('repeating_itemsother_' + String(id));
});
});
getSectionIDs('repeating_vehicletraits', function (ids) {
ids.forEach(id => {
removeRepeatingRow('repeating_vehicletraits_' + String(id));
});
});
getSectionIDs('repeating_vehicletraitsother', function (ids) {
ids.forEach(id => {
removeRepeatingRow('repeating_vehicletraitsother_' + String(id));
});
});
getSectionIDs('repeating_flaws', function (ids) {
ids.forEach(id => {
removeRepeatingRow('repeating_flaws_' + String(id));
});
});
getSectionIDs('repeating_perks', function (ids) {
ids.forEach(id => {
removeRepeatingRow('repeating_perks_' + String(id));
});
});
setAttrs({'show_reset' : '', "health_max_manual" : 0, "health" : 0, "resolve-show" : 1, "resolve_max_manual" : 0, "resolve" : 0, "traitcap" : 12, "edge_manual" : 0, "heropoints-show" : 1, "heropoints_max" : '', "heropoints_manual" : 0, "heropackage" : 0, "academics" : 2, "agility" : 2, "charm" : 2, "command" : 2, "covert" : 2, "intellect" : 2, "investigation" : 2, "medicine" : 2, "might" : 2, "perception" : 2, "professional" : 2, "science" : 2, "streetwise" : 2, "survival" : 2, "technology" : 2, "toughness" : 2, "vehicles" : 2, "willpower" : 2, "character_name" : '', "alias" : '', "herogroup" : '', "motivation" : '', "calculate_health" : 1, "calculate_resolve" : 1, "calculate_edge" : 1, "calculate_heropoints" : 1, "hideskills" : '', "hidetraits" : '', "hideitems" : '', "hidevehicles" : '', "hideoptions" : 1, "quote" : '', "herodesc" : '', "civdesc" : '', "details" : '', "connections" : '', "orign" : '', "notes" : ''});
console.log('Sheet Reset')
});
// On button press copies the values from the left super trait column to the right column
on("clicked:repeating_supertraits:shift", async (eventInfo)=>{
console.log('Shift initiated Left to Right')
var newid = generateRowID();
ids = await getSectionIDsAsync('repeating_supertraitsother');
while (newid in ids) {
newid = generateRowID();
}
const single_output = "repeating_supertraitsother_" + String(newid) + '_supertrait-show';
setAttrs({single_output : '1'});
attributelist = ['repeating_supertraits_supertrait', 'repeating_supertraits_traitrank', 'repeating_supertraits_procontotal', 'repeating_supertraits_supertraitranksbought', 'repeating_supertraits_traitnotes', 'repeating_supertraits_extratraitnotes', 'repeating_supertraits_supertraitcosthidden', 'repeating_supertraits_supertraitranksboughthidden', 'repeating_supertraits_proconhidden', 'repeating_supertraits_supertrait-show', 'repeating_supertraits_power', 'repeating_supertraits_traitrank', 'repeating_supertraits_costperrankhidden', 'repeating_supertraits_animalcontrol_pro_calling', 'repeating_supertraits_animalcontrol_con_onlyxbroad', 'repeating_supertraits_animalcontrol_con_onlyxnarrow', 'repeating_supertraits_animalmimicry_pro_enhanced', 'repeating_supertraits_animalmimicry_pro_selection', 'repeating_supertraits_aura_con_spines', 'repeating_supertraits_blast_pro_calling', 'repeating_supertraits_blast_pro_melee', 'repeating_supertraits_blast_con_subdual', 'repeating_supertraits_blast_con_weapons', 'repeating_supertraits_alternateform_con_independent', 'repeating_supertraits_animalempathy_pro_speach', 'repeating_supertraits_armor_con_activated', 'repeating_supertraits_armor_con_reactive', 'repeating_supertraits_animalcontrol_pro_calling', 'repeating_supertraits_animalcontrol_con_onlyxbroad', 'repeating_supertraits_animalcontrol_con_onlyxnarrow', 'repeating_supertraits_animalmimicry_pro_enhanced', 'repeating_supertraits_animalmimicry_pro_selection', 'repeating_supertraits_aura_con_spines', 'repeating_supertraits_blast_pro_calling', 'repeating_supertraits_blast_pro_melee', 'repeating_supertraits_blast_con_subdual', 'repeating_supertraits_blast_con_weapons', 'repeating_supertraits_boostedtrait', 'repeating_supertraits_buff_pro_greater', 'repeating_supertraits_constructs_pro_devices', 'repeating_supertraits_dazzle_con_deafen', 'repeating_supertraits_deflection_con_onlyx', 'repeating_supertraits_detection_pro_longrange', 'repeating_supertraits_dimensionaltravel_pro_portal', 'repeating_supertraits_dispel_pro_alsox', 'repeating_supertraits_drain_con_onlyxbroad', 'repeating_supertraits_drain_con_onlyxnarrow', 'repeating_supertraits_drain_pro_alsox', 'repeating_supertraits_elementalcontrol_pro_mattercreation', 'repeating_supertraits_elementalcontrol_con_onlycontrol', 'repeating_supertraits_emotioncontrol_con_onlyx', 'repeating_supertraits_emotioncontrol_con_pheomones', 'repeating_supertraits_energyabsorption_pro_alsox', 'repeating_supertraits_energyabsorptionkinetic', 'repeating_supertraits_ensnare_pro_line', 'repeating_supertraits_ensnare_con_immobilize', 'repeating_supertraits_expertisetrait', 'repeating_supertraits_expertise_combat_skill', 'repeating_supertraits_flight_pro_spaceflight', 'repeating_supertraits_flight_con_gliding', 'repeating_supertraits_flight_con_levitation', 'repeating_supertraits_flight_con_slides', 'repeating_supertraits_flight_con_wings', 'repeating_supertraits_forcefield_pro_permeable', 'repeating_supertraits_forcefield_con_collapsible', 'repeating_supertraits_forcefield_con_ward', 'repeating_supertraits_forcefield_pro_inviolate', 'repeating_supertraits_form_energyform_pro_alsox', 'repeating_supertraits_formtype', 'repeating_supertraits_gestalt_alteregos', 'repeating_supertraits_healing_pro_repair', 'repeating_supertraits_hyperbreath_pro_freezing', 'repeating_supertraits_illusions_pro_mental', 'repeating_supertraits_immortality_con_vulnerable', 'repeating_supertraits_inanimate_pro_mindless', 'repeating_supertraits_invisibility_pro_cloaking', 'repeating_supertraits_invisibility_pro_jamming', 'repeating_supertraits_languages_pro_hypertranslation', 'repeating_supertraits_languages_pro_polyglot', 'repeating_supertraits_lifedrain_pro_vampirism', 'repeating_supertraits_lightningreflexes_con_fightingmarksmanship', 'repeating_supertraits_luck_pro_control', 'repeating_supertraits_luck_pro_unbelievable', 'repeating_supertraits_machinecontrol_con_interface', 'repeating_supertraits_martialarts_pro_deflect', 'repeating_supertraits_martialarts_pro_deflectmissiles', 'repeating_supertraits_mindcontrol_con_hypnosis', 'repeating_supertraits_mindcontrol_con_pheromones', 'repeating_supertraits_nullify_pro_alsox', 'repeating_supertraits_phasing_pro_intangible', 'repeating_supertraits_possession_pro_meld', 'repeating_supertraits_powerabsorption_con_onlyxbroad', 'repeating_supertraits_powerabsorption_con_onlyxnarrow', 'repeating_supertraits_powerabsorption_pro_alsox', 'repeating_supertraits_powermimicry_pro_alsox', 'repeating_supertraits_powermimicry_con_onlyxbroad', 'repeating_supertraits_powermimicry_con_onlyxnarrow', 'repeating_supertraits_psiscreen_pro_cloakmind', 'repeating_supertraits_quickchange_con_costume', 'repeating_supertraits_radar_con_sonar', 'repeating_supertraits_radar_con_tremorsense', 'repeating_supertraits_regeneration_pro_fast', 'repeating_supertraits_regeneration_pro_instant', 'repeating_supertraits_running_pro_hover', 'repeating_supertraits_stargate_pro_portal', 'repeating_supertraits_omnipowertype', 'repeating_supertraits_stretchingrange', 'repeating_supertraits_stretching_con_longreach', 'repeating_supertraits_strike_pro_deflect', 'repeating_supertraits_strike_pro_deflectmissiles', 'repeating_supertraits_strike_pro_reachthrow', 'repeating_supertraits_strike_pro_sweep', 'repeating_supertraits_strike_con_subdual', 'repeating_supertraits_strike_con_weapons', 'repeating_supertraits_summoningthreat', 'repeating_supertraits_summoning_pro_animals_narrow', 'repeating_supertraits_summoning_pro_animals_wide', 'repeating_supertraits_summoning_pro_automatons', 'repeating_supertraits_summoning_pro_duplicates', 'repeating_supertraits_summoning_pro_shooters', 'repeating_supertraits_summoning_pro_unique_minor', 'repeating_supertraits_summoning_pro_unique_moderate', 'repeating_supertraits_summoning_pro_unique_major', 'repeating_supertraits_supersenses_acutex', 'repeating_supertraits_supersenses_analyticx', 'repeating_supertraits_supersenses_astralsight', 'repeating_supertraits_supersenses_circularvision', 'repeating_supertraits_supersenses_enhancedhearing', 'repeating_supertraits_supersenses_hypersensitivetouch', 'repeating_supertraits_supersenses_liedetection', 'repeating_supertraits_supersenses_microscopicvision', 'repeating_supertraits_supersenses_nightvision', 'repeating_supertraits_supersenses_radiohearing', 'repeating_supertraits_supersenses_telescopicvision', 'repeating_supertraits_supersenses_thermalvision', 'repeating_supertraits_supersenses_trackingscent', 'repeating_supertraits_supersenses_truesight', 'repeating_supertraits_supersenses_ultravision', 'repeating_supertraits_supersenses_xrayvision', 'repeating_supertraits_swimming_con_lungs', 'repeating_supertraits_swingline_con_natural', 'repeating_supertraits_telekinesis_con_impel', 'repeating_supertraits_telepathy_pro_altermemories', 'repeating_supertraits_telepathy_pro_cloakothers', 'repeating_supertraits_telepathy_pro_dreamtravel', 'repeating_supertraits_telepathy_pro_empathy', 'repeating_supertraits_telepathy_pro_mindlink', 'repeating_supertraits_teleportation_pro_portal', 'repeating_supertraits_teleportation_con_medium', 'repeating_supertraits_timetravel_pro_portal', 'repeating_supertraits_totalrecall_pro_playback', 'repeating_supertraits_tracer_pro_tracking', 'repeating_supertraits_transformation_pro_enhanced', 'repeating_supertraits_transformation_con_onlyxbroad', 'repeating_supertraits_transformation_con_onlyxnarrow', 'repeating_supertraits_transformationtype', 'repeating_supertraits_twofisted_con_fightingmarksmanship', 'repeating_supertraits_pro_affectinanimate', 'repeating_supertraits_pro_areaofeffect', 'repeating_supertraits_pro_armorpiercing', 'repeating_supertraits_con_buildup', 'repeating_supertraits_con_burnout', 'repeating_supertraits_pro_armorpiercing', 'repeating_supertraits_con_buildup', 'repeating_supertraits_con_burnout', 'repeating_supertraits_pro_carrierattack', 'repeating_supertraits_con_charges', 'repeating_supertraits_pro_close', 'repeating_supertraits_con_close', 'repeating_supertraits_con_concentration', 'repeating_supertraits_con_conditional', 'repeating_supertraits_con_constant', 'repeating_supertraits_pro_contagious', 'repeating_supertraits_con_costly', 'repeating_supertraits_con_degrades', 'repeating_supertraits_con_delay', 'repeating_supertraits_con_exclusive', 'repeating_supertraits_pro_expansive', 'repeating_supertraits_pro_fuse', 'repeating_supertraits_con_harmful', 'repeating_supertraits_pro_imbue', 'repeating_supertraits_pro_independent', 'repeating_supertraits_con_item', 'repeating_supertraits_con_limited', 'repeating_supertraits_pro_lineofsight', 'repeating_supertraits_pro_ongoing', 'repeating_supertraits_con_onlyinanimate', 'repeating_supertraits_con_overkill', 'repeating_supertraits_pro_overload', 'repeating_supertraits_pro_penetrating', 'repeating_supertraits_pro_phaseshift', 'repeating_supertraits_pro_ranged', 'repeating_supertraits_con_readied', 'repeating_supertraits_con_recharge', 'repeating_supertraits_pro_resisted', 'repeating_supertraits_pro_richochet', 'repeating_supertraits_pro_selective', 'repeating_supertraits_con_shutdown', 'repeating_supertraits_con_sideeffect', 'repeating_supertraits_con_signature', 'repeating_supertraits_pro_subtleundetectable', 'repeating_supertraits_con_sustained', 'repeating_supertraits_con_touch', 'repeating_supertraits_con_toxin', 'repeating_supertraits_pro_trap', 'repeating_supertraits_con_twohanded', 'repeating_supertraits_con_uncontrolled', 'repeating_supertraits_con_unreliable', 'repeating_supertraits_con_weak'];
var values = await getAttrsAsync(attributelist);
const output = {};
let oldid = eventInfo.triggerName.slice(8, 50);
output["repeating_supertraitsother_" + String(newid) + '_procontotal'] = values.repeating_supertraits_procontotal;
output["repeating_supertraitsother_" + String(newid) + '_supertrait_other'] = values.repeating_supertraits_supertrait;
output["repeating_supertraitsother_" + String(newid) + '_supertraitranksbought'] = values.repeating_supertraits_supertraitranksbought;
output["repeating_supertraitsother_" + String(newid) + '_traitnotes_other'] = values.repeating_supertraits_traitnotes;
output["repeating_supertraitsother_" + String(newid) + '_extratraitnotes_other'] = values.repeating_supertraits_extratraitnotes;
output["repeating_supertraitsother_" + String(newid) + '_supertrait-show'] = values['repeating_supertraits_supertrait-show'];
output["repeating_supertraitsother_" + String(newid) + '_power'] = values.repeating_supertraits_power;
output["repeating_supertraitsother_" + String(newid) + '_traitrank'] = values.repeating_supertraits_traitrank;
switch (values.repeating_supertraits_power) {
case 'alternateform':
output["repeating_supertraitsother_" + String(newid) + '_alternateform_con_independent'] = values.repeating_supertraits_alternateform_con_independent;
break;
case 'animalempathy':
output["repeating_supertraitsother_" + String(newid) + '_animalempathy_pro_speach'] = values.repeating_supertraits_animalempathy_pro_speach;
break;
case 'armor':
output["repeating_supertraitsother_" + String(newid) + '_armor_con_activated'] = values.repeating_supertraits_armor_con_activated;
output["repeating_supertraitsother_" + String(newid) + '_armor_con_reactive'] = values.repeating_supertraits_armor_con_reactive;
break;
case 'animalcontrol':
output["repeating_supertraitsother_" + String(newid) + '_animalcontrol_pro_calling'] = values.repeating_supertraits_animalcontrol_pro_calling;
output["repeating_supertraitsother_" + String(newid) + '_animalcontrol_con_onlyxbroad'] = values.repeating_supertraits_animalcontrol_con_onlyxbroad;
output["repeating_supertraitsother_" + String(newid) + '_animalcontrol_con_onlyxnarrow'] = values.repeating_supertraits_animalcontrol_con_onlyxnarrow;
break;
case 'animalmimicry':
output["repeating_supertraitsother_" + String(newid) + '_animalmimicry_pro_enhanced'] = values.repeating_supertraits_animalmimicry_pro_enhanced;
output["repeating_supertraitsother_" + String(newid) + '_animalmimicry_pro_selection'] = values.repeating_supertraits_animalmimicry_pro_selection;
break;
case 'aura':
output["repeating_supertraitsother_" + String(newid) + '_aura_con_spines'] = values.repeating_supertraits_aura_con_spines;
break;
case 'blast':
output["repeating_supertraitsother_" + String(newid) + '_blast_pro_calling'] = values.repeating_supertraits_blast_pro_calling;
output["repeating_supertraitsother_" + String(newid) + '_blast_pro_melee'] = values.repeating_supertraits_blast_pro_melee;
output["repeating_supertraitsother_" + String(newid) + '_blast_con_subdual'] = values.repeating_supertraits_blast_con_subdual;
output["repeating_supertraitsother_" + String(newid) + '_blast_con_weapons'] = values.repeating_supertraits_blast_con_weapons;
break;
case 'boost':
output["repeating_supertraitsother_" + String(newid) + '_boostedtrait'] = values.repeating_supertraits_boostedtrait;
output["repeating_supertraitsother_" + String(newid) + '_boost_con_rage'] = values.repeating_supertraits_boost_con_rage;
break;
case 'buff':
output["repeating_supertraitsother_" + String(newid) + '_buff_pro_greater'] = values.repeating_supertraits_buff_pro_greater;
break;
case 'constructs':
output["repeating_supertraitsother_" + String(newid) + '_constructs_pro_devices'] = values.repeating_supertraits_constructs_pro_devices;
break;
case 'dazzle':
output["repeating_supertraitsother_" + String(newid) + '_dazzle_con_deafen'] = values.repeating_supertraits_dazzle_con_deafen;
break;
case 'deflection':
output["repeating_supertraitsother_" + String(newid) + '_deflection_con_onlyx'] = values.repeating_supertraits_deflection_con_onlyx;
break;
case 'detection':
output["repeating_supertraitsother_" + String(newid) + '_detection_pro_longrange'] = values.repeating_supertraits_detection_pro_longrange;
break;
case 'dimensionaltravel':
output["repeating_supertraitsother_" + String(newid) + '_dimensionaltravel_pro_portal'] = values.repeating_supertraits_dimensionaltravel_pro_portal;
break;
case 'dispel':
output["repeating_supertraitsother_" + String(newid) + '_dispel_pro_alsox'] = values.repeating_supertraits_dispel_pro_alsox;
break;
case 'drain':
output["repeating_supertraitsother_" + String(newid) + '_drain_con_onlyxbroad'] = values.repeating_supertraits_drain_con_onlyxbroad;
output["repeating_supertraitsother_" + String(newid) + '_drain_con_onlyxnarrow'] = values.repeating_supertraits_drain_con_onlyxnarrow;
output["repeating_supertraitsother_" + String(newid) + '_drain_pro_alsox'] = values.repeating_supertraits_drain_pro_alsox;
break;
case 'elementalcontrol':
output["repeating_supertraitsother_" + String(newid) + '_elementalcontrol_pro_mattercreation'] = values.repeating_supertraits_elementalcontrol_pro_mattercreation;
output["repeating_supertraitsother_" + String(newid) + '_elementalcontrol_con_onlycontrol'] = values.repeating_supertraits_elementalcontrol_con_onlycontrol;
break;
case 'emotioncontrol':
output["repeating_supertraitsother_" + String(newid) + '_emotioncontrol_con_onlyx'] = values.repeating_supertraits_emotioncontrol_con_onlyx;
output["repeating_supertraitsother_" + String(newid) + '_emotioncontrol_con_pheomones'] = values.repeating_supertraits_emotioncontrol_con_pheomones;
break;
case 'energyabsorption':
output["repeating_supertraitsother_" + String(newid) + '_energyabsorption_pro_alsox'] = values.repeating_supertraits_energyabsorption_pro_alsox;
output["repeating_supertraitsother_" + String(newid) + '_energyabsorptionkinetic'] = values.repeating_supertraits_energyabsorptionkinetic;
break;
case 'ensnare':
output["repeating_supertraitsother_" + String(newid) + '_ensnare_pro_line'] = values.repeating_supertraits_ensnare_pro_line;
output["repeating_supertraitsother_" + String(newid) + '_ensnare_con_immobilize'] = values.repeating_supertraits_ensnare_con_immobilize;
break;
case 'expertise':
output["repeating_supertraitsother_" + String(newid) + '_expertisetrait'] = values.repeating_supertraits_expertisetrait;
output["repeating_supertraitsother_" + String(newid) + '_expertise_combat_skill'] = values.repeating_supertraits_expertise_combat_skill;
break;
case 'flight':
output["repeating_supertraitsother_" + String(newid) + '_flight_pro_spaceflight'] = values.repeating_supertraits_flight_pro_spaceflight;
output["repeating_supertraitsother_" + String(newid) + '_flight_con_gliding'] = values.repeating_supertraits_flight_con_gliding;
output["repeating_supertraitsother_" + String(newid) + '_flight_con_levitation'] = values.repeating_supertraits_flight_con_levitation;
output["repeating_supertraitsother_" + String(newid) + '_flight_con_slides'] = values.repeating_supertraits_flight_con_slides;
output["repeating_supertraitsother_" + String(newid) + '_flight_con_wings'] = values.repeating_supertraits_flight_con_wings;
break;
case 'forcefield':
output["repeating_supertraitsother_" + String(newid) + '_forcefield_pro_permeable'] = values.repeating_supertraits_forcefield_pro_permeable;
output["repeating_supertraitsother_" + String(newid) + '_forcefield_con_collapsible'] = values.repeating_supertraits_forcefield_con_collapsible;
output["repeating_supertraitsother_" + String(newid) + '_forcefield_con_ward'] = values.repeating_supertraits_forcefield_con_ward;
output["repeating_supertraitsother_" + String(newid) + '_forcefield_pro_inviolate'] = values.repeating_supertraits_forcefield_pro_inviolate;
break;
case 'form':
output["repeating_supertraitsother_" + String(newid) + '_form_energyform_pro_alsox'] = values.repeating_supertraits_form_energyform_pro_alsox;
output["repeating_supertraitsother_" + String(newid) + '_formtype'] = values.repeating_supertraits_formtype;
break;
case 'gestalt':
output["repeating_supertraitsother_" + String(newid) + '_gestalt_alteregos'] = values.repeating_supertraits_gestalt_alteregos;
break;
case 'healing':
output["repeating_supertraitsother_" + String(newid) + '_healing_pro_repair'] = values.repeating_supertraits_healing_pro_repair;
break;
case 'hyperbreath':
output["repeating_supertraitsother_" + String(newid) + '_hyperbreath_pro_freezing'] = values.repeating_supertraits_hyperbreath_pro_freezing;
break;
case 'illusions':
output["repeating_supertraitsother_" + String(newid) + '_illusions_pro_mental'] = values.repeating_supertraits_illusions_pro_mental;
break;
case 'immortality':
output["repeating_supertraitsother_" + String(newid) + '_immortality_con_vulnerable'] = values.repeating_supertraits_immortality_con_vulnerable;
break;
case 'inanimate':
output["repeating_supertraitsother_" + String(newid) + '_inanimate_pro_mindless'] = values.repeating_supertraits_inanimate_pro_mindless;
break;
case 'invisibility':
output["repeating_supertraitsother_" + String(newid) + '_invisibility_pro_cloaking'] = values.repeating_supertraits_invisibility_pro_cloaking;
output["repeating_supertraitsother_" + String(newid) + '_invisibility_pro_jamming'] = values.repeating_supertraits_invisibility_pro_jamming;
break;
case 'languages':
output["repeating_supertraitsother_" + String(newid) + '_languages_pro_hypertranslation'] = values.repeating_supertraits_languages_pro_hypertranslation;
output["repeating_supertraitsother_" + String(newid) + '_languages_pro_polyglot'] = values.repeating_supertraits_languages_pro_polyglot;
break;
case 'lifedrain':
output["repeating_supertraitsother_" + String(newid) + '_lifedrain_pro_vampirism'] = values.repeating_supertraits_lifedrain_pro_vampirism;
break;
case 'lightningreflexes':
output["repeating_supertraitsother_" + String(newid) + '_lightningreflexes_con_fightingmarksmanship'] = values.repeating_supertraits_lightningreflexes_con_fightingmarksmanship;
break;
case 'luck':
output["repeating_supertraitsother_" + String(newid) + '_luck_pro_control'] = values.repeating_supertraits_luck_pro_control;
output["repeating_supertraitsother_" + String(newid) + '_luck_pro_unbelievable'] = values.repeating_supertraits_luck_pro_unbelievable;
break;
case 'machinecontrol':
output["repeating_supertraitsother_" + String(newid) + '_machinecontrol_con_interface'] = values.repeating_supertraits_machinecontrol_con_interface;
break;
case 'martialarts':
output["repeating_supertraitsother_" + String(newid) + '_martialarts_pro_deflect'] = values.repeating_supertraits_martialarts_pro_deflect;
output["repeating_supertraitsother_" + String(newid) + '_martialarts_pro_deflectmissiles'] = values.repeating_supertraits_martialarts_pro_deflectmissiles;
break;
case 'mindcontrol':
output["repeating_supertraitsother_" + String(newid) + '_mindcontrol_con_hypnosis'] = values.repeating_supertraits_mindcontrol_con_hypnosis;
output["repeating_supertraitsother_" + String(newid) + '_mindcontrol_con_pheromones'] = values.repeating_supertraits_mindcontrol_con_pheromones;
break;
case 'nullify':
output["repeating_supertraitsother_" + String(newid) + '_nullify_pro_alsox'] = values.repeating_supertraits_nullify_pro_alsox;
break;
case 'phasing':
output["repeating_supertraitsother_" + String(newid) + '_phasing_pro_intangible'] = values.repeating_supertraits_phasing_pro_intangible;
break;
case 'possession':
output["repeating_supertraitsother_" + String(newid) + '_possession_pro_meld'] = values.repeating_supertraits_possession_pro_meld;
break;
case 'powerabsorption':
output["repeating_supertraitsother_" + String(newid) + '_powerabsorption_con_onlyxbroad'] = values.repeating_supertraits_powerabsorption_con_onlyxbroad;
output["repeating_supertraitsother_" + String(newid) + '_powerabsorption_con_onlyxnarrow'] = values.repeating_supertraits_powerabsorption_con_onlyxnarrow;
output["repeating_supertraitsother_" + String(newid) + '_powerabsorption_pro_alsox'] = values.repeating_supertraits_powerabsorption_pro_alsox;
break;
case 'powermimicry':
output["repeating_supertraitsother_" + String(newid) + '_powermimicry_pro_alsox'] = values.repeating_supertraits_powermimicry_pro_alsox;
output["repeating_supertraitsother_" + String(newid) + '_powermimicry_con_onlyxbroad'] = values.repeating_supertraits_powermimicry_con_onlyxbroad;
output["repeating_supertraitsother_" + String(newid) + '_powermimicry_con_onlyxnarrow'] = values.repeating_supertraits_powermimicry_con_onlyxnarrow;
break;
case 'psiscreen':
output["repeating_supertraitsother_" + String(newid) + '_psiscreen_pro_cloakmind'] = values.repeating_supertraits_psiscreen_pro_cloakmind;
break;
case 'quickchange':
output["repeating_supertraitsother_" + String(newid) + '_quickchange_con_costume'] = values.repeating_supertraits_quickchange_con_costume;
break;
case 'radar':
output["repeating_supertraitsother_" + String(newid) + '_radar_con_sonar'] = values.repeating_supertraits_radar_con_sonar;
output["repeating_supertraitsother_" + String(newid) + '_radar_con_tremorsense'] = values.repeating_supertraits_radar_con_tremorsense;
break;
case 'regeneration':
output["repeating_supertraitsother_" + String(newid) + '_regeneration_pro_fast'] = values.repeating_supertraits_regeneration_pro_fast;
output["repeating_supertraitsother_" + String(newid) + '_regeneration_pro_instant'] = values.repeating_supertraits_regeneration_pro_instant;
break;
case 'running':
output["repeating_supertraitsother_" + String(newid) + '_running_pro_hover'] = values.repeating_supertraits_running_pro_hover;
break;
case 'stargate':
output["repeating_supertraitsother_" + String(newid) + '_stargate_pro_portal'] = values.repeating_supertraits_stargate_pro_portal;
break;
case 'omnipower':
output["repeating_supertraitsother_" + String(newid) + '_omnipowertype'] = values.repeating_supertraits_omnipowertype;
break;
case 'stretching':
output["repeating_supertraitsother_" + String(newid) + '_stretchingrange'] = values.repeating_supertraits_stretchingrange;
output["repeating_supertraitsother_" + String(newid) + '_stretching_con_longreach'] = values.repeating_supertraits_stretching_con_longreach;
break;
case 'strike':
output["repeating_supertraitsother_" + String(newid) + '_strike_pro_deflect'] = values.repeating_supertraits_strike_pro_deflect;
output["repeating_supertraitsother_" + String(newid) + '_strike_pro_deflectmissiles'] = values.repeating_supertraits_strike_pro_deflectmissiles;
output["repeating_supertraitsother_" + String(newid) + '_strike_pro_reachthrow'] = values.repeating_supertraits_strike_pro_reachthrow;
output["repeating_supertraitsother_" + String(newid) + '_strike_pro_sweep'] = values.repeating_supertraits_strike_pro_sweep;
output["repeating_supertraitsother_" + String(newid) + '_strike_con_subdual'] = values.repeating_supertraits_strike_con_subdual;
output["repeating_supertraitsother_" + String(newid) + '_strike_con_weapons'] = values.repeating_supertraits_strike_con_weapons;
break;
case 'summoning':
output["repeating_supertraitsother_" + String(newid) + '_summoningthreat'] = values.repeating_supertraits_summoningthreat;
output["repeating_supertraitsother_" + String(newid) + '_summoning_pro_animals_narrow'] = values.repeating_supertraits_summoning_pro_animals_narrow;
output["repeating_supertraitsother_" + String(newid) + '_summoning_pro_animals_wide'] = values.repeating_supertraits_summoning_pro_animals_wide;
output["repeating_supertraitsother_" + String(newid) + '_summoning_pro_automatons'] = values.repeating_supertraits_summoning_pro_automatons;
output["repeating_supertraitsother_" + String(newid) + '_summoning_pro_duplicates'] = values.repeating_supertraits_summoning_pro_duplicates;
output["repeating_supertraitsother_" + String(newid) + '_summoning_pro_shooters'] = values.repeating_supertraits_summoning_pro_shooters;
output["repeating_supertraitsother_" + String(newid) + '_summoning_pro_unique_minor'] = values.repeating_supertraits_summoning_pro_unique_minor;
output["repeating_supertraitsother_" + String(newid) + '_summoning_pro_unique_moderate'] = values.repeating_supertraits_summoning_pro_unique_moderate;
output["repeating_supertraitsother_" + String(newid) + '_summoning_pro_unique_major'] = values.repeating_supertraits_summoning_pro_unique_major;
break;
case 'supersenses':
output["repeating_supertraitsother_" + String(newid) + '_supersenses_acutex'] = values.repeating_supertraits_supersenses_acutex;
output["repeating_supertraitsother_" + String(newid) + '_supersenses_analyticx'] = values.repeating_supertraits_supersenses_analyticx;
output["repeating_supertraitsother_" + String(newid) + '_supersenses_astralsight'] = values.repeating_supertraits_supersenses_astralsight;
output["repeating_supertraitsother_" + String(newid) + '_supersenses_circularvision'] = values.repeating_supertraits_supersenses_circularvision;
output["repeating_supertraitsother_" + String(newid) + '_supersenses_enhancedhearing'] = values.repeating_supertraits_supersenses_enhancedhearing;
output["repeating_supertraitsother_" + String(newid) + '_supersenses_hypersensitivetouch'] = values.repeating_supertraits_supersenses_hypersensitivetouch;
output["repeating_supertraitsother_" + String(newid) + '_supersenses_liedetection'] = values.repeating_supertraits_supersenses_liedetection;
output["repeating_supertraitsother_" + String(newid) + '_supersenses_microscopicvision'] = values.repeating_supertraits_supersenses_microscopicvision;
output["repeating_supertraitsother_" + String(newid) + '_supersenses_nightvision'] = values.repeating_supertraits_supersenses_nightvision;
output["repeating_supertraitsother_" + String(newid) + '_supersenses_radiohearing'] = values.repeating_supertraits_supersenses_radiohearing;
output["repeating_supertraitsother_" + String(newid) + '_supersenses_telescopicvision'] = values.repeating_supertraits_supersenses_telescopicvision;
output["repeating_supertraitsother_" + String(newid) + '_supersenses_thermalvision'] = values.repeating_supertraits_supersenses_thermalvision;
output["repeating_supertraitsother_" + String(newid) + '_supersenses_trackingscent'] = values.repeating_supertraits_supersenses_trackingscent;
output["repeating_supertraitsother_" + String(newid) + '_supersenses_truesight'] = values.repeating_supertraits_supersenses_truesight;
output["repeating_supertraitsother_" + String(newid) + '_supersenses_ultravision'] = values.repeating_supertraits_supersenses_ultravision;
output["repeating_supertraitsother_" + String(newid) + '_supersenses_xrayvision'] = values.repeating_supertraits_supersenses_xrayvision;
break;
case 'swimming':
output["repeating_supertraitsother_" + String(newid) + '_swimming_con_lungs'] = values.repeating_supertraits_swimming_con_lungs;
break;
case 'swingline':
output["repeating_supertraitsother_" + String(newid) + '_swingline_con_natural'] = values.repeating_supertraits_swingline_con_natural;
break;
case 'telekinesis':
output["repeating_supertraitsother_" + String(newid) + '_telekinesis_con_impel'] = values.repeating_supertraits_telekinesis_con_impel;
break;
case 'telepathy':
output["repeating_supertraitsother_" + String(newid) + '_telepathy_pro_altermemories'] = values.repeating_supertraits_telepathy_pro_altermemories;
output["repeating_supertraitsother_" + String(newid) + '_telepathy_pro_cloakothers'] = values.repeating_supertraits_telepathy_pro_cloakothers;
output["repeating_supertraitsother_" + String(newid) + '_telepathy_pro_dreamtravel'] = values.repeating_supertraits_telepathy_pro_dreamtravel;
output["repeating_supertraitsother_" + String(newid) + '_telepathy_pro_empathy'] = values.repeating_supertraits_telepathy_pro_empathy;
output["repeating_supertraitsother_" + String(newid) + '_telepathy_pro_mindlink'] = values.repeating_supertraits_telepathy_pro_mindlink;
output["repeating_supertraitsother_" + String(newid) + '_teleportation_pro_portal'] = values.repeating_supertraits_teleportation_pro_portal;
output["repeating_supertraitsother_" + String(newid) + '_teleportation_con_medium'] = values.repeating_supertraits_teleportation_con_medium;
break;
case 'timetravel':
output["repeating_supertraitsother_" + String(newid) + '_timetravel_pro_portal'] = values.repeating_supertraits_timetravel_pro_portal;
break;
case 'totalrecall':
output["repeating_supertraitsother_" + String(newid) + '_totalrecall_pro_playback'] = values.repeating_supertraits_totalrecall_pro_playback;
break;
case 'tracer':
output["repeating_supertraitsother_" + String(newid) + '_tracer_pro_tracking'] = values.repeating_supertraits_tracer_pro_tracking;
break;
case 'transformation':
output["repeating_supertraitsother_" + String(newid) + '_transformation_pro_enhanced'] = values.repeating_supertraits_transformation_pro_enhanced;
output["repeating_supertraitsother_" + String(newid) + '_transformation_con_onlyxbroad'] = values.repeating_supertraits_transformation_con_onlyxbroad;
output["repeating_supertraitsother_" + String(newid) + '_transformation_con_onlyxnarrow'] = values.repeating_supertraits_transformation_con_onlyxnarrow;
output["repeating_supertraitsother_" + String(newid) + '_transformationtype'] = values.repeating_supertraits_transformationtype;
break;
case 'twofisted':
output["repeating_supertraitsother_" + String(newid) + '_twofisted_con_fightingmarksmanship'] = values.repeating_supertraits_twofisted_con_fightingmarksmanship;
break;
}
output["repeating_supertraitsother_" + String(newid) + '_pro_affectinanimate'] = values.repeating_supertraits_pro_affectinanimate;
output["repeating_supertraitsother_" + String(newid) + '_pro_areaofeffect'] = values.repeating_supertraits_pro_areaofeffect;
output["repeating_supertraitsother_" + String(newid) + '_pro_armorpiercing'] = values.repeating_supertraits_pro_armorpiercing;
output["repeating_supertraitsother_" + String(newid) + '_con_buildup'] = values.repeating_supertraits_con_buildup;
output["repeating_supertraitsother_" + String(newid) + '_con_burnout'] = values.repeating_supertraits_con_burnout;
output["repeating_supertraitsother_" + String(newid) + '_pro_carrierattack'] = values.repeating_supertraits_pro_carrierattack;
output["repeating_supertraitsother_" + String(newid) + '_con_charges'] = values.repeating_supertraits_con_charges;
output["repeating_supertraitsother_" + String(newid) + '_pro_close'] = values.repeating_supertraits_pro_close;
output["repeating_supertraitsother_" + String(newid) + '_con_close'] = values.repeating_supertraits_con_close;
output["repeating_supertraitsother_" + String(newid) + '_con_concentration'] = values.repeating_supertraits_con_concentration;
output["repeating_supertraitsother_" + String(newid) + '_con_conditional'] = values.repeating_supertraits_con_conditional;
output["repeating_supertraitsother_" + String(newid) + '_con_constant'] = values.repeating_supertraits_con_constant;
output["repeating_supertraitsother_" + String(newid) + '_pro_contagious'] = values.repeating_supertraits_pro_contagious;
output["repeating_supertraitsother_" + String(newid) + '_con_costly'] = values.repeating_supertraits_con_costly;
output["repeating_supertraitsother_" + String(newid) + '_con_degrades'] = values.repeating_supertraits_con_degrades;
output["repeating_supertraitsother_" + String(newid) + '_con_delay'] = values.repeating_supertraits_con_delay;
output["repeating_supertraitsother_" + String(newid) + '_con_exclusive'] = values.repeating_supertraits_con_exclusive;
output["repeating_supertraitsother_" + String(newid) + '_pro_expansive'] = values.repeating_supertraits_pro_expansive;
output["repeating_supertraitsother_" + String(newid) + '_pro_fuse'] = values.repeating_supertraits_pro_fuse;
output["repeating_supertraitsother_" + String(newid) + '_con_harmful'] = values.repeating_supertraits_con_harmful;
output["repeating_supertraitsother_" + String(newid) + '_pro_imbue'] = values.repeating_supertraits_pro_imbue;
output["repeating_supertraitsother_" + String(newid) + '_pro_independent'] = values.repeating_supertraits_pro_independent;
output["repeating_supertraitsother_" + String(newid) + '_con_item'] = values.repeating_supertraits_con_item;
output["repeating_supertraitsother_" + String(newid) + '_con_limited'] = values.repeating_supertraits_con_limited;
output["repeating_supertraitsother_" + String(newid) + '_pro_lineofsight'] = values.repeating_supertraits_pro_lineofsight;
output["repeating_supertraitsother_" + String(newid) + '_pro_ongoing'] = values.repeating_supertraits_pro_ongoing;
output["repeating_supertraitsother_" + String(newid) + '_con_onlyinanimate'] = values.repeating_supertraits_con_onlyinanimate;
output["repeating_supertraitsother_" + String(newid) + '_con_overkill'] = values.repeating_supertraits_con_overkill;
output["repeating_supertraitsother_" + String(newid) + '_pro_overload'] = values.repeating_supertraits_pro_overload;
output["repeating_supertraitsother_" + String(newid) + '_pro_penetrating'] = values.repeating_supertraits_pro_penetrating;
output["repeating_supertraitsother_" + String(newid) + '_pro_phaseshift'] = values.repeating_supertraits_pro_phaseshift;
output["repeating_supertraitsother_" + String(newid) + '_pro_ranged'] = values.repeating_supertraits_pro_ranged;
output["repeating_supertraitsother_" + String(newid) + '_con_readied'] = values.repeating_supertraits_con_readied;
output["repeating_supertraitsother_" + String(newid) + '_con_recharge'] = values.repeating_supertraits_con_recharge;
output["repeating_supertraitsother_" + String(newid) + '_pro_resisted'] = values.repeating_supertraits_pro_resisted;
output["repeating_supertraitsother_" + String(newid) + '_pro_richochet'] = values.repeating_supertraits_pro_richochet;
output["repeating_supertraitsother_" + String(newid) + '_pro_selective'] = values.repeating_supertraits_pro_selective;
output["repeating_supertraitsother_" + String(newid) + '_con_shutdown'] = values.repeating_supertraits_con_shutdown;
output["repeating_supertraitsother_" + String(newid) + '_con_sideeffect'] = values.repeating_supertraits_con_sideeffect;
output["repeating_supertraitsother_" + String(newid) + '_con_signature'] = values.repeating_supertraits_con_signature;
output["repeating_supertraitsother_" + String(newid) + '_pro_subtleundetectable'] = values.repeating_supertraits_pro_subtleundetectable;
output["repeating_supertraitsother_" + String(newid) + '_con_sustained'] = values.repeating_supertraits_con_sustained;
output["repeating_supertraitsother_" + String(newid) + '_con_touch'] = values.repeating_supertraits_con_touch;
output["repeating_supertraitsother_" + String(newid) + '_con_toxin'] = values.repeating_supertraits_con_toxin;
output["repeating_supertraitsother_" + String(newid) + '_pro_trap'] = values.repeating_supertraits_pro_trap;
output["repeating_supertraitsother_" + String(newid) + '_con_twohanded'] = values.repeating_supertraits_con_twohanded;
output["repeating_supertraitsother_" + String(newid) + '_con_uncontrolled'] = values.repeating_supertraits_con_uncontrolled;
output["repeating_supertraitsother_" + String(newid) + '_con_unreliable'] = values.repeating_supertraits_con_unreliable;
output["repeating_supertraitsother_" + String(newid) + '_con_weak'] = values.repeating_supertraits_con_weak;
removeRepeatingRow(oldid);
await setAttrsAsync(output);
console.log('Shift Finished Left to Right')
});
// On button press copies the values from the left super trait column to the right column
on("clicked:repeating_supertraitsother:shift", async (eventInfo)=>{
console.log('Shift initiated Right to Left')
var newid = generateRowID();
ids = await getSectionIDsAsync('repeating_supertraits');
while (newid in ids) {
newid = generateRowID();
}
const single_output = "repeating_supertraits_" + String(newid) + '_supertrait-show';
setAttrs({single_output : '1'});
attributelist = ['repeating_supertraitsother_supertrait_other', 'repeating_supertraitsother_traitrank', 'repeating_supertraitsother_procontotal', 'repeating_supertraitsother_supertraitranksbought', 'repeating_supertraitsother_traitnotes_other', 'repeating_supertraitsother_extratraitnotes_other', 'repeating_supertraitsother_supertraitcosthidden', 'repeating_supertraitsother_supertraitranksboughthidden', 'repeating_supertraitsother_proconhidden', 'repeating_supertraitsother_supertrait-show', 'repeating_supertraitsother_power', 'repeating_supertraitsother_traitrank', 'repeating_supertraitsother_costperrankhidden', 'repeating_supertraitsother_animalcontrol_pro_calling', 'repeating_supertraitsother_animalcontrol_con_onlyxbroad', 'repeating_supertraitsother_animalcontrol_con_onlyxnarrow', 'repeating_supertraitsother_animalmimicry_pro_enhanced', 'repeating_supertraitsother_animalmimicry_pro_selection', 'repeating_supertraitsother_aura_con_spines', 'repeating_supertraitsother_blast_pro_calling', 'repeating_supertraitsother_blast_pro_melee', 'repeating_supertraitsother_blast_con_subdual', 'repeating_supertraitsother_blast_con_weapons', 'repeating_supertraitsother_alternateform_con_independent', 'repeating_supertraitsother_animalempathy_pro_speach', 'repeating_supertraitsother_armor_con_activated', 'repeating_supertraitsother_armor_con_reactive', 'repeating_supertraitsother_animalcontrol_pro_calling', 'repeating_supertraitsother_animalcontrol_con_onlyxbroad', 'repeating_supertraitsother_animalcontrol_con_onlyxnarrow', 'repeating_supertraitsother_animalmimicry_pro_enhanced', 'repeating_supertraitsother_animalmimicry_pro_selection', 'repeating_supertraitsother_aura_con_spines', 'repeating_supertraitsother_blast_pro_calling', 'repeating_supertraitsother_blast_pro_melee', 'repeating_supertraitsother_blast_con_subdual', 'repeating_supertraitsother_blast_con_weapons', 'repeating_supertraitsother_boostedtrait', 'repeating_supertraitsother_buff_pro_greater', 'repeating_supertraitsother_constructs_pro_devices', 'repeating_supertraitsother_dazzle_con_deafen', 'repeating_supertraitsother_deflection_con_onlyx', 'repeating_supertraitsother_detection_pro_longrange', 'repeating_supertraitsother_dimensionaltravel_pro_portal', 'repeating_supertraitsother_dispel_pro_alsox', 'repeating_supertraitsother_drain_con_onlyxbroad', 'repeating_supertraitsother_drain_con_onlyxnarrow', 'repeating_supertraitsother_drain_pro_alsox', 'repeating_supertraitsother_elementalcontrol_pro_mattercreation', 'repeating_supertraitsother_elementalcontrol_con_onlycontrol', 'repeating_supertraitsother_emotioncontrol_con_onlyx', 'repeating_supertraitsother_emotioncontrol_con_pheomones', 'repeating_supertraitsother_energyabsorption_pro_alsox', 'repeating_supertraitsother_energyabsorptionkinetic', 'repeating_supertraitsother_ensnare_pro_line', 'repeating_supertraitsother_ensnare_con_immobilize', 'repeating_supertraitsother_expertisetrait', 'repeating_supertraitsother_expertise_combat_skill', 'repeating_supertraitsother_flight_pro_spaceflight', 'repeating_supertraitsother_flight_con_gliding', 'repeating_supertraitsother_flight_con_levitation', 'repeating_supertraitsother_flight_con_slides', 'repeating_supertraitsother_flight_con_wings', 'repeating_supertraitsother_forcefield_pro_permeable', 'repeating_supertraitsother_forcefield_con_collapsible', 'repeating_supertraitsother_forcefield_con_ward', 'repeating_supertraitsother_forcefield_pro_inviolate', 'repeating_supertraitsother_form_energyform_pro_alsox', 'repeating_supertraitsother_formtype', 'repeating_supertraitsother_gestalt_alteregos', 'repeating_supertraitsother_healing_pro_repair', 'repeating_supertraitsother_hyperbreath_pro_freezing', 'repeating_supertraitsother_illusions_pro_mental', 'repeating_supertraitsother_immortality_con_vulnerable', 'repeating_supertraitsother_inanimate_pro_mindless', 'repeating_supertraitsother_invisibility_pro_cloaking', 'repeating_supertraitsother_invisibility_pro_jamming', 'repeating_supertraitsother_languages_pro_hypertranslation', 'repeating_supertraitsother_languages_pro_polyglot', 'repeating_supertraitsother_lifedrain_pro_vampirism', 'repeating_supertraitsother_lightningreflexes_con_fightingmarksmanship', 'repeating_supertraitsother_luck_pro_control', 'repeating_supertraitsother_luck_pro_unbelievable', 'repeating_supertraitsother_machinecontrol_con_interface', 'repeating_supertraitsother_martialarts_pro_deflect', 'repeating_supertraitsother_martialarts_pro_deflectmissiles', 'repeating_supertraitsother_mindcontrol_con_hypnosis', 'repeating_supertraitsother_mindcontrol_con_pheromones', 'repeating_supertraitsother_nullify_pro_alsox', 'repeating_supertraitsother_phasing_pro_intangible', 'repeating_supertraitsother_possession_pro_meld', 'repeating_supertraitsother_powerabsorption_con_onlyxbroad', 'repeating_supertraitsother_powerabsorption_con_onlyxnarrow', 'repeating_supertraitsother_powerabsorption_pro_alsox', 'repeating_supertraitsother_powermimicry_pro_alsox', 'repeating_supertraitsother_powermimicry_con_onlyxbroad', 'repeating_supertraitsother_powermimicry_con_onlyxnarrow', 'repeating_supertraitsother_psiscreen_pro_cloakmind', 'repeating_supertraitsother_quickchange_con_costume', 'repeating_supertraitsother_radar_con_sonar', 'repeating_supertraitsother_radar_con_tremorsense', 'repeating_supertraitsother_regeneration_pro_fast', 'repeating_supertraitsother_regeneration_pro_instant', 'repeating_supertraitsother_running_pro_hover', 'repeating_supertraitsother_stargate_pro_portal', 'repeating_supertraitsother_omnipowertype', 'repeating_supertraitsother_stretchingrange', 'repeating_supertraitsother_stretching_con_longreach', 'repeating_supertraitsother_strike_pro_deflect', 'repeating_supertraitsother_strike_pro_deflectmissiles', 'repeating_supertraitsother_strike_pro_reachthrow', 'repeating_supertraitsother_strike_pro_sweep', 'repeating_supertraitsother_strike_con_subdual', 'repeating_supertraitsother_strike_con_weapons', 'repeating_supertraitsother_summoningthreat', 'repeating_supertraitsother_summoning_pro_animals_narrow', 'repeating_supertraitsother_summoning_pro_animals_wide', 'repeating_supertraitsother_summoning_pro_automatons', 'repeating_supertraitsother_summoning_pro_duplicates', 'repeating_supertraitsother_summoning_pro_shooters', 'repeating_supertraitsother_summoning_pro_unique_minor', 'repeating_supertraitsother_summoning_pro_unique_moderate', 'repeating_supertraitsother_summoning_pro_unique_major', 'repeating_supertraitsother_supersenses_acutex', 'repeating_supertraitsother_supersenses_analyticx', 'repeating_supertraitsother_supersenses_astralsight', 'repeating_supertraitsother_supersenses_circularvision', 'repeating_supertraitsother_supersenses_enhancedhearing', 'repeating_supertraitsother_supersenses_hypersensitivetouch', 'repeating_supertraitsother_supersenses_liedetection', 'repeating_supertraitsother_supersenses_microscopicvision', 'repeating_supertraitsother_supersenses_nightvision', 'repeating_supertraitsother_supersenses_radiohearing', 'repeating_supertraitsother_supersenses_telescopicvision', 'repeating_supertraitsother_supersenses_thermalvision', 'repeating_supertraitsother_supersenses_trackingscent', 'repeating_supertraitsother_supersenses_truesight', 'repeating_supertraitsother_supersenses_ultravision', 'repeating_supertraitsother_supersenses_xrayvision', 'repeating_supertraitsother_swimming_con_lungs', 'repeating_supertraitsother_swingline_con_natural', 'repeating_supertraitsother_telekinesis_con_impel', 'repeating_supertraitsother_telepathy_pro_altermemories', 'repeating_supertraitsother_telepathy_pro_cloakothers', 'repeating_supertraitsother_telepathy_pro_dreamtravel', 'repeating_supertraitsother_telepathy_pro_empathy', 'repeating_supertraitsother_telepathy_pro_mindlink', 'repeating_supertraitsother_teleportation_pro_portal', 'repeating_supertraitsother_teleportation_con_medium', 'repeating_supertraitsother_timetravel_pro_portal', 'repeating_supertraitsother_totalrecall_pro_playback', 'repeating_supertraitsother_tracer_pro_tracking', 'repeating_supertraitsother_transformation_pro_enhanced', 'repeating_supertraitsother_transformation_con_onlyxbroad', 'repeating_supertraitsother_transformation_con_onlyxnarrow', 'repeating_supertraitsother_transformationtype', 'repeating_supertraitsother_twofisted_con_fightingmarksmanship', 'repeating_supertraitsother_pro_affectinanimate', 'repeating_supertraitsother_pro_areaofeffect', 'repeating_supertraitsother_pro_armorpiercing', 'repeating_supertraitsother_con_buildup', 'repeating_supertraitsother_con_burnout', 'repeating_supertraitsother_pro_armorpiercing', 'repeating_supertraitsother_con_buildup', 'repeating_supertraitsother_con_burnout', 'repeating_supertraitsother_pro_carrierattack', 'repeating_supertraitsother_con_charges', 'repeating_supertraitsother_pro_close', 'repeating_supertraitsother_con_close', 'repeating_supertraitsother_con_concentration', 'repeating_supertraitsother_con_conditional', 'repeating_supertraitsother_con_constant', 'repeating_supertraitsother_pro_contagious', 'repeating_supertraitsother_con_costly', 'repeating_supertraitsother_con_degrades', 'repeating_supertraitsother_con_delay', 'repeating_supertraitsother_con_exclusive', 'repeating_supertraitsother_pro_expansive', 'repeating_supertraitsother_pro_fuse', 'repeating_supertraitsother_con_harmful', 'repeating_supertraitsother_pro_imbue', 'repeating_supertraitsother_pro_independent', 'repeating_supertraitsother_con_item', 'repeating_supertraitsother_con_limited', 'repeating_supertraitsother_pro_lineofsight', 'repeating_supertraitsother_pro_ongoing', 'repeating_supertraitsother_con_onlyinanimate', 'repeating_supertraitsother_con_overkill', 'repeating_supertraitsother_pro_overload', 'repeating_supertraitsother_pro_penetrating', 'repeating_supertraitsother_pro_phaseshift', 'repeating_supertraitsother_pro_ranged', 'repeating_supertraitsother_con_readied', 'repeating_supertraitsother_con_recharge', 'repeating_supertraitsother_pro_resisted', 'repeating_supertraitsother_pro_richochet', 'repeating_supertraitsother_pro_selective', 'repeating_supertraitsother_con_shutdown', 'repeating_supertraitsother_con_sideeffect', 'repeating_supertraitsother_con_signature', 'repeating_supertraitsother_pro_subtleundetectable', 'repeating_supertraitsother_con_sustained', 'repeating_supertraitsother_con_touch', 'repeating_supertraitsother_con_toxin', 'repeating_supertraitsother_pro_trap', 'repeating_supertraitsother_con_twohanded', 'repeating_supertraitsother_con_uncontrolled', 'repeating_supertraitsother_con_unreliable', 'repeating_supertraitsother_con_weak']
var values = await getAttrsAsync(attributelist);
const output = {};
let oldid = eventInfo.triggerName.slice(8, 55);
output["repeating_supertraits_" + String(newid) + '_procontotal'] = values['repeating_supertraitsother_procontotal'];
output["repeating_supertraits_" + String(newid) + '_supertrait'] = values.repeating_supertraitsother_supertrait_other;
output["repeating_supertraits_" + String(newid) + '_supertraitranksbought'] = values.repeating_supertraitsother_supertraitranksbought;
output["repeating_supertraits_" + String(newid) + '_traitnotes'] = values.repeating_supertraitsother_traitnotes_other;
output["repeating_supertraits_" + String(newid) + '_extratraitnotes'] = values.repeating_supertraitsother_extratraitnotes_other;
output["repeating_supertraits_" + String(newid) + '_supertrait-show'] = values['repeating_supertraitsother_supertrait-show'];
output["repeating_supertraits_" + String(newid) + '_power'] = values.repeating_supertraitsother_power;
output["repeating_supertraits_" + String(newid) + '_traitrank'] = values.repeating_supertraitsother_traitrank;
switch (values.repeating_supertraitsother_power) {
case 'animalcontrol':
output["repeating_supertraits_" + String(newid) + '_animalcontrol_pro_calling'] = values.repeating_supertraitsother_animalcontrol_pro_calling;
output["repeating_supertraits_" + String(newid) + '_animalcontrol_con_onlyxbroad'] = values.repeating_supertraitsother_animalcontrol_con_onlyxbroad;
output["repeating_supertraits_" + String(newid) + '_animalcontrol_con_onlyxnarrow'] = values.repeating_supertraitsother_animalcontrol_con_onlyxnarrow;
break;
case 'animalmimicry':
output["repeating_supertraits_" + String(newid) + '_animalmimicry_pro_enhanced'] = values.repeating_supertraitsother_animalmimicry_pro_enhanced;
output["repeating_supertraits_" + String(newid) + '_animalmimicry_pro_selection'] = values.repeating_supertraitsother_animalmimicry_pro_selection;
break;
case 'aura':
output["repeating_supertraits_" + String(newid) + '_aura_con_spines'] = values.repeating_supertraitsother_aura_con_spines;
break;
case 'blast':
output["repeating_supertraits_" + String(newid) + '_blast_pro_calling'] = values.repeating_supertraitsother_blast_pro_calling;
output["repeating_supertraits_" + String(newid) + '_blast_pro_melee'] = values.repeating_supertraitsother_blast_pro_melee;
output["repeating_supertraits_" + String(newid) + '_blast_con_subdual'] = values.repeating_supertraitsother_blast_con_subdual;
output["repeating_supertraits_" + String(newid) + '_blast_con_weapons'] = values.repeating_supertraitsother_blast_con_weapons;
break;
case 'alternateform':
output["repeating_supertraits_" + String(newid) + '_alternateform_con_independent'] = values.repeating_supertraitsother_alternateform_con_independent;
break;
case 'animalempathy':
output["repeating_supertraits_" + String(newid) + '_animalempathy_pro_speach'] = values.repeating_supertraitsother_animalempathy_pro_speach;
break;
case 'armor':
output["repeating_supertraits_" + String(newid) + '_armor_con_activated'] = values.repeating_supertraitsother_armor_con_activated;
output["repeating_supertraits_" + String(newid) + '_armor_con_reactive'] = values.repeating_supertraitsother_armor_con_reactive;
break;
case 'blast':
output["repeating_supertraits_" + String(newid) + '_blast_pro_calling'] = values.repeating_supertraitsother_blast_pro_calling;
output["repeating_supertraits_" + String(newid) + '_blast_pro_melee'] = values.repeating_supertraitsother_blast_pro_melee;
output["repeating_supertraits_" + String(newid) + '_blast_con_subdual'] = values.repeating_supertraitsother_blast_con_subdual;
output["repeating_supertraits_" + String(newid) + '_blast_con_weapons'] = values.repeating_supertraitsother_blast_con_weapons;
break;
case 'boost':
output["repeating_supertraits_" + String(newid) + '_boostedtrait'] = values.repeating_supertraitsother_boostedtrait;
output["repeating_supertraits_" + String(newid) + '_boost_con_rage'] = values.repeating_supertraitsother_boost_con_rage;
break;
case 'buff':
output["repeating_supertraits_" + String(newid) + '_buff_pro_greater'] = values.repeating_supertraitsother_buff_pro_greater;
break;
case 'constructs':
output["repeating_supertraits_" + String(newid) + '_constructs_pro_devices'] = values.repeating_supertraitsother_constructs_pro_devices;
break;
case 'dazzle':
output["repeating_supertraits_" + String(newid) + '_dazzle_con_deafen'] = values.repeating_supertraitsother_dazzle_con_deafen;
break;
case 'deflection':
output["repeating_supertraits_" + String(newid) + '_deflection_con_onlyx'] = values.repeating_supertraitsother_deflection_con_onlyx;
break;
case 'detection':
output["repeating_supertraits_" + String(newid) + '_detection_pro_longrange'] = values.repeating_supertraitsother_detection_pro_longrange;
break;
case 'dimensionaltravel':
output["repeating_supertraits_" + String(newid) + '_dimensionaltravel_pro_portal'] = values.repeating_supertraitsother_dimensionaltravel_pro_portal;
break;
case 'dispel':
output["repeating_supertraits_" + String(newid) + '_dispel_pro_alsox'] = values.repeating_supertraitsother_dispel_pro_alsox;
break;
case 'drain':
output["repeating_supertraits_" + String(newid) + '_drain_con_onlyxbroad'] = values.repeating_supertraitsother_drain_con_onlyxbroad;
output["repeating_supertraits_" + String(newid) + '_drain_con_onlyxnarrow'] = values.repeating_supertraitsother_drain_con_onlyxnarrow;
output["repeating_supertraits_" + String(newid) + '_drain_pro_alsox'] = values.repeating_supertraitsother_drain_pro_alsox;
break;
case 'elementalcontrol':
output["repeating_supertraits_" + String(newid) + '_elementalcontrol_pro_mattercreation'] = values.repeating_supertraitsother_elementalcontrol_pro_mattercreation;
output["repeating_supertraits_" + String(newid) + '_elementalcontrol_con_onlycontrol'] = values.repeating_supertraitsother_elementalcontrol_con_onlycontrol;
break;
case 'emotioncontrol':
output["repeating_supertraits_" + String(newid) + '_emotioncontrol_con_onlyx'] = values.repeating_supertraitsother_emotioncontrol_con_onlyx;
output["repeating_supertraits_" + String(newid) + '_emotioncontrol_con_pheomones'] = values.repeating_supertraitsother_emotioncontrol_con_pheomones;
break;
case 'energyabsorption':
output["repeating_supertraits_" + String(newid) + '_energyabsorption_pro_alsox'] = values.repeating_supertraitsother_energyabsorption_pro_alsox;
output["repeating_supertraits_" + String(newid) + '_energyabsorptionkinetic'] = values.repeating_supertraitsother_energyabsorptionkinetic;
break;
case 'ensnare':
output["repeating_supertraits_" + String(newid) + '_ensnare_pro_line'] = values.repeating_supertraitsother_ensnare_pro_line;
output["repeating_supertraits_" + String(newid) + '_ensnare_con_immobilize'] = values.repeating_supertraitsother_ensnare_con_immobilize;
break;
case 'expertise':
output["repeating_supertraits_" + String(newid) + '_expertisetrait'] = values.repeating_supertraitsother_expertisetrait;
output["repeating_supertraits_" + String(newid) + '_expertise_combat_skill'] = values.repeating_supertraitsother_expertise_combat_skill;
break;
case 'flight':
output["repeating_supertraits_" + String(newid) + '_flight_pro_spaceflight'] = values.repeating_supertraitsother_flight_pro_spaceflight;
output["repeating_supertraits_" + String(newid) + '_flight_con_gliding'] = values.repeating_supertraitsother_flight_con_gliding;
output["repeating_supertraits_" + String(newid) + '_flight_con_levitation'] = values.repeating_supertraitsother_flight_con_levitation;
output["repeating_supertraits_" + String(newid) + '_flight_con_slides'] = values.repeating_supertraitsother_flight_con_slides;
output["repeating_supertraits_" + String(newid) + '_flight_con_wings'] = values.repeating_supertraitsother_flight_con_wings;
break;
case 'forcefield':
output["repeating_supertraits_" + String(newid) + '_forcefield_pro_permeable'] = values.repeating_supertraitsother_forcefield_pro_permeable;
output["repeating_supertraits_" + String(newid) + '_forcefield_con_collapsible'] = values.repeating_supertraitsother_forcefield_con_collapsible;
output["repeating_supertraits_" + String(newid) + '_forcefield_con_ward'] = values.repeating_supertraitsother_forcefield_con_ward;
output["repeating_supertraits_" + String(newid) + '_forcefield_pro_inviolate'] = values.repeating_supertraitsother_forcefield_pro_inviolate;
break;
case 'form':
output["repeating_supertraits_" + String(newid) + '_form_energyform_pro_alsox'] = values.repeating_supertraitsother_form_energyform_pro_alsox;
output["repeating_supertraits_" + String(newid) + '_formtype'] = values.repeating_supertraitsother_formtype;
break;
case 'gestalt':
output["repeating_supertraits_" + String(newid) + '_gestalt_alteregos'] = values.repeating_supertraitsother_gestalt_alteregos;
break;
case 'healing':
output["repeating_supertraits_" + String(newid) + '_healing_pro_repair'] = values.repeating_supertraitsother_healing_pro_repair;
break;
case 'hyperbreath':
output["repeating_supertraits_" + String(newid) + '_hyperbreath_pro_freezing'] = values.repeating_supertraitsother_hyperbreath_pro_freezing;
break;
case 'illusions':
output["repeating_supertraits_" + String(newid) + '_illusions_pro_mental'] = values.repeating_supertraitsother_illusions_pro_mental;
break;
case 'immortality':
output["repeating_supertraits_" + String(newid) + '_immortality_con_vulnerable'] = values.repeating_supertraitsother_immortality_con_vulnerable;
break;
case 'inanimate':
output["repeating_supertraits_" + String(newid) + '_inanimate_pro_mindless'] = values.repeating_supertraitsother_inanimate_pro_mindless;
break;
case 'invisibility':
output["repeating_supertraits_" + String(newid) + '_invisibility_pro_cloaking'] = values.repeating_supertraitsother_invisibility_pro_cloaking;
output["repeating_supertraits_" + String(newid) + '_invisibility_pro_jamming'] = values.repeating_supertraitsother_invisibility_pro_jamming;
break;
case 'languages':
output["repeating_supertraits_" + String(newid) + '_languages_pro_hypertranslation'] = values.repeating_supertraitsother_languages_pro_hypertranslation;
output["repeating_supertraits_" + String(newid) + '_languages_pro_polyglot'] = values.repeating_supertraitsother_languages_pro_polyglot;
break;
case 'lifedrain':
output["repeating_supertraits_" + String(newid) + '_lifedrain_pro_vampirism'] = values.repeating_supertraitsother_lifedrain_pro_vampirism;
break;
case 'lightningreflexes':
output["repeating_supertraits_" + String(newid) + '_lightningreflexes_con_fightingmarksmanship'] = values.repeating_supertraitsother_lightningreflexes_con_fightingmarksmanship;
break;
case 'luck':
output["repeating_supertraits_" + String(newid) + '_luck_pro_control'] = values.repeating_supertraitsother_luck_pro_control;
output["repeating_supertraits_" + String(newid) + '_luck_pro_unbelievable'] = values.repeating_supertraitsother_luck_pro_unbelievable;
break;
case 'machinecontrol':
output["repeating_supertraits_" + String(newid) + '_machinecontrol_con_interface'] = values.repeating_supertraitsother_machinecontrol_con_interface;
break;
case 'martialarts':
output["repeating_supertraits_" + String(newid) + '_martialarts_pro_deflect'] = values.repeating_supertraitsother_martialarts_pro_deflect;
output["repeating_supertraits_" + String(newid) + '_martialarts_pro_deflectmissiles'] = values.repeating_supertraitsother_martialarts_pro_deflectmissiles;
break;
case 'mindcontrol':
output["repeating_supertraits_" + String(newid) + '_mindcontrol_con_hypnosis'] = values.repeating_supertraitsother_mindcontrol_con_hypnosis;
output["repeating_supertraits_" + String(newid) + '_mindcontrol_con_pheromones'] = values.repeating_supertraitsother_mindcontrol_con_pheromones;
break;
case 'nullify':
output["repeating_supertraits_" + String(newid) + '_nullify_pro_alsox'] = values.repeating_supertraitsother_nullify_pro_alsox;
break;
case 'phasing':
output["repeating_supertraits_" + String(newid) + '_phasing_pro_intangible'] = values.repeating_supertraitsother_phasing_pro_intangible;
break;
case 'possession':
output["repeating_supertraits_" + String(newid) + '_possession_pro_meld'] = values.repeating_supertraitsother_possession_pro_meld;
break;
case 'powerabsorption':
output["repeating_supertraits_" + String(newid) + '_powerabsorption_con_onlyxbroad'] = values.repeating_supertraitsother_powerabsorption_con_onlyxbroad;
output["repeating_supertraits_" + String(newid) + '_powerabsorption_con_onlyxnarrow'] = values.repeating_supertraitsother_powerabsorption_con_onlyxnarrow;
output["repeating_supertraits_" + String(newid) + '_powerabsorption_pro_alsox'] = values.repeating_supertraitsother_powerabsorption_pro_alsox;
break;
case 'powermimicry':
output["repeating_supertraits_" + String(newid) + '_powermimicry_pro_alsox'] = values.repeating_supertraitsother_powermimicry_pro_alsox;
output["repeating_supertraits_" + String(newid) + '_powermimicry_con_onlyxbroad'] = values.repeating_supertraitsother_powermimicry_con_onlyxbroad;
output["repeating_supertraits_" + String(newid) + '_powermimicry_con_onlyxnarrow'] = values.repeating_supertraitsother_powermimicry_con_onlyxnarrow;
break;
case 'psiscreen':
output["repeating_supertraits_" + String(newid) + '_psiscreen_pro_cloakmind'] = values.repeating_supertraitsother_psiscreen_pro_cloakmind;
break;
case 'quickchange':
output["repeating_supertraits_" + String(newid) + '_quickchange_con_costume'] = values.repeating_supertraitsother_quickchange_con_costume;
break;
case 'radar':
output["repeating_supertraits_" + String(newid) + '_radar_con_sonar'] = values.repeating_supertraitsother_radar_con_sonar;
output["repeating_supertraits_" + String(newid) + '_radar_con_tremorsense'] = values.repeating_supertraitsother_radar_con_tremorsense;
break;
case 'regeneration':
output["repeating_supertraits_" + String(newid) + '_regeneration_pro_fast'] = values.repeating_supertraitsother_regeneration_pro_fast;
output["repeating_supertraits_" + String(newid) + '_regeneration_pro_instant'] = values.repeating_supertraitsother_regeneration_pro_instant;
break;
case 'running':
output["repeating_supertraits_" + String(newid) + '_running_pro_hover'] = values.repeating_supertraitsother_running_pro_hover;
break;
case 'stargate':
output["repeating_supertraits_" + String(newid) + '_stargate_pro_portal'] = values.repeating_supertraitsother_stargate_pro_portal;
break;
case 'omnipower':
output["repeating_supertraits_" + String(newid) + '_omnipowertype'] = values.repeating_supertraitsother_omnipowertype;
break;
case 'stretching':
output["repeating_supertraits_" + String(newid) + '_stretchingrange'] = values.repeating_supertraitsother_stretchingrange;
output["repeating_supertraits_" + String(newid) + '_stretching_con_longreach'] = values.repeating_supertraitsother_stretching_con_longreach;
break;
case 'strike':
output["repeating_supertraits_" + String(newid) + '_strike_pro_deflect'] = values.repeating_supertraitsother_strike_pro_deflect;
output["repeating_supertraits_" + String(newid) + '_strike_pro_deflectmissiles'] = values.repeating_supertraitsother_strike_pro_deflectmissiles;
output["repeating_supertraits_" + String(newid) + '_strike_pro_reachthrow'] = values.repeating_supertraitsother_strike_pro_reachthrow;
output["repeating_supertraits_" + String(newid) + '_strike_pro_sweep'] = values.repeating_supertraitsother_strike_pro_sweep;
output["repeating_supertraits_" + String(newid) + '_strike_con_subdual'] = values.repeating_supertraitsother_strike_con_subdual;
output["repeating_supertraits_" + String(newid) + '_strike_con_weapons'] = values.repeating_supertraitsother_strike_con_weapons;
break;
case 'summoning':
output["repeating_supertraits_" + String(newid) + '_summoningthreat'] = values.repeating_supertraitsother_summoningthreat;
output["repeating_supertraits_" + String(newid) + '_summoning_pro_animals_narrow'] = values.repeating_supertraitsother_summoning_pro_animals_narrow;
output["repeating_supertraits_" + String(newid) + '_summoning_pro_animals_wide'] = values.repeating_supertraitsother_summoning_pro_animals_wide;
output["repeating_supertraits_" + String(newid) + '_summoning_pro_automatons'] = values.repeating_supertraitsother_summoning_pro_automatons;
output["repeating_supertraits_" + String(newid) + '_summoning_pro_duplicates'] = values.repeating_supertraitsother_summoning_pro_duplicates;
output["repeating_supertraits_" + String(newid) + '_summoning_pro_shooters'] = values.repeating_supertraitsother_summoning_pro_shooters;
output["repeating_supertraits_" + String(newid) + '_summoning_pro_unique_minor'] = values.repeating_supertraitsother_summoning_pro_unique_minor;
output["repeating_supertraits_" + String(newid) + '_summoning_pro_unique_moderate'] = values.repeating_supertraitsother_summoning_pro_unique_moderate;
output["repeating_supertraits_" + String(newid) + '_summoning_pro_unique_major'] = values.repeating_supertraitsother_summoning_pro_unique_major;
break;
case 'supersenses':
output["repeating_supertraits_" + String(newid) + '_supersenses_acutex'] = values.repeating_supertraitsother_supersenses_acutex;
output["repeating_supertraits_" + String(newid) + '_supersenses_analyticx'] = values.repeating_supertraitsother_supersenses_analyticx;
output["repeating_supertraits_" + String(newid) + '_supersenses_astralsight'] = values.repeating_supertraitsother_supersenses_astralsight;
output["repeating_supertraits_" + String(newid) + '_supersenses_circularvision'] = values.repeating_supertraitsother_supersenses_circularvision;
output["repeating_supertraits_" + String(newid) + '_supersenses_enhancedhearing'] = values.repeating_supertraitsother_supersenses_enhancedhearing;
output["repeating_supertraits_" + String(newid) + '_supersenses_hypersensitivetouch'] = values.repeating_supertraitsother_supersenses_hypersensitivetouch;
output["repeating_supertraits_" + String(newid) + '_supersenses_liedetection'] = values.repeating_supertraitsother_supersenses_liedetection;
output["repeating_supertraits_" + String(newid) + '_supersenses_microscopicvision'] = values.repeating_supertraitsother_supersenses_microscopicvision;
output["repeating_supertraits_" + String(newid) + '_supersenses_nightvision'] = values.repeating_supertraitsother_supersenses_nightvision;
output["repeating_supertraits_" + String(newid) + '_supersenses_radiohearing'] = values.repeating_supertraitsother_supersenses_radiohearing;
output["repeating_supertraits_" + String(newid) + '_supersenses_telescopicvision'] = values.repeating_supertraitsother_supersenses_telescopicvision;
output["repeating_supertraits_" + String(newid) + '_supersenses_thermalvision'] = values.repeating_supertraitsother_supersenses_thermalvision;
output["repeating_supertraits_" + String(newid) + '_supersenses_trackingscent'] = values.repeating_supertraitsother_supersenses_trackingscent;
output["repeating_supertraits_" + String(newid) + '_supersenses_truesight'] = values.repeating_supertraitsother_supersenses_truesight;
output["repeating_supertraits_" + String(newid) + '_supersenses_ultravision'] = values.repeating_supertraitsother_supersenses_ultravision;
output["repeating_supertraits_" + String(newid) + '_supersenses_xrayvision'] = values.repeating_supertraitsother_supersenses_xrayvision;
break;
case 'swimming':
output["repeating_supertraits_" + String(newid) + '_swimming_con_lungs'] = values.repeating_supertraitsother_swimming_con_lungs;
break;
case 'swingline':
output["repeating_supertraits_" + String(newid) + '_swingline_con_natural'] = values.repeating_supertraitsother_swingline_con_natural;
break;
case 'telekinesis':
output["repeating_supertraits_" + String(newid) + '_telekinesis_con_impel'] = values.repeating_supertraitsother_telekinesis_con_impel;
break;
case 'telepathy':
output["repeating_supertraits_" + String(newid) + '_telepathy_pro_altermemories'] = values.repeating_supertraitsother_telepathy_pro_altermemories;
output["repeating_supertraits_" + String(newid) + '_telepathy_pro_cloakothers'] = values.repeating_supertraitsother_telepathy_pro_cloakothers;
output["repeating_supertraits_" + String(newid) + '_telepathy_pro_dreamtravel'] = values.repeating_supertraitsother_telepathy_pro_dreamtravel;
output["repeating_supertraits_" + String(newid) + '_telepathy_pro_empathy'] = values.repeating_supertraitsother_telepathy_pro_empathy;
output["repeating_supertraits_" + String(newid) + '_telepathy_pro_mindlink'] = values.repeating_supertraitsother_telepathy_pro_mindlink;
output["repeating_supertraits_" + String(newid) + '_teleportation_pro_portal'] = values.repeating_supertraitsother_teleportation_pro_portal;
output["repeating_supertraits_" + String(newid) + '_teleportation_con_medium'] = values.repeating_supertraitsother_teleportation_con_medium;
break;
case 'timetravel':
output["repeating_supertraits_" + String(newid) + '_timetravel_pro_portal'] = values.repeating_supertraitsother_timetravel_pro_portal;
break;
case 'totalrecall':
output["repeating_supertraits_" + String(newid) + '_totalrecall_pro_playback'] = values.repeating_supertraitsother_totalrecall_pro_playback;
break;
case 'tracer':
output["repeating_supertraits_" + String(newid) + '_tracer_pro_tracking'] = values.repeating_supertraitsother_tracer_pro_tracking;
break;
case 'transformation':
output["repeating_supertraits_" + String(newid) + '_transformation_pro_enhanced'] = values.repeating_supertraitsother_transformation_pro_enhanced;
output["repeating_supertraits_" + String(newid) + '_transformation_con_onlyxbroad'] = values.repeating_supertraitsother_transformation_con_onlyxbroad;
output["repeating_supertraits_" + String(newid) + '_transformation_con_onlyxnarrow'] = values.repeating_supertraitsother_transformation_con_onlyxnarrow;
output["repeating_supertraits_" + String(newid) + '_transformationtype'] = values.repeating_supertraitsother_transformationtype;
break;
case 'twofisted':
output["repeating_supertraits_" + String(newid) + '_twofisted_con_fightingmarksmanship'] = values.repeating_supertraitsother_twofisted_con_fightingmarksmanship;
break;
}
output["repeating_supertraits_" + String(newid) + '_pro_affectinanimate'] = values.repeating_supertraitsother_pro_affectinanimate;
output["repeating_supertraits_" + String(newid) + '_pro_areaofeffect'] = values.repeating_supertraitsother_pro_areaofeffect;
output["repeating_supertraits_" + String(newid) + '_pro_armorpiercing'] = values.repeating_supertraitsother_pro_armorpiercing;
output["repeating_supertraits_" + String(newid) + '_con_buildup'] = values.repeating_supertraitsother_con_buildup;
output["repeating_supertraits_" + String(newid) + '_con_burnout'] = values.repeating_supertraitsother_con_burnout;
output["repeating_supertraits_" + String(newid) + '_pro_carrierattack'] = values.repeating_supertraitsother_pro_carrierattack;
output["repeating_supertraits_" + String(newid) + '_con_charges'] = values.repeating_supertraitsother_con_charges;
output["repeating_supertraits_" + String(newid) + '_pro_close'] = values.repeating_supertraitsother_pro_close;
output["repeating_supertraits_" + String(newid) + '_con_close'] = values.repeating_supertraitsother_con_close;
output["repeating_supertraits_" + String(newid) + '_con_concentration'] = values.repeating_supertraitsother_con_concentration;
output["repeating_supertraits_" + String(newid) + '_con_conditional'] = values.repeating_supertraitsother_con_conditional;
output["repeating_supertraits_" + String(newid) + '_con_constant'] = values.repeating_supertraitsother_con_constant;
output["repeating_supertraits_" + String(newid) + '_pro_contagious'] = values.repeating_supertraitsother_pro_contagious;
output["repeating_supertraits_" + String(newid) + '_con_costly'] = values.repeating_supertraitsother_con_costly;
output["repeating_supertraits_" + String(newid) + '_con_degrades'] = values.repeating_supertraitsother_con_degrades;
output["repeating_supertraits_" + String(newid) + '_con_delay'] = values.repeating_supertraitsother_con_delay;
output["repeating_supertraits_" + String(newid) + '_con_exclusive'] = values.repeating_supertraitsother_con_exclusive;
output["repeating_supertraits_" + String(newid) + '_pro_expansive'] = values.repeating_supertraitsother_pro_expansive;
output["repeating_supertraits_" + String(newid) + '_pro_fuse'] = values.repeating_supertraitsother_pro_fuse;
output["repeating_supertraits_" + String(newid) + '_con_harmful'] = values.repeating_supertraitsother_con_harmful;
output["repeating_supertraits_" + String(newid) + '_pro_imbue'] = values.repeating_supertraitsother_pro_imbue;
output["repeating_supertraits_" + String(newid) + '_pro_independent'] = values.repeating_supertraitsother_pro_independent;
output["repeating_supertraits_" + String(newid) + '_con_item'] = values.repeating_supertraitsother_con_item;
output["repeating_supertraits_" + String(newid) + '_con_limited'] = values.repeating_supertraitsother_con_limited;
output["repeating_supertraits_" + String(newid) + '_pro_lineofsight'] = values.repeating_supertraitsother_pro_lineofsight;
output["repeating_supertraits_" + String(newid) + '_pro_ongoing'] = values.repeating_supertraitsother_pro_ongoing;
output["repeating_supertraits_" + String(newid) + '_con_onlyinanimate'] = values.repeating_supertraitsother_con_onlyinanimate;
output["repeating_supertraits_" + String(newid) + '_con_overkill'] = values.repeating_supertraitsother_con_overkill;
output["repeating_supertraits_" + String(newid) + '_pro_overload'] = values.repeating_supertraitsother_pro_overload;
output["repeating_supertraits_" + String(newid) + '_pro_penetrating'] = values.repeating_supertraitsother_pro_penetrating;
output["repeating_supertraits_" + String(newid) + '_pro_phaseshift'] = values.repeating_supertraitsother_pro_phaseshift;
output["repeating_supertraits_" + String(newid) + '_pro_ranged'] = values.repeating_supertraitsother_pro_ranged;
output["repeating_supertraits_" + String(newid) + '_con_readied'] = values.repeating_supertraitsother_con_readied;
output["repeating_supertraits_" + String(newid) + '_con_recharge'] = values.repeating_supertraitsother_con_recharge;
output["repeating_supertraits_" + String(newid) + '_pro_resisted'] = values.repeating_supertraitsother_pro_resisted;
output["repeating_supertraits_" + String(newid) + '_pro_richochet'] = values.repeating_supertraitsother_pro_richochet;
output["repeating_supertraits_" + String(newid) + '_pro_selective'] = values.repeating_supertraitsother_pro_selective;
output["repeating_supertraits_" + String(newid) + '_con_shutdown'] = values.repeating_supertraitsother_con_shutdown;
output["repeating_supertraits_" + String(newid) + '_con_sideeffect'] = values.repeating_supertraitsother_con_sideeffect;
output["repeating_supertraits_" + String(newid) + '_con_signature'] = values.repeating_supertraitsother_con_signature;
output["repeating_supertraits_" + String(newid) + '_pro_subtleundetectable'] = values.repeating_supertraitsother_pro_subtleundetectable;
output["repeating_supertraits_" + String(newid) + '_con_sustained'] = values.repeating_supertraitsother_con_sustained;
output["repeating_supertraits_" + String(newid) + '_con_touch'] = values.repeating_supertraitsother_con_touch;
output["repeating_supertraits_" + String(newid) + '_con_toxin'] = values.repeating_supertraitsother_con_toxin;
output["repeating_supertraits_" + String(newid) + '_pro_trap'] = values.repeating_supertraitsother_pro_trap;
output["repeating_supertraits_" + String(newid) + '_con_twohanded'] = values.repeating_supertraitsother_con_twohanded;
output["repeating_supertraits_" + String(newid) + '_con_uncontrolled'] = values.repeating_supertraitsother_con_uncontrolled;
output["repeating_supertraits_" + String(newid) + '_con_unreliable'] = values.repeating_supertraitsother_con_unreliable;
output["repeating_supertraits_" + String(newid) + '_con_weak'] = values.repeating_supertraitsother_con_weak;
removeRepeatingRow(oldid);
await setAttrsAsync(output);
console.log('Shift Finished Right to Left')
});
// On button press copies the values from the right items trait column to the left column
on("clicked:repeating_itemsother:shift", function(eventInfo) {
attributelist = ['repeating_itemsother_item-show', 'repeating_itemsother_itemname', 'repeating_itemsother_proconother', 'repeating_itemsother_itemrank', 'repeating_itemsother_itemnotes', 'repeating_itemsother_extraitemnotes', 'repeating_itemsother_customfeatures-show', 'repeating_itemsother_accurate', 'repeating_itemsother_veryaccurate', 'repeating_itemsother_bonded', 'repeating_itemsother_collapsible', 'repeating_itemsother_concealed', 'repeating_itemsother_deflecting', 'repeating_itemsother_fitted', 'repeating_itemsother_hardened', 'repeating_itemsother_masterpiece', 'repeating_itemsother_powerful', 'repeating_itemsother_verypowerful', 'repeating_itemsother_reinforced', 'repeating_itemsother_silenced', 'repeating_itemsother_upgraded', 'repeating_itemsother_pro_affectinanimate', 'repeating_itemsother_pro_areaofeffect', 'repeating_itemsother_pro_armorpiercing', 'repeating_itemsother_con_buildup', 'repeating_itemsother_con_burnout', 'repeating_itemsother_pro_carrierattack', 'repeating_itemsother_con_charges', 'repeating_itemsother_pro_close', 'repeating_itemsother_con_close', 'repeating_itemsother_con_concentration', 'repeating_itemsother_con_conditional', 'repeating_itemsother_con_constant', 'repeating_itemsother_pro_contagious', 'repeating_itemsother_con_costly', 'repeating_itemsother_con_degrades', 'repeating_itemsother_con_delay', 'repeating_itemsother_con_exclusive', 'repeating_itemsother_pro_expansive', 'repeating_itemsother_pro_fuse', 'repeating_itemsother_con_harmful', 'repeating_itemsother_pro_imbue', 'repeating_itemsother_pro_independent', 'repeating_itemsother_con_item', 'repeating_itemsother_con_limited', 'repeating_itemsother_pro_lineofsight', 'repeating_itemsother_pro_ongoing', 'repeating_itemsother_con_onlyinanimate', 'repeating_itemsother_con_overkill', 'repeating_itemsother_pro_overload', 'repeating_itemsother_pro_penetrating', 'repeating_itemsother_pro_phaseshift', 'repeating_itemsother_pro_ranged', 'repeating_itemsother_con_readied', 'repeating_itemsother_con_recharge', 'repeating_itemsother_pro_resisted', 'repeating_itemsother_pro_richochet', 'repeating_itemsother_pro_selective', 'repeating_itemsother_con_shutdown', 'repeating_itemsother_con_sideeffect', 'repeating_itemsother_con_signature', 'repeating_itemsother_pro_subtleundetectable', 'repeating_itemsother_con_sustained', 'repeating_itemsother_con_touch', 'repeating_itemsother_con_toxin', 'repeating_itemsother_pro_trap', 'repeating_itemsother_con_twohanded', 'repeating_itemsother_con_uncontrolled', 'repeating_itemsother_con_unreliable', 'repeating_itemsother_con_weak']
getAttrs(attributelist, function(values) {
var newid = generateRowID();
getSectionIDs('repeating_items', function (ids) {
while (newid in ids) {
newid = generateRowID();
}
});
const output = {};
//console.log(eventInfo.triggerName)
let oldid = eventInfo.triggerName.slice(8, 49);
//console.log(oldid)
output["repeating_items_" + String(newid) + '_item-show'] = values['repeating_itemsother_item-show'];
output["repeating_items_" + String(newid) + '_itemname'] = values.repeating_itemsother_itemname;
output["repeating_items_" + String(newid) + '_itemrank'] = values.repeating_itemsother_itemrank;
output["repeating_items_" + String(newid) + '_itemnotes'] = values.repeating_itemsother_itemnotes;
output["repeating_items_" + String(newid) + '_extraitemnotes'] = values.repeating_itemsother_extraitemnotes;
output["repeating_items_" + String(newid) + '_customfeatures-show'] = values['repeating_itemsother_customfeatures-show'];
output["repeating_items_" + String(newid) + '_accurate'] = values.repeating_itemsother_accurate;
output["repeating_items_" + String(newid) + '_veryaccurate'] = values.repeating_itemsother_veryaccurate;
output["repeating_items_" + String(newid) + '_bonded'] = values.repeating_itemsother_bonded;
output["repeating_items_" + String(newid) + '_collapsible'] = values.repeating_itemsother_collapsible;
output["repeating_items_" + String(newid) + '_concealed'] = values.repeating_itemsother_concealed;
output["repeating_items_" + String(newid) + '_deflecting'] = values.repeating_itemsother_deflecting;
output["repeating_items_" + String(newid) + '_fitted'] = values.repeating_itemsother_fitted;
output["repeating_items_" + String(newid) + '_hardened'] = values.repeating_itemsother_hardened;
output["repeating_items_" + String(newid) + '_masterpiece'] = values.repeating_itemsother_masterpiece;
output["repeating_items_" + String(newid) + '_powerful'] = values.repeating_itemsother_powerful;
output["repeating_items_" + String(newid) + '_verypowerful'] = values.repeating_itemsother_verypowerful;
output["repeating_items_" + String(newid) + '_reinforced'] = values.repeating_itemsother_reinforced;
output["repeating_items_" + String(newid) + '_silenced'] = values.repeating_itemsother_silenced;
output["repeating_items_" + String(newid) + '_upgraded'] = values.repeating_itemsother_upgraded;
output["repeating_items_" + String(newid) + '_proconother'] = values['repeating_itemsother_proconother'];
output["repeating_items_" + String(newid) + '_pro_affectinanimate'] = values.repeating_itemsother_pro_affectinanimate;
output["repeating_items_" + String(newid) + '_pro_areaofeffect'] = values.repeating_itemsother_pro_areaofeffect;
output["repeating_items_" + String(newid) + '_pro_armorpiercing'] = values.repeating_itemsother_pro_armorpiercing;
output["repeating_items_" + String(newid) + '_con_buildup'] = values.repeating_itemsother_con_buildup;
output["repeating_items_" + String(newid) + '_con_burnout'] = values.repeating_itemsother_con_burnout;
output["repeating_items_" + String(newid) + '_pro_carrierattack'] = values.repeating_itemsother_pro_carrierattack;
output["repeating_items_" + String(newid) + '_con_charges'] = values.repeating_itemsother_con_charges;
output["repeating_items_" + String(newid) + '_pro_close'] = values.repeating_itemsother_pro_close;
output["repeating_items_" + String(newid) + '_con_close'] = values.repeating_itemsother_con_close;
output["repeating_items_" + String(newid) + '_con_concentration'] = values.repeating_itemsother_con_concentration;
output["repeating_items_" + String(newid) + '_con_conditional'] = values.repeating_itemsother_con_conditional;
output["repeating_items_" + String(newid) + '_con_constant'] = values.repeating_itemsother_con_constant;
output["repeating_items_" + String(newid) + '_pro_contagious'] = values.repeating_itemsother_pro_contagious;
output["repeating_items_" + String(newid) + '_con_costly'] = values.repeating_itemsother_con_costly;
output["repeating_items_" + String(newid) + '_con_degrades'] = values.repeating_itemsother_con_degrades;
output["repeating_items_" + String(newid) + '_con_delay'] = values.repeating_itemsother_con_delay;
output["repeating_items_" + String(newid) + '_con_exclusive'] = values.repeating_itemsother_con_exclusive;
output["repeating_items_" + String(newid) + '_pro_expansive'] = values.repeating_itemsother_pro_expansive;
output["repeating_items_" + String(newid) + '_pro_fuse'] = values.repeating_itemsother_pro_fuse;
output["repeating_items_" + String(newid) + '_con_harmful'] = values.repeating_itemsother_con_harmful;
output["repeating_items_" + String(newid) + '_pro_imbue'] = values.repeating_itemsother_pro_imbue;
output["repeating_items_" + String(newid) + '_pro_independent'] = values.repeating_itemsother_pro_independent;
output["repeating_items_" + String(newid) + '_con_item'] = values.repeating_itemsother_con_item;
output["repeating_items_" + String(newid) + '_con_limited'] = values.repeating_itemsother_con_limited;
output["repeating_items_" + String(newid) + '_pro_lineofsight'] = values.repeating_itemsother_pro_lineofsight;
output["repeating_items_" + String(newid) + '_pro_ongoing'] = values.repeating_itemsother_pro_ongoing;
output["repeating_items_" + String(newid) + '_con_onlyinanimate'] = values.repeating_itemsother_con_onlyinanimate;
output["repeating_items_" + String(newid) + '_pro_overload'] = values.repeating_itemsother_pro_overload;
output["repeating_items_" + String(newid) + '_pro_penetrating'] = values.repeating_itemsother_pro_penetrating;
output["repeating_items_" + String(newid) + '_pro_phaseshift'] = values.repeating_itemsother_pro_phaseshift;
output["repeating_items_" + String(newid) + '_pro_ranged'] = values.repeating_itemsother_pro_ranged;
output["repeating_items_" + String(newid) + '_con_readied'] = values.repeating_itemsother_con_readied;
output["repeating_items_" + String(newid) + '_con_recharge'] = values.repeating_itemsother_con_recharge;
output["repeating_items_" + String(newid) + '_pro_resisted'] = values.repeating_itemsother_pro_resisted;
output["repeating_items_" + String(newid) + '_pro_richochet'] = values.repeating_itemsother_pro_richochet;
output["repeating_items_" + String(newid) + '_pro_selective'] = values.repeating_itemsother_pro_selective;
output["repeating_items_" + String(newid) + '_con_shutdown'] = values.repeating_itemsother_con_shutdown;
output["repeating_items_" + String(newid) + '_con_sideeffect'] = values.repeating_itemsother_con_sideeffect;
output["repeating_items_" + String(newid) + '_con_signature'] = values.repeating_itemsother_con_signature;
output["repeating_items_" + String(newid) + '_pro_subtleundetectable'] = values.repeating_itemsother_pro_subtleundetectable;
output["repeating_items_" + String(newid) + '_con_sustained'] = values.repeating_itemsother_con_sustained;
output["repeating_items_" + String(newid) + '_con_touch'] = values.repeating_itemsother_con_touch;
output["repeating_items_" + String(newid) + '_con_toxin'] = values.repeating_itemsother_con_toxin;
output["repeating_items_" + String(newid) + '_pro_trap'] = values.repeating_itemsother_pro_trap;
output["repeating_items_" + String(newid) + '_con_twohanded'] = values.repeating_itemsother_con_twohanded;
output["repeating_items_" + String(newid) + '_con_uncontrolled'] = values.repeating_itemsother_con_uncontrolled;
output["repeating_items_" + String(newid) + '_con_unreliable'] = values.repeating_itemsother_con_unreliable;
removeRepeatingRow(oldid);
setAttrs(output);
});
});
// On button press copies the values from the left items trait column to the right column
on("clicked:repeating_items:shift", function(eventInfo) {
attributelist = ['repeating_items_item-show', 'repeating_items_itemname', 'repeating_items_proconother', 'repeating_items_itemrank', 'repeating_items_itemnotes', 'repeating_items_extraitemnotes', 'repeating_items_customfeatures-show', 'repeating_items_accurate', 'repeating_items_veryaccurate', 'repeating_items_bonded', 'repeating_items_collapsible', 'repeating_items_concealed', 'repeating_items_deflecting', 'repeating_items_fitted', 'repeating_items_hardened', 'repeating_items_masterpiece', 'repeating_items_powerful', 'repeating_items_verypowerful', 'repeating_items_reinforced', 'repeating_items_silenced', 'repeating_items_upgraded', 'repeating_items_pro_affectinanimate', 'repeating_items_pro_areaofeffect', 'repeating_items_pro_armorpiercing', 'repeating_items_con_buildup', 'repeating_items_con_burnout', 'repeating_items_pro_carrierattack', 'repeating_items_con_charges', 'repeating_items_pro_close', 'repeating_items_con_close', 'repeating_items_con_concentration', 'repeating_items_con_conditional', 'repeating_items_con_constant', 'repeating_items_pro_contagious', 'repeating_items_con_costly', 'repeating_items_con_degrades', 'repeating_items_con_delay', 'repeating_items_con_exclusive', 'repeating_items_pro_expansive', 'repeating_items_pro_fuse', 'repeating_items_con_harmful', 'repeating_items_pro_imbue', 'repeating_items_pro_independent', 'repeating_items_con_item', 'repeating_items_con_limited', 'repeating_items_pro_lineofsight', 'repeating_items_pro_ongoing', 'repeating_items_con_onlyinanimate', 'repeating_items_con_overkill', 'repeating_items_pro_overload', 'repeating_items_pro_penetrating', 'repeating_items_pro_phaseshift', 'repeating_items_pro_ranged', 'repeating_items_con_readied', 'repeating_items_con_recharge', 'repeating_items_pro_resisted', 'repeating_items_pro_richochet', 'repeating_items_pro_selective', 'repeating_items_con_shutdown', 'repeating_items_con_sideeffect', 'repeating_items_con_signature', 'repeating_items_pro_subtleundetectable', 'repeating_items_con_sustained', 'repeating_items_con_touch', 'repeating_items_con_toxin', 'repeating_items_pro_trap', 'repeating_items_con_twohanded', 'repeating_items_con_uncontrolled', 'repeating_items_con_unreliable', 'repeating_items_con_weak']
getAttrs(attributelist, function(values) {
var newid = generateRowID();
getSectionIDs('repeating_itemsother', function (ids) {
while (newid in ids) {
newid = generateRowID();
}
});
const output = {};
//console.log(eventInfo.triggerName)
let oldid = eventInfo.triggerName.slice(8, 44);
//console.log(oldid)
output["repeating_itemsother_" + String(newid) + '_item-show'] = values['repeating_items_item-show'];
output["repeating_itemsother_" + String(newid) + '_itemname'] = values.repeating_items_itemname;
output["repeating_itemsother_" + String(newid) + '_itemrank'] = values.repeating_items_itemrank;
output["repeating_itemsother_" + String(newid) + '_itemnotes'] = values.repeating_items_itemnotes;
output["repeating_itemsother_" + String(newid) + '_extraitemnotes'] = values.repeating_items_extraitemnotes;
output["repeating_itemsother_" + String(newid) + '_customfeatures-show'] = values['repeating_items_customfeatures-show'];
output["repeating_itemsother_" + String(newid) + '_accurate'] = values.repeating_items_accurate;
output["repeating_itemsother_" + String(newid) + '_veryaccurate'] = values.repeating_items_veryaccurate;
output["repeating_itemsother_" + String(newid) + '_bonded'] = values.repeating_items_bonded;
output["repeating_itemsother_" + String(newid) + '_collapsible'] = values.repeating_items_collapsible;
output["repeating_itemsother_" + String(newid) + '_concealed'] = values.repeating_items_concealed;
output["repeating_itemsother_" + String(newid) + '_deflecting'] = values.repeating_items_deflecting;
output["repeating_itemsother_" + String(newid) + '_fitted'] = values.repeating_items_fitted;
output["repeating_itemsother_" + String(newid) + '_hardened'] = values.repeating_items_hardened;
output["repeating_itemsother_" + String(newid) + '_masterpiece'] = values.repeating_items_masterpiece;
output["repeating_itemsother_" + String(newid) + '_powerful'] = values.repeating_items_powerful;
output["repeating_itemsother_" + String(newid) + '_verypowerful'] = values.repeating_items_verypowerful;
output["repeating_itemsother_" + String(newid) + '_reinforced'] = values.repeating_items_reinforced;
output["repeating_itemsother_" + String(newid) + '_silenced'] = values.repeating_items_silenced;
output["repeating_itemsother_" + String(newid) + '_upgraded'] = values.repeating_items_upgraded;
output["repeating_itemsother_" + String(newid) + '_proconother'] = values['repeating_items_proconother'];
output["repeating_itemsother_" + String(newid) + '_pro_affectinanimate'] = values.repeating_items_pro_affectinanimate;
output["repeating_itemsother_" + String(newid) + '_pro_areaofeffect'] = values.repeating_items_pro_areaofeffect;
output["repeating_itemsother_" + String(newid) + '_pro_armorpiercing'] = values.repeating_items_pro_armorpiercing;
output["repeating_itemsother_" + String(newid) + '_con_buildup'] = values.repeating_items_con_buildup;
output["repeating_itemsother_" + String(newid) + '_con_burnout'] = values.repeating_items_con_burnout;
output["repeating_itemsother_" + String(newid) + '_pro_carrierattack'] = values.repeating_items_pro_carrierattack;
output["repeating_itemsother_" + String(newid) + '_con_charges'] = values.repeating_items_con_charges;
output["repeating_itemsother_" + String(newid) + '_pro_close'] = values.repeating_items_pro_close;
output["repeating_itemsother_" + String(newid) + '_con_close'] = values.repeating_items_con_close;
output["repeating_itemsother_" + String(newid) + '_con_concentration'] = values.repeating_items_con_concentration;
output["repeating_itemsother_" + String(newid) + '_con_conditional'] = values.repeating_items_con_conditional;
output["repeating_itemsother_" + String(newid) + '_con_constant'] = values.repeating_items_con_constant;
output["repeating_itemsother_" + String(newid) + '_pro_contagious'] = values.repeating_items_pro_contagious;
output["repeating_itemsother_" + String(newid) + '_con_costly'] = values.repeating_items_con_costly;
output["repeating_itemsother_" + String(newid) + '_con_degrades'] = values.repeating_items_con_degrades;
output["repeating_itemsother_" + String(newid) + '_con_delay'] = values.repeating_items_con_delay;
output["repeating_itemsother_" + String(newid) + '_con_exclusive'] = values.repeating_items_con_exclusive;
output["repeating_itemsother_" + String(newid) + '_pro_expansive'] = values.repeating_items_pro_expansive;
output["repeating_itemsother_" + String(newid) + '_pro_fuse'] = values.repeating_items_pro_fuse;
output["repeating_itemsother_" + String(newid) + '_con_harmful'] = values.repeating_items_con_harmful;
output["repeating_itemsother_" + String(newid) + '_pro_imbue'] = values.repeating_items_pro_imbue;
output["repeating_itemsother_" + String(newid) + '_pro_independent'] = values.repeating_items_pro_independent;
output["repeating_itemsother_" + String(newid) + '_con_item'] = values.repeating_items_con_item;
output["repeating_itemsother_" + String(newid) + '_con_limited'] = values.repeating_items_con_limited;
output["repeating_itemsother_" + String(newid) + '_pro_lineofsight'] = values.repeating_items_pro_lineofsight;
output["repeating_itemsother_" + String(newid) + '_pro_ongoing'] = values.repeating_items_pro_ongoing;
output["repeating_itemsother_" + String(newid) + '_con_onlyinanimate'] = values.repeating_items_con_onlyinanimate;
output["repeating_itemsother_" + String(newid) + '_pro_overload'] = values.repeating_items_pro_overload;
output["repeating_itemsother_" + String(newid) + '_pro_penetrating'] = values.repeating_items_pro_penetrating;
output["repeating_itemsother_" + String(newid) + '_pro_phaseshift'] = values.repeating_items_pro_phaseshift;
output["repeating_itemsother_" + String(newid) + '_pro_ranged'] = values.repeating_items_pro_ranged;
output["repeating_itemsother_" + String(newid) + '_con_readied'] = values.repeating_items_con_readied;
output["repeating_itemsother_" + String(newid) + '_con_recharge'] = values.repeating_items_con_recharge;
output["repeating_itemsother_" + String(newid) + '_pro_resisted'] = values.repeating_items_pro_resisted;
output["repeating_itemsother_" + String(newid) + '_pro_richochet'] = values.repeating_items_pro_richochet;
output["repeating_itemsother_" + String(newid) + '_pro_selective'] = values.repeating_items_pro_selective;
output["repeating_itemsother_" + String(newid) + '_con_shutdown'] = values.repeating_items_con_shutdown;
output["repeating_itemsother_" + String(newid) + '_con_sideeffect'] = values.repeating_items_con_sideeffect;
output["repeating_itemsother_" + String(newid) + '_con_signature'] = values.repeating_items_con_signature;
output["repeating_itemsother_" + String(newid) + '_pro_subtleundetectable'] = values.repeating_items_pro_subtleundetectable;
output["repeating_itemsother_" + String(newid) + '_con_sustained'] = values.repeating_items_con_sustained;
output["repeating_itemsother_" + String(newid) + '_con_touch'] = values.repeating_items_con_touch;
output["repeating_itemsother_" + String(newid) + '_con_toxin'] = values.repeating_items_con_toxin;
output["repeating_itemsother_" + String(newid) + '_pro_trap'] = values.repeating_items_pro_trap;
output["repeating_itemsother_" + String(newid) + '_con_twohanded'] = values.repeating_items_con_twohanded;
output["repeating_itemsother_" + String(newid) + '_con_uncontrolled'] = values.repeating_items_con_uncontrolled;
output["repeating_itemsother_" + String(newid) + '_con_unreliable'] = values.repeating_items_con_unreliable;
removeRepeatingRow(oldid);
setAttrs(output);
});
});
</script>