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
I'm sorry, but we no longer support this web browser. Please
upgrade your browser
or install
Chrome
or
Firefox
to enjoy the full functionality of this site.