mirror of
https://github.com/Nighthawk42/roll20-character-sheets.git
synced 2026-08-30 11:42:29 +00:00
1 line
523 KiB
HTML
1 line
523 KiB
HTML
<input type="hidden" name="attr_old_character" value="0"> <input type="checkbox" name="attr_background" value="1" class="background-selection hidden" checked="checked"> <input type="checkbox" name="attr_background" value="2" class="background-selection hidden"> <input type="checkbox" name="attr_background" value="3" class="background-selection hidden"> <input type="checkbox" name="attr_background" value="4" class="background-selection hidden"> <input type="checkbox" name="attr_background" value="5" class="background-selection hidden"> <input type="checkbox" name="attr_background" value="6" class="background-selection hidden"> <input type="checkbox" name="attr_background" value="7" class="background-selection hidden"> <input type="hidden" name="attr_is_npc" value="0" class="is-npc"> <input type="hidden" name="attr_toggle_npc" value="0" class="toggle-npc"> <input type="checkbox" name="attr_toggle_costs" value="1" class="toggle-costs hidden"> <input type="checkbox" name="attr_toggle_caster2" value="1" class="toggle-caster2 hidden" checked="checked"> <input type="checkbox" name="attr_toggle_thief_skills" value="1" class="toggle-thief-skills hidden" checked="checked"> <input type="checkbox" name="attr_toggle_spells" value="1" class="toggle-spells hidden"> <input type="checkbox" name="attr_toggle_nwp" value="1" class="toggle-nwp hidden" checked="checked"> <input type="checkbox" name="attr_toggle_exceptional" value="1" class="toggle-exceptional hidden" checked="checked"> <input type="checkbox" name="attr_toggle_comeliness" value="1" class="toggle-comeliness hidden" checked="checked"> <input type="checkbox" name="attr_toggle_multiclass" value="1" class="toggle-multiclass hidden"> <input type="checkbox" name="attr_toggle_psionics" value="1" class="toggle-psionics hidden" checked="checked"> <input type="checkbox" name="attr_toggle_macros" value="1" class="toggle-macros hidden" checked="checked"> <input type="checkbox" name="attr_toggle_single_column_attributes" class="toggle-single-column-attributes hidden" value="1" checked="checked"> <input type="checkbox" name="attr_toggle_single_column_abilities" class="toggle-single-column-abilities hidden" value="1" checked="checked"> <input type="checkbox" name="attr_toggle_single_column_notes" class="toggle-single-column-notes hidden" value="1" checked="checked"> <input type="checkbox" name="attr_toggle_single_column_spells" class="toggle-single-column-spells hidden" value="1" checked="checked"> <input type="checkbox" name="attr_toggle_critdamage" class="toggle-critdamage hidden" value="1"> <input type="checkbox" name="attr_toggle_lbs" class="toggle-lbs hidden" value="1"><div class="background"><div class="wrapper"><section class="top-header"><section class="npc-toggle npc-tabs"><input type="radio" name="attr_toggle_npc" value="0" class="toggle-npc tab-hidden tab" title="Player Character" checked="checked"><span class="tab"></span> <input type="radio" name="attr_toggle_npc" value="1" class="toggle-npc tab-hidden tab" title="Non-Player Character/Monster"><span class="tab">Monster</span> <input type="radio" name="attr_toggle_npc" value="99" class="toggle-npc tab-hidden tab" title="Sheet Settings"><span class="material-icons custom-btn-nav"></span></section><section class="announcements-box"><div class="sheet-type text-small"><span class="friend-foe"><span class="inline-label" title="@{is_foe} | Indicates that the sheet is either a friend or foe. This option is purely visual and has no impact on the sheet."><input type="radio" class="width-smallest is-friend" name="attr_is_foe" value="0"><span></span> <input type="radio" class="width-smallest is-foe" name="attr_is_foe" value="1" checked="checked"><span></span> </span></span><span class="pc-npc"><span class="inline-label" title="@{is_npc} | Indicates that the sheet is either a PC or NPC/Monster. Choosing NPC/Monster will reveal an additional NPC/Monster page."><input type="radio" class="width-smallest is-pc" name="attr_is_npc" value="0" checked="checked"><span></span> <input type="radio" class="width-smallest is-npc" name="attr_is_npc" value="1"><span></span></span></span></div><input type="checkbox" class="sect-show" name="attr_toggle_announcements" value="1" title="Open to read about important sheet changes." checked="checked"> <span class="header announcements-title">i</span><span class="material-icons"></span><div class="sect announcements"><input type="checkbox" class="sect-show" name="attr_toggle_announcements" value="1" title="Open to read about important sheet changes." checked="checked"><span class="material-icons"></span><h4>Important Sheet Announcements</h4><h5 class="right two-columns span-all"><span class="left"><span>v<span name="attr_sheet_version"> </span><span class="right">• 11/23/25'</span></span></span></h5><ul><h5>Latest</h5><li>Fixed a glitch introduced in the last update with the Equipment sorting buttons displaying askew when viewed in FF.</li><li>Added title text to Armor Details item name that gives some explanation on how Armor Details and Equipment|Armor interact.</li><li>Fixed armor row columns display/alignment if armor is marked as "magical" and Equipment tab was filtered to show "Magic" items only.</li><li>Adding a new equipment item will check the current Equipment tab and set the equipment type to match.</li><br><li>Added a couple sorting options to Equipment. Sort AZ and Sort by Location, then Item AZ. Includes an "Undo" option that will restore the previous natural order.</li><li>Added a couple sorting options to Spells. Sort AZ and Sort by Level, then Spell AZ. Includes an "Undo" option that will restore the previous natural order.</li><li>Update to Spells; adding new spells will automatically set a Spell's caster class and level based on the current Caster and Spell Level tabs selected. example; If the current Spell Tab is set to show "3rd" level spells and a new spell is added "+", entering a spell name will trigger the sheet to set the Spell's level to "3". If the tab is set to "All" or if the Spell's level has already been set, the Spell's level will not be changed. If the spell is added using an API mod, the Spell's level will not be changed. Caster Class selected acts similarly.</li><li>"Spell Lvl" is now shown with the Spell Name and #Memorized/Prepared. Hidden when the Spell details is expanded.</li><li>Made a correction with the Spell Level Tab behavior when editing a Spell's Level while showing "All" levels. Tab would incorrectly change the Spell Level Tab to match the new Spell Level. Expected behavior is to stay on "All".</li><li>Updated the Thief Skills Dex and Race auto-fill option. Expanded the Dex Thief skill adjustments up to DEX 25.</li><li>Updated dependencies used to bundle the sheet. Impacts dev environment only.</li><li>Updated title text on max fields from '..._max' to '...|max'. Macros and token bars need to use '...|max'</li><li>Added "Roll Template Color" selector to the sheet's default settings options.</li><h5>Previous</h5><li>Updated the 'Equipment|Weapon|+Add' button to set all default weapon values for the attack row instead of just those synced from the Equipment's row. Fixes default hit-table info not being posted to chat (unless the selector was manually set) if the attack was created using the Equipment button.</li><li>Added a very subtle linear-gradient background(top transparent to bottom light gray) to a few sections to help introduce a little contrast between sections.</li><li>Fixed Equipment tabs for Carried|Not Carried|Mount|All not filtering.</li><li>Updated sheetworker logic used when creating new repeating rows. Allows API mods to detect the default values.</li><li>Updated the NWP title-text, inverting the +/- appropriately so it makes sense. Added an additional option in the NWP row dropdown to include a "vs Base" (which will give a roll-time query to enter a base/target value) to accommodate anyone that is using OA's version of NWP.</li><li>Open Doors changed from percentage roll to d6 (or larger die for demi-god level STR values).</li><li>Added additional logic to auto-fill bonus languages as per PHB. Previously the sheet only auto-filled Humans. This update will only effect new characters going forward. @{bonuslanguages} will remain unchanged for existing characters unless Race or INT are changed.</li><li>Added setting the NWP default values using sheetworkers upon row creation to help with API attribute recognition. ie ScriptCards. Also added a "Val." column to show the current value of the Ability selected.</li><li>Added a "Magical" column and checkbox to equipment. Check this box if an item has magical properties. Items that are checked will also be displayed when the "Magic" tab is selected regardless of their type category.</li><li>Added options to autofill Thief Skills racial and Dex modifiers.</li><li>Added an option to the Thief Skills to sync to a class. Base value will continue to auto-adjust whenever the class level changes.</li><li>Added an option to the Attack Matrix/THAC0 section to sync to-Hit values to a class. Table data will continue to auto-adjust whenever the class level changes. Multi/Dual-class characters should choose the most favorable class. Class names entered on the sheet need to match one of the core 1e classes in order for this option to work.</li><li>Added an option to use a 5% progression based to-Hit table for Fighters. (DMG p74) Use 5% checkbox added to Settings|Misc. Options and inside the Attack/THAC0 Matrix window.</li><li>Attack/THACO Matrix section has been updated so that it's opened/closed state will remain persistent. It will be open by default on new sheets.</li><li>Removed the character_name validation warning for the use of commas within a character's name.</li></ul><h5><span class="inline-label"><button type="roll" class="url-roll" title="Post this link to chat." value="[Roll20 Wiki Link](https://wiki.roll20.net/ADnD_1st_Edition_Character_sheet#Past_Updates)"><span>Past Updates...</span></button></span></h5></div></section></section><section class="npc-box statblock1"><input type="checkbox" name="attr_character_name_error" class="hidden toggle-input-error" value="1" checked="checked"> <input type="text" class="height-short text-large left" name="attr_character_name" title="@{character_name} | NOTE: Including non-alpha-numeric characters 'may' break sheet rolls/macros. Specifically ')', ']', '}', or '|'." placeholder="Character Name" style="width: calc(50vw - 3em);min-width:17.5em;"> <span class="inline-label"><label><span>TYPE:</span> <input type="text" name="attr_race" value="" title="@{race}" placeholder="Type, Race, etc." style="width: calc(49vw - 6em); min-width:14em;"></label> </span><span class="inline-label"><label><span>FREQUENCY:</span> <select name="attr_frequency"><option selected="selected">Nil</option><option>Very rare</option><option>Rare</option><option>Uncommon</option><option>Common</option><option>Unique</option></select></label> </span><span class="inline-label"><label><span>NO. APPEARING:</span> <span class="autoexpand"><input type="text" name="attr_number_appearing" value="1"> <span name="attr_number_appearing"></span></span></label> </span><span class="inline-label split"><label style="min-width:8.5em"><span>ARMOR CLASS:</span> <input type="text" class="width-smallest field-border" name="attr_armorclass" title="@{armorclass} | Best AC." value="10" style="text-align:center; padding:0;"></label> <label class="label-under-small width-auto"><span><span>AR:</span> <select name="attr_unarmored_base" title="@{unarmored_base}" class="width-small"><option value="10" selected="selected">10</option><option value="9">9</option><option value="8">8</option><option value="7">7</option><option value="6">6</option><option value="5">5</option><option value="4">4</option><option value="3">3</option><option value="2">2</option><option value="1">1</option><option value="0">0</option><option value="-">-</option></select> </span><label title="AC is not from armor. Weapons vs Armor Type does not apply."><input type="checkbox" name="attr_armor_rating_flag" value="1"> <span>Ignore</span></label></label> </span><span class="inline-label split"><label title="Primary Movement. NOTE: only the Primary movement is used for sheet calculations."><span>MOVE:</span> <input type="text" class="width-small-plus" name="attr_movement" title="@{movement}" value="12"></label> <label title="Other Movement. NOTE: not used for sheet calculations."><span>OTHER:</span> <input type="text" class="width-small-plus" name="attr_movement2" title="@{movement2}" value="" placeholder="Nil"></label> </span><span class="inline-label"><label><span>HIT DICE:</span> <input type="text" class="width-small" name="attr_monsterHD" title="@{monsterHD}" value="" placeholder="Nil"></label> <label>+ <input type="text" class="width-small" name="attr_monsterHD_bonus" title="@{monsterHD_bonus}" value="0"></label> <label><span>HIT POINTS:</span> <input type="text" class="field-border" name="attr_hitpoints" title="@{hitpoints}" value="0" style="text-align:center; padding:0;"></label> <label>/ <input type="text" class="width-small" name="attr_hitpoints_max" title="@{hitpoints|max}" value="0"></label> </span><span class="inline-label split" style="margin-left: 15%;"><label class="label-percent"><button class="dice-button text-only btn ui-draggable" type="roll" name="attr_morale-roll" title="%{selected|morale-roll} | NPC Roll" value="@{whisper_npc} &{template:general} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=Morale Check}} {{roll_low=[[ 1d100 ]]%}} {{roll_target=[[ @{morale_base}[BASE] + ( ?{Modifier?|0}[MOD] ) ]]%}} {{mod_applied=[[ ?{Modifier?|0} ]]%}}"><span>MORALE</span></button> <input type="text" class="width-smaller" name="attr_morale_base" title="@{morale_base} | Base is 50%. Adjust +/- per circumstances." value="50"></label> </span><span class="inline-label split"><label><span>% IN LAIR:</span> <input type="text" class="width-small" name="attr_lair" title="@{lair}" value="" placeholder="Nil"></label> <label><span>TREASURE TYPE:</span> <input type="text" class="width-fill" name="attr_treasure_type" title="@{treasure_type}" value="" placeholder="Nil"></label> </span><span class="inline-label"><label><span>NO. OF ATTACKS:</span> <input type="text" class="width-small" name="attr_number_of_attacks" title="@{number_of_attacks}" value="1"></label> </span><span class="inline-label"><label><span>DAMAGE/ATTACK:</span> <textarea class="height-short" name="attr_attack_damage" title="@{attack_damage}" value="" placeholder="e.g. 1d4/1d4/1d6"></textarea></label> </span><span class="inline-label"><label><button type="roll" class="dice-button text-only" name="roll_senses_roll" title="%{selected|senses_roll}" value="@{whisper_npc} &{template:general} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=Special Senses}} {{freetext=@{senses}}}"><span>SENSES:</span></button> <textarea class="height-short" name="attr_senses" title="@{senses}" placeholder="Nil"></textarea></label></span></section><section class="npc-box statblock2"><span class="inline-label"><label><span>SPECIAL ATTACKS:</span> <textarea class="height-short" name="attr_special_attacks" title="@{special_attacks}" placeholder="Nil"></textarea></label> </span><span class="inline-label"><label><span>SPECIAL DEFENSES:</span> <textarea class="height-short" name="attr_special_defenses" title="@{special_defenses}" placeholder="Nil"></textarea></label> </span><span class="inline-label"><label><span>WEAKNESSES:</span> <textarea class="height-short" name="attr_weaknesses" title="@{weaknesses}" placeholder="Nil"></textarea></label> </span><span class="inline-label"><label><span>MAGIC RESISTANCE:</span> <textarea class="height-short" name="attr_magic_resistance" title="@{magic_resistance}" placeholder="Nil"></textarea></label></span><div class="five-columns center"><label class="label-under"><button type="roll" class="text-only" name="roll_saveparalysispoisondeath" title="%{selected|saveparalysispoisondeath} | NPC Roll" value="@{whisper_npc} &{template:general} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=Paralysis, Poison or Death Magic}} {{roll_high=[[ 1d20 + [[ ?{Modifier?|0} ]][MOD] ]]}} {{roll_target=[[@{saveparalysispoisondeath}]]}} {{mod_applied=[[ ?{Modifier?|0} ]]}}"><span>Paralysis, Poison, or Death</span></button> <input type="text" class="width-smaller border" name="attr_saveparalysispoisondeath_base" title="@{saveparalysispoisondeath_base}" value="20"></label> <label class="label-under"><button class="text-only" type="roll" name="roll_savepetrificationpolymorph" title="%{selected|savepetrificationpolymorph} | NPC Roll" value="@{whisper_npc} &{template:general} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=Petrification or Polymorph}} {{roll_high=[[ 1d20 + [[ ?{Modifier?|0} ]][MOD] ]]}} {{roll_target=[[@{savepetrificationpolymorph}]]}} {{mod_applied=[[ ?{Modifier?|0} ]]}}"><span>Petrification or Polymorph</span></button> <input type="text" class="width-smaller border" name="attr_savepetrificationpolymorph_base" title="@{savepetrificationpolymorph_base}" value="20"></label> <label class="label-under"><button type="roll" class="text-only" name="roll_saverodsstaveswands" title="%{selected|saverodsstaveswands} | NPC Roll" value="@{whisper_npc} &{template:general} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=Rods, Staves, or Wands}} {{roll_high=[[ 1d20 + [[ ?{Modifier?|0} ]][MOD] ]]}} {{roll_target=[[@{saverodsstaveswands}]]}} {{mod_applied=[[ ?{Modifier?|0} ]]}}"><span>Rods, Staves, Wands</span></button> <input type="text" class="width-smaller border" name="attr_saverodsstaveswands_base" title="@{saverodsstaveswands_base}" value="20"></label> <label class="label-under"><button type="roll" class="text-only" name="roll_savebreathweapons" title="%{selected|savebreathweapons} | NPC Roll" value="@{whisper_npc} &{template:general} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=Breath Weapon}} {{roll_high=[[ 1d20 + [[ ?{Modifier?|0} ]][MOD] ]]}} {{roll_target=[[@{savebreathweapons}]]}} {{mod_applied=[[ ?{Modifier?|0} ]]}}"><span>Breath Weapon</span></button> <input type="text" class="width-smaller border" name="attr_savebreathweapons_base" title="@{savebreathweapons_base}" value="20"></label> <label class="label-under"><button type="roll" class="text-only" name="roll_savespells" title="%{selected|savespells} | NPC Roll" value="@{whisper_npc} &{template:general} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=Spells}} {{roll_high=[[ 1d20 + [[ ?{Modifier?|0} ]][MOD] ]]}} {{roll_target=[[@{savespells}]]}} {{mod_applied=[[ ?{Modifier?|0} ]]}}"><span>Spells</span></button> <input type="text" class="width-smaller border" name="attr_savespells_base" title="@{savespells_base}" value="20"></label><div class="span-all"><div class="saves-class sect left"><label class="inline-label" title="@{autofill_saves} | Let the sheet auto-fill the Base Saves when the class and HD/Level selectors are changed."><input type="checkbox" name="attr_autofill_saves" value="1" checked=""><h4>Autofill Base as:</h4></label> <label class="center"><select class="width-fill border" name="attr_saves_class" title="@{saves_class}"><option value="0" selected="selected" style="font-weight: bold;">~ Select Monster or Class ~</option><option value="3">Monster, Fighter, Paladin, or Ranger</option><option value="1">Cleric</option><option value="2">Druid</option><option value="4">Magic-User or Illusionist</option><option value="5">Thief</option><option value="6">Monk</option><option value="7">Assassin</option><option value="8">Other 0-lvl Types</option></select></label> <label class="center"><span>HD/Lvl:</span> <input class="width-small border" type="number" min="0" name="attr_saves_level" value="1" title="@{saves_level}"></label></div></div></div><span class="inline-label"><label><span>LANGUAGES:</span> <textarea class="height-short" name="attr_languages" title="@{languages}" placeholder="languages known"></textarea></label> </span><span class="inline-label"><label><span>INTELLIGENCE:</span> <select name="attr_intelligence_npc" title="@{intelligence_npc}"><option selected="selected">Nil</option><option>Non-intelligent/not ratable</option><option>Animal intelligence</option><option>Semi-intelligent</option><option>Low intelligence</option><option>Average (human) intelligence</option><option>Very intelligent</option><option>Highly intelligent</option><option>Exceptionally intelligent</option><option>Genius-level intelligence</option><option>Supra-genius</option><option>Godlike intelligence</option></select></label> </span><span class="inline-label"><textarea class="height-short" name="attr_intelligence_npc2" title="@{intelligence_npc2}" value="" placeholder="notes"></textarea> </span><span class="inline-label"><label><span>ALIGNMENT:</span> <input type="text" class="width-medium" name="attr_alignment" title="@{alignment}"></label> </span><span class="inline-label split"><label title="Natural/Unaltered size." style="min-width: auto;"><span>SIZE:</span> <select name="attr_size" title="@{size}"><option>S</option><option selected="selected">M</option><option>L</option></select></label> <label title="Current/Altered size."><span>Temp Size:</span> <select name="attr_size2" title="@{size2}"><option>S</option><option selected="selected">M</option><option>L</option></select></label> <label><span>HT:</span> <input type="text" name="attr_height" title="@{height}" value="0"></label> <label><span>WT:</span> <input type="text" name="attr_weight" title="@{weight}" value="0"></label> </span><span class="inline-label"><label><span>PSIONIC ABILITY:</span> <input type="text" class="width-medium" name="attr_psionic_ability" title="@{psionic_ability} | Use Special Abilities to add Attack/Defensive Modes, and Specialties." value="" placeholder="Nil"></label> <label class="inline-label" title="@{toggle_psionics} | Hides Psionic-related fields found within Special Abilities."><span>Hide Other Psionics:</span> <input type="checkbox" name="attr_toggle_psionics" value="1" checked=""></label> </span><span class="inline-label"><label><span>Attack/Defense Modes</span> <input type="text" class="width-medium" name="attr_psionic_modes" title="@{psionic_modes}" value="" placeholder="Nil"></label> </span><span class="inline-label"><label><span>LEVEL/XP VALUE:</span> <input type="text" class="width-large" name="attr_level_xp_value" title="@{level_xp_value}" value="" placeholder="Nil"></label></span><label class="inline-label"><button type="roll" class="image-link" value="@{whisper_npc} [**LINK**](@{sheet_image_url})" title="Send image to chat."></button> <textarea class="image-link" wrap="off" name="attr_sheet_image_url" title="@{sheet_image_url} | Enter a valid image URL that ends with a proper image extension. ie .png, .jpg, .gif If needed, trim the url to the end of the image extension or add a 3-letter extension to the end of the url.." placeholder="https://app.roll20.net/images/character.png"></textarea> <button type="roll" class="info-link" value="@{whisper_npc} [**LINK**](@{npc_link})" title="Send link to chat."></button> <textarea class="info-link" wrap="off" name="attr_npc_link" title="@{npc_link}" placeholder="https://www.example.com"></textarea></label></section><section class="npc-box statblock3"><input type="hidden" class="toggle-avatar" name="attr_sheet_image" value="1"><div class="image-avatar" name="attr_sheet_image_url" title="Send image to chat."><img name="attr_character_avatar"> <button type="action" name="act_postimage" class="image-link"></button> <input type="hidden" name="attr_sheet_image_src"></div></section><section class="npc-box statblock3-span"><span class="inline-label wrap"><label><button class="dice-button text-only" type="roll" name="attr_init-roll" title="%{selected|init-roll}" value="@{whisper_npc} @{init_macro_text}"><span>INITIATIVE</span></button></label> <label><button class="dice-button text-only" type="roll" name="attr_surprise-roll" title="%{selected|surprise-roll}" value="@{whisper_npc} @{surprise_macro_text}"><span>SURPRISE</span></button></label> <label class="auto-width right"><span>Surprise Chance</span> <input type="text" class="width-smaller" name="attr_surprise" title="@{surprise}" value="2"></label> <label class="auto-width left"><select name="attr_surprise_die" class="width-medium" title="@{surprise_die}"><option value="6" selected="selected">of 6</option><option value="8">of 8</option><option value="10">of 10</option><option value="12">of 12</option><option value="20">of 20</option><option value="100">of 100</option></select></label> <label class="auto-width"><button type="roll" class="dice-button text-only" name="roll_surprise_others-roll" title="%{selected|surprise_others-roll}" value="@{whisper_npc} @{surprise_others_macro_text}"><span>Surprise Others</span></button> <span>Adj.</span> <input type="text" class="width-smaller" name="attr_surprise_others_mod" title="@{surprise_others_mod} | The modifier is typically indicated as bonus although the value is SUBTRACTED from the opponents Surprise check." value="0"></label></span></section><section class="npc-box statblock4"><textarea name="attr_npc_notes" title="@{npc_notes}" placeholder="Enter Notes/Description..." style="height:100%;"></textarea></section><section class="header-box"><div class="heading-box"><input type="checkbox" name="attr_character_name_error" class="hidden toggle-input-error" value="1" checked="checked"> <input type="text" class="width-fill border text-large" name="attr_character_name" title="@{character_name} | NOTE: Including non-alpha-numeric characters 'may' break sheet rolls/macros. Specifically ')', ']', '}', or '|'." placeholder="Character Name"> <label class="inline-label"><span>Race:</span> <input type="text" class="width-fill" name="attr_race" title="@{race}" placeholder="Description"></label> <label class="inline-label"><span>Alignment:</span> <input type="text" class="width-fill" name="attr_alignment" title="@{alignment}" placeholder="Description"></label> <label class="inline-label left" title="Expand/Hide sub-section"><input type="checkbox" class="sect-show" name="attr_class_details_show" value="1" style="width: 4.5em;left:-.75em;top: 0;height: 2.5em;" checked="checked"> <span class="material-icons gear-nav" title="Expand/Hide sub-section" style="left: -1em;"></span></label> <label class="inline-label"><span>Class:</span> <input type="text" name="attr_class" title="@{class}" placeholder="Class"> <span class="toggle-multiclass">Lvl:</span> <input type="text" class="toggle-multiclass width-smaller" name="attr_level" title="@{level}" value="0"></label> <label class="inline-label toggle-multiclass"><span>Class:</span> <input type="text" name="attr_secondclass" title="@{secondclass}" placeholder="Class"> <span>Lvl:</span> <input type="text" class="width-smaller" name="attr_level_2" title="@{level_2}" value="0"></label> <label class="inline-label toggle-multiclass"><span>Class:</span> <input type="text" name="attr_thirdclass" title="@{thirdclass}" placeholder="Class"> <span>Lvl:</span> <input type="text" class="width-smaller" name="attr_level_3" title="@{level_3}" value="0"></label> <label class="inline-label toggle-multiclass-swap"><span>Lvl:</span> <input type="text" class="width-smaller" name="attr_level" title="@{level}" value="0"> <span>XP:</span> <input type="text" class="width-medium" name="attr_xp" title="@{xp}" value="0"> <span class="inline-label"><input type="checkbox" name="attr_xp_bonus" title="@{xp_bonus}" value="1"> <span>10%</span></span></label></div><div class="logo-box center"><span class="span-all normalmode"> </span><span class="span-all darkmode"> </span><span class="span-two two-columns"><label><span class="text-large left">HP</span> <span class="heart"><input type="text" class="heart-input" name="attr_hitpoints" title="@{hitpoints} | Current Hit Points." value="0"> </span><span>/</span> <input type="text" class="width-smaller" name="attr_hitpoints_max" title="@{hitpoints|max} | Maximum Hit Points. No Damage." value="0" style="height: 2em;"> <span class="sync-lock" title="@{sync_hp_flag} | Let the sheet sync Total HP from Class Details with HP ( @{hitpoints_max} )."><input type="checkbox" name="attr_sync_hp_flag" value="1"> <span></span></span></label> <label><span class="text-large">AC</span> <span class="shield"><input type="text" class="shield-input" name="attr_armorclass" title="@{armorclass} | Best AC." value="10"> </span><span class="sync-lock" title="@{sync_ac_flag} | Let the sheet sync Total AC from Armor Details with AC ( @{armorclass} )."><input type="checkbox" name="attr_sync_ac_flag" value="1"> <span></span></span></label> <span class="class-details"><input type="checkbox" class="sect-show" name="attr_class_details_show" value="1" checked="checked"> <span class="subheader">Class Details</span><span class="material-icons"></span> </span><span class="armor-details"><input type="checkbox" class="sect-show" name="attr_armor_details_show" value="1" checked="checked"> <span class="subheader">Armor Details</span><span class="material-icons"></span> </span></span><span class="ac-columns"><label class="label-under" title="@{armorclass_shieldless} | Best AC without a Shield bonus."><input type="text" class="readonly-span width-smaller" name="attr_armorclass_shieldless" title="@{armorclass_shieldless} | Best AC without a Shield bonus." value="0"> <span class="text-medium">Shieldless</span></label> <label class="label-under" title="@{armorclass_rear} | Best AC without a Dex bonus."><input type="text" class="readonly-span width-smaller" name="attr_armorclass_rear" title="@{armorclass_rear} | Best AC without a Dex bonus." value="0"> <span class="text-medium">Rear</span></label> <label class="label-under" title="@{armorclass_rating} | Best Armor Rating"><input type="text" class="readonly-span width-smaller" name="attr_armorclass_rating" value="-"> <span class="text-medium">AR</span></label></span></div><div class="portrait-box"><input type="hidden" class="toggle-avatar" name="attr_sheet_image" value="1"><div class="image-avatar" name="attr_sheet_image_url" title="Send image to chat."><img name="attr_character_avatar"> <button type="action" name="act_postimage" class="image-link"></button></div></div></section><section class="class-box"><input type="checkbox" class="sect-show" name="attr_class_details_show" value="1" checked="checked"><div class="sect header">CLASS DETAILS</div><span class="sect material-icons"></span><div class="sect border"><span class="class-columns column-header"><span>Class</span> <span>Lvl</span> <span>HD</span> <span>HP/Level</span> <span></span> <span>HP+Con</span> <span></span> <span>XP</span> <span>Next Level</span> <span>+10%</span> </span><span class="class-columns"><input type="text" class="width-fill" name="attr_class" title="@{class}" placeholder="Class"> <input type="text" class="width-smaller" name="attr_level" title="@{level}" value="0"> <input type="text" class="width-medium" name="attr_hitdice" title="@{hitdice}" value="" placeholder="1d6"> <textarea class="width-medium-plus" name="attr_hitpoints_1_tracked" title="@{hitpoints_1_tracked} | Track rolled HP + CON adjustments per level." placeholder="Track HP 1 hp+con 2 hp+con 3 hp+con etc."></textarea> <span class="text-large">=</span> <input type="checkbox" class="hidden toggle-input-error" name="attr_hitpoints_1_class_error" value="1" checked="checked"> <input type="text" class="width-small" name="attr_hitpoints_1_class" title="@{hitpoints_1_class} | Enter a running total of HP+CON." value="0"> <span></span> <input type="text" class="width-medium" name="attr_xp" title="@{xp}" value="0"> <input type="text" class="width-medium" name="attr_xp_next" title="@{xp_next}" value="0"> <input type="checkbox" name="attr_xp_bonus" title="@{xp_bonus} | XP bonus applies. Primary ability threshold met or exceeded for the class." value="1"> </span><span class="class-columns toggle-multiclass"><input type="text" class="width-fill" name="attr_secondclass" title="@{secondclass}" placeholder="2rd class"> <input type="text" class="width-smaller" name="attr_level_2" title="@{level_2}" value="0"> <input type="text" class="width-medium" name="attr_hitdice_2" title="@{hitdice_2}" value="" placeholder="1d6"> <textarea class="width-medium-plus" name="attr_hitpoints_2_tracked" title="@{hitpoints_2_tracked} | Track rolled HP + CON adjustments per level." placeholder="Track HP 1 hp+con 2 hp+con 3 hp+con etc."></textarea> <span class="text-large">=</span> <input type="checkbox" class="hidden toggle-input-error" name="attr_hitpoints_2_class_error" value="1" checked="checked"> <input type="text" class="width-small" name="attr_hitpoints_2_class" title="@{hitpoints_2_class} | Enter a running total of HP+CON." value="0"> <span></span> <input type="text" class="width-medium" name="attr_xp_2" title="@{xp_2}" value="0"> <input type="text" class="width-medium" name="attr_xp_2_next" title="@{xp_2_next}" value="0"> <input type="checkbox" name="attr_xp_2_bonus" title="@{xp_2_bonus} | XP bonus applies." value="1"> </span><span class="class-columns toggle-multiclass"><input type="text" class="width-fill" name="attr_thirdclass" title="@{thirdclass}" placeholder="3rd class"> <input type="text" class="width-smaller" name="attr_level_3" title="@{level_3}" value="0"> <input type="text" class="width-medium" name="attr_hitdice_3" title="@{hitdice_3}" value="" placeholder="1d6"> <textarea class="width-medium-plus" name="attr_hitpoints_3_tracked" title="@{hitpoints_3_tracked} | Track rolled HP + CON adjustments per level." placeholder="Track HP 1 hp+con 2 hp+con 3 hp+con etc."></textarea> <span class="text-large">=</span> <input type="checkbox" class="hidden toggle-input-error" name="attr_hitpoints_3_class_error" value="1" checked="checked"> <input type="text" class="width-small" name="attr_hitpoints_3_class" title="@{hitpoints_3_class} | Enter a running total of HP+CON." value="0"> <span></span> <input type="text" class="width-medium" name="attr_xp_3" title="@{xp_3}" value="0"> <input type="text" class="width-medium" name="attr_xp_3_next" title="@{xp_3_next}" value="0"> <input type="checkbox" name="attr_xp_3_bonus" title="@{xp_3_bonus} | XP bonus applies." value="1"></span><hr class="toggle-multiclass"><span class="class-columns"><label><span>Hide Multi-Class:</span> <input type="checkbox" name="attr_toggle_multiclass" value="1" title="@{toggle_multiclass}"></label> <label></label> <label class="label-under-small" title="@{hitdice_total} | Track total/effective Hit Dice for Spell effects and XP. Single class = level. Multi-class = highest level + 1. Three classes = highest level +2."><input type="text" class="width-small" name="attr_hitdice_total" value="0"> <span>Total HD</span></label> <span class="hp-calc-columns" style="margin-left: -10%;"><label class="label-under toggle-multiclass" title="@{hitpoints_class_total} | Uses the total HP+Con from table above." style="margin-left: 44%;"><input type="text" class="width-small" name="attr_hitpoints_class_total" value="0" readonly="readonly"> <span>Total</span></label> <label></label> <label class="label-under-small toggle-multiclass"><input type="text" class="width-small" name="attr_hp_quotient" title="@{hp_quotient}" value="0" readonly="readonly"> <span>/Classes</span></label> <label class="text-large toggle-multiclass">=</label> <label class="label-under" title="@{hitpoints_total} | Max Hit Points."><input type="text" class="width-small" name="attr_hitpoints_total" value="0" readonly="readonly"> <span>TOTAL HP</span></label> <label class="toggle-multiclass span-two" title="@{hitpoints_remainder_total} | Used to track any remainder HP that would be lost due to rounding for mult-class characters."><span class="center">Partial HP:</span> <input type="number" class="width-auto" name="attr_hitpoints_remainder_total" value="0" step=".01"></label> <label class="sync-lock" title="@{sync_hp_flag} | Let the sheet sync Total HP from Class Details with HP ( @{hitpoints_max} )."><span class="center">Sync HP:</span> <input type="checkbox" name="attr_sync_hp_flag" value="1"> <span></span></label></span></span></div></section><section class="armor-box"><input type="checkbox" class="sect-show" name="attr_armor_details_show" value="1" checked="checked"><div class="sect header">ARMOR DETAILS</div><span class="sect material-icons"></span><input type="hidden" name="attr_unarmored_row_id" value="0"> <input type="hidden" name="attr_armortype1_row_id" value="0"> <input type="hidden" name="attr_armortype2_row_id" value="0"> <input type="hidden" name="attr_armorshield_row_id" value="0"> <input type="hidden" name="attr_armorhelmet_row_id" value="0"> <input type="hidden" name="attr_armorother1_row_id" value="0"> <input type="hidden" name="attr_armorother2_row_id" value="0"> <input type="hidden" name="attr_armorother3_row_id" value="0"> <input type="hidden" name="attr_armorother4_row_id" value="0"> <input type="hidden" name="attr_armorother5_row_id" value="0"> <input type="hidden" name="attr_armorother6_row_id" value="0"> <input type="hidden" name="attr_armordetails_array" value="0"> <input type="hidden" name="attr_armor_weight" value="0"> <input type="hidden" name="attr_unarmored_weight" value="0"> <input type="hidden" name="attr_armortype2_weight" value="0"> <input type="hidden" name="attr_armorshield_weight" value="0"> <input type="hidden" name="attr_armorhelmet_weight" value="0"> <input type="hidden" name="attr_armor_cost" value="0"> <input type="hidden" name="attr_unarmored_cost" value="0"> <input type="hidden" name="attr_armortype2_cost" value="0"> <input type="hidden" name="attr_armorshield_cost" value="0"> <input type="hidden" name="attr_armorhelmet_cost" value="0"><div class="sect border linear-background"><span class="armor-columns column-header"><span>Armor Type</span> <span title="Only worn items are included in the AC calculations below.">In Use</span> <span>Name</span> <span title="Armor Class">AC</span> <span title="Armor Rating for weapon vs armor adjustments.">AR</span> <span title="Magical Bonuses to AC.">Magic</span> <span title="Misc adjustments to AC.">Misc</span> <span title="Items in use are carried, but items not in use can still be carried.">Carried</span> <span title="Armor Bulk affects movement.">Bulk</span> </span><span class="armor-columns"><label class="stack-text"><span>UnArmored Base</span></label> <input type="checkbox" name="attr_unarmored_worn" value="1" title="@{unarmored_worn}" checked="checked"> <input type="text" class="width-fill" name="attr_unarmored" value="" title="@{unarmored} | Use for Unarmored, Clothing, Natural Armor, etc. NOTE: Adding a new item to Armor Details will also add a new Armor item to Equipment. Similarly, Armor items can be added to the Armor Details list from Equipment|Armor using the '+Add' button. (expand row's sub-section)" placeholder="non-armor"> <select name="attr_unarmored_ac" title="@{unarmored_ac} | Enter the actual AC value for this item."><option value="10" selected="selected">10</option><option value="9">9</option><option value="8">8</option><option value="7">7</option><option value="6">6</option><option value="5">5</option><option value="4">4</option><option value="3">3</option><option value="2">2</option><option value="1">1</option><option value="0">0</option></select> <select name="attr_unarmored_base" title="@{unarmored_base} | Enter the actual AR value for this item."><option value="10" selected="selected">10</option><option value="9">9</option><option value="8">8</option><option value="7">7</option><option value="6">6</option><option value="5">5</option><option value="4">4</option><option value="3">3</option><option value="2">2</option><option value="1">1</option><option value="0">0</option><option value="-">-</option></select> <span></span> <span></span> <input type="checkbox" name="attr_unarmored_carried" value="1" title="@{unarmored_carried} | In use/worn cannot be un-carried." checked="checked"> <select class="width-fill" name="attr_unarmored_bulk" title="@{unarmored_bulk}"><option value="0" selected="selected">n/a</option><option value="1">non-Bulky 12"</option><option value="2">Fairly 9"</option><option value="3">Bulky 6"</option></select> </span><span class="armor-columns"><label><span>Armor 1</span></label> <input type="checkbox" name="attr_armortype_worn" title="@{armortype_worn}" value="1" checked="checked"> <input type="text" class="width-fill" name="attr_armortype" title="@{armortype} | NOTE: Adding a new item to Armor Details will also add a new Armor item to Equipment. Similarly, Armor items can be added to the Armor Details list from Equipment|Armor using the '+Add' button. (expand row's sub-section)" placeholder="Description"> <select name="attr_armortype_ac" title="@{armortype_ac} | Enter the actual AC value for this item."><option value="10" selected="selected">10</option><option value="9">9</option><option value="8">8</option><option value="7">7</option><option value="6">6</option><option value="5">5</option><option value="4">4</option><option value="3">3</option><option value="2">2</option><option value="1">1</option><option value="0">0</option><option class="hidden" value="-1">-1</option><option class="hidden" value="-2">-2</option><option class="hidden" value="-3">-3</option><option class="hidden" value="-4">-4</option><option class="hidden" value="-5">-5</option><option class="hidden" value="-6">-6</option><option class="hidden" value="-7">-7</option><option class="hidden" value="-8">-8</option><option class="hidden" value="-9">-9</option><option class="hidden" value="-10">-10</option></select> <select name="attr_armortype_base" title="@{armortype_base} | Enter the actual AR value for this item."><option value="10" selected="selected">10</option><option value="9">9</option><option value="8">8</option><option value="7">7</option><option value="6">6</option><option value="5">5</option><option value="4">4</option><option value="3">3</option><option value="2">2</option><option value="1">1</option><option value="0">0</option></select> <input type="checkbox" class="hidden toggle-input-error" name="attr_armortype_magic_error" value="1" checked="checked"> <input type="text" class="width-small" name="attr_armortype_magic" value="0" title="@{armortype_magic} | Bonuses lower AC. Penalties raise AC. ie '+2' bonus lowers AC by -2 while a '-2' penalty will raise AC by 2."> <span></span> <input type="checkbox" name="attr_armortype_carried" value="1" title="@{armortype_carried} | In use/worn cannot be un-carried." checked="checked"> <select class="width-fill" name="attr_armortype_bulk" title="@{armortype_bulk}"><option value="0" selected="selected">n/a</option><option value="1">non-Bulky 12"</option><option value="2">Fairly 9"</option><option value="3">Bulky 6"</option></select> </span><span class="armor-columns"><label><span>Armor 2</span></label> <input type="checkbox" name="attr_armortype2_worn" title="@{armortype2_worn}" value="1"> <input type="text" class="width-fill" name="attr_armortype2" title="@{armortype2} | NOTE: Adding a new item to Armor Details will also add a new Armor item to Equipment. Similarly, Armor items can be added to the Armor Details list from Equipment|Armor using the '+Add' button. (expand row's sub-section)" placeholder="Description"> <select name="attr_armortype2_ac" title="@{armortype2_ac} | Enter the actual AC value for this item."><option value="10" selected="selected">10</option><option value="9">9</option><option value="8">8</option><option value="7">7</option><option value="6">6</option><option value="5">5</option><option value="4">4</option><option value="3">3</option><option value="2">2</option><option value="1">1</option><option value="0">0</option></select> <select name="attr_armortype2_base" title="@{armortype2_base} | Enter the actual AR value for this item."><option value="10" selected="selected">10</option><option value="9">9</option><option value="8">8</option><option value="7">7</option><option value="6">6</option><option value="5">5</option><option value="4">4</option><option value="3">3</option><option value="2">2</option><option value="1">1</option><option value="0">0</option></select> <input type="checkbox" class="hidden toggle-input-error" name="attr_armortype2_magic_error" value="1" checked="checked"> <input type="text" class="width-small" name="attr_armortype2_magic" value="0" title="@{armortype2_magic} | Bonuses lower AC. Penalties raise AC. ie '+2' bonus lowers AC by -2 while a '-2' penalty will raise AC by 2."> <span></span> <input type="checkbox" name="attr_armortype2_carried" value="1" title="@{armortype2_carried} | In use/worn cannot be un-carried." checked="checked"> <select class="width-fill" name="attr_armortype2_bulk" title="@{armortype2_bulk}"><option value="0" selected="selected">n/a</option><option value="1">non-Bulky 12"</option><option value="2">Fairly 9"</option><option value="3">Bulky 6"</option></select> </span><span class="armor-columns"><label><span>Shield</span></label> <input type="checkbox" name="attr_armorshield_worn" title="@{armorshield_worn}" value="1"> <input type="text" class="width-fill" name="attr_armorshield" title="@{armorshield} | NOTE: Adding a new item to Armor Details will also add a new Armor item to Equipment. Similarly, Armor items can be added to the Armor Details list from Equipment|Armor using the '+Add' button. (expand row's sub-section)" placeholder="Description"> <select name="attr_armorshield_ac" title="@{armorshield_ac} | ie +2 lowers AC by -2."><option value="0" selected="selected">+0</option><option value="-1">+1</option><option value="-2">+2</option><option value="-3">+3</option><option value="-4">+4</option><option value="-5">+5</option><option value="-6">+6</option><option value="-7">+7</option><option value="-8">+8</option><option value="-9">+9</option><option value="-10">+10</option></select> <select name="attr_armorshield_base" title="@{armorshield_base} | ie +2 lowers AR by -2."><option value="0" selected="selected">+0</option><option value="-1">+1</option><option value="-2">+2</option><option value="-3">+3</option><option value="-4">+4</option><option value="-5">+5</option><option value="-6">+6</option><option value="-7">+7</option><option value="-8">+8</option><option value="-9">+9</option><option value="-10">+10</option></select> <input type="checkbox" class="hidden toggle-input-error" name="attr_armorshield_magic_error" value="1" checked="checked"> <input type="text" class="width-small" name="attr_armorshield_magic" value="0" title="@{armorshield_magic} | Bonuses lower AC. Penalties raise AC. ie '+2' bonus lowers AC by -2 while a '-2' penalty will raise AC by 2."> <input type="checkbox" class="hidden toggle-input-error" name="attr_armorshield_mod_error" value="1" checked="checked"> <input type="text" class="width-small" name="attr_armorshield_mod" value="0" title="@{armorshield_mod} | Bonuses lower AC. Penalties raise AC. ie '+2' bonus lowers AC by -2 while a '-2' penalty will raise AC by 2."> <input type="checkbox" name="attr_armorshield_carried" value="1" title="@{armorshield_carried} | In use/worn cannot be un-carried." checked="checked"> <select class="width-fill" name="attr_armorshield_bulk" title="@{armorshield_bulk}"><option value="0" selected="selected">n/a</option><option value="1">non-Bulky 12"</option><option value="2">Fairly 9"</option><option value="3">Bulky 6"</option></select> </span><span class="armor-columns"><label><span>Helm</span></label> <input type="checkbox" name="attr_armorhelmet_worn" title="@{armorhelmet_worn}" value="1"> <input type="text" class="width-fill" name="attr_armorhelmet" title="@{armorhelmet} | NOTE: Adding a new item to Armor Details will also add a new Armor item to Equipment. Similarly, Armor items can be added to the Armor Details list from Equipment|Armor using the '+Add' button. (expand row's sub-section)" placeholder="Description"> <select name="attr_armorhelmet_ac" title="@{armorhelmet_ac} | Other than Magic Bonuses, Helms do not impact Total AC calculations."><option value="10" selected="selected">10</option><option value="9">9</option><option value="8">8</option><option value="7">7</option><option value="6">6</option><option value="5">5</option><option value="4">4</option><option value="3">3</option><option value="2">2</option><option value="1">1</option><option value="0">0</option></select> <span></span> <input type="checkbox" class="hidden toggle-input-error" name="attr_armorhelmet_magic_error" value="1" checked="checked"> <input type="text" class="width-small" name="attr_armorhelmet_magic" value="0" title="@{armorhelmet_magic} | Bonuses lower AC. Penalties raise AC. ie '+2' bonus lowers AC by -2 while a '-2' penalty will raise AC by 2."> <span></span> <span></span> <span></span> </span><span class="armor-columns" style="margin-bottom: -.25em;"><label><span>Other</span></label> <input type="checkbox" name="attr_armorother_worn" title="@{armorother_worn}" value="1"> <input type="text" class="width-fill" name="attr_armorother" title="@{armorother} | NOTE: Adding a new item to Armor Details will also add a new Armor item to Equipment. Similarly, Armor items can be added to the Armor Details list from Equipment|Armor using the '+Add' button. (expand row's sub-section)" placeholder="Description"> <select name="attr_armorother_ac" title="@{armorother_ac} | Enter the actual AC value for this item."><option value="10" selected="selected">10</option><option value="9">9</option><option value="8">8</option><option value="7">7</option><option value="6">6</option><option value="5">5</option><option value="4">4</option><option value="3">3</option><option value="2">2</option><option value="1">1</option><option value="0">0</option></select> <select name="attr_armorother_base" title="@{armorother_base} | Enter the actual AR value for this item."><option value="10" selected="selected">10</option><option value="9">9</option><option value="8">8</option><option value="7">7</option><option value="6">6</option><option value="5">5</option><option value="4">4</option><option value="3">3</option><option value="2">2</option><option value="1">1</option><option value="0">0</option></select> <input type="checkbox" class="hidden toggle-input-error" name="attr_armorother_magic_error" value="1" checked="checked"> <input type="text" class="width-small" name="attr_armorother_magic" value="0" title="@{armorother_magic} | Bonuses lower AC. Penalties raise AC. ie '+2' bonus lowers AC by -2 while a '-2' penalty will raise AC by 2."> <input type="checkbox" class="hidden toggle-input-error" name="attr_armorother_mod_error" value="1" checked="checked"> <input type="text" class="width-small" name="attr_armorother_mod" value="0" title="@{armorother_mod} | Bonuses lower AC. Penalties raise AC. ie '+2' bonus lowers AC by -2 while a '-2' penalty will raise AC by 2."> <span></span> <span class="span-all" style="margin-bottom: -.5em; padding-left:.5em;"><input type="checkbox" class="sect-show more" title="@{armorother-show}" name="attr_armorother_show" value="1"> <span style="top: -6px;position: relative;">More</span><span class="material-icons" style="padding-bottom: 6px;"></span> </span></span><input type="checkbox" class="sect-show hidden" name="attr_armorother_show" value="1"> <span class="sect armor-columns"><label><span>Other</span></label> <input type="checkbox" name="attr_armorother2_worn" title="@{armorother2_worn}" value="1"> <input type="text" class="width-fill" name="attr_armorother2" title="@{armorother2} | NOTE: Adding a new item to Armor Details will also add a new Armor item to Equipment. Similarly, Armor items can be added to the Armor Details list from Equipment|Armor using the '+Add' button. (expand row's sub-section)" placeholder="Description"> <select name="attr_armorother2_ac" title="@{armorother2_ac} | ie +2 lowers AC by -2."><option value="0" selected="selected">+0</option><option value="-1">+1</option><option value="-2">+2</option><option value="-3">+3</option><option value="-4">+4</option><option value="-5">+5</option><option value="-6">+6</option><option value="-7">+7</option><option value="-8">+8</option><option value="-9">+9</option><option value="-10">+10</option></select> <select name="attr_armorother2_base" title="@{armorother2_base} | ie +2 lowers AR by -2."><option value="0" selected="selected">+0</option><option value="-1">+1</option><option value="-2">+2</option><option value="-3">+3</option><option value="-4">+4</option><option value="-5">+5</option><option value="-6">+6</option><option value="-7">+7</option><option value="-8">+8</option><option value="-9">+9</option><option value="-10">+10</option></select> <input type="checkbox" class="hidden toggle-input-error" name="attr_armorother2_magic_error" value="1" checked="checked"> <input type="text" class="width-small" name="attr_armorother2_magic" value="0" title="@{armorother2_magic} | Bonuses lower AC. Penalties raise AC. ie '+2' bonus lowers AC by -2 while a '-2' penalty will raise AC by 2."> <input type="checkbox" class="hidden toggle-input-error" name="attr_armorother2_mod_error" value="1" checked="checked"> <input type="text" class="width-small" name="attr_armorother2_mod" value="0" title="@{armorother2_mod} | Bonuses lower AC. Penalties raise AC. ie '+2' bonus lowers AC by -2 while a '-2' penalty will raise AC by 2."> <span></span> <span></span> </span><span class="sect armor-columns"><label><span>Other</span></label> <input type="checkbox" name="attr_armorother3_worn" title="@{armorother3_worn}" value="1"> <input type="text" class="width-fill" name="attr_armorother3" title="@{armorother3} | NOTE: Adding a new item to Armor Details will also add a new Armor item to Equipment. Similarly, Armor items can be added to the Armor Details list from Equipment|Armor using the '+Add' button. (expand row's sub-section)" placeholder="Description"> <select name="attr_armorother3_ac" title="@{armorother3_ac} | ie +2 lowers AC by -2."><option value="0" selected="selected">+0</option><option value="-1">+1</option><option value="-2">+2</option><option value="-3">+3</option><option value="-4">+4</option><option value="-5">+5</option><option value="-6">+6</option><option value="-7">+7</option><option value="-8">+8</option><option value="-9">+9</option><option value="-10">+10</option></select> <select name="attr_armorother3_base" title="@{armorother3_base} | ie +2 lowers AR by -2."><option value="0" selected="selected">+0</option><option value="-1">+1</option><option value="-2">+2</option><option value="-3">+3</option><option value="-4">+4</option><option value="-5">+5</option><option value="-6">+6</option><option value="-7">+7</option><option value="-8">+8</option><option value="-9">+9</option><option value="-10">+10</option></select> <input type="checkbox" class="hidden toggle-input-error" name="attr_armorother3_magic_error" value="1" checked="checked"> <input type="text" class="width-small" name="attr_armorother3_magic" value="0" title="@{armorother3_magic} | Bonuses lower AC. Penalties raise AC. ie '+2' bonus lowers AC by -2 while a '-2' penalty will raise AC by 2."> <input type="checkbox" class="hidden toggle-input-error" name="attr_armorother3_mod_error" value="1" checked="checked"> <input type="text" class="width-small" name="attr_armorother3_mod" value="0" title="@{armorother3_mod} | Bonuses lower AC. Penalties raise AC. ie '+2' bonus lowers AC by -2 while a '-2' penalty will raise AC by 2."> <span></span> </span><span class="sect armor-columns"><label><span>Other</span></label> <input type="checkbox" name="attr_armorother4_worn" title="@{armorother4_worn}" value="1"> <input type="text" class="width-fill" name="attr_armorother4" title="@{armorother4} | NOTE: Adding a new item to Armor Details will also add a new Armor item to Equipment. Similarly, Armor items can be added to the Armor Details list from Equipment|Armor using the '+Add' button. (expand row's sub-section)" placeholder="Description"> <select name="attr_armorother4_ac" title="@{armorother4_ac} | ie +2 lowers AC by -2."><option value="0" selected="selected">+0</option><option value="-1">+1</option><option value="-2">+2</option><option value="-3">+3</option><option value="-4">+4</option><option value="-5">+5</option><option value="-6">+6</option><option value="-7">+7</option><option value="-8">+8</option><option value="-9">+9</option><option value="-10">+10</option></select> <select name="attr_armorother4_base" title="@{armorother4_base} | ie +2 lowers AR by -2."><option value="0" selected="selected">+0</option><option value="-1">+1</option><option value="-2">+2</option><option value="-3">+3</option><option value="-4">+4</option><option value="-5">+5</option><option value="-6">+6</option><option value="-7">+7</option><option value="-8">+8</option><option value="-9">+9</option><option value="-10">+10</option></select> <input type="checkbox" class="hidden toggle-input-error" name="attr_armorother4_magic_error" value="1" checked="checked"> <input type="text" class="width-small" name="attr_armorother4_magic" value="0" title="@{armorother4_magic} | Bonuses lower AC. Penalties raise AC. ie '+2' bonus lowers AC by -2 while a '-2' penalty will raise AC by 2."> <input type="checkbox" class="hidden toggle-input-error" name="attr_armorother4_mod_error" value="1" checked="checked"> <input type="text" class="width-small" name="attr_armorother4_mod" value="0" title="@{armorother4_mod} | Bonuses lower AC. Penalties raise AC. ie '+2' bonus lowers AC by -2 while a '-2' penalty will raise AC by 2."> <span></span> </span><span class="sect armor-columns"><label><span>Other</span></label> <input type="checkbox" name="attr_armorother5_worn" title="@{armorother5_worn}" value="1"> <input type="text" class="width-fill" name="attr_armorother5" title="@{armorother5} | NOTE: Adding a new item to Armor Details will also add a new Armor item to Equipment. Similarly, Armor items can be added to the Armor Details list from Equipment|Armor using the '+Add' button. (expand row's sub-section)" placeholder="Description"> <select name="attr_armorother5_ac" title="@{armorother5_ac} | ie +2 lowers AC by -2."><option value="0" selected="selected">+0</option><option value="-1">+1</option><option value="-2">+2</option><option value="-3">+3</option><option value="-4">+4</option><option value="-5">+5</option><option value="-6">+6</option><option value="-7">+7</option><option value="-8">+8</option><option value="-9">+9</option><option value="-10">+10</option></select> <select name="attr_armorother5_base" title="@{armorother5_base} | ie +2 lowers AR by -2."><option value="0" selected="selected">+0</option><option value="-1">+1</option><option value="-2">+2</option><option value="-3">+3</option><option value="-4">+4</option><option value="-5">+5</option><option value="-6">+6</option><option value="-7">+7</option><option value="-8">+8</option><option value="-9">+9</option><option value="-10">+10</option></select> <input type="checkbox" class="hidden toggle-input-error" name="attr_armorother5_magic_error" value="1" checked="checked"> <input type="text" class="width-small" name="attr_armorother5_magic" value="0" title="@{armorother5_magic} | Bonuses lower AC. Penalties raise AC. ie '+2' bonus lowers AC by -2 while a '-2' penalty will raise AC by 2."> <input type="checkbox" class="hidden toggle-input-error" name="attr_armorother5_mod_error" value="1" checked="checked"> <input type="text" class="width-small" name="attr_armorother5_mod" value="0" title="@{armorother5_mod} | Bonuses lower AC. Penalties raise AC. ie '+2' bonus lowers AC by -2 while a '-2' penalty will raise AC by 2."> <span></span> <span></span> </span><span class="sect armor-columns"><label><span>Other</span></label> <input type="checkbox" name="attr_armorother6_worn" title="@{armorother6_worn}" value="1"> <input type="text" class="width-fill" name="attr_armorother6" title="@{armorother6} | NOTE: Adding a new item to Armor Details will also add a new Armor item to Equipment. Similarly, Armor items can be added to the Armor Details list from Equipment|Armor using the '+Add' button. (expand row's sub-section)" placeholder="Description"> <select name="attr_armorother6_ac" title="@{armorother6_ac} | ie +2 lowers AC by -2."><option value="0" selected="selected">+0</option><option value="-1">+1</option><option value="-2">+2</option><option value="-3">+3</option><option value="-4">+4</option><option value="-5">+5</option><option value="-6">+6</option><option value="-7">+7</option><option value="-8">+8</option><option value="-9">+9</option><option value="-10">+10</option></select> <select name="attr_armorother6_base" title="@{armorother6_base} | ie +2 lowers AR by -2."><option value="0" selected="selected">+0</option><option value="-1">+1</option><option value="-2">+2</option><option value="-3">+3</option><option value="-4">+4</option><option value="-5">+5</option><option value="-6">+6</option><option value="-7">+7</option><option value="-8">+8</option><option value="-9">+9</option><option value="-10">+10</option></select> <input type="checkbox" class="hidden toggle-input-error" name="attr_armorother6_magic_error" value="1" checked="checked"> <input type="text" class="width-small" name="attr_armorother6_magic" value="0" title="@{armorother6_magic} | Bonuses lower AC. Penalties raise AC. ie '+2' bonus lowers AC by -2 while a '-2' penalty will raise AC by 2."> <input type="checkbox" class="hidden toggle-input-error" name="attr_armorother6_mod_error" value="1" checked="checked"> <input type="text" class="width-small" name="attr_armorother6_mod" value="0" title="@{armorother6_mod} | Bonuses lower AC. Penalties raise AC. ie '+2' bonus lowers AC by -2 while a '-2' penalty will raise AC by 2."> <span></span> <span></span> </span><span class="armor-columns"><span class="span-three"></span> <label class="readonly-span-textonly" title="In Use/Best AC"><span><span name="attr_armorclass_base_used"></span> <input type="text" class="hidden" name="attr_armorclass_base_used" value="0" readonly="readonly"> </span><span>/</span> <span><span name="attr_armorclass_base_best"></span> <input type="text" class="hidden" name="attr_armorclass_base_best" value="0" readonly="readonly"></span></label> <label class="readonly-span-textonly" title="In Use/Best AR"><span><span name="attr_armorclass_rating_used"></span> <input type="text" class="hidden" name="attr_armorclass_rating_used" value="0" readonly="readonly"> </span><span>/</span> <span><span name="attr_armorclass_rating_best"></span> <input type="text" class="hidden" name="attr_armorclass_rating_best" value="0" readonly="readonly"></span></label> <label class="readonly-span-textonly" title="In Use/Total Magic"><span><span name="attr_armorclass_magic_with_shield"></span> <input type="text" class="hidden" name="attr_armorclass_magic_with_shield" value="0" readonly="readonly"> </span><span>/</span> <span><span name="attr_armorclass_magic_total"></span> <input type="text" class="hidden" name="attr_armorclass_magic_total" value="0" readonly="readonly"></span></label> <label class="readonly-span-textonly" title="In Use/Total Misc."><span><span name="attr_armorclass_mod_with_shield"></span> <input type="text" class="hidden" name="attr_armorclass_mod_with_shield" value="0" readonly="readonly"> </span><span>/</span> <span><span name="attr_armorclass_mod_total"></span> <input type="text" class="hidden" name="attr_armorclass_mod_total" value="0" readonly="readonly"></span></label> <label class="readonly-span-textonly span-two" title="@{current_bulk_label} | Current Bulk as per active armors, shield, clothing, etc."><input type="text" class="width-fill height-short" name="attr_current_bulk_label" value="" placeholder="no bulk" readonly="readonly"></label> <input type="text" class="hidden" name="attr_current_bulk" value=""></span><hr><span class="ac-calc-columns"><label class="label-under-small" title="@{unarmored_base} | Enter a value for Natural Armor or No Armor rating. Default is 10."><input type="text" class="readonly-span width-small" name="attr_unarmored_base" value="10"> <span>UnArmored</span></label> <label class="label-under-small" title="@{armorclass_base} | Compares the UnArmored Base AC to the AC from above and uses the best(lowest) value."><input type="text" class="readonly-span width-small" name="attr_armorclass_base" value="0"> <span>AC Base</span></label> <label class="label-under-small" title="@{armorclass_combined_mod_magic} | Magic + Misc. Adjustments from above."><input type="text" class="hidden" name="attr_armorclass_combined_mod_magic" value="0"> <input type="text" class="readonly-span width-small" name="attr_armorclass_combined_mod_magic_inverted" value="0"> <input type="text" class="hidden" name="attr_armorclass_magic" value="0" readonly="readonly"> <input type="text" class="hidden" name="attr_armorclass_mod" value="0" readonly="readonly"> <span>Armor Adj.</span></label> <input type="checkbox" class="hidden toggle-input-attention" name="attr_encumbrance_flag" value="1" checked="checked"> <label class="text-large">=</label> <label class="label-under" title="@{armorclass_rear} | Best AC without a Dex bonus."><input type="text" class="readonly-span field-border" name="attr_armorclass_rear" value="0"> <span>Rear</span></label> <input type="checkbox" class="hidden toggle-input-attention" name="attr_encumbrance_flag" value="1" checked="checked"> <label class="label-under-small" title="@{armorbonus} | Defensive Adjustment from Dexterity row."><input type="text" class="readonly-span width-small" name="attr_armorbonus_inverted" value="0"> <span class="material-icons" title="Encumbered! DEX bonus has been removed.">nearby_error</span> <label class="inline-label" title="@{armorbonus_toggle} | DEX bonus can be removed circumstantially."><span>Dex Adj.</span> <input type="checkbox" name="attr_armorbonus_toggle" value="1" checked="checked"></label></label> <label class="text-large">=</label> <label class="label-under" title="@{armorclass_shieldless} | Best AC without a Shield bonus."><input type="text" class="readonly-span field-border" name="attr_armorclass_shieldless" value="0"> <span>Shieldless</span></label> <label class="label-under-small" title="@{armorclass_combined_shield_mod_magic} | Magic + Misc. Adjustments from Shield above."><input type="text" class="hidden" name="attr_armorclass_combined_shield_mod_magic" value="0"> <input type="text" class="readonly-span width-small" name="attr_armorclass_combined_shield_mod_magic_inverted" value="0"> <input type="text" class="hidden" name="attr_armorclass_shield_mod" value="0" readonly="readonly"> <input type="text" class="hidden" name="attr_armorclass_shield_magic" value="0" readonly="readonly"> <span>Shield Adj.</span></label> <label class="text-large">=</label> <label class="label-under" title="@{armorclass_total} | Best AC"><input type="text" class="readonly-span field-border" name="attr_armorclass_total" value="0"> <span>Total AC</span></label> </span><span class="five-columns"><span class="inline-label" title="@{autocalc_ac} | This is a persistent setting. Let the sheet auto-calculate AC based on the values entered in the Armor Details table above. This will overwrite all values in the bottom row."><label><span>Auto-Calc AC:</span> <input type="checkbox" name="attr_autocalc_ac" value="1" checked="checked"></label> <button type="action" class="text-only" name="act_calcac" style="padding: inherit;" title="This is an immediate action and works regardless of the Auto-Calc AC setting. Let the sheet auto-calculate AC based on the values entered in the Armor Details table above. This will overwrite all values in the bottom row."><span class="width-large">Calc AC</span></button> </span><span class="inline-label sync-lock" title="@{sync_ac_flag} | Let the sheet sync Total AC from Armor Details with AC ( @{armorclass} )."><label><span>Sync AC:</span> <input type="checkbox" name="attr_sync_ac_flag" value="1"> <span></span></label> </span><span></span> <span class="inline-label" title="@{armor_rating_flag} | AC is not from armor. Weapons vs Armor Type does not apply."><label><span>Ignore AR:</span> <input type="checkbox" name="attr_armor_rating_flag" value="1"></label> </span><span class="inline-label" title="@{armorclass_rating} | Best AR"><label><span>Armor Rating</span></label> <input type="text" class="readonly-span width-small" name="attr_armorclass_rating" value="-"> </span></span><span class="inline-label"><label class="width-auto"><button type="roll" name="roll_defensive_notes_roll" class="dice-button text-only" title="%{selected|defensive_notes_roll}" value="@{whisper_pc} &{template:general} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=Defensive Notes}} {{freetext=@{defensive_notes}}}"><span>Defensive Notes:</span></button></label> <textarea name="attr_defensive_notes" class="height-short" title="@{defensive_notes}" placeholder="Enter Defensive Notes..."></textarea></span></div></section><section class="personal-attributes-box"><input type="checkbox" class="sect-show" name="attr_personal_attributes_info_show" value="1" checked="checked"><div class="header">PERSONAL ATTRIBUTES</div><span class="material-icons"></span><div class="sect"><span class="details-row1"><label class="inline-label"><span>Gender:</span> <span class="autoexpand"><input type="text" class="autoexpand" name="attr_gender" title="@{gender}" placeholder="n/a"> <span name="attr_gender"></span></span></label> <label class="inline-label"><span>Age:</span> <span class="autoexpand"><input type="text" class="autoexpand" name="attr_age" title="@{age}" value="0"> <span name="attr_age"></span></span></label> <label class="inline-label"><span>Height:</span> <span class="autoexpand"><input type="text" class="autoexpand" name="attr_height" title="@{height}" value="0"> <span name="attr_height"></span></span></label> <label class="inline-label"><span>Weight:</span> <span class="autoexpand"><input type="text" class="autoexpand" name="attr_weight" title="@{weight}" value="0"> <span name="attr_weight"></span></span></label> <label class="inline-label"><span>Eyes:</span> <span class="autoexpand"><input type="text" class="autoexpand" name="attr_eyes" title="@{eyes}" placeholder="Color"> <span name="attr_eyes"></span></span></label> <label class="inline-label"><span>Hair:</span> <span class="autoexpand"><input type="text" class="autoexpand" name="attr_hair" title="@{hair}" placeholder="Color"> <span name="attr_hair"></span></span></label> <label class="inline-label" title="Natural/Unaltered size." style="padding-left: .35em;"><span>Size:</span> <select class="width-small" name="attr_size" title="@{size}"><option>S</option><option selected="selected">M</option><option>L</option></select></label> <label class="inline-label" title="Altered size." style="padding-left: .35em;"><span>Temp Size:</span> <select class="width-small" name="attr_size2" title="@{size2}"><option>S</option><option selected="selected">M</option><option>L</option></select></label> <label class="inline-label"><span>Deity:</span> <span class="autoexpand"><input type="text" class="autoexpand" name="attr_deity" title="@{deity}" placeholder="Description"> <span name="attr_deity"></span></span></label> <label class="inline-label"><span>Secondary Skill:</span> <span class="autoexpand"><input type="text" class="autoexpand" name="attr_secondary_skill" title="@{secondary_skill}" placeholder="Description"> <span name="attr_secondary_skill"></span></span></label> <span class="inline-label" style="padding-left: .35em; max-width: -webkit-fill-available;"><label><button type="roll" class="image-link" value="@{whisper_pc} [**LINK**](@{sheet_image_url})" title="Send image to chat."></button> <textarea class="image-link" wrap="off" name="attr_sheet_image_url" title="@{sheet_image_url} | Enter a valid image URL that ends with a proper image extension. ie .png, .jpg, .gif If needed, trim the url to the end of the image extension or add a 3-letter extension to the end of the url.." placeholder="https://app.roll20.net/images/character.png"></textarea></label> </span></span><span class="details-row"><label class="inline-label width-auto"><button type="roll" name="roll_racial_notes_roll" class="dice-button text-only" title="%{selected|racial_notes_roll}" value="@{whisper_pc} &{template:general} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=Racial Notes}} {{freetext=@{racial_notes}}}"><span>Racial Notes:</span></button></label> <textarea name="attr_racial_notes" class="height-short" title="@{racial_notes}" placeholder="Enter Racial Notes..."></textarea> </span><span class="details-row"><label class="inline-label width-auto"><button type="roll" name="roll_languages_roll" class="dice-button text-only" title="%{selected|languages_roll}" value="@{whisper_pc} &{template:general} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=Known Languages}} {{freetext=@{languages}}}"><span>Languages:</span></button></label> <textarea class="height-short" name="attr_languages" title="@{languages}" placeholder="languages known"></textarea> </span><span class="details-row"><label class="inline-label width-auto"><button type="roll" name="roll_senses_roll" class="dice-button text-only" title="%{selected|senses_roll}" value="@{whisper_pc} &{template:general} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=Special Senses}} {{freetext=@{senses}}}"><span>Special Senses:</span></button></label> <textarea name="attr_senses" class="height-short" title="@{senses}" placeholder="Enter Special Senses..."></textarea> </span><span class="details-row3"><input type="checkbox" class="sect-show" name="attr_character-description_show" value="1" checked="checked"> <span class="subheader">Character History/Bio</span><span class="material-icons"></span> <span class="sect"><span class="autoexpand"><textarea name="attr_character_description" title="@{character_description}" placeholder="Enter Character Description..."></textarea> <span name="attr_character_description"></span></span></span></span></div><hr></section><section class="abilities-box"><input type="checkbox" class="sect-show" name="attr_abilities_info_show" value="1" checked="checked"><div class="header">ABILITIES</div><span class="material-icons"></span><div class="sect"><span class="abilities-columns"><label><button type="roll" class="ability-button text-only" name="attr_strength_check_roll" title="%{selected|strength_check_roll}" value="@{strength_check_macro_text}"><span>STR</span></button> <input type="text" class="hidden" name="attr_strength_check_macro_text" value="@{whisper_pc} &{template:general} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=Strength Check}} {{roll_low=[[ @{ability_check_die}cs ]]}} {{roll_target=[[ @{strength} ]]}}"></label> <input type="text" class="field-border" name="attr_strength" title="@{strength}" value="10"> <input type="checkbox" class="hidden exceptional" name="attr_exceptional_strength_flag" value="1"> <label class="toggle-exceptional strength"><input type="text" class="width-smallest" name="attr_exceptionalstrength" title="@{exceptionalstrength | Must have an Ability of 18+ to access field." value="0"></label> <label><span class="stack-text">To-Hit Adj.</span></label> <input type="text" class="width-smaller" name="attr_meleebonus" title="@{meleebonus} | Melee attack "To-Hit" adjustment." value="0"> <label><span class="stack-text">Damage Adj.</span></label> <input type="text" class="width-smaller" name="attr_dmgbonus" title="@{dmgbonus} | Melee attack Damage adjustment." value="0"> <label><span class="stack-text">Weight All.</span></label> <input type="text" class="width-fill" name="attr_encumbrancebonus" title="@{encumbrancebonus} | Weight Allowance in gp. Keep this value as gp even if the sheet is using the lbs option." value="0"> <label class="inline-label"><button class="dice-button text-only" type="roll" name="attr_minorstrengthfeat-roll" title="%{selected|minorstrengthfeat-roll} | Minor Strength Feat" value="@{whisper_pc} &{template:general} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=Open Doors}} {{roll_low=[[ ?{Open Door die|1d6 [STR<=18],1d6 |1d8 [STR = 19 or 20],1d8 |1d10 [STR = 21],1d10 |1d12 [STR = 22 or 23],1d12 |1d12 [STR = 24],1d20 |2d12 [STR = 25],2d12}cs ]]}} {{roll_target=[[ @{minorstrengthfeat} ]]}} {{locked_doors=You have a chance ([[@{selected|minorstrengthfeat_locked}]] in 6) to force open a locked, barred, magically held, or wizard locked door. Fighter's only. note: Roll will use a larger die for STR 24 or 25.}} {{[Open a Locked Door?](~@{character_id}|minorstrengthfeat_locked-roll)}}"><span>Open Doors</span></button></label> <span class="two-columns"><label><input type="text" class="width-smallest" name="attr_minorstrengthfeat" title="@{minorstrengthfeat} | Minor Strength Feat: uses the highest # from STR table." value="0"></label> <input type="checkbox" class="hidden exceptional" name="attr_exceptional_strength_flag" value="1"> <sup class="toggle-exceptional strength" title="@{minorstrengthfeat_locked} | Fighter's can attempt to force open a locked, barred, magically held, or wizard locked door with exceptional Strength of 18(99)+."><span name="attr_minorstrengthfeat_locked"></span> </sup><input type="hidden" name="attr_minorstrengthfeat_locked" value="0"> <button class="hidden" type="roll" name="attr_minorstrengthfeat_locked-roll" value="@{whisper_pc} &{template:general} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=Open Locked Door}} {{roll_low=[[ ?{Locked, Barred, or Magically Held Door die|1d6 [STR = 18(91-100) or 19-23],1d6 |1d8 [STR = 24],1d8 |1d10 [STR = 25],1d10}cs ]] }} {{roll_target=[[ @{minorstrengthfeat_locked} ]]}}"></button> </span><label class="inline-label"><button class="dice-button text-only" type="roll" name="attr_majorstrengthfeat-roll" title="%{selected|majorstrengthfeat-roll} | Major Strength Feat" value="@{whisper_pc} &{template:general} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=Bend Bars/Lift Gates}} {{roll_low=[[1d100cs]]%}} {{roll_target=[[ @{majorstrengthfeat}]]%}}"><span>Bend</span></button></label> <label class="label-percent"><input type="text" class="width-smaller" name="attr_majorstrengthfeat" title="@{majorstrengthfeat} | Major Strength Feat" value="0"></label> <label><button type="roll" class="ability-button text-only" name="attr_intelligence_check_roll" title="%{selected|intelligence_check_roll}" value="@{intelligence_check_macro_text}"><span>INT</span></button> <input type="text" class="hidden" name="attr_intelligence_check_macro_text" value="@{whisper_pc} &{template:general} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=Intelligence Check}} {{roll_low=[[ @{ability_check_die}cs ]]}} {{roll_target=[[ @{intelligence} ]]}}"></label> <input type="text" class="field-border" name="attr_intelligence" title="@{intelligence}" value="10"> <input type="checkbox" class="hidden exceptional" name="attr_exceptional_intelligence_flag" value="1"> <label class="toggle-exceptional"><input type="text" class="width-smallest" name="attr_exceptionalintelligence" title="@{exceptionalintelligence} | Must have an Ability of 18+ to access field." value="0"></label> <label><span class="stack-text">Add. Lang.</span></label> <input type="text" class="width-smaller" name="attr_bonuslanguages" title="@{bonuslanguages} | Auto-filled based on Race and INT (see PHB)." value="0"> <label class="inline-label"><button class="dice-button text-only" type="roll" name="attr_knowspell-roll" title="%{selected|knowspell-roll}" value="@{whisper_pc} &{template:general} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=Chance to Know Spell}} {{roll_low=[[ 1d100 ]]%}} {{roll_target=[[ @{knowspell} ]]%}}"><span>Know Spell</span></button></label> <label class="label-percent"><input type="text" class="width-smaller" name="attr_knowspell" title="@{knowspell}" value="0"></label> <label><span class="stack-text">Min # Spells</span></label> <input type="text" class="width-smaller" name="attr_minspells" title="@{minspells}" value="0"> <label><span class="stack-text">Max # Spells</span></label> <input type="text" class="width-smaller" name="attr_maxspells" title="@{maxspells}" value="0"> <label class="span-two inline-label"><button class="dice-button text-only" type="roll" name="attr_init-roll" title="%{selected|init-roll}" value="@{whisper_pc} @{init_macro_text}"><span>Initiative</span></button></label> <label><button type="roll" class="ability-button text-only" name="attr_wisdom_check_roll" title="%{selected|wisdom_check_roll}" value="@{wisdom_check_macro_text}"><span>WIS</span></button> <input type="text" class="hidden" name="attr_wisdom_check_macro_text" value="@{whisper_pc} &{template:general} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=Wisdom Check}} {{roll_low=[[ @{ability_check_die}cs ]]}} {{roll_target=[[ @{wisdom} ]]}}"></label> <input type="text" class="field-border" name="attr_wisdom" title="@{wisdom}" value="10"> <input type="checkbox" class="hidden exceptional" name="attr_exceptional_wisdom_flag" value="1"> <label class="toggle-exceptional"><input type="text" class="width-smallest" name="attr_exceptionalwisdom" title="@{exceptionalwisdom} | Must have an Ability of 18+ to access field." value="0"></label> <label class="inline-label"><button class="dice-button text-only" type="roll" name="attr_mentalsave-roll" title="%{selected|mentalsave-roll}" value="@{whisper_pc} &{template:general} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=Mental Save}} {{roll_high=[[ 1d20 + [[ ?{Modifier?|0} ]][MOD] + [[ @{mentalsavebonus} ]][BON] ]]}} {{roll_target=[[?{Target # for success?|20}]]}} {{wis_applied=[[ @{mentalsavebonus} ]]}} {{mod_applied=[[ ?{Modifier?|0} ]]}}"><span>Mental Save</span></button></label> <input type="text" class="width-smaller" name="attr_mentalsavebonus" title="@{mentalsavebonus}" value="0"> <label><span class="stack-text">Spell Bonus</span></label> <span class="autoexpand span-two" style="margin-left: 2px;"><input type="text" name="attr_spellbonus" class="no-border" title="@{spellbonus} | Track the # of bonus spells/level as per the PHB." value="0/0/0/0/0/0/0"> <span name="attr_spellbonus"></span> </span><label></label> <label class="inline-label"><button class="dice-button text-only" type="roll" name="attr_spellfailure-roll" title="%{selected|spellfailure-roll}" value="@{whisper_pc} &{template:general} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=Chance of Spell Failure}} {{roll_high=[[ 1d100 ]]%}} {{roll_target=[[ @{spellfailure} ]]%}}"><span>Spell Failure</span></button></label> <label class="label-percent"><input type="text" class="width-smaller" name="attr_spellfailure" title="@{spellfailure}" value="0"></label> <label class="span-two inline-label"><button class="dice-button text-only" type="roll" name="attr_surprise-roll" title="%{selected|surprise-roll}" value="@{whisper_pc} @{surprise_macro_text}"><span>Surprise</span></button></label> <label><button type="roll" class="ability-button text-only" name="attr_dexterity_check_roll" title="%{selected|dexterity_check_roll}" value="@{dexterity_check_macro_text}"><span>DEX</span></button> <input type="text" class="hidden" name="attr_dexterity_check_macro_text" value="@{whisper_pc} &{template:general} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=Dexterity Check}} {{roll_low=[[ @{ability_check_die}cs ]]}} {{roll_target=[[ @{dexterity} ]]}}"></label> <input type="text" class="field-border" name="attr_dexterity" title="@{dexterity}" value="10"> <input type="checkbox" class="hidden exceptional" name="attr_exceptional_dexterity_flag" value="1"> <label class="toggle-exceptional"><input type="text" class="width-smallest" name="attr_exceptionaldexterity" title="@{exceptionaldexterity} | Must have an Ability of 18+ to access field." value="0"></label> <label><span class="stack-text">Reaction Adj.</span></label> <input type="text" class="hidden" name="attr_surprisebonus" value="0"> <input type="text" class="width-smaller" name="attr_surprisebonus_inverted" title="@{surprisebonus} | Modifier for initiative/surprise and missile-based combat attacks." value="0"> <label><span class="stack-text">Missile Adj.</span></label> <input type="text" class="width-smaller" name="attr_rangedbonus" title="@{rangedbonus} | Ranged attack 'To-Hit' adjustment." value="0"> <label><span class="stack-text">Defensive Adj.</span></label> <input type="text" class="width-smaller" name="attr_armorbonus" title="@{armorbonus} | Used to compute AC in the 'Armor Details' section above." value="0"> <label class="span-three"><span>Surprise Chance</span> <input type="text" class="width-smaller" name="attr_surprise" title="@{surprise}" value="2"></label> <label><select name="attr_surprise_die" class="text-small" title="@{surprise_die}"><option value="6" selected="selected">of 6</option><option value="8">of 8</option><option value="10">of 10</option><option value="12">of 12</option><option value="20">of 20</option><option value="100">of 100</option></select></label> <label><button type="roll" class="ability-button text-only" name="attr_constitution_check_roll" title="%{selected|constitution_check_roll}" value="@{constitution_check_macro_text}"><span>CON</span></button> <input type="text" class="hidden" name="attr_constitution_check_macro_text" value="@{whisper_pc} &{template:general} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=Constitution Check}} {{roll_low=[[ @{ability_check_die}cs ]]}} {{roll_target=[[ @{constitution} ]]}}"></label> <input type="text" class="field-border" name="attr_constitution" title="@{constitution}" value="10"> <input type="checkbox" class="hidden exceptional" name="attr_exceptional_constitution_flag" value="1"> <label class="toggle-exceptional"><input type="text" class="width-smallest" name="attr_exceptionalconstitution" title="@{exceptionalconstitution} | Must have an Ability of 18+ to access field." value="0"></label> <label><span class="stack-text">HP Adj.</span></label> <input type="text" class="width-smaller" name="attr_hitpointbonus" title="@{hitpointbonus} | Max +2 unless Fighter, Paladin, or Ranger." value="0"> <label class="inline-label"><button class="dice-button text-only" type="roll" name="attr_systemshock-roll" title="%{selected|systemshock-roll}" value="@{whisper_pc} &{template:general} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=System Shock Survival}} {{roll_low=[[ 1d100 ]] %}} {{roll_target=[[ @{systemshock} ]]%}}"><span>Sys. Shock</span></button></label> <label class="label-percent"><input type="text" class="width-smaller" name="attr_systemshock" title="@{systemshock}" value="0"></label> <label class="inline-label"><button class="dice-button text-only" type="roll" name="attr_resurrectionsurvival-roll" title="%{selected|resurrectionsurvival-roll}" value="@{whisper_pc} &{template:general} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=Resurrection Survival}} {{roll_low=[[ 1d100 ]]%}} {{roll_target=[[ @{resurrectionsurvival} ]]%}}"><span>Res. Surv.</span></button></label> <label class="label-percent"><input type="text" class="width-smaller" name="attr_resurrectionsurvival" title="@{resurrectionsurvival}" value="0"></label> <label class="span-four inline-label"><button type="roll" class="dice-button text-only" name="roll_surprise_others-roll" title="%{selected|surprise_others-roll}" value="@{whisper_pc} @{surprise_others_macro_text}"><span>Surprise Others</span></button> <span>Adj.</span> <input type="text" class="width-smaller" name="attr_surprise_others_mod" title="@{surprise_others_mod} | The modifier is typically indicated as bonus although the value is SUBTRACTED from the opponents Surprise check." value="0"></label> <label><button type="roll" class="ability-button text-only" name="attr_charisma_check_roll" title="%{selected|charisma_check_roll}" value="@{charisma_check_macro_text}"><span>CHA</span></button> <input type="text" class="hidden" name="attr_charisma_check_macro_text" value="@{whisper_pc} &{template:general} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=Charisma Check}} {{roll_low=[[ @{ability_check_die}cs ]]}} {{roll_target=[[ @{charisma} ]]}}"></label> <input type="text" class="field-border" name="attr_charisma" title="@{charisma}" value="10"> <input type="checkbox" class="hidden exceptional" name="attr_exceptional_charisma_flag" value="1"> <label class="toggle-exceptional"><input type="text" class="width-smallest" name="attr_exceptionalcharisma" title="@{exceptionalcharisma} | Must have an Ability of 18+ to access field." value="0"></label> <label><span class="stack-text">Max # Hench.</span></label> <input type="text" class="width-smaller" name="attr_maximumhenchmen" title="@{maximumhenchmen}" value="0"> <label class="inline-label"><button class="dice-button text-only" type="roll" name="attr_loyalty-roll" title="%{selected|loyalty-roll}" value="@{whisper_pc} &{template:general} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=Loyalty}} {{roll_low=[[ 1d100 ]]%}} {{roll_target=[[ 50 + (@{loyaltybonus}[LOYALTY]) + ( ?{Modifier?|0}[MOD] ) ]]%}} {{Loyalty Applied=[[@{loyaltybonus}]]%}} {{mod_applied=[[ ?{Modifier?|0} ]]%}}"><span>Loyalty</span></button></label> <label class="label-percent"><input type="text" class="width-smaller" name="attr_loyaltybonus" title="@{loyaltybonus}" value="0"></label> <label class="inline-label"><button class="dice-button text-only" type="roll" name="attr_reaction-roll" title="%{selected|reaction-roll}" value="@{whisper_pc} &{template:general} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=Reaction}} {{roll=[[ 1d100 + (@{reactionbonus}[BON]) + ( ?{Modifier?|0}[MOD] ) ]]%}} {{Reaction Applied=[[@{reactionbonus}]]%}} {{mod_applied=[[ ?{Modifier?|0} ]]%}}"><span>React.</span></button></label> <label class="label-percent"><input type="text" class="width-smaller" name="attr_reactionbonus" title="@{reactionbonus}" value="0"></label> <label class="inline-label"><button class="dice-button text-only" type="roll" name="attr_morale-roll" title="%{selected|morale-roll}" value="@{whisper_pc} &{template:general} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=Morale Check}} {{roll_low=[[ 1d100 ]]%}} {{roll_target=[[ @{morale_base}[BASE] + ( ?{Modifier?|0}[MOD] ) ]]%}} {{mod_applied=[[ ?{Modifier?|0} ]]%}}"><span>Morale</span></button></label> <label class="label-percent"><input type="text" class="width-smaller" name="attr_morale_base" title="@{morale_base} | Base is 50%. Adjust +/- per circumstances." value="50"></label> <label></label> <label></label> <label class="toggle-comeliness"><button type="roll" class="ability-button text-only"><span>COM</span></button></label> <input type="text" class="field-border toggle-comeliness" name="attr_comeliness" title="@{comeliness} | Score should reflect 'Adjusted Comeliness' which takes into account Charisma and/or any racial adjustments." value="10"> <input type="checkbox" class="hidden exceptional" name="attr_exceptional_comeliness_flag" value="1"> <label class="toggle-exceptional toggle-comeliness"><input type="text" class="width-smallest" name="attr_exceptionalcomeliness" title="@{exceptionalcomeliness} | Must have an Ability of 18+ to access field." value="0"></label> <span class="span-ten inline-label toggle-comeliness"><b class="text-large">=</b> <span>Base COM</span> <input type="text" class="width-smaller" name="attr_comeliness_base" title="@{comeliness_base} | Comeliness base score. ie un-adjusted roll." value="8"> <b class="text-large">+</b> <span>CHA Adj.</span> <input type="text" class="width-smaller" name="attr_comeliness_cha_adj" title="@{comeliness_cha_adj} | Same race Bonus/Penalty adjustment. Auto-calculated based on Charisma." value="0" readonly="readonly"> <b class="text-large">+</b> <span>Racial Adj.</span> <select name="attr_comeliness_racial_adj" title="@{comeliness_racial_adj} | Bonus/Penalty adjustment as perceived by other races."><option value="-3">Half-Orcs</option><option value="-1">Dwarves, Gnomes</option><option value="0" selected="selected">Halflings, Humans</option><option value="1">Half-Elves, Sylvan Elves</option><option value="2">Gray Elves, High Elves</option></select> <input type="text" class="width-smaller" name="attr_comeliness_racial_adj" value="0" readonly="readonly"></span></span></div><div class="sect border linear-background"><span class="subheader center width-fill">Speed and Movement</span> <span class="basemove-columns column-header"><span class="span-five">Adjusted Speed</span> <span></span> <span class="stack-text">Explore/<wbr>Map</span> <span class="stack-text">Known Route</span> <span>Run/Flee</span> </span><span class="basemove-columns"><label class="label-under"><input type="checkbox" class="hidden current-encumbrance" name="attr_current_encumbrance_move" value="0" readonly="readonly"> <input type="text" class="width-smaller field-border" name="attr_movement" title="@{movement}" value="12"> <span>Normal</span></label> <label class="label-under" title="@{movement_heavy} | No DEX Bonus to Init."><input type="checkbox" class="hidden current-encumbrance" name="attr_current_encumbrance_move" value="1" readonly="readonly"> <input type="text" class="hidden" name="attr_movement_heavy" value="0" readonly="readonly"> <span class="readonly-span no-border" name="attr_movement_heavy" title="@{movement_heavy}"></span> <span>Heavy</span></label> <label class="label-under" title="@{movement_load} | No DEX Bonus to Init, Delayed, +1 Segment if Surprised."><input type="checkbox" class="hidden current-encumbrance" name="attr_current_encumbrance_move" value="2" readonly="readonly"> <input type="text" class="hidden" name="attr_movement_load" value="0" readonly="readonly"> <span class="readonly-span no-border" name="attr_movement_load" title="@{movement_load}"></span> <span class="nowrap">Very Heavy</span></label> <label class="label-under" title="@{movement_max} |No DEX Bonus to Init or AC, Go Last in Init, +2 Segments if Surprised, Cannot Charge, Enemies get +2 to-hit."><input type="checkbox" class="hidden current-encumbrance" name="attr_current_encumbrance_move" value="3" readonly="readonly"> <input type="text" class="hidden" name="attr_movement_max" value="0" readonly="readonly"> <span class="readonly-span no-border" name="attr_movement_max" title="@{movement|max}"></span> <span class="long">Encumbered</span></label><h4 class="stack-text">Move/<wbr>Round</h4><label class="text-large">=</label> <label class="label-under" title="@{movement_normal}"><input type="text" class="hidden" name="attr_movement_normal" value="0" readonly="readonly"> <span class="readonly-span no-border" name="attr_movement_normal" title="@{movement_normal}"></span> <span class="text-small">(Speed x1')</span></label> <label class="label-under" title="@{movement_known}"><input type="text" class="hidden" name="attr_movement_known" value="0" readonly="readonly"> <span class="readonly-span no-border" name="attr_movement_known" title="@{movement_known}"></span> <span class="text-small">(Speed x5')</span></label> <label class="label-under" title="@{movement_run}"><input type="text" class="hidden" name="attr_movement_run" value="0" readonly="readonly"> <span class="readonly-span no-border" name="attr_movement_run" title="@{movement_run}"></span> <span class="text-small">(Speed x10')</span></label> <input type="text" class="hidden" name="attr_movement_crawl" value="0" readonly="readonly"> <span class="span-six"><label class="inline-label" title="@{current_bulk_label} | Current Bulk as per active armors, shield, clothing, etc."><span class="stack-text">Current Armor Bulk:</span> <input type="text" class="width-fill height-short" name="attr_current_bulk_label" value="" placeholder="no bulk" readonly="readonly"></label> <label class="inline-label" title="@{current_encumbrance_label} | Encumbrance is the current load for carried weight vs strength adjustments."><span class="stack-text">Current Encumbrance:</span> <input type="text" class="width-fill height-short" style="margin-right: -1em;" name="attr_current_encumbrance_label" value="" placeholder="no encumbrance" readonly="readonly"></label> </span><label class="inline-label span-three right" title="@{autocalc_movement_flag} | Let the sheet calculate Movement/Speed. Uses base movement and the current encumbrance(STR vs total_weight carried). Note: Load can can be set manually but any changes to base movement, encumbrance, or opening the sheet will trigger a re-calc."><span class="stack-text">Auto-Calc Movement:</span> <input type="checkbox" name="attr_autocalc_movement_flag" value="1" checked="checked"></label></span></div><hr></section><section class="saves-box"><input type="checkbox" class="sect-show" name="attr_saves_info_show" value="1" checked="checked"><div class="header">SAVES</div><span class="material-icons"></span><div class="saves-class sect"><label></label> <label class="center"><span>Class</span></label> <label class="center"><span>Level</span></label> <label class="inline-label" title="@{autofill_saves} | Let the sheet auto-fill the Base Saves when the class and level selectors are changed."><span>Autofill Base:</span> <input type="checkbox" name="attr_autofill_saves" value="1" checked="checked"></label> <label class="center"><select class="width-fill border" name="attr_saves_class" title="@{saves_class}"><option value="0" selected="selected" style="font-weight: bold;">~ Select a Class ~</option><option value="1">Cleric</option><option value="2">Druid</option><option value="3">Fighter, Paladin, or Ranger</option><option value="4">Magic-User or Illusionist</option><option value="5">Thief</option><option value="6">Monk</option><option value="7">Assassin</option><option value="8">Other 0-lvl Types</option></select></label> <label class="center"><input class="width-small border" type="number" min="0" name="attr_saves_level" value="1" title="@{saves_level}"></label></div><div class="sect"><span class="saves-columns column-header"><span></span> <span>TOTAL</span> <span></span> <span>Base/Class</span> <span></span> <span>Racial Adj.</span> <span></span> <span>Ability Adj.</span> <span></span> <span>Misc. Adj.</span> <span></span> <span>Temp. Adj.</span> </span><span class="saves-columns"><button class="saves-button text-only" type="roll" name="roll_saveparalysispoisondeath" title="%{selected|saveparalysispoisondeath}" value="@{whisper_pc} &{template:general} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=Paralysis, Poison or Death Magic}} {{roll_high=[[ 1d20 + [[ ?{Modifier?|0} ]][MOD] ]]}} {{roll_target=[[@{saveparalysispoisondeath}]]}} {{mod_applied=[[ ?{Modifier?|0} ]]}}"><span>Paralysis, Poison, or Death Magic</span></button> <span title="@{saveparalysispoisondeath}"><input type="text" class="width-smaller field-border readonly-span" name="attr_saveparalysispoisondeath" title="@{saveparalysispoisondeath}" value="20"></span><span class="text-large">=</span> <span><input type="text" class="width-smaller" name="attr_saveparalysispoisondeath_base" title="@{saveparalysispoisondeath_base}" value="20"></span><span class="text-large">±</span> <span><select class="width-small" name="attr_saveparalysispoisondeath_racial_mod" title="@{saveparalysispoisondeath_racial_mod}"><option value="-10" class="option-bonus" title="Bonus">+10</option><option value="-9" class="option-bonus" title="Bonus">+9</option><option value="-8" class="option-bonus" title="Bonus">+8</option><option value="-7" class="option-bonus" title="Bonus">+7</option><option value="-6" class="option-bonus" title="Bonus">+6</option><option value="-5" class="option-bonus" title="Bonus">+5</option><option value="-4" class="option-bonus" title="Bonus">+4</option><option value="-3" class="option-bonus" title="Bonus">+3</option><option value="-2" class="option-bonus" title="Bonus">+2</option><option value="-1" class="option-bonus" title="Bonus">+1</option><option value="0" selected="selected">0</option><option value="1" class="option-penalty" title="Penalty">-1</option><option value="2" class="option-penalty" title="Penalty">-2</option><option value="3" class="option-penalty" title="Penalty">-3</option><option value="4" class="option-penalty" title="Penalty">-4</option><option value="5" class="option-penalty" title="Penalty">-5</option><option value="6" class="option-penalty" title="Penalty">-6</option><option value="7" class="option-penalty" title="Penalty">-7</option><option value="8" class="option-penalty" title="Penalty">-8</option><option value="9" class="option-penalty" title="Penalty">-9</option><option value="10" class="option-penalty" title="Penalty">-10</option></select> </span><span class="text-large">±</span> <span><select class="width-small" name="attr_saveparalysispoisondeath_ability_mod" title="@{saveparalysispoisondeath_ability_mod}"><option value="-10" class="option-bonus" title="Bonus">+10</option><option value="-9" class="option-bonus" title="Bonus">+9</option><option value="-8" class="option-bonus" title="Bonus">+8</option><option value="-7" class="option-bonus" title="Bonus">+7</option><option value="-6" class="option-bonus" title="Bonus">+6</option><option value="-5" class="option-bonus" title="Bonus">+5</option><option value="-4" class="option-bonus" title="Bonus">+4</option><option value="-3" class="option-bonus" title="Bonus">+3</option><option value="-2" class="option-bonus" title="Bonus">+2</option><option value="-1" class="option-bonus" title="Bonus">+1</option><option value="0" selected="selected">0</option><option value="1" class="option-penalty" title="Penalty">-1</option><option value="2" class="option-penalty" title="Penalty">-2</option><option value="3" class="option-penalty" title="Penalty">-3</option><option value="4" class="option-penalty" title="Penalty">-4</option><option value="5" class="option-penalty" title="Penalty">-5</option><option value="6" class="option-penalty" title="Penalty">-6</option><option value="7" class="option-penalty" title="Penalty">-7</option><option value="8" class="option-penalty" title="Penalty">-8</option><option value="9" class="option-penalty" title="Penalty">-9</option><option value="10" class="option-penalty" title="Penalty">-10</option></select> </span><span class="text-large">±</span> <span><select class="width-small" name="attr_saveparalysispoisondeath_misc_mod" title="@{saveparalysispoisondeath_misc_mod}"><option value="-10" class="option-bonus" title="Bonus">+10</option><option value="-9" class="option-bonus" title="Bonus">+9</option><option value="-8" class="option-bonus" title="Bonus">+8</option><option value="-7" class="option-bonus" title="Bonus">+7</option><option value="-6" class="option-bonus" title="Bonus">+6</option><option value="-5" class="option-bonus" title="Bonus">+5</option><option value="-4" class="option-bonus" title="Bonus">+4</option><option value="-3" class="option-bonus" title="Bonus">+3</option><option value="-2" class="option-bonus" title="Bonus">+2</option><option value="-1" class="option-bonus" title="Bonus">+1</option><option value="0" selected="selected">0</option><option value="1" class="option-penalty" title="Penalty">-1</option><option value="2" class="option-penalty" title="Penalty">-2</option><option value="3" class="option-penalty" title="Penalty">-3</option><option value="4" class="option-penalty" title="Penalty">-4</option><option value="5" class="option-penalty" title="Penalty">-5</option><option value="6" class="option-penalty" title="Penalty">-6</option><option value="7" class="option-penalty" title="Penalty">-7</option><option value="8" class="option-penalty" title="Penalty">-8</option><option value="9" class="option-penalty" title="Penalty">-9</option><option value="10" class="option-penalty" title="Penalty">-10</option></select> </span><span class="text-large">±</span> <span><select class="width-small" name="attr_saveparalysispoisondeath_temp_mod" title="@{saveparalysispoisondeath_temp_mod}"><option value="-10" class="option-bonus" title="Bonus">+10</option><option value="-9" class="option-bonus" title="Bonus">+9</option><option value="-8" class="option-bonus" title="Bonus">+8</option><option value="-7" class="option-bonus" title="Bonus">+7</option><option value="-6" class="option-bonus" title="Bonus">+6</option><option value="-5" class="option-bonus" title="Bonus">+5</option><option value="-4" class="option-bonus" title="Bonus">+4</option><option value="-3" class="option-bonus" title="Bonus">+3</option><option value="-2" class="option-bonus" title="Bonus">+2</option><option value="-1" class="option-bonus" title="Bonus">+1</option><option value="0" selected="selected">0</option><option value="1" class="option-penalty" title="Penalty">-1</option><option value="2" class="option-penalty" title="Penalty">-2</option><option value="3" class="option-penalty" title="Penalty">-3</option><option value="4" class="option-penalty" title="Penalty">-4</option><option value="5" class="option-penalty" title="Penalty">-5</option><option value="6" class="option-penalty" title="Penalty">-6</option><option value="7" class="option-penalty" title="Penalty">-7</option><option value="8" class="option-penalty" title="Penalty">-8</option><option value="9" class="option-penalty" title="Penalty">-9</option><option value="10" class="option-penalty" title="Penalty">-10</option></select> </span></span><span class="saves-columns"><button class="saves-button text-only" type="roll" name="roll_savepetrificationpolymorph" title="%{selected|savepetrificationpolymorph}" value="@{whisper_pc} &{template:general} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=Petrification or Polymorph}} {{roll_high=[[ 1d20 + [[ ?{Modifier?|0} ]][MOD] ]]}} {{roll_target=[[@{savepetrificationpolymorph}]]}} {{mod_applied=[[ ?{Modifier?|0} ]]}}"><span>Petrification or Polymorph</span></button> <span title="@{savepetrificationpolymorph}"><input type="text" class="width-smaller field-border readonly-span" name="attr_savepetrificationpolymorph" title="@{savepetrificationpolymorph}" value="20"></span><span class="text-large">=</span> <span><input type="text" class="width-smaller" name="attr_savepetrificationpolymorph_base" title="@{savepetrificationpolymorph_base}" value="20"></span><span class="text-large">±</span> <span><select class="width-small" name="attr_savepetrificationpolymorph_racial_mod" title="@{savepetrificationpolymorph_racial_mod}"><option value="-10" class="option-bonus" title="Bonus">+10</option><option value="-9" class="option-bonus" title="Bonus">+9</option><option value="-8" class="option-bonus" title="Bonus">+8</option><option value="-7" class="option-bonus" title="Bonus">+7</option><option value="-6" class="option-bonus" title="Bonus">+6</option><option value="-5" class="option-bonus" title="Bonus">+5</option><option value="-4" class="option-bonus" title="Bonus">+4</option><option value="-3" class="option-bonus" title="Bonus">+3</option><option value="-2" class="option-bonus" title="Bonus">+2</option><option value="-1" class="option-bonus" title="Bonus">+1</option><option value="0" selected="selected">0</option><option value="1" class="option-penalty" title="Penalty">-1</option><option value="2" class="option-penalty" title="Penalty">-2</option><option value="3" class="option-penalty" title="Penalty">-3</option><option value="4" class="option-penalty" title="Penalty">-4</option><option value="5" class="option-penalty" title="Penalty">-5</option><option value="6" class="option-penalty" title="Penalty">-6</option><option value="7" class="option-penalty" title="Penalty">-7</option><option value="8" class="option-penalty" title="Penalty">-8</option><option value="9" class="option-penalty" title="Penalty">-9</option><option value="10" class="option-penalty" title="Penalty">-10</option></select> </span><span class="text-large">±</span> <span><select class="width-small" name="attr_savepetrificationpolymorph_ability_mod" title="@{savepetrificationpolymorph_ability_mod}"><option value="-10" class="option-bonus" title="Bonus">+10</option><option value="-9" class="option-bonus" title="Bonus">+9</option><option value="-8" class="option-bonus" title="Bonus">+8</option><option value="-7" class="option-bonus" title="Bonus">+7</option><option value="-6" class="option-bonus" title="Bonus">+6</option><option value="-5" class="option-bonus" title="Bonus">+5</option><option value="-4" class="option-bonus" title="Bonus">+4</option><option value="-3" class="option-bonus" title="Bonus">+3</option><option value="-2" class="option-bonus" title="Bonus">+2</option><option value="-1" class="option-bonus" title="Bonus">+1</option><option value="0" selected="selected">0</option><option value="1" class="option-penalty" title="Penalty">-1</option><option value="2" class="option-penalty" title="Penalty">-2</option><option value="3" class="option-penalty" title="Penalty">-3</option><option value="4" class="option-penalty" title="Penalty">-4</option><option value="5" class="option-penalty" title="Penalty">-5</option><option value="6" class="option-penalty" title="Penalty">-6</option><option value="7" class="option-penalty" title="Penalty">-7</option><option value="8" class="option-penalty" title="Penalty">-8</option><option value="9" class="option-penalty" title="Penalty">-9</option><option value="10" class="option-penalty" title="Penalty">-10</option></select> </span><span class="text-large">±</span> <span><select class="width-small" name="attr_savepetrificationpolymorph_misc_mod" title="@{savepetrificationpolymorph_misc_mod}"><option value="-10" class="option-bonus" title="Bonus">+10</option><option value="-9" class="option-bonus" title="Bonus">+9</option><option value="-8" class="option-bonus" title="Bonus">+8</option><option value="-7" class="option-bonus" title="Bonus">+7</option><option value="-6" class="option-bonus" title="Bonus">+6</option><option value="-5" class="option-bonus" title="Bonus">+5</option><option value="-4" class="option-bonus" title="Bonus">+4</option><option value="-3" class="option-bonus" title="Bonus">+3</option><option value="-2" class="option-bonus" title="Bonus">+2</option><option value="-1" class="option-bonus" title="Bonus">+1</option><option value="0" selected="selected">0</option><option value="1" class="option-penalty" title="Penalty">-1</option><option value="2" class="option-penalty" title="Penalty">-2</option><option value="3" class="option-penalty" title="Penalty">-3</option><option value="4" class="option-penalty" title="Penalty">-4</option><option value="5" class="option-penalty" title="Penalty">-5</option><option value="6" class="option-penalty" title="Penalty">-6</option><option value="7" class="option-penalty" title="Penalty">-7</option><option value="8" class="option-penalty" title="Penalty">-8</option><option value="9" class="option-penalty" title="Penalty">-9</option><option value="10" class="option-penalty" title="Penalty">-10</option></select> </span><span class="text-large">±</span> <span><select class="width-small" name="attr_savepetrificationpolymorph_temp_mod" title="@{savepetrificationpolymorph_temp_mod}"><option value="-10" class="option-bonus" title="Bonus">+10</option><option value="-9" class="option-bonus" title="Bonus">+9</option><option value="-8" class="option-bonus" title="Bonus">+8</option><option value="-7" class="option-bonus" title="Bonus">+7</option><option value="-6" class="option-bonus" title="Bonus">+6</option><option value="-5" class="option-bonus" title="Bonus">+5</option><option value="-4" class="option-bonus" title="Bonus">+4</option><option value="-3" class="option-bonus" title="Bonus">+3</option><option value="-2" class="option-bonus" title="Bonus">+2</option><option value="-1" class="option-bonus" title="Bonus">+1</option><option value="0" selected="selected">0</option><option value="1" class="option-penalty" title="Penalty">-1</option><option value="2" class="option-penalty" title="Penalty">-2</option><option value="3" class="option-penalty" title="Penalty">-3</option><option value="4" class="option-penalty" title="Penalty">-4</option><option value="5" class="option-penalty" title="Penalty">-5</option><option value="6" class="option-penalty" title="Penalty">-6</option><option value="7" class="option-penalty" title="Penalty">-7</option><option value="8" class="option-penalty" title="Penalty">-8</option><option value="9" class="option-penalty" title="Penalty">-9</option><option value="10" class="option-penalty" title="Penalty">-10</option></select> </span></span><span class="saves-columns"><button class="saves-button text-only" type="roll" name="roll_saverodsstaveswands" title="%{selected|saverodsstaveswands}" value="@{whisper_pc} &{template:general} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=Rods, Staves, or Wands}} {{roll_high=[[ 1d20 + [[ ?{Modifier?|0} ]][MOD] ]]}} {{roll_target=[[@{saverodsstaveswands}]]}} {{mod_applied=[[ ?{Modifier?|0} ]]}}"><span>Rods, Staves, or Wands</span></button> <span title="@{saverodsstaveswands}"><input type="text" class="width-smaller field-border readonly-span" name="attr_saverodsstaveswands" title="@{saverodsstaveswands}" value="20"></span><span class="text-large">=</span> <span><input type="text" class="width-smaller" name="attr_saverodsstaveswands_base" title="@{saverodsstaveswands_base}" value="20"></span><span class="text-large">±</span> <span><select class="width-small" name="attr_saverodsstaveswands_racial_mod" title="@{saverodsstaveswands_racial_mod}"><option value="-10" class="option-bonus" title="Bonus">+10</option><option value="-9" class="option-bonus" title="Bonus">+9</option><option value="-8" class="option-bonus" title="Bonus">+8</option><option value="-7" class="option-bonus" title="Bonus">+7</option><option value="-6" class="option-bonus" title="Bonus">+6</option><option value="-5" class="option-bonus" title="Bonus">+5</option><option value="-4" class="option-bonus" title="Bonus">+4</option><option value="-3" class="option-bonus" title="Bonus">+3</option><option value="-2" class="option-bonus" title="Bonus">+2</option><option value="-1" class="option-bonus" title="Bonus">+1</option><option value="0" selected="selected">0</option><option value="1" class="option-penalty" title="Penalty">-1</option><option value="2" class="option-penalty" title="Penalty">-2</option><option value="3" class="option-penalty" title="Penalty">-3</option><option value="4" class="option-penalty" title="Penalty">-4</option><option value="5" class="option-penalty" title="Penalty">-5</option><option value="6" class="option-penalty" title="Penalty">-6</option><option value="7" class="option-penalty" title="Penalty">-7</option><option value="8" class="option-penalty" title="Penalty">-8</option><option value="9" class="option-penalty" title="Penalty">-9</option><option value="10" class="option-penalty" title="Penalty">-10</option></select> </span><span class="text-large">±</span> <span><select class="width-small" name="attr_saverodsstaveswands_ability_mod" title="@{saverodsstaveswands_ability_mod}"><option value="-10" class="option-bonus" title="Bonus">+10</option><option value="-9" class="option-bonus" title="Bonus">+9</option><option value="-8" class="option-bonus" title="Bonus">+8</option><option value="-7" class="option-bonus" title="Bonus">+7</option><option value="-6" class="option-bonus" title="Bonus">+6</option><option value="-5" class="option-bonus" title="Bonus">+5</option><option value="-4" class="option-bonus" title="Bonus">+4</option><option value="-3" class="option-bonus" title="Bonus">+3</option><option value="-2" class="option-bonus" title="Bonus">+2</option><option value="-1" class="option-bonus" title="Bonus">+1</option><option value="0" selected="selected">0</option><option value="1" class="option-penalty" title="Penalty">-1</option><option value="2" class="option-penalty" title="Penalty">-2</option><option value="3" class="option-penalty" title="Penalty">-3</option><option value="4" class="option-penalty" title="Penalty">-4</option><option value="5" class="option-penalty" title="Penalty">-5</option><option value="6" class="option-penalty" title="Penalty">-6</option><option value="7" class="option-penalty" title="Penalty">-7</option><option value="8" class="option-penalty" title="Penalty">-8</option><option value="9" class="option-penalty" title="Penalty">-9</option><option value="10" class="option-penalty" title="Penalty">-10</option></select> </span><span class="text-large">±</span> <span><select class="width-small" name="attr_saverodsstaveswands_misc_mod" title="@{saverodsstaveswands_misc_mod}"><option value="-10" class="option-bonus" title="Bonus">+10</option><option value="-9" class="option-bonus" title="Bonus">+9</option><option value="-8" class="option-bonus" title="Bonus">+8</option><option value="-7" class="option-bonus" title="Bonus">+7</option><option value="-6" class="option-bonus" title="Bonus">+6</option><option value="-5" class="option-bonus" title="Bonus">+5</option><option value="-4" class="option-bonus" title="Bonus">+4</option><option value="-3" class="option-bonus" title="Bonus">+3</option><option value="-2" class="option-bonus" title="Bonus">+2</option><option value="-1" class="option-bonus" title="Bonus">+1</option><option value="0" selected="selected">0</option><option value="1" class="option-penalty" title="Penalty">-1</option><option value="2" class="option-penalty" title="Penalty">-2</option><option value="3" class="option-penalty" title="Penalty">-3</option><option value="4" class="option-penalty" title="Penalty">-4</option><option value="5" class="option-penalty" title="Penalty">-5</option><option value="6" class="option-penalty" title="Penalty">-6</option><option value="7" class="option-penalty" title="Penalty">-7</option><option value="8" class="option-penalty" title="Penalty">-8</option><option value="9" class="option-penalty" title="Penalty">-9</option><option value="10" class="option-penalty" title="Penalty">-10</option></select> </span><span class="text-large">±</span> <span><select class="width-small" name="attr_saverodsstaveswands_temp_mod" title="@{saverodsstaveswands_temp_mod}"><option value="-10" class="option-bonus" title="Bonus">+10</option><option value="-9" class="option-bonus" title="Bonus">+9</option><option value="-8" class="option-bonus" title="Bonus">+8</option><option value="-7" class="option-bonus" title="Bonus">+7</option><option value="-6" class="option-bonus" title="Bonus">+6</option><option value="-5" class="option-bonus" title="Bonus">+5</option><option value="-4" class="option-bonus" title="Bonus">+4</option><option value="-3" class="option-bonus" title="Bonus">+3</option><option value="-2" class="option-bonus" title="Bonus">+2</option><option value="-1" class="option-bonus" title="Bonus">+1</option><option value="0" selected="selected">0</option><option value="1" class="option-penalty" title="Penalty">-1</option><option value="2" class="option-penalty" title="Penalty">-2</option><option value="3" class="option-penalty" title="Penalty">-3</option><option value="4" class="option-penalty" title="Penalty">-4</option><option value="5" class="option-penalty" title="Penalty">-5</option><option value="6" class="option-penalty" title="Penalty">-6</option><option value="7" class="option-penalty" title="Penalty">-7</option><option value="8" class="option-penalty" title="Penalty">-8</option><option value="9" class="option-penalty" title="Penalty">-9</option><option value="10" class="option-penalty" title="Penalty">-10</option></select> </span></span><span class="saves-columns"><button class="saves-button text-only" type="roll" name="roll_savebreathweapons" title="%{selected|savebreathweapons}" value="@{whisper_pc} &{template:general} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=Breath Weapon}} {{roll_high=[[ 1d20 + [[ ?{Modifier?|0} ]][MOD] ]]}} {{roll_target=[[@{savebreathweapons}]]}} {{mod_applied=[[ ?{Modifier?|0} ]]}}"><span>Breath Weapon</span></button> <span title="@{savebreathweapons}"><input type="text" class="width-smaller field-border readonly-span" name="attr_savebreathweapons" title="@{savebreathweapons}" value="20"></span><span class="text-large">=</span> <span><input type="text" class="width-smaller" name="attr_savebreathweapons_base" title="@{savebreathweapons_base}" value="20"></span><span class="text-large">±</span> <span><select class="width-small" name="attr_savebreathweapons_racial_mod" title="@{savebreathweapons_racial_mod}"><option value="-10" class="option-bonus" title="Bonus">+10</option><option value="-9" class="option-bonus" title="Bonus">+9</option><option value="-8" class="option-bonus" title="Bonus">+8</option><option value="-7" class="option-bonus" title="Bonus">+7</option><option value="-6" class="option-bonus" title="Bonus">+6</option><option value="-5" class="option-bonus" title="Bonus">+5</option><option value="-4" class="option-bonus" title="Bonus">+4</option><option value="-3" class="option-bonus" title="Bonus">+3</option><option value="-2" class="option-bonus" title="Bonus">+2</option><option value="-1" class="option-bonus" title="Bonus">+1</option><option value="0" selected="selected">0</option><option value="1" class="option-penalty" title="Penalty">-1</option><option value="2" class="option-penalty" title="Penalty">-2</option><option value="3" class="option-penalty" title="Penalty">-3</option><option value="4" class="option-penalty" title="Penalty">-4</option><option value="5" class="option-penalty" title="Penalty">-5</option><option value="6" class="option-penalty" title="Penalty">-6</option><option value="7" class="option-penalty" title="Penalty">-7</option><option value="8" class="option-penalty" title="Penalty">-8</option><option value="9" class="option-penalty" title="Penalty">-9</option><option value="10" class="option-penalty" title="Penalty">-10</option></select> </span><span class="text-large">±</span> <span><select class="width-small" name="attr_savebreathweapons_ability_mod" title="@{savebreathweapons_ability_mod}"><option value="-10" class="option-bonus" title="Bonus">+10</option><option value="-9" class="option-bonus" title="Bonus">+9</option><option value="-8" class="option-bonus" title="Bonus">+8</option><option value="-7" class="option-bonus" title="Bonus">+7</option><option value="-6" class="option-bonus" title="Bonus">+6</option><option value="-5" class="option-bonus" title="Bonus">+5</option><option value="-4" class="option-bonus" title="Bonus">+4</option><option value="-3" class="option-bonus" title="Bonus">+3</option><option value="-2" class="option-bonus" title="Bonus">+2</option><option value="-1" class="option-bonus" title="Bonus">+1</option><option value="0" selected="selected">0</option><option value="1" class="option-penalty" title="Penalty">-1</option><option value="2" class="option-penalty" title="Penalty">-2</option><option value="3" class="option-penalty" title="Penalty">-3</option><option value="4" class="option-penalty" title="Penalty">-4</option><option value="5" class="option-penalty" title="Penalty">-5</option><option value="6" class="option-penalty" title="Penalty">-6</option><option value="7" class="option-penalty" title="Penalty">-7</option><option value="8" class="option-penalty" title="Penalty">-8</option><option value="9" class="option-penalty" title="Penalty">-9</option><option value="10" class="option-penalty" title="Penalty">-10</option></select> </span><span class="text-large">±</span> <span><select class="width-small" name="attr_savebreathweapons_misc_mod" title="@{savebreathweapons_misc_mod}"><option value="-10" class="option-bonus" title="Bonus">+10</option><option value="-9" class="option-bonus" title="Bonus">+9</option><option value="-8" class="option-bonus" title="Bonus">+8</option><option value="-7" class="option-bonus" title="Bonus">+7</option><option value="-6" class="option-bonus" title="Bonus">+6</option><option value="-5" class="option-bonus" title="Bonus">+5</option><option value="-4" class="option-bonus" title="Bonus">+4</option><option value="-3" class="option-bonus" title="Bonus">+3</option><option value="-2" class="option-bonus" title="Bonus">+2</option><option value="-1" class="option-bonus" title="Bonus">+1</option><option value="0" selected="selected">0</option><option value="1" class="option-penalty" title="Penalty">-1</option><option value="2" class="option-penalty" title="Penalty">-2</option><option value="3" class="option-penalty" title="Penalty">-3</option><option value="4" class="option-penalty" title="Penalty">-4</option><option value="5" class="option-penalty" title="Penalty">-5</option><option value="6" class="option-penalty" title="Penalty">-6</option><option value="7" class="option-penalty" title="Penalty">-7</option><option value="8" class="option-penalty" title="Penalty">-8</option><option value="9" class="option-penalty" title="Penalty">-9</option><option value="10" class="option-penalty" title="Penalty">-10</option></select> </span><span class="text-large">±</span> <span><select class="width-small" name="attr_savebreathweapons_temp_mod" title="@{savebreathweapons_temp_mod}"><option value="-10" class="option-bonus" title="Bonus">+10</option><option value="-9" class="option-bonus" title="Bonus">+9</option><option value="-8" class="option-bonus" title="Bonus">+8</option><option value="-7" class="option-bonus" title="Bonus">+7</option><option value="-6" class="option-bonus" title="Bonus">+6</option><option value="-5" class="option-bonus" title="Bonus">+5</option><option value="-4" class="option-bonus" title="Bonus">+4</option><option value="-3" class="option-bonus" title="Bonus">+3</option><option value="-2" class="option-bonus" title="Bonus">+2</option><option value="-1" class="option-bonus" title="Bonus">+1</option><option value="0" selected="selected">0</option><option value="1" class="option-penalty" title="Penalty">-1</option><option value="2" class="option-penalty" title="Penalty">-2</option><option value="3" class="option-penalty" title="Penalty">-3</option><option value="4" class="option-penalty" title="Penalty">-4</option><option value="5" class="option-penalty" title="Penalty">-5</option><option value="6" class="option-penalty" title="Penalty">-6</option><option value="7" class="option-penalty" title="Penalty">-7</option><option value="8" class="option-penalty" title="Penalty">-8</option><option value="9" class="option-penalty" title="Penalty">-9</option><option value="10" class="option-penalty" title="Penalty">-10</option></select> </span></span><span class="saves-columns"><button class="saves-button text-only" type="roll" name="roll_savespells" title="%{selected|savespells}" value="@{whisper_pc} &{template:general} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=Spells}} {{roll_high=[[ 1d20 + [[ ?{Modifier?|0} ]][MOD] ]]}} {{roll_target=[[@{savespells}]]}} {{mod_applied=[[ ?{Modifier?|0} ]]}}"><span>Spells</span></button> <span title="@{savespells}"><input type="text" class="width-smaller field-border readonly-span" name="attr_savespells" title="@{savespells}" value="20"></span><span class="text-large">=</span> <span><input type="text" class="width-smaller" name="attr_savespells_base" title="@{savespells_base}" value="20"></span><span class="text-large">±</span> <span><select class="width-small" name="attr_savespells_racial_mod" title="@{savespells_racial_mod}"><option value="-10" class="option-bonus" title="Bonus">+10</option><option value="-9" class="option-bonus" title="Bonus">+9</option><option value="-8" class="option-bonus" title="Bonus">+8</option><option value="-7" class="option-bonus" title="Bonus">+7</option><option value="-6" class="option-bonus" title="Bonus">+6</option><option value="-5" class="option-bonus" title="Bonus">+5</option><option value="-4" class="option-bonus" title="Bonus">+4</option><option value="-3" class="option-bonus" title="Bonus">+3</option><option value="-2" class="option-bonus" title="Bonus">+2</option><option value="-1" class="option-bonus" title="Bonus">+1</option><option value="0" selected="selected">0</option><option value="1" class="option-penalty" title="Penalty">-1</option><option value="2" class="option-penalty" title="Penalty">-2</option><option value="3" class="option-penalty" title="Penalty">-3</option><option value="4" class="option-penalty" title="Penalty">-4</option><option value="5" class="option-penalty" title="Penalty">-5</option><option value="6" class="option-penalty" title="Penalty">-6</option><option value="7" class="option-penalty" title="Penalty">-7</option><option value="8" class="option-penalty" title="Penalty">-8</option><option value="9" class="option-penalty" title="Penalty">-9</option><option value="10" class="option-penalty" title="Penalty">-10</option></select> </span><span class="text-large">±</span> <span><select class="width-small" name="attr_savespells_ability_mod" title="@{savespells_ability_mod}"><option value="-10" class="option-bonus" title="Bonus">+10</option><option value="-9" class="option-bonus" title="Bonus">+9</option><option value="-8" class="option-bonus" title="Bonus">+8</option><option value="-7" class="option-bonus" title="Bonus">+7</option><option value="-6" class="option-bonus" title="Bonus">+6</option><option value="-5" class="option-bonus" title="Bonus">+5</option><option value="-4" class="option-bonus" title="Bonus">+4</option><option value="-3" class="option-bonus" title="Bonus">+3</option><option value="-2" class="option-bonus" title="Bonus">+2</option><option value="-1" class="option-bonus" title="Bonus">+1</option><option value="0" selected="selected">0</option><option value="1" class="option-penalty" title="Penalty">-1</option><option value="2" class="option-penalty" title="Penalty">-2</option><option value="3" class="option-penalty" title="Penalty">-3</option><option value="4" class="option-penalty" title="Penalty">-4</option><option value="5" class="option-penalty" title="Penalty">-5</option><option value="6" class="option-penalty" title="Penalty">-6</option><option value="7" class="option-penalty" title="Penalty">-7</option><option value="8" class="option-penalty" title="Penalty">-8</option><option value="9" class="option-penalty" title="Penalty">-9</option><option value="10" class="option-penalty" title="Penalty">-10</option></select> </span><span class="text-large">±</span> <span><select class="width-small" name="attr_savespells_misc_mod" title="@{savespells_misc_mod}"><option value="-10" class="option-bonus" title="Bonus">+10</option><option value="-9" class="option-bonus" title="Bonus">+9</option><option value="-8" class="option-bonus" title="Bonus">+8</option><option value="-7" class="option-bonus" title="Bonus">+7</option><option value="-6" class="option-bonus" title="Bonus">+6</option><option value="-5" class="option-bonus" title="Bonus">+5</option><option value="-4" class="option-bonus" title="Bonus">+4</option><option value="-3" class="option-bonus" title="Bonus">+3</option><option value="-2" class="option-bonus" title="Bonus">+2</option><option value="-1" class="option-bonus" title="Bonus">+1</option><option value="0" selected="selected">0</option><option value="1" class="option-penalty" title="Penalty">-1</option><option value="2" class="option-penalty" title="Penalty">-2</option><option value="3" class="option-penalty" title="Penalty">-3</option><option value="4" class="option-penalty" title="Penalty">-4</option><option value="5" class="option-penalty" title="Penalty">-5</option><option value="6" class="option-penalty" title="Penalty">-6</option><option value="7" class="option-penalty" title="Penalty">-7</option><option value="8" class="option-penalty" title="Penalty">-8</option><option value="9" class="option-penalty" title="Penalty">-9</option><option value="10" class="option-penalty" title="Penalty">-10</option></select> </span><span class="text-large">±</span> <span><select class="width-small" name="attr_savespells_temp_mod" title="@{savespells_temp_mod}"><option value="-10" class="option-bonus" title="Bonus">+10</option><option value="-9" class="option-bonus" title="Bonus">+9</option><option value="-8" class="option-bonus" title="Bonus">+8</option><option value="-7" class="option-bonus" title="Bonus">+7</option><option value="-6" class="option-bonus" title="Bonus">+6</option><option value="-5" class="option-bonus" title="Bonus">+5</option><option value="-4" class="option-bonus" title="Bonus">+4</option><option value="-3" class="option-bonus" title="Bonus">+3</option><option value="-2" class="option-bonus" title="Bonus">+2</option><option value="-1" class="option-bonus" title="Bonus">+1</option><option value="0" selected="selected">0</option><option value="1" class="option-penalty" title="Penalty">-1</option><option value="2" class="option-penalty" title="Penalty">-2</option><option value="3" class="option-penalty" title="Penalty">-3</option><option value="4" class="option-penalty" title="Penalty">-4</option><option value="5" class="option-penalty" title="Penalty">-5</option><option value="6" class="option-penalty" title="Penalty">-6</option><option value="7" class="option-penalty" title="Penalty">-7</option><option value="8" class="option-penalty" title="Penalty">-8</option><option value="9" class="option-penalty" title="Penalty">-9</option><option value="10" class="option-penalty" title="Penalty">-10</option></select> </span></span><input type="checkbox" class="sect-show" name="attr_custom_saves_show" value="1"> <span class="subheader">Custom Saves</span><span class="material-icons"></span><div class="sect"><span class="saves-columns"><details><summary><span class="material-icons custom-btn-nav"></span> <button class="saves-button text-only" type="roll" name="roll_savemisc" title="%{selected|savemisc}" value="@{whisper_pc} &{template:general} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=@{savemisc_name}}} {{roll_high=[[ 1d20 + [[ ?{Modifier?|0} ]][MOD] ]]}} {{roll_target=[[@{savemisc}]]}} {{mod_applied=[[ ?{Modifier?|0} ]]}}"><span name="attr_savemisc_name"></span></button></summary><input type="text" class="width-fill" name="attr_savemisc_name" title="@{savemisc_name}" value="Custom..."></details><span title="@{savemisc}"><input type="text" class="width-smaller field-border readonly-span" name="attr_savemisc" title="@{savemisc}" value="20"></span><span class="text-large">=</span> <span><input type="text" class="width-smaller" name="attr_savemisc_base" title="@{savemisc_base}" value="20"></span><span class="text-large">±</span> <span><select class="width-small" name="attr_savemisc_racial_mod" title="@{savemisc_racial_mod}"><option value="-10" class="option-bonus" title="Bonus">+10</option><option value="-9" class="option-bonus" title="Bonus">+9</option><option value="-8" class="option-bonus" title="Bonus">+8</option><option value="-7" class="option-bonus" title="Bonus">+7</option><option value="-6" class="option-bonus" title="Bonus">+6</option><option value="-5" class="option-bonus" title="Bonus">+5</option><option value="-4" class="option-bonus" title="Bonus">+4</option><option value="-3" class="option-bonus" title="Bonus">+3</option><option value="-2" class="option-bonus" title="Bonus">+2</option><option value="-1" class="option-bonus" title="Bonus">+1</option><option value="0" selected="selected">0</option><option value="1" class="option-penalty" title="Penalty">-1</option><option value="2" class="option-penalty" title="Penalty">-2</option><option value="3" class="option-penalty" title="Penalty">-3</option><option value="4" class="option-penalty" title="Penalty">-4</option><option value="5" class="option-penalty" title="Penalty">-5</option><option value="6" class="option-penalty" title="Penalty">-6</option><option value="7" class="option-penalty" title="Penalty">-7</option><option value="8" class="option-penalty" title="Penalty">-8</option><option value="9" class="option-penalty" title="Penalty">-9</option><option value="10" class="option-penalty" title="Penalty">-10</option></select> </span><span class="text-large">±</span> <span><select class="width-small" name="attr_savemisc_ability_mod" title="@{savemisc_ability_mod}"><option value="-10" class="option-bonus" title="Bonus">+10</option><option value="-9" class="option-bonus" title="Bonus">+9</option><option value="-8" class="option-bonus" title="Bonus">+8</option><option value="-7" class="option-bonus" title="Bonus">+7</option><option value="-6" class="option-bonus" title="Bonus">+6</option><option value="-5" class="option-bonus" title="Bonus">+5</option><option value="-4" class="option-bonus" title="Bonus">+4</option><option value="-3" class="option-bonus" title="Bonus">+3</option><option value="-2" class="option-bonus" title="Bonus">+2</option><option value="-1" class="option-bonus" title="Bonus">+1</option><option value="0" selected="selected">0</option><option value="1" class="option-penalty" title="Penalty">-1</option><option value="2" class="option-penalty" title="Penalty">-2</option><option value="3" class="option-penalty" title="Penalty">-3</option><option value="4" class="option-penalty" title="Penalty">-4</option><option value="5" class="option-penalty" title="Penalty">-5</option><option value="6" class="option-penalty" title="Penalty">-6</option><option value="7" class="option-penalty" title="Penalty">-7</option><option value="8" class="option-penalty" title="Penalty">-8</option><option value="9" class="option-penalty" title="Penalty">-9</option><option value="10" class="option-penalty" title="Penalty">-10</option></select> </span><span class="text-large">±</span> <span><select class="width-small" name="attr_savemisc_misc_mod" title="@{savemisc_misc_mod}"><option value="-10" class="option-bonus" title="Bonus">+10</option><option value="-9" class="option-bonus" title="Bonus">+9</option><option value="-8" class="option-bonus" title="Bonus">+8</option><option value="-7" class="option-bonus" title="Bonus">+7</option><option value="-6" class="option-bonus" title="Bonus">+6</option><option value="-5" class="option-bonus" title="Bonus">+5</option><option value="-4" class="option-bonus" title="Bonus">+4</option><option value="-3" class="option-bonus" title="Bonus">+3</option><option value="-2" class="option-bonus" title="Bonus">+2</option><option value="-1" class="option-bonus" title="Bonus">+1</option><option value="0" selected="selected">0</option><option value="1" class="option-penalty" title="Penalty">-1</option><option value="2" class="option-penalty" title="Penalty">-2</option><option value="3" class="option-penalty" title="Penalty">-3</option><option value="4" class="option-penalty" title="Penalty">-4</option><option value="5" class="option-penalty" title="Penalty">-5</option><option value="6" class="option-penalty" title="Penalty">-6</option><option value="7" class="option-penalty" title="Penalty">-7</option><option value="8" class="option-penalty" title="Penalty">-8</option><option value="9" class="option-penalty" title="Penalty">-9</option><option value="10" class="option-penalty" title="Penalty">-10</option></select> </span><span class="text-large">±</span> <span><select class="width-small" name="attr_savemisc_temp_mod" title="@{savemisc_temp_mod}"><option value="-10" class="option-bonus" title="Bonus">+10</option><option value="-9" class="option-bonus" title="Bonus">+9</option><option value="-8" class="option-bonus" title="Bonus">+8</option><option value="-7" class="option-bonus" title="Bonus">+7</option><option value="-6" class="option-bonus" title="Bonus">+6</option><option value="-5" class="option-bonus" title="Bonus">+5</option><option value="-4" class="option-bonus" title="Bonus">+4</option><option value="-3" class="option-bonus" title="Bonus">+3</option><option value="-2" class="option-bonus" title="Bonus">+2</option><option value="-1" class="option-bonus" title="Bonus">+1</option><option value="0" selected="selected">0</option><option value="1" class="option-penalty" title="Penalty">-1</option><option value="2" class="option-penalty" title="Penalty">-2</option><option value="3" class="option-penalty" title="Penalty">-3</option><option value="4" class="option-penalty" title="Penalty">-4</option><option value="5" class="option-penalty" title="Penalty">-5</option><option value="6" class="option-penalty" title="Penalty">-6</option><option value="7" class="option-penalty" title="Penalty">-7</option><option value="8" class="option-penalty" title="Penalty">-8</option><option value="9" class="option-penalty" title="Penalty">-9</option><option value="10" class="option-penalty" title="Penalty">-10</option></select> </span></span><span class="saves-columns"><details><summary><span class="material-icons custom-btn-nav"></span> <button class="saves-button text-only" type="roll" name="roll_savemisc1" title="%{selected|savemisc1}" value="@{whisper_pc} &{template:general} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=@{savemisc1_name}}} {{roll_high=[[ 1d20 + [[ ?{Modifier?|0} ]][MOD] ]]}} {{roll_target=[[@{savemisc1}]]}} {{mod_applied=[[ ?{Modifier?|0} ]]}}"><span name="attr_savemisc1_name"></span></button></summary><input type="text" class="width-fill" name="attr_savemisc1_name" title="@{savemisc1_name}" value="Custom..."></details><span title="@{savemisc1}"><input type="text" class="width-smaller field-border readonly-span" name="attr_savemisc1" title="@{savemisc1}" value="20"></span><span class="text-large">=</span> <span><input type="text" class="width-smaller" name="attr_savemisc1_base" title="@{savemisc1_base}" value="20"></span><span class="text-large">±</span> <span><select class="width-small" name="attr_savemisc1_racial_mod" title="@{savemisc1_racial_mod}"><option value="-10" class="option-bonus" title="Bonus">+10</option><option value="-9" class="option-bonus" title="Bonus">+9</option><option value="-8" class="option-bonus" title="Bonus">+8</option><option value="-7" class="option-bonus" title="Bonus">+7</option><option value="-6" class="option-bonus" title="Bonus">+6</option><option value="-5" class="option-bonus" title="Bonus">+5</option><option value="-4" class="option-bonus" title="Bonus">+4</option><option value="-3" class="option-bonus" title="Bonus">+3</option><option value="-2" class="option-bonus" title="Bonus">+2</option><option value="-1" class="option-bonus" title="Bonus">+1</option><option value="0" selected="selected">0</option><option value="1" class="option-penalty" title="Penalty">-1</option><option value="2" class="option-penalty" title="Penalty">-2</option><option value="3" class="option-penalty" title="Penalty">-3</option><option value="4" class="option-penalty" title="Penalty">-4</option><option value="5" class="option-penalty" title="Penalty">-5</option><option value="6" class="option-penalty" title="Penalty">-6</option><option value="7" class="option-penalty" title="Penalty">-7</option><option value="8" class="option-penalty" title="Penalty">-8</option><option value="9" class="option-penalty" title="Penalty">-9</option><option value="10" class="option-penalty" title="Penalty">-10</option></select> </span><span class="text-large">±</span> <span><select class="width-small" name="attr_savemisc1_ability_mod" title="@{savemisc1_ability_mod}"><option value="-10" class="option-bonus" title="Bonus">+10</option><option value="-9" class="option-bonus" title="Bonus">+9</option><option value="-8" class="option-bonus" title="Bonus">+8</option><option value="-7" class="option-bonus" title="Bonus">+7</option><option value="-6" class="option-bonus" title="Bonus">+6</option><option value="-5" class="option-bonus" title="Bonus">+5</option><option value="-4" class="option-bonus" title="Bonus">+4</option><option value="-3" class="option-bonus" title="Bonus">+3</option><option value="-2" class="option-bonus" title="Bonus">+2</option><option value="-1" class="option-bonus" title="Bonus">+1</option><option value="0" selected="selected">0</option><option value="1" class="option-penalty" title="Penalty">-1</option><option value="2" class="option-penalty" title="Penalty">-2</option><option value="3" class="option-penalty" title="Penalty">-3</option><option value="4" class="option-penalty" title="Penalty">-4</option><option value="5" class="option-penalty" title="Penalty">-5</option><option value="6" class="option-penalty" title="Penalty">-6</option><option value="7" class="option-penalty" title="Penalty">-7</option><option value="8" class="option-penalty" title="Penalty">-8</option><option value="9" class="option-penalty" title="Penalty">-9</option><option value="10" class="option-penalty" title="Penalty">-10</option></select> </span><span class="text-large">±</span> <span><select class="width-small" name="attr_savemisc1_misc_mod" title="@{savemisc1_misc_mod}"><option value="-10" class="option-bonus" title="Bonus">+10</option><option value="-9" class="option-bonus" title="Bonus">+9</option><option value="-8" class="option-bonus" title="Bonus">+8</option><option value="-7" class="option-bonus" title="Bonus">+7</option><option value="-6" class="option-bonus" title="Bonus">+6</option><option value="-5" class="option-bonus" title="Bonus">+5</option><option value="-4" class="option-bonus" title="Bonus">+4</option><option value="-3" class="option-bonus" title="Bonus">+3</option><option value="-2" class="option-bonus" title="Bonus">+2</option><option value="-1" class="option-bonus" title="Bonus">+1</option><option value="0" selected="selected">0</option><option value="1" class="option-penalty" title="Penalty">-1</option><option value="2" class="option-penalty" title="Penalty">-2</option><option value="3" class="option-penalty" title="Penalty">-3</option><option value="4" class="option-penalty" title="Penalty">-4</option><option value="5" class="option-penalty" title="Penalty">-5</option><option value="6" class="option-penalty" title="Penalty">-6</option><option value="7" class="option-penalty" title="Penalty">-7</option><option value="8" class="option-penalty" title="Penalty">-8</option><option value="9" class="option-penalty" title="Penalty">-9</option><option value="10" class="option-penalty" title="Penalty">-10</option></select> </span><span class="text-large">±</span> <span><select class="width-small" name="attr_savemisc1_temp_mod" title="@{savemisc1_temp_mod}"><option value="-10" class="option-bonus" title="Bonus">+10</option><option value="-9" class="option-bonus" title="Bonus">+9</option><option value="-8" class="option-bonus" title="Bonus">+8</option><option value="-7" class="option-bonus" title="Bonus">+7</option><option value="-6" class="option-bonus" title="Bonus">+6</option><option value="-5" class="option-bonus" title="Bonus">+5</option><option value="-4" class="option-bonus" title="Bonus">+4</option><option value="-3" class="option-bonus" title="Bonus">+3</option><option value="-2" class="option-bonus" title="Bonus">+2</option><option value="-1" class="option-bonus" title="Bonus">+1</option><option value="0" selected="selected">0</option><option value="1" class="option-penalty" title="Penalty">-1</option><option value="2" class="option-penalty" title="Penalty">-2</option><option value="3" class="option-penalty" title="Penalty">-3</option><option value="4" class="option-penalty" title="Penalty">-4</option><option value="5" class="option-penalty" title="Penalty">-5</option><option value="6" class="option-penalty" title="Penalty">-6</option><option value="7" class="option-penalty" title="Penalty">-7</option><option value="8" class="option-penalty" title="Penalty">-8</option><option value="9" class="option-penalty" title="Penalty">-9</option><option value="10" class="option-penalty" title="Penalty">-10</option></select> </span></span><span class="saves-columns"><details><summary><span class="material-icons custom-btn-nav"></span> <button class="saves-button text-only" type="roll" name="roll_savemisc2" title="%{selected|savemisc2}" value="@{whisper_pc} &{template:general} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=@{savemisc2_name}}} {{roll_high=[[ 1d20 + [[ ?{Modifier?|0} ]][MOD] ]]}} {{roll_target=[[@{savemisc2}]]}} {{mod_applied=[[ ?{Modifier?|0} ]]}}"><span name="attr_savemisc2_name"></span></button></summary><input type="text" class="width-fill" name="attr_savemisc2_name" title="@{savemisc2_name}" value="Custom..."></details><span title="@{savemisc2}"><input type="text" class="width-smaller field-border readonly-span" name="attr_savemisc2" title="@{savemisc2}" value="20"></span><span class="text-large">=</span> <span><input type="text" class="width-smaller" name="attr_savemisc2_base" title="@{savemisc2_base}" value="20"></span><span class="text-large">±</span> <span><select class="width-small" name="attr_savemisc2_racial_mod" title="@{savemisc2_racial_mod}"><option value="-10" class="option-bonus" title="Bonus">+10</option><option value="-9" class="option-bonus" title="Bonus">+9</option><option value="-8" class="option-bonus" title="Bonus">+8</option><option value="-7" class="option-bonus" title="Bonus">+7</option><option value="-6" class="option-bonus" title="Bonus">+6</option><option value="-5" class="option-bonus" title="Bonus">+5</option><option value="-4" class="option-bonus" title="Bonus">+4</option><option value="-3" class="option-bonus" title="Bonus">+3</option><option value="-2" class="option-bonus" title="Bonus">+2</option><option value="-1" class="option-bonus" title="Bonus">+1</option><option value="0" selected="selected">0</option><option value="1" class="option-penalty" title="Penalty">-1</option><option value="2" class="option-penalty" title="Penalty">-2</option><option value="3" class="option-penalty" title="Penalty">-3</option><option value="4" class="option-penalty" title="Penalty">-4</option><option value="5" class="option-penalty" title="Penalty">-5</option><option value="6" class="option-penalty" title="Penalty">-6</option><option value="7" class="option-penalty" title="Penalty">-7</option><option value="8" class="option-penalty" title="Penalty">-8</option><option value="9" class="option-penalty" title="Penalty">-9</option><option value="10" class="option-penalty" title="Penalty">-10</option></select> </span><span class="text-large">±</span> <span><select class="width-small" name="attr_savemisc2_ability_mod" title="@{savemisc2_ability_mod}"><option value="-10" class="option-bonus" title="Bonus">+10</option><option value="-9" class="option-bonus" title="Bonus">+9</option><option value="-8" class="option-bonus" title="Bonus">+8</option><option value="-7" class="option-bonus" title="Bonus">+7</option><option value="-6" class="option-bonus" title="Bonus">+6</option><option value="-5" class="option-bonus" title="Bonus">+5</option><option value="-4" class="option-bonus" title="Bonus">+4</option><option value="-3" class="option-bonus" title="Bonus">+3</option><option value="-2" class="option-bonus" title="Bonus">+2</option><option value="-1" class="option-bonus" title="Bonus">+1</option><option value="0" selected="selected">0</option><option value="1" class="option-penalty" title="Penalty">-1</option><option value="2" class="option-penalty" title="Penalty">-2</option><option value="3" class="option-penalty" title="Penalty">-3</option><option value="4" class="option-penalty" title="Penalty">-4</option><option value="5" class="option-penalty" title="Penalty">-5</option><option value="6" class="option-penalty" title="Penalty">-6</option><option value="7" class="option-penalty" title="Penalty">-7</option><option value="8" class="option-penalty" title="Penalty">-8</option><option value="9" class="option-penalty" title="Penalty">-9</option><option value="10" class="option-penalty" title="Penalty">-10</option></select> </span><span class="text-large">±</span> <span><select class="width-small" name="attr_savemisc2_misc_mod" title="@{savemisc2_misc_mod}"><option value="-10" class="option-bonus" title="Bonus">+10</option><option value="-9" class="option-bonus" title="Bonus">+9</option><option value="-8" class="option-bonus" title="Bonus">+8</option><option value="-7" class="option-bonus" title="Bonus">+7</option><option value="-6" class="option-bonus" title="Bonus">+6</option><option value="-5" class="option-bonus" title="Bonus">+5</option><option value="-4" class="option-bonus" title="Bonus">+4</option><option value="-3" class="option-bonus" title="Bonus">+3</option><option value="-2" class="option-bonus" title="Bonus">+2</option><option value="-1" class="option-bonus" title="Bonus">+1</option><option value="0" selected="selected">0</option><option value="1" class="option-penalty" title="Penalty">-1</option><option value="2" class="option-penalty" title="Penalty">-2</option><option value="3" class="option-penalty" title="Penalty">-3</option><option value="4" class="option-penalty" title="Penalty">-4</option><option value="5" class="option-penalty" title="Penalty">-5</option><option value="6" class="option-penalty" title="Penalty">-6</option><option value="7" class="option-penalty" title="Penalty">-7</option><option value="8" class="option-penalty" title="Penalty">-8</option><option value="9" class="option-penalty" title="Penalty">-9</option><option value="10" class="option-penalty" title="Penalty">-10</option></select> </span><span class="text-large">±</span> <span><select class="width-small" name="attr_savemisc2_temp_mod" title="@{savemisc2_temp_mod}"><option value="-10" class="option-bonus" title="Bonus">+10</option><option value="-9" class="option-bonus" title="Bonus">+9</option><option value="-8" class="option-bonus" title="Bonus">+8</option><option value="-7" class="option-bonus" title="Bonus">+7</option><option value="-6" class="option-bonus" title="Bonus">+6</option><option value="-5" class="option-bonus" title="Bonus">+5</option><option value="-4" class="option-bonus" title="Bonus">+4</option><option value="-3" class="option-bonus" title="Bonus">+3</option><option value="-2" class="option-bonus" title="Bonus">+2</option><option value="-1" class="option-bonus" title="Bonus">+1</option><option value="0" selected="selected">0</option><option value="1" class="option-penalty" title="Penalty">-1</option><option value="2" class="option-penalty" title="Penalty">-2</option><option value="3" class="option-penalty" title="Penalty">-3</option><option value="4" class="option-penalty" title="Penalty">-4</option><option value="5" class="option-penalty" title="Penalty">-5</option><option value="6" class="option-penalty" title="Penalty">-6</option><option value="7" class="option-penalty" title="Penalty">-7</option><option value="8" class="option-penalty" title="Penalty">-8</option><option value="9" class="option-penalty" title="Penalty">-9</option><option value="10" class="option-penalty" title="Penalty">-10</option></select></span></span></div><span class="inline-label"><label class="inline-label width-auto"><button type="roll" name="roll_magicresistance_roll" class="dice-button text-only" title="%{selected|magicresistance_roll}" value="@{whisper_pc} &{template:general} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=Magic Resistance Notes}} {{freetext=@{magic_resistance}}}"><span>Magic Resistance Notes:</span></button></label> <textarea class="height-short" name="attr_magic_resistance" title="@{magic_resistance}" placeholder="Nil"></textarea> </span><span class="inline-label"><label class="inline-label width-auto"><button type="roll" name="roll_savingthrow_notes_roll" class="dice-button text-only" title="%{selected|savingthrow_notes_roll}" value="@{whisper_pc} &{template:general} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=Saving Throw Notes}} {{freetext=@{savingthrow_notes}}}"><span>Saving Throw Notes:</span></button></label> <textarea name="attr_savingthrow_notes" class="height-short" title="@{savingthrow_notes}" placeholder="Resistances, Immunities, Saving Throw adjustments, etc."></textarea></span></div><hr></section><section class="weapons-box"><input type="checkbox" class="sect-show" name="attr_weapons_info_show" value="1" checked="checked"><div class="header"><span class="hide-as-npc">ATTACKS</span> <span class="hide-as-pc">ATTACKS</span></div><span class="material-icons"></span><div class="weapons-proficiency-box border sect hide-as-npc linear-background"><h4 class="inline-label">Weapon Proficiency:</h4><label><span class="stack-text-wide">Initial # of Weapons:</span> <input type="text" class="width-small" name="attr_weapon_proficiency_initial" value="0" title="@{weapon_proficiency_initial}"></label> <label><span class="stack-text-wide">Non-Proficiency Penalty:</span> <select class="width-small" name="attr_weapon_proficiency_penalty" title="@{weapon_proficiency_penalty}"><option value="0">0</option><option value="-1">-1</option><option value="-2" selected="selected">-2</option><option value="-3">-3</option><option value="-4">-4</option><option value="-5">-5</option></select> <input type="number" class="hidden" name="attr_weapon_proficiency_penalty" value="-2"></label> <label class="span-two" style="align-items: center;"><span class="stack-text-wide">Added Proficiency every:</span> <input type="text" class="width-small" name="attr_weapon_proficiency_added_per_level" value="0" title="@{weapon_proficiency_added_per_level}"> <span>Levels</span></label> <span></span> <label><span>Total</span> <input type="text" class="width-small" name="attr_weapon_proficiency_total" value="0" title="@{weapon_proficiency_total}"></label><h4 class="inline-label">Weapons:</h4><label class="span-six"><textarea class="height-short" name="attr_weapon_proficiency_list" title="@{weapon_proficiency_list}" placeholder="List weapon proficiencies"></textarea></label> <span class="span-all inline-label"><label title="@{meleebonus} | STR Melee attack adjustment."><span class="stack-text">To-Hit:</span> <input type="text" class="width-smaller" name="attr_meleebonus" value="0" readonly="readonly"></label> <label title="@{dmgbonus} | STR Melee attack Damage adjustment."><span class="stack-text">Damage:</span> <input type="text" class="width-smaller" name="attr_dmgbonus" value="0" readonly="readonly"></label> <label title="@{rangedbonus} | DEX Ranged attack 'To-Hit' adjustment."><span class="stack-text">Missile:</span> <input type="text" class="width-smaller" name="attr_rangedbonus" value="0" readonly="readonly"></label> <label class="inline-label"><span>Dual-Wield Pen:</span></label> <label title="@{dual_pen_primary} | -2 and adjusted as per Dexterity. Auto-calculated based on Dexterity."><span class="stack-text">Primary:</span> <input type="text" class="width-smaller" name="attr_dual_pen_primary" value="0" readonly="readonly"></label> <label title="@{dual_pen_secondary} | -4 and adjusted as per Dexterity. Auto-calculated based on Dexterity."><span class="stack-text">Secondary:</span> <input type="text" class="width-smaller" name="attr_dual_pen_secondary" value="0" readonly="readonly"></label> </span><label class="span-two inline-label" title="@{weapon_in_use} | Current weapon In-Use/Armed. If multiple attack rows are 'In-Use', the fastest weapon will be used here."><span>Weapon In-Use:</span> <input type="text" class="width-large" name="attr_weapon_in_use" value="" placeholder="n/a" readonly="readonly"></label> <label class="inline-label" title="@{weapon_in_use_speed} | Weapon Speed Factor."><span>Weapon Speed:</span> <input type="text" class="width-small" name="attr_weapon_in_use_speed" value="" placeholder="n/a" readonly="readonly"></label> <label class="inline-label" title="@{weapon_in_use_misc} | Weapon Misc."><span>Weapon Misc.:</span> <input type="text" class="width-small" name="attr_weapon_in_use_misc" value="" placeholder="n/a" readonly="readonly"></label></div><div class="sect" style="margin-top: -.5em;"><input type="checkbox" class="hidden toggle-input-attention" name="attr_attack_matrix_flag" value="1" checked="checked"> <span class="material-icons" title="Attack tables have not been set!">nearby_error</span> <input type="checkbox" class="hidden toggle-to-hit-table" name="attr_toggle_to_hit_table" value="1"> <input type="checkbox" class="sect-show" name="attr_matrix_info_show" value="1" style="margin-top: .75em;" title="Enter To-Hit Armor Class Table data." checked="checked"><div class="subheader"><span class="material-icons grid"></span> <span class="matrix-box label-matrix">ATTACK MATRIX</span> <span class="thac0-box label-matrix" title="Enter THAC0 data">THAC0</span></div><span class="material-icons"></span><div class="sect border"><input type="checkbox" class="toggle-matrix-autofill hidden" name="attr_autofill_matrix" value="1" checked="checked"> <input type="checkbox" class="toggle-sync-class hidden" name="attr_sync_matrix_class" value="1"> <input type="hidden" class="toggle-fighter5 hidden" name="attr_matrix_class" value="0"> <input type="checkbox" class="toggle-matrixhd hidden" name="attr_toggle_matrixhd" value="1"><div class="matrix-class"><label class="inline-label" title="@{autofill_matrix} | Let the sheet auto-fill the to-hit tables when the class and level selectors are changed in the attack Matrix window. NOTE: The Autofill Table option uses the 1e table data to establish the base THAC0, but it does not use the repeating 20's."><span>Autofill Table:</span> <input type="checkbox" name="attr_autofill_matrix" value="1" checked="checked"></label> <label class="show-sync-class"></label> <label class="show-sync-class"><span>Class</span></label> <label class="matrix-level"><span>Level</span></label> <label class="matrix-hd"><span>HD/Lvl</span></label> <label><span>Use Table</span></label> <label class="fighter5 matrix-level" title="@{toggle_fighter5} | Use a 5% progression to-Hit table. This is a Fighter only option and will have no effect for other classes." style="margin-inline: auto;"><span>Use 5%</span> <input type="checkbox" class="hidden" name="attr_toggle_fighter5" value="1"></label> <label></label> <label class="inline-label" title="@{sync_matrix_class} | Linking to a class will automatically adjust the to-Hit values when the linked class level changes. Note: multi-class/dual-class characters should pick the most favorable class. Defaults to Class 1 of 3 if enabled."><span>Sync to Class:</span> <input type="checkbox" name="attr_sync_matrix_class" value="1"></label> <label class="show-sync-class"><select class="class-selected border" name="attr_class_selected" title="@{class_selected} | Linking to a class will automatically adjust the to-Hit values when the linked class level changes. Note: multi-class/dual-class characters should pick the most favorable class."><option value="1" selected="selected">Class 1</option><option value="2">Class 2</option><option value="3">Class 3</option></select></label> <label class="show-sync-class"><input type="hidden" class="class-selected" name="attr_class_selected" value="1"> <input class="show-class1-name" name="attr_class" title="@{class}" placeholder="n/a" readonly="readonly"> <input class="show-class2-name" name="attr_secondclass" title="@{secondclass}" placeholder="n/a" readonly="readonly"> <input class="show-class3-name" name="attr_thirdclass" title="@{thirdclass}" placeholder="n/a" readonly="readonly"></label> <label class="matrix-level show-sync-class"><input class="width-small border" type="number" name="attr_matrix_level" value="1" title="@{matrix_level}" readonly="readonly"></label> <label class="matrix-level show-when-not-synced"><input class="width-small border" type="number" name="attr_matrix_level" value="1" title="@{matrix_level}"></label> <label class="matrix-hd"><select class="width-small-plus border" name="attr_matrix_hitdice" title="@{matrix_hitdice}"><option value="0" selected="selected">Select HD/Lvl</option><option value="1">up to 1-1</option><option value="2">1-1</option><option value="3">1</option><option value="4">1+</option><option value="5">2-3+</option><option value="6">4-5+</option><option value="7">6-7+</option><option value="8">8-9+</option><option value="9">10-11+</option><option value="10">12-13+</option><option value="11">14-15+</option><option value="12">16+</option></select></label> <label class="width-auto show-sync-class" title="@{matrix_class}"><select class="border readonly" name="attr_matrix_class" style="pointer-events: none;"><option value="0" selected="selected" style="font-weight: bold;">Select a Class</option><option value="1">Cleric, Druid or Monk</option><option value="2">Fighter, Paladin, Ranger or Bard</option><option value="3">Magic-User or Illusionist</option><option value="4">Thief or Assassin</option><option value="6">0-lvl Halfling or Human</option><option value="5">Monster</option></select></label> <label class="width-auto show-when-not-synced"><select class="border" name="attr_matrix_class" title="@{matrix_class}"><option value="0" selected="selected" style="font-weight: bold;">Select a Class or Monster</option><option value="1">Cleric, Druid or Monk</option><option value="2">Fighter, Paladin, Ranger or Bard</option><option value="3">Magic-User or Illusionist</option><option value="4">Thief or Assassin</option><option value="6">0-lvl Halfling or Human</option><option value="5">Monster</option></select></label> <label class="fighter5 matrix-level" title="@{toggle_fighter5} | Use a 5% progression to-Hit table. This is a Fighter only option and will have no effect for other classes."><input type="checkbox" name="attr_toggle_fighter5" value="1"></label> <label></label></div><div class="matrix-box"><section><span class="to-hit center"><span>-10</span> <span>-9</span> <span>-8</span> <span>-7</span> <span>-6</span> <span>-5</span> <span>-4</span> <span>-3</span> <span>-2</span> <span>-1</span> <span>0</span> <span>1</span> <span>2</span> <span>3</span> <span>4</span> <span>5</span> <span>6</span> <span>7</span> <span>8</span> <span>9</span> <span>10</span> </span><span class="to-hit-input"><span><input type="text" name="attr_thac-10" title="@{thac-10}" value="20"></span><span><input type="text" name="attr_thac-9" title="@{thac-9}" value="20"></span><span><input type="text" name="attr_thac-8" title="@{thac-8}" value="20"></span><span><input type="text" name="attr_thac-7" title="@{thac-7}" value="20"></span><span><input type="text" name="attr_thac-6" title="@{thac-6}" value="20"></span><span><input type="text" name="attr_thac-5" title="@{thac-5}" value="20"></span><span><input type="text" name="attr_thac-4" title="@{thac-4}" value="20"></span><span><input type="text" name="attr_thac-3" title="@{thac-3}" value="20"></span><span><input type="text" name="attr_thac-2" title="@{thac-2}" value="20"></span><span><input type="text" name="attr_thac-1" title="@{thac-1}" value="20"></span><span><input type="text" name="attr_thac0" title="@{thac0}" value="20"></span><span><input type="text" name="attr_thac1" title="@{thac1}" value="20"></span><span><input type="text" name="attr_thac2" title="@{thac2}" value="20"></span><span><input type="text" name="attr_thac3" title="@{thac3}" value="20"></span><span><input type="text" name="attr_thac4" title="@{thac4}" value="20"></span><span><input type="text" name="attr_thac5" title="@{thac5}" value="20"></span><span><input type="text" name="attr_thac6" title="@{thac6}" value="20"></span><span><input type="text" name="attr_thac7" title="@{thac7}" value="20"></span><span><input type="text" name="attr_thac8" title="@{thac8}" value="20"></span><span><input type="text" name="attr_thac9" title="@{thac9}" value="20"></span><span><input type="text" name="attr_thac10" title="@{thac10}" value="20"></span></span></section></div><div class="thac0-box"><section><span class="to-hit center"><span>-10</span> <span>-9</span> <span>-8</span> <span>-7</span> <span>-6</span> <span>-5</span> <span>-4</span> <span>-3</span> <span>-2</span> <span>-1</span> <span>0</span> <span>1</span> <span>2</span> <span>3</span> <span>4</span> <span>5</span> <span>6</span> <span>7</span> <span>8</span> <span>9</span> <span>10</span> </span><span class="to-hit-input"><span><input type="text" name="attr_thac0-10" title="@{thac0-10}" value="20"></span><span><input type="text" name="attr_thac0-9" title="@{thac0-9}" value="20"></span><span><input type="text" name="attr_thac0-8" title="@{thac0-8}" value="20"></span><span><input type="text" name="attr_thac0-7" title="@{thac0-7}" value="20"></span><span><input type="text" name="attr_thac0-6" title="@{thac0-6}" value="20"></span><span><input type="text" name="attr_thac0-5" title="@{thac0-5}" value="20"></span><span><input type="text" name="attr_thac0-4" title="@{thac0-4}" value="20"></span><span><input type="text" name="attr_thac0-3" title="@{thac0-3}" value="20"></span><span><input type="text" name="attr_thac0-2" title="@{thac0-2}" value="20"></span><span><input type="text" name="attr_thac0-1" title="@{thac0-1}" value="20"></span><span><input type="text" name="attr_thac00" title="@{thac00}" value="20" style="font-weight:bold; border: 3px solid black;"></span><span><input type="text" name="attr_thac01" title="@{thac01}" value="20"></span><span><input type="text" name="attr_thac02" title="@{thac02}" value="20"></span><span><input type="text" name="attr_thac03" title="@{thac03}" value="20"></span><span><input type="text" name="attr_thac04" title="@{thac04}" value="20"></span><span><input type="text" name="attr_thac05" title="@{thac05}" value="20"></span><span><input type="text" name="attr_thac06" title="@{thac06}" value="20"></span><span><input type="text" name="attr_thac07" title="@{thac07}" value="20"></span><span><input type="text" name="attr_thac08" title="@{thac08}" value="20"></span><span><input type="text" name="attr_thac09" title="@{thac09}" value="20"></span><span><input type="text" name="attr_thac010" title="@{thac010}" value="20"></span></span></section></div></div></div><div class="sect"><input type="checkbox" class="hidden toggle-to-hit-table" name="attr_toggle_to_hit_table" value="1"><fieldset class="repeating_weapon"><input type="hidden" class="weapon-type-toggle" name="attr_weapon_attack_type_flag" value="0"> <input type="checkbox" class="hidden" name="attr_weapon_critdamage_flag" value="1"><div class="top-row border-top-half"><span class="weapons-row1 center"><button class="dice-button hide-as-npc" type="roll" name="attr_weapon_attack_roll" title="%{selected|repeating_weapon_$X_weapon_attack_roll} | PC Roll" value="@{whisper_pc} @{weapon_macro_text} @{weapon_whisper_to_hit}"></button> <button class="dice-button hide-as-pc" type="roll" name="attr_weapon_attack_npc_roll" title="%{selected|repeating_weapon_$X_weapon_attack_npc_roll} | NPC Roll" value="@{whisper_npc} @{weapon_macro_text} @{weapon_damage_chat_menu_npc} @{weapon_whisper_to_hit}"></button> <label class="label-under-small repeating-name"><input type="text" class="text-large" name="attr_weapon_name" title="@{repeating_weapon_$X_weapon_name}" placeholder="Enter Weapon"> <span>Name</span></label> <label class="label-under-small"><select name="attr_weapon_attack_type" class="select-over-label" title="@{repeating_weapon_$X_weapon_attack_type}"><option value="0" selected="selected">Melee</option><option value="1">Ranged</option><option value="2">Touch</option><option value="3">Ranged Touch</option></select> <span class="hide-overflowing-text">Attack Type</span></label> <label class="label-under-small toggle-backstab hide-if-ranged"><span class="two-inputs-over-label"><input type="checkbox" class="toggle-field" name="attr_weapon_backstab_flag" title="@{repeating_weapon_$X_weapon_backstab_flag}" value="1"> <input type="text" class="width-smaller" name="attr_weapon_backstab_var" value="0" title="@{repeating_weapon_$X_weapon_backstab_bonus} | Uses the @{backstab_bonus} from the Thief's section below." readonly="readonly"> <input type="number" class="hidden" name="attr_weapon_backstab_bonus" value="0"> </span><span title="Apply a Backstab bonus to the attack roll.">Backstab</span></label> <label class="label-under-small"><input type="text" class="width-medium" name="attr_weapon_tohitbonus" title="@{repeating_weapon_$X_weapon_tohitbonus}" value="0"> <span>To-Hit</span></label> <label class="label-under-small"><input type="text" class="width-medium" name="attr_weapon_magicbonus" title="@{repeating_weapon_$X_weapon_magicbonus}" value="0"> <span>Magic</span></label> <label class="label-under-small"><span class="two-inputs-over-label"><input type="checkbox" class="toggle-field" name="attr_weapon_prof_flag" title="@{repeating_weapon_$X_weapon_prof_flag}" value="1"> <input type="text" class="width-smaller" name="attr_weapon_prof" value="0" title="@{repeating_weapon_$X_weapon_prof_pen} | Uses the value from @{weapon_proficiency_penalty} from Weapon Proficiency section above." readonly="readonly"> <input type="number" class="hidden" name="attr_weapon_prof_pen" value="0"> </span><span class="nowrap" title="Non-Proficiency penalty will be applied to the attack roll.">NP Penalty</span></label> <label class="label-under-small center" title="Dual-wield attack? Defaults to Primary -2, Secondary -4 and then auto-calculated according to Dex."><span class="two-inputs-over-label"><select class="select-over-label" name="attr_weapon_dual" title="@{repeating_weapon_$X_weapon_dual}"><option value="" selected="selected">Normal</option><option value="Primary">Primary</option><option value="Secondary">Secondary</option></select> <input type="text" class="width-smaller" name="attr_weapon_dual_pen" title="@{repeating_weapon_$X_weapon_dual_pen}" value="0"> </span><span>Dual-Wield</span></label> <label></label> </span><span class="weapons-row2 center"><label class="inline-label" title="@{repeating_weapon_$X_weapon_use} | Weapon is armed."><input type="checkbox" name="attr_weapon_use" value="1"> <span class="label-under-small">In-Use</span></label><details class="small-damage"><summary><span class="material-icons custom-btn-nav toggle-critdamage" title="Open to Roll Crit Damage"></span> <input type="text" class="width-medium" name="attr_weapon_damagesmallmedium" title="@{repeating_weapon_$X_weapon_damagesmallmedium}" value="" placeholder="1d4"> <button class="text-only hide-as-npc" type="roll" name="roll_weapon_damagesmallmedium_roll" title="%{repeating_weapon_$X_weapon_damagesmallmedium_roll} | PC Roll" value="@{weapon_damagesmallmedium_macro_text}"><span class="dice-button nowrap">DMG S/M</span></button> <button class="text-only hide-as-pc" type="roll" name="roll_weapon_damagesmallmedium_npc_roll" title="%{repeating_weapon_$X_weapon_damagesmallmedium_npc_roll} | NPC Roll" value="@{weapon_damagesmallmedium_macro_npc_text}"><span class="dice-button nowrap">DMG S/M</span></button> <input type="hidden" name="attr_weapon_damagesmallmedium_chat_menu" value=""> <input type="hidden" name="attr_weapon_critdamagesmallmedium_chat_menu" value=""> <input type="hidden" name="attr_weapon_damagesmallmedium_npc_chat_menu" value=""> <input type="hidden" name="attr_weapon_critdamagesmallmedium_npc_chat_menu" value=""> <textarea class="hidden" name="attr_weapon_damagesmallmedium_macro_text">@{whisper_pc} &{template:attacks} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=@{weapon_name}}} {{damage1vsSM=[[ (@{weapon_damagesmallmedium}) * @{weapon_backstab_mult}[MULT] + ( @{weapon_attackdmgbonus}[DMG_BON] ) + ( @{weapon_magicbonus}[MAG_BON] ) + ( ?{Damage Modifier?|0}[MISC_MOD] ) ]]}} {{backstab=[[ @{weapon_backstab_mult} ]]}} {{damagetype=@{weapon_attackdmgtype}}}</textarea> <textarea class="hidden" name="attr_weapon_critdamagesmallmedium_macro_text">@{whisper_pc} &{template:attacks} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=@{weapon_name}}} {{damage1vsSM=[[ (@{weapon_critdamagesmallmedium}) * @{weapon_backstab_mult}[MULT] + ( @{weapon_attackdmgbonus}[DMG_BON] ) + ( @{weapon_magicbonus}[MAG_BON] ) + ( ?{Damage Modifier?|0}[MISC_MOD] ) ]]}} {{backstab=[[ @{weapon_backstab_mult} ]]}} {{damagetype=@{weapon_attackdmgtype}}} {{crit=[[ @{toggle_critdamage} ]]}}</textarea> <textarea class="hidden" name="attr_weapon_damagesmallmedium_macro_npc_text">@{whisper_npc} &{template:attacks} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=@{weapon_name}}} {{damage1vsSM=[[ (@{weapon_damagesmallmedium}) * @{weapon_backstab_mult}[MULT] + ( @{weapon_attackdmgbonus}[DMG_BON] ) + ( @{weapon_magicbonus}[MAG_BON] ) + ( ?{Damage Modifier?|0}[MISC_MOD] ) ]]}} {{backstab=[[ @{weapon_backstab_mult} ]]}} {{damagetype=@{weapon_attackdmgtype}}}</textarea> <textarea class="hidden" name="attr_weapon_critdamagesmallmedium_macro_npc_text">@{whisper_npc} &{template:attacks} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=@{weapon_name}}} {{damage1vsSM=[[ (@{weapon_critdamagesmallmedium}) * @{weapon_backstab_mult}[MULT] + ( @{weapon_attackdmgbonus}[DMG_BON] ) + ( @{weapon_magicbonus}[MAG_BON] ) + ( ?{Damage Modifier?|0}[MISC_MOD] ) ]]}} {{backstab=[[ @{weapon_backstab_mult} ]]}} {{damagetype=@{weapon_attackdmgtype}}} {{crit=[[ @{toggle_critdamage} ]]}}</textarea></summary><label class="label-under toggle-critdamage"><button class="text-only hide-as-npc" type="roll" name="roll_weapon_critdamagesmallmedium_roll" title="%{repeating_weapon_$X_weapon_critdamagesmallmedium_roll} | PC Roll" value="@{weapon_critdamagesmallmedium_macro_text}"><span class="dice-button nowrap">Roll Crit</span></button> <button class="text-only hide-as-pc" type="roll" name="roll_weapon_critdamagesmallmedium_npc_roll" title="%{repeating_weapon_$X_weapon_critdamagesmallmedium_npc_roll} | NPC Roll" value="@{weapon_critdamagesmallmedium_macro_npc_text}"><span class="dice-button nowrap">Roll Crit</span></button> <textarea class="height-short toggle-macros" name="attr_weapon_critdamagesmallmedium" title="@{repeating_weapon_$X_weapon_critdamagesmallmedium} | Crit Damage roll in lieu of normal damage roll. Defaults to x2 of the weapon's normal damage. ie @{weapon_damagesmallmedium}*2">(@{weapon_damagesmallmedium})*2</textarea></label></details><details class="large-damage"><summary><span class="material-icons custom-btn-nav toggle-critdamage"></span> <input type="text" class="width-medium" name="attr_weapon_damagelarge" title="@{repeating_weapon_$X_weapon_damagelarge}" value="" placeholder="1d6"> <button class="text-only hide-as-npc" type="roll" name="roll_weapon_damagelarge_roll" title="%{repeating_weapon_$X_weapon_damagelarge_roll} | PC Roll" value="@{weapon_damagelarge_macro_text}"><span class="dice-button nowrap">DMG LG</span></button> <button class="text-only hide-as-pc" type="roll" name="roll_weapon_damagelarge_npc_roll" title="%{repeating_weapon_$X_weapon_damagelarge_npc_roll} | NPC Roll" value="@{weapon_damagelarge_macro_npc_text}"><span class="dice-button nowrap">DMG LG</span></button> <input type="hidden" name="attr_weapon_damagelarge_chat_menu" value=""> <input type="hidden" name="attr_weapon_critdamagelarge_chat_menu" value=""> <input type="hidden" name="attr_weapon_damagelarge_npc_chat_menu" value=""> <input type="hidden" name="attr_weapon_critdamagelarge_npc_chat_menu" value=""> <textarea class="hidden" name="attr_weapon_damagelarge_macro_text">@{whisper_pc} &{template:attacks} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=@{weapon_name}}} {{damage1vsL=[[ (@{weapon_damagelarge}) * @{weapon_backstab_mult}[MULT] + ( @{weapon_attackdmgbonus}[DMG_BON] ) + ( @{weapon_magicbonus}[MAG_BON] ) + ( ?{Damage Modifier?|0}[MISC_MOD] ) ]]}} {{backstab=[[ @{weapon_backstab_mult} ]]}} {{damagetype=@{weapon_attackdmgtype}}}</textarea> <textarea class="hidden" name="attr_weapon_critdamagelarge_macro_text">@{whisper_pc} &{template:attacks} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=@{weapon_name}}} {{damage1vsL=[[ (@{weapon_critdamagelarge}) * @{weapon_backstab_mult}[MULT] + ( @{weapon_attackdmgbonus}[DMG_BON] ) + ( @{weapon_magicbonus}[MAG_BON] ) + ( ?{Damage Modifier?|0}[MISC_MOD] ) ]]}} {{backstab=[[ @{weapon_backstab_mult} ]]}} {{damagetype=@{weapon_attackdmgtype}}} {{crit=[[ @{toggle_critdamage} ]]}}</textarea> <textarea class="hidden" name="attr_weapon_damagelarge_macro_npc_text">@{whisper_npc} &{template:attacks} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=@{weapon_name}}} {{damage1vsL=[[ (@{weapon_damagelarge}) * @{weapon_backstab_mult}[MULT] + ( @{weapon_attackdmgbonus}[DMG_BON] ) + ( @{weapon_magicbonus}[MAG_BON] ) + ( ?{Damage Modifier?|0}[MISC_MOD] ) ]]}} {{backstab=[[ @{weapon_backstab_mult} ]]}} {{damagetype=@{weapon_attackdmgtype}}}</textarea> <textarea class="hidden" name="attr_weapon_critdamagelarge_macro_npc_text">@{whisper_npc} &{template:attacks} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=@{weapon_name}}} {{damage1vsL=[[ (@{weapon_critdamagelarge}) * @{weapon_backstab_mult}[MULT] + ( @{weapon_attackdmgbonus}[DMG_BON] ) + ( @{weapon_magicbonus}[MAG_BON] ) + ( ?{Damage Modifier?|0}[MISC_MOD] ) ]]}} {{backstab=[[ @{weapon_backstab_mult} ]]}} {{damagetype=@{weapon_attackdmgtype}}} {{crit=[[ @{toggle_critdamage} ]]}}</textarea></summary><label class="label-under toggle-critdamage"><button class="text-only hide-as-npc" type="roll" name="roll_weapon_critdamagelarge_roll" title="%{repeating_weapon_$X_weapon_critdamagelarge_roll} | PC Roll" value="@{weapon_critdamagelarge_macro_text}"><span class="dice-button nowrap">Roll Crit</span></button> <button class="text-only hide-as-pc" type="roll" name="roll_weapon_critdamagelarge_npc_roll" title="%{repeating_weapon_$X_weapon_critdamagelarge_npc_roll} | NPC Roll" value="@{weapon_critdamagelarge_macro_npc_text}"><span class="dice-button nowrap">Roll Crit</span></button> <textarea class="height-short toggle-macros" name="attr_weapon_critdamagelarge" title="@{repeating_weapon_$X_weapon_critdamagelarge} | Crit Damage roll instead of normal damage roll. Defaults to x2 of the weapon's normal damage. ie @{weapon_damagelarge}*2">(@{weapon_damagelarge})*2</textarea></label></details><input type="hidden" name="attr_weapon_damage_chat_menu_npc" value="{{damagevsSMchatmenu=@{weapon_damagesmallmedium_npc_chat_menu}}} {{damagevsLchatmenu=@{weapon_damagelarge_npc_chat_menu}}} {{critdamagevsSMchatmenu=@{weapon_critdamagesmallmedium_npc_chat_menu}}} {{critdamagevsLchatmenu=@{weapon_critdamagelarge_npc_chat_menu}}}"> <label class="label-under-small toggle-backstab hide-if-ranged center"><span class="two-inputs-over-label"><input type="checkbox" class="toggle-field" name="attr_weapon_backstab_flag" title="@{repeating_weapon_$X_weapon_backstab_flag}" value="1"> <input type="text" class="width-smaller" name="attr_weapon_backstab" value="1" title="@{repeating_weapon_$X_weapon_backstab_mult} | Uses the value from @{backstab} from the Thief Skills section below." readonly="readonly"> <input type="number" class="hidden" name="attr_weapon_backstab_mult" value="1"> </span><span class="hide-overflowing-text" title="Apply a multiplier to the weapon damage rolled.">Backstab Mult</span></label> <label class="label-under-small"><input type="text" class="width-medium" name="attr_weapon_attackdmgbonus" title="@{repeating_weapon_$X_weapon_attackdmgbonus}" value="0"> <span>DMG Adj.</span></label> <label class="label-under-small" title="@{repeating_weapon_$X_weapon_attackdmgtype} | (P)iercing, (S)lashing, (B)ludgeoning, etc."><input type="text" class="width-medium" name="attr_weapon_attackdmgtype" value="" placeholder="-"> <span>DMG Type</span></label> <label class="label-under-small hide-if-melee"><input type="text" class="width-small" name="attr_weapon_rateoffire" title="@{repeating_weapon_$X_weapon_rateoffire}" value="" placeholder="-"> <span>Rate</span></label> <input type="checkbox" class="hidden toggle-input-error" name="attr_weapon_range_error" value="1"> <label class="label-under-small hide-if-melee center"><input type="text" class="width-medium" name="attr_weapon_range" title="@{repeating_weapon_$X_weapon_range} | Enter Short/Medium/Long ranges. Enter numbers only, separated by '/'. Entering a single value will be used for all ranges." value="" placeholder="S/M/L"> <span class="hide-if-ranged-touch hide-overflowing-text">RNG S/M/L</span> <span class="ranged-touch">Range</span></label> <input type="text" class="hidden" name="attr_weapon_range_short" value="1"> <input type="text" class="hidden" name="attr_weapon_range_medium" value="2"> <input type="text" class="hidden" name="attr_weapon_range_long" value="3"> <label class="label-under-small hide-if-ranged"><input type="text" class="width-smaller" name="attr_weapon_num_attacks" value="1" title="@{repeating_weapon_$X_weapon_num_attacks} | Indicate the number of multiple attacks."> <span>#Attacks</span></label> <label class="label-under-small hide-if-melee"><span class="two-inputs-over-label"><input type="text" class="width-smallest" name="attr_weapon_ammo" value="0" title="@{repeating_weapon_$X_weapon_ammo} | Use for resource tracking."> <span>/</span> <input type="text" class="width-smallest" name="attr_weapon_ammo_max" value="0" title="@{repeating_weapon_$X_weapon_ammo_max} | Use for resource tracking."> </span><span>Ammo/Max</span></label> <label class="label-under-small"><input type="text" class="width-smaller" name="attr_weapon_quantity" value="1" title="@{repeating_weapon_$X_weapon_quantity}"> <span>QTY</span></label> <label class="label-under-small"><textarea class="hidden" name="attr_weapon_whisper_to_hit"></textarea> <select class="select-over-label" name="attr_weapon_whisper_to_hit_select" title="@{repeating_weapon_$X_weapon_whisper_to_hit_select}"><option value="0" class="matrix-box" selected="selected">Matrix</option><option value="1" class="thac0-box">THACO</option><option value="2">No</option></select> <span title="Include '/w gm Hit table'?">/w gm?</span></label> </span><input type="hidden" name="attr_weapon_dmgbonus" value="0"> <input type="hidden" name="attr_weapon_weight" value="0"> <input type="hidden" name="attr_weapon_cost" value="0"></div><details class="border-bottom-half"><summary><span class="material-icons gear-nav" title="Expand/Hide sub-section"></span></summary><span class="to-hit-adj-box"><span class="to-hit center"><input type="text" class="width-small" name="attr_weapon_speed" title="@{repeating_weapon_$X_weapon_speed}" value="" placeholder="-"> <input type="text" class="width-small" name="attr_weapon_length" title="@{repeating_weapon_$X_weapon_length}" value="" placeholder="-"> <input type="text" class="width-small" name="attr_weapon_space" title="@{repeating_weapon_$X_weapon_space}" value="" placeholder="-"> <input type="text" class="width-small" name="attr_weapon_misc" title="@{repeating_weapon_$X_weapon_misc}" value="" placeholder="-"><h5>Armor Type:</h5><span>0</span> <span>1</span> <span>2</span> <span>3</span> <span>4</span> <span>5</span> <span>6</span> <span>7</span> <span>8</span> <span>9</span> <span>10</span> <input type="checkbox" name="attr_weapon_tohitacadj_flag" title="@{repeating_weapon_$x_weapon_tohitacadj_flag}" value="1"> <input type="text" class="hidden" name="attr_weapon_tohitacadj" value="{{ToHitACadj2to10}}"> </span><span class="to-hit-input center"><label class="label-under-small">SPD</label> <label class="label-under-small">LEN</label> <label class="label-under-small">SPC</label> <label class="label-under-small">MISC</label><h5>Adjustment:</h5><span><input type="text" name="attr_weapon_thac_adj0" title="@{repeating_weapon_$x_weapon_thac_adj0}" value="0"></span><span><input type="text" name="attr_weapon_thac_adj1" title="@{repeating_weapon_$x_weapon_thac_adj1}" value="0"></span><span><input type="text" name="attr_weapon_thac_adj2" title="@{repeating_weapon_$x_weapon_thac_adj2}" value="0"></span><span><input type="text" name="attr_weapon_thac_adj3" title="@{repeating_weapon_$x_weapon_thac_adj3}" value="0"></span><span><input type="text" name="attr_weapon_thac_adj4" title="@{repeating_weapon_$x_weapon_thac_adj4}" value="0"></span><span><input type="text" name="attr_weapon_thac_adj5" title="@{repeating_weapon_$x_weapon_thac_adj5}" value="0"></span><span><input type="text" name="attr_weapon_thac_adj6" title="@{repeating_weapon_$x_weapon_thac_adj6}" value="0"></span><span><input type="text" name="attr_weapon_thac_adj7" title="@{repeating_weapon_$x_weapon_thac_adj7}" value="0"></span><span><input type="text" name="attr_weapon_thac_adj8" title="@{repeating_weapon_$x_weapon_thac_adj8}" value="0"></span><span><input type="text" name="attr_weapon_thac_adj9" title="@{repeating_weapon_$x_weapon_thac_adj9}" value="0"></span><span><input type="text" name="attr_weapon_thac_adj10" title="@{repeating_weapon_$x_weapon_thac_adj10}" value="0"></span><label class="label-under-small stack-text">show w/roll</label> </span></span><textarea class="height-short" name="attr_weapon_notes" title="@{repeating_weapon_$X_weapon_notes}" placeholder="Description"></textarea> <textarea class="height-short toggle-macros" name="attr_weapon_macro_text" title="@{repeating_weapon_$X_weapon_macro_text} | Caution: modifying the macro-text can break the roll. Deleting the macro-text will safely reset the roll to the sheet's default macro.">&{template:attacks} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=@{weapon_name}}} {{dual=@{weapon_dual}}} {{attack1=[[ 1d20 + ( @{weapon_backstab_bonus}[BACKSTAB] ) + ( @{weapon_tohitbonus}[HIT_BON] ) + ( @{weapon_prof_pen}[PROF_PEN] ) + ( @{weapon_dual_pen}[DUAL_PEN] ) + ( @{weapon_magicbonus}[MAG_BON] ) + ( ?{To Hit Modifier?|0}[MISC_MOD] ) ]]}} {{damagevsSMchatmenu=@{weapon_damagesmallmedium_chat_menu}}} {{damagevsLchatmenu=@{weapon_damagelarge_chat_menu}}} {{critdamagevsSMchatmenu=@{weapon_critdamagesmallmedium_chat_menu}}} {{critdamagevsLchatmenu=@{weapon_critdamagelarge_chat_menu}}} {{WeaponNotes=@{weapon_notes}}} {{backstab=[[ @{weapon_backstab_mult} ]]}} {{damagetype=@{weapon_attackdmgtype}}} {{rate=@{weapon_rateoffire}}} {{range=@{weapon_range}}} {{length=@{weapon_length}}} {{space=@{weapon_space}}} {{speed=@{weapon_speed}}} {{ammo=[[ @{weapon_ammo} ]]/[[ @{weapon_ammo|max} ]]}} {{crit=[[ @{toggle_critdamage} ]]}} @{weapon_tohitacadj}</textarea></details></fieldset></div><hr class="hide-as-npc"></section><section class="equipment-box"><input type="checkbox" class="sect-show" name="attr_equipment_info_show" value="1"><div class="header">EQUIPMENT</div><span class="material-icons"></span><div class="sect right inline-label"><label><button type="action" name="act_equipment-sort-alphabetical" title="Sort rows by equipment names alphabetically."><span class="nowrap">Sort A-Z</span></button></label> <label><button type="action" name="act_equipment-sort-location" title="Sort rows by location and equipment names alphabetically."><span>Location</span></button></label> <input type="hidden" name="attr_equipment_previous_order_array" value=""> <label><button type="action" name="act_equipment-sort-undo" class="text-only" title="Undo last Sort."><span class="undo"></span></button></label></div><div class="equipment-tabs sect"><input type="radio" class="tab-hidden tab" name="attr_equipment_tabs_type" value="0"><span class="tab">Gear</span> <input type="radio" class="tab-hidden tab" name="attr_equipment_tabs_type" value="1"><span class="tab">Weapon</span> <input type="radio" class="tab-hidden tab" name="attr_equipment_tabs_type" value="2"><span class="tab">Armor</span> <input type="radio" class="tab-hidden tab" name="attr_equipment_tabs_type" value="3"><span class="tab">Magic</span> <input type="radio" class="tab-hidden tab" name="attr_equipment_tabs_type" value="4"><span class="tab">Other</span> <input type="radio" class="tab-hidden tab" name="attr_equipment_tabs_type" value="-1" checked="checked"><span class="tab">All</span> <input type="radio" class="tab-hidden tab" name="attr_equipment_tabs_carry" value="1" style="margin-left: 10%;"><span class="tab">Carried</span> <input type="radio" class="tab-hidden tab" name="attr_equipment_tabs_carry" value="0"><span class="tab">Not Carried</span> <input type="radio" class="tab-hidden tab" name="attr_equipment_tabs_carry" value="2"><span class="tab">Mount</span> <input type="radio" class="tab-hidden tab" name="attr_equipment_tabs_carry" value="-1" checked="checked"><span class="tab">All</span></div><div class="sect"><input type="hidden" class="hidden equipment-display-type" name="attr_equipment_tabs_type" value="-1"> <input type="hidden" class="hidden equipment-display-carry" name="attr_equipment_tabs_carry" value="-1"> <span class="equipment-columns column-header"><span></span> <span>Item</span> <span>Location</span> <span>Type</span> <span>Magical</span> <span class="hidden-for-armor">Uses</span> <span class="hidden-for-armor">/</span> <span class="hidden-for-armor">Max</span> <span>Carried?</span> <span>Qty</span> <span>/</span> <span>Max</span> <span>Wt</span> <span class="toggle-costs">Cost</span></span><fieldset class="repeating_equipment"><input type="hidden" class="toggle-carry" name="attr_equipment_show_carry" value="1" readonly="readonly"> <input type="hidden" class="toggle-type" name="attr_equipment_show_type" value="1" readonly="readonly"><div class="equipment-display-carry sect"><div class="equipment-display-type"><span class="top-row equipment-columns border-top-half"><button class="dice-button" type="roll" name="attr_equipment_roll" title="%{repeating_equipment_$X_equipment_roll}" value="@{equipment_macro_text}"></button> <input type="text" class="width-fill" name="attr_equipment_item" title="@{repeating_equipment_$X_equipment_item}" value="" placeholder="Item/Description"> <input type="text" class="width-fill" name="attr_equipment_location" title="@{repeating_equipment_$X_equipment_location}" value="" placeholder="Location"> <select class="equipment-type" name="attr_equipment_type" title="@{repeating_equipment_$X_equipment_type}"><option value="0" selected="selected">Gear</option><option value="1">Weapon</option><option value="2">Armor</option><option value="3">Magic</option><option value="4">Other</option></select> <input type="checkbox" name="attr_equipment_magical" value="1" title="@{repeating_equipment_$X_equipment_magical} | This item has magical properties and will also be displayed when 'Magic' is selected."> <input type="hidden" class="hidden equipment-type" name="attr_equipment_type" value="0"> <input type="text" class="width-smaller hidden-for-armor" name="attr_equipment_current" title="@{repeating_equipment_$X_equipment_current}" value="0"> <span class="hidden-for-armor">/</span> <input type="text" class="width-smaller hidden-for-armor" name="attr_equipment_current_max" title="@{repeating_equipment_$X_equipment_current|max}" value="0"> <select class="width-medium" name="attr_equipment_carried_select" title="@{repeating_equipment_$X_equipment_carried_select} | Carried items are used for weight calculations."><option value="0">No</option><option value="1" selected="selected">Yes</option><option value="2">Mount</option></select> <input type="checkbox" class="hidden" name="attr_equipment_carried" value="1" checked="checked"> <input type="text" class="width-smaller" name="attr_equipment_quantity" title="@{repeating_equipment_$X_equipment_quantity} | Used for weight and cost calculations." value="1"> <span>/</span> <input type="text" class="width-smaller" name="attr_equipment_quantity_max" title="@{repeating_equipment_$X_equipment_quantity|max}" value="" placeholder="n/a"> <input type="text" class="width-fill" name="attr_equipment_weight" title="@{repeating_equipment_$X_equipment_weight} | Weight for one item." value="0"> <input type="text" class="width-fill toggle-costs" name="attr_equipment_cost" title="@{repeating_equipment_$X_equipment_cost} | Cost for one item." value="0"></span><details class="border-bottom-half"><summary><span class="material-icons gear-nav" title="Expand/Hide sub-section"></span></summary><span class="span-all show-for-armor inline-label" title="Choose an Armor Type first to unlock fields."><input type="hidden" class="toggle-armor-details show-shield-only" name="attr_equipment_armor_type" value="99"> <label class="label-under-small"><select name="attr_equipment_armor_type" title="@{repeating_equipment_$X_equipment_armor_type}"><option value="99" selected="selected">choose</option><option value="0">Clothing</option><option value="1">Armor 1</option><option value="2">Armor 2</option><option value="3">Shield</option><option value="4">Helmet</option><option value="5">Other 1</option><option value="6">Other 2</option><option value="7">Other 3</option><option value="8">Other 4</option><option value="9">Other 5</option><option value="10">Other 6</option></select> <span>Type</span></label> <label class="label-under-small"><input type="checkbox" name="attr_equipment_armor_worn" value="1" title="@{repeating_equipment_$X_equipment_armor_worn}"> <span>In Use</span></label> <label class="label-under-small"><select class="show-shield-only" name="attr_equipment_armor_ac" title="@{repeating_equipment_$X_equipment_armor_ac} | ie +2 lowers AC by -2."><option value="0" selected="selected">+0</option><option value="-1">+1</option><option value="-2">+2</option><option value="-3">+3</option><option value="-4">+4</option><option value="-5">+5</option><option value="-6">+6</option><option value="-7">+7</option><option value="-8">+8</option><option value="-9">+9</option><option value="-10">+10</option></select> <select name="attr_equipment_armor_ac" title="@{repeating_equipment_$X_equipment_armor_ac} | Enter the actual AC value for this item."><option value="10" selected="selected">10</option><option value="9">9</option><option value="8">8</option><option value="7">7</option><option value="6">6</option><option value="5">5</option><option value="4">4</option><option value="3">3</option><option value="2">2</option><option value="1">1</option><option value="0">0</option><option class="hidden" value="-1">-1</option><option class="hidden" value="-2">-2</option><option class="hidden" value="-3">-3</option><option class="hidden" value="-4">-4</option><option class="hidden" value="-5">-5</option><option class="hidden" value="-6">-6</option><option class="hidden" value="-7">-7</option><option class="hidden" value="-8">-8</option><option class="hidden" value="-9">-9</option><option class="hidden" value="-10">-10</option></select> <span>AC</span></label> <label class="label-under-small hide-ar"><select class="show-shield-only" name="attr_equipment_armor_base" title="@{repeating_equipment_$X_equipment_armor_base} | ie +2 lowers AR by -2."><option value="0" selected="selected">+0</option><option value="-1">+1</option><option value="-2">+2</option><option value="-3">+3</option><option value="-4">+4</option><option value="-5">+5</option><option value="-6">+6</option><option value="-7">+7</option><option value="-8">+8</option><option value="-9">+9</option><option value="-10">+10</option></select> <select name="attr_equipment_armor_base" title="@{repeating_equipment_$X_equipment_armor_base}| Enter the actual AR value for this item."><option value="10" selected="selected">10</option><option value="9">9</option><option value="8">8</option><option value="7">7</option><option value="6">6</option><option value="5">5</option><option value="4">4</option><option value="3">3</option><option value="2">2</option><option value="1">1</option><option value="0">0</option><option class="hidden" value="-1">-1</option><option class="hidden" value="-2">-2</option><option class="hidden" value="-3">-3</option><option class="hidden" value="-4">-4</option><option class="hidden" value="-5">-5</option><option class="hidden" value="-6">-6</option><option class="hidden" value="-7">-7</option><option class="hidden" value="-8">-8</option><option class="hidden" value="-9">-9</option><option class="hidden" value="-10">-10</option></select> <span>AR</span></label> <input type="checkbox" class="hidden toggle-input-error hide-magic" name="attr_equipment_armor_magic_error" value="1" checked="checked"> <label class="label-under-small hide-magic"><input type="text" class="width-small" name="attr_equipment_armor_magic" value="0" title="@{repeating_equipment_$X_equipment_armor_magic} | Bonuses lower AC. Penalties raise AC. ie '+2' bonus lowers AC by -2 while a '-2' penalty will raise AC by 2."> <span>Magic</span></label> <input type="checkbox" class="hidden toggle-input-erro hide-misc" name="attr_equipment_armor_mod_error" value="1" checked="checked"> <label class="label-under-small hide-misc"><input type="text" class="width-small" name="attr_equipment_armor_mod" value="0" title="@{repeating_equipment_$X_equipment_armor_mod} | Bonuses lower AC. Penalties raise AC. ie '+2' bonus lowers AC by -2 while a '-2' penalty will raise AC by 2."> <span>Misc</span></label> <label class="label-under-small hide-bulk"><select name="attr_equipment_armor_bulk" title="@{repeating_equipment_$X_equipment_armor_bulk}"><option value="0" selected="selected">n/a</option><option value="1">non-Bulky 12"</option><option value="2">Fairly 9"</option><option value="3">Bulky 6"</option></select> <span>Bulk</span></label> <label style="margin-top: 0;"><button type="action" name="act_addarmor" title="Adds armor to the selected Armor Details row. Items will be synced."><span>+Add</span></button></label> </span><span class="span-all show-for-weapons inline-label"><label class="label-under-small"><select name="attr_equipment_weapon_type" class="select-over-label" title="@{repeating_equipment_$X_equipment_weapon_type}"><option value="0" selected="selected">Melee</option><option value="1">Ranged</option><option value="2">Touch</option><option value="3">Ranged Touch</option></select> <span>Type</span></label> <input type="hidden" class="toggle-weapon-details" name="attr_equipment_weapon_type" value="0"> <label class="label-under-small hide-melee"><input type="text" class="width-small" name="attr_equipment_weapon_speed" title="@{repeating_equipment_$X_equipment_weapon_speed}" value="" placeholder="-"> <span>SPD</span></label> <label class="label-under-small hide-melee"><input type="text" class="width-small" name="attr_equipment_weapon_length" title="@{repeating_equipment_$X_equipment_weapon_length}" value="" placeholder="-"> <span>LEN</span></label> <label class="label-under-small hide-melee"><input type="text" class="width-small" name="attr_equipment_weapon_space" title="@{repeating_equipment_$X_equipment_weapon_space}" value="" placeholder="-"> <span>SPC</span></label> <label class="label-under-small hide-melee"><input type="text" class="width-small" name="attr_equipment_weapon_misc" title="@{repeating_equipment_$X_equipment_weapon_misc}" value="" placeholder="-"> <span>MISC</span></label> <label class="label-under-small"><input type="text" class="width-medium" name="attr_equipment_weapon_damagesmallmedium" title="@{repeating_equipment_$X_equipment_weapon_damagesmallmedium}" value="" placeholder="1d4"> <span>S/M</span></label> <label class="label-under-small"><input type="text" class="width-medium" name="attr_equipment_weapon_damagelarge" title="@{repeating_equipment_$X_equipment_weapon_damagelarge}" value="" placeholder="1d4"> <span>LG</span></label> <label class="label-under-small"><input type="text" class="width-small" name="attr_equipment_weapon_attackdmgtype" title="@{repeating_equipment_$X_equipment_weapon_attackdmgtype}" value="" placeholder="-"> <span>DMG Type</span></label> <label class="label-under-small hide-ranged"><input type="text" class="width-small" name="attr_equipment_weapon_rateoffire" title="@{repeating_equipment_$X_equipment_weapon_rateoffire}" value="" placeholder="-"> <span>RT</span></label> <label class="label-under-small hide-ranged"><input type="text" class="width-medium" name="attr_equipment_weapon_range" title="@{repeating_equipment_$X_equipment_weapon_range} | Enter Short/Medium/Long ranges. Enter numbers only, separated by '/'. Entering a single value will be used for all ranges." value="" placeholder="-"> <span>RNG S/M/L</span></label> <label style="margin-top: 0;"><button type="action" name="act_addattack" title="Adds weapon to attacks. Creates a unique, non-synced, attack."><span>+Add</span></button></label> </span><span class="inline-label"><textarea class="height-short" name="attr_equipment_description" title="@{repeating_equipment_$X_equipment_description}" value="" placeholder="Description"></textarea> <label><button type="roll" class="info-link" value="@{whisper_pc} [**LINK**](@{equipment_link})" title="Send link to chat."></button> <textarea class="info-link" wrap="off" name="attr_equipment_link" title="@{repeating_equipment_$X_equipment_link}" placeholder="https://www.example.com"></textarea></label> </span><textarea class="height-short toggle-macros" name="attr_equipment_macro_text" title="@{repeating_equipment_$X_equipment_macro_text} | Caution: modifying the macro-text can break the roll. Deleting the macro-text will safely reset the roll to the sheet's default macro.">@{whisper_pc} &{template:general} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=Item/Equipment: @{equipment_item}}} {{link=@{equipment_link}}} {{freetext=@{equipment_description}}} {{quantity= @{equipment_quantity}}} {{quantity_max=@{equipment_quantity|max}}} {{uses=@{equipment_current}}} {{uses_max=[[ @{equipment_current|max} ]]}}</textarea></details></div></div></fieldset></div><div class="sect four-columns linear-background"><div class="capacity-box"><textarea class="height-fill" name="attr_itemnotes" title="@{itemnotes}" placeholder="Equipment Notes"></textarea></div><div class="equipment-totals"><label style="max-width: 100%;" title="@{toggle_lbs} | Use Lbs instead of gold pieces when determining encumbrance. Carrying capacities and carried coin weight will be divided by 10. Per-item weights need to be entered as lbs in order for the sheet to properly calculate encumbrance."><span>Use Lbs:</span> <input type="checkbox" class="toggle-lbs" name="attr_toggle_lbs" value="1"></label> <label class="center"><span class="toggle-lbs">Wt in GP</span><span>Wt in Lbs</span></label> <label class="center toggle-costs">Cost</label> <label><span>Equipment:</span></label> <input type="text" class="hidden width-fill" name="attr_total_equipment_weight" value="0" readonly="readonly"> <input type="text" class="width-fill" name="attr_total_equipment_weight_adjusted" title="@{total_equipment_weight_adjusted} | Carried Equipment Weight - Weapons and Armor." value="0" readonly="readonly"> <input type="text" class="width-fill toggle-costs" name="attr_total_equipment_cost" title="@{total_equipment_cost}" value="0" readonly="readonly"> <label><span>Armor:</span></label> <input type="text" class="width-fill" name="attr_total_armor_weight" value="0" title="@{total_armor_weight}" readonly="readonly"> <label class="width-fill center toggle-costs">---</label> <input type="text" class="hidden width-fill toggle-costs" name="attr_total_armor_cost" value="0" readonly="readonly"> <label><span>Weapons:</span></label> <input type="text" class="width-fill" name="attr_total_weapon_weight" value="0" title="@{total_weapon_weight}" readonly="readonly"> <label class="width-fill center toggle-costs">---</label> <input type="text" class="hidden width-fill toggle-costs" name="attr_total_weapon_cost" value="0" readonly="readonly"> <label><span>Coins:</span></label> <input type="text" class="width-fill" name="attr_total_coin_weight" title="@{total_coin_weight}" value="0" readonly="readonly"> <label class="width-fill center toggle-costs">---</label> <label><span>TOTALS:</span></label> <input type="text" class="readonly-span" name="attr_total_weight" title="@{total_weight} | Total Carried Weight." value="0" readonly="readonly"> <input type="text" class="readonly-span toggle-costs" name="attr_total_cost" title="@{total_cost} | Total Equipment Costs." value="0" readonly="readonly"></div></div><div class="wealth-box border sect"><span class="subheader center width-fill">Wealth</span><div class="coin-columns column-header"><span></span> <span>Copper</span> <span>Silver</span> <span>Electrum</span> <span>Gold</span> <span>Platinum</span></div><div class="coin-columns"><label class="text-large right"><span>Carried Coins:</span></label> <input type="text" class="width-medium" name="attr_cp" title="@{cp}" value="0"> <input type="text" class="width-medium" name="attr_sp" title="@{sp}" value="0"> <input type="text" class="width-medium" name="attr_ep" title="@{ep}" value="0"> <input type="text" class="width-medium" name="attr_gp" title="@{gp}" value="0"> <input type="text" class="width-medium" name="attr_pp" title="@{pp}" value="0"> <label class="span-all"><span class="text-small"><b>hint:</b> 200cp = 20sp = 2ep = 1gp = 1/5pp</span></label></div><hr><div class="coin-columns"><label class="text-large right"><span>Total Coins:</span></label> <input type="text" class="width-medium" name="attr_cp-total" title="@{cp-total}" value="0"> <input type="text" class="width-medium" name="attr_sp-total" title="@{sp-total}" value="0"> <input type="text" class="width-medium" name="attr_ep-total" title="@{ep-total}" value="0"> <input type="text" class="width-medium" name="attr_gp-total" title="@{gp-total}" value="0"> <input type="text" class="width-medium" name="attr_pp-total" title="@{pp-total}" value="0"></div><textarea class="height-tall" name="attr_wealthNotes" title="@{wealthNotes}" placeholder="Wealth Notes"></textarea></div><div class="span-all border sect linear-background"><span class="subheader center width-fill">Carrying Capacity</span><div class="capacity-box-loads column-header"><span class="span-three">Strength Adj.</span> <span class="span-four"><span>Current Encumbrance</span> <span class="toggle-lbs text-small">(gp)</span><span class="text-small">(lbs)</span></span></div><div class="capacity-box-loads center"><label class="label-under" title="@{normal_load} 'Unencumbered load' (defaults 350gp based on STR 8-11.)"><input type="text" class="hidden" name="attr_normal_load" value="350" readonly="readonly"> <span type="text" class="readonly-span" name="attr_normal_load" title="@{normal_load} 'Unencumbered load' (defaults 350gp based on STR 8-11.)"></span> <span class="inline-label"><span>Base</span> <span class="toggle-lbs text-small">(gp)</span><span class="text-small">(lbs)</span></span></label> <label class="label-under"><span class="center toggle-lbs" title="@{encumbrancebonus} | Weight Allowance in gp. Keep this value as gp even if the sheet is using the lbs option."><input class="hidden" type="text" name="attr_encumbrancebonus" value="0"> <span class="readonly-span" name="attr_encumbrancebonus"></span> <span class="inline-label"><span>Weight All.</span> <span class="text-small">(gp)</span> </span></span><span class="center" title="@{encumbrancebonus_lbs} | Weight Allowance in lbs."><input class="hidden" type="text" name="attr_encumbrancebonus_lbs" value="0" readonly="readonly"> <span class="readonly-span" name="attr_encumbrancebonus_lbs"></span> <span class="inline-label"><span>Weight All.</span> <span class="text-small">(lbs)</span></span></span></label> <label class="text-large">=</label> <label class="label-under" title="@{normal_load_adjusted} Unencumbered + Weight Allowance.)"><input type="checkbox" class="hidden current-encumbrance" name="attr_current_encumbrance" value="0" checked="checked" readonly="readonly"> <input type="text" class="hidden" name="attr_normal_load_adjusted" value="0" readonly="readonly"> <span class="readonly-span" name="attr_normal_load_adjusted" title="@{normal_load_adjusted} Unencumbered + Weight Allowance.)"></span> <span>Unencumbered</span></label> <label class="label-under" title="@{heavy_load} Heavy load = Unencumbered + (Weight Allowance x2)."><input type="checkbox" class="hidden current-encumbrance" name="attr_current_encumbrance" value="1" readonly="readonly"> <input type="text" class="hidden" name="attr_heavy_load" value="0" readonly="readonly"> <span class="readonly-span" name="attr_heavy_load" title="@{heavy_load} Heavy load = Unencumbered + (Weight Allowance x2)."></span> <span>Heavy</span></label> <label class="label-under" title="@{very_heavy_load} Very heavy load = Unencumbered + (Weight Allowance x3)."><input type="checkbox" class="hidden current-encumbrance" name="attr_current_encumbrance" value="2" readonly="readonly"> <input type="text" class="hidden" name="attr_very_heavy_load" value="0" readonly="readonly"> <span class="readonly-span" name="attr_very_heavy_load" title="@{very_heavy_load} Very heavy load = Unencumbered + (Weight Allowance x3)."></span> <span>Very Heavy</span></label> <label class="label-under" title="@{max_load} Any amount greater than; Unencumbered + (Weight Allowance x3)."><input type="checkbox" class="hidden current-encumbrance" name="attr_current_encumbrance" value="3" readonly="readonly"> <span><input type="text" class="hidden" name="attr_max_load" value="0" readonly="readonly"> <span class="readonly-span" name="attr_max_load" title="@{max_load} Any amount greater than; Unencumbered + (Weight Allowance x3)."></span> <b class="text-large">+</b> </span><span>Encumbered</span></label></div></div><hr></section><section class="special-abilities-box"><input type="checkbox" class="sect-show" name="attr_special_abilities_info_show" value="1"><div class="header"><span class="hide-as-npc">SPECIAL ABILITIES</span> <span class="hide-as-pc">SPECIAL ABILITIES</span></div><span class="material-icons"></span><div class="sect"><div class="toggle-psionics border"><h4 class="subheader center width-fill">Psionics</h4><span class="inline-label"><label class="inline-label" title="@{psionic_ability_strength} | Total Psionic Ability = 1d100 + Ability Bonus (ie +1 for each unmodified point of INT, WIS and CHA above 12. In addition, if 2 of these scores are above 16, the number of points is doubled, and if all 3 scores are above 16, the number of points are quadrupled.) x2."><span>Total Ability:</span> <input type="text" name="attr_psionic_ability_strength" value="0" class="width-small"> <span>/</span> <input type="text" name="attr_psionic_ability_strength_max" value="0" class="width-small"></label> <label class="inline-label"><span>Psionic Attack:</span> <input type="text" name="attr_psionic_attack" value="0" class="width-small" title="@{psionic_attack}"> <span>/</span> <input type="text" name="attr_psionic_attack_max" value="0" class="width-small" title="@{psionic_attack|max}" readonly="readonly"></label> <label class="inline-label"><span>Psionic Defense:</span> <input type="text" name="attr_psionic_defense" value="0" class="width-small" title="@{psionic_defense}"> <span>/</span> <input type="text" name="attr_psionic_defense_max" value="0" class="width-small" title="@{psionic_defense|max}" readonly="readonly"></label> </span><span class="inline-label"><label class="inline-label" title="@{psionic_attack_modes} | Add Modes as Special Abilities below."><span>Attack Modes:</span> <input type="text" name="attr_psionic_attack_modes" value="" class="width-medium" placeholder="A,B,C,D,E"></label> <label class="inline-label" title="@{psionic_defensive_modes} | Add Modes as Special Abilities below."><span>Defensive Modes:</span> <input type="text" name="attr_psionic_defensive_modes" value="" class="width-medium" placeholder="F,G,H,I,J"></label> <label class="inline-label right" title="@{psionic_minor} | Add Disciplines as Special Abilities below."><span>Minor Disciplines:</span> <input type=" text" name="attr_psionic_minor" value="0" class="width-smallest"></label> <label class="inline-label" title="@{psionic_major} | Add Disciplines as Special Abilities below."><span>Major Disciplines:</span> <input type=" text" name="attr_psionic_major" value="0" class="width-smallest"></label></span></div><label class="left"><span>Single Column</span> <input type="checkbox" class="toggle-single-column-abilities" name="attr_toggle_single_column_abilities" title="@{toggle_single_column_abilities}" value="1" checked="checked"></label> <span class="special-abilities-row1 column-header hide-as-npc"><span></span> <span>Name</span> <span>Short Description</span> <span>Uses</span> </span><span class="special-abilities-row1 column-header two-column-header hide-as-npc"><span></span> <span>Name</span> <span>Uses</span> <span></span> <span>Name</span> <span>Uses</span></span><fieldset class="repeating_ability"><span class="top-row special-abilities-row1 border-top-half"><button class="dice-button hide-as-npc ability-area-roll" type="roll" name="attr_ability_roll" title="%{repeating_ability_$X_ability_roll} | PC Roll" value="@{whisper_pc} @{ability_macro_text}"></button> <button class="dice-button hide-as-pc ability-area-roll" type="roll" name="attr_ability_npc_roll" title="%{repeating_ability_$X_ability_npc_roll} | NPC Roll" value="@{whisper_npc} @{ability_macro_text}"></button> <label class="repeating-name ability-area-name"><input type="text" name="attr_ability_name" title="@{repeating_ability_$X_ability_name}" placeholder="Ability Name"></label> <label class="inline-label ability-area-desc"><textarea class="height-short" name="attr_ability_short_description" title="@{repeating_ability_$X_ability_short_description}" placeholder="Short Description"></textarea></label> <label class="inline-label ability-area-uses"><input type="text" class="width-smaller" name="attr_ability_current" title="@{repeating_ability_$X_ability_current}" value=""> <span>/</span> <input type="text" class="width-smaller" name="attr_ability_current_max" title="@{repeating_ability_$X_ability_current|max}" value="0"> <input type="hidden" name="attr_ability_max" value="1"></label></span><details class="border-bottom-half"><summary><span class="material-icons gear-nav" title="Expand/Hide sub-section"></span></summary><div class="special-abilities-row2"><label class="label-under-small" title="TIP: Must include a dice roll to be included with the roll. ie 1d6"><input type="text" class="width-small" name="attr_ability_die" title="@{repeating_ability_$X_ability_die}" value="1d0"> <span>Die</span></label> <label class="label-under-small"><input type="text" class="width-small" name="attr_ability_mod" title="@{repeating_ability_$X_ability_mod}" value="0"> <span>Modifier</span></label> <textarea class="height-medium" name="attr_ability_description" title="@{repeating_ability_$X_ability_description}" placeholder="Ability Description"></textarea></div><div class="spell-details-grid"><label class="span-two"><span>Effect Type:</span> <input type="text" name="attr_ability_effect_type" title="@{repeating_ability_$X_ability_effect_type}" value="" placeholder="n/a"></label> <label><span>Spell Level:</span> <input type="text" name="attr_ability_level" title="@{repeating_ability_$X_ability_level}" value="" placeholder="n/a"></label> <label><span>Casting Time:</span> <input type="text" name="attr_ability_ct" title="@{repeating_ability_$X_ability_ct}" value="" placeholder="n/a"></label> <label><span>Range:</span> <input type="text" name="attr_ability_range" title="@{repeating_ability_$X_ability_range}" value="" placeholder="n/a"></label> <label><span>Saving Throw:</span> <input type="text" name="attr_ability_save" title="@{repeating_ability_$X_ability_save}" value="" placeholder="n/a"></label> <label><span>Duration:</span> <input type="text" name="attr_ability_duration" title="@{repeating_ability_$X_ability_duration}" value="" placeholder="n/a"></label> <label><span>Save Type:</span> <input type="text" name="attr_ability_save_type" title="@{repeating_ability_$X_ability_save_type}" value="" placeholder="n/a"></label> <label class="span-two"><span>Area of Effect:</span> <input type="text" name="attr_ability_aoe" title="@{repeating_ability_$X_ability_aoe}" value="" placeholder="n/a"></label></div><span class="inline-label"><label><span>Notes:</span> <textarea name="attr_ability_notes" class="height-short" title="@{repeating_ability_$X_ability_notes}" placeholder="Notes"></textarea></label> <label><button type="roll" class="info-link" value="@{whisper_pc} [**LINK**](@{ability_link})" title="Send link to chat."></button> <textarea class="info-link" wrap="off" name="attr_ability_link" title="@{repeating_ability_$X_ability_link}" placeholder="https://www.example.com"></textarea></label> </span><textarea class="height-short toggle-macros" name="attr_ability_macro_text" title="@{repeating_ability_$X_ability_macro_text} | Caution: modifying the macro-text can break the roll. Deleting the macro-text will safely reset the roll to the sheet's default macro.">&{template:general} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=Special Ability: @{ability_name}}} {{roll= [[ 0 + @{ability_die} + @{ability_mod}[MOD] ]]}} {{link=@{ability_link}}} {{freetext=@{ability_short_description} @{ability_description}}} {{uses=@{ability_current}}} {{uses_max=[[ 0 + @{ability_current|max} ]]}} {{effect_type=@{ability_effect_type}}} {{spell_level=@{ability_level}}} {{casting_time=@{ability_ct}}} {{range=@{ability_range}}} {{duration=@{ability_duration}}} {{saving_throw=@{ability_save}}} {{area_of_effect=@{ability_aoe}}} {{save_type=@{ability_save_type}}}</textarea></details></fieldset><textarea class="hidden" name="attr_special_abilitiesnotes"></textarea></div><hr class="hide-as-npc"></section><section class="nonweapon-proficiencies-box"><input type="checkbox" class="sect-show" name="attr_nonweapon_proficiencies_info_show" value="1" style="max-width:18em;"><div class="header">NON WEAPON PROFICIENCIES</div><span class="material-icons"></span><div class="sect"><span class="nonweapon-proficiencies-row1 column-header"><span></span> <span>Proficiency</span> <span>Short Description</span> <span>Attribute/Base</span> <span>Val.</span> <span>Adj.</span> <span>Slots</span></span><fieldset class="repeating_nonweaponproficiencies"><span class="top-row nonweapon-proficiencies-row1 border-top-half"><button class="dice-button" type="roll" name="attr_nwp_roll" title="%{repeating_nonweaponproficiencies_$X_nwp_roll} | * Very easy proficiency = -3 modifier * Easy proficiency = -1 modifier * Normal proficiency = no modifier * Hard proficiency = +1 modifier * Very hard proficiency = +2 modifier * Extremely hard proficiency = +3 modifier" value="@{nwp_macro_text}"></button> <label class="repeating-name"><input type="text" name="attr_nwp_name" title="@{repeating_nonweaponproficiencies_$X_nwp_name}" placeholder="Proficiency Name"></label> <textarea class="height-short" name="attr_nwp_short_description" title="@{repeating_nonweaponproficiencies_$X_nwp_short_description}" placeholder="Short Description"></textarea> <select name="attr_nwp_attribute" title="Select an applicable NWP Attribute or 'vs Base' for a roll-time query.|%{repeating_nonweaponproficiencies_$X_nwp_attribute}"><option value="0" selected="selected">None</option><option value="@{strength}">STR</option><option value="@{dexterity}">DEX</option><option value="@{constitution}">CON</option><option value="@{intelligence}">INT</option><option value="@{wisdom}">WIS</option><option value="@{charisma}">CHA</option><option value="@{comeliness}" class="toggle-comeliness">COM</option><option value="?{vs Base Value|20}">vs Base</option></select> <input class="width-small" type="number" name="attr_nwp_attribute_value" value="(@{nwp_attribute})" title="%{repeating_nonweaponproficiencies_$X_nwp_attribute_value}" disabled="disabled"> <input class="width-small" type="text" name="attr_nwp_modifier" title="@{repeating_nonweaponproficiencies_$X_nwp_modifier}" value="0"> <input class="width-small" type="text" name="attr_nwp_slots" title="@{repeating_nonweaponproficiencies_$X_nwp_slots}" value="0"></span><details class="border-bottom-half"><summary><span class="material-icons gear-nav" title="Expand/Hide sub-section"></span></summary><span class="inline-label"><textarea class="height-short" name="attr_nwp_description" title="@{repeating_nonweaponproficiencies_$X_nwp_description}" placeholder="Ability Description"></textarea> <label><button type="roll" class="info-link btn ui-draggable" name="attr_nwp_link_roll" value="@{whisper_pc} [**LINK**](@{nwp_link})" title="@{repeating_nonweaponproficiencies_$X_nwp_link_roll}"></button> <textarea class="info-link" wrap="off" name="attr_nwp_link" title="@{repeating_nonweaponproficiencies_$X_nwp_link}" placeholder="https://www.example.com"></textarea></label> </span><textarea class="height-short toggle-macros" name="attr_nwp_macro_text" title="@{repeating_nonweaponproficiencies_$X_nwp_macro_text} | Caution: modifying the macro-text can break the roll. Deleting the macro-text will safely reset the roll to the sheet's default macro.">@{whisper_pc} &{template:general} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=Non Weapon Proficiency: @{nwp_name}}} {{roll_low=[[ 1d20 + [[ @{nwp_modifier} ]][MOD] + [[ ?{Modifier?|0} ]][MOD] ]]}} {{roll_target=[[ @{nwp_attribute}[ATTR] ]]}} {{mod_applied=[[ ?{Modifier?|0} ]]}} {{nwp_mod_applied=[[ @{nwp_modifier} ]]}} {{link=@{nwp_link}}} {{freetext=@{nwp_short_description} @{nwp_description}}}</textarea></details></fieldset></div><hr></section><section class="thief-skills-box"><input type="checkbox" class="sect-show" name="attr_thief_skills_info_show" value="1"><div class="header">THIEF SKILLS</div><span class="material-icons"></span> <input type="checkbox" class="toggle-sync-class hidden" name="attr_sync_thief_class" value="1"><div class="thief-class sect"><label class="inline-label" title="@{autofill_thief} | Let the sheet auto-fill the Base chance when the level selector is changed."><span>Autofill Base:</span> <input type="checkbox" name="attr_autofill_thief" value="1" checked="checked"></label> <label class="show-sync-class"></label> <label class="show-sync-class"><span>Class</span></label> <label class="thief-level"><span>Level</span></label> <label class="inline-label" title="@{autofill_thief_dex} | Let the sheet auto-fill the Dex modifiers based on the character's Dexterity."><span>Autofill Dex:</span> <input type="checkbox" name="attr_autofill_thief_dex" value="1"></label> <label><span>Race</span></label> <label class="inline-label" title="@{sync_thief_class} | Linking to a class will automatically adjust the thief base values when the linked class level changes."><span>Sync to Class:</span> <input type="checkbox" name="attr_sync_thief_class" value="1"></label> <label class="show-sync-class"><select class="class-selected border" name="attr_thief_class_selected" title="@{thief_class_selected} | Linking to a class will automatically adjust the thief base values when the linked class level changes."><option value="1" selected="">Class 1</option><option value="2">Class 2</option><option value="3">Class 3</option></select></label> <label class="show-sync-class"><input type="hidden" class="class-selected" name="attr_thief_class_selected" value="1"> <input class="show-class1-name" name="attr_class" title="@{class}" placeholder="n/a" readonly=""> <input class="show-class2-name" name="attr_secondclass" title="@{secondclass}" placeholder="n/a" readonly=""> <input class="show-class3-name" name="attr_thirdclass" title="@{thirdclass}" placeholder="n/a" readonly=""></label> <label class="thief-level show-when-not-synced"><input class="width-small border" type="number" min="0" name="attr_thief_level" value="1" title="@{thief_level}"></label> <label class="thief-level show-sync-class"><input class="width-small border" type="number" name="attr_thief_level" value="1" title="@{thief_level}" readonly="readonly"></label> <label class="inline-label" title="@{autofill_thief_race} | Let the sheet auto-fill the racial modifiers based on the character's race."><span>Autofill Race:</span> <input type="checkbox" name="attr_autofill_thief_race" value="1"></label> <label><select name="attr_thief_race_selected" title="@{thief_race_selected}"><option value="0" selected="selected">n/a</option><option value="1">Human</option><option value="2">Dwarf</option><option value="3">Elf</option><option value="4">Gnome</option><option value="5">Half-elf</option><option value="6">Halfling</option><option value="7">Half-orc</option></select></label></div><div class="sect"><span class="thief-columns column-header"><span>Function</span> <span>TOTAL</span> <span></span> <span>Base/Level</span> <span></span> <span>Dex Adj.</span> <span></span> <span>Racial Adj.</span> <span></span> <span>Magic/Item</span> </span><span class="thief-columns"><button class="text-only thiefskills-button" type="roll" name="roll_pickpockets" title="%{selected|pickpockets}" value="@{selected|whisper_pc} &{template:general} {{color=@{selected|color_option}}} {{name=@{selected|character_name}}} {{subtag=Pick Pockets vs HD?{HD of target (The level of the target will decrease your chance of success (-5% for each level or hit dice over 3) |1}}} {{roll_low=[[ 1d100 ]]%}} {{roll_target= [[ @{selected|pickpockets} - ([[ floor({?{HD of target (The level of the target will decrease your chance of success (-5% for each level or hit dice over 3) |1}-3, 0}kh1)*5 ]]) ]]%}} {{roll_target2= [[ @{selected|pickpockets} - ([[ floor({?{HD of target (The level of the target will decrease your chance of success (-5% for each level or hit dice over 3) |1}-3, 0}kh1)*5 ]]) + 21 ]]%}}"><span>Pick Pockets</span></button> <label class="label-percent" title="@{pickpockets}"><input type="text" name="attr_pickpockets" class="field-border readonly-span" title="@{pickpockets}" value="0"></label> <span class="text-large">=</span> <label class="label-percent"><input type="text" name="attr_pickpockets_base" class="width-smaller" title="@{pickpockets_base}" value="0"></label> <span class="text-large">±</span> <label class="label-percent"><input type="text" name="attr_pickpockets_ability_mod" class="width-smaller" title="@{pickpockets_ability_mod}" value="0"></label> <span class="text-large">±</span> <label class="label-percent"><input type="text" name="attr_pickpockets_racial_mod" class="width-smaller" title="@{pickpockets_racial_mod}" value="0"></label> <span class="text-large">±</span> <label class="label-percent"><input type="text" name="attr_pickpockets_magic" class="width-smaller" title="@{pickpockets_magic}" value="0"></label> </span><span class="thief-columns"><button class="text-only thiefskills-button" type="roll" name="roll_openlocks" title="%{selected|openlocks}" value="@{whisper_pc} &{template:general} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=Open Locks}} {{roll_low=[[ 1d100 ]]%}} {{roll_target=[[ @{openlocks} ]]%}}"><span>Open Locks</span></button> <label class="label-percent" title="@{openlocks}"><input type="text" name="attr_openlocks" class="field-border readonly-span" title="@{openlocks}" value="0"></label> <span class="text-large">=</span> <label class="label-percent"><input type="text" name="attr_openlocks_base" class="width-smaller" title="@{openlocks_base}" value="0"></label> <span class="text-large">±</span> <label class="label-percent"><input type="text" name="attr_openlocks_ability_mod" class="width-smaller" title="@{openlocks_ability_mod}" value="0"></label> <span class="text-large">±</span> <label class="label-percent"><input type="text" name="attr_openlocks_racial_mod" class="width-smaller" title="@{openlocks_racial_mod}" value="0"></label> <span class="text-large">±</span> <label class="label-percent"><input type="text" name="attr_openlocks_magic" class="width-smaller" title="@{openlocks_magic}" value="0"></label> </span><span class="thief-columns"><button class="text-only thiefskills-button" type="roll" name="roll_findtraps" title="%{selected|findtraps}" value="@{whisper_pc} &{template:general} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=Find/Remove Traps}} {{roll_low=[[ 1d100 ]]%}} {{roll_target=[[ @{findtraps} ]]%}}"><span>Find/Remove Traps</span></button> <label class="label-percent" title="@{findtraps}"><input type="text" name="attr_findtraps" class="field-border readonly-span" title="@{findtraps}" value="0"></label> <span class="text-large">=</span> <label class="label-percent"><input type="text" name="attr_findtraps_base" class="width-smaller" title="@{findtraps_base}" value="0"></label> <span class="text-large">±</span> <label class="label-percent"><input type="text" name="attr_findtraps_ability_mod" class="width-smaller" title="@{findtraps_ability_mod}" value="0"></label> <span class="text-large">±</span> <label class="label-percent"><input type="text" name="attr_findtraps_racial_mod" class="width-smaller" title="@{findtraps_racial_mod}" value="0"></label> <span class="text-large">±</span> <label class="label-percent"><input type="text" name="attr_findtraps_magic" class="width-smaller" title="@{findtraps_magic}" value="0"></label> </span><span class="thief-columns"><button class="text-only thiefskills-button" type="roll" name="roll_movequietly" title="%{selected|movequietly}" value="@{whisper_pc} &{template:general} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=Move Silently}} {{roll_low=[[ 1d100 ]]%}} {{roll_target=[[ @{movequietly} ]]%}}"><span>Move Silently</span></button> <label class="label-percent" title="@{movequietly}"><input type="text" name="attr_movequietly" class="field-border readonly-span" title="@{movequietly}" value="0"></label> <span class="text-large">=</span> <label class="label-percent"><input type="text" name="attr_movequietly_base" class="width-smaller" title="@{movequietly_base}" value="0"></label> <span class="text-large">±</span> <label class="label-percent"><input type="text" name="attr_movequietly_ability_mod" class="width-smaller" title="@{movequietly_ability_mod}" value="0"></label> <span class="text-large">±</span> <label class="label-percent"><input type="text" name="attr_movequietly_racial_mod" class="width-smaller" title="@{movequietly_racial_mod}" value="0"></label> <span class="text-large">±</span> <label class="label-percent"><input type="text" name="attr_movequietly_magic" class="width-smaller" title="@{movequietly_magic}" value="0"></label> </span><span class="thief-columns"><button class="text-only thiefskills-button" type="roll" name="roll_hideinshadows" title="%{selected|HideInShadows}" value="@{whisper_pc} &{template:general} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=Hide In Shadows}} {{roll_low=[[ 1d100 ]]%}} {{roll_target=[[ @{hideinshadows} ]]%}}"><span>Hide In Shadows</span></button> <label class="label-percent" title="@{hideinshadows}"><input type="text" name="attr_hideinshadows" class="field-border readonly-span" title="@{hideinshadows}" value="0"></label> <span class="text-large">=</span> <label class="label-percent"><input type="text" name="attr_hideinshadows_base" class="width-smaller" title="@{hideinshadows_base}" value="0"></label> <span class="text-large">±</span> <label class="label-percent"><input type="text" name="attr_hideinshadows_ability_mod" class="width-smaller" title="@{hideinshadows_ability_mod}" value="0"></label> <span class="text-large">±</span> <label class="label-percent"><input type="text" name="attr_hideinshadows_racial_mod" class="width-smaller" title="@{hideinshadows_racial_mod}" value="0"></label> <span class="text-large">±</span> <label class="label-percent"><input type="text" name="attr_hideinshadows_magic" class="width-smaller" title="@{hideinshadows_magic}" value="0"></label> </span><span class="thief-columns"><button class="text-only thiefskills-button" type="roll" name="roll_hearnoise" title="%{selected|hearnoise}" value="@{whisper_pc} &{template:general} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=Hear Noise}} {{roll_low=[[ 1d100 ]]%}} {{roll_target=[[ @{hearnoise} ]]%}}"><span>Hear Noise</span></button> <label class="label-percent" title="@{hearnoise}"><input type="text" name="attr_hearnoise" class="field-border readonly-span" title="@{hearnoise}" value="0"></label> <span class="text-large">=</span> <label class="label-percent"><input type="text" name="attr_hearnoise_base" class="width-smaller" title="@{hearnoise_base}" value="0"></label> <span class="text-large">±</span> <label class="label-percent"><input type="text" name="attr_hearnoise_ability_mod" class="width-smaller" title="@{hearnoise_ability_mod}" value="0"></label> <span class="text-large">±</span> <label class="label-percent"><input type="text" name="attr_hearnoise_racial_mod" class="width-smaller" title="@{hearnoise_racial_mod}" value="0"></label> <span class="text-large">±</span> <label class="label-percent"><input type="text" name="attr_hearnoise_magic" class="width-smaller" title="@{hearnoise_magic}" value="0"></label> </span><span class="thief-columns"><button class="text-only thiefskills-button" type="roll" name="roll_climbwalls" title="%{selected|climbwalls}" value="@{climbwalls_macro_text}"><span>Climb Walls</span></button> <textarea class="hidden" name="attr_climbwalls_macro_text">@{whisper_pc} &{template:general} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=Climb Walls}} {{roll_low=[[ 1d00 ]]%}} {{roll_target=[[ @{climbwalls} ]]%}}</textarea> <label class="label-percent" title="@{climbwalls}"><input type="text" name="attr_climbwalls" class="field-border readonly-span" title="@{climbwalls}" value="0"></label> <span class="text-large">=</span> <label class="label-percent"><input type="text" name="attr_climbwalls_base" class="width-smaller" title="@{climbwalls_base}" value="0"></label> <span class="text-large">±</span> <label class="label-percent"><input type="text" name="attr_climbwalls_ability_mod" class="width-smaller" title="@{climbwalls_ability_mod}" value="0"></label> <span class="text-large">±</span> <label class="label-percent"><input type="text" name="attr_climbwalls_racial_mod" class="width-smaller" title="@{climbwalls_racial_mod}" value="0"></label> <span class="text-large">±</span> <label class="label-percent"><input type="text" name="attr_climbwalls_magic" class="width-smaller" title="@{climbwalls_magic}" value="0"></label> </span><span class="thief-columns"><button class="text-only thiefskills-button" type="roll" name="roll_readlanguages" title="%{selected|readlanguages}" value="@{whisper_pc} &{template:general} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=Read Languages}} {{roll_low=[[ 1d100 ]]%}} {{roll_target=[[ @{readlanguages} ]]%}}"><span>Read Languages</span></button> <label class="label-percent" title="@{readlanguages}"><input type="text" name="attr_readlanguages" class="field-border readonly-span" title="@{readlanguages}" value="0"></label> <span class="text-large">=</span> <label class="label-percent"><input type="text" name="attr_readlanguages_base" class="width-smaller" title="@{readlanguages_base}" value="0"></label> <span class="text-large">±</span> <label class="label-percent"><input type="text" name="attr_readlanguages_ability_mod" class="width-smaller" title="@{readlanguages_ability_mod}" value="0"></label> <span class="text-large">±</span> <label class="label-percent"><input type="text" name="attr_readlanguages_racial_mod" class="width-smaller" title="@{readlanguages_racial_mod}" value="0"></label> <span class="text-large">±</span> <label class="label-percent"><input type="text" name="attr_readlanguages_magic" class="width-smaller" title="@{readlanguages_magic}" value="0"></label> </span><input type="checkbox" class="sect-show" name="attr_custom_function_show" value="1"> <span class="subheader">Custom Functions</span><span class="material-icons"></span><div class="sect"><span class="thief-columns"><details><summary><span class="material-icons custom-btn-nav"></span> <button class="text-only thiefskills-button" type="roll" name="roll_thiefmisc" title="%{selected|thiefmisc}" value="@{whisper_pc} &{template:general} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=@{thiefmisc_name}}} {{roll_low=[[ 1d100 ]] %}} {{roll_target=[[ @{thiefmisc} ]]%}}"><span name="attr_thiefmisc_name"></span></button></summary><input type="text" class="width-fill" name="attr_thiefmisc_name" title="@{thiefmisc_name}" value="Custom..."></details><label class="label-percent" title="@{thiefmisc}"><input type="text" name="attr_thiefmisc" class="field-border readonly-span" title="@{thiefmisc}" value="0"></label> <span class="text-large">=</span> <label class="label-percent"><input type="text" name="attr_thiefmisc_base" class="width-smaller" title="@{thiefmisc_base}" value="0"></label> <span class="text-large">±</span> <label class="label-percent"><input type="text" name="attr_thiefmisc_ability_mod" class="width-smaller" title="@{thiefmisc_ability_mod}" value="0"></label> <span class="text-large">±</span> <label class="label-percent"><input type="text" name="attr_thiefmisc_racial_mod" class="width-smaller" title="@{thiefmisc_racial_mod}" value="0"></label> <span class="text-large">±</span> <label class="label-percent"><input type="text" name="attr_thiefmisc_magic" class="width-smaller" title="@{thiefmisc_magic}" value="0"></label> </span><span class="thief-columns"><details><summary><span class="material-icons custom-btn-nav"></span> <button class="text-only thiefskills-button" type="roll" name="roll_thiefmisc1" title="%{selected|thiefmisc1}" value="@{whisper_pc} &{template:general} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=@{thiefmisc1_name}}} {{roll_low=[[ 1d100 ]]%}} {{roll_target=[[ @{thiefmisc1} ]]%}}"><span name="attr_thiefmisc1_name"></span></button></summary><input type="text" class="width-fill" name="attr_thiefmisc1_name" title="@{thiefmisc1_name}" value="Custom..."></details><label class="label-percent" title="@{thiefmisc1}"><input type="text" name="attr_thiefmisc1" class="field-border readonly-span" title="@{thiefmisc1}" value="0"></label> <span class="text-large">=</span> <label class="label-percent"><input type="text" name="attr_thiefmisc1_base" class="width-smaller" title="@{thiefmisc1_base}" value="0"></label> <span class="text-large">±</span> <label class="label-percent"><input type="text" name="attr_thiefmisc1_ability_mod" class="width-smaller" title="@{thiefmisc1_ability_mod}" value="0"></label> <span class="text-large">±</span> <label class="label-percent"><input type="text" name="attr_thiefmisc1_racial_mod" class="width-smaller" title="@{thiefmisc1_racial_mod}" value="0"></label> <span class="text-large">±</span> <label class="label-percent"><input type="text" name="attr_thiefmisc1_magic" class="width-smaller" title="@{thiefmisc1_magic}" value="0"></label> </span><span class="thief-columns"><details><summary><span class="material-icons custom-btn-nav"></span> <button class="text-only thiefskills-button" type="roll" name="roll_thiefmisc2" title="%{selected|thiefmisc2}" value="@{whisper_pc} &{template:general} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=@{thiefmisc2_name}}} {{roll_low=[[ 1d100 ]]%}} {{roll_target=[[ @{thiefmisc2} ]]%}}"><span name="attr_thiefmisc2_name"></span></button></summary><input type="text" class="width-fill" name="attr_thiefmisc2_name" title="@{thiefmisc2_name}" value="Custom..."></details><label class="label-percent" title="@{thiefmisc2}"><input type="text" name="attr_thiefmisc2" class="field-border readonly-span" title="@{thiefmisc2}" value="0"></label> <span class="text-large">=</span> <label class="label-percent"><input type="text" name="attr_thiefmisc2_base" class="width-smaller" title="@{thiefmisc2_base}" value="0"></label> <span class="text-large">±</span> <label class="label-percent"><input type="text" name="attr_thiefmisc2_ability_mod" class="width-smaller" title="@{thiefmisc2_ability_mod}" value="0"></label> <span class="text-large">±</span> <label class="label-percent"><input type="text" name="attr_thiefmisc2_racial_mod" class="width-smaller" title="@{thiefmisc2_racial_mod}" value="0"></label> <span class="text-large">±</span> <label class="label-percent"><input type="text" name="attr_thiefmisc2_magic" class="width-smaller" title="@{thiefmisc2_magic}" value="0"></label></span></div><span class="thief-columns"><h4>Backstab:</h4><label class="label-under span-two"><span>x <input type="text" name="attr_backstab" class="width-smaller" title="@{backstab} | Damage done per hit is twice normal for the weapon used per four XP levels." value="2"> </span><span>Multiplier</span></label> <label class="label-under span-two"><span>+ <input type="text" name="attr_backstab_bonus" class="width-smaller" title="@{backstab_bonus} | Striking by surprise from behind also increases the hit probability by 20% (+4 on the thief’s “to hit” die roll)." value="4"> </span><span>To-Hit Adj.</span></label></span></div><hr></section><section class="spells-box"><input type="checkbox" class="sect-show" name="attr_spells_info_show" value="1"><div class="header">SPELLS</div><span class="material-icons"></span><div class="sect"><div class="center"><span class="inline-label"><label><h4>Caster Class 1:</h4><input type="text" class="width-medium" name="attr_caster_class1_name" title="@{caster_class1_name} | Name used for spells" value="" placeholder="enter caster class"></label> <label><h4>Level:</h4><input type="text" class="width-small" name="attr_caster_class1_level" title="@{caster_class1_level}" value="0"></label> <label class="inline-label" title="@{toggle_caster2} | Hides a second caster class in the Spells section."><span>Hide Caster Class 2:</span> <input type="checkbox" name="attr_toggle_caster2" value="1" checked="checked"></label> </span><span class="spells-top column-header"><span>Cur / Max</span> <span>Cur / Max</span> <span>Cur / Max</span> <span>Cur / Max</span> <span>Cur / Max</span> <span>Cur / Max</span> <span>Cur / Max</span> <span>Cur / Max</span> <span>Cur / Max</span> <span>Cur / Max</span> </span><span class="spells-middle"><span><input type="text" class="width-fill" name="attr_spells_lvl_0_current" title="@{spells_lvl_0_current}" value="0"></span><span><input type="text" class="width-fill" name="attr_spells_lvl_0_max" title="@{spells_lvl_0|max}" value="0"></span><span><input type="text" class="width-fill" name="attr_spells_lvl_1_current" title="@{spells_lvl_1_current}" value="0"></span><span><input type="text" class="width-fill" name="attr_spells_lvl_1_max" title="@{spells_lvl_1|max}" value="0"></span><span><input type="text" class="width-fill" name="attr_spells_lvl_2_current" title="@{spells_lvl_2_current}" value="0"></span><span><input type="text" class="width-fill" name="attr_spells_lvl_2_max" title="@{spells_lvl_2|max}" value="0"></span><span><input type="text" class="width-fill" name="attr_spells_lvl_3_current" title="@{spells_lvl_3_current}" value="0"></span><span><input type="text" class="width-fill" name="attr_spells_lvl_3_max" title="@{spells_lvl_3|max}" value="0"></span><span><input type="text" class="width-fill" name="attr_spells_lvl_4_current" title="@{spells_lvl_4_current}" value="0"></span><span><input type="text" class="width-fill" name="attr_spells_lvl_4_max" title="@{spells_lvl_4|max}" value="0"></span><span><input type="text" class="width-fill" name="attr_spells_lvl_5_current" title="@{spells_lvl_5_current}" value="0"></span><span><input type="text" class="width-fill" name="attr_spells_lvl_5_max" title="@{spells_lvl_5|max}" value="0"></span><span><input type="text" class="width-fill" name="attr_spells_lvl_6_current" title="@{spells_lvl_6_current}" value="0"></span><span><input type="text" class="width-fill" name="attr_spells_lvl_6_max" title="@{spells_lvl_6|max}" value="0"></span><span><input type="text" class="width-fill" name="attr_spells_lvl_7_current" title="@{spells_lvl_7_current}" value="0"></span><span><input type="text" class="width-fill" name="attr_spells_lvl_7_max" title="@{spells_lvl_7|max}" value="0"></span><span><input type="text" class="width-fill" name="attr_spells_lvl_8_current" title="@{spells_lvl_8_current}" value="0"></span><span><input type="text" class="width-fill" name="attr_spells_lvl_8_max" title="@{spells_lvl_8|max}" value="0"></span><span><input type="text" class="width-fill" name="attr_spells_lvl_9_current" title="@{spells_lvl_9_current}" value="0"></span><span><input type="text" class="width-fill" name="attr_spells_lvl_9_max" title="@{spells_lvl_9|max}" value="0"></span></span><span class="to-hit spells-bottom"><span>Cantrips</span> <span>1st</span> <span>2nd</span> <span>3rd</span> <span>4th</span> <span>5th</span> <span>6th</span> <span>7th</span> <span>8th</span> <span>9th</span> </span><span class="spells-middle toggle-caster2"><span class="inline-label span-all no-border"><label><h4>Caster Class 2:</h4><input type="text" class="width-medium" name="attr_caster_class2_name" title="@{caster_class2_name} | Name used for spells" value="" placeholder="enter caster class"></label> <label><h4>Level:</h4><input type="text" class="width-small" name="attr_caster_class2_level" title="@{caster_class2_level}" value="0"></label> </span><span><input type="text" class="width-fill" name="attr_spells2_lvl_0_current" title="@{spells2_lvl_0_current}" value="0"></span><span><input type="text" class="width-fill" name="attr_spells2_lvl_0_max" title="@{spells2_lvl_0|max}" value="0"></span><span><input type="text" class="width-fill" name="attr_spells2_lvl_1_current" title="@{spells2_lvl_1_current}" value="0"></span><span><input type="text" class="width-fill" name="attr_spells2_lvl_1_max" title="@{spells2_lvl_1|max}" value="0"></span><span><input type="text" class="width-fill" name="attr_spells2_lvl_2_current" title="@{spells2_lvl_2_current}" value="0"></span><span><input type="text" class="width-fill" name="attr_spells2_lvl_2_max" title="@{spells2_lvl_2|max}" value="0"></span><span><input type="text" class="width-fill" name="attr_spells2_lvl_3_current" title="@{spells2_lvl_3_current}" value="0"></span><span><input type="text" class="width-fill" name="attr_spells2_lvl_3_max" title="@{spells2_lvl_3|max}" value="0"></span><span><input type="text" class="width-fill" name="attr_spells2_lvl_4_current" title="@{spells2_lvl_4_current}" value="0"></span><span><input type="text" class="width-fill" name="attr_spells2_lvl_4_max" title="@{spells2_lvl_4|max}" value="0"></span><span><input type="text" class="width-fill" name="attr_spells2_lvl_5_current" title="@{spells2_lvl_5_current}" value="0"></span><span><input type="text" class="width-fill" name="attr_spells2_lvl_5_max" title="@{spells2_lvl_5|max}" value="0"></span><span><input type="text" class="width-fill" name="attr_spells2_lvl_6_current" title="@{spells2_lvl_6_current}" value="0"></span><span><input type="text" class="width-fill" name="attr_spells2_lvl_6_max" title="@{spells2_lvl_6|max}" value="0"></span><span><input type="text" class="width-fill" name="attr_spells2_lvl_7_current" title="@{spells2_lvl_7_current}" value="0"></span><span><input type="text" class="width-fill" name="attr_spells2_lvl_7_max" title="@{spells2_lvl_7|max}" value="0"></span><span><input type="text" class="width-fill" name="attr_spells2_lvl_8_current" title="@{spells2_lvl_8_current}" value="0"></span><span><input type="text" class="width-fill" name="attr_spells2_lvl_8_max" title="@{spells2_lvl_8|max}" value="0"></span><span><input type="text" class="width-fill" name="attr_spells2_lvl_9_current" title="@{spells2_lvl_9_current}" value="0"></span><span><input type="text" class="width-fill" name="attr_spells2_lvl_9_max" title="@{spells2_lvl_9|max}" value="0"></span></span><span class="to-hit spells-bottom toggle-caster2"><span>Cantrips</span> <span>1st</span> <span>2nd</span> <span>3rd</span> <span>4th</span> <span>5th</span> <span>6th</span> <span>7th</span> <span>8th</span> <span>9th</span></span></div><div class="inline-label"><div class="spell-caster-tabs toggle-caster2"><input type="radio" class="tab-hidden tab" name="attr_spell_caster_tabs" value="0"><span class="tab">Caster 1</span> <input type="radio" class="tab-hidden tab" name="attr_spell_caster_tabs" value="1"><span class="tab">Caster 2</span> <input type="radio" class="tab-hidden tab" name="attr_spell_caster_tabs" value="-1" checked="checked"><span class="tab">All</span></div><label class="left" title="Display Spells on the sheet as a one or two columns."><span>Single Column</span> <input type="checkbox" class="toggle-single-column-spells" name="attr_toggle_single_column_spells" title="@{toggle_single_column_spells}" value="1" checked="checked"></label> <label class="left" title="Hide all non-memorized spells(ie #0)"><span>Memorized Only</span> <input type="checkbox" name="attr_toggle_show_memorized" title="@{toggle_show_memorized}" value="1"></label> <span class="inline-label right"><label><button type="action" name="act_spell-sort-alphabetical" title="Sort rows by spell names alphabetically."><span class="nowrap">Sort A-Z</span></button></label> <label><button type="action" name="act_spell-sort-level" title="Sort rows by level and spell names alphabetically."><span class="nowrap">Sort Lvl A-Z</span></button></label> <input type="hidden" name="attr_spells_previous_order_array" value=""> <label><button type="action" name="act_spell-sort-undo" class="text-only" title="Undo last Sort."><span class="undo"></span></button></label></span></div><div class="spell-tabs"><input type="radio" class="tab-hidden tab" name="attr_spell_tabs" value="0"><span class="tab">Cantrips</span> <input type="radio" class="tab-hidden tab" name="attr_spell_tabs" value="1"><span class="tab">1st</span> <input type="radio" class="tab-hidden tab" name="attr_spell_tabs" value="2"><span class="tab">2nd</span> <input type="radio" class="tab-hidden tab" name="attr_spell_tabs" value="3"><span class="tab">3rd</span> <input type="radio" class="tab-hidden tab" name="attr_spell_tabs" value="4"><span class="tab">4th</span> <input type="radio" class="tab-hidden tab" name="attr_spell_tabs" value="5"><span class="tab">5th</span> <input type="radio" class="tab-hidden tab" name="attr_spell_tabs" value="6"><span class="tab">6th</span> <input type="radio" class="tab-hidden tab" name="attr_spell_tabs" value="7"><span class="tab">7th</span> <input type="radio" class="tab-hidden tab" name="attr_spell_tabs" value="8"><span class="tab">8th</span> <input type="radio" class="tab-hidden tab" name="attr_spell_tabs" value="9"><span class="tab">9th</span> <input type="radio" class="tab-hidden tab" name="attr_spell_tabs" value="-1" checked="checked"><span class="tab">All</span></div><div class="sect"><fieldset class="repeating_spells"><input type="hidden" class="hidden toggle-show" name="attr_spell_show" value="1" readonly="readonly"> <input type="hidden" class="hidden not-memorized" name="attr_spell_memorized" value="0" readonly="readonly"> <input type="checkbox" class="hidden toggle-memorized" name="attr_spell_show_memorized" value="1" readonly="readonly"> <input type="checkbox" class="hidden toggle-all" name="attr_spell_show_all" value="1" readonly="readonly" checked="checked"> <span class="top-row spells-repheader spell-display border-top-half"><button class="dice-button" type="roll" name="attr_spell_roll" title="%{selected|repeating_spells_$X_spell_roll}" value="@{spell_macro_text}" style="margin-right:12px;"></button> <label class="repeating-name"><input type="text" class="auto-width" name="attr_spell_name" title="@{repeating_spells_$X_spell_name}" placeholder="Spell Name"></label> <label class="right nowrap spell-level"><span>Spell Lvl:</span> <select class="width-small" name="attr_spell_level" title="@{repeating_spells_$X_spell_level}"><option selected="">?</option><option>0</option><option>1</option><option>2</option><option>3</option><option>4</option><option>5</option><option>6</option><option>7</option><option>8</option><option>9</option></select></label> <label class="right" style="min-width: 2em; max-width: 3em;"><span>#</span> <input type="text" class="width-smallest" name="attr_spell_memorized" title="@{repeating_spells_$X_spell_memorized}" value="0"></label></span><details class="spell-display border-bottom-half"><summary><span class="material-icons gear-nav" title="Expand/Hide sub-section"></span></summary><div class="spell-details-grid"><span class="span-all inline-label"><label><select class="width-medium" name="attr_spell_caster_class" title="@{repeating_spells_$X_spell_caster_class}"><option value="0" selected="selected">n/a</option><option value="1">Caster 1</option><option class="toggle-caster2" value="2">Caster 2</option></select> <input type="hidden" name="attr_spell_caster_class" value="1"> <input type="text" class="width-medium shrink-on-placeholder" name="attr_spell_caster_class_name" value="" title="@{repeating_spells_$X_spell_caster_class_name}" placeholder="add caster class" readonly="readonly"></label> <label class="right" style="min-width: 3em; max-width: 4em; margin-left: 5px;"><span>Lvl</span> <input type="text" class="width-smallest" name="attr_spell_caster_class_level" value="0" title="@{repeating_spells_$X_spell_caster_class_level}" readonly="readonly"></label> </span><label><span>Spell Level:</span> <select class="width-small" name="attr_spell_level" title="@{repeating_spells_$X_spell_level}"><option selected="selected">?</option><option>0</option><option>1</option><option>2</option><option>3</option><option>4</option><option>5</option><option>6</option><option>7</option><option>8</option><option>9</option></select></label> <label><span>School:</span> <span class="inline-label width-fill"><input type="text" list="spell_school" name="attr_spell_school" title="@{repeating_spells_$X_spell_school}" value="" placeholder="Spell Type"></span></label> <label><span>Components:</span> <input type="text" name="attr_spell_components" title="@{repeating_spells_$X_spell_components}" value="" placeholder="V,S,M"></label> <label><span>Range:</span> <input type="text" name="attr_spell_range" title="@{repeating_spells_$X_spell_range}" value="" placeholder="6""></label> <label><span>Casting Time:</span> <input type="text" name="attr_spell_ct" title="@{repeating_spells_$X_spell_ct}" value="" placeholder="1 rnd"></label> <label><span>Duration:</span> <input type="text" name="attr_spell_duration" title="@{repeating_spells_$X_spell_duration}" value="" placeholder="1 rnd"></label> <label><span>Saving Throw:</span> <input type="text" name="attr_spell_save" title="@{repeating_spells_$X_spell_save}" value="" placeholder="None"></label> <label><span>Save Type:</span> <input type="text" name="attr_spell_save_type" title="@{repeating_spell_$X_spell_save_type}" value="" placeholder="n/a"></label> <label class="span-two"><span>Area of Effect:</span> <input type="text" name="attr_spell_aoe" title="@{repeating_spells_$X_spell_aoe}" value="" placeholder="One Creature"></label></div><textarea class="sect height-tall" name="attr_spell_description" title="@{repeating_spells_$X_spell_description}" placeholder="Spell Description"></textarea> <span class="inline-label"><label><span>Notes:</span> <textarea name="attr_spell_notes" class="height-short" title="@{repeating_spells_$X_spell_notes}" placeholder="Notes"></textarea></label> <label><button type="roll" class="info-link" value="@{whisper_pc} [**LINK**](@{spell_link})" title="Send link to chat."></button> <textarea class="info-link" wrap="off" name="attr_spell_link" title="@{repeating_spells_$X_spell_link}" placeholder="https://www.example.com"></textarea></label> </span><textarea name="attr_spell_macro_text" class="height-short toggle-macros" title="@{repeating_spells_$X_spell_macro_text} | Caution: modifying the macro-text can break the roll. Deleting the macro-text will safely reset the roll to the sheet's default macro.">@{whisper_pc} &{template:general} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=Casts: @{spell_name}}} {{school=@{spell_school}}} {{spell_level=@{spell_level}}} {{spell_class=@{spell_caster_class_name}}} {{spell_class_level=@{spell_caster_class_level}}} {{range=@{spell_range}}} {{duration=@{spell_duration}}} {{area_of_effect=@{spell_aoe}}} {{components=@{spell_components}}} {{casting_time=@{spell_ct}}} {{saving_throw=@{spell_save}}} {{save_type=@{spell_save_type}}} {{link=@{spell_link}}} {{freetext=@{spell_description}}}</textarea></details></fieldset></div><input type="checkbox" class="sect-show" name="attr_spellsnotes_show" value="1"> <span class="subheader">Spells Notes</span><span class="material-icons"></span><div class="sect"><textarea name="attr_spellsnotes" title="@{spellsnotes}" placeholder="Spells Notes"></textarea></div></div><hr></section><section class="notes-box"><input type="checkbox" class="sect-show" name="attr_notes_info_show" value="1"><div class="header">NOTES</div><span class="material-icons"></span><div class="sect"><span class="notes-norep-columns"><button class="dice-button" type="roll" name="attr_note_roll" title="%{note_roll}" value="@{whisper_pc} &{template:general} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=@{note_name}}} {{freetext=@{notes}}}"></button> <span class="autoexpand"><input type="text" name="attr_note_name" title="@{note_name}" value="" placeholder="Note Name"> <span name="attr_note_name"></span> </span><span class="autoexpand span-two"><textarea class="height-fill" name="attr_notes" title="@{notes}" placeholder="Misc Notes"></textarea> <span name="attr_notes"></span> </span></span><label class="left"><span>Single Column</span> <input type="checkbox" class="toggle-single-column-notes" name="attr_toggle_single_column_notes" title="@{toggle_single_column_notes}" value="1" checked="checked"></label></div><div class="sect"><fieldset class="repeating_notes"><span class="top-row notes-columns border-top-half"><button class="dice-button" type="roll" name="attr_notes_roll" title="%{repeating_notes_$X_notes_roll}" value="@{whisper_pc} &{template:general} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=@{notes_name}}} {{freetext=@{notes_description}}}"></button> <span class="autoexpand"><input type="text" name="attr_notes_name" title="@{repeating_notes_$X_notes_name}" value="" placeholder="Note Name"> <span name="attr_notes_name"></span></span></span><details class="border-bottom-half"><summary><span class="material-icons gear-nav" title="Expand/Hide sub-section"></span></summary><textarea class="height-tall" name="attr_notes_description" title="@{repeating_notes_$X_notes_description}" placeholder="Misc Notes"></textarea></details></fieldset></div><hr></section><section class="options-box"><input type="checkbox" class="sect-show" name="attr_settings_show" value="1" checked="checked"><div class="header">SETTINGS</div><span class="material-icons"></span><div class="settings sect"><h4 class="left">Reminder: these are per-sheet settings only. DM's that would like to set their own defaults for new characters can do so using the Default Settings section found in the main Game Settings page. If you would also like to apply these settings to all existing characters in the game follow the wiki instructions:<span class="inline-label"><button type="roll" class="url-roll btn ui-draggable" title="Post this link to chat." value="[Roll20 Wiki Link](https://wiki.roll20.net/Game_Settings_Page#Applying_Setting_Defaults_to_Existing_Content_In-Game)"><span>Applying Setting Defaults to Existing Content</span></button></span></h4><span class="inline-label left"><label title="@{background} | Choose a sheet background. note: Using Roll20's dark mode option will override this option."><h4>Background:</h4><select class="background-selection" name="attr_background"><option value="1" default="">White</option><option value="2" style="background-color: #d5cdc2;">Parchment</option><option value="7" style="background-color: #f6e8a7;">Light Goldenrod</option><option value="3" style="background-color: #f4d74f;">Goldenrod</option><option value="4" style="background-color: #b5dcb3">Moldvay</option><option value="5" style="background-color: var(--color-white1);">Light Greyhawk</option><option value="6" style="background-color: rgb(179 179 179 / 54%);">Greyhawk</option></select></label> <label title="@{color_option} | Color will be displayed with sheet rolls."><h4>Roll Template Color:</h4><select name="attr_color_option"><option style="background-color: var(--black); color: #fff;" value="black" selected="selected">black</option><option style="background-color: var(--blue); color: #fff;" value="blue">blue</option><option style="background-color: var(--darkblue); color: #fff;" value="darkblue">darkblue</option><option style="background-color: var(--darkgreen); color: #fff;" value="darkgreen">darkgreen</option><option style="background-color: var(--darkgrey); color: #fff;" value="darkgrey">darkgrey</option><option style="background-color: var(--darkorange); color: #fff;" value="darkorange">darkorange</option><option style="background-color: var(--darkpink); color: #fff;" value="darkpink">darkpink</option><option style="background-color: var(--darkpurple); color: #fff;" value="darkpurple">darkpurple</option><option style="background-color: var(--darkred); color: #fff;" value="darkred">darkred</option><option style="background-color: var(--darkyellow); color: #fff;" value="darkyellow">darkyellow</option><option style="background-color: var(--green); color: #fff;" value="green">green</option><option style="background-color: var(--grey); color: #fff;" value="grey">grey</option><option style="background-color: var(--orange); color: #fff;" value="orange">orange</option><option style="background-color: var(--pink); color: #fff;" value="pink">pink</option><option style="background-color: var(--purple); color: #fff;" value="purple">purple</option><option style="background-color: var(--red); color: #fff;" value="red">red</option><option style="background-color: var(--white);" value="white">white</option><option style="background-color: var(--yellow);" value="yellow">yellow</option></select></label> </span><span class="inline-label width-fill"><h4 class="stack-text">Sheet Image:</h4><label><select name="attr_sheet_image" title="@{sheet_image} | Image displayed on the sheet. Defaults to a selected Avatar." style="width:11em;"><option value="1" selected="selected">Use Avatar</option><option value="0">Use URL</option><option value="2">None</option></select> <button type="roll" class="button" value="[**LINK**](@{sheet_image_url})" title="Send image to chat."><span>Image URL:</span></button> <input type="text" class="width-fill border-light" name="attr_sheet_image_url" title="@{sheet_image_url} | Enter a valid image URL that ends with a proper image extension. ie .png, .jpg, .gif If needed, trim the url to the end of the image extension or add a 3-letter extension to the end of the url.." placeholder="https://app.roll20.net/images/character.png"></label> </span><span class="inline-label width-fill" title="@{surprise_die} | Choose the die used for Surprise rolls."><h4 class="stack-text">Surprise die:</h4><label style="width:auto;"><select name="attr_surprise_die" class="width-medium"><option value="6" selected="selected">1d6</option><option value="8">1d8</option><option value="10">1d10</option><option value="12">1d12</option><option value="20">1d20</option><option value="100">1d100</option></select></label> <label><button type="roll" class="button" value="@{surprise_macro_text}" title="Test Roll"><span>Surprise Macro:</span></button> <textarea class="height-half" name="attr_surprise_macro_text" title="@{surprise_macro_text} | Caution: modifying the macro-text can break the roll. Deleting the macro-text will safely reset the roll to the sheet's default macro.">&{template:general} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=Surprised 1-?{Surprised on?(enter upper limit)|@{surprise}} on 1d@{surprise_die}}} {{roll=[[ 1d@{surprise_die}cf<?{Surprised on?(enter upper limit)|@{surprise}}cs>?{Surprised on?(enter upper limit)|@{surprise}} ]] }} {{Segment Adjustments}} {{dex_adjustment=[[ @{surprisebonus} ]]}} {{current_encumbrance=[[ @{current_encumbrance_move} ]]}}</textarea></label> </span><span class="inline-label width-fill" title="@{surprise_others_die} | Choose the die used for the Surprise Others rolls."><h4 class="stack-text">Surprise Others die:</h4><label style="width:auto;"><select name="attr_surprise_others_die" class="width-medium"><option value="6" selected="selected">1d6</option><option value="8">1d8</option><option value="10">1d10</option><option value="12">1d12</option><option value="20">1d20</option><option value="100">1d100</option></select></label> <label><button type="roll" class="button" value="@{surprise_others_macro_text}" title="Test Roll"><span>Surprise Others:</span></button> <textarea class="height-half" name="attr_surprise_others_macro_text" title="@{surprise_others_macro_text} | Caution: modifying the macro-text can break the roll. Deleting the macro-text will safely reset the roll to the sheet's default macro.">&{template:general} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=Surprise Others 1-?{Surprise others on?(enter upper limit)|@{surprise}} on 1d@{surprise_others_die}}} {{roll=[[ 1d@{surprise_others_die}cs<?{Surprise others on?(enter upper limit)|@{surprise}}cf>?{Surprise others on?(enter upper limit)|@{surprise}} ]] }} {{Surprise Others Adj: [[ @{surprise_others_mod} ]]}} {{Segment Adjustments}} {{dex_adjustment=[[ @{surprisebonus} ]]}} {{current_encumbrance=[[ @{current_encumbrance_move} ]]}}</textarea></label> </span><span class="inline-label width-fill" title="@{initiative_die} | Choose the die used for Initiative rolls."><h4 class="stack-text">Initiative die:</h4><label style="width:auto;"><select name="attr_initiative_die" class="width-medium"><option value="6" selected="selected">1d6</option><option value="8">1d8</option><option value="10">1d10</option><option value="12">1d12</option><option value="20">1d20</option><option value="100">1d100</option></select></label> <label><button type="roll" class="button" value="@{init_macro_text}" title="Test Roll"><span>Initiative Macro:</span></button> <textarea class="height-half" name="attr_init_macro_text" title="@{init_macro_text} | Caution: modifying the macro-text can break the roll. Deleting the macro-text will safely reset the roll to the sheet's default macro.">&{template:general} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=Initiative! 1d@{initiative_die}}} {{roll=[[ 1d@{initiative_die} + ( ?{Modifier?|0}[MOD] ) &{tracker}]]}} {{Misc. Adjustments}} {{mod_applied=[[ ?{Modifier?|0} ]]}} {{dex_adjustment= @{surprisebonus_inverted}}} {{current_encumbrance=[[ @{current_encumbrance_move} ]]}}</textarea></label> </span><span class="inline-label wrap width-fill"><h4>Misc. Options:</h4><label title="@{ability_check_die} | Die/Dice vs Ability Score. ie 1d20, 4d6, 3d6, etc."><span>Ability Check die:</span> <input type="text" class="width-small-plus border" name="attr_ability_check_die" value="1d20"></label> <label title="@{toggle_to_hit_table} | Use THAC0 instead of Attack Matrix. NOTE: The Autofill Table option uses the 1e table data to establish the base THAC0, but it does not use the repeating 20's."><span>Use THAC0:</span> <input type="checkbox" name="attr_toggle_to_hit_table" value="1"></label> <label title="@{toggle_fighter5} | Use a 5% progression to-Hit table. This is a Fighter only option and will have no effect for other classes."><span>Use Fighter 5%:</span> <input type="checkbox" name="attr_toggle_fighter5" value="1"></label> <label title="@{toggle_auto_damage} | Auto roll damage regardless of the attack roll."><span>Auto Roll Damage:</span> <input type="checkbox" name="attr_toggle_auto_damage" value="1"></label> <label title="@{toggle_critdamage} | Use crit damage rolls on natural 20. Defaults to weapon damage x2. Crit damage handling can be adjusted per attack."><span>Use Crit Damage:</span> <input type="checkbox" name="attr_toggle_critdamage" value="1"></label> <label title="@{toggle_lbs} | Use Lbs instead of gold pieces when determining encumbrance. Carrying capacities and carried coin weight will be divided by 10. Per-item weights need to be entered as lbs in order for the sheet to properly calculate encumbrance."><span>Use Lbs:</span> <input type="checkbox" class="toggle-lbs" name="attr_toggle_lbs" value="1"></label> </span><span class="five-columns"><h4 class="inline-label" style="grid-row: 1/3;margin-left: 3em;">Cleric:</h4><h4 class="stack-text" title="Standard Turn Undead by type.">Standard Turn Undead:</h4><label title="@{turn_undead_macro} | Choose a Cleric level."><span>Cleric Lvl:</span> <select name="attr_turn_undead_macro" class="width-smaller" style="appearance: none;"><option value="1}} {{?{Undead Type?|Skeleton,[[1d12]]Skeleton's=[[1d20cs>10cf<10]]|Zombie,[[1d12]]Zombie's=[[1d20cs>13cf<13]]|Ghoul,[[1d12]]Ghoul's=[[1d20cs>16cf<16]]|Shadow,[[1d12]]Shadow's=[[1d20cs>19cf<19]]|Wight,[[1d12]]Wight's=[[1d20cs>20cf<20]]}}} {{Turned for [[3d4]] rounds}}" selected="selected">1</option><option value="2}} {{?{Undead Type?|Skeleton,[[1d12]]Skeleton's=[[1d20cs>7cf<7]]|Zombie,[[1d12]]Zombie's=[[1d20cs>10cf<10]]|Ghoul,[[1d12]]Ghoul's=[[1d20cs>13cf<13]]|Shadow,[[1d12]]Shadow's=[[1d20cs>16cf<16]]|Wight,[[1d12]]Wight's=[[1d20cs>19cf<19]]|Ghast,[[1d12]]Ghast's=[[1d20cs>20cf<20]]}}} {{Turned for [[3d4]] rounds}}">2</option><option value="3}} {{?{Undead Type?|Skeleton,[[1d12]]Skeleton's=[[1d20cs>4cf<4]]|Zombie,[[1d12]]Zombie's=[[1d20cs>7cf<7]]|Ghoul,[[1d12]]Ghoul's=[[1d20cs>10cf<10]]|Shadow,[[1d12]]Shadow's=[[1d20cs>13cf<13]]|Wight,[[1d12]]Wight's=[[1d20cs>16cf<16]]|Ghast,[[1d12]]Ghast's=[[1d20cs>19cf<19]]|Wraith,[[1d12]]Wraith's=[[1d20cs>20cf<20]]}}} {{Turned for [[3d4]] rounds}}">3</option><option value="4}} {{?{Undead Type?|Skeleton,[[1d12 [T]]]Skeleton's=T|Zombie,[[1d12 [T]]]Zombie's=T|Ghoul,[[1d12]]Ghoul's=[[1d20cs>4cf<4]]|Shadow,[[1d12]]Shadow's=[[1d20cs>7cf<7]]|Wight,[[1d12]]Wight's=[[1d20cs>10cf<10]]|Ghast,[[1d12]]Ghast's=[[1d20cs>13cf<13]]|Wraith,[[1d12]]Wraith's=[[1d20cs>16cf<16]]|Mummy,[[1d12]]Mummy's=[[1d20cs>19cf<19]]|Spectre,[[1d12]]Spectre's=[[1d20cs>20cf<20]]}}} {{Turned for [[3d4]] rounds}}">4</option><option value="5}} {{?{Undead Type?|Skeleton,[[1d12 [T]]]Skeleton's=T|Zombie,[[1d12 [T]]]Zombie's=T|Ghoul,[[1d12 [T]]]Ghoul's=T|Shadow,[[1d12]]Shadow's=[[1d20cs>4cf<4]]|Wight,[[1d12]]Wight's=[[1d20cs>7cf<7]]|Ghast,[[1d12]]Ghast's=[[1d20cs>10cf<10]]|Wraith,[[1d12]]Wraith's=[[1d20cs>13cf<13]]|Mummy,[[1d12]]Mummy's=[[1d20cs>16cf<16]]|Spectre,[[1d12]]Spectre's=[[1d20cs>19cf<19]]|Vampire,[[1d12]]Vampire's=[[1d20cs>20cf<20]]}}} {{Turned for [[3d4]] rounds}}">5</option><option value="6}} {{?{Undead Type?|Skeleton,[[1d12 [D]]]Skeleton's=D|Zombie,[[1d12]]Zombie's=D|Ghoul,[[1d12 [T]]]Ghoul's=T|Shadow,[[1d12 [T]]]Shadow's=T|Wight,[[1d12]]Wight's=[[1d20cs>4cf<4]]|Ghast,[[1d12]]Ghast's=[[1d20cs>7cf<7]]|Wraith,[[1d12]]Wraith's=[[1d20cs>10cf<10]]|Mummy,[[1d12]]Mummy's=[[1d20cs>13cf<13]]|Spectre,[[1d12]]Spectre's=[[1d20cs>16cf<16]]|Vampire,[[1d12]]Vampire's=[[1d20cs>19cf<19]]|Ghost,[[1d12]]Ghost's=[[1d20cs>20cf<20]]}}} {{Turned for [[3d4]] rounds}}">6</option><option value="7}} {{?{Undead Type?|Skeleton,[[1d12 [D]]]Skeleton's=D|Zombie,[[1d12 [D]]]Zombie's=D|Ghoul,[[1d12 [D]]]Ghoul's=D|Shadow,[[1d12 [T]]]Shadow's=T|Wight,[[1d12 [T]]]Wight's=T|Ghast,[[1d12]]Ghast's=[[1d20cs>4cf<4]]|Wraith,[[1d12]]Wraith's=[[1d20cs>7cf<7]]|Mummy,[[1d12]]Mummy's=[[1d20cs>10cf<10]]|Spectre,[[1d12]]Spectre's=[[1d20cs>13cf<13]]|Vampire,[[1d12]]Vampire's=[[1d20cs>16cf<16]]|Ghost,[[1d12]]Ghost's=[[1d20cs>19cf<19]]|Lich,[[1d12]]Lich's=[[1d20cs>20cf<20]]}}} {{Turned for [[3d4]] rounds}}">7</option><option value="8}} {{?{Undead Type?|Skeleton,[[1d6+6 [D¹]]]Skeleton's=D¹|Zombie,[[1d12 [D]]]Zombie's=D|Ghoul,[[1d12 [D]]]Ghoul's=D|Shadow,[[1d12 [D]]]Shadow's=D|Wight,[[1d12 [T]]]Wight's=T|Ghast,[[1d12 [T]]]Ghast's=T|Wraith,[[1d12]]Wraith's=[[1d20cs>4cf<4]]|Mummy,[[1d12]]Mummy's=[[1d20cs>7cf<7]]|Spectre,[[1d12]]Spectre's=[[1d20cs>10cf<10]]|Vampire,[[1d12]]Vampire's=[[1d20cs>13cf<13]]|Ghost,[[1d12]]Ghost's=[[1d20cs>16cf<16]]|Lich,[[1d12]]Lich's=[[1d20cs>19cf<19]]|Special,[[1d2 [Special]]]Special=[[1d20cs>20cf<20]]}}} {{Turned for [[3d4]] rounds}}">8</option><option value="9-13}} {{?{Undead Type?|Skeleton,[[1d6+6 [D¹]]]Skeleton's=D¹|Zombie,[[1d6+6 [D¹]]]Zombie's=D¹|Ghoul,[[1d12 [D]]]Ghoul's=D|Shadow,[[1d12 [D]]]Shadow's=D|Wight,[[1d12 [D]]]Wight's=D|Ghast,[[1d12 [T]]]Ghast's=T|Wraith,[[1d12 [T]]]Wraith's=T|Mummy,[[1d12]]Mummy's=[[1d20cs>4cf<4]]|Spectre,[[1d12]]Spectre's=[[1d20cs>7cf<7]]|Vampire,[[1d12]]Vampire's=[[1d20cs>10cf<10]]|Ghost,[[1d12]]Ghost's=[[1d20cs>13cf<13]]|Lich,[[1d12]]Lich's=[[1d20cs>16cf<16]]|Special,[[1d2 [Special]]]Special=[[1d20cs>19cf<19]]}}} {{Turned for [[3d4]] rounds}}">9-13</option><option value="14+}} {{?{Undead Type?|Skeleton,[[1d6+6 [D¹]]]Skeleton's=D¹|Zombie,[[1d6+6 [D¹]]]Zombie's=D¹|Ghoul,[[1d6+6 [D¹]]]Ghoul's=D¹|Shadow,[[1d6+6 [D¹]]]Shadow's=D¹|Wight,[[1d12 [D]]]Wight's=D|Ghast,[[1d12 [D]]]Ghast's=D|Wraith,[[1d12 [D]]]Wraith's=D|Mummy,[[1d12 [T]]]Mummy's=T|Spectre,[[1d12 [T]]]Spectre's=T|Vampire,[[1d12]]Vampire's=[[1d20cs>4cf<4]]|Ghost,[[1d12]]Ghost's=[[1d20cs>7cf<7]]|Lich,[[1d12]]Lich's=[[1d20cs>10cf<10]]|Special,[[1d2 [Special]]]Special=[[1d20cs>13cf<13]]}}} {{Turned for [[3d4]] rounds}}">14+</option></select></label> <label title="%{turn_undead_roll} | Standard Turn Undead by type."><button type="roll" name="roll_turn_undead_roll" value="@{whisper_pc} &{template:general} {{name=@{character_name}}} {{color=@{color_option}}} {{# & Type Effected}} {{subtag=Turn/Command Undead Lvl: @{turn_undead_macro}"><span>Turn Undead</span></button></label> <label title="Add to Special Abilities. Creates a unique, non-synced, ability."><button type="action" name="act_addturnundead"><span>+Add</span></button></label><h4 class="stack-text" title="Alternate version that groups undead by adjusted HD. Credit to Dragonsfoot.com see Footprints #7 for details.">Alternate Turn Undead:</h4><label title="@{turn_undead_macro2} | Choose a Cleric level."><span>Cleric Lvl:</span> <select name="attr_turn_undead_macro2" class="width-smaller" style="appearance: none;"><option value="1}} {{?{Undead Type?|HD1: Poltergeist Skeleton Animal Skeleton,[[1d12]]HD1: Poltergeist Skeleton Animal Skeleton=[[1d20cs>11cf<11]]|HD2: Zombie,[[1d12]]HD2: Zombie's=[[1d20cs>14cf<14]]|HD3: Coffer Corpse Ghoul Sheet Phantom,[[1d12]]HD3: Coffer Corpse Ghoul Sheet Phantom=[[1d20cs>17cf<17]]|HD4: Huecuva Penanggalan Sheet Ghoul Juju Zombie,[[1d12]]HD4: Huecuva Penanggalan Sheet Ghoul Juju Zombie=[[1d20cs>20cf<20]]}}} {{Turned for [[3d4]] rounds}}" selected="selected">1</option><option value="2}} {{?{Undead Type?|HD1: Poltergeist Skeleton Animal Skeleton,[[1d12]]HD1: Poltergeist Skeleton Animal Skeleton=[[1d20cs>8cf<8]]|HD2: Zombie,[[1d12]]HD2: Zombie's=[[1d20cs>11cf<11]]|HD3: Coffer Corpse Ghoul Sheet Phantom,[[1d12]]HD3: Coffer Corpse Ghoul Sheet Phantom=[[1d20cs>14cf<14]]|HD4: Huecuva Penanggalan Sheet Ghoul Juju Zombie,[[1d12]]HD4: Huecuva Penanggalan Sheet Ghoul Juju Zombie=[[1d20cs>17cf<17]]|HD5: Ghast Shadow,[[1d12]]HD5: Ghast Shadow=[[1d20cs>20cf<20]]}}} {{Turned for [[3d4]] rounds}}">2</option><option value="3}} {{?{Undead Type?|HD1: Poltergeist Skeleton Animal Skeleton,[[1d12]]HD1: Poltergeist Skeleton Animal Skeleton=[[1d20cs>5cf<5]]|HD2: Zombie,[[1d12]]HD2: Zombie's=[[1d20cs>8cf<8]]|HD3: Coffer Corpse Ghoul Sheet Phantom,[[1d12]]HD3: Coffer Corpse Ghoul Sheet Phantom=[[1d20cs>11cf<11]]|HD4: Huecuva Penanggalan Sheet Ghoul Juju Zombie,[[1d12]]HD4: Huecuva Penanggalan Sheet Ghoul Juju Zombie=[[1d20cs>14cf<14]]|HD5: Ghast Shadow,[[1d12]]HD5: Ghast Shadow=[[1d20cs>17cf<17]]|HD6: Son of Kyuss Wight Monster Zombie,[[1d12]]HD6: Son of Kyuss Wight Monster Zombie=[[1d20cs>20cf<20]]}}} {{Turned for [[3d4]] rounds}}">3</option><option value="4}} {{?{Undead Type?|HD1: Poltergeist Skeleton Animal Skeleton,[[1d12]]HD1: Poltergeist Skeleton Animal Skeleton=[[1d20cs>2cf<2]]|HD2: Zombie,[[1d12]]HD2: Zombie's=[[1d20cs>5cf<5]]|HD3: Coffer Corpse Ghoul Sheet Phantom,[[1d12]]HD3: Coffer Corpse Ghoul Sheet Phantom=[[1d20cs>8cf<8]]|HD4: Huecuva Penanggalan Sheet Ghoul Juju Zombie,[[1d12]]HD4: Huecuva Penanggalan Sheet Ghoul Juju Zombie=[[1d20cs>11cf<11]]|HD5: Ghast Shadow,[[1d12]]HD5: Ghast Shadow=[[1d20cs>14cf<14]]|HD6: Son of Kyuss Wight Monster Zombie,[[1d12]]HD6: Son of Kyuss Wight Monster Zombie=[[1d20cs>17cf<17]]|HD7: Crypt Thing Wraith,[[1d12]]HD7: Crypt Thing Wraith=[[1d20cs>20cf<20]]}}} {{Turned for [[3d4]] rounds}}">4</option><option value="5}} {{?{Undead Type?|HD1: Poltergeist Skeleton Animal Skeleton,[[1d12 [T]]]HD1: Poltergeist Skeleton Animal Skeleton=T|HD2: Zombie,[[1d12]]HD2: Zombie's=[[1d20cs>2cf<2]]|HD3: Coffer Corpse Ghoul Sheet Phantom,[[1d12]]HD3: Coffer Corpse Ghoul Sheet Phantom=[[1d20cs>5cf<5]]|HD4: Huecuva Penanggalan Sheet Ghoul Juju Zombie,[[1d12]]HD4: Huecuva Penanggalan Sheet Ghoul Juju Zombie=[[1d20cs>8cf<8]]|HD5: Ghast Shadow,[[1d12]]HD5: Ghast Shadow=[[1d20cs>11cf<11]]|HD6: Son of Kyuss Wight Monster Zombie,[[1d12]]HD6: Son of Kyuss Wight Monster Zombie=[[1d20cs>14cf<14]]|HD7: Crypt Thing Wraith,[[1d12]]HD7: Crypt Thing Wraith=[[1d20cs>17cf<17]]|HD8: Mummy,[[1d12]]HD8: Mummy's=[[1d20cs>20cf<20]]}}} {{Turned for [[3d4]] rounds}}">5</option><option value="6}} {{?{Undead Type?|HD1: Poltergeist Skeleton Animal Skeleton,[[1d12 [T]]]HD1: Poltergeist Skeleton Animal Skeleton=T|HD2: Zombie,[[1d12]]HD2: Zombie's=T|HD3: Coffer Corpse Ghoul Sheet Phantom,[[1d12]]HD3: Coffer Corpse Ghoul Sheet Phantom=[[1d20cs>2cf<2]]|HD4: Huecuva Penanggalan Sheet Ghoul Juju Zombie,[[1d12]]HD4: Huecuva Penanggalan Sheet Ghoul Juju Zombie=[[1d20cs>5cf<5]]|HD5: Ghast Shadow,[[1d12]]HD5: Ghast Shadow=[[1d20cs>8cf<8]]|HD6: Son of Kyuss Wight Monster Zombie,[[1d12]]HD6: Son of Kyuss Wight Monster Zombie=[[1d20cs>11cf<11]]|HD7: Crypt Thing Wraith,[[1d12]]HD7: Crypt Thing Wraith=[[1d20cs>14cf<14]]|HD8: Mummy,[[1d12]]HD8: Mummy's=[[1d20cs>17cf<17]]|HD9: Spectre,[[1d12]]HD9: Spectre's=[[1d20cs>20cf<20]]}}} {{Turned for [[3d4]] rounds}}">6</option><option value="7}} {{?{Undead Type?|HD1: Poltergeist Skeleton Animal Skeleton,[[1d12 [T]]]HD1: Poltergeist Skeleton Animal Skeleton=T|HD2: Zombie,[[1d12 [T]]]HD2: Zombie's=T|HD3: Coffer Corpse Ghoul Sheet Phantom,[[1d12 [T]]]HD3: Coffer Corpse Ghoul Sheet Phantom=T|HD4: Huecuva Penanggalan Sheet Ghoul Juju Zombie,[[1d12]]HD4: Huecuva Penanggalan Sheet Ghoul Juju Zombie=[[1d20cs>2cf<2]]|HD5: Ghast Shadow,[[1d12]]HD5: Ghast Shadow=[[1d20cs>5cf<5]]|HD6: Son of Kyuss Wight Monster Zombie,[[1d12]]HD6: Son of Kyuss Wight Monster Zombie=[[1d20cs>8cf<8]]|HD7: Crypt Thing Wraith,[[1d12]]HD7: Crypt Thing Wraith=[[1d20cs>11cf<11]]|HD8: Mummy,[[1d12]]HD8: Mummy's=[[1d20cs>14cf<14]]|HD9: Spectre,[[1d12]]HD9: Spectre's=[[1d20cs>17cf<17]]|HD10: Apparition,[[1d12]]HD10: Apparition's=[[1d20cs>20cf<20]]}}} {{Turned for [[3d4]] rounds}}">7</option><option value="8}} {{?{Undead Type?|HD1: Poltergeist Skeleton Animal Skeleton,[[1d12 [D]]]HD1: Poltergeist Skeleton Animal Skeleton=D|HD2: Zombie,[[1d12 [T]]]HD2: Zombie's=T|HD3: Coffer Corpse Ghoul Sheet Phantom,[[1d12 [T]]]HD3: Coffer Corpse Ghoul Sheet Phantom=T|HD4: Huecuva Penanggalan Sheet Ghoul Juju Zombie,[[1d12 [T]]]HD4: Huecuva Penanggalan Sheet Ghoul Juju Zombie=T|HD5: Ghast Shadow,[[1d12]]HD5: Ghast Shadow=[[1d20cs>2cf<2]]|HD6: Son of Kyuss Wight Monster Zombie,[[1d12]]HD6: Son of Kyuss Wight Monster Zombie=[[1d20cs>5cf<5]]|HD7: Crypt Thing Wraith,[[1d12]]HD7: Crypt Thing Wraith=[[1d20cs>8cf<8]]|HD8: Mummy,[[1d12]]HD8: Mummy's=[[1d20cs>11cf<11]]|HD9: Spectre,[[1d12]]HD9: Spectre's=[[1d20cs>14cf<14]]|HD10: Apparition,[[1d12]]HD10: Apparition's=[[1d20cs>17cf<17]]|HD11: Vampire,[[1d12]]HD11: Vampire's=[[1d20cs>20cf<20]]}}} {{Turned for [[3d4]] rounds}}">8</option><option value="9}} {{?{Undead Type?|HD1: Poltergeist Skeleton Animal Skeleton,[[1d12 [D]]]HD1: Poltergeist Skeleton Animal Skeleton=D|HD2: Zombie,[[1d12 [D]]]HD2: Zombie's=D|HD3: Coffer Corpse Ghoul Sheet Phantom,[[1d12 [T]]]HD3: Coffer Corpse Ghoul Sheet Phantom=T|HD4: Huecuva Penanggalan Sheet Ghoul Juju Zombie,[[1d12 [T]]]HD4: Huecuva Penanggalan Sheet Ghoul Juju Zombie=T|HD5: Ghast Shadow,[[1d12 [T]]]HD5: Ghast Shadow=T|HD6: Son of Kyuss Wight Monster Zombie,[[1d12]]HD6: Son of Kyuss Wight Monster Zombie=[[1d20cs>2cf<2]]|HD7: Crypt Thing Wraith,[[1d12]]HD7: Crypt Thing Wraith=[[1d20cs>5cf<5]]|HD8: Mummy,[[1d12]]HD8: Mummy's=[[1d20cs>8cf<8]]|HD9: Spectre,[[1d12]]HD9: Spectre's=[[1d20cs>11cf<11]]|HD10: Apparition,[[1d12]]HD10: Apparition's=[[1d20cs>14cf<14]]|HD11: Vampire,[[1d12]]HD11: Vampire's=[[1d20cs>17cf<17]]|HD12: Eye Of Fear & Flame Groaning Spirit,[[1d12]]HD12: Eye Of Fear & Flame Groaning Spirit=[[1d20cs>20cf<20]]}}} {{Turned for [[3d4]] rounds}}">9</option><option value="10}} {{?{Undead Type?|HD1: Poltergeist Skeleton Animal Skeleton,[[1d12 [D]]]HD1: Poltergeist Skeleton Animal Skeleton=D|HD2: Zombie,[[1d12 [D]]]HD2: Zombie's=D|HD3: Coffer Corpse Ghoul Sheet Phantom,[[1d12 [D]]]HD3: Coffer Corpse Ghoul Sheet Phantom=D|HD4: Huecuva Penanggalan Sheet Ghoul Juju Zombie,[[1d12 [T]]]HD4: Huecuva Penanggalan Sheet Ghoul Juju Zombie=T|HD5: Ghast Shadow,[[1d12 [T]]]HD5: Ghast Shadow=T|HD6: Son of Kyuss Wight Monster Zombie,[[1d12 [T]]]HD6: Son of Kyuss Wight Monster Zombie=T|HD7: Crypt Thing Wraith,[[1d12]]HD7: Crypt Thing Wraith=[[1d20cs>2cf<2]]|HD8: Mummy,[[1d12]]HD8: Mummy's=[[1d20cs>5cf<5]]|HD9: Spectre,[[1d12]]HD9: Spectre's=[[1d20cs>8cf<8]]|HD10: Apparition,[[1d12]]HD10: Apparition's=[[1d20cs>11cf<11]]|HD11: Vampire,[[1d12]]HD11: Vampire's=[[1d20cs>14cf<14]]|HD12: Eye Of Fear & Flame Groaning Spirit,[[1d12]]HD12: Eye Of Fear & Flame Groaning Spirit=[[1d20cs>17cf<17]]|HD13: Death Knight Ghost Lich,[[1d12]]HD13: Death Knight Ghost Lich=[[1d20cs>20cf<20]]}}} {{Turned for [[3d4]] rounds}}">10</option><option value="11}} {{?{Undead Type?|HD1: Poltergeist Skeleton Animal Skeleton,[[1d6+6 [D¹]]]HD1: Poltergeist Skeleton Animal Skeleton=D¹|HD2: Zombie,[[1d12 [D]]]HD2: Zombie's=D|HD3: Coffer Corpse Ghoul Sheet Phantom,[[1d12 [D]]]HD3: Coffer Corpse Ghoul Sheet Phantom=D|HD4: Huecuva Penanggalan Sheet Ghoul Juju Zombie,[[1d12 [T]]]HD4: Huecuva Penanggalan Sheet Ghoul Juju Zombie=T|HD5: Ghast Shadow,[[1d12 T]]]HD5: Ghast Shadow=T|HD6: Son of Kyuss Wight Monster Zombie,[[1d12 [T]]]HD6: Son of Kyuss Wight Monster Zombie=T|HD7: Crypt Thing Wraith,[[1d12 [T]]]HD7: Crypt Thing Wraith=T|HD8: Mummy,[[1d12]]HD8: Mummy's=[[1d20cs>2cf<2]]|HD9: Spectre,[[1d12]]HD9: Spectre's=[[1d20cs>5cf<5]]|HD10: Apparition,[[1d12]]HD10: Apparition's=[[1d20cs>8cf<8]]|HD11: Vampire,[[1d12]]HD11: Vampire's=[[1d20cs>11cf<11]]|HD12: Eye Of Fear & Flame Groaning Spirit,[[1d12]]HD12: Eye Of Fear & Flame Groaning Spirit=[[1d20cs>14cf<14]]|HD13: Death Knight Ghost Lich,[[1d12]]HD13: Death Knight Ghost Lich=[[1d20cs>17cf<17]]|HD14: Skeleton Warrior,[[1d12]]HD14: Skeleton Warrior=[[1d20cs>20cf<20]]}}} {{Turned for [[3d4]] rounds}}">11</option><option value="12}} {{?{Undead Type?|HD1: Poltergeist Skeleton Animal Skeleton,[[1d6+6 [D¹]]]HD1: Poltergeist Skeleton Animal Skeleton=D¹|HD2: Zombie,[[1d6+6 [D¹]]]HD2: Zombie's=D¹|HD3: Coffer Corpse Ghoul Sheet Phantom,[[1d12 [D]]]HD3: Coffer Corpse Ghoul Sheet Phantom=D|HD4: Huecuva Penanggalan Sheet Ghoul Juju Zombie,[[1d12 [D]]]HD4: Huecuva Penanggalan Sheet Ghoul Juju Zombie=D|HD5: Ghast Shadow,[[1d12 [D]]]HD5: Ghast Shadow=D|HD6: Son of Kyuss Wight Monster Zombie,[[1d12 [T]]]HD6: Son of Kyuss Wight Monster Zombie=T|HD7: Crypt Thing Wraith,[[1d12 [T]]]HD7: Crypt Thing Wraith=T|HD8: Mummy,[[1d12 [T]]]HD8: Mummy's=T|HD9: Spectre,[[1d12]]HD9: Spectre's=[[1d20cs>2cf<2]]|HD10: Apparition,[[1d12]]HD10: Apparition's=[[1d20cs>5cf<5]]|HD11: Vampire,[[1d12]]HD11: Vampire's=[[1d20cs>8cf<8]]|HD12: Eye Of Fear & Flame Groaning Spirit,[[1d12]]HD12: Eye Of Fear & Flame Groaning Spirit=[[1d20cs>11cf<11]]|HD13: Death Knight Ghost Lich,[[1d12]]HD13: Death Knight Ghost Lich=[[1d20cs>14cf<14]]|HD14: Skeleton Warrior,[[1d12]]HD14: Skeleton Warrior=[[1d20cs>17cf<17]]|HD15:,[[1d12]]HD15:=[[1d20cs>20cf<20]]}}} {{Turned for [[3d4]] rounds}}">12</option><option value="13}} {{?{Undead Type?|HD1: Poltergeist Skeleton Animal Skeleton,[[1d6+6 [D¹]]]HD1: Poltergeist Skeleton Animal Skeleton=D¹|HD2: Zombie,[[1d6+6 [D¹]]]HD2: Zombie's=D¹|HD3: Coffer Corpse Ghoul Sheet Phantom,[[1d6+6 [D¹]]]HD3: Coffer Corpse Ghoul Sheet Phantom=D¹|HD4: Huecuva Penanggalan Sheet Ghoul Juju Zombie,[[1d12 [D]]]HD4: Huecuva Penanggalan Sheet Ghoul Juju Zombie=D|HD5: Ghast Shadow,[[1d12 [D]]]HD5: Ghast Shadow=D|HD6: Son of Kyuss Wight Monster Zombie,[[1d12 [D]]]HD6: Son of Kyuss Wight Monster Zombie=D|HD7: Crypt Thing Wraith,[[1d12 [T]]]HD7: Crypt Thing Wraith=T|HD8: Mummy,[[1d12 [T]]]HD8: Mummy's=T|HD9: Spectre,[[1d12 [T]]]HD9: Spectre's=T|HD10: Apparition,[[1d12]]HD10: Apparition's=[[1d20cs>2cf<2]]|HD11: Vampire,[[1d12]]HD11: Vampire's=[[1d20cs>5cf<5]]|HD12: Eye Of Fear & Flame Groaning Spirit,[[1d12]]HD12: Eye Of Fear & Flame Groaning Spirit=[[1d20cs>8cf<8]]|HD13: Death Knight Ghost Lich,[[1d12]]HD13: Death Knight Ghost Lich=[[1d20cs>11cf<11]]|HD14: Skeleton Warrior,[[1d12]]HD14: Skeleton Warrior=[[1d20cs>14cf<14]]|HD15:,[[1d12]]HD15:=[[1d20cs>17cf<17]]|HD16:,[[1d12]]HD16:=[[1d20cs>20cf<20]]}}} {{Turned for [[3d4]] rounds}}">13</option><option value="14}} {{?{Undead Type?|HD1: Poltergeist Skeleton Animal Skeleton,[[2d6+6 [D²]]]HD1: Poltergeist Skeleton Animal Skeleton=D²|HD2: Zombie,[[1d6+6 [D¹]]]HD2: Zombie's=D¹|HD3: Coffer Corpse Ghoul Sheet Phantom,[[1d6+6 [D¹]]]HD3: Coffer Corpse Ghoul Sheet Phantom=D¹|HD4: Huecuva Penanggalan Sheet Ghoul Juju Zombie,[[1d6+6 [D¹]]]HD4: Huecuva Penanggalan Sheet Ghoul Juju Zombie=D¹|HD5: Ghast Shadow,[[1d12 [D]]]HD5: Ghast Shadow=D|HD6: Son of Kyuss Wight Monster Zombie,[[1d12 [D]]]HD6: Son of Kyuss Wight Monster Zombie=D|HD7: Crypt Thing Wraith,[[1d12 [D]]]HD7: Crypt Thing Wraith=D|HD8: Mummy,[[1d12 [T]]]HD8: Mummy's=T|HD9: Spectre,[[1d12 [T]]]HD9: Spectre's=T|HD10: Apparition,[[1d12 [T]]]HD10: Apparition's=T|HD11: Vampire,[[1d12]]HD11: Vampire's=[[1d20cs>2cf<2]]|HD12: Eye Of Fear & Flame Groaning Spirit,[[1d12]]HD12: Eye Of Fear & Flame Groaning Spirit=[[1d20cs>5cf<5]]|HD13: Death Knight Ghost Lich,[[1d12]]HD13: Death Knight Ghost Lich=[[1d20cs>8cf<8]]|HD14: Skeleton Warrior,[[1d12]]HD14: Skeleton Warrior=[[1d20cs>11cf<11]]|HD15:,[[1d12]]HD15:=[[1d20cs>14cf<14]]|HD16:,[[1d12]]HD16:=[[1d20cs>17cf<17]]|HD17:,[[1d12]]HD17:=[[1d20cs>20cf<20]]}}} {{Turned for [[3d4]] rounds}}">14</option><option value="15}} {{?{Undead Type?|HD1: Poltergeist Skeleton Animal Skeleton,[[2d6+6 [D²]]]HD1: Poltergeist Skeleton Animal Skeleton=D²|HD2: Zombie,[[2d6+6 [D²]]]HD2: Zombie's=D²|HD3: Coffer Corpse Ghoul Sheet Phantom,[[1d6+6 [D¹]]]HD3: Coffer Corpse Ghoul Sheet Phantom=D¹|HD4: Huecuva Penanggalan Sheet Ghoul Juju Zombie,[[1d6+6 [D¹]]]HD4: Huecuva Penanggalan Sheet Ghoul Juju Zombie=D¹|HD5: Ghast Shadow,[[1d6+6 [D¹]]]HD5: Ghast Shadow=D¹|HD6: Son of Kyuss Wight Monster Zombie,[[1d12 [D]]]HD6: Son of Kyuss Wight Monster Zombie=D|HD7: Crypt Thing Wraith,[[1d12 [D]]]HD7: Crypt Thing Wraith=D|HD8: Mummy,[[1d12 [D]]]HD8: Mummy's=D|HD9: Spectre,[[1d12 [T]]]HD9: Spectre's=T|HD10: Apparition,[[1d12 [T]]]HD10: Apparition's=T|HD11: Vampire,[[1d12 [T]]]HD11: Vampire's=T|HD12: Eye Of Fear & Flame Groaning Spirit,[[1d12]]HD12: Eye Of Fear & Flame Groaning Spirit=[[1d20cs>2cf<2]]|HD13: Death Knight Ghost Lich,[[1d12]]HD13: Death Knight Ghost Lich=[[1d20cs>5cf<5]]|HD14: Skeleton Warrior,[[1d12]]HD14: Skeleton Warrior=[[1d20cs>8cf<8]]|HD15:,[[1d12]]HD15:=[[1d20cs>11cf<11]]|HD16:,[[1d12]]HD16:=[[1d20cs>14cf<14]]|HD17:,[[1d12]]HD17:=[[1d20cs>17cf<17]]|HD18:,[[1d12]]HD18:=[[1d20cs>20cf<20]]}}} {{Turned for [[3d4]] rounds}}">15</option><option value="16}} {{?{Undead Type?|HD1: Poltergeist Skeleton Animal Skeleton,[[2d6+6 [D²]]]HD1: Poltergeist Skeleton Animal Skeleton=D²|HD2: Zombie,[[2d6+6 [D²]]]HD2: Zombie's=D²|HD3: Coffer Corpse Ghoul Sheet Phantom,[[2d6+6 [D²]]]HD3: Coffer Corpse Ghoul Sheet Phantom=D²|HD4: Huecuva Penanggalan Sheet Ghoul Juju Zombie,[[1d6+6 [D¹]]]HD4: Huecuva Penanggalan Sheet Ghoul Juju Zombie=D¹|HD5: Ghast Shadow,[[1d6+6 [D¹]]]HD5: Ghast Shadow=D¹|HD6: Son of Kyuss Wight Monster Zombie,[[1d6+6 [D¹]]]HD6: Son of Kyuss Wight Monster Zombie=D¹|HD7: Crypt Thing Wraith,[[1d12 [D]]]HD7: Crypt Thing Wraith=D|HD8: Mummy,[[1d12 [D]]]HD8: Mummy's=D|HD9: Spectre,[[1d12 [D]]]HD9: Spectre's=D|HD10: Apparition,[[1d12 [T]]]HD10: Apparition's=T|HD11: Vampire,[[1d12 [T]]]HD11: Vampire's=T|HD12: Eye Of Fear & Flame Groaning Spirit,[[1d12 [T]]]HD12: Eye Of Fear & Flame Groaning Spirit=T|HD13: Death Knight Ghost Lich,[[1d12]]HD13: Death Knight Ghost Lich=[[1d20cs>2cf<2]]|HD14: Skeleton Warrior,[[1d12]]HD14: Skeleton Warrior=[[1d20cs>5cf<5]]|HD15:,[[1d12]]HD15:=[[1d20cs>8cf<8]]|HD16:,[[1d12]]HD16:=[[1d20cs>11cf<11]]|HD17:,[[1d12]]HD17:=[[1d20cs>14cf<14]]|HD18:,[[1d12]]HD18:=[[1d20cs>17cf<17]]|HD19:,[[1d12]]HD19:=[[1d20cs>20cf<20]]}}} {{Turned for [[3d4]] rounds}}">16</option><option value="17}} {{?{Undead Type?|HD1: Poltergeist Skeleton Animal Skeleton,[[2d6+12 [D³]]]HD1: Poltergeist Skeleton Animal Skeleton=D³|HD2: Zombie,[[2d6+6 [D²]]]HD2: Zombie's=D²|HD3: Coffer Corpse Ghoul Sheet Phantom,[[2d6+6 [D²]]]HD3: Coffer Corpse Ghoul Sheet Phantom=D²|HD4: Huecuva Penanggalan Sheet Ghoul Juju Zombie,[[2d6+6 [D²]]]HD4: Huecuva Penanggalan Sheet Ghoul Juju Zombie=D²|HD5: Ghast Shadow,[[1d6+6 [D¹]]]HD5: Ghast Shadow=D¹|HD6: Son of Kyuss Wight Monster Zombie,[[1d6+6 [D¹]]]HD6: Son of Kyuss Wight Monster Zombie=D¹|HD7: Crypt Thing Wraith,[[1d6+6 [D¹]]]HD7: Crypt Thing Wraith=D¹|HD8: Mummy,[[1d12 [D]]]HD8: Mummy's=D|HD9: Spectre,[[1d12 [D]]]HD9: Spectre's=D|HD10: Apparition,[[1d12 [D]]]HD10: Apparition's=D|HD11: Vampire,[[1d12 [T]]]HD11: Vampire's=T|HD12: Eye Of Fear & Flame Groaning Spirit,[[1d12 [T]]]HD12: Eye Of Fear & Flame Groaning Spirit=T|HD13: Death Knight Ghost Lich,[[1d12 [T]]]HD13: Death Knight Ghost Lich=T|HD14: Skeleton Warrior,[[1d12]]HD14: Skeleton Warrior=[[1d20cs>2cf<2]]|HD15:,[[1d12]]HD15:=[[1d20cs>5cf<5]]|HD16:,[[1d12]]HD16:=[[1d20cs>8cf<8]]|HD17:,[[1d12]]HD17:=[[1d20cs>11cf<11]]|HD18:,[[1d12]]HD18:=[[1d20cs>14cf<14]]|HD19:,[[1d12]]HD19:=[[1d20cs>17cf<17]]|HD20:,[[1d12]]HD20:=[[1d20cs>20cf<20]]}}} {{Turned for [[3d4]] rounds}}">17</option><option value="18}} {{?{Undead Type?|HD1: Poltergeist Skeleton Animal Skeleton,[[2d6+12 [D³]]]HD1: Poltergeist Skeleton Animal Skeleton=D³|HD2: Zombie,[[2d6+12 [D³]]]HD2: Zombie's=D³|HD3: Coffer Corpse Ghoul Sheet Phantom,[[2d6+6 [D²]]]HD3: Coffer Corpse Ghoul Sheet Phantom=D²|HD4: Huecuva Penanggalan Sheet Ghoul Juju Zombie,[[2d6+6 [D²]]]HD4: Huecuva Penanggalan Sheet Ghoul Juju Zombie=D²|HD5: Ghast Shadow,[[2d6+6 [D²]]]HD5: Ghast Shadow=D²|HD6: Son of Kyuss Wight Monster Zombie,[[1d6+6 [D¹]]]HD6: Son of Kyuss Wight Monster Zombie=D¹|HD7: Crypt Thing Wraith,[[1d6+6 [D¹]]]HD7: Crypt Thing Wraith=D¹|HD8: Mummy,[[1d6+6 [D¹]]]HD8: Mummy's=D¹|HD9: Spectre,[[1d12 [D]]]HD9: Spectre's=D|HD10: Apparition,[[1d12 [D]]]HD10: Apparition's=D|HD11: Vampire,[[1d12 [D]]]HD11: Vampire's=D|HD12: Eye Of Fear & Flame Groaning Spirit,[[1d12 [T]]]HD12: Eye Of Fear & Flame Groaning Spirit=T|HD13: Death Knight Ghost Lich,[[1d12 [T]]]HD13: Death Knight Ghost Lich=T|HD14: Skeleton Warrior,[[1d12 [T]]]HD14: Skeleton Warrior=T|HD15:,[[1d12]]HD15:=[[1d20cs>2cf<2]]|HD16:,[[1d12]]HD16:=[[1d20cs>5cf<5]]|HD17:,[[1d12]]HD17:=[[1d20cs>8cf<8]]|HD18:,[[1d12]]HD18:=[[1d20cs>11cf<11]]|HD19:,[[1d12]]HD19:=[[1d20cs>14cf<14]]|HD20:,[[1d12]]HD20:=[[1d20cs>17cf<17]]|HD21:,[[1d12]]HD21:=[[1d20cs>20cf<20]]}}} {{Turned for [[3d4]] rounds}}">18</option><option value="19}} {{?{Undead Type?|HD1: Poltergeist Skeleton Animal Skeleton,[[2d6+12 [D³]]]HD1: Poltergeist Skeleton Animal Skeleton=D³|HD2: Zombie,[[2d6+12 [D³]]]HD2: Zombie's=D³|HD3: Coffer Corpse Ghoul Sheet Phantom,[[2d6+12 [D³]]]HD3: Coffer Corpse Ghoul Sheet Phantom=D³|HD4: Huecuva Penanggalan Sheet Ghoul Juju Zombie,[[2d6+6 [D²]]]HD4: Huecuva Penanggalan Sheet Ghoul Juju Zombie=D²|HD5: Ghast Shadow,[[2d6+6 [D²]]]HD5: Ghast Shadow=D²|HD6: Son of Kyuss Wight Monster Zombie,[[2d6+6 [D²]]]HD6: Son of Kyuss Wight Monster Zombie=D²|HD7: Crypt Thing Wraith,[[1d6+6 [D¹]]]HD7: Crypt Thing Wraith=D¹|HD8: Mummy,[[1d6+6 [D¹]]]HD8: Mummy's=D¹|HD9: Spectre,[[1d6+6 [D¹]]]HD9: Spectre's=D¹|HD10: Apparition,[[1d12 [D]]]HD10: Apparition's=D|HD11: Vampire,[[1d12 [D]]]HD11: Vampire's=D|HD12: Eye Of Fear & Flame Groaning Spirit,[[1d12 [D]]]HD12: Eye Of Fear & Flame Groaning Spirit=D|HD13: Death Knight Ghost Lich,[[1d12 [T]]]HD13: Death Knight Ghost Lich=T|HD14: Skeleton Warrior,[[1d12 [T]]]HD14: Skeleton Warrior=T|HD15:,[[1d12 [T]]]HD15:=T|HD16:,[[1d12]]HD16:=[[1d20cs>2cf<2]]|HD17:,[[1d12]]HD17:=[[1d20cs>5cf<5]]|HD18:,[[1d12]]HD18:=[[1d20cs>8cf<8]]|HD19:,[[1d12]]HD19:=[[1d20cs>11cf<11]]|HD20:,[[1d12]]HD20:=[[1d20cs>14cf<14]]|HD21:,[[1d12]]HD21:=[[1d20cs>17cf<17]]|HD22:,[[1d12]]HD22:=[[1d20cs>20cf<20]]}}} {{Turned for [[3d4]] rounds}}">19</option><option value="20+}} {{?{Undead Type?|HD1: Poltergeist Skeleton Animal Skeleton,[[2d6+12 [D³]]]HD1: Poltergeist Skeleton Animal Skeleton=D³|HD2: Zombie,[[2d6+12 [D³]]]HD2: Zombie's=D³|HD3: Coffer Corpse Ghoul Sheet Phantom,[[2d6+12 [D³]]]HD3: Coffer Corpse Ghoul Sheet Phantom=D³|HD4: Huecuva Penanggalan Sheet Ghoul Juju Zombie,[[2d6+12 [D³]]]HD4: Huecuva Penanggalan Sheet Ghoul Juju Zombie=D³|HD5: Ghast Shadow,[[2d6+6 [D²]]]HD5: Ghast Shadow=D²|HD6: Son of Kyuss Wight Monster Zombie,[[2d6+6 [D²]]]HD6: Son of Kyuss Wight Monster Zombie=D²|HD7: Crypt Thing Wraith,[[2d6+6 [D²]]]HD7: Crypt Thing Wraith=D²|HD8: Mummy,[[1d6+6 [D¹]]]HD8: Mummy's=D¹|HD9: Spectre,[[1d6+6 [D¹]]]HD9: Spectre's=D¹|HD10: Apparition,[[1d6+6 [D¹]]]HD10: Apparition's=D¹|HD11: Vampire,[[1d12 [D]]]HD11: Vampire's=D|HD12: Eye Of Fear & Flame Groaning Spirit,[[1d12 [D]]]HD12: Eye Of Fear & Flame Groaning Spirit=D|HD13: Death Knight Ghost Lich,[[1d12 [D]]]HD13: Death Knight Ghost Lich=D|HD14: Skeleton Warrior,[[1d12 [T]]]HD14: Skeleton Warrior=T|HD15:,[[1d12 [T]]]HD15:=T|HD16:,[[1d12 [T]]]HD16:=T|HD17:,[[1d12]]HD17:=[[1d20cs>2cf<2]]|HD18:,[[1d12]]HD18:=[[1d20cs>5cf<5]]|HD19:,[[1d12]]HD19:=[[1d20cs>8cf<8]]|HD20:,[[1d12]]HD20:=[[1d20cs>11cf<11]]|HD21:,[[1d12]]HD21:=[[1d20cs>14cf<14]]|HD22:,[[1d12]]HD22:=[[1d20cs>17cf<17]]|HD23:,[[1d12]]HD23:=[[1d20cs>20cf<20]]}}} {{Turned for [[3d4]] rounds}}">20+</option></select></label> <label title="%{turn_undead_roll} | Alternate version that groups undead by adjusted HD. Credit to Dragonsfoot.com see Footprints #7 for details."><button type="roll" name="roll_turn_undead2_roll" value="@{whisper_pc} &{template:general} {{name=@{character_name}}} {{color=@{color_option}}} {{# & Type Effected}} {{subtag=Turn/Command Undead Lvl: @{turn_undead_macro2}"><span>Turn Undead</span></button></label> <label title="Add to Special Abilities. Creates a unique, non-synced, ability."><button type="action" name="act_addturnundead2"><span>+Add</span></button></label> </span><span class="six-columns"><h4 style="grid-row: 1/3; justify-self: left;">Hide Areas:</h4><label class="inline-label" title="@{toggle_thief_skills} | Hides Thief Skills and melee attack backstab bonuses."><span>Thief Skills:</span> <input type="checkbox" name="attr_toggle_thief_skills" value="1" checked="checked"></label> <label class="inline-label" title="@{toggle_spells} | Hides the Spells section."><span>Spells:</span> <input type="checkbox" name="attr_toggle_spells" value="1"></label> <label class="inline-label" title="@{toggle_caster2} | Hides a second caster class in the Spells section."><span>Caster Class 2:</span> <input type="checkbox" name="attr_toggle_caster2" value="1" checked="checked"></label> <label class="inline-label" title="@{toggle_nwp} | Hides the Non-Weapon Proficiencies section."><span>NWP:</span> <input type="checkbox" name="attr_toggle_nwp" value="1" checked="checked"></label> <label class="inline-label" title="@{toggle_costs} | Hides cost fields and totals."><span>Costs:</span> <input type="checkbox" name="attr_toggle_costs" value="1"></label> <label class="inline-label" title="@{toggle_exceptional} | Hides the exceptional ability column. caveat: exceptional Strength will be shown regardless of this setting."><span>Exceptional:</span> <input type="checkbox" name="attr_toggle_exceptional" value="1" checked="checked"></label> <label class="inline-label" title="@{toggle_comeliness} | Hides the Comeliness ability row."><span>Comeliness:</span> <input type="checkbox" name="attr_toggle_comeliness" value="1" checked="checked"></label> <label class="inline-label" title="@{toggle_multiclass} | Hides additional class fields."><span>Multi-Class:</span> <input type="checkbox" name="attr_toggle_multiclass" value="1"></label> <label class="inline-label" title="@{toggle_psionics} | Hides Psionic-related fields found within Special Abilities."><span>Psionics:</span> <input type="checkbox" name="attr_toggle_psionics" value="1" checked="checked"></label> <label class="inline-label" title="@{toggle_macros} | Hides editable macro-text fields for various sheet-based rolls."><span>Sheet Macros:</span> <input type="checkbox" name="attr_toggle_macros" value="1" checked="checked"></label> </span><span class="inline-label wrap"><h4>Whisper Options:</h4><label style="max-width:14em;"><span>PC Rolls:</span> <select class="width-fill" name="attr_whisper_pc" title="@{whisper_pc}"><option value=" " selected="selected">Open Rolls</option><option value="/w gm">Whisper Rolls</option></select></label> <label style="max-width:14em;"><span>NPC Rolls:</span> <select class="width-fill" name="attr_whisper_npc" title="@{whisper_npc}"><option value=" " selected="selected">Open Rolls</option><option value="/w gm">Whisper Rolls</option></select></label> </span><span class="eight-columns"><h4 style="grid-row: 1/3; justify-self: left;">ADVANCED Options:</h4><span class="span-six inline-label wrap"><label class="sync-lock" title="@{sync_hp_flag} | Let the sheet sync Total HP from Class Details with HP ( @{hitpoints_max} )."><span>Sync HP:</span> <input type="checkbox" name="attr_sync_hp_flag" value="1"> <span></span></label> <label class="sync-lock" title="@{sync_ac_flag} | Let the sheet sync Total AC from Armor Details with AC ( @{armorclass} )."><span>Sync AC:</span> <input type="checkbox" name="attr_sync_ac_flag" value="1"> <span></span></label> <label title="@{autocalc_ac} | This is a persistent setting. Let the sheet auto-calculate AC based on the values entered in the Armor Details table above. This will overwrite all values in the bottom row."><span>Auto-Calc AC:</span> <input type="checkbox" name="attr_autocalc_ac" value="1" checked="checked"></label> <label title="@{autocalc_movement_flag} | Let the sheet calculate Movement/Speed. Uses base movement and the current encumbrance(STR vs total_weight carried). Note: Load can can be set manually but any changes to base movement, encumbrance, or opening the sheet will trigger a re-calc."><span>Auto-Calc Movement:</span> <input type="checkbox" name="attr_autocalc_movement_flag" value="1" checked="checked"></label> <label title="@{autofill_matrix} | Let the sheet auto-fill the to-hit tables when the class and level selectors are changed in the attack Matrix/THAC0 window. NOTE: The Autofill Table option uses the 1e table data to establish the base THAC0, but it does not use the repeating 20's."><span>Autofill to-Hit Table:</span> <input type="checkbox" name="attr_autofill_matrix" value="1" checked="checked"></label> <label class="inline-label" title="@{sync_matrix_class} | Linking to a class will automatically adjust the to-Hit values when the linked class level changes. Note: multi-class/dual-class characters should pick the most favorable class. Defaults to Class 1 of 3 if enabled."><span>Sync to-Hit to Class:</span> <input type="checkbox" name="attr_sync_matrix_class" value="1"></label> <label class="inline-label" title="@{autofill_thief} | Let the sheet auto-fill the Base chance when the level selector is changed."><span>Autofill Thief Base:</span> <input type="checkbox" name="attr_autofill_thief" value="1" checked="checked"></label> <label class="inline-label" title="@{sync_thief_class} | Linking to a class will automatically adjust the thief base values when the linked class level changes."><span>Sync Thief Skills to Class:</span> <input type="checkbox" name="attr_sync_thief_class" value="1"></label> </span><span class="span-seven inline-label" title="WARNING: any customization/editing that has been done on existing macro-text fields will be lost! You will not break anything by reseting. Reseting a field simply erases the existing value and forces the sheet to re-populate the field with the latest default value."><button type="action" name="act_resetallmacros" class="reset-macros"><span>Reset All</span></button> <button type="action" name="act_resetweaponsmacros" class="reset-macros"><span>Reset Weapons</span></button> <button type="action" name="act_resetspellsmacros" class="reset-macros"><span>Reset Spells</span></button> <button type="action" name="act_resetabilitiesmacros" class="reset-macros"><span>Reset Abilities</span></button> <button type="action" name="act_resetnwpsmacros" class="reset-macros"><span>Reset NWP</span></button> <button type="action" name="act_resetequipmentmacros" class="reset-macros"><span>Reset Equip</span></button></span></span></div><section class="custom-attributes"><input type="checkbox" class="sect-show" name="attr_custom_attributes_show" value="1"><div class="header">CUSTOM ATTRIBUTES</div><span class="material-icons"></span><div class="sect"><label class="left"><span>Single Column</span> <input type="checkbox" class="toggle-single-column-attributes" name="attr_toggle_single_column_attributes" title="@{toggle_single_column_attributes}" value="1" checked="checked"></label><fieldset class="repeating_attributes"><div class="border"><span class="inline-label"><span><button class="dice-button" type="roll" name="attr_attribute_roll" title="%{repeating_attributes_$X_attribute_roll} | PC Roll" value="@{attribute_macro_text}"></button> </span><label><input type="text" name="attr_attribute_name" title="@{repeating_attributes_$X_attribute_name}" placeholder="Attribute Name"></label> <label><span>Type:</span> <input type="text" name="attr_attribute_type" title="@{repeating_attributes_$X_attribute_type}" placeholder="n/a"></label> </span><span class="custom-attributes-box"><label><input type="text" class="width-fill" name="attr_attribute_mod_1_name" title="@{attribute_mod_1_name}" value="" placeholder="attribute_mod_1"></label> <label class="two-inputs-over-label"><input type="text" class="width-smallest" name="attr_attribute_mod_1" value="" title="@{attribute_mod_1}"> <span>/</span> <input type="text" class="width-smallest" name="attr_attribute_mod_1_max" value="" title="@{attribute_mod_1|max}"></label> <label><input type="text" class="width-fill" name="attr_attribute_mod_2_name" title="@{attribute_mod_2_name}" value="" placeholder="attribute_mod_2"></label> <label class="two-inputs-over-label"><input type="text" class="width-smallest" name="attr_attribute_mod_2" value="" title="@{attribute_mod_2}"> <span>/</span> <input type="text" class="width-smallest" name="attr_attribute_mod_2_max" value="" title="@{attribute_mod_2|max}"></label> <label><input type="text" class="width-fill" name="attr_attribute_mod_3_name" title="@{attribute_mod_3_name}" value="" placeholder="attribute_mod_3"></label> <label class="two-inputs-over-label"><input type="text" class="width-smallest" name="attr_attribute_mod_3" value="" title="@{attribute_mod_3}"> <span>/</span> <input type="text" class="width-smallest" name="attr_attribute_mod_3_max" value="" title="@{attribute_mod_3|max}"></label> <label><input type="text" class="width-fill" name="attr_attribute_mod_4_name" title="@{attribute_mod_4_name}" value="" placeholder="attribute_mod_4"></label> <label class="two-inputs-over-label"><input type="text" class="width-smallest" name="attr_attribute_mod_4" value="" title="@{attribute_mod_4}"> <span>/</span> <input type="text" class="width-smallest" name="attr_attribute_mod_4_max" value="" title="@{attribute_mod_4|max}"></label> <label><input type="text" class="width-fill" name="attr_attribute_mod_5_name" title="@{attribute_mod_5_name}" value="" placeholder="attribute_mod_5"></label> <label class="two-inputs-over-label"><input type="text" class="width-smallest" name="attr_attribute_mod_5" value="" title="@{attribute_mod_5}"> <span>/</span> <input type="text" class="width-smallest" name="attr_attribute_mod_5_max" value="" title="@{attribute_mod_5|max}"></label> <label><input type="text" class="width-fill" name="attr_attribute_mod_6_name" title="@{attribute_mod_6_name}" value="" placeholder="attribute_mod_6"></label> <label class="two-inputs-over-label"><input type="text" class="width-smallest" name="attr_attribute_mod_6" value="" title="@{attribute_mod_6}"> <span>/</span> <input type="text" class="width-smallest" name="attr_attribute_mod_6_max" value="" title="@{attribute_mod_6|max}"></label> <span class="inline-label span-all"><textarea class="height-short" name="attr_attribute_description" title="@{repeating_attributes_$X_attribute_description}" placeholder="Description"></textarea> </span><label class="inline-label span-all"><button type="roll" class="info-link" value="@{whisper_pc} [**LINK**](@{attribute_link})" title="Send link to chat."></button> <textarea class="info-link" wrap="off" name="attr_attribute_link" title="@{repeating_attributes_$X_attribute_link}" placeholder="https://www.example.com"></textarea></label> <textarea name="attr_attribute_notes" class="inline-label span-all height-short" title="@{repeating_attributes_$X_attribute_notes}" placeholder="Notes"></textarea> <textarea class="span-all height-short toggle-macros" name="attr_attribute_macro_text" title="@{repeating_attributes_$X_attribute_macro_text} | Caution: modifying the macro-text can break the roll. Deleting the macro-text will safely reset the roll to the sheet's default macro.">@{whisper_pc} &{template:general} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=@{attribute_name}}} {{type=@{attribute_type}}} {{attribute_mod_1_name=@{attribute_mod_1_name}}} {{attribute_mod_1=@{attribute_mod_1}}} {{attribute_mod_1_max=@{attribute_mod_1|max}}} {{attribute_mod_2_name=@{attribute_mod_2_name}}} {{attribute_mod_2=@{attribute_mod_2}}} {{attribute_mod_2_max=@{attribute_mod_2|max}}} {{attribute_mod_3_name=@{attribute_mod_3_name}}} {{attribute_mod_3=@{attribute_mod_3}}} {{attribute_mod_3_max=@{attribute_mod_3|max}}} {{attribute_mod_4_name=@{attribute_mod_4_name}}} {{attribute_mod_4=@{attribute_mod_4}}} {{attribute_mod_4_max=@{attribute_mod_4|max}}} {{attribute_mod_5_name=@{attribute_mod_5_name}}} {{attribute_mod_5=@{attribute_mod_5}}} {{attribute_mod_5_max=@{attribute_mod_5|max}}} {{attribute_mod_6_name=@{attribute_mod_6_name}}} {{attribute_mod_6=@{attribute_mod_6}}} {{attribute_mod_6_max=@{attribute_mod_6|max}}} {{notes=@{attribute_notes}}} {{link=@{attribute_link}}} {{freetext=@{attribute_description}}}</textarea></span></div></fieldset></div></section><hr></section><section class="footer-box"><span class="inline-label text-small"><span>Questions/feedback?</span> <button type="roll" class="url-roll" title="Post this link to chat." value="[AD&D1e Development Game](https://app.roll20.net/campaigns/details/731454/)">AD&D1e Development Game</button> </span><span class="inline-label text-small"><span>Author: Vince & the Roll20 Community</span> <label><span> v<input type="text" class="width-smaller version" name="attr_sheet_version" value="0" readonly="readonly"></span></label></span></section></div></div><div class="sheet-roll_templates"><rolltemplate class="sheet-rolltemplate-attacks"><div class="{{#color}}color-{{color}}{{/color}}"><span class="sheet-row">{{#bigname}} <span class="sheet-template-header sheet-bigger-text sheet-span-two">{{bigname}}</span> {{/bigname}} </span><span class="sheet-row">{{#name}} <span class="sheet-template-header sheet-span-two">{{name}}</span> {{/name}} {{#subtag}} <span class="sheet-subheader sheet-span-two">{{subtag}}{{#dual}} <span class="sheet-smaller-text" title="Dual Attack.">({{dual}})</span>{{/dual}}</span> {{/subtag}} </span><span class="sheet-row">{{#bigtext1}}<span class="sheet-big-text sheet-span-two">{{bigtext1}}</span>{{/bigtext1}}</span> <span class="sheet-row">{{#bigtext2}}<span class="sheet-big-text sheet-span-two">{{bigtext2}}</span>{{/bigtext2}}</span> <span class="sheet-row">{{#bigtext3}}<span class="sheet-big-text sheet-span-two">{{bigtext3}}</span>{{/bigtext3}}</span> <span class="sheet-row">{{#bigtext4}}<span class="sheet-big-text sheet-span-two">{{bigtext4}}</span>{{/bigtext4}}</span> <span class="sheet-row">{{#bigtext5}}<span class="sheet-big-text sheet-span-two">{{bigtext5}}</span>{{/bigtext5}}</span> <span class="sheet-row">{{#bigtext6}}<span class="sheet-big-text sheet-span-two">{{bigtext6}}</span>{{/bigtext6}}</span> <span class="sheet-row">{{#bigtext7}}<span class="sheet-big-text sheet-span-two">{{bigtext7}}</span>{{/bigtext7}}</span> <span class="sheet-row">{{#bigtext8}}<span class="sheet-big-text sheet-span-two">{{bigtext8}}</span>{{/bigtext8}}</span> <span class="sheet-row">{{#bigtext9}}<span class="sheet-big-text sheet-span-two">{{bigtext9}}</span>{{/bigtext9}}</span> <span class="sheet-row">{{#bigtext10}}<span class="sheet-big-text sheet-span-two">{{bigtext10}}</span>{{/bigtext10}}</span> <span class="sheet-row">{{#bigtext11}}<span class="sheet-big-text sheet-span-two">{{bigtext11}}</span>{{/bigtext11}}</span> <span class="sheet-row">{{#bigtext12}}<span class="sheet-big-text sheet-span-two">{{bigtext12}}</span>{{/bigtext12}}</span> {{#attack1}} <span class="sheet-row"><span class="sheet-span-two sheet-tcat"><span class="sheet-center">Attack =</span> {{attack1}} {{#rollWasCrit() attack1}} {{#rollGreater() crit 0}} {{#crit}}<span class="sheet-bold sheet-center">CRIT!</span>{{/crit}} {{/rollGreater() crit 0}} {{/rollWasCrit() attack1}} </span></span>{{#^rollGreater() crit 0}} {{#crit}} {{#damagevsSMchatmenu}}{{#damagevsLchatmenu}} <span class="sheet-row"><span class="sheet-span-two sheet-center sheet-tcat">{{damagevsSMchatmenu}}{{damagevsLchatmenu}} </span></span>{{/damagevsLchatmenu}}{{/damagevsSMchatmenu}} {{/crit}} {{/^rollGreater() crit 0}} {{#rollGreater() crit 0}} {{#crit}} {{#^rollWasCrit() attack1}} {{#damagevsSMchatmenu}}{{#damagevsLchatmenu}} <span class="sheet-row"><span class="sheet-span-two sheet-center sheet-tcat">{{damagevsSMchatmenu}}{{damagevsLchatmenu}} </span></span>{{/damagevsLchatmenu}}{{/damagevsSMchatmenu}} {{/^rollWasCrit() attack1}} {{#rollWasCrit() attack1}} {{#critdamagevsSMchatmenu}}{{#critdamagevsLchatmenu}} <span class="sheet-row"><span class="sheet-span-two sheet-center sheet-tcat">{{critdamagevsSMchatmenu}}{{critdamagevsLchatmenu}} </span></span>{{/critdamagevsLchatmenu}}{{/critdamagevsSMchatmenu}} {{/rollWasCrit() attack1}} {{/crit}} {{/rollGreater() crit 0}} {{/attack1}} {{#attack2}} <span class="sheet-row"><span class="sheet-span-two sheet-tcat">Attack 2 = {{attack2}} {{#rollWasCrit() attack2}} {{#rollGreater() crit 0}} {{#crit}}<span class="sheet-bold sheet-center">CRIT!</span>{{/crit}} {{/rollGreater() crit 0}} {{/rollWasCrit() attack2}} </span></span>{{#rollGreater() crit 0}} {{#crit}} {{#^rollWasCrit() attack2}} {{#damagevsSMchatmenu}}{{#damagevsLchatmenu}} <span class="sheet-row"><span class="sheet-span-two sheet-center sheet-tcat">{{damagevsSMchatmenu}}{{damagevsLchatmenu}} </span></span>{{/damagevsLchatmenu}}{{/damagevsSMchatmenu}} {{/^rollWasCrit() attack2}} {{#rollWasCrit() attack2}} {{#critdamagevsSMchatmenu}}{{#critdamagevsLchatmenu}} <span class="sheet-row"><span class="sheet-span-two sheet-center sheet-tcat">{{critdamagevsSMchatmenu}}{{critdamagevsLchatmenu}} </span></span>{{/critdamagevsLchatmenu}}{{/critdamagevsSMchatmenu}} {{/rollWasCrit() attack2}} {{/crit}} {{/rollGreater() crit 0}} {{/attack2}} {{#attack3}} <span class="sheet-row"><span class="sheet-span-two sheet-tcat">Attack 3 = {{attack3}} {{#rollWasCrit() attack3}} {{#rollGreater() crit 0}} {{#crit}}<span class="sheet-bold sheet-center">CRIT!</span>{{/crit}} {{/rollGreater() crit 0}} {{/rollWasCrit() attack3}} </span></span>{{#rollGreater() crit 0}} {{#crit}} {{#^rollWasCrit() attack3}} {{#damagevsSMchatmenu}}{{#damagevsLchatmenu}} <span class="sheet-row"><span class="sheet-span-two sheet-center sheet-tcat">{{damagevsSMchatmenu}}{{damagevsLchatmenu}} </span></span>{{/damagevsLchatmenu}}{{/damagevsSMchatmenu}} {{/^rollWasCrit() attack3}} {{#rollWasCrit() attack3}} {{#critdamagevsSMchatmenu}}{{#critdamagevsLchatmenu}} <span class="sheet-row"><span class="sheet-span-two sheet-center sheet-tcat">{{critdamagevsSMchatmenu}}{{critdamagevsLchatmenu}} </span></span>{{/critdamagevsLchatmenu}}{{/critdamagevsSMchatmenu}} {{/rollWasCrit() attack3}} {{/crit}} {{/rollGreater() crit 0}} {{/attack3}} {{#attack4}} <span class="sheet-row"><span class="sheet-span-two sheet-tcat">Attack 4 = {{attack4}} {{#rollWasCrit() attack4}} {{#rollGreater() crit 0}} {{#crit}}<span class="sheet-bold sheet-center">CRIT!</span>{{/crit}} {{/rollGreater() crit 0}} {{/rollWasCrit() attack4}} </span></span>{{#rollGreater() crit 0}} {{#crit}} {{#^rollWasCrit() attack4}} {{#damagevsSMchatmenu}}{{#damagevsLchatmenu}} <span class="sheet-row"><span class="sheet-span-two sheet-center sheet-tcat">{{damagevsSMchatmenu}}{{damagevsLchatmenu}} </span></span>{{/damagevsLchatmenu}}{{/damagevsSMchatmenu}} {{/^rollWasCrit() attack4}} {{#rollWasCrit() attack4}} {{#critdamagevsSMchatmenu}}{{#critdamagevsLchatmenu}} <span class="sheet-row"><span class="sheet-span-two sheet-center sheet-tcat">{{critdamagevsSMchatmenu}}{{critdamagevsLchatmenu}} </span></span>{{/critdamagevsLchatmenu}}{{/critdamagevsSMchatmenu}} {{/rollWasCrit() attack4}} {{/crit}} {{/rollGreater() crit 0}} {{/attack4}} {{#damage1vsSM}} <span class="sheet-row"><span class="sheet-span-two sheet-tcat"><span class="sheet-center">Damage =</span> {{damage1vsSM}} {{#rollGreater() crit 0}} {{#crit}}<span class="sheet-bold sheet-center">CRIT!</span>{{/crit}} {{/rollGreater() crit 0}} </span></span>{{/damage1vsSM}} {{#damage1vsL}} <span class="sheet-row"><span class="sheet-span-two sheet-tcat"><span class="sheet-center">Damage vs LG =</span> {{damage1vsL}} {{#rollGreater() crit 0}} {{#crit}}<span class="sheet-bold sheet-center">CRIT!</span>{{/crit}} {{/rollGreater() crit 0}} </span></span>{{/damage1vsL}} {{#damage2vsSM}} <span class="sheet-row"><span class="sheet-span-two sheet-tcat"><span class="sheet-center">Damage 2 =</span> {{damage2vsSM}} {{#rollGreater() crit 0}} {{#crit}}<span class="sheet-bold sheet-center">CRIT!</span>{{/crit}} {{/rollGreater() crit 0}} </span></span>{{/damage2vsSM}} {{#damage2vsL}} <span class="sheet-row"><span class="sheet-span-two sheet-tcat"><span class="sheet-center">Damage 2 vs LG =</span> {{damage2vsL}} {{#rollGreater() crit 0}} {{#crit}}<span class="sheet-bold sheet-center">CRIT!</span>{{/crit}} {{/rollGreater() crit 0}} </span></span>{{/damage2vsL}} {{#damage3vsSM}} <span class="sheet-row"><span class="sheet-span-two sheet-tcat"><span class="sheet-center">Damage 3 =</span> {{damage3vsSM}} {{#rollGreater() crit 0}} {{#crit}}<span class="sheet-bold sheet-center">CRIT!</span>{{/crit}} {{/rollGreater() crit 0}} </span></span>{{/damage3vsSM}} {{#damage3vsL}} <span class="sheet-row"><span class="sheet-span-two sheet-tcat"><span class="sheet-center">Damage 3 vs LG =</span> {{damage3vsL}} {{#rollGreater() crit 0}} {{#crit}}<span class="sheet-bold sheet-center">CRIT!</span>{{/crit}} {{/rollGreater() crit 0}} </span></span>{{/damage3vsL}} {{#damage4vsSM}} <span class="sheet-row"><span class="sheet-span-two sheet-tcat"><span class="sheet-center">Damage 4 =</span> {{damage4vsSM}} {{#rollGreater() crit 0}} {{#crit}}<span class="sheet-bold sheet-center">CRIT!</span>{{/crit}} {{/rollGreater() crit 0}} </span></span>{{/damage4vsSM}} {{#damage4vsL}} <span class="sheet-row"><span class="sheet-span-two sheet-tcat"><span class="sheet-center">Damage 4 vs LG =</span> {{damage4vsL}} {{#rollGreater() crit 0}} {{#crit}}<span class="sheet-bold sheet-center">CRIT!</span>{{/crit}} {{/rollGreater() crit 0}} </span></span>{{/damage4vsL}} <span class="sheet-row"><span class="sheet-span-two sheet-tcat">{{#rollGreater() backstab 1}} {{#backstab}}<span class="sheet-bold sheet-center">Backstab Attack!!!</span>{{/backstab}} {{/rollGreater() backstab 1}} </span></span><span class="sheet-row"><span class="sheet-span-two sheet-smaller-text">{{#damagetype}}<span class="sheet-bold">Type: </span>{{damagetype}} {{/damagetype}} {{#rate}}<span class="sheet-bold">RoF: </span>{{rate}} {{/rate}} {{#range}}<span class="sheet-bold">Range: </span>{{range}} {{/range}} {{#length}}<span class="sheet-bold">Length: </span>{{length}} {{/length}} {{#space}}<span class="sheet-bold">Space: </span>{{space}} {{/space}} {{#speed}}<span class="sheet-bold">Speed: </span>{{speed}} {{/speed}} {{#range}} {{#rollGreater() ammo 0}} {{#ammo}}<span class="sheet-bold">Ammo: </span>{{ammo}} {{/ammo}} {{/rollGreater() ammo 0}} {{#rollTotal() ammo 0}} {{#ammo}}<span class="sheet-bold">No Ammo!</span> {{/ammo}} {{/rollTotal() ammo 0}} {{/range}} </span></span>{{#ToHitAC-10to0}} <span class="sheet-ToHit sheet-span-two">AC:-10|-9|-8|-7|-6|-5|-4|-3|-2|-1| **0**<br>{{ToHitAC-10to0}}</span> {{/ToHitAC-10to0}} {{#ToHitAC1to10}} <span class="sheet-ToHit sheet-span-two">AC: **0**| 1| 2| 3| 4| 5| 6| 7| 8| 9|10<br>{{ToHitAC1to10}}</span> {{/ToHitAC1to10}} {{#allprops() name subtag bigname bigtext1 bigtext2 bigtext3 bigtext4 bigtext5 bigtext6 bigtext7 bigtext8 bigtext9 bigtext10 bigtext11 bigtext12 footer backstab crit dual color attack1 attack2 attack3 attack4 damagevsSMchatmenu damagevsLchatmenu critdamagevsSMchatmenu critdamagevsLchatmenu damage1vsSM damage2vsSM damage3vsSM damage4vsSM damage1vsL damage2vsL damage3vsL damage4vsL damage1 ToHitACadj2to10 ToHitAC-10to0 ToHitAC1to10 WeaponNotes freetext damagetype rate range length space speed ammo whisper}} <span class="sheet-row sheet-all-props"><span class="sheet-tcat">{{key}}</span> <span>{{value}}</span> </span>{{/allprops() name subtag bigname bigtext1 bigtext2 bigtext3 bigtext4 bigtext5 bigtext6 bigtext7 bigtext8 bigtext9 bigtext10 bigtext11 bigtext12 footer backstab crit dual color attack1 attack2 attack3 attack4 damagevsSMchatmenu damagevsLchatmenu critdamagevsSMchatmenu critdamagevsLchatmenu damage1vsSM damage2vsSM damage3vsSM damage4vsSM damage1vsL damage2vsL damage3vsL damage4vsL damage1 ToHitACadj2to10 ToHitAC-10to0 ToHitAC1to10 WeaponNotes freetext damagetype rate range length space speed ammo whisper}} {{#WeaponNotes}} <span class="sheet-row"><span class="sheet-text sheet-span-two sheet-text"><span class="sheet-bold">Notes</span>: {{WeaponNotes}}</span> </span>{{/WeaponNotes}} {{#freetext}} <span class="sheet-row"><span class="sheet-span-two sheet-text sheet-free-text">{{freetext}}</span> </span>{{/freetext}} {{#ToHitACadj2to10}} <span class="sheet-row"><span class="sheet-ToHit sheet-span-two">ACtype: 0| 1| 2| 3| 4| 5| 6| 7| 8| 9|10<br>{{ToHitACadj2to10}}</span> </span>{{/ToHitACadj2to10}} <span class="sheet-row"><span class="sheet-template-footer sheet-span-two">{{#footer}}{{footer}}{{/footer}}</span></span></div></rolltemplate><rolltemplate class="sheet-rolltemplate-attacks-table"><div class="{{#color}}color-{{color}}{{/color}}"><span class="sheet-row">{{#name}} <span class="sheet-template-header sheet-span-two">{{name}}</span> {{/name}} {{#subtag}} <span class="sheet-subheader sheet-span-two">{{subtag}}</span> {{/subtag}} </span>{{#ToHitAC-10to0}} <span class="sheet-ToHit sheet-span-two">AC:-10|-9|-8|-7|-6|-5|-4|-3|-2|-1| **0**<br>{{ToHitAC-10to0}}</span> {{/ToHitAC-10to0}} {{#ToHitAC1to10}} <span class="sheet-ToHit sheet-span-two">AC: **0**| 1| 2| 3| 4| 5| 6| 7| 8| 9|10<br>{{ToHitAC1to10}}</span> {{/ToHitAC1to10}}</div></rolltemplate><rolltemplate class="sheet-rolltemplate-general"><div class="{{#color}}color-{{color}}{{/color}}"><span class="sheet-row">{{#bigname}} <span class="sheet-template-header sheet-bigger-text sheet-span-two">{{bigname}}</span> {{/bigname}} </span><span class="sheet-row">{{#name}} <span class="sheet-template-header sheet-span-two">{{name}}</span> {{/name}} {{#subtag}} <span class="sheet-subheader sheet-span-two">{{subtag}}</span> {{/subtag}} </span><span class="sheet-row">{{#bigtext1}}<span class="sheet-big-text sheet-span-two">{{bigtext1}}</span>{{/bigtext1}}</span> <span class="sheet-row">{{#bigtext2}}<span class="sheet-big-text sheet-span-two">{{bigtext2}}</span>{{/bigtext2}}</span> <span class="sheet-row">{{#bigtext3}}<span class="sheet-big-text sheet-span-two">{{bigtext3}}</span>{{/bigtext3}}</span> <span class="sheet-row">{{#bigtext4}}<span class="sheet-big-text sheet-span-two">{{bigtext4}}</span>{{/bigtext4}}</span> <span class="sheet-row">{{#bigtext5}}<span class="sheet-big-text sheet-span-two">{{bigtext5}}</span>{{/bigtext5}}</span> <span class="sheet-row">{{#bigtext6}}<span class="sheet-big-text sheet-span-two">{{bigtext6}}</span>{{/bigtext6}}</span> <span class="sheet-row">{{#bigtext7}}<span class="sheet-big-text sheet-span-two">{{bigtext7}}</span>{{/bigtext7}}</span> <span class="sheet-row">{{#bigtext8}}<span class="sheet-big-text sheet-span-two">{{bigtext8}}</span>{{/bigtext8}}</span> <span class="sheet-row">{{#bigtext9}}<span class="sheet-big-text sheet-span-two">{{bigtext9}}</span>{{/bigtext9}}</span> <span class="sheet-row">{{#bigtext10}}<span class="sheet-big-text sheet-span-two">{{bigtext10}}</span>{{/bigtext10}}</span> <span class="sheet-row">{{#bigtext11}}<span class="sheet-big-text sheet-span-two">{{bigtext11}}</span>{{/bigtext11}}</span> <span class="sheet-row">{{#bigtext12}}<span class="sheet-big-text sheet-span-two">{{bigtext12}}</span>{{/bigtext12}}</span>{{#roll_high}} {{#^rollLess() roll_high roll_target}} <span class="sheet-row"><span class="sheet-tcat sheet-span-two sheet-success">Success!</span> {{/^rollLess() roll_high roll_target}} {{#rollLess() roll_high roll_target}} <span class="sheet-tcat sheet-span-two sheet-failure">Failure...</span> {{/rollLess() roll_high roll_target}} </span><span class="sheet-row sheet-span-two sheet-tcat"><span class="sheet-center">Roll =</span> {{roll_high}} <span class="sheet-center">vs</span> {{roll_target}}</span> {{/roll_high}} {{#roll_low}} {{#^rollGreater() roll_low roll_target}} <span class="sheet-row"><span class="sheet-tcat sheet-span-two sheet-success">Success!</span> {{/^rollGreater() roll_low roll_target}} {{#rollGreater() roll_low roll_target}} <span class="sheet-tcat sheet-span-two sheet-failure">Failure...</span> {{/rollGreater() roll_low roll_target}} </span><span class="sheet-row sheet-span-two sheet-tcat"><span class="sheet-center">Roll =</span> {{roll_low}} <span class="sheet-center">vs</span> {{roll_target}}</span> {{#^rollGreater() roll_low roll_target2}} <span class="sheet-row">{{/^rollGreater() roll_low roll_target2}} {{#rollGreater() roll_low roll_target2}} <span class="sheet-tcat sheet-span-two sheet-failure">Detected</span> <span class="sheet-tcat sheet-span-two sheet-center">roll is >= +21% failure</span> </span><span class="sheet-row sheet-span-two sheet-tcat">{{roll_low}} <span class="sheet-center">vs</span> {{roll_target2}}</span> {{/rollGreater() roll_low roll_target2}} {{/roll_low}} {{#^rollTotal() roll 0}} <span class="sheet-row sheet-span-two sheet-tcat"><span class="sheet-center">Roll =</span> {{roll}}</span> {{/^rollTotal() roll 0}} {{#effect_type}} <span class="sheet-row"><span class="sheet-tcat">Effect Type</span> <span>{{effect_type}}</span> </span>{{/effect_type}} {{#spell_class}} <span class="sheet-row"><span class="sheet-tcat">{{spell_class}}</span> {{#spell_class_level}}<span>Level:{{spell_class_level}}</span>{{/spell_class_level}} </span>{{/spell_class}} {{#school}} <span class="sheet-row"><span class="sheet-tcat">Type</span> <span>{{school}}</span> </span>{{/school}} {{#spell_level}} <span class="sheet-row"><span class="sheet-tcat">Spell Level</span> <span>{{spell_level}}</span> </span>{{/spell_level}} {{#range}} <span class="sheet-row"><span class="sheet-tcat">Range</span> <span>{{range}}</span> </span>{{/range}} {{#duration}} <span class="sheet-row"><span class="sheet-tcat">Duration</span> <span>{{duration}}</span> </span>{{/duration}} {{#area_of_effect}} <span class="sheet-row"><span class="sheet-tcat">Area of Effect</span> <span>{{area_of_effect}}</span> </span>{{/area_of_effect}} {{#components}} <span class="sheet-row"><span class="sheet-tcat">Components</span> <span>{{components}}</span> </span>{{/components}} {{#casting_time}} <span class="sheet-row"><span class="sheet-tcat">Casting Time</span> <span>{{casting_time}}</span> </span>{{/casting_time}} {{#saving_throw}} <span class="sheet-row"><span class="sheet-tcat">Saving Throw</span> <span>{{saving_throw}}</span> </span>{{/saving_throw}} {{#save_type}} <span class="sheet-row"><span class="sheet-tcat">Save Type</span> <span>{{save_type}}</span> </span>{{/save_type}} {{#type}} <span class="sheet-row"><span class="sheet-tcat">Type:</span> <span>{{type}}</span> </span>{{/type}} {{#attribute_mod_1_name}} <span class="sheet-row"><span class="sheet-tcat">attribute_mod_1</span> <span>{{attribute_mod_1_name}}: {{#attribute_mod_1}}{{attribute_mod_1}}{{/attribute_mod_1}}{{#attribute_mod_1_max}}/{{attribute_mod_1_max}}{{/attribute_mod_1_max}}</span> </span>{{/attribute_mod_1_name}} {{#attribute_mod_2_name}} <span class="sheet-row"><span class="sheet-tcat">attribute_mod_2</span> <span>{{attribute_mod_2_name}}: {{#attribute_mod_2}}{{attribute_mod_2}}{{/attribute_mod_2}}{{#attribute_mod_2_max}}/{{attribute_mod_2_max}}{{/attribute_mod_2_max}}</span> </span>{{/attribute_mod_2_name}} {{#attribute_mod_3_name}} <span class="sheet-row"><span class="sheet-tcat">attribute_mod_3</span> <span>{{attribute_mod_3_name}}: {{#attribute_mod_3}}{{attribute_mod_3}}{{/attribute_mod_3}}{{#attribute_mod_3_max}}/{{attribute_mod_3_max}}{{/attribute_mod_3_max}}</span> </span>{{/attribute_mod_3_name}} {{#attribute_mod_4_name}} <span class="sheet-row"><span class="sheet-tcat">attribute_mod_4</span> <span>{{attribute_mod_4_name}}: {{#attribute_mod_4}}{{attribute_mod_4}}{{/attribute_mod_4}}{{#attribute_mod_4_max}}/{{attribute_mod_4_max}}{{/attribute_mod_4_max}}</span> </span>{{/attribute_mod_4_name}} {{#attribute_mod_5_name}} <span class="sheet-row"><span class="sheet-tcat">attribute_mod_5</span> <span>{{attribute_mod_5_name}}: {{#attribute_mod_5}}{{attribute_mod_5}}{{/attribute_mod_5}}{{#attribute_mod_5_max}}/{{attribute_mod_5_max}}{{/attribute_mod_5_max}}</span> </span>{{/attribute_mod_5_name}} {{#attribute_mod_6_name}} <span class="sheet-row"><span class="sheet-tcat">attribute_mod_6</span> <span>{{attribute_mod_6_name}}: {{#attribute_mod_6}}{{attribute_mod_6}}{{/attribute_mod_6}}{{#attribute_mod_6_max}}/{{attribute_mod_6_max}}{{/attribute_mod_6_max}}</span> </span>{{/attribute_mod_6_name}} {{#rollGreater() locked_doors 0}} {{#locked_doors}} <span class="sheet-row sheet-span-two sheet-text">{{locked_doors}}</span> {{/locked_doors}} {{/rollGreater() locked_doors 0}} <span class="sheet-row"><span class="sheet-span-two sheet-tcat sheet-right">{{#uses_max}} {{#^rollTotal() uses_max 0}} {{#uses}} <span class="sheet-inlineroll-reset">Uses:{{uses}}/{{uses_max}}</span> {{/uses}} {{/^rollTotal() uses_max 0}} {{/uses_max}} {{#quantity_max}} {{#quantity}} <span class="sheet-inlineroll-reset">Qty:{{quantity}}/{{quantity_max}}</span> {{/quantity}} {{/quantity_max}} </span></span>{{#allprops() name subtag bigname bigtext1 bigtext2 bigtext3 bigtext4 bigtext5 bigtext6 bigtext7 bigtext8 bigtext9 bigtext10 bigtext11 bigtext12 footer freetext color effect_type school spell_level spell_class spell_class_level range duration area_of_effect components casting_time saving_throw save_type link type roll roll_high roll_low roll_target roll_target2 rolldecimal nwp_mod_applied mod_applied wis_applied current_encumbrance dex_adjustment quantity quantity_max uses uses_max whisper attribute_mod_1_name attribute_mod_1 attribute_mod_1_max attribute_mod_2_name attribute_mod_2 attribute_mod_2_max attribute_mod_3_name attribute_mod_3 attribute_mod_3_max attribute_mod_4_name attribute_mod_4 attribute_mod_4_max attribute_mod_5_name attribute_mod_5 attribute_mod_5_max attribute_mod_6_name attribute_mod_6 attribute_mod_6_max notes locked_doors}} <span class="sheet-row sheet-all-props"><span class="sheet-tcat">{{key}}</span> <span>{{value}}</span> </span>{{/allprops() name subtag bigname bigtext1 bigtext2 bigtext3 bigtext4 bigtext5 bigtext6 bigtext7 bigtext8 bigtext9 bigtext10 bigtext11 bigtext12 footer freetext color effect_type school spell_level spell_class spell_class_level range duration area_of_effect components casting_time saving_throw save_type link type roll roll_high roll_low roll_target roll_target2 rolldecimal nwp_mod_applied mod_applied wis_applied current_encumbrance dex_adjustment quantity quantity_max uses uses_max whisper attribute_mod_1_name attribute_mod_1 attribute_mod_1_max attribute_mod_2_name attribute_mod_2 attribute_mod_2_max attribute_mod_3_name attribute_mod_3 attribute_mod_3_max attribute_mod_4_name attribute_mod_4 attribute_mod_4_max attribute_mod_5_name attribute_mod_5 attribute_mod_5_max attribute_mod_6_name attribute_mod_6 attribute_mod_6_max notes locked_doors}} <span class="sheet-row"><span class="sheet-span-two sheet-smaller-text">{{#nwp_mod_applied}} <span class="sheet-bold">NWP Mod Applied:</span>{{nwp_mod_applied}} {{/nwp_mod_applied}}{{#mod_applied}} <span class="sheet-bold">Mod Applied:</span>{{mod_applied}} {{/mod_applied}}{{#wis_applied}} <span class="sheet-bold">Wis Applied:</span>{{wis_applied}} {{/wis_applied}}{{#dex_adjustment}} <span class="sheet-bold">Dex Adj:</span>{{dex_adjustment}} {{/dex_adjustment}}{{#encumbrance}} <span class="sheet-bold">Encumbrance:</span>{{encumbrance}} {{/encumbrance}}{{#rollTotal() current_encumbrance 0}}{{#current_encumbrance}} <span class="sheet-bold">Encum/Bulk - Normal</span> <span>None</span>{{/current_encumbrance}}{{/rollTotal() current_encumbrance 0}}{{#rollTotal() current_encumbrance 1}}{{#current_encumbrance}} <span class="sheet-bold">Encum/Bulk - Heavy</span> <span>No DEX Bonus to Init.</span>{{/current_encumbrance}}{{/rollTotal() current_encumbrance 1}}{{#rollTotal() current_encumbrance 2}}{{#current_encumbrance}} <span class="sheet-bold">Encum/Bulk - Very Heavy</span> <span>No DEX Bonus to Init, Delayed, +1 Segment if Surprised.</span>{{/current_encumbrance}}{{/rollTotal() current_encumbrance 2}}{{#rollTotal() current_encumbrance 3}}{{#current_encumbrance}} <span class="sheet-bold">Encum/Bulk - Encumbered</span> <span>No DEX Bonus to Init or AC, Go Last in Init, +2 Segments if Surprised, Cannot Charge, Enemies get +2 to-hit.</span>{{/current_encumbrance}}{{/rollTotal() current_encumbrance 3}}</span> </span>{{#notes}} <span class="sheet-row"><span class="sheet-tcat sheet-span-two sheet-left">Notes:</span> <span class="sheet-row sheet-span-two sheet-text" style="font-weight: normal;">{{notes}}</span> </span>{{/notes}} {{#freetext}} <span class="sheet-row"><span class="sheet-span-two sheet-text sheet-free-text">{{freetext}}</span> </span>{{/freetext}} {{#link}} <span class="sheet-row"><span class="sheet-span-two sheet-right">[LINK]({{link}})</span> </span>{{/link}} <span class="sheet-row"><span class="sheet-template-footer sheet-span-two">{{#footer}}{{footer}}{{/footer}}</span></span></div></rolltemplate></div><datalist id="spell_school"><option value="Abjur">Abjur</option><option value="Abjur, Evoc">Abjur, Evoc</option><option value="Abjur/Alter">Abjur/Alter</option><option value="Abjur/Conj/Summ">Abjur/Conj/Summ</option><option value="Abjur/Evoc">Abjur/Evoc</option><option value="Alter">Alter</option><option value="Alter, Ench">Alter, Ench</option><option value="Alter/Conj">Alter/Conj</option><option value="Alter/Conj/Summ">Alter/Conj/Summ</option><option value="Alter/Ench">Alter/Ench</option><option value="Alter/Evoc">Alter/Evoc</option><option value="Alter/Illus">Alter/Illus</option><option value="Alter/Illus/Phant">Alter/Illus/Phant</option><option value="Alter/Phant">Alter/Phant</option><option value="Charm">Charm</option><option value="Conj">Conj</option><option value="Conj, Alter">Conj, Alter</option><option value="Conj/Phant">Conj/Phant</option><option value="Conj/Summ">Conj/Summ</option><option value="Divin">Divin</option><option value="Ench">Ench</option><option value="Ench, Alter">Ench, Alter</option><option value="Ench/Alter">Ench/Alter</option><option value="Ench/Charm">Ench/Charm</option><option value="Ench/Charm/Illus/Phant">Ench/Charm/Illus/Phant</option><option value="Ench/Divin">Ench/Divin</option><option value="Ench/Evoc">Ench/Evoc</option><option value="Evoc">Evoc</option><option value="Evoc, Alter">Evoc, Alter</option><option value="Evoc/Abjur">Evoc/Abjur</option><option value="Evoc/Alter">Evoc/Alter</option><option value="Evoc/Alter/Ench/Charm">Evoc/Alter/Ench/Charm</option><option value="Evoc/Conj">Evoc/Conj</option><option value="Evoc/Divin">Evoc/Divin</option><option value="Evoc/Ench">Evoc/Ench</option><option value="Evoc/Ench/Charm">Evoc/Ench/Charm</option><option value="Evoc/Illus">Evoc/Illus</option><option value="Evoc/Illus/Phant">Evoc/Illus/Phant</option><option value="Illus">Illus</option><option value="Illus/Ench">Illus/Ench</option><option value="Illus/Phant">Illus/Phant</option><option value="Illus/Phant/Abjur">Illus/Phant/Abjur</option><option value="Illus/Phant/Alter">Illus/Phant/Alter</option><option value="Illus/Phant/Conj/Summ">Illus/Phant/Conj/Summ</option><option value="Invoc">Invoc</option><option value="Necro">Necro</option><option value="Necro, Conj">Necro, Conj</option><option value="Summ">Summ</option><option value="Varies">Varies</option></datalist><datalist id="saveparalysispoisondeath_racial_mod_list"><option value="0" selected="selected">0</option><option value="-1">+1</option><option value="-2">+2</option><option value="-3">+3</option><option value="-4">+4</option><option value="-5">+5</option><option value="1">-1</option><option value="2">-2</option><option value="3">-3</option><option value="4">-4</option><option value="5">-5</option></datalist><script type="text/worker">var q=(r,n=0)=>parseInt(r)||n,T=(r,n=0)=>parseFloat(r)||n,g=(r,n="green")=>{let e=`%c ${r}`;console.log(e,`color: ${n}; font-weight:bold`)},d=(r,n=0)=>typeof r<"u"&&r!==n,xe=(r,n)=>{let e=r;return _.each(Object.entries(n),([s,o])=>{e=e.replace(new RegExp(s.replace("{","{"),"gi"),o)}),e},kt=r=>/^[a-zA-Z0-9\s]+$/.test(r)?!0:!/[)|\}]/.test(r),At=r=>/^[-+]?[0-9]+$/.test(r)?1:0,Ta={},k=()=>{let r=generateRowID();for(;Ta[r]===!0;)g(`generateUniqueRowID: ${r} is not a unique ID, trying again.`),r=generateRowID();return Ta[r]=!0,r};on("change:character_name",r=>{getAttrs(["character_name"],n=>{let e={},s=n[`${r.sourceAttribute}`],o=kt(s);e[`${r.sourceAttribute}_error`]=o,setAttrs(e,{silent:!0})})});on("change:armortype_magic change:armortype2_magic change:armorshield_magic change:armorhelmet_magic change:armorother_magic change:armorother2_magic change:armorother3_magic change:armorother4_magic change:armorother5_magic change:armorother6_magic change:armorshield_mod change:armorother_mod change:armorother2_mod change:armorother3_mod change:armorother4_mod change:armorother5_mod change:armorother6_mod change:repeating_equipment:equipment_armor_mod change:repeating_equipment:equipment_armor_magic, change:hitpoints_1_class, change:hitpoints_2_class, change:hitpoints_3_class",r=>{let n=r.sourceAttribute.split("_")[2];getAttrs(["armortype_magic","armortype2_magic","armorshield_magic","armorhelmet_magic","armorother_magic","armorother2_magic","armorother3_magic","armorother4_magic","armorother5_magic","armorother6_magic","armorshield_mod","armorother_mod","armorother2_mod","armorother3_mod","armorother4_mod","armorother5_mod","armorother6_mod",`repeating_equipment_${n}_equipment_armor_magic`,`repeating_equipment_${n}_equipment_armor_mod`,"hitpoints_1_class","hitpoints_2_class","hitpoints_3_class"],e=>{let s={},o=e[`${r.sourceAttribute}`],a=At(o);s[`${r.sourceAttribute}_error`]=a,setAttrs(s,{silent:!0})})});var Se,La="",ja="",Ba="",V="",Ke="",Pa="",Ye="",Xe="",Qe="",Me="",Ze="",Je="",ve="",ea="",aa="",ta="",oa="",na="",ra="",_a="",Ua="",Ha="",Wa="",sa="",ia="",pa="",ca="",ma="",la="",ha="",ua="",ga="",y="",Va="",wa="",De=["unarmored_row_id","armortype1_row_id","armortype2_row_id","armorshield_row_id","armorhelmet_row_id","armorother1_row_id","armorother2_row_id","armorother3_row_id","armorother4_row_id","armorother5_row_id","armorother6_row_id"],ba=["unarmored_worn","unarmored","unarmored_ac","unarmored_base","unarmored_bulk","unarmored_carried","unarmored_weight","unarmored_cost","armortype_worn","armortype","armortype_ac","armortype_base","armortype_magic","armortype_bulk","armortype_carried","armor_weight","armor_cost","armortype2_worn","armortype2","armortype2_ac","armortype2_base","armortype2_magic","armortype2_bulk","armortype2_carried","armortype2_weight","armortype2_cost","armorshield_worn","armorshield","armorshield_ac","armorshield_base","armorshield_magic","armorshield_mod","armorshield_bulk","armorshield_carried","armorshield_weight","armorshield_cost","armorhelmet_worn","armorhelmet","armorhelmet_ac","armorhelmet_magic","armorhelmet_bulk","armorhelmet_carried","armorhelmet_weight","armorhelmet_cost","armorother_worn","armorother","armorother_ac","armorother_base","armorother_magic","armorother_mod","armorother2_worn","armorother2","armorother2_ac","armorother2_base","armorother2_magic","armorother2_mod","armorother3_worn","armorother3","armorother3_ac","armorother3_base","armorother3_magic","armorother3_mod","armorother4_worn","armorother4","armorother4_ac","armorother4_base","armorother4_magic","armorother4_mod","armorother5_worn","armorother5","armorother5_ac","armorother5_base","armorother5_magic","armorother5_mod","armorother6_worn","armorother6","armorother6_ac","armorother6_base","armorother6_magic","armorother6_mod"],i=(r,n,e)=>`repeating_${r}_${n}_${e}`,xt=(r,n)=>{getSectionIDs("repeating_weapon",e=>{let s=[];_.each(e,o=>{s.push(i("weapon",o,"DmgBonus")),s.push(i("weapon",o,"macro-text"))}),getAttrs([...s],o=>{let a={},t="&{template:attacks} {{name=@{character_name}}} {{subtag=@{WeaponName}}} {{attack1=[[1d20 + @{ToHitBonus}[BON] + @{MagicBonus}[MAG] + ?{To Hit Modifier?|0}[MOD] ]]}} {{damage1vsSM=[[@{DamageSmallMedium} + @{DmgBonus}[BON] + @{MagicBonus}[MAG] + ?{Damage Modifier?|0}[MOD] ]]}} {{damage1vsL=[[@{DamageLarge} + @{DmgBonus}[BON] + @{MagicBonus}[MAG] + ?{Damage Modifier?|0}[MOD] ]]}} {{WeaponNotes=@{WeaponNotes}}} @{whisper_to-hit}";_.each(e,p=>{let c=o[i("weapon",p,"macro-text")]||t;a[i("weapon",p,"macro-text")]=c.replace(/@{DmgBonus}/g,"@{AttackDmgBonus}"),a[i("weapon",p,"AttackDmgBonus")]=+o[i("weapon",p,"DmgBonus")]||0}),a.sheet_version=r,g("VERSION UPDATE: dmgSwap completed"),setAttrs(a,{silent:!0},y(r,n))})})},St=(r,n)=>{getSectionIDs("repeating_ability",e=>{let s=[];_.each(e,o=>{s.push(i("ability",o,"max"))}),getAttrs([...s],o=>{let a={};_.each(e,t=>{a[i("ability",t,"current_max")]=+o[i("ability",t,"max")]||0}),a.sheet_version=r,g("VERSION UPDATE: maxSwap completed"),setAttrs(a,{silent:!0},y(r,n))})})},Mt=(r,n)=>{let e={};getSectionIDs("repeating_nonweaponproficiencies",s=>{let o=[];_.each(s,a=>{o.push(i("nonweaponproficiencies",a,"macro-text"))}),getAttrs([...o],a=>{let t={nwp_old:"&{template:general} {{name=@{character_name}}} {{subtag=Non Weapon Proficiency: @{name}}} {{=@{short_description}}}{{Success Amount=[[((@{rAttribute})+(@{rSlots}-1)-1d20)cs>1cf<-1]]}}",nwp_new:"&{template:general} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=Non Weapon Proficiency: @{name}}} {{Proficiency Check=[[ 1d20 + [[@{rmodifier}]][MOD] + [[?{Additional modifier?|0}]][MOD] ]] vs [[ @{rAttribute}[ATTR] ]]}}{{freetext=@{short_description}}}"};_.each(s,p=>{a[i("nonweaponproficiencies",p,"macro-text")]&&(e[i("nonweaponproficiencies",p,"macro-text")]=a[i("nonweaponproficiencies",p,"macro-text")].replace(t.nwp_old,t.nwp_new))}),e.sheet_version=r,g("VERSION UPDATE: nwpMacroUpdate completed"),setAttrs(e,{silent:!0},y(r,n))})})},Dt=(r,n)=>{getSectionIDs("repeating_weapon",e=>{let s=[];_.each(e,o=>{s.push(i("weapon",o,"roll")),s.push(i("weapon",o,"weaponname")),s.push(i("weapon",o,"tohitbonus")),s.push(i("weapon",o,"magicbonus")),s.push(i("weapon",o,"attackdmgbonus")),s.push(i("weapon",o,"whisper_to-hit")),s.push(i("weapon",o,"macro-text")),s.push(i("weapon",o,"damagesmallmedium")),s.push(i("weapon",o,"damagelarge")),s.push(i("weapon",o,"rateoffire")),s.push(i("weapon",o,"range")),s.push(i("weapon",o,"quantity")),s.push(i("weapon",o,"weight")),s.push(i("weapon",o,"weaponspeed")),s.push(i("weapon",o,"cost")),s.push(i("weapon",o,"weaponnotes"))}),getAttrs([...s],o=>{let a={},t={"@{rateoffire}":"@{weapon_rateoffire}","@{weaponname}":"@{weapon_name}","@{tohitbonus}":"@{weapon_tohitbonus}","@{magicbonus}":"@{weapon_magicbonus}","@{attackdmgbonus}":"@{weapon_attackdmgbonus}","@{whisper_to-hit}":"@{weapon_whisper_to_hit}","@{damagesmallmedium}":"@{weapon_damagesmallmedium}","@{damagelarge}":"@{weapon_damagelarge}","@{range}":"@{weapon_range}","@{quantity}":"@{weapon_quantity}","@{weight}":"@{weapon_weight}","@{weaponspeed}":"@{weapon_speed}","@{cost}":"@{weapon_cost}","@{macro-text}":"@{weapon_macro_text}","@{weaponnotes}":"@{weapon_notes}"},p="&{template:attacks} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=@{WeaponName}}} {{attack1=[[1d20 + @{ToHitBonus}[BON] + @{MagicBonus}[MAG] + ?{To Hit Modifier?|0}[MOD]) ]]}} {{damage1vsSM=[[@{DamageSmallMedium} + @{AttackDmgBonus}[BON] + @{MagicBonus}[MAG] + ?{Damage Modifier?|0}[MOD] ]]}} {{damage1vsL=[[@{DamageLarge} + @{AttackDmgBonus}[BON] + @{MagicBonus}[MAG] + ?{Damage Modifier?|0}[MOD] ]]}} {{WeaponNotes=@{WeaponNotes}}} @{whisper_to-hit}";_.each(e,c=>{d(o[i("weapon",c,"rateoffire")])&&(a[i("weapon",c,"weapon_rateoffire")]=q(o[i("weapon",c,"rateoffire")])),d(o[i("weapon",c,"roll")])&&(a[i("weapon",c,"weapon_roll")]=o[i("weapon",c,"roll")]),d(o[i("weapon",c,"weaponname")])&&(a[i("weapon",c,"weapon_name")]=o[i("weapon",c,"weaponname")]),d(o[i("weapon",c,"tohitbonus")])&&(a[i("weapon",c,"weapon_tohitbonus")]=q(o[i("weapon",c,"tohitbonus")])),d(o[i("weapon",c,"magicbonus")])&&(a[i("weapon",c,"weapon_magicbonus")]=q(o[i("weapon",c,"magicbonus")])),d(o[i("weapon",c,"attackdmgbonus")])&&(a[i("weapon",c,"weapon_attackdmgbonus")]=q(o[i("weapon",c,"attackdmgbonus")])),d(o[i("weapon",c,"whisper_to-hit")])&&(a[i("weapon",c,"weapon_whisper_to_hit")]=o[i("weapon",c,"whisper_to-hit")]),d(o[i("weapon",c,"macro-text")],p)&&(a[i("weapon",c,"weapon_macro_text")]=xe(o[i("weapon",c,"macro-text")],t)),d(o[i("weapon",c,"damagesmallmedium")])&&(a[i("weapon",c,"weapon_damagesmallmedium")]=o[i("weapon",c,"damagesmallmedium")]),d(o[i("weapon",c,"damagelarge")])&&(a[i("weapon",c,"weapon_damagelarge")]=o[i("weapon",c,"damagelarge")]),d(o[i("weapon",c,"range")])&&(a[i("weapon",c,"weapon_range")]=o[i("weapon",c,"range")]),d(o[i("weapon",c,"quantity")])&&(a[i("weapon",c,"weapon_quantity")]=T(o[i("weapon",c,"quantity")])),d(o[i("weapon",c,"weight")])&&(a[i("weapon",c,"weapon_weight")]=T(o[i("weapon",c,"weight")])),d(o[i("weapon",c,"weaponspeed")])&&(a[i("weapon",c,"weapon_speed")]=q(o[i("weapon",c,"weaponspeed")])),d(o[i("weapon",c,"cost")])&&(a[i("weapon",c,"weapon_cost")]=T(o[i("weapon",c,"cost")])),d(o[i("weapon",c,"weaponnotes")])&&(a[i("weapon",c,"weapon_notes")]=o[i("weapon",c,"weaponnotes")])}),a.sheet_version=r,g("VERSION UPDATE: weaponNameFix completed"),setAttrs(a,{silent:!0},y(r,n))})})},Ct=(r,n)=>{getSectionIDs("repeating_spells",e=>{let s=[];_.each(e,o=>{s.push(i("spells",o,"roll")),s.push(i("spells",o,"memorized")),s.push(i("spells",o,"level")),s.push(i("spells",o,"name")),s.push(i("spells",o,"school")),s.push(i("spells",o,"range")),s.push(i("spells",o,"duration")),s.push(i("spells",o,"aoe")),s.push(i("spells",o,"components")),s.push(i("spells",o,"ct")),s.push(i("spells",o,"save")),s.push(i("spells",o,"macro-text")),s.push(i("spells",o,"description")),s.push(i("spells",o,"description-show"))}),getAttrs([...s],o=>{let a={},t={"@{memorized}":"@{spell_memorized}","@{level}":"@{spell_level}","@{name}":"@{spell_name}","@{school}":"@{spell_school}","@{range}":"@{spell_range}","@{duration}":"@{spell_duration}","@{aoe}":"@{spell_aoe}","@{components}":"@{spell_components}","@{ct}":"@{spell_ct}","@{save}":"@{spell_save}","@{macro-text}":"@{spell_macro_text}","@{description}":"@{spell_description}"},p="&{template:general} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=Casts: @{name}}} {{Level:=@{level}}} {{Range:=@{range}}} {{Duration:=@{duration}}} {{AOE:=@{aoe}}} {{Comp:=@{components}}} {{CT:=@{ct}}} {{Save:=@{save}}} {{freetext=@{description}}}";_.each(e,c=>{d(o[i("spells",c,"roll")])&&(a[i("spells",c,"spell_roll")]=o[i("spells",c,"roll")]),d(o[i("spells",c,"memorized")])&&(a[i("spells",c,"spell_memorized")]=q(o[i("spells",c,"memorized")])),d(o[i("spells",c,"level")])&&(a[i("spells",c,"spell_level")]=o[i("spells",c,"level")]),d(o[i("spells",c,"name")])&&(a[i("spells",c,"spell_name")]=o[i("spells",c,"name")]),d(o[i("spells",c,"school")])&&(a[i("spells",c,"spell_school")]=o[i("spells",c,"school")]),d(o[i("spells",c,"range")])&&(a[i("spells",c,"spell_range")]=o[i("spells",c,"range")]),d(o[i("spells",c,"duration")])&&(a[i("spells",c,"spell_duration")]=o[i("spells",c,"duration")]),d(o[i("spells",c,"aoe")])&&(a[i("spells",c,"spell_aoe")]=o[i("spells",c,"aoe")]),d(o[i("spells",c,"components")])&&(a[i("spells",c,"spell_components")]=o[i("spells",c,"components")]),d(o[i("spells",c,"ct")])&&(a[i("spells",c,"spell_ct")]=o[i("spells",c,"ct")]),d(o[i("spells",c,"save")])&&(a[i("spells",c,"spell_save")]=o[i("spells",c,"save")]),d(o[i("spells",c,"macro-text")],p)&&(a[i("spells",c,"spell_macro_text")]=xe(o[i("spells",c,"macro-text")],t)),d(o[i("spells",c,"description")])&&(a[i("spells",c,"spell_description")]=o[i("spells",c,"description")]),d(o[i("spells",c,"description-show")])&&(a[i("spells",c,"spell_description_show")]=q(o[i("spells",c,"description-show")]))}),a.sheet_version=r,g("VERSION UPDATE: spellNameFix completed"),setAttrs(a,{silent:!0},y(r,n))})})},Et=(r,n)=>{getSectionIDs("repeating_equipment",e=>{let s=[];_.each(e,o=>{s.push(i("equipment",o,"item-show")),s.push(i("equipment",o,"item")),s.push(i("equipment",o,"location")),s.push(i("equipment",o,"carried")),s.push(i("equipment",o,"quantity")),s.push(i("equipment",o,"quantity_max")),s.push(i("equipment",o,"weight")),s.push(i("equipment",o,"cos"))}),getAttrs([...s],o=>{let a={};_.each(e,t=>{d(o[i("equipment",t,"item-show")])&&(a[i("equipment",t,"equipment_item_show")]=o[i("equipment",t,"item-show")]),d(o[i("equipment",t,"item")])&&(a[i("equipment",t,"equipment_item")]=o[i("equipment",t,"item")]),d(o[i("equipment",t,"location")])&&(a[i("equipment",t,"equipment_location")]=o[i("equipment",t,"location")]),d(o[i("equipment",t,"carried")])&&(a[i("equipment",t,"equipment_carried")]=o[i("equipment",t,"carried")]),d(o[i("equipment",t,"quantity")])&&(a[i("equipment",t,"equipment_quantity")]=T(o[i("equipment",t,"quantity")])),d(o[i("equipment",t,"quantity_max")])&&(a[i("equipment",t,"equipment_quantity_max")]=T(o[i("equipment",t,"quantity_max")])),d(o[i("equipment",t,"weight")])&&(a[i("equipment",t,"equipment_weight")]=T(o[i("equipment",t,"weight")])),d(o[i("equipment",t,"cost")])&&(a[i("equipment",t,"equipment_cost")]=T(o[i("equipment",t,"cost")]))}),a.sheet_version=r,g("VERSION UPDATE: equipmentNameFix completed"),setAttrs(a,{silent:!0},y(r,n))})})},It=(r,n)=>{getSectionIDs("repeating_ability",e=>{let s=[];_.each(e,o=>{s.push(i("equipment",o,"roll")),s.push(i("equipment",o,"name")),s.push(i("equipment",o,"short_description")),s.push(i("equipment",o,"current")),s.push(i("equipment",o,"current_max")),s.push(i("equipment",o,"macro-text")),s.push(i("equipment",o,"description")),s.push(i("equipment",o,"description-show"))}),getAttrs([...s],o=>{let a={},t={"@{name}":"@{ability_name}","@{current}":"@{ability_current}","@{current_max}":"@{ability_current_max}","@{short_description}":"@{ability_short_description}","@{macro-text}":"@{ability_macro_text}","@{description}":"@{ability_description}"},p="&{template:general} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=Special Ability: @{name}}} {{freetext=@{short_description} @{description}}}";_.each(e,c=>{d(o[i("equipment",c,"roll")])&&(a[i("equipment",c,"ability_roll")]=o[i("equipment",c,"roll")]),d(o[i("equipment",c,"name")])&&(a[i("equipment",c,"ability_name")]=o[i("equipment",c,"name")]),d(o[i("equipment",c,"short_description")])&&(a[i("equipment",c,"ability_short_description")]=o[i("equipment",c,"short_description")]),d(o[i("equipment",c,"current")])&&(a[i("equipment",c,"ability_current")]=q(o[i("equipment",c,"current")])),d(o[i("equipment",c,"current_max")])&&(a[i("equipment",c,"ability_current_max")]=q(o[i("equipment",c,"current_max")])),d(o[i("equipment",c,"macro-text")],p)&&(a[i("equipment",c,"ability_macro_text")]=xe(o[i("equipment",c,"macro-text")],t)),d(o[i("equipment",c,"description")])&&(a[i("equipment",c,"ability_description")]=o[i("equipment",c,"description")]),d(o[i("equipment",c,"description-show")])&&(a[i("equipment",c,"ability_description_show")]=q(o[i("equipment",c,"description-show")]))}),a.sheet_version=r,g("VERSION UPDATE: abilityNameFix completed"),setAttrs(a,{silent:!0},y(r,n))})})},Ot=(r,n)=>{getSectionIDs("repeating_nonweaponproficiencies",e=>{let s=[];_.each(e,o=>{s.push(i("nonweaponproficiencies",o,"roll")),s.push(i("nonweaponproficiencies",o,"name")),s.push(i("nonweaponproficiencies",o,"rAttribute")),s.push(i("nonweaponproficiencies",o,"short_description")),s.push(i("nonweaponproficiencies",o,"rSlots")),s.push(i("nonweaponproficiencies",o,"rModifier")),s.push(i("nonweaponproficiencies",o,"macro-text")),s.push(i("nonweaponproficiencies",o,"description-show")),s.push(i("nonweaponproficiencies",o,"description"))}),getAttrs([...s],o=>{let a={},t={"@{name}":"@{nwp_name}","@{rAttribute}":"@{nwp_attribute}","@{rSlots}":"@{nwp_slots}","@{rModifier}":"@{nwp_modifier}","@{short_description}":"@{nwp_short_description}","@{macro-text}":"@{nwp_macro_text}","@{description}":"@{nwp_description}"},p="&{template:general} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=Non Weapon Proficiency: @{name}}} {{Proficiency Check=[[ 1d20 + [[@{rmodifier}]][MOD] + [[?{Additional modifier?|0}]][MOD] ]] vs [[ @{rAttribute}[ATTR] ]]}}{{freetext=@{short_description}}}";_.each(e,c=>{d(o[i("nonweaponproficiencies",c,"roll")])&&(a[i("nonweaponproficiencies",c,"nwp_roll")]=o[i("nonweaponproficiencies",c,"roll")]),d(o[i("nonweaponproficiencies",c,"name")])&&(a[i("nonweaponproficiencies",c,"nwp_name")]=o[i("nonweaponproficiencies",c,"name")]),d(o[i("nonweaponproficiencies",c,"rAttribute")])&&(a[i("nonweaponproficiencies",c,"nwp_attribute")]=o[i("nonweaponproficiencies",c,"rAttribute")].toLowerCase()),d(o[i("nonweaponproficiencies",c,"short_description")])&&(a[i("nonweaponproficiencies",c,"nwp_short_description")]=o[i("nonweaponproficiencies",c,"short_description")]),d(o[i("nonweaponproficiencies",c,"rSlots")])&&(a[i("nonweaponproficiencies",c,"nwp_slots")]=q(o[i("nonweaponproficiencies",c,"rSlots")])),d(o[i("nonweaponproficiencies",c,"rModifier")])&&(a[i("nonweaponproficiencies",c,"nwp_modifier")]=q(o[i("nonweaponproficiencies",c,"rModifier")])),d(o[i("nonweaponproficiencies",c,"macro-text")],p)&&(a[i("nonweaponproficiencies",c,"nwp_macro_text")]=xe(o[i("nonweaponproficiencies",c,"macro-text")],t)),d(o[i("nonweaponproficiencies",c,"description-show")])&&(a[i("nonweaponproficiencies",c,"nwp_description_show")]=q(o[i("nonweaponproficiencies",c,"description-show")])),d(o[i("nonweaponproficiencies",c,"description")])&&(a[i("nonweaponproficiencies",c,"nwp_description")]=o[i("nonweaponproficiencies",c,"description")])}),a.sheet_version=r,g("VERSION UPDATE: nwpNameFix completed"),setAttrs(a,{silent:!0},y(r,n))})})},Nt=(r,n)=>{let e={};getSectionIDs("repeating_nonweaponproficiencies",s=>{getSectionIDs("repeating_weapon",o=>{getSectionIDs("repeating_ability",a=>{getSectionIDs("repeating_spells",t=>{let p=[],c=[],l=[],u=[];_.each(s,h=>{p.push(i("nonweaponproficiencies",h,"nwp_macro_text"))}),_.each(o,h=>{c.push(i("weapon",h,"weapon_macro_text"))}),_.each(a,h=>{l.push(i("ability",h,"ability_macro_text"))}),_.each(t,h=>{u.push(i("spells",h,"spell_macro_text"))}),getAttrs([...p,...c,...l,...u],h=>{let m={nwp_old:"&{template:general} {{name=@{character_name}}}",nwp_new:"&{template:general} {{color=@{color_option}}} {{name=@{character_name}}}",wpn_old:"&{template:attacks} {{name=@{character_name}}}",wpn_new:"&{template:attacks} {{color=@{color_option}}} {{name=@{character_name}}}",abl_old:"&{template:general} {{name=@{character_name}}}",abl_new:"&{template:general} {{color=@{color_option}}} {{name=@{character_name}}}",spl_old:"&{template:general} {{name=@{character_name}}}",spl_new:"&{template:general} {{color=@{color_option}}} {{name=@{character_name}}}"};_.each(s,w=>{h[i("nonweaponproficiencies",w,"nwp_macro_text")]&&(e[i("nonweaponproficiencies",w,"nwp_macro_text")]=h[i("nonweaponproficiencies",w,"nwp_macro_text")].replace(m.nwp_old,m.nwp_new),g("VERSION UPDATE: colorUpdate completed"))}),_.each(o,w=>{h[i("weapon",w,"weapon_macro_text")]&&(e[i("weapon",w,"weapon_macro_text")]=h[i("weapon",w,"weapon_macro_text")].replace(m.wpn_old,m.wpn_new),g("VERSION UPDATE: colorUpdate completed"))}),_.each(a,w=>{h[i("ability",w,"ability_macro_text")]&&(e[i("ability",w,"ability_macro_text")]=h[i("ability",w,"ability_macro_text")].replace(m.abl_old,m.abl_new),g("VERSION UPDATE: colorUpdate completed"))}),_.each(t,w=>{h[i("spells",w,"spell_macro_text")]&&(e[i("spells",w,"spell_macro_text")]=h[i("spells",w,"spell_macro_text")].replace(m.spl_old,m.spl_new),g("VERSION UPDATE: colorUpdate completed"))}),e.sheet_version=r,setAttrs(e,{silent:!0},y(r,n))})})})})})},Fa=()=>{la(),aa(),wa(),Ze(),Qe(),Ye()};La=(r,n)=>{let e={};Fa(),e.sheet_version=r,g("VERSION UPDATE: autoCalcAbilityRows completed"),setAttrs(e,y(r,n))};ja=(r,n)=>{let e={};sa(1),ia(1),pa(1),_a(1),ca(1),e.sheet_version=r,g("VERSION UPDATE: autoCalcSaveRows(migrate) completed"),setAttrs(e,{silent:!0},y(r,n))};Ba=(r,n)=>{let e={};na(1),oa(1),Je(1),ta(1),ea(1),ve(1),Xe(1),ra(1),ga(),ha(),ua(),e.sheet_version=r,g("VERSION UPDATE: autoCalcThiefRows(migrate) completed"),setAttrs(e,{silent:!0},y(r,n))};var Tt=(r,n)=>{getSectionIDs("repeating_weapon",e=>{let s=[];_.each(e,o=>{s.push(i("weapon",o,"weapon_macro_text"))}),getAttrs([...s],o=>{let a={},t="&{template:attacks} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=@{weapon_name}}} {{attack1=[[1d20 + @{weapon_tohitbonus}[BON] + @{weapon_magicbonus}[MAG] + ?{To Hit Modifier?|0}[MOD] ]]}} {{damage1vsSM=[[@{weapon_damagesmallmedium} + @{weapon_attackdmgbonus}[BON] + @{weapon_magicbonus}[MAG] + ?{Damage Modifier?|0}[MOD] ]]}} {{damage1vsL=[[@{weapon_damagelarge} + @{weapon_attackdmgbonus}[BON] + @{weapon_magicbonus}[MAG] + ?{Damage Modifier?|0}[MOD] ]]}} {{WeaponNotes=@{weapon_notes}}} @{weapon_whisper_to_hit}";_.each(e,p=>{let c=o[i("weapon",p,"weapon_macro_text")]||t;a[i("weapon",p,"weapon_macro_text")]=c.replace(/} @{weapon_whisper_to_hit}/g,"}")}),a.sheet_version=r,g("VERSION UPDATE: removeWhisper completed"),setAttrs(a,{silent:!0},y(r,n))})})},Rt=(r,n)=>{getAttrs(["hitpoints_max","hitpoints_1_class","hitpoints_2_class","hitpoints_3_class"],e=>{let s={},o=+e.hitpoints_max||0,a=+e.hitpoints_1_class||0,t=+e.hitpoints_2_class||0,p=+e.hitpoints_3_class||0;q(Math.max(0,a)+Math.max(0,t)+Math.max(0,p))===0&&o>0&&(s.hitpoints_1_class=o),s.sheet_version=r,g("VERSION UPDATE: migrate HP completed"),setAttrs(s,{silent:!0},y(r,n),Ke())})},Lt=(r,n)=>{getAttrs(["armorclass","armortype_ac","armorclass_total","armorbonus","armorshield"],e=>{let s={},a=+e.armorclass,t=-Math.abs(e.armorbonus)||0,p=+e.armorclass_total||0,c=+e.armortype_ac,l=e.armorshield;g(`armorShield:${l} armorClassTotal:${p} armorBonus:${t} armortypeAC:${c} armorClass:${a}`),l?c===10&&a<10&&(a+=1,s.armortype_ac=a,s.armortype_base=a,s.armortype_worn=1,s.armortype_carried=1,s.armorshield_ac=-1,s.armorshield_base=-1,s.armorshield_worn=1,s.armorshield_carried=1,g("new armor w/shield")):c===10&&a<10?(s.armortype_ac=a,s.armortype_base=a,s.armortype_worn=1,s.armortype_carried=1,g("new armor w/out shield")):g("NEW ARMOR CHECK AND SET FAILED"),s.sheet_version=r,g("VERSION UPDATE: Migrate AC completed"),setAttrs(s,{silent:!0},y(r,n),V(0))})},Be=(r,n)=>{getSectionIDs("repeating_weapon",e=>{let s=[];_.each(e,o=>{s.push(i("weapon",o,"weapon_macro_text"))}),getAttrs([...s],o=>{let a={},t={weapon_old:"&{template:attacks} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=@{weapon_name}}} {{attack1=[[1d20 + @{weapon_tohitbonus}[BON] + @{weapon_magicbonus}[MAG] + ?{To Hit Modifier?|0}[MOD] ]]}} {{damage1vsSM=[[@{weapon_damagesmallmedium} + @{weapon_attackdmgbonus}[BON] + @{weapon_magicbonus}[MAG] + ?{Damage Modifier?|0}[MOD] ]]}} {{damage1vsL=[[@{weapon_damagelarge} + @{weapon_attackdmgbonus}[BON] + @{weapon_magicbonus}[MAG] + ?{Damage Modifier?|0}[MOD] ]]}} {{WeaponNotes=@{weapon_notes}}}",weapon_old_v2:"&{template:attacks} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=@{weapon_name}}} {{attack1=[[1d20 + @{weapon_tohitbonus}[BON] + @{weapon_magicbonus}[MAG] + ?{To Hit Modifier?|0}[MOD]) ]]}} {{damage1vsSM=[[@{weapon_damagesmallmedium} + @{weapon_attackdmgbonus}[BON] + @{weapon_magicbonus}[MAG] + ?{Damage Modifier?|0}[MOD] ]]}} {{damage1vsL=[[@{weapon_damagelarge} + @{weapon_attackdmgbonus}[BON] + @{weapon_magicbonus}[MAG] + ?{Damage Modifier?|0}[MOD] ]]}} {{WeaponNotes=@{weapon_notes}}}",weapon_old_v3:"&{template:attacks} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=@{weapon_name}}} {{dual=@{weapon_dual}}} {{attack1=[[ 1d20 + @{weapon_backstab_bonus}[BACKSTAB] + @{weapon_tohitbonus}[HIT_BON] + @{weapon_prof_pen}[PROF_PEN] + @{weapon_dual_pen}[DUAL_PEN]+ @{weapon_magicbonus}[MAG_BON] + ?{To Hit Modifier?|0}[MISC_MOD] ]]}} {{damagevsSMchatmenu=@{weapon_damagesmallmedium_chat_menu}}} {{damagevsLchatmenu=@{weapon_damagelarge_chat_menu}}} {{WeaponNotes=@{weapon_notes}}} {{backstab=[[ @{weapon_backstab_mult} ]]}} {{damagetype=@{weapon_attackdmgtype}}} {{rate=@{weapon_rateoffire}}} {{range=@{weapon_range}}} {{length=@{weapon_length}}} {{space=@{weapon_space}}} {{speed=@{weapon_speed}}} @{weapon_tohitacadj}",weapon_old_v4:"&{template:attacks} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=@{weapon_name}}} {{dual=@{weapon_dual}}} {{attack1=[[ 1d20 + @{weapon_backstab_bonus}[BACKSTAB] + @{weapon_tohitbonus}[HIT_BON] + @{weapon_prof_pen}[PROF_PEN] + @{weapon_dual_pen}[DUAL_PEN]+ @{weapon_magicbonus}[MAG_BON] + ?{To Hit Modifier?|0}[MISC_MOD] ]]}} {{damagevsSMchatmenu=@{weapon_damagesmallmedium_chat_menu}}} {{damagevsLchatmenu=@{weapon_damagelarge_chat_menu}}} {{critdamagevsSMchatmenu=@{weapon_critdamagesmallmedium_chat_menu}}} {{critdamagevsLchatmenu=@{weapon_critdamagelarge_chat_menu}}} {{WeaponNotes=@{weapon_notes}}} {{backstab=[[ @{weapon_backstab_mult} ]]}} {{damagetype=@{weapon_attackdmgtype}}} {{rate=@{weapon_rateoffire}}} {{range=@{weapon_range}}} {{length=@{weapon_length}}} {{space=@{weapon_space}}} {{speed=@{weapon_speed}}} {{crit=@{toggle_critdamage}}} @{weapon_tohitacadj}",weapon_old_v5:"&{template:attacks} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=@{weapon_name}}} {{dual=@{weapon_dual}}} {{attack1=[[ 1d20 + @{weapon_backstab_bonus}[BACKSTAB] + @{weapon_tohitbonus}[HIT_BON] + @{weapon_prof_pen}[PROF_PEN] + @{weapon_dual_pen}[DUAL_PEN]+ @{weapon_magicbonus}[MAG_BON] + ?{To Hit Modifier?|0}[MISC_MOD] ]]}} {{damagevsSMchatmenu=@{weapon_damagesmallmedium_chat_menu}}} {{damagevsLchatmenu=@{weapon_damagelarge_chat_menu}}} {{critdamagevsSMchatmenu=@{weapon_critdamagesmallmedium_chat_menu}}} {{critdamagevsLchatmenu=@{weapon_critdamagelarge_chat_menu}}} {{WeaponNotes=@{weapon_notes}}} {{backstab=[[ @{weapon_backstab_mult} ]]}} {{damagetype=@{weapon_attackdmgtype}}} {{rate=@{weapon_rateoffire}}} {{range=@{weapon_range}}} {{length=@{weapon_length}}} {{space=@{weapon_space}}} {{speed=@{weapon_speed}}} {{ammo=[[ @{weapon_ammo} ]]/[[ @{weapon_ammo|max} ]]}} {{crit=@{toggle_critdamage}}} @{weapon_tohitacadj}",weapon_old_v6:"&{template:attacks} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=@{weapon_name}}} {{dual=@{weapon_dual}}} {{attack1=[[ 1d20 + @{weapon_backstab_bonus}[BACKSTAB] + @{weapon_tohitbonus}[HIT_BON] + @{weapon_prof_pen}[PROF_PEN] + @{weapon_dual_pen}[DUAL_PEN]+ @{weapon_magicbonus}[MAG_BON] + ?{To Hit Modifier?|0}[MISC_MOD] ]]}} {{damagevsSMchatmenu=@{weapon_damagesmallmedium_chat_menu}}} {{damagevsLchatmenu=@{weapon_damagelarge_chat_menu}}} {{critdamagevsSMchatmenu=@{weapon_critdamagesmallmedium_chat_menu}}} {{critdamagevsLchatmenu=@{weapon_critdamagelarge_chat_menu}}} {{WeaponNotes=@{weapon_notes}}} {{backstab=[[ @{weapon_backstab_mult} ]]}} {{damagetype=@{weapon_attackdmgtype}}} {{rate=@{weapon_rateoffire}}} {{range=@{weapon_range}}} {{length=@{weapon_length}}} {{space=@{weapon_space}}} {{speed=@{weapon_speed}}} {{ammo=[[ @{weapon_ammo} ]]/[[ @{weapon_ammo|max} ]]}} {{crit=[[ @{toggle_critdamage} ]]}} @{weapon_tohitacadj}",weapon_current:"&{template:attacks} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=@{weapon_name}}} {{dual=@{weapon_dual}}} {{attack1=[[ 1d20 + ( @{weapon_backstab_bonus}[BACKSTAB] ) + ( @{weapon_tohitbonus}[HIT_BON] ) + ( @{weapon_prof_pen}[PROF_PEN] ) + ( @{weapon_dual_pen}[DUAL_PEN] ) + ( @{weapon_magicbonus}[MAG_BON] ) + ( ?{To Hit Modifier?|0}[MISC_MOD] ) ]]}} {{damagevsSMchatmenu=@{weapon_damagesmallmedium_chat_menu}}} {{damagevsLchatmenu=@{weapon_damagelarge_chat_menu}}} {{critdamagevsSMchatmenu=@{weapon_critdamagesmallmedium_chat_menu}}} {{critdamagevsLchatmenu=@{weapon_critdamagelarge_chat_menu}}} {{WeaponNotes=@{weapon_notes}}} {{backstab=[[ @{weapon_backstab_mult} ]]}} {{damagetype=@{weapon_attackdmgtype}}} {{rate=@{weapon_rateoffire}}} {{range=@{weapon_range}}} {{length=@{weapon_length}}} {{space=@{weapon_space}}} {{speed=@{weapon_speed}}} {{ammo=[[ @{weapon_ammo} ]]/[[ @{weapon_ammo|max} ]]}} {{crit=[[ @{toggle_critdamage} ]]}} @{weapon_tohitacadj}"};_.each(e,p=>{o[i("weapon",p,"weapon_macro_text")]===t.weapon_old_v6?a[i("weapon",p,"weapon_macro_text")]=o[i("weapon",p,"weapon_macro_text")].replace(t.weapon_old_v6,t.weapon_current):o[i("weapon",p,"weapon_macro_text")]===t.weapon_old_v5?a[i("weapon",p,"weapon_macro_text")]=o[i("weapon",p,"weapon_macro_text")].replace(t.weapon_old_v5,t.weapon_current):o[i("weapon",p,"weapon_macro_text")]===t.weapon_old_v4?a[i("weapon",p,"weapon_macro_text")]=o[i("weapon",p,"weapon_macro_text")].replace(t.weapon_old_v4,t.weapon_current):o[i("weapon",p,"weapon_macro_text")]===t.weapon_old_v3?a[i("weapon",p,"weapon_macro_text")]=o[i("weapon",p,"weapon_macro_text")].replace(t.weapon_old_v3,t.weapon_current):o[i("weapon",p,"weapon_macro_text")]===t.weapon_old_v2?a[i("weapon",p,"weapon_macro_text")]=o[i("weapon",p,"weapon_macro_text")].replace(t.weapon_old_v2,t.weapon_current):o[i("weapon",p,"weapon_macro_text")]===t.weapon_old&&(a[i("weapon",p,"weapon_macro_text")]=o[i("weapon",p,"weapon_macro_text")].replace(t.weapon_old,t.weapon_current))}),a.sheet_version=r,g("VERSION UPDATE: weaponMacroUpdate completed"),setAttrs(a,{silent:!0},y(r,n))})})},Ra=(r,n)=>{getSectionIDs("repeating_ability",e=>{let s=[];_.each(e,o=>{s.push(i("ability",o,"ability_macro_text"))}),getAttrs([...s],o=>{let a={},t={ability_old:"&{template:general} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=Special Ability: @{ability_name}}} {{freetext=@{ability_short_description} @{ability_description}}}",ability_old_v2:"&{template:general} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=Special Ability: @{ability_name}}} {{roll= [[ @{ability_die} + @{ability_mod}[MOD] ]]}} {{freetext=@{ability_short_description} @{ability_description}}} {{uses=@{ability_current}}} {{uses_max=@{ability_current|max}}}",ability_old_v3:"&{template:general} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=Special Ability: @{ability_name}}} {{roll= [[ @{ability_die} + @{ability_mod}[MOD] ]]}} {{freetext=@{ability_short_description} @{ability_description}}} {{uses=@{ability_current}}} {{uses_max=[[ @{ability_current|max} ]]}} {{effect_type=@{ability_effect_type}}} {{spell_level=@{ability_level}}} {{casting_time=@{ability_ct}}} {{range=@{ability_range}}} {{saving_throw=@{ability_save}}} {{area_of_effect=@{ability_aoe}}} {{save_type=@{ability_save_type}}}",ability_old_v4:"&{template:general} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=Special Ability: @{ability_name}}} {{roll= [[ @{ability_die} + @{ability_mod}[MOD] ]]}} {{freetext=@{ability_short_description} @{ability_description}}} {{uses=@{ability_current}}} {{uses_max=[[ @{ability_current|max} ]]}} {{effect_type=@{ability_effect_type}}} {{spell_level=@{ability_level}}} {{casting_time=@{ability_ct}}} {{range=@{ability_range}}} {{duration=@{ability_duration}}} {{saving_throw=@{ability_save}}} {{area_of_effect=@{ability_aoe}}} {{save_type=@{ability_save_type}}}",ability_old_v5:"&{template:general} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=Special Ability: @{ability_name}}} {{roll= [[ @{ability_die} + @{ability_mod}[MOD] ]]}} {{link=@{ability_link}}} {{freetext=@{ability_short_description} @{ability_description}}} {{uses=@{ability_current}}} {{uses_max=[[@{ability_current|max}]]}} {{effect_type=@{ability_effect_type}}} {{spell_level=@{ability_level}}} {{casting_time=@{ability_ct}}} {{range=@{ability_range}}} {{duration=@{ability_duration}}} {{saving_throw=@{ability_save}}} {{area_of_effect=@{ability_aoe}}} {{save_type=@{ability_save_type}}}",ability_current:"&{template:general} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=Special Ability: @{ability_name}}} {{roll= [[ 0 + @{ability_die} + @{ability_mod}[MOD] ]]}} {{link=@{ability_link}}} {{freetext=@{ability_short_description} @{ability_description}}} {{uses=@{ability_current}}} {{uses_max=[[ 0 + @{ability_current|max} ]]}} {{effect_type=@{ability_effect_type}}} {{spell_level=@{ability_level}}} {{casting_time=@{ability_ct}}} {{range=@{ability_range}}} {{duration=@{ability_duration}}} {{saving_throw=@{ability_save}}} {{area_of_effect=@{ability_aoe}}} {{save_type=@{ability_save_type}}}"};_.each(e,p=>{o[i("ability",p,"ability_macro_text")]===t.ability_old_v5&&(a[i("ability",p,"ability_macro_text")]=o[i("ability",p,"ability_macro_text")].replace(t.ability_old_v5,t.ability_current)),o[i("ability",p,"ability_macro_text")]===t.ability_old_v4&&(a[i("ability",p,"ability_macro_text")]=o[i("ability",p,"ability_macro_text")].replace(t.ability_old_v4,t.ability_current)),o[i("ability",p,"ability_macro_text")]===t.ability_old_v3&&(a[i("ability",p,"ability_macro_text")]=o[i("ability",p,"ability_macro_text")].replace(t.ability_old_v3,t.ability_current)),o[i("ability",p,"ability_macro_text")]===t.ability_old_v2&&(a[i("ability",p,"ability_macro_text")]=o[i("ability",p,"ability_macro_text")].replace(t.ability_old_v2,t.ability_current)),o[i("ability",p,"ability_macro_text")]===t.ability_old&&(a[i("ability",p,"ability_macro_text")]=o[i("ability",p,"ability_macro_text")].replace(t.ability_old,t.ability_current))}),a.sheet_version=r,g("VERSION UPDATE: abilityMacroUpdate completed"),setAttrs(a,{silent:!0},y(r,n))})})},jt=(r,n)=>{getSectionIDs("repeating_nonweaponproficiencies",e=>{let s=[];_.each(e,o=>{s.push(i("nonweaponproficiencies",o,"nwp_macro_text"))}),getAttrs([...s],o=>{let a={},t={nwp_old:"&{template:general} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=Non Weapon Proficiency: @{nwp_name}}} {{Proficiency Check=[[ 1d20 + [[@{nwp_modifier}]][MOD] + [[?{Additional modifier?|0}]][MOD] ]] vs [[ @{nwp_attribute}[ATTR] ]]}}{{freetext=@{nwp_short_description}}}",nwp_old_v2:"@{whisper_pc} &{template:general} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=Non Weapon Proficiency: @{nwp_name}}} {{roll_low=[[ 1d20 + [[ @{nwp_modifier} ]][MOD] + [[ ?{Modifier?|0} ]][MOD] ]]}} {{roll_target=[[ @{nwp_attribute}[ATTR] ]]}} {{mod_applied=[[ ?{Modifier?|0} ]]}} {{NWP Mod Applied=[[ @{nwp_modifier} ]]}} {{freetext=@{nwp_short_description}}}",nwp_current:"@{whisper_pc} &{template:general} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=Non Weapon Proficiency: @{nwp_name}}} {{roll_low=[[ 1d20 + [[ @{nwp_modifier} ]][MOD] + [[ ?{Modifier?|0} ]][MOD] ]]}} {{roll_target=[[ @{nwp_attribute}[ATTR] ]]}} {{mod_applied=[[ ?{Modifier?|0} ]]}} {{nwp_mod_applied=[[ @{nwp_modifier} ]]}} {{link=@{nwp_link}}} {{freetext=@{nwp_short_description} @{nwp_description}}}"};_.each(e,p=>{o[i("nonweaponproficiencies",p,"nwp_macro_text")]===t.nwp_old_2&&(a[i("nonweaponproficiencies",p,"nwp_macro_text")]=o[i("nonweaponproficiencies",p,"nwp_macro_text")].replace(t.nwp_old_2,t.nwp_current)),o[i("nonweaponproficiencies",p,"nwp_macro_text")]===t.nwp_old&&(a[i("nonweaponproficiencies",p,"nwp_macro_text")]=o[i("nonweaponproficiencies",p,"nwp_macro_text")].replace(t.nwp_old,t.nwp_current))}),a.sheet_version=r,g("VERSION UPDATE: nwpMacroUpdate2 completed"),setAttrs(a,{silent:!0},y(r,n))})})},Bt=(r,n)=>{getSectionIDs("repeating_spells",e=>{let s=[];_.each(e,o=>{s.push(i("spells",o,"spell_macro_text"))}),getAttrs([...s],o=>{let a={},t={spell_old:"&{template:general} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=Casts: @{spell_name}}} {{Level:=@{spell_level}}} {{Range:=@{spell_range}}} {{Duration:=@{spell_duration}}} {{AOE:=@{spell_aoe}}} {{Comp:=@{spell_components}}} {{CT:=@{spell_ct}}} {{Save:=@{spell_save}}} {{freetext=@{spell_description}}}",spell_old_v2:"&{template:general} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=Casts: @{spell_name}}} {{Range:=@{spell_range}}} {{Duration:=@{spell_duration}}} {{AOE:=@{spell_aoe}}} {{Save:=@{spell_save}}}",spell_old_v3:"@{whisper_pc} &{template:general} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=Casts: @{spell_name}}} {{school=@{spell_school}}} {{spell_level=@{spell_level}}} {{range=@{spell_range}}} {{duration=@{spell_duration}}} {{area_of_effect=@{spell_aoe}}} {{components=@{spell_components}}} {{casting_time=@{spell_ct}}} {{saving_throw=@{spell_save}}} {{freetext=@{spell_description}}}",spell_current:"@{whisper_pc} &{template:general} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=Casts: @{spell_name}}} {{school=@{spell_school}}} {{spell_level=@{spell_level}}} {{spell_class=@{spell_caster_class_name}}} {{spell_class_level=@{spell_caster_class_level}}} {{range=@{spell_range}}} {{duration=@{spell_duration}}} {{area_of_effect=@{spell_aoe}}} {{components=@{spell_components}}} {{casting_time=@{spell_ct}}} {{saving_throw=@{spell_save}}} {{save_type=@{spell_save_type}}} {{link=@{spell_link}}} {{freetext=@{spell_description}}}"};_.each(e,p=>{o[i("spells",p,"spell_macro_text")]===t.spell_old_v3&&(a[i("spells",p,"spell_macro_text")]=o[i("spells",p,"spell_macro_text")].replace(t.spell_old_v3,t.spell_current)),o[i("spells",p,"spell_macro_text")]===t.spell_old_v2&&(a[i("spells",p,"spell_macro_text")]=o[i("spells",p,"spell_macro_text")].replace(t.spell_old_v2,t.spell_current)),o[i("spells",p,"spell_macro_text")]===t.spell_old&&(a[i("spells",p,"spell_macro_text")]=o[i("spells",p,"spell_macro_text")].replace(t.spell_old,t.spell_current))}),a.sheet_version=r,g("VERSION UPDATE: spellsMacroUpdate completed"),setAttrs(a,{silent:!0},y(r,n))})})},Pt=(r,n)=>{getSectionIDs("repeating_equipment",e=>{let s=[];_.each(e,o=>{s.push(i("equipment",o,"equipment_macro_text"))}),getAttrs([...s],o=>{let a={},t={equipment_old:"@{whisper_pc} &{template:general} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=Item/Equipment: @{equipment_item}}} {{freetext=@{equipment_description}}} {{quantity= @{equipment_quantity}}} {{quantity_max=@{equipment_quantity|max}}} {{uses=@{equipment_current}}} {{uses_max=[[ @{equipment_current|max} ]]}}",equipment_current:"@{whisper_pc} &{template:general} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=Item/Equipment: @{equipment_item}}} {{link=@{equipment_link}}} {{freetext=@{equipment_description}}} {{quantity=@{equipment_quantity}}} {{quantity_max=@{equipment_quantity|max}}} {{uses=@{equipment_current}}} {{uses_max=[[ @{equipment_current|max} ]]}}"};_.each(e,p=>{o[i("equipment",p,"equipment_macro_text")]===t.equipment_old&&(a[i("equipment",p,"equipment_macro_text")]=o[i("equipment",p,"equipment_macro_text")].replace(t.equipment_old,t.equipment_current))}),a.sheet_version=r,g("VERSION UPDATE: equipmentMacroUpdate completed"),setAttrs(a,{silent:!0},y(r,n))})})},Ut=(r,n)=>{getSectionIDs("repeating_weapon",e=>{let s={},o=[];_.each(e,a=>{o.push(i("weapon",a,"weapon_range")),o.push(i("weapon",a,"weapon_range_short")),o.push(i("weapon",a,"weapon_range_medium")),o.push(i("weapon",a,"weapon_range_long")),o.push(i("weapon",a,"weapon_attack_type")),o.push(i("weapon",a,"weapon_range_error"))}),getAttrs(o,a=>{_.each(e,t=>{let p=+a[i("weapon",t,"weapon_attack_type")];if(p===0||p===2)return;let c=a[i("weapon",t,"weapon_range")];c=c.replace(/'/g,""),c=c.replace(/"/g,"");let l=c.split("/").join(",").split(" ").join(",").split("-").join(",").split(","),u=Number(l[0]),h=Number(l[1]),m=Number(l[2]);l.length===1&&u>=0&&!h&&!m&&(h=u,m=u),Number.isNaN(u)?(s[i("weapon",t,"weapon_range_short")]=0,s[i("weapon",t,"weapon_range_error")]=c===""?1:0):s[i("weapon",t,"weapon_range_short")]=u,Number.isNaN(h)?(s[i("weapon",t,"weapon_range_medium")]=0,s[i("weapon",t,"weapon_range_error")]=c===""?1:0):s[i("weapon",t,"weapon_range_medium")]=h,Number.isNaN(m)?(s[i("weapon",t,"weapon_range_long")]=0,s[i("weapon",t,"weapon_range_error")]=c===""?1:0):s[i("weapon",t,"weapon_range_long")]=m,!Number.isNaN(u)&&!Number.isNaN(h)&&!Number.isNaN(m)&&(s[i("weapon",t,"weapon_range_error")]=1)}),s.sheet_version=r,g("VERSION UPDATE: updateRange completed"),setAttrs(s,{silent:!0},y(r,n))})})},Ht=(r,n)=>{getSectionIDs("repeating_weapon",e=>{let s=[];_.each(e,o=>{s.push(i("weapon",o,"weapon_macro_text"))}),getAttrs([...s],o=>{let a={},t="&{template:attacks} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=@{weapon_name}}} {{dual=@{weapon_dual}}} {{attack1=[[ 1d20 + @{weapon_backstab_bonus}[BACKSTAB] + @{weapon_tohitbonus}[HIT_BON] + @{weapon_prof_pen}[PROF_PEN] + @{weapon_dual_pen}[DUAL_PEN]+ @{weapon_magicbonus}[MAG_BON] + ?{To Hit Modifier?|0}[MISC_MOD] ]]}} {{damagevsSMchatmenu=@{weapon_damagesmallmedium_chat_menu}}} {{damagevsLchatmenu=@{weapon_damagelarge_chat_menu}}} {{WeaponNotes=@{weapon_notes}}} {{backstab=[[ @{weapon_backstab_mult} ]]}} {{damagetype=@{weapon_attackdmgtype}}} {{rate=@{weapon_rateoffire}}} {{range=@{weapon_range}}} {{length=@{weapon_length}}} {{space=@{weapon_space}}} {{speed=@{weapon_speed}}} @{weapon_tohitacadj}";_.each(e,p=>{let c=o[i("weapon",p,"weapon_macro_text")]||t;a[i("weapon",p,"weapon_macro_text")]=c.replace(/@{weapon_attack_type_pen}/g,"@{weapon_dual_pen}"),a[i("weapon",p,"weapon_macro_text")]=c.replace(/{{attacktype=@{weapon_attack_type}}} /g,"")}),a.sheet_version=r,g("VERSION UPDATE: updateAttackTypeMacro completed"),setAttrs(a,{silent:!0},y(r,n))})})},Wt=(r,n)=>{getAttrs(["hitdice","monsterHD"],e=>{let s={},o=e.monsterHD,a=e.hitdice;o===""&&(s.monsterHD=a),s.monsterHD=o,s.sheet_version=r,g("VERSION UPDATE: monsterHD completed"),setAttrs(s,{silent:!0},y(r,n))})},Vt=(r,n)=>{let e={};e.armorother_cost=0,e.armorother2_cost=0,e.armorother3_cost=0,e.armorother4_cost=0,e.armorother5_cost=0,e.armorother6_cost=0,e.armorother_weight=0,e.armorother2_weight=0,e.armorother3_weight=0,e.armorother4_weight=0,e.armorother5_weight=0,e.armorother6_weight=0,e.armorother_carried=0,e.armorother2_carried=0,e.armorother3_carried=0,e.armorother4_carried=0,e.armorother5_carried=0,e.armorother6_carried=0,e.armorother_bulk=0,e.armorother2_bulk=0,e.armorother3_bulk=0,e.armorother4_bulk=0,e.armorother5_bulk=0,e.armorother6_bulk=0,g("VERSION UPDATE: clearArmorOther completed"),setAttrs(e,{silent:!0},y(r,n))},Ft=ba.concat(De);function da(r,n,e,s){getAttrs(Ft,o=>{let a={},t="",p=r;p=p!==null?r.toLowerCase():p;let c=o.unarmored_row_id.toString(),l=o.armortype1_row_id.toString(),u=o.armortype2_row_id.toString(),h=o.armorshield_row_id.toString(),m=o.armorhelmet_row_id.toString(),w=o.armorother1_row_id.toString(),A=o.armorother2_row_id.toString(),b=o.armorother3_row_id.toString(),M=o.armorother4_row_id.toString(),f=o.armorother5_row_id.toString(),R=o.armorother6_row_id.toString(),$=[c,l,u,h,m,w,A,b,M,f,R].map(G=>G?G.toString().toLowerCase():"0"),P=["unarmored_worn","unarmored","unarmored_ac","unarmored_base","unarmored_bulk","unarmored_carried","unarmored_weight","unarmored_cost"],U=["armortype_worn","armortype","armortype_ac","armortype_base","armortype_magic","armortype_bulk","armortype_carried","armor_weight","armor_cost"],oe=["armortype2_worn","armortype2","armortype2_ac","armortype2_base","armortype2_magic","armortype2_bulk","armortype2_carried","armortype2_weight","armortype2_cost"],K=["armorshield_worn","armorshield","armorshield_ac","armorshield_base","armorshield_magic","armorshield_mod","armorshield_bulk","armorshield_carried","armorshield_weight","armorshield_cost"],me=["armorhelmet_worn","armorhelmet","armorhelmet_ac","armorhelmet_magic","armorhelmet_bulk","armorhelmet_carried","armorhelmet_weight","armorhelmet_cost"],ne=["armorother_worn","armorother","armorother_ac","armorother_base","armorother_magic","armorother_mod"],re=["armorother2_worn","armorother2","armorother2_ac","armorother2_base","armorother2_magic","armorother2_mod"],Y=["armorother3_worn","armorother3","armorother3_ac","armorother3_base","armorother3_magic","armorother3_mod"],Ce=["armorother4_worn","armorother4","armorother4_ac","armorother4_base","armorother4_magic","armorother4_mod"],X=["armorother5_worn","armorother5","armorother5_ac","armorother5_base","armorother5_magic","armorother5_mod"],Q=["armorother6_worn","armorother6","armorother6_ac","armorother6_base","armorother6_magic","armorother6_mod"];function Z(G){let se=Object.entries({unarmoredAttrs:P,armor1Attrs:U,armor2Attrs:oe,shieldAttrs:K,helmetAttrs:me,other1Attrs:ne,other2Attrs:re,other3Attrs:Y,other4Attrs:Ce,other5Attrs:X,other6Attrs:Q}).find(([Oe,fe])=>fe.includes(G));return se?se[0]:null}let S=Z(n),J=o.unarmored,Ee=o.armortype,le=o.armortype2,L=o.armorshield,he=o.armorhelmet,ue=o.armorother,ge=o.armorother2,we=o.armorother3,be=o.armorother4,de=o.armorother5,qe=o.armorother6;(S==="unarmoredAttrs"||p===$[0]||s)&&(S==="unarmoredAttrs"||s?J?c.length===20?(t=c.toLowerCase(),a.unarmored_row_id=t,a[`repeating_equipment_${t}_equipment_type`]=2,a[`repeating_equipment_${t}_equipment_armor_type`]=0,a[`repeating_equipment_${t}_equipment_armor_worn`]=+o.unarmored_worn,a[`repeating_equipment_${t}_equipment_item`]=o.unarmored,a[`repeating_equipment_${t}_equipment_armor_ac`]=+o.unarmored_ac,a[`repeating_equipment_${t}_equipment_armor_base`]=+o.unarmored_base,a[`repeating_equipment_${t}_equipment_armor_bulk`]=+o.unarmored_bulk,+o.unarmored_worn==1&&+o.unarmored_carried==0?(a[`repeating_equipment_${t}_equipment_carried_select`]=1,a.unarmored_carried=1):a[`repeating_equipment_${t}_equipment_carried_select`]=+o.unarmored_carried,a[`repeating_equipment_${t}_equipment_weight`]=+o.unarmored_weight||0,a[`repeating_equipment_${t}_equipment_cost`]=+o.unarmored_cost||0):(t=k(),a.unarmored_row_id=t.toLowerCase(),a[`repeating_equipment_${t}_equipment_type`]=2,a[`repeating_equipment_${t}_equipment_armor_type`]=0,a[`repeating_equipment_${t}_equipment_armor_worn`]=+o.unarmored_worn,a[`repeating_equipment_${t}_equipment_item`]=o.unarmored,a[`repeating_equipment_${t}_equipment_armor_ac`]=+o.unarmored_ac,a[`repeating_equipment_${t}_equipment_armor_base`]=+o.unarmored_base,a[`repeating_equipment_${t}_equipment_armor_bulk`]=+o.unarmored_bulk,+o.unarmored_worn==1&&+o.unarmored_carried==0?(a[`repeating_equipment_${t}_equipment_carried_select`]=1,a.unarmored_carried=1):a[`repeating_equipment_${t}_equipment_carried_select`]=+o.unarmored_carried,a[`repeating_equipment_${t}_equipment_weight`]=+o.unarmored_weight||0,a[`repeating_equipment_${t}_equipment_cost`]=+o.unarmored_cost||0):c===$[0]&&(a.unarmored_row_id=0,a.unarmored_worn=+o.unarmored_worn,a.unarmored="",a.unarmored_ac=+o.unarmored_ac,a.unarmored_base=+o.unarmored_base,a.unarmored_bulk=+o.unarmored_bulk,a.unarmored_weight=+o.unarmored_weight||0,a.unarmored_cost=+o.unarmored_cost||0,+o.unarmored_worn==1&&+o.unarmored_carried==0?a.unarmored_carried=1:a.unarmored_carried=+o.unarmored_carried):(a.unarmored_row_id=0,a.unarmored_worn=1,a.unarmored="",a.unarmored_ac=10,a.unarmored_base=10,a.unarmored_bulk=0,a.unarmored_weight=0,a.unarmored_cost=0,a.unarmored_carried=1)),(S==="armor1Attrs"||p===$[1]||s)&&(S==="armor1Attrs"||s?Ee?l.length===20?(t=l.toLowerCase(),a.armortype1_row_id=t,a[`repeating_equipment_${t}_equipment_type`]=2,a[`repeating_equipment_${t}_equipment_armor_type`]=1,a[`repeating_equipment_${t}_equipment_armor_worn`]=+o.armortype_worn,a[`repeating_equipment_${t}_equipment_item`]=o.armortype,a[`repeating_equipment_${t}_equipment_armor_ac`]=+o.armortype_ac,a[`repeating_equipment_${t}_equipment_armor_base`]=+o.armortype_base,a[`repeating_equipment_${t}_equipment_armor_magic`]=+o.armortype_magic||0,a[`repeating_equipment_${t}_equipment_armor_bulk`]=+o.armortype_bulk,+o.armortype_worn==1&&+o.armortype_carried==0?(a[`repeating_equipment_${t}_equipment_carried_select`]=1,a.armortype_carried=1):a[`repeating_equipment_${t}_equipment_carried_select`]=+o.armortype_carried,a[`repeating_equipment_${t}_equipment_weight`]=+o.armor_weight||0,a[`repeating_equipment_${t}_equipment_cost`]=+o.armor_cost||0):(t=k(),a.armortype1_row_id=t.toLowerCase(),a[`repeating_equipment_${t}_equipment_type`]=2,a[`repeating_equipment_${t}_equipment_armor_type`]=1,a[`repeating_equipment_${t}_equipment_armor_worn`]=+o.armortype_worn,a[`repeating_equipment_${t}_equipment_item`]=o.armortype,a[`repeating_equipment_${t}_equipment_armor_ac`]=+o.armortype_ac,a[`repeating_equipment_${t}_equipment_armor_base`]=+o.armortype_base,a[`repeating_equipment_${t}_equipment_armor_magic`]=+o.armortype_magic||0,a[`repeating_equipment_${t}_equipment_armor_bulk`]=+o.armortype_bulk,a[`repeating_equipment_${t}_equipment_carried_select`]=+o.armortype_carried,a[`repeating_equipment_${t}_equipment_weight`]=+o.armor_weight||0,a[`repeating_equipment_${t}_equipment_cost`]=+o.armor_cost||0):l===$[1]&&(a.armortype1_row_id=0,a.armortype_worn=0,a.armortype="",a.armortype_ac=10,a.armortype_base=10,a.armortype_magic=0,a.armortype_bulk=0,a.armortype_weight=0,a.armortype_cost=0,a.armortype_carried=1):(a.armortype1_row_id=0,a.armortype_worn=0,a.armortype="",a.armortype_ac=10,a.armortype_base=10,a.armortype_magic=0,a.armortype_bulk=0,a.armortype_weight=0,a.armortype_cost=0,a.armortype_carried=1)),(S==="armor2Attrs"||p===$[2]||s)&&(S==="armor2Attrs"||s?le?u.length===20?(t=u.toLowerCase(),a.armortype2_row_id=t,a[`repeating_equipment_${t}_equipment_type`]=2,a[`repeating_equipment_${t}_equipment_armor_type`]=2,a[`repeating_equipment_${t}_equipment_armor_worn`]=+o.armortype2_worn,a[`repeating_equipment_${t}_equipment_item`]=o.armortype2,a[`repeating_equipment_${t}_equipment_armor_ac`]=+o.armortype2_ac,a[`repeating_equipment_${t}_equipment_armor_base`]=+o.armortype2_base,a[`repeating_equipment_${t}_equipment_armor_magic`]=+o.armortype2_magic||0,a[`repeating_equipment_${t}_equipment_armor_bulk`]=+o.armortype2_bulk,+o.armortype2_worn==1&&+o.armortype2_carried==0?(a[`repeating_equipment_${t}_equipment_carried_select`]=1,a.armortype2_carried=1):a[`repeating_equipment_${t}_equipment_carried_select`]=+o.armortype2_carried,a[`repeating_equipment_${t}_equipment_weight`]=+o.armortype2_weight||0,a[`repeating_equipment_${t}_equipment_cost`]=+o.armortype2_cost||0):(t=k(),a.armortype2_row_id=t.toLowerCase(),a[`repeating_equipment_${t}_equipment_type`]=2,a[`repeating_equipment_${t}_equipment_armor_type`]=2,a[`repeating_equipment_${t}_equipment_armor_worn`]=+o.armortype2_worn,a[`repeating_equipment_${t}_equipment_item`]=o.armortype2,a[`repeating_equipment_${t}_equipment_armor_ac`]=+o.armortype2_ac,a[`repeating_equipment_${t}_equipment_armor_base`]=+o.armortype2_base,a[`repeating_equipment_${t}_equipment_armor_magic`]=+o.armortype2_magic||0,a[`repeating_equipment_${t}_equipment_armor_bulk`]=+o.armortype2_bulk,a[`repeating_equipment_${t}_equipment_carried_select`]=+o.armortype2_carried,a[`repeating_equipment_${t}_equipment_weight`]=+o.armortype2_weight||0,a[`repeating_equipment_${t}_equipment_cost`]=+o.armortype2_cost||0):u===$[2]&&(a.armortype2_row_id=0,a.armortype2_worn=0,a.armortype2="",a.armortype2_ac=10,a.armortype2_base=10,a.armortype2_magic=0,a.armortype2_bulk=0,a.armortype2_weight=0,a.armortype2_cost=0,a.armortype2_carried=1):(a.armortype2_row_id=0,a.armortype2_worn=0,a.armortype2="",a.armortype2_ac=10,a.armortype2_base=10,a.armortype2_magic=0,a.armortype2_bulk=0,a.armortype2_weight=0,a.armortype2_cost=0,a.armortype2_carried=1)),(S==="shieldAttrs"||p===$[3]||s)&&(S==="shieldAttrs"||s?L?h.length===20?(t=h.toLowerCase(),a.armorshield_row_id=t,a[`repeating_equipment_${t}_equipment_type`]=2,a[`repeating_equipment_${t}_equipment_armor_type`]=3,a[`repeating_equipment_${t}_equipment_armor_worn`]=+o.armorshield_worn,a[`repeating_equipment_${t}_equipment_item`]=o.armorshield,a[`repeating_equipment_${t}_equipment_armor_ac`]=+o.armorshield_ac,a[`repeating_equipment_${t}_equipment_armor_base`]=+o.armorshield_base,a[`repeating_equipment_${t}_equipment_armor_magic`]=o.armorshield_magic,a[`repeating_equipment_${t}_equipment_armor_mod`]=o.armorshield_mod,a[`repeating_equipment_${t}_equipment_armor_bulk`]=+o.armorshield_bulk,+o.armorshield_worn==1&&+o.armorshield_carried==0?(a[`repeating_equipment_${t}_equipment_carried_select`]=1,a.armorshield_carried=1):a[`repeating_equipment_${t}_equipment_carried_select`]=+o.armorshield_carried,a[`repeating_equipment_${t}_equipment_weight`]=+o.armorshield_weight||0,a[`repeating_equipment_${t}_equipment_cost`]=+o.armorshield_cost||0):(t=k(),a.armorshield_row_id=t.toLowerCase(),a[`repeating_equipment_${t}_equipment_type`]=2,a[`repeating_equipment_${t}_equipment_armor_type`]=3,a[`repeating_equipment_${t}_equipment_armor_worn`]=+o.armorshield_worn,a[`repeating_equipment_${t}_equipment_item`]=o.armorshield,a[`repeating_equipment_${t}_equipment_armor_ac`]=+o.armorshield_ac,a[`repeating_equipment_${t}_equipment_armor_base`]=+o.armorshield_base,a[`repeating_equipment_${t}_equipment_armor_magic`]=o.armorshield_magic,a[`repeating_equipment_${t}_equipment_armor_mod`]=o.armorshield_mod,a[`repeating_equipment_${t}_equipment_armor_bulk`]=+o.armorshield_bulk,a[`repeating_equipment_${t}_equipment_carried_select`]=+o.armorshield_carried,a[`repeating_equipment_${t}_equipment_weight`]=+o.armorshield_weight||0,a[`repeating_equipment_${t}_equipment_cost`]=+o.armorshield_cost||0):h===$[3]&&(a.armorshield_row_id=0,a.armorshield_worn=0,a.armorshield="",a.armorshield_ac=0,a.armorshield_base=0,a.armorshield_magic=0,a.armorshield_mod=0,a.armorshield_bulk=0,a.armorshield_weight=0,a.armorshield_cost=0,a.armorshield_carried=1):(a.armorshield_row_id=0,a.armorshield_worn=0,a.armorshield="",a.armorshield_ac=0,a.armorshield_base=0,a.armorshield_magic=0,a.armorshield_mod=0,a.armorshield_bulk=0,a.armorshield_weight=0,a.armorshield_cost=0,a.armorshield_carried=1)),(S==="helmetAttrs"||p===$[4]||s)&&(S==="helmetAttrs"||s?he?m.length===20?(t=m.toLowerCase(),a.armorhelmet_row_id=t,a[`repeating_equipment_${t}_equipment_type`]=2,a[`repeating_equipment_${t}_equipment_armor_type`]=4,a[`repeating_equipment_${t}_equipment_armor_worn`]=+o.armorhelmet_worn,a[`repeating_equipment_${t}_equipment_item`]=o.armorhelmet,a[`repeating_equipment_${t}_equipment_armor_ac`]=+o.armorhelmet_ac,a[`repeating_equipment_${t}_equipment_armor_magic`]=o.armorhelmet_magic,+o.armorhelmet_worn==1&&+o.armorhelmet_carried==0?(a[`repeating_equipment_${t}_equipment_carried_select`]=1,a.armorhelmet_carried=1):a[`repeating_equipment_${t}_equipment_carried_select`]=+o.armorhelmet_carried,a[`repeating_equipment_${t}_equipment_weight`]=+o.armorhelmet_weight||0,a[`repeating_equipment_${t}_equipment_cost`]=+o.armorhelmet_cost||0):(t=k(),a.armorhelmet_row_id=t.toLowerCase(),a[`repeating_equipment_${t}_equipment_type`]=2,a[`repeating_equipment_${t}_equipment_armor_type`]=4,a[`repeating_equipment_${t}_equipment_armor_worn`]=+o.armorhelmet_worn,a[`repeating_equipment_${t}_equipment_item`]=o.armorhelmet,a[`repeating_equipment_${t}_equipment_armor_ac`]=+o.armorhelmet_ac,a[`repeating_equipment_${t}_equipment_armor_magic`]=o.armorhelmet_magic,a[`repeating_equipment_${t}_equipment_carried_select`]=+o.armorhelmet_carried,a[`repeating_equipment_${t}_equipment_weight`]=+o.armorhelmet_weight||0,a[`repeating_equipment_${t}_equipment_cost`]=+o.armorhelmet_cost||0):m===$[4]&&(a.armorhelmet_row_id=0,a.armorhelmet_worn=0,a.armorhelmet="",a.armorhelmet_ac=10,a.armorhelmet_base=10,a.armorhelmet_magic=0,a.armorhelmet_bulk=0,a.armorhelmet_weight=0,a.armorhelmet_cost=0,a.armorhelmet_carried=1):(a.armorhelmet_row_id=0,a.armorhelmet_worn=0,a.armorhelmet="",a.armorhelmet_ac=10,a.armorhelmet_base=10,a.armorhelmet_magic=0,a.armorhelmet_bulk=0,a.armorhelmet_weight=0,a.armorhelmet_cost=0,a.armorhelmet_carried=1)),(S==="other1Attrs"||p===$[5]||s)&&(S==="other1Attrs"||s?ue?w.length===20?(t=w.toLowerCase(),a.armorother1_row_id=t,a[`repeating_equipment_${t}_equipment_type`]=2,a[`repeating_equipment_${t}_equipment_armor_type`]=5,a[`repeating_equipment_${t}_equipment_armor_worn`]=+o.armorother_worn,a[`repeating_equipment_${t}_equipment_item`]=o.armorother,a[`repeating_equipment_${t}_equipment_armor_ac`]=+o.armorother_ac,a[`repeating_equipment_${t}_equipment_armor_base`]=+o.armorother_base,a[`repeating_equipment_${t}_equipment_armor_magic`]=+o.armorother_magic||0,a[`repeating_equipment_${t}_equipment_armor_mod`]=+o.armorother_mod||0,a[`repeating_equipment_${t}_equipment_carried_select`]=+o.armorother_worn==1?1:0):(t=k(),a.armorother1_row_id=t.toLowerCase(),a[`repeating_equipment_${t}_equipment_type`]=2,a[`repeating_equipment_${t}_equipment_armor_type`]=5,a[`repeating_equipment_${t}_equipment_armor_worn`]=+o.armorother_worn,a[`repeating_equipment_${t}_equipment_item`]=o.armorother,a[`repeating_equipment_${t}_equipment_armor_ac`]=+o.armorother_ac,a[`repeating_equipment_${t}_equipment_armor_base`]=+o.armorother_base,a[`repeating_equipment_${t}_equipment_armor_magic`]=+o.armorother_magic||0,a[`repeating_equipment_${t}_equipment_armor_mod`]=+o.armorother_mod||0):w===$[5]&&(a.armorother1_row_id=0,a.armorother_worn=0,a.armorother="",a.armorother_ac=10,a.armorother_base=10,a.armorother_magic=0,a.armorother_mod=0,a.armorother_bulk=0):(a.armorother1_row_id=0,a.armorother_worn=0,a.armorother="",a.armorother_ac=10,a.armorother_base=10,a.armorother_magic=0,a.armorother_mod=0,a.armorother_bulk=0)),(S==="other2Attrs"||p===$[6]||s)&&(S==="other2Attrs"||s?ge?A.length===20?(t=A.toLowerCase(),a.armorother2_row_id=t,a[`repeating_equipment_${t}_equipment_type`]=2,a[`repeating_equipment_${t}_equipment_armor_type`]=6,a[`repeating_equipment_${t}_equipment_armor_worn`]=+o.armorother2_worn,a[`repeating_equipment_${t}_equipment_item`]=o.armorother2,a[`repeating_equipment_${t}_equipment_armor_ac`]=+o.armorother2_ac,a[`repeating_equipment_${t}_equipment_armor_base`]=+o.armorother2_base,a[`repeating_equipment_${t}_equipment_armor_magic`]=+o.armorother2_magic||0,a[`repeating_equipment_${t}_equipment_armor_mod`]=+o.armorother2_mod||0,a[`repeating_equipment_${t}_equipment_carried_select`]=+o.armorother2_worn==1?1:0):(t=k(),a.armorother2_row_id=t.toLowerCase(),a[`repeating_equipment_${t}_equipment_type`]=2,a[`repeating_equipment_${t}_equipment_armor_type`]=6,a[`repeating_equipment_${t}_equipment_armor_worn`]=+o.armorother2_worn,a[`repeating_equipment_${t}_equipment_item`]=o.armorother2,a[`repeating_equipment_${t}_equipment_armor_ac`]=+o.armorother2_ac,a[`repeating_equipment_${t}_equipment_armor_base`]=+o.armorother2_base,a[`repeating_equipment_${t}_equipment_armor_magic`]=+o.armorother2_magic||0,a[`repeating_equipment_${t}_equipment_armor_mod`]=+o.armorother2_mod||0):A===$[6]&&(a.armorother2_row_id=0,a.armorother2_worn=0,a.armorother2="",a.armorother2_ac=0,a.armorother2_base=0,a.armorother2_magic=0,a.armorother2_mod=0,a.armorother2_bulk=0):(a.armorother2_row_id=0,a.armorother2_worn=0,a.armorother2="",a.armorother2_ac=0,a.armorother2_base=0,a.armorother2_magic=0,a.armorother2_mod=0,a.armorother2_bulk=0)),(S==="other3Attrs"||p===$[7]||s)&&(S==="other3Attrs"||s?we?b.length===20?(t=b.toLowerCase(),a.armorother3_row_id=t,a[`repeating_equipment_${t}_equipment_type`]=2,a[`repeating_equipment_${t}_equipment_armor_type`]=7,a[`repeating_equipment_${t}_equipment_armor_worn`]=+o.armorother3_worn,a[`repeating_equipment_${t}_equipment_item`]=o.armorother3,a[`repeating_equipment_${t}_equipment_armor_ac`]=+o.armorother3_ac,a[`repeating_equipment_${t}_equipment_armor_base`]=+o.armorother3_base,a[`repeating_equipment_${t}_equipment_armor_magic`]=+o.armorother3_magic||0,a[`repeating_equipment_${t}_equipment_armor_mod`]=+o.armorother3_mod||0,a[`repeating_equipment_${t}_equipment_carried_select`]=+o.armorother3_worn==1?1:0):(t=k(),a.armorother3_row_id=t.toLowerCase(),a[`repeating_equipment_${t}_equipment_type`]=2,a[`repeating_equipment_${t}_equipment_armor_type`]=7,a[`repeating_equipment_${t}_equipment_armor_worn`]=+o.armorother3_worn,a[`repeating_equipment_${t}_equipment_item`]=o.armorother3,a[`repeating_equipment_${t}_equipment_armor_ac`]=+o.armorother3_ac,a[`repeating_equipment_${t}_equipment_armor_base`]=+o.armorother3_base,a[`repeating_equipment_${t}_equipment_armor_magic`]=+o.armorother3_magic||0,a[`repeating_equipment_${t}_equipment_armor_mod`]=+o.armorother3_mod||0):b===$[7]&&(a.armorother3_row_id=0,a.armorother3_worn=0,a.armorother3="",a.armorother3_ac=0,a.armorother3_base=0,a.armorother3_magic=0,a.armorother3_mod=0,a.armorother3_bulk=0):(a.armorother3_row_id=0,a.armorother3_worn=0,a.armorother3="",a.armorother3_ac=0,a.armorother3_base=0,a.armorother3_magic=0,a.armorother3_mod=0,a.armorother3_bulk=0)),(S==="other4Attrs"||p===$[8]||s)&&(S==="other4Attrs"||s?be?M.length===20?(t=M.toLowerCase(),a.armorother4_row_id=t,a[`repeating_equipment_${t}_equipment_type`]=2,a[`repeating_equipment_${t}_equipment_armor_type`]=8,a[`repeating_equipment_${t}_equipment_armor_worn`]=+o.armorother4_worn,a[`repeating_equipment_${t}_equipment_item`]=o.armorother4,a[`repeating_equipment_${t}_equipment_armor_ac`]=+o.armorother4_ac,a[`repeating_equipment_${t}_equipment_armor_base`]=+o.armorother4_base,a[`repeating_equipment_${t}_equipment_armor_magic`]=+o.armorother4_magic||0,a[`repeating_equipment_${t}_equipment_armor_mod`]=+o.armorother4_mod||0,a[`repeating_equipment_${t}_equipment_carried_select`]=+o.armorother4_worn==1?1:0):(t=k(),a.armorother4_row_id=t.toLowerCase(),a[`repeating_equipment_${t}_equipment_type`]=2,a[`repeating_equipment_${t}_equipment_armor_type`]=8,a[`repeating_equipment_${t}_equipment_armor_worn`]=+o.armorother4_worn,a[`repeating_equipment_${t}_equipment_item`]=o.armorother4,a[`repeating_equipment_${t}_equipment_armor_ac`]=+o.armorother4_ac,a[`repeating_equipment_${t}_equipment_armor_base`]=+o.armorother4_base,a[`repeating_equipment_${t}_equipment_armor_magic`]=+o.armorother4_magic||0,a[`repeating_equipment_${t}_equipment_armor_mod`]=+o.armorother4_mod||0):M===$[8]&&(a.armorother4_row_id=0,a.armorother4_worn=0,a.armorother4="",a.armorother4_ac=0,a.armorother4_base=0,a.armorother4_magic=0,a.armorother4_mod=0,a.armorother4_bulk=0):(a.armorother4_row_id=0,a.armorother4_worn=0,a.armorother4="",a.armorother4_ac=0,a.armorother4_base=0,a.armorother4_magic=0,a.armorother4_mod=0,a.armorother4_bulk=0)),(S==="other5Attrs"||p===$[9]||s)&&(S==="other5Attrs"||s?de?f.length===20?(t=f.toLowerCase(),a.armorother5_row_id=t,a[`repeating_equipment_${t}_equipment_type`]=2,a[`repeating_equipment_${t}_equipment_armor_type`]=9,a[`repeating_equipment_${t}_equipment_armor_worn`]=+o.armorother5_worn,a[`repeating_equipment_${t}_equipment_item`]=o.armorother5,a[`repeating_equipment_${t}_equipment_armor_ac`]=+o.armorother5_ac,a[`repeating_equipment_${t}_equipment_armor_base`]=+o.armorother5_base,a[`repeating_equipment_${t}_equipment_armor_magic`]=+o.armorother5_magic||0,a[`repeating_equipment_${t}_equipment_armor_mod`]=+o.armorother5_mod||0,a[`repeating_equipment_${t}_equipment_carried_select`]=+o.armorother5_worn==1?1:0):(t=k(),a.armorother5_row_id=t.toLowerCase(),a[`repeating_equipment_${t}_equipment_type`]=2,a[`repeating_equipment_${t}_equipment_armor_type`]=9,a[`repeating_equipment_${t}_equipment_armor_worn`]=+o.armorother5_worn,a[`repeating_equipment_${t}_equipment_item`]=o.armorother5,a[`repeating_equipment_${t}_equipment_armor_ac`]=+o.armorother5_ac,a[`repeating_equipment_${t}_equipment_armor_base`]=+o.armorother5_base,a[`repeating_equipment_${t}_equipment_armor_magic`]=+o.armorother5_magic||0,a[`repeating_equipment_${t}_equipment_armor_mod`]=+o.armorother5_mod||0):f===$[9]&&(a.armorother5_row_id=0,a.armorother5_worn=0,a.armorother5="",a.armorother5_ac=0,a.armorother5_base=0,a.armorother5_magic=0,a.armorother5_mod=0,a.armorother5_bulk=0):(a.armorother5_row_id=0,a.armorother5_worn=0,a.armorother5="",a.armorother5_ac=0,a.armorother5_base=0,a.armorother5_magic=0,a.armorother5_mod=0,a.armorother5_bulk=0)),(S==="other6Attrs"||p===$[10]||s)&&(S==="other6Attrs"||s?qe?R.length===20?(t=R.toLowerCase(),a.armorother6_row_id=t,a[`repeating_equipment_${t}_equipment_type`]=2,a[`repeating_equipment_${t}_equipment_armor_type`]=10,a[`repeating_equipment_${t}_equipment_armor_worn`]=+o.armorother6_worn,a[`repeating_equipment_${t}_equipment_item`]=o.armorother6,a[`repeating_equipment_${t}_equipment_armor_ac`]=+o.armorother6_ac,a[`repeating_equipment_${t}_equipment_armor_base`]=+o.armorother6_base,a[`repeating_equipment_${t}_equipment_armor_magic`]=+o.armorother6_magic||0,a[`repeating_equipment_${t}_equipment_armor_mod`]=+o.armorother6_mod||0,a[`repeating_equipment_${t}_equipment_carried_select`]=+o.armorother6_worn==1?1:0):(t=k(),a.armorother6_row_id=t.toLowerCase(),a[`repeating_equipment_${t}_equipment_type`]=2,a[`repeating_equipment_${t}_equipment_armor_type`]=10,a[`repeating_equipment_${t}_equipment_armor_worn`]=+o.armorother6_worn,a[`repeating_equipment_${t}_equipment_item`]=o.armorother6,a[`repeating_equipment_${t}_equipment_armor_ac`]=+o.armorother6_ac,a[`repeating_equipment_${t}_equipment_armor_base`]=+o.armorother6_base,a[`repeating_equipment_${t}_equipment_armor_magic`]=+o.armorother6_magic||0,a[`repeating_equipment_${t}_equipment_armor_mod`]=+o.armorother6_mod||0):R===$[10]&&(a.armorother6_row_id=0,a.armorother6_worn=0,a.armorother6="",a.armorother6_ac=0,a.armorother6_base=0,a.armorother6_magic=0,a.armorother6_mod=0,a.armorother6_bulk=0):(a.armorother6_row_id=0,a.armorother6_worn=0,a.armorother6="",a.armorother6_ac=0,a.armorother6_base=0,a.armorother6_magic=0,a.armorother6_mod=0,a.armorother6_bulk=0)),setAttrs(a,Se(),V())})}var Gt=(r,n)=>{let e={};da(null,null,0,1),e.sheet_version=r,g("VERSION UPDATE: migrateArmorDetails completed"),setAttrs(e,{silent:!0},y(r,n))},zt=(r,n)=>{getSectionIDs("repeating_equipment",e=>{let s={},o=[];_.each(e,a=>{o.push(i("equipment",a,"equipment_type")),o.push(i("equipment",a,"equipment_current")),o.push(i("equipment",a,"equipment_current_max")),o.push(i("equipment",a,"equipment_carried_select")),o.push(i("equipment",a,"equipment_carried")),o.push(i("equipment",a,"equipment_quantity")),o.push(i("equipment",a,"equipment_quantity_max")),o.push(i("equipment",a,"equipment_weight")),o.push(i("equipment",a,"equipment_cost")),o.push(i("equipment",a,"equipment_armor_type")),o.push(i("equipment",a,"equipment_armor_worn")),o.push(i("equipment",a,"equipment_armor_ac")),o.push(i("equipment",a,"equipment_armor_base")),o.push(i("equipment",a,"equipment_armor_magic")),o.push(i("equipment",a,"equipment_armor_mod")),o.push(i("equipment",a,"equipment_armor_bulk")),o.push(i("equipment",a,"equipment_macro_text"))}),getAttrs(o,a=>{_.each(e,t=>{s[i("equipment",t,"equipment_type")]=+a[i("equipment",t,"equipment_type")],s[i("equipment",t,"equipment_current")]=+a[i("equipment",t,"equipment_current")]||0,s[i("equipment",t,"equipment_current_max")]=+a[i("equipment",t,"equipment_current_max")]||0,s[i("equipment",t,"equipment_carried_select")]=+a[i("equipment",t,"equipment_carried")],s[i("equipment",t,"equipment_carried")]=+a[i("equipment",t,"equipment_carried")],s[i("equipment",t,"equipment_quantity")]=+a[i("equipment",t,"equipment_quantity")]||0,s[i("equipment",t,"equipment_quantity_max")]=+a[i("equipment",t,"equipment_quantity_max")]||0,s[i("equipment",t,"equipment_weight")]=+a[i("equipment",t,"equipment_weight")]||0,s[i("equipment",t,"equipment_cost")]=+a[i("equipment",t,"equipment_cost")]||0,s[i("equipment",t,"equipment_armor_type")]=+a[i("equipment",t,"equipment_armor_type")],s[i("equipment",t,"equipment_armor_worn")]=+a[i("equipment",t,"equipment_armor_worn")],s[i("equipment",t,"equipment_armor_ac")]=+a[i("equipment",t,"equipment_armor_ac")],s[i("equipment",t,"equipment_armor_base")]=+a[i("equipment",t,"equipment_armor_base")],s[i("equipment",t,"equipment_armor_magic")]=+a[i("equipment",t,"equipment_armor_magic")]||0,s[i("equipment",t,"equipment_armor_mod")]=+a[i("equipment",t,"equipment_armor_mod")]||0,s[i("equipment",t,"equipment_armor_bulk")]=+a[i("equipment",t,"equipment_armor_bulk")],s[i("equipment",t,"equipment_macro_text")]=a[i("equipment",t,"equipment_macro_text")]}),s.sheet_version=r,g("VERSION UPDATE: setEquipmentUpdate completed"),setAttrs(s,{silent:!0},y(r,n))})})},Kt=(r,n)=>{getSectionIDs("repeating_weapon",e=>{let s={},o=[];_.each(e,a=>{o.push(i("weapon",a,"weapon_attack_type")),o.push(i("weapon",a,"weapon_dual")),o.push(i("weapon",a,"weapon_whisper_to_hit")),o.push(i("weapon",a,"weapon_whisper_to_hit_select")),o.push(i("weapon",a,"weapon_dual_pen")),o.push(i("weapon",a,"weapon_backstab_var")),o.push(i("weapon",a,"weapon_tohitbonus")),o.push(i("weapon",a,"weapon_magicbonus")),o.push(i("weapon",a,"weapon_prof")),o.push(i("weapon",a,"weapon_backstab")),o.push(i("weapon",a,"weapon_backstab_bonus")),o.push(i("weapon",a,"weapon_backstab_mult")),o.push(i("weapon",a,"weapon_attackdmgbonus")),o.push(i("weapon",a,"weapon_num_attacks")),o.push(i("weapon",a,"weapon_quantity")),o.push(i("weapon",a,"weapon_ammo")),o.push(i("weapon",a,"weapon_ammo_max")),o.push(i("weapon",a,"weapon_weight")),o.push(i("weapon",a,"weapon_cost")),o.push(i("weapon",a,"weapon_range_short")),o.push(i("weapon",a,"weapon_range_medium")),o.push(i("weapon",a,"weapon_range_long")),o.push(i("weapon",a,"weapon_length")),o.push(i("weapon",a,"weapon_space")),o.push(i("weapon",a,"weapon_speed")),o.push(i("weapon",a,"weapon_misc")),o.push(i("weapon",a,"weapon_thac_adj0")),o.push(i("weapon",a,"weapon_thac_adj1")),o.push(i("weapon",a,"weapon_thac_adj2")),o.push(i("weapon",a,"weapon_thac_adj3")),o.push(i("weapon",a,"weapon_thac_adj4")),o.push(i("weapon",a,"weapon_thac_adj5")),o.push(i("weapon",a,"weapon_thac_adj6")),o.push(i("weapon",a,"weapon_thac_adj7")),o.push(i("weapon",a,"weapon_thac_adj8")),o.push(i("weapon",a,"weapon_thac_adj9")),o.push(i("weapon",a,"weapon_thac_adj10")),o.push(i("weapon",a,"weapon_macro_text")),o.push(i("weapon",a,"weapon_damagesmallmedium_chat_menu")),o.push(i("weapon",a,"weapon_damagelarge_chat_menu")),o.push(i("weapon",a,"weapon_damagesmallmedium_npc_chat_menu")),o.push(i("weapon",a,"weapon_damagelarge_npc_chat_menu")),o.push(i("weapon",a,"weapon_critdamagesmallmedium_chat_menu")),o.push(i("weapon",a,"weapon_critdamagelarge_chat_menu")),o.push(i("weapon",a,"weapon_critdamagesmallmedium_npc_chat_menu")),o.push(i("weapon",a,"weapon_critdamagelarge_npc_chat_menu")),o.push(i("weapon",a,"weapon_damage_chat_menu_npc"))}),getAttrs(o,a=>{_.each(e,t=>{s[`repeating_weapon_${t}_weapon_attack_type`]=+a[i("weapon",t,"weapon_attack_type")],s[`repeating_weapon_${t}_weapon_dual`]=a[i("weapon",t,"weapon_dual")],s[`repeating_weapon_${t}_weapon_whisper_to_hit`]=a[i("weapon",t,"weapon_whisper_to_hit")],s[`repeating_weapon_${t}_weapon_whisper_to_hit_select`]=+a[i("weapon",t,"weapon_whisper_to_hit_select")],s[`repeating_weapon_${t}_weapon_dual_pen`]=+a[i("weapon",t,"weapon_dual_pen")]||0,s[`repeating_weapon_${t}_weapon_backstab_var`]=+a[i("weapon",t,"weapon_backstab_var")]||0,s[`repeating_weapon_${t}_weapon_tohitbonus`]=+a[i("weapon",t,"weapon_tohitbonus")]||0,s[`repeating_weapon_${t}_weapon_magicbonus`]=+a[i("weapon",t,"weapon_magicbonus")]||0,s[`repeating_weapon_${t}_weapon_prof`]=+a[i("weapon",t,"weapon_prof")]||0,s[`repeating_weapon_${t}_weapon_backstab`]=+a[i("weapon",t,"weapon_backstab")]||0,s[`repeating_weapon_${t}_weapon_backstab_bonus`]=+a[i("weapon",t,"weapon_backstab_bonus")]||0,s[`repeating_weapon_${t}_weapon_backstab_mult`]=+a[i("weapon",t,"weapon_backstab_mult")]||0,s[`repeating_weapon_${t}_weapon_attackdmgbonus`]=+a[i("weapon",t,"weapon_attackdmgbonus")]||0,s[`repeating_weapon_${t}_weapon_num_attacks`]=+a[i("weapon",t,"weapon_num_attacks")]||0,s[`repeating_weapon_${t}_weapon_quantity`]=+a[i("weapon",t,"weapon_quantity")]||0,s[`repeating_weapon_${t}_weapon_ammo`]=+a[i("weapon",t,"weapon_ammo")]||0,s[`repeating_weapon_${t}_weapon_ammo_max`]=+a[i("weapon",t,"weapon_ammo_max")]||0,s[`repeating_weapon_${t}_weapon_weight`]=+a[i("weapon",t,"weapon_weight")]||0,s[`repeating_weapon_${t}_weapon_cost`]=+a[i("weapon",t,"weapon_cost")]||0,s[`repeating_weapon_${t}_weapon_range_short`]=+a[i("weapon",t,"weapon_range_short")]||0,s[`repeating_weapon_${t}_weapon_range_medium`]=+a[i("weapon",t,"weapon_range_medium")]||0,s[`repeating_weapon_${t}_weapon_range_long`]=+a[i("weapon",t,"weapon_range_long")]||0,s[`repeating_weapon_${t}_weapon_length`]=a[i("weapon",t,"weapon_length")],s[`repeating_weapon_${t}_weapon_space`]=a[i("weapon",t,"weapon_space")],s[`repeating_weapon_${t}_weapon_speed`]=a[i("weapon",t,"weapon_speed")],s[`repeating_weapon_${t}_weapon_misc`]=a[i("weapon",t,"weapon_misc")],s[`repeating_weapon_${t}_weapon_thac_adj0`]=+a[i("weapon",t,"weapon_thac_adj0")]||0,s[`repeating_weapon_${t}_weapon_thac_adj1`]=+a[i("weapon",t,"weapon_thac_adj1")]||0,s[`repeating_weapon_${t}_weapon_thac_adj2`]=+a[i("weapon",t,"weapon_thac_adj2")]||0,s[`repeating_weapon_${t}_weapon_thac_adj3`]=+a[i("weapon",t,"weapon_thac_adj3")]||0,s[`repeating_weapon_${t}_weapon_thac_adj4`]=+a[i("weapon",t,"weapon_thac_adj4")]||0,s[`repeating_weapon_${t}_weapon_thac_adj5`]=+a[i("weapon",t,"weapon_thac_adj5")]||0,s[`repeating_weapon_${t}_weapon_thac_adj6`]=+a[i("weapon",t,"weapon_thac_adj6")]||0,s[`repeating_weapon_${t}_weapon_thac_adj7`]=+a[i("weapon",t,"weapon_thac_adj7")]||0,s[`repeating_weapon_${t}_weapon_thac_adj8`]=+a[i("weapon",t,"weapon_thac_adj8")]||0,s[`repeating_weapon_${t}_weapon_thac_adj9`]=+a[i("weapon",t,"weapon_thac_adj9")]||0,s[`repeating_weapon_${t}_weapon_thac_adj10`]=+a[i("weapon",t,"weapon_thac_adj10")]||0,s[`repeating_weapon_${t}_weapon_macro_text`]=a[i("weapon",t,"weapon_macro_text")],s[`repeating_weapon_${t}_weapon_damagesmallmedium_chat_menu`]=a[i("weapon",t,"weapon_damagesmallmedium_chat_menu")],s[`repeating_weapon_${t}_weapon_damagelarge_chat_menu`]=a[i("weapon",t,"weapon_damagelarge_chat_menu")],s[`repeating_weapon_${t}_weapon_damagesmallmedium_npc_chat_menu`]=a[i("weapon",t,"weapon_damagesmallmedium_npc_chat_menu")],s[`repeating_weapon_${t}_weapon_damagelarge_npc_chat_menu`]=a[i("weapon",t,"weapon_damagelarge_npc_chat_menu")],s[`repeating_weapon_${t}_weapon_critdamagesmallmedium_chat_menu`]=a[i("weapon",t,"weapon_critdamagesmallmedium_chat_menu")],s[`repeating_weapon_${t}_weapon_critdamagelarge_chat_menu`]=a[i("weapon",t,"weapon_critdamagelarge_chat_menu")],s[`repeating_weapon_${t}_weapon_critdamagesmallmedium_npc_chat_menu`]=a[i("weapon",t,"weapon_critdamagesmallmedium_npc_chat_menu")],s[`repeating_weapon_${t}_weapon_critdamagelarge_npc_chat_menu`]=a[i("weapon",t,"weapon_critdamagelarge_npc_chat_menu")],s[`repeating_weapon_${t}_weapon_damage_chat_menu_npc`]=a[i("weapon",t,"weapon_damage_chat_menu_npc")]}),s.sheet_version=r,g("VERSION UPDATE: setWeaponsUpdate completed"),setAttrs(s,{silent:!0},y(r,n))})})},Yt=(r,n)=>{getSectionIDs("nonweaponproficiencies",e=>{let s={},o=[];_.each(e,a=>{o.push(i("nonweaponproficiencies",a,"nwp_attribute")),o.push(i("nonweaponproficiencies",a,"nwp_slots")),o.push(i("nonweaponproficiencies",a,"nwp_modifier")),o.push(i("nonweaponproficiencies",a,"nwp_macro_text"))}),getAttrs(o,a=>{_.each(e,t=>{s[`repeating_nonweaponproficiencies_${t}_attribute`]=a[i("nonweaponproficiencies",t,"nwp_attribute")],s[`repeating_nonweaponproficiencies_${t}_slots`]=+a[i("nonweaponproficiencies",t,"nwp_slots")]||0,s[`repeating_nonweaponproficiencies_${t}_modifier`]=+a[i("nonweaponproficiencies",t,"nwp_modifier")]||0,s[`repeating_nonweaponproficiencies_${t}_macro_text`]=a[i("nonweaponproficiencies",t,"nwp_macro_text")]||0}),s.sheet_version=r,g("VERSION UPDATE: setNWPUpdate completed"),setAttrs(s,{silent:!0},y(r,n))})})},Xt=()=>{getSectionIDs("repeating_weapon",r=>{let n={},e=[];_.each(r,s=>{e.push(i("weapon",s,"weapon_quantity")),e.push(i("weapon",s,"weapon_weight")),e.push(i("weapon",s,"weapon_cost"))}),getAttrs(e,s=>{_.each(r,o=>{n[i("weapon",o,"weapon_quantity")]=+s[i("weapon",o,"weapon_quantity")]||0,n[i("weapon",o,"weapon_weight")]=0,n[i("weapon",o,"weapon_cost")]=0}),setAttrs(n)})})},Qt=()=>{getSectionIDs("repeating_weapon",r=>{getSectionIDs("repeating_equipment",n=>{let e={},s=[],o=[],a=[...s,...o];_.each(r,t=>{a.push(i("weapon",t,"weapon_name")),a.push(i("weapon",t,"weapon_quantity")),a.push(i("weapon",t,"weapon_weight")),a.push(i("weapon",t,"weapon_cost"))}),_.each(n,t=>{a.push(i("equipment",t,"equipment_item")),a.push(i("equipment",t,"equipment_quantity")),a.push(i("equipment",t,"equipment_weight")),a.push(i("equipment",t,"equipment_cost"))}),getAttrs(a,t=>{let p=[],c=[],l=[],u=[],h="";_.each(r,m=>{let w=t[i("weapon",m,"weapon_name")],A=t[i("weapon",m,"weapon_quantity")],b=t[i("weapon",m,"weapon_weight")],M=t[i("weapon",m,"weapon_cost")];if(_.each(n,f=>{let R=f;u.push(R);let $=t[i("equipment",f,"equipment_item")];p.push($);let P=t[i("equipment",f,"equipment_weight")];c.push(P);let U=t[i("equipment",f,"equipment_cost")];l.push(U)}),b!==0||M!==0){g(`weaponName:${w} weaponWeight:${b} weaponCost:${M}`);let f=p.indexOf(w);f===-1?(g("NO MATCH || COPY TO NEW ROW ||"),h=k(),e[`repeating_equipment_${h}_equipment_type`]=1,e[`repeating_equipment_${h}_equipment_item`]=w,e[`repeating_equipment_${h}_equipment_quantity`]=A,e[`repeating_equipment_${h}_equipment_quantity_max`]=A,e[`repeating_equipment_${h}_equipment_weight`]=b,e[`repeating_equipment_${h}_equipment_cost`]=M):c[f]==="0"&&l[f]==="0"?(g(`MATCH w/weight & cost tracked on weapons. || UPDATE ROW || name:${w} weight:${c[f]} cost:${l[f]} at index:${f} id:${u[f]}`),h=u[f],e[`repeating_equipment_${h}_equipment_type`]=1,e[`repeating_equipment_${h}_equipment_quantity`]=A,e[`repeating_equipment_${h}_equipment_quantity_max`]=A,e[`repeating_equipment_${h}_equipment_weight`]=b,e[`repeating_equipment_${h}_equipment_cost`]=M):c[f]!=="0"&&l[f]==="0"?(g(`MATCH w/weight tracked on equipment. || UPDATE ROW || name:${w} weight:${c[f]} cost:${l[f]} at index:${f} id:${u[f]}`),h=u[f],e[`repeating_equipment_${h}_equipment_type`]=1,e[`repeating_equipment_${h}_equipment_cost`]=M):c[f]==="0"&&l[f]!=="0"?(g(`MATCH w/cost tracked on equipment. || UPDATE ROW || name:${w} weight:${c[f]} cost:${l[f]} at index:${f} id:${u[f]}`),h=u[f],e[`repeating_equipment_${h}_equipment_type`]=1,e[`repeating_equipment_${h}_equipment_weight`]=b):c[f]!=="0"&&l[f]!=="0"?g(`100% MATCH weight & cost tracked on equipment. || IGNORE ROW || name:${w} weight: ${c[f]} cost:${l[f]} at index:${f}`):g("No attribute data to migrate. || IGNORE ROW ||")}}),setAttrs(e,{silent:!0},Xt())})})})},Zt=(r,n)=>{let e={};Qt(),e.sheet_version=r,g("VERSION UPDATE: migrateWeaponWtCost completed"),setAttrs(e,{silent:!0},y(r,n))},Jt=(r,n)=>{getSectionIDs("repeating_equipment",e=>{let s={},o=[];_.each(e,a=>{o.push(i("equipment",a,"equipment_type"))}),getAttrs(o,a=>{_.each(e,t=>{let p=+a[i("equipment",t,"equipment_type")];p>=0||(s[i("equipment",t,"equipment_type")]=0,g(`equipType -1:${p} reset to Gear`))}),s.sheet_version=r,g("VERSION UPDATE: setEquipmentType completed"),setAttrs(s,{silent:!0},y(r,n))})})},vt=(r,n)=>{let e={};ma(),e.sheet_version=r,g("VERSION UPDATE: migrateSetSpellsCasterClass completed"),setAttrs(e,{silent:!0},y(r,n))},eo=(r,n)=>{let e={};V(0),e.sheet_version=r,g("VERSION UPDATE: recalcAC completed"),setAttrs(e,{silent:!0},y(r,n))},ao=(r,n)=>{let e={};e.init_macro_text="",e.sheet_version=r,g("VERSION UPDATE: recalcAC completed"),setAttrs(e,{silent:!0},y(r,n))},to=(r,n)=>{getSectionIDs("repeating_weapon",e=>{let s=[];_.each(e,o=>{s.push(i("weapon",o,"weapon_critdamagesmallmedium")),s.push(i("weapon",o,"weapon_critdamagelarge"))}),getAttrs([...s],o=>{let a={},t="(@{weapon_damagesmallmedium})*2",p="(@{weapon_damagelarge})*2";_.each(e,c=>{let l=o[i("weapon",c,"weapon_critdamagesmallmedium")]||t,u=o[i("weapon",c,"weapon_critdamagelarge")]||p;a[i("weapon",c,"weapon_critdamagesmallmedium")]=l.replace(/@{weapon_damagesmallmedium}*2/g,"(@{weapon_damagesmallmedium})*2"),a[i("weapon",c,"weapon_critdamagelarge")]=u.replace(/@{weapon_damagelarge}*2/g,"(@{weapon_damagelarge})*2")}),a.sheet_version=r,g("VERSION UPDATE: updateCriticalDamageMacro completed"),setAttrs(a,{silent:!0},y(r,n))})})},oo=()=>{getAttrs(["hitdice","armorclass","strength","intelligence","wisdom","dexterity","constitution","charisma","old_character"],r=>{let n={};if((+r.old_character||0)===1)return;let s=+r.hitdice,o=+r.armorclass,a=+r.strength,t=+r.intelligence,p=+r.wisdom,c=+r.dexterity,l=+r.constitution,u=+r.charisma,h=a+t+p+c+l+u;s===0&&o===10&&h===60?(n.strength=a===10?8:a,n.intelligence=t===10?8:t,n.wisdom=p===10?8:p,n.dexterity=c===10?8:c,n.constitution=l===10?8:l,n.charisma=u===10?8:u,n.old_character=1,Fa()):n.old_character=1,setAttrs(n,{silent:!0})})};y=(r,n)=>{r<.1?xt(.1,n):r<1.2?St(1.2,n):r<1.5?Mt(1.5,n):r<1.52?Dt(1.52,n):r<1.53?Ct(1.53,n):r<1.54?Et(1.54,n):r<1.55?It(1.55,n):r<1.56?Ot(1.56,n):r<1.57?Nt(1.57,n):r<1.591?La(1.591,n):r<1.592?ja(1.592,n):r<1.593?Ba(1.593,n):r<1.594?Tt(1.594,n):r<1.595?Be(1.595,n):r<1.596?Ra(1.596,n):r<1.597?jt(1.597,n):r<1.598?Bt(1.598,n):r<1.61?Ut(1.61,n):r<1.62?Ht(1.62,n):r<1.634?Be(1.634,n):r<1.635?Rt(1.635,n):r<1.636?Lt(1.636,n):r<1.637?Be(1.637,n):r<1.638?Wt(1.638,n):r<1.639?Vt(1.639,n):r<1.64?Gt(1.641,n):r<1.642?Pt(1.643,n):r<1.644?zt(1.644,n):r<1.645?Kt(1.645,n):r<1.646?Zt(1.646,n):r<1.648?Jt(1.648,n):r<1.65?vt(1.65,n):r<1.652?Ra(1.652,n):r<1.654?eo(1.654,n):r<1.656?ao(1.656,n):r<1.658?to(1.658,n):r<1.659?Yt(1.66,n):r<n?setAttrs({sheet_version:n}):r===n&&oo()};on("sheet:opened",()=>{getAttrs(["sheet_version","old_character"],n=>{let e={},s=T(n.sheet_version);+n.old_character==0&&s===0&&(s=1.68,e.sheet_version=1.68,setAttrs(e,{silent:!0})),g(`Current sheet data version:${s}, Sheet code version:${1.68}`),y(s,1.68)})});on("change:abilities_info_show change:toggle_exceptional change:intelligence change:wisdom change:dexterity change:constitution change:charisma change:comeliness",r=>{getAttrs(["intelligence","wisdom","dexterity","constitution","charisma","comeliness","toggle_exceptional"],n=>{let e={};+n.toggle_exceptional!==1&&(e.exceptional_intelligence_flag=1,e.exceptional_wisdom_flag=1,e.exceptional_dexterity_flag=1,e.exceptional_constitution_flag=1,e.exceptional_charisma_flag=1,e.exceptional_comeliness_flag=1,setAttrs(e,{silent:!0}))})});on("change:abilities_info_show change:toggle_exceptional change:strength",r=>{getAttrs(["strength"],n=>{let e={};e.exceptional_strength_flag=1,setAttrs(e,{silent:!0})})});on("change:is_npc",r=>{getAttrs(["is_npc","toggle_npc"],n=>{let e={},s=+n.is_npc,o=+n.toggle_npc;o=s===0?0:1,e.toggle_npc=o,setAttrs(e,{silent:!0})})});var no=()=>{getSectionIDs("repeating_equipment",r=>{let n={},e=[];_.each(r,s=>{e.push(i("equipment",s,"equipment_quantity")),e.push(i("equipment",s,"equipment_cost"))}),getAttrs(e,s=>{let o=[];_.each(r,t=>{let p=+s[i("equipment",t,"equipment_quantity")]||0,c=+s[i("equipment",t,"equipment_cost")]||0;c=p>0?c*p:0,o.push(c)});let a=o.reduce((t,p)=>t+p,0);n.total_equipment_cost=a.toFixed(2),n.total_cost=a.toFixed(2),setAttrs(n,{silent:!0})})})},ro=()=>{getSectionIDs("repeating_equipment",r=>{let n={},e=[];_.each(r,s=>{e.push(i("equipment",s,"equipment_type")),e.push(i("equipment",s,"equipment_armor_type")),e.push(i("equipment",s,"equipment_location")),e.push(i("equipment",s,"equipment_weight")),e.push(i("equipment",s,"equipment_quantity")),e.push(i("equipment",s,"equipment_carried")),e.push(i("equipment",s,"equipment_carried_select"))}),getAttrs(["total_coin_weight",...e],s=>{let o=[],a=[],t=[];_.each(r,m=>{let w=+s[i("equipment",m,"equipment_type")],A=0,b=+s[i("equipment",m,"equipment_carried_select")];n[i("equipment",m,"equipment_carried")]=b===1?1:0,A=b===1?1:0;let M=+s[i("equipment",m,"equipment_quantity")]||0,f=+s[i("equipment",m,"equipment_weight")]||0,R=0,$=0;f=f*M*A,w===1&&(R=f),w===2&&($=f),o.push(R),a.push($),t.push(f)});let p=o.reduce((m,w)=>m+w,0),c=a.reduce((m,w)=>m+w,0),l=t.reduce((m,w)=>m+w,0),u=l-c-p,h=Math.round(T(s.total_coin_weight)+T(l));n.total_weapon_weight=p.toFixed(2),n.total_armor_weight=c.toFixed(2),n.total_equipment_weight=l.toFixed(2),n.total_equipment_weight_adjusted=u.toFixed(2),n.total_weight=h,setAttrs(n,{silent:!0})})})};on("change:repeating_equipment:equipment_quantity change:repeating_equipment:equipment_cost remove:repeating_equipment",r=>{no()});on("change:repeating_equipment:equipment_weight change:repeating_equipment:equipment_quantity change:repeating_equipment:equipment_carried change:repeating_equipment:equipment_carried_select change:repeating_equipment:equipment_armor_worn change:total_coin_weight remove:repeating_equipment change:toggle_lbs",r=>{ro()});on("change:pp change:gp change:ep change:sp change:cp change:toggle_lbs",r=>{getAttrs(["pp","gp","ep","sp","cp","toggle_lbs"],n=>{let e=+(n.toggle_lbs||0)?10:1;setAttrs({total_coin_weight:(Math.round((T(n.pp)+T(n.gp)+T(n.ep)+T(n.sp)+T(n.cp))/1)/e).toFixed(2)})})});function _o(){getAttrs(["normal_load_adjusted","heavy_load","very_heavy_load","total_weight","autocalc_movement_flag","current_bulk","current_encumbrance_move"],r=>{let n={},e=+r.autocalc_movement_flag,s=+r.normal_load_adjusted||0,o=+r.heavy_load||0,a=+r.very_heavy_load||0,t=+r.total_weight||0,p=+r.current_bulk,c=0;t<=s?(n.current_encumbrance_label="Unencumbered",c=0,n.current_encumbrance=c,n.current_encumbrance_move=e===1?Math.max(c,p):r.current_encumbrance_move):t>s&&t<=o?(n.current_encumbrance_label="Heavy",c=1,n.current_encumbrance=c,n.current_encumbrance_move=e===1?Math.max(c,p):r.current_encumbrance_move):t>o&&t<=a?(n.current_encumbrance_label="Very Heavy",c=2,n.current_encumbrance=c,n.current_encumbrance_move=e===1?Math.max(c,p):r.current_encumbrance_move):(n.current_encumbrance_label="Encumbered",c=3,n.current_encumbrance=c,n.current_encumbrance_move=e===1?Math.max(c,p):r.current_encumbrance_move),setAttrs(n)})}on("sheet:opened change:encumbrancebonus change:normal_load change:total_weight change:autocalc_movement_flag change:current_bulk change:encumbrancebonus_lbs change:toggle_lbs",r=>{getAttrs(["encumbrancebonus","toggle_lbs"],n=>{let e={},s=+(n.toggle_lbs||0),o=s?.1:1,a=350*o,t=+n.encumbrancebonus||0,p=T(t*o),l=a+(s?p:t),u=l+a,h=u+a,m=h;e.encumbrancebonus_lbs=p,e.normal_load=a,e.normal_load_adjusted=l,e.heavy_load=u,e.very_heavy_load=h,e.max_load=m+1,setAttrs(e,{silent:!0},_o())})});function so(){getAttrs(["current_encumbrance_move","movement"],r=>{let n={},e=+r.movement.toString().replace(/[^0-9]/g,""),s=+r.current_encumbrance_move,o=0;s===0?o=e:s===1?o=q(e-3):s===2?o=q(e-6):o=q(e-9),n.movement_normal=o,n.movement_known=o*5,n.movement_run=o*10,setAttrs(n,{silent:!0})})}on("change:movement change:current_encumbrance change:current_encumbrance_move change:autocalc_movement_flag",r=>{getAttrs(["movement"],n=>{let e={},o=+n.movement.toString().replace(/[^0-9]/g,"");e.movement_heavy=Math.max(o-3,0),e.movement_load=Math.max(o-6,0),e.movement_max=Math.max(o-9,0),setAttrs(e,{silent:!0},so(),V(0))})});function io(){getAttrs(["unarmored_bulk","armortype_bulk","armortype2_bulk","armorshield_bulk","unarmored_worn","armortype_worn","armortype2_worn","armorshield_worn","armorshield_carried"],r=>{let n={},{unarmored_worn:e}=r,{armortype_worn:s}=r,{armortype2_worn:o}=r,{armorshield_worn:a}=r,{armorshield_carried:t}=r,p=Math.max(a,t),c=r.unarmored_bulk*e,l=r.armortype_bulk*s,u=r.armortype2_bulk*o,h=r.armorshield_bulk*p;switch(Math.max(c,l,u,h)){case 0:n.current_bulk_label="Not Bulky",n.current_bulk=0;break;case 1:n.current_bulk_label="Not Bulky/Light",n.current_bulk=0;break;case 2:n.current_bulk_label="Fairly/Moderate",n.current_bulk=1;break;case 3:n.current_bulk_label="Bulky/Heavy",n.current_bulk=2;break;default:g(">> failure in bulk calculation <<")}setAttrs(n)})}on("change:unarmored_bulk change:armortype_bulk change:armortype2_bulk change:armorshield_bulk change:armorhelmet_bulk change:unarmored_worn change:armortype_worn change:armortype2_worn change:armorshield_worn change:armorhelmet_worn change:armorshield_carried remove:repeating_equipment",r=>{io()});on("change:repeating_equipment:equipment_carried_select change:repeating_equipment:equipment_type change:repeating_equipment:equipment_carried_select change:repeating_equipment:equipment_magical",r=>{let n=r.sourceAttribute.split("_")[2],e=`${r.sourceAttribute}`,o=/equipment_type/.test(e),a=[i("equipment",n,"equipment_type"),i("equipment",n,"equipment_carried_select")];getAttrs(["equipment_tabs_type","equipment_tabs_carry",...a],t=>{let p={},c=+t.equipment_tabs_carry,l=+t.equipment_tabs_type,u=+t[i("equipment",n,"equipment_type")],h=+t[i("equipment",n,"equipment_carried_select")];p[i("equipment",n,"equipment_carried")]=h===1?1:0,p.equipment_tabs_type=l!==-1&&o?u:l,console.log(`Change detected: testCarrySelected:${c===-1||c===h?-1:h}`),p.equipment_tabs_carry=c===-1||c===h?-1:h,setAttrs(p)})});on("change:equipment_tabs_type change:equipment_tabs_carry",r=>{getSectionIDs("repeating_equipment",n=>{let e=[];_.each(n,s=>{e.push(i("equipment",s,"equipment_type")),e.push(i("equipment",s,"equipment_carried_select")),e.push(i("equipment",s,"equipment_magical"))}),getAttrs(["equipment_tabs_type","equipment_tabs_carry","equipment_magical",...e],s=>{let o={},a=+s.equipment_tabs_type,t=+s.equipment_tabs_carry;_.each(n,p=>{let c=+s[i("equipment",p,"equipment_magical")],l=+s[i("equipment",p,"equipment_type")],u=+s[i("equipment",p,"equipment_carried_select")];if(a===-1||a===l||a===3&&c)return o[i("equipment",p,"equipment_show_carry")]=t===-1||t===u?1:0,o[i("equipment",p,"equipment_show_type")]=1;o[i("equipment",p,"equipment_show_carry")]=t===-1||t===u?1:0,o[i("equipment",p,"equipment_show_type")]=0}),setAttrs(o)})})});var po=()=>{getSectionIDs("repeating_equipment",r=>{let n=r.reduce((e,s)=>[...e,`repeating_equipment_${s}_equipment_armor_type`],[]);getAttrs(["armordetails_array",...De,...n],e=>{let s={},o=e.unarmored_row_id.toString(),a=e.armortype1_row_id.toString(),t=e.armortype2_row_id.toString(),p=e.armorshield_row_id.toString(),c=e.armorhelmet_row_id.toString(),l=e.armorother1_row_id.toString(),u=e.armorother2_row_id.toString(),h=e.armorother3_row_id.toString(),m=e.armorother4_row_id.toString(),w=e.armorother5_row_id.toString(),A=e.armorother6_row_id.toString(),b=[o,a,t,p,c,l,u,h,m,w,A].map(M=>M?M.toString().toLowerCase():"0");_.each(r,M=>{let f=+e[`repeating_equipment_${M}_equipment_armor_type`];if(f===99)return;let R=b.map(($,P)=>$===M?`${Math.floor(P)+1}`:null).filter($=>$!==null);if(R.length>1){let U=R.join(",").split(",").filter(K=>K!==String(f));switch(U.length>0?U[0]:null){case"1":s.unarmored="",g(">> DELETE/RESET ROW 0 - Unarmored <<");break;case"2":s.armortype="",g(">> DELETE/RESET ROW 1 - Armor 1 <<");break;case"3":s.armortype2="",g(">> DELETE/RESET ROW 2 - Armor 2 <<");break;case"4":s.armorshield="",g(">> DELETE/RESET ROW 3 - Shield <<");break;case"5":s.armorhelmet="",g(">> DELETE/RESET ROW 4 - Helmet <<");break;case"6":s.armorother="",g(">> DELETE/RESET ROW 5 - Other <<");break;case"7":s.armorother2="",g(">> DELETE/RESET ROW 6 - Other 2 <<");break;case"8":s.armorother3="",g(">> DELETE/RESET ROW 7 - Other 3 <<");break;case"9":s.armorother4="",g(">> DELETE/RESET ROW 8 - Other 4 <<");break;case"10":s.armorother5="",g(">> DELETE/RESET ROW 9 - Other 5 <<");break;case"11":s.armorother6="",g(">> DELETE/RESET ROW 10 - Other 6 <<");break;default:g(">> NOTHING TO DELETE/RESET <<")}}}),setAttrs(s)})})},co=`${ba.map(r=>`change:${r}`).join(" ")}`;on(co,r=>{if(r.sourceType==="sheetworker")return;let n=r.sourceAttribute,e=r.previousValue,s=r.newValue,o=0;getAttrs(ba,a=>{let t={},p="";n==="unarmored"&&e===void 0&&(p=k(),t.unarmored_row_id=p.toLowerCase(),t[`repeating_equipment_${p}_equipment_type`]=2,t[`repeating_equipment_${p}_equipment_armor_type`]=0,t[`repeating_equipment_${p}_equipment_armor_worn`]=1,t[`repeating_equipment_${p}_equipment_item`]=a.unarmored,t[`repeating_equipment_${p}_equipment_armor_ac`]=+a.unarmored_ac,t[`repeating_equipment_${p}_equipment_armor_base`]=+a.unarmored_base,t[`repeating_equipment_${p}_equipment_carried_select`]=1,g(`repeating armor does not exist. Creating unarmored: ${p}`)),n==="armortype"&&e===void 0&&(p=k(),t.armortype1_row_id=p.toLowerCase(),t[`repeating_equipment_${p}_equipment_type`]=2,t[`repeating_equipment_${p}_equipment_armor_type`]=1,t[`repeating_equipment_${p}_equipment_armor_worn`]=+a.armortype_worn,t[`repeating_equipment_${p}_equipment_item`]=a.armortype,t[`repeating_equipment_${p}_equipment_armor_ac`]=+a.armortype_ac,t[`repeating_equipment_${p}_equipment_armor_base`]=+a.armortype_base,t[`repeating_equipment_${p}_equipment_armor_magic`]=+a.armortype_magic||0,t[`repeating_equipment_${p}_equipment_armor_bulk`]=+a.armortype_bulk,t[`repeating_equipment_${p}_equipment_carried_select`]=+a.armortype_carried,t[`repeating_equipment_${p}_equipment_weight`]=+a.armor_weight||0,t[`repeating_equipment_${p}_equipment_cost`]=+a.armor_cost||0),n==="armortype2"&&e===void 0&&(p=k(),t.armortype2_row_id=p.toLowerCase(),t[`repeating_equipment_${p}_equipment_type`]=2,t[`repeating_equipment_${p}_equipment_armor_type`]=2,t[`repeating_equipment_${p}_equipment_armor_worn`]=+a.armortype2_worn,t[`repeating_equipment_${p}_equipment_item`]=a.armortype2,t[`repeating_equipment_${p}_equipment_armor_ac`]=+a.armortype2_ac,t[`repeating_equipment_${p}_equipment_armor_base`]=+a.armortype2_base,t[`repeating_equipment_${p}_equipment_armor_magic`]=+a.armortype2_magic||0,t[`repeating_equipment_${p}_equipment_armor_bulk`]=+a.armortype2_bulk,t[`repeating_equipment_${p}_equipment_carried_select`]=+a.armortype2_carried,t[`repeating_equipment_${p}_equipment_weight`]=+a.armortype2_weight||0,t[`repeating_equipment_${p}_equipment_cost`]=+a.armortype2_cost||0),n==="armorshield"&&e===void 0&&(p=k(),t.armorshield_row_id=p.toLowerCase(),t[`repeating_equipment_${p}_equipment_type`]=2,t[`repeating_equipment_${p}_equipment_armor_type`]=3,t[`repeating_equipment_${p}_equipment_armor_worn`]=+a.armorshield_worn,t[`repeating_equipment_${p}_equipment_item`]=a.armorshield,t[`repeating_equipment_${p}_equipment_armor_ac`]=+a.armorshield_ac,t[`repeating_equipment_${p}_equipment_armor_base`]=+a.armorshield_base,t[`repeating_equipment_${p}_equipment_armor_magic`]=+a.armorshield_magic||0,t[`repeating_equipment_${p}_equipment_armor_mod`]=+a.armorshield_mod||0,t[`repeating_equipment_${p}_equipment_armor_bulk`]=+a.armorshield_bulk,t[`repeating_equipment_${p}_equipment_carried_select`]=+a.armorshield_carried,t[`repeating_equipment_${p}_equipment_weight`]=+a.armorshield_weight||0,t[`repeating_equipment_${p}_equipment_cost`]=+a.armorshield_cost||0),n==="armorhelmet"&&e===void 0&&(p=k(),t.armorhelmet_row_id=p.toLowerCase(),t[`repeating_equipment_${p}_equipment_type`]=2,t[`repeating_equipment_${p}_equipment_armor_type`]=4,t[`repeating_equipment_${p}_equipment_armor_worn`]=+a.armorhelmet_worn,t[`repeating_equipment_${p}_equipment_item`]=a.armorhelmet,t[`repeating_equipment_${p}_equipment_armor_ac`]=+a.armorhelmet_ac,t[`repeating_equipment_${p}_equipment_armor_magic`]=+a.armorhelmet_magic||0,t[`repeating_equipment_${p}_equipment_carried_select`]=+a.armorhelmet_carried,t[`repeating_equipment_${p}_equipment_weight`]=+a.armorhelmet_weight||0,t[`repeating_equipment_${p}_equipment_cost`]=+a.armorhelmet_cost||0),n==="armorother"&&e===void 0&&(p=k(),t.armorother1_row_id=p.toLowerCase(),t[`repeating_equipment_${p}_equipment_type`]=2,t[`repeating_equipment_${p}_equipment_armor_type`]=5,t[`repeating_equipment_${p}_equipment_armor_worn`]=+a.armorother_worn,t[`repeating_equipment_${p}_equipment_item`]=a.armorother,t[`repeating_equipment_${p}_equipment_armor_ac`]=+a.armorother_ac,t[`repeating_equipment_${p}_equipment_armor_base`]=+a.armorother_base,t[`repeating_equipment_${p}_equipment_armor_magic`]=+a.armorother_magic||0,t[`repeating_equipment_${p}_equipment_armor_mod`]=+a.armorother_mod||0),n==="armorother2"&&e===void 0&&(p=k(),t.armorother2_row_id=p.toLowerCase(),t[`repeating_equipment_${p}_equipment_type`]=2,t[`repeating_equipment_${p}_equipment_armor_type`]=6,t[`repeating_equipment_${p}_equipment_armor_worn`]=+a.armorother2_worn,t[`repeating_equipment_${p}_equipment_item`]=a.armorother2,t[`repeating_equipment_${p}_equipment_armor_ac`]=+a.armorother2_ac,t[`repeating_equipment_${p}_equipment_armor_base`]=+a.armorother2_base,t[`repeating_equipment_${p}_equipment_armor_magic`]=+a.armorother2_magic||0,t[`repeating_equipment_${p}_equipment_armor_mod`]=+a.armorother2_mod||0),n==="armorother3"&&e===void 0&&(p=k(),t.armorother3_row_id=p.toLowerCase(),t[`repeating_equipment_${p}_equipment_type`]=2,t[`repeating_equipment_${p}_equipment_armor_type`]=7,t[`repeating_equipment_${p}_equipment_armor_worn`]=+a.armorother3_worn,t[`repeating_equipment_${p}_equipment_item`]=a.armorother3,t[`repeating_equipment_${p}_equipment_armor_ac`]=+a.armorother3_ac,t[`repeating_equipment_${p}_equipment_armor_base`]=+a.armorother3_base,t[`repeating_equipment_${p}_equipment_armor_magic`]=+a.armorother3_magic||0,t[`repeating_equipment_${p}_equipment_armor_mod`]=+a.armorother3_mod||0),n==="armorother4"&&e===void 0&&(p=k(),t.armorother4_row_id=p.toLowerCase(),t[`repeating_equipment_${p}_equipment_type`]=2,t[`repeating_equipment_${p}_equipment_armor_type`]=8,t[`repeating_equipment_${p}_equipment_armor_worn`]=+a.armorother4_worn,t[`repeating_equipment_${p}_equipment_item`]=a.armorother4,t[`repeating_equipment_${p}_equipment_armor_ac`]=+a.armorother4_ac,t[`repeating_equipment_${p}_equipment_armor_base`]=+a.armorother4_base,t[`repeating_equipment_${p}_equipment_armor_magic`]=+a.armorother4_magic||0,t[`repeating_equipment_${p}_equipment_armor_mod`]=+a.armorother4_mod||0),n==="armorother5"&&e===void 0&&(p=k(),t.armorother5_row_id=p.toLowerCase(),t[`repeating_equipment_${p}_equipment_type`]=2,t[`repeating_equipment_${p}_equipment_armor_type`]=9,t[`repeating_equipment_${p}_equipment_armor_worn`]=+a.armorother5_worn,t[`repeating_equipment_${p}_equipment_item`]=a.armorother5,t[`repeating_equipment_${p}_equipment_armor_ac`]=+a.armorother5_ac,t[`repeating_equipment_${p}_equipment_armor_base`]=+a.armorother5_base,t[`repeating_equipment_${p}_equipment_armor_magic`]=+a.armorother5_magic||0,t[`repeating_equipment_${p}_equipment_armor_mod`]=+a.armorother5_mod||0),n==="armorother6"&&e===void 0&&(p=k(),t.armorother6_row_id=p.toLowerCase(),t[`repeating_equipment_${p}_equipment_type`]=2,t[`repeating_equipment_${p}_equipment_armor_type`]=10,t[`repeating_equipment_${p}_equipment_armor_worn`]=+a.armorother6_worn,t[`repeating_equipment_${p}_equipment_item`]=a.armorother6,t[`repeating_equipment_${p}_equipment_armor_ac`]=+a.armorother6_ac,t[`repeating_equipment_${p}_equipment_armor_base`]=+a.armorother6_base,t[`repeating_equipment_${p}_equipment_armor_magic`]=+a.armorother6_magic||0,t[`repeating_equipment_${p}_equipment_armor_mod`]=+a.armorother6_mod||0),setAttrs(t,{silent:!0},Se()),da(null,n,o)})});function Ga(r,n){getAttrs([`repeating_equipment_${r}_equipment_armor_type`,`repeating_equipment_${r}_equipment_item`,`repeating_equipment_${r}_equipment_armor_worn`,`repeating_equipment_${r}_equipment_armor_ac`,`repeating_equipment_${r}_equipment_armor_base`,`repeating_equipment_${r}_equipment_armor_magic`,`repeating_equipment_${r}_equipment_armor_mod`,`repeating_equipment_${r}_equipment_armor_bulk`,`repeating_equipment_${r}_equipment_carried_select`,`repeating_equipment_${r}_equipment_carried`,`repeating_equipment_${r}_equipment_weight`,`repeating_equipment_${r}_equipment_cost`],e=>{let s={},a=+e[`repeating_equipment_${r}_equipment_armor_type`],t=e[`repeating_equipment_${r}_equipment_item`],p=+e[`repeating_equipment_${r}_equipment_armor_worn`],c=+e[`repeating_equipment_${r}_equipment_armor_ac`],l=+e[`repeating_equipment_${r}_equipment_armor_base`],u=+e[`repeating_equipment_${r}_equipment_armor_magic`]||0,h=+e[`repeating_equipment_${r}_equipment_armor_mod`]||0,m=+e[`repeating_equipment_${r}_equipment_armor_bulk`],w=+e[`repeating_equipment_${r}_equipment_carried_select`],A=+e[`repeating_equipment_${r}_equipment_weight`]||0,b=+e[`repeating_equipment_${r}_equipment_cost`]||0;p===1?(w=1,s[`repeating_equipment_${r}_equipment_carried_select`]=1):p===0&&(w===0||w===2)&&(s[`repeating_equipment_${r}_equipment_carried_select`]=w);let M=[`ID:${r} ITEM:${t} TYPE:${a} WORN:${p} AC:${c} BASE:${l} MAGIC:${u} MOD:${h} BULK:${m} CARRIED:${w} WEIGHT:${A} COST:${b} UPDATED:`];switch(a){case 99:g("Choose an armor row.");break;case 0:s.unarmored_worn=p,s.unarmored=t,s.unarmored_ac=c,s.unarmored_base=l,s.unarmored_bulk=m,s.unarmored_carried=w,s.unarmored_row_id=r;break;case 1:s.armortype_worn=p,s.armortype=t,s.armortype_ac=c,s.armortype_base=l,s.armortype_magic=u,s.armortype_bulk=m,s.armortype_carried=w,s.armor_weight=A,s.armor_cost=b,s.armortype1_row_id=r;break;case 2:s.armortype2_worn=p,s.armortype2=t,s.armortype2_ac=c,s.armortype2_base=l,s.armortype2_magic=u,s.armortype2_bulk=m,s.armortype2_carried=w,s.armortype2_weight=A,s.armortype2_cost=b,s.armortype2_row_id=r;break;case 3:s.armorshield_worn=p,s.armorshield=t,s.armorshield_ac=c>=0?0:-Math.abs(c),s.armorshield_base=l>=0?0:-Math.abs(l),s.armorshield_magic=u,s.armorshield_mod=h,s.armorshield_bulk=m,s.armorshield_carried=w,s.armorshield_weight=A,s.armorshield_cost=b,s.armorshield_row_id=r;break;case 4:s.armorhelmet_worn=p,s.armorhelmet=t,s.armorhelmet_base=l,s.armorhelmet_magic=u,s.armorhelmet_carried=w,s.armorhelmet_weight=A,s.armorhelmet_cost=b,s.armorhelmet_row_id=r;break;case 5:s.armorother_worn=p,s.armorother=t,s.armorother_ac=c,s.armorother_base=l,s.armorother_magic=u,s.armorother_mod=h,s.armorother1_row_id=r;break;case 6:s.armorother2_worn=p,s.armorother2=t,s.armorother2_ac=c>=0?0:-Math.abs(c),s.armorother2_base=l>=0?0:-Math.abs(l),s.armorother2_magic=u,s.armorother2_mod=h,s.armorother2_row_id=r;break;case 7:s.armorother3_worn=p,s.armorother3=t,s.armorother3_ac=c>=0?0:-Math.abs(c),s.armorother3_base=l>=0?0:-Math.abs(l),s.armorother3_magic=u,s.armorother3_mod=h,s.armorother3_row_id=r;break;case 8:s.armorother4_worn=p,s.armorother4=t,s.armorother4_ac=c>=0?0:-Math.abs(c),s.armorother4_base=l>=0?0:-Math.abs(l),s.armorother4_magic=u,s.armorother4_mod=h,s.armorother4_row_id=r;break;case 9:s.armorother5_worn=p,s.armorother5=t,s.armorother5_ac=c>=0?0:-Math.abs(c),s.armorother5_base=l>=0?0:-Math.abs(l),s.armorother5_magic=u,s.armorother5_mod=h,s.armorother5_row_id=r;break;case 10:s.armorother6_worn=p,s.armorother6=t,s.armorother6_ac=c>=0?0:-Math.abs(c),s.armorother6_base=l>=0?0:-Math.abs(l),s.armorother6_magic=u,s.armorother6_mod=h,s.armorother6_row_id=r;break;default:g("Armor row is out of range.")}n&&n(),setAttrs(s,V(0))})}function mo(r){let n={};getAttrs([`repeating_equipment_${r}_equipment_item`,`repeating_equipment_${r}_equipment_weapon_type`,`repeating_equipment_${r}_equipment_weapon_speed`,`repeating_equipment_${r}_equipment_weapon_length`,`repeating_equipment_${r}_equipment_weapon_space`,`repeating_equipment_${r}_equipment_weapon_misc`,`repeating_equipment_${r}_equipment_weapon_damagesmallmedium`,`repeating_equipment_${r}_equipment_weapon_damagelarge`,`repeating_equipment_${r}_equipment_weapon_attackdmgtype`,`repeating_equipment_${r}_equipment_weapon_rateoffire`,`repeating_equipment_${r}_equipment_weapon_range`,`repeating_equipment_${r}_equipment_quantity`,`repeating_equipment_${r}_equipment_description`],e=>{let s=k();n[`repeating_weapon_${s}_weapon_name`]=e[`repeating_equipment_${r}_equipment_item`],n[`repeating_weapon_${s}_weapon_type`]=+e[`repeating_equipment_${r}_equipment_weapon_type`],n[`repeating_weapon_${s}_weapon_speed`]=e[`repeating_equipment_${r}_equipment_weapon_speed`],n[`repeating_weapon_${s}_weapon_length`]=e[`repeating_equipment_${r}_equipment_weapon_length`],n[`repeating_weapon_${s}_weapon_space`]=e[`repeating_equipment_${r}_equipment_weapon_space`],n[`repeating_weapon_${s}_weapon_misc`]=e[`repeating_equipment_${r}_equipment_weapon_misc`],n[`repeating_weapon_${s}_weapon_damagesmallmedium`]=e[`repeating_equipment_${r}_equipment_weapon_damagesmallmedium`],n[`repeating_weapon_${s}_weapon_damagelarge`]=e[`repeating_equipment_${r}_equipment_weapon_damagelarge`],n[`repeating_weapon_${s}_weapon_attackdmgtype`]=e[`repeating_equipment_${r}_equipment_weapon_attackdmgtype`],n[`repeating_weapon_${s}_weapon_rateoffire`]=e[`repeating_equipment_${r}_equipment_weapon_rateoffire`],n[`repeating_weapon_${s}_weapon_range`]=e[`repeating_equipment_${r}_equipment_weapon_range`],n[`repeating_weapon_${s}_weapon_quantity`]=+e[`repeating_equipment_${r}_equipment_quantity`]||0,n[`repeating_weapon_${s}_weapon_notes`]=e[`repeating_equipment_${r}_equipment_description`],setAttrs(n,{silent:!0},za(r),Me(s))})}function qa(r,n){getAttrs(De,e=>{let s=e.unarmored_row_id.toString(),o=e.armortype1_row_id.toString(),a=e.armortype2_row_id.toString(),t=e.armorshield_row_id.toString(),p=e.armorhelmet_row_id.toString(),c=e.armorother1_row_id.toString(),l=e.armorother2_row_id.toString(),u=e.armorother3_row_id.toString(),h=e.armorother4_row_id.toString(),m=e.armorother5_row_id.toString(),w=e.armorother6_row_id.toString(),A=[s,o,a,t,p,c,l,u,h,m,w].map(M=>M?M.toString().toLowerCase():"0"),b="";b=A.includes(r)?1:0,typeof n=="function"&&n(b,A)})}Se=r=>{let n={};qa(r,(e,s)=>{n.armordetails_array=[`${s}`],setAttrs(n,{silent:!0})})};var lo=`${De.map(r=>`change:${r}`).join(" ")}`;on(lo,r=>{let n=r.sourceAttribute;r.sourceType!=="sheetworker"&&getAttrs(n,e=>{let s=e[`${r.sourceAttribute}`];g("Updating armordetails_array..."),Se(s)})});on("change:repeating_equipment:equipment_item change:repeating_equipment:equipment_armor_worn change:repeating_equipment:equipment_armor_ac change:repeating_equipment:equipment_armor_base change:repeating_equipment:equipment_armor_magic change:repeating_equipment:equipment_armor_mod change:repeating_equipment:equipment_armor_bulk change:repeating_equipment:equipment_carried_select change:repeating_equipment:equipment_weight change:repeating_equipment:equipment_cost",r=>{let n=r.sourceAttribute.split("_")[2].toLowerCase();r.sourceType!=="sheetworker"&&qa(n,e=>{e&&Ga(n)})});on("clicked:repeating_equipment:addarmor",r=>{let n=r.sourceAttribute.split("_")[2].toLowerCase();Ga(n,()=>{po()})});on("clicked:repeating_equipment:addattack",r=>{let n=r.sourceAttribute.split("_")[2];mo(n)});on("clicked:addturnundead",r=>{let n={},e=k();n[`repeating_ability_${e}_ability_name`]="Turn Undead by Type",n[`repeating_ability_${e}_ability_short_description`]="[Turn Undead by Type](~selected|turn_undead_roll)",setAttrs(n,{silent:!0})});on("clicked:addturnundead2",r=>{let n={},e=k();n[`repeating_ability_${e}_ability_name`]="Turn Undead by HD",n[`repeating_ability_${e}_ability_short_description`]="[Turn Undead by HD](~selected|turn_undead2_roll)",setAttrs(n,{silent:!0})});on("remove:repeating_equipment",r=>{let n=r.sourceAttribute.split("_")[2].toLowerCase(),e=1;qa(n,(s,o)=>{s&&da(n,null,e)})});on("change:spell_tabs change:toggle_show_memorized change:spell_caster_tabs change:toggle_caster2",r=>{getSectionIDs("repeating_spells",n=>{let e=[];_.each(n,s=>{e.push(i("spells",s,"spell_memorized")),e.push(i("spells",s,"spell_show_all")),e.push(i("spells",s,"spell_level")),e.push(i("spells",s,"spell_caster_class"))}),getAttrs(["spell_tabs","toggle_show_memorized","spell_caster_tabs","toggle_caster2",...e],s=>{let o={},a=+s.toggle_show_memorized,t=+s.spell_caster_tabs,p=+s.toggle_caster2,c=+s.spell_tabs;_.each(n,l=>{let u=+s[i("spells",l,"spell_memorized")]||0,h=+s[i("spells",l,"spell_caster_class")],m=+s[i("spells",l,"spell_level")]||0;o[i("spells",l,"spell_show_memorized")]=a===1&&u>0?1:0,o[i("spells",l,"spell_show_all")]=a===1?0:1,c===-1||c===m?p===1?o[i("spells",l,"spell_show")]=1:p===0&&(t===-1||h===0||t===0&&h===1||t===1&&h===2?o[i("spells",l,"spell_show")]=1:o[i("spells",l,"spell_show")]=0):o[i("spells",l,"spell_show")]=0}),setAttrs(o)})})});on("change:repeating_spells:spell_level change:repeating_spells:spell_caster_class",r=>{r.sourceType==="player"&&getAttrs(["repeating_spells_spell_level","repeating_spells_spell_caster_class","spell_caster_tabs","spell_tabs"],n=>{let e={},s=+n.spell_caster_tabs,o=+n.repeating_spells_spell_caster_class,a=+n.spell_tabs,t=n.repeating_spells_spell_level;e.spell_tabs=a>=0&&a!==t?t:a,e.spell_caster_tabs=s!==-1&&o<=1?0:1,setAttrs(e)})});ma=()=>{getSectionIDs("repeating_spells",r=>{let n={},e=["caster_class1_name","caster_class2_name","caster_class1_level","caster_class2_level"],s=[];_.each(r,a=>{s.push(i("spells",a,"spell_caster_class"))});let o=[...e,...s];getAttrs(o,a=>{_.each(r,t=>{let p=+a[i("spells",t,"spell_caster_class")];p===0?(n[i("spells",t,"spell_caster_class_name")]="",n[i("spells",t,"spell_caster_class")]=p):p===1?(n[i("spells",t,"spell_caster_class_name")]=a.caster_class1_name,n[i("spells",t,"spell_caster_class_level")]=+a.caster_class1_level||0,n[i("spells",t,"spell_caster_class")]=p):p===2&&(n[i("spells",t,"spell_caster_class_name")]=a.caster_class2_name,n[i("spells",t,"spell_caster_class_level")]=+a.caster_class2_level||0,n[i("spells",t,"spell_caster_class")]=p)}),setAttrs(n,{silent:!0})})})};on("change:caster_class1_name change:caster_class2_name change:caster_class1_level change:caster_class2_level",r=>{ma()});on("change:repeating_spells:spell_name change:repeating_spells:spell_caster_class",r=>{if(r.sourceType!=="player")return;let n=r.previousValue,e=r.sourceAttribute.split("_").slice(3).join("_"),s=r.sourceAttribute.split("_")[2],o=n===void 0&&e==="spell_name"?1:0;getAttrs(["repeating_spells_spell_caster_class","caster_class1_name","caster_class1_level","caster_class2_name","caster_class2_level","spell_caster_tabs","toggle_caster2"],a=>{let t={},p=+a.toggle_caster2,c=+a.spell_caster_tabs,l=+a[i("spells",s,"spell_caster_class")];console.log(`Change detected:PRE-CHECK Hide Caster2:${p} CasterTab:${c} thisClass:${l}`),p===0?o===1&&c!==-1&&(l=c===0?1:2):l=1,console.log(`Change detected:POST-CHECK Hide Caster2:${p} CasterTab:${c} thisClass:${l}`),l===0?(t[i("spells",s,"spell_caster_class_name")]="",t[i("spells",s,"spell_caster_class")]=l):l===1?(t[i("spells",s,"spell_caster_class_name")]=a.caster_class1_name,t[i("spells",s,"spell_caster_class_level")]=+a.caster_class1_level||0,t[i("spells",s,"spell_caster_class")]=l):l===2&&(t[i("spells",s,"spell_caster_class_name")]=a.caster_class2_name,t[i("spells",s,"spell_caster_class_level")]=+a.caster_class2_level||0,t[i("spells",s,"spell_caster_class")]=l),setAttrs(t,{silent:!0})})});on("change:repeating_spells:spell_name",r=>{if(r.sourceType!=="player")return;let n=r.sourceAttribute.split("_")[2];getAttrs([`repeating_spells_${n}_spell_level`,"spell_tabs"],e=>{let s={},o=+e.spell_tabs,a=e[i("spells",n,"spell_level")]||0;o===-1||a!="?"||(s[`repeating_spells_${n}_spell_level`]=o,setAttrs(s,{silent:!0}))})});on("change:repeating_weapon:weapon_tohitacadj_flag change:repeating_weapon:weapon_thac_adj0 change:repeating_weapon:weapon_thac_adj1 change:repeating_weapon:weapon_thac_adj2 change:repeating_weapon:weapon_thac_adj3 change:repeating_weapon:weapon_thac_adj4 change:repeating_weapon:weapon_thac_adj5 change:repeating_weapon:weapon_thac_adj6 change:repeating_weapon:weapon_thac_adj7 change:repeating_weapon:weapon_thac_adj8 change:repeating_weapon:weapon_thac_adj9 change:repeating_weapon:weapon_thac_adj10",r=>{getAttrs(["repeating_weapon_weapon_ToHitACadj_flag","repeating_weapon_weapon_ToHitACadj"],n=>{let e={},s=+n.repeating_weapon_weapon_ToHitACadj_flag;e.repeating_weapon_weapon_ToHitACadj=s===1?"{{ToHitACadj2to10=HitAdj:[[ @{weapon_thac_adj0} ]]|[[ @{weapon_thac_adj1} ]]|[[ @{weapon_thac_adj2} ]]|[[ @{weapon_thac_adj3} ]]|[[ @{weapon_thac_adj4} ]]|[[ @{weapon_thac_adj5} ]]|[[ @{weapon_thac_adj6} ]]|[[ @{weapon_thac_adj7} ]]|[[ @{weapon_thac_adj8} ]]|[[ @{weapon_thac_adj9} ]]|[[ @{weapon_thac_adj10} ]] }}":"{{ToHitACadj2to10}}",setAttrs(e,{silent:!0})})});on("change:toggle_to_hit_table change:repeating_weapon:weapon_name change:repeating_weapon:weapon_whisper_to_hit_select",r=>{getSectionIDs("repeating_weapon",n=>{let e=[];_.each(n,s=>{e.push(`repeating_weapon_${s}_weapon_whisper_to_hit_select`),e.push(`repeating_weapon_${s}_weapon_whisper_to_hit`)}),getAttrs(["toggle_to_hit_table",...e],s=>{let o={},a=+s.toggle_to_hit_table;_.each(n,t=>{let p=+s[`repeating_weapon_${t}_weapon_whisper_to_hit_select`],c=s[`repeating_weapon_${t}_weapon_whisper_to_hit`],l=" ",u="%NEWLINE%/w gm &{template:attacks-table} {{color=@{color_option}}} {{ToHitAC-10to0=ToHit:[[ @{thac-10} ]]|[[ @{thac-9} ]]|[[ @{thac-8} ]]|[[ @{thac-7} ]]|[[ @{thac-6} ]]|[[ @{thac-5} ]]|[[ @{thac-4} ]]|[[ @{thac-3} ]]|[[ @{thac-2} ]]|[[ @{thac-1} ]]|[[ @{thac0} ]]}} {{ToHitAC1to10=ToHit:[[ @{thac0} ]]|[[ @{thac1} ]]|[[ @{thac2} ]]|[[ @{thac3} ]]|[[ @{thac4} ]]|[[ @{thac5} ]]|[[ @{thac6} ]]|[[ @{thac7} ]]|[[ @{thac8} ]]|[[ @{thac9} ]]|[[ @{thac10} ]] }}",h="%NEWLINE%/w gm &{template:attacks-table} {{color=@{color_option}}} {{ToHitAC-10to0=ToHit:[[ @{thac0-10} ]]|[[ @{thac0-9} ]]|[[ @{thac0-8} ]]|[[ @{thac0-7} ]]|[[ @{thac0-6} ]]|[[ @{thac0-5} ]]|[[ @{thac0-4} ]]|[[ @{thac0-3} ]]|[[ @{thac0-2} ]]|[[ @{thac0-1} ]]|[[ @{thac00} ]]}} {{ToHitAC1to10=ToHit:[[ @{thac00} ]]|[[ @{thac01} ]]|[[ @{thac02} ]]|[[ @{thac03} ]]|[[ @{thac04} ]]|[[ @{thac05} ]]|[[ @{thac06} ]]|[[ @{thac07} ]]|[[ @{thac08} ]]|[[ @{thac09} ]]|[[ @{thac010} ]] }}";p===2?(c=l,p=2):(p===0||p===1)&&(a===0?(c=u,p=0):a===1&&(c=h,p=1)),o[`repeating_weapon_${t}_weapon_whisper_to_hit`]=c,o[`repeating_weapon_${t}_weapon_whisper_to_hit_select`]=p}),setAttrs(o,{silent:!0})})})});on("change:repeating_weapon:weapon_prof_flag change:weapon_proficiency_initial change:weapon_proficiency_added_per_level change:weapon_proficiency_penalty",r=>{getSectionIDs("repeating_weapon",n=>{let e=[];_.each(n,s=>{e.push(`repeating_weapon_${s}_weapon_prof_flag`)}),getAttrs(["weapon_proficiency_penalty",...e],s=>{let o={};_.each(n,a=>{let t=+s[`repeating_weapon_${a}_weapon_prof_flag`],p=+s.weapon_proficiency_penalty||0;o[`repeating_weapon_${a}_weapon_prof`]=p,o[`repeating_weapon_${a}_weapon_prof_pen`]=t===0?"0":p}),setAttrs(o,{silent:!0})})})});on("change:repeating_weapon:weapon_backstab_flag change:backstab change:backstab_bonus change:toggle_thief_skills",r=>{getSectionIDs("repeating_weapon",n=>{let e=[];_.each(n,s=>{e.push(`repeating_weapon_${s}_weapon_backstab_flag`)}),getAttrs(["backstab","backstab_bonus","toggle_thief_skills",...e],s=>{let o={},a=+s.toggle_thief_skills,t=+s.backstab,p=+s.backstab_bonus||0;_.each(n,c=>{let l=+s[`repeating_weapon_${c}_weapon_backstab_flag`];a===0&&(o[`repeating_weapon_${c}_weapon_backstab_var`]=l===0?0:`+${p}`,o[`repeating_weapon_${c}_weapon_backstab_bonus`]=l===0?0:p,o[`repeating_weapon_${c}_weapon_backstab`]=l===0?1:`x${t}`,o[`repeating_weapon_${c}_weapon_backstab_mult`]=l===0?1:t),a===1&&(o[`repeating_weapon_${c}_weapon_backstab_var`]=0,o[`repeating_weapon_${c}_weapon_backstab_bonus`]=0,o[`repeating_weapon_${c}_weapon_backstab`]=1,o[`repeating_weapon_${c}_weapon_backstab_mult`]=1)}),setAttrs(o,{silent:!0})})})});function ho(){getSectionIDs("repeating_weapon",r=>{let n={},e=[];_.each(r,s=>{e.push(i("weapon",s,"weapon_dual"))}),getAttrs(["dual_pen_primary","dual_pen_secondary",...e],s=>{let o=+s.dual_pen_primary||0,a=+s.dual_pen_secondary||0;_.each(r,t=>{let p=s[i("weapon",t,"weapon_dual")],c=0;p==="Normal"?c=0:p==="Primary"?c=o:p==="Secondary"&&(c=a);let l=Math.min(0,c);n[i("weapon",t,"weapon_dual_pen")]=l}),setAttrs(n,{silent:!0})})})}on("change:repeating_weapon:weapon_dual",r=>{let n={};getAttrs(["dual_pen_primary","dual_pen_secondary","repeating_weapon_weapon_dual"],e=>{let s=+e.dual_pen_primary||0,o=+e.dual_pen_secondary||0,a=e.repeating_weapon_weapon_dual,t=0;a==="Normal"?t=0:a==="Primary"?t=s:a==="Secondary"&&(t=o);let p=Math.min(0,t);n.repeating_weapon_weapon_dual_pen=p,setAttrs(n,{silent:!0})})});on("change:dual_pen_primary change:dual_pen_secondary change:dexterity",r=>{getAttrs(["dexterity"],n=>{let e={},s=+n.dexterity||0,o=0;s<6?o=Math.max(-3,s-6):s>=18?o=Math.min(5,Math.floor(s/3)-3):s>15&&(o=s-15);let a=Math.min(0,o-2),t=Math.min(0,o-4);e.dual_pen_primary=a,e.dual_pen_secondary=t,setAttrs(e,{silent:!0},ho())})});Pa=r=>{let n={},e=[i("weapon",r,"weapon_range"),i("weapon",r,"weapon_range_short"),i("weapon",r,"weapon_range_medium"),i("weapon",r,"weapon_range_long"),i("weapon",r,"weapon_attack_type"),i("weapon",r,"weapon_range_error")];getAttrs(e,s=>{let o=+s[i("weapon",r,"weapon_attack_type")];if(o===0||o===2)return;let a=s[i("weapon",r,"weapon_range")];a=a.replace(/'/g,""),a=a.replace(/"/g,"");let t=a.split("/").join(",").split(" ").join(",").split("-").join(",").split(","),p=Number(t[0]),c=Number(t[1]),l=Number(t[2]);t.length===1&&p>=0&&!c&&!l&&(c=p,l=p),Number.isNaN(p)?(n[i("weapon",r,"weapon_range_short")]=0,n[i("weapon",r,"weapon_range_error")]=a===""?1:0):n[i("weapon",r,"weapon_range_short")]=p,Number.isNaN(c)?(n[i("weapon",r,"weapon_range_medium")]=0,n[i("weapon",r,"weapon_range_error")]=a===""?1:0):n[i("weapon",r,"weapon_range_medium")]=c,Number.isNaN(l)?(n[i("weapon",r,"weapon_range_long")]=0,n[i("weapon",r,"weapon_range_error")]=a===""?1:0):n[i("weapon",r,"weapon_range_long")]=l,!Number.isNaN(p)&&!Number.isNaN(c)&&!Number.isNaN(l)&&(n[i("weapon",r,"weapon_range_error")]=1),setAttrs(n,{silent:!0})})};on("change:repeating_weapon:weapon_range change:repeating_weapon:weapon_attack_type",r=>{let n=r.sourceAttribute.split("_")[2];Pa(n)});on("change:repeating_weapon:weapon_attack_type",r=>{getAttrs(["repeating_weapon_weapon_attack_type","repeating_weapon_weapon_attack_type_flag"],n=>{let e={},s=+n.repeating_weapon_weapon_attack_type,o=+n.repeating_weapon_weapon_attack_type_flag;s!==o&&(e.repeating_weapon_weapon_attack_type_flag=s),setAttrs(e,{silent:!0})})});Ke=()=>{getAttrs(["hitpoints","hitpoints_max","sync_hp_flag","hitpoints_1_class","hitpoints_2_class","hitpoints_3_class"],r=>{let n={},e=+r.sync_hp_flag,s=+r.hitpoints_max||0,o=Math.max(0,+r.hitpoints_1_class||0),a=Math.max(0,+r.hitpoints_2_class||0),t=Math.max(0,+r.hitpoints_3_class||0),p=o!==0?1:0,c=a!==0?1:0,l=t!==0?1:0,u=p+c+l,h=q(o+a+t),m=T(h/u).toFixed(2);n.hitpoints_class_total=h,n.hp_quotient=u,n.hitpoints_total=m,n.hitpoints_max=e===1?q(m):s,setAttrs(n,{silent:!0})})};on("change:sync_hp_flag change:hitpoints change:hitpoints_max change:hitpoints_1_class change:hitpoints_2_class change:hitpoints_3_class",r=>{Ke()});V=r=>{getAttrs(["armorclass","armorclass_mod","armorclass_magic","armorbonus","armorbonus_toggle","armorbonus_inverted","unarmored_worn","armortype_worn","armortype2_worn","armorshield_worn","armorhelmet_worn","armorother_worn","armorother2_worn","armorother3_worn","armorother4_worn","armorother5_worn","armorother6_worn","unarmored_base","armortype_base","armortype2_base","armorshield_base","armorother_base","armorother2_base","armorother3_base","armorother4_base","armorother5_base","armorother6_base","unarmored_ac","armortype_ac","armortype2_ac","armorshield_ac","armorhelmet_ac","armorother_ac","armorother2_ac","armorother3_ac","armorother4_ac","armorother5_ac","armorother6_ac","armortype_magic","armortype2_magic","armorshield_magic","armorhelmet_magic","armorother_magic","armorother2_magic","armorother3_magic","armorother4_magic","armorother5_magic","armorother6_magic","armorshield_mod","armorother_mod","armorother2_mod","armorother3_mod","armorother4_mod","armorother5_mod","armorother6_mod","autocalc_ac","armor_rating_flag","current_encumbrance_move","sync_ac_flag"],n=>{if(+n.autocalc_ac+r===0)return;let s={},o=+n.armorclass,a=+n.sync_ac_flag,t=+n.armor_rating_flag,p=+n.armorshield_mod*-1||0,c=+n.armorother_mod*-1||0,l=+n.armorother2_mod*-1||0,u=+n.armorother3_mod*-1||0,h=+n.armorother4_mod*-1||0,m=+n.armorother5_mod*-1||0,w=+n.armorother6_mod*-1||0,A=+n.armortype_magic*-1||0,b=+n.armortype2_magic*-1||0,M=+n.armorshield_magic*-1||0,f=+n.armorhelmet_magic*-1||0,R=+n.armorother_magic*-1||0,$=+n.armorother2_magic*-1||0,P=+n.armorother3_magic*-1||0,U=+n.armorother4_magic*-1||0,oe=+n.armorother5_magic*-1||0,K=+n.armorother6_magic*-1||0,me=+n.unarmored_worn,ne=+n.armortype_worn,re=+n.armortype2_worn,Y=+n.armorshield_worn,Ce=+n.armorhelmet_worn,X=+n.armorother_worn,Q=+n.armorother2_worn,Z=+n.armorother3_worn,_e=+n.armorother4_worn,S=+n.armorother5_worn,J=+n.armorother6_worn,Ee=+n.current_encumbrance_move||0,le=+n.armorbonus_toggle||0,L=+n.armorbonus||0,he=0;Ee===3&&L<0?(le=0,L=0,he=1):L<0?L=+n.armorbonus*le||0:L=+n.armorbonus||0,s.encumbrance_flag=he;let ue=+n.unarmored_base,ge=+n.armortype_base,we=+n.armortype2_base,be=+n.armorshield_base,de=+n.armorother_base,qe=n.armorother2_base>=0?0:-Math.abs(n.armorother2_base)||0,G=n.armorother3_base>=0?0:-Math.abs(n.armorother3_base)||0,Ie=n.armorother4_base>=0?0:-Math.abs(n.armorother4_base)||0,se=n.armorother5_base>=0?0:-Math.abs(n.armorother5_base)||0,Oe=n.armorother6_base>=0?0:-Math.abs(n.armorother6_base)||0,fe=+n.unarmored_ac,fa=+n.armortype_ac,ya=+n.armortype2_ac,$a=+n.armorshield_ac,ka=+n.armorother_ac,Aa=n.armorother2_ac>=0?0:-Math.abs(n.armorother2_ac)||0,xa=n.armorother3_ac>=0?0:-Math.abs(n.armorother3_ac)||0,Sa=n.armorother4_ac>=0?0:-Math.abs(n.armorother4_ac)||0,Ma=n.armorother5_ac>=0?0:-Math.abs(n.armorother5_ac)||0,Da=n.armorother6_ac>=0?0:-Math.abs(n.armorother6_ac)||0,Xa=ne?ge:10,Qa=re?we:10,Za=Y?be:0,Ja=X?de:10,va=Q?qe:0,et=Z?G:0,at=_e?Ie:0,tt=S?se:0,ot=J?Oe:0,nt=me?ue:10,rt=ne?fa:10,_t=re?ya:10,Ca=Y?$a:0,st=X?ka:10,it=Q?Aa:0,pt=Z?xa:0,ct=_e?Sa:0,mt=S?Ma:0,lt=J?Da:0,ht=me?fe:10,ye=Y?p:0,$e=Y?M:0,ut=q(Math.min(ge,we,de,ue)+be+qe+G+Ie+se+Oe),gt=q(Math.min(fa,ya,ka,fe)+($a+Aa+xa+Sa+Ma+Da)),Ea=q(Math.min(Xa,Qa,Ja,nt)+(Za+va+et+at+tt+ot)),Ne=q(Math.min(rt,_t,st,ht)+(it+pt+ct+mt+lt)),Ia=q(A+b+f+R+$+P+U+oe+K+M),ie=q(ne*A+re*b+Ce*f+X*R+Q*$+Z*P+_e*U+S*oe+J*K),Oa=q(c+l+u+h+m+w+p)||0,pe=q(X*c+Q*l+Z*u+_e*h+S*m+J*w),Te=q(pe+ie),Re=q(Ne+pe+ie),Na=1;L>0&&Re>=10&&(Na=0);let Le=q(Re+L*Na),v=q(Ca+ye+$e),je=q(Le+v);L>0&&v>=10&&(je=q(Le+L+v));let wt=(-1*(ie+$e)<=0?"":"+")+-1*(ie+$e),bt=(-1*Ia<=0?"":"+")+-1*Ia,dt=(-1*(pe+ye)<=0?"":"+")+-1*(pe+ye),qt=(-1*Oa<=0?"":"+")+-1*Oa,ft=(-1*L<=0?"":"+")+-1*L,yt=(-1*Te<=0?"":"+")+-1*Te,$t=(-1*v<=0?"":"+")+-1*v;s.armorclass_rating_used=Ea,s.armorclass_rating=t===1?"-":Ea,s.armorclass_rating_best=ut,s.armorclass_base_used=Ne+Ca,s.armorclass_base=Ne,s.armorclass_base_best=gt,s.armorclass_magic=ie,s.armorclass_magic_with_shield=wt,s.armorclass_magic_total=bt,s.armorclass_mod=pe,s.armorclass_mod_with_shield=dt,s.armorclass_mod_total=qt,s.armorclass_combined_mod_magic=Te,s.armorclass_combined_mod_magic_inverted=yt,s.armorclass_rear=Re,s.armorbonus_inverted=ft,s.armorclass_shieldless=Le,s.armorclass_shield_magic=$e,s.armorclass_shield_mod=ye,s.armorclass_combined_shield_mod_magic=v,s.armorclass_combined_shield_mod_magic_inverted=$t,s.armorclass_total=je,s.armorclass=a?je:o,setAttrs(s,{silent:!0})})};on("change:armor_details_show change:armor_rating_flag change:sync_ac_flag change:autocalc_ac change:unarmored change:armortype change:armortype2 change:armorshield change:armorhelmet change:armorother change:armorother2 change:armorother3 change:armorother4 change:armorother5 change:armorother6 change:armorclass_mod change:armorclass_magic change:armorbonus change:armorbonus_toggle change:unarmored_worn change:armortype_worn change:armortype2_worn change:armorshield_worn change:armorhelmet_worn change:armorother_worn change:armorother2_worn change:armorother3_worn change:armorother4_worn change:armorother5_worn change:armorother6_worn change:armortype_base change:armortype2_base change:armorshield_base change:armorother_base change:armorother2_base change:armorother3_base change:armorother4_base change:armorother5_base change:armorother6_base change:unarmored_base change:armortype_ac change:armortype2_ac change:armorshield_ac change:armorhelmet_ac change:armorother_ac change:armorother2_ac change:armorother3_ac change:armorother4_ac change:armorother5_ac change:armorother6_ac change:unarmored_ac change:armorshield_mod change:armorother_mod change:armorother2_mod change:armorother3_mod change:armorother4_mod change:armorother5_mod change:armorother6_mod change:armortype_magic change:armortype2_magic change:armorshield_magic change:armorhelmet_magic change:armorother_magic change:armorother2_magic change:armorother3_magic change:armorother4_magic change:armorother5_magic change:armorother6_magic",r=>{V(0)});on("clicked:calcac",r=>{V(1)});Me=r=>{getAttrs(["toggle_auto_damage"],n=>{let e={},s=+n.toggle_auto_damage,o=`Damage vs S/M [[ (@{repeating_weapon_${r}_weapon_damagesmallmedium}) * @{repeating_weapon_${r}_weapon_backstab_mult}[MULT] + ( @{repeating_weapon_${r}_weapon_attackdmgbonus}[DMG_BON] ) + ( @{repeating_weapon_${r}_weapon_magicbonus}[MAG_BON] ) + ( ?{Damage Modifier?|0}[MISC_MOD] ) ]]`,a=` vs LG [[ (@{repeating_weapon_${r}_weapon_damagelarge}) * @{repeating_weapon_${r}_weapon_backstab_mult}[MULT] + ( @{repeating_weapon_${r}_weapon_attackdmgbonus}[DMG_BON] ) + ( @{repeating_weapon_${r}_weapon_magicbonus}[MAG_BON] ) + ( ?{Damage Modifier?|0}[MISC_MOD] ) ]]`,t=`Damage vs S/M [[ (@{repeating_weapon_${r}_weapon_damagesmallmedium}) * @{repeating_weapon_${r}_weapon_backstab_mult}[MULT] + ( @{repeating_weapon_${r}_weapon_attackdmgbonus}[DMG_BON] ) + ( @{repeating_weapon_${r}_weapon_magicbonus}[MAG_BON] ) + ( ?{Damage Modifier?|0}[MISC_MOD] ) ]]`,p=` vs LG [[ (@{repeating_weapon_${r}_weapon_damagelarge}) * @{repeating_weapon_${r}_weapon_backstab_mult}[MULT] + ( @{repeating_weapon_${r}_weapon_attackdmgbonus}[DMG_BON] ) + ( @{repeating_weapon_${r}_weapon_magicbonus}[MAG_BON] ) + ( ?{Damage Modifier?|0}[MISC_MOD] ) ]]`,c=`Damage vs S/M [[ (@{repeating_weapon_${r}_weapon_critdamagesmallmedium}) * @{repeating_weapon_${r}_weapon_backstab_mult}[MULT] + ( @{repeating_weapon_${r}_weapon_attackdmgbonus}[DMG_BON] ) + ( @{repeating_weapon_${r}_weapon_magicbonus}[MAG_BON] ) + ( ?{Damage Modifier?|0}[MISC_MOD] ) ]]`,l=` vs LG [[ (@{repeating_weapon_${r}_weapon_critdamagelarge}) * @{repeating_weapon_${r}_weapon_backstab_mult}[MULT] + ( @{repeating_weapon_${r}_weapon_attackdmgbonus}[DMG_BON] ) + ( @{repeating_weapon_${r}_weapon_magicbonus}[MAG_BON] ) + ( ?{Damage Modifier?|0}[MISC_MOD] ) ]]`,u=`Damage vs S/M [[ (@{repeating_weapon_${r}_weapon_critdamagesmallmedium}) * @{repeating_weapon_${r}_weapon_backstab_mult}[MULT] + ( @{repeating_weapon_${r}_weapon_attackdmgbonus}[DMG_BON] ) + ( @{repeating_weapon_${r}_weapon_magicbonus}[MAG_BON] ) + ( ?{Damage Modifier?|0}[MISC_MOD] ) ]]}}`,h=` vs LG [[ (@{repeating_weapon_${r}_weapon_critdamagelarge}) * @{repeating_weapon_${r}_weapon_backstab_mult}[MULT] + ( @{repeating_weapon_${r}_weapon_attackdmgbonus}[DMG_BON] ) + ( @{repeating_weapon_${r}_weapon_magicbonus}[MAG_BON] ) + ( ?{Damage Modifier?|0}[MISC_MOD] ) ]]`;s===0?(e[`repeating_weapon_${r}_weapon_damagesmallmedium_chat_menu`]=`[Roll Damage](~@{character_id}|repeating_weapon_${r}_weapon_damagesmallmedium_roll)`,e[`repeating_weapon_${r}_weapon_damagelarge_chat_menu`]=`[Roll Damage vs LG](~@{character_id}|repeating_weapon_${r}_weapon_damagelarge_roll)`,e[`repeating_weapon_${r}_weapon_damagesmallmedium_npc_chat_menu`]=`[Damage](~@{character_id}|repeating_weapon_${r}_weapon_damagesmallmedium_npc_roll)`,e[`repeating_weapon_${r}_weapon_damagelarge_npc_chat_menu`]=`[Damage vs LG](~@{character_id}|repeating_weapon_${r}_weapon_damagelarge_npc_roll)`,e[`repeating_weapon_${r}_weapon_critdamagesmallmedium_chat_menu`]=`[Roll Damage](~@{character_id}|repeating_weapon_${r}_weapon_critdamagesmallmedium_roll)`,e[`repeating_weapon_${r}_weapon_critdamagelarge_chat_menu`]=`[Roll Damage vs LG](~@{character_id}|repeating_weapon_${r}_weapon_critdamagelarge_roll)`,e[`repeating_weapon_${r}_weapon_critdamagesmallmedium_npc_chat_menu`]=`[Damage](~@{character_id}|repeating_weapon_${r}_weapon_critdamagesmallmedium_npc_roll)`,e[`repeating_weapon_${r}_weapon_critdamagelarge_npc_chat_menu`]=`[Damage vs LG](~@{character_id}|repeating_weapon_${r}_weapon_critdamagelarge_npc_roll)`):(e[`repeating_weapon_${r}_weapon_damagesmallmedium_chat_menu`]=o,e[`repeating_weapon_${r}_weapon_damagelarge_chat_menu`]=a,e[`repeating_weapon_${r}_weapon_damagesmallmedium_npc_chat_menu`]=t,e[`repeating_weapon_${r}_weapon_damagelarge_npc_chat_menu`]=p,e[`repeating_weapon_${r}_weapon_critdamagesmallmedium_chat_menu`]=c,e[`repeating_weapon_${r}_weapon_critdamagelarge_chat_menu`]=l,e[`repeating_weapon_${r}_weapon_critdamagesmallmedium_npc_chat_menu`]=u,e[`repeating_weapon_${r}_weapon_critdamagelarge_npc_chat_menu`]=h),setAttrs(e,{silent:!0})})};on("change:repeating_weapon:weapon_name change:repeating_weapon:weapon_damagesmallmedium change:repeating_weapon:weapon_damagelarge change:repeating_weapon:weapon_critdamagesmallmedium change:repeating_weapon:weapon_critdamagelarge change:repeating_weapon:weapon_attackdmgbonus change:repeating_weapon:weapon_critdamage_flag",r=>{let n=r.sourceAttribute.split("_")[2];Me(n)});on("change:toggle_critdamage",r=>{getSectionIDs("repeating_weapon",n=>{let e={},s=[];_.each(n,o=>{s.push(i("weapon",o,"weapon_critdamage_flag"))}),getAttrs(s,o=>{n.forEach(a=>{let t=+o[i("weapon",a,"weapon_critdamage_flag")];e[i("weapon",a,"weapon_critdamage_flag")]=1-t}),setAttrs(e)})})});on("change:toggle_auto_damage change:toggle_critdamage",r=>{g(`Change Detected:${r.sourceAttribute}`),getSectionIDs("repeating_weapon",n=>{let e=[];getAttrs(e,s=>{n.forEach(o=>{Me(o)})})})});function za(r){let n={},e=[i("weapon",r,"weapon_use"),i("weapon",r,"weapon_attack_type"),i("weapon",r,"weapon_attack_type_flag"),i("weapon",r,"weapon_critdamage_flag"),i("weapon",r,"weapon_prof_pen"),i("weapon",r,"weapon_range_error"),i("weapon",r,"weapon_tohitacadj"),i("weapon",r,"weapon_dual"),i("weapon",r,"weapon_whisper_to_hit"),i("weapon",r,"weapon_whisper_to_hit_select"),i("weapon",r,"weapon_dual_pen"),i("weapon",r,"weapon_backstab_var"),i("weapon",r,"weapon_tohitbonus"),i("weapon",r,"weapon_magicbonus"),i("weapon",r,"weapon_prof"),i("weapon",r,"weapon_backstab"),i("weapon",r,"weapon_backstab_bonus"),i("weapon",r,"weapon_backstab_mult"),i("weapon",r,"weapon_attackdmgbonus"),i("weapon",r,"weapon_num_attacks"),i("weapon",r,"weapon_quantity"),i("weapon",r,"weapon_ammo"),i("weapon",r,"weapon_ammo_max"),i("weapon",r,"weapon_weight"),i("weapon",r,"weapon_cost"),i("weapon",r,"weapon_range_short"),i("weapon",r,"weapon_range_medium"),i("weapon",r,"weapon_range_long"),i("weapon",r,"weapon_length"),i("weapon",r,"weapon_space"),i("weapon",r,"weapon_speed"),i("weapon",r,"weapon_misc"),i("weapon",r,"weapon_thac_adj0"),i("weapon",r,"weapon_thac_adj1"),i("weapon",r,"weapon_thac_adj2"),i("weapon",r,"weapon_thac_adj3"),i("weapon",r,"weapon_thac_adj4"),i("weapon",r,"weapon_thac_adj5"),i("weapon",r,"weapon_thac_adj6"),i("weapon",r,"weapon_thac_adj7"),i("weapon",r,"weapon_thac_adj8"),i("weapon",r,"weapon_thac_adj9"),i("weapon",r,"weapon_thac_adj10"),i("weapon",r,"weapon_macro_text"),i("weapon",r,"weapon_damagesmallmedium_chat_menu"),i("weapon",r,"weapon_damagelarge_chat_menu"),i("weapon",r,"weapon_damagesmallmedium_npc_chat_menu"),i("weapon",r,"weapon_damagelarge_npc_chat_menu"),i("weapon",r,"weapon_critdamagesmallmedium_chat_menu"),i("weapon",r,"weapon_critdamagelarge_chat_menu"),i("weapon",r,"weapon_critdamagesmallmedium_npc_chat_menu"),i("weapon",r,"weapon_critdamagelarge_npc_chat_menu"),i("weapon",r,"weapon_damage_chat_menu_npc")];getAttrs(e,s=>{n.repeating_weapon_weapon_use=+s[i("weapon",r,"weapon_use")],n.repeating_weapon_weapon_attack_type_flag=+s[i("weapon",r,"weapon_attack_type_flag")],n.repeating_weapon_weapon_critdamage_flag=+s[i("weapon",r,"weapon_critdamage_flag")],n.repeating_weapon_weapon_prof_pen=+s[i("weapon",r,"weapon_prof_pen")],n.repeating_weapon_weapon_range_error=+s[i("weapon",r,"weapon_range_error")],n.repeating_weapon_weapon_tohitacadj=+s[i("weapon",r,"weapon_tohitacadj")],n.repeating_weapon_weapon_attack_type=+s[i("weapon",r,"weapon_attack_type")],n.repeating_weapon_weapon_dual=s[i("weapon",r,"weapon_dual")],n.repeating_weapon_weapon_whisper_to_hit=s[i("weapon",r,"weapon_whisper_to_hit")],n.repeating_weapon_weapon_whisper_to_hit_select=+s[i("weapon",r,"weapon_whisper_to_hit_select")],n.repeating_weapon_weapon_dual_pen=+s[i("weapon",r,"weapon_dual_pen")],n.repeating_weapon_weapon_backstab_var=+s[i("weapon",r,"weapon_backstab_var")],n.repeating_weapon_weapon_tohitbonus=+s[i("weapon",r,"weapon_tohitbonus")],n.repeating_weapon_weapon_magicbonus=+s[i("weapon",r,"weapon_magicbonus")],n.repeating_weapon_weapon_prof=+s[i("weapon",r,"weapon_prof")],n.repeating_weapon_weapon_backstab=+s[i("weapon",r,"weapon_backstab")],n.repeating_weapon_weapon_backstab_bonus=+s[i("weapon",r,"weapon_backstab_bonus")],n.repeating_weapon_weapon_backstab_mult=+s[i("weapon",r,"weapon_backstab_mult")],n.repeating_weapon_weapon_attackdmgbonus=+s[i("weapon",r,"weapon_attackdmgbonus")],n.repeating_weapon_weapon_num_attacks=+s[i("weapon",r,"weapon_num_attacks")],n.repeating_weapon_weapon_quantity=+s[i("weapon",r,"weapon_quantity")],n.repeating_weapon_weapon_ammo=+s[i("weapon",r,"weapon_ammo")],n.repeating_weapon_weapon_ammo_max=+s[i("weapon",r,"weapon_ammo_max")],n.repeating_weapon_weapon_weight=+s[i("weapon",r,"weapon_weight")],n.repeating_weapon_weapon_cost=+s[i("weapon",r,"weapon_cost")],n.repeating_weapon_weapon_range_short=+s[i("weapon",r,"weapon_range_short")],n.repeating_weapon_weapon_range_medium=+s[i("weapon",r,"weapon_range_medium")],n.repeating_weapon_weapon_range_long=+s[i("weapon",r,"weapon_range_long")],n.repeating_weapon_weapon_length=s[i("weapon",r,"weapon_length")],n.repeating_weapon_weapon_space=s[i("weapon",r,"weapon_space")],n.repeating_weapon_weapon_speed=s[i("weapon",r,"weapon_speed")],n.repeating_weapon_weapon_misc=s[i("weapon",r,"weapon_misc")],n.repeating_weapon_weapon_thac_adj0=+s[i("weapon",r,"weapon_thac_adj0")],n.repeating_weapon_weapon_thac_adj1=+s[i("weapon",r,"weapon_thac_adj1")],n.repeating_weapon_weapon_thac_adj2=+s[i("weapon",r,"weapon_thac_adj2")],n.repeating_weapon_weapon_thac_adj3=+s[i("weapon",r,"weapon_thac_adj3")],n.repeating_weapon_weapon_thac_adj4=+s[i("weapon",r,"weapon_thac_adj4")],n.repeating_weapon_weapon_thac_adj5=+s[i("weapon",r,"weapon_thac_adj5")],n.repeating_weapon_weapon_thac_adj6=+s[i("weapon",r,"weapon_thac_adj6")],n.repeating_weapon_weapon_thac_adj7=+s[i("weapon",r,"weapon_thac_adj7")],n.repeating_weapon_weapon_thac_adj8=+s[i("weapon",r,"weapon_thac_adj8")],n.repeating_weapon_weapon_thac_adj9=+s[i("weapon",r,"weapon_thac_adj9")],n.repeating_weapon_weapon_thac_adj10=+s[i("weapon",r,"weapon_thac_adj10")],n.repeating_weapon_weapon_macro_text=s[i("weapon",r,"weapon_macro_text")],n.repeating_weapon_weapon_damagesmallmedium_chat_menu=s[i("weapon",r,"weapon_damagesmallmedium_chat_menu")],n.repeating_weapon_weapon_damagelarge_chat_menu=s[i("weapon",r,"weapon_damagelarge_chat_menu")],n.repeating_weapon_weapon_damagesmallmedium_npc_chat_menu=s[i("weapon",r,"weapon_damagesmallmedium_npc_chat_menu")],n.repeating_weapon_weapon_damagelarge_npc_chat_menu=s[i("weapon",r,"weapon_damagelarge_npc_chat_menu")],n.repeating_weapon_weapon_critdamagesmallmedium_chat_menu=s[i("weapon",r,"weapon_critdamagesmallmedium_chat_menu")],n.repeating_weapon_weapon_critdamagelarge_chat_menu=s[i("weapon",r,"weapon_critdamagelarge_chat_menu")],n.repeating_weapon_weapon_critdamagesmallmedium_npc_chat_menu=s[i("weapon",r,"weapon_critdamagesmallmedium_npc_chat_menu")],n.repeating_weapon_weapon_critdamagelarge_npc_chat_menu=s[i("weapon",r,"weapon_critdamagelarge_npc_chat_menu")],n.repeating_weapon_weapon_damage_chat_menu_npc=s[i("weapon",r,"weapon_damage_chat_menu_npc")],setAttrs(n,{silent:!0})})}function uo(r){let n={},e=["equipment_tabs_type","equipment_tabs_carry"],s=[i("equipment",r,"equipment_type"),i("equipment",r,"equipment_magical"),i("equipment",r,"equipment_show_type"),i("equipment",r,"equipment_show_carry"),i("equipment",r,"equipment_current"),i("equipment",r,"equipment_current_max"),i("equipment",r,"equipment_carried_select"),i("equipment",r,"equipment_carried"),i("equipment",r,"equipment_quantity"),i("equipment",r,"equipment_quantity_max"),i("equipment",r,"equipment_weight"),i("equipment",r,"equipment_cost"),i("equipment",r,"equipment_armor_type"),i("equipment",r,"equipment_armor_worn"),i("equipment",r,"equipment_armor_ac"),i("equipment",r,"equipment_armor_base"),i("equipment",r,"equipment_armor_magic"),i("equipment",r,"equipment_armor_mod"),i("equipment",r,"equipment_armor_bulk"),i("equipment",r,"equipment_macro_text"),i("equipment",r,"equipment_weapon_type"),i("equipment",r,"equipment_weapon_speed"),i("equipment",r,"equipment_weapon_misc"),i("equipment",r,"equipment_weapon_length"),i("equipment",r,"equipment_weapon_space"),i("equipment",r,"equipment_weapon_damagesmallmedium"),i("equipment",r,"equipment_weapon_damagelarge"),i("equipment",r,"equipment_weapon_attackdmgtype"),i("equipment",r,"equipment_weapon_rateoffire"),i("equipment",r,"equipment_weapon_range")],o=[...e,...s];getAttrs(o,a=>{let t=+a.equipment_tabs_type,p=+a[i("equipment",r,"equipment_type")];n.repeating_equipment_equipment_type=t!==-1?t:p,n.repeating_equipment_equipment_magical=p===3||t===3?1:+a[i("equipment",r,"equipment_magical")],n.repeating_equipment_equipment_show_type=+a[i("equipment",r,"equipment_show_type")],n.repeating_equipment_equipment_current=+a[i("equipment",r,"equipment_current")],n.repeating_equipment_equipment_current_max=+a[i("equipment",r,"equipment_current_max")],n.repeating_equipment_equipment_carried_select=+a[i("equipment",r,"equipment_carried_select")],n.repeating_equipment_equipment_carried=+a[i("equipment",r,"equipment_carried")],n.repeating_equipment_equipment_quantity=+a[i("equipment",r,"equipment_quantity")],n.repeating_equipment_equipment_quantity_max=+a[i("equipment",r,"equipment_quantity_max")],n.repeating_equipment_equipment_weight=+a[i("equipment",r,"equipment_weight")],n.repeating_equipment_equipment_cost=+a[i("equipment",r,"equipment_cost")],n.repeating_equipment_equipment_armor_type=+a[i("equipment",r,"equipment_armor_type")],n.repeating_equipment_equipment_armor_worn=+a[i("equipment",r,"equipment_armor_worn")],n.repeating_equipment_equipment_armor_ac=+a[i("equipment",r,"equipment_armor_ac")],n.repeating_equipment_equipment_armor_base=+a[i("equipment",r,"equipment_armor_base")],n.repeating_equipment_equipment_armor_magic=+a[i("equipment",r,"equipment_armor_magic")],n.repeating_equipment_equipment_armor_mod=+a[i("equipment",r,"equipment_armor_mod")],n.repeating_equipment_equipment_armor_bulk=+a[i("equipment",r,"equipment_armor_bulk")],n.repeating_equipment_equipment_macro_text=a[i("equipment",r,"equipment_macro_text")],n.repeating_equipment_equipment_weapon_type=+a[i("equipment",r,"equipment_weapon_type")],n.repeating_equipment_equipment_weapon_speed=a[i("equipment",r,"equipment_weapon_speed")],n.repeating_equipment_equipment_weapon_misc=a[i("equipment",r,"equipment_weapon_misc")],n.repeating_equipment_equipment_weapon_length=a[i("equipment",r,"equipment_weapon_length")],n.repeating_equipment_equipment_weapon_space=a[i("equipment",r,"equipment_weapon_space")],n.repeating_equipment_equipment_weapon_damagesmallmedium=a[i("equipment",r,"equipment_weapon_damagesmallmedium")],n.repeating_equipment_equipment_weapon_damagelarge=a[i("equipment",r,"equipment_weapon_damagelarge")],n.repeating_equipment_equipment_weapon_attackdmgtype=a[i("equipment",r,"equipment_weapon_attackdmgtype")],n.repeating_equipment_equipment_weapon_rateoffire=a[i("equipment",r,"equipment_weapon_rateoffire")],n.repeating_equipment_equipment_weapon_range=a[i("equipment",r,"equipment_weapon_range")],setAttrs(n,{silent:!0})})}function go(r){let n={},e=[i("nonweaponproficiencies",r,"nwp_attribute"),i("nonweaponproficiencies",r,"nwp_slots"),i("nonweaponproficiencies",r,"nwp_modifier"),i("nonweaponproficiencies",r,"nwp_macro_text")];getAttrs(e,s=>{n.repeating_nonweaponproficiencies_attribute=+s[i("nonweaponproficiencies",r,"nwp_attribute")],n.repeating_nonweaponproficiencies_slots=+s[i("nonweaponproficiencies",r,"nwp_slots")],n.repeating_nonweaponproficiencies_modifier=+s[i("nonweaponproficiencies",r,"nwp_modifier")],n.repeating_nonweaponproficiencies_macro_text=s[i("nonweaponproficiencies",r,"nwp_macro_text")],setAttrs(n,{silent:!0})})}on("change:repeating_weapon:weapon_name change:repeating_equipment:equipment_item change:repeating_nonweaponproficiencies:nwp_name",r=>{let n=r.sourceAttribute.split("_")[2];r.sourceType==="player"&&r.previousValue===void 0&&(r.sourceAttribute.includes("equipment_item")&&uo(n),r.sourceAttribute.includes("weapon_name")&&za(n),r.sourceAttribute.includes("nwp_name")&&go(n))});on("sheet:opened",r=>{getSectionIDs("repeating_weapon",n=>{getSectionIDs("repeating_ability",e=>{getSectionIDs("repeating_nonweaponproficiencies",s=>{getSectionIDs("repeating_equipment",o=>{getSectionIDs("repeating_spells",a=>{let t={},p=n.length,c=e.length,l=s.length,u=o.length,h=a.length;if(p===0){let m=k();t[`repeating_weapon_${m}_weapon_value`]=1}if(c===0){let m=k();t[`repeating_ability_${m}_ability_value`]=1}if(l===0){let m=k();t[`repeating_nonweaponproficiencies_${m}_nwp_value`]=1}if(u===0){let m=k();t[`repeating_equipment_${m}_equipment_value`]=1}if(h===0){let m=k();t[`repeating_spells_${m}_spell_value`]=1}else return;setAttrs(t,{silent:!0})})})})})})});on("clicked:resetallmacros clicked:resetequipmentmacros clicked:resetweaponsmacros clicked:resetabilitiesmacros clicked:resetnwpsmacros clicked:resetspellsmacros",r=>{let e=r.triggerName.match(/clicked:(\w+)/),s=e?e[1]:null;getSectionIDs("repeating_equipment",o=>{getSectionIDs("repeating_weapon",a=>{getSectionIDs("repeating_ability",t=>{getSectionIDs("repeating_nonweaponproficiencies",p=>{getSectionIDs("repeating_spells",c=>{let l={},u=[],h=[],m=[],w=[],A=[];_.each(o,b=>{u.push(`repeating_equipment_${b}_equipment_macro_text`)}),_.each(a,b=>{h.push(`repeating_weapon_${b}_weapon_macro_text`)}),_.each(t,b=>{m.push(`repeating_ability_${b}_ability_macro_text`)}),_.each(p,b=>{w.push(`repeating_nonweaponproficiencies_${b}_nwp_macro_text`)}),_.each(c,b=>{A.push(`repeating_spells_${b}_spell_macro_text`)}),s==="resetallmacros"&&(l.surprise_macro_text="",l.surprise_others_macro_text="",l.init_macro_text="",_.each(o,b=>{l[`repeating_equipment_${b}_equipment_macro_text`]=""}),_.each(a,b=>{l[`repeating_weapon_${b}_weapon_macro_text`]=""}),_.each(t,b=>{l[`repeating_ability_${b}_ability_macro_text`]=""}),_.each(p,b=>{l[`repeating_nonweaponproficiencies_${b}_nwp_macro_text`]=""}),_.each(c,b=>{l[`repeating_spells_${b}_spell_macro_text`]=""})),s==="resetequipmentmacros"&&_.each(o,b=>{l[`repeating_equipment_${b}_equipment_macro_text`]=""}),s==="resetweaponsmacros"&&_.each(a,b=>{l[`repeating_weapon_${b}_weapon_macro_text`]=""}),s==="resetabilitiesmacros"&&_.each(t,b=>{l[`repeating_ability_${b}_ability_macro_text`]=""}),s==="resetnwpsmacros"&&_.each(p,b=>{l[`repeating_nonweaponproficiencies_${b}_nwp_macro_text`]=""}),s==="resetspellsmacros"&&_.each(c,b=>{l[`repeating_spells_${b}_spell_macro_text`]=""}),setAttrs(l,{silent:!0})})})})})})});na=r=>{getAttrs(["pickpockets","pickpockets_base","pickpockets_racial_mod","pickpockets_ability_mod","pickpockets_magic"],n=>{let e={},s=+n.pickpockets_base||0,o=+n.pickpockets_racial_mod||0,a=+n.pickpockets_ability_mod||0,t=+n.pickpockets_magic||0,p=+n.pickpockets||0,c=Math.max(0,q(s+o+a+t));r===1&&p>=0&&c===0?e.pickpockets_base=p:e.pickpockets=c,setAttrs(e,{silent:!0})})};oa=r=>{getAttrs(["openlocks","openlocks_base","openlocks_racial_mod","openlocks_ability_mod","openlocks_magic"],n=>{let e={},s=+n.openlocks_base||0,o=+n.openlocks_racial_mod||0,a=+n.openlocks_ability_mod||0,t=+n.openlocks_magic||0,p=+n.openlocks||0,c=Math.max(0,Math.min(100,q(s+o+a+t)));r===1&&p>=0&&c===0?e.openlocks_base=p:e.openlocks=c,setAttrs(e,{silent:!0})})};Je=r=>{getAttrs(["findtraps","findtraps_base","findtraps_racial_mod","findtraps_ability_mod","findtraps_magic"],n=>{let e={},s=+n.findtraps_base||0,o=+n.findtraps_racial_mod||0,a=+n.findtraps_ability_mod||0,t=+n.findtraps_magic||0,p=+n.findtraps||0,c=Math.max(0,Math.min(100,q(s+o+a+t)));r===1&&p>=0&&c===0?e.findtraps_base=p:e.findtraps=c,setAttrs(e,{silent:!0})})};ta=r=>{getAttrs(["movequietly","movequietly_base","movequietly_racial_mod","movequietly_ability_mod","movequietly_magic"],n=>{let e={},s=+n.movequietly_base||0,o=+n.movequietly_racial_mod||0,a=+n.movequietly_ability_mod||0,t=+n.movequietly_magic||0,p=+n.movequietly||0,c=Math.max(0,Math.min(100,q(s+o+a+t)));r===1&&p>=0&&c===0?e.movequietly_base=p:e.movequietly=c,setAttrs(e,{silent:!0})})};ea=r=>{getAttrs(["hideinshadows","hideinshadows_base","hideinshadows_racial_mod","hideinshadows_ability_mod","hideinshadows_magic"],n=>{let e={},s=+n.hideinshadows_base||0,o=+n.hideinshadows_racial_mod||0,a=+n.hideinshadows_ability_mod||0,t=+n.hideinshadows_magic||0,p=+n.hideinshadows||0,c=Math.max(0,Math.min(100,q(s+o+a+t)));r===1&&p>=0&&c===0?e.hideinshadows_base=p:e.hideinshadows=c,setAttrs(e,{silent:!0})})};ve=r=>{getAttrs(["hearnoise","hearnoise_base","hearnoise_racial_mod","hearnoise_ability_mod","hearnoise_magic"],n=>{let e={},s=+n.hearnoise_base||0,o=+n.hearnoise_racial_mod||0,a=+n.hearnoise_ability_mod||0,t=+n.hearnoise_magic||0,p=+n.hearnoise||0,c=Math.max(0,Math.min(100,q(s+o+a+t)));r===1&&p>=0&&c===0?e.hearnoise_base=p:e.hearnoise=c,setAttrs(e,{silent:!0})})};Xe=r=>{getAttrs(["climbwalls","climbwalls_base","climbwalls_racial_mod","climbwalls_ability_mod","climbwalls_magic"],n=>{let e={},s=+n.climbwalls_base||0;s=s>=99.1?s.toFixed(1):Math.floor(s);let o=+n.climbwalls_racial_mod||0,a=+n.climbwalls_ability_mod||0,t=+n.climbwalls_magic||0,p=+n.climbwalls||0,c=Math.max(0,Math.min(100,s+q(o+a+t))),l="@{whisper_pc} &{template:general} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=Climb Walls}} {{roll_low=[[ 1d100 ]]%}} {{roll_target=[[ @{climbwalls} ]]%}}",u="@{whisper_pc} &{template:general} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=Climb Walls}} {{roll_low=[[ 1d100 + [[1d10/10]] ]]%}} {{roll_target=[[ @{climbwalls} ]]%}}";r===1?p>=0&&c===0?e.climbwalls_base=p:e.climbwalls=c:(e.climbwalls=c,e.climbwalls_macro_text=c>=99.1?u:l),setAttrs(e,{silent:!0})})};ra=r=>{getAttrs(["readlanguages","readlanguages_base","readlanguages_racial_mod","readlanguages_ability_mod","readlanguages_magic"],n=>{let e={},s=+n.readlanguages_base||0,o=+n.readlanguages_racial_mod||0,a=+n.readlanguages_ability_mod||0,t=+n.readlanguages_magic||0,p=+n.readlanguages||0,c=Math.max(0,Math.min(100,q(s+o+a+t)));r===1&&p>=0&&c===0?e.readlanguages_base=p:e.readlanguages=c,setAttrs(e,{silent:!0})})};ga=()=>{getAttrs(["thiefmisc","thiefmisc_base","thiefmisc_racial_mod","thiefmisc_ability_mod","thiefmisc_magic"],r=>{let n={},e=+r.thiefmisc_base||0,s=+r.thiefmisc_racial_mod||0,o=+r.thiefmisc_ability_mod||0,a=+r.thiefmisc_magic||0,t=Math.max(0,Math.min(100,q(e+s+o+a)));n.thiefmisc=t,setAttrs(n,{silent:!0})})};ha=()=>{getAttrs(["thiefmisc1","thiefmisc1_base","thiefmisc1_racial_mod","thiefmisc1_ability_mod","thiefmisc1_magic"],r=>{let n={},e=+r.thiefmisc1_base||0,s=+r.thiefmisc1_racial_mod||0,o=+r.thiefmisc1_ability_mod||0,a=+r.thiefmisc1_magic||0,t=Math.max(0,Math.min(100,q(e+s+o+a)));n.thiefmisc1=t,setAttrs(n,{silent:!0})})};ua=()=>{getAttrs(["thiefmisc2","thiefmisc2_base","thiefmisc2_racial_mod","thiefmisc2_ability_mod","thiefmisc2_magic"],r=>{let n={},e=+r.thiefmisc2_base||0,s=+r.thiefmisc2_racial_mod||0,o=+r.thiefmisc2_ability_mod||0,a=+r.thiefmisc2_magic||0,t=Math.max(0,Math.min(100,q(e+s+o+a)));n.thiefmisc2=t,setAttrs(n,{silent:!0})})};on("change:pickpockets_base change:pickpockets_racial_mod change:pickpockets_ability_mod change:pickpockets_magic",r=>{na()});on("change:openlocks_base change:openlocks_racial_mod change:openlocks_ability_mod change:openlocks_magic",r=>{oa()});on("change:findtraps_base change:findtraps_racial_mod change:findtraps_ability_mod change:findtraps_magic",r=>{Je()});on("change:movequietly_base change:movequietly_racial_mod change:movequietly_ability_mod change:movequietly_magic",r=>{ta()});on("change:hideinshadows_base change:hideinshadows_racial_mod change:hideinshadows_ability_mod change:hideinshadows_magic",r=>{ea()});on("change:hearnoise_base change:hearnoise_racial_mod change:hearnoise_ability_mod change:hearnoise_magic",r=>{ve()});on("change:climbwalls_base change:climbwalls_racial_mod change:climbwalls_ability_mod change:climbwalls_magic",r=>{Xe()});on("change:readlanguages_base change:readlanguages_racial_mod change:readlanguages_ability_mod change:readlanguages_magic",r=>{ra()});on("change:thiefmisc_base change:thiefmisc_racial_mod change:thiefmisc_ability_mod change:thiefmisc_magic",r=>{ga()});on("change:thiefmisc1_base change:thiefmisc1_racial_mod change:thiefmisc1_ability_mod change:thiefmisc1_magic",r=>{ha()});on("change:thiefmisc2_base change:thiefmisc2_racial_mod change:thiefmisc2_ability_mod change:thiefmisc2_magic",r=>{ua()});on("change:thief_level change:autofill_thief change:sync_thief_class change:thief_class_selected change:class change:secondclass change:thirdclass change:level change:level_2 change:level_3",r=>{getAttrs(["thief_level","autofill_thief","sync_thief_class","thief_class_selected","class","secondclass","thirdclass","level","level_2","level_3"],n=>{let e={},s=+n.autofill_thief,o=+n.sync_thief_class;if(!s)return;let a=+n.thief_class_selected,t=+n.thief_level||0,p=(n.class||"").trim(),c=(n.secondclass||"").trim(),l=(n.thirdclass||"").trim(),u=h=>{h===0&&(e.pickpockets_base=0,e.openlocks_base=0,e.findtraps_base=0,e.movequietly_base=0,e.hideinshadows_base=0,e.hearnoise_base=0,e.climbwalls_base=0,e.readlanguages_base=0),h===1&&(e.pickpockets_base=30,e.openlocks_base=25,e.findtraps_base=20,e.movequietly_base=15,e.hideinshadows_base=10,e.hearnoise_base=10,e.climbwalls_base=85,e.readlanguages_base=0),h===2&&(e.pickpockets_base=35,e.openlocks_base=29,e.findtraps_base=25,e.movequietly_base=21,e.hideinshadows_base=15,e.hearnoise_base=10,e.climbwalls_base=86,e.readlanguages_base=0),h===3&&(e.pickpockets_base=40,e.openlocks_base=33,e.findtraps_base=30,e.movequietly_base=27,e.hideinshadows_base=20,e.hearnoise_base=15,e.climbwalls_base=87,e.readlanguages_base=0),h===4&&(e.pickpockets_base=45,e.openlocks_base=37,e.findtraps_base=35,e.movequietly_base=33,e.hideinshadows_base=25,e.hearnoise_base=15,e.climbwalls_base=88,e.readlanguages_base=20),h===5&&(e.pickpockets_base=50,e.openlocks_base=42,e.findtraps_base=40,e.movequietly_base=40,e.hideinshadows_base=31,e.hearnoise_base=20,e.climbwalls_base=90,e.readlanguages_base=25),h===6&&(e.pickpockets_base=55,e.openlocks_base=47,e.findtraps_base=45,e.movequietly_base=47,e.hideinshadows_base=37,e.hearnoise_base=20,e.climbwalls_base=92,e.readlanguages_base=30),h===7&&(e.pickpockets_base=60,e.openlocks_base=52,e.findtraps_base=50,e.movequietly_base=55,e.hideinshadows_base=43,e.hearnoise_base=25,e.climbwalls_base=94,e.readlanguages_base=35),h===8&&(e.pickpockets_base=65,e.openlocks_base=57,e.findtraps_base=55,e.movequietly_base=62,e.hideinshadows_base=49,e.hearnoise_base=25,e.climbwalls_base=96,e.readlanguages_base=40),h===9&&(e.pickpockets_base=70,e.openlocks_base=62,e.findtraps_base=60,e.movequietly_base=70,e.hideinshadows_base=56,e.hearnoise_base=30,e.climbwalls_base=98,e.readlanguages_base=45),h===10&&(e.pickpockets_base=80,e.openlocks_base=67,e.findtraps_base=65,e.movequietly_base=78,e.hideinshadows_base=63,e.hearnoise_base=30,e.climbwalls_base=99,e.readlanguages_base=50),h===11&&(e.pickpockets_base=90,e.openlocks_base=72,e.findtraps_base=70,e.movequietly_base=86,e.hideinshadows_base=70,e.hearnoise_base=35,e.climbwalls_base=99.1,e.readlanguages_base=55),h===12&&(e.pickpockets_base=100,e.openlocks_base=77,e.findtraps_base=75,e.movequietly_base=94,e.hideinshadows_base=77,e.hearnoise_base=35,e.climbwalls_base=99.2,e.readlanguages_base=60),h===13&&(e.pickpockets_base=105,e.openlocks_base=82,e.findtraps_base=80,e.movequietly_base=99,e.hideinshadows_base=85,e.hearnoise_base=40,e.climbwalls_base=99.3,e.readlanguages_base=65),h===14&&(e.pickpockets_base=110,e.openlocks_base=87,e.findtraps_base=85,e.movequietly_base=99,e.hideinshadows_base=93,e.hearnoise_base=40,e.climbwalls_base=99.4,e.readlanguages_base=70),h===15&&(e.pickpockets_base=115,e.openlocks_base=92,e.findtraps_base=90,e.movequietly_base=99,e.hideinshadows_base=99,e.hearnoise_base=50,e.climbwalls_base=99.5,e.readlanguages_base=75),h===16&&(e.pickpockets_base=125,e.openlocks_base=97,e.findtraps_base=95,e.movequietly_base=99,e.hideinshadows_base=99,e.hearnoise_base=50,e.climbwalls_base=99.6,e.readlanguages_base=80),h===17&&(e.pickpockets_base=125,e.openlocks_base=99,e.findtraps_base=99,e.movequietly_base=99,e.hideinshadows_base=99,e.hearnoise_base=55,e.climbwalls_base=99.7,e.readlanguages_base=80),h>17&&(e.pickpockets_base=125,e.openlocks_base=99,e.findtraps_base=99,e.movequietly_base=99,e.hideinshadows_base=99,e.hearnoise_base=55,e.climbwalls_base=99.7,e.readlanguages_base=80)};o===1?a===1?(classSelected=te(p),t=+n.level,g(`Linked Class is: ${p} ${classSelected} Current Level:${n.level}`),e.thief_level=classSelected===4?t:0,u(t)):a===2?(classSelected=te(c),t=+n.level_2,g(`Linked Class is: ${c} ${classSelected} Current Level:${n.level_2}`),e.thief_level=classSelected===4?t:0,u(t)):a===3&&(classSelected=te(l),t=+n.level_3,g(`Linked Class is: ${l} ${classSelected} Current Level:${n.level_3}`),e.thief_level=classSelected===4?t:0,u(t)):u(t),setAttrs(e)})});sa=r=>{getAttrs(["saveparalysispoisondeath","saveparalysispoisondeath_base","saveparalysispoisondeath_racial_mod","saveparalysispoisondeath_ability_mod","saveparalysispoisondeath_misc_mod","saveparalysispoisondeath_temp_mod"],n=>{let e={},s=+n.saveparalysispoisondeath_base,o=+n.saveparalysispoisondeath_racial_mod,a=+n.saveparalysispoisondeath_ability_mod,t=+n.saveparalysispoisondeath_misc_mod,p=+n.saveparalysispoisondeath_temp_mod,c=+n.saveparalysispoisondeath||0,l=q(s+o+a+t+p);r===1&&c<=20&&l===20?e.saveparalysispoisondeath_base=c:e.saveparalysispoisondeath=l,setAttrs(e,{silent:!0})})};ia=r=>{getAttrs(["savepetrificationpolymorph","savepetrificationpolymorph_base","savepetrificationpolymorph_racial_mod","savepetrificationpolymorph_ability_mod","savepetrificationpolymorph_misc_mod","savepetrificationpolymorph_temp_mod"],n=>{let e={},s=+n.savepetrificationpolymorph_base,o=+n.savepetrificationpolymorph_racial_mod,a=+n.savepetrificationpolymorph_ability_mod,t=+n.savepetrificationpolymorph_misc_mod,p=+n.savepetrificationpolymorph_temp_mod,c=+n.savepetrificationpolymorph||0,l=q(s+o+a+t+p);r===1&&c<=20&&l===20?e.savepetrificationpolymorph_base=c:e.savepetrificationpolymorph=l,setAttrs(e,{silent:!0})})};pa=r=>{getAttrs(["saverodsstaveswands","saverodsstaveswands_base","saverodsstaveswands_racial_mod","saverodsstaveswands_ability_mod","saverodsstaveswands_misc_mod","saverodsstaveswands_temp_mod"],n=>{let e={},s=+n.saverodsstaveswands_base,o=+n.saverodsstaveswands_racial_mod,a=+n.saverodsstaveswands_ability_mod,t=+n.saverodsstaveswands_misc_mod,p=+n.saverodsstaveswands_temp_mod,c=+n.saverodsstaveswands||0,l=q(s+o+a+t+p);r===1&&c<=20&&l===20?e.saverodsstaveswands_base=c:e.saverodsstaveswands=l,setAttrs(e,{silent:!0})})};_a=r=>{getAttrs(["savebreathweapons","savebreathweapons_base","savebreathweapons_racial_mod","savebreathweapons_ability_mod","savebreathweapons_misc_mod","savebreathweapons_temp_mod"],n=>{let e={},s=+n.savebreathweapons_base,o=+n.savebreathweapons_racial_mod,a=+n.savebreathweapons_ability_mod,t=+n.savebreathweapons_misc_mod,p=+n.savebreathweapons_temp_mod,c=+n.savebreathweapons||0,l=q(s+o+a+t+p);r===1&&c<=20&&l===20?e.savebreathweapons_base=c:e.savebreathweapons=l,setAttrs(e,{silent:!0})})};ca=r=>{getAttrs(["savespells","savespells_base","savespells_racial_mod","savespells_ability_mod","savespells_misc_mod","savespells_temp_mod"],n=>{let e={},s=+n.savespells_base,o=+n.savespells_racial_mod,a=+n.savespells_ability_mod,t=+n.savespells_misc_mod,p=+n.savespells_temp_mod,c=+n.savespells||0,l=q(s+o+a+t+p);r===1&&c<=20&&l===20?e.savespells_base=c:e.savespells=l,setAttrs(e,{silent:!0})})};Wa=()=>{getAttrs(["savemisc","savemisc_base","savemisc_racial_mod","savemisc_ability_mod","savemisc_misc_mod","savemisc_temp_mod"],r=>{let n={},e=+r.savemisc_base,s=+r.savemisc_racial_mod,o=+r.savemisc_ability_mod,a=+r.savemisc_misc_mod,t=+r.savemisc_temp_mod,p=q(e+s+o+a+t);n.savemisc=p,setAttrs(n,{silent:!0})})};Ua=()=>{getAttrs(["savemisc1","savemisc1_base","savemisc1_racial_mod","savemisc1_ability_mod","savemisc1_misc_mod","savemisc1_temp_mod"],r=>{let n={},e=+r.savemisc1_base,s=+r.savemisc1_racial_mod,o=+r.savemisc1_ability_mod,a=+r.savemisc1_misc_mod,t=+r.savemisc1_temp_mod,p=q(e+s+o+a+t);n.savemisc1=p,setAttrs(n,{silent:!0})})};Ha=()=>{getAttrs(["savemisc2","savemisc2_base","savemisc2_racial_mod","savemisc2_ability_mod","savemisc2_misc_mod","savemisc2_temp_mod"],r=>{let n={},e=+r.savemisc2_base,s=+r.savemisc2_racial_mod,o=+r.savemisc2_ability_mod,a=+r.savemisc2_misc_mod,t=+r.savemisc2_temp_mod,p=q(e+s+o+a+t);n.savemisc2=p,setAttrs(n,{silent:!0})})};on("change:saveparalysispoisondeath_base change:saveparalysispoisondeath_racial_mod change:saveparalysispoisondeath_ability_mod change:saveparalysispoisondeath_misc_mod change:saveparalysispoisondeath_temp_mod",r=>{sa()});on("change:savepetrificationpolymorph_base change:savepetrificationpolymorph_racial_mod change:savepetrificationpolymorph_ability_mod change:savepetrificationpolymorph_misc_mod change:savepetrificationpolymorph_temp_mod",r=>{ia()});on("change:saverodsstaveswands_base change:saverodsstaveswands_racial_mod change:saverodsstaveswands_ability_mod change:saverodsstaveswands_misc_mod change:saverodsstaveswands_temp_mod",r=>{pa()});on("change:savebreathweapons_base change:savebreathweapons_racial_mod change:savebreathweapons_ability_mod change:savebreathweapons_misc_mod change:savebreathweapons_temp_mod",r=>{_a()});on("change:savespells_base change:savespells_racial_mod change:savespells_ability_mod change:savespells_misc_mod change:savespells_temp_mod",r=>{ca()});on("change:savemisc_base change:savemisc_racial_mod change:savemisc_ability_mod change:savemisc_misc_mod change:savemisc_temp_mod",r=>{Wa()});on("change:savemisc1_base change:savemisc1_racial_mod change:savemisc1_ability_mod change:savemisc1_misc_mod change:savemisc1_temp_mod",r=>{Ua()});on("change:savemisc2_base change:savemisc2_racial_mod change:savemisc2_ability_mod change:savemisc2_misc_mod change:savemisc2_temp_mod",r=>{Ha()});on("change:saves_class change:saves_level change:autofill_saves",r=>{g(`Saves Autofill Change Detected:${r.sourceAttribute}`),getAttrs(["saves_class","saves_level","autofill_saves"],n=>{let e={};if(!+n.autofill_saves)return;let o=+n.saves_class,a=+n.saves_level||0;g(`Class:${o} Level:${a}`),o!==0&&(o===1&&(a===0||(a<4?(e.saveparalysispoisondeath_base=10,e.savepetrificationpolymorph_base=13,e.saverodsstaveswands_base=14,e.savebreathweapons_base=16,e.savespells_base=15):a<7?(e.saveparalysispoisondeath_base=9,e.savepetrificationpolymorph_base=12,e.saverodsstaveswands_base=13,e.savebreathweapons_base=15,e.savespells_base=14):a<10?(e.saveparalysispoisondeath_base=7,e.savepetrificationpolymorph_base=10,e.saverodsstaveswands_base=11,e.savebreathweapons_base=13,e.savespells_base=12):a<13?(e.saveparalysispoisondeath_base=6,e.savepetrificationpolymorph_base=9,e.saverodsstaveswands_base=10,e.savebreathweapons_base=12,e.savespells_base=11):a<16?(e.saveparalysispoisondeath_base=5,e.savepetrificationpolymorph_base=8,e.saverodsstaveswands_base=9,e.savebreathweapons_base=11,e.savespells_base=10):a<19?(e.saveparalysispoisondeath_base=4,e.savepetrificationpolymorph_base=7,e.saverodsstaveswands_base=8,e.savebreathweapons_base=10,e.savespells_base=9):a>=19&&(e.saveparalysispoisondeath_base=2,e.savepetrificationpolymorph_base=5,e.saverodsstaveswands_base=6,e.savebreathweapons_base=8,e.savespells_base=7))),o===2&&(a===0||(a<4?(e.saveparalysispoisondeath_base=10,e.savepetrificationpolymorph_base=13,e.saverodsstaveswands_base=14,e.savebreathweapons_base=16,e.savespells_base=15):a<7?(e.saveparalysispoisondeath_base=9,e.savepetrificationpolymorph_base=12,e.saverodsstaveswands_base=13,e.savebreathweapons_base=15,e.savespells_base=14):a<10?(e.saveparalysispoisondeath_base=7,e.savepetrificationpolymorph_base=10,e.saverodsstaveswands_base=11,e.savebreathweapons_base=13,e.savespells_base=12):a<13?(e.saveparalysispoisondeath_base=6,e.savepetrificationpolymorph_base=9,e.saverodsstaveswands_base=10,e.savebreathweapons_base=12,e.savespells_base=11):(a<16||a>=16)&&(e.saveparalysispoisondeath_base=5,e.savepetrificationpolymorph_base=8,e.saverodsstaveswands_base=9,e.savebreathweapons_base=11,e.savespells_base=10))),(o===3||o===8)&&(a===0?(e.saveparalysispoisondeath_base=16,e.savepetrificationpolymorph_base=17,e.saverodsstaveswands_base=18,e.savebreathweapons_base=20,e.savespells_base=19):a<3?(e.saveparalysispoisondeath_base=14,e.savepetrificationpolymorph_base=15,e.saverodsstaveswands_base=16,e.savebreathweapons_base=17,e.savespells_base=17):a<5?(e.saveparalysispoisondeath_base=13,e.savepetrificationpolymorph_base=14,e.saverodsstaveswands_base=15,e.savebreathweapons_base=16,e.savespells_base=16):a<7?(e.saveparalysispoisondeath_base=11,e.savepetrificationpolymorph_base=12,e.saverodsstaveswands_base=13,e.savebreathweapons_base=13,e.savespells_base=14):a<9?(e.saveparalysispoisondeath_base=10,e.savepetrificationpolymorph_base=11,e.saverodsstaveswands_base=12,e.savebreathweapons_base=12,e.savespells_base=13):a<11?(e.saveparalysispoisondeath_base=8,e.savepetrificationpolymorph_base=9,e.saverodsstaveswands_base=10,e.savebreathweapons_base=9,e.savespells_base=11):a<13?(e.saveparalysispoisondeath_base=7,e.savepetrificationpolymorph_base=8,e.saverodsstaveswands_base=9,e.savebreathweapons_base=8,e.savespells_base=10):a<15?(e.saveparalysispoisondeath_base=5,e.savepetrificationpolymorph_base=6,e.saverodsstaveswands_base=7,e.savebreathweapons_base=5,e.savespells_base=8):a<17?(e.saveparalysispoisondeath_base=4,e.savepetrificationpolymorph_base=5,e.saverodsstaveswands_base=6,e.savebreathweapons_base=4,e.savespells_base=7):a>=17&&(e.saveparalysispoisondeath_base=3,e.savepetrificationpolymorph_base=4,e.saverodsstaveswands_base=5,e.savebreathweapons_base=4,e.savespells_base=6)),o===4&&(a===0||(a<6?(e.saveparalysispoisondeath_base=14,e.savepetrificationpolymorph_base=13,e.saverodsstaveswands_base=11,e.savebreathweapons_base=15,e.savespells_base=12):a<11?(e.saveparalysispoisondeath_base=13,e.savepetrificationpolymorph_base=11,e.saverodsstaveswands_base=9,e.savebreathweapons_base=13,e.savespells_base=10):a<16?(e.saveparalysispoisondeath_base=11,e.savepetrificationpolymorph_base=9,e.saverodsstaveswands_base=7,e.savebreathweapons_base=11,e.savespells_base=8):a<21?(e.saveparalysispoisondeath_base=10,e.savepetrificationpolymorph_base=7,e.saverodsstaveswands_base=5,e.savebreathweapons_base=9,e.savespells_base=6):a>=21&&(e.saveparalysispoisondeath_base=8,e.savepetrificationpolymorph_base=5,e.saverodsstaveswands_base=3,e.savebreathweapons_base=7,e.savespells_base=4))),o===5&&(a===0||(a<5?(e.saveparalysispoisondeath_base=13,e.savepetrificationpolymorph_base=12,e.saverodsstaveswands_base=14,e.savebreathweapons_base=16,e.savespells_base=15):a<9?(e.saveparalysispoisondeath_base=12,e.savepetrificationpolymorph_base=11,e.saverodsstaveswands_base=12,e.savebreathweapons_base=15,e.savespells_base=13):a<13?(e.saveparalysispoisondeath_base=11,e.savepetrificationpolymorph_base=10,e.saverodsstaveswands_base=10,e.savebreathweapons_base=14,e.savespells_base=11):a<17?(e.saveparalysispoisondeath_base=10,e.savepetrificationpolymorph_base=9,e.saverodsstaveswands_base=8,e.savebreathweapons_base=13,e.savespells_base=9):a<21?(e.saveparalysispoisondeath_base=9,e.savepetrificationpolymorph_base=8,e.saverodsstaveswands_base=6,e.savebreathweapons_base=12,e.savespells_base=7):a>=21&&(e.saveparalysispoisondeath_base=8,e.savepetrificationpolymorph_base=7,e.saverodsstaveswands_base=4,e.savebreathweapons_base=11,e.savespells_base=5))),o===6&&(a===0||(a<5?(e.saveparalysispoisondeath_base=13,e.savepetrificationpolymorph_base=12,e.saverodsstaveswands_base=14,e.savebreathweapons_base=16,e.savespells_base=15):a<9?(e.saveparalysispoisondeath_base=12,e.savepetrificationpolymorph_base=11,e.saverodsstaveswands_base=12,e.savebreathweapons_base=15,e.savespells_base=13):a<13?(e.saveparalysispoisondeath_base=11,e.savepetrificationpolymorph_base=10,e.saverodsstaveswands_base=10,e.savebreathweapons_base=14,e.savespells_base=11):a<17?(e.saveparalysispoisondeath_base=10,e.savepetrificationpolymorph_base=9,e.saverodsstaveswands_base=8,e.savebreathweapons_base=13,e.savespells_base=9):a>=17&&(e.saveparalysispoisondeath_base=9,e.savepetrificationpolymorph_base=8,e.saverodsstaveswands_base=6,e.savebreathweapons_base=12,e.savespells_base=7))),o===7&&(a===0||(a<5?(e.saveparalysispoisondeath_base=13,e.savepetrificationpolymorph_base=12,e.saverodsstaveswands_base=14,e.savebreathweapons_base=16,e.savespells_base=15):a<9?(e.saveparalysispoisondeath_base=12,e.savepetrificationpolymorph_base=11,e.saverodsstaveswands_base=12,e.savebreathweapons_base=15,e.savespells_base=13):a<13?(e.saveparalysispoisondeath_base=11,e.savepetrificationpolymorph_base=10,e.saverodsstaveswands_base=10,e.savebreathweapons_base=14,e.savespells_base=11):(a<16||a>=16)&&(e.saveparalysispoisondeath_base=10,e.savepetrificationpolymorph_base=9,e.saverodsstaveswands_base=8,e.savebreathweapons_base=13,e.savespells_base=9))),setAttrs(e))})});on("change:matrix_class",r=>{getAttrs(["matrix_class"],n=>{let e={},s=+n.matrix_class;e.toggle_matrixhd=s===5?1:0,setAttrs(e,{silent:!0})})});function te(r){let n=r.trim().toLowerCase();return/cleric|druid|monk/.test(n)?1:/fighter|paladin|ranger|bard|cavalier|barbarian/.test(n)?2:/magic-user|illusionist|magic|mage|wizard/.test(n)?3:/thief|assassin|rogue|thief-acrobat|acrobat/.test(n)?4:99}function Ka(){getAttrs(["thac00","autofill_matrix"],r=>{let n={};if(!+r.autofill_matrix)return;let s=+r.thac00;n["thac0-10"]=s+10,n["thac0-9"]=s+9,n["thac0-8"]=s+8,n["thac0-7"]=s+7,n["thac0-6"]=s+6,n["thac0-5"]=s+5,n["thac0-4"]=s+4,n["thac0-3"]=s+3,n["thac0-2"]=s+2,n["thac0-1"]=s+1,n.thac01=s-1,n.thac02=s-2,n.thac03=s-3,n.thac04=s-4,n.thac05=s-5,n.thac06=s-6,n.thac07=s-7,n.thac08=s-8,n.thac09=s-9,n.thac010=s-10,setAttrs(n,{silent:!0})})}on("change:matrix_class change:matrix_level change:matrix_hitdice change:autofill_matrix change:sync_matrix_class change:toggle_fighter5 change:class_selected change:class change:secondclass change:thirdclass change:level change:level_2 change:level_3",r=>{getAttrs(["matrix_class","matrix_level","matrix_hitdice","autofill_matrix","toggle_fighter5","sync_matrix_class","class_selected","class","secondclass","thirdclass","level","level_2","level_3"],n=>{let e={},s=+n.autofill_matrix,o=+n.sync_matrix_class;if(!s)return;let a=+n.class_selected,t=+n.matrix_level||0,p=+n.matrix_class,c=(n.class||"").trim(),l=(n.secondclass||"").trim(),u=(n.thirdclass||"").trim(),h=+n.matrix_hitdice||0,m=+n.toggle_fighter5;o===1&&(a===1&&(p=te(c),t=+n.level,e.matrix_level=t,e.matrix_class=p),a===2&&(p=te(l),t=+n.level_2,e.matrix_level=t,e.matrix_class=p),a===3&&(p=te(u),t=+n.level_3,e.matrix_level=t,e.matrix_class=p)),p!==0&&(p===1&&(t===0||(t<4?(e["thac-10"]=25,e["thac-9"]=24,e["thac-8"]=23,e["thac-7"]=22,e["thac-6"]=21,e["thac-5"]=20,e["thac-4"]=20,e["thac-3"]=20,e["thac-2"]=20,e["thac-1"]=20,e.thac00=20,e.thac0=20,e.thac1=19,e.thac2=18,e.thac3=17,e.thac4=16,e.thac5=15,e.thac6=14,e.thac7=13,e.thac8=12,e.thac9=11,e.thac10=10):t<7?(e["thac-10"]=23,e["thac-9"]=22,e["thac-8"]=21,e["thac-7"]=20,e["thac-6"]=20,e["thac-5"]=20,e["thac-4"]=20,e["thac-3"]=20,e["thac-2"]=20,e["thac-1"]=19,e.thac00=18,e.thac0=18,e.thac1=17,e.thac2=16,e.thac3=15,e.thac4=14,e.thac5=13,e.thac6=12,e.thac7=11,e.thac8=10,e.thac9=9,e.thac10=8):t<10?(e["thac-10"]=21,e["thac-9"]=20,e["thac-8"]=20,e["thac-7"]=20,e["thac-6"]=20,e["thac-5"]=20,e["thac-4"]=20,e["thac-3"]=19,e["thac-2"]=18,e["thac-1"]=17,e.thac00=16,e.thac0=16,e.thac1=15,e.thac2=14,e.thac3=13,e.thac4=12,e.thac5=11,e.thac6=10,e.thac7=9,e.thac8=8,e.thac9=7,e.thac10=6):t<13?(e["thac-10"]=20,e["thac-9"]=20,e["thac-8"]=20,e["thac-7"]=20,e["thac-6"]=20,e["thac-5"]=19,e["thac-4"]=18,e["thac-3"]=17,e["thac-2"]=16,e["thac-1"]=15,e.thac00=14,e.thac0=14,e.thac1=13,e.thac2=12,e.thac3=11,e.thac4=10,e.thac5=9,e.thac6=8,e.thac7=7,e.thac8=6,e.thac9=5,e.thac10=4):t<16?(e["thac-10"]=20,e["thac-9"]=20,e["thac-8"]=20,e["thac-7"]=19,e["thac-6"]=18,e["thac-5"]=17,e["thac-4"]=16,e["thac-3"]=15,e["thac-2"]=14,e["thac-1"]=13,e.thac00=12,e.thac0=12,e.thac1=11,e.thac2=10,e.thac3=9,e.thac4=8,e.thac5=7,e.thac6=6,e.thac7=5,e.thac8=4,e.thac9=3,e.thac10=2):t<19?(e["thac-10"]=20,e["thac-9"]=19,e["thac-8"]=18,e["thac-7"]=17,e["thac-6"]=16,e["thac-5"]=15,e["thac-4"]=14,e["thac-3"]=13,e["thac-2"]=12,e["thac-1"]=11,e.thac00=10,e.thac0=10,e.thac1=9,e.thac2=8,e.thac3=7,e.thac4=6,e.thac5=5,e.thac6=4,e.thac7=3,e.thac8=2,e.thac9=1,e.thac10=0):t>=19&&(e["thac-10"]=19,e["thac-9"]=18,e["thac-8"]=17,e["thac-7"]=16,e["thac-6"]=15,e["thac-5"]=14,e["thac-4"]=13,e["thac-3"]=12,e["thac-2"]=11,e["thac-1"]=10,e.thac00=9,e.thac0=9,e.thac1=8,e.thac2=7,e.thac3=6,e.thac4=5,e.thac5=4,e.thac6=3,e.thac7=2,e.thac8=1,e.thac9=0,e.thac10=-1)),e.attack_matrix_flag=0),(p===2||p===6)&&(t===0?(e["thac-10"]=26,e["thac-9"]=25,e["thac-8"]=24,e["thac-7"]=23,e["thac-6"]=22,e["thac-5"]=21,e["thac-4"]=20,e["thac-3"]=20,e["thac-2"]=20,e["thac-1"]=20,e.thac00=20,e.thac0=20,e.thac1=20,e.thac2=19,e.thac3=18,e.thac4=17,e.thac5=16,e.thac6=15,e.thac7=14,e.thac8=13,e.thac9=12,e.thac10=11):t<3?(e["thac-10"]=25-m,e["thac-9"]=24-m,e["thac-8"]=23-m,e["thac-7"]=22-m,e["thac-6"]=21-m,e["thac-5"]=20,e["thac-4"]=20,e["thac-3"]=20,e["thac-2"]=20,e["thac-1"]=20,e.thac00=20-m,e.thac0=20-m,e.thac1=19-m,e.thac2=18-m,e.thac3=17-m,e.thac4=16-m,e.thac5=15-m,e.thac6=14-m,e.thac7=13-m,e.thac8=12-m,e.thac9=11-m,e.thac10=10-m):t<5?(e["thac-10"]=23-m,e["thac-9"]=22-m,e["thac-8"]=21-m,e["thac-7"]=20,e["thac-6"]=20,e["thac-5"]=20,e["thac-4"]=20,e["thac-3"]=20,e["thac-2"]=20-m,e["thac-1"]=19-m,e.thac00=18-m,e.thac0=18-m,e.thac1=17-m,e.thac2=16-m,e.thac3=15-m,e.thac4=14-m,e.thac5=13-m,e.thac6=12-m,e.thac7=11-m,e.thac8=10-m,e.thac9=9-m,e.thac10=8-m):t<7?(e["thac-10"]=21-m,e["thac-9"]=20,e["thac-8"]=20,e["thac-7"]=20,e["thac-6"]=20,e["thac-5"]=20,e["thac-4"]=20-m,e["thac-3"]=19-m,e["thac-2"]=18-m,e["thac-1"]=17-m,e.thac00=16-m,e.thac0=16-m,e.thac1=15-m,e.thac2=14-m,e.thac3=13-m,e.thac4=12-m,e.thac5=11-m,e.thac6=10-m,e.thac7=9-m,e.thac8=8-m,e.thac9=7-m,e.thac10=6-m):t<9?(e["thac-10"]=20,e["thac-9"]=20,e["thac-8"]=20,e["thac-7"]=20,e["thac-6"]=20-m,e["thac-5"]=19-m,e["thac-4"]=18-m,e["thac-3"]=17-m,e["thac-2"]=16-m,e["thac-1"]=15-m,e.thac00=14-m,e.thac0=14-m,e.thac1=13-m,e.thac2=12-m,e.thac3=11-m,e.thac4=10-m,e.thac5=9-m,e.thac6=8-m,e.thac7=7-m,e.thac8=6-m,e.thac9=5-m,e.thac10=4-m):t<11?(e["thac-10"]=20,e["thac-9"]=20,e["thac-8"]=20-m,e["thac-7"]=19-m,e["thac-6"]=18-m,e["thac-5"]=17-m,e["thac-4"]=16-m,e["thac-3"]=15-m,e["thac-2"]=14-m,e["thac-1"]=13-m,e.thac00=12-m,e.thac0=12-m,e.thac1=11-m,e.thac2=10-m,e.thac3=9-m,e.thac4=8-m,e.thac5=7-m,e.thac6=6-m,e.thac7=5-m,e.thac8=4-m,e.thac9=3-m,e.thac10=2-m):t<13?(e["thac-10"]=20-m,e["thac-9"]=19-m,e["thac-8"]=18-m,e["thac-7"]=17-m,e["thac-6"]=16-m,e["thac-5"]=15-m,e["thac-4"]=14-m,e["thac-3"]=13-m,e["thac-2"]=12-m,e["thac-1"]=11-m,e.thac00=10-m,e.thac0=10-m,e.thac1=9-m,e.thac2=8-m,e.thac3=7-m,e.thac4=6-m,e.thac5=5-m,e.thac6=4-m,e.thac7=3-m,e.thac8=2-m,e.thac9=1-m,e.thac10=0-m):t<15?(e["thac-10"]=18-m,e["thac-9"]=17-m,e["thac-8"]=16-m,e["thac-7"]=15-m,e["thac-6"]=14-m,e["thac-5"]=13-m,e["thac-4"]=12-m,e["thac-3"]=11-m,e["thac-2"]=10-m,e["thac-1"]=9-m,e.thac00=8-m,e.thac0=8-m,e.thac1=7-m,e.thac2=6-m,e.thac3=5-m,e.thac4=4-m,e.thac5=3-m,e.thac6=2-m,e.thac7=1-m,e.thac8=0-m,e.thac9=-1-m,e.thac10=-2-m):t<17?(e["thac-10"]=16-m,e["thac-9"]=15-m,e["thac-8"]=14-m,e["thac-7"]=13-m,e["thac-6"]=12-m,e["thac-5"]=11-m,e["thac-4"]=10-m,e["thac-3"]=9-m,e["thac-2"]=8-m,e["thac-1"]=7-m,e.thac00=6-m,e.thac0=6-m,e.thac1=5-m,e.thac2=4-m,e.thac3=3-m,e.thac4=2-m,e.thac5=1-m,e.thac6=0-m,e.thac7=-1-m,e.thac8=-2-m,e.thac9=-3-m,e.thac10=-4-m):t>=17&&(e["thac-10"]=14-m,e["thac-9"]=13-m,e["thac-8"]=12-m,e["thac-7"]=11-m,e["thac-6"]=10-m,e["thac-5"]=9-m,e["thac-4"]=8-m,e["thac-3"]=7-m,e["thac-2"]=6-m,e["thac-1"]=5-m,e.thac00=4-m,e.thac0=4-m,e.thac1=3-m,e.thac2=2-m,e.thac3=1-m,e.thac4=0-m,e.thac5=-1-m,e.thac6=-2-m,e.thac7=-3-m,e.thac8=-4-m,e.thac9=-5-m,e.thac10=-6-m),e.attack_matrix_flag=0),p===3&&(t===0||(t<6?(e["thac-10"]=26,e["thac-9"]=25,e["thac-8"]=24,e["thac-7"]=23,e["thac-6"]=22,e["thac-5"]=21,e["thac-4"]=20,e["thac-3"]=20,e["thac-2"]=20,e["thac-1"]=20,e.thac00=20,e.thac0=20,e.thac1=20,e.thac2=19,e.thac3=18,e.thac4=17,e.thac5=16,e.thac6=15,e.thac7=14,e.thac8=13,e.thac9=12,e.thac10=11):t<11?(e["thac-10"]=24,e["thac-9"]=23,e["thac-8"]=22,e["thac-7"]=21,e["thac-6"]=20,e["thac-5"]=20,e["thac-4"]=20,e["thac-3"]=20,e["thac-2"]=20,e["thac-1"]=20,e.thac00=19,e.thac0=19,e.thac1=18,e.thac2=17,e.thac3=16,e.thac4=15,e.thac5=14,e.thac6=13,e.thac7=12,e.thac8=11,e.thac9=10,e.thac10=9):t<16?(e["thac-10"]=21,e["thac-9"]=20,e["thac-8"]=20,e["thac-7"]=20,e["thac-6"]=20,e["thac-5"]=20,e["thac-4"]=20,e["thac-3"]=19,e["thac-2"]=18,e["thac-1"]=17,e.thac00=16,e.thac0=16,e.thac1=15,e.thac2=14,e.thac3=13,e.thac4=12,e.thac5=11,e.thac6=10,e.thac7=9,e.thac8=8,e.thac9=7,e.thac10=6):t<21?(e["thac-10"]=20,e["thac-9"]=20,e["thac-8"]=20,e["thac-7"]=20,e["thac-6"]=19,e["thac-5"]=18,e["thac-4"]=17,e["thac-3"]=16,e["thac-2"]=15,e["thac-1"]=14,e.thac00=13,e.thac0=13,e.thac1=12,e.thac2=11,e.thac3=10,e.thac4=9,e.thac5=8,e.thac6=7,e.thac7=6,e.thac8=5,e.thac9=4,e.thac10=3):t>=21&&(e["thac-10"]=20,e["thac-9"]=20,e["thac-8"]=19,e["thac-7"]=18,e["thac-6"]=17,e["thac-5"]=16,e["thac-4"]=15,e["thac-3"]=14,e["thac-2"]=13,e["thac-1"]=12,e.thac00=11,e.thac0=11,e.thac1=10,e.thac2=9,e.thac3=8,e.thac4=7,e.thac5=6,e.thac6=5,e.thac7=4,e.thac8=3,e.thac9=2,e.thac10=1)),e.attack_matrix_flag=0),p===4&&(t===0||(t<5?(e["thac-10"]=26,e["thac-9"]=25,e["thac-8"]=24,e["thac-7"]=23,e["thac-6"]=22,e["thac-5"]=21,e["thac-4"]=20,e["thac-3"]=20,e["thac-2"]=20,e["thac-1"]=20,e.thac00=20,e.thac0=20,e.thac1=20,e.thac2=19,e.thac3=18,e.thac4=17,e.thac5=16,e.thac6=15,e.thac7=14,e.thac8=13,e.thac9=12,e.thac10=11):t<9?(e["thac-10"]=24,e["thac-9"]=23,e["thac-8"]=22,e["thac-7"]=21,e["thac-6"]=20,e["thac-5"]=20,e["thac-4"]=20,e["thac-3"]=20,e["thac-2"]=20,e["thac-1"]=20,e.thac00=19,e.thac0=19,e.thac1=18,e.thac2=17,e.thac3=16,e.thac4=15,e.thac5=14,e.thac6=13,e.thac7=12,e.thac8=11,e.thac9=10,e.thac10=9):t<13?(e["thac-10"]=21,e["thac-9"]=20,e["thac-8"]=20,e["thac-7"]=20,e["thac-6"]=20,e["thac-5"]=20,e["thac-4"]=20,e["thac-3"]=19,e["thac-2"]=18,e["thac-1"]=17,e.thac00=16,e.thac0=16,e.thac1=15,e.thac2=14,e.thac3=13,e.thac4=12,e.thac5=11,e.thac6=10,e.thac7=9,e.thac8=8,e.thac9=7,e.thac10=6):t<17?(e["thac-10"]=20,e["thac-9"]=20,e["thac-8"]=20,e["thac-7"]=20,e["thac-6"]=20,e["thac-5"]=19,e["thac-4"]=18,e["thac-3"]=17,e["thac-2"]=16,e["thac-1"]=15,e.thac00=14,e.thac0=14,e.thac1=13,e.thac2=12,e.thac3=11,e.thac4=10,e.thac5=9,e.thac6=8,e.thac7=7,e.thac8=6,e.thac9=5,e.thac10=4):t<21?(e["thac-10"]=20,e["thac-9"]=20,e["thac-8"]=20,e["thac-7"]=19,e["thac-6"]=18,e["thac-5"]=17,e["thac-4"]=16,e["thac-3"]=15,e["thac-2"]=14,e["thac-1"]=13,e.thac00=12,e.thac0=12,e.thac1=11,e.thac2=10,e.thac3=9,e.thac4=8,e.thac5=7,e.thac6=6,e.thac7=5,e.thac8=4,e.thac9=3,e.thac10=2):t>=21&&(e["thac-10"]=20,e["thac-9"]=19,e["thac-8"]=18,e["thac-7"]=17,e["thac-6"]=16,e["thac-5"]=15,e["thac-4"]=14,e["thac-3"]=13,e["thac-2"]=12,e["thac-1"]=11,e.thac00=10,e.thac0=10,e.thac1=9,e.thac2=8,e.thac3=7,e.thac4=6,e.thac5=5,e.thac6=4,e.thac7=3,e.thac8=2,e.thac9=1,e.thac10=0)),e.attack_matrix_flag=0),p===5&&(h===0||(h===1?(e["thac-10"]=26,e["thac-9"]=25,e["thac-8"]=24,e["thac-7"]=23,e["thac-6"]=22,e["thac-5"]=21,e["thac-4"]=20,e["thac-3"]=20,e["thac-2"]=20,e["thac-1"]=20,e.thac00=20,e.thac0=20,e.thac1=20,e.thac2=19,e.thac3=18,e.thac4=17,e.thac5=16,e.thac6=15,e.thac7=14,e.thac8=13,e.thac9=12,e.thac10=11):h===2?(e["thac-10"]=25,e["thac-9"]=24,e["thac-8"]=23,e["thac-7"]=22,e["thac-6"]=21,e["thac-5"]=20,e["thac-4"]=20,e["thac-3"]=20,e["thac-2"]=20,e["thac-1"]=20,e.thac00=20,e.thac0=20,e.thac1=19,e.thac2=18,e.thac3=17,e.thac4=16,e.thac5=15,e.thac6=14,e.thac7=13,e.thac8=12,e.thac9=11,e.thac10=10):h===3?(e["thac-10"]=24,e["thac-9"]=23,e["thac-8"]=22,e["thac-7"]=21,e["thac-6"]=20,e["thac-5"]=20,e["thac-4"]=20,e["thac-3"]=20,e["thac-2"]=20,e["thac-1"]=20,e.thac00=19,e.thac0=19,e.thac1=18,e.thac2=17,e.thac3=16,e.thac4=15,e.thac5=14,e.thac6=13,e.thac7=12,e.thac8=11,e.thac9=10,e.thac10=9):h===4?(e["thac-10"]=23,e["thac-9"]=22,e["thac-8"]=21,e["thac-7"]=20,e["thac-6"]=20,e["thac-5"]=20,e["thac-4"]=20,e["thac-3"]=20,e["thac-2"]=20,e["thac-1"]=19,e.thac00=18,e.thac0=18,e.thac1=17,e.thac2=16,e.thac3=15,e.thac4=14,e.thac5=13,e.thac6=12,e.thac7=11,e.thac8=10,e.thac9=9,e.thac10=8):h===5?(e["thac-10"]=21,e["thac-9"]=20,e["thac-8"]=20,e["thac-7"]=20,e["thac-6"]=20,e["thac-5"]=20,e["thac-4"]=20,e["thac-3"]=19,e["thac-2"]=18,e["thac-1"]=17,e.thac00=16,e.thac0=16,e.thac1=15,e.thac2=14,e.thac3=13,e.thac4=12,e.thac5=11,e.thac6=10,e.thac7=9,e.thac8=8,e.thac9=7,e.thac10=6):h===6?(e["thac-10"]=20,e["thac-9"]=20,e["thac-8"]=20,e["thac-7"]=20,e["thac-6"]=20,e["thac-5"]=20,e["thac-4"]=19,e["thac-3"]=18,e["thac-2"]=17,e["thac-1"]=16,e.thac00=15,e.thac0=15,e.thac1=14,e.thac2=13,e.thac3=12,e.thac4=11,e.thac5=10,e.thac6=9,e.thac7=8,e.thac8=7,e.thac9=6,e.thac10=5):h===7?(e["thac-10"]=20,e["thac-9"]=20,e["thac-8"]=20,e["thac-7"]=20,e["thac-6"]=19,e["thac-5"]=18,e["thac-4"]=17,e["thac-3"]=16,e["thac-2"]=15,e["thac-1"]=14,e.thac00=13,e.thac0=13,e.thac1=12,e.thac2=11,e.thac3=10,e.thac4=9,e.thac5=8,e.thac6=7,e.thac7=6,e.thac8=5,e.thac9=4,e.thac10=3):h===8?(e["thac-10"]=20,e["thac-9"]=20,e["thac-8"]=20,e["thac-7"]=19,e["thac-6"]=18,e["thac-5"]=17,e["thac-4"]=16,e["thac-3"]=15,e["thac-2"]=14,e["thac-1"]=13,e.thac00=12,e.thac0=12,e.thac1=11,e.thac2=10,e.thac3=9,e.thac4=8,e.thac5=7,e.thac6=6,e.thac7=5,e.thac8=4,e.thac9=3,e.thac10=2):h===9?(e["thac-10"]=20,e["thac-9"]=19,e["thac-8"]=18,e["thac-7"]=17,e["thac-6"]=16,e["thac-5"]=15,e["thac-4"]=14,e["thac-3"]=13,e["thac-2"]=12,e["thac-1"]=11,e.thac00=10,e.thac0=10,e.thac1=9,e.thac2=8,e.thac3=7,e.thac4=6,e.thac5=5,e.thac6=4,e.thac7=3,e.thac8=2,e.thac9=1,e.thac10=0):h===10?(e["thac-10"]=19,e["thac-9"]=18,e["thac-8"]=17,e["thac-7"]=16,e["thac-6"]=15,e["thac-5"]=14,e["thac-4"]=13,e["thac-3"]=12,e["thac-2"]=11,e["thac-1"]=10,e.thac00=9,e.thac0=9,e.thac1=8,e.thac2=7,e.thac3=6,e.thac4=5,e.thac5=4,e.thac6=3,e.thac7=2,e.thac8=1,e.thac9=0,e.thac10=-1):h===11?(e["thac-10"]=18,e["thac-9"]=17,e["thac-8"]=16,e["thac-7"]=15,e["thac-6"]=14,e["thac-5"]=13,e["thac-4"]=12,e["thac-3"]=11,e["thac-2"]=10,e["thac-1"]=9,e.thac00=8,e.thac0=8,e.thac1=7,e.thac2=6,e.thac3=5,e.thac4=4,e.thac5=3,e.thac6=2,e.thac7=1,e.thac8=0,e.thac9=-1,e.thac10=-2):h===12&&(e["thac-10"]=17,e["thac-9"]=16,e["thac-8"]=15,e["thac-7"]=14,e["thac-6"]=13,e["thac-5"]=12,e["thac-4"]=11,e["thac-3"]=10,e["thac-2"]=9,e["thac-1"]=8,e.thac00=7,e.thac0=7,e.thac1=6,e.thac2=5,e.thac3=4,e.thac4=3,e.thac5=2,e.thac6=1,e.thac7=0,e.thac8=-1,e.thac9=-2,e.thac10=-3)),e.attack_matrix_flag=0),p===99&&(g("Error: Class not recognized or class name is empty."),e["thac-10"]=20,e["thac-9"]=20,e["thac-8"]=20,e["thac-7"]=20,e["thac-6"]=20,e["thac-5"]=20,e["thac-4"]=20,e["thac-3"]=20,e["thac-2"]=20,e["thac-1"]=20,e.thac00=20,e.thac0=20,e.thac1=20,e.thac2=20,e.thac3=20,e.thac4=20,e.thac5=20,e.thac6=20,e.thac7=20,e.thac8=20,e.thac9=20,e.thac10=20,e.attack_matrix_flag=0),setAttrs(e,{silent:!0}),Ka())})});on("sheet:opened change:thac0 change:thac00 change:autofill_matrix",r=>{getAttrs(["attack_matrix_flag","matrix_class","thac0","thac1","thac2","thac00","thac01","thac02","autofill_matrix"],n=>{let e={};if(!+n.autofill_matrix)return;let o=+n.attack_matrix_flag,a=+n.matrix_class;if(o===0||a>0)e.attack_matrix_flag=0;else{let t=+n.thac0,p=+n.thac1,c=+n.thac2,l=+n.thac00,u=+n.thac01,h=+n.thac02,m=t+p+c,w=l+u+h;e.attack_matrix_flag=m===60&&w===60?1:0}setAttrs(e,{silent:!0})})});on("change:thac00",r=>{Ka()});function F(r,n,e,s){return r<e?(console.log(`Error: ${n} value is not a number or out of range. [${r}].\\nDefaulting to ${e}.`),e):r>s?(console.log(`Error: ${n} value is out of range. [${r}].\\nDefaulting to ${s}.`),s):Math.min(Math.max(r,e),s)}var x=class{constructor(n,e,s,o,a,t){this.meleebonus=n,this.dmgbonus=e,this.majorstrengthfeat=t,this.minorstrengthfeat=o,this.minorstrengthfeat_locked=a,this.encumbrancebonus=s}getMeleeAttackBonus(){return this.meleebonus}getMeleeDamageBonus(){return this.dmgbonus}getMajorStrengthCheck(){return this.majorstrengthfeat}getMinorStrengthCheck(n=!1){return n?this.minorstrengthfeat_locked:this.minorstrengthfeat}getEncumbranceBonus(){return this.encumbrancebonus}},Pe=class{constructor(){this.strength_dict={3:new x(-3,-1,-350,1,0,0),4:new x(-2,-1,-250,1,0,0),5:new x(-2,-1,-250,1,0,0),6:new x(-1,0,-150,1,0,0),7:new x(-1,0,-150,1,0,0),8:new x(0,0,0,2,0,1),9:new x(0,0,0,2,0,1),10:new x(0,0,0,2,0,2),11:new x(0,0,0,2,0,2),12:new x(0,0,100,2,0,4),13:new x(0,0,100,2,0,4),14:new x(0,0,200,2,0,7),15:new x(0,0,200,2,0,7),16:new x(0,1,350,3,0,10),17:new x(1,1,500,3,0,13),18:{None:new x(1,2,750,3,0,16),"01-50":new x(1,3,1e3,3,0,20),"51-75":new x(2,3,1250,4,0,25),"76-90":new x(2,4,1500,4,0,30),"91-99":new x(2,5,2e3,4,1,35),"00":new x(3,6,3e3,5,2,40)},19:new x(3,7,4500,7,3,50),20:new x(3,8,5e3,7,3,60),21:new x(4,9,6e3,9,4,70),22:new x(4,10,7500,11,4,80),23:new x(5,11,9e3,11,5,90),24:new x(6,12,12e3,19,7,100),25:new x(7,14,15e3,23,9,100)}}getEntry(n,e){let s=F(n,"strength",3,25);return s!==18?this.strength_dict[s]:e<=0?this.strength_dict[s].None:e<=50?this.strength_dict[s]["01-50"]:e<=75?this.strength_dict[s]["51-75"]:e<=90?this.strength_dict[s]["76-90"]:e<=99?this.strength_dict[s]["91-99"]:this.strength_dict[s]["00"]}getStrengthValue(n,e,s=0,o=!1){switch(n){case"Attack":return this.getEntry(e,s).getMeleeAttackBonus();case"Damage":return this.getEntry(e,s).getMeleeDamageBonus();case"Major":return this.getEntry(e,s).getMajorStrengthCheck();case"Minor":return this.getEntry(e,s).getMinorStrengthCheck(o);case"Encumbrance":return this.getEntry(e,s).getEncumbranceBonus();default:return"Invalid Test"}}},O=class{constructor(n,e,s,o){this.bonuslanguages=n,this.knowspell=e,this.minspells=s,this.maxspells=o}getBonusLanguages(){return this.bonuslanguages}getKnowSpell(){return this.knowspell}getMinSpells(){return this.minspells}getMaxSpells(){return this.maxspells}},Ue=class{constructor(){this.intelligence_dict={8:new O(1,0,0,0),9:new O(1,35,4,6),10:new O(2,45,5,7),11:new O(2,45,5,7),12:new O(3,45,5,7),13:new O(3,55,6,9),14:new O(4,55,6,9),15:new O(4,65,7,11),16:new O(5,65,7,11),17:new O(6,75,8,14),18:new O(7,85,9,18),19:new O(8,95,10,99),20:new O(9,96,11,99),21:new O(10,97,12,99),22:new O(11,98,13,99),23:new O(12,99,14,99),24:new O(13,100,15,99),25:new O(14,100,16,99)}}getEntry(n){return this.intelligence_dict[F(n,"intelligence",8,25)]}},D=class{constructor(n,e,s){this.mentalsavebonus=n,this.spellbonus=e,this.spellfailure=s}getMentalSaveBonus(){return this.mentalsavebonus}getSpellBonus(){return this.spellbonus}getSpellFailure(){return this.spellfailure}},He=class{constructor(){this.wisdom_dict={3:new D("-3","None",20),4:new D("-2","None",20),5:new D("-1","None",20),6:new D("-1","None",20),7:new D("-1","None",20),8:new D("0","None",20),9:new D("0","None",20),10:new D("0","None",15),11:new D("0","None",10),12:new D("0","None",5),13:new D("0","1/0/0/0/0/0/0",0),14:new D("0","2/0/0/0/0/0/0",0),15:new D("1","2/1/0/0/0/0/0",0),16:new D("2","2/2/0/0/0/0/0",0),17:new D("3","2/2/1/0/0/0/0",0),18:new D("4","2/2/1/1/0/0/0",0),19:new D("4","3/2/1/2/0/0/0",0),20:new D("4","3/3/1/3/0/0/0",0),21:new D("4","3/3/2/3/1/0/0",0),22:new D("4","3/3/2/4/2/0/0",0),23:new D("4","3/3/2/4/4/0/0",0),24:new D("4","3/3/2/4/4/2/1",0),25:new D("4","3/3/2/4/4/3/1",0)}}getEntry(n){return this.wisdom_dict[F(n,"wisdom",3,25)]}},C=class{constructor(n,e,s){this.surprisebonus=n,this.rangedbonus=e,this.armorbonus=s}getSurpriseBonus(){return this.surprisebonus}getRangedBonus(){return this.rangedbonus}getArmorBonus(){return this.armorbonus}},We=class{constructor(){this.dexterity_dict={3:new C(3,-3,4),4:new C(2,-2,3),5:new C(1,-1,2),6:new C(0,0,1),7:new C(0,0,0),8:new C(0,0,0),9:new C(0,0,0),10:new C(0,0,0),11:new C(0,0,0),12:new C(0,0,0),13:new C(0,0,0),14:new C(0,0,0),15:new C(0,0,-1),16:new C(-1,1,-2),17:new C(-2,2,-3),18:new C(-3,3,-4),19:new C(-3,3,-4),20:new C(-3,3,-4),21:new C(-4,4,-5),22:new C(-4,4,-5),23:new C(-4,4,-5),24:new C(-5,5,-6),25:new C(-5,5,-6)}}getEntry(n){return this.dexterity_dict[F(n,"dexterity",3,25)]}},E=class{constructor(n,e,s){this.hitpointbonus=n,this.systemshock=e,this.resurrectionsurvival=s}getHitpointBonus(){return this.hitpointbonus}getSystemShock(){return this.systemshock}getResurrectionSurvival(){return this.resurrectionsurvival}},Ve=class{constructor(){this.constitution_dict={3:new E("-2",35,40),4:new E("-1",40,45),5:new E("-1",45,50),6:new E("0",50,55),7:new E("0",55,60),8:new E("0",60,65),9:new E("0",65,70),10:new E("0",70,75),11:new E("0",75,80),12:new E("0",80,85),13:new E("0",85,90),14:new E("0",88,92),15:new E("1",91,94),16:new E("2",95,96),17:new E("3",97,98),18:new E("4",99,100),19:new E("5",99,100),20:new E("5",99,100),21:new E("6",99,100),22:new E("6",99,100),23:new E("6",99,100),24:new E("7",99,100),25:new E("7",99,100)}}getEntry(n){return this.constitution_dict[F(n,"constitution",3,25)]}},I=class{constructor(n,e,s,o){this.maximumhenchmen=n,this.loyaltybonus=e,this.reactionbonus=s,this.comeliness=o}MaximumHenchmen(){return this.maximumhenchmen}getLoyaltyBonus(){return this.loyaltybonus}getReactionBonus(){return this.reactionbonus}getComeliness(){return this.comeliness}},Fe=class{constructor(){this.charisma_dict={3:new I(1,-30,-25,-5),4:new I(1,-25,-20,-3),5:new I(2,-20,-15,-3),6:new I(2,-15,-10,-1),7:new I(3,-10,-5,-1),8:new I(3,-5,0,-1),9:new I(4,0,0,0),10:new I(4,0,0,0),11:new I(4,0,0,0),12:new I(5,0,0,0),13:new I(5,0,5,1),14:new I(6,5,10,1),15:new I(7,15,15,1),16:new I(8,20,25,2),17:new I(10,30,30,2),18:new I(15,40,35,3),19:new I(20,50,40,5),20:new I(25,60,45,5),21:new I(30,70,50,5),22:new I(35,80,55,5),23:new I(40,90,60,5),24:new I(45,100,65,5),25:new I(50,100,70,5)}}getEntry(n){return this.charisma_dict[F(n,"charisma",3,25)]}},N=class{constructor(n,e,s,o,a){this.pickPockets=n,this.openLocks=e,this.findRemoveTraps=s,this.moveSilently=o,this.hideInShadows=a}getPickPockets(){return this.pickPockets}getOpenLocks(){return this.openLocks}getFindRemoveTraps(){return this.findRemoveTraps}getMoveSilently(){return this.moveSilently}getHideInShadows(){return this.hideInShadows}},Ge=class{constructor(){this.dexterity_dict={9:new N(-15,-10,-10,-20,-10),10:new N(-10,-5,-10,-15,-5),11:new N(-5,0,-5,-10,0),12:new N(0,0,0,-5,0),13:new N(0,0,0,0,0),14:new N(0,0,0,0,0),15:new N(0,0,0,0,0),16:new N(0,5,0,0,0),17:new N(5,10,0,5,5),18:new N(10,15,5,10,10),19:new N(15,20,10,12,12),20:new N(20,25,15,15,15),21:new N(25,30,20,18,18),22:new N(30,35,25,20,20),23:new N(35,40,30,23,23),24:new N(40,45,35,25,25),25:new N(45,50,40,30,30)}}getEntry(n){return this.dexterity_dict[F(n,"dexterity",9,25)]}},B=class{constructor(n,e,s,o,a,t,p,c){this.pickPockets=n,this.openLocks=e,this.findRemoveTraps=s,this.moveSilently=o,this.hideInShadows=a,this.hearNoise=t,this.climbWalls=p,this.readLanguages=c}getPickPockets(){return this.pickPockets}getOpenLocks(){return this.openLocks}getFindRemoveTraps(){return this.findRemoveTraps}getMoveSilently(){return this.moveSilently}getHideInShadows(){return this.hideInShadows}getHearNoise(){return this.hearNoise}getClimbWalls(){return this.climbWalls}getReadLanguages(){return this.readLanguages}},ze=class{constructor(){this.dexterity_dict={0:new B(0,0,0,0,0,0,0,0),1:new B(0,0,0,0,0,0,0,0),2:new B(0,10,15,0,0,0,-10,-5),3:new B(5,-5,0,5,10,5,0,0),4:new B(0,5,10,5,5,10,-15,0),5:new B(10,0,0,0,5,0,0,0),6:new B(5,5,5,10,15,5,-15,-5),7:new B(-5,5,5,0,0,5,5,-10)}}getEntry(n){return this.dexterity_dict[F(n,"thief_race_selected",0,7)]}},H=new Pe,ke=new Ue,Ae=new He,ee=new We,ae=new Ve,z=new Fe,ce=new Ge,W=new ze,j=(r,n,e="int")=>e==="int"?parseInt(r[n])||0:e==="float"?parseFloat(r[n])||0:e==="str"?r[n]:null;la=()=>{getAttrs(["strength","exceptionalstrength"],r=>{let n={},e=j(r,"strength","int"),s=j(r,"exceptionalstrength");j(r,"exceptionalstrength","str")==="00"&&(s=100),n.exceptionalstrength=s,n.meleebonus=(H.getStrengthValue("Attack",e,s)<=0?"":"+")+H.getStrengthValue("Attack",e,s),n.dmgbonus=(H.getStrengthValue("Damage",e,s)<=0?"":"+")+H.getStrengthValue("Damage",e,s),n.majorstrengthfeat=H.getStrengthValue("Major",e,s),n.minorstrengthfeat=H.getStrengthValue("Minor",e,s),n.minorstrengthfeat_locked=H.getStrengthValue("Minor",e,s,!0),n.encumbrancebonus=(H.getStrengthValue("Encumbrance",e,s)<=0?"":"+")+H.getStrengthValue("Encumbrance",e,s),setAttrs(n)})};aa=()=>{getAttrs(["intelligence","bonuslanguages","race"],r=>{let n={},e=j(r,"intelligence","int"),s=j(r,"race","str"),o=+ke.getEntry(e).getBonusLanguages();/human/gi.test(s)?n.bonuslanguages=o:/dwarf/gi.test(s)||/gnome/gi.test(s)||/orc/gi.test(s)?n.bonuslanguages=Math.min(o,2):/half-elf/gi.test(s)||/halfling/gi.test(s)||/hobbit/gi.test(s)?(o<=5?o=0:o===6?o=1:o===7?o=2:o===8?o=3:o===9?o=4:o===10?o=5:o===11?o=6:o===12?o=7:o===13?o=8:o>=14&&(o=9),n.bonuslanguages=o):/elf/gi.test(s)?(o<=4?o=0:o===5?o=1:o==6?o=2:o===7?o=3:o===8?o=4:o===9?o=5:o===10?o=6:o===11?o=7:o===12?o=8:o===13?o=9:o>=14&&(o=10),n.bonuslanguages=o):n.bonuslanguages=0,n.knowspell=ke.getEntry(e).getKnowSpell(),n.minspells=ke.getEntry(e).getMinSpells(),n.maxspells=ke.getEntry(e).getMaxSpells(),setAttrs(n,{silent:!0})})};wa=()=>{getAttrs(["wisdom"],r=>{let n={},e=j(r,"wisdom","int");n.mentalsavebonus=(Ae.getEntry(e).getMentalSaveBonus()<=0?"":"+")+Ae.getEntry(e).getMentalSaveBonus(),n.spellbonus=Ae.getEntry(e).getSpellBonus(),n.spellfailure=Ae.getEntry(e).getSpellFailure(),setAttrs(n,{silent:!0})})};Ze=()=>{getAttrs(["dexterity"],r=>{let n={},e=j(r,"dexterity","int"),s=ee.getEntry(e).getSurpriseBonus(),o=(-1*s<=0?"":"+")+-1*s;n.surprisebonus=ee.getEntry(e).getSurpriseBonus(),n.surprisebonus_inverted=o,n.rangedbonus=(ee.getEntry(e).getRangedBonus()<=0?"":"+")+ee.getEntry(e).getRangedBonus(),n.armorbonus=(ee.getEntry(e).getArmorBonus()<=0?"":"+")+ee.getEntry(e).getArmorBonus(),setAttrs(n)})};Qe=()=>{getAttrs(["constitution","class","secondclass","thirdclass"],r=>{let n={},e=j(r,"constitution","int"),s=[r.class,r.secondclass,r.thirdclass];/fighter/gi.test(s)||/paladin/gi.test(s)||/ranger/gi.test(s)?n.hitpointbonus=(ae.getEntry(e).getHitpointBonus()<=0?"":"+")+ae.getEntry(e).getHitpointBonus():n.hitpointbonus=(Math.min(ae.getEntry(e).getHitpointBonus(),2)<=0?"":"+")+Math.min(ae.getEntry(e).getHitpointBonus(),2),n.systemshock=ae.getEntry(e).getSystemShock(),n.resurrectionsurvival=ae.getEntry(e).getResurrectionSurvival(),setAttrs(n)})};Ye=()=>{getAttrs(["charisma"],r=>{let n={},e=j(r,"charisma","int");n.maximumhenchmen=z.getEntry(e).MaximumHenchmen(),n.loyaltybonus=(z.getEntry(e).getLoyaltyBonus()<=0?"":"+")+z.getEntry(e).getLoyaltyBonus(),n.reactionbonus=(z.getEntry(e).getReactionBonus()<=0?"":"+")+z.getEntry(e).getReactionBonus(),n.comeliness_cha_adj=(z.getEntry(e).getComeliness()<=0?"":"+")+z.getEntry(e).getComeliness(),setAttrs(n,{silent:!0})})};thiefSkillsDexCalcs=r=>{getAttrs(["dexterity"],n=>{let e={},s=j(n,"dexterity","int"),o=ce.getEntry(s).getPickPockets(),a=ce.getEntry(s).getOpenLocks(),t=ce.getEntry(s).getFindRemoveTraps(),p=ce.getEntry(s).getMoveSilently(),c=ce.getEntry(s).getHideInShadows();e.pickpockets_ability_mod=r===1?o:0,e.openlocks_ability_mod=r===1?a:0,e.findtraps_ability_mod=r===1?t:0,e.movequietly_ability_mod=r===1?p:0,e.hideinshadows_ability_mod=r===1?c:0,setAttrs(e)})};thiefSkillsRacialCalcs=r=>{getAttrs(["thief_race_selected"],n=>{let e={},s=j(n,"thief_race_selected","int"),o=W.getEntry(s).getPickPockets(),a=W.getEntry(s).getOpenLocks(),t=W.getEntry(s).getFindRemoveTraps(),p=W.getEntry(s).getMoveSilently(),c=W.getEntry(s).getHideInShadows(),l=W.getEntry(s).getHearNoise(),u=W.getEntry(s).getClimbWalls(),h=W.getEntry(s).getReadLanguages();e.pickpockets_racial_mod=r===1?o:0,e.openlocks_racial_mod=r===1?a:0,e.findtraps_racial_mod=r===1?t:0,e.movequietly_racial_mod=r===1?p:0,e.hideinshadows_racial_mod=r===1?c:0,e.hearnoise_racial_mod=r===1?l:0,e.climbwalls_racial_mod=r===1?u:0,e.readlanguages_racial_mod=r===1?h:0,setAttrs(e)})};on("change:autofill_thief_dex change:dexterity",r=>{getAttrs(["autofill_thief_dex"],n=>{let e=+n.autofill_thief_dex;thiefSkillsDexCalcs(e)})});function wo(r){let n=r.trim().toLowerCase();return/human/.test(n)?1:/dwarf/.test(n)?2:/half-elf/.test(n)?5:/elf/.test(n)?3:/gnome/.test(n)?4:/halfling|hobbit/.test(n)?6:/half-orc/.test(n)?7:0}on("change:race change:autofill_thief_race change:thief_race_selected",r=>{let n=r.sourceAttribute;getAttrs(["race","autofill_thief_race"],e=>{let s={},o=+e.autofill_thief_race,a=(e.race||"human").trim();(n==="autofill_thief_race"||n==="race")&&(s.thief_race_selected=wo(a)),setAttrs(s,{silent:!0}),thiefSkillsRacialCalcs(o)})});on("change:strength change:exceptionalstrength",r=>{la()});on("change:intelligence change:race",r=>{aa()});on("change:wisdom",r=>{wa()});on("change:dexterity",r=>{Ze()});on("change:constitution change:class change:secondclass change:thirdclass",r=>{Qe()});on("change:charisma change:comeliness",r=>{Ye()});portraitUrlCalc=()=>{getAttrs(["character_avatar","sheet_image","sheet_image_url"],r=>{let n={},e=+r.sheet_image,s=(function(t){let p=/(\.png|\.jpg|\.gif)/i,c=t.match(p);return c?t.slice(0,c.index+c[0].length):t})(r.character_avatar),o=r.sheet_image_url||s;e===0&&(n.sheet_image_src=o),e===1&&(n.sheet_image_src=s),e===2&&(n.sheet_image_src=""),setAttrs(n,{silent:!0})})};on("change:character_avatar change:sheet_image change:sheet_image_url",r=>{portraitUrlCalc()});on("clicked:postimage",r=>{portraitUrlCalc(),startRoll("?{Display the portrait image?|YES,@{sheet_image_src}|NO, }",e=>{finishRoll(e.rollId)})});on("change:psionic_ability_strength_max change:psionic_attack change:psionic_defense",r=>{getAttrs(["psionic_ability_strength_max"],n=>{let e={},s=n.psionic_ability_strength_max;e.psionic_attack_max=T(s/2).toFixed(1),e.psionic_defense_max=T(s/2).toFixed(1),setAttrs(e,{silent:!0})})});Va=()=>{getSectionIDs("repeating_weapon",r=>{let n={},e=[],s=[];r.forEach(o=>{e.push(i("weapon",o,"weapon_name")),e.push(i("weapon",o,"weapon_use")),e.push(i("weapon",o,"weapon_speed")),e.push(i("weapon",o,"weapon_misc"))}),getAttrs(e,o=>{if(r.forEach(a=>{let t=+o[i("weapon",a,"weapon_use")]||0;if(t===0)return;let p=o[i("weapon",a,"weapon_name")],c=o[i("weapon",a,"weapon_speed")]||"0",l=parseInt(c.match(/\d+/)?.[0])||0,u=o[i("weapon",a,"weapon_misc")];s.push({id:a,name:p,inUse:t,speed:l,misc:u})}),s.length>0){let a=s[0];s.forEach(l=>{l.speed<a.speed&&(a=l)});let{name:t,speed:p,misc:c}=a;n.weapon_in_use=t,n.weapon_in_use_speed=p,n.weapon_in_use_misc=c}else n.weapon_in_use="",n.weapon_in_use_speed="",n.weapon_in_use_misc="";setAttrs(n,{silent:!0})})})};on("change:repeating_weapon:weapon_name change:repeating_weapon:weapon_use change:repeating_weapon:weapon_speed change:repeating_weapon:weapon_misc",r=>{Va()});var Ya=function(r,n){getAttrs([`_reporder_${r}`],function(e){getSectionIDs(r,function(s){let o=e[`_reporder_${r}`]?e[`_reporder_${r}`].toLowerCase().split(","):[],a=[...new Set(o.filter(t=>s.includes(t)).concat(s))];n(a)})})};on("clicked:spell-sort-alphabetical clicked:spell-sort-level",function(r){let n="repeating_spells";Ya(n,function(e){getSectionIDs(n,s=>{if(!s.length)return;let o=[],a=r.triggerName.replace("clicked:","");s.forEach(t=>{o.push(i("spells",t,"spell_caster_class")),o.push(i("spells",t,"spell_level")),o.push(i("spells",t,"spell_name"))}),getAttrs([...o],t=>{let p={},c=s.map(h=>({id:h,casterClass:t[i("spells",h,"spell_caster_class")]||0,level:t[i("spells",h,"spell_level")],name:(t[i("spells",h,"spell_name")]||"").trim()})),l=h=>h==="?"?-1:h||0;a==="spell-sort-alphabetical"?c.sort((h,m)=>h.name.localeCompare(m.name,void 0,{sensitivity:"base"})):a==="spell-sort-level"&&c.sort((h,m)=>{let w=l(h.level),A=l(m.level);return h.casterClass-m.casterClass||w-A||h.name.localeCompare(m.name,void 0,{sensitivity:"base"})});let u=c.map(h=>`${h.id}`);p.spells_previous_order_array=e.join(","),setAttrs(p,{silent:!0},setSectionOrder("spells",u))})})})});on("clicked:spell-sort-undo",r=>{getAttrs(["spells_previous_order_array"],n=>{let e=n.spells_previous_order_array;if(!e||typeof e!="string")return;let s=e.split(",");setSectionOrder("spells",s)})});on("clicked:equipment-sort-alphabetical clicked:equipment-sort-location",function(r){let n="repeating_equipment";Ya(n,function(e){getSectionIDs(n,s=>{if(!s.length)return;let o=[],a=r.triggerName.replace("clicked:","");s.forEach(t=>{o.push(i("equipment",t,"equipment_item")),o.push(i("equipment",t,"equipment_location"))}),getAttrs([...o],t=>{let p={},c=s.map(u=>({id:u,name:(t[i("equipment",u,"equipment_item")]||"").trim(),location:(t[i("equipment",u,"equipment_location")]||"").trim()}));a==="equipment-sort-alphabetical"?c.sort((u,h)=>u.name.localeCompare(h.name,void 0,{sensitivity:"base"})):a==="equipment-sort-location"&&c.sort((u,h)=>{let m=u.location.localeCompare(h.location,void 0,{sensitivity:"base"});return m!==0?m:u.name.localeCompare(h.name,void 0,{sensitivity:"base"})});let l=c.map(u=>`${u.id}`);p.equipment_previous_order_array=e.join(","),setAttrs(p,{silent:!0},setSectionOrder("equipment",l))})})})});on("clicked:equipment-sort-undo",r=>{getAttrs(["equipment_previous_order_array"],n=>{let e=n.equipment_previous_order_array;if(!e||typeof e!="string")return;let s=e.split(",");setSectionOrder("equipment",s)})});</script> |