Obsidian Portal
Menu
Sign In / Create Account
JavaScript is currently disabled. Obsidian Portal has a lot of really cool features that use JavaScript. You should check them out. We think you'll have a much more enjoyable experience.
Home
Campaigns
Games Nearby
Plans
Community
Help
Resources
Kallak's Pathfinder 2E (mobile/tablet friendly)
Author:
Kallak
Slug:
kallak_PF2e
System:
Pathfinder RPG 2e
DST Source Code
HTML Template
<div class="sheet-container csx"> <div class="uicontainer"> <div class="formatBar"> <button type="button" class="boldButton" title="Bold (Ctrl+B)"></button> <button type="button" class="italicButton" title="Italic (Ctrl+I)"></button> <button type="button" class="underlineButton" title="Underline (Ctrl+U)"></button> <button type="button" class="indentButton" title="Indent (Ctrl+Tab)"></button> </div> </div> <div class="sheet-notes"><!-- NOTES --> Attention!<br> This sheet works best with character images that are portrait-oriented rectangles.<br> Areas bordered in red are only displayed when editing.<br> Checkboxes and areas shaded in blue require your input.<br> Areas in white are labels or auto-calculated values.<br> List items can be reordered or dragged to the trash via the dotted handle. </div> <div class="grid-1"><!-- SHEET TOP --> <div class="portrait"><!--PORTRAIT --> <div class="dsf dsf_avatar_image readonly"></div> <div class="xp-bar-container"> <div class="xp-label">XP</div> <div class="xp-bar"> <div class="xp-bar-fill"></div> </div> <div class="xp-percentage"> <span class="dsf dsf_xp_percentage readonly"></span> <div>%</div> </div> </div> <div class="xp-settings-grid"> <div class="xp-checks-container"> <span class="dsf dsf_xp_speed_1 check readonly group_xp_speed"></span> <div class="checkbox-label">Slow</div> <span class="dsf dsf_xp_speed_2 check readonly group_xp_speed"></span> <div class="checkbox-label">Fast</div> </div> <div class="input2 current-xp-container"> <span class="dsf dsf_current_xp singlerow"></span> <div class="input-label">Current XP</div> </div> <div class="input2 next-level-container"> <span class="dsf dsf_next_xp readonly"></span> <div class="input-label">Next Level</div> </div> </div> </div> <div class="basic-info"><!-- BASIC INFO --> <div class="name-grid"> <div class="character-level input2"> <span class="dsf dsf_char_level singlerow"></span> <div class="input-label">Character Level</div> </div> <div class="name-box"> <div class="dsf dsf_name readonly"></div> <div> <div class="player-label">Played by:</div> <div class="dsf dsf_player readonly">[NPC]</div> </div> </div> <div class="hero-points input2"> <span class="dsf dsf_hero_points singlerow"></span> <div class="input-label">Hero Points</div> </div> </div> <div class="area-header">Basic Info</div> <div class="basic-info-grid"> <div class="input ancestry"> <div class="input-label">Ancestry and Heritage</div> <span class="dsf dsf_ancestry_and_heritage singlerow"></span> </div> <div class="input background"> <div class="input-label">Background</div> <span class="dsf dsf_background singlerow"></span> </div> <div class="input size"> <div class="input-label">Size</div> <span class="dsf dsf_size singlerow"></span> </div> <div class="input class"> <div class="input-label">Class</div> <span class="dsf dsf_class singlerow"></span> </div> <div class="input alignment"> <div class="input-label">Alignment</div> <span class="dsf dsf_alignment singlerow"></span> </div> <div class="input deity"> <div class="input-label">Deity</div> <span class="dsf dsf_deity singlerow"></span> </div> <div class="input traits"> <div class="input-label">Traits</div> <span class="dsf dsf_traits singlerow"></span> </div> <div class="input languages"> <div class="input-label">Languages</div> <span class="dsf dsf_languages singlerow"></span> </div> </div> </div> </div> <div class="grid-tabs"><!-- TABS --> <div class="tab tab-1" onclick="kallak_PF2e_tabClick(1);">Statistics</div> <div class="tab tab-2" onclick="kallak_PF2e_tabClick(2);">Feats</div> <div class="tab tab-3" onclick="kallak_PF2e_tabClick(3);">Actions</div> <div class="tab tab-4" onclick="kallak_PF2e_tabClick(4);">Spells</div> <div class="tab tab-5" onclick="kallak_PF2e_tabClick(5);">Inventory</div> <div class="tab tab-6" onclick="kallak_PF2e_tabClick(6);">About</div> </div> <div class="page page-1"><!-- STATS --> <div class="grid-3"> <div><!-- ABILITY SCORES & CLASS DC --> <div class="area-header">Ability Scores</div> <div class="ability-label-grid"> <div class="ability-label-ability">Ability</div> <div class="ability-label-score">Score</div> <div class="ability-label-mod">Mod</div> <div class="ability-label-key">Key</div> </div> <div class="ability-score-grid"> <div class="grey-back"></div> <div class="attr-label">Strength</div> <div></div> <div class="abil-score include-box"> <span class="dsf dsf_str singlerow"></span> </div> <div class="abil-mod include-box"> <span class="dsf dsf_str_mod readonly"></span> </div> <span class="dsf dsf_str_key check readonly group_key"></span> </div> <div class="ability-score-grid"> <div class="grey-back"></div> <div class="attr-label">Dexterity</div> <div class="abil-score include-box"> <span class="dsf dsf_dex singlerow"></span> </div> <div class="abil-mod include-box"> <span class="dsf dsf_dex_mod readonly"></span> </div> <span class="dsf dsf_dex_key check readonly group_key"></span> </div> <div class="ability-score-grid"> <div class="grey-back"></div> <div class="attr-label">Constitution</div> <div class="abil-score include-box"> <span class="dsf dsf_con singlerow"></span> </div> <div class="abil-mod include-box"> <span class="dsf dsf_con_mod readonly"></span> </div> <span class="dsf dsf_con_key check readonly group_key"></span> </div> <div class="ability-score-grid"> <div class="grey-back"></div> <div class="attr-label">Intelligence</div> <div class="abil-score include-box"> <span class="dsf dsf_int singlerow"></span> </div> <div class="abil-mod include-box"> <span class="dsf dsf_int_mod readonly"></span> </div> <span class="dsf dsf_int_key check readonly group_key"></span> </div> <div class="ability-score-grid"> <div class="grey-back"></div> <div class="attr-label">Wisdom</div> <div class="abil-score include-box"> <span class="dsf dsf_wis singlerow"></span> </div> <div class="abil-mod include-box"> <span class="dsf dsf_wis_mod readonly"></span> </div> <span class="dsf dsf_wis_key check readonly group_key"></span> </div> <div class="ability-score-grid"> <div class="grey-back"></div> <div class="attr-label">Charisma</div> <div class="abil-score include-box"> <span class="dsf dsf_cha singlerow"></span> </div> <div class="abil-mod include-box"> <span class="dsf dsf_cha_mod readonly"></span> </div> <span class="dsf dsf_cha_key check readonly group_key"></span> </div> <div class="area-header">Class DC</div> <div class="dc-grid"> <div class="grey-back"></div> <div class="dc-total value-total"> <div class="dsf dsf_class_dc_total readonly"></div> </div> <div class="dc-base value-include"> <div class="include-label">Base</div> <div class="include-box">10</div> </div> <div class="dc-key value-include"> <div class="include-label">Key</div> <div class="include-box"> <div class="dsf dsf_class_dc_key readonly"></div> </div> </div> <div class="dc-teml value-teml"> <div class="include-label">T</div> <div class="include-label">E</div> <div class="include-label">M</div> <div class="include-label">L</div> <div class="check-hold"> <span class="dsf dsf_class_dc_teml_t check readonly group_class_dc"></span> </div> <div class="check-hold"> <span class="dsf dsf_class_dc_teml_e check readonly group_class_dc"></span> </div> <div class="check-hold"> <span class="dsf dsf_class_dc_teml_m check readonly group_class_dc"></span> </div> <div class="check-hold"> <span class="dsf dsf_class_dc_teml_l check readonly group_class_dc"></span> </div> </div> <div class="dc-item value-include"> <div class="include-label">Item</div> <div class="include-box"> <span class="dsf dsf_class_dc_item singlerow"></span> </div> </div> </div> <div class="input"> <div class="input-label">Notes</div> <span class="dsf dsf_class_dc_notes singlerow"></span> </div> </div> <div><!-- ARMOR CLASS & SAVING THROWS --> <div class="area-header">Armor Class</div> <div class="armor-class-grid"> <div class="grey-back"></div> <div class="value-total"> <div class="dsf dsf_ac_total readonly"></div> </div> <div class="value-include ac-base"> <div class="include-label">Base</div> <div class="include-box">10</div> </div> <div class="value-include ac-prof"> <div class="include-label">Prof</div> <div class="include-box"> <div class="dsf dsf_ac_prof readonly"></div> </div> </div> <div class="value-include ac-dexcap"> <div class="include-label">Dex/Cap</div> <div class="include-box"> <span class="dsf dsf_ac_dexcap singlerow"></span> </div> </div> <div class="value-include ac-item"> <div class="include-label">Item</div> <div class="include-box"> <span class="dsf dsf_ac_item singlerow"></span> </div> </div> </div> <div class="armor-type-grid"> <div class="grey-back"></div> <div class="save-label">Armor Category</div> <div class="armor-type-checks-grid"> <div class="include-label">U</div> <div class="include-label">L</div> <div class="include-label">M</div> <div class="include-label">H</div> <div class="include-label">[X]</div> <div class="check-hold"> <span class="dsf dsf_armor_type_u check readonly group_armor_type"></span> </div> <div class="check-hold"> <span class="dsf dsf_armor_type_l check readonly group_armor_type"></span> </div> <div class="check-hold"> <span class="dsf dsf_armor_type_m check readonly group_armor_type"></span> </div> <div class="check-hold"> <span class="dsf dsf_armor_type_h check readonly group_armor_type"></span> </div> <div class="check-hold"> <span class="dsf dsf_armor_type_c check readonly group_armor_type"></span> </div> </div> </div> <div class="shield-grid"> <div class="grey-back"></div> <div class="save-label">Shield</div> <div class="value-include shield-bonus"> <div class="include-label">+AC</div> <div class="include-box"> <span class="dsf dsf_shield_total singlerow"></span> </div> </div> <div class="value-include shield-hardness"> <div class="include-label">Hard.</div> <div class="include-box"> <span class="dsf dsf_shield_hardness singlerow"></span> </div> </div> <div class="value-include shield-hp"> <div class="include-label">HP</div> <div class="include-box"> <span class="dsf dsf_shield_hp singlerow"></span> </div> </div> <div class="value-include shield-bt"> <div class="include-label">BT</div> <div class="include-box"> <span class="dsf dsf_shield_bt singlerow"></span> </div> </div> </div> <div class="area-header">Saving Throws</div> <div class="saving-throw-grid"><!-- FORT SAVE --> <div class="grey-back"></div> <div class="save-label">Fort</div> <div class="save-total value-total"> <div class="dsf dsf_fort_total readonly"></div> </div> <div class="save-ability value-include"> <div class="include-label">Con</div> <div class="include-box"> <div class="dsf dsf_con_mod readonly"></div> </div> </div> <div class="save-teml value-teml"> <div class="include-label">T</div> <div class="include-label">E</div> <div class="include-label">M</div> <div class="include-label">L</div> <div class="check-hold"> <span class="dsf dsf_fort_teml_t check readonly group_fort"></span> </div> <div class="check-hold"> <span class="dsf dsf_fort_teml_e check readonly group_fort"></span> </div> <div class="check-hold"> <span class="dsf dsf_fort_teml_m check readonly group_fort"></span> </div> <div class="check-hold"> <span class="dsf dsf_fort_teml_l check readonly group_fort"></span> </div> </div> <div class="save-item value-include"> <div class="include-label">Item</div> <div class="include-box"> <span class="dsf dsf_fort_item singlerow"></span> </div> </div> </div> <div class="saving-throw-grid"><!-- REF SAVE --> <div class="grey-back"></div> <div class="save-label">Ref</div> <div class="save-total value-total"> <div class="dsf dsf_ref_total readonly"></div> </div> <div class="save-ability value-include"> <div class="include-label">Dex</div> <div class="include-box"> <div class="dsf dsf_dex_mod readonly"></div> </div> </div> <div class="save-teml value-teml"> <div class="include-label">T</div> <div class="include-label">E</div> <div class="include-label">M</div> <div class="include-label">L</div> <div class="check-hold"> <span class="dsf dsf_ref_teml_t check readonly group_ref"></span> </div> <div class="check-hold"> <span class="dsf dsf_ref_teml_e check readonly group_ref"></span> </div> <div class="check-hold"> <span class="dsf dsf_ref_teml_m check readonly group_ref"></span> </div> <div class="check-hold"> <span class="dsf dsf_ref_teml_l check readonly group_ref"></span> </div> </div> <div class="save-item value-include"> <div class="include-label">Item</div> <div class="include-box"> <span class="dsf dsf_ref_item singlerow"></span> </div> </div> </div> <div class="saving-throw-grid will-save"><!-- WILL SAVE --> <div class="grey-back"></div> <div class="save-label">Will</div> <div class="save-total value-total"> <div class="dsf dsf_will_total readonly"></div> </div> <div class="save-ability value-include"> <div class="include-label">Wis</div> <div class="include-box"> <div class="dsf dsf_wis_mod readonly"></div> </div> </div> <div class="save-teml value-teml"> <div class="include-label">T</div> <div class="include-label">E</div> <div class="include-label">M</div> <div class="include-label">L</div> <div class="check-hold"> <span class="dsf dsf_will_teml_t check readonly group_will"></span> </div> <div class="check-hold"> <span class="dsf dsf_will_teml_e check readonly group_will"></span> </div> <div class="check-hold"> <span class="dsf dsf_will_teml_m check readonly group_will"></span> </div> <div class="check-hold"> <span class="dsf dsf_will_teml_l check readonly group_will"></span> </div> </div> <div class="save-item value-include"> <div class="include-label">Item</div> <div class="include-box"> <span class="dsf dsf_will_item singlerow"></span> </div> </div> </div> <div class="input"> <div class="input-label">Notes</div> <span class="dsf dsf_saving_throw_notes singlerow"></span> </div> </div> <div><!-- HIT POINTS & PERCEPTION --> <div class="area-header">Hit Points</div> <div class="hit-points-grid"> <div class="input hp-current"> <div class="input-label">Current</div> <span class="dsf dsf_current_hp singlerow"></span> </div> <div class="input hp-max"> <div class="input-label">Max</div> <span class="dsf dsf_max_hp singlerow"></span> </div> <div class="input hp-temp"> <div class="input-label">Temporary</div> <span class="dsf dsf_temporary_hp singlerow"></span> </div> <div class="input hp-resistances"> <div class="input-label">Resistances & Immunities</div> <span class="dsf dsf_resistances_immunities singlerow"></span> </div> <div class="input hp-doomed"> <div class="input-label">Doomed</div> <span class="dsf dsf_hp_doomed singlerow"></span> </div> <div class="input hp-wounded"> <div class="input-label">Wounded</div> <span class="dsf dsf_hp_wounded singlerow"></span> </div> <div class="input hp-dying"> <div class="input-label">Dying</div> <span class="dsf dsf_hp_dying singlerow"></span> </div> <div class="input hp-condition-notes"> <div class="input-label">Condition Notes</div> <span class="dsf dsf_conditions singlerow"></span> </div> </div> <div class="area-header">Perception</div> <div class="perception-grid"> <div class="grey-back"></div> <div class="perception-total value-total"> <div class="dsf dsf_perception_total readonly"></div> </div> <div class="perception-ability value-include"> <div class="include-label">Wis</div> <div class="include-box"> <div class="dsf dsf_wis_mod readonly"></div> </div> </div> <div class="perception-teml value-teml"> <div class="include-label">T</div> <div class="include-label">E</div> <div class="include-label">M</div> <div class="include-label">L</div> <div class="check-hold"> <span class="dsf dsf_perception_teml_t check readonly group_perception"></span> </div> <div class="check-hold"> <span class="dsf dsf_perception_teml_e check readonly group_perception"></span> </div> <div class="check-hold"> <span class="dsf dsf_perception_teml_m check readonly group_perception"></span> </div> <div class="check-hold"> <span class="dsf dsf_perception_teml_l check readonly group_perception"></span> </div> </div> <div class="perception-item value-include"> <div class="include-label">Item</div> <div class="include-box"> <span class="dsf dsf_perception_item singlerow"></span> </div> </div> </div> <div class="input senses-input"> <div class="input-label">Senses</div> <span class="dsf dsf_perception_senses singlerow"></span> </div> <div class="input"> <div class="input-label">Notes</div> <span class="dsf dsf_perception_notes singlerow"></span> </div> </div> </div> <div class="grid-2"> <div><!-- WEAPON & ARMOR PROFICIENCIES --> <div class="area-header">Weapon & Armor Proficiencies</div> <div class="proficiencies-grid"> <div class="one-proficiency"> <div class="teml-type-name">Unarmored</div> <div class="teml-label-t">T</div> <div class="teml-label-e">E</div> <div class="teml-label-m">M</div> <div class="teml-label-l">L</div> <span class="dsf dsf_unarmored_teml_t first_teml check readonly group_unarmored"></span> <span class="dsf dsf_unarmored_teml_e second_teml check readonly group_unarmored"></span> <span class="dsf dsf_unarmored_teml_m third_teml check readonly group_unarmored"></span> <span class="dsf dsf_unarmored_teml_l fourth_teml check readonly group_unarmored"></span> </div> <div class="one-proficiency"> <div class="teml-type-name">Light</div> <div class="teml-label-t">T</div> <div class="teml-label-e">E</div> <div class="teml-label-m">M</div> <div class="teml-label-l">L</div> <span class="dsf dsf_light_teml_t first_teml check readonly group_light"></span> <span class="dsf dsf_light_teml_e second_teml check readonly group_light"></span> <span class="dsf dsf_light_teml_m third_teml check readonly group_light"></span> <span class="dsf dsf_light_teml_l fourth_teml check readonly group_light"></span> </div> <div class="one-proficiency"> <div class="teml-type-name">Medium</div> <div class="teml-label-t">T</div> <div class="teml-label-e">E</div> <div class="teml-label-m">M</div> <div class="teml-label-l">L</div> <span class="dsf dsf_medium_teml_t first_teml check readonly group_medium"></span> <span class="dsf dsf_medium_teml_e second_teml check readonly group_medium"></span> <span class="dsf dsf_medium_teml_m third_teml check readonly group_medium"></span> <span class="dsf dsf_medium_teml_l fourth_teml check readonly group_medium"></span> </div> <div class="one-proficiency"> <div class="teml-type-name">Heavy</div> <div class="teml-label-t">T</div> <div class="teml-label-e">E</div> <div class="teml-label-m">M</div> <div class="teml-label-l">L</div> <span class="dsf dsf_heavy_teml_t first_teml check readonly group_heavy"></span> <span class="dsf dsf_heavy_teml_e second_teml check readonly group_heavy"></span> <span class="dsf dsf_heavy_teml_m third_teml check readonly group_heavy"></span> <span class="dsf dsf_heavy_teml_l fourth_teml check readonly group_heavy"></span> </div> <div class="one-proficiency"> <span class="dsf dsf_wpn_arm_1_teml teml-type-name singlerow"></span> <div class="teml-label-t">T</div> <div class="teml-label-e">E</div> <div class="teml-label-m">M</div> <div class="teml-label-l">L</div> <span class="dsf dsf_wpn_arm_1_teml_t first_teml check readonly group_wpn_arm_1"></span> <span class="dsf dsf_wpn_arm_1_teml_e second_teml check readonly group_wpn_arm_1"></span> <span class="dsf dsf_wpn_arm_1_teml_m third_teml check readonly group_wpn_arm_1"></span> <span class="dsf dsf_wpn_arm_1_teml_l fourth_teml check readonly group_wpn_arm_1"></span> </div> <div class="one-proficiency"> <div class="teml-type-name">Unarmed</div> <div class="teml-label-t">T</div> <div class="teml-label-e">E</div> <div class="teml-label-m">M</div> <div class="teml-label-l">L</div> <span class="dsf dsf_unarmed_teml_t first_teml check readonly group_unarmed"></span> <span class="dsf dsf_unarmed_teml_e second_teml check readonly group_unarmed"></span> <span class="dsf dsf_unarmed_teml_m third_teml check readonly group_unarmed"></span> <span class="dsf dsf_unarmed_teml_l fourth_teml check readonly group_unarmed"></span> </div> <div class="one-proficiency"> <div class="teml-type-name">Simple</div> <div class="teml-label-t">T</div> <div class="teml-label-e">E</div> <div class="teml-label-m">M</div> <div class="teml-label-l">L</div> <span class="dsf dsf_simple_teml_t first_teml check readonly group_simple"></span> <span class="dsf dsf_simple_teml_e second_teml check readonly group_simple"></span> <span class="dsf dsf_simple_teml_m third_teml check readonly group_simple"></span> <span class="dsf dsf_simple_teml_l fourth_teml check readonly group_simple"></span> </div> <div class="one-proficiency"> <div class="teml-type-name">Martial</div> <div class="teml-label-t">T</div> <div class="teml-label-e">E</div> <div class="teml-label-m">M</div> <div class="teml-label-l">L</div> <span class="dsf dsf_martial_teml_t first_teml check readonly group_martial"></span> <span class="dsf dsf_martial_teml_e second_teml check readonly group_martial"></span> <span class="dsf dsf_martial_teml_m third_teml check readonly group_martial"></span> <span class="dsf dsf_martial_teml_l fourth_teml check readonly group_martial"></span> </div> <div class="one-proficiency"> <span class="dsf dsf_wpn_arm_2_teml teml-type-name singlerow"></span> <div class="teml-label-t">T</div> <div class="teml-label-e">E</div> <div class="teml-label-m">M</div> <div class="teml-label-l">L</div> <span class="dsf dsf_wpn_arm_2_teml_t first_teml check readonly group_wpn_arm_2"></span> <span class="dsf dsf_wpn_arm_2_teml_e second_teml check readonly group_wpn_arm_2"></span> <span class="dsf dsf_wpn_arm_2_teml_m third_teml check readonly group_wpn_arm_2"></span> <span class="dsf dsf_wpn_arm_2_teml_l fourth_teml check readonly group_wpn_arm_2"></span> </div> <div class="one-proficiency"> <span class="dsf dsf_wpn_arm_3_teml teml-type-name singlerow"></span> <div class="teml-label-t">T</div> <div class="teml-label-e">E</div> <div class="teml-label-m">M</div> <div class="teml-label-l">L</div> <span class="dsf dsf_wpn_arm_3_teml_t first_teml check readonly group_wpn_arm_3"></span> <span class="dsf dsf_wpn_arm_3_teml_e second_teml check readonly group_wpn_arm_3"></span> <span class="dsf dsf_wpn_arm_3_teml_m third_teml check readonly group_wpn_arm_3"></span> <span class="dsf dsf_wpn_arm_3_teml_l fourth_teml check readonly group_wpn_arm_3"></span> </div> </div> </div> <div><!-- SPEED --> <div class="area-header">Speed</div> <div class="speed-grid"> <div class="grey-back"></div> <div class="save-label">Movement Types</div> <div class="value-include land-speed"> <div class="include-label">Land</div> <div class="include-box"> <span class="dsf dsf_speed_land singlerow"></span> </div> </div> <div class="value-include burrow-speed"> <div class="include-label">Burrow</div> <div class="include-box"> <span class="dsf dsf_speed_burrow singlerow"></span> </div> </div> <div class="value-include climb-speed"> <div class="include-label">Climb</div> <div class="include-box"> <span class="dsf dsf_speed_climb singlerow"></span> </div> </div> <div class="value-include fly-speed"> <div class="include-label">Fly</div> <div class="include-box"> <span class="dsf dsf_speed_fly singlerow"></span> </div> </div> <div class="value-include swim-speed"> <div class="include-label">Swim</div> <div class="include-box"> <span class="dsf dsf_speed_swim singlerow"></span> </div> </div> </div> <div class="input"> <div class="input-label">Notes</div> <span class="dsf dsf_mvmt_types_notes singlerow"></span> </div> </div> </div> <div class="area-header">Skills</div><!-- SKILLS --> <div class="grid-2"> <div> <div class="skill-grid"> <div class="grey-back"></div> <div class="save-label">Acrobatics</div> <div class="skill-total value-total"> <div class="dsf dsf_acrobatics_total readonly"></div> </div> <div class="skill-ability value-include"> <div class="include-label">Dex</div> <div class="include-box"> <div class="dsf dsf_dex_mod readonly"></div> </div> </div> <div class="skill-teml value-teml"> <div class="include-label">T</div> <div class="include-label">E</div> <div class="include-label">M</div> <div class="include-label">L</div> <div class="check-hold"> <span class="dsf dsf_acrobatics_teml_t check readonly group_acrobatics"></span> </div> <div class="check-hold"> <span class="dsf dsf_acrobatics_teml_e check readonly group_acrobatics"></span> </div> <div class="check-hold"> <span class="dsf dsf_acrobatics_teml_m check readonly group_acrobatics"></span> </div> <div class="check-hold"> <span class="dsf dsf_acrobatics_teml_l check readonly group_acrobatics"></span> </div> </div> <div class="skill-item value-include"> <div class="include-label">Item</div> <div class="include-box"> <span class="dsf dsf_acrobatics_item singlerow"></span> </div> </div> <div class="skill-armor value-include"> <div class="include-label">Armor</div> <div class="include-box"> <span class="dsf dsf_acrobatics_armor singlerow"></span> </div> </div> </div> <div class="skill-grid"> <div class="grey-back"></div> <div class="save-label">Arcana</div> <div class="skill-total value-total"> <div class="dsf dsf_arcana_total readonly"></div> </div> <div class="skill-ability value-include"> <div class="include-label">Int</div> <div class="include-box"> <div class="dsf dsf_int_mod readonly"></div> </div> </div> <div class="skill-teml value-teml"> <div class="include-label">T</div> <div class="include-label">E</div> <div class="include-label">M</div> <div class="include-label">L</div> <div class="check-hold"> <span class="dsf dsf_arcana_teml_t check readonly group_arcana"></span> </div> <div class="check-hold"> <span class="dsf dsf_arcana_teml_e check readonly group_arcana"></span> </div> <div class="check-hold"> <span class="dsf dsf_arcana_teml_m check readonly group_arcana"></span> </div> <div class="check-hold"> <span class="dsf dsf_arcana_teml_l check readonly group_arcana"></span> </div> </div> <div class="skill-item value-include"> <div class="include-label">Item</div> <div class="include-box"> <span class="dsf dsf_arcana_item singlerow"></span> </div> </div> </div> <div class="skill-grid"> <div class="grey-back"></div> <div class="save-label">Athletics</div> <div class="skill-total value-total"> <div class="dsf dsf_athletics_total readonly"></div> </div> <div class="skill-ability value-include"> <div class="include-label">Str</div> <div class="include-box"> <div class="dsf dsf_str_mod readonly"></div> </div> </div> <div class="skill-teml value-teml"> <div class="include-label">T</div> <div class="include-label">E</div> <div class="include-label">M</div> <div class="include-label">L</div> <div class="check-hold"> <span class="dsf dsf_athletics_teml_t check readonly group_athletics"></span> </div> <div class="check-hold"> <span class="dsf dsf_athletics_teml_e check readonly group_athletics"></span> </div> <div class="check-hold"> <span class="dsf dsf_athletics_teml_m check readonly group_athletics"></span> </div> <div class="check-hold"> <span class="dsf dsf_athletics_teml_l check readonly group_athletics"></span> </div> </div> <div class="skill-item value-include"> <div class="include-label">Item</div> <div class="include-box"> <span class="dsf dsf_athletics_item singlerow"></span> </div> </div> <div class="skill-armor value-include"> <div class="include-label">Armor</div> <div class="include-box"> <span class="dsf dsf_athletics_armor singlerow"></span> </div> </div> </div> <div class="skill-grid"> <div class="grey-back"></div> <div class="save-label">Crafting</div> <div class="skill-total value-total"> <div class="dsf dsf_crafting_total readonly"></div> </div> <div class="skill-ability value-include"> <div class="include-label">Int</div> <div class="include-box"> <div class="dsf dsf_int_mod readonly"></div> </div> </div> <div class="skill-teml value-teml"> <div class="include-label">T</div> <div class="include-label">E</div> <div class="include-label">M</div> <div class="include-label">L</div> <div class="check-hold"> <span class="dsf dsf_crafting_teml_t check readonly group_crafting"></span> </div> <div class="check-hold"> <span class="dsf dsf_crafting_teml_e check readonly group_crafting"></span> </div> <div class="check-hold"> <span class="dsf dsf_crafting_teml_m check readonly group_crafting"></span> </div> <div class="check-hold"> <span class="dsf dsf_crafting_teml_l check readonly group_crafting"></span> </div> </div> <div class="skill-item value-include"> <div class="include-label">Item</div> <div class="include-box"> <span class="dsf dsf_crafting_item singlerow"></span> </div> </div> </div> <div class="skill-grid"> <div class="grey-back"></div> <div class="save-label">Deception</div> <div class="skill-total value-total"> <div class="dsf dsf_deception_total readonly"></div> </div> <div class="skill-ability value-include"> <div class="include-label">Cha</div> <div class="include-box"> <div class="dsf dsf_cha_mod readonly"></div> </div> </div> <div class="skill-teml value-teml"> <div class="include-label">T</div> <div class="include-label">E</div> <div class="include-label">M</div> <div class="include-label">L</div> <div class="check-hold"> <span class="dsf dsf_deception_teml_t check readonly group_deception"></span> </div> <div class="check-hold"> <span class="dsf dsf_deception_teml_e check readonly group_deception"></span> </div> <div class="check-hold"> <span class="dsf dsf_deception_teml_m check readonly group_deception"></span> </div> <div class="check-hold"> <span class="dsf dsf_deception_teml_l check readonly group_deception"></span> </div> </div> <div class="skill-item value-include"> <div class="include-label">Item</div> <div class="include-box"> <span class="dsf dsf_deception_item singlerow"></span> </div> </div> </div> <div class="skill-grid"> <div class="grey-back"></div> <div class="save-label">Diplomacy</div> <div class="skill-total value-total"> <div class="dsf dsf_diplomacy_total readonly"></div> </div> <div class="skill-ability value-include"> <div class="include-label">Cha</div> <div class="include-box"> <div class="dsf dsf_cha_mod readonly"></div> </div> </div> <div class="skill-teml value-teml"> <div class="include-label">T</div> <div class="include-label">E</div> <div class="include-label">M</div> <div class="include-label">L</div> <div class="check-hold"> <span class="dsf dsf_diplomacy_teml_t check readonly group_diplomacy"></span> </div> <div class="check-hold"> <span class="dsf dsf_diplomacy_teml_e check readonly group_diplomacy"></span> </div> <div class="check-hold"> <span class="dsf dsf_diplomacy_teml_m check readonly group_diplomacy"></span> </div> <div class="check-hold"> <span class="dsf dsf_diplomacy_teml_l check readonly group_diplomacy"></span> </div> </div> <div class="skill-item value-include"> <div class="include-label">Item</div> <div class="include-box"> <span class="dsf dsf_diplomacy_item singlerow"></span> </div> </div> </div> <div class="skill-grid"> <div class="grey-back"></div> <div class="save-label">Intimidation</div> <div class="skill-total value-total"> <div class="dsf dsf_intimidation_total readonly"></div> </div> <div class="skill-ability value-include"> <div class="include-label">Cha</div> <div class="include-box"> <div class="dsf dsf_cha_mod readonly"></div> </div> </div> <div class="skill-teml value-teml"> <div class="include-label">T</div> <div class="include-label">E</div> <div class="include-label">M</div> <div class="include-label">L</div> <div class="check-hold"> <span class="dsf dsf_intimidation_teml_t check readonly group_intimidation"></span> </div> <div class="check-hold"> <span class="dsf dsf_intimidation_teml_e check readonly group_intimidation"></span> </div> <div class="check-hold"> <span class="dsf dsf_intimidation_teml_m check readonly group_intimidation"></span> </div> <div class="check-hold"> <span class="dsf dsf_intimidation_teml_l check readonly group_intimidation"></span> </div> </div> <div class="skill-item value-include"> <div class="include-label">Item</div> <div class="include-box"> <span class="dsf dsf_intimidation_item singlerow"></span> </div> </div> </div> <div class="skill-grid"> <div class="grey-back"></div> <div class="save-label"> <span class="dsf dsf_lore1_name singlerow"></span> </div> <div class="skill-total value-total"> <div class="dsf dsf_lore1_total readonly"></div> </div> <div class="skill-ability value-include"> <div class="include-label">Int</div> <div class="include-box"> <div class="dsf dsf_int_mod readonly"></div> </div> </div> <div class="skill-teml value-teml"> <div class="include-label">T</div> <div class="include-label">E</div> <div class="include-label">M</div> <div class="include-label">L</div> <div class="check-hold"> <span class="dsf dsf_lore1_teml_t check readonly group_lore1"></span> </div> <div class="check-hold"> <span class="dsf dsf_lore1_teml_e check readonly group_lore1"></span> </div> <div class="check-hold"> <span class="dsf dsf_lore1_teml_m check readonly group_lore1"></span> </div> <div class="check-hold"> <span class="dsf dsf_lore1_teml_l check readonly group_lore1"></span> </div> </div> <div class="skill-item value-include"> <div class="include-label">Item</div> <div class="include-box"> <span class="dsf dsf_lore1_item singlerow"></span> </div> </div> </div> <div class="skill-grid"> <div class="grey-back"></div> <div class="save-label lore-name"> <span class="dsf dsf_lore2_name singlerow"></span> </div> <div class="skill-total value-total"> <div class="dsf dsf_lore2_total readonly"></div> </div> <div class="skill-ability value-include"> <div class="include-label">Int</div> <div class="include-box"> <div class="dsf dsf_int_mod readonly"></div> </div> </div> <div class="skill-teml value-teml"> <div class="include-label">T</div> <div class="include-label">E</div> <div class="include-label">M</div> <div class="include-label">L</div> <div class="check-hold"> <span class="dsf dsf_lore2_teml_t check readonly group_lore2"></span> </div> <div class="check-hold"> <span class="dsf dsf_lore2_teml_e check readonly group_lore2"></span> </div> <div class="check-hold"> <span class="dsf dsf_lore2_teml_m check readonly group_lore2"></span> </div> <div class="check-hold"> <span class="dsf dsf_lore2_teml_l check readonly group_lore2"></span> </div> </div> <div class="skill-item value-include"> <div class="include-label">Item</div> <div class="include-box"> <span class="dsf dsf_lore2_item singlerow"></span> </div> </div> </div> <div class="skill-grid"> <div class="grey-back"></div> <div class="save-label"> <span class="dsf dsf_lore3_name singlerow"></span> </div> <div class="skill-total value-total"> <div class="dsf dsf_lore3_total readonly"></div> </div> <div class="skill-ability value-include"> <div class="include-label">Int</div> <div class="include-box"> <div class="dsf dsf_int_mod readonly"></div> </div> </div> <div class="skill-teml value-teml"> <div class="include-label">T</div> <div class="include-label">E</div> <div class="include-label">M</div> <div class="include-label">L</div> <div class="check-hold"> <span class="dsf dsf_lore3_teml_t check readonly group_lore3"></span> </div> <div class="check-hold"> <span class="dsf dsf_lore3_teml_e check readonly group_lore3"></span> </div> <div class="check-hold"> <span class="dsf dsf_lore3_teml_m check readonly group_lore3"></span> </div> <div class="check-hold"> <span class="dsf dsf_lore3_teml_l check readonly group_lore3"></span> </div> </div> <div class="skill-item value-include"> <div class="include-label">Item</div> <div class="include-box"> <span class="dsf dsf_lore3_item singlerow"></span> </div> </div> </div> </div> <div> <div class="skill-grid"> <div class="grey-back"></div> <div class="save-label"> <span class="dsf dsf_lore4_name singlerow"></span> </div> <div class="skill-total value-total"> <div class="dsf dsf_lore4_total readonly"></div> </div> <div class="skill-ability value-include"> <div class="include-label">Int</div> <div class="include-box"> <div class="dsf dsf_int_mod readonly"></div> </div> </div> <div class="skill-teml value-teml"> <div class="include-label">T</div> <div class="include-label">E</div> <div class="include-label">M</div> <div class="include-label">L</div> <div class="check-hold"> <span class="dsf dsf_lore4_teml_t check readonly group_lore4"></span> </div> <div class="check-hold"> <span class="dsf dsf_lore4_teml_e check readonly group_lore4"></span> </div> <div class="check-hold"> <span class="dsf dsf_lore4_teml_m check readonly group_lore4"></span> </div> <div class="check-hold"> <span class="dsf dsf_lore4_teml_l check readonly group_lore4"></span> </div> </div> <div class="skill-item value-include"> <div class="include-label">Item</div> <div class="include-box"> <span class="dsf dsf_lore4_item singlerow"></span> </div> </div> </div> <div class="skill-grid"> <div class="grey-back"></div> <div class="save-label">Medicine</div> <div class="skill-total value-total"> <div class="dsf dsf_medicine_total readonly"></div> </div> <div class="skill-ability value-include"> <div class="include-label">Wis</div> <div class="include-box"> <div class="dsf dsf_wis_mod readonly"></div> </div> </div> <div class="skill-teml value-teml"> <div class="include-label">T</div> <div class="include-label">E</div> <div class="include-label">M</div> <div class="include-label">L</div> <div class="check-hold"> <span class="dsf dsf_medicine_teml_t check readonly group_medicine"></span> </div> <div class="check-hold"> <span class="dsf dsf_medicine_teml_e check readonly group_medicine"></span> </div> <div class="check-hold"> <span class="dsf dsf_medicine_teml_m check readonly group_medicine"></span> </div> <div class="check-hold"> <span class="dsf dsf_medicine_teml_l check readonly group_medicine"></span> </div> </div> <div class="skill-item value-include"> <div class="include-label">Item</div> <div class="include-box"> <span class="dsf dsf_medicine_item singlerow"></span> </div> </div> </div> <div class="skill-grid"> <div class="grey-back"></div> <div class="save-label">Nature</div> <div class="skill-total value-total"> <div class="dsf dsf_nature_total readonly"></div> </div> <div class="skill-ability value-include"> <div class="include-label">Wis</div> <div class="include-box"> <div class="dsf dsf_wis_mod readonly"></div> </div> </div> <div class="skill-teml value-teml"> <div class="include-label">T</div> <div class="include-label">E</div> <div class="include-label">M</div> <div class="include-label">L</div> <div class="check-hold"> <span class="dsf dsf_nature_teml_t check readonly group_nature"></span> </div> <div class="check-hold"> <span class="dsf dsf_nature_teml_e check readonly group_nature"></span> </div> <div class="check-hold"> <span class="dsf dsf_nature_teml_m check readonly group_nature"></span> </div> <div class="check-hold"> <span class="dsf dsf_nature_teml_l check readonly group_nature"></span> </div> </div> <div class="skill-item value-include"> <div class="include-label">Item</div> <div class="include-box"> <span class="dsf dsf_nature_item singlerow"></span> </div> </div> </div> <div class="skill-grid"> <div class="grey-back"></div> <div class="save-label">Occultism</div> <div class="skill-total value-total"> <div class="dsf dsf_occultism_total readonly"></div> </div> <div class="skill-ability value-include"> <div class="include-label">Int</div> <div class="include-box"> <div class="dsf dsf_int_mod readonly"></div> </div> </div> <div class="skill-teml value-teml"> <div class="include-label">T</div> <div class="include-label">E</div> <div class="include-label">M</div> <div class="include-label">L</div> <div class="check-hold"> <span class="dsf dsf_occultism_teml_t check readonly group_occultism"></span> </div> <div class="check-hold"> <span class="dsf dsf_occultism_teml_e check readonly group_occultism"></span> </div> <div class="check-hold"> <span class="dsf dsf_occultism_teml_m check readonly group_occultism"></span> </div> <div class="check-hold"> <span class="dsf dsf_occultism_teml_l check readonly group_occultism"></span> </div> </div> <div class="skill-item value-include"> <div class="include-label">Item</div> <div class="include-box"> <span class="dsf dsf_occultism_item singlerow"></span> </div> </div> </div> <div class="skill-grid"> <div class="grey-back"></div> <div class="save-label">Performance</div> <div class="skill-total value-total"> <div class="dsf dsf_performance_total readonly"></div> </div> <div class="skill-ability value-include"> <div class="include-label">Cha</div> <div class="include-box"> <div class="dsf dsf_cha_mod readonly"></div> </div> </div> <div class="skill-teml value-teml"> <div class="include-label">T</div> <div class="include-label">E</div> <div class="include-label">M</div> <div class="include-label">L</div> <div class="check-hold"> <span class="dsf dsf_performance_teml_t check readonly group_performance"></span> </div> <div class="check-hold"> <span class="dsf dsf_performance_teml_e check readonly group_performance"></span> </div> <div class="check-hold"> <span class="dsf dsf_performance_teml_m check readonly group_performance"></span> </div> <div class="check-hold"> <span class="dsf dsf_performance_teml_l check readonly group_performance"></span> </div> </div> <div class="skill-item value-include"> <div class="include-label">Item</div> <div class="include-box"> <span class="dsf dsf_performance_item singlerow"></span> </div> </div> </div> <div class="skill-grid"> <div class="grey-back"></div> <div class="save-label">Religion</div> <div class="skill-total value-total"> <div class="dsf dsf_religion_total readonly"></div> </div> <div class="skill-ability value-include"> <div class="include-label">Wis</div> <div class="include-box"> <div class="dsf dsf_wis_mod readonly"></div> </div> </div> <div class="skill-teml value-teml"> <div class="include-label">T</div> <div class="include-label">E</div> <div class="include-label">M</div> <div class="include-label">L</div> <div class="check-hold"> <span class="dsf dsf_religion_teml_t check readonly group_religion"></span> </div> <div class="check-hold"> <span class="dsf dsf_religion_teml_e check readonly group_religion"></span> </div> <div class="check-hold"> <span class="dsf dsf_religion_teml_m check readonly group_religion"></span> </div> <div class="check-hold"> <span class="dsf dsf_religion_teml_l check readonly group_religion"></span> </div> </div> <div class="skill-item value-include"> <div class="include-label">Item</div> <div class="include-box"> <span class="dsf dsf_religion_item singlerow"></span> </div> </div> </div> <div class="skill-grid"> <div class="grey-back"></div> <div class="save-label">Society</div> <div class="skill-total value-total"> <div class="dsf dsf_society_total readonly"></div> </div> <div class="skill-ability value-include"> <div class="include-label">Int</div> <div class="include-box"> <div class="dsf dsf_int_mod readonly"></div> </div> </div> <div class="skill-teml value-teml"> <div class="include-label">T</div> <div class="include-label">E</div> <div class="include-label">M</div> <div class="include-label">L</div> <div class="check-hold"> <span class="dsf dsf_society_teml_t check readonly group_society"></span> </div> <div class="check-hold"> <span class="dsf dsf_society_teml_e check readonly group_society"></span> </div> <div class="check-hold"> <span class="dsf dsf_society_teml_m check readonly group_society"></span> </div> <div class="check-hold"> <span class="dsf dsf_society_teml_l check readonly group_society"></span> </div> </div> <div class="skill-item value-include"> <div class="include-label">Item</div> <div class="include-box"> <span class="dsf dsf_society_item singlerow"></span> </div> </div> </div> <div class="skill-grid"> <div class="grey-back"></div> <div class="save-label">Stealth</div> <div class="skill-total value-total"> <div class="dsf dsf_stealth_total readonly"></div> </div> <div class="skill-ability value-include"> <div class="include-label">Dex</div> <div class="include-box"> <div class="dsf dsf_dex_mod readonly"></div> </div> </div> <div class="skill-teml value-teml"> <div class="include-label">T</div> <div class="include-label">E</div> <div class="include-label">M</div> <div class="include-label">L</div> <div class="check-hold"> <span class="dsf dsf_stealth_teml_t check readonly group_stealth"></span> </div> <div class="check-hold"> <span class="dsf dsf_stealth_teml_e check readonly group_stealth"></span> </div> <div class="check-hold"> <span class="dsf dsf_stealth_teml_m check readonly group_stealth"></span> </div> <div class="check-hold"> <span class="dsf dsf_stealth_teml_l check readonly group_stealth"></span> </div> </div> <div class="skill-item value-include"> <div class="include-label">Item</div> <div class="include-box"> <span class="dsf dsf_stealth_item singlerow"></span> </div> </div> <div class="skill-armor value-include"> <div class="include-label">Armor</div> <div class="include-box"> <span class="dsf dsf_stealth_armor singlerow"></span> </div> </div> </div> <div class="skill-grid"> <div class="grey-back"></div> <div class="save-label">Survival</div> <div class="skill-total value-total"> <div class="dsf dsf_survival_total readonly"></div> </div> <div class="skill-ability value-include"> <div class="include-label">Wis</div> <div class="include-box"> <div class="dsf dsf_wis_mod readonly"></div> </div> </div> <div class="skill-teml value-teml"> <div class="include-label">T</div> <div class="include-label">E</div> <div class="include-label">M</div> <div class="include-label">L</div> <div class="check-hold"> <span class="dsf dsf_survival_teml_t check readonly group_survival"></span> </div> <div class="check-hold"> <span class="dsf dsf_survival_teml_e check readonly group_survival"></span> </div> <div class="check-hold"> <span class="dsf dsf_survival_teml_m check readonly group_survival"></span> </div> <div class="check-hold"> <span class="dsf dsf_survival_teml_l check readonly group_survival"></span> </div> </div> <div class="skill-item value-include"> <div class="include-label">Item</div> <div class="include-box"> <span class="dsf dsf_survival_item singlerow"></span> </div> </div> </div> <div class="skill-grid"> <div class="grey-back"></div> <div class="save-label">Thievery</div> <div class="skill-total value-total"> <div class="dsf dsf_thievery_total readonly"></div> </div> <div class="skill-ability value-include"> <div class="include-label">Dex</div> <div class="include-box"> <div class="dsf dsf_dex_mod readonly"></div> </div> </div> <div class="skill-teml value-teml"> <div class="include-label">T</div> <div class="include-label">E</div> <div class="include-label">M</div> <div class="include-label">L</div> <div class="check-hold"> <span class="dsf dsf_thievery_teml_t check readonly group_thievery"></span> </div> <div class="check-hold"> <span class="dsf dsf_thievery_teml_e check readonly group_thievery"></span> </div> <div class="check-hold"> <span class="dsf dsf_thievery_teml_m check readonly group_thievery"></span> </div> <div class="check-hold"> <span class="dsf dsf_thievery_teml_l check readonly group_thievery"></span> </div> </div> <div class="skill-item value-include"> <div class="include-label">Item</div> <div class="include-box"> <span class="dsf dsf_thievery_item singlerow"></span> </div> </div> <div class="skill-armor value-include"> <div class="include-label">Armor</div> <div class="include-box"> <span class="dsf dsf_thievery_armor singlerow"></span> </div> </div> </div> </div> </div> <div><!-- ATTACKS --> <div class="area-header">Melee & Ranged Strikes</div> <div class="sheet-notes-2"> <span>List Control: Attacks</span> <span class="interface trash"></span> <span class="interface add addto_attacks" title="Add an Attack"></span> </div> <ul class="group list list_attacks"> <li class="proto item"> <div class="attack-container"> <div class="handle"><div></div></div> <div class="handle-space"></div> <div class="attack-name"> <div class="action-label">Name</div> <div class="edit dslf dslf_attack_name"></div> </div> <div class="attack-row"> <div class="input"> <div class="input-label">Attack</div> <div class="edit dslf dslf_attack_attack"></div> </div> <div class="input"> <div class="input-label">Damage</div> <div class="edit dslf dslf_attack_damage"></div> </div> <div class="attack-type"> <div class="action-checkbox"> <span class="edit dslf dslf_attack_melee checkbox readonly check"></span> </div> <div class="checkbox-label">M<span class="full-word">elee</span></div> <div class="action-checkbox"> <span class="edit dslf dslf_attack_ranged checkbox readonly check"></span> </div> <div class="checkbox-label">R<span class="full-word">anged</span></div> </div> <div class="input"> <div class="input-label">Group</div> <div class="edit dslf dslf_attack_group"></div> </div> <div class="input"> <div class="input-label">Range</div> <div class="edit dslf dslf_attack_range"></div> </div> <div class="damage-type"> <div class="action-checkbox"> <span class="edit dslf dslf_attack_bludgeoning checkbox readonly check"></span> </div> <div class="checkbox-label">B</div> <div class="action-checkbox"> <span class="edit dslf dslf_attack_piercing checkbox readonly check"></span> </div> <div class="checkbox-label">P</div> <div class="action-checkbox"> <span class="edit dslf dslf_attack_slashing checkbox readonly check"></span> </div> <div class="checkbox-label">S</div> </div> <div class="input"> <div class="input-label">Ammo</div> <div class="edit dslf dslf_attack_ammo"></div> </div> <div class="input"> <div class="input-label">Reload</div> <div class="edit dslf dslf_attack_reload"></div> </div> <div class="attack-hands"> <div class="action-checkbox"> <span class="edit dslf dslf_attack_1hand checkbox readonly check"></span> </div> <div class="checkbox-label">1 Hand</div> <div class="action-checkbox"> <span class="edit dslf dslf_attack_2hand checkbox readonly check"></span> </div> <div class="checkbox-label">2 Hands</div> </div> </div> <div class="input attack-traits"> <div class="input-label">Traits</div> <div class="edit dslf dslf_attack_traits"></div> </div> </div> </li> <span class="oldfields hidden">[{"attack_name":"attack_name","attack_attack":"attack_attack","attack_melee":"attack_melee","attack_ranged":"attack_ranged","attack_damage":"attack_damage","attack_bludgeoning":"attack_bludgeoning","attack_piercing":"attack_piercing","attack_slashing":"attack_slashing","attack_group":"attack_group","attack_1hand":"attack_1hand","attack_2hand":"attack_2hand","attack_range":"attack_range","attack_ammo":"attack_ammo","attack_reload":"attack_reload","attack_traits":"attack_traits"}]</span> <span class="dsf dsf_attacks readonly hidden"></span> </ul> </div> </div> <div class="page page-2" style="display:none"><!-- FEATS --> <div class="grid-2"> <div class="one-column"> <div class="area-header">Ancestral Feats and Abilities</div> <div class="entry"> <span class="dsf dsf_ancestry_feats_1 singlerow"></span> <div class="entry-label">Special 1st</div> </div> <div class="entry"> <span class="dsf dsf_ancestry_feats_2 singlerow"></span> <div class="entry-label">Heritage 1st</div> </div> <div class="entry"> <span class="dsf dsf_ancestry_feats_3 singlerow"></span> <div class="entry-label">Feat 1st</div> </div> <div class="entry"> <span class="dsf dsf_ancestry_feats_4 singlerow"></span> <div class="entry-label">Feat 5th</div> </div> <div class="entry"> <span class="dsf dsf_ancestry_feats_5 singlerow"></span> <div class="entry-label">Feat 9th</div> </div> <div class="entry"> <span class="dsf dsf_ancestry_feats_6 singlerow"></span> <div class="entry-label">Feat 13th</div> </div> <div class="entry"> <span class="dsf dsf_ancestry_feats_7 singlerow"></span> <div class="entry-label">Feat 17th</div> </div> <div class="area-header">Skill Feats</div> <div class="entry"> <span class="dsf dsf_skill_feats_1 singlerow"></span> <div class="entry-label">Background</div> </div> <div class="entry"> <span class="dsf dsf_skill_feats_2 singlerow"></span> <div class="entry-label">2nd</div> </div> <div class="entry"> <span class="dsf dsf_skill_feats_3 singlerow"></span> <div class="entry-label">4th</div> </div> <div class="entry"> <span class="dsf dsf_skill_feats_4 singlerow"></span> <div class="entry-label">6th</div> </div> <div class="entry"> <span class="dsf dsf_skill_feats_5 singlerow"></span> <div class="entry-label">8th</div> </div> <div class="entry"> <span class="dsf dsf_skill_feats_6 singlerow"></span> <div class="entry-label">10th</div> </div> <div class="entry"> <span class="dsf dsf_skill_feats_7 singlerow"></span> <div class="entry-label">12th</div> </div> <div class="entry"> <span class="dsf dsf_skill_feats_8 singlerow"></span> <div class="entry-label">14th</div> </div> <div class="entry"> <span class="dsf dsf_skill_feats_9 singlerow"></span> <div class="entry-label">16th</div> </div> <div class="entry"> <span class="dsf dsf_skill_feats_10 singlerow"></span> <div class="entry-label">18th</div> </div> <div class="entry"> <span class="dsf dsf_skill_feats_11 singlerow"></span> <div class="entry-label">20th</div> </div> <div class="area-header">General Feats</div> <div class="entry"> <span class="dsf dsf_general_feats_1 singlerow"></span> <div class="entry-label">3rd</div> </div> <div class="entry"> <span class="dsf dsf_general_feats_2 singlerow"></span> <div class="entry-label">7th</div> </div> <div class="entry"> <span class="dsf dsf_general_feats_3 singlerow"></span> <div class="entry-label">11th</div> </div> <div class="entry"> <span class="dsf dsf_general_feats_4 singlerow"></span> <div class="entry-label">15th</div> </div> <div class="entry"> <span class="dsf dsf_general_feats_5 singlerow"></span> <div class="entry-label">19th</div> </div> </div> <div class="one-column"> <div class="area-header">Class Feats and Abilities</div> <div class="entry"> <span class="dsf dsf_class_feats_1 singlerow"></span> <div class="entry-label">Feature 1st</div> </div> <div class="entry"> <span class="dsf dsf_class_feats_2 singlerow"></span> <div class="entry-label">Feature 1st</div> </div> <div class="entry"> <span class="dsf dsf_class_feats_3 singlerow"></span> <div class="entry-label">Feat 1st</div> </div> <div class="entry"> <span class="dsf dsf_class_feats_4 singlerow"></span> <div class="entry-label">Feat 2nd</div> </div> <div class="entry"> <span class="dsf dsf_class_feats_5 singlerow"></span> <div class="entry-label">Feature 3rd</div> </div> <div class="entry"> <span class="dsf dsf_class_feats_6 singlerow"></span> <div class="entry-label">Feat 4th</div> </div> <div class="entry"> <span class="dsf dsf_class_feats_7 singlerow"></span> <div class="entry-label">Feature 5th</div> </div> <div class="entry"> <span class="dsf dsf_class_feats_8 singlerow"></span> <div class="entry-label">Feat 6th</div> </div> <div class="entry"> <span class="dsf dsf_class_feats_9 singlerow"></span> <div class="entry-label">Feature 7th</div> </div> <div class="entry"> <span class="dsf dsf_class_feats_10 singlerow"></span> <div class="entry-label">Feat 8th</div> </div> <div class="entry"> <span class="dsf dsf_class_feats_11 singlerow"></span> <div class="entry-label">Feature 9th</div> </div> <div class="entry"> <span class="dsf dsf_class_feats_12 singlerow"></span> <div class="entry-label">Feat 10th</div> </div> <div class="entry"> <span class="dsf dsf_class_feats_13 singlerow"></span> <div class="entry-label">Feature 11th</div> </div> <div class="entry"> <span class="dsf dsf_class_feats_14 singlerow"></span> <div class="entry-label">Feat 12th</div> </div> <div class="entry"> <span class="dsf dsf_class_feats_15 singlerow"></span> <div class="entry-label">Feature 13th</div> </div> <div class="entry"> <span class="dsf dsf_class_feats_16 singlerow"></span> <div class="entry-label">Feat 14th</div> </div> <div class="entry"> <span class="dsf dsf_class_feats_17 singlerow"></span> <div class="entry-label">Feature 15th</div> </div> <div class="entry"> <span class="dsf dsf_class_feats_18 singlerow"></span> <div class="entry-label">Feat 16th</div> </div> <div class="entry"> <span class="dsf dsf_class_feats_19 singlerow"></span> <div class="entry-label">Feature 17th</div> </div> <div class="entry"> <span class="dsf dsf_class_feats_20 singlerow"></span> <div class="entry-label">Feat 18th</div> </div> <div class="entry"> <span class="dsf dsf_class_feats_21 singlerow"></span> <div class="entry-label">Feature 19th</div> </div> <div class="entry"> <span class="dsf dsf_class_feats_22 singlerow"></span> <div class="entry-label">Feat 20th</div> </div> <div class="area-header">Bonus Feats</div> <div class="entry"> <span class="dsf dsf_bonus_feats_1 singlerow"></span> <div class="entry-label">Bonus</div> </div> <div class="entry"> <span class="dsf dsf_bonus_feats_2 singlerow"></span> <div class="entry-label">Bonus</div> </div> </div> </div> </div> <div class="page page-3" style="display:none"><!-- ACTIONS --> <div class="grid-2"> <div><!-- ACTIONS AND ACTIVITIES --> <div class="area-header">Actions and Activities</div> <div class="sheet-notes-2"> <span>List Control: Actions</span> <span class="interface trash"></span> <span class="interface add addto_actions" title="Add Action or Activity"></span> </div> <ul class="group list list_actions"> <li class="proto item"> <div class="action-container"> <div class="handle"><div></div></div> <div class="handle-space"></div> <div class="action-label">Name</div> <div class="edit dslf dslf_action_name"></div> <div class="action-icons"> <div class="action-checkbox"> <span class="edit dslf dslf_action_one checkbox readonly check"></span> </div> <div class="one-action"></div> <div class="action-checkbox"> <span class="edit dslf dslf_action_two checkbox readonly check"></span> </div> <div class="two-action"></div> <div class="action-checkbox"> <span class="edit dslf dslf_action_three checkbox readonly check"></span> </div> <div class="three-action"></div> </div> <div class="input action-traits"> <div class="input-label">Traits</div> <div class="edit dslf dslf_action_traits"></div> </div> <div class="input action-page"> <div class="input-label">Book & Page</div> <div class="edit dslf dslf_action_page"></div> </div> <div class="input action-description"> <div class="input-label">Description</div> <div class="edit dslf dslf_action_description"></div> </div> </div> </li> <span class="oldfields hidden">[{"action":"action_name","action_one":"action_one", "action_two":"action_two","action_three":"action_three","action_traits":"action_traits","action_page":"action_page","action_description":"action_description"}]</span> <span class="dsf dsf_actions readonly hidden"></span> </ul> </div> <div><!-- FREE ACTIONS AND REACTIONS --> <div class="area-header">Free Actions and Reactions</div> <div class="sheet-notes-2"> <span>List Control: Reactions</span> <span class="interface trash"></span> <span class="interface add addto_reactions" title="Add Reaction or Free Action"></span> </div> <ul class="group list list_reactions"> <li class="proto item"> <div class="action-container"> <div class="handle"><div></div></div> <div class="handle-space"></div> <div class="action-label">Name</div> <div class="edit dslf dslf_reaction_name"></div> <div class="action-icons"> <div class="action-checkbox"> <span class="edit dslf dslf_reaction_free checkbox readonly check"></span> </div> <div class="free-action"></div> <div class="action-checkbox"> <span class="edit dslf dslf_reaction_reaction checkbox readonly check"></span> </div> <div class="reaction"></div> <div class="action-checkbox"></div> <div></div> </div> <div class="input action-traits"> <div class="input-label">Traits</div> <div class="edit dslf dslf_reaction_traits"></div> </div> <div class="input action-page"> <div class="input-label">Book & Page</div> <div class="edit dslf dslf_reaction_page"></div> </div> <div class="input action-description"> <div class="input-label">Description & Trigger</div> <div class="edit dslf dslf_reaction_description"></div> </div> </div> </li> <span class="oldfields hidden">[{"reaction":"reaction_name","reaction_free":"reaction_free", "reaction_reaction":"reaction_reaction","reaction_traits":"reaction_traits","reaction_page":"reaction_page","reaction_description":"reaction_description"}]</span> <span class="dsf dsf_reactions readonly hidden"></span> </ul> </div> </div> </div> <div class="page page-4" style="display:none"><!-- SPELLS --> <div class="grid-3"><!-- SPELL ATTACK, SPELL DC, & FOCUS POINTS --> <div><!-- FOCUS POINTS --> <div class="area-header">Focus Points</div> <div class="focus-points-grid"> <div class="grey-back"></div> <div class="save-label">Focus Pool</div> <div class="focus-current value-include"> <div class="include-label">Curr.</div> <div class="include-box"> <span class="dsf dsf_focus_current singlerow"></span> </div> </div> <div class="focus-maximum value-include"> <div class="include-label">Max</div> <div class="include-box"> <span class="dsf dsf_focus_maximum singlerow"></span> </div> </div> </div> <div class="input magic-notes"> <div class="input-label">Source</div> <span class="dsf dsf_focus_source"></span> </div> </div> <div><!-- SPELL ATTACK --> <div class="area-header">Spell Attack Roll</div> <div class="spell-attack-grid"> <div class="grey-back"></div> <div class="dc-total value-total"> <div class="dsf dsf_spell_attack_total readonly"></div> </div> <div class="dc-key value-include"> <div class="include-label">Key</div> <div class="include-box"> <div class="dsf dsf_spell_attack_key readonly"></div> </div> </div> <div class="dc-teml value-teml"> <div class="include-label">T</div> <div class="include-label">E</div> <div class="include-label">M</div> <div class="include-label">L</div> <div class="check-hold"> <span class="dsf dsf_spell_attack_teml_t check readonly group_spell_attack"></span> </div> <div class="check-hold"> <span class="dsf dsf_spell_attack_teml_e check readonly group_spell_attack"></span> </div> <div class="check-hold"> <span class="dsf dsf_spell_attack_teml_m check readonly group_spell_attack"></span> </div> <div class="check-hold"> <span class="dsf dsf_spell_attack_teml_l check readonly group_spell_attack"></span> </div> </div> </div> <div class="input magic-notes"> <div class="input-label">Notes</div> <span class="dsf dsf_spell_attack_notes"></span> </div> </div> <div><!-- SPELL DC --> <div class="area-header">Spell DC</div> <div class="spell-dc-grid"> <div class="grey-back"></div> <div class="dc-total value-total"> <div class="dsf dsf_spell_dc_total readonly"></div> </div> <div class="dc-base value-include"> <div class="include-label">Base</div> <div class="include-box">10</div> </div> <div class="dc-key value-include"> <div class="include-label">Key</div> <div class="include-box"> <div class="dsf dsf_spell_dc_key readonly"></div> </div> </div> <div class="dc-teml value-teml"> <div class="include-label">T</div> <div class="include-label">E</div> <div class="include-label">M</div> <div class="include-label">L</div> <div class="check-hold"> <span class="dsf dsf_spell_dc_teml_t check readonly group_spell_dc"></span> </div> <div class="check-hold"> <span class="dsf dsf_spell_dc_teml_e check readonly group_spell_dc"></span> </div> <div class="check-hold"> <span class="dsf dsf_spell_dc_teml_m check readonly group_spell_dc"></span> </div> <div class="check-hold"> <span class="dsf dsf_spell_dc_teml_l check readonly group_spell_dc"></span> </div> </div> </div> <div class="input magic-notes"> <div class="input-label">Notes</div> <span class="dsf dsf_spell_dc_notes"></span> </div> </div> </div> <div class="grid-1"><!-- MAGIC TRADITION & SLOTS PER DAY --> <div><!-- MAGICAL TRADITION --> <div class="area-header">Magical Tradition</div> <div class="magic-tradition-grid"> <div class="background-image"></div> <div class="tradition-grid tradition-arcane"> <div class="tradition-label">Arcane</div> <div class="dsf dsf_tradition_arcane check readonly group_tradition"></div> </div> <div class="tradition-grid2 tradition-occult"> <div class="dsf dsf_tradition_occult check readonly group_tradition"></div> <div class="tradition-label">Occult</div> </div> <div class="tradition-grid tradition-primal"> <div class="tradition-label">Primal</div> <div class="dsf dsf_tradition_primal check readonly group_tradition"></div> </div> <div class="tradition-grid2 tradition-divine"> <div class="dsf dsf_tradition_divine check readonly group_tradition"></div> <div class="tradition-label">Divine</div> </div> <div class="tradition-prepared"> <span class="dsf dsf_tradition_prepared check readonly group_tradition_type"></span> <div class="spell-type-label">Prepared</div> </div> <div class="tradition-spontaneous"> <span class="dsf dsf_tradition_spontaneous check readonly group_tradition_type"></span> <div class="spell-type-label">Spontaneous</div> </div> </div> </div> <div><!-- SPELL SLOTS PER DAY --> <div class="area-header">Spell Slots Per Day</div> <div class="spell-slots-grid"> <div class="spell-slot-box"> <div class="spells-per-day-label2">Cantrip Level</div> <span class="dsf dsf_cantrip_level"></span> </div> <div class="spell-slot-box"> <span class="dsf dsf_spells_per_day_1 singlerow"></span> <div class="spells-per-day-label">1</div> <span class="dsf dsf_spont_spells_per_day_1 singlerow"></span> </div> <div class="spell-slot-box"> <span class="dsf dsf_spells_per_day_2 singlerow"></span> <div class="spells-per-day-label">2</div> <span class="dsf dsf_spont_spells_per_day_2 singlerow"></span> </div> <div class="spell-slot-box"> <span class="dsf dsf_spells_per_day_3 singlerow"></span> <div class="spells-per-day-label">3</div> <span class="dsf dsf_spont_spells_per_day_3 singlerow"></span> </div> <div class="spell-slot-box"> <span class="dsf dsf_spells_per_day_4 singlerow"></span> <div class="spells-per-day-label">4</div> <span class="dsf dsf_spont_spells_per_day_4 singlerow"></span> </div> <div class="spell-slot-box"> <span class="dsf dsf_spells_per_day_5 singlerow"></span> <div class="spells-per-day-label">5</div> <span class="dsf dsf_spont_spells_per_day_5 singlerow"></span> </div> <div class="spell-slot-box"> <span class="dsf dsf_spells_per_day_6 singlerow"></span> <div class="spells-per-day-label">6</div> <span class="dsf dsf_spont_spells_per_day_6 singlerow"></span> </div> <div class="spell-slot-box"> <span class="dsf dsf_spells_per_day_7 singlerow"></span> <div class="spells-per-day-label">7</div> <span class="dsf dsf_spont_spells_per_day_7 singlerow"></span> </div> <div class="spell-slot-box"> <span class="dsf dsf_spells_per_day_8 singlerow"></span> <div class="spells-per-day-label">8</div> <span class="dsf dsf_spont_spells_per_day_8 singlerow"></span> </div> <div class="spell-slot-box"> <span class="dsf dsf_spells_per_day_9 singlerow"></span> <div class="spells-per-day-label">9</div> <span class="dsf dsf_spont_spells_per_day_9 singlerow"></span> </div> <div class="spell-slot-box"> <span class="dsf dsf_spells_per_day_10 singlerow"></span> <div class="spells-per-day-label">10</div> <span class="dsf dsf_spont_spells_per_day_10 singlerow"></span> </div> </div> <div class="spell-slot-note"> Spontaneous Spell Slots Remaining </div> </div> </div> <div class="area-header">Spells</div><!-- SPELLS --> <div class="sheet-notes-2"> <span>List Control: Spells</span> <span class="interface trash"></span> <span class="interface add addto_spells" title="Add a Spell"></span> </div> <ul class="group list list_spells"> <li class="proto item"> <div class="spell-container"> <div class="handle"><div></div></div> <div class="handle-space"></div> <div class="spell-name"> <div class="action-label">Name</div> <div class="edit dslf dslf_spell_name"></div> </div> <div class="spell-type"> <span class="edit dslf dslf_spell_type_innate checkbox readonly check"></span> <div class="innate-label checkbox-label">Innate</div> <span class="edit dslf dslf_spell_type_focus checkbox readonly check"></span> <div class="focus-label checkbox-label">Focus</div> </div> <div class="action-icons"> <div class="action-checkbox"> <span class="edit dslf dslf_spell_action_one checkbox readonly check"></span> </div> <div class="one-action"></div> <div class="action-checkbox"> <span class="edit dslf dslf_spell_action_two checkbox readonly check"></span> </div> <div class="two-action"></div> <div class="action-checkbox"> <span class="edit dslf dslf_spell_action_three checkbox readonly check"></span> </div> <div class="three-action"></div> <div class="action-checkbox"> <span class="edit dslf dslf_spell_reaction_free checkbox readonly check"></span> </div> <div class="free-action"></div> <div class="action-checkbox"> <span class="edit dslf dslf_spell_reaction_reaction checkbox readonly check"></span> </div> <div class="reaction"></div> <div class="action-checkbox"> <span class="edit dslf dslf_spell_action_long checkbox readonly check"></span> </div> <div> <div class="edit dslf dslf_spell_action_long_value"></div> </div> </div> <div class="spell-two-column"> <div class="input spell-level"> <div class="input-label">Level</div> <div class="edit dslf dslf_spell_level"></div> </div> <div class="input spell-prepared"> <div class="input-label">Prep/Freq</div> <div class="edit dslf dslf_spell_prepared"></div> </div> </div> <div class="spell-mismatch-column"> <div class="spell-components"> <div class="spell-type-check"> <span class="edit dslf dslf_spell_component_verbal checkbox readonly check"></span> </div> <div class="spell-verbal-label">V</div> <div class="spell-type-check"> <span class="edit dslf dslf_spell_component_somantic checkbox readonly check"></span> </div> <div class="spell-somantic-label">S</div> <div class="spell-type-check"> <span class="edit dslf dslf_spell_component_material checkbox readonly check"></span> </div> <div class="spell-material-label">M</div> <div class="spell-type-check"> <span class="edit dslf dslf_spell_component_foci checkbox readonly check"></span> </div> <div class="spell-foci-label">F</div> </div> <div class="input spell-reference"> <div class="input-label">Book & Page</div> <div class="edit dslf dslf_spell_reference"></div> </div> </div> <div class="input spell-traits"> <div class="input-label">Traits</div> <div class="edit dslf dslf_spell_traits"></div> </div> <div class="input spell-description"> <div class="input-label">Description</div> <div class="edit dslf dslf_spell_description"></div> </div> </div> </li> <span class="oldfields hidden">[{"spell_name":"spell_name","spell_type_innate":"spell_type_innate","spell_type_focus":"spell_type_focus","spell_action_one":"spell_action_one","spell_action_two":"spell_action_two","spell_action_three":"spell_action_three","spell_reaction_free":"spell_reaction_free","spell_reaction_reaction":"spell_reaction_reaction","spell_action_long":"spell_action_long","spell_action_long_value":"spell_action_long_value","spell_level":"spell_level","spell_prepared":"spell_prepared","spell_component_verbal":"spell_component_verbal","spell_component_somantic":"spell_component_somantic","spell_component_material":"spell_component_material","spell_component_foci":"spell_component_foci","spell_reference":"spell_reference","spell_traits":"spell_traits","spell_description":"spell_description"}]</span> <span class="dsf dsf_spells readonly hidden"></span> </ul> </div> <div class="page page-5" style="display:none"><!-- INVENTORY --> <div class="grid-3"> <div><!-- ENCUMBRANCE --> <div class="area-header">Encumbrance</div> <div class="encumb-container"> <div class="input2 bulk-total"> <span class="dsf dsf_bulk readonly singlerow"></span> <div class="input-label">Bulk</div> </div> <div class="grey-back"></div> <div class="save-label">Max.</div> <div class="value-total"> <div class="dsf dsf_maximum readonly"></div> </div> <div class="value-include encumbered-max-base"> <div class="include-label">Base</div> <div class="include-box">10</div> </div> <div class="value-include encumbered-max-str"> <div class="include-label">Str</div> <div class="include-box"> <div class="dsf dsf_str_mod readonly"></div> </div> </div> </div> <div class="encumbrance-grid"> <div class="grey-back"></div> <div class="save-label encumbered-label">Encumbered</div> <div class="value-total encumbered-total"> <div class="dsf dsf_encumbered readonly"></div> </div> <div class="value-include encumbered-base"> <div class="include-label">Base</div> <div class="include-box">5</div> </div> <div class="value-include encumbered-str"> <div class="include-label">Str</div> <div class="include-box"> <div class="dsf dsf_str_mod readonly"></div> </div> </div> </div> </div> <div><!-- SUPPLIES --> <div class="area-header">Supplies</div> <div class="supplies-grid"> <div class="grey-back"></div> <div class="save-label">Days Left</div> <div class="value-include value-water"> <div class="include-label">Water</div> <div class="include-box"> <span class="dsf dsf_water_days singlerow"></span> </div> </div> <div class="value-include value-food"> <div class="include-label">Food</div> <div class="include-box"> <span class="dsf dsf_food_days singlerow"></span> </div> </div> </div> <div class="grid-4-small"> <div class="input2"> <span class="dsf dsf_rope_feet singlerow"></span> <div class="input-label">Rope (ft)</div> </div> <div class="input2"> <span class="dsf dsf_torches singlerow"></span> <div class="input-label">Torches</div> </div> <div class="input2"> <span class="dsf dsf_candles singlerow"></span> <div class="input-label">Candles</div> </div> <div class="input2"> <span class="dsf dsf_oil singlerow"></span> <div class="input-label">Oil (pt)</div> </div> </div> </div> <div><!-- CURRENCY --> <div class="area-header">Currency</div> <div class="currency-grid"> <div class="input2"> <span class="dsf dsf_currency_cp singlerow"></span> <div class="input-label">CP</div> </div> <div class="input2"> <span class="dsf dsf_currency_sp singlerow"></span> <div class="input-label">SP</div> </div> <div class="input2"> <span class="dsf dsf_currency_gp singlerow"></span> <div class="input-label">GP</div> </div> <div class="input2"> <span class="dsf dsf_currency_pp singlerow"></span> <div class="input-label">PP</div> </div> </div> <div class="input currency-notes"> <div class="input-label">Notes</div> <span class="dsf dsf_currency_notes singlerow"></span> </div> </div> </div> <div class="grid-2"> <div><!-- CONSUMABLES --> <div class="area-header">Consumables</div> <div class="big-input"> <div class="consumables-grid"> <div class="input-label">Item</div> <div class="input-label">Qty</div> <div class="input-label">Bulk</div> </div> <div class="sheet-notes-2"> <span>List Control: Consumables</span> <span class="interface trash inventory_trash"></span> <span class="interface add addto_consumables" title="Add a Consumable"></span> </div> <ul class="group list list_consumables"> <li class="proto item"> <div class="one-consumable"> <div class="handle"><div></div></div> <div class="handle-space"></div> <div class="edit dslf dslf_consumable_name"></div> <div class="edit dslf dslf_consumable_qty"></div> <div class="edit dslf dslf_consumable_bulk"></div> </div> </li> <span class="oldfields hidden">[{"consumable_name":"consumable_name","consumable_qty":"consumable_qty","consumable_bulk":"consumable_bulk"}]</span> <span class="dsf dsf_consumables readonly hidden"></span> </ul> </div> </div> <div><!-- GEMS & ART OBJECTS --> <div class="area-header">Gems & Art Objects</div> <div class="big-input"> <div class="gems-grid"> <div class="input-label">Item</div> <div class="input-label">Price</div> <div class="input-label">Bulk</div> </div> <div class="sheet-notes-2"> <span>List Control: Gems & Art</span> <span class="interface trash inventory_trash"></span> <span class="interface add addto_gems" title="Add a Gem or Art Item"></span> </div> <ul class="group list list_gems"> <li class="proto item"> <div class="one-gem"> <div class="handle"><div></div></div> <div class="handle-space"></div> <div class="edit dslf dslf_gem_name"></div> <div class="edit dslf dslf_gem_price"></div> <div class="edit dslf dslf_gem_bulk"></div> </div> </li> <span class="oldfields hidden">[{"gem_name":"gem_name","gem_price":"gem_price","gem_bulk":"gem_bulk"}]</span> <span class="dsf dsf_gems readonly hidden"></span> </ul> </div> </div> </div> <div class="area-header">Permanent Items</div> <div class="sheet-notes-2"><!-- PERMANENT ITEMS --> <span>List Control: Inventory</span> <span class="interface trash inventory_trash"></span> <span class="interface add addto_inventory" title="Add Inventory Item"></span> </div> <ul class="group list list_inventory"> <li class="proto item"> <div class="inventory-container"> <div class="handle"><div></div></div> <div class="handle-space"></div> <div class="item-name"> <div class="action-label">Name</div> <div class="edit dslf dslf_item_name"></div> </div> <div class="item-details"> <div class="input"> <div class="input-label">Qty</div> <div class="edit dslf dslf_inventory_quantity"></div> </div> <div class="input"> <div class="input-label">Bulk</div> <div class="edit dslf dslf_inventory_bulk"></div> </div> <div class="inventory-slot"> <div class="action-checkbox"> <span class="edit dslf dslf_inventory_worn checkbox readonly check"></span> </div> <div class="checkbox-label">Worn</div> <div class="action-checkbox"> <span class="edit dslf dslf_inventory_readied checkbox readonly check"></span> </div> <div class="checkbox-label">Readied</div> <div class="action-checkbox"> <span class="edit dslf dslf_inventory_other checkbox readonly check"></span> </div> <div class="checkbox-label">Other</div> </div> <div class="inventory-invest"> <div class="action-checkbox"> <span class="edit dslf dslf_inventory_invest checkbox readonly check"></span> </div> <div class="checkbox-label">Invest</div> <div class="edit dslf dslf_inventory_invest_number"></div> <div class="checkbox-label">of 10</div> </div> </div> <div class="input item-description"> <div class="input-label">Notes / Description</div> <div class="edit dslf dslf_item_description"></div> </div> </div> </li> <span class="oldfields hidden">[{"item_name":"item_name","inventory_quantity":"inventory_quantity","inventory_bulk":"inventory_bulk","inventory_worn":"inventory_worn","inventory_readied":"inventory_readied","inventory_other":"inventory_other","inventory_invest":"inventory_invest","inventory_invest_number":"inventory_invest_number","item_description":"item_description"}]</span> <span class="dsf dsf_inventory readonly hidden"></span> </ul> </div> <div class="page page-6" style="display:none"><!-- ABOUT --> <div class="grid-4"> <div><!-- PERSONALITY --> <div class="area-header">Personality</div> <div class="personality"> <div class="input"> <div class="input-label">Attitude</div> <span class="dsf dsf_attitude singlerow"></span> </div> <div class="input"> <div class="input-label">Beliefs</div> <span class="dsf dsf_beliefs singlerow"></span> </div> <div class="input"> <div class="input-label">Likes</div> <span class="dsf dsf_likes singlerow"></span> </div> <div class="input"> <div class="input-label">Dislikes</div> <span class="dsf dsf_dislikes singlerow"></span> </div> <div class="input"> <div class="input-label">Catchphrases</div> <span class="dsf dsf_catchphrases singlerow"></span> </div> </div> </div> <div><!-- PHYSICAL DETAILS --> <div class="area-header">Physical Details</div> <div class="physical-details-grid"> <div class="input ethnicity"> <div class="input-label">Ethnicity</div> <span class="dsf dsf_ethnicity singlerow"></span> </div> <div class="input nationality"> <div class="input-label">Nationality</div> <span class="dsf dsf_nationality singlerow"></span> </div> <div class="input birthplace"> <div class="input-label">Birthplace</div> <span class="dsf dsf_birthplace singlerow"></span> </div> <div class="input height"> <div class="input-label">Height</div> <span class="dsf dsf_height singlerow"></span> </div> <div class="input weight"> <div class="input-label">Weight</div> <span class="dsf dsf_weight singlerow"></span> </div> <div class="input age"> <div class="input-label">Age</div> <span class="dsf dsf_age singlerow"></span> </div> <div class="input sex"> <div class="input-label">Sex or Gender</div> <span class="dsf dsf_gender singlerow"></span> </div> </div> </div> </div> <div class="area-header">Campaign Notes</div> <div class="grid-2"><!-- CAMPAIGN NOTES --> <div class="one-column"> <div class="big-input"> <div class="npc-label-grid"> <div class="input-label">Allies</div> <div class="input-label">Location</div> </div> <div class="sheet-notes-2"> <span>List Control: Allies</span> <span class="interface trash"></span> <span class="interface add addto_npc_allies" title="Add an Ally"></span> </div> <ul class="group list list_npc_allies"> <li class="proto item"> <div class="one-npc-grid"> <div class="handle"><div></div></div> <div class="handle-space"></div> <div class="edit dslf dslf_ally_name"></div> <div class="edit dslf dslf_ally_location"></div> </div> </li> <span class="oldfields hidden">[{"ally_name":"ally_name","ally_location":"ally_location"}]</span> <span class="dsf dsf_npc_allies readonly hidden"></span> </ul> </div> <div class="big-input"> <div class="npc-label-grid"> <div class="input-label">Organizations</div> <div class="input-label">Location</div> </div> <div class="sheet-notes-2"> <span>List Control: Organizations</span> <span class="interface trash"></span> <span class="interface add addto_npc_organizations" title="Add an Organization"></span> </div> <ul class="group list list_npc_organizations"> <li class="proto item"> <div class="one-npc-grid"> <div class="handle"><div></div></div> <div class="handle-space"></div> <div class="edit dslf dslf_organization_name"></div> <div class="edit dslf dslf_organization_location"></div> </div> </li> <span class="oldfields hidden">[{"organization_name":"organization_name","organization_location":"organization_location"}]</span> <span class="dsf dsf_npc_organizations readonly hidden"></span> </ul> </div> </div> <div class="one-column"> <div class="big-input"> <div class="npc-label-grid"> <div class="input-label">Enemies</div> <div class="input-label">Location</div> </div> <div class="sheet-notes-2"> <span>List Control: Enemies</span> <span class="interface trash"></span> <span class="interface add addto_npc_enemies" title="Add an Enemy"></span> </div> <ul class="group list list_npc_enemies"> <li class="proto item"> <div class="one-npc-grid"> <div class="handle"><div></div></div> <div class="handle-space"></div> <div class="edit dslf dslf_enemy_name"></div> <div class="edit dslf dslf_enemy_location"></div> </div> </li> <span class="oldfields hidden">[{"enemy_name":"enemy_name","enemy_location":"enemy_location"}]</span> <span class="dsf dsf_npc_enemies readonly hidden"></span> </ul> </div> <div class="big-input"> <div class="input-label">Notes/Other</div> <div class="sheet-notes-2"> <span>List Control: Notes/Other</span> <span class="interface trash"></span> <span class="interface add addto_npc_notes" title="Add a Note or Other"></span> </div> <ul class="group list list_npc_notes"> <li class="proto item"> <div class="npc-name-container"> <div class="handle"><div></div></div> <div class="handle-space"></div> <div class="edit dslf dslf_note_name"></div> </div> </li> <span class="oldfields hidden">[{"note_name":"note_name"}]</span> <span class="dsf dsf_npc_notes readonly hidden"></span> </ul> </div> </div> </div> <div><!-- APPEARANCE & BIO --> <div class="area-header">Appearance</div> <span class="dsf dsf_appearance"></span> <div class="area-header">Character Biography</div> <div class="sheet-notes"> Please use the Biography textfield below to insert the character's biography. </div> <div class="dsf dsf_bio"></div> </div> </div> <div class="footer"><!-- FOOTER --> <div class="dsf dsf_campaign readonly"></div> - A Pathfinder 2nd Edition Campaign <br> Character Sheet Template by: <div class="dsf dsf_dst_author readonly"></div> </div> </div>
CSS
@import url(https://chainsawxiv.github.io/DST/common/css/csx_pathfinder_common.css); .ds_kallak_PF2e .sheet-container { background-color: white; width: 100%; } /* SHEET NOTES */ .ds_kallak_PF2e .sheet-notes { display:none; border:1px solid red; border-radius:6px; box-shadow:3px 3px 3px #cccccc; text-align:center; font-size:16px; font-style:italic; margin-bottom:10px; font-variant: small-caps; padding: 0px 4px; } .ds_kallak_PF2e .sheet-notes-2 { display:none; border:1px solid red; border-radius: 3px; box-shadow:1px 1px 1px #cccccc; text-align:center; font-size:14px; font-style:italic; font-variant: small-caps; margin-bottom:6px; height:20px; line-height: 17px; padding-top:3px; } .ds_kallak_PF2e.editable .sheet-notes, .ds_kallak_PF2e.editable .sheet-notes-2 { display: block; } /* GRID STRUCTURES */ .ds_kallak_PF2e .grid-1 { display: grid; grid-template-columns: calc(33.33% - 3px) calc(66.66% - 2px); grid-gap: 6px; margin-bottom: 6px; } .ds_kallak_PF2e .grid-2 { display: grid; grid-template-columns: calc(50% - 3px) calc(50% - 3px); grid-gap: 6px; margin-bottom: 6px; } .ds_kallak_PF2e .grid-3 { display: grid; grid-template-columns: calc(33.33% - 3px) calc(33.33% - 4px) calc(33.33% - 4px); grid-gap: 6px; margin-bottom: 6px; } .ds_kallak_PF2e .grid-4 { display: grid; grid-template-columns: calc(66.66% - 1px) calc(33.33% - 4px); grid-gap: 6px; margin-bottom: 6px; } .ds_kallak_PF2e .grid-tabs { display: grid; grid-template-columns: repeat(6, 1fr); margin-bottom: 6px; } .ds_kallak_PF2e .one-column { display: grid; grid-template-columns: 1fr; grid-row-gap: 6px; align-content: start; } .ds_kallak_PF2e .grid-4-small { display: grid; grid-template-columns: repeat(4, 1fr); grid-gap: 3px; } /* TABS SETUP */ .ds_kallak_PF2e .tab { cursor: pointer; text-align: center; border-style: solid; border-width: 1px 1px 0px 1px; border-color: black; border-radius: 6px 6px 0px 0px; font-size: 18px; font-variant: small-caps; } .ds_kallak_PF2e .tab-1 { } .ds_kallak_PF2e .tab-2, .ds_kallak_PF2e .tab-3, .ds_kallak_PF2e .tab-4, .ds_kallak_PF2e .tab-5, .ds_kallak_PF2e .tab-6 { background-color: #cccccc; border-bottom: 1px solid black; } /* PAGE SETUP */ .ds_kallak_PF2e .page-1 { } .ds_kallak_PF2e .page-2, .ds_kallak_PF2e .page-3, .ds_kallak_PF2e .page-4, .ds_kallak_PF2e .page-5, .ds_kallak_PF2e .page-6 { display: none; } /* CHARACTER PORTRAIT */ .ds_kallak_PF2e .portrait { align-self: end; } /* XP */ .ds_kallak_PF2e .xp-bar-container { display: grid; border: 2px outset black; box-shadow: 1px 1px 1px #cccccc; margin-top: 6px; border-radius: 4px; padding: 3px; grid-template-columns: 7% 78% 15%; /*background: #cedce7;*/ background-color: white; } .ds_kallak_PF2e.editable .xp-bar-container { margin-bottom: 6px; } .ds_kallak_PF2e .xp-bar-container .xp-label { font-size: 10px; text-align: center; font-variant: small-caps; line-height: 20px; } .ds_kallak_PF2e .xp-bar-container .xp-bar { height: 18px; border: 1px solid black; background-color: #000000; border-radius: 10px; overflow: hidden; } .ds_kallak_PF2e .xp-bar-container .xp-percentage { font-size: 10px; text-align: center; display: grid; grid-template-columns: 25px 1fr; line-height: 20px; } .ds_kallak_PF2e .xp-bar-container .dsf_xp_percentage { width: 25px; text-align: right; } .ds_kallak_PF2e .xp-bar-container .xp-bar-fill { width: 0%; /*background-color: #6495ED;*/ background-color: #cccccc; height: 18px; border-radius: 0px 9px 9px 0px; } .ds_kallak_PF2e .xp-settings-grid { display: none; } .ds_kallak_PF2e.editable .xp-settings-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; grid-column-gap: 6px; } .ds_kallak_PF2e .xp-checks-container { display: grid; grid-template-columns: 12px 1fr; grid-template-rows: 12px 12px; border: 1px solid red; padding: 2px 6px 1px 6px; height: 32px; grid-gap: 3px; box-shadow: 1px 1px 1px #cccccc; } .ds_kallak_PF2e .xp-checks-container .checkbox-label { font-size: 12px; line-height: 14px; margin-left: 3px; font-variant: small-caps; } .ds_kallak_PF2e .xp-checks-container .checkBorder { position: relative; top: -6px; } .ds_kallak_PF2e .input2.current-xp-container, .ds_kallak_PF2e .input2.next-level-container { border-color: red; } /* NAME AREA */ .ds_kallak_PF2e .name-grid { display: grid; grid-template-columns: 20% calc(60% - 12px) 20%; grid-column-gap: 6px; margin-bottom: 6px; } .ds_kallak_PF2e .name-grid .input2 { height: 54px; align-self: end; } .ds_kallak_PF2e .name-grid .input2 .dsf { font-size: 30px; height: 40px; line-height: 40px; } .ds_kallak_PF2e .name-box { grid-area: 1/2/2/3; text-align: center; font-variant: small-caps; border: 1px solid black; border-radius: 6px; box-shadow: 1px 1px 1px #cccccc; } .ds_kallak_PF2e .name-box .dsf_name { font-size: 30px; line-height: 30px; } .ds_kallak_PF2e .name-box .player-label, .ds_kallak_PF2e .csx .name-box .dsf_player { display: inline; font-size: 12px; line-height: 12px; vertical-align: middle; } .ds_kallak_PF2e.editable .name-box .dsf_player { display: inline; } .ds_kallak_PF2e .character-level { grid-area: 1/1/2/2; } .ds_kallak_PF2e .hero-points { grid-area: 1/3/2/4; } /* BASIC INFO SECTION*/ .ds_kallak_PF2e .basic-info { align-self: end; } .ds_kallak_PF2e .basic-info-grid { display: grid; grid-gap: 3px; grid-template-columns: repeat(12, 1fr); grid-template-rows: repeat(4, 36px); } .ds_kallak_PF2e .ancestry { grid-area: 1/1/2/7; } .ds_kallak_PF2e .background { grid-area: 1/7/2/13; } .ds_kallak_PF2e .size { grid-area: 2/1/3/4; } .ds_kallak_PF2e .class { grid-area: 2/4/3/13; } .ds_kallak_PF2e .alignment { grid-area: 3/1/4/5; } .ds_kallak_PF2e .deity { grid-area: 3/5/4/9; } .ds_kallak_PF2e .traits{ grid-area: 3/9/4/13; } .ds_kallak_PF2e .languages { grid-area: 4/1/4/13; } /* ABILITY SCORES*/ .ds_kallak_PF2e .ability-score-grid { display: grid; grid-template-columns: 123px 1fr 32px 32px 12px; grid-template-rows: 3px 3px 12px 3px 3px; grid-column-gap: 6px; margin-bottom: 9px; } .ds_kallak_PF2e .ability-label-grid div, .ds_kallak_PF2e .dc-label-grid { font-size: 10px; font-variant: small-caps; line-height: 12px; } .ds_kallak_PF2e .ability-label-ability { grid-area: 1/1/2/2; margin-left: 6px; padding-left: 4px; } .ds_kallak_PF2e .ability-label-score { grid-area: 1/3/2/4; margin-left: -3px; } .ds_kallak_PF2e .ability-label-mod { grid-area: 1/4/2/5; } .ds_kallak_PF2e .ability-label-key { grid-area: 1/5/2/6; margin-left: -8px; } .ds_kallak_PF2e .ability-score-grid .attr-label { grid-area: 1/1/6/2; border: 1px solid black; height: 22px; line-height: 22px; font-size: 16px; background-color: white; padding: 0px 3px; font-variant: small-caps; box-shadow: 1px 1px 1px #cccccc; margin-left: 6px; } .ds_kallak_PF2e .ability-score-grid .abil-score { grid-area: 1/3/6/4; } .ds_kallak_PF2e .ability-score-grid .abil-mod { grid-area: 1/4/6/5; } .ds_kallak_PF2e .ability-score-grid .check { grid-area: 3/6/4/5; position: relative; top: 0px; } .ds_kallak_PF2e .grey-back { grid-area: 2/1/2/7; height:16px; border:1px solid black; background-color:#cccccc; } .ds_kallak_PF2e .abil-score .dsf, .ds_kallak_PF2e .abil-mod .dsf { text-align: center; font-size: 16px; line-height: 22px; } .ds_kallak_PF2e .ability-label-grid { display: grid; grid-template-columns: 123px 1fr 32px 32px 12px; grid-column-gap: 6px; } /* CLASS DC*/ .ds_kallak_PF2e .dc-grid { display: grid; grid-template-columns: 0px 36px 1fr 32px 32px 48px 32px 0px; grid-template-rows: 15px 18px 3px; grid-column-gap: 6px; margin-bottom: 6px; } .ds_kallak_PF2e .dc-grid .grey-back { grid-area: 2/1/4/9; } .ds_kallak_PF2e .dc-grid .dc-total { grid-area: 1/2/3/4; } .ds_kallak_PF2e .value-total { border: 1px solid black; height: 34px; width: 34px; font-size: 22px; text-align: center; box-shadow: 1px 1px 1px #CCCCCC; background-color: white; } .ds_kallak_PF2e .value-include { height: 36px; width: 32px; } .ds_kallak_PF2e .include-label { height: 12px; font-size: 10px; line-height: 10px; font-variant: small-caps; text-align: center; } .ds_kallak_PF2e .include-box { height: 22px; width: 30px; border: 1px solid black; text-align: center; font-size: 16px; line-height: 22px; background-color: white; box-shadow: 1px 1px 1px #CCCCCC; } .ds_kallak_PF2e .value-teml { width: 48px; height: 36px; text-align: center; display: grid; grid-template-columns: repeat(4, 12px); grid-template-rows: 12px 24px; } .ds_kallak_PF2e .check-hold { display: grid; grid-template-columns: 12px; grid-template-rows: 5px 12px 7px; } .ds_kallak_PF2e .check-hold span { grid-area: 2/1/3/2; } .ds_kallak_PF2e .check-hold span .checkBorder { position: relative; top: -6px; } .ds_kallak_PF2e .dc-grid .dc-base { grid-area: 1/4/4/5; } .ds_kallak_PF2e .dc-grid .dc-key { grid-area: 1/5/4/6; } .ds_kallak_PF2e .dc-grid .dc-teml { grid-area: 1/6/4/7; } .ds_kallak_PF2e .dc-grid .dc-item { grid-area: 1/7/4/8; } /* ARMOR CLASS */ .ds_kallak_PF2e .armor-class-grid { display: grid; grid-template-columns: 0px 36px 1fr 32px 32px 32px 32px 0px; grid-template-rows: 15px 18px 3px; grid-column-gap: 6px; margin-bottom: 6px; } .ds_kallak_PF2e .armor-class-grid .grey-back { grid-area: 2/1/2/9; } .ds_kallak_PF2e .armor-class-grid .value-total { grid-area: 1/2/4/3; } .ds_kallak_PF2e .armor-class-grid .ac-base { grid-area: 1/4/4/5; } .ds_kallak_PF2e .armor-class-grid .ac-prof { grid-area: 1/5/4/6; } .ds_kallak_PF2e .armor-class-grid .ac-dexcap { grid-area: 1/6/4/7; } .ds_kallak_PF2e .armor-class-grid .ac-item { grid-area: 1/7/4/8; } .ds_kallak_PF2e .armor-type-grid { display: grid; grid-template-columns: 0px 130px 1fr 60px 0px; grid-template-rows: 15px 18px 3px; grid-column-gap: 6px; margin-bottom:6px; } .ds_kallak_PF2e .armor-type-grid .grey-back { grid-area: 2/1/3/6; } .ds_kallak_PF2e .armor-type-grid .save-label { grid-area: 1/2/3/3; } .ds_kallak_PF2e .armor-type-grid .armor-type-checks-grid { grid-area: 1/4/3/5; display: grid; grid-template-columns: repeat(5, 12px); grid-template-rows: 12px 24px; } .ds_kallak_PF2e .shield-grid { display: grid; grid-template-columns: 0px 58px 36px 1fr 32px 32px 32px 0px; grid-template-rows: 15px 18px 3px; grid-column-gap: 6px; margin-bottom: 6px; } .ds_kallak_PF2e .shield-grid .grey-back { grid-area: 2/1/2/9; } .ds_kallak_PF2e .shield-grid .save-label { grid-area: 1/2/3/3; } .ds_kallak_PF2e .shield-grid .shield-bonus { grid-area: 1/3/3/4; width: 36px; } .ds_kallak_PF2e .shield-grid .shield-bonus .include-box { width: 36px; } .ds_kallak_PF2e .shield-grid .shield-hardness { grid-area: 1/5/3/6; } .ds_kallak_PF2e .shield-grid .shield-hp { grid-area: 1/6/3/7; } .ds_kallak_PF2e .shield-grid .shield-bt { grid-area: 1/7/3/8; } /* SAVING THROWS */ .ds_kallak_PF2e .saving-throw-grid { display: grid; grid-template-columns: 0px 43px 36px 1fr 32px 48px 32px 0px; grid-template-rows: 15px 18px 3px; grid-column-gap: 6px; margin-bottom: 6px; } .ds_kallak_PF2e .saving-throw-grid .grey-back { grid-area: 2/1/4/9; } .ds_kallak_PF2e .save-label { grid-area: 1/2/4/3; border: 1px solid black; background-color: white; margin-top: 12px; height: 22px; line-height: 22px; font-size: 16px; font-variant: small-caps; box-shadow: 1px 1px 1px #CCCCCC; padding-left: 3px; } .ds_kallak_PF2e .save-total { grid-area: 1/3/4/4; } .ds_kallak_PF2e .save-ability { grid-area: 1/5/4/6; } .ds_kallak_PF2e .save-teml { grid-area: 1/6/4/7; } .ds_kallak_PF2e .save-item { grid-area: 1/7/4/8; } /* HIT POINTS */ .ds_kallak_PF2e .hit-points-grid { display: grid; grid-gap: 3px; margin-bottom: 6px; grid-template-areas: "hp-current hp-max hp-temp" "hp-resistances hp-resistances hp-resistances" "doomed wounded dying" "condition-notes condition-notes condition-notes"; grid-template-columns: repeat(3, 1fr); grid-template-rows: auto; } .ds_kallak_PF2e .hp-current { grid-area: hp-current; } .ds_kallak_PF2e .hp-max { grid-area: hp-max; } .ds_kallak_PF2e .hp-temp { grid-area: hp-temp; } .ds_kallak_PF2e .hp-resistances { grid-area: hp-resistances; } .ds_kallak_PF2e .hp-doomed { grid-area: doomed; } .ds_kallak_PF2e .hp-doomed .dsf, .ds_kallak_PF2e .hp-wounded .dsf, .ds_kallak_PF2e .hp-dying .dsf { text-align: center; } .ds_kallak_PF2e .hp-wounded { grid-area: wounded; } .ds_kallak_PF2e .hp-dying { grid-area: dying; } .ds_kallak_PF2e .hp-condition-notes { grid-area: condition-notes; } .ds_kallak_PF2e .hit-points-grid .input.hp-current, .ds_kallak_PF2e .hit-points-grid .input.hp-max, .ds_kallak_PF2e .hit-points-grid .input.hp-temp { height: 43px; } .ds_kallak_PF2e .input.hp-current .dsf, .ds_kallak_PF2e .input.hp-max .dsf, .ds_kallak_PF2e .input.hp-temp .dsf { padding-left: 0px; font-size: 24px; text-align: center; height: 26px; line-height: 26px; } /* PERCEPTION */ .ds_kallak_PF2e .perception-grid { display: grid; grid-template-columns: 0px 36px 1fr 32px 48px 32px 0px; grid-template-rows: 15px 18px 3px; grid-column-gap: 6px; margin-bottom: 6px; } .ds_kallak_PF2e .perception-grid .grey-back { grid-area: 2/1/4/8; } .ds_kallak_PF2e .perception-total { grid-area: 1/2/3/4; } .ds_kallak_PF2e .perception-ability { grid-area: 1/4/4/5; } .ds_kallak_PF2e .perception-teml { grid-area: 1/5/4/6; } .ds_kallak_PF2e .perception-item { grid-area: 1/6/4/7; } .ds_kallak_PF2e .senses-input { margin-bottom: 6px; } /* PROFICIENCIES */ .ds_kallak_PF2e .proficiencies-grid { display: grid; grid-template-columns: repeat(5, 1fr); grid-gap: 6px; } .ds_kallak_PF2e .proficiencies-grid .one-proficiency { display: grid; grid-template-columns: 1fr repeat(4, 12px) 1fr; grid-template-rows: repeat(3, 12px); } .ds_kallak_PF2e .one-proficiency .teml-type-name { grid-area: 1/1/2/7; font-size: 12px; text-align: center; line-height: 10px; font-variant: small-caps; border-bottom: 1px solid #CCCCCC; } .ds_kallak_PF2e .one-proficiency [class^="teml-label-"] { font-size: 10px; text-align: center; line-height: 12px; font-variant: small-caps; } .ds_kallak_PF2e .one-proficiency .teml-label-t { grid-area: 2/2/3/3; } .ds_kallak_PF2e .one-proficiency .teml-label-e { grid-area: 2/3/3/4; } .ds_kallak_PF2e .one-proficiency .teml-label-m { grid-area: 2/4/3/5; } .ds_kallak_PF2e .one-proficiency .teml-label-l { grid-area: 2/5/3/6; } .ds_kallak_PF2e .one-proficiency .first_teml { grid-area: 3/2/4/3; } .ds_kallak_PF2e .one-proficiency .second_teml { grid-area: 3/3/4/4; } .ds_kallak_PF2e .one-proficiency .third_teml { grid-area: 3/4/4/5; } .ds_kallak_PF2e .one-proficiency .fourth_teml { grid-area: 3/5/4/6; } .ds_kallak_PF2e .one-proficiency .checkBorder { position:relative; top: -6px; } /* SPEED */ .ds_kallak_PF2e .speed-grid { display: grid; grid-template-columns: 0px 125px 1fr 32px 32px 32px 32px 32px 0px; grid-template-rows: 0px 15px 18px 3px; grid-column-gap: 6px; margin-bottom: 6px; } .ds_kallak_PF2e .speed-grid .grey-back { grid-area: 3/1/4/10; } .ds_kallak_PF2e .speed-grid .land-speed { grid-area: 2/4/3/5; } .ds_kallak_PF2e .speed-grid .burrow-speed { grid-area: 2/5/3/6; } .ds_kallak_PF2e .speed-grid .climb-speed { grid-area: 2/6/3/7; } .ds_kallak_PF2e .speed-grid .fly-speed { grid-area: 2/7/3/8; } .ds_kallak_PF2e .speed-grid .swim-speed { grid-area: 2/8/3/9; } /* STRIKES */ .ds_kallak_PF2e .list_attacks { display: grid; grid-template-columns: 1fr 1fr; grid-column-gap: 6px; } .ds_kallak_PF2e .attack-container { border: 2px outset black; box-shadow: 1px 1px 1px #CCCCCC; display: grid; padding: 6px 8px 6px 0px; grid-template-columns: 8px 1fr; grid-row-gap: 6px; } .ds_kallak_PF2e .attack-container .input { box-shadow: none; } .ds_kallak_PF2e .attack-container .attack-name { display: grid; grid-template-columns: 45px 1fr; } .ds_kallak_PF2e .attack-name .action-label { grid-area: 1/1/2/2; } .ds_kallak_PF2e .attack-name .edit { border-top: 1px solid black; border-right: 1px solid black; border-bottom: 1px solid black; grid-area: 1/2/2/3; padding-left: 6px; } .ds_kallak_PF2e .attack-container .attack-row { display: grid; grid-template-columns: 1fr 1fr 80px; grid-area: 2/2/3/3; grid-gap: 6px; } .ds_kallak_PF2e .attack-row .attack-type { height: 34px; display: grid; grid-template-columns: 12px 1fr; grid-template-rows: 16px 18px; border: 1px solid black; padding: 0px 6px; } .ds_kallak_PF2e .attack-container .action-checkbox { display: grid; grid-template-columns: 12px; grid-template-rows: 2px 12px 3px; } .ds_kallak_PF2e .attack-container .action-checkbox .check { grid-area: 2/1/3/2; } .ds_kallak_PF2e .attack-container .checkbox-label { font-size: 12px; line-height: 17px; margin-left: 3px; font-variant: small-caps; } .ds_kallak_PF2e .attack-container .damage-type { display: grid; grid-template-columns: 12px 1fr 12px 1fr; border: 1px solid black; padding: 0px 6px; } .ds_kallak_PF2e .attack-container .attack-hands { display: grid; grid-template-columns: 12px 1fr; padding: 0px 6px; border: 1px solid black; } .ds_kallak_PF2e .attack-container .attack-traits { grid-area: 3/2/4/3; } /* SKILLS */ .ds_kallak_PF2e .skill-grid { display: grid; grid-template-columns: 0px 123px 1fr 36px 32px 48px 32px 32px 0px; grid-template-rows: 0px 15px 18px 3px; grid-column-gap: 6px; margin-bottom: 6px; } .ds_kallak_PF2e .skill-grid .grey-back { grid-area: 3/1/4/10; } .ds_kallak_PF2e .skill-grid .save-label { grid-area: 2/2/4/3; } .ds_kallak_PF2e .skill-total { grid-area: 2/4/5/5; } .ds_kallak_PF2e .skill-ability { grid-area: 2/5/5/6; } .ds_kallak_PF2e .skill-teml { grid-area: 2/6/5/7; } .ds_kallak_PF2e .skill-item { grid-area: 2/7/5/8; } .ds_kallak_PF2e .skill-armor { grid-area: 2/8/5/9; } .ds_kallak_PF2e .skill-label { grid-area: 2/2/4/3; border: 1px solid black; background-color: white; margin-top: 12px; height: 22px; /*line-height: 22px; font-size: 16px;*/ font-variant: small-caps; box-shadow: 1px 1px 1px #CCCCCC; padding-left: 3px; display: grid; grid-template-columns: 1fr; grid-template-rows: 11px 11px; } .ds_kallak_PF2e .skill-sub-label { font-size: 10px; line-height: 10px; } .ds_kallak_PF2e .dsf_lore1_name, .ds_kallak_PF2e .dsf_lore2_name, .ds_kallak_PF2e .dsf_lore3_name, .ds_kallak_PF2e .dsf_lore4_name { font-size: 10px; } /* ACTIONS PAGE */ .ds_kallak_PF2e .action-container { border: 2px outset black; box-shadow: 1px 1px 1px #cccccc; display: grid; padding: 6px 8px 6px 0px; grid-template-columns: 8px 45px 1fr 80px; grid-row-gap: 6px; grid-template-rows: 26px 36px; } .ds_kallak_PF2e .action-label { background-color: #cccccc; border: 1px solid black; text-align: center; font-size: 12px; line-height: 24px; font-variant: small-caps; grid-area: 1/2/1/3; } .ds_kallak_PF2e .one-action { height: 24px; width: 24px; background-image: url(https://blog.obsidianportal.com/wp-content/uploads/2020/04/OneAction.png); background-size: auto 24px; background-repeat: no-repeat; margin-left: 6px; } .ds_kallak_PF2e .two-action { height: 24px; width: 38px; background-image: url(https://blog.obsidianportal.com/wp-content/uploads/2020/04/TwoActions.png); background-size: auto 24px; background-repeat: no-repeat; margin-left: 6px; } .ds_kallak_PF2e .three-action { height: 24px; width: 50px; background-image: url(https://blog.obsidianportal.com/wp-content/uploads/2020/04/ThreeActions.png); background-size: auto 24px; background-repeat: no-repeat; margin-left: 6px; } .ds_kallak_PF2e .reaction { height: 24px; background-image: url(https://blog.obsidianportal.com/wp-content/uploads/2020/04/Reaction.png); background-size: auto 24px; background-repeat: no-repeat; margin-left: 6px; } .ds_kallak_PF2e .free-action { height: 24px; background-image: url(https://blog.obsidianportal.com/wp-content/uploads/2020/04/FreeAction.png); background-size: auto 24px; background-repeat: no-repeat; margin-left: 6px; } .ds_kallak_PF2e .action-container .input .dsf { padding-left: 3px; } .ds_kallak_PF2e .action-container .dslf_action_name, .ds_kallak_PF2e .action-container .dslf_reaction_name { padding-left: 6px; border-top: 1px solid black; border-right: 1px solid black; border-bottom: 1px solid black; grid-area: 1/3/1/5 } .ds_kallak_PF2e .action-container .action-icons { display: grid; grid-template-columns: 12px 1fr; grid-area: 2/4/4/5; border: 1px solid black; padding: 1px 1px 1px 4px; } .ds_kallak_PF2e .action-container .action-checkbox { display: grid; grid-template-columns: 12px; grid-template-rows: 6px 12px 6px; } .ds_kallak_PF2e .action-checkbox .checkBorder, .ds_kallak_PF2e .ability-score-grid .checkBorder, .ds_kallak_PF2e .tradition-grid .checkBorder, .ds_kallak_PF2e .tradition-grid2 .checkBorder, .ds_kallak_PF2e .tradition-prepared .checkBorder, .ds_kallak_PF2e .tradition-spontaneous .checkBorder { position: relative; top: -6px; } .ds_kallak_PF2e .dslf_action_one, .ds_kallak_PF2e .dslf_action_two, .ds_kallak_PF2e .dslf_action_three, .ds_kallak_PF2e .dslf_reaction_free, .ds_kallak_PF2e .dslf_reaction_reaction, .ds_kallak_PF2e .inventory-container .action-checkbox .dslf { grid-area: 2/1/2/3; } .ds_kallak_PF2e .action-container .input, .ds_kallak_PF2e .spell-container .input, .ds_kallak_PF2e .inventory-container .input { min-height: 34px; height: auto; box-shadow: none; } .ds_kallak_PF2e .action-container .action-traits { grid-area: 2/2/3/4; margin-right: 6px; } .ds_kallak_PF2e .action-container .action-page { grid-area: 3/2/4/4; margin-right: 6px; } .ds_kallak_PF2e .action-container .action-description { grid-area: 4/2/5/5; min-height: 81px; } .ds_kallak_PF2e .action-container .action-description .edit { font-size: 12px; min-height: 62px; padding-bottom: 3px; } .ds_kallak_PF2e .action-container .handle { grid-area: 1/1/1/2; } .ds_kallak_PF2e .handle-space { display: block; grid-area: 1/1/1/2; } .ds_kallak_PF2e.editable .handle-space { display: none; } /* FOCUS POINTS */ .ds_kallak_PF2e .focus-points-grid { display: grid; grid-template-columns: 0px 100px 1fr 32px 32px 0px; grid-template-rows: 15px 18px 3px; grid-column-gap: 6px; margin-bottom: 6px; } .ds_kallak_PF2e .focus-points-grid .grey-back { grid-area: 2/1/3/7; } .ds_kallak_PF2e .focus-points-grid .save-label { grid-area: 1/2/4/3; } .ds_kallak_PF2e .focus-points-grid .focus-current { grid-area: 1/4/4/5; } .ds_kallak_PF2e .focus-points-grid .focus-maximum { grid-area: 1/5/4/6;; } .ds_kallak_PF2e .input.magic-notes { min-height: 57px; height: auto; } .ds_kallak_PF2e .input.magic-notes .dsf { min-height: 40px; } /* SPELL ATTACK */ .ds_kallak_PF2e .spell-attack-grid { display: grid; grid-template-columns: 0px 36px 1fr 32px 48px 0px; grid-template-rows: 15px 18px 3px; grid-column-gap: 6px; margin-bottom: 6px; } .ds_kallak_PF2e .spell-attack-grid .grey-back { grid-area: 2/1/4/7; } .ds_kallak_PF2e .spell-attack-grid .dc-total { grid-area: 1/2/3/4; } .ds_kallak_PF2e .spell-attack-grid .dc-key { grid-area: 1/4/4/5; } .ds_kallak_PF2e .spell-attack-grid .dc-teml { grid-area: 1/5/4/6; } /* SPELL DC */ .ds_kallak_PF2e .spell-dc-grid { display: grid; grid-template-columns: 0px 36px 1fr 32px 32px 48px 0px; grid-template-rows: 15px 18px 3px; grid-column-gap: 6px; margin-bottom: 6px; } .ds_kallak_PF2e .spell-dc-grid .grey-back { grid-area: 2/1/4/8; } .ds_kallak_PF2e .spell-dc-grid .dc-total { grid-area: 1/2/3/4; } .ds_kallak_PF2e .spell-dc-grid .dc-base { grid-area: 1/4/4/5; } .ds_kallak_PF2e .spell-dc-grid .dc-key { grid-area: 1/5/4/6; } .ds_kallak_PF2e .spell-dc-grid .dc-teml { grid-area: 1/6/4/7; } /* MAGICAL TRADITION */ .ds_kallak_PF2e .magic-tradition-grid { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 36px 36px 18px; } .ds_kallak_PF2e .magic-tradition-grid .background-image { grid-area: 1/1/3/3; background-image: url('https://blog.obsidianportal.com/wp-content/uploads/2019/08/spell-traditions-book.png'); background-size: auto 100%; background-repeat: no-repeat; background-position: 50%; } .ds_kallak_PF2e .tradition-arcane { grid-area: 1/1/2/2; } .ds_kallak_PF2e .tradition-occult { grid-area: 1/2/2/3; } .ds_kallak_PF2e .tradition-primal { grid-area: 2/1/3/2; } .ds_kallak_PF2e .tradition-divine { grid-area: 2/2/3/3; } .ds_kallak_PF2e .tradition-grid { display: grid; grid-template-columns: 1fr 12px 25px; grid-template-rows: 6px 12px 6px; } .ds_kallak_PF2e .tradition-grid2 { display: grid; grid-template-columns: 25px 12px 1fr; grid-template-rows: 6px 12px 6px; } .ds_kallak_PF2e .tradition-grid .tradition-label { grid-area: 1/1/4/2; text-align: center; font-size: 18px; font-variant: small-caps; line-height: 24px; } .ds_kallak_PF2e .tradition-grid2 .tradition-label { grid-area: 1/3/4/4; text-align: center; font-size: 18px; font-variant: small-caps; line-height: 24px; } .ds_kallak_PF2e .tradition-grid .check { grid-area: 2/2/3/3; } .ds_kallak_PF2e .tradition-grid2 .check { grid-area: 2/2/3/3; } .ds_kallak_PF2e .tradition-prepared { grid-area: 3/1/3/2; display: grid; grid-template-columns: 1fr 12px 55px 0px; grid-template-rows: 1px 12px 5px; grid-column-gap: 3px; } .ds_kallak_PF2e .tradition-spontaneous { grid-area: 3/2/3/3; display: grid; grid-template-columns: 0px 12px 75px 1fr; grid-template-rows: 1px 12px 5px; grid-column-gap: 3px; } .ds_kallak_PF2e .spell-type-label { font-size: 12px; font-variant: small-caps; line-height: 15px; } .ds_kallak_PF2e .tradition-prepared .dsf, .ds_kallak_PF2e .tradition-spontaneous .dsf { grid-area: 2/2/3/3; } .ds_kallak_PF2e .tradition-prepared .spell-type-label, .ds_kallak_PF2e .tradition-spontaneous .spell-type-label { grid-area: 2/3/3/4; } /* SPELL SLOTS PER DAY */ .ds_kallak_PF2e .spell-slots-grid { display: grid; grid-template-columns: repeat(11, 1fr); grid-gap: 3px; } .ds_kallak_PF2e .spell-slots-grid .spell-slot-box { height: 70px; border: 1px solid black; box-shadow: 1px 1px 1px #CCCCCC; text-align: center; } .ds_kallak_PF2e .spell-slots-grid .spell-slot-box .dsf { height: 24px; } .ds_kallak_PF2e .spells-per-day-label { border-top: 1px solid black; border-bottom: 1px solid black; background-color: #cccccc; height: 20px; line-height: 20px; } .ds_kallak_PF2e .spells-per-day-label2 { border-bottom: 1px solid black; background-color: #cccccc; height: 45px; line-height: 15px; font-size: 10px; } .ds_kallak_PF2e .spell-slot-note { font-size:12px; font-variant:small-caps; text-align:center; margin-top:1px; } /* SPELLS */ .ds_kallak_PF2e .list_spells { display: grid; grid-template-columns: 1fr 1fr; grid-column-gap: 6px; } .ds_kallak_PF2e .spell-container { border: 2px outset black; display: grid; grid-template-columns: 2px 1fr 80px; grid-template-rows: 26px; box-shadow: 1px 1px 1px #CCCCCC; padding: 6px 8px 6px 0px; grid-gap: 6px; } .ds_kallak_PF2e .spell-container .handle { grid-area: 1/1/2/2; } .ds_kallak_PF2e .spell-container .handle-space { grid-area: 1/1/2/2; display: block; } .ds_kallak_PF2e.editable .spell-container .handle-space { display: none; } .ds_kallak_PF2e .spell-container .spell-name { grid-area: 1/2/2/4; display: grid; grid-template-columns: 45px 1fr; } .ds_kallak_PF2e .spell-name .action-label { grid-area: 1/1/2/2; background-color: #cccccc; border: 1px solid black; text-align: center; font-size: 12px; line-height: 24px; font-variant: small-caps; } .ds_kallak_PF2e .spell-name .dslf_spell_name { grid-area: 1/2/2/3; border-top: 1px solid black; border-right: 1px solid black; border-bottom: 1px solid black; padding-left: 6px; } .ds_kallak_PF2e .spell-container .action-icons { display: grid; grid-template-columns: 12px 1fr; grid-area: 2/3/6/4; border: 1px solid black; padding: 1px 1px 1px 4px; } .ds_kallak_PF2e .spell-container .action-checkbox { display: grid; grid-template-columns: 12px; grid-template-rows: 6px 12px 6px; } .ds_kallak_PF2e .spell-container .action-checkbox .checkbox { grid-area: 2/1/3/2; } .ds_kallak_PF2e .spell-container .spell-type { grid-area: 2/2/3/3; display: grid; grid-template-columns: 12px 1fr 12px 1fr; grid-template-rows: 12px; border: 1px solid black; height: 12px; font-size: 12px; font-variant: small-caps; line-height: 12px; padding: 4px 6px; grid-gap: 6px; } .ds_kallak_PF2e .spell-type .dslf_spell_type_innate { grid-area: 1/1/2/2; position: relative; top: 0px; } .ds_kallak_PF2e .spell-type .dslf_spell_type_focus { grid-area: 1/3/2/4; position: relative; top: 0px; } .ds_kallak_PF2e .spell-container .spell-two-column { grid-area: 3/2/4/3; height: 36px; grid-template-columns: 1fr 1fr; display: grid; grid-gap: 6px; } .ds_kallak_PF2e .spell-container .spell-mismatch-column { height: 36px; grid-area: 4/2/5/3; display: grid; grid-template-columns: 1fr 2fr; grid-gap: 6px; } .ds_kallak_PF2e .spell-container .spell-traits { grid-area: 5/2/6/3; } .ds_kallak_PF2e .spell-container .spell-description { grid-area: 6/2/7/4; min-height: 81px; } .ds_kallak_PF2e .spell-container .spell-description .edit { font-size: 12px; min-height: 62px; padding-bottom: 3px; } .ds_kallak_PF2e .spell-container .spell-components { display: grid; border: 1px solid black; grid-template-columns: repeat(2, 12px 1fr); grid-template-rows: 17px 17px; grid-column-gap: 4px; font-size: 12px; line-height: 16px; text-align: center; padding: 0px 5px; } .ds_kallak_PF2e .spell-components .spell-type-check { display: grid; grid-template-columns: 12px; grid-template-rows: 3px 12px 3px; } .ds_kallak_PF2e .spell-type-check .check { grid-area: 2/1/3/2; } .ds_kallak_PF2e .spell-type-check .checkBorder { position:relative; top: -1px; } .ds_kallak_PF2e .dslf_spell_action_long_value { margin: 0px 3px; font-size: 10px; line-height: 10px; height: 10px; margin-top: 8px; border-bottom: 1px solid black; } /* CURRENCY SECTION */ .ds_kallak_PF2e .currency-grid { display: grid; grid-gap: 3px; grid-template-columns: repeat(4, 1fr); margin-bottom: 6px; } .ds_kallak_PF2e .currency-notes { } .ds_kallak_PF2e .input.currency-notes .dsf { font-size: 14px; height: 17.6px; line-height: 17.6px; } /* ENCUMBRANCE */ .ds_kallak_PF2e .encumb-container { display: grid; grid-template-columns: 50px 0px 42px 1fr 36px 32px 32px 0px; grid-template-rows: 15px 18px 3px; grid-column-gap: 6px; margin-bottom: 6px; } .ds_kallak_PF2e .encumb-container .grey-back { grid-area: 2/2/3/9; } .ds_kallak_PF2e .encumb-container .bulk-total { grid-area: 1/1/4/2; height: 46px; } .ds_kallak_PF2e span.dsf.dsf_bulk { height: 33px; font-size: 24px; line-height: 33px; } .ds_kallak_PF2e .csx .input2.bulk-total .input-label { position: relative; top: 0px; } .ds_kallak_PF2e .encumb-container .save-label { grid-area: 1/3/2/4; } .ds_kallak_PF2e .encumb-container .value-total { grid-area: 1/5/3/6 } .ds_kallak_PF2e .encumb-container .encumbered-max-base { grid-area: 1/6/3/7; } .ds_kallak_PF2e .encumb-container .encumbered-max-str { grid-area: 1/7/3/8; } .ds_kallak_PF2e .encumbrance-grid { display: grid; grid-template-columns: 0px 98px 1fr 36px 32px 32px 0px; grid-template-rows: 15px 18px 3px; grid-column-gap: 6px; } .ds_kallak_PF2e .encumbrance-grid .grey-back { grid-area: 2/1/3/8; } .ds_kallak_PF2e .encumbrance-grid .encumbered-label { grid-area: 1/2/4/3; } .ds_kallak_PF2e .encumbrance-grid .encumbered-total { grid-area: 1/4/4/5; } .ds_kallak_PF2e .encumbrance-grid .encumbered-base { grid-area: 1/5/4/6; } .ds_kallak_PF2e .encumbrance-grid .encumbered-str { grid-area: 1/6/4/7; } /* SUPPLIES */ .ds_kallak_PF2e .supplies-grid { display: grid; grid-template-columns: 0px 80px 1fr 32px 32px 0px; grid-template-rows: 15px 18px 3px; grid-column-gap: 6px; margin-bottom: 6px; } .ds_kallak_PF2e .supplies-grid .grey-back { grid-area: 2/1/3/7; } .ds_kallak_PF2e .supplies-grid .save-label { grid-area: 1/2/2/3; } .ds_kallak_PF2e .supplies-grid .value-water { grid-area: 1/4/4/4; } .ds_kallak_PF2e .supplies-grid .value-food { grid-area: 1/5/4/6; } /* CONSUMABLES */ .ds_kallak_PF2e .consumables-grid { display: grid; grid-template-columns: 1fr 40px 40px; } .ds_kallak_PF2e .gems-grid { display: grid; grid-template-columns: 1fr 60px 40px; } .ds_kallak_PF2e .one-consumable { display: grid; grid-template-columns: 8px 1fr 40px 40px; padding: 0px 3px; border-bottom: 1px solid #cccccc; grid-gap: 3px; } .ds_kallak_PF2e .one-gem { display: grid; grid-template-columns: 8px 1fr 60px 40px; padding: 0px 3px; border-bottom: 1px solid #cccccc; grid-gap: 3px; } .ds_kallak_PF2e .one-consumable .dslf_consumable_qty, .ds_kallak_PF2e .one-consumable .dslf_consumable_bulk, .ds_kallak_PF2e .one-gem .dslf_gem_price, .ds_kallak_PF2e .one-gem .dslf_gem_bulk { border-left: 1px solid #cccccc; text-align: center; } /* INVENTORY */ .ds_kallak_PF2e .list_inventory { display: grid; grid-template-columns: repeat(2, 1fr); grid-column-gap: 6px; } .ds_kallak_PF2e .inventory-container { border: 2px outset black; box-shadow: 1px 1px 1px #CCCCCC; padding: 6px 8px 6px 0px; grid-gap: 6px; display: grid; grid-template-columns: 2px 1fr; grid-template-rows: 26px; } .ds_kallak_PF2e .inventory-container .item-name { grid-area: 1/2/2/3; display: grid; grid-template-columns: 45px 1fr; } .ds_kallak_PF2e .inventory-container .item-name .action-label { grid-area: 1/1/2/2; } .ds_kallak_PF2e .inventory-container .dslf_item_name { border-top: 1px solid black; border-right: 1px solid black; border-bottom: 1px solid black; padding-left: 6px; } .ds_kallak_PF2e .inventory-container .item-details { grid-area: 2/2/3/3; display: grid; grid-template-columns: 1fr 1fr 2fr 1fr; grid-gap: 6px; } .ds_kallak_PF2e .inventory-container .item-description { grid-area: 3/2/4/3; min-height: 81px; box-shadow: none; } .ds_kallak_PF2e .input.item-description .edit { min-height: 62px; font-size: 12px; padding-bottom: 3px; } .ds_kallak_PF2e .inventory-slot { border: 1px solid black; display: grid; grid-template-columns: 12px 1fr 12px 1fr; grid-template-rows: 15px 19px; padding: 0px 6px; } .ds_kallak_PF2e .inventory-invest { border: 1px solid black; display: grid; grid-template-columns: 12px 1fr; grid-template-rows: 15px 19px; padding: 0px 6px; } .ds_kallak_PF2e .inventory-container .action-checkbox { display: grid; grid-template-columns: 12px; grid-template-rows: 3px 12px 2px; } .ds_kallak_PF2e .inventory-container .checkbox-label { font-size: 12px; line-height: 20px; font-variant: small-caps; margin-left: 3px; } .ds_kallak_PF2e .inventory-container .dslf_inventory_invest_number { height: 14px; margin-top: 3px; font-size: 12px; line-height: 14px; } /* PERSONALITY SECTION */ .ds_kallak_PF2e .personality { display: grid; grid-gap: 3px; } /* PHYSICAL DETAILS SECTION */ .ds_kallak_PF2e .physical-details-grid { display: grid; grid-gap: 3px; grid-template-columns: repeat(4, 1fr); grid-template-rows: repeat(5, 36px); } .ds_kallak_PF2e .ethnicity { grid-area: 1/1/2/5; } .ds_kallak_PF2e .nationality { grid-area: 2/1/3/5; } .ds_kallak_PF2e .birthplace { grid-area: 3/1/4/5; } .ds_kallak_PF2e .height { grid-area: 4/1/5/3; } .ds_kallak_PF2e .weight { grid-area: 4/3/5/5; } .ds_kallak_PF2e .age { grid-area: 5/1/6/3; } .ds_kallak_PF2e .sex { grid-area: 5/3/6/5; } /* CAMPAIGN NOTES */ .ds_kallak_PF2e .big-input { border: 1px solid black; box-shadow:1px 1px 1px #cccccc; padding: 0px 3px 10px 3px; } .ds_kallak_PF2e .big-input .input-label { padding: 0px 3px; } .ds_kallak_PF2e .npc-name-container { border-bottom: 1px solid #cccccc; padding: 0px 3px; } .ds_kallak_PF2e .npc-label-grid { display: grid; grid-template-columns: 1fr 150px; } .ds_kallak_PF2e .one-npc-grid { display: grid; grid-template-columns: 8px 1fr 150px; grid-gap: 3px; padding: 0px 3px; border-bottom: 1px solid #cccccc; } .ds_kallak_PF2e [class$="_location"] { border-left: 1px solid #cccccc; padding-left: 6px; } .ds_kallak_PF2e .dslf_note_name { margin-left: 10px; } /* APPEARANCE & BIO BOXES*/ .ds_kallak_PF2e .dsf_bio, .ds_kallak_PF2e .dsf_appearance { font-size: 14px; padding: 6px; border: 1px solid black; box-shadow: 1px 1px 1px #cccccc; min-height: 150px; margin-bottom: 6px; } /* GENERAL ELEMENTS */ .ds_kallak_PF2e .footer { text-align: center; font-variant: small-caps; font-size: 12px; } .ds_kallak_PF2e .csx .footer .dsf { display: inline; } .ds_kallak_PF2e .area-header { background-color:black; color:white; font-variant:small-caps; font-size:16px; text-align:center; margin-bottom:6px; height:26px; } .ds_kallak_PF2e .one-column .area-header { margin-bottom: 0px; } .ds_kallak_PF2e .input { border:1px solid black; padding:0px 3px; height:34px; box-shadow:1px 1px 1px #cccccc; } .ds_kallak_PF2e .input-label { font-size:10px; line-height:14px; font-variant:small-caps; } .ds_kallak_PF2e .input .dsf, .ds_kallak_PF2e .input .edit { padding-left: 6px; line-height: 1.1; font-size: 16px; } .ds_kallak_PF2e .input2 { border:1px solid black; text-align:center; box-shadow:1px 1px 1px #cccccc; height:34px; } .ds_kallak_PF2e .input2 .dsf { font-size: 16px; line-height: 1.3; height: 20px; } .ds_kallak_PF2e .entry { display: grid; grid-template-columns: 80% 20%; border: 1px solid black; box-shadow: 1px 1px 1px #cccccc; height: 24px; } .ds_kallak_PF2e .entry .dsf { max-height: 24px; padding-left: 5px; } .ds_kallak_PF2e .entry-label { font-size: 12px; font-variant: small-caps; line-height: 24px; background-color: #cccccc; border-left: 1px solid black; padding-left: 2px; } .ds_kallak_PF2e ul { margin-bottom: 0px; } /* SHEET EDITING */ .ds_kallak_PF2e .csx .dsf, .ds_kallak_PF2e .csx .edit { display: block; } .ds_kallak_PF2e.editable .dsf, .ds_kallak_PF2e.editable .edit { background-color:#cdf; cursor:pointer; display: block; } .ds_kallak_PF2e.editable .dsf.readonly { background-color:transparent; } .ds_kallak_PF2e .dsf input { padding:0px 0px 0px 0px; margin:-1px 0px 0px -1px; } .ds_kallak_PF2e .jeditable_input button { display: none; } .ds_kallak_PF2e.editable .dsf_bio { display: none; } /* CSX SETTINGS */ .ds_kallak_PF2e .csx .list li.item:nth-of-type(2n+1) { background-color: white; } .ds_kallak_PF2e .csx .list { /*min-height:100px;*/ } .ds_kallak_PF2e .csx .list li.item { margin-bottom: 6px; } .ds_kallak_PF2e .csx .big-input .list li.item { margin-bottom: 0px; } .ds_kallak_PF2e .csx .action-container .check .checkOn { background-position:1px 1px; } .ds_kallak_PF2e .csx .single-attack .check .checkOn, .ds_kallak_PF2e .csx .single-attack .check .checkOn:hover { background-position:1px 4px; } .ds_kallak_PF2e .csx .single-action.spells .check .checkOn { background-position:1px 4px; } .ds_kallak_PF2e .csx .check { margin:0px; } .ds_kallak_PF2e .csx .check .checkBorder { background-image: url('https://blog.obsidianportal.com/wp-content/uploads/2019/10/check-border-1.png'); background-size:12px 12px; } .ds_kallak_PF2e .csx .check .checkOff, .ds_kallak_PF2e .csx .check .checkOff:hover { background-image: url('https://blog.obsidianportal.com/wp-content/uploads/2019/10/check-off.png'); background-position:1px 1px; } .ds_kallak_PF2e .csx .check .checkOn, .ds_kallak_PF2e .csx .check .checkOn:hover { background-image: url('https://blog.obsidianportal.com/wp-content/uploads/2019/10/check-on.png'); background-position:1px 1px; } .ds_kallak_PF2e .csx .hidden { display: none; } .ds_kallak_PF2e.editable .csx .dsf:hover:not(.readonly), .ds_kallak_PF2e.editable .csx .edit:hover:not(.readonly), .ds_kallak_PF2e.editable .csx .dsf:focus, .ds_kallak_PF2e.editable .csx .edit:focus, .ds_kallak_PF2e.editable .csx .dsf:focus:hover, .ds_kallak_PF2e.editable .csx .edit:focus:hover { background-color: #CDF; } /* TABLET SETTINGS */ @media only screen and (max-width: 800px) { .ds_kallak_PF2e .grid-1 { grid-template-columns: calc(33.33% - 3px) calc(66.66% - 3px); } .ds_kallak_PF2e .grid-2 { grid-template-columns: calc(50% - 3px) calc(50% - 3px); } .ds_kallak_PF2e .grid-3 { grid-template-columns: calc(33.33% - 3px) calc(33.33% - 4px) calc(33.33% - 5px); } .ds_kallak_PF2e .grid-4 { grid-template-columns: calc(66.66% - 1px) calc(33.33% - 5px); } .ds_kallak_PF2e .entry-label { font-size: 10px; } .ds_kallak_PF2e .ability-score-grid, .ds_kallak_PF2e .ability-label-grid { grid-template-columns: 114px 1fr 32px 32px 12px; } .ds_kallak_PF2e .dc-grid { grid-template-columns: 0px 34px 1fr 32px 32px 48px 32px 0px; } .ds_kallak_PF2e .dc-grid .value-total { width: 32px; } .ds_kallak_PF2e .saving-throw-grid { grid-template-columns: 0px 32px 34px 1fr 32px 48px 32px 0px; } .ds_kallak_PF2e .save-label { font-size: 12px; } .ds_kallak_PF2e .saving-throw-grid .value-total { width: 32px; } .ds_kallak_PF2e .skill-grid { grid-template-columns: 0px 100px 1fr 36px 32px 48px 32px 32px 0px; } .ds_kallak_PF2e .name-box .dsf_name { font-size: 24px; } .ds_kallak_PF2e .tradition-grid .tradition-label { text-align: left; } .ds_kallak_PF2e .tradition-grid2 .tradition-label { text-align: right; } .ds_kallak_PF2e .inventory-container .checkbox-label { font-size: 10px; } .ds_kallak_PF2e .speed-grid { grid-template-columns: 0px 100px 1fr 32px 32px 32px 32px 32px 0px; } .ds_kallak_PF2e .dsf_lore1_name, .ds_kallak_PF2e .dsf_lore2_name, .ds_kallak_PF2e .dsf_lore3_name, .ds_kallak_PF2e .dsf_lore4_name { font-size: 9px; } .ds_kallak_PF2e .one-npc-grid .dslf, .ds_kallak_PF2e .one-consumable .dslf .ds_kallak_PF2e .one-gem .dslf, .ds_kallak_PF2e .npc-name-container .dslf { font-size: 14px; height: 24px; line-height: 24px; } .ds_kallak_PF2e .npc-label-grid { grid-template-columns: 1fr 140px; } .ds_kallak_PF2e .one-npc-grid { grid-template-columns: 8px 1fr 140px; } .ds_kallak_PF2e .encumb-container { grid-template-columns: 45px 0px 33px 1fr 36px 32px 32px 0px; } .ds_kallak_PF2e .encumbrance-grid { grid-template-columns: 0px 84px 1fr 36px 32px 32px 0px; } .ds_kallak_PF2e .shield-grid { grid-template-columns: 0px 42px 36px 1fr 32px 32px 32px 0px; } } /* PHONE SETTINGS */ @media only screen and (max-width: 420px) { .ds_kallak_PF2e .grid-tabs { grid-template-columns: 1fr 1fr 1fr; } .ds_kallak_PF2e .grid-1, .ds_kallak_PF2e .grid-2, .ds_kallak_PF2e .grid-3, .ds_kallak_PF2e .grid-4, .ds_kallak_PF2e .basic-info-grid, .ds_kallak_PF2e .campaign-notes-grid { grid-template-columns: 100%; } .ds_kallak_PF2e .campaign-notes-grid { grid-template-rows: 186px 60px; } .ds_kallak_PF2e .ancestry, .ds_kallak_PF2e .background, .ds_kallak_PF2e .size, .ds_kallak_PF2e .class, .ds_kallak_PF2e .alignment, .ds_kallak_PF2e .deity, .ds_kallak_PF2e .traits, .ds_kallak_PF2e .languages, .ds_kallak_PF2e .notes, .ds_kallak_PF2e .allies, .ds_kallak_PF2e .enemies, .ds_kallak_PF2e .organizations { grid-area: auto; } .ds_kallak_PF2e .entry { grid-template-columns: 75% 25%; } .ds_kallak_PF2e .tab { font-size: 16px; margin-bottom: 4px; } .ds_kallak_PF2e .action-container { grid-template-rows: 26px 28px 36px; } .ds_kallak_PF2e .action-container .action-icons { grid-template-columns: 18px 1fr 18px 1fr 18px 1fr; grid-area: 2/2/2/5; } .ds_kallak_PF2e .action-container .action-traits { grid-area: 3/2/3/5; margin-right: 0px; } .ds_kallak_PF2e .action-container .action-page { grid-area: 4/2/4/5; margin-right: 0px; } .ds_kallak_PF2e .action-container .action-description { grid-area: 5/2/5/5; } .ds_kallak_PF2e .ability-score-grid, .ds_kallak_PF2e .ability-label-grid { grid-template-columns: 123px 1fr 32px 32px 12px; } .ds_kallak_PF2e .dc-grid { grid-template-columns: 0px 36px 1fr 32px 32px 48px 32px 0px; } .ds_kallak_PF2e .dc-grid .value-total { width: 34px; } .ds_kallak_PF2e .saving-throw-grid { grid-template-columns: 0px 43px 36px 1fr 32px 48px 32px 0px; } .ds_kallak_PF2e .save-label { font-size: 16px; } .ds_kallak_PF2e .saving-throw-grid .value-total { width: 34px; } .ds_kallak_PF2e .skill-grid { grid-template-columns: 0px 36px 1fr 0px 32px 48px 32px 32px 0px; grid-template-rows: 27px 15px 18px 3px; } .ds_kallak_PF2e .skill-grid .save-label, .ds_kallak_PF2e .skill-label { grid-area: 1/1/2/10; margin-top: 0px; margin-bottom: 3px; } .ds_kallak_PF2e .skill-total { grid-area: 2/2/5/3; } .ds_kallak_PF2e .name-grid { grid-template-columns: 1fr 1fr; grid-template-rows: auto; grid-column-gap: 6px; grid-row-gap: 6px; } .ds_kallak_PF2e .name-grid .name-box { grid-area: 1/1/2/3; } .ds_kallak_PF2e .name-grid .character-level { grid-area: 2/1/3/2; } .ds_kallak_PF2e .name-grid .hero-points { grid-area: 2/2/3/3; } .ds_kallak_PF2e .spell-slots-grid { grid-template-columns: repeat(6, 1fr); } .ds_kallak_PF2e .tradition-grid .tradition-label, .ds_kallak_PF2e .tradition-grid2 .tradition-label { text-align: center; } .ds_kallak_PF2e .list_spells { grid-template-columns: 1fr; } .ds_kallak_PF2e .spell-container .action-icons { grid-area: 3/2/4/4; grid-template-columns: repeat(3, 12px 1fr); } .ds_kallak_PF2e .spell-container .spell-type { grid-area: 2/2/3/4; } .ds_kallak_PF2e .spell-container .spell-two-column { grid-area: 4/2/5/4; } .ds_kallak_PF2e .spell-container .spell-mismatch-column { grid-area: 5/2/6/4; } .ds_kallak_PF2e .spell-container .spell-components { grid-column-gap: 4px; } .ds_kallak_PF2e .spell-container .spell-traits { grid-area: 6/2/7/4; } .ds_kallak_PF2e .spell-container .spell-description { grid-area: 7/2/8/4; } .ds_kallak_PF2e .list_inventory { grid-template-columns: 1fr; } .ds_kallak_PF2e .inventory-container .item-details { grid-template-columns: 1fr 1fr; } .ds_kallak_PF2e .speed-grid { grid-template-columns: 0px 0px 1fr 32px 32px 32px 32px 32px 0px; grid-template-rows: 27px 15px 18px 3px; } .ds_kallak_PF2e .speed-grid .save-label { grid-area: 1/1/2/10; margin-bottom: 3px; margin-top: 0px; } .ds_kallak_PF2e .attack-container .attack-row-1 { grid-template-columns: 40px 1fr 1fr; } .ds_kallak_PF2e .attack-row-1 .attack-type .full-word { display: none; } .ds_kallak_PF2e .dsf_lore1_name, .ds_kallak_PF2e .dsf_lore2_name, .ds_kallak_PF2e .dsf_lore3_name, .ds_kallak_PF2e .dsf_lore4_name{ font-size: 16px; } .ds_kallak_PF2e .one-proficiency .teml-type-name { font-size: 10px; } .ds_kallak_PF2e .list_attacks { grid-template-columns: 1fr; } .ds_kallak_PF2e .one-npc-grid .dslf, .ds_kallak_PF2e .one-consumable .dslf, .ds_kallak_PF2e .one-gem .dslf, .ds_kallak_PF2e .npc-name-container .dslf { font-size: 12px; height: 24px; line-height: 28px; } .ds_kallak_PF2e .npc-label-grid { grid-template-columns: 1fr 120px; } .ds_kallak_PF2e .one-npc-grid { grid-template-columns: 8px 1fr 120px; } .ds_kallak_PF2e .encumb-container { grid-template-columns: 50px 0px 42px 1fr 36px 32px 32px 0px; } .ds_kallak_PF2e .encumbrance-grid { grid-template-columns: 0px 98px 1fr 36px 32px 32px 0px; } .ds_kallak_PF2e .shield-grid { grid-template-columns: 0px 58px 36px 1fr 32px 32px 32px 0px; } .ds_kallak_PF2e .attack-container .dslf_attack_group, .ds_kallak_PF2e .attack-container .dslf_attack_traits { font-size: 14px; height: 17.6px; line-height: 17.6px; } }
Javascript
var $ = jQuery; csx_opts = { 'setupCallback': function(item){kallak_PF2e_setup(item);}, 'uiContainer': function(){return document;}, 'defaultFieldValue':' ', 'imagePath':'https://chainsawxiv.github.io/DST/common/images/', 'preloadFiles':[ 'add.png', 'add_hover.png', 'balance.png', 'balance_hover.png', 'bullet.png', 'fb_back_bottom.png', 'fb_back_main.png', 'fb_back_top.png', 'grab.png', 'grab_hover.png', 'tip.png', 'tip_hover.png', 'trash.png', 'trash_active.png', 'trash_hover.png', ], }; function kallak_PF2e_dataPreLoad(opts){ aisleten.characters.jeditablePlaceholder = csx_opts.defaultFieldValue; if(typeof dynamic_sheet_attrs == "undefined") { dynamic_sheet_attrs = {}; } var containerId = csx_opts.containerId; var defaults = { lore1_name: "Lore", lore2_name: "Lore", lore3_name: "Lore", lore4_name: "Lore", } dynamic_sheet_attrs = $.extend(defaults, dynamic_sheet_attrs); } function kallak_PF2e_dataPostLoad(options) { csx_opts.defaultContext = document.getElementById(options.containerId); csx_opts.uiContainer = csx_opts.defaultContext.querySelector('.uicontainer'); csx_opts.isEditable = options.isEditable; csx_opts.containerId = "#" + options.containerId; var containerId = csx_opts.containerId; kallak_PF2e_updateXP(containerId); if (options.isEditable) { var containerId = options.containerId; kallak_PF2e_updateStat("str", containerId); kallak_PF2e_updateStat("dex", containerId); kallak_PF2e_updateStat("con", containerId); kallak_PF2e_updateStat("int", containerId); kallak_PF2e_updateStat("wis", containerId); kallak_PF2e_updateStat("cha", containerId); } var includes = document.createElement('script'); includes.type = 'text/javascript'; includes.src = 'https://chainsawxiv.github.io/DST/common/js/csx_pathfinder_common.js'; includes.onload = function(){ csx_opts.setupCallback(); }; document.body.appendChild(includes); } function kallak_PF2e_dataChange(options) { //var field = options['fieldName']; //var containerId = "#" + options['containerId']; var field = this.className.match(/dsf_([\d\w_]+)/)[1]; var containerId = csx_opts.containerId; switch (field) { case "str": kallak_PF2e_updateStat("str", containerId); kallak_PF2e_updateSkills("str", containerId); kallak_PF2e_updateEncumbrance(containerId); kallak_PF2e_checkKey("str", containerId); break; case "int": kallak_PF2e_updateStat("int", containerId); kallak_PF2e_updateSkills("int", containerId); kallak_PF2e_checkKey("int", containerId); break; case "wis": kallak_PF2e_updateStat("wis", containerId); kallak_PF2e_updateSkills("wis", containerId); kallak_PF2e_updateSave("wis", "will", containerId); kallak_PF2e_updatePerception(containerId); kallak_PF2e_checkKey("wis", containerId); break; case "dex": kallak_PF2e_updateStat("dex", containerId); kallak_PF2e_updateSkills("dex", containerId); kallak_PF2e_updateSave("dex", "ref", containerId); kallak_PF2e_checkKey("dex", containerId); break; case "con": kallak_PF2e_updateStat("con", containerId); kallak_PF2e_updateSave("con", "fort", containerId); kallak_PF2e_checkKey("con", containerId); break; case "cha": kallak_PF2e_updateStat("cha", containerId); kallak_PF2e_updateSkills("cha", containerId); kallak_PF2e_checkKey("cha", containerId); break; case "class_dc_item": kallak_PF2e_updateClassDC(containerId); break; case "athletics_item": case "athletics_armor": kallak_PF2e_updateSkills("str", containerId); break; case "acrobatics_item": case "acrobatics_armor": case "stealth_item": case "stealth_armor": case "thievery_item": case "thievery_armor": kallak_PF2e_updateSkills("dex", containerId); break; case "arcana_item": case "crafting_item": case "lore1_item": case "lore2_item": case "lore3_item": case "lore4_item": case "occultism_item": case "society_item": kallak_PF2e_updateSkills("int", containerId); break; case "medicine_item": case "nature_item": case "religion_item": case "survival_item": kallak_PF2e_updateSkills("wis", containerId); break; case "deception_item": case "diplomacy_item": case "intimidation_item": case "performance_item": kallak_PF2e_updateSkills("cha", containerId); break; case "fort_item": kallak_PF2e_updateSave("con", "fort", containerId); break; case "ref_item": kallak_PF2e_updateSave("dex", "ref", containerId); break; case "will_item": kallak_PF2e_updateSave("wis", "will", containerId); break; case "perception_item": kallak_PF2e_updatePerception(containerId); break; case "char_level": kallak_PF2e_updateLevel(); break; case "ac_dexcap": case "ac_item": kallak_PF2e_updateArmorClass(containerId); break; case "current_xp": kallak_PF2e_updateXP(containerId); break; } } function kallak_PF2e_setup(context){ // Provide default context, then setup interfaces if (context == undefined) context = csx_opts.defaultContext; csx_check(context); csx_edit(context); csx_list(context); var edits = context.querySelectorAll(".dsf"); for( var e = 0; e < edits.length; e++ ){ edits[ e ].update = kallak_PF2e_dataChange; } var bulk_items = context.querySelectorAll("[class$='_bulk']"); for( var j = 0; j < bulk_items.length; j++){ bulk_items[j].update = kallak_PF2e_calc_bulk; } var trashBins = context.querySelectorAll('.inventory_trash'); for (var x = 0; x < trashBins.length; x++) { trashBins[x].addEventListener('drop', function (e) { kallak_PF2e_calc_bulk(); }); } var checks = context.querySelectorAll( ".check" ); for (var i = 0; i < checks.length; i++) { checks[i].onUpdate = function() { if ( this.className.match( "group_" ) && this.value() ){ var key = this.className.match( /group_[\w\d]+/ )[ 0 ]; var members = document.querySelectorAll( "." + key ); for ( var i = 0; i < members.length; i++ ){ if ( members[ i ].value() && members[ i ] != this ) members[ i ].click(); } } if (this.className.match("_teml")) { kallak_PF2e_teml_trigger(this); } if (this.className.match("_key")) { kallak_PF2e_key_trigger(this); } if (this.className.match("_xp_speed")) { kallak_PF2e_xp_trigger(); } if (this.className.match("_armor_type") || this.className.match("unarmored") || this.className.match("light") || this.className.match("medium") || this.className.match("heavy") || this.className.match("wpn_arm_1") ) { kallak_PF2e_armor_trigger(); } } } } function kallak_PF2e_dataPreSave(){ // Default context if not set, then unrender field values var context = csx_opts.defaultContext; var edits = context.querySelectorAll('.dsf:not(.readonly),.edit'); for (var i = 0; i < edits.length; i++) edits[i].unrender(); var checks = context.querySelectorAll('.check'); for (var i = 0; i < checks.length; i++) checks[i].unrender(); var lists = context.querySelectorAll('.list'); for (var i = 0; i < lists.length; i++) lists[i].unrender(); } function kallak_PF2e_getElementsByClassName(className,elementType) { if (!elementType) { elementType = 'div'; } var list = new Array(); var divs = csx_opts.defaultContext.getElementsByTagName(elementType); for (var i = 0; i < divs.length; i++) { if (divs[i].className.match(className)) { list[list.length] = divs[i]; } } return list; } function kallak_PF2e_tabClick(pageNum) { var pages = kallak_PF2e_getElementsByClassName('page-'); for (var i = 0; i < pages.length; i++) { var tab = kallak_PF2e_getElementsByClassName('tab-' + (i + 1))[0]; if (pages[i].className.match('page-' + pageNum)) { pages[i].style.display = 'block'; tab.style.backgroundColor = '#FFFFFF'; tab.style.borderBottom = '1px solid white' } else { pages[i].style.display = 'none'; tab.style.backgroundColor = '#CCCCCC'; tab.style.borderBottom = '1px solid black'; } } } function kallak_PF2e_teml_trigger(item) { var group = item.className.substr(item.className.indexOf("group_") + 6, item.className.length); var containerId = csx_opts.containerId; switch (group) { case "class_dc": kallak_PF2e_updateClassDC(containerId); break; case "fort": kallak_PF2e_updateSave("con", "fort", containerId); break; case "ref": kallak_PF2e_updateSave("dex", "ref", containerId); break; case "will": kallak_PF2e_updateSave("wis", "will", containerId); break; case "perception": kallak_PF2e_updatePerception(containerId); break; case "spell_dc": kallak_PF2e_updateSpellDC(containerId); break; case "spell_attack": kallak_PF2e_updateSpellAttack(containerId); break; case "athletics": kallak_PF2e_updateSkills("str", containerId); break; case "acrobatics": case "stealth": case "thievery": kallak_PF2e_updateSkills("dex", containerId); break; case "arcana": case "crafting": case "lore1": case "lore2": case "lore3": case "lore4": case "occultism": case "society": kallak_PF2e_updateSkills("int", containerId); break; case "medicine": case "nature": case "religion": case "survival": kallak_PF2e_updateSkills("wis", containerId); break; case "deception": case "diplomacy": case "intimidation": case "performance": kallak_PF2e_updateSkills("cha", containerId); break; } } function kallak_PF2e_updateLevel() { var temls = [ "class_dc", "fort", "ref", "will", "perception", "spell_dc", "spell_attack", "acrobatics", "arcana", "athletics", "crafting", "deception", "diplomacy", "intimidation", "lore1", "lore2", "lore3", "lore4", "medicine", "nature", "occultism", "performance", "religion", "society", "stealth", "survival", "thievery", "armor_type" ]; for (i = 0; i < temls.length; i++) { var items = document.querySelectorAll(".group_" + temls[i]); kallak_PF2e_teml_trigger(items[0]); } kallak_PF2e_armor_trigger(); } function kallak_PF2e_teml_value(group) { var checks = document.querySelectorAll(".group_" + group); var bonus = 0; for (var i = 0; i < checks.length; i++) { if (checks[i].value() == 1) { var level = checks[i].className.substr(checks[i].className.indexOf("teml_") + 5, 1); switch(level) { case "t": bonus = 2; break; case "e": bonus = 4; break; case "m": bonus = 6; break; case "l": bonus = 8; break; default: bonus = 0; } } } if (bonus == 0) { return bonus; } var containerId = csx_opts.containerId; var char_level = Number($(containerId + " .dsf_char_level").text()); bonus += char_level; return bonus; } function kallak_PF2e_key_trigger(item) { var containerId = csx_opts.containerId; var keys = document.querySelectorAll(".group_key"); var stat = ""; for (var i = 0; i < keys.length; i++) { if(keys[i].value() == 1) { stat = keys[i].className.substr(keys[i].className.indexOf("_key") - 3, 3); } } var modifier = Number($(containerId + " .dsf_" + stat + "_mod:first").text()) $(containerId + " .dsf_class_dc_key").text(modifier); $(containerId + " .dsf_spell_attack_key").text(modifier); $(containerId + " .dsf_spell_dc_key").text(modifier); kallak_PF2e_updateClassDC(containerId); kallak_PF2e_updateSpellDC(containerId); kallak_PF2e_updateSpellAttack(containerId); } function kallak_PF2e_armor_trigger() { var containerId = csx_opts.containerId; var armorType = document.querySelectorAll(".group_armor_type"); var type = ""; for (var i = 0; i < armorType.length; i++) { if(armorType[i].value() == 1) { type = armorType[i].className.substr(armorType[i].className.indexOf("type_") + 5, 1); } } var prof = 0; switch (type) { case "u": prof = kallak_PF2e_teml_value("unarmored"); break; case "l": prof = kallak_PF2e_teml_value("light"); break; case "m": prof = kallak_PF2e_teml_value("medium"); break; case "h": prof = kallak_PF2e_teml_value("heavy"); break; case "c": prof = kallak_PF2e_teml_value("wpn_arm_1"); break; } $(containerId + " .dsf_ac_prof").text(prof); kallak_PF2e_updateArmorClass(containerId); } function kallak_PF2e_updateXP(containerId) { var currentXP = Number($(containerId + " .dsf_current_xp").text()); var nextXP = ""; var speed = ""; var speeds = document.querySelectorAll(".group_xp_speed"); for (var i = 0; i < speeds.length; i++) { if (typeof speeds[i].value == 'function') { if(speeds[i].value() == 1) { speed = speeds[i].className.substr(speeds[i].className.indexOf("_xp_speed_") + 10, 1); } } else { if( speeds[ i ].innerHTML == "1" ) { speed = speeds[i].className.substr(speeds[i].className.indexOf("_xp_speed_") + 10, 1); } } } switch (speed) { case "1": nextXP = 1200; break; case "2": nextXP = 800; break; default: nextXP = 1000; break; } $(containerId + " .dsf_next_xp").text(nextXP); var test = $(containerId + " .dsf_next_xp").text(); var percentage = Number((100 * (currentXP / nextXP)).toFixed(1)); if (percentage > 100) { percentage = 100; } if (percentage < 0) { percentage = 0; } $(containerId + " .dsf_xp_percentage").text(percentage); var xpBar = document.querySelectorAll(".xp-bar-fill")[0]; xpBar.style.width = percentage + "%"; } function kallak_PF2e_xp_trigger() { var containerId = csx_opts.containerId; kallak_PF2e_updateXP(containerId); } function kallak_PF2e_calc_bulk() { var containerId = csx_opts.containerId; total = 0; bulk_items = document.querySelectorAll("[class$='_bulk']"); for(var i = 0; i < bulk_items.length; i++) { if (!bulk_items[i].className.match("dsf_bulk")) { var value = bulk_items[i].value(); if (value == "L" || value == "l"){ value = .1; total += value; } else { total += Number(value); } } } total = total.toFixed(1); $(containerId + " .dsf_bulk").text(total); } function kallak_PF2e_updateEncumbrance(containerId) { var total = 5; total += Number($(containerId + " .dsf_str_mod:first").text()); $(containerId + " .dsf_encumbered").text(total); total += 5; $(containerId + " .dsf_maximum").text(total); } function kallak_PF2e_calcSkill(stat, skill, containerId) { var total = Number($(containerId + " .dsf_" + skill + "_armor").text()); if(total == undefined) { total = 0; } total += Number($(containerId + " .dsf_" + stat + "_mod:first").text()); total += kallak_PF2e_teml_value(skill); total += Number($(containerId + " .dsf_" + skill + "_item").text()) $(containerId + " .dsf_" + skill + "_total").text(total); } function kallak_PF2e_updateSkills(stat, containerId) { switch (stat) { case "str": kallak_PF2e_calcSkill("str", "athletics", containerId); break; case "dex": kallak_PF2e_calcSkill("dex", "acrobatics", containerId); kallak_PF2e_calcSkill("dex", "stealth", containerId); kallak_PF2e_calcSkill("dex", "thievery", containerId); break; case "int": kallak_PF2e_calcSkill("int", "arcana", containerId); kallak_PF2e_calcSkill("int", "crafting", containerId); kallak_PF2e_calcSkill("int", "lore1", containerId); kallak_PF2e_calcSkill("int", "lore2", containerId); kallak_PF2e_calcSkill("int", "lore3", containerId); kallak_PF2e_calcSkill("int", "lore4", containerId); kallak_PF2e_calcSkill("int", "occultism", containerId); kallak_PF2e_calcSkill("int", "society", containerId); break; case "wis": kallak_PF2e_calcSkill("wis", "medicine", containerId); kallak_PF2e_calcSkill("wis", "nature", containerId); kallak_PF2e_calcSkill("wis", "religion", containerId); kallak_PF2e_calcSkill("wis", "survival", containerId); break; case "cha": kallak_PF2e_calcSkill("cha", "deception", containerId); kallak_PF2e_calcSkill("cha", "diplomacy", containerId); kallak_PF2e_calcSkill("cha", "intimidation", containerId); kallak_PF2e_calcSkill("cha", "performance", containerId); break; } } function kallak_PF2e_updateSave(stat, save, containerId) { var total = Number($(containerId + " .dsf_" + stat + "_mod:first").text()); total += kallak_PF2e_teml_value(save); total += Number($(containerId + " .dsf_" + save + "_item").text()); $(containerId + " .dsf_" + save + "_total").text(total); } function kallak_PF2e_updatePerception(containerId) { var total = Number($(containerId + " .dsf_wis_mod:first").text()); total += kallak_PF2e_teml_value("perception"); total += Number($(containerId + " .dsf_perception_item").text()); $(containerId + " .dsf_perception_total").text(total); } function kallak_PF2e_updateClassDC(containerId) { var total = 10; total += Number($(containerId + " .dsf_class_dc_key").text()); total += kallak_PF2e_teml_value("class_dc"); total += Number($(containerId + " .dsf_class_dc_item").text()); $(containerId + " .dsf_class_dc_total").text(total); } function kallak_PF2e_updateSpellDC(containerId) { var total = 10; total += Number($(containerId + " .dsf_spell_dc_key").text()); total += kallak_PF2e_teml_value("spell_dc"); $(containerId + " .dsf_spell_dc_total").text(total); } function kallak_PF2e_updateSpellAttack(containerId) { var total = Number($(containerId + " .dsf_spell_attack_key").text()); total += kallak_PF2e_teml_value("spell_attack"); $(containerId + " .dsf_spell_attack_total").text(total); } function kallak_PF2e_updateStat(stat, containerId) { var value = Number($(containerId + " .dsf_" + stat).text()) if (kallak_PF2e_isNumeric(value)) { $(containerId + " .dsf_" + stat + "_mod").text(Math.floor((parseInt(value) - 10) / 2)); } } function kallak_PF2e_updateArmorClass(containerId) { var total = 10; total += Number($(containerId + " .dsf_ac_dexcap").text()); total += Number($(containerId + " .dsf_ac_item").text()); total += Number($(containerId + " .dsf_ac_prof").text()); $(containerId + " .dsf_ac_total").text(total); } function kallak_PF2e_checkKey(stat) { var key = document.querySelectorAll('dsf_' + stat + '_key'); kallak_PF2e_key_trigger(key); } function kallak_PF2e_isNumeric(n) { return ($.isNumeric && $.isNumeric(n)) || (!isNaN(parseFloat(n)) && isFinite(n)); }
Submit Notes
Submitted: May 16, 2020 by Kallak
Back