Files
roll20-character-sheets/Legends_Superhero_RPG/sheet.html
T

1330 lines
62 KiB
HTML

<div class="mainsheet">
<div class="twoFifths logo">
<img class="logo" src="https://raw.githubusercontent.com/Drazili/Legends-Roll20/refs/heads/main/Powers%20Division.png"></img>
<!-- <img class="logo" src="https://raw.githubusercontent.com/Drazili/Legends-Roll20/refs/heads/main/Legends%20background.png"></img> -->
<!-- <span>Powered Individual Records - Form 2A</span> -->
</div>
<div class="threeFifths">
<section>
<div class="sectionHeader">
<span>General Information</span>
</div>
<div class="sectionContent">
<span class="sectionContentStyle sectionContentMedium spanTitle">Code Name:</span>
<div class="sectionContentStyle sectionContentLarge">
<input class="largeInput" type="text" name="attr_code_name" value="">
</div>
<span class="sectionContentStyle sectionContentMedium spanTitle dividerLeft">Level:</span>
<div class="sectionContentStyle sectionContentSmall">
<input type="number" name="attr_level" value="0">
</div>
<span class="sectionContentStyle sectionContentMedium spanTitle dividerLeft">Age:</span>
<div class="sectionContentStyle sectionContentSmall">
<input class="smallInput" type="text" name="attr_age" value="">
</div>
<span class="sectionContentStyle sectionContentMedium spanTitle">Legal Name:</span>
<div class="sectionContentStyle sectionContentLarge">
<input class="largeInput" type="text" name="attr_legal_name" value="">
</div>
<span class="sectionContentStyle sectionContentMedium spanTitle dividerLeft">Current XP:</span>
<div class="sectionContentStyle sectionContentSmall">
<input type="number" name="attr_experience_points" value="0">
</div>
<span class="sectionContentStyle sectionContentMedium spanTitle dividerLeft">Height:</span>
<div class="sectionContentStyle sectionContentSmall">
<input class="smallInput" type="text" name="attr_height" value="">
</div>
<span class="sectionContentStyle sectionContentMedium spanTitle">Pronouns:</span>
<div class="sectionContentStyle sectionContentLarge">
<input class="largeInput" type="text" name="attr_pronouns" value="">
</div>
<span class="sectionContentStyle sectionContentMedium spanTitle dividerLeft">Training Points:</span>
<div class="sectionContentStyle sectionContentSmall">
<input type="number" name="attr_training_points" value="0">
</div>
<span class="sectionContentStyle sectionContentMedium spanTitle dividerLeft">Weight:</span>
<div class="sectionContentStyle sectionContentSmall">
<input class="smallInput" type="text" name="attr_weight" value="">
</div>
<span class="sectionContentStyle sectionContentMedium spanTitle">Power Setting:</span>
<div class="sectionContentStyle sectionContentLarge">
<select class="largeInput" name="attr_power_setting">
<option value="none" selected disabled hidden>Choose a power setting</option>
<option>Low</option>
<option>Medium</option>
<option>High</option>
<option>Godly</option>
</select>
</div>
<span class="sectionContentStyle sectionContentMedium spanTitle dividerLeft">Hero Points:</span>
<div class="sectionContentStyle sectionContentSmall">
<input type="number" name="attr_hero_points" value="0">
</div>
<span class="sectionContentStyle sectionContentQuarter dividerLeft"> </span>
<div class="sectionContentStyle sectionContentAll"></div>
</div>
</section>
</div>
<div class="twoFifths" style="display: none;">
<section>
<div class="sectionHeader">
<span>Powers</span>
</div>
<div class="sectionContent">
<textarea name="attr_powers" cols="150"></textarea>
</div>
</section>
</div>
<div class="threeFifths" style="display: none;">
<section>
<div class="sectionHeader">
<span>Abilities</span>
</div>
<div class="sectionContent">
<textarea name="attr_abilities" cols="150"></textarea>
</div>
</section>
</div>
<!-- Skills -->
<div class="twoFifths sectionContent tab">
<section class="sectionContentAll">
<div class="sectionHeader">
<span>Skills</span>
</div>
<div class="sectionContent">
<div class="sectionContentStyle sectionContentLarge label"> </div>
<label class="sectionContentStyle sectionContentQuarter label">
<input class="hidden" id="unpow" type="radio" name="attr_power_status" value="unpowered">
<span for="unpow">Unpowered</span>
</label>
<label class="sectionContentStyle sectionContentQuarter label">
<input class="hidden" id="pow" type="radio" name="attr_power_status" value="powered" checked>
<span for="pow">Powered</span>
</label>
<span class="sectionContentStyle sectionContentMedium label">Mod:</span>
<!-- Agility Data -->
<div class="sectionContentStyle sectionContentSmall">
<button class="" type="roll" name="roll_agility" value="/r 1d20@{agility}"></Button>
</div>
<input type="hidden" name="attr_agility" value="">
<span class="sectionContentStyle sectionContentQuarter spanTitle">Agility:</span>
<div class="sectionContentStyle sectionContentQuarter">
<input type="number" name="attr_agility_unpowered" value="0">
</div>
<div class="sectionContentStyle sectionContentQuarter">
<input type="number" name="attr_agility_powered" value="0">
</div>
<div class="sectionContentStyle sectionContentMedium">
<input class="tinyInput" type="number" name="attr_agility_mod" value="0">
</div>
<!-- Charisma Data -->
<div class="sectionContentStyle sectionContentSmall">
<button class="" type="roll" name="roll_charisma" value="/r 1d20@{charisma}"></Button>
</div>
<input type="hidden" name="attr_charisma" value="">
<span class="sectionContentStyle sectionContentQuarter spanTitle">Charisma:</span>
<div class="sectionContentStyle sectionContentQuarter">
<input type="number" name="attr_charisma_unpowered" value="0">
</div>
<div class="sectionContentStyle sectionContentQuarter">
<input type="number" name="attr_charisma_powered" value="0">
</div>
<div class="sectionContentStyle sectionContentMedium">
<input class="tinyInput" type="number" name="attr_charisma_mod" value="0">
</div>
<!-- Intelligence Data -->
<div class="sectionContentStyle sectionContentSmall">
<button class="" type="roll" name="roll_intelligence" value="/r 1d20@{intelligence}"></Button>
</div>
<input type="hidden" name="attr_intelligence" value="">
<span class="sectionContentStyle sectionContentQuarter spanTitle">Intelligence:</span>
<div class="sectionContentStyle sectionContentQuarter">
<input class="" type="number" name="attr_intelligence_unpowered" value="0">
</div>
<div class="sectionContentStyle sectionContentQuarter">
<input class="" type="number" name="attr_intelligence_powered" value="0">
</div>
<div class="sectionContentStyle sectionContentMedium">
<input class="tinyInput" type="number" name="attr_intelligence_mod" value="0">
</div>
<!-- Senses Data -->
<div class="sectionContentStyle sectionContentSmall">
<button class="" type="roll" name="roll_senses" value="/r 1d20@{senses}"></Button>
</div>
<input type="hidden" name="attr_senses" value="">
<span class="sectionContentStyle sectionContentQuarter spanTitle">Senses:</span>
<div class="sectionContentStyle sectionContentQuarter">
<input type="number" name="attr_senses_unpowered" value="0">
</div>
<div class="sectionContentStyle sectionContentQuarter">
<input type="number" name="attr_senses_powered" value="0">
</div>
<div class="sectionContentStyle sectionContentMedium">
<input class="tinyInput" type="number" name="attr_senses_mod" value="0">
</div>
<!-- Speed Data -->
<div class="sectionContentStyle sectionContentSmall">
<button class="" type="roll" name="roll_speed" value="/r 1d20@{speed}"></Button>
</div>
<input type="hidden" name="attr_speed" value="">
<span class="sectionContentStyle sectionContentQuarter spanTitle">Speed:</span>
<div class="sectionContentStyle sectionContentQuarter">
<input type="number" name="attr_speed_unpowered" value="0">
</div>
<div class="sectionContentStyle sectionContentQuarter">
<input type="number" name="attr_speed_powered" value="0">
</div>
<div class="sectionContentStyle sectionContentMedium">
<input class="tinyInput" type="number" name="attr_speed_mod" value="0">
</div>
<!-- Stamina Data -->
<div class="sectionContentStyle sectionContentSmall">
<button class="" type="roll" name="roll_stamina" value="/r 1d20@{stamina}"></Button>
</div>
<input type="hidden" name="attr_stamina" value="">
<span class="sectionContentStyle sectionContentQuarter spanTitle">Stamina:</span>
<div class="sectionContentStyle sectionContentQuarter">
<input type="number" name="attr_stamina_unpowered" value="0">
</div>
<div class="sectionContentStyle sectionContentQuarter">
<input type="number" name="attr_stamina_powered" value="0">
</div>
<div class="sectionContentStyle sectionContentMedium">
<input class="tinyInput" type="number" name="attr_stamina_mod" value="0">
</div>
<!-- Strength Data -->
<div class="sectionContentStyle sectionContentSmall">
<button class="" type="roll" name="roll_strength" value="/r 1d20@{strength}"></Button>
</div>
<input type="hidden" name="attr_strength" value="">
<span class="sectionContentStyle sectionContentQuarter spanTitle">Strength:</span>
<div class="sectionContentStyle sectionContentQuarter">
<input type="number" name="attr_strength_unpowered" value="0">
</div>
<div class="sectionContentStyle sectionContentQuarter">
<input type="number" name="attr_strength_powered" value="0">
</div>
<div class="sectionContentStyle sectionContentMedium">
<input class="tinyInput" type="number" name="attr_strength_mod" value="0">
</div>
</div>
</section>
<!-- Durability -->
<section class="sectionContentAll">
<div class="sectionHeader">
<span>Durability</span>
</div>
<div class="sectionContent">
<!-- Durability Labels -->
<span class="sectionContentStyle sectionContentLarge label">Type:</span>
<span class="sectionContentStyle sectionContentLarge label">Resistant:</span>
<span class="sectionContentStyle sectionContentLarge label">Invulnerable</span>
<!-- Blunt Data -->
<span class="sectionContentStyle sectionContentLarge spanTitle">Blunt:</span>
<div class="sectionContentStyle sectionContentLarge">
<input
type="checkbox"
name="attr_blunt_resistant"
value="1">
</div>
<div class="sectionContentStyle sectionContentLarge">
<input
type="checkbox"
name="attr_blunt_invulnerable"
value="1">
</div>
<!-- Disruption Data -->
<span class="sectionContentStyle sectionContentLarge spanTitle">Disruption:</span>
<div class="sectionContentStyle sectionContentLarge">
<input
type="checkbox"
name="attr_disruption_resistant"
value="1">
</div>
<div class="sectionContentStyle sectionContentLarge">
<input
type="checkbox"
name="attr_disruption_invulnerable"
value="1">
</div>
<!-- Earth Data -->
<span class="sectionContentStyle sectionContentLarge spanTitle">Earth:</span>
<div class="sectionContentStyle sectionContentLarge">
<input
type="checkbox"
name="attr_earth_resistant"
value="1">
</div>
<div class="sectionContentStyle sectionContentLarge">
<input
type="checkbox"
name="attr_earth_invulnerable"
value="1">
</div>
<!-- Fall Data -->
<span class="sectionContentStyle sectionContentLarge spanTitle">Fall:</span>
<div class="sectionContentStyle sectionContentLarge">
<input
type="checkbox"
name="attr_fall_resistant"
value="1">
</div>
<div class="sectionContentStyle sectionContentLarge">
<input
type="checkbox"
name="attr_fall_invulnerable"
value="1">
</div>
<!-- Fire Data -->
<span class="sectionContentStyle sectionContentLarge spanTitle">Fire:</span>
<div class="sectionContentStyle sectionContentLarge">
<input
type="checkbox"
name="attr_fire_resistant"
value="1">
</div>
<div class="sectionContentStyle sectionContentLarge">
<input
type="checkbox"
name="attr_fire_invulnerable"
value="1">
</div>
<!-- Force Fields Data -->
<span class="sectionContentStyle sectionContentLarge spanTitle">Force Fields:</span>
<div class="sectionContentStyle sectionContentLarge">
<input
type="checkbox"
name="attr_force_fields_resistant"
value="1">
</div>
<div class="sectionContentStyle sectionContentLarge">
<input
type="checkbox"
name="attr_force_fields_invulnerable"
value="1">
</div>
<!-- Ice Data -->
<span class="sectionContentStyle sectionContentLarge spanTitle">Ice:</span>
<div class="sectionContentStyle sectionContentLarge">
<input
type="checkbox"
name="attr_ice_resistant"
value="1">
</div>
<div class="sectionContentStyle sectionContentLarge">
<input
type="checkbox"
name="attr_ice_invulnerable"
value="1">
</div>
<!-- Light Data -->
<span class="sectionContentStyle sectionContentLarge spanTitle">Light:</span>
<div class="sectionContentStyle sectionContentLarge">
<input
type="checkbox"
name="attr_light_resistant"
value="1">
</div>
<div class="sectionContentStyle sectionContentLarge">
<input
type="checkbox"
name="attr_light_invulnerable"
value="1">
</div>
<!-- Lightning Data -->
<span class="sectionContentStyle sectionContentLarge spanTitle">Lightning:</span>
<div class="sectionContentStyle sectionContentLarge">
<input
type="checkbox"
name="attr_lightning_resistant"
value="1">
</div>
<div class="sectionContentStyle sectionContentLarge">
<input
type="checkbox"
name="attr_lightning_invulnerable"
value="1">
</div>
<!-- Piercing Data -->
<span class="sectionContentStyle sectionContentLarge spanTitle">Piercing:</span>
<div class="sectionContentStyle sectionContentLarge">
<input
type="checkbox"
name="attr_piercing_resistant"
value="1">
</div>
<div class="sectionContentStyle sectionContentLarge">
<input
type="checkbox"
name="attr_piercing_invulnerable"
value="1">
</div>
<!-- Poison Data -->
<span class="sectionContentStyle sectionContentLarge spanTitle">Poison:</span>
<div class="sectionContentStyle sectionContentLarge">
<input
type="checkbox"
name="attr_poison_resistant"
value="1">
</div>
<div class="sectionContentStyle sectionContentLarge">
<input
type="checkbox"
name="attr_poison_invulnerable"
value="1">
</div>
<!-- Power Data -->
<span class="sectionContentStyle sectionContentLarge spanTitle">Power:</span>
<div class="sectionContentStyle sectionContentLarge">
<input
type="checkbox"
name="attr_power_resistant"
value="1">
</div>
<div class="sectionContentStyle sectionContentLarge">
<input
type="checkbox"
name="attr_power_invulnerable"
value="1">
</div>
<!-- Psychic Data -->
<span class="sectionContentStyle sectionContentLarge spanTitle">Psychic:</span>
<div class="sectionContentStyle sectionContentLarge">
<input
type="checkbox"
name="attr_psychic_resistant"
value="1">
</div>
<div class="sectionContentStyle sectionContentLarge">
<input
type="checkbox"
name="attr_psychic_invulnerable"
value="1">
</div>
<!-- Slashing Data -->
<span class="sectionContentStyle sectionContentLarge spanTitle">Slashing:</span>
<div class="sectionContentStyle sectionContentLarge">
<input
type="checkbox"
name="attr_slashing_resistant"
value="1">
</div>
<div class="sectionContentStyle sectionContentLarge">
<input
type="checkbox"
name="attr_slashing_invulnerable"
value="1">
</div>
<!-- Sonic Data -->
<span class="sectionContentStyle sectionContentLarge spanTitle">Sonic:</span>
<div class="sectionContentStyle sectionContentLarge">
<input
type="checkbox"
name="attr_sonic_resistant"
value="1">
</div>
<div class="sectionContentStyle sectionContentLarge">
<input
type="checkbox"
name="attr_sonic_invulnerable"
value="1">
</div>
</div>
</section>
</div>
<div class="threeFifths">
<!-- Tabs buttons -->
<input type="hidden" name="attr_sheet_tab" class="tabs" value="combat_tab">
<div class="sectionHeader">
<button class="combat_tab_button tabButton" type="action" name="act_combat_tab">Combat</button>
<button class="powers_tab_button tabButton" type="action" name="act_powers_tab">Powers</button>
<button class="details_tab_button tabButton" type="action" name="act_details_tab">Personal Details</button>
<button class="notes_tab_button tabButton" type="action" name="act_notes_tab">Notes</button>
</div>
<!-- TAB: Combat -->
<div class="combat_tab tab sectionContent">
<!-- Attacks -->
<section class="sectionContentAll">
<div class="sectionHeader">
<span>Attacks</span>
</div>
<fieldset class="repeating_attacks">
<div class="sectionContent">
<div class="sectionContent sectionContentHalf">
<span class="sectionContentStyle sectionContentMedium label">Atk</span>
<span class="sectionContentStyle sectionContentLarge label">Name</span>
<span class="sectionContentStyle sectionContentMedium label">SP</span>
<span class="sectionContentStyle sectionContentLarge label">Bonus</span>
<div class="sectionContentStyle sectionContentMedium">
<button class="" type="roll" name="roll_attack" value="/r 1d20@{attack}"></Button>
</div>
<input type="hidden" name="attr_attack" value="">
<div class="sectionContentStyle sectionContentLarge">
<input class="mediumInput" type="text" name="attr_attack-name" value="" placeholder="Punch!">
</div>
<div class="sectionContentStyle sectionContentMedium">
<input class="tinyInput" type="number" name="attr_attack-cost" value="" placeholder="5">
</div>
<div class="sectionContentStyle sectionContentLarge">
<input class="tinyInput" type="number" name="attr_attack-bonus" placeholder="0">
</div>
</div>
<div class="sectionContent sectionContentHalf dividerLeft">
<span class="sectionContentStyle sectionContentMedium label">Dmg</span>
<span class="sectionContentStyle sectionContentLarge label">Bonus</span>
<span class="sectionContentStyle sectionContentMedium label">HtH</span>
<span class="sectionContentStyle sectionContentLarge label">Type</span>
<div class="sectionContentStyle sectionContentMedium">
<button class="" type="roll" name="roll_damage" value="/r @{damage}"></Button>
</div>
<input type="hidden" name="attr_damage" value="">
<div class="sectionContentStyle sectionContentLarge">
<input class="mediumInput" type="text" name="attr_damage-bonus" value="" placeholder="+0">
</div>
<div class="sectionContentStyle sectionContentMedium">
<input type="checkbox" name="attr_attack-hth" checked value="1">
</div>
<div class="sectionContentStyle sectionContentLarge">
<input class="mediumInput" type="text" name="attr_damage-type" value="" placeholder="Blunt">
</div>
</div>
</div>
</fieldset>
</section>
<!-- Combat Attributes -->
<section class="sectionContentAll">
<div class="sectionHeader">
<span>Combat Attributes:</span>
</div>
<div class="sectionContent">
<div class="sectionContent sectionContentHalf">
<!-- Hit Points & Armor Points Labels -->
<span class="sectionContentStyle sectionContentLarge label"> </span>
<span class="sectionContentStyle sectionContentMedium label">Current:</span>
<span class="sectionContentStyle sectionContentLarge label">Maximum:</span>
<span class="sectionContentStyle sectionContentMedium label">Modifiers:</span>
<!-- Hit Points Data -->
<span class="sectionContentStyle sectionContentLarge spanTitle">Hit Points:</span>
<div class="sectionContentStyle sectionContentMedium">
<input type="number" name="attr_hitpoints" value="0">
</div>
<div class="sectionContentStyle sectionContentLarge">
<input type="number" name="attr_hitpoints_max" value="0">
</div>
<div class="sectionContentStyle sectionContentMedium">
<input type="number" name="attr_hitpoints_mod" value="0">
</div>
<!-- Armour Points Data -->
<span class="sectionContentStyle sectionContentLarge spanTitle">Armour:</span>
<div class="sectionContentStyle sectionContentMedium">
<input type="number" name="attr_armourpoints" value="0">
</div>
<div class="sectionContentStyle sectionContentLarge">
<input type="number" name="attr_armourpoints_max" value="0">
</div>
<div class="sectionContentStyle sectionContentMedium">
<input type="number" name="attr_armourpoints_mod" value="0">
</div>
</div>
<div class="sectionContent sectionContentHalf">
<!-- Stamina Points & Recoveries Labels -->
<span class="sectionContentStyle sectionContentLarge label dividerLeft"> </span>
<span class="sectionContentStyle sectionContentMedium label">Current:</span>
<span class="sectionContentStyle sectionContentLarge label">Maximum:</span>
<span class="sectionContentStyle sectionContentMedium label">Modifiers:</span>
<!-- Stamina Points Data -->
<span class="sectionContentStyle sectionContentLarge dividerLeft spanTitle">Stamina Points:</span>
<div class="sectionContentStyle sectionContentMedium">
<input type="number" name="attr_staminapoints" value="0">
</div>
<div class="sectionContentStyle sectionContentLarge">
<input type="number" name="attr_staminapoints_max" value="0">
</div>
<div class="sectionContentStyle sectionContentMedium">
<input type="number" name="attr_staminapoints_mod" value="0">
</div>
<!-- Recoveries Data -->
<span class="sectionContentStyle sectionContentLarge dividerLeft spanTitle">Recoveries:</span>
<div class="sectionContentStyle sectionContentMedium">
<input type="number" name="attr_recoveries" value="0">
</div>
<div class="sectionContentStyle sectionContentLarge">
<input type="number" name="attr_recoveries_max" value="2">
</div>
<div class="sectionContentStyle sectionContentMedium mod">
<input type="number" name="attr_recoveries_mod" value="0">
</div>
</div>
<!-- Linebreak -->
<div class="gap sectionContentStyle sectionContentAll"> </div>
<div class="gap sectionContentAll"></div>
<div class="gap sectionContentAll"></div>
<div class="sectionContent sectionContentHalf">
<!-- Initiative & Accuracy Labels -->
<span class="sectionContentStyle sectionContentHalf label"> </span>
<div class="sectionContentStyle sectionContentQuarter label">
<span class="tinyInput">Score:</span>
</div>
<div class="sectionContentStyle sectionContentQuarter label">
<span class="tinyInput">Mod:</span>
</div>
<!-- Initiative Data -->
<div class="sectionContentStyle sectionContentQuarter">
<button class="" type="roll" name="roll_initiative" value="/r 1d20@{initiative}"></Button>
</div>
<input type="hidden" name="attr_initiative" value="">
<span class="sectionContentStyle sectionContentQuarter spanTitle">Initiative:</span>
<div class="sectionContentStyle sectionContentQuarter">
<input class="tinyInput" type="number" name="attr_initiative_score" value="0">
</div>
<div class="sectionContentStyle sectionContentQuarter">
<input class="tinyInput" type="number" name="attr_initiative_mod" value="0">
</div>
<!-- Accuracy Data -->
<div class="sectionContentStyle sectionContentQuarter">
<button class="" type="roll" name="roll_accuracy" value="/r 1d20@{accuracy}"></Button>
</div>
<input type="hidden" name="attr_accuracy" value="">
<span class="sectionContentStyle sectionContentQuarter spanTitle">Accuracy:</span>
<div class="sectionContentStyle sectionContentQuarter">
<input class="tinyInput" type="number" name="attr_accuracy_score" value="0">
</div>
<div class="sectionContentStyle sectionContentQuarter">
<input class="tinyInput" type="number" name="attr_accuracy_mod" value="0">
</div>
</div>
<div class="sectionContent sectionContentHalf">
<!-- Defense & Inspiration Labels -->
<span class="sectionContentStyle sectionContentLarge label dividerLeft"> </span>
<div class="sectionContentStyle sectionContentLarge label">
<span class="tinyInput">Score:</span>
</div>
<div class="sectionContentStyle sectionContentLarge label">
<span class="tinyInput">Mod:</span>
</div>
<!-- Defense Data -->
<span class="sectionContentStyle sectionContentLarge dividerLeft spanTitle">Defense:</span>
<div class="sectionContentStyle sectionContentLarge">
<input type="number" name="attr_defense" value="0">
</div>
<div class="sectionContentStyle sectionContentLarge">
<input type="number" name="attr_defense_mod" value="0">
</div>
<!-- Inspiration Data -->
<span class="sectionContentStyle sectionContentLarge dividerLeft spanTitle">Inspiration:</span>
<div class="sectionContentStyle sectionContentLarge">
<input type="number" name="attr_inspiration" value="0">
</div>
<div class="sectionContentStyle sectionContentLarge">
<input type="number" name="attr_inspiration_mod" value="0">
</div>
</div>
<!-- Linebreak -->
<div class="gap sectionContentStyle sectionContentAll"></div>
<div class="gap sectionContentAll"></div>
<div class="sectionContent sectionContentHalf">
<!-- Max Lift Labels -->
<span class="sectionContentStyle sectionContentLarge label"> </span>
<div class="sectionContentStyle sectionContentMedium label">
<span class="smallInput">Score:</span>
</div>
<div class="sectionContentStyle sectionContentLarge label">
<span class="smallInput">Unit:</span>
</div>
<div class="sectionContentStyle sectionContentMedium label">
<span class="smallInput">Mod:</span>
</div>
<!-- Maximum Lift Data -->
<span class="sectionContentStyle sectionContentLarge spanTitle">Max Lift:</span>
<div class="sectionContentStyle sectionContentMedium">
<input type="number" name="attr_lift" value="0">
</div>
<div class="sectionContentStyle sectionContentLarge">
<input class="smallInput" type="text" name="attr_lift_unit" value="kg">
</div>
<div class="sectionContentStyle sectionContentMedium">
<input type="number" name="attr_lift_mod" value="0">
</div>
</div>
<div class="sectionContent sectionContentHalf">
<!-- Movement Labels -->
<span class="sectionContentStyle sectionContentLarge label dividerLeft"> </span>
<div class="sectionContentStyle sectionContentMedium label">
<span class="smallInput">Score:</span>
</div>
<div class="sectionContentStyle sectionContentLarge label">
<span class="smallInput">Unit:</span>
</div>
<div class="sectionContentStyle sectionContentMedium label">
<span class="smallInput">Mod:</span>
</div>
<!-- Movement Data -->
<span class="sectionContentStyle sectionContentLarge dividerLeft spanTitle">Movement:</span>
<div class="sectionContentStyle sectionContentMedium">
<input type="number" name="attr_movement" value="0">
</div>
<div class="sectionContentStyle sectionContentLarge">
<input class="smallInput" type="text" name="attr_movement_unit" value="km/h">
</div>
<div class="sectionContentStyle sectionContentMedium">
<input type="number" name="attr_movement_mod" value="0">
</div>
</div>
<!-- Linebreak -->
<div class="gap sectionContentStyle sectionContentAll"></div>
<div class="gap sectionContentAll"></div>
<!-- Hand to Hand -->
<div class="sectionContentAll sectionContent">
<span class="sectionContentStyle sectionContentHalf label"> </span>
<div class="sectionContentStyle sectionContentMedium label">
<span class="mediumInput">Damage:</span>
</div>
<div class="sectionContentStyle sectionContentMedium label">
<span class="mediumInput">Mod:</span>
</div>
<span class="sectionContentStyle sectionContentMedium label"> </span>
<span class="sectionContentStyle sectionContentMedium"> </span>
<div class="sectionContentStyle sectionContentMedium">
<button class="" type="roll" name="roll_hth" value="/r @{hth}"></Button>
</div>
<input type="hidden" name="attr_hth" value="">
<span class="sectionContentStyle sectionContentMedium spanTitle">Hand to Hand:</span>
<div class="sectionContentStyle sectionContentMedium">
<input class="mediumInput" type="text" name="attr_hth_score" value="">
</div>
<div class="sectionContentStyle sectionContentMedium">
<input class="smallInput" type="text" name="attr_hth_mod" value="">
</div>
<span class="sectionContentStyle sectionContentMedium"> </span>
</div>
</div>
</section>
</div>
<!-- TAB: Powers -->
<div class="powers_tab tab sectionContent">
<section class="sectionContentAll">
<div class="sectionHeader">
<span>Powers</span>
</div>
<fieldset class="repeating_powers">
<details>
<summary class="sectionContent">
<!-- Post -->
<!-- Name -->
<!-- Tier -->
<span class="sectionContentStyle sectionContentSmall label"> </span>
<span class="sectionContentStyle sectionContentExtraLarge label">Name</span>
<span class="sectionContentStyle sectionContentMedium label">Tier</span>
<span class="sectionContentStyle sectionContentSmall label"> </span>
<div class="sectionContentStyle sectionContentSmall">
<button class="pictos chatButton" type="roll" name="roll_power" value="@{power}">w</Button>
</div>
<input type="hidden" name="attr_power" value="">
<div class="sectionContentStyle sectionContentExtraLarge">
<input class="extraLargeInput" type="text" name="attr_name" value="" placeholder="">
</div>
<div class="sectionContentStyle sectionContentMedium">
<select class="smallInput" name="attr_tier">
<option selected>C</option>
<option>B</option>
<option>A</option>
</select>
</div>
<span class="sectionContentStyle sectionContentSmall spanTitle pictos">s</span>
</summary>
<!-- Description -->
<div class="sectionContentStyle">
<textarea class="sectionContentAll" name="attr_description" cols="69" placeholder="Description"></textarea>
</div>
</details>
</fieldset>
</section>
<section class="sectionContentAll">
<div class="sectionHeader">
<span>Abilities</span>
</div>
<fieldset class="repeating_abilities">
<details class="">
<summary class="sectionContent sectionContentAll">
<!-- Post -->
<!-- Name -->
<!-- SP -->
<!-- Tier -->
<span class="sectionContentStyle sectionContentSmall label"> </span>
<span class="sectionContentStyle sectionContentLarge label">Name</span>
<span class="sectionContentStyle sectionContentLarge label">SP & Upkeep</span>
<span class="sectionContentStyle sectionContentMedium label">Tier</span>
<span class="sectionContentStyle sectionContentSmall label"> </span>
<div class="sectionContentStyle sectionContentSmall">
<button class="pictos chatButton" type="roll" name="roll_ability-chat" value="@{ability}">w</Button>
</div>
<input type="hidden" name="attr_ability" value="">
<div class="sectionContentStyle sectionContentLarge">
<input class="largeInput" type="text" name="attr_name" value="" placeholder="">
</div>
<div class="sectionContentStyle sectionContentLarge">
<input class="mediumInput" type="text" name="attr_sp" value="" placeholder="Natural">
</div>
<div class="sectionContentStyle sectionContentMedium">
<select class="smallInput" name="attr_tier">
<option selected>-</option>
<option>t0</option>
<option>t1</option>
<option>t2</option>
<option>t3</option>
<option>t4</option>
</select>
</div>
<span class="sectionContentStyle sectionContentSmall spanTitle pictos">s</span>
</summary>
<!-- Description -->
<div class="sectionContent">
<div class="sectionContentStyle sectionContentHalf">
<textarea class="personalityTraits" name="attr_description" cols="33" placeholder="Ability Description"></textarea>
</div>
<div class="sectionContentStyle sectionContentHalf">
<textarea class="personalityTraits" name="attr_enhancement" cols="32" placeholder="Ability Enhancements"></textarea>
</div>
</div>
</details>
</fieldset>
</section>
<section class="sectionContentAll">
<div class="sectionHeader">
<span>Power Details</span>
</div>
<div class="sectionContent">
<textarea class="sectionContentAll" name="attr_power_details" cols="69" placeholder="Write down how your Powers originate and how they work. What do they look, sound, and feel like?"></textarea>
</div>
</section>
</div>
<!-- TAB: Personal Details -->
<div class="details_tab tab sectionContent">
<!-- Personality Traits -->
<section class="sectionContentHalf">
<div class="sectionHeader">
<span>Personality Traits</span>
</div>
<div class="sectionContent">
<span class="sectionContentStyle sectionContentLarge"></span>
<span class="sectionContentStyle sectionContentMedium spanTitle">Archetype:</span>
<div class="sectionContentStyle sectionContentMedium">
<input class="mediumInput" type="text" name="attr_archetype" value="">
</div>
<span class="sectionContentStyle sectionContentLarge"></span>
<span class="sectionContentStyle sectionContentAll label">Strenghts:</span>
<div class="sectionContentStyle sectionContentAll">
<textarea class="personalityTraits" name="attr_archetype_strengths" cols="10" placeholder="Two or more strengths of your archtype."></textarea>
</div>
<span class="sectionContentStyle sectionContentAll label">Flaws:</span>
<div class="sectionContentStyle sectionContentAll">
<textarea class="personalityTraits" name="attr_archetype_flaws" cols="10" placeholder="One or more flaws of your archtype."></textarea>
</div>
</div>
</section>
<!-- Secret Identity -->
<section class="sectionContentHalf">
<div class="sectionHeader">
<span>Secret Identity</span>
</div>
<div class="sectionContent">
<span class="sectionContentStyle sectionContentMedium"></span>
<span class="sectionContentStyle sectionContentLarge spanTitle">Day Job:</span>
<div class="sectionContentStyle sectionContentLarge">
<input class="mediumInput" type="text" name="attr_secret" value="">
</div>
<span class="sectionContentStyle sectionContentMedium"></span>
<span class="sectionContentStyle sectionContentAll label">Risk of getting away:</span>
<div class="sectionContentStyle sectionContentAll">
<textarea class="secretIdentity" name="attr_secret_risk" cols="10" placeholder=""></textarea>
</div>
<span class="sectionContentStyle sectionContentAll label">Finatial situation:</span>
<div class="sectionContentStyle sectionContentAll">
<textarea class="secretIdentity" name="attr_secret_finance" cols="10" placeholder=""></textarea>
</div>
<span class="sectionContentStyle sectionContentAll label">Living situation:</span>
<div class="sectionContentStyle sectionContentAll">
<textarea class="secretIdentity" name="attr_secret_living" cols="10" placeholder=""></textarea>
</div>
</div>
</section>
<!-- Background Information -->
<section class="sectionContentAll">
<div class="sectionHeader">
<span>Background Information</span>
</div>
<div class="sectionContent">
<textarea class="backgroundInfo sectionContentAll" name="attr_background" cols="69" placeholder="Additional background information"></textarea>
</div>
</section>
</div>
<!-- TAB: Notes -->
<div class="notes_tab tab">
<section>
<div class="sectionHeader">
<span>Notes</span>
</div>
<div class="sectionContent">
<textarea class="notes sectionContentAll" name="attr_notes" cols="69" placeholder="Assorted notes"></textarea>
</div>
</section>
</div>
</div>
</div>
<script type="text/worker">
const names = ["code_name", "legal_name"]
const namesChangesAny = "change:" + [...names].join(" change:")
const stats = ["agility", "charisma", "intelligence", "senses", "speed", "stamina", "strength"]
const statsPowered = ["agility_powered", "charisma_powered", "intelligence_powered", "senses_powered", "speed_powered", "stamina_powered", "strength_powered"]
const statsUnpowered = ["agility_unpowered", "charisma_unpowered", "intelligence_unpowered", "senses_unpowered", "speed_unpowered", "stamina_unpowered", "strength_unpowered"]
const statsMod = ["agility_mod", "charisma_mod", "intelligence_mod", "senses_mod", "speed_mod", "stamina_mod", "strength_mod"]
const statChangesAny = "change:" + [...statsPowered, ...statsUnpowered, ...statsMod].join(" change:")
const attributes = ["initiative", "accuracy"];
const attributesScore = ["initiative_score", "accuracy_score"];
const attributesMod = ["initiative_mod", "accuracy_mod"];
const attributesChangesAny = "change:" + [...attributesScore, ...attributesMod].join(" change:")
const inspirationTeamBonus = "+?{Team inspiration bonus|0}"
const powersAttributes = ["name", "tier", "description"];
const powersAttributesChangesAny = "change:repeating_powers:" + [...powersAttributes].join(" change:repeating_powers:");
const abilitiesAttributes = ["name", "tier", "sp", "description", "enhancement"];
const abilitiesAttributesChangesAny = "change:repeating_abilities:" + [...abilitiesAttributes].join(" change:repeating_abilities:");
on(namesChangesAny, function(event) {
getAttrs([...names], function(values) {
const code = values.code_name;
const legal = values.legal_name;
const output = {"character_name": code + " / " + legal};
setAttrs(output);
});
});
const tabButtonList = ["combat_tab","powers_tab","details_tab", "notes_tab"];
tabButtonList.forEach(button => {
on(`clicked:${button}`, function() {
setAttrs({
sheet_tab: button
});
});
});
on("change:power_status", function(event) {
getAttrs(["power_status", ...statsPowered, ...statsUnpowered, ...statsMod], function(values) {
const status = values.power_status;
const output = {};
stats.forEach(stat => {
let key = stat+"_"+status;
let mod = stat+"_mod";
output[stat] = format(values[key])+format(values[mod])+inspirationTeamBonus;
});
setAttrs(output);
});
});
on(statChangesAny, function(event) {
getAttrs(["power_status", ...statsPowered, ...statsUnpowered, ...statsMod], function(values) {
const status = values.power_status;
const stat = event.triggerName.split("_")[0];
const key = stat+"_"+status;
const mod = stat+"_mod";
const powered = stat+"_powered"
const unpowered = stat+"_unpowered"
let result = values[key]
const output = {}
if (values[powered] < values[unpowered]){
output[powered] = values[unpowered]
result = values[unpowered]
}
output[stat] = format(result)+format(values[mod])+inspirationTeamBonus;
setAttrs(output, {"silent": true});
});
});
on(attributesChangesAny, function(event) {
getAttrs([...attributesScore, ...attributesMod], function(values) {
const attribute = event.triggerName.split("_")[0];
const score = attribute+"_score";
const mod = attribute+"_mod";
let additional = "";
if (attribute !== "initiative") additional = inspirationTeamBonus;
else additional = " &{tracker}"
const output = {[attribute]: format(values[score])+format(values[mod])+additional};
setAttrs(output);
});
});
on("change:hth_score change:hth_mod", function(event) {
getAttrs(["hth_score", "hth_mod"], function(values) {
const attribute = event.triggerName.split("_")[0];
const key = attribute+"_score";
const mod = attribute+"_mod";
const output = {[attribute]: formatRoll(values[key])+formatRollMod(values[mod])};
setAttrs(output);
});
});
on("change:repeating_attacks:attack-bonus change:accuracy", function(event) {
const section = "attacks"
getSectionIDs(`repeating_${section}`, id_attacks => {
const fields = [];
let atk = "";
let acc = "";
id_attacks.forEach(id => {
atk = section_attribute(section, id, 'attack-bonus')
fields.push(atk);
});
getAttrs([...fields, "accuracy"], function(values) {
const output = {};
id_attacks.forEach(id => {
atk = section_attribute(section, id, 'attack-bonus')
output[section_attribute(section, id, 'attack')] = formatRollMod(values[atk]+values["accuracy"])
});
setAttrs(output);
});
});
});
on("change:repeating_attacks:damage-bonus change:repeating_attacks:attack-hth change:hth", function(event) {
const section = "attacks"
getSectionIDs(`repeating_${section}`, id_attacks => {
const fields = [];
let dmg = "";
let hth = "";
let hthdmg = "";
id_attacks.forEach(id => {
dmg = section_attribute(section, id, 'damage-bonus')
hth = section_attribute(section, id, 'attack-hth')
fields.push(dmg);
fields.push(hth);
});
getAttrs([...fields, "hth"], values => {
const output = {};
id_attacks.forEach(id => {
dmg = section_attribute(section, id, 'damage-bonus');
hth = section_attribute(section, id, 'attack-hth');
if (values[hth] === "1") hthdmg = values["hth"];
output[section_attribute(section, id, 'damage')] = formatRoll(values[dmg]) + formatRollMod(hthdmg)
});
setAttrs(output);
});
});
});
on(powersAttributesChangesAny, function(event) {
const section = "powers"
getSectionIDs(`repeating_${section}`, id_powers => {
const fields = [];
let name = "";
let tier = "";
let description = "";
id_powers.forEach(id => {
name = section_attribute(section, id, 'name')
tier = section_attribute(section, id, 'tier')
description = section_attribute(section, id, 'description')
fields.push(name);
fields.push(tier);
fields.push(description);
});
getAttrs([...fields], function(values) {
const output = {};
id_powers.forEach(id => {
name = section_attribute(section, id, 'name')
tier = section_attribute(section, id, 'tier')
description = section_attribute(section, id, 'description')
output[section_attribute(section, id, 'power')] = powerTemplate(values[name], values[tier], values[description])
});
setAttrs(output);
});
});
});
on(abilitiesAttributesChangesAny, function(event) {
const section = "abilities"
getSectionIDs(`repeating_${section}`, id_abilities => {
const fields = [];
let name = "";
let tier = "";
let sp = "";
let description = "";
let enhancement = "";
id_abilities.forEach(id => {
name = section_attribute(section, id, 'name')
tier = section_attribute(section, id, 'tier')
sp = section_attribute(section, id, 'sp')
description = section_attribute(section, id, 'description')
enhancement = section_attribute(section, id, 'enhancement')
fields.push(name);
fields.push(tier);
fields.push(sp);
fields.push(description);
fields.push(enhancement);
});
getAttrs([...fields], function(values) {
const output = {};
id_abilities.forEach(id => {
name = section_attribute(section, id, 'name')
tier = section_attribute(section, id, 'tier')
sp = section_attribute(section, id, 'sp')
description = section_attribute(section, id, 'description')
enhancement = section_attribute(section, id, 'enhancement')
output[section_attribute(section, id, 'ability')] = abilityTemplate(values[name], values[tier], values[sp], values[description], values[enhancement])
});
setAttrs(output);
});
});
});
function format(number){
let sign = "+";
let abs = Math.abs(number);
if (Math.sign(number) < 0) {
sign = "-";
}
return sign + abs;
};
function formatRoll(rollExpression){
let sign = "";
let result = rollExpression.trimStart();
if (result.charAt(0) === "+") {
result = result.slice(1);
}
return sign + result;
};
function formatRollMod(rollExpression){
let sign = "";
let result = rollExpression.trimStart();
if ((!(result.charAt(0) === "+") || !(result.charAt(0) === "-")) && !(result === "")) {
sign = "+"
}
return sign + result;
};
const section_attribute = (section, id, field) => `repeating_${section}_${id}_${field}`
function powerTemplate(name, tier, description) {
const template = "default"
const result = `&{template:${template}} {{name=${name} [${tier}]}} {{${description}}}`
return result;
}
function abilityTemplate(name, tier, sp, description, enhancement) {
const template = "default"
const result = `&{template:${template}} {{name=${name} [${tier}]}} {{sp=${sp}}} {{description=${description}}} {{enhancements=${enhancement}}}`
return result;
}
</script>