mirror of
https://github.com/Nighthawk42/roll20-character-sheets.git
synced 2026-08-30 03:40:32 +00:00
8 lines
99 KiB
HTML
8 lines
99 KiB
HTML
<input type="checkbox" name="attr_setting_show_core_spinners" class="sheet-hidden sheet-show-core-spinners" value="1"><input type="checkbox" name="attr_setting_basic_equipment" class="sheet-hidden sheet-basic-equipment" value="1"><input type="checkbox" name="attr_setting_versus_freeform" class="sheet-hidden sheet-versus-freeform" value="1"><input type="checkbox" name="attr_setting_tabular_weapons" class="sheet-hidden sheet-tabular-weapons" value="1"><input type="checkbox" name="attr_tab" class="sheet-hidden sheet-tab-is-main" value="main" checked><div class="sheet-title"><input type="checkbox" name="attr_npc" class="sheet-hidden sheet-npc-toggle" value="1"><label class="sheet-tab-selector" title="Main" data-i18n-title="MAIN"><input type="radio" name="attr_tab" value="main" checked><span data-i18n="MAIN">Main</span></label><label class="sheet-tab-selector" title="NPC" data-i18n-title="NPC"><input type="radio" name="attr_tab" value="npc" checked><span data-i18n="NPC">NPC</span></label><label class="sheet-tab-selector" title="Equipment/Talents" data-i18n-title="EQUIPMENT_TALENTS"><input type="radio" name="attr_tab" value="equipment_talents"><span><span class="sheet-equipment-label"><span data-i18n="EQUIPMENT">Equipment</span> / </span><span data-i18n="TALENTS">Talents</span></span></label><label class="sheet-tab-selector" title="Spells" data-i18n-title="SPELLS"><input type="radio" name="attr_tab" value="spells"><span data-i18n="SPELLS">Spells</span></label><label class="sheet-tab-selector" title="Background" data-i18n-title="BACKGROUND"><input type="radio" name="attr_tab" value="background"><span data-i18n="BACKGROUND">Background</span></label><label class="sheet-edit-button"><input type="checkbox" name="attr_edit_mode" checked><span>p</span></label><label class="sheet-settings-checkbox" title="Settings" data-i18n-title="SETTINGS"><input type="checkbox" name="attr_show_settings" value="1"><span>y</span></label><input type="checkbox" name="attr_show_settings" class="sheet-hidden sheet-hider" value="1"><div class="sheet-settings"><input type="hidden" name="attr_boons_banes_query" value="?{#(Boons - Banes)|0}"><label class="sheet-40"><input type="checkbox" title="@{npc}" name="attr_npc" value="1"><span data-i18n="NPC?">NPC?</span></label><label class="sheet-60 sheet-alignright"><span data-i18n="SHEET_OUTPUT">Sheet output</span><select title="@{output_option}" name="attr_output_option"><option value="" data-i18n="PUBLIC">Public</option><option value="/w GM" data-i18n="WHISPERED_TO_GM">Whispered to GM</option><option value="@{whisper_query}" data-i18n="QUERY">Query</option></select><input type="hidden" name="attr_whisper_query" value="?{Output|Public, |Whispered to GM,/w GM}"></label><label><input type="checkbox" title="@{setting_auto_spell_castings}" name="attr_setting_auto_spell_castings" value="1" checked><span data-i18n="AUTO_SPELL_CASTINGS">Automatically calculate maximum spell castings based on spell rank and power</span><input type="checkbox" title="@{setting_spell_expertise}" name="attr_setting_spell_expertise" value="1"><span data-i18n="SPELL_EXPERTISE">Spell expertise (Wizard)</span></label><div data-i18n="BONUSES">Bonuses</div><label><input type="number" title="@{global_attack_boons}" name="attr_global_attack_boons" value="0"><span data-i18n="GLOBAL_ATTACK_BOONS_BANES">(Boons - Banes) to all attack rolls</span></label><label><input type="number" title="@{global_weapon_attack_boons}" name="attr_global_weapon_attack_boons" value="0"><span data-i18n="GLOBAL_WEAPON_ATTACK_BOONS_BANES">(Boons - Banes) to all weapon attack rolls</span></label><label><input type="number" title="@{global_spell_attack_boons}" name="attr_global_spell_attack_boons" value="0"><span data-i18n="GLOBAL_SPELL_ATTACK_BOONS_BANES">(Boons - Banes) to all spell attack rolls</span></label><label><input type="number" title="@{global_challenge_boons}" name="attr_global_challenge_boons" value="0"><span data-i18n="GLOBAL_CHALLENGE_BOONS_BANES">(Boons - Banes) to all challenge rolls</span></label><label><input type="text" spellcheck="false" title="@{global_damage_bonus}" name="attr_global_damage_bonus" value="0"><span data-i18n="GLOBAL_WEAPON_DAMAGE_BONUS">Bonus to all weapon damage</span></label><label><span data-i18n="HEALING_RATE">Healing Rate</span><span>=</span><span data-i18n="HEALTH">Health</span><span>/</span><input type="number" title="@{setting_healing_rate_divisor}" name="attr_setting_healing_rate_divisor" value="4"></label><div data-i18n="LAYOUT">Layout</div><label class="sheet-60"><input type="checkbox" title="@{setting_show_name}" name="attr_setting_show_name" value="{{name=@{name}}}" checked><span data-i18n="SHOW_NAME_ON_ROLL_TEMPLATE">Show name on roll template</span></label><label class="sheet-40"><input type="checkbox" title="@{setting_tabular_weapons}" name="attr_setting_tabular_weapons" value="1"><span data-i18n="TABULAR_WEAPON_LAYOUT">Tabular weapon layout</span></label><label class="sheet-70"><input type="checkbox" title="@{setting_show_core_spinners}" name="attr_setting_show_core_spinners" value="1"><span data-i18n="SHOW_UP_DOWN_CHARACTERISTICS">Show up/down arrows on characteristics</span></label><label class="sheet-30"><input type="checkbox" title="@{setting_npc_afflictions}" name="attr_setting_npc_afflictions" value="1"><span data-i18n="NPC_AFFLICTIONS">NPC afflictions</span></label><label class="sheet-40"><input type="checkbox" title="@{setting_roll_weapon_damage}" name="attr_setting_roll_weapon_damage" value="1" checked><span data-i18n="ROLL_WEAPON_DAMAGE">Roll weapon damage</span></label><input type="hidden" name="attr_setting_roll_weapon_damage" class="sheet-weapon-damage-setting" value="1"><label class="sheet-60"><input type="checkbox" title="@{setting_show_damage_button}" name="attr_setting_show_damage_button" value="1"><span data-i18n="SHOW_DAMAGE_BUTTON_INSTEAD">Show damage button instead</span></label><label><input type="checkbox" title="@{setting_versus_freeform}" name="attr_setting_versus_freeform" value="1"><span data-i18n="SHOW_VERSUS_TEXT">Show a text field instead of dropdown for "Against" fields</span></label><label><input type="checkbox" title="@{setting_basic_equipment}" name="attr_setting_basic_equipment" value="1"><span data-i18n="BASIC_EQUIPMENT">Basic equipment</span>:<span data-i18n="BASIC_EQUIPMENT_INFO">Show only textarea, hide detailed equipment column</span></label><div data-i18n="HOUSE_RULES">House rules</div><label><input type="checkbox" title="@{setting_defense_roll_button}" name="attr_setting_defense_roll_button" value="1"><span data-i18n="DEFENSE_ROLL_BUTTON">Defense roll button (requires calculated defense)</span></label><label class="sheet-50"><input type="text" spellcheck="false" title="@{die_attack}" name="attr_die_attack" value="1d20"><span data-i18n="DIE_ATTACK">Die type for attack rolls</span></label><label class="sheet-50"><input type="text" spellcheck="false" title="@{die_challenge}" name="attr_die_challenge" value="1d20"><span data-i18n="DIE_CHALLENGE">Die type for challenge rolls</span></label><label><input type="text" spellcheck="false" title="@{die_boon}" name="attr_die_boon" value="d6"><span data-i18n="DICE_BOONS">Dice to use for boons and banes</span></label></div></div><input type="checkbox" name="attr_tab" class="sheet-hidden sheet-tab" value="main" checked><div class="sheet-main sheet-pane"><div class="sheet-row-1"><div class="sheet-left-col"><label><div data-i18n="NAME">Name</div><input type="text" autocomplete="off" spellcheck="false" title="@{name}" name="attr_name"></label><label><div data-i18n="DESCRIPTION">Description</div><textarea spellcheck="false" title="@{description}" name="attr_description"></textarea></label></div><div class="sheet-middle-col"><div class="sheet-box"><label class="sheet-ancestry"><div data-i18n="ANCESTRY">Ancestry</div><input type="text" autocomplete="off" spellcheck="false" title="@{ancestry}" name="attr_ancestry"></label><label><div data-i18n="NOVICE">Novice</div><input type="text" autocomplete="off" spellcheck="false" title="@{novice}" name="attr_novice"></label><label><div data-i18n="EXPERT">Expert</div><input type="text" autocomplete="off" spellcheck="false" title="@{expert}" name="attr_expert"></label><label><div data-i18n="MASTER">Master</div><input type="text" autocomplete="off" spellcheck="false" title="@{master}" name="attr_master"></label><label class="sheet-encircled sheet-lvl"><span data-i18n="LEVEL">Level</span><input type="number" title="@{level}" name="attr_level" min="0" value="0"></label></div></div><div class="sheet-right-col"><label><div data-i18n="RELIGION">Religion</div><input type="text" autocomplete="off" spellcheck="false" title="@{religion}" name="attr_religion"></label><label><div data-i18n="LANGUAGES">Languages</div><input type="text" autocomplete="off" spellcheck="false" title="@{languages}" name="attr_languages"></label><label><div data-i18n="PROFESSIONS">Professions</div><textarea spellcheck="false" title="@{professions}" name="attr_professions"></textarea></label></div></div><div class="sheet-row-2"><div class="sheet-left-col"><label><div data-i18n="NOTES_ETC">Notes/MoDs/Quirks/etc</div><textarea spellcheck="false" title="@{notes}" name="attr_notes"></textarea></label></div><div class="sheet-attr-box"><input type="hidden" name="attr_finesse_mod" value="0"><label class="sheet-encircled sheet-strength"><span data-i18n="STRENGTH">Strength</span><input type="number" class="sheet-lg" title="@{strength}" name="attr_strength" min="0" value="10"></label><input type="hidden" class="sheet-mod" name="attr_strength_mod" value="0"><button type="roll" name="roll_Strength" title="%{@{character_id}|Strength}" value="@{output_option} &{template:sotdl} @{setting_show_name} {{title=^{STRENGTH}}} {{showroll=1}} {{roll-label=^{ROLL}}} {{roll=[[@{die_challenge} + @{strength_mod} + [[@{boons_banes_query} + @{global_challenge_boons} - @{banes_from_afflictions}]]@{die_boon}k1[boons/banes]]]}} {{boons=[[@{boons_banes_query} + @{global_challenge_boons} - @{banes_from_afflictions}]]}}"><span name="attr_strength_mod">0</span></button><label class="sheet-encircled sheet-size"><span data-i18n="SIZE">Size</span><input type="text" autocomplete="off" spellcheck="false" title="@{size}" name="attr_size" value="1"></label></div><div class="sheet-attr-box"><label class="sheet-encircled sheet-intellect"><span data-i18n="INTELLECT">Intellect</span><input type="number" class="sheet-lg" title="@{intellect}" name="attr_intellect" min="0" value="10"></label><input type="hidden" class="sheet-mod" name="attr_intellect_mod" value="0"><button type="roll" name="roll_Intellect" title="%{@{character_id}|Intellect}" value="@{output_option} &{template:sotdl} @{setting_show_name} {{title=^{INTELLECT}}} {{showroll=1}} {{roll-label=^{ROLL}}} {{roll=[[@{die_challenge} + @{intellect_mod} + [[@{boons_banes_query} + @{global_challenge_boons} - @{banes_from_afflictions}]]@{die_boon}k1[boons/banes]]]}} {{boons=[[@{boons_banes_query} + @{global_challenge_boons} - @{banes_from_afflictions}]]}}"><span name="attr_intellect_mod">0</span></button><label class="sheet-encircled sheet-perception"><span data-i18n="PERCEPTION">Perception</span><input type="number" title="@{perception}" name="attr_perception" min="0" value="10"></label><input type="hidden" class="sheet-mod" name="attr_perception_mod" value="0"><button type="roll" name="roll_Perception" title="%{@{character_id}|Perception}" value="@{output_option} &{template:sotdl} @{setting_show_name} {{title=^{PERCEPTION}}} {{showroll=1}} {{roll-label=^{ROLL}}} {{roll=[[@{die_challenge} + @{perception_mod} + [[@{boons_banes_query} + @{global_challenge_boons} - @{banes_from_afflictions}]]@{die_boon}k1[boons/banes]]]}} {{boons=[[@{boons_banes_query} + @{global_challenge_boons} - @{banes_from_afflictions}]]}}"><span name="attr_perception_mod">0</span></button></div><div class="sheet-attr-box"><label class="sheet-encircled sheet-agility"><span data-i18n="AGILITY">Agility</span><input type="number" class="sheet-lg" title="@{agility}" name="attr_agility" min="0" value="10"></label><input type="hidden" class="sheet-mod" name="attr_agility_mod" value="0"><button type="roll" name="roll_Agility" title="%{@{character_id}|Agility}" value="@{output_option} &{template:sotdl} @{setting_show_name} {{title=^{AGILITY}}} {{showroll=1}} {{roll-label=^{ROLL}}} {{roll=[[@{die_challenge} + @{agility_mod} + [[@{boons_banes_query} + @{global_challenge_boons} - @{banes_from_afflictions}]]@{die_boon}k1[boons/banes]]]}} {{boons=[[@{boons_banes_query} + @{global_challenge_boons} - @{banes_from_afflictions}]]}}"><span name="attr_agility_mod">0</span></button><input type="checkbox" name="attr_auto_speed" value="1" class="sheet-hidden sheet-readonly-toggle"><label class="sheet-encircled sheet-speed"><span data-i18n="SPEED">Speed</span><input type="number" title="@{speed}" name="attr_speed" min="0" value="10" class="sheet-editable"><input type="number" name="attr_speed_display" value="10" class="sheet-readonly sheet-no-spinners" readonly="readonly"></label></div><div class="sheet-attr-box"><label class="sheet-encircled sheet-will"><span data-i18n="WILL">Will</span><input type="number" class="sheet-lg" title="@{will}" name="attr_will" min="0" value="10"></label><input type="hidden" class="sheet-mod" name="attr_will_mod" value="0"><button type="roll" name="roll_Will" title="%{@{character_id}|Will}" value="@{output_option} &{template:sotdl} @{setting_show_name} {{title=^{WILL}}} {{showroll=1}} {{roll-label=^{ROLL}}} {{roll=[[@{die_challenge} + @{will_mod} + [[@{boons_banes_query} + @{global_challenge_boons} - @{banes_from_afflictions}]]@{die_boon}k1[boons/banes]]]}} {{boons=[[@{boons_banes_query} + @{global_challenge_boons} - @{banes_from_afflictions}]]}}"><span name="attr_will_mod">0</span></button><label class="sheet-encircled sheet-insanity"><span data-i18n="INSANITY">Insanity</span><input type="number" title="@{insanity}" name="attr_insanity" min="0" value="0"></label></div><div class="sheet-attr-box"><button type="roll" name="roll_Fate" title="%{@{character_id}|Fate}" class="sheet-fate-button" value="@{output_option} &{template:sotdl} @{setting_show_name} {{title=^{FATE}}} {{showroll=1}} {{roll-label=^{ROLL}}} {{roll=[[d6]]}} {{fate=1}}" data-i18n="FATE">Fate</button><label class="sheet-encircled sheet-health"><span data-i18n="HEALTH">Health</span><input type="number" class="sheet-lg" title="@{health}" name="attr_health" min="0" value="10"></label><label class="sheet-encircled sheet-healing-rate"><span data-i18n="HEALING_RATE">Healing Rate</span><input type="number" title="@{healing_rate}" name="attr_healing_rate" class="sheet-no-spinners" value="2" readonly="readonly"></label><input type="checkbox" name="attr_setting_defense_roll_button" value="1" class="sheet-hidden sheet-hider"><button type="roll" name="roll_Defense" title="%{@{character_id}|Defense}" class="sheet-defense" value="@{output_option} &{template:sotdl} @{setting_show_name} {{title=^{DEFENSE}}} {{showroll=1}} {{roll-label=^{ROLL}}} {{roll=[[@{die_challenge} + (@{defense} - 10) + [[@{boons_banes_query}]]@{die_boon}k1[boons/banes]]]}} {{boons=[[@{boons_banes_query}]]}}"></button><input type="checkbox" name="attr_auto_defense" value="1" class="sheet-hidden sheet-readonly-toggle"><label class="sheet-encircled sheet-defense"><span data-i18n="DEFENSE">Defense</span><input type="number" title="@{defense_input}" name="attr_defense_input" min="0" value="10" class="sheet-editable"><input type="number" title="@{defense}" name="attr_defense" min="0" value="10" class="sheet-readonly sheet-no-spinners" readonly="readonly"></label><label class="sheet-encircled sheet-corruption"><span data-i18n="CORRUPTION">Corruption</span><input type="number" title="@{corruption}" name="attr_corruption" min="0" value="0"></label></div><div class="sheet-attr-box"><label class="sheet-encircled sheet-power"><span data-i18n="POWER">Power</span><input type="number" title="@{power}" name="attr_power" min="0" value="0"></label><label class="sheet-encircled sheet-damage"><span data-i18n="DAMAGE">Damage</span><input type="number" class="sheet-lg" title="@{damage}" name="attr_damage" min="0" value="0"></label><label class="sheet-damage-max"><span><span data-i18n="MAX">Max</span>: </span><span name="attr_damage_max">10</span></label></div><div class="sheet-middle-col"><div class="sheet-afflictions-header"><span data-i18n="AFFLICTIONS">Afflictions</span><input type="hidden" name="attr_banes_from_afflictions" class="sheet-hider-numeric" value="0"><span title="banes_from_afflictions" class="sheet-bracketed-space"><span class="sheet-space-after" name="attr_banes_from_afflictions"></span><span class="sheet-lower" data-i18n="BANES">banes</span></span></div><div class="sheet-afflictions-bg"><label><input type="checkbox" name="attr_affliction_asleep" value="1"><span data-i18n="ASLEEP">Asleep</span><div data-i18n="ASLEEP_DESC">Becomes prone and unconscious. Action to wake up. Removed upon taking damage unless noted otherwise.</div></label><label><input type="checkbox" name="attr_affliction_blinded" value="1"><span data-i18n="BLINDED">Blinded</span><div data-i18n="BLINDED_DESC">Cannot see: surroundings obscured, sight-based Perception fails. Attack rolls against Defense or Agility get 1 boon. Speed becomes 2 unless lower.</div></label><label><input type="checkbox" name="attr_affliction_charmed" value="1"><span data-i18n="CHARMED">Charmed</span><div data-i18n="CHARMED_DESC">Treats source as trusted friend and ally. Cannot attack source.</div></label><label><input type="checkbox" name="attr_affliction_compelled" value="1"><span data-i18n="COMPELLED">Compelled</span><div data-i18n="COMPELLED_DESC">Cannot use actions or move. Instead, source can force creature to move or use an action during fast turn. All decisions are made by source.</div></label><label><input type="checkbox" name="attr_affliction_dazed" value="1"><span data-i18n="DAZED">Dazed</span><div data-i18n="DAZED_DESC">Cannot use actions.</div></label><label><input type="checkbox" name="attr_affliction_deafened" value="1"><span data-i18n="DEAFENED">Deafened</span><div data-i18n="DEAFENED_DESC">Cannot hear: hearing-based Perception fails.</div></label><label><input type="checkbox" name="attr_affliction_defenseless" value="1"><span data-i18n="DEFENSELESS">Defenseless</span><div data-i18n="DEFENSELESS_DESC">Defense becomes 5. Cannot use actions. Challenge rolls fail, except for Perception.</div></label><label><input type="checkbox" name="attr_affliction_diseased" value="1"><span data-i18n="DISEASED">Diseased</span><div data-i18n="DISEASED_DESC">All attack rolls and challenge rolls are made with 1 bane.</div></label><label><input type="checkbox" name="attr_affliction_fatigued" value="1"><span data-i18n="FATIGUED">Fatigued</span><div data-i18n="FATIGUED_DESC">All attack rolls and challenge rolls are made with 1 bane.</div></label><label><input type="checkbox" name="attr_affliction_frightened" value="1"><span data-i18n="FRIGHTENED">Frightened</span><div data-i18n="FRIGHTENED_DESC">All attack rolls and challenge rolls are made with 1 bane. Cannot take fast turns.</div></label><label><input type="checkbox" name="attr_affliction_grabbed" value="1"><span data-i18n="GRABBED">Grabbed</span><div data-i18n="GRABBED_DESC">Depending on size, either cannot move away (if grabber larger or equal), or move grabbing creature automatically.</div></label><label><input type="checkbox" name="attr_affliction_immobilized" value="1"><span data-i18n="IMMOBILIZED">Immobilized</span><div data-i18n="IMMOBILIZED_DESC">Speed becomes 0, cannot benefit from bonuses to speed. Attack rolls against get 1 boon.</div></label><label><input type="checkbox" name="attr_affliction_impaired" value="1"><span data-i18n="IMPAIRED">Impaired</span><div data-i18n="IMPAIRED_DESC">All attack rolls and challenge rolls are made with 1 bane.</div></label><label><input type="checkbox" name="attr_affliction_poisoned" value="1"><span data-i18n="POISONED">Poisoned</span><div data-i18n="POISONED_DESC">All attack rolls and challenge rolls are made with 1 bane.</div></label><label><input type="checkbox" name="attr_affliction_prone" value="1"><span data-i18n="PRONE">Prone</span><div data-i18n="PRONE_DESC">Lies on the ground. Other creatures can move through its space. Strength and Agility rolls are made with 1 bane. Attack rolls against get 1 boon or bane, depending on if they are in reach or not. Can use move to stand up.</div></label><label><input type="checkbox" name="attr_affliction_slowed" value="1"><span data-i18n="SLOWED">Slowed</span><div data-i18n="SLOWED_DESC">Can only take a slow turn. Speed is halved, cannot benefit from bonuses to speed.</div></label><label><input type="checkbox" name="attr_affliction_stunned" value="1"><span data-i18n="STUNNED">Stunned</span><div data-i18n="STUNNED_DESC">Cannot use actions or move. Challenge rolls fail. Attack rolls against are made with 1 boon.</div></label><label><input type="checkbox" name="attr_affliction_surprised" value="1"><span data-i18n="SURPRISED">Surprised</span><div data-i18n="SURPRISED_DESC">Cannot use actions or move. Challenge rolls fail.</div></label><label><input type="checkbox" name="attr_affliction_unconscious" value="1"><span data-i18n="UNCONSCIOUS">Unconscious</span><div data-i18n="UNCONSCIOUS_DESC">Cannot use actions or move. Challenge rolls fail. Defense becomes 5.</div></label></div><label class="sheet-pseudo-button sheet-rest"><input type="checkbox" title="@{rest}" name="attr_rest" value="1"><span data-i18n="REST">Rest</span><span data-i18n="RESTED!">Rested!</span></label></div><div class="sheet-right-col"><label><div data-i18n="EQUIPMENT">Equipment</div><div class="sheet-equipment-summary"><span name="attr_equipment_summary"></span></div><textarea spellcheck="false" title="@{equipment_notes}" name="attr_equipment_notes"></textarea></label></div></div><div class="sheet-row-3"><div class="sheet-weapons"><label class="sheet-edit-button"><input type="checkbox" name="attr_edit_mode" checked><span>p</span></label><input type="checkbox" name="attr_edit_mode" class="sheet-hidden sheet-editmode" checked><div class="sheet-header sheet-edit"><div class="sheet-fake-button"></div><div class="sheet-name" data-i18n="WEAPON_NAME">Weapon Name</div><div class="sheet-mod" data-i18n="MOD">Mod</div><div class="sheet-damage" data-i18n="DAMAGE">Damage</div><div class="sheet-boons" data-i18n="BOONS_BANES">Boons - Banes</div><div class="sheet-properties" data-i18n="PROPERTIES">Properties</div></div><h3 class="sheet-display" data-i18n="WEAPONS">Weapons</h3><fieldset class="repeating_weapons"><div class="sheet-edit"><label class="sheet-collapse"><input type="checkbox" name="attr_weapon_collapse" value="1"><span>y</span></label><div class="sheet-flex-row"><input type="hidden" name="attr_weapon_against_display" value=""><input type="hidden" name="attr_weapon_damage_formula" value=""><button type="roll" name="roll_Attack" title="%{@{character_id}|repeating_weapons_$X_Attack}" value="@{output_option} &{template:sotdl} @{setting_show_name} {{title=@{weapon_name}}} {{showroll=1}} {{roll-label=^{ATTACK}}} {{roll=[[@{die_attack} + @{weapon_mod} + [[@{boons_banes_query} + @{weapon_boons} + @{global_attack_boons} + @{global_weapon_attack_boons} - @{banes_from_afflictions}]]@{die_boon}k1[boons/banes]]]}} {{boons=[[@{boons_banes_query} + @{weapon_boons} + @{global_attack_boons} + @{global_weapon_attack_boons} - @{banes_from_afflictions}]]}} @{weapon_damage_formula} {{versus=@{weapon_against}}} {{roll20plus=@{weapon_roll20plus}}} {{description=@{weapon_description}}}"></button><input type="text" spellcheck="false" class="sheet-name" title="@{repeating_weapons_$X_weapon_name}" name="attr_weapon_name"><select title="@{repeating_weapons_$X_weapon_attribute}" name="attr_weapon_attribute" class="sheet-mod"><option value="strength" data-i18n="STRENGTH" selected>Strength</option><option value="agility" data-i18n="AGILITY">Agility</option><option value="finesse" data-i18n="FINESSE">Finesse</option><option value="intellect" data-i18n="INTELLECT">Intellect</option><option value="will" data-i18n="WILL">Will</option><option value="perception" data-i18n="PERCEPTION">Perception</option></select><input type="text" spellcheck="false" class="sheet-damage" title="@{repeating_weapons_$X_weapon_damage}" name="attr_weapon_damage" placeholder="1d6"><input type="number" value="0" step="1" title="@{repeating_weapons_$X_weapon_boons}" name="attr_weapon_boons" class="sheet-boons" value="0"><input type="text" spellcheck="false" class="sheet-properties" title="@{repeating_weapons_$X_weapon_properties}" name="attr_weapon_properties"></div><input type="checkbox" name="attr_weapon_collapse" class="sheet-hider sheet-hidden" value="1"><div class="sheet-flex-row sheet-weapon-details"><div class="sheet-fake-button"></div><div class="sheet-versus"><span data-i18n="VS">vs</span><select title="@{repeating_weapons_$X_weapon_against}" name="attr_weapon_against"><option value="^{STRENGTH}" data-i18n="STRENGTH">Strength</option><option value="^{AGILITY}" data-i18n="AGILITY">Agility</option><option value="^{INTELLECT}" data-i18n="INTELLECT">Intellect</option><option value="^{WILL}" data-i18n="WILL">Will</option><option value="^{DEFENSE}" data-i18n="DEFENSE" selected>Defense</option><option value="^{PERCEPTION}" data-i18n="PERCEPTION">Perception</option></select><input type="text" spellcheck="false" title="@{repeating_weapons_$X_weapon_against}" name="attr_weapon_against" value="^{DEFENSE}"></div><input type="text" spellcheck="false" class="sheet-roll20plus" title="@{repeating_weapons_$X_weapon_roll20plus}" name="attr_weapon_roll20plus" placeholder="Attack Roll 20+" data-i18n-placeholder="ATTACK_ROLL_20+"><textarea spellcheck="false" class="sheet-description" title="@{repeating_weapons_$X_weapon_description}" name="attr_weapon_description" placeholder="Description" data-i18n-placeholder="DESCRIPTION"></textarea></div></div><div class="sheet-display"><button type="roll" name="roll_Attack" title="%{@{character_id}|repeating_weapons_$X_Attack}" class="sheet-invisible-button" value="@{output_option} &{template:sotdl} @{setting_show_name} {{title=@{weapon_name}}} {{showroll=1}} {{roll-label=^{ATTACK}}} {{roll=[[@{die_attack} + @{weapon_mod} + [[@{boons_banes_query} + @{weapon_boons} + @{global_attack_boons} + @{global_weapon_attack_boons} - @{banes_from_afflictions}]]@{die_boon}k1[boons/banes]]]}} {{boons=[[@{boons_banes_query} + @{weapon_boons} + @{global_attack_boons} + @{global_weapon_attack_boons} - @{banes_from_afflictions}]]}} @{weapon_damage_formula} {{versus=@{weapon_against}}} {{roll20plus=@{weapon_roll20plus}}} {{description=@{weapon_description}}}"></button><input type="hidden" name="attr_weapon_boons_display" value=""><span class="sheet-name sheet-space-after" name="attr_weapon_name"></span><input type="hidden" name="attr_weapon_properties" class="sheet-hider" value=""><span class="sheet-bracketed-space" name="attr_weapon_properties"></span><input type="hidden" class="sheet-mod" name="attr_weapon_mod" value="0"><span class="sheet-space-after" name="attr_weapon_mod"></span><input type="hidden" name="attr_weapon_boons" class="sheet-hider-numeric" value="0"><span class="sheet-space-after"><span class="sheet-space-after" data-i18n="WITH">with</span><span name="attr_weapon_boons_display"></span></span><span class="sheet-bracketed" name="attr_weapon_damage"></span><span class="sheet-space-before-nonempty" name="attr_weapon_against_display"></span></div><button type="roll" style="display:none" name="roll_damage" value="@{output_option} &{template:sotdl} {{damage=1}} {{damageroll=[[@{weapon_damage} + @{global_damage_bonus}[global bonus] + ?{Bonus damage|0}]]}}"></button></fieldset></div><div class="sheet-right-col"><label class="sheet-fortunepoints"><span><span data-i18n="FORTUNE_POINTS">Fortune Points</span>:</span><input type="number" value="0" step="1" title="@{fortune_points}" name="attr_fortune_points" value="0"></label><label data-i18n="AMMO">Ammo</label><fieldset class="repeating_ammo"><input type="text" autocomplete="off" spellcheck="false" title="@{repeating_ammo_$X_ammo_name}" name="attr_ammo_name" class="sheet-name" placeholder="Arrows" data-i18n-placeholder="ARROWS"><input type="number" title="@{repeating_ammo_$X_ammo_amount}" name="attr_ammo_amount"></fieldset></div></div></div><input type="checkbox" name="attr_tab" class="sheet-hidden sheet-tab" value="equipment_talents"><div class="sheet-equipment-talents sheet-pane sheet-secondary-tab"><input type="checkbox" name="attr_edit_mode" class="sheet-hidden sheet-editmode" checked><div class="sheet-equipment"><div class="sheet-flex-row"><h3 data-i18n="WEALTH">Wealth</h3><label class="sheet-lifestyle"><span data-i18n="LIFESTYLE">Lifestyle</span><input type="text" autocomplete="off" spellcheck="false" title="@{lifestyle}" name="attr_lifestyle"></label></div><div class="sheet-coins"><label><span data-i18n="BITS">bits</span><input type="number" title="@{bits}" name="attr_bits" min="0" value="0"></label><label><span data-i18n="CP">cp</span><input type="number" title="@{copper}" name="attr_copper" min="0" value="0"></label><label><span data-i18n="SS">ss</span><input type="number" title="@{silver}" name="attr_silver" min="0" value="0"></label><label><span data-i18n="GC">gc</span><input type="number" title="@{gold}" name="attr_gold" min="0" value="0"></label></div><div class="sheet-defense"><h3 data-i18n="DEFENSE">Defense</h3><div class="sheet-header"><div class="sheet-check" data-i18n="USE?">Use?</div><div class="sheet-name" data-i18n="NAME">Name</div><div class="sheet-base" data-i18n="DEFENSE">Defense</div><div class="sheet-plus"></div><div class="sheet-bonus"></div><div class="sheet-total" data-i18n="TOTAL">Total</div></div><fieldset class="repeating_defense"><div class="sheet-flex-row"><div class="sheet-check"><input type="checkbox" title="@{repeating_defense_$X_defense_check}" name="attr_defense_check" value="1" checked></div><input type="text" spellcheck="false" class="sheet-name sheet-edit" title="@{repeating_defense_$X_defense_name}" name="attr_defense_name"><span name="attr_defense_name" class="sheet-name sheet-display"></span><select title="@{repeating_defense_$X_defense_base}" name="attr_defense_base" class="sheet-base sheet-edit"><option value="0" selected>0</option><option value="AGILITY" data-i18n="AGILITY">Agility</option></select><span class="sheet-plus sheet-edit">+</span><input type="number" class="sheet-bonus sheet-edit" title="@{repeating_defense_$X_defense_bonus}" name="attr_defense_bonus" value="0"><span class="sheet-base sheet-display"><input type="hidden" name="attr_defense_base" class="sheet-hider-numeric sheet-defense-base" value="0"><span class="sheet-space-after" name="attr_defense_base" data-i18n-dynamic>0</span><input type="hidden" name="attr_defense_bonus" class="sheet-hider-numeric sheet-defense-bonus" value="0"><span class="sheet-defense-bonus" name="attr_defense_bonus">0</span></span><span class="sheet-plus sheet-display"></span><span class="sheet-bonus sheet-display"></span><span title="@{repeating_defense_$X_defense_total}" name="attr_defense_total" class="sheet-total">0</span></div></fieldset><div class="sheet-summary sheet-flex-row"><div class="sheet-check"><input type="checkbox" title="@{auto_defense}" name="attr_auto_defense" value="1"></div><div class="sheet-name" data-i18n="TOTAL">Total</div><div class="sheet-base"></div><div class="sheet-plus"></div><div class="sheet-bonus"></div><span class="sheet-total" title="@{defense}" name="attr_defense">10</span></div></div><div class="sheet-items"><h3 data-i18n="ITEMS">Items</h3><div class="sheet-header"><div class="sheet-check" data-i18n="COUNT?">Count?</div><div class="sheet-name" data-i18n="NAME">Name</div><div class="sheet-amount" data-i18n="AMOUNT">Amount</div></div><fieldset class="repeating_items"><div class="sheet-flex-row"><div class="sheet-check"><input type="checkbox" title="@{repeating_items_$X_item_check}" name="attr_item_check" value="1" checked></div><input type="text" spellcheck="false" class="sheet-name sheet-edit" title="@{repeating_items_$X_item_name}" name="attr_item_name" placeholder="Item name" data-i18n-placeholder="ITEM_NAME"><span name="attr_item_name" class="sheet-name sheet-display"></span><input type="number" value="1" min="0" class="sheet-amount" title="@{repeating_items_$X_item_amount}" name="attr_item_amount"></div></fieldset><div class="sheet-summary sheet-flex-row"><div class="sheet-check"></div><div class="sheet-name" data-i18n="TOTAL">Total</div><input type="number" value="0" class="sheet-amount sheet-no-spinners" title="@{items_total}" name="attr_items_total" readonly="readonly"></div></div><label class="sheet-notes"><div data-i18n="NOTES">Notes</div><textarea spellcheck="false" title="@{equipment_notes}" name="attr_equipment_notes"></textarea></label></div><div class="sheet-talents"><div class="sheet-flex-row"><h3 data-i18n="TALENTS">Talents</h3><label class="sheet-pseudo-button sheet-reset-uses"><input type="checkbox" title="@{reset_talent_uses}" name="attr_reset_talent_uses" value="1"><span data-i18n="RESTORE_USES">Restore uses</span></label></div><fieldset class="repeating_talents"><input type="checkbox" name="attr_talent_collapse" class="sheet-hidden sheet-collapse" value="1"><div class="sheet-edit"><label class="sheet-collapse"><input type="checkbox" name="attr_talent_collapse" value="1"><span>y</span></label><div class="sheet-flex-row"><label class="sheet-name"><div data-i18n="NAME">Name</div><input type="text" spellcheck="false" title="@{repeating_talents_$X_talent_name}" name="attr_talent_name"></label><label class="sheet-uses"><div data-i18n="USES">Uses</div><input type="number" title="@{repeating_talents_$X_talent_uses}" name="attr_talent_uses" value="0" min="0"></label><label class="sheet-uses"><div data-i18n="MAX">Max</div><input type="number" title="@{repeating_talents_$X_talent_uses|max}" name="attr_talent_uses_max" value="0" min="0"></label><button type="roll" class="sheet-talent-button" title="@{%{@{character_id}|repeating_talents_$X_Roll}}" name="roll_Roll" value="@{output_option} &{template:sotdl} @{setting_show_name} {{title=@{talent_name}}} {{showroll=@{talent_attack_mod}}} {{roll-label=^{ATTACK}}} {{roll=[[@{talent_attack_formula}]]}} {{boons=@{talent_boons_formula}}} {{versus=@{talent_against}}} {{damage=@{talent_damage}}} {{damageroll=[[0@{talent_damage}]]}} {{roll20plus=@{talent_roll20plus}}} {{description=@{talent_description}}}"></button></div><div class="sheet-flex-row"><label class="sheet-field-quarter"><div data-i18n="ATTACK">Attack</div><select title="@{repeating_talents_$X_talent_attack_mod}" name="attr_talent_attack_mod"><option value="" data-i18n="NONE" selected>None</option><option value="@{strength_mod}" data-i18n="STRENGTH">Strength</option><option value="@{agility_mod}" data-i18n="AGILITY">Agility</option><option value="@{finesse_mod}" data-i18n="FINESSE">Finesse</option><option value="@{intellect_mod}" data-i18n="INTELLECT">Intellect</option><option value="@{will_mod}" data-i18n="WILL">Will</option><option value="@{perception_mod}" data-i18n="PERCEPTION">Perception</option></select></label><label class="sheet-field-quarter sheet-versus"><div data-i18n="AGAINST">Against</div><select title="@{repeating_talents_$X_talent_against}" name="attr_talent_against"><option value="" data-i18n="NONE" selected>None</option><option value="^{STRENGTH}" data-i18n="STRENGTH">Strength</option><option value="^{AGILITY}" data-i18n="AGILITY">Agility</option><option value="^{INTELLECT}" data-i18n="INTELLECT">Intellect</option><option value="^{WILL}" data-i18n="WILL">Will</option><option value="^{DEFENSE}" data-i18n="DEFENSE">Defense</option><option value="^{PERCEPTION}" data-i18n="PERCEPTION">Perception</option></select><input type="text" spellcheck="false" title="@{repeating_talents_$X_talent_against}" name="attr_talent_against"></label><label class="sheet-field-quarter sheet-center"><div data-i18n="DAMAGE">Damage</div><input type="text" spellcheck="false" title="@{repeating_talents_$X_talent_damage}" name="attr_talent_damage"></label><label class="sheet-field-quarter sheet-center"><div data-i18n="BOONS_BANES">Boons - Banes</div><input type="number" title="@{repeating_talents_$X_talent_boons}" name="attr_talent_boons" value="0"></label></div><input type="hidden" name="attr_talent_attack_mod" class="sheet-hider" value=""><label><div data-i18n="ATTACK_ROLL_20+">Attack Roll 20+</div><input type="text" spellcheck="false" title="@{repeating_talents_$X_talent_roll20plus}" name="attr_talent_roll20plus"></label><label class="sheet-description"><div data-i18n="DESCRIPTION">Description</div><textarea spellcheck="false" title="@{repeating_talents_$X_talent_description}" name="attr_talent_description"></textarea></label></div><div class="sheet-display"><button type="roll" name="roll_Roll" title="%{@{character_id}|repeating_talents_$X_Roll}" class="sheet-invisible-button" value="@{output_option} &{template:sotdl} @{setting_show_name} {{title=@{talent_name}}} {{showroll=@{talent_attack_mod}}} {{roll-label=^{ATTACK}}} {{roll=[[@{talent_attack_formula}]]}} {{boons=@{talent_boons_formula}}} {{versus=@{talent_against}}} {{damage=@{talent_damage}}} {{damageroll=[[0@{talent_damage}]]}} {{roll20plus=@{talent_roll20plus}}} {{description=@{talent_description}}}"></button><input type="hidden" name="attr_talent_uses_max" class="sheet-uses-check" value="0"><input type="hidden" name="attr_talent_attack_formula" value="0"><input type="hidden" name="attr_talent_boons_formula" value=""><div class="sheet-display-header"><span class="sheet-name" name="attr_talent_name"></span><div class="sheet-header-rest"><input type="number" name="attr_talent_uses" class="sheet-uses sheet-uses-display" min="0" value="0"><span class="sheet-uses-display">/</span><span name="attr_talent_uses_max" class="sheet-uses-display">1</span></div></div><div class="sheet-display-text"><div class="sheet-description sheet-linebreak"><span name="attr_talent_description"></span></div><input type="hidden" name="attr_talent_roll20plus" class="sheet-hider" value=""><div><strong class="sheet-space-after" data-i18n="ATTACK_ROLL_20+">Attack Roll 20+</strong><span name="attr_talent_roll20plus"></span></div></div></div></fieldset></div></div><input type="checkbox" name="attr_tab" class="sheet-hidden sheet-tab" value="spells"><div class="sheet-spells sheet-pane sheet-secondary-tab"><input type="checkbox" name="attr_edit_mode" class="sheet-hidden sheet-editmode" checked><div class="sheet-flex-row"><h3 data-i18n="TRADITIONS">Traditions</h3><input type="checkbox" name="attr_remove_spell_filters" class="sheet-hider sheet-hidden" value="1"><label class="sheet-remove-filters"><input type="checkbox" title="@{remove_spell_filters}" name="attr_remove_spell_filters" value="1"><span data-i18n="REMOVE_FILTERS">Remove filters</span></label><label class="sheet-pseudo-button sheet-reset-castings"><input type="checkbox" title="@{reset_spell_castings}" name="attr_reset_spell_castings" value="1"><span data-i18n="RESTORE_CASTINGS">Restore castings</span></label></div><div class="sheet-traditions"><fieldset class="repeating_traditions"><div class="sheet-flex-row sheet-edit"><input type="text" spellcheck="false" title="@{repeating_traditions_$X_tradition_name}" name="attr_tradition_name" class="sheet-name" placeholder="Name" data-i18n-placeholder="NAME"><select title="@{repeating_traditions_$X_tradition_attribute}" name="attr_tradition_attribute" class="sheet-attribute"><option value="INTELLECT" data-i18n="INTELLECT">Intellect</option><option value="WILL" data-i18n="WILL">Will</option></select><input type="text" spellcheck="false" title="@{repeating_traditions_$X_tradition_description}" name="attr_tradition_description" class="sheet-description" placeholder="Description" data-i18n-placeholder="DESCRIPTION"><label class="sheet-filter-check"><input type="checkbox" title="@{repeating_traditions_$X_tradition_filter}" name="attr_tradition_filter" value="1"> <span data-i18n="FILTER?">Filter?</span></label></div><div class="sheet-display"><input type="checkbox" name="attr_tradition_filter" class="sheet-invisible-checkbox" value="1"><span class="sheet-name sheet-space-after" name="attr_tradition_name"></span><span class="sheet-bracketed"><span name="attr_tradition_attribute" data-i18n-dynamic></span><span class="sheet-semicolon-before-nonempty" name="attr_tradition_description"></span></span></div></fieldset></div><h3><button type="roll" name="roll_spells_macro" title="%{@{character_id}|spells_macro}" value="/w @{character_name} &{template:sotdl} {{name=@{name}}} {{title=^{SPELLS}}} {{description=@{spells_macro_var}}}" class="sheet-header-button" data-i18n="SPELLS">Spells</button><input type="hidden" name="attr_spells_macro_var" value=""></h3><div class="sheet-spell-content"><fieldset class="repeating_spells"><input type="checkbox" name="attr_spell_hide" class="sheet-hidden sheet-filter" value="1"><input type="checkbox" name="attr_spell_collapse" class="sheet-hidden sheet-collapse" value="1"><div class="sheet-edit"><label class="sheet-collapse"><input type="checkbox" name="attr_spell_collapse" value="1"><span>y</span></label><div class="sheet-flex-row"><label class="sheet-field-long"><div data-i18n="SPELL">Spell</div><input type="text" spellcheck="false" title="@{repeating_spells_$X_spell_name}" name="attr_spell_name"></label><label class="sheet-field-short"><div data-i18n="TRADITION">Tradition</div><input type="text" spellcheck="false" title="@{repeating_spells_$X_spell_tradition}" name="attr_spell_tradition"></label><label class="sheet-field-short"><div data-i18n="TYPE">Type</div><select title="@{repeating_spells_$X_spell_type}" name="attr_spell_type"><option value="ATTACK" data-i18n="ATTACK" selected>Attack</option><option value="UTILITY" data-i18n="UTILITY">Utility</option></select></label><label class="sheet-field-number"><div data-i18n="RANK">Rank</div><input type="number" title="@{repeating_spells_$X_spell_rank}" name="attr_spell_rank" value="0" min="0" max="9"></label><label class="sheet-field-short"><div data-i18n="ATTRIBUTE">Attribute</div><select title="@{repeating_spells_$X_spell_attribute}" name="attr_spell_attribute"><option value=" (^{INTELLECT})" data-i18n="INTELLECT" selected>Intellect</option><option value=" (^{WILL})" data-i18n="WILL">Will</option><option value=" " data-i18n="NONE">None</option></select></label><label class="sheet-field-number"><div data-i18n="CASTINGS">Castings</div><input type="number" title="@{repeating_spells_$X_spell_castings}" name="attr_spell_castings" value="0" min="0"></label><div class="sheet-slash">/</div><label class="sheet-field-number"><input type="number" title="@{repeating_spells_$X_spell_castings|max}" name="attr_spell_castings_max" value="1" min="0"></label><button type="roll" name="roll_Cast" title="%{@{character_id}|repeating_spells_$X_Cast}" value="@{output_option} &{template:sotdl} @{setting_show_name} {{spell=1}} {{title=@{spell_name}}} {{subtitle=@{spell_tradition} ^{@{spell_type}} @{spell_rank} @{spell_attribute}}} @{spell_sacrifice_query} {{showroll=@{spell_attack_mod}}} {{roll-label=^{ATTACK}}} {{roll=[[@{spell_attack_formula}]]}} {{boons=@{spell_boons_formula}}} {{versus=@{spell_against}}} {{damage=@{spell_damage}}} {{damageroll=[[0@{spell_damage}]]}} {{target=@{spell_target}}} {{area=@{spell_area}}} {{duration=@{spell_duration}}} {{requirement=@{spell_requirement}}} {{description=@{spell_description}}} {{triggered=@{spell_triggered}}} {{roll20plus=@{spell_roll20plus}}} {{permanence=@{spell_permanence}}} {{aftereffect=@{spell_aftereffect}}} {{special=@{spell_special}}}"></button></div><div class="sheet-flex-row"><label class="sheet-field-quarter"><div data-i18n="DURATION">Duration</div><textarea spellcheck="false" title="@{repeating_spells_$X_spell_duration}" name="attr_spell_duration"></textarea></label><label class="sheet-field-quarter"><div data-i18n="TARGET">Target</div><textarea spellcheck="false" title="@{repeating_spells_$X_spell_target}" name="attr_spell_target"></textarea></label><label class="sheet-field-quarter"><div data-i18n="AREA">Area</div><textarea spellcheck="false" title="@{repeating_spells_$X_spell_area}" name="attr_spell_area"></textarea></label><label class="sheet-field-quarter"><div data-i18n="REQUIREMENT">Requirement</div><textarea spellcheck="false" title="@{repeating_spells_$X_spell_requirement}" name="attr_spell_requirement"></textarea></label></div><div class="sheet-flex-row"><label class="sheet-field-quarter"><div data-i18n="SACRIFICE">Sacrifice</div><textarea spellcheck="false" title="@{repeating_spells_$X_spell_sacrifice}" name="attr_spell_sacrifice"></textarea></label><label class="sheet-field-quarter"><div data-i18n="PERMANENCE">Permanence</div><textarea spellcheck="false" title="@{repeating_spells_$X_spell_permanence}" name="attr_spell_permanence"></textarea></label><label class="sheet-field-quarter"><div data-i18n="AFTEREFFECT">Aftereffect</div><textarea spellcheck="false" title="@{repeating_spells_$X_spell_aftereffect}" name="attr_spell_aftereffect"></textarea></label><label class="sheet-field-quarter"><div data-i18n="SPECIAL">Special</div><textarea spellcheck="false" title="@{repeating_spells_$X_spell_special}" name="attr_spell_special"></textarea></label></div><div class="sheet-flex-row"><label class="sheet-field-half"><div data-i18n="DESCRIPTION">Description</div><textarea spellcheck="false" title="@{repeating_spells_$X_spell_description}" name="attr_spell_description"></textarea></label><label class="sheet-field-half"><div data-i18n="TRIGGERED">Triggered</div><textarea spellcheck="false" title="@{repeating_spells_$X_spell_triggered}" name="attr_spell_triggered"></textarea></label></div><div class="sheet-flex-row"><label class="sheet-field-short"><div data-i18n="ATTACK">Attack</div><select title="@{repeating_spells_$X_spell_attack_mod}" name="attr_spell_attack_mod"><option value="" data-i18n="NONE" selected>None</option><option value="@{strength_mod}" data-i18n="STRENGTH">Strength</option><option value="@{agility_mod}" data-i18n="AGILITY">Agility</option><option value="@{finesse_mod}" data-i18n="FINESSE">Finesse</option><option value="@{intellect_mod}" data-i18n="INTELLECT">Intellect</option><option value="@{will_mod}" data-i18n="WILL">Will</option><option value="@{perception_mod}" data-i18n="PERCEPTION">Perception</option></select></label><label class="sheet-field-short sheet-versus"><div data-i18n="AGAINST">Against</div><select title="@{repeating_spells_$X_spell_against}" name="attr_spell_against"><option value="" data-i18n="NONE" selected>None</option><option value="^{STRENGTH}" data-i18n="STRENGTH">Strength</option><option value="^{AGILITY}" data-i18n="AGILITY">Agility</option><option value="^{INTELLECT}" data-i18n="INTELLECT">Intellect</option><option value="^{WILL}" data-i18n="WILL">Will</option><option value="^{DEFENSE}" data-i18n="DEFENSE">Defense</option><option value="^{PERCEPTION}" data-i18n="PERCEPTION">Perception</option></select><input type="text" spellcheck="false" title="@{repeating_spells_$X_spell_against}" name="attr_spell_against"></label><label class="sheet-field-short sheet-center"><div data-i18n="DAMAGE">Damage</div><input type="text" spellcheck="false" title="@{repeating_spells_$X_spell_damage}" name="attr_spell_damage"></label><label class="sheet-field-short sheet-center"><div data-i18n="BOONS_BANES">Boons - Banes</div><input type="number" title="@{repeating_spells_$X_spell_boons}" name="attr_spell_boons" value="0"></label><label class="sheet-field-half"><div data-i18n="ATTACK_ROLL_20+">Attack Roll 20+</div><input type="text" spellcheck="false" title="@{repeating_spells_$X_spell_roll20plus}" name="attr_spell_roll20plus"></label></div></div><div class="sheet-display"><button type="roll" name="roll_Cast" title="%{@{character_id}|repeating_spells_$X_Cast}" class="sheet-invisible-button" value="@{output_option} &{template:sotdl} @{setting_show_name} {{spell=1}} {{title=@{spell_name}}} {{subtitle=@{spell_tradition} ^{@{spell_type}} @{spell_rank} @{spell_attribute}}} @{spell_sacrifice_query} {{showroll=@{spell_attack_mod}}} {{roll-label=^{ATTACK}}} {{roll=[[@{spell_attack_formula}]]}} {{boons=@{spell_boons_formula}}} {{versus=@{spell_against}}} {{damage=@{spell_damage}}} {{damageroll=[[0@{spell_damage}]]}} {{target=@{spell_target}}} {{area=@{spell_area}}} {{duration=@{spell_duration}}} {{requirement=@{spell_requirement}}} {{description=@{spell_description}}} {{triggered=@{spell_triggered}}} {{roll20plus=@{spell_roll20plus}}} {{permanence=@{spell_permanence}}} {{aftereffect=@{spell_aftereffect}}} {{special=@{spell_special}}}"></button><input type="hidden" name="attr_spell_requirement" class="sheet-requirement" value=""><input type="hidden" name="attr_spell_target" class="sheet-target" value=""><input type="hidden" name="attr_spell_area" class="sheet-area" value=""><input type="hidden" name="attr_spell_duration" class="sheet-duration" value=""><input type="hidden" name="attr_spell_attack_formula" value="0"><input type="hidden" name="attr_spell_boons_formula" value=""><input type="hidden" name="attr_spell_sacrifice_query" value=""><div class="sheet-display-header"><span class="sheet-name" name="attr_spell_name"></span><div class="sheet-header-rest"><span name="attr_spell_tradition"></span><span name="attr_spell_type" data-i18n-dynamic></span><span name="attr_spell_rank"></span><input type="number" name="attr_spell_castings" class="sheet-uses" min="0" value="0"><span>/</span><span name="attr_spell_castings_max">1</span></div></div><div class="sheet-display-info"><div class="sheet-requirement"><strong class="sheet-space-after" data-i18n="REQUIREMENT">Requirement</strong><span name="attr_spell_requirement"></span></div><div class="sheet-target"><strong class="sheet-space-after" data-i18n="TARGET">Target</strong><span name="attr_spell_target"></span></div><div class="sheet-area"><strong class="sheet-space-after" data-i18n="AREA">Area</strong><span name="attr_spell_area"></span></div><div class="sheet-duration"><strong class="sheet-space-after" data-i18n="DURATION">Duration</strong><span name="attr_spell_duration"></span></div></div><div class="sheet-display-text"><div class="sheet-description sheet-linebreak"><span name="attr_spell_description"></span></div><input type="hidden" name="attr_spell_triggered" class="sheet-hider" value=""><div><strong class="sheet-space-after" data-i18n="TRIGGERED">Triggered</strong><span class="sheet-linebreak" name="attr_spell_triggered"></span></div><input type="hidden" name="attr_spell_roll20plus" class="sheet-hider" value=""><div><strong class="sheet-space-after" data-i18n="ATTACK_ROLL_20+">Attack Roll 20+</strong><span class="sheet-linebreak" name="attr_spell_roll20plus"></span></div><input type="hidden" name="attr_spell_sacrifice" class="sheet-hider" value=""><div><strong class="sheet-space-after" data-i18n="SACRIFICE">Sacrifice</strong><span class="sheet-linebreak" name="attr_spell_sacrifice"></span></div><input type="hidden" name="attr_spell_permanence" class="sheet-hider" value=""><div><strong class="sheet-space-after" data-i18n="PERMANENCE">Permanence</strong><span class="sheet-linebreak" name="attr_spell_permanence"></span></div><input type="hidden" name="attr_spell_aftereffect" class="sheet-hider" value=""><div><strong class="sheet-space-after" data-i18n="AFTEREFFECT">Aftereffect</strong><span class="sheet-linebreak" name="attr_spell_aftereffect"></span></div><input type="hidden" name="attr_spell_special" class="sheet-hider" value=""><div><strong class="sheet-space-after" data-i18n="SPECIAL">Special</strong><span class="sheet-linebreak" name="attr_spell_special"></span></div></div></div></fieldset></div></div><input type="checkbox" name="attr_tab" class="sheet-hidden sheet-tab" value="background"><div class="sheet-background sheet-pane sheet-secondary-tab"><input type="checkbox" name="attr_edit_mode" class="sheet-hidden sheet-editmode" checked><h3 data-i18n="BACKGROUND">Background</h3><div class="sheet-background-content"><div class="sheet-left-col"><fieldset class="repeating_background"><div class="sheet-edit"><input type="text" spellcheck="false" title="@{repeating_background_$X_background_name}" name="attr_background_name" placeholder="Name" data-i18-placeholder="NAME"><textarea spellcheck="false" title="@{repeating_background_$X_background_description}" name="attr_background_description" placeholder="Details" data-i18-placeholder="DETAILS"></textarea></div><div class="sheet-indent-container sheet-display"><span class="sheet-name sheet-space-after" name="attr_background_name"></span><span class="sheet-linebreak" name="attr_background_description"></span></div></fieldset></div><div class="sheet-right-col"><div class="sheet-edit"><span class="sheet-name" data-i18n="NOVICE_TRAINING">Novice training</span><textarea spellcheck="false" title="@{novice_training}" name="attr_novice_training"></textarea></div><div class="sheet-indent-container sheet-display"><span class="sheet-name sheet-space-after" data-i18n="NOVICE_TRAINING">Novice training</span><span class="sheet-linebreak" name="attr_novice_training"></span></div><div class="sheet-edit"><span class="sheet-name" data-i18n="EXPERT_DEVELOPMENT">Expert development</span><textarea spellcheck="false" title="@{expert_development}" name="attr_expert_development"></textarea></div><div class="sheet-indent-container sheet-display"><span class="sheet-name sheet-space-after" data-i18n="EXPERT_DEVELOPMENT">Expert development</span><span class="sheet-linebreak" name="attr_expert_development"></span></div><div class="sheet-edit"><span class="sheet-name" data-i18n="EXPERT_OBJECTIVE">Expert objective</span><textarea spellcheck="false" title="@{expert_objective}" name="attr_expert_objective"></textarea></div><div class="sheet-indent-container sheet-display"><span class="sheet-name sheet-space-after" data-i18n="EXPERT_OBJECTIVE">Expert objective</span><span class="sheet-linebreak" name="attr_expert_objective"></span></div><div class="sheet-edit"><span class="sheet-name" data-i18n="MASTER_DEVELOPMENT">Master development</span><textarea spellcheck="false" title="@{master_development}" name="attr_master_development"></textarea></div><div class="sheet-indent-container sheet-display"><span class="sheet-name sheet-space-after" data-i18n="MASTER_DEVELOPMENT">Master development</span><span class="sheet-linebreak" name="attr_master_development"></span></div><div class="sheet-edit"><span class="sheet-name" data-i18n="MASTER_QUEST">Master quest</span><textarea spellcheck="false" title="@{master_quest}" name="attr_master_quest"></textarea></div><div class="sheet-indent-container sheet-display"><span class="sheet-name sheet-space-after" data-i18n="MASTER_QUEST">Master quest</span><span class="sheet-linebreak" name="attr_master_quest"></span></div><label class="sheet-notes"><div class="sheet-indent-container"><span class="sheet-name sheet-space-after" data-i18n="NOTES">Notes</span><span class="sheet-display sheet-linebreak" name="attr_background_notes"></span></div><textarea spellcheck="false" class="sheet-edit" title="@{background_notes}" name="attr_background_notes" placeholder="Notes" data-i18n-placeholder="NOTES"></textarea></label></div></div></div><input type="checkbox" name="attr_tab" class="sheet-hidden sheet-tab" value="npc"><div class="sheet-npc sheet-pane sheet-secondary-tab"><input type="checkbox" name="attr_edit_mode" class="sheet-hidden sheet-editmode" checked><div class="sheet-left-col"><input type="text" spellcheck="false" title="@{name}" name="attr_name" placeholder="Name" class="sheet-monster-header sheet-edit sheet-name" data-i18n-placeholder="NAME"><div class="sheet-monster-header sheet-display"><span name="attr_name" class="sheet-name"></span><span data-i18n="DIFFICULTY">Difficulty</span><span name="attr_difficulty" class="sheet-difficulty"></span></div><div class="sheet-flex-row sheet-edit"><label class="sheet-field-stat"><div data-i18n="DIFFICULTY">Difficulty</div><input type="number" title="@{difficulty}" name="attr_difficulty" placeholder="1"></label><label class="sheet-field-short"><div data-i18n="SIZE">Size</div><input type="text" spellcheck="false" title="@{size}" name="attr_size" value="1"></label><label class="sheet-field-tags"><div data-i18n="TAGS">Tags</div><input type="text" spellcheck="false" title="@{tags}" name="attr_tags" data-i18n-placeholder="TAGS_PLACEHOLDER" placeholder="[frightening/horrifying] descriptor (special)"></label></div><div class="sheet-flex-row sheet-edit"><label class="sheet-field-stat"><div data-i18n="PERCEPTION">Perception</div><input type="number" title="@{perception}" name="attr_perception" value="10" min="0"></label><label class="sheet-field-senses"><div data-i18n="SPECIAL_SENSES">Special senses</div><input type="text" spellcheck="false" title="@{special_senses}" name="attr_special_senses" placeholder="darksight" data-i18n-placeholder="SENSES_PLACEHOLDER"></label><label class="sheet-field-stat"><div data-i18n="DEFENSE">Defense</div><input type="number" title="@{defense_input}" name="attr_defense_input" value="10" min="0"></label><label class="sheet-field-armor"><div data-i18n="ARMOR">Armor</div><input type="text" spellcheck="false" title="@{npc_armor}" name="attr_npc_armor" placeholder="mail" data-i18n-placeholder="ARMOR_PLACEHOLDER"></label></div><div class="sheet-flex-row sheet-edit"><label class="sheet-field-stat"><div data-i18n="HEALTH">Health</div><input type="number" title="@{health}" name="attr_health" value="10" min="0"></label><input type="checkbox" name="attr_has_strength" class="sheet-hider sheet-attr-check" value="1" checked><label class="sheet-field-stat"><div data-i18n="STRENGTH">Strength</div><input type="number" title="@{strength}" name="attr_strength" value="10" min="0"></label><input type="checkbox" name="attr_has_agility" class="sheet-hider sheet-attr-check" value="1" checked><label class="sheet-field-stat"><div data-i18n="AGILITY">Agility</div><input type="number" title="@{agility}" name="attr_agility" value="10" min="0"></label><input type="checkbox" name="attr_has_intellect" class="sheet-hider sheet-attr-check" value="1" checked><label class="sheet-field-stat"><div data-i18n="INTELLECT">Intellect</div><input type="number" title="@{intellect}" name="attr_intellect" value="10" min="0"></label><input type="checkbox" name="attr_has_will" class="sheet-hider sheet-attr-check" value="1" checked><label class="sheet-field-stat"><div data-i18n="WILL">Will</div><input type="number" title="@{will}" name="attr_will" value="10" min="0"></label></div><div class="sheet-flex-row sheet-edit"><label class="sheet-field-stat"><div data-i18n="SPEED">Speed</div><input type="number" title="@{speed}" name="attr_speed" value="10" min="0"></label><label class="sheet-field-movement"><div data-i18n="SPECIAL MOVEMENT">Special movement traits</div><input type="text" title="@{special_movement}" name="attr_special_movement" placeholder="flier" data-i18n-placeholder="MOVEMENT_PLACEHOLDER"></label></div><div class="sheet-flex-row sheet-checks sheet-edit"><label class="sheet-field-check"><input type="checkbox" name="attr_has_insanity" value="1"><span data-i18n="INSANITY">Insanity</span></label><label class="sheet-field-check"><input type="checkbox" name="attr_has_corruption" value="1"><span data-i18n="CORRUPTION">Corruption</span></label></div><div class="sheet-tags sheet-display"><span class="sheet-space-after" data-i18n="SIZE">Size</span><span class="sheet-space-after" name="attr_size">1</span><span name="attr_tags"></span></div><div class="sheet-indent-container sheet-display"><div><span class="sheet-button-holder"><button type="roll" name="roll_Perception" title="%{@{character_id}|Perception}" class="sheet-invisible-button" value="@{output_option} &{template:sotdl} @{setting_show_name} {{title=^{PERCEPTION}}} {{showroll=1}} {{roll-label=^{ROLL}}} {{roll=[[@{die_challenge} + @{perception_mod} + [[@{boons_banes_query} + @{global_challenge_boons} - @{banes_from_afflictions}]]@{die_boon}k1[boons/banes]]]}} {{boons=[[@{boons_banes_query} + @{global_challenge_boons} - @{banes_from_afflictions}]]}}"></button><span class="sheet-label sheet-space-after" data-i18n="PERCEPTION">Perception</span><span class="sheet-space-after" name="attr_perception">10</span><input type="hidden" class="sheet-mod" name="attr_perception_mod" value="0"><span class="sheet-bracketed" name="attr_perception_mod">0</span><span class="sheet-semicolon-before-nonempty" name="attr_special_senses"></span></span></div><div><span class="sheet-semicolon-after"><span class="sheet-label sheet-space-after" data-i18n="DEFENSE">Defense</span><span name="attr_defense">10</span><input type="hidden" name="attr_npc_armor" class="sheet-hider" value=""><span class="sheet-space-before"><span class="sheet-bracketed" name="attr_npc_armor"></span></span></span><span class="sheet-semicolon-after"><span class="sheet-label sheet-space-after" data-i18n="HEALTH">Health</span><span name="attr_health">10</span></span><span><span class="sheet-label sheet-space-after" data-i18n="DAMAGE">Damage</span><input type="number" name="attr_damage" class="sheet-inline-input" value="0"></span></div><div><input type="checkbox" name="attr_has_strength" class="sheet-hider sheet-hidden" value="1" checked><span class="sheet-button-holder sheet-comma"><button type="roll" name="roll_Strength" title="%{@{character_id}|Strength}" class="sheet-invisible-button" value="@{output_option} &{template:sotdl} @{setting_show_name} {{title=^{STRENGTH}}} {{showroll=1}} {{roll-label=^{ROLL}}} {{roll=[[@{die_challenge} + @{strength_mod} + [[@{boons_banes_query} + @{global_challenge_boons} - @{banes_from_afflictions}]]@{die_boon}k1[boons/banes]]]}} {{boons=[[@{boons_banes_query} + @{global_challenge_boons} - @{banes_from_afflictions}]]}}"></button><span class="sheet-label sheet-space-after" data-i18n="STRENGTH">Strength</span><span class="sheet-space-after" name="attr_strength">10</span><input type="hidden" class="sheet-mod" name="attr_strength_mod" value="0"><span class="sheet-bracketed" name="attr_strength_mod">0</span></span><input type="checkbox" name="attr_has_strength" class="sheet-hider sheet-hidden" value="0"><span class="sheet-comma"><span class="sheet-label sheet-space-after" data-i18n="STRENGTH">Strength</span><span>—</span></span><input type="checkbox" name="attr_has_agility" class="sheet-hider sheet-hidden" value="1" checked><span class="sheet-button-holder sheet-comma"><button type="roll" name="roll_Agility" title="%{@{character_id}|Agility}" class="sheet-invisible-button" value="@{output_option} &{template:sotdl} @{setting_show_name} {{title=^{AGILITY}}} {{showroll=1}} {{roll-label=^{ROLL}}} {{roll=[[@{die_challenge} + @{agility_mod} + [[@{boons_banes_query} + @{global_challenge_boons} - @{banes_from_afflictions}]]@{die_boon}k1[boons/banes]]]}} {{boons=[[@{boons_banes_query} + @{global_challenge_boons} - @{banes_from_afflictions}]]}}"></button><span class="sheet-label sheet-space-after" data-i18n="AGILITY">Agility</span><span class="sheet-space-after" name="attr_agility">10</span><input type="hidden" class="sheet-mod" name="attr_agility_mod" value="0"><span class="sheet-bracketed" name="attr_agility_mod">0</span></span><input type="checkbox" name="attr_has_agility" class="sheet-hider sheet-hidden" value="0"><span class="sheet-comma"><span class="sheet-label sheet-space-after" data-i18n="AGILITY">Agility</span><span>—</span></span><input type="checkbox" name="attr_has_intellect" class="sheet-hider sheet-hidden" value="1" checked><span class="sheet-button-holder sheet-comma"><button type="roll" name="roll_Intellect" title="%{@{character_id}|Intellect}" class="sheet-invisible-button" value="@{output_option} &{template:sotdl} @{setting_show_name} {{title=^{INTELLECT}}} {{showroll=1}} {{roll-label=^{ROLL}}} {{roll=[[@{die_challenge} + @{intellect_mod} + [[@{boons_banes_query} + @{global_challenge_boons} - @{banes_from_afflictions}]]@{die_boon}k1[boons/banes]]]}} {{boons=[[@{boons_banes_query} + @{global_challenge_boons} - @{banes_from_afflictions}]]}}"></button><span class="sheet-label sheet-space-after" data-i18n="INTELLECT">Intellect</span><span class="sheet-space-after" name="attr_intellect">10</span><input type="hidden" class="sheet-mod" name="attr_intellect_mod" value="0"><span class="sheet-bracketed" name="attr_intellect_mod">0</span></span><input type="checkbox" name="attr_has_intellect" class="sheet-hider sheet-hidden" value="0"><span class="sheet-comma"><span class="sheet-label sheet-space-after" data-i18n="INTELLECT">Intellect</span><span>—</span></span><input type="checkbox" name="attr_has_will" class="sheet-hider sheet-hidden" value="1" checked><span class="sheet-button-holder"><button type="roll" name="roll_Will" title="%{@{character_id}|Will}" class="sheet-invisible-button" value="@{output_option} &{template:sotdl} @{setting_show_name} {{title=^{WILL}}} {{showroll=1}} {{roll-label=^{ROLL}}} {{roll=[[@{die_challenge} + @{will_mod} + [[@{boons_banes_query} + @{global_challenge_boons} - @{banes_from_afflictions}]]@{die_boon}k1[boons/banes]]]}} {{boons=[[@{boons_banes_query} + @{global_challenge_boons} - @{banes_from_afflictions}]]}}"></button><span class="sheet-label sheet-space-after" data-i18n="WILL">Will</span><span class="sheet-space-after" name="attr_will">10</span><input type="hidden" class="sheet-mod" name="attr_will_mod" value="0"><span class="sheet-bracketed" name="attr_will_mod">0</span></span><input type="checkbox" name="attr_has_will" class="sheet-hider sheet-hidden" value="0"><span><span class="sheet-label sheet-space-after" data-i18n="WILL">Will</span><span>—</span></span></div><div><span class="sheet-label sheet-space-after" data-i18n="SPEED">Speed</span><span name="attr_speed_display">10</span><span class="sheet-semicolon-before-nonempty" name="attr_special_movement"></span></div></div><div class="sheet-indent-container sheet-display"><input type="checkbox" name="attr_has_insanity" class="sheet-hider sheet-hidden" value="1"><span><span class="sheet-label sheet-space-after" data-i18n="INSANITY">Insanity</span><input type="number" name="attr_insanity" class="sheet-inline-input" value="0"></span></div><div class="sheet-indent-container sheet-display"><input type="checkbox" name="attr_has_corruption" class="sheet-hider sheet-hidden" value="1"><span><span class="sheet-label sheet-space-after" data-i18n="CORRUPTION">Corruption</span><input type="number" name="attr_corruption" class="sheet-inline-input" value="0"></span></div><input type="checkbox" name="attr_setting_npc_afflictions" class="sheet-hider sheet-hidden" value="1"><div class="sheet-afflictions sheet-indent-container sheet-display"><span class="sheet-label sheet-space-after" data-i18n="AFFLICTIONS">Afflictions</span><span title="banes_from_afflictions" class="sheet-bracketed-space"><span class="sheet-space-after" name="attr_banes_from_afflictions"></span><span class="sheet-lower" data-i18n="BANES">banes</span></span><label><input type="checkbox" name="attr_affliction_asleep" value="1"><span data-i18n="ASLEEP">Asleep</span><div data-i18n="ASLEEP_DESC">Becomes prone and unconscious. Action to wake up. Removed upon taking damage unless noted otherwise.</div></label><label><input type="checkbox" name="attr_affliction_blinded" value="1"><span data-i18n="BLINDED">Blinded</span><div data-i18n="BLINDED_DESC">Cannot see: surroundings obscured, sight-based Perception fails. Attack rolls against Defense or Agility get 1 boon. Speed becomes 2 unless lower.</div></label><label><input type="checkbox" name="attr_affliction_charmed" value="1"><span data-i18n="CHARMED">Charmed</span><div data-i18n="CHARMED_DESC">Treats source as trusted friend and ally. Cannot attack source.</div></label><label><input type="checkbox" name="attr_affliction_compelled" value="1"><span data-i18n="COMPELLED">Compelled</span><div data-i18n="COMPELLED_DESC">Cannot use actions or move. Instead, source can force creature to move or use an action during fast turn. All decisions are made by source.</div></label><label><input type="checkbox" name="attr_affliction_dazed" value="1"><span data-i18n="DAZED">Dazed</span><div data-i18n="DAZED_DESC">Cannot use actions.</div></label><label><input type="checkbox" name="attr_affliction_deafened" value="1"><span data-i18n="DEAFENED">Deafened</span><div data-i18n="DEAFENED_DESC">Cannot hear: hearing-based Perception fails.</div></label><label><input type="checkbox" name="attr_affliction_defenseless" value="1"><span data-i18n="DEFENSELESS">Defenseless</span><div data-i18n="DEFENSELESS_DESC">Defense becomes 5. Cannot use actions. Challenge rolls fail, except for Perception.</div></label><label><input type="checkbox" name="attr_affliction_diseased" value="1"><span data-i18n="DISEASED">Diseased</span><div data-i18n="DISEASED_DESC">All attack rolls and challenge rolls are made with 1 bane.</div></label><label><input type="checkbox" name="attr_affliction_fatigued" value="1"><span data-i18n="FATIGUED">Fatigued</span><div data-i18n="FATIGUED_DESC">All attack rolls and challenge rolls are made with 1 bane.</div></label><label><input type="checkbox" name="attr_affliction_frightened" value="1"><span data-i18n="FRIGHTENED">Frightened</span><div data-i18n="FRIGHTENED_DESC">All attack rolls and challenge rolls are made with 1 bane. Cannot take fast turns.</div></label><label><input type="checkbox" name="attr_affliction_grabbed" value="1"><span data-i18n="GRABBED">Grabbed</span><div data-i18n="GRABBED_DESC">Depending on size, either cannot move away (if grabber larger or equal), or move grabbing creature automatically.</div></label><label><input type="checkbox" name="attr_affliction_immobilized" value="1"><span data-i18n="IMMOBILIZED">Immobilized</span><div data-i18n="IMMOBILIZED_DESC">Speed becomes 0, cannot benefit from bonuses to speed. Attack rolls against get 1 boon.</div></label><label><input type="checkbox" name="attr_affliction_impaired" value="1"><span data-i18n="IMPAIRED">Impaired</span><div data-i18n="IMPAIRED_DESC">All attack rolls and challenge rolls are made with 1 bane.</div></label><label><input type="checkbox" name="attr_affliction_poisoned" value="1"><span data-i18n="POISONED">Poisoned</span><div data-i18n="POISONED_DESC">All attack rolls and challenge rolls are made with 1 bane.</div></label><label><input type="checkbox" name="attr_affliction_prone" value="1"><span data-i18n="PRONE">Prone</span><div data-i18n="PRONE_DESC">Lies on the ground. Other creatures can move through its space. Strength and Agility rolls are made with 1 bane. Attack rolls against get 1 boon or bane, depending on if they are in reach or not. Can use move to stand up.</div></label><label><input type="checkbox" name="attr_affliction_slowed" value="1"><span data-i18n="SLOWED">Slowed</span><div data-i18n="SLOWED_DESC">Can only take a slow turn. Speed is halved, cannot benefit from bonuses to speed.</div></label><label><input type="checkbox" name="attr_affliction_stunned" value="1"><span data-i18n="STUNNED">Stunned</span><div data-i18n="STUNNED_DESC">Cannot use actions or move. Challenge rolls fail. Attack rolls against are made with 1 boon.</div></label><label><input type="checkbox" name="attr_affliction_surprised" value="1"><span data-i18n="SURPRISED">Surprised</span><div data-i18n="SURPRISED_DESC">Cannot use actions or move. Challenge rolls fail.</div></label><label><input type="checkbox" name="attr_affliction_unconscious" value="1"><span data-i18n="UNCONSCIOUS">Unconscious</span><div data-i18n="UNCONSCIOUS_DESC">Cannot use actions or move. Challenge rolls fail. Defense becomes 5.</div></label></div><fieldset class="repeating_npctraits"><div class="sheet-edit"><input type="text" spellcheck="false" title="@{repeating_npctraits_$X_npctrait_name}" name="attr_npctrait_name" class="sheet-name" placeholder="Trait name" data-i18n-placeholder="TRAIT_NAME"><textarea spellcheck="false" title="@{repeating_npctraits_$X_npctrait_description}" name="attr_npctrait_description" placeholder="Trait description" data-i18n-placeholder="TRAIT_DESCRIPTION"></textarea></div><div class="sheet-indent-container sheet-display"><button type="roll" name="roll_Roll" title="%{@{character_id}|repeating_npctraits_$X_Roll}" class="sheet-invisible-button" value="@{output_option} &{template:sotdl} @{setting_show_name} {{title=@{npctrait_name}}} {{description=@{npctrait_description}}}"></button><span class="sheet-label sheet-space-after" name="attr_npctrait_name"></span><span class="sheet-linebreak" name="attr_npctrait_description"></span></div></fieldset></div><div class="sheet-right-col"><div class="sheet-attacks"><div class="sheet-npc-header"><span data-i18n="ATTACKS">Attacks</span></div><fieldset class="repeating_attacks"><div class="sheet-flex-row sheet-edit"><input type="text" spellcheck="false" class="sheet-name" title="@{repeating_attacks_$X_attack_name}" name="attr_attack_name" placeholder="Name" data-i18n-placeholder="NAME"><span>(</span><input type="text" spellcheck="false" class="sheet-range" title="@{repeating_attacks_$X_attack_range}" name="attr_attack_range" placeholder="melee or short range" data-i18n-placeholder="RANGE_PLACEHOLDER"><span><span class="sheet-semicolon-before sheet-space-after sheet-lower" data-i18n="REACH">reach</span>+</span><input type="number" class="sheet-reach" title="@{repeating_attacks_$X_attack_reach}" name="attr_attack_reach" value="0"><span>)</span><span>+</span><input type="number" title="@{repeating_attacks_$X_attack_mod}" name="attr_attack_mod" class="sheet-mod" value="0"></div><div class="sheet-flex-row sheet-edit"><span data-i18n="WITH">with</span><input type="number" title="@{repeating_attacks_$X_attack_boons}" name="attr_attack_boons" class="sheet-boons" value="0"><span class="sheet-lower" data-i18n="BOONS">boons</span><span>(</span><input type="text" spellcheck="false" title="@{repeating_attacks_$X_attack_damage}" name="attr_attack_damage" class="sheet-damage" placeholder="1d6"><input type="text" spellcheck="false" title="@{repeating_attacks_$X_attack_plus}" name="attr_attack_plus" class="sheet-extra" placeholder="plus extra effect" data-i18n-placeholder="PLUS_EXTRA_EFFECT"><span>)</span><span class="sheet-versus"><span data-i18n="VS">vs</span><select title="@{repeating_attacks_$X_attack_against}" name="attr_attack_against"><option value="^{STRENGTH}" data-i18n="STRENGTH">Strength</option><option value="^{AGILITY}" data-i18n="AGILITY">Agility</option><option value="^{INTELLECT}" data-i18n="INTELLECT">Intellect</option><option value="^{WILL}" data-i18n="WILL">Will</option><option value="^{DEFENSE}" data-i18n="DEFENSE" selected>Defense</option><option value="^{PERCEPTION}" data-i18n="PERCEPTION">Perception</option></select><input type="text" spellcheck="false" title="@{repeating_attacks_$X_attack_against}" name="attr_attack_against" value="^{DEFENSE}"></span></div><textarea spellcheck="false" title="@{repeating_attacks_$X_attack_description}" name="attr_attack_description" class="sheet-edit" placeholder="Description" data-i18n-placeholder="DESCRIPTION"></textarea><div class="sheet-indent-container sheet-display"><button type="roll" name="roll_Roll" title="%{@{character_id}|repeating_attacks_$X_Roll}" class="sheet-invisible-button" value="@{output_option} &{template:sotdl} @{setting_show_name} {{title=@{attack_name}}} {{subtitle=@{attack_range}}} {{showroll=@{attack_range}}} {{roll-label=^{ATTACK}}} {{roll=[[@{attack_formula}]]}} {{boons=@{attack_boons_formula}}} {{damage=@{attack_damage}}} {{damageroll=[[0@{attack_damage} + @{global_damage_bonus}[global bonus]]]}} {{damageplus=@{attack_plus}}} {{description=@{attack_description}}} {{versus=@{attack_against}}}"></button><input type="hidden" name="attr_attack_formula" value="0"><input type="hidden" name="attr_attack_boons_display" value=""><input type="hidden" name="attr_attack_boons_formula" value=""><input type="hidden" name="attr_attack_against_display" value=""><span class="sheet-label sheet-space-after" name="attr_attack_name"></span><input type="hidden" name="attr_attack_range" class="sheet-hider" value=""><span class="sheet-bracketed-space"><span name="attr_attack_range"></span><input type="hidden" name="attr_attack_reach" class="sheet-hider-numeric" value="0"><span class="sheet-semicolon-before"><span class="sheet-lower sheet-space-after" data-i18n="REACH">reach</span><span>+</span><span name="attr_attack_reach"></span></span></span><input type="hidden" name="attr_attack_range" class="sheet-hider" value=""><span class="sheet-space-after"><input type="hidden" name="attr_attack_mod" class="sheet-mod" value="0"><span class="sheet-space-after" name="attr_attack_mod"></span><input type="hidden" name="attr_attack_boons" class="sheet-hider-numeric" value="0"><span><span class="sheet-space-after" data-i18n="WITH">with</span><span name="attr_attack_boons_display"></span></span></span><input type="hidden" name="attr_attack_damage" class="sheet-hider" value=""><span class="sheet-bracketed-space"><span name="attr_attack_damage"></span><span class="sheet-space-before-nonempty" name="attr_attack_plus"></span></span><span class="sheet-against-display" name="attr_attack_against_display"></span><span class="sheet-linebreak" name="attr_attack_description"></span></div></fieldset></div><input type="checkbox" name="attr_has_specialattacks" class="sheet-display-hider sheet-hidden" value="1"><div class="sheet-specialattacks"><div class="sheet-npc-header" data-i18n="SPECIAL_ATTACKS">Special attacks</div><fieldset class="repeating_specialattacks"><div class="sheet-edit"><input type="text" spellcheck="false" title="@{repeating_specialattacks_$X_specialattack_name}" name="attr_specialattack_name" class="sheet-name" placeholder="Name" data-i18n-placeholder="NAME"><textarea spellcheck="false" title="@{repeating_specialattacks_$X_specialattack_description}" name="attr_specialattack_description" placeholder="Description" data-i18n-placeholder="DESCRIPTION"></textarea></div><div class="sheet-indent-container sheet-display"><button type="roll" name="roll_Roll" title="%{@{character_id}|repeating_specialattacks_$X_Roll}" class="sheet-invisible-button" value="@{output_option} &{template:sotdl} @{setting_show_name} {{title=@{specialattack_name}}} {{description=@{specialattack_description}}}"></button><span class="sheet-label sheet-space-after" name="attr_specialattack_name"></span><span class="sheet-linebreak" name="attr_specialattack_description"></span></div></fieldset></div><input type="checkbox" name="attr_has_specialactions" class="sheet-display-hider sheet-hidden" value="1"><div class="sheet-specialactions"><div class="sheet-npc-header" data-i18n="SPECIAL_ACTIONS">Special actions</div><fieldset class="repeating_specialactions"><div class="sheet-edit"><input type="text" spellcheck="false" title="@{repeating_specialactions_$X_specialaction_name}" name="attr_specialaction_name" class="sheet-name" placeholder="Name" data-i18n-placeholder="NAME"><textarea spellcheck="false" title="@{repeating_specialactions_$X_specialaction_description}" name="attr_specialaction_description" placeholder="Description" data-i18n-placeholder="DESCRIPTION"></textarea></div><div class="sheet-indent-container sheet-display"><button type="roll" name="roll_Roll" title="%{@{character_id}|repeating_specialactions_$X_Roll}" class="sheet-invisible-button" value="@{output_option} &{template:sotdl} @{setting_show_name} {{title=@{specialaction_name}}} {{description=@{specialaction_description}}}"></button><span class="sheet-label sheet-space-after" name="attr_specialaction_name"></span><span class="sheet-linebreak" name="attr_specialaction_description"></span></div></fieldset></div><input type="checkbox" name="attr_has_npcmagic" class="sheet-display-hider sheet-hidden" value="1"><div class="sheet-npcmagic"><div class="sheet-npc-header"><button type="roll" name="roll_spells_macro" title="%{@{character_id}|spells_macro}" value="/w @{character_name} &{template:sotdl} {{name=@{name}}} {{title=^{SPELLS}}} {{description=@{spells_macro_var}}}" class="sheet-header-button" data-i18n="MAGIC">Magic</button></div><label class="sheet-power sheet-edit"><span class="sheet-space-after" data-i18n="POWER">Power</span><input type="number" title="@{power}" name="attr_power" value="0" min="0"></label><div class="sheet-indent-container sheet-display"><span class="sheet-label sheet-space-after" data-i18n="POWER">Power</span><span name="attr_power"></span></div><fieldset class="repeating_npcmagic"><div class="sheet-flex-row sheet-edit"><input type="text" spellcheck="false" title="@{repeating_npcmagic_$X_npcmagic_name}" name="attr_npcmagic_name" class="sheet-tradition-name sheet-name" placeholder="Tradition" data-i18n-placeholder="TRADITION"><input type="text" spellcheck="false" title="@{repeating_npcmagic_$X_npcmagic_spells}" name="attr_npcmagic_spells" class="sheet-tradition-spells" placeholder="Spells" data-i18n-placeholder="SPELLS"></div><div class="sheet-indent-container sheet-display"><span class="sheet-label sheet-space-after" name="attr_npcmagic_name"></span><span class="sheet-italic" name="attr_npcmagic_spells"></span></div></fieldset></div><input type="checkbox" name="attr_has_endofround" class="sheet-display-hider sheet-hidden" value="1"><div class="sheet-endofround"><div class="sheet-npc-header" data-i18n="END_OF_THE_ROUND">End of the round</div><fieldset class="repeating_endofround"><div class="sheet-edit"><input type="text" spellcheck="false" class="sheet-name" title="@{repeating_endofround_$X_endofround_name}" name="attr_endofround_name" placeholder="Name" data-i18n-placeholder="NAME"><textarea spellcheck="false" title="@{repeating_endofround_$X_endofround_description}" name="attr_endofround_description" placeholder="Description" data-i18n-placeholder="DESCRIPTION"></textarea></div><div class="sheet-indent-container sheet-display"><button type="roll" name="roll_Roll" class="sheet-invisible-button" title="%{@{character_id}|repeating_endofround_$X_Roll}" value="@{output_option} &{template:sotdl} @{setting_show_name} {{title=@{endofround_name}}} {{description=@{endofround_description}}}"></button><span class="sheet-label sheet-space-after" name="attr_endofround_name"></span><span class="sheet-linebreak" name="attr_endofround_description"></span></div></fieldset></div></div></div>
|
|
<rolltemplate class="sheet-rolltemplate-sotdl">{{#title}}<div class="sheet-title"><div>{{title}}</div>{{#subtitle}}<div class="sheet-subtitle">{{subtitle}}</div>{{/subtitle}}</div>{{/title}}{{#name}}<div class="sheet-name">{{name}}</div>{{/name}}{{^sacrifice}}<div class="sheet-rolls">{{#showroll}}<div class="sheet-roll"><span class="sheet-label">{{roll-label}}</span>{{#boons}}{{#rollGreater() boons 0}}<span class="sheet-boons sheet-super">+{{boons}}<div class="sheet-info"><span data-i18n="WITH">with</span> {{boons}}<span> </span>{{#rollLess() boons 2}}<span class="sheet-lower" data-i18n="BOON">boon</span>{{/rollLess() boons 2}}{{#rollGreater() boons 1}}<span class="sheet-lower" data-i18n="BOONS">boons</span>{{/rollGreater() boons 1}}</div></span>{{/rollGreater() boons 0}}{{#rollLess() boons 0}}<span class="sheet-banes sheet-super">{{boons}}<div class="sheet-info"><span data-i18n="WITH">with</span>{{boons}}<span> </span>{{#rollGreater() boons -2}}<span class="sheet-lower" data-i18n="BANE">bane</span>{{/rollGreater() boons -2}}{{#rollLess() boons -1}}<span class="sheet-lower" data-i18n="BANES">banes</span>{{/rollLess() boons -1}}</div></span>{{/rollLess() boons 0}}{{/boons}}<span class="sheet-label">: </span>{{roll}}{{#versus}}<span> </span><span data-i18n="VS">vs</span> <span class="sheet-vs">{{versus}}</span>{{/versus}}</div>{{/showroll}}{{#damage}}<div class="sheet-damage"><span class="sheet-label"><span data-i18n="DAMAGE">Damage</span>: </span>{{damageroll}}</div>{{/damage}}{{#damageplus}}<div class="sheet-damageplus">{{damageplus}}</div>{{/damageplus}}</div>{{/sacrifice}}{{#spell}}{{^sacrifice}}<div class="sheet-spell-info">{{#requirement}}<div><strong data-i18n="REQUIREMENT">Requirement</strong> {{requirement}}</div>{{/requirement}}{{#target}}<div><strong data-i18n="TARGET">Target</strong> {{target}}</div>{{/target}}{{#area}}<div><strong data-i18n="AREA">Area</strong> {{area}}</div>{{/area}}{{#duration}}<div><strong data-i18n="DURATION">Duration</strong> {{duration}}</div>{{/duration}}</div>{{/sacrifice}}{{/spell}}<div class="sheet-content">{{#sacrifice}}<div><strong data-i18n="SACRIFICE">Sacrifice</strong> {{sacrifice}}</div>{{/sacrifice}}{{^sacrifice}}{{#rollGreater() roll 19}}{{#roll20plus}}<div><strong data-i18n="ATTACK_ROLL_20+">Attack Roll 20+</strong> {{roll20plus}}</div>{{/roll20plus}}{{/rollGreater() roll 19}}{{#triggered}}<div><strong data-i18n="TRIGGERED">Triggered</strong> {{triggered}}</div>{{/triggered}}{{#permanence}}<div><strong data-i18n="PERMANENCE">Permanence</strong> {{permanence}}</div>{{/permanence}}{{#aftereffect}}<div><strong data-i18n="AFTEREFFECT">Aftereffect</strong> {{aftereffect}}</div>{{/aftereffect}}{{#special}}<div><strong data-i18n="SPECIAL">Special</strong> {{special}}</div>{{/special}}{{#description}}<div class="sheet-description"> {{description}}</div>{{/description}}{{/sacrifice}}</div></rolltemplate>
|
|
<script type="text/worker">"use strict";function _toConsumableArray(a){if(Array.isArray(a)){for(var b=0,c=Array(a.length);b<a.length;b++)c[b]=a[b];return c}return Array.from(a)}function _defineProperty(a,b,c){return b in a?Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!0}):a[b]=c,a}var setAttr=function(a,b){setAttrs(_defineProperty({},a,b))},translate=function(a){return""+getTranslationByKey(a)},register=function(a,b){on(a.map(function(c){return"sheet:opened"!==c&&0!==c.indexOf("remove:")?"change:"+c:c}).join(" "),b)},removeSpellFilters=function(a){"0"===a.newValue&&getSectionIDs("repeating_traditions",function(b){var c=b.reduce(function(d,e){return d["repeating_traditions_"+e+"_tradition_filter"]="0",d},{});setAttrs(c)})},calcSpellFilters=function(){getSectionIDs("repeating_traditions",function(a){getSectionIDs("repeating_spells",function(b){var c=[].concat(_toConsumableArray(a.map(function(d){return"repeating_traditions_"+d+"_tradition_name"})),_toConsumableArray(a.map(function(d){return"repeating_traditions_"+d+"_tradition_filter"})),_toConsumableArray(b.map(function(d){return"repeating_spells_"+d+"_spell_tradition"})));getAttrs(c,function(d){var e=a.filter(function(g){return"1"===d["repeating_traditions_"+g+"_tradition_filter"]}).map(function(g){return d["repeating_traditions_"+g+"_tradition_name"].toLowerCase()}),f=b.reduce(function(g,h){return g["repeating_spells_"+h+"_spell_hide"]=!e.length||e.includes(d["repeating_spells_"+h+"_spell_tradition"].toLowerCase())?"0":"1",g},{});f.remove_spell_filters=e.length?"1":"0",setAttrs(f)})})})},defenseAttrs=["affliction_defenseless","affliction_unconscious","agility","npc","auto_defense","defense_input","setting_npc_afflictions"],calcDefense=function(){getSectionIDs("repeating_defense",function(a){var b=[].concat(defenseAttrs,_toConsumableArray(a.map(function(c){return"repeating_defense_"+c+"_defense_check"})),_toConsumableArray(a.map(function(c){return"repeating_defense_"+c+"_defense_base"})),_toConsumableArray(a.map(function(c){return"repeating_defense_"+c+"_defense_bonus"})));getAttrs(b,function(c){var d="1"===c.auto_defense&&"0"===c.npc,e=a.reduce(function(g,h){var j="AGILITY"===c["repeating_defense_"+h+"_defense_base"]?parseInt(c.agility)||0:0,l=parseInt(c["repeating_defense_"+h+"_defense_bonus"])||0;return g["repeating_defense_"+h+"_defense_total"]=j+l,g},{});if(("1"===c.affliction_defenseless||"1"===c.affliction_unconscious)&&("0"===c.npc||"1"===c.setting_npc_afflictions))e.defense="5";else if(d&&0===a.filter(function(g){return"1"===c["repeating_defense_"+g+"_defense_check"]}).length)e.defense=c.agility;else if(d){var f=Math.min(a.reduce(function(g,h){return"1"===c["repeating_defense_"+h+"_defense_check"]&&(g+=e["repeating_defense_"+h+"_defense_total"]),g},0),25);e.defense=f+""}else e.defense=c.defense_input;setAttrs(e)})})},handleBasicEquipment=function(){getAttrs(["setting_basic_equipment","auto_defense"],function(a){"1"===a.setting_basic_equipment&&"1"===a.auto_defense&&setAttr("auto_defense","0")})},calcEquipment=function(){getSectionIDs("repeating_items",function(a){var b=[].concat(_toConsumableArray(a.map(function(c){return"repeating_items_"+c+"_item_check"})),_toConsumableArray(a.map(function(c){return"repeating_items_"+c+"_item_amount"})),_toConsumableArray(a.map(function(c){return"repeating_items_"+c+"_item_name"})));getAttrs(b,function(c){var d=a.filter(function(f){return"1"===c["repeating_items_"+f+"_item_check"]}).map(function(f){return"repeating_items_"+f+"_item_amount"}).reduce(function(f,g){return f+(parseInt(c[g])||0)},0),e=a.map(function(f){var g="repeating_items_"+f+"_item",h="1"===c[g+"_amount"]?"":c[g+"_amount"]+" ";return h+c[g+"_name"]}).join(", ");setAttrs({items_total:d,equipment_summary:e})})})},stats=["strength","agility","intellect","perception","will"],statMods=[].concat(stats,["finesse"]).map(function(a){return a+"_mod"}),calcStatBonus=function(a){getAttrs([a],function(b){return setAttr(a+"_mod",parseInt(b[a])-10||0)})},calcFinesseBonus=function(){getAttrs(["strength","agility"],function(a){setAttr("finesse_mod",Math.max(parseInt(a.strength),parseInt(a.agility))-10||0)})},handleHealthChange=function(){getAttrs(["health","setting_healing_rate_divisor"],function(a){setAttrs({damage_max:a.health,healing_rate:Math.floor(parseInt(a.health)/a.setting_healing_rate_divisor)||0})})},calcWeaponMod=function(a){getAttrs([].concat(_toConsumableArray(statMods),_toConsumableArray(a.map(function(b){return b+"_attribute"}))),function(b){var c=a.reduce(function(d,e){return d[e+"_mod"]=b[b[e+"_attribute"]+"_mod"],d},{});setAttrs(c)})},calcWeaponDamage=function(a){getAttrs([].concat(_toConsumableArray(a.map(function(b){return b+"_damage"})),["setting_roll_weapon_damage","global_damage_bonus","setting_show_damage_button"]),function(b){var c=a.reduce(function(d,e){return d[e+"_damage_formula"]=""==b[e+"_damage"]||"0"===b.setting_roll_weapon_damage&&"0"===b.setting_show_damage_button?"":"0"==b.setting_roll_weapon_damage?"{{damage=1}} {{damageroll=[@{weapon_damage}](~repeating_weapons_damage)}}":"{{damage=1}} {{damageroll=[[@{weapon_damage} + @{global_damage_bonus}[global bonus]]]}}",d},{});setAttrs(c)})},updateSpellAttack=function(a){getAttrs([a+"_attack_mod"],function(d){var e;setAttrs((e={},_defineProperty(e,a+"_attack_formula",d[a+"_attack_mod"]?"@{die_attack} + @{spell_attack_mod} + @{spell_boons_formula}@{die_boon}k1[boons/banes]":"0"),_defineProperty(e,a+"_boons_formula",d[a+"_attack_mod"]?"[[@{boons_banes_query} + @{spell_boons} + @{global_attack_boons} + @{global_spell_attack_boons} - @{banes_from_afflictions}]]":""),e))})},updateTalentAttack=function(a){getAttrs([a+"_attack_mod"],function(d){var e;setAttrs((e={},_defineProperty(e,a+"_attack_formula",d[a+"_attack_mod"]?"@{die_attack} + @{talent_attack_mod} + @{talent_boons_formula}@{die_boon}k1[boons/banes]":"0"),_defineProperty(e,a+"_boons_formula",d[a+"_attack_mod"]?"[[@{boons_banes_query} + @{talent_boons} + @{global_attack_boons} - @{banes_from_afflictions}]]":""),e))})},updateNpcAttack=function(a){getAttrs([a+"_range"],function(d){var e;setAttrs((e={},_defineProperty(e,a+"_formula",d[a+"_range"]?"@{die_attack} + @{attack_mod} + @{attack_boons_formula}@{die_boon}k1[boons/banes]":"0"),_defineProperty(e,a+"_boons_formula",d[a+"_range"]?"[[@{boons_banes_query} + @{attack_boons} + @{global_attack_boons} - @{banes_from_afflictions}]]":""),e))})},calcBoonsDisplay=function(a){getAttrs([a+"_boons"],function(b){var c;c="1"===b[a+"_boons"]?"1 "+translate("BOON").toLowerCase():"-1"===b[a+"_boons"]?"1 "+translate("BANE").toLowerCase():-2>=parseInt(b[a+"_boons"])?-parseInt(b[a+"_boons"])+" "+translate("BANES").toLowerCase():b[a+"_boons"]+" "+translate("BOONS").toLowerCase(),setAttr(a+"_boons_display",c)})},getSpellCastings=function(a,b,c){var d=parseInt(a)||0,e=parseInt(b)||0,f=parseInt(c)||0;if(e<d)return"0";return 6<=d?"1":5===d?8<=e?"2":"1":2<=d?6<=e-d?"3":2<=e-d?"2":"1":1===d?5<=e?""+(3+f):2<=e?""+(2+f):""+(1+f):0===d?""+(e+f+1):void 0},calcSpellCastings=function(a){getAttrs([].concat(_toConsumableArray(a.map(function(b){return b+"_rank"})),["power","setting_auto_spell_castings","setting_spell_expertise"]),function(b){if("1"===b.setting_auto_spell_castings){var c=a.reduce(function(d,e){return d[e+"_castings_max"]=getSpellCastings(b[e+"_rank"],b.power,b.setting_spell_expertise),d},{});setAttrs(c)}})},resetSpellCastings=function(){getSectionIDs("repeating_spells",function(a){getAttrs(a.map(function(b){return"repeating_spells_"+b+"_spell_castings_max"}),function(b){var c=a.reduce(function(d,e){return d["repeating_spells_"+e+"_spell_castings"]=b["repeating_spells_"+e+"_spell_castings_max"]||"1",d},{});setAttrs(c)})})},resetTalentUses=function(){getSectionIDs("repeating_talents",function(a){getAttrs(a.map(function(b){return"repeating_talents_"+b+"_talent_uses_max"}),function(b){var c=a.reduce(function(d,e){return b["repeating_talents_"+e+"_talent_uses_max"]&&"0"!==b["repeating_talents_"+e+"_talent_uses_max"]&&(d["repeating_talents_"+e+"_talent_uses"]=b["repeating_talents_"+e+"_talent_uses_max"]||"0"),d},{});setAttrs(c)})})},rest=function(){getAttrs(["rest","damage","healing_rate"],function(a){if("1"==a.rest){resetTalentUses(),resetSpellCastings();var b=Math.max(0,a.damage-a.healing_rate)||0;setAttrs({damage:b});for(var c=0;1e9>c;c++);setAttrs({rest:"0"},{silent:!0})}})},baneAfflictions=["diseased","fatigued","frightened","impaired","poisoned"].map(function(a){return"affliction_"+a}),calcBaneAfflictions=function(){getAttrs([].concat(_toConsumableArray(baneAfflictions),["npc","setting_npc_afflictions"]),function(a){var b="0"===a.npc||"1"===a.setting_npc_afflictions?baneAfflictions.reduce(function(c,d){return c+(parseInt(a[d])||0)},0):"0";setAttrs({banes_from_afflictions:b})})},handleAsleepChange=function(a){"1"===a.newValue&&setAttrs({affliction_prone:"1",affliction_unconscious:"1"})},speedAttrs=["speed","affliction_blinded","affliction_immobilized","affliction_slowed","npc","setting_npc_afflictions"],calcDisplaySpeed=function(){getAttrs(speedAttrs,function(a){var b={},c="0"===a.npc||"1"===a.setting_npc_afflictions;b.auto_speed=c&&("1"===a.affliction_blinded||"1"===a.affliction_immobilized||"1"===a.affliction_slowed)?"1":"0",b.speed_display=c&&"1"===a.affliction_immobilized?"0":c&&"1"===a.affliction_blinded&&"1"===a.affliction_slowed?"0"===a.speed||"1"===a.speed?"0":"1":c&&"1"===a.affliction_blinded?Math.min(2,parseInt(a.speed)||0)+"":c&&"1"===a.affliction_slowed?Math.floor((parseInt(a.speed)||0)/2)+"":a.speed,setAttrs(b)})},updateAgainst=function(a){getAttrs([a+"_against"],function(b){var c;c=0<=b[a+"_against"].toLowerCase().indexOf("strength")?translate("VS")+" "+translate("STRENGTH"):0<=b[a+"_against"].toLowerCase().indexOf("agility")?translate("VS")+" "+translate("AGILITY"):0<=b[a+"_against"].toLowerCase().indexOf("intellect")?translate("VS")+" "+translate("INTELLECT"):0<=b[a+"_against"].toLowerCase().indexOf("will")?translate("VS")+" "+translate("WILL"):0<=b[a+"_against"].toLowerCase().indexOf("perception")?translate("VS")+" "+translate("PERCEPTION"):"",setAttr(a+"_against_display",c)})},buildSpellBook=function(){getSectionIDs("repeating_spells",function(a){var b=[].concat(_toConsumableArray(a.map(function(c){return"repeating_spells_"+c+"_spell_name"})),_toConsumableArray(a.map(function(c){return"repeating_spells_"+c+"_spell_tradition"})),_toConsumableArray(a.map(function(c){return"repeating_spells_"+c+"_spell_rank"})),_toConsumableArray(a.map(function(c){return"repeating_spells_"+c+"_spell_type"})),_toConsumableArray(a.map(function(c){return"repeating_spells_"+c+"_spell_castings"})),_toConsumableArray(a.map(function(c){return"repeating_spells_"+c+"_spell_castings_max"})),["character_id"]);getAttrs(b,function(c){var d=[].concat(_toConsumableArray(new Set(a.map(function(e){return c["repeating_spells_"+e+"_spell_tradition"]||""}).map(function(e){return""+e.slice(0,1).toUpperCase()+e.slice(1).toLowerCase()})))).sort().map(function(e){var f=a.filter(function(g){return(c["repeating_spells_"+g+"_spell_tradition"]||"").toLowerCase()===e.toLowerCase()});return"**"+e+"**\n"+f.sort(function(g,h){var j=(c["repeating_spells_"+g+"_spell_name"]||"").toLowerCase(),l=(c["repeating_spells_"+h+"_spell_name"]||"").toLowerCase();return j<l?-1:j>l?1:0}).map(function(g){var h="repeating_spells_"+g;return"["+c[h+"_spell_name"]+" ("+translate(c[h+"_spell_type"])+" "+(c[h+"_spell_rank"]||0)+", "+(c[h+"_spell_castings"]||0)+"/"+(c[h+"_spell_castings_max"]||0)+")](~"+c.character_id+"|"+h+"_cast)"}).join(", ")}).filter(function(e){return!!e}).join("\n");setAttr("spells_macro_var",d)})})},calcSacrificeQuery=function(){getAttrs(["repeating_spells_spell_sacrifice"],function(a){var b=a.repeating_spells_spell_sacrifice?"{{?{"+translate("SACRIFICE_SPELL")+"|"+translate("NO")+","+("sacrifice=|"+translate("YES")+",sacrifice=@{spell_sacrifice}}}}"):"";setAttr("repeating_spells_spell_sacrifice_query",b)})},setBoonsBanesQuery=function(){getAttrs(["boons_banes_query"],function(a){var b="?{#("+translate("BOONS_BANES")+")|0}";b!==a.boons_banes_query&&setAttr("boons_banes_query",b)})},setWhisperQuery=function(){getAttrs(["whisper_query"],function(a){var b="?{"+translate("OUTPUT")+"|"+translate("PUBLIC")+", |"+translate("WHISPERED_TO_GM")+",/w GM}";b!==a.whisper_query&&setAttr("whisper_query",b)})},setNPCSectionPresence=function(a){getSectionIDs("repeating_"+a,function(b){setAttr("has_"+a,b.length?"1":"0")})},sanitizeTab=function(){return getAttrs(["npc","tab"],function(a){"1"!==a.npc||["npc","spells"].includes(a.tab)?"0"===a.npc&&!["main","equipment_talents","spells","background"].includes(a.tab)&&setAttr("tab","main"):setAttr("tab","npc")})},updateSheet=function(a){6>a&&getSectionIDs("repeating_weapons",function(b){calcWeaponDamage(b.map(function(c){return"repeating_weapons_"+c+"_weapon"}))}),7>a&&getSectionIDs("repeating_attacks",function(b){b.forEach(function(c){return updateNpcAttack("repeating_attacks_"+c+"_attack")})})};on("sheet:opened",function(){getAttrs(["version"],function(a){var b=parseInt(a.version);b&&7>b&&updateSheet(b),setAttrs({version:"7",character_sheet:"Shadow of the Demon Lord v7"})}),setBoonsBanesQuery(),setWhisperQuery()}),register(["repeating_traditions","remove:repeating_traditions","repeating_spells:spell_tradition"],calcSpellFilters),register(["remove_spell_filters"],removeSpellFilters),register([].concat(defenseAttrs,["repeating_defense","remove:repeating_defense"]),calcDefense),register(["repeating_items","remove:repeating_items"],calcEquipment),stats.forEach(function(a){return register([a],function(){return calcStatBonus(a)})}),register(["strength","agility"],calcFinesseBonus),register(["health","healing_rate_divisor"],handleHealthChange),register(["repeating_talents:talent_attack_mod"],function(){return updateTalentAttack("repeating_talents_talent")}),register(["repeating_weapons:weapon_attribute"],function(){return calcWeaponMod(["repeating_weapons_weapon"])}),register(statMods,function(){getSectionIDs("repeating_weapons",function(a){calcWeaponMod(a.map(function(b){return"repeating_weapons_"+b+"_weapon"}))})}),register(["setting_roll_weapon_damage","global_damage_bonus","setting_show_damage_button"],function(){getSectionIDs("repeating_weapons",function(a){calcWeaponDamage(a.map(function(b){return"repeating_weapons_"+b+"_weapon"}))})}),register(["repeating_weapons"],function(){return calcWeaponDamage(["repeating_weapons_weapon"])}),register(["repeating_attacks:attack_range"],function(){return updateNpcAttack("repeating_attacks_attack")}),["weapon","attack"].forEach(function(a){register(["repeating_"+a+"s:"+a+"_boons"],function(){calcBoonsDisplay("repeating_"+a+"s_"+a)}),register(["repeating_"+a+"s:"+a+"_against"],function(){updateAgainst("repeating_"+a+"s_"+a)})}),register(["repeating_spells:spell_sacrifice"],calcSacrificeQuery),register(["repeating_spells:spell_attack_mod"],function(){return updateSpellAttack("repeating_spells_spell")}),register(["power","setting_auto_spell_castings","setting_spell_expertise"],function(){getSectionIDs("repeating_spells",function(a){calcSpellCastings(a.map(function(b){return"repeating_spells_"+b+"_spell"}))})}),register(["repeating_spells:spell_rank"],function(){return calcSpellCastings(["repeating_spells_spell"])}),register(["repeating_spells","remove:repeating_spells"],buildSpellBook),register(["reset_spell_castings"],resetSpellCastings),register(["reset_talent_uses"],resetTalentUses),register(["rest"],rest),register([].concat(_toConsumableArray(baneAfflictions),["setting_npc_afflictions","npc"]),calcBaneAfflictions),register(["affliction_asleep"],handleAsleepChange),register(speedAttrs,calcDisplaySpeed),register(["npc","sheet:opened"],sanitizeTab),["specialactions","specialattacks","npcmagic","endofround"].forEach(function(a){register(["repeating_"+a,"remove:repeating_"+a],function(){return setNPCSectionPresence(a)})}),register(["setting_basic_equipment"],handleBasicEquipment);</script>
|
|
|
|
|
|
|
|
|