mirror of
https://github.com/Nighthawk42/roll20-character-sheets.git
synced 2026-08-30 19:52:29 +00:00
1 line
524 KiB
HTML
1 line
524 KiB
HTML
<!--new character?--> <input type="hidden" name="attr_old_character" value="0"><!--background hidden inputs--> <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"><!--option toggles--> <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"><!-- Sheet Header--><section class="top-header"><!-- NPC/Monster toggle--><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><!-- Announcements --><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 class="left"><span>v<span name="attr_sheet_version"> </span><span class="right">• 2/23/25'</span></span></span></h5><ul><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><li>Removed alternating row background-color from the &{template:attacks} roll template.</li><li>AC calculation updated: check added to remove low Dex penalties beyond AC 10. "Armor class below 10 is not possible except through cursed items." DMG p73</li><li>Added formatting for chat menu and api button links in the roll template. Including a backtick just inside the first parenthesis of the button macro removes the default sheet formatting & roll20's default pink text. ie [Click Me](`~some_ability)</li><li>Improved the roll template's allprops schema to better handle custom key=value pairs.{{sans equal sign text is centered}}, {{=%NEWLINE% empty on the left, text aligns to the right}} {{empty on the right, text aligns to the left=%NEWLINE%}} Use %NEWLINE% or carriage returns inside of the roll template to create new rows within the same key.</li><li>Added inline roll results border color for success(green) and fail(red). Applies to the &{template:general} roll template. The success/fail border is based on the {{roll_high}}, {{roll_low}} and {{roll_target}} keys which are used for all check-based sheet rolls. ie Ability Checks, Saving Throws, Thief Skills, etc.</li><li>Fixed a z-index bug where the sheet's portrait could overlap other header areas preventing input/access. This only happens if the use URL option is chosen in the sheet settings but no URL is provided.</li><li>Small adjustment to the roll template header and subheader padding.</li><li>Changed the attack template font style to be the same as the general template.</li><li><code>{{bigtext1}}</code> keys expanded to 12 rows to allow 6 grey(odd) and 6 white(odd) rows for custom macros.</li><li>Updated the portrait image option: Added "none" as an option. Updated the image url parsing to detect png, jpg, and gif. While you can post a sheet's image to chat by simply clicking on the portrait image, you can now access the sheet's image URL as well for macro usage. Call the attribute's value directly using; @{selected|sheet_image_url} macro example; <code>[x](@{selected|sheet_image_url})</code></li><li>Added <code>{{bigname}}</code> to both templates. This key can be used to display text in the header that is 1.75x's larger than the normal header ie <code>{{name}}</code>. These additional keys are provided for those that desire to customize and/or their own macros. They do not impact the sheet's default rolls and macros. Feel free to experiment.</li><li>Added some missing css for the bigtext if used in the attacks roll template.</li><li>Added the same <code>{{bigtext1}}</code> thru <code>{{bigtext4}}</code> keys to the &{template:attacks} roll template.</li><li>Added 4 new keys to the &{template:general} roll template. ie <code>{{bigtext1}}</code> thru <code>{{bigtext4}}</code>. Should be helpful for anyone wanting to inject some big text and/or rolls into their customized macros.</li><li>Added local auto-fill checkbox for THAC0</li><li>Roll templates now have an increased max-height for embedded images based on the viewport width. Should help to display larger images.<br><strong>FYI:</strong> images can be included with sheet rolls by using roll20's normal chat image format. ie <strong>[x](URL that ends in a common image format such as .jpg, .png, .gif)</strong> So if you want to display an image with a given roll, simply include a properly formatted image code macro within any text-based field. ie Name, Notes, Description. Macro-text can also be modified to include an image. ie <strong>{{subtag=[x](URL)}}</strong></li><li>Fix for crit damage rolls; I've added parenthesis around the crit damage dice so that the entire roll is multiplied x2. This is a non-issue unless you want bonuses included with the crit multiplier. While it's common for crit damage to only double the dice roll and then add bonuses, you can include bonuses with the damage dice if desired. Note that the damage modifier field will also be included after any multiplier. Use it however you like.</li><li>Rollback of last weeks single column not spanning full width 'fix' and a proper redo that doesn't cause collateral issues with the spell header layout.</li><li>Small fix for single column spells and special abilities not spanning the full width.</li><li>Added an option in the Sheet settings to auto-roll weapon damage regardless of the attack roll.</li><li><span>Updated some of the sheet's font settings.</span><br><details style="max-width:98%;"><summary><h3>Sheet Fonts</h3></summary><h5 style="font-family: Raleway; font-weight: normal;"><span>Raleway,</span> <b style="font-weight: 100;">Raleway 100,</b> <b style="font-weight: 200;">Raleway 200,</b> <b style="font-weight: 300;">Raleway 300,</b> <b style="font-weight: 400;">Raleway 400,</b> <b style="font-weight: 500;">Raleway 500,</b> <b style="font-weight: 600;">Raleway 600,</b> <b style="font-weight: 700;">Raleway 700,</b> <b style="font-weight: 800;">Raleway 800,</b> <b style="font-weight: 900;">Raleway 900,</b> <i>Raleway Italic</i></h5><h5 style="font-family: Poppins; font-weight: normal;"><span>Poppins,</span> <b style="font-weight: 100;">Poppins 100,</b> <b style="font-weight: 200;">Poppins 200,</b> <b style="font-weight: 300;">Poppins 300,</b> <b style="font-weight: 400;">Poppins 400,</b> <b style="font-weight: 500;">Poppins 500,</b> <b style="font-weight: 600;">Poppins 600,</b> <b style="font-weight: 700;">Poppins 700,</b> <b style="font-weight: 800;">Poppins 800,</b> <b style="font-weight: 900;">Poppins 900,</b> <i>Poppins Italic</i></h5><h5 style="font-family: Caladea; font-weight: normal;"><span>Caladea,</span> <b style="font-weight: 100;">Caladea 100,</b> <b style="font-weight: 200;">Caladea 200,</b> <b style="font-weight: 300;">Caladea 300,</b> <b style="font-weight: 400;">Caladea 400,</b> <b style="font-weight: 500;">Caladea 500,</b> <b style="font-weight: 600;">Caladea 600,</b> <b style="font-weight: 700;">Caladea 700,</b> <b style="font-weight: 800;">Caladea 800,</b> <b style="font-weight: 900;">Caladea 900,</b> <i>Caladea Italic</i></h5></details></li><li>Small adjustment to hide the +/- flippers on number fields.</li><li>Autofill base value for saves has been added to the Monster page.</li><li>Height and Weight fields have been added to the Monster page.</li><li>Updated the Pick Pockets roll to include a query for the hit dice of the target and check for detection if the attempt has failed. The HD query will adjust the target score and check for detection according to the PHB.</li><li>Included a check when changing the character_name that tests for illegal characters. Specifically ')', ']', '}', or '|'. These may break sheet rolls/macros if included in a character's name. Underscores, dashes, and apostrophes should be fine.</li><li>Updated the background-image url for parchment.</li><li>Fixed Thief/Monk/Assassin Save vs Spell @levels 5-8. Corrected the threshold from "12" to "13".</li><li>Added Friend/Foe indicator at the top of the sheet. This is purely a visual indicator and does not impact the sheet.</li><li>Copied the Magic Resistance field to PC Saving Throws.</li><li>Added "Light Goldenrod" background.</li><li>Added a close "X" option from within the Announcements window.</li><li>Removed the whisper option when clicking on the portrait image to send to chat and added a query to prevent an accidental display of the portrait.</li><li>Updated History/Bio textarea to auto-expand to match it's content.</li><li>Updated PC Notes so that the first non-repeating textarea box will auto-expand to match it's content.</li><li>Fixed NWP not being hidden by default.</li><li>Fixed Climb Walls calculation.</li><li>Reminder: nearly all the per-sheet options can also be set from the Games Settings page so that all new sheets will start with your default options. These settings will apply only to new characters moving forward. 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" 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></li><li>Option added to auto-fill the Save Base chance based on class and level selected.</li><li>Option added to auto-fill the Thief Skills Base chance based on thief level selected.</li><li>Sheet Settings: "Exceptional" will now display the exceptional attribute fields for all abilities regardless of the Ability score. Previously these fields would only show if the score was 18+. Exceptional Strength will always be shown as well.</li><li>Adjusted the "In-Use" checkbox to allow multiple attack rows to be selected at the same time. If multiple "In-Use" attack rows are selected simultaneously, the global values for the "Weapon In-Use" will use the weapon with the fastest weapon speed for the name, speed and misc. attributes.</li><li>Small adjustment to the roll templates that allows text after a "forced line-break" within a macro, to be center-aligned. Works in the header, subheader, and allprops keys. ie {{name}}, {{subtag}} {{}}</li><li>Adjusted inline roll appearance when the roll is in the header or sub-header.</li><li>Alignment adjustment for the weapon vs armor type table.</li><li>Fixed a bug in the Attack Matrix class drop-down selector where the "Cleric, Druid, and Monk" selection incorrectly used the Fighter table data. This was related to last week's change to the class dropdown. Big apologies.</li><li>Attacks that have the "In-Use" box enabled will auto-fill the global attributes @{weapon_in_use} (shows the weapon's name), @{weapon_in_use_speed} and @{weapon_in_use_misc}. You can see these in the Misc. Attack Info section found just above the repeating attacks. I believe these attributes could be used for those of you that wish to modify/customize their initiative rolls and/or other macros.</li><li>Added a "Misc." attribute to repeating attacks. @{repeating_weapon_$X_weapon_misc} this attribute will also be used to auto-fill @{weapon_in_use_misc} when the weapon is marked "In-Use".</li><li>Adjusted roll template to limit the image size to max-height of 100px if placed within the {{subtag}} key. Images posted included within other keys will still have a max-height of 300px.</li><li>Fixed THAC0 table output alignment issue.</li><li>Fixed the Class/Monster dropdown selector in the Attack Matrix to be less confusing.</li><li>The Revised sheet is now live! While roll20 would not permit both versions of the 1e sheet to coexist, they have agreed to deprecate the old sheet. It will remain as-is for anyone that is currently using that sheet in their existing games and could possibly get future updates/changes. It will not show up as an available sheet for new games however. Only the Revised 1e sheet will be listed for new games going forward. Game creators using the old sheet can convert to the Revised sheet if/when they desire by changing the game settings character template to the "Advanced Dungeons & Dragons 1e sheet".</li></ul><!-- past updates--><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><!-- NPC/Monster statblock1-4 --><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><!-- Header --><section class="header-box"><!--Details--><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"><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" 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><!-- Logo and HP/AC--><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><!-- Portrait --><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><!-- Class Details --><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><!-- Armor Details--><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><!-- used to sync armor details to repeating_equipment--> <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"><!-- holds the old armor details attributes moved to repeating_equipment and is also used to get armor weight sub-total --> <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"><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." 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}" 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><!-- additional range to handle migrating AC--><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}" 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}" 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}" 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}" 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}" 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}" 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}" 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}" 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}" 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"><!--column tally - In Use/Total--> <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><!--AC Calcs--> <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"><!--mod and magic totals stored here if needed--> <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"><!--mod and magic totals stored here if needed--> <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><!-- Personal --><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><!-- Abilities --><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"><!-- STR --> <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=[[ 1d100cs ]]%}} {{roll_target=[[ @{minorstrengthfeat} ]]}} {{locked_doors=[Open a Locked Door?](~@{character_id}|minorstrengthfeat_locked-roll) You have a [[@{selected|minorstrengthfeat_locked}]]% chance to force open a locked, barred, magically held, or wizard locked door. Fighter's only.}}"><span>Open Doors</span></button></label> <span class="two-columns"><label class="label-percent"><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=[[ 1d100cs ]]% }} {{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><!-- INT --> <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 for humans. Manual entry required for demi-humans." 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><!-- WIS --> <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><!-- DEX --> <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><!-- CON --> <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><!-- CHA --> <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><!-- COM --> <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><!-- Movement --><div class="sect border"><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><!--deprecated attribute: crawl kept in case attribute is needed --> <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><!-- Saves --><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><!-- <option value="3">Monster</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><!-- Weapons --><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><!-- Weapon Proficiency --><div class="weapons-proficiency-box border sect hide-as-npc"><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><!-- Matrix Tables --><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><!-- calc this attr based on the class selected --> <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><!-- To Hit Table--><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><!-- THAC0 Tables--><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><!-- Attacks --><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><!--NPC version--> <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=""><!--NPC version--> <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><!--NPC version--> <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=""><!--NPC version--> <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><!--NPC version--> <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><!--inserted into the NPC attack roll. Needed so that damage chat menu respects the whisper_npc setting--> <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><!--use sheetworker to parse weapon_range into separate ranges--> <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><!--deprecated: weapon_dmgbonus has been replaced with weapon_attackdmgbonus--> <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"></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><!-- Equipment --><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="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"></span></summary><!-- sync armor--> <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"><div class="capacity-box"><textarea class="height-fill" name="attr_itemnotes" title="@{itemnotes}" placeholder="Equipment Notes"></textarea></div><!--Weight/Cost Totals--><div class="equipment-totals"><label style="max-width: 100%;"><span>Use Lbs:</span> <input type="checkbox" class="toggle-lbs" name="attr_toggle_lbs" value="1" 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."></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"><!-- show equipment weight w/out armor and weapon weight --> <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"><!-- HIDDEN BECAUSE ARMOR and Weapons are NOW INCLUDED IN EQUIPMENT CALCS --> <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><!--Wealth--><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><!--Carrying Capacity--><div class="span-all border sect"><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><!-- Special Abilities --><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><!--NPC version--> <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"><!--deprecated; attr_max has been replaced with ability_current_max--> <input type="hidden" name="attr_ability_max" value="1"></label></span><details class="border-bottom-half"><summary><span class="material-icons gear-nav"></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><!-- deprecated since each repeating row includes description and notes--> <textarea class="hidden" name="attr_special_abilitiesnotes"></textarea></div><hr class="hide-as-npc"></section><!-- Non Weapon Proficiencies (NWP) --><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</span> <span>Slots</span> <span>Adj.</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 class="width-medium" name="attr_nwp_attribute" title="%{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></select> <input class="width-small" type="text" name="attr_nwp_slots" title="@{repeating_nonweaponproficiencies_$X_nwp_slots}" value="0"> <input class="width-small" type="text" name="attr_nwp_modifier" title="@{repeating_nonweaponproficiencies_$X_nwp_modifier}" value="0"></span><details class="border-bottom-half"><summary><span class="material-icons gear-nav"></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><!-- Thief Skills --><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="@{whisper_pc} &{template:general} {{color=@{color_option}}} {{name=@{character_name}}} {{subtag=Pick Pockets}} {{roll_low=[[ 1d100 ]]%}} {{roll_target= [[ @{pickpockets} ]]%}}"><span>Pick Pockets</span></button> --> <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><!-- Spells --><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}" 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> </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}" 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"><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"><span>Memorized Only</span> <input type="checkbox" name="attr_toggle_show_memorized" title="@{toggle_show_memorized}" value="1"></label></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"><!-- show only the spell level chosen --> <input type="hidden" class="hidden toggle-show" name="attr_spell_show" value="1" readonly="readonly"><!-- lower opacity of un-memorized spells --> <input type="hidden" class="hidden not-memorized" name="attr_spell_memorized" value="0" readonly="readonly"><!-- hide un-memorized spells --> <input type="checkbox" class="hidden toggle-memorized" name="attr_spell_show_memorized" value="1" readonly="readonly"><!-- show all spell levels --> <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" 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"></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><!-- Notes --><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"></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><!-- Settings --><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;" 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><!--keep the html substitutions for '<' and '>' --> <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><!--keep the html substitutions for '<' and '>' --> <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><!-- Turn Undead --> <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-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 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></div><!-- Custom Attributes--><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><!-- Footer --><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><!--Roll Templates --><div class="sheet-roll_templates"><!-- Attack Roll Template --><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><!-- text will be large and center-aligned --> <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}}<!-- Only seen if 'Use Crit Damage' is enabled --> {{#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}}<!-- Only seen if 'Use Crit Damage' is enabled --> {{#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}}<!-- Only seen if 'Use Crit Damage' is enabled --> {{#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}}<!-- Only seen if 'Use Crit Damage' is enabled --> {{#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}}<!-- Only seen if 'Use Crit Damage' is enabled --> {{#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}}<!-- Only seen if 'Use Crit Damage' is enabled --> {{#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}}<!-- Only seen if 'Use Crit Damage' is enabled --> {{#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}}<!-- Only seen if 'Use Crit Damage' is enabled --> {{#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}}<!-- Only seen if 'Use Crit Damage' is enabled --> {{#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}}<!-- Only seen if 'Use Crit Damage' is enabled --> {{#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}}<!-- Only seen if 'Use Crit Damage' is enabled --> {{#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}}<!-- Only seen if 'Use Crit Damage' is enabled --> {{#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}}<!-- Only seen if 'Use Crit Damage' is enabled --> {{#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">{{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><!-- Attack Table Roll Template --><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><!-- General Roll Template --><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><!-- text will be large and center-aligned --> <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><!--Success/Failure for Roll High--> {{#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}}<!--Success/Failure for Roll Low--> {{#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}}<!--Spells and Special Abilities--> {{#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}}<!-- repeating custom attributes--> {{#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}}<!-- locked door --> {{#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-span-two sheet-all-props">{{key}}{{value}}</span> --> <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"><!-- keep }}{{ on same line otherwise the vtt mysteriously adds whitespace --> <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-row sheet-span-two sheet-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><!--Datalists--><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=(n,o=0)=>parseInt(n)||o,O=(n,o=0)=>parseFloat(n)||o,g=(n,o="green")=>{let e=`%c ${n}`;console.log(e,`color: ${o}; font-weight:bold`)},d=(n,o=0)=>typeof n<"u"&&n!==o,xe=(n,o)=>{let e=n;return _.each(Object.entries(o),([i,r])=>{e=e.replace(new RegExp(i.replace("{","{"),"gi"),r)}),e},yt=n=>/^[a-zA-Z0-9\s]+$/.test(n)?!0:!/[)|\}]/.test(n),$t=n=>/^[-+]?[0-9]+$/.test(n)?1:0,Ta={},k=()=>{let n=generateRowID();for(;Ta[n]===!0;)g(`generateUniqueRowID: ${n} is not a unique ID, trying again.`),n=generateRowID();return Ta[n]=!0,n};on("change:character_name",n=>{getAttrs(["character_name"],o=>{let e={},i=o[`${n.sourceAttribute}`],r=yt(i);e[`${n.sourceAttribute}_error`]=r,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",n=>{let o=n.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_${o}_equipment_armor_magic`,`repeating_equipment_${o}_equipment_armor_mod`,"hitpoints_1_class","hitpoints_2_class","hitpoints_3_class"],e=>{let i={},r=e[`${n.sourceAttribute}`],a=$t(r);i[`${n.sourceAttribute}_error`]=a,setAttrs(i,{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="",$="",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"],s=(n,o,e)=>`repeating_${n}_${o}_${e}`,kt=(n,o)=>{getSectionIDs("repeating_weapon",e=>{let i=[];_.each(e,r=>{i.push(s("weapon",r,"DmgBonus")),i.push(s("weapon",r,"macro-text"))}),getAttrs([...i],r=>{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=r[s("weapon",p,"macro-text")]||t;a[s("weapon",p,"macro-text")]=c.replace(/@{DmgBonus}/g,"@{AttackDmgBonus}"),a[s("weapon",p,"AttackDmgBonus")]=+r[s("weapon",p,"DmgBonus")]||0}),a.sheet_version=n,g("VERSION UPDATE: dmgSwap completed"),setAttrs(a,{silent:!0},$(n,o))})})},At=(n,o)=>{getSectionIDs("repeating_ability",e=>{let i=[];_.each(e,r=>{i.push(s("ability",r,"max"))}),getAttrs([...i],r=>{let a={};_.each(e,t=>{a[s("ability",t,"current_max")]=+r[s("ability",t,"max")]||0}),a.sheet_version=n,g("VERSION UPDATE: maxSwap completed"),setAttrs(a,{silent:!0},$(n,o))})})},xt=(n,o)=>{let e={};getSectionIDs("repeating_nonweaponproficiencies",i=>{let r=[];_.each(i,a=>{r.push(s("nonweaponproficiencies",a,"macro-text"))}),getAttrs([...r],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(i,p=>{a[s("nonweaponproficiencies",p,"macro-text")]&&(e[s("nonweaponproficiencies",p,"macro-text")]=a[s("nonweaponproficiencies",p,"macro-text")].replace(t.nwp_old,t.nwp_new))}),e.sheet_version=n,g("VERSION UPDATE: nwpMacroUpdate completed"),setAttrs(e,{silent:!0},$(n,o))})})},St=(n,o)=>{getSectionIDs("repeating_weapon",e=>{let i=[];_.each(e,r=>{i.push(s("weapon",r,"roll")),i.push(s("weapon",r,"weaponname")),i.push(s("weapon",r,"tohitbonus")),i.push(s("weapon",r,"magicbonus")),i.push(s("weapon",r,"attackdmgbonus")),i.push(s("weapon",r,"whisper_to-hit")),i.push(s("weapon",r,"macro-text")),i.push(s("weapon",r,"damagesmallmedium")),i.push(s("weapon",r,"damagelarge")),i.push(s("weapon",r,"rateoffire")),i.push(s("weapon",r,"range")),i.push(s("weapon",r,"quantity")),i.push(s("weapon",r,"weight")),i.push(s("weapon",r,"weaponspeed")),i.push(s("weapon",r,"cost")),i.push(s("weapon",r,"weaponnotes"))}),getAttrs([...i],r=>{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(r[s("weapon",c,"rateoffire")])&&(a[s("weapon",c,"weapon_rateoffire")]=q(r[s("weapon",c,"rateoffire")])),d(r[s("weapon",c,"roll")])&&(a[s("weapon",c,"weapon_roll")]=r[s("weapon",c,"roll")]),d(r[s("weapon",c,"weaponname")])&&(a[s("weapon",c,"weapon_name")]=r[s("weapon",c,"weaponname")]),d(r[s("weapon",c,"tohitbonus")])&&(a[s("weapon",c,"weapon_tohitbonus")]=q(r[s("weapon",c,"tohitbonus")])),d(r[s("weapon",c,"magicbonus")])&&(a[s("weapon",c,"weapon_magicbonus")]=q(r[s("weapon",c,"magicbonus")])),d(r[s("weapon",c,"attackdmgbonus")])&&(a[s("weapon",c,"weapon_attackdmgbonus")]=q(r[s("weapon",c,"attackdmgbonus")])),d(r[s("weapon",c,"whisper_to-hit")])&&(a[s("weapon",c,"weapon_whisper_to_hit")]=r[s("weapon",c,"whisper_to-hit")]),d(r[s("weapon",c,"macro-text")],p)&&(a[s("weapon",c,"weapon_macro_text")]=xe(r[s("weapon",c,"macro-text")],t)),d(r[s("weapon",c,"damagesmallmedium")])&&(a[s("weapon",c,"weapon_damagesmallmedium")]=r[s("weapon",c,"damagesmallmedium")]),d(r[s("weapon",c,"damagelarge")])&&(a[s("weapon",c,"weapon_damagelarge")]=r[s("weapon",c,"damagelarge")]),d(r[s("weapon",c,"range")])&&(a[s("weapon",c,"weapon_range")]=r[s("weapon",c,"range")]),d(r[s("weapon",c,"quantity")])&&(a[s("weapon",c,"weapon_quantity")]=O(r[s("weapon",c,"quantity")])),d(r[s("weapon",c,"weight")])&&(a[s("weapon",c,"weapon_weight")]=O(r[s("weapon",c,"weight")])),d(r[s("weapon",c,"weaponspeed")])&&(a[s("weapon",c,"weapon_speed")]=q(r[s("weapon",c,"weaponspeed")])),d(r[s("weapon",c,"cost")])&&(a[s("weapon",c,"weapon_cost")]=O(r[s("weapon",c,"cost")])),d(r[s("weapon",c,"weaponnotes")])&&(a[s("weapon",c,"weapon_notes")]=r[s("weapon",c,"weaponnotes")])}),a.sheet_version=n,g("VERSION UPDATE: weaponNameFix completed"),setAttrs(a,{silent:!0},$(n,o))})})},Mt=(n,o)=>{getSectionIDs("repeating_spells",e=>{let i=[];_.each(e,r=>{i.push(s("spells",r,"roll")),i.push(s("spells",r,"memorized")),i.push(s("spells",r,"level")),i.push(s("spells",r,"name")),i.push(s("spells",r,"school")),i.push(s("spells",r,"range")),i.push(s("spells",r,"duration")),i.push(s("spells",r,"aoe")),i.push(s("spells",r,"components")),i.push(s("spells",r,"ct")),i.push(s("spells",r,"save")),i.push(s("spells",r,"macro-text")),i.push(s("spells",r,"description")),i.push(s("spells",r,"description-show"))}),getAttrs([...i],r=>{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(r[s("spells",c,"roll")])&&(a[s("spells",c,"spell_roll")]=r[s("spells",c,"roll")]),d(r[s("spells",c,"memorized")])&&(a[s("spells",c,"spell_memorized")]=q(r[s("spells",c,"memorized")])),d(r[s("spells",c,"level")])&&(a[s("spells",c,"spell_level")]=r[s("spells",c,"level")]),d(r[s("spells",c,"name")])&&(a[s("spells",c,"spell_name")]=r[s("spells",c,"name")]),d(r[s("spells",c,"school")])&&(a[s("spells",c,"spell_school")]=r[s("spells",c,"school")]),d(r[s("spells",c,"range")])&&(a[s("spells",c,"spell_range")]=r[s("spells",c,"range")]),d(r[s("spells",c,"duration")])&&(a[s("spells",c,"spell_duration")]=r[s("spells",c,"duration")]),d(r[s("spells",c,"aoe")])&&(a[s("spells",c,"spell_aoe")]=r[s("spells",c,"aoe")]),d(r[s("spells",c,"components")])&&(a[s("spells",c,"spell_components")]=r[s("spells",c,"components")]),d(r[s("spells",c,"ct")])&&(a[s("spells",c,"spell_ct")]=r[s("spells",c,"ct")]),d(r[s("spells",c,"save")])&&(a[s("spells",c,"spell_save")]=r[s("spells",c,"save")]),d(r[s("spells",c,"macro-text")],p)&&(a[s("spells",c,"spell_macro_text")]=xe(r[s("spells",c,"macro-text")],t)),d(r[s("spells",c,"description")])&&(a[s("spells",c,"spell_description")]=r[s("spells",c,"description")]),d(r[s("spells",c,"description-show")])&&(a[s("spells",c,"spell_description_show")]=q(r[s("spells",c,"description-show")]))}),a.sheet_version=n,g("VERSION UPDATE: spellNameFix completed"),setAttrs(a,{silent:!0},$(n,o))})})},Dt=(n,o)=>{getSectionIDs("repeating_equipment",e=>{let i=[];_.each(e,r=>{i.push(s("equipment",r,"item-show")),i.push(s("equipment",r,"item")),i.push(s("equipment",r,"location")),i.push(s("equipment",r,"carried")),i.push(s("equipment",r,"quantity")),i.push(s("equipment",r,"quantity_max")),i.push(s("equipment",r,"weight")),i.push(s("equipment",r,"cos"))}),getAttrs([...i],r=>{let a={};_.each(e,t=>{d(r[s("equipment",t,"item-show")])&&(a[s("equipment",t,"equipment_item_show")]=r[s("equipment",t,"item-show")]),d(r[s("equipment",t,"item")])&&(a[s("equipment",t,"equipment_item")]=r[s("equipment",t,"item")]),d(r[s("equipment",t,"location")])&&(a[s("equipment",t,"equipment_location")]=r[s("equipment",t,"location")]),d(r[s("equipment",t,"carried")])&&(a[s("equipment",t,"equipment_carried")]=r[s("equipment",t,"carried")]),d(r[s("equipment",t,"quantity")])&&(a[s("equipment",t,"equipment_quantity")]=O(r[s("equipment",t,"quantity")])),d(r[s("equipment",t,"quantity_max")])&&(a[s("equipment",t,"equipment_quantity_max")]=O(r[s("equipment",t,"quantity_max")])),d(r[s("equipment",t,"weight")])&&(a[s("equipment",t,"equipment_weight")]=O(r[s("equipment",t,"weight")])),d(r[s("equipment",t,"cost")])&&(a[s("equipment",t,"equipment_cost")]=O(r[s("equipment",t,"cost")]))}),a.sheet_version=n,g("VERSION UPDATE: equipmentNameFix completed"),setAttrs(a,{silent:!0},$(n,o))})})},Et=(n,o)=>{getSectionIDs("repeating_ability",e=>{let i=[];_.each(e,r=>{i.push(s("equipment",r,"roll")),i.push(s("equipment",r,"name")),i.push(s("equipment",r,"short_description")),i.push(s("equipment",r,"current")),i.push(s("equipment",r,"current_max")),i.push(s("equipment",r,"macro-text")),i.push(s("equipment",r,"description")),i.push(s("equipment",r,"description-show"))}),getAttrs([...i],r=>{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(r[s("equipment",c,"roll")])&&(a[s("equipment",c,"ability_roll")]=r[s("equipment",c,"roll")]),d(r[s("equipment",c,"name")])&&(a[s("equipment",c,"ability_name")]=r[s("equipment",c,"name")]),d(r[s("equipment",c,"short_description")])&&(a[s("equipment",c,"ability_short_description")]=r[s("equipment",c,"short_description")]),d(r[s("equipment",c,"current")])&&(a[s("equipment",c,"ability_current")]=q(r[s("equipment",c,"current")])),d(r[s("equipment",c,"current_max")])&&(a[s("equipment",c,"ability_current_max")]=q(r[s("equipment",c,"current_max")])),d(r[s("equipment",c,"macro-text")],p)&&(a[s("equipment",c,"ability_macro_text")]=xe(r[s("equipment",c,"macro-text")],t)),d(r[s("equipment",c,"description")])&&(a[s("equipment",c,"ability_description")]=r[s("equipment",c,"description")]),d(r[s("equipment",c,"description-show")])&&(a[s("equipment",c,"ability_description_show")]=q(r[s("equipment",c,"description-show")]))}),a.sheet_version=n,g("VERSION UPDATE: abilityNameFix completed"),setAttrs(a,{silent:!0},$(n,o))})})},Ct=(n,o)=>{getSectionIDs("repeating_nonweaponproficiencies",e=>{let i=[];_.each(e,r=>{i.push(s("nonweaponproficiencies",r,"roll")),i.push(s("nonweaponproficiencies",r,"name")),i.push(s("nonweaponproficiencies",r,"rAttribute")),i.push(s("nonweaponproficiencies",r,"short_description")),i.push(s("nonweaponproficiencies",r,"rSlots")),i.push(s("nonweaponproficiencies",r,"rModifier")),i.push(s("nonweaponproficiencies",r,"macro-text")),i.push(s("nonweaponproficiencies",r,"description-show")),i.push(s("nonweaponproficiencies",r,"description"))}),getAttrs([...i],r=>{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(r[s("nonweaponproficiencies",c,"roll")])&&(a[s("nonweaponproficiencies",c,"nwp_roll")]=r[s("nonweaponproficiencies",c,"roll")]),d(r[s("nonweaponproficiencies",c,"name")])&&(a[s("nonweaponproficiencies",c,"nwp_name")]=r[s("nonweaponproficiencies",c,"name")]),d(r[s("nonweaponproficiencies",c,"rAttribute")])&&(a[s("nonweaponproficiencies",c,"nwp_attribute")]=r[s("nonweaponproficiencies",c,"rAttribute")].toLowerCase()),d(r[s("nonweaponproficiencies",c,"short_description")])&&(a[s("nonweaponproficiencies",c,"nwp_short_description")]=r[s("nonweaponproficiencies",c,"short_description")]),d(r[s("nonweaponproficiencies",c,"rSlots")])&&(a[s("nonweaponproficiencies",c,"nwp_slots")]=q(r[s("nonweaponproficiencies",c,"rSlots")])),d(r[s("nonweaponproficiencies",c,"rModifier")])&&(a[s("nonweaponproficiencies",c,"nwp_modifier")]=q(r[s("nonweaponproficiencies",c,"rModifier")])),d(r[s("nonweaponproficiencies",c,"macro-text")],p)&&(a[s("nonweaponproficiencies",c,"nwp_macro_text")]=xe(r[s("nonweaponproficiencies",c,"macro-text")],t)),d(r[s("nonweaponproficiencies",c,"description-show")])&&(a[s("nonweaponproficiencies",c,"nwp_description_show")]=q(r[s("nonweaponproficiencies",c,"description-show")])),d(r[s("nonweaponproficiencies",c,"description")])&&(a[s("nonweaponproficiencies",c,"nwp_description")]=r[s("nonweaponproficiencies",c,"description")])}),a.sheet_version=n,g("VERSION UPDATE: nwpNameFix completed"),setAttrs(a,{silent:!0},$(n,o))})})},It=(n,o)=>{let e={};getSectionIDs("repeating_nonweaponproficiencies",i=>{getSectionIDs("repeating_weapon",r=>{getSectionIDs("repeating_ability",a=>{getSectionIDs("repeating_spells",t=>{let p=[],c=[],l=[],u=[];_.each(i,h=>{p.push(s("nonweaponproficiencies",h,"nwp_macro_text"))}),_.each(r,h=>{c.push(s("weapon",h,"weapon_macro_text"))}),_.each(a,h=>{l.push(s("ability",h,"ability_macro_text"))}),_.each(t,h=>{u.push(s("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(i,w=>{h[s("nonweaponproficiencies",w,"nwp_macro_text")]&&(e[s("nonweaponproficiencies",w,"nwp_macro_text")]=h[s("nonweaponproficiencies",w,"nwp_macro_text")].replace(m.nwp_old,m.nwp_new),g("VERSION UPDATE: colorUpdate completed"))}),_.each(r,w=>{h[s("weapon",w,"weapon_macro_text")]&&(e[s("weapon",w,"weapon_macro_text")]=h[s("weapon",w,"weapon_macro_text")].replace(m.wpn_old,m.wpn_new),g("VERSION UPDATE: colorUpdate completed"))}),_.each(a,w=>{h[s("ability",w,"ability_macro_text")]&&(e[s("ability",w,"ability_macro_text")]=h[s("ability",w,"ability_macro_text")].replace(m.abl_old,m.abl_new),g("VERSION UPDATE: colorUpdate completed"))}),_.each(t,w=>{h[s("spells",w,"spell_macro_text")]&&(e[s("spells",w,"spell_macro_text")]=h[s("spells",w,"spell_macro_text")].replace(m.spl_old,m.spl_new),g("VERSION UPDATE: colorUpdate completed"))}),e.sheet_version=n,setAttrs(e,{silent:!0},$(n,o))})})})})})},Fa=()=>{la(),aa(),wa(),Ze(),Qe(),Ye()};La=(n,o)=>{let e={};Fa(),e.sheet_version=n,g("VERSION UPDATE: autoCalcAbilityRows completed"),setAttrs(e,$(n,o))};ja=(n,o)=>{let e={};sa(1),ia(1),pa(1),_a(1),ca(1),e.sheet_version=n,g("VERSION UPDATE: autoCalcSaveRows(migrate) completed"),setAttrs(e,{silent:!0},$(n,o))};Ba=(n,o)=>{let e={};na(1),oa(1),Je(1),ta(1),ea(1),ve(1),Xe(1),ra(1),ga(),ha(),ua(),e.sheet_version=n,g("VERSION UPDATE: autoCalcThiefRows(migrate) completed"),setAttrs(e,{silent:!0},$(n,o))};var Nt=(n,o)=>{getSectionIDs("repeating_weapon",e=>{let i=[];_.each(e,r=>{i.push(s("weapon",r,"weapon_macro_text"))}),getAttrs([...i],r=>{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=r[s("weapon",p,"weapon_macro_text")]||t;a[s("weapon",p,"weapon_macro_text")]=c.replace(/} @{weapon_whisper_to_hit}/g,"}")}),a.sheet_version=n,g("VERSION UPDATE: removeWhisper completed"),setAttrs(a,{silent:!0},$(n,o))})})},Ot=(n,o)=>{getAttrs(["hitpoints_max","hitpoints_1_class","hitpoints_2_class","hitpoints_3_class"],e=>{let i={},r=+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&&r>0&&(i.hitpoints_1_class=r),i.sheet_version=n,g("VERSION UPDATE: migrate HP completed"),setAttrs(i,{silent:!0},$(n,o),Ke())})},Tt=(n,o)=>{getAttrs(["armorclass","armortype_ac","armorclass_total","armorbonus","armorshield"],e=>{let i={},a=+e.armorclass||0,t=-Math.abs(e.armorbonus)||0,p=+e.armorclass_total||0,c=+e.armortype_ac||0,l=e.armorshield;g(`armorShield:${l} armorClassTotal:${p} armorBonus:${t} armortypeAC:${c} armorClass:${a}`),l?c===10&&a<10&&(a+=1,i.armortype_ac=a,i.armortype_base=a,i.armortype_worn=1,i.armortype_carried=1,i.armorshield_ac=-1,i.armorshield_base=-1,i.armorshield_worn=1,i.armorshield_carried=1,g("new armor w/shield")):c===10&&a<10?(i.armortype_ac=a,i.armortype_base=a,i.armortype_worn=1,i.armortype_carried=1,g("new armor w/out shield")):g("NEW ARMOR CHECK AND SET FAILED"),i.sheet_version=n,g("VERSION UPDATE: Migrate AC completed"),setAttrs(i,{silent:!0},$(n,o),V(0))})},Be=(n,o)=>{getSectionIDs("repeating_weapon",e=>{let i=[];_.each(e,r=>{i.push(s("weapon",r,"weapon_macro_text"))}),getAttrs([...i],r=>{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=>{r[s("weapon",p,"weapon_macro_text")]===t.weapon_old_v6?a[s("weapon",p,"weapon_macro_text")]=r[s("weapon",p,"weapon_macro_text")].replace(t.weapon_old_v6,t.weapon_current):r[s("weapon",p,"weapon_macro_text")]===t.weapon_old_v5?a[s("weapon",p,"weapon_macro_text")]=r[s("weapon",p,"weapon_macro_text")].replace(t.weapon_old_v5,t.weapon_current):r[s("weapon",p,"weapon_macro_text")]===t.weapon_old_v4?a[s("weapon",p,"weapon_macro_text")]=r[s("weapon",p,"weapon_macro_text")].replace(t.weapon_old_v4,t.weapon_current):r[s("weapon",p,"weapon_macro_text")]===t.weapon_old_v3?a[s("weapon",p,"weapon_macro_text")]=r[s("weapon",p,"weapon_macro_text")].replace(t.weapon_old_v3,t.weapon_current):r[s("weapon",p,"weapon_macro_text")]===t.weapon_old_v2?a[s("weapon",p,"weapon_macro_text")]=r[s("weapon",p,"weapon_macro_text")].replace(t.weapon_old_v2,t.weapon_current):r[s("weapon",p,"weapon_macro_text")]===t.weapon_old&&(a[s("weapon",p,"weapon_macro_text")]=r[s("weapon",p,"weapon_macro_text")].replace(t.weapon_old,t.weapon_current))}),a.sheet_version=n,g("VERSION UPDATE: weaponMacroUpdate completed"),setAttrs(a,{silent:!0},$(n,o))})})},Ra=(n,o)=>{getSectionIDs("repeating_ability",e=>{let i=[];_.each(e,r=>{i.push(s("ability",r,"ability_macro_text"))}),getAttrs([...i],r=>{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=>{r[s("ability",p,"ability_macro_text")]===t.ability_old_v5&&(a[s("ability",p,"ability_macro_text")]=r[s("ability",p,"ability_macro_text")].replace(t.ability_old_v5,t.ability_current)),r[s("ability",p,"ability_macro_text")]===t.ability_old_v4&&(a[s("ability",p,"ability_macro_text")]=r[s("ability",p,"ability_macro_text")].replace(t.ability_old_v4,t.ability_current)),r[s("ability",p,"ability_macro_text")]===t.ability_old_v3&&(a[s("ability",p,"ability_macro_text")]=r[s("ability",p,"ability_macro_text")].replace(t.ability_old_v3,t.ability_current)),r[s("ability",p,"ability_macro_text")]===t.ability_old_v2&&(a[s("ability",p,"ability_macro_text")]=r[s("ability",p,"ability_macro_text")].replace(t.ability_old_v2,t.ability_current)),r[s("ability",p,"ability_macro_text")]===t.ability_old&&(a[s("ability",p,"ability_macro_text")]=r[s("ability",p,"ability_macro_text")].replace(t.ability_old,t.ability_current))}),a.sheet_version=n,g("VERSION UPDATE: abilityMacroUpdate completed"),setAttrs(a,{silent:!0},$(n,o))})})},Rt=(n,o)=>{getSectionIDs("repeating_nonweaponproficiencies",e=>{let i=[];_.each(e,r=>{i.push(s("nonweaponproficiencies",r,"nwp_macro_text"))}),getAttrs([...i],r=>{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=>{r[s("nonweaponproficiencies",p,"nwp_macro_text")]===t.nwp_old_2&&(a[s("nonweaponproficiencies",p,"nwp_macro_text")]=r[s("nonweaponproficiencies",p,"nwp_macro_text")].replace(t.nwp_old_2,t.nwp_current)),r[s("nonweaponproficiencies",p,"nwp_macro_text")]===t.nwp_old&&(a[s("nonweaponproficiencies",p,"nwp_macro_text")]=r[s("nonweaponproficiencies",p,"nwp_macro_text")].replace(t.nwp_old,t.nwp_current))}),a.sheet_version=n,g("VERSION UPDATE: nwpMacroUpdate2 completed"),setAttrs(a,{silent:!0},$(n,o))})})},Lt=(n,o)=>{getSectionIDs("repeating_spells",e=>{let i=[];_.each(e,r=>{i.push(s("spells",r,"spell_macro_text"))}),getAttrs([...i],r=>{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=>{r[s("spells",p,"spell_macro_text")]===t.spell_old_v3&&(a[s("spells",p,"spell_macro_text")]=r[s("spells",p,"spell_macro_text")].replace(t.spell_old_v3,t.spell_current)),r[s("spells",p,"spell_macro_text")]===t.spell_old_v2&&(a[s("spells",p,"spell_macro_text")]=r[s("spells",p,"spell_macro_text")].replace(t.spell_old_v2,t.spell_current)),r[s("spells",p,"spell_macro_text")]===t.spell_old&&(a[s("spells",p,"spell_macro_text")]=r[s("spells",p,"spell_macro_text")].replace(t.spell_old,t.spell_current))}),a.sheet_version=n,g("VERSION UPDATE: spellsMacroUpdate completed"),setAttrs(a,{silent:!0},$(n,o))})})},jt=(n,o)=>{getSectionIDs("repeating_equipment",e=>{let i=[];_.each(e,r=>{i.push(s("equipment",r,"equipment_macro_text"))}),getAttrs([...i],r=>{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=>{r[s("equipment",p,"equipment_macro_text")]===t.equipment_old&&(a[s("equipment",p,"equipment_macro_text")]=r[s("equipment",p,"equipment_macro_text")].replace(t.equipment_old,t.equipment_current))}),a.sheet_version=n,g("VERSION UPDATE: equipmentMacroUpdate completed"),setAttrs(a,{silent:!0},$(n,o))})})},Bt=(n,o)=>{getSectionIDs("repeating_weapon",e=>{let i={},r=[];_.each(e,a=>{r.push(s("weapon",a,"weapon_range")),r.push(s("weapon",a,"weapon_range_short")),r.push(s("weapon",a,"weapon_range_medium")),r.push(s("weapon",a,"weapon_range_long")),r.push(s("weapon",a,"weapon_attack_type")),r.push(s("weapon",a,"weapon_range_error"))}),getAttrs(r,a=>{_.each(e,t=>{let p=+a[s("weapon",t,"weapon_attack_type")]||0;if(p===0||p===2)return;let c=a[s("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)?(i[s("weapon",t,"weapon_range_short")]=0,i[s("weapon",t,"weapon_range_error")]=c===""?1:0):i[s("weapon",t,"weapon_range_short")]=u,Number.isNaN(h)?(i[s("weapon",t,"weapon_range_medium")]=0,i[s("weapon",t,"weapon_range_error")]=c===""?1:0):i[s("weapon",t,"weapon_range_medium")]=h,Number.isNaN(m)?(i[s("weapon",t,"weapon_range_long")]=0,i[s("weapon",t,"weapon_range_error")]=c===""?1:0):i[s("weapon",t,"weapon_range_long")]=m,!Number.isNaN(u)&&!Number.isNaN(h)&&!Number.isNaN(m)&&(i[s("weapon",t,"weapon_range_error")]=1)}),i.sheet_version=n,g("VERSION UPDATE: updateRange completed"),setAttrs(i,{silent:!0},$(n,o))})})},Pt=(n,o)=>{getSectionIDs("repeating_weapon",e=>{let i=[];_.each(e,r=>{i.push(s("weapon",r,"weapon_macro_text"))}),getAttrs([...i],r=>{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=r[s("weapon",p,"weapon_macro_text")]||t;a[s("weapon",p,"weapon_macro_text")]=c.replace(/@{weapon_attack_type_pen}/g,"@{weapon_dual_pen}"),a[s("weapon",p,"weapon_macro_text")]=c.replace(/{{attacktype=@{weapon_attack_type}}} /g,"")}),a.sheet_version=n,g("VERSION UPDATE: updateAttackTypeMacro completed"),setAttrs(a,{silent:!0},$(n,o))})})},Ut=(n,o)=>{getAttrs(["hitdice","monsterHD"],e=>{let i={},r=e.monsterHD,a=e.hitdice;r===""&&(i.monsterHD=a),i.monsterHD=r,i.sheet_version=n,g("VERSION UPDATE: monsterHD completed"),setAttrs(i,{silent:!0},$(n,o))})},Ht=(n,o)=>{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},$(n,o))},Wt=ba.concat(De);function da(n,o,e,i){getAttrs(Wt,r=>{let a={},t="",p=n;p=p!==null?n.toLowerCase():p;let c=r.unarmored_row_id.toString(),l=r.armortype1_row_id.toString(),u=r.armortype2_row_id.toString(),h=r.armorshield_row_id.toString(),m=r.armorhelmet_row_id.toString(),w=r.armorother1_row_id.toString(),S=r.armorother2_row_id.toString(),b=r.armorother3_row_id.toString(),M=r.armorother4_row_id.toString(),f=r.armorother5_row_id.toString(),T=r.armorother6_row_id.toString(),y=[c,l,u,h,m,w,S,b,M,f,T].map(G=>G?G.toString().toLowerCase():"0"),L=["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"],Ee=["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:L,armor1Attrs:U,armor2Attrs:oe,shieldAttrs:K,helmetAttrs:me,other1Attrs:ne,other2Attrs:re,other3Attrs:Y,other4Attrs:Ee,other5Attrs:X,other6Attrs:Q}).find(([Ne,fe])=>fe.includes(G));return se?se[0]:null}let x=Z(o),J=r.unarmored,Ce=r.armortype,le=r.armortype2,R=r.armorshield,he=r.armorhelmet,ue=r.armorother,ge=r.armorother2,we=r.armorother3,be=r.armorother4,de=r.armorother5,qe=r.armorother6;(x==="unarmoredAttrs"||p===y[0]||i)&&(x==="unarmoredAttrs"||i?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`]=+r.unarmored_worn||0,a[`repeating_equipment_${t}_equipment_item`]=r.unarmored,a[`repeating_equipment_${t}_equipment_armor_ac`]=+r.unarmored_ac||0,a[`repeating_equipment_${t}_equipment_armor_base`]=+r.unarmored_base||0,a[`repeating_equipment_${t}_equipment_armor_bulk`]=+r.unarmored_bulk||0,+r.unarmored_worn==1&&+r.unarmored_carried==0?(a[`repeating_equipment_${t}_equipment_carried_select`]=1,a.unarmored_carried=1):a[`repeating_equipment_${t}_equipment_carried_select`]=+r.unarmored_carried||0,a[`repeating_equipment_${t}_equipment_weight`]=+r.unarmored_weight||0,a[`repeating_equipment_${t}_equipment_cost`]=+r.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`]=+r.unarmored_worn||0,a[`repeating_equipment_${t}_equipment_item`]=r.unarmored,a[`repeating_equipment_${t}_equipment_armor_ac`]=+r.unarmored_ac||0,a[`repeating_equipment_${t}_equipment_armor_base`]=+r.unarmored_base||0,a[`repeating_equipment_${t}_equipment_armor_bulk`]=+r.unarmored_bulk||0,+r.unarmored_worn==1&&+r.unarmored_carried==0?(a[`repeating_equipment_${t}_equipment_carried_select`]=1,a.unarmored_carried=1):a[`repeating_equipment_${t}_equipment_carried_select`]=+r.unarmored_carried||0,a[`repeating_equipment_${t}_equipment_weight`]=+r.unarmored_weight||0,a[`repeating_equipment_${t}_equipment_cost`]=+r.unarmored_cost||0):c===y[0]&&(a.unarmored_row_id=0,a.unarmored_worn=+r.unarmored_worn||0,a.unarmored="",a.unarmored_ac=+r.unarmored_ac||0,a.unarmored_base=+r.unarmored_base||0,a.unarmored_bulk=+r.unarmored_bulk||0,a.unarmored_weight=+r.unarmored_weight||0,a.unarmored_cost=+r.unarmored_cost||0,+r.unarmored_worn==1&&+r.unarmored_carried==0?a.unarmored_carried=1:a.unarmored_carried=+r.unarmored_carried||0):(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)),(x==="armor1Attrs"||p===y[1]||i)&&(x==="armor1Attrs"||i?Ce?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`]=+r.armortype_worn||0,a[`repeating_equipment_${t}_equipment_item`]=r.armortype,a[`repeating_equipment_${t}_equipment_armor_ac`]=+r.armortype_ac||0,a[`repeating_equipment_${t}_equipment_armor_base`]=+r.armortype_base||0,a[`repeating_equipment_${t}_equipment_armor_magic`]=+r.armortype_magic||0,a[`repeating_equipment_${t}_equipment_armor_bulk`]=+r.armortype_bulk||0,+r.armortype_worn==1&&+r.armortype_carried==0?(a[`repeating_equipment_${t}_equipment_carried_select`]=1,a.armortype_carried=1):a[`repeating_equipment_${t}_equipment_carried_select`]=+r.armortype_carried||0,a[`repeating_equipment_${t}_equipment_weight`]=+r.armor_weight||0,a[`repeating_equipment_${t}_equipment_cost`]=+r.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`]=+r.armortype_worn||0,a[`repeating_equipment_${t}_equipment_item`]=r.armortype,a[`repeating_equipment_${t}_equipment_armor_ac`]=+r.armortype_ac||0,a[`repeating_equipment_${t}_equipment_armor_base`]=+r.armortype_base||0,a[`repeating_equipment_${t}_equipment_armor_magic`]=+r.armortype_magic||0,a[`repeating_equipment_${t}_equipment_armor_bulk`]=+r.armortype_bulk||0,a[`repeating_equipment_${t}_equipment_carried_select`]=+r.armortype_carried||0,a[`repeating_equipment_${t}_equipment_weight`]=+r.armor_weight||0,a[`repeating_equipment_${t}_equipment_cost`]=+r.armor_cost||0):l===y[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)),(x==="armor2Attrs"||p===y[2]||i)&&(x==="armor2Attrs"||i?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`]=+r.armortype2_worn||0,a[`repeating_equipment_${t}_equipment_item`]=r.armortype2,a[`repeating_equipment_${t}_equipment_armor_ac`]=+r.armortype2_ac||0,a[`repeating_equipment_${t}_equipment_armor_base`]=+r.armortype2_base||0,a[`repeating_equipment_${t}_equipment_armor_magic`]=+r.armortype2_magic||0,a[`repeating_equipment_${t}_equipment_armor_bulk`]=+r.armortype2_bulk||0,+r.armortype2_worn==1&&+r.armortype2_carried==0?(a[`repeating_equipment_${t}_equipment_carried_select`]=1,a.armortype2_carried=1):a[`repeating_equipment_${t}_equipment_carried_select`]=+r.armortype2_carried||0,a[`repeating_equipment_${t}_equipment_weight`]=+r.armortype2_weight||0,a[`repeating_equipment_${t}_equipment_cost`]=+r.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`]=+r.armortype2_worn||0,a[`repeating_equipment_${t}_equipment_item`]=r.armortype2,a[`repeating_equipment_${t}_equipment_armor_ac`]=+r.armortype2_ac||0,a[`repeating_equipment_${t}_equipment_armor_base`]=+r.armortype2_base||0,a[`repeating_equipment_${t}_equipment_armor_magic`]=+r.armortype2_magic||0,a[`repeating_equipment_${t}_equipment_armor_bulk`]=+r.armortype2_bulk||0,a[`repeating_equipment_${t}_equipment_carried_select`]=+r.armortype2_carried||0,a[`repeating_equipment_${t}_equipment_weight`]=+r.armortype2_weight||0,a[`repeating_equipment_${t}_equipment_cost`]=+r.armortype2_cost||0):u===y[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)),(x==="shieldAttrs"||p===y[3]||i)&&(x==="shieldAttrs"||i?R?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`]=+r.armorshield_worn||0,a[`repeating_equipment_${t}_equipment_item`]=r.armorshield,a[`repeating_equipment_${t}_equipment_armor_ac`]=+r.armorshield_ac||0,a[`repeating_equipment_${t}_equipment_armor_base`]=+r.armorshield_base||0,a[`repeating_equipment_${t}_equipment_armor_magic`]=r.armorshield_magic,a[`repeating_equipment_${t}_equipment_armor_mod`]=r.armorshield_mod,a[`repeating_equipment_${t}_equipment_armor_bulk`]=+r.armorshield_bulk||0,+r.armorshield_worn==1&&+r.armorshield_carried==0?(a[`repeating_equipment_${t}_equipment_carried_select`]=1,a.armorshield_carried=1):a[`repeating_equipment_${t}_equipment_carried_select`]=+r.armorshield_carried||0,a[`repeating_equipment_${t}_equipment_weight`]=+r.armorshield_weight||0,a[`repeating_equipment_${t}_equipment_cost`]=+r.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`]=+r.armorshield_worn||0,a[`repeating_equipment_${t}_equipment_item`]=r.armorshield,a[`repeating_equipment_${t}_equipment_armor_ac`]=+r.armorshield_ac||0,a[`repeating_equipment_${t}_equipment_armor_base`]=+r.armorshield_base||0,a[`repeating_equipment_${t}_equipment_armor_magic`]=r.armorshield_magic,a[`repeating_equipment_${t}_equipment_armor_mod`]=r.armorshield_mod,a[`repeating_equipment_${t}_equipment_armor_bulk`]=+r.armorshield_bulk||0,a[`repeating_equipment_${t}_equipment_carried_select`]=+r.armorshield_carried||0,a[`repeating_equipment_${t}_equipment_weight`]=+r.armorshield_weight||0,a[`repeating_equipment_${t}_equipment_cost`]=+r.armorshield_cost||0):h===y[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)),(x==="helmetAttrs"||p===y[4]||i)&&(x==="helmetAttrs"||i?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`]=+r.armorhelmet_worn||0,a[`repeating_equipment_${t}_equipment_item`]=r.armorhelmet,a[`repeating_equipment_${t}_equipment_armor_ac`]=+r.armorhelmet_ac||0,a[`repeating_equipment_${t}_equipment_armor_magic`]=r.armorhelmet_magic,+r.armorhelmet_worn==1&&+r.armorhelmet_carried==0?(a[`repeating_equipment_${t}_equipment_carried_select`]=1,a.armorhelmet_carried=1):a[`repeating_equipment_${t}_equipment_carried_select`]=+r.armorhelmet_carried||0,a[`repeating_equipment_${t}_equipment_weight`]=+r.armorhelmet_weight||0,a[`repeating_equipment_${t}_equipment_cost`]=+r.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`]=+r.armorhelmet_worn||0,a[`repeating_equipment_${t}_equipment_item`]=r.armorhelmet,a[`repeating_equipment_${t}_equipment_armor_ac`]=+r.armorhelmet_ac||0,a[`repeating_equipment_${t}_equipment_armor_magic`]=r.armorhelmet_magic,a[`repeating_equipment_${t}_equipment_carried_select`]=+r.armorhelmet_carried||0,a[`repeating_equipment_${t}_equipment_weight`]=+r.armorhelmet_weight||0,a[`repeating_equipment_${t}_equipment_cost`]=+r.armorhelmet_cost||0):m===y[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)),(x==="other1Attrs"||p===y[5]||i)&&(x==="other1Attrs"||i?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`]=+r.armorother_worn||0,a[`repeating_equipment_${t}_equipment_item`]=r.armorother,a[`repeating_equipment_${t}_equipment_armor_ac`]=+r.armorother_ac||0,a[`repeating_equipment_${t}_equipment_armor_base`]=+r.armorother_base||0,a[`repeating_equipment_${t}_equipment_armor_magic`]=+r.armorother_magic||0,a[`repeating_equipment_${t}_equipment_armor_mod`]=+r.armorother_mod||0,a[`repeating_equipment_${t}_equipment_carried_select`]=+r.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`]=+r.armorother_worn||0,a[`repeating_equipment_${t}_equipment_item`]=r.armorother,a[`repeating_equipment_${t}_equipment_armor_ac`]=+r.armorother_ac||0,a[`repeating_equipment_${t}_equipment_armor_base`]=+r.armorother_base||0,a[`repeating_equipment_${t}_equipment_armor_magic`]=+r.armorother_magic||0,a[`repeating_equipment_${t}_equipment_armor_mod`]=+r.armorother_mod||0):w===y[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)),(x==="other2Attrs"||p===y[6]||i)&&(x==="other2Attrs"||i?ge?S.length===20?(t=S.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`]=+r.armorother2_worn||0,a[`repeating_equipment_${t}_equipment_item`]=r.armorother2,a[`repeating_equipment_${t}_equipment_armor_ac`]=+r.armorother2_ac||0,a[`repeating_equipment_${t}_equipment_armor_base`]=+r.armorother2_base||0,a[`repeating_equipment_${t}_equipment_armor_magic`]=+r.armorother2_magic||0,a[`repeating_equipment_${t}_equipment_armor_mod`]=+r.armorother2_mod||0,a[`repeating_equipment_${t}_equipment_carried_select`]=+r.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`]=+r.armorother2_worn||0,a[`repeating_equipment_${t}_equipment_item`]=r.armorother2,a[`repeating_equipment_${t}_equipment_armor_ac`]=+r.armorother2_ac||0,a[`repeating_equipment_${t}_equipment_armor_base`]=+r.armorother2_base||0,a[`repeating_equipment_${t}_equipment_armor_magic`]=+r.armorother2_magic||0,a[`repeating_equipment_${t}_equipment_armor_mod`]=+r.armorother2_mod||0):S===y[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)),(x==="other3Attrs"||p===y[7]||i)&&(x==="other3Attrs"||i?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`]=+r.armorother3_worn||0,a[`repeating_equipment_${t}_equipment_item`]=r.armorother3,a[`repeating_equipment_${t}_equipment_armor_ac`]=+r.armorother3_ac||0,a[`repeating_equipment_${t}_equipment_armor_base`]=+r.armorother3_base||0,a[`repeating_equipment_${t}_equipment_armor_magic`]=+r.armorother3_magic||0,a[`repeating_equipment_${t}_equipment_armor_mod`]=+r.armorother3_mod||0,a[`repeating_equipment_${t}_equipment_carried_select`]=+r.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`]=+r.armorother3_worn||0,a[`repeating_equipment_${t}_equipment_item`]=r.armorother3,a[`repeating_equipment_${t}_equipment_armor_ac`]=+r.armorother3_ac||0,a[`repeating_equipment_${t}_equipment_armor_base`]=+r.armorother3_base||0,a[`repeating_equipment_${t}_equipment_armor_magic`]=+r.armorother3_magic||0,a[`repeating_equipment_${t}_equipment_armor_mod`]=+r.armorother3_mod||0):b===y[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)),(x==="other4Attrs"||p===y[8]||i)&&(x==="other4Attrs"||i?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`]=+r.armorother4_worn||0,a[`repeating_equipment_${t}_equipment_item`]=r.armorother4,a[`repeating_equipment_${t}_equipment_armor_ac`]=+r.armorother4_ac||0,a[`repeating_equipment_${t}_equipment_armor_base`]=+r.armorother4_base||0,a[`repeating_equipment_${t}_equipment_armor_magic`]=+r.armorother4_magic||0,a[`repeating_equipment_${t}_equipment_armor_mod`]=+r.armorother4_mod||0,a[`repeating_equipment_${t}_equipment_carried_select`]=+r.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`]=+r.armorother4_worn||0,a[`repeating_equipment_${t}_equipment_item`]=r.armorother4,a[`repeating_equipment_${t}_equipment_armor_ac`]=+r.armorother4_ac||0,a[`repeating_equipment_${t}_equipment_armor_base`]=+r.armorother4_base||0,a[`repeating_equipment_${t}_equipment_armor_magic`]=+r.armorother4_magic||0,a[`repeating_equipment_${t}_equipment_armor_mod`]=+r.armorother4_mod||0):M===y[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)),(x==="other5Attrs"||p===y[9]||i)&&(x==="other5Attrs"||i?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`]=+r.armorother5_worn||0,a[`repeating_equipment_${t}_equipment_item`]=r.armorother5,a[`repeating_equipment_${t}_equipment_armor_ac`]=+r.armorother5_ac||0,a[`repeating_equipment_${t}_equipment_armor_base`]=+r.armorother5_base||0,a[`repeating_equipment_${t}_equipment_armor_magic`]=+r.armorother5_magic||0,a[`repeating_equipment_${t}_equipment_armor_mod`]=+r.armorother5_mod||0,a[`repeating_equipment_${t}_equipment_carried_select`]=+r.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`]=+r.armorother5_worn||0,a[`repeating_equipment_${t}_equipment_item`]=r.armorother5,a[`repeating_equipment_${t}_equipment_armor_ac`]=+r.armorother5_ac||0,a[`repeating_equipment_${t}_equipment_armor_base`]=+r.armorother5_base||0,a[`repeating_equipment_${t}_equipment_armor_magic`]=+r.armorother5_magic||0,a[`repeating_equipment_${t}_equipment_armor_mod`]=+r.armorother5_mod||0):f===y[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)),(x==="other6Attrs"||p===y[10]||i)&&(x==="other6Attrs"||i?qe?T.length===20?(t=T.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`]=+r.armorother6_worn||0,a[`repeating_equipment_${t}_equipment_item`]=r.armorother6,a[`repeating_equipment_${t}_equipment_armor_ac`]=+r.armorother6_ac||0,a[`repeating_equipment_${t}_equipment_armor_base`]=+r.armorother6_base||0,a[`repeating_equipment_${t}_equipment_armor_magic`]=+r.armorother6_magic||0,a[`repeating_equipment_${t}_equipment_armor_mod`]=+r.armorother6_mod||0,a[`repeating_equipment_${t}_equipment_carried_select`]=+r.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`]=+r.armorother6_worn||0,a[`repeating_equipment_${t}_equipment_item`]=r.armorother6,a[`repeating_equipment_${t}_equipment_armor_ac`]=+r.armorother6_ac||0,a[`repeating_equipment_${t}_equipment_armor_base`]=+r.armorother6_base||0,a[`repeating_equipment_${t}_equipment_armor_magic`]=+r.armorother6_magic||0,a[`repeating_equipment_${t}_equipment_armor_mod`]=+r.armorother6_mod||0):T===y[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 Vt=(n,o)=>{let e={};da(null,null,0,1),e.sheet_version=n,g("VERSION UPDATE: migrateArmorDetails completed"),setAttrs(e,{silent:!0},$(n,o))},Ft=(n,o)=>{getSectionIDs("repeating_equipment",e=>{let i={},r=[];_.each(e,a=>{r.push(s("equipment",a,"equipment_type")),r.push(s("equipment",a,"equipment_current")),r.push(s("equipment",a,"equipment_current_max")),r.push(s("equipment",a,"equipment_carried_select")),r.push(s("equipment",a,"equipment_carried")),r.push(s("equipment",a,"equipment_quantity")),r.push(s("equipment",a,"equipment_quantity_max")),r.push(s("equipment",a,"equipment_weight")),r.push(s("equipment",a,"equipment_cost")),r.push(s("equipment",a,"equipment_armor_type")),r.push(s("equipment",a,"equipment_armor_worn")),r.push(s("equipment",a,"equipment_armor_ac")),r.push(s("equipment",a,"equipment_armor_base")),r.push(s("equipment",a,"equipment_armor_magic")),r.push(s("equipment",a,"equipment_armor_mod")),r.push(s("equipment",a,"equipment_armor_bulk")),r.push(s("equipment",a,"equipment_macro_text"))}),getAttrs(r,a=>{_.each(e,t=>{i[s("equipment",t,"equipment_type")]=+a[s("equipment",t,"equipment_type")]||0,i[s("equipment",t,"equipment_current")]=+a[s("equipment",t,"equipment_current")]||0,i[s("equipment",t,"equipment_current_max")]=+a[s("equipment",t,"equipment_current_max")]||0,i[s("equipment",t,"equipment_carried_select")]=+a[s("equipment",t,"equipment_carried")]||0,i[s("equipment",t,"equipment_carried")]=+a[s("equipment",t,"equipment_carried")]||0,i[s("equipment",t,"equipment_quantity")]=+a[s("equipment",t,"equipment_quantity")]||0,i[s("equipment",t,"equipment_quantity_max")]=+a[s("equipment",t,"equipment_quantity_max")]||0,i[s("equipment",t,"equipment_weight")]=+a[s("equipment",t,"equipment_weight")]||0,i[s("equipment",t,"equipment_cost")]=+a[s("equipment",t,"equipment_cost")]||0,i[s("equipment",t,"equipment_armor_type")]=+a[s("equipment",t,"equipment_armor_type")]||0,i[s("equipment",t,"equipment_armor_worn")]=+a[s("equipment",t,"equipment_armor_worn")]||0,i[s("equipment",t,"equipment_armor_ac")]=+a[s("equipment",t,"equipment_armor_ac")]||0,i[s("equipment",t,"equipment_armor_base")]=+a[s("equipment",t,"equipment_armor_base")]||0,i[s("equipment",t,"equipment_armor_magic")]=+a[s("equipment",t,"equipment_armor_magic")]||0,i[s("equipment",t,"equipment_armor_mod")]=+a[s("equipment",t,"equipment_armor_mod")]||0,i[s("equipment",t,"equipment_armor_bulk")]=+a[s("equipment",t,"equipment_armor_bulk")]||0,i[s("equipment",t,"equipment_macro_text")]=a[s("equipment",t,"equipment_macro_text")]}),i.sheet_version=n,g("VERSION UPDATE: setEquipmentUpdate completed"),setAttrs(i,{silent:!0},$(n,o))})})},Gt=(n,o)=>{getSectionIDs("repeating_weapon",e=>{let i={},r=[];_.each(e,a=>{r.push(s("weapon",a,"weapon_attack_type")),r.push(s("weapon",a,"weapon_dual")),r.push(s("weapon",a,"weapon_whisper_to_hit")),r.push(s("weapon",a,"weapon_whisper_to_hit_select")),r.push(s("weapon",a,"weapon_dual_pen")),r.push(s("weapon",a,"weapon_backstab_var")),r.push(s("weapon",a,"weapon_tohitbonus")),r.push(s("weapon",a,"weapon_magicbonus")),r.push(s("weapon",a,"weapon_prof")),r.push(s("weapon",a,"weapon_backstab")),r.push(s("weapon",a,"weapon_backstab_bonus")),r.push(s("weapon",a,"weapon_backstab_mult")),r.push(s("weapon",a,"weapon_attackdmgbonus")),r.push(s("weapon",a,"weapon_num_attacks")),r.push(s("weapon",a,"weapon_quantity")),r.push(s("weapon",a,"weapon_ammo")),r.push(s("weapon",a,"weapon_ammo_max")),r.push(s("weapon",a,"weapon_weight")),r.push(s("weapon",a,"weapon_cost")),r.push(s("weapon",a,"weapon_range_short")),r.push(s("weapon",a,"weapon_range_medium")),r.push(s("weapon",a,"weapon_range_long")),r.push(s("weapon",a,"weapon_length")),r.push(s("weapon",a,"weapon_space")),r.push(s("weapon",a,"weapon_speed")),r.push(s("weapon",a,"weapon_misc")),r.push(s("weapon",a,"weapon_thac_adj0")),r.push(s("weapon",a,"weapon_thac_adj1")),r.push(s("weapon",a,"weapon_thac_adj2")),r.push(s("weapon",a,"weapon_thac_adj3")),r.push(s("weapon",a,"weapon_thac_adj4")),r.push(s("weapon",a,"weapon_thac_adj5")),r.push(s("weapon",a,"weapon_thac_adj6")),r.push(s("weapon",a,"weapon_thac_adj7")),r.push(s("weapon",a,"weapon_thac_adj8")),r.push(s("weapon",a,"weapon_thac_adj9")),r.push(s("weapon",a,"weapon_thac_adj10")),r.push(s("weapon",a,"weapon_macro_text")),r.push(s("weapon",a,"weapon_damagesmallmedium_chat_menu")),r.push(s("weapon",a,"weapon_damagelarge_chat_menu")),r.push(s("weapon",a,"weapon_damagesmallmedium_npc_chat_menu")),r.push(s("weapon",a,"weapon_damagelarge_npc_chat_menu")),r.push(s("weapon",a,"weapon_critdamagesmallmedium_chat_menu")),r.push(s("weapon",a,"weapon_critdamagelarge_chat_menu")),r.push(s("weapon",a,"weapon_critdamagesmallmedium_npc_chat_menu")),r.push(s("weapon",a,"weapon_critdamagelarge_npc_chat_menu")),r.push(s("weapon",a,"weapon_damage_chat_menu_npc"))}),getAttrs(r,a=>{_.each(e,t=>{i[`repeating_weapon_${t}_weapon_attack_type`]=+a[s("weapon",t,"weapon_attack_type")]||0,i[`repeating_weapon_${t}_weapon_dual`]=a[s("weapon",t,"weapon_dual")],i[`repeating_weapon_${t}_weapon_whisper_to_hit`]=a[s("weapon",t,"weapon_whisper_to_hit")],i[`repeating_weapon_${t}_weapon_whisper_to_hit_select`]=+a[s("weapon",t,"weapon_whisper_to_hit_select")]||0,i[`repeating_weapon_${t}_weapon_dual_pen`]=+a[s("weapon",t,"weapon_dual_pen")]||0,i[`repeating_weapon_${t}_weapon_backstab_var`]=+a[s("weapon",t,"weapon_backstab_var")]||0,i[`repeating_weapon_${t}_weapon_tohitbonus`]=+a[s("weapon",t,"weapon_tohitbonus")]||0,i[`repeating_weapon_${t}_weapon_magicbonus`]=+a[s("weapon",t,"weapon_magicbonus")]||0,i[`repeating_weapon_${t}_weapon_prof`]=+a[s("weapon",t,"weapon_prof")]||0,i[`repeating_weapon_${t}_weapon_backstab`]=+a[s("weapon",t,"weapon_backstab")]||0,i[`repeating_weapon_${t}_weapon_backstab_bonus`]=+a[s("weapon",t,"weapon_backstab_bonus")]||0,i[`repeating_weapon_${t}_weapon_backstab_mult`]=+a[s("weapon",t,"weapon_backstab_mult")]||0,i[`repeating_weapon_${t}_weapon_attackdmgbonus`]=+a[s("weapon",t,"weapon_attackdmgbonus")]||0,i[`repeating_weapon_${t}_weapon_num_attacks`]=+a[s("weapon",t,"weapon_num_attacks")]||0,i[`repeating_weapon_${t}_weapon_quantity`]=+a[s("weapon",t,"weapon_quantity")]||0,i[`repeating_weapon_${t}_weapon_ammo`]=+a[s("weapon",t,"weapon_ammo")]||0,i[`repeating_weapon_${t}_weapon_ammo_max`]=+a[s("weapon",t,"weapon_ammo_max")]||0,i[`repeating_weapon_${t}_weapon_weight`]=+a[s("weapon",t,"weapon_weight")]||0,i[`repeating_weapon_${t}_weapon_cost`]=+a[s("weapon",t,"weapon_cost")]||0,i[`repeating_weapon_${t}_weapon_range_short`]=+a[s("weapon",t,"weapon_range_short")]||0,i[`repeating_weapon_${t}_weapon_range_medium`]=+a[s("weapon",t,"weapon_range_medium")]||0,i[`repeating_weapon_${t}_weapon_range_long`]=+a[s("weapon",t,"weapon_range_long")]||0,i[`repeating_weapon_${t}_weapon_length`]=a[s("weapon",t,"weapon_length")],i[`repeating_weapon_${t}_weapon_space`]=a[s("weapon",t,"weapon_space")],i[`repeating_weapon_${t}_weapon_speed`]=a[s("weapon",t,"weapon_speed")],i[`repeating_weapon_${t}_weapon_misc`]=a[s("weapon",t,"weapon_misc")],i[`repeating_weapon_${t}_weapon_thac_adj0`]=+a[s("weapon",t,"weapon_thac_adj0")]||0,i[`repeating_weapon_${t}_weapon_thac_adj1`]=+a[s("weapon",t,"weapon_thac_adj1")]||0,i[`repeating_weapon_${t}_weapon_thac_adj2`]=+a[s("weapon",t,"weapon_thac_adj2")]||0,i[`repeating_weapon_${t}_weapon_thac_adj3`]=+a[s("weapon",t,"weapon_thac_adj3")]||0,i[`repeating_weapon_${t}_weapon_thac_adj4`]=+a[s("weapon",t,"weapon_thac_adj4")]||0,i[`repeating_weapon_${t}_weapon_thac_adj5`]=+a[s("weapon",t,"weapon_thac_adj5")]||0,i[`repeating_weapon_${t}_weapon_thac_adj6`]=+a[s("weapon",t,"weapon_thac_adj6")]||0,i[`repeating_weapon_${t}_weapon_thac_adj7`]=+a[s("weapon",t,"weapon_thac_adj7")]||0,i[`repeating_weapon_${t}_weapon_thac_adj8`]=+a[s("weapon",t,"weapon_thac_adj8")]||0,i[`repeating_weapon_${t}_weapon_thac_adj9`]=+a[s("weapon",t,"weapon_thac_adj9")]||0,i[`repeating_weapon_${t}_weapon_thac_adj10`]=+a[s("weapon",t,"weapon_thac_adj10")]||0,i[`repeating_weapon_${t}_weapon_macro_text`]=a[s("weapon",t,"weapon_macro_text")],i[`repeating_weapon_${t}_weapon_damagesmallmedium_chat_menu`]=a[s("weapon",t,"weapon_damagesmallmedium_chat_menu")],i[`repeating_weapon_${t}_weapon_damagelarge_chat_menu`]=a[s("weapon",t,"weapon_damagelarge_chat_menu")],i[`repeating_weapon_${t}_weapon_damagesmallmedium_npc_chat_menu`]=a[s("weapon",t,"weapon_damagesmallmedium_npc_chat_menu")],i[`repeating_weapon_${t}_weapon_damagelarge_npc_chat_menu`]=a[s("weapon",t,"weapon_damagelarge_npc_chat_menu")],i[`repeating_weapon_${t}_weapon_critdamagesmallmedium_chat_menu`]=a[s("weapon",t,"weapon_critdamagesmallmedium_chat_menu")],i[`repeating_weapon_${t}_weapon_critdamagelarge_chat_menu`]=a[s("weapon",t,"weapon_critdamagelarge_chat_menu")],i[`repeating_weapon_${t}_weapon_critdamagesmallmedium_npc_chat_menu`]=a[s("weapon",t,"weapon_critdamagesmallmedium_npc_chat_menu")],i[`repeating_weapon_${t}_weapon_critdamagelarge_npc_chat_menu`]=a[s("weapon",t,"weapon_critdamagelarge_npc_chat_menu")],i[`repeating_weapon_${t}_weapon_damage_chat_menu_npc`]=a[s("weapon",t,"weapon_damage_chat_menu_npc")]}),i.sheet_version=n,g("VERSION UPDATE: setWeaponsUpdate completed"),setAttrs(i,{silent:!0},$(n,o))})})},zt=()=>{getSectionIDs("repeating_weapon",n=>{let o={},e=[];_.each(n,i=>{e.push(s("weapon",i,"weapon_quantity")),e.push(s("weapon",i,"weapon_weight")),e.push(s("weapon",i,"weapon_cost"))}),getAttrs(e,i=>{_.each(n,r=>{o[s("weapon",r,"weapon_quantity")]=+i[s("weapon",r,"weapon_quantity")]||0,o[s("weapon",r,"weapon_weight")]=0,o[s("weapon",r,"weapon_cost")]=0}),setAttrs(o)})})},Kt=()=>{getSectionIDs("repeating_weapon",n=>{getSectionIDs("repeating_equipment",o=>{let e={},i=[],r=[],a=[...i,...r];_.each(n,t=>{a.push(s("weapon",t,"weapon_name")),a.push(s("weapon",t,"weapon_quantity")),a.push(s("weapon",t,"weapon_weight")),a.push(s("weapon",t,"weapon_cost"))}),_.each(o,t=>{a.push(s("equipment",t,"equipment_item")),a.push(s("equipment",t,"equipment_quantity")),a.push(s("equipment",t,"equipment_weight")),a.push(s("equipment",t,"equipment_cost"))}),getAttrs(a,t=>{let p=[],c=[],l=[],u=[],h="";_.each(n,m=>{let w=t[s("weapon",m,"weapon_name")],S=t[s("weapon",m,"weapon_quantity")],b=t[s("weapon",m,"weapon_weight")],M=t[s("weapon",m,"weapon_cost")];if(_.each(o,f=>{let T=f;u.push(T);let y=t[s("equipment",f,"equipment_item")];p.push(y);let L=t[s("equipment",f,"equipment_weight")];c.push(L);let U=t[s("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`]=S,e[`repeating_equipment_${h}_equipment_quantity_max`]=S,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`]=S,e[`repeating_equipment_${h}_equipment_quantity_max`]=S,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},zt())})})})},Yt=(n,o)=>{let e={};Kt(),e.sheet_version=n,g("VERSION UPDATE: migrateWeaponWtCost completed"),setAttrs(e,{silent:!0},$(n,o))},Xt=(n,o)=>{getSectionIDs("repeating_equipment",e=>{let i={},r=[];_.each(e,a=>{r.push(s("equipment",a,"equipment_type"))}),getAttrs(r,a=>{_.each(e,t=>{let p=+a[s("equipment",t,"equipment_type")]||0;p>=0||(i[s("equipment",t,"equipment_type")]=0,g(`equipType -1:${p} reset to Gear`))}),i.sheet_version=n,g("VERSION UPDATE: setEquipmentType completed"),setAttrs(i,{silent:!0},$(n,o))})})},Qt=(n,o)=>{let e={};ma(),e.sheet_version=n,g("VERSION UPDATE: migrateSetSpellsCasterClass completed"),setAttrs(e,{silent:!0},$(n,o))},Zt=(n,o)=>{let e={};V(0),e.sheet_version=n,g("VERSION UPDATE: recalcAC completed"),setAttrs(e,{silent:!0},$(n,o))},Jt=(n,o)=>{let e={};e.init_macro_text="",e.sheet_version=n,g("VERSION UPDATE: recalcAC completed"),setAttrs(e,{silent:!0},$(n,o))},vt=(n,o)=>{getSectionIDs("repeating_weapon",e=>{let i=[];_.each(e,r=>{i.push(s("weapon",r,"weapon_critdamagesmallmedium")),i.push(s("weapon",r,"weapon_critdamagelarge"))}),getAttrs([...i],r=>{let a={},t="(@{weapon_damagesmallmedium})*2",p="(@{weapon_damagelarge})*2";_.each(e,c=>{let l=r[s("weapon",c,"weapon_critdamagesmallmedium")]||t,u=r[s("weapon",c,"weapon_critdamagelarge")]||p;a[s("weapon",c,"weapon_critdamagesmallmedium")]=l.replace(/@{weapon_damagesmallmedium}*2/g,"(@{weapon_damagesmallmedium})*2"),a[s("weapon",c,"weapon_critdamagelarge")]=u.replace(/@{weapon_damagelarge}*2/g,"(@{weapon_damagelarge})*2")}),a.sheet_version=n,g("VERSION UPDATE: updateCriticalDamageMacro completed"),setAttrs(a,{silent:!0},$(n,o))})})},eo=()=>{getAttrs(["hitdice","armorclass","strength","intelligence","wisdom","dexterity","constitution","charisma","old_character"],n=>{let o={};if((+n.old_character||0)===1)return;let i=+n.hitdice,r=+n.armorclass||0,a=+n.strength||0,t=+n.intelligence||0,p=+n.wisdom||0,c=+n.dexterity||0,l=+n.constitution||0,u=+n.charisma||0,h=a+t+p+c+l+u;i===0&&r===10&&h===60?(o.strength=a===10?8:a,o.intelligence=t===10?8:t,o.wisdom=p===10?8:p,o.dexterity=c===10?8:c,o.constitution=l===10?8:l,o.charisma=u===10?8:u,o.old_character=1,Fa()):o.old_character=1,setAttrs(o,{silent:!0})})};$=(n,o)=>{n<.1?kt(.1,o):n<1.2?At(1.2,o):n<1.5?xt(1.5,o):n<1.52?St(1.52,o):n<1.53?Mt(1.53,o):n<1.54?Dt(1.54,o):n<1.55?Et(1.55,o):n<1.56?Ct(1.56,o):n<1.57?It(1.57,o):n<1.591?La(1.591,o):n<1.592?ja(1.592,o):n<1.593?Ba(1.593,o):n<1.594?Nt(1.594,o):n<1.595?Be(1.595,o):n<1.596?Ra(1.596,o):n<1.597?Rt(1.597,o):n<1.598?Lt(1.598,o):n<1.61?Bt(1.61,o):n<1.62?Pt(1.62,o):n<1.634?Be(1.634,o):n<1.635?Ot(1.635,o):n<1.636?Tt(1.636,o):n<1.637?Be(1.637,o):n<1.638?Ut(1.638,o):n<1.639?Ht(1.639,o):n<1.64?Vt(1.641,o):n<1.642?jt(1.643,o):n<1.644?Ft(1.644,o):n<1.645?Gt(1.645,o):n<1.646?Yt(1.646,o):n<1.648?Xt(1.648,o):n<1.65?Qt(1.65,o):n<1.652?Ra(1.652,o):n<1.654?Zt(1.654,o):n<1.656?Jt(1.656,o):n<1.658?vt(1.658,o):n<o?setAttrs({sheet_version:o}):n===o&&eo()};on("sheet:opened",()=>{getAttrs(["sheet_version","old_character"],o=>{let e={},i=O(o.sheet_version);+o.old_character==0&&i===0&&(i=1.658,e.sheet_version=1.658,setAttrs(e,{silent:!0})),g(`Current sheet data version:${i}, Sheet code version:${1.658}`),$(i,1.658)})});on("change:abilities_info_show change:toggle_exceptional change:intelligence change:wisdom change:dexterity change:constitution change:charisma change:comeliness",n=>{getAttrs(["intelligence","wisdom","dexterity","constitution","charisma","comeliness","toggle_exceptional"],o=>{let e={};(+o.toggle_exceptional||0)!==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",n=>{getAttrs(["strength"],o=>{let e={};e.exceptional_strength_flag=1,setAttrs(e,{silent:!0})})});on("change:is_npc",n=>{getAttrs(["is_npc","toggle_npc"],o=>{let e={},i=+o.is_npc,r=+o.toggle_npc;r=i===0?0:1,e.toggle_npc=r,setAttrs(e,{silent:!0})})});var ao=()=>{getSectionIDs("repeating_equipment",n=>{let o={},e=[];_.each(n,i=>{e.push(s("equipment",i,"equipment_quantity")),e.push(s("equipment",i,"equipment_cost"))}),getAttrs(e,i=>{let r=[];_.each(n,t=>{let p=+i[s("equipment",t,"equipment_quantity")]||0,c=+i[s("equipment",t,"equipment_cost")]||0;c=p>0?c*p:0,r.push(c)});let a=r.reduce((t,p)=>t+p,0);o.total_equipment_cost=a.toFixed(2),o.total_cost=a.toFixed(2),setAttrs(o,{silent:!0})})})},to=()=>{getSectionIDs("repeating_equipment",n=>{let o={},e=[];_.each(n,i=>{e.push(s("equipment",i,"equipment_type")),e.push(s("equipment",i,"equipment_armor_type")),e.push(s("equipment",i,"equipment_location")),e.push(s("equipment",i,"equipment_weight")),e.push(s("equipment",i,"equipment_quantity")),e.push(s("equipment",i,"equipment_carried")),e.push(s("equipment",i,"equipment_carried_select"))}),getAttrs(["total_coin_weight",...e],i=>{let r=[],a=[],t=[];_.each(n,m=>{let w=+i[s("equipment",m,"equipment_type")]||0,S=+i[s("equipment",m,"equipment_armor_type")]||0,b=0,M=+i[s("equipment",m,"equipment_carried_select")]||0;o[s("equipment",m,"equipment_carried")]=M===1?1:0,b=M===1?1:0;let f=+i[s("equipment",m,"equipment_quantity")]||0,T=+i[s("equipment",m,"equipment_weight")]||0,y=0,L=0;T=T*f*b,w===1&&(y=T),w===2&&(L=T),r.push(y),a.push(L),t.push(T)});let p=r.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(O(i.total_coin_weight)+O(l));o.total_weapon_weight=p.toFixed(2),o.total_armor_weight=c.toFixed(2),o.total_equipment_weight=l.toFixed(2),o.total_equipment_weight_adjusted=u.toFixed(2),o.total_weight=h,setAttrs(o,{silent:!0})})})};on("change:repeating_equipment:equipment_quantity change:repeating_equipment:equipment_cost remove:repeating_equipment",n=>{ao()});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",n=>{to()});on("change:pp change:gp change:ep change:sp change:cp change:toggle_lbs",n=>{getAttrs(["pp","gp","ep","sp","cp","toggle_lbs"],o=>{let e=+(o.toggle_lbs||0)?10:1;setAttrs({total_coin_weight:(Math.round((O(o.pp)+O(o.gp)+O(o.ep)+O(o.sp)+O(o.cp))/1)/e).toFixed(2)})})});function oo(){getAttrs(["normal_load_adjusted","heavy_load","very_heavy_load","total_weight","autocalc_movement_flag","current_bulk","current_encumbrance_move"],n=>{let o={},e=+n.autocalc_movement_flag||0,i=+n.normal_load_adjusted||0,r=+n.heavy_load||0,a=+n.very_heavy_load||0,t=+n.total_weight||0,p=+n.current_bulk||0,c=0;t<=i?(o.current_encumbrance_label="Unencumbered",c=0,o.current_encumbrance=c,o.current_encumbrance_move=e===1?Math.max(c,p):n.current_encumbrance_move):t>i&&t<=r?(o.current_encumbrance_label="Heavy",c=1,o.current_encumbrance=c,o.current_encumbrance_move=e===1?Math.max(c,p):n.current_encumbrance_move):t>r&&t<=a?(o.current_encumbrance_label="Very Heavy",c=2,o.current_encumbrance=c,o.current_encumbrance_move=e===1?Math.max(c,p):n.current_encumbrance_move):(o.current_encumbrance_label="Encumbered",c=3,o.current_encumbrance=c,o.current_encumbrance_move=e===1?Math.max(c,p):n.current_encumbrance_move),setAttrs(o)})}on("sheet:opened change:encumbrancebonus change:normal_load change:total_weight change:autocalc_movement_flag change:current_bulk change:encumbrancebonus_lbs change:toggle_lbs",n=>{getAttrs(["encumbrancebonus","toggle_lbs"],o=>{let e={},i=+(o.toggle_lbs||0),r=i?.1:1,a=350*r,t=+o.encumbrancebonus||0,p=O(t*r),l=a+(i?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},oo())})});function no(){getAttrs(["current_encumbrance_move","movement"],n=>{let o={},e=+n.movement.toString().replace(/[^0-9]/g,""),i=+n.current_encumbrance_move||0,r=0;i===0?r=e:i===1?r=q(e-3):i===2?r=q(e-6):r=q(e-9),o.movement_normal=r,o.movement_known=r*5,o.movement_run=r*10,setAttrs(o,{silent:!0})})}on("change:movement change:current_encumbrance change:current_encumbrance_move change:autocalc_movement_flag",n=>{getAttrs(["movement"],o=>{let e={},r=+o.movement.toString().replace(/[^0-9]/g,"");e.movement_heavy=Math.max(r-3,0),e.movement_load=Math.max(r-6,0),e.movement_max=Math.max(r-9,0),setAttrs(e,{silent:!0},no(),V(0))})});function ro(){getAttrs(["unarmored_bulk","armortype_bulk","armortype2_bulk","armorshield_bulk","unarmored_worn","armortype_worn","armortype2_worn","armorshield_worn","armorshield_carried"],n=>{let o={},{unarmored_worn:e}=n,{armortype_worn:i}=n,{armortype2_worn:r}=n,{armorshield_worn:a}=n,{armorshield_carried:t}=n,p=Math.max(a,t),c=n.unarmored_bulk*e,l=n.armortype_bulk*i,u=n.armortype2_bulk*r,h=n.armorshield_bulk*p;switch(Math.max(c,l,u,h)){case 0:o.current_bulk_label="Not Bulky",o.current_bulk=0;break;case 1:o.current_bulk_label="Not Bulky/Light",o.current_bulk=0;break;case 2:o.current_bulk_label="Fairly/Moderate",o.current_bulk=1;break;case 3:o.current_bulk_label="Bulky/Heavy",o.current_bulk=2;break;default:g(">> failure in bulk calculation <<")}setAttrs(o)})}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",n=>{ro()});on("change:repeating_equipment:equipment_carried_select change:repeating_equipment:equipment_type change:repeating_equipment:equipment_carried_select",n=>{let o=n.sourceAttribute.split("_")[2],e=`${n.sourceAttribute}`,r=/equipment_type/.test(e),a=[s("equipment",o,"equipment_type"),s("equipment",o,"equipment_carried_select")];getAttrs(["equipment_tabs_type","equipment_tabs_carry",...a],t=>{let p={},c=+t.equipment_tabs_carry||0,l=+t.equipment_tabs_type||0,u=+t[s("equipment",o,"equipment_type")]||0,h=+t[s("equipment",o,"equipment_carried_select")]||0;p[s("equipment",o,"equipment_carried")]=h===1?1:0,p.equipment_tabs_type=l!==-1&&r?u:l,p.equipment_tabs_carry=c===-1||c===h?-1:h,setAttrs(p)})});on("change:equipment_tabs_type change:equipment_tabs_carry change:repeating_equipment:equipment_magical",n=>{getSectionIDs("repeating_equipment",o=>{let e=[];_.each(o,i=>{e.push(s("equipment",i,"equipment_type")),e.push(s("equipment",i,"equipment_carried_select")),e.push(s("equipment",i,"equipment_magical"))}),getAttrs(["equipment_tabs_type","equipment_tabs_carry","equipment_magical",...e],i=>{let r={},a=+i.equipment_tabs_type||0,t=+i.equipment_tabs_carry||0;_.each(o,p=>{let c=+i[s("equipment",p,"equipment_magical")]||0,l=+i[s("equipment",p,"equipment_type")]||0,u=+i[s("equipment",p,"equipment_carried_select")]||0;if(a===-1||a===l||a===3&&c)return r[s("equipment",p,"equipment_show_type")]=1;r[s("equipment",p,"equipment_show_type")]=0,r[s("equipment",p,"equipment_show_carry")]=t===-1||t===u?1:0}),setAttrs(r)})})});var _o=()=>{getSectionIDs("repeating_equipment",n=>{let o=n.reduce((e,i)=>[...e,`repeating_equipment_${i}_equipment_armor_type`],[]);getAttrs(["armordetails_array",...De,...o],e=>{let i={},r=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(),S=e.armorother6_row_id.toString(),b=[r,a,t,p,c,l,u,h,m,w,S].map(M=>M?M.toString().toLowerCase():"0");_.each(n,M=>{let f=+e[`repeating_equipment_${M}_equipment_armor_type`];if(f===99)return;let T=b.map((y,L)=>y===M?`${Math.floor(L)+1}`:null).filter(y=>y!==null);if(T.length>1){let U=T.join(",").split(",").filter(K=>K!==String(f));switch(U.length>0?U[0]:null){case"1":i.unarmored="",g(">> DELETE/RESET ROW 0 - Unarmored <<");break;case"2":i.armortype="",g(">> DELETE/RESET ROW 1 - Armor 1 <<");break;case"3":i.armortype2="",g(">> DELETE/RESET ROW 2 - Armor 2 <<");break;case"4":i.armorshield="",g(">> DELETE/RESET ROW 3 - Shield <<");break;case"5":i.armorhelmet="",g(">> DELETE/RESET ROW 4 - Helmet <<");break;case"6":i.armorother="",g(">> DELETE/RESET ROW 5 - Other <<");break;case"7":i.armorother2="",g(">> DELETE/RESET ROW 6 - Other 2 <<");break;case"8":i.armorother3="",g(">> DELETE/RESET ROW 7 - Other 3 <<");break;case"9":i.armorother4="",g(">> DELETE/RESET ROW 8 - Other 4 <<");break;case"10":i.armorother5="",g(">> DELETE/RESET ROW 9 - Other 5 <<");break;case"11":i.armorother6="",g(">> DELETE/RESET ROW 10 - Other 6 <<");break;default:g(">> NOTHING TO DELETE/RESET <<")}}}),setAttrs(i)})})},so=`${ba.map(n=>`change:${n}`).join(" ")}`;on(so,n=>{if(n.sourceType==="sheetworker")return;let o=n.sourceAttribute,e=n.previousValue,i=n.newValue,r=0;getAttrs(ba,a=>{let t={},p="";o==="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||0,t[`repeating_equipment_${p}_equipment_armor_base`]=+a.unarmored_base||0,t[`repeating_equipment_${p}_equipment_carried_select`]=1,g(`repeating armor does not exist. Creating unarmored: ${p}`)),o==="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||0,t[`repeating_equipment_${p}_equipment_item`]=a.armortype,t[`repeating_equipment_${p}_equipment_armor_ac`]=+a.armortype_ac||0,t[`repeating_equipment_${p}_equipment_armor_base`]=+a.armortype_base||0,t[`repeating_equipment_${p}_equipment_armor_magic`]=+a.armortype_magic||0,t[`repeating_equipment_${p}_equipment_armor_bulk`]=+a.armortype_bulk||0,t[`repeating_equipment_${p}_equipment_carried_select`]=+a.armortype_carried||0,t[`repeating_equipment_${p}_equipment_weight`]=+a.armor_weight||0,t[`repeating_equipment_${p}_equipment_cost`]=+a.armor_cost||0),o==="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||0,t[`repeating_equipment_${p}_equipment_item`]=a.armortype2,t[`repeating_equipment_${p}_equipment_armor_ac`]=+a.armortype2_ac||0,t[`repeating_equipment_${p}_equipment_armor_base`]=+a.armortype2_base||0,t[`repeating_equipment_${p}_equipment_armor_magic`]=+a.armortype2_magic||0,t[`repeating_equipment_${p}_equipment_armor_bulk`]=+a.armortype2_bulk||0,t[`repeating_equipment_${p}_equipment_carried_select`]=+a.armortype2_carried||0,t[`repeating_equipment_${p}_equipment_weight`]=+a.armortype2_weight||0,t[`repeating_equipment_${p}_equipment_cost`]=+a.armortype2_cost||0),o==="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||0,t[`repeating_equipment_${p}_equipment_item`]=a.armorshield,t[`repeating_equipment_${p}_equipment_armor_ac`]=+a.armorshield_ac||0,t[`repeating_equipment_${p}_equipment_armor_base`]=+a.armorshield_base||0,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||0,t[`repeating_equipment_${p}_equipment_carried_select`]=+a.armorshield_carried||0,t[`repeating_equipment_${p}_equipment_weight`]=+a.armorshield_weight||0,t[`repeating_equipment_${p}_equipment_cost`]=+a.armorshield_cost||0),o==="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||0,t[`repeating_equipment_${p}_equipment_item`]=a.armorhelmet,t[`repeating_equipment_${p}_equipment_armor_ac`]=+a.armorhelmet_ac||0,t[`repeating_equipment_${p}_equipment_armor_magic`]=+a.armorhelmet_magic||0,t[`repeating_equipment_${p}_equipment_carried_select`]=+a.armorhelmet_carried||0,t[`repeating_equipment_${p}_equipment_weight`]=+a.armorhelmet_weight||0,t[`repeating_equipment_${p}_equipment_cost`]=+a.armorhelmet_cost||0),o==="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||0,t[`repeating_equipment_${p}_equipment_item`]=a.armorother,t[`repeating_equipment_${p}_equipment_armor_ac`]=+a.armorother_ac||0,t[`repeating_equipment_${p}_equipment_armor_base`]=+a.armorother_base||0,t[`repeating_equipment_${p}_equipment_armor_magic`]=+a.armorother_magic||0,t[`repeating_equipment_${p}_equipment_armor_mod`]=+a.armorother_mod||0),o==="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||0,t[`repeating_equipment_${p}_equipment_item`]=a.armorother2,t[`repeating_equipment_${p}_equipment_armor_ac`]=+a.armorother2_ac||0,t[`repeating_equipment_${p}_equipment_armor_base`]=+a.armorother2_base||0,t[`repeating_equipment_${p}_equipment_armor_magic`]=+a.armorother2_magic||0,t[`repeating_equipment_${p}_equipment_armor_mod`]=+a.armorother2_mod||0),o==="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||0,t[`repeating_equipment_${p}_equipment_item`]=a.armorother3,t[`repeating_equipment_${p}_equipment_armor_ac`]=+a.armorother3_ac||0,t[`repeating_equipment_${p}_equipment_armor_base`]=+a.armorother3_base||0,t[`repeating_equipment_${p}_equipment_armor_magic`]=+a.armorother3_magic||0,t[`repeating_equipment_${p}_equipment_armor_mod`]=+a.armorother3_mod||0),o==="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||0,t[`repeating_equipment_${p}_equipment_item`]=a.armorother4,t[`repeating_equipment_${p}_equipment_armor_ac`]=+a.armorother4_ac||0,t[`repeating_equipment_${p}_equipment_armor_base`]=+a.armorother4_base||0,t[`repeating_equipment_${p}_equipment_armor_magic`]=+a.armorother4_magic||0,t[`repeating_equipment_${p}_equipment_armor_mod`]=+a.armorother4_mod||0),o==="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||0,t[`repeating_equipment_${p}_equipment_item`]=a.armorother5,t[`repeating_equipment_${p}_equipment_armor_ac`]=+a.armorother5_ac||0,t[`repeating_equipment_${p}_equipment_armor_base`]=+a.armorother5_base||0,t[`repeating_equipment_${p}_equipment_armor_magic`]=+a.armorother5_magic||0,t[`repeating_equipment_${p}_equipment_armor_mod`]=+a.armorother5_mod||0),o==="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||0,t[`repeating_equipment_${p}_equipment_item`]=a.armorother6,t[`repeating_equipment_${p}_equipment_armor_ac`]=+a.armorother6_ac||0,t[`repeating_equipment_${p}_equipment_armor_base`]=+a.armorother6_base||0,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,o,r)})});function Ga(n,o){getAttrs([`repeating_equipment_${n}_equipment_armor_type`,`repeating_equipment_${n}_equipment_item`,`repeating_equipment_${n}_equipment_armor_worn`,`repeating_equipment_${n}_equipment_armor_ac`,`repeating_equipment_${n}_equipment_armor_base`,`repeating_equipment_${n}_equipment_armor_magic`,`repeating_equipment_${n}_equipment_armor_mod`,`repeating_equipment_${n}_equipment_armor_bulk`,`repeating_equipment_${n}_equipment_carried_select`,`repeating_equipment_${n}_equipment_carried`,`repeating_equipment_${n}_equipment_weight`,`repeating_equipment_${n}_equipment_cost`],e=>{let i={},a=+e[`repeating_equipment_${n}_equipment_armor_type`]||0,t=e[`repeating_equipment_${n}_equipment_item`],p=+e[`repeating_equipment_${n}_equipment_armor_worn`]||0,c=+e[`repeating_equipment_${n}_equipment_armor_ac`]||0,l=+e[`repeating_equipment_${n}_equipment_armor_base`]||0,u=+e[`repeating_equipment_${n}_equipment_armor_magic`]||0,h=+e[`repeating_equipment_${n}_equipment_armor_mod`]||0,m=+e[`repeating_equipment_${n}_equipment_armor_bulk`]||0,w=+e[`repeating_equipment_${n}_equipment_carried_select`]||0,S=+e[`repeating_equipment_${n}_equipment_weight`]||0,b=+e[`repeating_equipment_${n}_equipment_cost`]||0;p===1?(w=1,i[`repeating_equipment_${n}_equipment_carried_select`]=1):p===0&&(w===0||w===2)&&(i[`repeating_equipment_${n}_equipment_carried_select`]=w);let M=[`ID:${n} ITEM:${t} TYPE:${a} WORN:${p} AC:${c} BASE:${l} MAGIC:${u} MOD:${h} BULK:${m} CARRIED:${w} WEIGHT:${S} COST:${b} UPDATED:`];switch(a){case 99:g("Choose an armor row.");break;case 0:i.unarmored_worn=p,i.unarmored=t,i.unarmored_ac=c,i.unarmored_base=l,i.unarmored_bulk=m,i.unarmored_carried=w,i.unarmored_row_id=n;break;case 1:i.armortype_worn=p,i.armortype=t,i.armortype_ac=c,i.armortype_base=l,i.armortype_magic=u,i.armortype_bulk=m,i.armortype_carried=w,i.armor_weight=S,i.armor_cost=b,i.armortype1_row_id=n;break;case 2:i.armortype2_worn=p,i.armortype2=t,i.armortype2_ac=c,i.armortype2_base=l,i.armortype2_magic=u,i.armortype2_bulk=m,i.armortype2_carried=w,i.armortype2_weight=S,i.armortype2_cost=b,i.armortype2_row_id=n;break;case 3:i.armorshield_worn=p,i.armorshield=t,i.armorshield_ac=c>=0?0:-Math.abs(c),i.armorshield_base=l>=0?0:-Math.abs(l),i.armorshield_magic=u,i.armorshield_mod=h,i.armorshield_bulk=m,i.armorshield_carried=w,i.armorshield_weight=S,i.armorshield_cost=b,i.armorshield_row_id=n;break;case 4:i.armorhelmet_worn=p,i.armorhelmet=t,i.armorhelmet_base=l,i.armorhelmet_magic=u,i.armorhelmet_carried=w,i.armorhelmet_weight=S,i.armorhelmet_cost=b,i.armorhelmet_row_id=n;break;case 5:i.armorother_worn=p,i.armorother=t,i.armorother_ac=c,i.armorother_base=l,i.armorother_magic=u,i.armorother_mod=h,i.armorother1_row_id=n;break;case 6:i.armorother2_worn=p,i.armorother2=t,i.armorother2_ac=c>=0?0:-Math.abs(c),i.armorother2_base=l>=0?0:-Math.abs(l),i.armorother2_magic=u,i.armorother2_mod=h,i.armorother2_row_id=n;break;case 7:i.armorother3_worn=p,i.armorother3=t,i.armorother3_ac=c>=0?0:-Math.abs(c),i.armorother3_base=l>=0?0:-Math.abs(l),i.armorother3_magic=u,i.armorother3_mod=h,i.armorother3_row_id=n;break;case 8:i.armorother4_worn=p,i.armorother4=t,i.armorother4_ac=c>=0?0:-Math.abs(c),i.armorother4_base=l>=0?0:-Math.abs(l),i.armorother4_magic=u,i.armorother4_mod=h,i.armorother4_row_id=n;break;case 9:i.armorother5_worn=p,i.armorother5=t,i.armorother5_ac=c>=0?0:-Math.abs(c),i.armorother5_base=l>=0?0:-Math.abs(l),i.armorother5_magic=u,i.armorother5_mod=h,i.armorother5_row_id=n;break;case 10:i.armorother6_worn=p,i.armorother6=t,i.armorother6_ac=c>=0?0:-Math.abs(c),i.armorother6_base=l>=0?0:-Math.abs(l),i.armorother6_magic=u,i.armorother6_mod=h,i.armorother6_row_id=n;break;default:g("Armor row is out of range.")}o&&o(),setAttrs(i,V(0))})}function io(n){let o={};getAttrs([`repeating_equipment_${n}_equipment_item`,`repeating_equipment_${n}_equipment_weapon_type`,`repeating_equipment_${n}_equipment_weapon_speed`,`repeating_equipment_${n}_equipment_weapon_length`,`repeating_equipment_${n}_equipment_weapon_space`,`repeating_equipment_${n}_equipment_weapon_misc`,`repeating_equipment_${n}_equipment_weapon_damagesmallmedium`,`repeating_equipment_${n}_equipment_weapon_damagelarge`,`repeating_equipment_${n}_equipment_weapon_attackdmgtype`,`repeating_equipment_${n}_equipment_weapon_rateoffire`,`repeating_equipment_${n}_equipment_weapon_range`,`repeating_equipment_${n}_equipment_quantity`,`repeating_equipment_${n}_equipment_description`],e=>{let i=k();o[`repeating_weapon_${i}_weapon_name`]=e[`repeating_equipment_${n}_equipment_item`],o[`repeating_weapon_${i}_weapon_type`]=+e[`repeating_equipment_${n}_equipment_weapon_type`]||0,o[`repeating_weapon_${i}_weapon_speed`]=e[`repeating_equipment_${n}_equipment_weapon_speed`],o[`repeating_weapon_${i}_weapon_length`]=e[`repeating_equipment_${n}_equipment_weapon_length`],o[`repeating_weapon_${i}_weapon_space`]=e[`repeating_equipment_${n}_equipment_weapon_space`],o[`repeating_weapon_${i}_weapon_misc`]=e[`repeating_equipment_${n}_equipment_weapon_misc`],o[`repeating_weapon_${i}_weapon_damagesmallmedium`]=e[`repeating_equipment_${n}_equipment_weapon_damagesmallmedium`],o[`repeating_weapon_${i}_weapon_damagelarge`]=e[`repeating_equipment_${n}_equipment_weapon_damagelarge`],o[`repeating_weapon_${i}_weapon_attackdmgtype`]=e[`repeating_equipment_${n}_equipment_weapon_attackdmgtype`],o[`repeating_weapon_${i}_weapon_rateoffire`]=e[`repeating_equipment_${n}_equipment_weapon_rateoffire`],o[`repeating_weapon_${i}_weapon_range`]=e[`repeating_equipment_${n}_equipment_weapon_range`],o[`repeating_weapon_${i}_weapon_quantity`]=+e[`repeating_equipment_${n}_equipment_quantity`]||0,o[`repeating_weapon_${i}_weapon_notes`]=e[`repeating_equipment_${n}_equipment_description`],setAttrs(o,{silent:!0}),Me(i)})}function qa(n,o){getAttrs(De,e=>{let i=e.unarmored_row_id.toString(),r=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(),S=[i,r,a,t,p,c,l,u,h,m,w].map(M=>M?M.toString().toLowerCase():"0"),b="";b=S.includes(n)?1:0,typeof o=="function"&&o(b,S)})}Se=n=>{let o={};qa(n,(e,i)=>{o.armordetails_array=[`${i}`],setAttrs(o,{silent:!0})})};var po=`${De.map(n=>`change:${n}`).join(" ")}`;on(po,n=>{let o=n.sourceAttribute;n.sourceType!=="sheetworker"&&getAttrs(o,e=>{let i=e[`${n.sourceAttribute}`];g("Updating armordetails_array..."),Se(i)})});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",n=>{let o=n.sourceAttribute.split("_")[2].toLowerCase();n.sourceType!=="sheetworker"&&qa(o,e=>{e&&Ga(o)})});on("clicked:repeating_equipment:addarmor",n=>{let o=n.sourceAttribute.split("_")[2].toLowerCase();Ga(o,()=>{_o()})});on("clicked:repeating_equipment:addattack",n=>{let o=n.sourceAttribute.split("_")[2];io(o)});on("clicked:addturnundead",n=>{let o={},e=k();o[`repeating_ability_${e}_ability_name`]="Turn Undead by Type",o[`repeating_ability_${e}_ability_short_description`]="[Turn Undead by Type](~selected|turn_undead_roll)",setAttrs(o,{silent:!0})});on("clicked:addturnundead2",n=>{let o={},e=k();o[`repeating_ability_${e}_ability_name`]="Turn Undead by HD",o[`repeating_ability_${e}_ability_short_description`]="[Turn Undead by HD](~selected|turn_undead2_roll)",setAttrs(o,{silent:!0})});on("remove:repeating_equipment",n=>{let o=n.sourceAttribute.split("_")[2].toLowerCase(),e=1;qa(o,(i,r)=>{i&&da(o,null,e)})});on("change:spell_tabs change:toggle_show_memorized change:spell_caster_tabs change:toggle_caster2",n=>{getSectionIDs("repeating_spells",o=>{let e=[];_.each(o,i=>{e.push(s("spells",i,"spell_memorized")),e.push(s("spells",i,"spell_show_all")),e.push(s("spells",i,"spell_level")),e.push(s("spells",i,"spell_caster_class"))}),getAttrs(["spell_tabs","toggle_show_memorized","spell_caster_tabs","toggle_caster2",...e],i=>{let r={},a=+i.toggle_show_memorized||0,t=+i.spell_caster_tabs||0,p=+i.toggle_caster2||0,c=+i.spell_tabs||0;_.each(o,l=>{let u=+i[s("spells",l,"spell_memorized")]||0,h=+i[s("spells",l,"spell_caster_class")]||0,m=+i[s("spells",l,"spell_level")]||0;r[s("spells",l,"spell_show_memorized")]=a===1&&u>0?1:0,r[s("spells",l,"spell_show_all")]=a===1?0:1,c===-1||c===m?p===1?r[s("spells",l,"spell_show")]=1:p===0&&(t===-1||h===0||t===0&&h===1||t===1&&h===2?r[s("spells",l,"spell_show")]=1:r[s("spells",l,"spell_show")]=0):r[s("spells",l,"spell_show")]=0}),setAttrs(r)})})});on("change:repeating_spells:spell_level change:repeating_spells:spell_caster_class",n=>{n.sourceType==="player"&&getAttrs(["repeating_spells_spell_level","repeating_spells_spell_caster_class","spell_caster_tabs","spell_tabs"],o=>{let e={},i=+o.spell_caster_tabs||0,r=+o.repeating_spells_spell_caster_class||0,a=+o.spell_tabs||0,t=o.repeating_spells_spell_level;e.spell_tabs=t>=0&&a!==t?t:a,e.spell_caster_tabs=i!==-1&&r<=1?0:1,setAttrs(e)})});ma=()=>{getSectionIDs("repeating_spells",n=>{let o={},e=["caster_class1_name","caster_class2_name","caster_class1_level","caster_class2_level"],i=[];_.each(n,a=>{i.push(s("spells",a,"spell_caster_class"))});let r=[...e,...i];getAttrs(r,a=>{_.each(n,t=>{let p=+a[s("spells",t,"spell_caster_class")]||0;p===0?(o[s("spells",t,"spell_caster_class_name")]="",o[s("spells",t,"spell_caster_class")]=p):p===1?(o[s("spells",t,"spell_caster_class_name")]=a.caster_class1_name,o[s("spells",t,"spell_caster_class_level")]=+a.caster_class1_level||0,o[s("spells",t,"spell_caster_class")]=p):p===2&&(o[s("spells",t,"spell_caster_class_name")]=a.caster_class2_name,o[s("spells",t,"spell_caster_class_level")]=+a.caster_class2_level||0,o[s("spells",t,"spell_caster_class")]=p)}),setAttrs(o,{silent:!0})})})};on("change:caster_class1_name change:caster_class2_name change:caster_class1_level change:caster_class2_level",n=>{ma()});on("change:repeating_spells:spell_name change:repeating_spells:spell_caster_class",n=>{let o=n.sourceAttribute.split("_")[2];getAttrs([`repeating_spells_${o}_spell_caster_class`,"caster_class1_name","caster_class1_level","caster_class2_name","caster_class2_level"],e=>{let i={},r=+e[s("spells",o,"spell_caster_class")]||0;r===0?(i[s("spells",o,"spell_caster_class_name")]="",i[s("spells",o,"spell_caster_class")]=r):r===1?(i[s("spells",o,"spell_caster_class_name")]=e.caster_class1_name,i[s("spells",o,"spell_caster_class_level")]=+e.caster_class1_level||0,i[s("spells",o,"spell_caster_class")]=r):r===2&&(i[s("spells",o,"spell_caster_class_name")]=e.caster_class2_name,i[s("spells",o,"spell_caster_class_level")]=+e.caster_class2_level||0,i[s("spells",o,"spell_caster_class")]=r),setAttrs(i,{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",n=>{getAttrs(["repeating_weapon_weapon_ToHitACadj_flag","repeating_weapon_weapon_ToHitACadj"],o=>{let e={},i=+o.repeating_weapon_weapon_ToHitACadj_flag||0;e.repeating_weapon_weapon_ToHitACadj=i===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",n=>{getSectionIDs("repeating_weapon",o=>{let e=[];_.each(o,i=>{e.push(`repeating_weapon_${i}_weapon_whisper_to_hit_select`),e.push(`repeating_weapon_${i}_weapon_whisper_to_hit`)}),getAttrs(["toggle_to_hit_table",...e],i=>{let r={},a=+i.toggle_to_hit_table||0;_.each(o,t=>{let p=+i[`repeating_weapon_${t}_weapon_whisper_to_hit_select`]||0,c=i[`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)),r[`repeating_weapon_${t}_weapon_whisper_to_hit`]=c,r[`repeating_weapon_${t}_weapon_whisper_to_hit_select`]=p}),setAttrs(r,{silent:!0})})})});on("change:repeating_weapon:weapon_prof_flag change:weapon_proficiency_initial change:weapon_proficiency_added_per_level change:weapon_proficiency_penalty",n=>{getSectionIDs("repeating_weapon",o=>{let e=[];_.each(o,i=>{e.push(`repeating_weapon_${i}_weapon_prof_flag`)}),getAttrs(["weapon_proficiency_penalty",...e],i=>{let r={};_.each(o,a=>{let t=+i[`repeating_weapon_${a}_weapon_prof_flag`]||0,p=+i.weapon_proficiency_penalty||0;r[`repeating_weapon_${a}_weapon_prof`]=p,r[`repeating_weapon_${a}_weapon_prof_pen`]=t===0?"0":p}),setAttrs(r,{silent:!0})})})});on("change:repeating_weapon:weapon_backstab_flag change:backstab change:backstab_bonus change:toggle_thief_skills",n=>{getSectionIDs("repeating_weapon",o=>{let e=[];_.each(o,i=>{e.push(`repeating_weapon_${i}_weapon_backstab_flag`)}),getAttrs(["backstab","backstab_bonus","toggle_thief_skills",...e],i=>{let r={},a=+i.toggle_thief_skills,t=+i.backstab||1,p=+i.backstab_bonus||0;_.each(o,c=>{let l=+i[`repeating_weapon_${c}_weapon_backstab_flag`];a===0&&(r[`repeating_weapon_${c}_weapon_backstab_var`]=l===0?0:`+${p}`,r[`repeating_weapon_${c}_weapon_backstab_bonus`]=l===0?0:p,r[`repeating_weapon_${c}_weapon_backstab`]=l===0?1:`x${t}`,r[`repeating_weapon_${c}_weapon_backstab_mult`]=l===0?1:t),a===1&&(r[`repeating_weapon_${c}_weapon_backstab_var`]=0,r[`repeating_weapon_${c}_weapon_backstab_bonus`]=0,r[`repeating_weapon_${c}_weapon_backstab`]=1,r[`repeating_weapon_${c}_weapon_backstab_mult`]=1)}),setAttrs(r,{silent:!0})})})});function co(){getSectionIDs("repeating_weapon",n=>{let o={},e=[];_.each(n,i=>{e.push(s("weapon",i,"weapon_dual"))}),getAttrs(["dual_pen_primary","dual_pen_secondary",...e],i=>{let r=+i.dual_pen_primary||0,a=+i.dual_pen_secondary||0;_.each(n,t=>{let p=i[s("weapon",t,"weapon_dual")],c=0;p==="Normal"?c=0:p==="Primary"?c=r:p==="Secondary"&&(c=a);let l=Math.min(0,c);o[s("weapon",t,"weapon_dual_pen")]=l}),setAttrs(o,{silent:!0})})})}on("change:repeating_weapon:weapon_dual",n=>{let o={};getAttrs(["dual_pen_primary","dual_pen_secondary","repeating_weapon_weapon_dual"],e=>{let i=+e.dual_pen_primary||0,r=+e.dual_pen_secondary||0,a=e.repeating_weapon_weapon_dual,t=0;a==="Normal"?t=0:a==="Primary"?t=i:a==="Secondary"&&(t=r);let p=Math.min(0,t);o.repeating_weapon_weapon_dual_pen=p,setAttrs(o,{silent:!0})})});on("change:dual_pen_primary change:dual_pen_secondary change:dexterity",n=>{getAttrs(["dexterity"],o=>{let e={},i=+o.dexterity||0,r=0;i<6?r=Math.max(-3,i-6):i>=18?r=Math.min(5,Math.floor(i/3)-3):i>15&&(r=i-15);let a=Math.min(0,r-2),t=Math.min(0,r-4);e.dual_pen_primary=a,e.dual_pen_secondary=t,setAttrs(e,{silent:!0},co())})});Pa=n=>{let o={},e=[s("weapon",n,"weapon_range"),s("weapon",n,"weapon_range_short"),s("weapon",n,"weapon_range_medium"),s("weapon",n,"weapon_range_long"),s("weapon",n,"weapon_attack_type"),s("weapon",n,"weapon_range_error")];getAttrs(e,i=>{let r=+i[s("weapon",n,"weapon_attack_type")]||0;if(r===0||r===2)return;let a=i[s("weapon",n,"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)?(o[s("weapon",n,"weapon_range_short")]=0,o[s("weapon",n,"weapon_range_error")]=a===""?1:0):o[s("weapon",n,"weapon_range_short")]=p,Number.isNaN(c)?(o[s("weapon",n,"weapon_range_medium")]=0,o[s("weapon",n,"weapon_range_error")]=a===""?1:0):o[s("weapon",n,"weapon_range_medium")]=c,Number.isNaN(l)?(o[s("weapon",n,"weapon_range_long")]=0,o[s("weapon",n,"weapon_range_error")]=a===""?1:0):o[s("weapon",n,"weapon_range_long")]=l,!Number.isNaN(p)&&!Number.isNaN(c)&&!Number.isNaN(l)&&(o[s("weapon",n,"weapon_range_error")]=1),setAttrs(o,{silent:!0})})};on("change:repeating_weapon:weapon_range change:repeating_weapon:weapon_attack_type",n=>{let o=n.sourceAttribute.split("_")[2];Pa(o)});on("change:repeating_weapon:weapon_attack_type",n=>{getAttrs(["repeating_weapon_weapon_attack_type","repeating_weapon_weapon_attack_type_flag"],o=>{let e={},i=+o.repeating_weapon_weapon_attack_type||0,r=+o.repeating_weapon_weapon_attack_type_flag||0;i!==r&&(e.repeating_weapon_weapon_attack_type_flag=i),setAttrs(e,{silent:!0})})});Ke=()=>{getAttrs(["hitpoints","hitpoints_max","sync_hp_flag","hitpoints_1_class","hitpoints_2_class","hitpoints_3_class"],n=>{let o={},e=+n.sync_hp_flag||0,i=+n.hitpoints_max||0,r=Math.max(0,+n.hitpoints_1_class||0),a=Math.max(0,+n.hitpoints_2_class||0),t=Math.max(0,+n.hitpoints_3_class||0),p=r!==0?1:0,c=a!==0?1:0,l=t!==0?1:0,u=p+c+l,h=q(r+a+t),m=O(h/u).toFixed(2);o.hitpoints_class_total=h,o.hp_quotient=u,o.hitpoints_total=m,o.hitpoints_max=e===1?q(m):i,setAttrs(o,{silent:!0})})};on("change:sync_hp_flag change:hitpoints change:hitpoints_max change:hitpoints_1_class change:hitpoints_2_class change:hitpoints_3_class",n=>{Ke()});V=n=>{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"],o=>{if((+o.autocalc_ac||0)+n===0)return;let i={},r=+o.armorclass||0,a=+o.sync_ac_flag||0,t=+o.armor_rating_flag||0,p=+o.armorshield_mod*-1||0,c=+o.armorother_mod*-1||0,l=+o.armorother2_mod*-1||0,u=+o.armorother3_mod*-1||0,h=+o.armorother4_mod*-1||0,m=+o.armorother5_mod*-1||0,w=+o.armorother6_mod*-1||0,S=+o.armortype_magic*-1||0,b=+o.armortype2_magic*-1||0,M=+o.armorshield_magic*-1||0,f=+o.armorhelmet_magic*-1||0,T=+o.armorother_magic*-1||0,y=+o.armorother2_magic*-1||0,L=+o.armorother3_magic*-1||0,U=+o.armorother4_magic*-1||0,oe=+o.armorother5_magic*-1||0,K=+o.armorother6_magic*-1||0,me=+o.unarmored_worn||0,ne=+o.armortype_worn||0,re=+o.armortype2_worn||0,Y=+o.armorshield_worn||0,Ee=+o.armorhelmet_worn||0,X=+o.armorother_worn||0,Q=+o.armorother2_worn||0,Z=+o.armorother3_worn||0,_e=+o.armorother4_worn||0,x=+o.armorother5_worn||0,J=+o.armorother6_worn||0,Ce=+o.current_encumbrance_move||0,le=+o.armorbonus_toggle||0,R=+o.armorbonus||0,he=0;Ce===3&&R<0?(le=0,R=0,he=1):R<0?R=+o.armorbonus*le||0:R=+o.armorbonus||0,i.encumbrance_flag=he;let ue=+o.unarmored_base||0,ge=+o.armortype_base||0,we=+o.armortype2_base||0,be=+o.armorshield_base||0,de=+o.armorother_base||0,qe=o.armorother2_base>=0?0:-Math.abs(o.armorother2_base)||0,G=o.armorother3_base>=0?0:-Math.abs(o.armorother3_base)||0,Ie=o.armorother4_base>=0?0:-Math.abs(o.armorother4_base)||0,se=o.armorother5_base>=0?0:-Math.abs(o.armorother5_base)||0,Ne=o.armorother6_base>=0?0:-Math.abs(o.armorother6_base)||0,fe=+o.unarmored_ac||0,fa=+o.armortype_ac||0,ya=+o.armortype2_ac||0,$a=+o.armorshield_ac||0,ka=+o.armorother_ac||0,Aa=o.armorother2_ac>=0?0:-Math.abs(o.armorother2_ac)||0,xa=o.armorother3_ac>=0?0:-Math.abs(o.armorother3_ac)||0,Sa=o.armorother4_ac>=0?0:-Math.abs(o.armorother4_ac)||0,Ma=o.armorother5_ac>=0?0:-Math.abs(o.armorother5_ac)||0,Da=o.armorother6_ac>=0?0:-Math.abs(o.armorother6_ac)||0,Ka=ne?ge:10,Ya=re?we:10,Xa=Y?be:0,Qa=X?de:10,Za=Q?qe:0,Ja=Z?G:0,va=_e?Ie:0,et=x?se:0,at=J?Ne:0,tt=me?ue:10,ot=ne?fa:10,nt=re?ya:10,Ea=Y?$a:0,rt=X?ka:10,_t=Q?Aa:0,st=Z?xa:0,it=_e?Sa:0,pt=x?Ma:0,ct=J?Da:0,mt=me?fe:10,ye=Y?p:0,$e=Y?M:0,lt=q(Math.min(ge,we,de,ue)+be+qe+G+Ie+se+Ne),ht=q(Math.min(fa,ya,ka,fe)+($a+Aa+xa+Sa+Ma+Da)),Ca=q(Math.min(Ka,Ya,Qa,tt)+(Xa+Za+Ja+va+et+at)),Oe=q(Math.min(ot,nt,rt,mt)+(_t+st+it+pt+ct)),Ia=q(S+b+f+T+y+L+U+oe+K+M),ie=q(ne*S+re*b+Ee*f+X*T+Q*y+Z*L+_e*U+x*oe+J*K),Na=q(c+l+u+h+m+w+p)||0,pe=q(X*c+Q*l+Z*u+_e*h+x*m+J*w),Te=q(pe+ie),Re=q(Oe+pe+ie),Oa=1;R>0&&Re>=10&&(Oa=0);let Le=q(Re+R*Oa),v=q(Ea+ye+$e),je=q(Le+v);R>0&&v>=10&&(je=q(Le+R+v));let ut=(-1*(ie+$e)<=0?"":"+")+-1*(ie+$e),gt=(-1*Ia<=0?"":"+")+-1*Ia,wt=(-1*(pe+ye)<=0?"":"+")+-1*(pe+ye),bt=(-1*Na<=0?"":"+")+-1*Na,dt=(-1*R<=0?"":"+")+-1*R,qt=(-1*Te<=0?"":"+")+-1*Te,ft=(-1*v<=0?"":"+")+-1*v;i.armorclass_rating_used=Ca,i.armorclass_rating=t===1?"-":Ca,i.armorclass_rating_best=lt,i.armorclass_base_used=Oe+Ea,i.armorclass_base=Oe,i.armorclass_base_best=ht,i.armorclass_magic=ie,i.armorclass_magic_with_shield=ut,i.armorclass_magic_total=gt,i.armorclass_mod=pe,i.armorclass_mod_with_shield=wt,i.armorclass_mod_total=bt,i.armorclass_combined_mod_magic=Te,i.armorclass_combined_mod_magic_inverted=qt,i.armorclass_rear=Re,i.armorbonus_inverted=dt,i.armorclass_shieldless=Le,i.armorclass_shield_magic=$e,i.armorclass_shield_mod=ye,i.armorclass_combined_shield_mod_magic=v,i.armorclass_combined_shield_mod_magic_inverted=ft,i.armorclass_total=je,i.armorclass=a?je:r,setAttrs(i,{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",n=>{V(0)});on("clicked:calcac",n=>{V(1)});Me=n=>{getAttrs(["toggle_auto_damage"],o=>{let e={},i=+o.toggle_auto_damage;g(`auto damage toggle:${i}`);let r=`Damage vs S/M [[ (@{repeating_weapon_${n}_weapon_damagesmallmedium}) * @{repeating_weapon_${n}_weapon_backstab_mult}[MULT] + ( @{repeating_weapon_${n}_weapon_attackdmgbonus}[DMG_BON] ) + ( @{repeating_weapon_${n}_weapon_magicbonus}[MAG_BON] ) + ( ?{Damage Modifier?|0}[MISC_MOD] ) ]]`,a=` vs LG [[ (@{repeating_weapon_${n}_weapon_damagelarge}) * @{repeating_weapon_${n}_weapon_backstab_mult}[MULT] + ( @{repeating_weapon_${n}_weapon_attackdmgbonus}[DMG_BON] ) + ( @{repeating_weapon_${n}_weapon_magicbonus}[MAG_BON] ) + ( ?{Damage Modifier?|0}[MISC_MOD] ) ]]`,t=`Damage vs S/M [[ (@{repeating_weapon_${n}_weapon_damagesmallmedium}) * @{repeating_weapon_${n}_weapon_backstab_mult}[MULT] + ( @{repeating_weapon_${n}_weapon_attackdmgbonus}[DMG_BON] ) + ( @{repeating_weapon_${n}_weapon_magicbonus}[MAG_BON] ) + ( ?{Damage Modifier?|0}[MISC_MOD] ) ]]`,p=` vs LG [[ (@{repeating_weapon_${n}_weapon_damagelarge}) * @{repeating_weapon_${n}_weapon_backstab_mult}[MULT] + ( @{repeating_weapon_${n}_weapon_attackdmgbonus}[DMG_BON] ) + ( @{repeating_weapon_${n}_weapon_magicbonus}[MAG_BON] ) + ( ?{Damage Modifier?|0}[MISC_MOD] ) ]]`,c=`Damage vs S/M [[ (@{repeating_weapon_${n}_weapon_critdamagesmallmedium}) * @{repeating_weapon_${n}_weapon_backstab_mult}[MULT] + ( @{repeating_weapon_${n}_weapon_attackdmgbonus}[DMG_BON] ) + ( @{repeating_weapon_${n}_weapon_magicbonus}[MAG_BON] ) + ( ?{Damage Modifier?|0}[MISC_MOD] ) ]]`,l=` vs LG [[ (@{repeating_weapon_${n}_weapon_critdamagelarge}) * @{repeating_weapon_${n}_weapon_backstab_mult}[MULT] + ( @{repeating_weapon_${n}_weapon_attackdmgbonus}[DMG_BON] ) + ( @{repeating_weapon_${n}_weapon_magicbonus}[MAG_BON] ) + ( ?{Damage Modifier?|0}[MISC_MOD] ) ]]`,u=`Damage vs S/M [[ (@{repeating_weapon_${n}_weapon_critdamagesmallmedium}) * @{repeating_weapon_${n}_weapon_backstab_mult}[MULT] + ( @{repeating_weapon_${n}_weapon_attackdmgbonus}[DMG_BON] ) + ( @{repeating_weapon_${n}_weapon_magicbonus}[MAG_BON] ) + ( ?{Damage Modifier?|0}[MISC_MOD] ) ]]}}`,h=` vs LG [[ (@{repeating_weapon_${n}_weapon_critdamagelarge}) * @{repeating_weapon_${n}_weapon_backstab_mult}[MULT] + ( @{repeating_weapon_${n}_weapon_attackdmgbonus}[DMG_BON] ) + ( @{repeating_weapon_${n}_weapon_magicbonus}[MAG_BON] ) + ( ?{Damage Modifier?|0}[MISC_MOD] ) ]]`;i===0?(e[`repeating_weapon_${n}_weapon_damagesmallmedium_chat_menu`]=`[Roll Damage](~@{character_id}|repeating_weapon_${n}_weapon_damagesmallmedium_roll)`,e[`repeating_weapon_${n}_weapon_damagelarge_chat_menu`]=`[Roll Damage vs LG](~@{character_id}|repeating_weapon_${n}_weapon_damagelarge_roll)`,e[`repeating_weapon_${n}_weapon_damagesmallmedium_npc_chat_menu`]=`[Damage](~@{character_id}|repeating_weapon_${n}_weapon_damagesmallmedium_npc_roll)`,e[`repeating_weapon_${n}_weapon_damagelarge_npc_chat_menu`]=`[Damage vs LG](~@{character_id}|repeating_weapon_${n}_weapon_damagelarge_npc_roll)`,e[`repeating_weapon_${n}_weapon_critdamagesmallmedium_chat_menu`]=`[Roll Damage](~@{character_id}|repeating_weapon_${n}_weapon_critdamagesmallmedium_roll)`,e[`repeating_weapon_${n}_weapon_critdamagelarge_chat_menu`]=`[Roll Damage vs LG](~@{character_id}|repeating_weapon_${n}_weapon_critdamagelarge_roll)`,e[`repeating_weapon_${n}_weapon_critdamagesmallmedium_npc_chat_menu`]=`[Damage](~@{character_id}|repeating_weapon_${n}_weapon_critdamagesmallmedium_npc_roll)`,e[`repeating_weapon_${n}_weapon_critdamagelarge_npc_chat_menu`]=`[Damage vs LG](~@{character_id}|repeating_weapon_${n}_weapon_critdamagelarge_npc_roll)`):(e[`repeating_weapon_${n}_weapon_damagesmallmedium_chat_menu`]=r,e[`repeating_weapon_${n}_weapon_damagelarge_chat_menu`]=a,e[`repeating_weapon_${n}_weapon_damagesmallmedium_npc_chat_menu`]=t,e[`repeating_weapon_${n}_weapon_damagelarge_npc_chat_menu`]=p,e[`repeating_weapon_${n}_weapon_critdamagesmallmedium_chat_menu`]=c,e[`repeating_weapon_${n}_weapon_critdamagelarge_chat_menu`]=l,e[`repeating_weapon_${n}_weapon_critdamagesmallmedium_npc_chat_menu`]=u,e[`repeating_weapon_${n}_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",n=>{g(`Change Detected:${n.sourceAttribute}`);let o=n.sourceAttribute.split("_")[2];Me(o)});on("change:toggle_critdamage",n=>{getSectionIDs("repeating_weapon",o=>{let e={},i=[];_.each(o,r=>{i.push(s("weapon",r,"weapon_critdamage_flag"))}),getAttrs(i,r=>{o.forEach(a=>{let t=+r[s("weapon",a,"weapon_critdamage_flag")];e[s("weapon",a,"weapon_critdamage_flag")]=1-t}),setAttrs(e)})})});on("change:toggle_auto_damage change:toggle_critdamage",n=>{g(`Change Detected:${n.sourceAttribute}`),getSectionIDs("repeating_weapon",o=>{let e=[];getAttrs(e,i=>{o.forEach(r=>{Me(r)})})})});function mo(n){let o={},e=[s("weapon",n,"weapon_use"),s("weapon",n,"weapon_attack_type"),s("weapon",n,"weapon_attack_type_flag"),s("weapon",n,"weapon_critdamage_flag"),s("weapon",n,"weapon_prof_pen"),s("weapon",n,"weapon_range_error"),s("weapon",n,"weapon_tohitacadj"),s("weapon",n,"weapon_dual"),s("weapon",n,"weapon_whisper_to_hit"),s("weapon",n,"weapon_whisper_to_hit_select"),s("weapon",n,"weapon_dual_pen"),s("weapon",n,"weapon_backstab_var"),s("weapon",n,"weapon_tohitbonus"),s("weapon",n,"weapon_magicbonus"),s("weapon",n,"weapon_prof"),s("weapon",n,"weapon_backstab"),s("weapon",n,"weapon_backstab_bonus"),s("weapon",n,"weapon_backstab_mult"),s("weapon",n,"weapon_attackdmgbonus"),s("weapon",n,"weapon_num_attacks"),s("weapon",n,"weapon_quantity"),s("weapon",n,"weapon_ammo"),s("weapon",n,"weapon_ammo_max"),s("weapon",n,"weapon_weight"),s("weapon",n,"weapon_cost"),s("weapon",n,"weapon_range_short"),s("weapon",n,"weapon_range_medium"),s("weapon",n,"weapon_range_long"),s("weapon",n,"weapon_length"),s("weapon",n,"weapon_space"),s("weapon",n,"weapon_speed"),s("weapon",n,"weapon_misc"),s("weapon",n,"weapon_thac_adj0"),s("weapon",n,"weapon_thac_adj1"),s("weapon",n,"weapon_thac_adj2"),s("weapon",n,"weapon_thac_adj3"),s("weapon",n,"weapon_thac_adj4"),s("weapon",n,"weapon_thac_adj5"),s("weapon",n,"weapon_thac_adj6"),s("weapon",n,"weapon_thac_adj7"),s("weapon",n,"weapon_thac_adj8"),s("weapon",n,"weapon_thac_adj9"),s("weapon",n,"weapon_thac_adj10"),s("weapon",n,"weapon_macro_text"),s("weapon",n,"weapon_damagesmallmedium_chat_menu"),s("weapon",n,"weapon_damagelarge_chat_menu"),s("weapon",n,"weapon_damagesmallmedium_npc_chat_menu"),s("weapon",n,"weapon_damagelarge_npc_chat_menu"),s("weapon",n,"weapon_critdamagesmallmedium_chat_menu"),s("weapon",n,"weapon_critdamagelarge_chat_menu"),s("weapon",n,"weapon_critdamagesmallmedium_npc_chat_menu"),s("weapon",n,"weapon_critdamagelarge_npc_chat_menu"),s("weapon",n,"weapon_damage_chat_menu_npc")];getAttrs(e,i=>{o.repeating_weapon_weapon_use=+i[s("weapon",n,"weapon_use")]||0,o.repeating_weapon_weapon_attack_type_flag=+i[s("weapon",n,"weapon_attack_type_flag")]||0,o.repeating_weapon_weapon_critdamage_flag=+i[s("weapon",n,"weapon_critdamage_flag")]||1,o.repeating_weapon_weapon_prof_pen=+i[s("weapon",n,"weapon_prof_pen")]||0,o.repeating_weapon_weapon_range_error=+i[s("weapon",n,"weapon_range_error")]||1,o.repeating_weapon_weapon_tohitacadj=+i[s("weapon",n,"weapon_tohitacadj")]||1,o.repeating_weapon_weapon_attack_type=+i[s("weapon",n,"weapon_attack_type")]||0,o.repeating_weapon_weapon_dual=i[s("weapon",n,"weapon_dual")],o.repeating_weapon_weapon_whisper_to_hit=i[s("weapon",n,"weapon_whisper_to_hit")],o.repeating_weapon_weapon_whisper_to_hit_select=+i[s("weapon",n,"weapon_whisper_to_hit_select")]||0,o.repeating_weapon_weapon_dual_pen=+i[s("weapon",n,"weapon_dual_pen")]||0,o.repeating_weapon_weapon_backstab_var=+i[s("weapon",n,"weapon_backstab_var")]||0,o.repeating_weapon_weapon_tohitbonus=+i[s("weapon",n,"weapon_tohitbonus")]||0,o.repeating_weapon_weapon_magicbonus=+i[s("weapon",n,"weapon_magicbonus")]||0,o.repeating_weapon_weapon_prof=+i[s("weapon",n,"weapon_prof")]||0,o.repeating_weapon_weapon_backstab=+i[s("weapon",n,"weapon_backstab")]||0,o.repeating_weapon_weapon_backstab_bonus=+i[s("weapon",n,"weapon_backstab_bonus")]||0,o.repeating_weapon_weapon_backstab_mult=+i[s("weapon",n,"weapon_backstab_mult")]||0,o.repeating_weapon_weapon_attackdmgbonus=+i[s("weapon",n,"weapon_attackdmgbonus")]||0,o.repeating_weapon_weapon_num_attacks=+i[s("weapon",n,"weapon_num_attacks")]||0,o.repeating_weapon_weapon_quantity=+i[s("weapon",n,"weapon_quantity")]||0,o.repeating_weapon_weapon_ammo=+i[s("weapon",n,"weapon_ammo")]||0,o.repeating_weapon_weapon_ammo_max=+i[s("weapon",n,"weapon_ammo_max")]||0,o.repeating_weapon_weapon_weight=+i[s("weapon",n,"weapon_weight")]||0,o.repeating_weapon_weapon_cost=+i[s("weapon",n,"weapon_cost")]||0,o.repeating_weapon_weapon_range_short=+i[s("weapon",n,"weapon_range_short")]||0,o.repeating_weapon_weapon_range_medium=+i[s("weapon",n,"weapon_range_medium")]||0,o.repeating_weapon_weapon_range_long=+i[s("weapon",n,"weapon_range_long")]||0,o.repeating_weapon_weapon_length=i[s("weapon",n,"weapon_length")],o.repeating_weapon_weapon_space=i[s("weapon",n,"weapon_space")],o.repeating_weapon_weapon_speed=i[s("weapon",n,"weapon_speed")],o.repeating_weapon_weapon_misc=i[s("weapon",n,"weapon_misc")],o.repeating_weapon_weapon_thac_adj0=+i[s("weapon",n,"weapon_thac_adj0")]||0,o.repeating_weapon_weapon_thac_adj1=+i[s("weapon",n,"weapon_thac_adj1")]||0,o.repeating_weapon_weapon_thac_adj2=+i[s("weapon",n,"weapon_thac_adj2")]||0,o.repeating_weapon_weapon_thac_adj3=+i[s("weapon",n,"weapon_thac_adj3")]||0,o.repeating_weapon_weapon_thac_adj4=+i[s("weapon",n,"weapon_thac_adj4")]||0,o.repeating_weapon_weapon_thac_adj5=+i[s("weapon",n,"weapon_thac_adj5")]||0,o.repeating_weapon_weapon_thac_adj6=+i[s("weapon",n,"weapon_thac_adj6")]||0,o.repeating_weapon_weapon_thac_adj7=+i[s("weapon",n,"weapon_thac_adj7")]||0,o.repeating_weapon_weapon_thac_adj8=+i[s("weapon",n,"weapon_thac_adj8")]||0,o.repeating_weapon_weapon_thac_adj9=+i[s("weapon",n,"weapon_thac_adj9")]||0,o.repeating_weapon_weapon_thac_adj10=+i[s("weapon",n,"weapon_thac_adj10")]||0,o.repeating_weapon_weapon_macro_text=i[s("weapon",n,"weapon_macro_text")],o.repeating_weapon_weapon_damagesmallmedium_chat_menu=i[s("weapon",n,"weapon_damagesmallmedium_chat_menu")],o.repeating_weapon_weapon_damagelarge_chat_menu=i[s("weapon",n,"weapon_damagelarge_chat_menu")],o.repeating_weapon_weapon_damagesmallmedium_npc_chat_menu=i[s("weapon",n,"weapon_damagesmallmedium_npc_chat_menu")],o.repeating_weapon_weapon_damagelarge_npc_chat_menu=i[s("weapon",n,"weapon_damagelarge_npc_chat_menu")],o.repeating_weapon_weapon_critdamagesmallmedium_chat_menu=i[s("weapon",n,"weapon_critdamagesmallmedium_chat_menu")],o.repeating_weapon_weapon_critdamagelarge_chat_menu=i[s("weapon",n,"weapon_critdamagelarge_chat_menu")],o.repeating_weapon_weapon_critdamagesmallmedium_npc_chat_menu=i[s("weapon",n,"weapon_critdamagesmallmedium_npc_chat_menu")],o.repeating_weapon_weapon_critdamagelarge_npc_chat_menu=i[s("weapon",n,"weapon_critdamagelarge_npc_chat_menu")],o.repeating_weapon_weapon_damage_chat_menu_npc=i[s("weapon",n,"weapon_damage_chat_menu_npc")],setAttrs(o,{silent:!0})})}function lo(n){let o={},e=["equipment_tabs_type","equipment_tabs_carry"],i=[s("equipment",n,"equipment_type"),s("equipment",n,"equipment_magical"),s("equipment",n,"equipment_show_type"),s("equipment",n,"equipment_show_carry"),s("equipment",n,"equipment_current"),s("equipment",n,"equipment_current_max"),s("equipment",n,"equipment_carried_select"),s("equipment",n,"equipment_carried"),s("equipment",n,"equipment_quantity"),s("equipment",n,"equipment_quantity_max"),s("equipment",n,"equipment_weight"),s("equipment",n,"equipment_cost"),s("equipment",n,"equipment_armor_type"),s("equipment",n,"equipment_armor_worn"),s("equipment",n,"equipment_armor_ac"),s("equipment",n,"equipment_armor_base"),s("equipment",n,"equipment_armor_magic"),s("equipment",n,"equipment_armor_mod"),s("equipment",n,"equipment_armor_bulk"),s("equipment",n,"equipment_macro_text"),s("equipment",n,"equipment_weapon_type"),s("equipment",n,"equipment_weapon_speed"),s("equipment",n,"equipment_weapon_misc"),s("equipment",n,"equipment_weapon_length"),s("equipment",n,"equipment_weapon_space"),s("equipment",n,"equipment_weapon_damagesmallmedium"),s("equipment",n,"equipment_weapon_damagelarge"),s("equipment",n,"equipment_weapon_attackdmgtype"),s("equipment",n,"equipment_weapon_rateoffire"),s("equipment",n,"equipment_weapon_range")],r=[...e,...i];getAttrs(r,a=>{let t=+a.equipment_tabs_type||0,p=+a[s("equipment",n,"equipment_type")]||0;g(`equipType:${p}`),o.repeating_equipment_equipment_type=p<=0||t===-1?0:p,o.repeating_equipment_equipment_magical=+a[s("equipment",n,"equipment_magical")]||0,o.repeating_equipment_equipment_show_type=+a[s("equipment",n,"equipment_show_type")]||0,o.repeating_equipment_equipment_current=+a[s("equipment",n,"equipment_current")]||0,o.repeating_equipment_equipment_current_max=+a[s("equipment",n,"equipment_current_max")]||0,o.repeating_equipment_equipment_carried_select=+a[s("equipment",n,"equipment_carried_select")]||1,o.repeating_equipment_equipment_carried=+a[s("equipment",n,"equipment_carried")]||1,o.repeating_equipment_equipment_quantity=+a[s("equipment",n,"equipment_quantity")]||1,o.repeating_equipment_equipment_quantity_max=+a[s("equipment",n,"equipment_quantity_max")]||1,o.repeating_equipment_equipment_weight=+a[s("equipment",n,"equipment_weight")]||0,o.repeating_equipment_equipment_cost=+a[s("equipment",n,"equipment_cost")]||0,o.repeating_equipment_equipment_armor_type=+a[s("equipment",n,"equipment_armor_type")]||0,o.repeating_equipment_equipment_armor_worn=+a[s("equipment",n,"equipment_armor_worn")]||0,o.repeating_equipment_equipment_armor_ac=+a[s("equipment",n,"equipment_armor_ac")]||0,o.repeating_equipment_equipment_armor_base=+a[s("equipment",n,"equipment_armor_base")]||0,o.repeating_equipment_equipment_armor_magic=+a[s("equipment",n,"equipment_armor_magic")]||0,o.repeating_equipment_equipment_armor_mod=+a[s("equipment",n,"equipment_armor_mod")]||0,o.repeating_equipment_equipment_armor_bulk=+a[s("equipment",n,"equipment_armor_bulk")]||0,o.repeating_equipment_equipment_macro_text=a[s("equipment",n,"equipment_macro_text")],o.repeating_equipment_equipment_weapon_type=+a[s("equipment",n,"equipment_weapon_type")]||0,o.repeating_equipment_equipment_weapon_speed=a[s("equipment",n,"equipment_weapon_speed")],o.repeating_equipment_equipment_weapon_misc=a[s("equipment",n,"equipment_weapon_misc")],o.repeating_equipment_equipment_weapon_length=a[s("equipment",n,"equipment_weapon_length")],o.repeating_equipment_equipment_weapon_space=a[s("equipment",n,"equipment_weapon_space")],o.repeating_equipment_equipment_weapon_damagesmallmedium=a[s("equipment",n,"equipment_weapon_damagesmallmedium")],o.repeating_equipment_equipment_weapon_damagelarge=a[s("equipment",n,"equipment_weapon_damagelarge")],o.repeating_equipment_equipment_weapon_attackdmgtype=a[s("equipment",n,"equipment_weapon_attackdmgtype")],o.repeating_equipment_equipment_weapon_rateoffire=a[s("equipment",n,"equipment_weapon_rateoffire")],o.repeating_equipment_equipment_weapon_range=a[s("equipment",n,"equipment_weapon_range")],setAttrs(o,{silent:!0})})}on("change:repeating_weapon:weapon_name change:repeating_equipment:equipment_item",n=>{let o=n.sourceAttribute.split("_")[2];n.sourceType==="player"&&n.newValue===n.previousValue&&(n.sourceAttribute.includes("equipment_item")&&lo(o),n.sourceAttribute.includes("weapon_name")&&mo(o))});on("sheet:opened",n=>{getSectionIDs("repeating_weapon",o=>{getSectionIDs("repeating_ability",e=>{getSectionIDs("repeating_nonweaponproficiencies",i=>{getSectionIDs("repeating_equipment",r=>{getSectionIDs("repeating_spells",a=>{let t={},p=o.length,c=e.length,l=i.length,u=r.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",n=>{let e=n.triggerName.match(/clicked:(\w+)/),i=e?e[1]:null;getSectionIDs("repeating_equipment",r=>{getSectionIDs("repeating_weapon",a=>{getSectionIDs("repeating_ability",t=>{getSectionIDs("repeating_nonweaponproficiencies",p=>{getSectionIDs("repeating_spells",c=>{let l={},u=[],h=[],m=[],w=[],S=[];_.each(r,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=>{S.push(`repeating_spells_${b}_spell_macro_text`)}),i==="resetallmacros"&&(l.surprise_macro_text="",l.surprise_others_macro_text="",l.init_macro_text="",_.each(r,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`]=""})),i==="resetequipmentmacros"&&_.each(r,b=>{l[`repeating_equipment_${b}_equipment_macro_text`]=""}),i==="resetweaponsmacros"&&_.each(a,b=>{l[`repeating_weapon_${b}_weapon_macro_text`]=""}),i==="resetabilitiesmacros"&&_.each(t,b=>{l[`repeating_ability_${b}_ability_macro_text`]=""}),i==="resetnwpsmacros"&&_.each(p,b=>{l[`repeating_nonweaponproficiencies_${b}_nwp_macro_text`]=""}),i==="resetspellsmacros"&&_.each(c,b=>{l[`repeating_spells_${b}_spell_macro_text`]=""}),setAttrs(l,{silent:!0})})})})})})});na=n=>{getAttrs(["pickpockets","pickpockets_base","pickpockets_racial_mod","pickpockets_ability_mod","pickpockets_magic"],o=>{let e={},i=+o.pickpockets_base||0,r=+o.pickpockets_racial_mod||0,a=+o.pickpockets_ability_mod||0,t=+o.pickpockets_magic||0,p=+o.pickpockets||0,c=Math.max(0,q(i+r+a+t));n===1&&p>=0&&c===0?e.pickpockets_base=p:e.pickpockets=c,setAttrs(e,{silent:!0})})};oa=n=>{getAttrs(["openlocks","openlocks_base","openlocks_racial_mod","openlocks_ability_mod","openlocks_magic"],o=>{let e={},i=+o.openlocks_base||0,r=+o.openlocks_racial_mod||0,a=+o.openlocks_ability_mod||0,t=+o.openlocks_magic||0,p=+o.openlocks||0,c=Math.max(0,Math.min(100,q(i+r+a+t)));n===1&&p>=0&&c===0?e.openlocks_base=p:e.openlocks=c,setAttrs(e,{silent:!0})})};Je=n=>{getAttrs(["findtraps","findtraps_base","findtraps_racial_mod","findtraps_ability_mod","findtraps_magic"],o=>{let e={},i=+o.findtraps_base||0,r=+o.findtraps_racial_mod||0,a=+o.findtraps_ability_mod||0,t=+o.findtraps_magic||0,p=+o.findtraps||0,c=Math.max(0,Math.min(100,q(i+r+a+t)));n===1&&p>=0&&c===0?e.findtraps_base=p:e.findtraps=c,setAttrs(e,{silent:!0})})};ta=n=>{getAttrs(["movequietly","movequietly_base","movequietly_racial_mod","movequietly_ability_mod","movequietly_magic"],o=>{let e={},i=+o.movequietly_base||0,r=+o.movequietly_racial_mod||0,a=+o.movequietly_ability_mod||0,t=+o.movequietly_magic||0,p=+o.movequietly||0,c=Math.max(0,Math.min(100,q(i+r+a+t)));n===1&&p>=0&&c===0?e.movequietly_base=p:e.movequietly=c,setAttrs(e,{silent:!0})})};ea=n=>{getAttrs(["hideinshadows","hideinshadows_base","hideinshadows_racial_mod","hideinshadows_ability_mod","hideinshadows_magic"],o=>{let e={},i=+o.hideinshadows_base||0,r=+o.hideinshadows_racial_mod||0,a=+o.hideinshadows_ability_mod||0,t=+o.hideinshadows_magic||0,p=+o.hideinshadows||0,c=Math.max(0,Math.min(100,q(i+r+a+t)));n===1&&p>=0&&c===0?e.hideinshadows_base=p:e.hideinshadows=c,setAttrs(e,{silent:!0})})};ve=n=>{getAttrs(["hearnoise","hearnoise_base","hearnoise_racial_mod","hearnoise_ability_mod","hearnoise_magic"],o=>{let e={},i=+o.hearnoise_base||0,r=+o.hearnoise_racial_mod||0,a=+o.hearnoise_ability_mod||0,t=+o.hearnoise_magic||0,p=+o.hearnoise||0,c=Math.max(0,Math.min(100,q(i+r+a+t)));n===1&&p>=0&&c===0?e.hearnoise_base=p:e.hearnoise=c,setAttrs(e,{silent:!0})})};Xe=n=>{getAttrs(["climbwalls","climbwalls_base","climbwalls_racial_mod","climbwalls_ability_mod","climbwalls_magic"],o=>{let e={},i=+o.climbwalls_base||0;i=i>=99.1?i.toFixed(1):Math.floor(i);let r=+o.climbwalls_racial_mod||0,a=+o.climbwalls_ability_mod||0,t=+o.climbwalls_magic||0,p=+o.climbwalls||0,c=Math.max(0,Math.min(100,i+q(r+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} ]]%}}";n===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=n=>{getAttrs(["readlanguages","readlanguages_base","readlanguages_racial_mod","readlanguages_ability_mod","readlanguages_magic"],o=>{let e={},i=+o.readlanguages_base||0,r=+o.readlanguages_racial_mod||0,a=+o.readlanguages_ability_mod||0,t=+o.readlanguages_magic||0,p=+o.readlanguages||0,c=Math.max(0,Math.min(100,q(i+r+a+t)));n===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"],n=>{let o={},e=+n.thiefmisc_base||0,i=+n.thiefmisc_racial_mod||0,r=+n.thiefmisc_ability_mod||0,a=+n.thiefmisc_magic||0,t=Math.max(0,Math.min(100,q(e+i+r+a)));o.thiefmisc=t,setAttrs(o,{silent:!0})})};ha=()=>{getAttrs(["thiefmisc1","thiefmisc1_base","thiefmisc1_racial_mod","thiefmisc1_ability_mod","thiefmisc1_magic"],n=>{let o={},e=+n.thiefmisc1_base||0,i=+n.thiefmisc1_racial_mod||0,r=+n.thiefmisc1_ability_mod||0,a=+n.thiefmisc1_magic||0,t=Math.max(0,Math.min(100,q(e+i+r+a)));o.thiefmisc1=t,setAttrs(o,{silent:!0})})};ua=()=>{getAttrs(["thiefmisc2","thiefmisc2_base","thiefmisc2_racial_mod","thiefmisc2_ability_mod","thiefmisc2_magic"],n=>{let o={},e=+n.thiefmisc2_base||0,i=+n.thiefmisc2_racial_mod||0,r=+n.thiefmisc2_ability_mod||0,a=+n.thiefmisc2_magic||0,t=Math.max(0,Math.min(100,q(e+i+r+a)));o.thiefmisc2=t,setAttrs(o,{silent:!0})})};on("change:pickpockets_base change:pickpockets_racial_mod change:pickpockets_ability_mod change:pickpockets_magic",n=>{na()});on("change:openlocks_base change:openlocks_racial_mod change:openlocks_ability_mod change:openlocks_magic",n=>{oa()});on("change:findtraps_base change:findtraps_racial_mod change:findtraps_ability_mod change:findtraps_magic",n=>{Je()});on("change:movequietly_base change:movequietly_racial_mod change:movequietly_ability_mod change:movequietly_magic",n=>{ta()});on("change:hideinshadows_base change:hideinshadows_racial_mod change:hideinshadows_ability_mod change:hideinshadows_magic",n=>{ea()});on("change:hearnoise_base change:hearnoise_racial_mod change:hearnoise_ability_mod change:hearnoise_magic",n=>{ve()});on("change:climbwalls_base change:climbwalls_racial_mod change:climbwalls_ability_mod change:climbwalls_magic",n=>{Xe()});on("change:readlanguages_base change:readlanguages_racial_mod change:readlanguages_ability_mod change:readlanguages_magic",n=>{ra()});on("change:thiefmisc_base change:thiefmisc_racial_mod change:thiefmisc_ability_mod change:thiefmisc_magic",n=>{ga()});on("change:thiefmisc1_base change:thiefmisc1_racial_mod change:thiefmisc1_ability_mod change:thiefmisc1_magic",n=>{ha()});on("change:thiefmisc2_base change:thiefmisc2_racial_mod change:thiefmisc2_ability_mod change:thiefmisc2_magic",n=>{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",n=>{g(`Thief Autofill Change Detected:${n.sourceAttribute}`),getAttrs(["thief_level","autofill_thief","sync_thief_class","thief_class_selected","class","secondclass","thirdclass","level","level_2","level_3"],o=>{let e={},i=+o.autofill_thief||0,r=+o.sync_thief_class||0;if(!i)return;let a=+o.thief_class_selected||1,t=+o.thief_level||0,p=o.class||"",c=o.secondclass||"",l=o.thirdclass||"";r===1&&(a===1&&(classSelected=te(p),t=+o.level,e.thief_level=t),a===2&&(classSelected=te(c),t=+o.level_2,e.thief_level=t),a===3&&(classSelected=te(l),t=+o.level_3,e.thief_level=t)),t!==0&&(t===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),t===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),t===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),t===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),t===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),t===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),t===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),t===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),t===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),t===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),t===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),t===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),t===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),t===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),t===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),t===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),t===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),t>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),setAttrs(e))})});sa=n=>{getAttrs(["saveparalysispoisondeath","saveparalysispoisondeath_base","saveparalysispoisondeath_racial_mod","saveparalysispoisondeath_ability_mod","saveparalysispoisondeath_misc_mod","saveparalysispoisondeath_temp_mod"],o=>{let e={},i=+o.saveparalysispoisondeath_base||0,r=+o.saveparalysispoisondeath_racial_mod||0,a=+o.saveparalysispoisondeath_ability_mod||0,t=+o.saveparalysispoisondeath_misc_mod||0,p=+o.saveparalysispoisondeath_temp_mod||0,c=+o.saveparalysispoisondeath||0,l=q(i+r+a+t+p);n===1&&c<=20&&l===20?e.saveparalysispoisondeath_base=c:e.saveparalysispoisondeath=l,setAttrs(e,{silent:!0})})};ia=n=>{getAttrs(["savepetrificationpolymorph","savepetrificationpolymorph_base","savepetrificationpolymorph_racial_mod","savepetrificationpolymorph_ability_mod","savepetrificationpolymorph_misc_mod","savepetrificationpolymorph_temp_mod"],o=>{let e={},i=+o.savepetrificationpolymorph_base||0,r=+o.savepetrificationpolymorph_racial_mod||0,a=+o.savepetrificationpolymorph_ability_mod||0,t=+o.savepetrificationpolymorph_misc_mod||0,p=+o.savepetrificationpolymorph_temp_mod||0,c=+o.savepetrificationpolymorph||0,l=q(i+r+a+t+p);n===1&&c<=20&&l===20?e.savepetrificationpolymorph_base=c:e.savepetrificationpolymorph=l,setAttrs(e,{silent:!0})})};pa=n=>{getAttrs(["saverodsstaveswands","saverodsstaveswands_base","saverodsstaveswands_racial_mod","saverodsstaveswands_ability_mod","saverodsstaveswands_misc_mod","saverodsstaveswands_temp_mod"],o=>{let e={},i=+o.saverodsstaveswands_base||0,r=+o.saverodsstaveswands_racial_mod||0,a=+o.saverodsstaveswands_ability_mod||0,t=+o.saverodsstaveswands_misc_mod||0,p=+o.saverodsstaveswands_temp_mod||0,c=+o.saverodsstaveswands||0,l=q(i+r+a+t+p);n===1&&c<=20&&l===20?e.saverodsstaveswands_base=c:e.saverodsstaveswands=l,setAttrs(e,{silent:!0})})};_a=n=>{getAttrs(["savebreathweapons","savebreathweapons_base","savebreathweapons_racial_mod","savebreathweapons_ability_mod","savebreathweapons_misc_mod","savebreathweapons_temp_mod"],o=>{let e={},i=+o.savebreathweapons_base||0,r=+o.savebreathweapons_racial_mod||0,a=+o.savebreathweapons_ability_mod||0,t=+o.savebreathweapons_misc_mod||0,p=+o.savebreathweapons_temp_mod||0,c=+o.savebreathweapons||0,l=q(i+r+a+t+p);n===1&&c<=20&&l===20?e.savebreathweapons_base=c:e.savebreathweapons=l,setAttrs(e,{silent:!0})})};ca=n=>{getAttrs(["savespells","savespells_base","savespells_racial_mod","savespells_ability_mod","savespells_misc_mod","savespells_temp_mod"],o=>{let e={},i=+o.savespells_base||0,r=+o.savespells_racial_mod||0,a=+o.savespells_ability_mod||0,t=+o.savespells_misc_mod||0,p=+o.savespells_temp_mod||0,c=+o.savespells||0,l=q(i+r+a+t+p);n===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"],n=>{let o={},e=+n.savemisc_base||0,i=+n.savemisc_racial_mod||0,r=+n.savemisc_ability_mod||0,a=+n.savemisc_misc_mod||0,t=+n.savemisc_temp_mod||0,p=q(e+i+r+a+t);o.savemisc=p,setAttrs(o,{silent:!0})})};Ua=()=>{getAttrs(["savemisc1","savemisc1_base","savemisc1_racial_mod","savemisc1_ability_mod","savemisc1_misc_mod","savemisc1_temp_mod"],n=>{let o={},e=+n.savemisc1_base||0,i=+n.savemisc1_racial_mod||0,r=+n.savemisc1_ability_mod||0,a=+n.savemisc1_misc_mod||0,t=+n.savemisc1_temp_mod||0,p=q(e+i+r+a+t);o.savemisc1=p,setAttrs(o,{silent:!0})})};Ha=()=>{getAttrs(["savemisc2","savemisc2_base","savemisc2_racial_mod","savemisc2_ability_mod","savemisc2_misc_mod","savemisc2_temp_mod"],n=>{let o={},e=+n.savemisc2_base||0,i=+n.savemisc2_racial_mod||0,r=+n.savemisc2_ability_mod||0,a=+n.savemisc2_misc_mod||0,t=+n.savemisc2_temp_mod||0,p=q(e+i+r+a+t);o.savemisc2=p,setAttrs(o,{silent:!0})})};on("change:saveparalysispoisondeath_base change:saveparalysispoisondeath_racial_mod change:saveparalysispoisondeath_ability_mod change:saveparalysispoisondeath_misc_mod change:saveparalysispoisondeath_temp_mod",n=>{sa()});on("change:savepetrificationpolymorph_base change:savepetrificationpolymorph_racial_mod change:savepetrificationpolymorph_ability_mod change:savepetrificationpolymorph_misc_mod change:savepetrificationpolymorph_temp_mod",n=>{ia()});on("change:saverodsstaveswands_base change:saverodsstaveswands_racial_mod change:saverodsstaveswands_ability_mod change:saverodsstaveswands_misc_mod change:saverodsstaveswands_temp_mod",n=>{pa()});on("change:savebreathweapons_base change:savebreathweapons_racial_mod change:savebreathweapons_ability_mod change:savebreathweapons_misc_mod change:savebreathweapons_temp_mod",n=>{_a()});on("change:savespells_base change:savespells_racial_mod change:savespells_ability_mod change:savespells_misc_mod change:savespells_temp_mod",n=>{ca()});on("change:savemisc_base change:savemisc_racial_mod change:savemisc_ability_mod change:savemisc_misc_mod change:savemisc_temp_mod",n=>{Wa()});on("change:savemisc1_base change:savemisc1_racial_mod change:savemisc1_ability_mod change:savemisc1_misc_mod change:savemisc1_temp_mod",n=>{Ua()});on("change:savemisc2_base change:savemisc2_racial_mod change:savemisc2_ability_mod change:savemisc2_misc_mod change:savemisc2_temp_mod",n=>{Ha()});on("change:saves_class change:saves_level change:autofill_saves",n=>{g(`Saves Autofill Change Detected:${n.sourceAttribute}`),getAttrs(["saves_class","saves_level","autofill_saves"],o=>{let e={};if(!(+o.autofill_saves||0))return;let r=+o.saves_class||0,a=+o.saves_level||0;g(`Class:${r} Level:${a}`),r!==0&&(r===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))),r===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))),(r===3||r===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)),r===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))),r===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))),r===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))),r===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",n=>{getAttrs(["matrix_class"],o=>{let e={},i=+o.matrix_class||0;e.toggle_matrixhd=i===5?1:0,setAttrs(e,{silent:!0})})});function te(n){let o=n.toLowerCase();return/cleric|druid|monk/.test(o)?1:/fighter|paladin|ranger|bard|cavalier|barbarian/.test(o)?2:/magic-user|illusionist|magic|mage/.test(o)?3:/thief|assassin|rogue|thief-acrobat|acrobat/.test(o)?4:99}function za(){getAttrs(["thac00","autofill_matrix"],n=>{let o={};if(!(+n.autofill_matrix||0))return;let i=+n.thac00||20;o["thac0-10"]=i+10,o["thac0-9"]=i+9,o["thac0-8"]=i+8,o["thac0-7"]=i+7,o["thac0-6"]=i+6,o["thac0-5"]=i+5,o["thac0-4"]=i+4,o["thac0-3"]=i+3,o["thac0-2"]=i+2,o["thac0-1"]=i+1,o.thac01=i-1,o.thac02=i-2,o.thac03=i-3,o.thac04=i-4,o.thac05=i-5,o.thac06=i-6,o.thac07=i-7,o.thac08=i-8,o.thac09=i-9,o.thac010=i-10,setAttrs(o,{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",n=>{getAttrs(["matrix_class","matrix_level","matrix_hitdice","autofill_matrix","toggle_fighter5","sync_matrix_class","class_selected","class","secondclass","thirdclass","level","level_2","level_3"],o=>{let e={},i=+o.autofill_matrix||0,r=+o.sync_matrix_class||0;if(!i)return;let a=+o.class_selected||1,t=+o.matrix_level||0,p=+o.matrix_class||0,c=o.class||"",l=o.secondclass||"",u=o.thirdclass||"",h=+o.matrix_hitdice||0,m=+o.toggle_fighter5||0;r===1&&(a===1&&(p=te(c),t=+o.level,e.matrix_level=t,e.matrix_class=p),a===2&&(p=te(l),t=+o.level_2,e.matrix_level=t,e.matrix_class=p),a===3&&(p=te(u),t=+o.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}),za())})});on("sheet:opened change:thac0 change:thac00 change:autofill_matrix",n=>{getAttrs(["attack_matrix_flag","matrix_class","thac0","thac1","thac2","thac00","thac01","thac02","autofill_matrix"],o=>{let e={};if(!(+o.autofill_matrix||0))return;let r=+o.attack_matrix_flag||0,a=+o.matrix_class||0;if(r===0||a>0)e.attack_matrix_flag=0;else{let t=+o.thac0||20,p=+o.thac1||20,c=+o.thac2||20,l=+o.thac00||20,u=+o.thac01||20,h=+o.thac02||20,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",n=>{za()});function F(n,o,e,i){return n<e?(console.log(`Error: ${o} value is not a number or out of range. [${n}].\\nDefaulting to ${e}.`),e):n>i?(console.log(`Error: ${o} value is out of range. [${n}].\\nDefaulting to ${i}.`),i):Math.min(Math.max(n,e),i)}var A=class{constructor(o,e,i,r,a,t){this.meleebonus=o,this.dmgbonus=e,this.majorstrengthfeat=t,this.minorstrengthfeat=r,this.minorstrengthfeat_locked=a,this.encumbrancebonus=i}getMeleeAttackBonus(){return this.meleebonus}getMeleeDamageBonus(){return this.dmgbonus}getMajorStrengthCheck(){return this.majorstrengthfeat}getMinorStrengthCheck(o=!1){return o?this.minorstrengthfeat_locked:this.minorstrengthfeat}getEncumbranceBonus(){return this.encumbrancebonus}},Pe=class{constructor(){this.strength_dict={3:new A(-3,-1,-350,15,0,0),4:new A(-2,-1,-250,15,0,0),5:new A(-2,-1,-250,15,0,0),6:new A(-1,0,-150,15,0,0),7:new A(-1,0,-150,15,0,0),8:new A(0,0,0,30,0,1),9:new A(0,0,0,30,0,1),10:new A(0,0,0,30,0,2),11:new A(0,0,0,30,0,2),12:new A(0,0,100,30,0,4),13:new A(0,0,100,30,0,4),14:new A(0,0,200,30,0,7),15:new A(0,0,200,30,0,7),16:new A(0,1,350,50,0,10),17:new A(1,1,500,50,0,13),18:{None:new A(1,2,750,50,0,16),"01-50":new A(1,3,1e3,50,0,20),"51-75":new A(2,3,1250,70,0,25),"76-90":new A(2,4,1500,70,0,30),"91-99":new A(2,5,2e3,70,15,35),"00":new A(3,6,3e3,85,30,40)},19:new A(3,7,4500,90,50,50),20:new A(3,8,5e3,90,50,60),21:new A(4,9,6e3,90,70,70),22:new A(4,10,7500,90,70,80),23:new A(5,11,9e3,90,85,90),24:new A(6,12,12e3,95,87,100),25:new A(7,14,15e3,95,90,100)}}getEntry(o,e){let i=F(o,"strength",3,25);return i!==18?this.strength_dict[i]:e<=0?this.strength_dict[i].None:e<=50?this.strength_dict[i]["01-50"]:e<=75?this.strength_dict[i]["51-75"]:e<=90?this.strength_dict[i]["76-90"]:e<=99?this.strength_dict[i]["91-99"]:this.strength_dict[i]["00"]}getStrengthValue(o,e,i=0,r=!1){switch(o){case"Attack":return this.getEntry(e,i).getMeleeAttackBonus();case"Damage":return this.getEntry(e,i).getMeleeDamageBonus();case"Major":return this.getEntry(e,i).getMajorStrengthCheck();case"Minor":return this.getEntry(e,i).getMinorStrengthCheck(r);case"Encumbrance":return this.getEntry(e,i).getEncumbranceBonus();default:return"Invalid Test"}}},N=class{constructor(o,e,i,r){this.bonuslanguages=o,this.knowspell=e,this.minspells=i,this.maxspells=r}getBonusLanguages(){return this.bonuslanguages}getKnowSpell(){return this.knowspell}getMinSpells(){return this.minspells}getMaxSpells(){return this.maxspells}},Ue=class{constructor(){this.intelligence_dict={8:new N(1,0,0,0),9:new N(1,35,4,6),10:new N(2,45,5,7),11:new N(2,45,5,7),12:new N(3,45,5,7),13:new N(3,55,6,9),14:new N(4,55,6,9),15:new N(4,65,7,11),16:new N(5,65,7,11),17:new N(6,75,8,14),18:new N(7,85,9,18),19:new N(8,95,10,99),20:new N(9,96,11,99),21:new N(10,97,12,99),22:new N(11,98,13,99),23:new N(12,99,14,99),24:new N(13,100,15,99),25:new N(14,100,16,99)}}getEntry(o){return this.intelligence_dict[F(o,"intelligence",8,25)]}},D=class{constructor(o,e,i){this.mentalsavebonus=o,this.spellbonus=e,this.spellfailure=i}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(o){return this.wisdom_dict[F(o,"wisdom",3,25)]}},E=class{constructor(o,e,i){this.surprisebonus=o,this.rangedbonus=e,this.armorbonus=i}getSurpriseBonus(){return this.surprisebonus}getRangedBonus(){return this.rangedbonus}getArmorBonus(){return this.armorbonus}},We=class{constructor(){this.dexterity_dict={3:new E(3,-3,4),4:new E(2,-2,3),5:new E(1,-1,2),6:new E(0,0,1),7:new E(0,0,0),8:new E(0,0,0),9:new E(0,0,0),10:new E(0,0,0),11:new E(0,0,0),12:new E(0,0,0),13:new E(0,0,0),14:new E(0,0,0),15:new E(0,0,-1),16:new E(-1,1,-2),17:new E(-2,2,-3),18:new E(-3,3,-4),19:new E(-3,3,-4),20:new E(-3,3,-4),21:new E(-4,4,-5),22:new E(-4,4,-5),23:new E(-4,4,-5),24:new E(-5,5,-6),25:new E(-5,5,-6)}}getEntry(o){return this.dexterity_dict[F(o,"dexterity",3,25)]}},C=class{constructor(o,e,i){this.hitpointbonus=o,this.systemshock=e,this.resurrectionsurvival=i}getHitpointBonus(){return this.hitpointbonus}getSystemShock(){return this.systemshock}getResurrectionSurvival(){return this.resurrectionsurvival}},Ve=class{constructor(){this.constitution_dict={3:new C("-2",35,40),4:new C("-1",40,45),5:new C("-1",45,50),6:new C("0",50,55),7:new C("0",55,60),8:new C("0",60,65),9:new C("0",65,70),10:new C("0",70,75),11:new C("0",75,80),12:new C("0",80,85),13:new C("0",85,90),14:new C("0",88,92),15:new C("1",91,94),16:new C("2",95,96),17:new C("3",97,98),18:new C("4",99,100),19:new C("5",99,100),20:new C("5",99,100),21:new C("6",99,100),22:new C("6",99,100),23:new C("6",99,100),24:new C("7",99,100),25:new C("7",99,100)}}getEntry(o){return this.constitution_dict[F(o,"constitution",3,25)]}},I=class{constructor(o,e,i,r){this.maximumhenchmen=o,this.loyaltybonus=e,this.reactionbonus=i,this.comeliness=r}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(o){return this.charisma_dict[F(o,"charisma",3,25)]}},j=class{constructor(o,e,i,r,a){this.pickPockets=o,this.openLocks=e,this.findRemoveTraps=i,this.moveSilently=r,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 j(-15,-10,-10,-20,-10),10:new j(-10,-5,-10,-15,-5),11:new j(-5,0,-5,-10,0),12:new j(0,0,0,-5,0),13:new j(0,0,0,0,0),14:new j(0,0,0,0,0),15:new j(0,0,0,0,0),16:new j(0,5,0,0,0),17:new j(5,10,0,5,5),18:new j(10,15,5,10,10)}}getEntry(o){return this.dexterity_dict[F(o,"dexterity",9,18)]}},P=class{constructor(o,e,i,r,a,t,p,c){this.pickPockets=o,this.openLocks=e,this.findRemoveTraps=i,this.moveSilently=r,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 P(0,0,0,0,0,0,0,0),1:new P(0,0,0,0,0,0,0,0),2:new P(0,10,15,0,0,0,-10,-5),3:new P(5,-5,0,5,10,5,0,0),4:new P(0,5,10,5,5,10,-15,0),5:new P(10,0,0,0,5,0,0,0),6:new P(5,5,5,10,15,5,-15,-5),7:new P(-5,5,5,0,0,5,5,-10)}}getEntry(o){return this.dexterity_dict[F(o,"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,B=(n,o,e="int")=>e==="int"?parseInt(n[o])||0:e==="float"?parseFloat(n[o])||0:e==="str"?n[o]:null;la=()=>{getAttrs(["strength","exceptionalstrength"],n=>{let o={},e=B(n,"strength","int"),i=B(n,"exceptionalstrength");B(n,"exceptionalstrength","str")==="00"&&(i=100),o.exceptionalstrength=i,o.meleebonus=(H.getStrengthValue("Attack",e,i)<=0?"":"+")+H.getStrengthValue("Attack",e,i),o.dmgbonus=(H.getStrengthValue("Damage",e,i)<=0?"":"+")+H.getStrengthValue("Damage",e,i),o.majorstrengthfeat=H.getStrengthValue("Major",e,i),o.minorstrengthfeat=H.getStrengthValue("Minor",e,i),o.minorstrengthfeat_locked=H.getStrengthValue("Minor",e,i,!0),o.encumbrancebonus=(H.getStrengthValue("Encumbrance",e,i)<=0?"":"+")+H.getStrengthValue("Encumbrance",e,i),setAttrs(o)})};aa=()=>{getAttrs(["intelligence","bonuslanguages","race"],n=>{let o={},e=B(n,"intelligence","int"),i=B(n,"race","str");/human/gi.test(i)&&(o.bonuslanguages=ke.getEntry(e).getBonusLanguages()),o.knowspell=ke.getEntry(e).getKnowSpell(),o.minspells=ke.getEntry(e).getMinSpells(),o.maxspells=ke.getEntry(e).getMaxSpells(),setAttrs(o,{silent:!0})})};wa=()=>{getAttrs(["wisdom"],n=>{let o={},e=B(n,"wisdom","int");o.mentalsavebonus=(Ae.getEntry(e).getMentalSaveBonus()<=0?"":"+")+Ae.getEntry(e).getMentalSaveBonus(),o.spellbonus=Ae.getEntry(e).getSpellBonus(),o.spellfailure=Ae.getEntry(e).getSpellFailure(),setAttrs(o,{silent:!0})})};Ze=()=>{getAttrs(["dexterity"],n=>{let o={},e=B(n,"dexterity","int"),i=ee.getEntry(e).getSurpriseBonus(),r=(-1*i<=0?"":"+")+-1*i;o.surprisebonus=ee.getEntry(e).getSurpriseBonus(),o.surprisebonus_inverted=r,o.rangedbonus=(ee.getEntry(e).getRangedBonus()<=0?"":"+")+ee.getEntry(e).getRangedBonus(),o.armorbonus=(ee.getEntry(e).getArmorBonus()<=0?"":"+")+ee.getEntry(e).getArmorBonus(),setAttrs(o)})};Qe=()=>{getAttrs(["constitution","class","secondclass","thirdclass"],n=>{let o={},e=B(n,"constitution","int"),i=[n.class,n.secondclass,n.thirdclass];/fighter/gi.test(i)||/paladin/gi.test(i)||/ranger/gi.test(i)?o.hitpointbonus=(ae.getEntry(e).getHitpointBonus()<=0?"":"+")+ae.getEntry(e).getHitpointBonus():o.hitpointbonus=(Math.min(ae.getEntry(e).getHitpointBonus(),2)<=0?"":"+")+Math.min(ae.getEntry(e).getHitpointBonus(),2),o.systemshock=ae.getEntry(e).getSystemShock(),o.resurrectionsurvival=ae.getEntry(e).getResurrectionSurvival(),setAttrs(o)})};Ye=()=>{getAttrs(["charisma"],n=>{let o={},e=B(n,"charisma","int");o.maximumhenchmen=z.getEntry(e).MaximumHenchmen(),o.loyaltybonus=(z.getEntry(e).getLoyaltyBonus()<=0?"":"+")+z.getEntry(e).getLoyaltyBonus(),o.reactionbonus=(z.getEntry(e).getReactionBonus()<=0?"":"+")+z.getEntry(e).getReactionBonus(),o.comeliness_cha_adj=(z.getEntry(e).getComeliness()<=0?"":"+")+z.getEntry(e).getComeliness(),setAttrs(o,{silent:!0})})};thiefSkillsDexCalcs=()=>{getAttrs(["dexterity"],n=>{let o={},e=B(n,"dexterity","int"),i=ce.getEntry(e).getPickPockets(),r=ce.getEntry(e).getOpenLocks(),a=ce.getEntry(e).getFindRemoveTraps(),t=ce.getEntry(e).getMoveSilently(),p=ce.getEntry(e).getHideInShadows();o.pickpockets_ability_mod=i,o.openlocks_ability_mod=r,o.findtraps_ability_mod=a,o.movequietly_ability_mod=t,o.hideinshadows_ability_mod=p,setAttrs(o)})};thiefSkillsRacialCalcs=()=>{getAttrs(["thief_race_selected"],n=>{let o={},e=B(n,"thief_race_selected","int"),i=W.getEntry(e).getPickPockets(),r=W.getEntry(e).getOpenLocks(),a=W.getEntry(e).getFindRemoveTraps(),t=W.getEntry(e).getMoveSilently(),p=W.getEntry(e).getHideInShadows(),c=W.getEntry(e).getHearNoise(),l=W.getEntry(e).getClimbWalls(),u=W.getEntry(e).getReadLanguages();o.pickpockets_racial_mod=i,o.openlocks_racial_mod=r,o.findtraps_racial_mod=a,o.movequietly_racial_mod=t,o.hideinshadows_racial_mod=p,o.hearnoise_racial_mod=c,o.climbwalls_racial_mod=l,o.readlanguages_racial_mod=u,setAttrs(o)})};on("change:autofill_thief_dex change:dexterity",n=>{getAttrs(["autofill_thief_dex"],o=>{+o.autofill_thief_dex!==0&&thiefSkillsDexCalcs()})});function ho(n){let o=n.toLowerCase();return/human/.test(o)?1:/dwarf/.test(o)?2:/half-elf/.test(o)?5:/elf/.test(o)?3:/gnome/.test(o)?4:/halfling|hobbit/.test(o)?6:/half-orc/.test(o)?7:0}on("change:race change:autofill_thief_race change:thief_race_selected",n=>{let o=n.sourceAttribute;getAttrs(["race","autofill_thief_race"],e=>{let i={};if(+e.autofill_thief_race===0)return;let a=e.race||"human";(o==="autofill_thief_race"||o==="race")&&(i.thief_race_selected=ho(a)),setAttrs(i,{silent:!0}),thiefSkillsRacialCalcs()})});on("change:strength change:exceptionalstrength",n=>{la()});on("change:intelligence change:race",n=>{aa()});on("change:wisdom",n=>{wa()});on("change:dexterity",n=>{Ze()});on("change:constitution change:class change:secondclass change:thirdclass",n=>{Qe()});on("change:charisma change:comeliness",n=>{Ye()});portraitUrlCalc=()=>{getAttrs(["character_avatar","sheet_image","sheet_image_url"],n=>{let o={},e=+n.sheet_image,i=function(t){let p=/(\.png|\.jpg|\.gif)/i,c=t.match(p);return c?t.slice(0,c.index+c[0].length):t}(n.character_avatar),r=n.sheet_image_url||i;e===0&&(o.sheet_image_src=r),e===1&&(o.sheet_image_src=i),e===2&&(o.sheet_image_src=""),setAttrs(o,{silent:!0})})};on("change:character_avatar change:sheet_image change:sheet_image_url",n=>{portraitUrlCalc()});on("clicked:postimage",n=>{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",n=>{getAttrs(["psionic_ability_strength_max"],o=>{let e={},i=o.psionic_ability_strength_max;e.psionic_attack_max=O(i/2).toFixed(1),e.psionic_defense_max=O(i/2).toFixed(1),setAttrs(e,{silent:!0})})});Va=()=>{getSectionIDs("repeating_weapon",n=>{let o={},e=[],i=[];n.forEach(r=>{e.push(s("weapon",r,"weapon_name")),e.push(s("weapon",r,"weapon_use")),e.push(s("weapon",r,"weapon_speed")),e.push(s("weapon",r,"weapon_misc"))}),getAttrs(e,r=>{if(n.forEach(a=>{let t=+r[s("weapon",a,"weapon_use")]||0;if(t===0)return;let p=r[s("weapon",a,"weapon_name")],c=r[s("weapon",a,"weapon_speed")]||"0",l=parseInt(c.match(/\d+/)?.[0])||0,u=r[s("weapon",a,"weapon_misc")];i.push({rowID:a,name:p,inUse:t,speed:l,misc:u})}),i.length>0){let a=i[0];i.forEach(l=>{l.speed<a.speed&&(a=l)});let{name:t,speed:p,misc:c}=a;o.weapon_in_use=t,o.weapon_in_use_speed=p,o.weapon_in_use_misc=c}else o.weapon_in_use="",o.weapon_in_use_speed="",o.weapon_in_use_misc="";setAttrs(o,{silent:!0})})})};on("change:repeating_weapon:weapon_name change:repeating_weapon:weapon_use change:repeating_weapon:weapon_speed change:repeating_weapon:weapon_misc",n=>{Va()});})();</script> |