mirror of
https://github.com/Nighthawk42/roll20-character-sheets.git
synced 2026-09-08 16:12:33 +00:00
240 lines
326 KiB
HTML
240 lines
326 KiB
HTML
<div class=wrapper><input type=radio name=attr_lang class="toggle-language float-right" value=Russian checked><span class="toggle-language ru float-right"></span> <input type=radio name=attr_lang class="toggle-language float-right" value=French><span class="toggle-language fr float-right"></span> <input type=radio name=attr_lang class="toggle-language float-right" value=German><span class="toggle-language de float-right"></span> <input type=radio name=attr_lang class="toggle-language float-right" value=English checked><span class="toggle-language en float-right"></span> <input class=slide-input-pc type=checkbox name=attr_is_npc value=1><label class=slide-toggle-pc><span class=slide-cover>···</span><span class=slide-toggle-pc-left><span class=en>PC</span><span class=de>PC</span><span class=fr>PJ</span><span class=ru>PC</span></span><span class=slide-toggle-pc-right><span class=en>NPC</span><span class=de>NPC</span><span class=fr>PNJ</span><span class=ru>NPC</span></span></label> <span class="small-label bold pad-l-sm"><span class=vert-middle>Shaped v</span><div class="col-05 inline-block vert-middle"><input type=text name=attr_version class="no-border bold small-label" readonly></div></span><div class="core-header pc"><div class=shaped-row><div class=col-40><div class=dnd-image-wrapper><img src=http://i.imgur.com/X44kw8b.png alt="Dungeons & Dragons (5th edition)"></div><div class=character-name><input type=text name=attr_character_name><div class=wrap-box-label><span class=en>Character name</span><span class=de>Character name</span><span class=fr>Nom du personnage</span><span class=ru>Имя Персонажа</span></div></div></div><div class="col-60 header-info"><div class="wrap-box pad-md"><div class=shaped-row><div class="col-70 pad-r-lg"><input type=text name=attr_class_and_level placeholder="set on Character" readonly> <button type=roll name=roll_class class=wrapper-button value="@{output_option} &{template:5e-shaped} {{character_name=@{character_name}}} @{show_character_name} {{title=Class & Level}} {{text_big=@{class_and_level}}}"><div class=wrap-box-label><span class=en>Class & Level</span><span class=de>Class & Level</span><span class=fr>Classes & Niveaux</span><span class=ru>Class & Level</span></div></button></div><div class=col-30><input type=text name=attr_background> <button type=roll name=roll_background class=wrapper-button value="@{output_option} &{template:5e-shaped} {{character_name=@{character_name}}} @{show_character_name} {{title=Background}} {{text_big=@{background}}}"><div class=wrap-box-label><span class=en>Background</span><span class=de>Background</span><span class=fr>Background</span><span class=ru>Background</span></div></button></div></div><div class=shaped-row><div class="col-35 pad-r-lg"><input type=text name=attr_race> <button type=roll name=roll_race class=wrapper-button value="@{output_option} &{template:5e-shaped} {{character_name=@{character_name}}} @{show_character_name} {{title=Race}} {{text_big=@{race}}}"><div class=wrap-box-label><span class=en>Race</span><span class=de>Race</span><span class=fr>Race</span><span class=ru>Раса</span></div></button></div><div class="col-35 pad-r-lg"><input type=text name=attr_alignment> <button type=roll name=roll_alignment class=wrapper-button value="@{output_option} &{template:5e-shaped} {{character_name=@{character_name}}} @{show_character_name} {{title=Alignment}} {{text_big=@{alignment}}}"><div class=wrap-box-label><span class=en>Alignment</span><span class=de>Alignment</span><span class=fr>Alignment</span><span class=ru>Мировоззрение</span></div></button></div><div class=col-30><div class="shaped-row flex-end"><div class=col-42><input type=number name=attr_xp class=no-spin min=0 step=1></div><div class="col-06 center">/</div><div class=col-42><input type=number name=attr_xp_next_level readonly></div></div><button type=roll name=roll_xp class=wrapper-button value="@{output_option} &{template:5e-shaped} {{character_name=@{character_name}}} @{show_character_name} {{title=Experience Points}} {{text_top=[[@{xp}]]/[[@{xp_next_level}]]}} {{text_big=for level [[@{level} + 1]]}}"><div class=wrap-box-label><span class=en>Experience Points</span><span class=de>Experience Points</span><span class=fr>Points d'Expérience</span><span class=ru>Experience Points</span></div></button></div></div></div></div></div></div><div class="mar-t-sm npc"></div><input type=radio name=attr_tab class=toggle-page-core value=core checked><span class=toggle-page-core><span class=en>Core</span><span class=de>Kern</span><span class=fr>Base</span><span class=ru>Core</span></span> <input type=radio name=attr_tab class=toggle-page-spells value=spells><span class=toggle-page-spells><span class=en>Spells</span><span class=de>Spells</span><span class=fr>Sorts</span><span class=ru>Магия</span></span> <input type=radio name=attr_tab class="toggle-page-equipment pc" value=equipment><span class="toggle-page-equipment pc"><span class=en>Equipment</span><span class=de>Equipment</span><span class=fr>Équipement</span><span class=ru>Equipment</span></span> <input type=radio name=attr_tab class="toggle-page-resources pc" value=resources><span class="toggle-page-resources pc"><span class=en>Resources</span><span class=de>Resources</span><span class=fr>Resources</span><span class=ru>Resources</span></span> <input type=radio name=attr_tab class="toggle-page-character pc" value=character><span class="toggle-page-character pc"><span class=en>Character</span><span class=de>Character</span><span class=fr>Personnage</span><span class=ru>Character</span></span> <input type=radio name=attr_tab class=toggle-page-settings value=settings><span class="toggle-page-settings pictos">y</span> <input type=radio name=attr_tab class=toggle-page-all value=all><span class=toggle-page-all><span class=en>All</span><span class=de>All</span><span class=fr>Tout</span><span class=ru>All</span></span><div class=spacer-sm></div><input type=checkbox name=attr_has_sorcerer_levels class="toggle-sorcerer-levels hidden"> <input type=checkbox name=attr_has_warlock_levels class="toggle-warlock-levels hidden"> <input type=checkbox name=attr_spell_slots_l1_toggle class="toggle-spell-level-1 hidden"> <input type=checkbox name=attr_spell_slots_l2_toggle class="toggle-spell-level-2 hidden"> <input type=checkbox name=attr_spell_slots_l3_toggle class="toggle-spell-level-3 hidden"> <input type=checkbox name=attr_spell_slots_l4_toggle class="toggle-spell-level-4 hidden"> <input type=checkbox name=attr_spell_slots_l5_toggle class="toggle-spell-level-5 hidden"> <input type=checkbox name=attr_spell_slots_l6_toggle class="toggle-spell-level-6 hidden"> <input type=checkbox name=attr_spell_slots_l7_toggle class="toggle-spell-level-7 hidden"> <input type=checkbox name=attr_spell_slots_l8_toggle class="toggle-spell-level-8 hidden"> <input type=checkbox name=attr_spell_slots_l9_toggle class="toggle-spell-level-9 hidden"><div class="section-core pc"><div class=shaped-row><div class="col-29 pad-r-md"><div class="shaped-row mar-b-smd"><div class="col-32 pad-r-sm"><input type=hidden name=attr_finesse_mod><div class="ability-score-wrapper wrap-box center"><input type=hidden name=attr_strength_check_mod> <button type=roll name=roll_strength_check value="@{output_option} &{template:5e-shaped} {{ability=1}} {{character_name=@{character_name}}} @{show_character_name} {{title=Strength}} {{subheader=Ability Check}} {{roll_toggle=1}} {{roll1=[[d20@{d20_mod} + @{strength_check_mod}]]}} @{roll_setting}@{d20_mod} + @{strength_check_mod}]]}} @{attacher_strength_check}" tabindex=-1><div><span class=ability-name><span class=en>Strength</span><span class=de>Strength</span><span class=fr>Force</span><span class=ru>Сила</span></span> <input type=hidden name=attr_strength_mod> <input type=text name=attr_strength_mod_with_sign class="ability-modifier no-border center" readonly tabindex=-1></div></button> <input type=number name=attr_strength class="ability-score no-spin" min=1 step=1></div><div class="ability-score-wrapper wrap-box center"><input type=hidden name=attr_dexterity_check_mod> <button type=roll name=roll_dexterity_check value="@{output_option} &{template:5e-shaped} {{ability=1}} {{character_name=@{character_name}}} @{show_character_name} {{title=Dexterity}} {{subheader=Ability check}} {{roll_toggle=1}} {{roll1=[[d20@{d20_mod} + @{dexterity_check_mod}]]}} @{roll_setting}@{d20_mod} + @{dexterity_check_mod}]]}} @{attacher_dexterity_check}" tabindex=-1><div><span class=ability-name><span class=en>Dexterity</span><span class=de>Dexterity</span><span class=fr>Dextérité</span><span class=ru>Ловкость</span></span> <input type=hidden name=attr_dexterity_mod> <input type=text name=attr_dexterity_mod_with_sign class="ability-modifier no-border center" readonly tabindex=-1></div></button> <input type=number name=attr_dexterity class="ability-score no-spin" min=1 step=1></div><div class="ability-score-wrapper wrap-box center"><input type=hidden name=attr_constitution_check_mod> <button type=roll name=roll_constitution_check value="@{output_option} &{template:5e-shaped} {{ability=1}} {{character_name=@{character_name}}} @{show_character_name} {{title=Constitution}} {{subheader=Ability check}} {{roll_toggle=1}} {{roll1=[[d20@{d20_mod} + @{constitution_check_mod}]]}} @{roll_setting}@{d20_mod} + @{constitution_check_mod}]]}} @{attacher_constitution_check}" tabindex=-1><div><span class=ability-name><span class=en>Constitution</span><span class=de>Constitution</span><span class=fr>Constitution</span><span class=ru>Телосложение</span></span> <input type=hidden name=attr_constitution_mod> <input type=text name=attr_constitution_mod_with_sign class="ability-modifier no-border center" readonly tabindex=-1></div></button> <input type=number name=attr_constitution class="ability-score no-spin" min=1 step=1></div><div class="ability-score-wrapper wrap-box center"><input type=hidden name=attr_intelligence_check_mod> <button type=roll name=roll_intelligence_check value="@{output_option} &{template:5e-shaped} {{ability=1}} {{character_name=@{character_name}}} @{show_character_name} {{title=Intelligence}} {{subheader=Ability check}} {{roll_toggle=1}} {{roll1=[[d20@{d20_mod} + @{intelligence_check_mod}]]}} @{roll_setting}@{d20_mod} + @{intelligence_check_mod}]]}} @{attacher_intelligence_check}" tabindex=-1><div><span class=ability-name><span class=en>Intelligence</span><span class=de>Intelligence</span><span class=fr>Intelligence</span><span class=ru>Интеллект</span></span> <input type=hidden name=attr_intelligence_mod> <input type=text name=attr_intelligence_mod_with_sign class="ability-modifier no-border center" readonly tabindex=-1></div></button> <input type=number name=attr_intelligence class="ability-score no-spin" min=1 step=1></div><div class="ability-score-wrapper wrap-box center"><input type=hidden name=attr_wisdom_check_mod> <button type=roll name=roll_wisdom_check value="@{output_option} &{template:5e-shaped} {{ability=1}} {{character_name=@{character_name}}} @{show_character_name} {{title=Wisdom}} {{subheader=Ability check}} {{roll_toggle=1}} {{roll1=[[d20@{d20_mod} + @{wisdom_check_mod}]]}} @{roll_setting}@{d20_mod} + @{wisdom_check_mod}]]}} @{attacher_wisdom_check}" tabindex=-1><div><span class=ability-name><span class=en>Wisdom</span><span class=de>Wisdom</span><span class=fr>Sagesse</span><span class=ru>Мудрость</span></span> <input type=hidden name=attr_wisdom_mod> <input type=text name=attr_wisdom_mod_with_sign class="ability-modifier no-border center" readonly tabindex=-1></div></button> <input type=number name=attr_wisdom class="ability-score no-spin" min=1 step=1></div><div class="ability-score-wrapper wrap-box center"><input type=hidden name=attr_charisma_check_mod> <button type=roll name=roll_charisma_check value="@{output_option} &{template:5e-shaped} {{ability=1}} {{character_name=@{character_name}}} @{show_character_name} {{title=Charisma}} {{subheader=Ability check}} {{roll_toggle=1}} {{roll1=[[d20@{d20_mod} + @{charisma_check_mod}]]}} @{roll_setting}@{d20_mod} + @{charisma_check_mod}]]}} @{attacher_charisma_check}" tabindex=-1><div><span class=ability-name><span class=en>Charisma</span><span class=de>Charisma</span><span class=fr>Charisme</span><span class=ru>Харизма</span></span> <input type=hidden name=attr_charisma_mod> <input type=text name=attr_charisma_mod_with_sign class="ability-modifier no-border center" readonly tabindex=-1></div></button> <input type=number name=attr_charisma class="ability-score no-spin" min=1 step=1></div></div><div class="col-68 pad-l-sm"><div class="inspiration wrap-box relative pc mar-b-md"><div class="shaped-row vert-center"><div class=col-15><label class=checkbox-label><input type=checkbox name=attr_inspiration value=1><span></span></label></div><div class="col-85 pad-l-sm"><button type=roll name=roll_inspiration class=wrapper-button value="@{output_option} &{template:5e-shaped} {{character_name=@{character_name}}} @{show_character_name} {{title=Inspiration}} {{text_big=[[@{inspiration}]]}}" tabindex=-1><div class=wrap-box-title><span class=en>Inspiration</span><span class=de>Inspiration</span><span class=fr>Inspiration</span><span class=ru>Inspiration</span></div></button></div></div></div><div class="proficiency-bonus wrap-box relative mar-t-sm mar-b-md"><button type=roll name=roll_pb class=wrapper-button value="@{output_option} &{template:5e-shaped} {{character_name=@{character_name}}} @{show_character_name} {{title=Proficiency Bonus}} {{text_top=[[@{pb}]]}}" tabindex=-1><div class="shaped-row vert-center"><div class=col-15><input type=number name=attr_PB class=bold readonly tabindex=-1> <input type=hidden name=attr_exp readonly tabindex=-1> <input type=hidden name=attr_h_PB value=[[floor(@{PB}/2)]] readonly tabindex=-1></div><div class="col-85 wrap-box-title pad-l-sm"><span class=en>Proficiency bonus</span><span class=de>Fertigkeitsbonus</span><span class=fr>Bonus de maîtrise</span><span class=ru>Proficiency bonus</span></div></div></button></div><div class="save wrap-box mar-b-smd"><div class="shaped-row vert-center"><div class="col-10 center"><input type=checkbox name=attr_strength_save_prof value=@{PB}></div><div class="col-90 pad-l-sm"><button type=roll name=roll_strength_save value="@{output_option} &{template:5e-shaped} {{save=1}} {{character_name=@{character_name}}} @{show_character_name} {{title=Strength}} {{subheader=Saving Throw}} {{roll_toggle=1}} {{roll1=[[d20@{d20_mod} + @{strength_save_mod}]]}} @{roll_setting}@{d20_mod} + @{strength_save_mod}]]}} @{attacher_strength_saving_throw}" tabindex=-1><div class="shaped-row vert-center"><div class=col-20><input type=number name=attr_strength_save_mod class="no-spin bold" value="@{strength_mod}[str] + @{strength_save_prof}[proficiency] + @{strength_save_bonus}[str saving throw bonus] + (@{global_saving_throw_bonus})[global saving throw bonus]" disabled tabindex=-1></div><div class="col-80 pad-l-sm"><span class=ability-save-name><span class=en>Strength</span><span class=de>Strength</span><span class=fr>Force</span><span class=ru>Сила</span></span></div></div></button></div></div><div class="shaped-row vert-center"><div class="col-10 center"><input type=checkbox name=attr_dexterity_save_prof value=@{PB}></div><div class="col-90 pad-l-sm"><button type=roll name=roll_dexterity_save value="@{output_option} &{template:5e-shaped} {{save=1}} {{character_name=@{character_name}}} @{show_character_name} {{title=Dexterity}} {{subheader=Saving Throw}} {{roll_toggle=1}} {{roll1=[[d20@{d20_mod} + @{dexterity_save_mod}]]}} @{roll_setting}@{d20_mod} + @{dexterity_save_mod}]]}} @{attacher_dexterity_saving_throw}" tabindex=-1><div class="shaped-row vert-center"><div class=col-20><input type=number name=attr_dexterity_save_mod class="no-spin bold" value="@{dexterity_mod}[dex] + @{dexterity_save_prof}[proficiency] + @{dexterity_save_bonus}[dex saving throw bonus] + (@{global_saving_throw_bonus})[global saving throw bonus]" disabled tabindex=-1></div><div class="col-80 pad-l-sm"><span class=ability-save-name><span class=en>Dexterity</span><span class=de>Dexterity</span><span class=fr>Dextérité</span><span class=ru>Ловкость</span></span></div></div></button></div></div><div class="shaped-row vert-center"><div class="col-10 center"><input type=checkbox name=attr_constitution_save_prof value=@{PB}></div><div class="col-90 pad-l-sm"><button type=roll name=roll_constitution_save value="@{output_option} &{template:5e-shaped} {{save=1}} {{character_name=@{character_name}}} @{show_character_name} {{title=Constitution}} {{subheader=Saving Throw}} {{roll_toggle=1}} {{roll1=[[d20@{d20_mod} + @{constitution_save_mod}]]}} @{roll_setting}@{d20_mod} + @{constitution_save_mod}]]}} @{attacher_constitution_saving_throw}" tabindex=-1><div class="shaped-row vert-center"><div class=col-20><input type=number name=attr_constitution_save_mod class="no-spin bold" value="@{constitution_mod}[con] + @{constitution_save_prof}[proficiency] + @{constitution_save_bonus}[con saving throw bonus] + (@{global_saving_throw_bonus})[global saving throw bonus]" disabled tabindex=-1></div><div class="col-80 pad-l-sm"><span class=ability-save-name><span class=en>Constitution</span><span class=de>Constitution</span><span class=fr>Constitution</span><span class=ru>Телосложение</span></span></div></div></button></div></div><div class="shaped-row vert-center"><div class="col-10 center"><input type=checkbox name=attr_intelligence_save_prof value=@{PB}></div><div class="col-90 pad-l-sm"><button type=roll name=roll_intelligence_save value="@{output_option} &{template:5e-shaped} {{save=1}} {{character_name=@{character_name}}} @{show_character_name} {{title=Intelligence}} {{subheader=Saving Throw}} {{roll_toggle=1}} {{roll1=[[d20@{d20_mod} + @{intelligence_save_mod}]]}} @{roll_setting}@{d20_mod} + @{intelligence_save_mod}]]}} @{attacher_intelligence_saving_throw}" tabindex=-1><div class="shaped-row vert-center"><div class=col-20><input type=number name=attr_intelligence_save_mod class="no-spin bold" value="@{intelligence_mod}[int] + @{intelligence_save_prof}[proficiency] + @{intelligence_save_bonus}[int saving throw bonus] + (@{global_saving_throw_bonus})[global saving throw bonus]" disabled tabindex=-1></div><div class="col-80 pad-l-sm"><span class=ability-save-name><span class=en>Intelligence</span><span class=de>Intelligence</span><span class=fr>Intelligence</span><span class=ru>Интеллект</span></span></div></div></button></div></div><div class="shaped-row vert-center"><div class="col-10 center"><input type=checkbox name=attr_wisdom_save_prof value=@{PB}></div><div class="col-90 pad-l-sm"><button type=roll name=roll_wisdom_save value="@{output_option} &{template:5e-shaped} {{save=1}} {{character_name=@{character_name}}} @{show_character_name} {{title=Wisdom}} {{subheader=Saving Throw}} {{roll_toggle=1}} {{roll1=[[d20@{d20_mod} + @{wisdom_save_mod}]]}} @{roll_setting}@{d20_mod} + @{wisdom_save_mod}]]}} @{attacher_wisdom_saving_throw}" tabindex=-1><div class="shaped-row vert-center"><div class=col-20><input type=number name=attr_wisdom_save_mod class="no-spin bold" value="@{wisdom_mod}[wis] + @{wisdom_save_prof}[proficiency] + @{wisdom_save_bonus}[wis saving throw bonus] + (@{global_saving_throw_bonus})[global saving throw bonus]" disabled tabindex=-1></div><div class="col-80 pad-l-sm"><span class=ability-save-name><span class=en>Wisdom</span><span class=de>Wisdom</span><span class=fr>Sagesse</span><span class=ru>Мудрость</span></span></div></div></button></div></div><div class="shaped-row vert-center"><div class="col-10 center"><input type=checkbox name=attr_charisma_save_prof value=@{PB}></div><div class="col-90 pad-l-sm"><button type=roll name=roll_charisma_save value="@{output_option} &{template:5e-shaped} {{save=1}} {{character_name=@{character_name}}} @{show_character_name} {{title=Charisma}} {{subheader=Saving Throw}} {{roll_toggle=1}} {{roll1=[[d20@{d20_mod} + @{charisma_save_mod}]]}} @{roll_setting}@{d20_mod} + @{charisma_save_mod}]]}} @{attacher_charisma_saving_throw}" tabindex=-1><div class="shaped-row vert-center"><div class=col-20><input type=number name=attr_charisma_save_mod class="no-spin bold" value="@{charisma_mod}[cha] + @{charisma_save_prof}[proficiency] + @{charisma_save_bonus}[cha saving throw bonus] + (@{global_saving_throw_bonus})[global saving throw bonus]" disabled tabindex=-1></div><div class="col-80 pad-l-sm"><span class=ability-save-name><span class=en>Charisma</span><span class=de>Charisma</span><span class=fr>Charisme</span><span class=ru>Харизма</span></span></div></div></button></div></div><div class="wrap-box-title center"><span class=en>Saving throws</span><span class=de>Rettungswürfe</span><span class=fr>Jets de sauvegarde</span><span class=ru>Saving throws</span></div></div><div class="skills wrap-box"><fieldset class=repeating_skill><div class="shaped-row no-wrap vert-center"><div class="col-12 skill-select-wrapper"><span class=en><select name=attr_proficiency class=no-border><option value=unproficient>—    Unproficient</option><option value=proficient>✓    Proficient</option><option value=expertise>✗    Expertise</option></select></span> <span class=de><select name=attr_proficiency class=no-border><option value=unproficient>—    Fehlt Tüchtig</option><option value=proficient>✓    Tüchtig</option><option value=expertise>✗    Sachverstand</option></select></span> <span class=fr><select name=attr_proficiency class=no-border><option value=unproficient>—    Non Maîtrisée</option><option value=proficient>✓    Maîtrise</option><option value=expertise>✗    Expertise</option></select></span> <span class=ru><select name=attr_proficiency class=no-border><option value=unproficient>—    Нет владеет</option><option value=proficient>✓    Владение</option><option value=expertise>✗    Эксперт</option></select></span></div><div class=col-69><input type=hidden name=attr_formula> <input type=hidden name=attr_ability_short_name> <button type=roll name=roll_skill value="@{output_option} &{template:5e-shaped} {{ability=1}} {{character_name=@{character_name}}} @{show_character_name} {{title=@{name} (@{ability_short_name})}} {{subheader=Ability Check}} {{roll_toggle=1}} {{roll1=[[d20@{d20_mod} + @{formula}]]}} @{roll_setting}@{d20_mod} + @{formula}]]}} @{attacher_skill}" tabindex=-1><div class=shaped-row><div class=col-25><input type=number name=attr_total class=bold readonly tabindex=-1></div><div class="col-75 skill-name"><input type=text name=attr_name class="skill-name no-border" placeholder="see settings" readonly tabindex=-1></div></div></button></div><div class=skills-ability-selector-wrapper><span class=en><select name=attr_ability class=skills-ability-selector><option value=@{strength_mod}>Str</option><option value=@{dexterity_mod}>Dex</option><option value=@{constitution_mod}>Con</option><option value=@{intelligence_mod}>Int</option><option value=@{wisdom_mod}>Wis</option><option value=@{charisma_mod}>Cha</option><option value=0>—</option></select></span> <span class=de><select name=attr_ability class=skills-ability-selector><option value=@{strength_mod}>Str</option><option value=@{dexterity_mod}>Ges</option><option value=@{constitution_mod}>Kon</option><option value=@{intelligence_mod}>Int</option><option value=@{wisdom_mod}>Wei</option><option value=@{charisma_mod}>Cha</option><option value=0>—</option></select></span> <span class=fr><select name=attr_ability class=skills-ability-selector><option value=@{strength_mod}>For</option><option value=@{dexterity_mod}>Dex</option><option value=@{constitution_mod}>Con</option><option value=@{intelligence_mod}>Int</option><option value=@{wisdom_mod}>Sag</option><option value=@{charisma_mod}>Cha</option><option value=0>—</option></select></span> <span class=ru><select name=attr_ability class=skills-ability-selector><option value=@{strength_mod}>Сил</option><option value=@{dexterity_mod}>Лов</option><option value=@{constitution_mod}>Тел</option><option value=@{intelligence_mod}>Инт</option><option value=@{wisdom_mod}>Муд</option><option value=@{charisma_mod}>Хар</option><option value=0>—</option></select></span></div></div></fieldset><div class="wrap-box-title center"><span class=en>Skills</span><span class=de>Skills</span><span class=fr>Compétences</span><span class=ru>Навыки</span></div></div></div></div><div><div class="wrap-box languages-proficienciess"><div class="proficienciess relative"><button type=roll name=roll_proficiencies class=text-area-label value="@{output_option} &{template:5e-shaped} {{character_name=@{character_name}}} @{show_character_name} {{title=Proficiencies}} {{text=@{proficiencies}}}"><span class=en>Proficiencies</span><span class=de>Proficiencies</span><span class=fr>Maîtrises</span><span class=ru>Мастерство</span>.</button> <textarea name=attr_proficiencies class="five-line-textarea text-area-with-label no-border"></textarea></div><div class="languages relative"><button type=roll name=roll_languages class=text-area-label value="@{output_option} &{template:5e-shaped} {{character_name=@{character_name}}} @{show_character_name} {{title=Languages}} {{text=@{languages}}}"><span class=en>Languages</span><span class=de>Languages</span><span class=fr>Langues</span><span class=ru>Языки</span>.</button> <textarea name=attr_languages class="two-line-textarea text-area-with-label no-border"></textarea></div><div class="wrap-box-title center"><span class=en>Other Proficiencies & Languages</span><span class=de>Other Proficiencies & Languages</span><span class=fr>Maîtrises & Langues</span><span class=ru>Other Proficiencies & Languages</span></div></div></div></div><div class="col-42 pad-l-sm pad-r-sm"><div class=shaped-row><div class="col-56 pad-r-sm"><div class="shaped-row center"><div class="col-33 center"><button type=roll name=roll_ac value="@{output_option} &{template:5e-shaped} {{character_name=@{character_name}}} @{show_character_name} {{title=AC}} {{text_big=[[@{ac}]]}}"><div class=shield><div class=pc><input type=number name=attr_ac class=no-border readonly></div><div class=npc><div><input type=number name=attr_ac class="no-spin no-border" value=10></div><div class=relative><div class=shield-note><input type=text name=attr_ac_note class=center></div></div></div><div class=wrap-box-title><span class=en>Armor Class</span><span class=de>Armor Class</span><span class=fr>Armure</span><span class=ru>Класс Брони</span></div></div></button></div><div class="col-34 center"><button type=roll name=roll_initiative value="@{initiative_output_option} &{template:5e-shaped} {{ability=1}} {{character_name=@{character_name}}} @{show_character_name} {{title=Initiative}} {{subheader=Ability Check}} {{roll_toggle=1}} {{only_roll_1=1}} @{initiative_roll}@{d20_mod} + @{initiative_to_tracker} + @{initiative_tie_breaker}]]}} @{attacher_initiative}"><div class="wrap-box initiative"><input type=hidden name=attr_initiative_formula> <input type=number name=attr_initiative class="no-spin initiative-total no-border" readonly><div class=wrap-box-title><span class=en>Initiative</span><span class=de>Initiative</span><span class=fr>Initiative</span><span class=ru>Initiative</span></div></div></button></div><div class="col-33 center pad-l-md"><div class="wrap-box center speed"><input type=number name=attr_speed class="center no-spin no-border" step=1> <button type=roll name=roll_speed value="@{output_option} &{template:5e-shaped} {{character_name=@{character_name}}} @{show_character_name} {{title=Speed}} {{text_big=[[@{speed}]]}}"><div class=wrap-box-title><span class=en>Speed</span><span class=de>Gesch</span><span class=fr>Vitesse</span><span class=ru>Speed</span></div></button></div></div></div><div class=shaped-row><div class="col-60 center"><div class="heart mar-b-smd"><div class="shaped-row center flex-end"><div class="col-40 pad-r-sm"><input type=number name=attr_HP class="no-spin no-border" step=1></div><div class="col-11 heart-divider">/</div><div class="col-40 pad-l-sm"><input type=number name=attr_HP_max class="no-spin no-border" min=1 step=1></div></div><button type=roll name=roll_hp value="@{output_option} &{template:5e-shaped} {{character_name=@{character_name}}} @{show_character_name} {{title=Hit Points}} {{text_big=[[@{HP}]]/[[@{HP|max}]]}}"><div class="shaped-row center"><div class="wrap-box-title col-60"><span class=en>Hit points</span><span class=de>Hit points</span><span class=fr>Points de Vie</span><span class=ru>Хит Поинты</span></div></div></button></div></div><div class="col-40 center"><div class="temp-heart mar-b-smd"><div class="shaped-row center"><div class=col-40><input type=number name=attr_temp_HP class="no-spin no-border" min=0 step=1></div></div><button type=roll name=roll_temp_hp value="@{output_option} &{template:5e-shaped} {{character_name=@{character_name}}} @{show_character_name} {{title=Temporary Hit Points}} {{text_big=[[@{temp_HP}]]}}"><div class="shaped-row center"><div class="wrap-box-title col-60"><span class=en>Temp HP</span><span class=de>Temp HP</span><span class=fr>PV Temp</span><span class=ru>Temp HP</span></div></div></button></div></div></div><div class=shaped-row><div class="col-38 pad-r-sm"><div class="hit-dice wrap-box center mar-b-smd"><input type=checkbox name=attr_hd_d2_toggle value=1 class="toggle-hd-d2 hidden"> <input type=checkbox name=attr_hd_d4_toggle value=1 class="toggle-hd-d4 hidden"> <input type=checkbox name=attr_hd_d6_toggle value=1 class="toggle-hd-d6 hidden"> <input type=checkbox name=attr_hd_d8_toggle value=1 class="toggle-hd-d8 hidden"> <input type=checkbox name=attr_hd_d10_toggle value=1 class="toggle-hd-d10 hidden"> <input type=checkbox name=attr_hd_d12_toggle value=1 class="toggle-hd-d12 hidden"> <input type=checkbox name=attr_hd_d20_toggle value=1 class="toggle-hd-d20 hidden"><div class="shaped-row center vert-center toggle-hd-d2"><div class="col-28 pad-r-sm"><input type=number name=attr_hd_d2 class=no-spin min=0 step=1></div><div class=col-05>/</div><div class=col-28><input type=number name=attr_hd_d2_max class=no-spin></div><div class="col-33 center"><button type=roll name=roll_hd_d2 class=bold value="@{output_option} &{template:5e-shaped} {{character_name=@{character_name}}} @{show_character_name} {{title=Hit Dice (d2)}} {{roll_toggle=1}} {{only_roll_1=1}} {{roll1=[[d2 + @{constitution_mod}]]}} @{attacher_hit_dice}">d2</button></div></div><div class="shaped-row center vert-center toggle-hd-d4"><div class="col-28 pad-r-sm"><input type=number name=attr_hd_d4 class=no-spin min=0 step=1></div><div class=col-05>/</div><div class=col-28><input type=number name=attr_hd_d4_max class=no-spin></div><div class="col-33 center"><button type=roll name=roll_hd_d4 class=bold value="@{output_option} &{template:5e-shaped} {{character_name=@{character_name}}} @{show_character_name} {{title=Hit Dice (d4)}} {{roll_toggle=1}} {{only_roll_1=1}} {{roll1=[[d4 + @{constitution_mod}]]}} @{attacher_hit_dice}">d4</button></div></div><div class="shaped-row center vert-center toggle-hd-d6"><div class="col-28 pad-r-sm"><input type=number name=attr_hd_d6 class=no-spin min=0 step=1></div><div class=col-05>/</div><div class=col-28><input type=number name=attr_hd_d6_max readonly></div><div class="col-33 center"><button type=roll name=roll_hd_d6 class=bold value="@{output_option} &{template:5e-shaped} {{character_name=@{character_name}}} @{show_character_name} {{title=Hit Dice (d6)}} {{roll_toggle=1}} {{only_roll_1=1}} {{roll1=[[d6 + @{constitution_mod}]]}} @{attacher_hit_dice}">d6</button></div></div><div class="shaped-row center vert-center toggle-hd-d8"><div class="col-28 pad-r-sm"><input type=number name=attr_hd_d8 class=no-spin min=0 step=1></div><div class=col-05>/</div><div class=col-28><input type=number name=attr_hd_d8_max readonly></div><div class="col-33 center"><button type=roll name=roll_hd_d8 class=bold value="@{output_option} &{template:5e-shaped} {{character_name=@{character_name}}} @{show_character_name} {{title=Hit Dice (d8)}} {{roll_toggle=1}} {{only_roll_1=1}} {{roll1=[[d8 + @{constitution_mod}]]}} @{attacher_hit_dice}">d8</button></div></div><div class="shaped-row center vert-center toggle-hd-d10"><div class="col-28 pad-r-sm"><input type=number name=attr_hd_d10 class=no-spin min=0 step=1></div><div class=col-05>/</div><div class=col-28><input type=number name=attr_hd_d10_max readonly></div><div class="col-33 center"><button type=roll name=roll_hd_d10 class=bold value="@{output_option} &{template:5e-shaped} {{character_name=@{character_name}}} @{show_character_name} {{title=Hit Dice (d10)}} {{roll_toggle=1}} {{only_roll_1=1}} {{roll1=[[d10 + @{constitution_mod}]]}} @{attacher_hit_dice}">d10</button></div></div><div class="shaped-row center vert-center toggle-hd-d12"><div class="col-28 pad-r-sm"><input type=number name=attr_hd_d12 class=no-spin min=0 step=1></div><div class=col-05>/</div><div class=col-28><input type=number name=attr_hd_d12_max readonly></div><div class="col-33 center"><button type=roll name=roll_hd_d12 class=bold value="@{output_option} &{template:5e-shaped} {{character_name=@{character_name}}} @{show_character_name} {{title=Hit Dice (d12)}} {{roll_toggle=1}} {{only_roll_1=1}} {{roll1=[[d12 + @{constitution_mod}]]}} @{attacher_hit_dice}">d12</button></div></div><div class="shaped-row center vert-center toggle-hd-d20"><div class="col-28 pad-r-sm"><input type=number name=attr_hd_d20 class=no-spin min=0 step=1></div><div class=col-05>/</div><div class=col-28><input type=number name=attr_hd_d20_max class=no-spin></div><div class="col-33 center"><button type=roll name=roll_hd_d20 class=bold value="@{output_option} &{template:5e-shaped} {{character_name=@{character_name}}} @{show_character_name} {{title=Hit Dice (d20)}} {{roll_toggle=1}} {{only_roll_1=1}} {{roll1=[[d20 + @{constitution_mod}]]}} @{attacher_hit_dice}">d20</button></div></div><div class=wrap-box-title><span class=en>Hit dice</span><span class=de>Hit dice</span><span class=fr>Dés de Vie</span><span class=ru>Кость Хитов</span></div></div></div><div class="col-62 pad-l-sm"><div class="death-save wrap-box center mar-b-smd"><div class="shaped-row vert-center death-succeed"><div class="col-50 small-label right"><span class=en>Successes</span><span class=de>Erfolge</span><span class=fr>Réussites</span><span class=ru>Successes</span></div><div class="col-50 center inline-block-wrapper relative"><input type=radio name=attr_death_saving_throw_successes value=0 checked><span>✖</span> <input type=radio name=attr_death_saving_throw_successes value=1><span></span> <input type=radio name=attr_death_saving_throw_successes value=2><span></span> <input type=radio name=attr_death_saving_throw_successes value=3><span></span><hr class="absolute death-save-hr"></div></div><div class="shaped-row vert-center death-save death-fail"><div class="col-50 small-label right"><span class=en>Failures</span><span class=de>Failures</span><span class=fr>Échecs</span><span class=ru>Failures</span></div><div class="col-50 center inline-block-wrapper relative"><input type=radio name=attr_death_saving_throw_failures value=0 checked><span>✖</span> <input type=radio name=attr_death_saving_throw_failures value=1><span></span> <input type=radio name=attr_death_saving_throw_failures value=2><span></span> <input type=radio name=attr_death_saving_throw_failures value=3><span></span><hr class="absolute death-save-hr"></div></div><button type=roll name=roll_death_saving_throw value="@{death_save_output_option} &{template:5e-shaped} {{death_save=1}} {{character_name=@{character_name}}} @{show_character_name} @{show_character_name} {{title=Death Save}} {{subheader=Saving Throw}} {{roll_toggle=1}} {{roll1=[[d20@{d20_mod} + (@{global_saving_throw_bonus})]]}} @{roll_setting}@{d20_mod} + (@{global_saving_throw_bonus})]]}} {{death_saving_throw_successes=@{death_saving_throw_successes}}} {{death_saving_throw_failures=@{death_saving_throw_failures}}} @{attacher_death_saving_throw}"><div class="wrap-box-title center"><span class=en>Death saves</span><span class=de>Todesrettungswürfe</span><span class=fr>Sauv contre la mort</span><span class=ru>Death saves</span></div></button></div></div></div></div><div class="col-44 pad-l-sm"><div class="wrap-box pc mar-b-smd"><fieldset class=repeating_resource><div class="resource relative mar-b-sm"><div class="shaped-row vert-center"><div class="col-58 pad-r-sm"><button type=roll name=roll_resource class=wrapper-button value="@{output_option} &{template:5e-shaped} {{character_name=@{character_name}}} @{show_character_name} {{title=@{name} (@{uses}/@{uses|max})}} {{recharge=@{recharge}}} @{heal_toggle} @{extras_toggle}"><div><input type=text name=attr_name readonly></div></button></div><div class="col-14 center"><input type=number name=attr_uses class=no-spin></div><div class="col-04 center">/</div><div class="col-14 center"><input type=number name=attr_uses_max class=no-spin></div></div><input type=checkbox name=attr_toggle_details class=toggle-icon-settings checked><span class="sheet-toggle-icon-settings pictos">y</span><div class=details><div class="shaped-row vert-center"><div class="col-58 pad-r-sm"><input type=text name=attr_name></div><div class="col-42 center"><span class=en><select name=attr_recharge><option value=None>—</option><option value="Short Rest">Short Rest</option><option value="Long rest">Long Rest</option><option value=Other>Other</option></select></span> <span class=de><select name=attr_recharge><option value=None>—</option><option value="Short Rest">Short Rest</option><option value="Long rest">Long Rest</option><option value=Other>Other</option></select></span> <span class=fr><select name=attr_recharge><option value=None>—</option><option value="Short Rest">Repos Court</option><option value="Long rest">Repos Long</option><option value=Other>Autre</option></select></span> <span class=ru><select name=attr_recharge><option value=None>—</option><option value="Short Rest">Short Rest</option><option value="Long rest">Long Rest</option><option value=Other>Other</option></select></span></div></div><div class="shaped-row relative mar-t-sm"><input type=hidden name=attr_heal_var value=" {{heal=[[0d0 + @{heal}[heal] + @{heal_ability}[ability] + @{heal_query_toggle}[query amount]]]}}"> <input type=checkbox name=attr_heal_toggle value=@{heal_var} class="attack-toggle absolute"><div class=col-10></div><div class="col-30 bold italic"><span class=en>Heal</span><span class=de>Heal</span><span class=fr>Soins</span><span class=ru>Heal</span>.</div><div class="col-100 attack-toggle"><div class="shaped-row vert-center"><div class=col-42><input type=text name=attr_heal value=0 class=center></div><div class="pad-l-sm pad-r-sm">+</div><div class=col-22><span class=en><select name=attr_heal_ability><option value=0 selected>—</option><option value=@{strength_mod}>Str</option><option value=@{dexterity_mod}>Dex</option><option value=@{constitution_mod}>Con</option><option value=@{intelligence_mod}>Int</option><option value=@{wisdom_mod}>Wis</option><option value=@{charisma_mod}>Cha</option></select></span> <span class=de><select name=attr_heal_ability><option value=0 selected>—</option><option value=@{strength_mod}>Str</option><option value=@{dexterity_mod}>Ges</option><option value=@{constitution_mod}>Kon</option><option value=@{intelligence_mod}>Int</option><option value=@{wisdom_mod}>Wei</option><option value=@{charisma_mod}>Cha</option></select></span> <span class=fr><select name=attr_heal_ability><option value=0 selected>—</option><option value=@{strength_mod}>For</option><option value=@{dexterity_mod}>Dex</option><option value=@{constitution_mod}>Con</option><option value=@{intelligence_mod}>Int</option><option value=@{wisdom_mod}>Sag</option><option value=@{charisma_mod}>Cha</option></select></span> <span class=ru><select name=attr_heal_ability><option value=0 selected>—</option><option value=@{strength_mod}>Сил</option><option value=@{dexterity_mod}>Лов</option><option value=@{constitution_mod}>Тел</option><option value=@{intelligence_mod}>Инт</option><option value=@{wisdom_mod}>Муд</option><option value=@{charisma_mod}>Хар</option></select></span></div><div class="col-26 center"><input type=hidden name=attr_heal_query value="?{Heal Bonus Amount|}"> <input type=checkbox name=attr_heal_query_toggle value=@{heal_query} class=toggle-query><span class=toggle-query><span class=en>Query</span><span class=de>Query</span><span class=fr>Varie</span><span class=ru>Query</span></span></div></div></div></div><div class="shaped-row relative mar-t-sm"><input type=hidden name=attr_extras_var value="{{freetext=@{freetext}}} @{freeform}"> <input type=checkbox name=attr_extras_toggle value=@{extras_var} class="attack-toggle absolute"><div class=col-10></div><div class="col-30 bold italic"><span class=en>Extras</span><span class=de>Extras</span><span class=fr>Extras</span><span class=ru>Extras</span>.</div><div class="col-100 attack-toggle"><div class=center><textarea name=attr_freetext class=one-line-textarea></textarea><div class=small-label><span class=en>Freetext</span><span class=de>Freetext</span><span class=fr>Texte supplémentaire</span><span class=ru>Freetext</span></div></div><div class="center mar-t-sm"><textarea name=attr_freeform class=one-line-textarea></textarea><div class=small-label><span class=en>Freeform</span><span class=de>Freeform</span><span class=fr>Entrée supplémentaire</span><span class=ru>Freeform</span></div></div></div></div></div></div></fieldset><div class="wrap-box-title center"><span class=en>Resources</span><span class=de>Resources</span><span class=fr>Resources</span><span class=ru>Resources</span></div></div><div class="spell-slots-points wrap-box center mar-b-smd"><input type=checkbox name=attr_spell_slots_toggle class=toggle-spell-slots checked><span class=toggle-spell-slots><span class=en>Spell slots</span><span class=de>Zauberslots</span><span class=fr>Emplacement</span><span class=ru>Spell slots</span></span> <input type=checkbox name=attr_spell_points_toggle class=toggle-spell-points><span class=toggle-spell-points><span class=en>Spell points</span><span class=de>Zauberpunkte</span><span class=fr>Points</span><span class=ru>Spell points</span></span><div class=spell-slots><div class="shaped-row spell-level-1 center vert-center"><div class="col-20 center"><span class=en>1st</span><span class=de>1st</span><span class=fr>1er</span><span class=ru>1st</span></div><div class=col-25><input type=number name=attr_spell_slots_l1 value=0></div><div class="col-08 center pad-l-sm pad-r-sm">/</div><div class=col-20><input type=number name=attr_spell_slots_l1_max readonly></div></div><div class="shaped-row spell-level-2 center vert-center"><div class="col-20 center"><span class=en>2nd</span><span class=de>2nd</span><span class=fr>2ème</span><span class=ru>2nd</span></div><div class=col-25><input type=number name=attr_spell_slots_l2 value=0></div><div class="col-08 center pad-l-sm pad-r-sm">/</div><div class=col-20><input type=number name=attr_spell_slots_l2_max readonly></div></div><div class="shaped-row spell-level-3 center vert-center"><div class="col-20 center"><span class=en>3rd</span><span class=de>3rd</span><span class=fr>3ème</span><span class=ru>3rd</span></div><div class=col-25><input type=number name=attr_spell_slots_l3 value=0></div><div class="col-08 center pad-l-sm pad-r-sm">/</div><div class=col-20><input type=number name=attr_spell_slots_l3_max readonly></div></div><div class="shaped-row spell-level-4 center vert-center"><div class="col-20 center"><span class=en>4th</span><span class=de>4th</span><span class=fr>4ème</span><span class=ru>4th</span></div><div class=col-25><input type=number name=attr_spell_slots_l4 value=0></div><div class="col-08 center pad-l-sm pad-r-sm">/</div><div class=col-20><input type=number name=attr_spell_slots_l4_max readonly></div></div><div class="shaped-row spell-level-5 center vert-center"><div class="col-20 center"><span class=en>5th</span><span class=de>5th</span><span class=fr>5ème</span><span class=ru>5th</span></div><div class=col-25><input type=number name=attr_spell_slots_l5 value=0></div><div class="col-08 center pad-l-sm pad-r-sm">/</div><div class=col-20><input type=number name=attr_spell_slots_l5_max readonly></div></div><div class="shaped-row spell-level-6 center vert-center"><div class="col-20 center"><span class=en>6th</span><span class=de>6th</span><span class=fr>6ème</span><span class=ru>6th</span></div><div class=col-25><input type=number name=attr_spell_slots_l6 value=0></div><div class="col-08 center pad-l-sm pad-r-sm">/</div><div class=col-20><input type=number name=attr_spell_slots_l6_max readonly></div></div><div class="shaped-row spell-level-7 center vert-center"><div class="col-20 center"><span class=en>7th</span><span class=de>7th</span><span class=fr>7ème</span><span class=ru>7th</span></div><div class=col-25><input type=number name=attr_spell_slots_l7 value=0></div><div class="col-08 center pad-l-sm pad-r-sm">/</div><div class=col-20><input type=number name=attr_spell_slots_l7_max readonly></div></div><div class="shaped-row spell-level-8 center vert-center"><div class="col-20 center"><span class=en>8th</span><span class=de>8th</span><span class=fr>8ème</span><span class=ru>8th</span></div><div class=col-25><input type=number name=attr_spell_slots_l8 value=0></div><div class="col-08 center pad-l-sm pad-r-sm">/</div><div class=col-20><input type=number name=attr_spell_slots_l8_max readonly></div></div><div class="shaped-row spell-level-9 center vert-center"><div class="col-20 center"><span class=en>9th</span><span class=de>9th</span><span class=fr>9ème</span><span class=ru>9th</span></div><div class=col-25><input type=number name=attr_spell_slots_l9 value=0></div><div class="col-08 center pad-l-sm pad-r-sm">/</div><div class=col-20><input type=number name=attr_spell_slots_l9_max readonly></div></div><div class="wrap-box-title center"><span class=spell-slots><span class=en>Spell slots</span><span class=de>Spell slots</span><span class=fr>Emplacement de sort</span><span class=ru>Spell slots</span></span></div></div><div class=spell-points><div class="shaped-row spell-level-1 center vert-center"><div class="col-20 center"><span class=en>1st</span><span class=de>1st</span><span class=fr>1er</span><span class=ru>1st</span></div><div class="col-20 center pad-l-sm"><span>2</span></div></div><div class="shaped-row spell-level-2 center vert-center"><div class="col-20 center"><span class=en>2nd</span><span class=de>2nd</span><span class=fr>2ème</span><span class=ru>2nd</span></div><div class="col-20 center pad-l-sm"><span>3</span></div></div><div class="shaped-row spell-level-3 center vert-center"><div class="col-20 center"><span class=en>3rd</span><span class=de>3rd</span><span class=fr>3ème</span><span class=ru>3rd</span></div><div class="col-20 center pad-l-sm"><span>5</span></div></div><div class="shaped-row spell-level-4 center vert-center"><div class="col-20 center"><span class=en>4th</span><span class=de>4th</span><span class=fr>4ème</span><span class=ru>4th</span></div><div class="col-20 center pad-l-sm"><span>6</span></div></div><div class="shaped-row spell-level-5 center vert-center"><div class="col-20 center"><span class=en>5th</span><span class=de>5th</span><span class=fr>5ème</span><span class=ru>5th</span></div><div class="col-20 center pad-l-sm"><span>7</span></div></div><div class="shaped-row spell-level-6 center vert-center"><div class="col-20 center"><span class=en>6th</span><span class=de>6th</span><span class=fr>6ème</span><span class=ru>6th</span></div><div class="col-20 center pad-l-sm"><span>9</span></div></div><div class="shaped-row spell-level-7 center vert-center"><div class="col-20 center"><span class=en>7th</span><span class=de>7th</span><span class=fr>7ème</span><span class=ru>7th</span></div><div class="col-20 center pad-l-sm"><span>10</span></div></div><div class="shaped-row spell-level-8 center vert-center"><div class="col-20 center"><span class=en>8th</span><span class=de>8th</span><span class=fr>8ème</span><span class=ru>8th</span></div><div class="col-20 center pad-l-sm"><span>11</span></div></div><div class="shaped-row spell-level-9 center vert-center"><div class="col-20 center"><span class=en>9th</span><span class=de>9th</span><span class=fr>9ème</span><span class=ru>9th</span></div><div class="col-20 center pad-l-sm"><span>13</span></div></div><div class="shaped-row center no-background"><div class="col-35 center pad-r-sm"><input type=number name=attr_spell_points value=0></div><div class="col-05 center">/</div><div class="col-35 center pad-l-sm"><input type=number name=attr_spell_points_max value=0 min=0></div></div><div class="wrap-box-title center"><span class=spell-points><span class=en>Spell points</span><span class=de>Spell points</span><span class=fr>Points de sort</span><span class=ru>Spell points</span></span></div></div></div><div class="spell-sorcery-points mar-b-smd"><div class="wrap-box relative"><div class=tooltip-position-wrapper><div class=tooltip><div class="tooltip-toggle-text center">?</div><div class="tooltip-content-left small-label"><span class=en>Recharges on a long rest (4 recharge on a short rest if lvl 20)</span><span class=de>Recharges on a long rest (4 recharge on a short rest if lvl 20)</span><span class=fr>Recharge après un repos long (4 recharges après un repos court au niv 20).</span><span class=ru>Recharges on a long rest (4 recharge on a short rest if lvl 20)</span></div></div></div><div class="shaped-row vert-center"><div class="col-47 center pad-r-sm"><input type=number name=attr_sorcery_points value=0 min=0 step=1></div><div class="col-06 center">/</div><div class="col-47 center pad-l-sm"><input type=number name=attr_sorcery_points_max readonly></div></div><div class="wrap-box-title center"><span class=en>Sorcery Points</span><span class=de>Sorcery Points</span><span class=fr>Points de Sorcelerie</span><span class=ru>Sorcery Points</span></div></div></div><div class="spell-warlock-slots mar-b-smd"><div class="wrap-box relative"><div class="col tooltip-position-wrapper"><div class=tooltip><div class="tooltip-toggle-text center">?</div><div class="tooltip-content-left small-label"><span class=en>Recharges on a long or short rest and are all of the same level</span><span class=de>Recharges on a long or short rest and are all of the same level</span><span class=fr>Recharge après un repos court ou long et ont tous le même niveau</span><span class=ru>Recharges on a long or short rest and are all of the same level</span></div></div></div><div class="shaped-row relative"><div class="col-100 center"><div class="shaped-row vert-center"><div class="col-47 pad-r-sm"><input type=number name=attr_warlock_spell_slots value=0 min=0 step=1></div><div class="col-06 center">/</div><div class="col-47 pad-l-sm"><input type=number name=attr_warlock_spell_slots_max readonly></div></div></div></div><div class="wrap-box-title center"><span class=en>Warlock spell slots</span><span class=de>Warlock spell slots</span><span class=fr>Emplacement de sort (Sorcier)</span><span class=ru>Warlock spell slots</span></div></div></div></div></div><div><div class="attacks wrap-box mar-b-smd"><div class=shaped-row><div class="col-35 wrap-box-label light-label pad-r-sm"><span class=en>Attack</span><span class=de>Attack</span><span class=fr>Attaque</span><span class=ru>Attack</span></div><div class="col-10 wrap-box-label light-label center pad-r-sm"><span class=en>ATK</span><span class=de>ATK</span><span class=fr>ATQ</span><span class=ru>ATK</span></div><div class="col-51 wrap-box-label light-label"><span class=en>Damage</span><span class=de>Damage</span><span class=fr>Dégâts</span><span class=ru>Damage</span></div></div><fieldset class=repeating_attack><div class="attack compendium-drop-target relative mar-b-sm"><input type=hidden name=attr_modifiers accept=Modifiers> <input type=hidden name=attr_properties accept=Properties> <input type=hidden name=attr_weight accept=Weight> <button type=roll name=roll_attack value="@{output_option} &{template:5e-shaped} {{character_name=@{character_name}}} @{show_character_name} {{title=@{name}}} {{action=1}} {{reach=@{reach}}} {{range=@{range}}} {{ammo=@{ammo}}} {{targetName=@{attacks_vs_target_name}}} @{roll_toggle} @{saving_throw_toggle} @{damage_toggle} @{second_damage_toggle} @{extras_toggle} @{attacher_attack}"><div class="shaped-row vert-center"><div class="col-35 pad-r-sm"><input type=text name=attr_name readonly></div><div class="col-10 pad-r-sm"><input type=text name=attr_to_hit class=center readonly></div><div class=col-51><input type=text name=attr_damage_string readonly></div></div></button> <input type=checkbox name=attr_toggle_details class=toggle-icon-settings checked><span class="toggle-icon-settings pictos">y</span><div class=details><div class=shaped-row><div class="col-40 center"><input type=text name=attr_name class=center placeholder=name accept=Name><div class=small-label><span class=en>Name</span><span class=de>Name</span><span class=fr>Nom</span><span class=ru>Наименование</span></div></div><div class="col-17 center pad-l-sm pad-r-sm"><span class=en><select name=attr_type accept="Item Type"><option value="Melee Weapon">Melee</option><option value="Ranged Weapon">Ranged</option><option value=Other>Other</option></select></span> <span class=de><select name=attr_type accept="Item Type"><option value="Melee Weapon">Melee</option><option value="Ranged Weapon">Ranged</option><option value=Other>Other</option></select></span> <span class=fr><select name=attr_type accept="Item Type"><option value="Melee Weapon">Mêlée</option><option value="Ranged Weapon">Tir</option><option value=Other>Autre</option></select></span> <span class=ru><select name=attr_type accept="Item Type"><option value="Melee Weapon">Melee</option><option value="Ranged Weapon">Ranged</option><option value=Other>Other</option></select></span><div class=small-label><span class=en>Type</span><span class=de>Type</span><span class=fr>Type</span><span class=ru>Тип</span></div></div><div class="col-10 center pad-l-sm pad-r-sm"><input type=text name=attr_reach class=center><div class=small-label><span class=en>Reach</span><span class=de>Reach</span><span class=fr>Allonge</span><span class=ru>Reach</span></div></div><div class="col-18 center pad-l-sm pad-r-sm"><input type=text name=attr_range class=center accept=Range><div class=small-label><span class=en>Range</span><span class=de>Range</span><span class=fr>Portée</span><span class=ru>Range</span></div></div><div class="col-15 center pad-l-sm"><input type=number name=attr_ammo class=center min=0 step=.01><div class=small-label><span class=en>Ammo</span><span class=de>Ammo</span><span class=fr>Mun</span><span class=ru>Ammo</span></div></div></div><input type=hidden name=attr_attack_formula><div class="shaped-row relative mar-t-sm"><input type=hidden name=attr_roll_toggle_var value="{{roll_toggle=1}} {{vs_ac=1}} {{roll1=[[d20cs>@{crit_range}@{d20_mod} + @{attack_formula}]]}} @{roll_setting}cs>@{crit_range}@{d20_mod} + @{attack_formula}]]}} {{targetAC=@{attacks_vs_target_ac}}}"> <input type=checkbox name=attr_roll_toggle value=@{roll_toggle_var} class="attack-toggle col-04 absolute" checked><div class=col-04></div><div class="col-16 bold italic"><span class=en>Attack</span><span class=de>Attack</span><span class=fr>Attaque</span><span class=ru>Attack</span>.</div><div class="col-80 attack-toggle"><div class=shaped-row><div class="col-12 center pad-r-sm"><input type=checkbox name=attr_proficiency checked><div class=small-label><span class=en>Prof</span><span class=de>Prof</span><span class=fr>Maît</span><span class=ru>Prof</span></div></div><div class="col-20 center pad-r-sm"><span class=en><select name=attr_attack_ability><option value=0>—</option><option value=@{finesse_mod}>Finesse</option><option value=@{strength_mod} selected>Str</option><option value=@{dexterity_mod}>Dex</option><option value=@{constitution_mod}>Con</option><option value=@{intelligence_mod}>Int</option><option value=@{wisdom_mod}>Wis</option><option value=@{charisma_mod}>Cha</option></select></span> <span class=de><select name=attr_attack_ability><option value=0>—</option><option value=@{finesse_mod}>Finesse</option><option value=@{strength_mod} selected>Str</option><option value=@{dexterity_mod}>Ges</option><option value=@{constitution_mod}>Kon</option><option value=@{intelligence_mod}>Int</option><option value=@{wisdom_mod}>Wei</option><option value=@{charisma_mod}>Cha</option></select></span> <span class=fr><select name=attr_attack_ability><option value=0>—</option><option value=@{finesse_mod}>Finesse</option><option value=@{strength_mod} selected>For</option><option value=@{dexterity_mod}>Dex</option><option value=@{constitution_mod}>Con</option><option value=@{intelligence_mod}>Int</option><option value=@{wisdom_mod}>Sag</option><option value=@{charisma_mod}>Cha</option></select></span> <span class=ru><select name=attr_attack_ability><option value=0>—</option><option value=@{finesse_mod}>Фехтовальное</option><option value=@{strength_mod} selected>Сил</option><option value=@{dexterity_mod}>Лов</option><option value=@{constitution_mod}>Тел</option><option value=@{intelligence_mod}>Инт</option><option value=@{wisdom_mod}>Муд</option><option value=@{charisma_mod}>Хар</option></select></span></div><div class="col-03 center">+</div><div class="col-15 center pad-r-sm"><input type=number name=attr_attack_bonus class=center value=0></div><div class="col-20 center pad-l-sm"><input type=number name=attr_crit_range class=center value=20 step=1 min=1 max=20><div class=small-label><span class=en>Crit range</span><span class=de>Crit range</span><span class=fr>Coup Crit</span><span class=ru>Crit range</span></div></div></div></div></div><div class="shaped-row relative mar-t-sm"><input type=hidden name=attr_saving_throw_toggle_var value="{{saving_throw_condition=@{saving_throw_condition}}} {{saving_throw_dc=@{saving_throw_dc}}} {{saving_throw_vs_ability=@{saving_throw_vs_ability}}} {{saving_throw_failure=@{saving_throw_failure}}} {{saving_throw_success=@{saving_throw_success}}}"> <input type=checkbox name=attr_saving_throw_toggle value=@{saving_throw_toggle_var} class="attack-toggle col-04 absolute"><div class=col-04></div><div class="col-16 bold italic"><span class=en>Saving throw</span><span class=de>Saving throw</span><span class=fr>Jet de sauv</span><span class=ru>Saving throw</span>.</div><div class="col-80 attack-toggle"><div><textarea class=xs-textarea name=attr_saving_throw_condition placeholder="if the target is.."></textarea></div><div class="shaped-row vert-center"><div class="col-15 center"><span class=en><select name=attr_saving_throw_ability><option value=0>—</option><option value=@{strength_mod} selected>Str</option><option value=@{dexterity_mod}>Dex</option><option value=@{constitution_mod}>Con</option><option value=@{intelligence_mod}>Int</option><option value=@{wisdom_mod}>Wis</option><option value=@{charisma_mod}>Cha</option></select></span> <span class=de><select name=attr_saving_throw_ability><option value=0>—</option><option value=@{strength_mod} selected>Str</option><option value=@{dexterity_mod}>Ges</option><option value=@{constitution_mod}>Kon</option><option value=@{intelligence_mod}>Int</option><option value=@{wisdom_mod}>Wei</option><option value=@{charisma_mod}>Cha</option></select></span> <span class=fr><select name=attr_saving_throw_ability><option value=0>—</option><option value=@{strength_mod} selected>For</option><option value=@{dexterity_mod}>Dex</option><option value=@{constitution_mod}>Con</option><option value=@{intelligence_mod}>Int</option><option value=@{wisdom_mod}>Sag</option><option value=@{charisma_mod}>Cha</option></select></span> <span class=ru><select name=attr_saving_throw_ability><option value=0>—</option><option value=@{strength_mod} selected>Сил</option><option value=@{dexterity_mod}>Лов</option><option value=@{constitution_mod}>Тел</option><option value=@{intelligence_mod}>Инт</option><option value=@{wisdom_mod}>Муд</option><option value=@{charisma_mod}>Хар</option></select></span></div><div class="col-03 center">+</div><div class="col-15 center pad-r-sm"><input type=number name=attr_saving_throw_bonus value=0></div><div class="col-03 center"><span>=</span></div><div class="col-08 center pad-l-sm"><span class=en>DC</span><span class=de>DC</span><span class=fr>DD</span><span class=ru>DC</span></div><div class="col-09 center pad-l-sm pad-r-sm"><input type=number name=attr_saving_throw_dc readonly></div><div class="col-15 center"><span class=en><select name=attr_saving_throw_vs_ability accept=Save><option value=Strength>Str</option><option value=Dexterity>Dex</option><option value=Constitution>Con</option><option value=Intelligence>Int</option><option value=Wisdom>Wis</option><option value=Charisma>Cha</option></select></span> <span class=de><select name=attr_saving_throw_vs_ability accept=Save><option value=Strength>Str</option><option value=Dexterity>Ges</option><option value=Constitution>Kon</option><option value=Intelligence>Int</option><option value=Wisdom>Wei</option><option value=Charisma>Cha</option></select></span> <span class=fr><select name=attr_saving_throw_vs_ability accept=Save><option value=Strength>For</option><option value=Dexterity>Dex</option><option value=Constitution>Con</option><option value=Intelligence>Int</option><option value=Wisdom>Sag</option><option value=Charisma>Cha</option></select></span> <span class=ru><select name=attr_saving_throw_vs_ability accept=Save><option value=Strength>Сил</option><option value=Dexterity>Лов</option><option value=Constitution>Тел</option><option value=Intelligence>Инт</option><option value=Wisdom>Муд</option><option value=Charisma>Хар</option></select></span></div></div><div><textarea class=xs-textarea name=attr_saving_throw_failure placeholder=or..></textarea></div><div><textarea class=xs-textarea name=attr_saving_throw_success placeholder="half damage" accept="Save Success"></textarea></div></div></div><input type=hidden name=attr_damage_formula><div class="shaped-row relative mar-t-sm"><input type=hidden name=attr_damage_toggle_var value="{{damage=[[@{damage_formula}]]}} {{damage_type=@{damage_type}}} {{crit_damage=[[0d0 + @{damage} + @{damage_crit}[crit damage]]]}}"> <input type=checkbox name=attr_damage_toggle value=@{damage_toggle_var} class="attack-toggle col-04 absolute" checked><div class=col-04></div><div class="col-16 bold italic"><span class=en>Damage</span><span class=de>Damage</span><span class=fr>Dégâts</span><span class=ru>Damage</span>.</div><div class="col-80 attack-toggle"><div class=shaped-row><div class="col-12 center pad-r-sm"><input type=text name=attr_damage class=center value=0 accept=Damage></div><div class="col-03 center">+</div><div class="col-22 center pad-r-sm"><span class=en><select name=attr_damage_ability><option value=0>—</option><option value=@{finesse_mod}>Finesse</option><option value="@{strength_mod} selected">Str</option><option value=@{dexterity_mod}>Dex</option><option value=@{constitution_mod}>Con</option><option value=@{intelligence_mod}>Int</option><option value=@{wisdom_mod}>Wis</option><option value=@{charisma_mod}>Cha</option></select></span> <span class=de><select name=attr_damage_ability><option value=0>—</option><option value=@{finesse_mod}>Finesse</option><option value="@{strength_mod} selected">Str</option><option value=@{dexterity_mod}>Ges</option><option value=@{constitution_mod}>Kon</option><option value=@{intelligence_mod}>Int</option><option value=@{wisdom_mod}>Wei</option><option value=@{charisma_mod}>Cha</option></select></span> <span class=fr><select name=attr_damage_ability><option value=0>—</option><option value=@{finesse_mod}>Finesse</option><option value="@{strength_mod} selected">For</option><option value=@{dexterity_mod}>Dex</option><option value=@{constitution_mod}>Con</option><option value=@{intelligence_mod}>Int</option><option value=@{wisdom_mod}>Sag</option><option value=@{charisma_mod}>Cha</option></select></span> <span class=ru><select name=attr_damage_ability><option value=0>—</option><option value=@{finesse_mod}>Фехтовальное</option><option value="@{strength_mod} selected">Сил</option><option value=@{dexterity_mod}>Лов</option><option value=@{constitution_mod}>Тел</option><option value=@{intelligence_mod}>Инт</option><option value=@{wisdom_mod}>Муд</option><option value=@{charisma_mod}>Хар</option></select></span></div><div class="col-03 center">+</div><div class="col-15 center pad-r-sm"><input type=number name=attr_damage_bonus value=0></div><div class="col-30 center pad-r-sm"><input type=text name=attr_damage_type class=center placeholder="damage type" accept="Damage Type"></div><div class="col-15 center pad-l-sm"><input type=text name=attr_damage_crit class=center><div class=small-label><span class=en>Crit</span><span class=de>Crit</span><span class=fr>Crit</span><span class=ru>Crit</span></div></div></div></div></div><input type=hidden name=attr_second_damage_formula><div class="shaped-row relative mar-t-sm"><input type=hidden name=attr_second_damage_toggle_var value="{{second_damage=[[@{second_damage_formula}]]}} {{second_damage_type=@{second_damage_type}}} {{second_crit_damage=[[0d0 + @{second_damage} + @{second_damage_crit}[crit damage]]]}}"> <input type=checkbox name=attr_second_damage_toggle value=@{second_damage_toggle_var} class="attack-toggle col-04 absolute"><div class=col-04></div><div class="col-16 bold italic"><span class=en>Damage</span><span class=de>Damage</span><span class=fr>Dégâts</span><span class=ru>Damage</span>.</div><div class="col-80 attack-toggle"><div class=shaped-row><div class="col-14 center pad-r-sm"><input type=text name=attr_second_damage class=center value=0 accept="Secondary Damage"></div><div class="col-03 center">+</div><div class="col-20 center pad-r-sm"><span class=en><select name=attr_second_damage_ability><option value=0>—</option><option value=@{finesse_mod}>Finesse</option><option value=@{strength_mod}>Str</option><option value=@{dexterity_mod}>Dex</option><option value=@{constitution_mod}>Con</option><option value=@{intelligence_mod}>Int</option><option value=@{wisdom_mod}>Wis</option><option value=@{charisma_mod}>Cha</option></select></span> <span class=de><select name=attr_second_damage_ability><option value=0>—</option><option value=@{finesse_mod}>Finesse</option><option value=@{strength_mod}>Str</option><option value=@{dexterity_mod}>Ges</option><option value=@{constitution_mod}>Kon</option><option value=@{intelligence_mod}>Int</option><option value=@{wisdom_mod}>Wei</option><option value=@{charisma_mod}>Cha</option></select></span> <span class=fr><select name=attr_second_damage_ability><option value=0>—</option><option value=@{finesse_mod}>Finesse</option><option value=@{strength_mod}>For</option><option value=@{dexterity_mod}>Dex</option><option value=@{constitution_mod}>Con</option><option value=@{intelligence_mod}>Int</option><option value=@{wisdom_mod}>Sag</option><option value=@{charisma_mod}>Cha</option></select></span> <span class=ru><select name=attr_second_damage_ability><option value=0>—</option><option value=@{finesse_mod}>Фехтовальное</option><option value=@{strength_mod}>Сил</option><option value=@{dexterity_mod}>Лов</option><option value=@{constitution_mod}>Тел</option><option value=@{intelligence_mod}>Инт</option><option value=@{wisdom_mod}>Муд</option><option value=@{charisma_mod}>Хар</option></select></span></div><div class="col-03 center">+</div><div class="col-15 center pad-r-sm"><input type=number name=attr_second_damage_bonus value=0></div><div class="col-30 center pad-r-sm"><input type=text name=attr_second_damage_type class=center placeholder=fire accept="Secondary Damage Type"></div><div class="col-15 center pad-l-sm"><input type=text name=attr_second_damage_crit class=center><div class=small-label><span class=en>Crit</span><span class=de>Crit</span><span class=fr>Crit</span><span class=ru>Crit</span></div></div></div></div></div><div class="shaped-row relative mar-t-sm"><input type=hidden name=attr_extas_var value="{{emote=@{emote}}} {{freetext=@{freetext}}} @{freeform}"> <input type=checkbox name=attr_extras_toggle value=@{extas_var} class="attack-toggle col-04 absolute"><div class=col-04></div><div class="col-16 bold italic"><span class=en>Extras</span><span class=de>Extras</span><span class=fr>Extras</span><span class=ru>Extras</span>.</div><div class="col-80 attack-toggle"><div class=center><textarea class=xs-textarea name=attr_emote></textarea><div class=small-label><span class=en>Emote</span><span class=de>Emote</span><span class=fr>Emote</span><span class=ru>Emote</span></div></div><div class="center mar-t-sm"><textarea class=two-line-textarea name=attr_freetext></textarea><div class=small-label><span class=en>Freetext</span><span class=de>Freetext</span><span class=fr>Texte supplémentaire</span><span class=ru>Freetext</span></div></div><div class="center mar-t-sm"><textarea class=two-line-textarea name=attr_freeform></textarea><div class=small-label><span class=en>Freeform</span><span class=de>Freeform</span><span class=fr>Entrée supplémentaire</span><span class=ru>Freeform</span></div></div></div></div></div></div></fieldset><div class="wrap-box-title center"><span class=en>Attacks</span><span class=de>Attacks</span><span class=fr>Attaques</span><span class=ru>Нападки</span></div></div></div><div><div class=wrap-box><div class=shaped-row><div class="col-20 pad-r-lg"><div class="wrap-box coin shaped-row relative mar-t-md"><div class=col-35><button type=roll name=roll_coinage_cp class=wrapper-button value="@{output_option} &{template:5e-shaped} {{character_name=@{character_name}}} @{show_character_name} {{title=Copper Pieces}} {{text_big=[[@{cp}]]}}" tabindex=-1><div class=light-label><span class=en>CP</span><span class=de>KM</span><span class=fr>PC</span><span class=ru>ММ</span></div></button></div><div class=col-65><input type=number name=attr_cp class=no-spin value=0 min=0 step=1></div></div><div class="wrap-box coin shaped-row relative mar-t-lg"><div class=col-35><button type=roll name=roll_coinage_sp class=wrapper-button value="@{output_option} &{template:5e-shaped} {{character_name=@{character_name}}} @{show_character_name} {{title=Silver Pieces}} {{text_big=[[@{sp}]]}}" tabindex=-1><div class=light-label><span class=en>SP</span><span class=de>SM</span><span class=fr>PA</span><span class=ru>СМ</span></div></button></div><div class=col-65><input type=number name=attr_sp class=no-spin value=0 min=0 step=1></div></div><div class="wrap-box coin shaped-row relative mar-t-lg"><div class=col-35><button type=roll name=roll_coinage_ep class=wrapper-button value="@{output_option} &{template:5e-shaped} {{character_name=@{character_name}}} @{show_character_name} {{title=Electrum Pieces}} {{text_big=[[@{ep}]]}}" tabindex=-1><div class=light-label><span class=en>EP</span><span class=de>EM</span><span class=fr>PE</span><span class=ru>ЭМ</span></div></button></div><div class=col-65><input type=number name=attr_ep class=no-spin value=0 min=0 step=1></div></div><div class="wrap-box coin shaped-row relative mar-t-lg"><div class="col-35 label"><button type=roll name=roll_coinage_gp class=wrapper-button value="@{output_option} &{template:5e-shaped} {{character_name=@{character_name}}} @{show_character_name} {{title=Gold Pieces}} {{text_big=[[@{gp}]]}}" tabindex=-1><div class=light-label><span class=en>GP</span><span class=de>GM</span><span class=fr>PO</span><span class=ru>ЗМ</span></div></button></div><div class=col-65><input type=number name=attr_gp class=no-spin value=0 min=0 step=1></div></div><div class="wrap-box coin shaped-row relative mar-t-lg"><div class=col-35><button type=roll name=roll_coinage_pp class=wrapper-button value="@{output_option} &{template:5e-shaped} {{character_name=@{character_name}}} @{show_character_name} {{title=Platinum Pieces}} {{text_big=[[@{pp}]]}}" tabindex=-1><div class=light-label><span class=en>PP</span><span class=de>PM</span><span class=fr>PP</span><span class=ru>ПМ</span></div></button></div><div class=col-65><input type=number name=attr_pp class=no-spin value=0 min=0 step=1></div></div><div class="wrap-box coin shaped-row relative mar-t-lg"><div class=col-35><button type=roll name=roll_coinage_total_gp class=wrapper-button value="@{output_option} &{template:5e-shaped} {{character_name=@{character_name}}} @{show_character_name} {{title=Total Gold Value}} {{text_big=[[@{total_gp}]]}}" tabindex=-1><div class="light-label bold"><span class=en>GP</span><span class=de>GM</span><span class=fr>PO</span><span class=ru>ЗМ</span></div></button></div><div class=col-65><input type=number name=attr_total_gp class=bold value=0 readonly></div></div></div><div class="col-80 core-equipment pad-l-lg"><div><div class=shaped-row><div class=col-10></div><div class="col-72 wrap-box-label light-label pad-r-sm"><span class=en>Armor</span><span class=de>Armor</span><span class=fr>Armure</span><span class=ru>Доспехи</span></div><div class="col-18 wrap-box-label light-label center"><span class=en>AC</span><span class=de>AC</span><span class=fr>CA</span><span class=ru>КБ</span></div></div><fieldset class=repeating_armor><div class="shaped-row compendium-drop-target vert-center"><div class="col-10 center"><input type=checkbox name=attr_worn checked></div><div class="col-72 pad-r-sm"><button type=roll name=roll_armor class=wrapper-button value="@{output_option} &{template:5e-shaped} {{character_name=@{character_name}}} @{show_character_name} {{title=@{name}}} {{subheader=Armor}} {{text_top=AC [[@{ac_base}[ac] + @{ac_bonus}[bonus ac]]]}} {{text=@{type}; Strength @{strength_requirements}; @{stealth}}}"><div><input type=text name=attr_name class=no-border placeholder="see equipment" accept=Name readonly></div></button> <input type=hidden name=attr_type accept="Item Type"> <input type=hidden name=attr_ac_base accept=AC> <input type=hidden name=attr_ac_bonus> <input type=hidden name=attr_modifiers accept=Modifiers> <input type=hidden name=attr_strength_requirements> <input type=hidden name=attr_stealth accept=Stealth> <input type=hidden name=attr_weight accept=Weight></div><div class="col-18 pad-r-sm"><input type=number name=attr_ac_total class=no-border readonly></div></div></fieldset></div><hr><div class=mar-t-md><div class=shaped-row><div class=col-10></div><div class="col-72 wrap-box-label light-label pad-r-sm"><span class=en>Equipment</span><span class=de>Equipment</span><span class=fr>Équipement</span><span class=ru>Equipment</span></div><div class="col-18 wrap-box-label light-label center"><span class=en>Qty</span><span class=de>Qty</span><span class=fr>Qté</span><span class=ru>Клво</span></div></div><fieldset class=repeating_equipment><div class="shaped-row compendium-drop-target vert-center"><div class="col-10 center"><input type=checkbox name=attr_carried checked></div><div class="col-72 pad-r-sm"><button type=roll name=roll_equipment value="@{output_option} &{template:5e-shaped} {{character_name=@{character_name}}} @{show_character_name} {{title=@{name}}} {{subheader=Equipment}} {{text=@{content}}}"><div><input type=text name=attr_name class=no-border placeholder="see equipment" accept=Name readonly></div></button> <input type=hidden name=attr_content accept=Content> <input type=hidden name=attr_weight accept=Weight></div><div class="col-18 pad-r-sm"><input type=number name=attr_qty class=no-border value=1 min=0 step=1></div></div></fieldset></div></div></div><div class="wrap-box-title center"><span class=en>Equipment</span><span class=de>Equipment</span><span class=fr>Équipement</span><span class=ru>Equipment</span></div></div></div></div><div class="col-29 pad-l-md"><div class="wrap-box personality-traits center mar-b-sm"><textarea class="three-line-textarea background-textarea no-border" name=attr_personality_traits></textarea> <button type=roll name=roll_personality_traits value="@{output_option} &{template:5e-shaped} {{character_name=@{character_name}}} @{show_character_name} {{title=Personality Traits}} {{text=@{personality_traits}}}"><div class="wrap-box-title center"><span class=en>Personality traits</span><span class=de>Persönlichkeitsmerkmale</span><span class=fr>Traits de personnalité</span><span class=ru>Personality traits</span></div></button></div><div class="wrap-box ideals center mar-b-sm"><textarea class="three-line-textarea background-textarea no-border" name=attr_ideals></textarea> <button type=roll name=roll_ideals value="@{output_option} &{template:5e-shaped} {{character_name=@{character_name}}} @{show_character_name} {{title=Ideals}} {{text=@{ideals}}}"><div class="wrap-box-title center"><span class=en>Ideals</span><span class=de>Ideale</span><span class=fr>Idéaux</span><span class=ru>Ideals</span></div></button></div><div class="wrap-box bonds center mar-b-sm"><textarea class="three-line-textarea background-textarea no-border" name=attr_bonds></textarea> <button type=roll name=roll_bonds value="@{output_option} &{template:5e-shaped} {{character_name=@{character_name}}} @{show_character_name} {{title=Bonds}} {{text=@{bonds}}}"><div class="wrap-box-title center"><span class=en>Bonds</span><span class=de>Verpflichtungen</span><span class=fr>Liens</span><span class=ru>Bonds</span></div></button></div><div class="wrap-box flaws center mar-b-smd"><textarea class="three-line-textarea background-textarea no-border" name=attr_flaws></textarea> <button type=roll name=roll_flaws value="@{output_option} &{template:5e-shaped} {{character_name=@{character_name}}} @{show_character_name} {{title=Flaws}} {{text=@{flaws}}}"><div class="wrap-box-title center"><span class=en>Flaws</span><span class=de>Makel</span><span class=fr>Défauts</span><span class=ru>Flaws</span></div></button></div><div class="wrap-box center mar-b-smd"><textarea name=attr_features_and_traits class="twenty-line-textarea no-border features-and-traits"></textarea> <button type=roll name=roll_features_and_traits value="@{output_option} &{template:5e-shaped} {{character_name=@{character_name}}} @{show_character_name} {{title=Features and Traits}} {{text=@{features_and_traits}}}"><div class="wrap-box-title center"><span class=en>Features & Traits</span><span class=de>Funktionen und Merkmale</span><span class=fr>Traits Raciaux & Capacités</span><span class=ru>Features & Traits</span></div></button></div><div class="resistances-immunities wrap-box mar-b-smd"><div class="damage-vulnerabilities relative"><button type=roll name=roll_damage_vulnerabilities class=text-area-label value="@{output_option} &{template:5e-shaped} {{character_name=@{character_name}}} @{show_character_name} {{title=Damage vulnerabilities}} {{text=@{damage_vulnerabilities}}}"><span class=en>Damage Vulnerabilities</span><span class=de>Schadens-Empfindlichkeiten</span><span class=fr>Vulnérabilité aux dégâts</span><span class=ru>Damage Vulnerabilities</span>.</button> <textarea name=attr_damage_vulnerabilities class="two-line-textarea text-area-with-label no-border"></textarea></div><div class="damage-resistances relative"><button type=roll name=roll_damage_resistances class=text-area-label value="@{output_option} &{template:5e-shaped} {{character_name=@{character_name}}} @{show_character_name} {{title=Damage resistances}} {{text=@{damage_resistances}}}"><span class=en>Damage Resistances</span><span class=de>Schadens-Resistenzen</span><span class=fr>Résistance aux dégâts</span><span class=ru>Damage Resistances</span>.</button> <textarea name=attr_damage_resistances class="two-line-textarea text-area-with-label no-border"></textarea></div><div class="damage-immunities relative"><button type=roll name=roll_damage_immunities class=text-area-label value="@{output_option} &{template:5e-shaped} {{character_name=@{character_name}}} @{show_character_name} {{title=Damage immunities}} {{text=@{damage_immunities}}}"><span class=en>Damage Immunities</span><span class=de>Schadens-Immunitäten</span><span class=fr>Immunité aux dégâts</span><span class=ru>Damage Immunities</span>.</button> <textarea name=attr_damage_immunities class="two-line-textarea text-area-with-label no-border"></textarea></div><div class="condition-immunities relative"><button type=roll name=roll_condition_immunities class=text-area-label value="@{output_option} &{template:5e-shaped} {{character_name=@{character_name}}} @{show_character_name} {{title=Condition immunities}} {{text=@{condition_immunities}}}"><span class=en>Condition Immunities</span><span class=de>Status-Immunitäten</span><span class=fr>Immunité aux conditions</span><span class=ru>Condition Immunities</span>.</button> <textarea name=attr_condition_immunities class="two-line-textarea text-area-with-label no-border"></textarea></div><div class="wrap-box-title center"><span class=en>Resistances & Immunities</span><span class=de>Resistenzen & Immunitäten</span><span class=fr>Résistances & Immunités</span><span class=ru>Resistances & Immunities</span></div></div><div class="exhaustion wrap-box relative pc"><div class="shaped-row vert-center"><div class=col-15><input type=number name=attr_exhaustion_level class="no-spin bold" min=0 max=6></div><div class="col-85 pad-l-sm"><button type=roll name=roll_exhaustion class=wrapper-button value="@{output_option} &{template:5e-shaped} {{character_name=@{character_name}}} @{show_character_name} {{title=Exhaustion Level}} {{text_big=[[@{exhaustion_level}]]}}"><div class=wrap-box-title><span class=en>Exhaustion level</span><span class=de>Erschöpfungsstufe</span><span class=fr>Niveau d'épuisement</span><span class=ru>Exhaustion level</span></div></button></div></div><div class=tooltip-position-wrapper><div class=tooltip><div class="tooltip-toggle-text center">?</div><div class="tooltip-content-left small-label"><table><thead><tr><th><span class=en>Level</span><span class=de>Level</span><span class=fr>Niveau</span><span class=ru>Уровень</span></th><th><span class=en>Effect</span><span class=de>Effect</span><span class=fr>Effets</span><span class=ru>Effect</span></th></tr></thead><tbody><tr><td class=center>1</td><td><span class=en>Disadvantage on ability checks</span><span class=de>Disadvantage on ability checks</span><span class=fr>Désavantage aux jets de caractéristiques</span><span class=ru>Disadvantage on ability checks</span></td></tr><tr><td class=center>2</td><td><span class=en>Speed halved</span><span class=de>Speed halved</span><span class=fr>Vitesse diminuée de moitié</span><span class=ru>Speed halved</span></td></tr><tr><td class=center>3</td><td><span class=en>Disadvantage on attack rolls and saving throws</span><span class=de>Disadvantage on attack rolls and saving throws</span><span class=fr>Désavantage aux jets d'attaque et de sauvegarde</span><span class=ru>Disadvantage on attack rolls and saving throws</span></td></tr><tr><td class=center>4</td><td><span class=en>Hit point maximum halved</span><span class=de>Hit point maximum halved</span><span class=fr>Points de vie maximums diminués de moitié</span><span class=ru>Hit point maximum halved</span></td></tr><tr><td class=center>5</td><td><span class=en>Speed reduced to 0</span><span class=de>Speed reduced to 0</span><span class=fr>Vitesse réduite à 0</span><span class=ru>Speed reduced to 0</span></td></tr><tr><td class=center>6</td><td><span class=en>Death</span><span class=de>Death</span><span class=fr>Mort</span><span class=ru>Death</span></td></tr></tbody></table></div></div></div></div></div></div></div><div class=section-npc><div class=bar></div><div class=npc-content-wrap><div class=compendium-drop-target><input type=hidden name=attr_content_srd accept=Content> <input type=hidden name=attr_spell_book_srd accept="Spell Book"> <input type=checkbox name=attr_npc_edit class="toggle-npc-edit hidden"><div class=shaped-row><div class="col-50 pad-r-md"><div class=shaped-row><div class=col-94><input type=hidden name=attr_character_name_srd accept=Name> <input type=text name=attr_character_name class="creature-name no-border" placeholder=Dragon></div><div class=col-06><input type=checkbox name=attr_npc_edit class=toggle-npc-edit><span class="toggle-npc-edit pictos">p</span></div></div><div class="shaped-row details"><div class="col-20 pad-r-sm"><select name=attr_size class="italic no-border" accept=Size><option value=Tiny>Tiny</option><option value=Small>Small</option><option value=Medium>Medium</option><option value=Large selected>Large</option><option value=Huge>Huge</option><option value=Gargantuan>Gargantuan</option></select></div><div class="col-30 pad-l-sm pad-r-sm"><input type=text name=attr_type class="italic no-border" placeholder=dragon accept=Type></div><div class="col-23 pad-l-sm"><input type=text name=attr_alignment class="italic no-border" placeholder="lawful evil" accept=Alignment></div></div><input type=text name=attr_size_type_alignment class="no-border italic presentation"><div class=divider></div><div class=top-stats><div class="shaped-row vert-center"><button type=roll name=roll_ac class=width-auto value="@{output_option} &{template:5e-shaped} {{character_name=@{character_name}}} @{show_character_name} {{title=AC}} {{text_big=[[@{ac}]]}}"><div class=heading><span class=en>Armor Class</span><span class=de>Armor Class</span><span class=fr>Armure</span><span class=ru>Класс Брони</span></div></button><div class=col-06><input type=hidden name=attr_ac_srd accept=AC> <input type=number name=attr_ac class="no-border no-spin"></div><div class=col-25><div class="parenthesis-wrapper wrapper-button small-label"><input type=text name=attr_ac_note class="no-border mar-l-sm"></div></div></div><button type=roll name=roll_initiative value="@{initiative_output_option} &{template:5e-shaped} {{ability=1}} {{character_name=@{character_name}}} @{show_character_name} {{title=Initiative}} {{subheader=Ability Check}} {{roll_toggle=1}} {{only_roll_1=1}} @{initiative_roll}@{d20_mod} + @{initiative_to_tracker} + @{initiative_tie_breaker}]]}} @{attacher_initiative}"><div class="shaped-row vert-center"><div class=heading><span class=en>Initiative</span><span class=de>Initiative</span><span class=fr>Initiative</span><span class=ru>Initiative</span></div><div class=col-06><input type=number name=attr_initiative class="no-spin initiative-total no-border" readonly></div></div></button><div class="shaped-row vert-center"><button type=roll name=roll_hp class=width-auto value="@{output_option} &{template:5e-shaped} {{character_name=@{character_name}}} @{show_character_name} {{title=Hit Points}} {{text_big=[[@{HP}]]/[[@{HP|max}]]}}"><div class=heading><span class=en>Hit points</span><span class=de>Hit points</span><span class=fr>Points de Vie</span><span class=ru>Хит Поинты</span></div></button><div class=col-06><input type=hidden name=attr_hp_srd accept=HP> <input type=number name=attr_hp class="no-border no-spin" readonly title="edit the formula to adjust this number"></div><div class="col-20 pad-l-sm presentation"><div class="parenthesis-wrapper wrapper-button small-label"><button type=roll name=roll_hp class=wrapper-button value="/w GM &{template:5e-shaped} {{character_name=@{character_name}}} @{show_character_name} {{title=Hit Points Rolled}} {{text_top=[[@{hp_formula}]]}} {{text=Average [[@{hp}]]}}"><div><input type=text name=attr_hp_formula class=no-border readonly></div></button></div></div><div class="col-76 pad-l-sm details"><div class=shaped-row><div class="col-10 pad-r-sm"><input type=number name=attr_hit_dice class="no-border no-spin" step=1></div><div class="col-12 pad-r-sm"><select name=attr_hit_die class=no-border><option>d2</option><option>d4</option><option>d6</option><option>d8</option><option>d10</option><option>d12</option><option>d20</option></select></div><div class="col-40 pad-l-sm"><input type=text name=attr_hp_extra class=no-border></div></div></div></div><div class="shaped-row vert-center"><button type=roll name=roll_speed class=width-auto value="@{output_option} &{template:5e-shaped} {{character_name=@{character_name}}} @{show_character_name} {{title=Speed}} {{text_top=@{npc_speed}}}"><div class=heading><span class=en>Speed</span><span class=de>Gesch</span><span class=fr>Vitesse</span><span class=ru>Speed</span></div></button><div class="col-80 pad-l-sm"><input type=text name=attr_npc_speed class=no-border accept=Speed></div></div><div class=divider></div><div class=shaped-row><div class="col-15 center"><button type=roll name=roll_strength_check value="@{output_option} &{template:5e-shaped} {{ability=1}} {{character_name=@{character_name}}} @{show_character_name} {{title=Strength}} {{subheader=Ability Check}} {{roll_toggle=1}} {{roll1=[[d20@{d20_mod} + @{strength_check_mod}]]}} @{roll_setting}@{d20_mod} + @{strength_check_mod}]]}} @{attacher_strength_check}" tabindex=-1><div class="heading uppercase"><span class=en>str</span><span class=de>str</span><span class=fr>for</span><span class=ru>сила</span></div></button><div class="shaped-row center"><div class=col-40><input type=number name=attr_strength class="no-border no-spin" accept=STR></div><div class="col-50 parenthesis-wrapper"><input type=hidden name=attr_strength_mod> <input type=text name=attr_strength_mod_with_sign class="no-border center" readonly tabindex=-1></div></div></div><div class="col-15 center"><button type=roll name=roll_dexterity_check value="@{output_option} &{template:5e-shaped} {{ability=1}} {{character_name=@{character_name}}} @{show_character_name} {{title=Dexterity}} {{subheader=Ability check}} {{roll_toggle=1}} {{roll1=[[d20@{d20_mod} + @{dexterity_check_mod}]]}} @{roll_setting}@{d20_mod} + @{dexterity_check_mod}]]}} @{attacher_dexterity_check}" tabindex=-1><div class="heading uppercase"><span class=en>dex</span><span class=de>dex</span><span class=fr>dex</span><span class=ru>лов</span></div></button><div class="shaped-row center"><div class=col-40><input type=number name=attr_dexterity class="no-border no-spin" accept=DEX></div><div class="col-50 parenthesis-wrapper"><input type=hidden name=attr_dexterity_mod> <input type=text name=attr_dexterity_mod_with_sign class="no-border center" readonly tabindex=-1></div></div></div><div class="col-15 center"><button type=roll name=roll_constitution_check value="@{output_option} &{template:5e-shaped} {{ability=1}} {{character_name=@{character_name}}} @{show_character_name} {{title=Constitution}} {{subheader=Ability check}} {{roll_toggle=1}} {{roll1=[[d20@{d20_mod} + @{constitution_check_mod}]]}} @{roll_setting}@{d20_mod} + @{constitution_check_mod}]]}} @{attacher_constitution_check}" tabindex=-1><div class="heading uppercase"><span class=en>con</span><span class=de>con</span><span class=fr>con</span><span class=ru>Tел</span></div></button><div class="shaped-row center"><div class=col-40><input type=number name=attr_constitution class="no-border no-spin" accept=CON></div><div class="col-50 parenthesis-wrapper"><input type=hidden name=attr_constitution_mod> <input type=text name=attr_constitution_mod_with_sign class="no-border center" readonly tabindex=-1></div></div></div><div class="col-15 center"><button type=roll name=roll_intelligence_check value="@{output_option} &{template:5e-shaped} {{ability=1}} {{character_name=@{character_name}}} @{show_character_name} {{title=Intelligence}} {{subheader=Ability check}} {{roll_toggle=1}} {{roll1=[[d20@{d20_mod} + @{intelligence_check_mod}]]}} @{roll_setting}@{d20_mod} + @{intelligence_check_mod}]]}} @{attacher_intelligence_check}" tabindex=-1><div class="heading uppercase"><span class=en>int</span><span class=de>int</span><span class=fr>int</span><span class=ru>инт</span></div></button><div class="shaped-row center"><div class=col-40><input type=number name=attr_intelligence class="no-border no-spin" accept=INT></div><div class="col-50 parenthesis-wrapper"><input type=hidden name=attr_intelligence_mod> <input type=text name=attr_intelligence_mod_with_sign class="no-border center" readonly tabindex=-1></div></div></div><div class="col-15 center"><button type=roll name=roll_wisdom_check value="@{output_option} &{template:5e-shaped} {{ability=1}} {{character_name=@{character_name}}} @{show_character_name} {{title=Wisdom}} {{subheader=Ability check}} {{roll_toggle=1}} {{roll1=[[d20@{d20_mod} + @{wisdom_check_mod}]]}} @{roll_setting}@{d20_mod} + @{wisdom_check_mod}]]}} @{attacher_wisdom_check}" tabindex=-1><div class="heading uppercase"><span class=en>wis</span><span class=de>wis</span><span class=fr>sag</span><span class=ru>mуд</span></div></button><div class="shaped-row center"><div class=col-40><input type=number name=attr_wisdom class="no-border no-spin" accept=WIS></div><div class="col-50 parenthesis-wrapper"><input type=hidden name=attr_wisdom_mod> <input type=text name=attr_wisdom_mod_with_sign class="no-border center" readonly tabindex=-1></div></div></div><div class="col-15 center"><button type=roll name=roll_charisma_check value="@{output_option} &{template:5e-shaped} {{ability=1}} {{character_name=@{character_name}}} @{show_character_name} {{title=Charisma}} {{subheader=Ability check}} {{roll_toggle=1}} {{roll1=[[d20@{d20_mod} + @{charisma_check_mod}]]}} @{roll_setting}@{d20_mod} + @{charisma_check_mod}]]}} @{attacher_charisma_check}" tabindex=-1><div class="heading uppercase"><span class=en>cha</span><span class=de>cha</span><span class=fr>cha</span><span class=ru>cар</span></div></button><div class="shaped-row center"><div class=col-40><input type=number name=attr_charisma class="no-border no-spin" accept=CHA></div><div class="col-50 parenthesis-wrapper"><input type=hidden name=attr_charisma_mod> <input type=text name=attr_charisma_mod_with_sign class="no-border center" readonly tabindex=-1></div></div></div></div><div class=divider></div><input type=hidden name=attr_saving_throws_srd accept="Saving Throws"><div class="saving-throws shaped-row vert-center"><div class="col-22 heading"><span class=en>Saving throws</span><span class=de>Rettungswürfe</span><span class=fr>Jets de sauvegarde</span><span class=ru>Saving throws</span></div><div class="col-78 pad-l-sm"><div class="shaped-row no-wrap vert-center"><div class=details><input type=checkbox name=attr_strength_save_prof value=@{PB}></div><div class=col-10><button type=roll name=roll_strength_save value="@{output_option} &{template:5e-shaped} {{save=1}} {{character_name=@{character_name}}} @{show_character_name} {{title=Strength}} {{subheader=Saving Throw}} {{roll_toggle=1}} {{roll1=[[d20@{d20_mod} + @{strength_save_mod}]]}} @{roll_setting}@{d20_mod} + @{strength_save_mod}]]}} @{attacher_strength_saving_throw}" tabindex=-1><div class="shaped-row vert-center"><div class="col-55 capitalize"><span class=en>str</span><span class=de>str</span><span class=fr>for</span><span class=ru>сила</span></div><div class=col-45><input type=number name=attr_strength_save_mod class="no-spin no-border" value="@{strength_mod}[str] + @{strength_save_prof}[proficiency] + @{strength_save_bonus}[str saving throw bonus] + (@{global_saving_throw_bonus})[global saving throw bonus]" disabled tabindex=-1 readonly></div></div></button></div><div class="col-02 pad-r-sm">,</div><div class=details><input type=checkbox name=attr_dexterity_save_prof value=@{PB}></div><div class=col-13><button type=roll name=roll_dexterity_save value="@{output_option} &{template:5e-shaped} {{save=1}} {{character_name=@{character_name}}} @{show_character_name} {{title=Dexterity}} {{subheader=Saving Throw}} {{roll_toggle=1}} {{roll1=[[d20@{d20_mod} + @{dexterity_save_mod}]]}} @{roll_setting}@{d20_mod} + @{dexterity_save_mod}]]}} @{attacher_dexterity_saving_throw}" tabindex=-1><div class="shaped-row vert-center"><div class="col-55 capitalize"><span class=en>dex</span><span class=de>dex</span><span class=fr>dex</span><span class=ru>лов</span></div><div class=col-45><input type=number name=attr_dexterity_save_mod class="no-spin no-border" value="@{dexterity_mod}[dex] + @{dexterity_save_prof}[proficiency] + @{dexterity_save_bonus}[dex saving throw bonus] + (@{global_saving_throw_bonus})[global saving throw bonus]" disabled tabindex=-1 readonly></div></div></button></div><div class="col-02 pad-r-sm">,</div><div class=details><input type=checkbox name=attr_constitution_save_prof value=@{PB}></div><div class=col-13><button type=roll name=roll_constitution_save value="@{output_option} &{template:5e-shaped} {{save=1}} {{character_name=@{character_name}}} @{show_character_name} {{title=Constitution}} {{subheader=Saving Throw}} {{roll_toggle=1}} {{roll1=[[d20@{d20_mod} + @{constitution_save_mod}]]}} @{roll_setting}@{d20_mod} + @{constitution_save_mod}]]}} @{attacher_constitution_saving_throw}" tabindex=-1><div class="shaped-row vert-center"><div class="col-55 capitalize"><span class=en>con</span><span class=de>con</span><span class=fr>con</span><span class=ru>Tел</span></div><div class=col-45><input type=number name=attr_constitution_save_mod class="no-spin no-border" value="@{constitution_mod}[con] + @{constitution_save_prof}[proficiency] + @{constitution_save_bonus}[con saving throw bonus] + (@{global_saving_throw_bonus})[global saving throw bonus]" disabled tabindex=-1 readonly></div></div></button></div><div class="col-02 pad-r-sm">,</div><div class=details><input type=checkbox name=attr_intelligence_save_prof value=@{PB}></div><div class=col-10><button type=roll name=roll_intelligence_save value="@{output_option} &{template:5e-shaped} {{save=1}} {{character_name=@{character_name}}} @{show_character_name} {{title=Intelligence}} {{subheader=Saving Throw}} {{roll_toggle=1}} {{roll1=[[d20@{d20_mod} + @{intelligence_save_mod}]]}} @{roll_setting}@{d20_mod} + @{intelligence_save_mod}]]}} @{attacher_intelligence_saving_throw}" tabindex=-1><div class="shaped-row vert-center"><div class="col-50 capitalize"><span class=en>int</span><span class=de>int</span><span class=fr>int</span><span class=ru>инт</span></div><div class=col-50><input type=number name=attr_intelligence_save_mod class="no-spin no-border" value="@{intelligence_mod}[int] + @{intelligence_save_prof}[proficiency] + @{intelligence_save_bonus}[int saving throw bonus] + (@{global_saving_throw_bonus})[global saving throw bonus]" disabled tabindex=-1 readonly></div></div></button></div><div class="col-02 pad-r-sm">,</div><div class=details><input type=checkbox name=attr_wisdom_save_prof value=@{PB}></div><div class=col-13><button type=roll name=roll_wisdom_save value="@{output_option} &{template:5e-shaped} {{save=1}} {{character_name=@{character_name}}} @{show_character_name} {{title=Wisdom}} {{subheader=Saving Throw}} {{roll_toggle=1}} {{roll1=[[d20@{d20_mod} + @{wisdom_save_mod}]]}} @{roll_setting}@{d20_mod} + @{wisdom_save_mod}]]}} @{attacher_wisdom_saving_throw}" tabindex=-1><div class="shaped-row vert-center"><div class="col-55 capitalize"><span class=en>wis</span><span class=de>wis</span><span class=fr>sag</span><span class=ru>mуд</span></div><div class=col-45><input type=number name=attr_wisdom_save_mod class="no-spin no-border" value="@{wisdom_mod}[wis] + @{wisdom_save_prof}[proficiency] + @{wisdom_save_bonus}[wis saving throw bonus] + (@{global_saving_throw_bonus})[global saving throw bonus]" disabled tabindex=-1 readonly></div></div></button></div><div class="col-02 pad-r-sm">,</div><div class=details><input type=checkbox name=attr_charisma_save_prof value=@{PB}></div><div class=col-13><button type=roll name=roll_charisma_save value="@{output_option} &{template:5e-shaped} {{save=1}} {{character_name=@{character_name}}} @{show_character_name} {{title=Charisma}} {{subheader=Saving Throw}} {{roll_toggle=1}} {{roll1=[[d20@{d20_mod} + @{charisma_save_mod}]]}} @{roll_setting}@{d20_mod} + @{charisma_save_mod}]]}} @{attacher_charisma_saving_throw}" tabindex=-1><div class="shaped-row vert-center"><div class="col-55 capitalize"><span class=en>cha</span><span class=de>cha</span><span class=fr>cha</span><span class=ru>cар</span></div><div class=col-45><input type=number name=attr_charisma_save_mod class="no-spin no-border" value="@{charisma_mod}[cha] + @{charisma_save_prof}[proficiency] + @{charisma_save_bonus}[cha saving throw bonus] + (@{global_saving_throw_bonus})[global saving throw bonus]" disabled tabindex=-1 readonly></div></div></button></div></div></div></div><input type=hidden name=attr_skills_srd accept=Skills><div class="shaped-row skills"><div class=heading><span class=en>Skills</span><span class=de>Skills</span><span class=fr>Compétences</span><span class=ru>Навыки</span></div><div class="col-90 pad-l-sm"><div class=shaped-row><fieldset class=repeating_skill><div class="shaped-row no-wrap vert-center"><div class="col-22 skill-select-wrapper details"><span class=en><select name=attr_proficiency class=no-border><option value=unproficient>—    Unproficient</option><option value=proficient>✓    Proficient</option><option value=expertise>✗    Expertise</option></select></span> <span class=de><select name=attr_proficiency class=no-border><option value=unproficient>—    Fehlt Tüchtig</option><option value=proficient>✓    Tüchtig</option><option value=expertise>✗    Sachverstand</option></select></span> <span class=fr><select name=attr_proficiency class=no-border><option value=unproficient>—    Non Maîtrisée</option><option value=proficient>✓    Maîtrise</option><option value=expertise>✗    Expertise</option></select></span> <span class=ru><select name=attr_proficiency class=no-border><option value=unproficient>—    Нет владеет</option><option value=proficient>✓    Владение</option><option value=expertise>✗    Эксперт</option></select></span></div><div class=col-90><input type=hidden name=attr_formula> <input type=hidden name=attr_ability_short_name> <button type=roll name=roll_skill value="@{output_option} &{template:5e-shaped} {{ability=1}} {{character_name=@{character_name}}} @{show_character_name} {{title=@{name} (@{ability_short_name})}} {{subheader=Ability Check}} {{roll_toggle=1}} {{roll1=[[d20@{d20_mod} + @{formula}]]}} @{roll_setting}@{d20_mod} + @{formula}]]}} @{attacher_skill}" tabindex=-1><div class=shaped-row><div class="col-82 skill-name"><input type=text name=attr_name class="skill-name no-border" placeholder="see settings" readonly tabindex=-1></div><div class=col-18><input type=number name=attr_total class=no-border readonly tabindex=-1></div></div></button></div><div class="skills-ability-selector-wrapper details"><span class=en><select name=attr_ability class="skills-ability-selector no-border"><option value=@{strength_mod}>Str</option><option value=@{dexterity_mod}>Dex</option><option value=@{constitution_mod}>Con</option><option value=@{intelligence_mod}>Int</option><option value=@{wisdom_mod}>Wis</option><option value=@{charisma_mod}>Cha</option><option value=0>—</option></select></span> <span class=de><select name=attr_ability class="skills-ability-selector no-border"><option value=@{strength_mod}>Str</option><option value=@{dexterity_mod}>Ges</option><option value=@{constitution_mod}>Kon</option><option value=@{intelligence_mod}>Int</option><option value=@{wisdom_mod}>Wei</option><option value=@{charisma_mod}>Cha</option><option value=0>—</option></select></span> <span class=fr><select name=attr_ability class="skills-ability-selector no-border"><option value=@{strength_mod}>For</option><option value=@{dexterity_mod}>Dex</option><option value=@{constitution_mod}>Con</option><option value=@{intelligence_mod}>Int</option><option value=@{wisdom_mod}>Sag</option><option value=@{charisma_mod}>Cha</option><option value=0>—</option></select></span> <span class=ru><select name=attr_ability class="skills-ability-selector no-border"><option value=@{strength_mod}>Сил</option><option value=@{dexterity_mod}>Лов</option><option value=@{constitution_mod}>Тел</option><option value=@{intelligence_mod}>Инт</option><option value=@{wisdom_mod}>Муд</option><option value=@{charisma_mod}>Хар</option><option value=0>—</option></select></span></div></div></fieldset></div></div></div><div class="damage-vulnerabilities relative"><button type=roll name=roll_damage_vulnerabilities class=text-area-label value="@{output_option} &{template:5e-shaped} {{character_name=@{character_name}}} @{show_character_name} {{title=Damage vulnerabilities}} {{text=@{damage_vulnerabilities}}}"><div class="heading pad-t-sm"><span class=en>Damage Vulnerabilities</span><span class=de>Schadens-Empfindlichkeiten</span><span class=fr>Vulnérabilité aux dégâts</span><span class=ru>Damage Vulnerabilities</span></div></button> <textarea name=attr_damage_vulnerabilities class="two-line-textarea text-area-with-label no-border" accept=Vulnerabilities></textarea></div><div class="damage-resistances relative"><button type=roll name=roll_damage_resistances class=text-area-label value="@{output_option} &{template:5e-shaped} {{character_name=@{character_name}}} @{show_character_name} {{title=Damage resistances}} {{text=@{damage_resistances}}}"><div class="heading pad-t-sm"><span class=en>Damage Resistances</span><span class=de>Schadens-Resistenzen</span><span class=fr>Résistance aux dégâts</span><span class=ru>Damage Resistances</span></div></button> <textarea name=attr_damage_resistances class="two-line-textarea text-area-with-label no-border" accept=Resistances></textarea></div><div class="damage-immunities relative"><button type=roll name=roll_damage_immunities class=text-area-label value="@{output_option} &{template:5e-shaped} {{character_name=@{character_name}}} @{show_character_name} {{title=Damage immunities}} {{text=@{damage_immunities}}}"><div class="heading pad-t-sm"><span class=en>Damage Immunities</span><span class=de>Schadens-Immunitäten</span><span class=fr>Immunité aux dégâts</span><span class=ru>Damage Immunities</span></div></button> <textarea name=attr_damage_immunities class="two-line-textarea text-area-with-label no-border" accept=Immunities></textarea></div><div class="condition-immunities relative"><button type=roll name=roll_condition_immunities class=text-area-label value="@{output_option} &{template:5e-shaped} {{character_name=@{character_name}}} @{show_character_name} {{title=Condition immunities}} {{text=@{condition_immunities}}}"><div class="heading pad-t-sm"><span class=en>Condition Immunities</span><span class=de>Status-Immunitäten</span><span class=fr>Immunité aux conditions</span><span class=ru>Condition Immunities</span></div></button> <textarea name=attr_condition_immunities class="two-line-textarea text-area-with-label no-border" accept="Condition Immunities"></textarea></div><div class="shaped-row vert-center"><button type=roll name=roll_senses class=width-auto value="@{output_option} &{template:5e-shaped} {{character_name=@{character_name}}} @{show_character_name} {{title=Senses}} {{text_top=@{senses}}}"><div class=heading><span class=en>Senses</span><span class=de>Senses</span><span class=fr>Sens</span><span class=ru>Senses</span></div></button><div class="col-80 pad-l-sm"><input type=text name=attr_senses class=no-border accept=Senses></div></div><div class="shaped-row vert-center"><button type=roll name=roll_languages class=width-auto value="@{output_option} &{template:5e-shaped} {{character_name=@{character_name}}} @{show_character_name} {{title=Languages}} {{text=@{languages}}}"><div class=heading><span class=en>Languages</span><span class=de>Languages</span><span class=fr>Langues</span><span class=ru>Языки</span></div></button><div class="col-80 pad-l-sm"><input type=text name=attr_languages class=no-border accept=Languages></div></div><div class="shaped-row vert-center"><button type=roll name=roll_challenge class=width-auto value="@{output_option} &{template:5e-shaped} {{character_name=@{character_name}}} @{show_character_name} {{title=Challenge}} {{text_top=[[@{challenge}]]}}" text="(@{xp} XP)" tabindex=-1><div class=heading><span class=en>Challenge</span><span class=de>Herrausf.</span><span class=fr>FP</span><span class=ru>Challenge</span></div></button><div class="col-05 pad-l-sm"><input type=text name=attr_challenge class="no-border no-spin" accept="Challenge Rating"></div><div class="col-15 pad-l-sm"><div class="parenthesis-wrapper wrapper-button small-label"><div class="shaped-row center vert-center"><div class=col-73><input type=number name=attr_xp class="no-border no-spin"></div><div class="col-27 pad-r-md">XP</div></div></div></div></div><button type=roll name=roll_pb class=wrapper-button value="@{output_option} &{template:5e-shaped} {{character_name=@{character_name}}} @{show_character_name} {{title=Proficiency Bonus}} {{text_top=[[@{pb}]]}}" tabindex=-1><div class="shaped-row vert-center"><div class=heading><span class=en>Proficiency bonus</span><span class=de>Fertigkeitsbonus</span><span class=fr>Bonus de maîtrise</span><span class=ru>Proficiency bonus</span></div><div class="col-05 pad-l-sm"><input type=number name=attr_PB class=no-border readonly tabindex=-1></div></div></button><div class=divider></div></div></div><div class="col-50 pad-l-md"><fieldset class=repeating_trait><input type=text name=attr_name class="bold italic no-border" placeholder=Amphibious> <textarea name=attr_freetext class="three-line-textarea no-border" placeholder="The dragon can breathe air and water"></textarea></fieldset><h3>Actions</h3><fieldset class=repeating_action><input type=text name=attr_name class="bold italic no-border" placeholder=Bite> <textarea name=attr_freetext class="eight-line-textarea no-border" placeholder="Melee Weapon Attack: +15 to hit, reach 15 ft., one target. Hit: 19 (2d10 +8) piercing damage plus 9 (2d8) acid damage."></textarea></fieldset><h3>Legendary Actions</h3><textarea name=attr_legendary_actions_blurb class="four-line-textarea no-border"></textarea><fieldset class=repeating_legendary_action><input type=text name=attr_name class="bold italic no-border" placeholder=Detect> <textarea name=attr_freetext class="eight-line-textarea no-border" placeholder="The dragon makes a Wisdom (Perception) check."></textarea></fieldset><h3>Lair Actions</h3></div></div></div></div><div class=bar></div></div><div class=section-spells><input type=hidden name=attr_base_dc value="(8 + (@{global_spell_dc_bonus})[global dc bonus])"><div class="shaped-row mar-b-sm"><div class=col-82><div class=wrap-box><input type=checkbox class=toggle-spell-filters name=attr_spell_display_filters value=1 checked><span class=toggle-spell-filters>Filters</span> <input type=checkbox name=attr_spell_only_show_prepared class=toggle-spells-filter-prepared><span class=toggle-spells-filter-prepared><span class=en>Prepared</span><span class=de>Prepared</span><span class=fr>Préparé</span><span class=ru>Prepared</span></span> <input type=checkbox name=attr_spell_only_show_rituals class=toggle-spells-filter-ritual><span class=toggle-spells-filter-ritual><span class=en>Ritual</span><span class=de>Ritual</span><span class=fr>Rituel</span><span class=ru>Ritual</span></span> <input type=radio name=attr_spell_level_filter_core class=toggle-spells-filter-level-cantrips value=cantrips><span class=toggle-spells-filter-level-cantrips><span class=en>Cantrips</span><span class=de>Cantrips</span><span class=fr>Cantrips</span><span class=ru>Cantrips</span></span><input type=radio name=attr_spell_level_filter_core class="toggle-spells-filter-level-1 spell-level-1" value=1><span class="toggle-spells-filter-level-1 spell-level-1 border-left">1</span><input type=radio name=attr_spell_level_filter_core class="toggle-spells-filter-level-2 spell-level-2" value=2><span class="toggle-spells-filter-level-2 spell-level-2 border-left">2</span><input type=radio name=attr_spell_level_filter_core class="toggle-spells-filter-level-3 spell-level-3" value=3><span class="toggle-spells-filter-level-3 spell-level-3 border-left">3</span><input type=radio name=attr_spell_level_filter_core class="toggle-spells-filter-level-4 spell-level-4" value=4><span class="toggle-spells-filter-level-4 spell-level-4 border-left">4</span><input type=radio name=attr_spell_level_filter_core class="toggle-spells-filter-level-5 spell-level-5" value=5><span class="toggle-spells-filter-level-5 spell-level-5 border-left">5</span><input type=radio name=attr_spell_level_filter_core class="toggle-spells-filter-level-6 spell-level-6" value=6><span class="toggle-spells-filter-level-6 spell-level-6 border-left">6</span><input type=radio name=attr_spell_level_filter_core class="toggle-spells-filter-level-7 spell-level-7" value=7><span class="toggle-spells-filter-level-7 spell-level-7 border-left">7</span><input type=radio name=attr_spell_level_filter_core class="toggle-spells-filter-level-8 spell-level-8" value=8><span class="toggle-spells-filter-level-8 spell-level-8 border-left">8</span><input type=radio name=attr_spell_level_filter_core class="toggle-spells-filter-level-9 spell-level-9" value=9><span class="toggle-spells-filter-level-9 spell-level-9 border-left">9</span><input type=radio name=attr_spell_level_filter_core class=toggle-spells-filter-level-all value=all checked><span class="toggle-spells-filter-level-all border-left"><span class=en>All</span><span class=de>All</span><span class=fr>Tout</span><span class=ru>All</span></span> <input type=radio name=attr_spell_casting_time_only_show class=toggle-spells-filter-casting-time-reaction value=reaction><span class=toggle-spells-filter-casting-time-reaction><span class=en>Reaction</span><span class=de>Reaction</span><span class=fr>Réaction</span><span class=ru>Reaction</span></span><input type=radio name=attr_spell_casting_time_only_show class=toggle-spells-filter-casting-time-bonus value=bonus><span class="toggle-spells-filter-casting-time-bonus border-left"><span class=en>Bonus</span><span class=de>Bonus</span><span class=fr>Bonus</span><span class=ru>Бонус</span></span><input type=radio name=attr_spell_casting_time_only_show class=toggle-spells-filter-casting-time-action value=action><span class="toggle-spells-filter-casting-time-action border-left"><span class=en>Action</span><span class=de>Action</span><span class=fr>Action</span><span class=ru>Action</span></span><input type=radio name=attr_spell_casting_time_only_show class=toggle-spells-filter-casting-time-all value=all checked><span class="toggle-spells-filter-casting-time-all border-left"><span class=en>All</span><span class=de>All</span><span class=fr>Tout</span><span class=ru>All</span></span> <span class="spells-filter border-left pad-l-md mar-l-sm"><span class=en>Spells can have</span><span class=de>Spells can have</span><span class=fr>Sorts peuvent avoir</span><span class=ru>Spells can have</span>:</span> <input type=checkbox name=attr_spell_only_show_concentration class=toggle-spells-filter-concentration checked><span class=toggle-spells-filter-concentration><span class=en>Concentration</span><span class=de>Concentration</span><span class=fr>Concentration</span><span class=ru>Concentration</span></span> <input type=checkbox name=attr_spell_only_show_verbal class=toggle-spells-filter-verbal checked><span class=toggle-spells-filter-verbal>V</span> <input type=checkbox name=attr_spell_only_show_somatic class=toggle-spells-filter-somatic checked><span class=toggle-spells-filter-somatic>S</span> <input type=checkbox name=attr_spell_only_show_material class=toggle-spells-filter-material checked><span class=toggle-spells-filter-material>M</span><div class=mar-t-sm></div><div class=shaped-row><div class="col-50 pad-r-sm"><div class=shaped-row><div class="col-35 wrap-box-label light-label pad-r-sm"><span class=en>Spell</span><span class=de>Spell</span><span class=fr>Sort</span><span class=ru>Spell</span></div><div class="col-10 wrap-box-label light-label center pad-r-sm"><span class=en>Level</span><span class=de>Level</span><span class=fr>Niveau</span><span class=ru>Уровень</span></div><div class="col-36 wrap-box-label light-label pad-r-sm"><span class=en>Casting Time</span><span class=de>Casting Time</span><span class=fr>Temps d'incantation</span><span class=ru>Casting Time</span></div><div class="col-15 wrap-box-label light-label"><span class=en>Conc</span><span class=de>Conc</span><span class=fr>Conc</span><span class=ru>Conc</span></div></div></div><div class="col-50 pad-l-sm"><div class=shaped-row><div class="col-35 wrap-box-label light-label pad-r-sm"><span class=en>Spell</span><span class=de>Spell</span><span class=fr>Sort</span><span class=ru>Spell</span></div><div class="col-10 wrap-box-label light-label center pad-r-sm"><span class=en>Level</span><span class=de>Level</span><span class=fr>Niveau</span><span class=ru>Уровень</span></div><div class="col-36 wrap-box-label light-label pad-r-sm"><span class=en>Casting Time</span><span class=de>Casting Time</span><span class=fr>Temps d'incantation</span><span class=ru>Casting Time</span></div><div class="col-15 wrap-box-label light-label"><span class=en>Conc</span><span class=de>Conc</span><span class=fr>Conc</span><span class=ru>Conc</span></div></div></div></div><fieldset class=repeating_spell><input type=radio name=attr_spell_level value=0 class="toggle-spell-level-cantrip hidden"> <input type=radio name=attr_spell_level value=1 class="toggle-spell-level-1 hidden"> <input type=radio name=attr_spell_level value=2 class="toggle-spell-level-2 hidden"> <input type=radio name=attr_spell_level value=3 class="toggle-spell-level-3 hidden"> <input type=radio name=attr_spell_level value=4 class="toggle-spell-level-4 hidden"> <input type=radio name=attr_spell_level value=5 class="toggle-spell-level-5 hidden"> <input type=radio name=attr_spell_level value=6 class="toggle-spell-level-6 hidden"> <input type=radio name=attr_spell_level value=7 class="toggle-spell-level-7 hidden"> <input type=radio name=attr_spell_level value=8 class="toggle-spell-level-8 hidden"> <input type=radio name=attr_spell_level value=9 class="toggle-spell-level-9 hidden"> <input type=hidden name=attr_friendly_level> <input type=checkbox name=attr_is_prepared class="toggle-spells-prepared hidden"> <input type=checkbox name=attr_ritual value=Yes class="toggle-spells-ritual hidden"> <input type=checkbox name=attr_concentration value=Yes class="toggle-spells-concentration hidden"> <input type=radio name=attr_casting_time value="1 reaction" class="toggle-casting-time-reaction hidden"> <input type=radio name=attr_casting_time value="1 bonus action" class="toggle-casting-time-bonus hidden"> <input type=radio name=attr_casting_time value="1 action" class="toggle-casting-time-action hidden"> <input type=checkbox name=attr_components_verbal value=1 class="toggle-spell-vsm-v hidden"> <input type=checkbox name=attr_components_somatic value=1 class="toggle-spell-vsm-s hidden"> <input type=checkbox name=attr_components_material value=1 class="toggle-spell-vsm-m hidden"><div class="spell compendium-drop-target relative mar-b-sm"><input type=hidden name=attr_add_casting_modifier accept="Add Casting Modifier"> <input type=hidden name=attr_type accept="Spell Attack"> <button type=roll name=roll_spell value="@{output_option} &{template:5e-shaped} {{character_name=@{character_name}}} @{show_character_name} {{title=@{name}}} {{targetName=@{attacks_vs_target_name}}} {{spell=1}} @{attacher_spell} {{friendly_level=@{friendly_level}}} {{school=@{school}}} {{casting_time=@{casting_time}}} {{range=@{range}}} {{components=@{components}}} {{materials=@{materials}}} {{duration=@{duration}}} {{target=@{target}}} @{content_toggle} @{roll_toggle} @{saving_throw_toggle} @{damage_toggle} @{second_damage_toggle} @{heal_toggle} @{higher_level_toggle} @{extras_toggle}"><div class="shaped-row vert-center"><div class="col-35 pad-r-sm"><input type=text name=attr_name readonly></div><div class="col-10 pad-r-sm"><input type=text name=attr_spell_level class=center readonly></div><div class="col-36 pad-r-sm"><input type=text name=attr_casting_time readonly></div><div class=col-15><input type=text name=attr_concentration readonly></div></div></button> <input type=checkbox name=attr_toggle_details class=toggle-icon-settings checked><span class="toggle-icon-settings pictos">y</span><div class="spells-toggle-spell details"><div class=shaped-row><div class=col-80><input type=text name=attr_name class=spell-name placeholder=name accept=Name></div></div><div class=shaped-row><div class=col-18><span class=en><select name=attr_spell_level class="italic no-border" accept=Level><option value=0>Cantrip</option><option value=1>1st-level</option><option value=2>2nd-level</option><option value=3>3rd-level</option><option value=4>4th-level</option><option value=5>5th-level</option><option value=6>6th-level</option><option value=7>7th-level</option><option value=8>8th-level</option><option value=9>9th-level</option></select></span> <span class=de><select name=attr_spell_level class="italic no-border" accept=Level><option value=0>Cantrip</option><option value=1>1st-level</option><option value=2>2nd-level</option><option value=3>3rd-level</option><option value=4>4th-level</option><option value=5>5th-level</option><option value=6>6th-level</option><option value=7>7th-level</option><option value=8>8th-level</option><option value=9>9th-level</option></select></span> <span class=fr><select name=attr_spell_level class="italic no-border" accept=Level><option value=0>Cantrip</option><option value=1>1er niveau</option><option value=2>2ème niveau</option><option value=3>3ème niveau</option><option value=4>4ème niveau</option><option value=5>5ème niveau</option><option value=6>6ème niveau</option><option value=7>7ème niveau</option><option value=8>8ème niveau</option><option value=9>9ème niveau</option></select></span> <span class=ru><select name=attr_spell_level class="italic no-border" accept=Level><option value=0>Cantrip</option><option value=1>1st-level</option><option value=2>2nd-level</option><option value=3>3rd-level</option><option value=4>4th-level</option><option value=5>5th-level</option><option value=6>6th-level</option><option value=7>7th-level</option><option value=8>8th-level</option><option value=9>9th-level</option></select></span></div><div class="col-26 center"><span class=en><select name=attr_school class="italic no-border" accept=School><option value=Abjuration>Abjuration</option><option value=Conjuration>Conjuration</option><option value=Divination>Divination</option><option value=Enchantment>Enchantment</option><option value=Evocation>Evocation</option><option value=Illusion>Illusion</option><option value=Necromancy>Necromancy</option><option value=Transmutation>Transmutation</option></select></span> <span class=de><select name=attr_school class="italic no-border" accept=School><option value=Abjuration>Bannzauber</option><option value=Conjuration>Beschwörung</option><option value=Divination>Erkenntniszauber</option><option value=Enchantment>Verzauberung</option><option value=Evocation>Hervorrufung</option><option value=Illusion>Illusion</option><option value=Necromancy>Nekromantie</option><option value=Transmutation>Verwandlung</option></select></span> <span class=fr><select name=attr_school class="italic no-border" accept=School><option value=Abjuration>Abjuration</option><option value=Conjuration>Invocation</option><option value=Divination>Divination</option><option value=Enchantment>Enchantement</option><option value=Evocation>Evocation</option><option value=Illusion>Illusion</option><option value=Necromancy>Necromancie</option><option value=Transmutation>Transmutation</option></select></span></div><div class=mar-l-lg><input type=checkbox name=attr_ritual class=toggle-spells-ritual value=Yes accept=Ritual><span class=toggle-spells-ritual><span class=en>Ritual</span><span class=de>Ritual</span><span class=fr>Rituel</span><span class=ru>Ritual</span></span></div><div class=mar-l-lg><input type=checkbox name=attr_is_prepared class=toggle-spells-prepared><span class=toggle-spells-prepared><span class=en>Prepared</span><span class=de>Prepared</span><span class=fr>Préparé</span><span class=ru>Prepared</span></span></div></div><div class=shaped-row><span class="bold mar-r-sm"><span class=en>Casting Time</span><span class=de>Casting Time</span><span class=fr>Temps d'incantation</span><span class=ru>Casting Time</span>:</span><div class="flex-grow center pad-l-sm"><input type=text name=attr_casting_time class=no-border placeholder="1 action" accept="Casting Time"></div></div><div class=shaped-row><span class="bold mar-r-sm"><span class=en>Range</span><span class=de>Range</span><span class=fr>Portée</span><span class=ru>Range</span>:</span><div class="flex-grow center pad-l-sm"><input type=text name=attr_range class=no-border placeholder=90ft accept=Range></div></div><div class=shaped-row><span class="bold mar-r-sm"><span class=en>Components</span><span class=de>Components</span><span class=fr>Composantes</span><span class=ru>Components</span>:</span><div class="col-12 center pad-l-sm"><input type=text name=attr_components class=no-border placeholder="V S M" accept=Components></div><div class="flex-grow pad-l-sm"><div class="parenthesis-wrapper wrapper-button small-label"><input type=text name=attr_materials class="no-border small-label" accept=Material></div></div></div><div class=shaped-row><span class="bold mar-r-sm"><span class=en>Duration</span><span class=de>Duration</span><span class=fr>Durée</span><span class=ru>Duration</span>:</span><div class="flex-grow center pad-l-sm"><input type=text name=attr_duration class=no-border placeholder=Instantaneous accept=Duration></div><div class=flex-grow><input type=checkbox name=attr_concentration class=toggle-spells-concentration value=Yes accept=Concentration><span class=toggle-spells-concentration><span class=en>Concentration</span><span class=de>Concentration</span><span class=fr>Concentration</span><span class=ru>Concentration</span></span></div></div><div class=shaped-row><span class="bold mar-r-sm"><span class=en>Target</span><span class=de>Target</span><span class=fr>Cible</span><span class=ru>Target</span>:</span><div class="flex-grow center pad-l-sm"><input type=text name=attr_target class=no-border placeholder="one creature" accept=Target></div></div><div class="shaped-row relative mar-t-sm"><input type=hidden name=attr_content_toggle_var value="{{content=@{content}}}"> <input type=checkbox name=attr_content_toggle value=@{content_toggle_var} class="attack-toggle col-04 absolute" checked><div class=col-04></div><div class="col-16 bold italic"><span class=en>Content</span><span class=de>Content</span><span class=fr>Contenu</span><span class=ru>Content</span>.</div><div class="col-80 attack-toggle"><textarea name=attr_content class=three-line-textarea accept=Content></textarea></div></div><input type=hidden name=attr_attack_formula><div class="shaped-row relative mar-t-sm"><input type=hidden name=attr_roll_toggle_var value="{{roll_toggle=1}} {{vs_ac=1}} {{roll1=[[d20cs>@{crit_range}@{d20_mod} + @{attack_formula}]]}} @{roll_setting}cs>@{crit_range}@{d20_mod} + @{attack_formula}]]}} {{targetAC=@{attacks_vs_target_ac}}}"> <input type=checkbox name=attr_roll_toggle value=@{roll_toggle_var} class="attack-toggle col-04 absolute"><div class=col-04></div><div class="col-16 bold italic"><span class=en>Attack</span><span class=de>Attack</span><span class=fr>Attaque</span><span class=ru>Attack</span>.</div><div class="col-80 attack-toggle"><div class=shaped-row><div class="col-12 center pad-r-sm"><input type=checkbox name=attr_proficiency checked><div class=small-label><span class=en>Prof</span><span class=de>Prof</span><span class=fr>Maît</span><span class=ru>Prof</span></div></div><div class="col-20 center pad-r-sm"><span class=en><select name=attr_attack_ability><option value=0>—</option><option value=@{finesse_mod}>Finesse</option><option value=@{strength_mod}>Str</option><option value=@{dexterity_mod}>Dex</option><option value=@{constitution_mod}>Con</option><option value=@{intelligence_mod}>Int</option><option value=@{wisdom_mod}>Wis</option><option value=@{charisma_mod}>Cha</option></select></span> <span class=de><select name=attr_attack_ability><option value=0>—</option><option value=@{finesse_mod}>Finesse</option><option value=@{strength_mod}>Str</option><option value=@{dexterity_mod}>Ges</option><option value=@{constitution_mod}>Kon</option><option value=@{intelligence_mod}>Int</option><option value=@{wisdom_mod}>Wei</option><option value=@{charisma_mod}>Cha</option></select></span> <span class=fr><select name=attr_attack_ability><option value=0>—</option><option value=@{finesse_mod}>Finesse</option><option value=@{strength_mod}>For</option><option value=@{dexterity_mod}>Dex</option><option value=@{constitution_mod}>Con</option><option value=@{intelligence_mod}>Int</option><option value=@{wisdom_mod}>Sag</option><option value=@{charisma_mod}>Cha</option></select></span> <span class=ru><select name=attr_attack_ability><option value=0>—</option><option value=@{finesse_mod}>Фехтовальное</option><option value=@{strength_mod}>Сил</option><option value=@{dexterity_mod}>Лов</option><option value=@{constitution_mod}>Тел</option><option value=@{intelligence_mod}>Инт</option><option value=@{wisdom_mod}>Муд</option><option value=@{charisma_mod}>Хар</option></select></span></div><div class="col-03 center">+</div><div class="col-15 center pad-r-sm"><input type=number name=attr_attack_bonus class=center value=0></div><div class="col-20 center pad-l-sm"><input type=number name=attr_crit_range class=center value=20 step=1 min=1 max=20><div class=small-label><span class=en>Crit range</span><span class=de>Crit range</span><span class=fr>Coup Crit</span><span class=ru>Crit range</span></div></div></div></div></div><div class="shaped-row relative mar-t-sm"><input type=hidden name=attr_saving_throw_toggle_var value="{{saving_throw_condition=@{saving_throw_condition}}} {{saving_throw_dc=@{saving_throw_dc}}} {{saving_throw_vs_ability=@{saving_throw_vs_ability}}} {{saving_throw_failure=@{saving_throw_failure}}} {{saving_throw_success=@{saving_throw_success}}}"> <input type=checkbox name=attr_saving_throw_toggle value=@{saving_throw_toggle_var} class="attack-toggle col-04 absolute"><div class=col-04></div><div class="col-16 bold italic"><span class=en>Saving throw</span><span class=de>Saving throw</span><span class=fr>Jet de sauv</span><span class=ru>Saving throw</span>.</div><div class="col-80 attack-toggle"><div><textarea class=xs-textarea name=attr_saving_throw_condition placeholder="if the target is.."></textarea></div><div class="shaped-row vert-center"><div class="col-15 center"><span class=en><select name=attr_saving_throw_ability><option value=0>—</option><option value=@{strength_mod} selected>Str</option><option value=@{dexterity_mod}>Dex</option><option value=@{constitution_mod}>Con</option><option value=@{intelligence_mod}>Int</option><option value=@{wisdom_mod}>Wis</option><option value=@{charisma_mod}>Cha</option></select></span> <span class=de><select name=attr_saving_throw_ability><option value=0>—</option><option value=@{strength_mod} selected>Str</option><option value=@{dexterity_mod}>Ges</option><option value=@{constitution_mod}>Kon</option><option value=@{intelligence_mod}>Int</option><option value=@{wisdom_mod}>Wei</option><option value=@{charisma_mod}>Cha</option></select></span> <span class=fr><select name=attr_saving_throw_ability><option value=0>—</option><option value=@{strength_mod} selected>For</option><option value=@{dexterity_mod}>Dex</option><option value=@{constitution_mod}>Con</option><option value=@{intelligence_mod}>Int</option><option value=@{wisdom_mod}>Sag</option><option value=@{charisma_mod}>Cha</option></select></span> <span class=ru><select name=attr_saving_throw_ability><option value=0>—</option><option value=@{strength_mod} selected>Сил</option><option value=@{dexterity_mod}>Лов</option><option value=@{constitution_mod}>Тел</option><option value=@{intelligence_mod}>Инт</option><option value=@{wisdom_mod}>Муд</option><option value=@{charisma_mod}>Хар</option></select></span></div><div class="col-03 center">+</div><div class="col-15 center pad-r-sm"><input type=number name=attr_saving_throw_bonus value=0></div><div class="col-03 center"><span>=</span></div><div class="col-08 center pad-l-sm"><span class=en>DC</span><span class=de>DC</span><span class=fr>DD</span><span class=ru>DC</span></div><div class="col-09 center pad-l-sm pad-r-sm"><input type=number name=attr_saving_throw_dc readonly></div><div class="col-15 center"><span class=en><select name=attr_saving_throw_vs_ability accept=Save><option value=Strength>Str</option><option value=Dexterity>Dex</option><option value=Constitution>Con</option><option value=Intelligence>Int</option><option value=Wisdom>Wis</option><option value=Charisma>Cha</option></select></span> <span class=de><select name=attr_saving_throw_vs_ability accept=Save><option value=Strength>Str</option><option value=Dexterity>Ges</option><option value=Constitution>Kon</option><option value=Intelligence>Int</option><option value=Wisdom>Wei</option><option value=Charisma>Cha</option></select></span> <span class=fr><select name=attr_saving_throw_vs_ability accept=Save><option value=Strength>For</option><option value=Dexterity>Dex</option><option value=Constitution>Con</option><option value=Intelligence>Int</option><option value=Wisdom>Sag</option><option value=Charisma>Cha</option></select></span> <span class=ru><select name=attr_saving_throw_vs_ability accept=Save><option value=Strength>Сил</option><option value=Dexterity>Лов</option><option value=Constitution>Тел</option><option value=Intelligence>Инт</option><option value=Wisdom>Муд</option><option value=Charisma>Хар</option></select></span></div></div><div><textarea class=xs-textarea name=attr_saving_throw_failure placeholder=or..></textarea></div><div><textarea class=xs-textarea name=attr_saving_throw_success placeholder="half damage" accept="Save Success"></textarea></div></div></div><input type=hidden name=attr_damage_formula><div class="shaped-row relative mar-t-sm"><input type=hidden name=attr_damage_toggle_var value="{{damage=[[@{damage_formula}]]}} {{damage_type=@{damage_type}}} {{crit_damage=[[0d0 + @{damage} + @{damage_crit}[crit damage]]]}}"> <input type=checkbox name=attr_damage_toggle value=@{damage_toggle_var} class="attack-toggle col-04 absolute"><div class=col-04></div><div class="col-16 bold italic"><span class=en>Damage</span><span class=de>Damage</span><span class=fr>Dégâts</span><span class=ru>Damage</span>.</div><div class="col-80 attack-toggle"><div class=shaped-row><div class="col-12 center pad-r-sm"><input type=text name=attr_damage class=center value=0 accept=Damage></div><div class="col-03 center">+</div><div class="col-22 center pad-r-sm"><span class=en><select name=attr_damage_ability><option value=0 selected>—</option><option value=@{finesse_mod}>Finesse</option><option value=@{strength_mod}>Str</option><option value=@{dexterity_mod}>Dex</option><option value=@{constitution_mod}>Con</option><option value=@{intelligence_mod}>Int</option><option value=@{wisdom_mod}>Wis</option><option value=@{charisma_mod}>Cha</option></select></span> <span class=de><select name=attr_damage_ability><option value=0 selected>—</option><option value=@{finesse_mod}>Finesse</option><option value=@{strength_mod}>Str</option><option value=@{dexterity_mod}>Ges</option><option value=@{constitution_mod}>Kon</option><option value=@{intelligence_mod}>Int</option><option value=@{wisdom_mod}>Wei</option><option value=@{charisma_mod}>Cha</option></select></span> <span class=fr><select name=attr_damage_ability><option value=0 selected>—</option><option value=@{finesse_mod}>Finesse</option><option value=@{strength_mod}>For</option><option value=@{dexterity_mod}>Dex</option><option value=@{constitution_mod}>Con</option><option value=@{intelligence_mod}>Int</option><option value=@{wisdom_mod}>Sag</option><option value=@{charisma_mod}>Cha</option></select></span> <span class=ru><select name=attr_damage_ability><option value=0 selected>—</option><option value=@{finesse_mod}>Фехтовальное</option><option value=@{strength_mod}>Сил</option><option value=@{dexterity_mod}>Лов</option><option value=@{constitution_mod}>Тел</option><option value=@{intelligence_mod}>Инт</option><option value=@{wisdom_mod}>Муд</option><option value=@{charisma_mod}>Хар</option></select></span></div><div class="col-03 center">+</div><div class="col-15 center pad-r-sm"><input type=number name=attr_damage_bonus value=0></div><div class="col-30 center pad-r-sm"><input type=text name=attr_damage_type class=center placeholder="damage type" accept="Damage Type"></div><div class="col-15 center pad-l-sm"><input type=text name=attr_damage_crit class=center><div class=small-label><span class=en>Crit</span><span class=de>Crit</span><span class=fr>Crit</span><span class=ru>Crit</span></div></div></div></div></div><input type=hidden name=attr_second_damage_formula><div class="shaped-row relative mar-t-sm"><input type=hidden name=attr_second_damage_toggle_var value="{{second_damage=[[@{second_damage_formula}]]}} {{second_damage_type=@{second_damage_type}}} {{second_crit_damage=[[0d0 + @{second_damage} + @{second_damage_crit}[crit damage]]]}}"> <input type=checkbox name=attr_second_damage_toggle value=@{second_damage_toggle_var} class="attack-toggle col-04 absolute"><div class=col-04></div><div class="col-16 bold italic"><span class=en>Damage</span><span class=de>Damage</span><span class=fr>Dégâts</span><span class=ru>Damage</span>.</div><div class="col-80 attack-toggle"><div class=shaped-row><div class="col-14 center pad-r-sm"><input type=text name=attr_second_damage class=center value=0 accept="Secondary Damage"></div><div class="col-03 center">+</div><div class="col-20 center pad-r-sm"><span class=en><select name=attr_second_damage_ability><option value=0>—</option><option value=@{finesse_mod}>Finesse</option><option value=@{strength_mod}>Str</option><option value=@{dexterity_mod}>Dex</option><option value=@{constitution_mod}>Con</option><option value=@{intelligence_mod}>Int</option><option value=@{wisdom_mod}>Wis</option><option value=@{charisma_mod}>Cha</option></select></span> <span class=de><select name=attr_second_damage_ability><option value=0>—</option><option value=@{finesse_mod}>Finesse</option><option value=@{strength_mod}>Str</option><option value=@{dexterity_mod}>Ges</option><option value=@{constitution_mod}>Kon</option><option value=@{intelligence_mod}>Int</option><option value=@{wisdom_mod}>Wei</option><option value=@{charisma_mod}>Cha</option></select></span> <span class=fr><select name=attr_second_damage_ability><option value=0>—</option><option value=@{finesse_mod}>Finesse</option><option value=@{strength_mod}>For</option><option value=@{dexterity_mod}>Dex</option><option value=@{constitution_mod}>Con</option><option value=@{intelligence_mod}>Int</option><option value=@{wisdom_mod}>Sag</option><option value=@{charisma_mod}>Cha</option></select></span> <span class=ru><select name=attr_second_damage_ability><option value=0>—</option><option value=@{finesse_mod}>Фехтовальное</option><option value=@{strength_mod}>Сил</option><option value=@{dexterity_mod}>Лов</option><option value=@{constitution_mod}>Тел</option><option value=@{intelligence_mod}>Инт</option><option value=@{wisdom_mod}>Муд</option><option value=@{charisma_mod}>Хар</option></select></span></div><div class="col-03 center">+</div><div class="col-15 center pad-r-sm"><input type=number name=attr_second_damage_bonus value=0></div><div class="col-30 center pad-r-sm"><input type=text name=attr_second_damage_type class=center placeholder=fire accept="Secondary Damage Type"></div><div class="col-15 center pad-l-sm"><input type=text name=attr_second_damage_crit class=center><div class=small-label><span class=en>Crit</span><span class=de>Crit</span><span class=fr>Crit</span><span class=ru>Crit</span></div></div></div></div></div><input type=hidden name=attr_heal_formula><div class="shaped-row relative mar-t-sm"><input type=hidden name=attr_heal_toggle_var value=" {{heal=[[@{heal_formula}]]}}"> <input type=checkbox name=attr_heal_toggle value=@{heal_toggle_var} class="attack-toggle col-04 absolute"><div class=col-04></div><div class="col-16 bold italic"><span class=en>Heal</span><span class=de>Heal</span><span class=fr>Soins</span><span class=ru>Heal</span>.</div><div class="col-80 attack-toggle"><div class=shaped-row><div class="col-12 center pad-r-sm"><input type=text name=attr_heal class=center value=0 accept=Healing></div><div class="col-03 center">+</div><div class="col-22 center pad-r-sm"><span class=en><select name=attr_heal_ability><option value=0 selected>—</option><option value=@{strength_mod}>Str</option><option value=@{dexterity_mod}>Dex</option><option value=@{constitution_mod}>Con</option><option value=@{intelligence_mod}>Int</option><option value=@{wisdom_mod}>Wis</option><option value=@{charisma_mod}>Cha</option></select></span> <span class=de><select name=attr_heal_ability><option value=0 selected>—</option><option value=@{strength_mod}>Str</option><option value=@{dexterity_mod}>Ges</option><option value=@{constitution_mod}>Kon</option><option value=@{intelligence_mod}>Int</option><option value=@{wisdom_mod}>Wei</option><option value=@{charisma_mod}>Cha</option></select></span> <span class=fr><select name=attr_heal_ability><option value=0 selected>—</option><option value=@{strength_mod}>For</option><option value=@{dexterity_mod}>Dex</option><option value=@{constitution_mod}>Con</option><option value=@{intelligence_mod}>Int</option><option value=@{wisdom_mod}>Sag</option><option value=@{charisma_mod}>Cha</option></select></span> <span class=ru><select name=attr_heal_ability><option value=0 selected>—</option><option value=@{strength_mod}>Сил</option><option value=@{dexterity_mod}>Лов</option><option value=@{constitution_mod}>Тел</option><option value=@{intelligence_mod}>Инт</option><option value=@{wisdom_mod}>Муд</option><option value=@{charisma_mod}>Хар</option></select></span></div><div class="col-03 center">+</div><div class="col-15 center pad-r-sm"><input type=number name=attr_heal_bonus value=0></div></div></div></div><div class="shaped-row relative mar-t-sm"><input type=hidden name=attr_higher_level_query> <input type=hidden name=attr_higher_level_toggle_var value="{{cast_as_level=@{higher_level_query}}}"> <input type=checkbox name=attr_higher_level_toggle value=@{higher_level_toggle_var} class="attack-toggle col-04 absolute"><div class=col-04></div><div class="col-16 bold italic"><span class=en>Higher level</span><span class=de>Higher level</span><span class=fr>Niveau Sup</span><span class=ru>Higher level</span>.</div><div class="col-80 attack-toggle"><div class=shaped-row><div class="col-12 center pad-r-sm"><input type=number name=attr_higher_level_dice value=0 accept="Higher Spell Slot Dice"><div class=small-label><span class=en>Dice</span><span class=de>Dice</span><span class=fr>Dés</span><span class=ru>Dice</span></div></div><div class="col-12 border-right center pad-l-sm pad-r-sm"><select name=attr_higher_level_die accept="Higher Spell Slot Die"><option value=d0>—</option><option>d2</option><option>d4</option><option>d6</option><option>d8</option><option>d10</option><option>d12</option><option>d20</option></select><div class=small-label><span class=en>Die</span><span class=de>Die</span><span class=fr>Dé</span><span class=ru>Die</span></div></div><div class="col-12 center pad-l-sm pad-r-sm"><input type=number name=attr_second_higher_level_dice value=0 accept="Secondary Higher Spell Slot Dice"><div class=small-label><span class=en>2nd</span><span class=de>2nd</span><span class=fr>2ème</span><span class=ru>2nd</span> <span class=en>Dice</span><span class=de>Dice</span><span class=fr>Dés</span><span class=ru>Dice</span></div></div><div class="col-12 border-right center pad-l-sm pad-r-sm"><select name=attr_second_higher_level_die accept="Secondary Higher Spell Slot Die"><option value=d0>—</option><option>d2</option><option>d4</option><option>d6</option><option>d8</option><option>d10</option><option>d12</option><option>d20</option></select><div class=small-label><span class=en>2nd</span><span class=de>2nd</span><span class=fr>2ème</span><span class=ru>2nd</span> <span class=en>Die</span><span class=de>Die</span><span class=fr>Dé</span><span class=ru>Die</span></div></div><div class="col-12 center pad-l-sm"><input type=text name=attr_higher_level_heal class=center value=0 accept="Higher Level Healing"><div class=small-label><span class=en>Flat heal</span><span class=de>Flat heal</span><span class=fr>Bonus soin</span><span class=ru>Flat heal</span></div></div></div></div></div><div class="shaped-row relative mar-t-sm"><input type=hidden name=attr_extas_var value="{{emote=@{emote}}} {{freetext=@{freetext}}} @{freeform}"> <input type=checkbox name=attr_extras_toggle value=@{extas_var} class="attack-toggle col-04 absolute"><div class=col-04></div><div class="col-16 bold italic"><span class=en>Extras</span><span class=de>Extras</span><span class=fr>Extras</span><span class=ru>Extras</span>.</div><div class="col-80 attack-toggle"><div class=center><textarea class=xs-textarea name=attr_emote></textarea><div class=small-label><span class=en>Emote</span><span class=de>Emote</span><span class=fr>Emote</span><span class=ru>Emote</span></div></div><div class="center mar-t-sm"><textarea class=two-line-textarea name=attr_freetext></textarea><div class=small-label><span class=en>Freetext</span><span class=de>Freetext</span><span class=fr>Texte supplémentaire</span><span class=ru>Freetext</span></div></div><div class="center mar-t-sm"><textarea class=two-line-textarea name=attr_freeform></textarea><div class=small-label><span class=en>Freeform</span><span class=de>Freeform</span><span class=fr>Entrée supplémentaire</span><span class=ru>Freeform</span></div></div></div></div></div></div></fieldset><div class="wrap-box-title center"><span class=en>Spells</span><span class=de>Spells</span><span class=fr>Sorts</span><span class=ru>Магия</span></div></div></div><div class="col-18 spell-slots-points right pad-l-lg"><div class="spell-slots-points wrap-box center mar-b-smd"><input type=checkbox name=attr_spell_slots_toggle class=toggle-spell-slots checked><span class=toggle-spell-slots><span class=en>Spell slots</span><span class=de>Zauberslots</span><span class=fr>Emplacement</span><span class=ru>Spell slots</span></span> <input type=checkbox name=attr_spell_points_toggle class=toggle-spell-points><span class=toggle-spell-points><span class=en>Spell points</span><span class=de>Zauberpunkte</span><span class=fr>Points</span><span class=ru>Spell points</span></span><div class=spell-slots><div class="shaped-row spell-level-1 center vert-center"><div class="col-20 center"><span class=en>1st</span><span class=de>1st</span><span class=fr>1er</span><span class=ru>1st</span></div><div class=col-25><input type=number name=attr_spell_slots_l1 value=0></div><div class="col-08 center pad-l-sm pad-r-sm">/</div><div class=col-20><input type=number name=attr_spell_slots_l1_max readonly></div></div><div class="shaped-row spell-level-2 center vert-center"><div class="col-20 center"><span class=en>2nd</span><span class=de>2nd</span><span class=fr>2ème</span><span class=ru>2nd</span></div><div class=col-25><input type=number name=attr_spell_slots_l2 value=0></div><div class="col-08 center pad-l-sm pad-r-sm">/</div><div class=col-20><input type=number name=attr_spell_slots_l2_max readonly></div></div><div class="shaped-row spell-level-3 center vert-center"><div class="col-20 center"><span class=en>3rd</span><span class=de>3rd</span><span class=fr>3ème</span><span class=ru>3rd</span></div><div class=col-25><input type=number name=attr_spell_slots_l3 value=0></div><div class="col-08 center pad-l-sm pad-r-sm">/</div><div class=col-20><input type=number name=attr_spell_slots_l3_max readonly></div></div><div class="shaped-row spell-level-4 center vert-center"><div class="col-20 center"><span class=en>4th</span><span class=de>4th</span><span class=fr>4ème</span><span class=ru>4th</span></div><div class=col-25><input type=number name=attr_spell_slots_l4 value=0></div><div class="col-08 center pad-l-sm pad-r-sm">/</div><div class=col-20><input type=number name=attr_spell_slots_l4_max readonly></div></div><div class="shaped-row spell-level-5 center vert-center"><div class="col-20 center"><span class=en>5th</span><span class=de>5th</span><span class=fr>5ème</span><span class=ru>5th</span></div><div class=col-25><input type=number name=attr_spell_slots_l5 value=0></div><div class="col-08 center pad-l-sm pad-r-sm">/</div><div class=col-20><input type=number name=attr_spell_slots_l5_max readonly></div></div><div class="shaped-row spell-level-6 center vert-center"><div class="col-20 center"><span class=en>6th</span><span class=de>6th</span><span class=fr>6ème</span><span class=ru>6th</span></div><div class=col-25><input type=number name=attr_spell_slots_l6 value=0></div><div class="col-08 center pad-l-sm pad-r-sm">/</div><div class=col-20><input type=number name=attr_spell_slots_l6_max readonly></div></div><div class="shaped-row spell-level-7 center vert-center"><div class="col-20 center"><span class=en>7th</span><span class=de>7th</span><span class=fr>7ème</span><span class=ru>7th</span></div><div class=col-25><input type=number name=attr_spell_slots_l7 value=0></div><div class="col-08 center pad-l-sm pad-r-sm">/</div><div class=col-20><input type=number name=attr_spell_slots_l7_max readonly></div></div><div class="shaped-row spell-level-8 center vert-center"><div class="col-20 center"><span class=en>8th</span><span class=de>8th</span><span class=fr>8ème</span><span class=ru>8th</span></div><div class=col-25><input type=number name=attr_spell_slots_l8 value=0></div><div class="col-08 center pad-l-sm pad-r-sm">/</div><div class=col-20><input type=number name=attr_spell_slots_l8_max readonly></div></div><div class="shaped-row spell-level-9 center vert-center"><div class="col-20 center"><span class=en>9th</span><span class=de>9th</span><span class=fr>9ème</span><span class=ru>9th</span></div><div class=col-25><input type=number name=attr_spell_slots_l9 value=0></div><div class="col-08 center pad-l-sm pad-r-sm">/</div><div class=col-20><input type=number name=attr_spell_slots_l9_max readonly></div></div><div class="wrap-box-title center"><span class=spell-slots><span class=en>Spell slots</span><span class=de>Spell slots</span><span class=fr>Emplacement de sort</span><span class=ru>Spell slots</span></span></div></div><div class=spell-points><div class="shaped-row spell-level-1 center vert-center"><div class="col-20 center"><span class=en>1st</span><span class=de>1st</span><span class=fr>1er</span><span class=ru>1st</span></div><div class="col-20 center pad-l-sm"><span>2</span></div></div><div class="shaped-row spell-level-2 center vert-center"><div class="col-20 center"><span class=en>2nd</span><span class=de>2nd</span><span class=fr>2ème</span><span class=ru>2nd</span></div><div class="col-20 center pad-l-sm"><span>3</span></div></div><div class="shaped-row spell-level-3 center vert-center"><div class="col-20 center"><span class=en>3rd</span><span class=de>3rd</span><span class=fr>3ème</span><span class=ru>3rd</span></div><div class="col-20 center pad-l-sm"><span>5</span></div></div><div class="shaped-row spell-level-4 center vert-center"><div class="col-20 center"><span class=en>4th</span><span class=de>4th</span><span class=fr>4ème</span><span class=ru>4th</span></div><div class="col-20 center pad-l-sm"><span>6</span></div></div><div class="shaped-row spell-level-5 center vert-center"><div class="col-20 center"><span class=en>5th</span><span class=de>5th</span><span class=fr>5ème</span><span class=ru>5th</span></div><div class="col-20 center pad-l-sm"><span>7</span></div></div><div class="shaped-row spell-level-6 center vert-center"><div class="col-20 center"><span class=en>6th</span><span class=de>6th</span><span class=fr>6ème</span><span class=ru>6th</span></div><div class="col-20 center pad-l-sm"><span>9</span></div></div><div class="shaped-row spell-level-7 center vert-center"><div class="col-20 center"><span class=en>7th</span><span class=de>7th</span><span class=fr>7ème</span><span class=ru>7th</span></div><div class="col-20 center pad-l-sm"><span>10</span></div></div><div class="shaped-row spell-level-8 center vert-center"><div class="col-20 center"><span class=en>8th</span><span class=de>8th</span><span class=fr>8ème</span><span class=ru>8th</span></div><div class="col-20 center pad-l-sm"><span>11</span></div></div><div class="shaped-row spell-level-9 center vert-center"><div class="col-20 center"><span class=en>9th</span><span class=de>9th</span><span class=fr>9ème</span><span class=ru>9th</span></div><div class="col-20 center pad-l-sm"><span>13</span></div></div><div class="shaped-row center no-background"><div class="col-35 center pad-r-sm"><input type=number name=attr_spell_points value=0></div><div class="col-05 center">/</div><div class="col-35 center pad-l-sm"><input type=number name=attr_spell_points_max value=0 min=0></div></div><div class="wrap-box-title center"><span class=spell-points><span class=en>Spell points</span><span class=de>Spell points</span><span class=fr>Points de sort</span><span class=ru>Spell points</span></span></div></div></div><div class="spell-sorcery-points mar-b-smd"><div class="wrap-box relative"><div class=tooltip-position-wrapper><div class=tooltip><div class="tooltip-toggle-text center">?</div><div class="tooltip-content-left small-label"><span class=en>Recharges on a long rest (4 recharge on a short rest if lvl 20)</span><span class=de>Recharges on a long rest (4 recharge on a short rest if lvl 20)</span><span class=fr>Recharge après un repos long (4 recharges après un repos court au niv 20).</span><span class=ru>Recharges on a long rest (4 recharge on a short rest if lvl 20)</span></div></div></div><div class="shaped-row vert-center"><div class="col-47 center pad-r-sm"><input type=number name=attr_sorcery_points value=0 min=0 step=1></div><div class="col-06 center">/</div><div class="col-47 center pad-l-sm"><input type=number name=attr_sorcery_points_max readonly></div></div><div class="wrap-box-title center"><span class=en>Sorcery Points</span><span class=de>Sorcery Points</span><span class=fr>Points de Sorcelerie</span><span class=ru>Sorcery Points</span></div></div></div><div class="spell-warlock-slots mar-b-smd"><div class="wrap-box relative"><div class="col tooltip-position-wrapper"><div class=tooltip><div class="tooltip-toggle-text center">?</div><div class="tooltip-content-left small-label"><span class=en>Recharges on a long or short rest and are all of the same level</span><span class=de>Recharges on a long or short rest and are all of the same level</span><span class=fr>Recharge après un repos court ou long et ont tous le même niveau</span><span class=ru>Recharges on a long or short rest and are all of the same level</span></div></div></div><div class="shaped-row relative"><div class="col-100 center"><div class="shaped-row vert-center"><div class="col-47 pad-r-sm"><input type=number name=attr_warlock_spell_slots value=0 min=0 step=1></div><div class="col-06 center">/</div><div class="col-47 pad-l-sm"><input type=number name=attr_warlock_spell_slots_max readonly></div></div></div></div><div class="wrap-box-title center"><span class=en>Warlock spell slots</span><span class=de>Warlock spell slots</span><span class=fr>Emplacement de sort (Sorcier)</span><span class=ru>Warlock spell slots</span></div></div></div><div class="general-bonuses center mar-b-smd"><div class=wrap-box><div class="wrap-box-label sheet-light-label center"><span class=en>Spellcasting</span><span class=de>Spellcasting</span><span class=fr>Lancement de sort</span><span class=ru>Spellcasting</span></div><div class="shaped-row mar-b-sm"><div class="col-22 center pad-r-sm"><input type=text name=attr_global_spell_attack_bonus class=center value=0><div class=small-label><span class=en>ATK</span><span class=de>ATK</span><span class=fr>ATQ</span><span class=ru>ATK</span></div></div><div class="col-22 center"><input type=text name=attr_global_spell_damage_bonus class=center value=0><div class=small-label><span class=en>DMG</span><span class=de>DMG</span><span class=fr>DMG</span><span class=ru>DMG</span></div></div><div class="col-34 center pad-l-sm"><input type=text name=attr_global_spell_dc_bonus class=center value=0><div class=small-label><span class=en>Saving DC</span><span class=de>Saving DC</span><span class=fr>DD de sauv</span><span class=ru>Saving DC</span></div></div><div class="col-22 center pad-l-sm"><input type=text name=attr_global_spell_heal_bonus class=center value=0><div class=small-label><span class=en>Heal</span><span class=de>Heal</span><span class=fr>Soins</span><span class=ru>Heal</span></div></div></div><div class=wrap-box-title><span class=en>Bonuses & Penalties</span><span class=de>Boni & Mali</span><span class=fr>Bonus & Malus</span><span class=ru>Bonuses & Penalties</span></div></div></div><div class="shaped-row center"><div class=col-50><div class="wrap-box relative"><div class=tooltip-position-wrapper><div class=tooltip><div class="tooltip-toggle-text center">?</div><div class="tooltip-content-left small-label"><span class=en>This will set the ability for saving throw DCs when importing a Spell or Attack. If "Add Casting Modifier" is also set on the importing item it will apply to the damage ability or heal ability as well.</span><span class=de>This will set the ability for saving throw DCs when importing a Spell or Attack. If "Add Casting Modifier" is also set on the importing item it will apply to the damage ability or heal ability as well.</span><span class=fr>Ceci ajoutera automatiquement la caractéristique pour déterminer le DD de sauvegarde lors de l'importation d'un sort ou d'une attaque. Si "Ajoutez la carac de lancement de sort" est également activé sur l'objet importé, la caractéristique de dégâts ou de soins changera en conséquence.</span><span class=ru>This will set the ability for saving throw DCs when importing a Spell or Attack. If "Add Casting Modifier" is also set on the importing item it will apply to the damage ability or heal ability as well.</span></div></div></div><span class=en><select name=attr_default_ability><option value=0>—</option><option value=@{finesse_mod}>Finesse</option><option value=@{strength_mod}>Str</option><option value=@{dexterity_mod}>Dex</option><option value=@{constitution_mod}>Con</option><option value=@{intelligence_mod}>Int</option><option value=@{wisdom_mod}>Wis</option><option value=@{charisma_mod}>Cha</option></select></span> <span class=de><select name=attr_default_ability><option value=0>—</option><option value=@{finesse_mod}>Finesse</option><option value=@{strength_mod}>Str</option><option value=@{dexterity_mod}>Ges</option><option value=@{constitution_mod}>Kon</option><option value=@{intelligence_mod}>Int</option><option value=@{wisdom_mod}>Wei</option><option value=@{charisma_mod}>Cha</option></select></span> <span class=fr><select name=attr_default_ability><option value=0>—</option><option value=@{finesse_mod}>Finesse</option><option value=@{strength_mod}>For</option><option value=@{dexterity_mod}>Dex</option><option value=@{constitution_mod}>Con</option><option value=@{intelligence_mod}>Int</option><option value=@{wisdom_mod}>Sag</option><option value=@{charisma_mod}>Cha</option></select></span> <span class=ru><select name=attr_default_ability><option value=0>—</option><option value=@{finesse_mod}>Фехтовальное</option><option value=@{strength_mod}>Сил</option><option value=@{dexterity_mod}>Лов</option><option value=@{constitution_mod}>Тел</option><option value=@{intelligence_mod}>Инт</option><option value=@{wisdom_mod}>Муд</option><option value=@{charisma_mod}>Хар</option></select></span><div class="wrap-box-title center"><span class=en>Default ability</span><span class=de>Default ability</span><span class=fr>Carac par défaut</span><span class=ru>Default ability</span></div></div></div></div></div></div></div><div class="section-equipment pc"><div class="shaped-row mar-b-smd"><div class="col-66 pad-r-md"><div class=wrap-box><div class=shaped-row><div class="col-04 small-label"></div><div class="col-26 wrap-box-label light-label pad-r-sm"><span class=en>Armor</span><span class=de>Armor</span><span class=fr>Armure</span><span class=ru>Доспехи</span></div><div class="col-17 wrap-box-label light-label center pad-r-sm"><span class=en>Type</span><span class=de>Type</span><span class=fr>Type</span><span class=ru>Тип</span></div><div class="col-05 wrap-box-label light-label center"><span class=en>AC</span><span class=de>AC</span><span class=fr>CA</span><span class=ru>КБ</span></div><div class=col-02></div><div class="col-08 wrap-box-label light-label center"><span class=en>Bonus</span><span class=de>Bonus</span><span class=fr>Bonus</span><span class=ru>Бонус</span></div><div class=col-02></div><div class="col-06 wrap-box-label light-label center"><span class=en>Total</span><span class=de>Total</span><span class=fr>Total</span><span class=ru>Всего</span></div><div class="col-11 wrap-box-label light-label pad-l-md"><span class=en>Strength</span><span class=de>Strength</span><span class=fr>Force</span><span class=ru>Сила</span></div><div class="col-10 wrap-box-label light-label center pad-l-md"><span class=en>Stealth</span><span class=de>[object Object]</span><span class=fr>Discrétion</span><span class=ru>Stealth</span></div><div class="col-09 wrap-box-label light-label center pad-l-md"><span class=en>Weight</span><span class=de>Weight</span><span class=fr>Poids</span><span class=ru>Вес</span></div></div><fieldset class=repeating_armor><div class="shaped-row compendium-drop-target vert-center"><input type=hidden name=attr_modifiers accept=Modifiers><div class="col-04 center"><input type=checkbox name=attr_worn checked></div><div class="col-26 pad-r-sm"><input type=text name=attr_name accept=Name></div><div class="col-17 center pad-r-sm"><span class=en><select name=attr_type accept="Item Type"><option value="Light Armor">Light Armor</option><option value="Medium Armor">Medium Armor</option><option value="Heavy Armor">Heavy Armor</option><option value="Armor + Dex">Armor + Dex</option><option value=Armored>Other Armor</option><option value=Shield>Shield</option><option value=AC>Armored and Unarmored</option><option value=Unarmored>Unarmored</option></select></span> <span class=de><select name=attr_type accept="Item Type"><option value="Light Armor">Light Armor</option><option value="Medium Armor">Medium Armor</option><option value="Heavy Armor">Heavy Armor</option><option value="Armor + Dex">Armor + Dex</option><option value=Armored>Other Armor</option><option value=Shield>Shield</option><option value=AC>Armored and Unarmored</option><option value=Unarmored>Unarmored</option></select></span> <span class=fr><select name=attr_type accept="Item Type"><option value="Light Armor">Armure Légère</option><option value="Medium Armor">Armure Intermédiaire</option><option value="Heavy Armor">Armure Lourde</option><option value="Armor + Dex">Armure + Dex</option><option value=Armored>Autre type d'Armure</option><option value=Shield>Bouclier</option><option value=AC>Bonus avec et sans armure</option><option value=Unarmored>Pas une armure</option></select></span> <span class=ru><select name=attr_type accept="Item Type"><option value="Light Armor">Light Armor</option><option value="Medium Armor">Medium Armor</option><option value="Heavy Armor">Heavy Armor</option><option value="Armor + Dex">Armor + Dex</option><option value=Armored>Other Armor</option><option value=Shield>Shield</option><option value=AC>Armored and Unarmored</option><option value=Unarmored>Unarmored</option></select></span></div><div class="col-05 center"><input type=number name=attr_ac_base class=no-spin value=0 step=1 accept=AC></div><div class="col-02 center">+</div><div class="col-08 center"><input type=number name=attr_ac_bonus class=no-spin value=0 step=1></div><div class="col-02 center">=</div><div class="col-06 center"><input type=number name=attr_ac_total class=no-spin readonly></div><div class="col-11 pad-l-md"><span class=en><select name=attr_strength_requirements><option value=no>—</option><option>Str 13</option><option>Str 15</option></select></span> <span class=de><select name=attr_strength_requirements><option value=no>—</option><option>Stä 13</option><option>Stä 15</option></select></span> <span class=fr><select name=attr_strength_requirements><option value=no>—</option><option>For 13</option><option>For 15</option></select></span> <span class=ru><select name=attr_strength_requirements><option value=no>—</option><option>Сил 13</option><option>Сил 15</option></select></span></div><div class="col-10 center pad-l-md"><input type=checkbox name=attr_stealth value=Disadvantage accept=Stealth></div><div class="col-09 center pad-l-md"><input type=number name=attr_weight class=no-spin step=1 accept=Weight></div></div></fieldset><div class="shaped-row center pad-t-md pad-b-md"><div class="col-12 center pad-r-md"><input type=number name=attr_ac_armored_calc class=no-spin readonly><div class=small-label><span class=en>Armored AC</span><span class=de>Armored AC</span><span class=fr>CA (armure)</span><span class=ru>КБ (в доспехах)</span></div></div><div class="col-12 center pad-r-md"><span class=en><select name=attr_ac_unarmored_ability><option value=0 selected>—</option><option value=@{strength_mod}>Str</option><option value=@{dexterity_mod}>Dex</option><option value=@{constitution_mod}>Con</option><option value=@{intelligence_mod}>Int</option><option value=@{wisdom_mod}>Wis</option><option value=@{charisma_mod}>Cha</option></select></span> <span class=de><select name=attr_ac_unarmored_ability><option value=0 selected>—</option><option value=@{strength_mod}>Str</option><option value=@{dexterity_mod}>Ges</option><option value=@{constitution_mod}>Kon</option><option value=@{intelligence_mod}>Int</option><option value=@{wisdom_mod}>Wei</option><option value=@{charisma_mod}>Cha</option></select></span> <span class=fr><select name=attr_ac_unarmored_ability><option value=0 selected>—</option><option value=@{strength_mod}>For</option><option value=@{dexterity_mod}>Dex</option><option value=@{constitution_mod}>Con</option><option value=@{intelligence_mod}>Int</option><option value=@{wisdom_mod}>Sag</option><option value=@{charisma_mod}>Cha</option></select></span> <span class=ru><select name=attr_ac_unarmored_ability><option value=0 selected>—</option><option value=@{strength_mod}>Сил</option><option value=@{dexterity_mod}>Лов</option><option value=@{constitution_mod}>Тел</option><option value=@{intelligence_mod}>Инт</option><option value=@{wisdom_mod}>Муд</option><option value=@{charisma_mod}>Хар</option></select></span><div class=small-label><span class=en>Unarmored ability</span><span class=de>Unarmored ability</span><span class=fr>Bonus de carac (CA sans armure)</span><span class=ru>Unarmored ability</span></div></div><div class="col-12 center pad-r-md"><input type=number name=attr_ac_unarmored_calc class=no-spin readonly><div class=small-label><span class=en>Unarmored AC</span><span class=de>Unarmored AC</span><span class=fr>CA (sans armure)</span><span class=ru>КБ (без доспехов)</span></div></div><div class="col-15 center bold"><button type=roll name=roll_ac value="@{output_option} &{template:5e-shaped} {{character_name=@{character_name}}} @{show_character_name} {{title=AC}} {{text_big=[[@{ac}]]}}"><div class=shield><input type=number name=attr_ac class="no-spin no-border" readonly><div class=wrap-box-title><span class=en>Armor Class</span><span class=de>Armor Class</span><span class=fr>Armure</span><span class=ru>Класс Брони</span></div></div></button></div></div><div class="wrap-box-title center"><span class=en>Armor</span><span class=de>Armor</span><span class=fr>Armure</span><span class=ru>Доспехи</span></div></div></div><div class="col-34 pad-r-sm"><div class=shaped-row><div class="col-50 pad-r-sm"><div class=wrap-box><div class="shaped-row vert-center"><div class="col-50 small-label"><span class=en>Attacks</span><span class=de>Attacks</span><span class=fr>Attaques</span><span class=ru>Нападки</span></div><div class=col-50><input type=number name=attr_weight_attacks readonly></div></div><div class="shaped-row vert-center"><div class="col-50 small-label"><span class=en>Armor</span><span class=de>Armor</span><span class=fr>Armure</span><span class=ru>Доспехи</span></div><div class=col-50><input type=number name=attr_weight_armor readonly></div></div><div class="shaped-row vert-center"><div class="col-50 small-label"><span class=en>Equipment</span><span class=de>Equipment</span><span class=fr>Équipement</span><span class=ru>Equipment</span></div><div class=col-50><input type=number name=attr_weight_equipment readonly></div></div><div class="shaped-row vert-center"><div class="col-50 small-label"><span class=en>Coinage</span><span class=de>Coinage</span><span class=fr>Monnaie</span><span class=ru>чеканка монет</span></div><div class=col-50><input type=number name=attr_weight_coinage readonly></div></div><div class="shaped-row vert-center"><div class="col-50 small-label"><span class=en>Misc</span><span class=de>Misc</span><span class=fr>Autre</span><span class=ru>Misc</span></div><div class=col-50><input type=number name=attr_weight_misc class=no-spin value=0 step=0.01></div></div><div class="shaped-row vert-center"><div class="col-50 small-label"><span class=en>Total</span><span class=de>Total</span><span class=fr>Total</span><span class=ru>Всего</span></div><div class=col-50><input type=number name=attr_weight_total readonly></div></div><div class="wrap-box-title center"><span class=en>Weight</span><span class=de>Weight</span><span class=fr>Poids</span><span class=ru>Вес</span></div></div></div><div class="col-50 pad-l-sm"><div class=wrap-box><div class=shaped-row><div class="col-80 small-label"><span class=en>Carrying capacity</span><span class=de>Carrying capacity</span><span class=fr>Capacité de charge</span><span class=ru>Грузоподъемность</span></div><div class=col-20><input type=number name=attr_carrying_capacity readonly></div></div><div class=shaped-row><div class="col-80 small-label"><span class=en>Push/Drag/Lift</span><span class=de>Push/Drag/Lift</span><span class=fr>Pousse/Tire/Lève</span><span class=ru>Можно поднять\перенести</span></div><div class=col-20><input type=number name=attr_max_push_drag_lift readonly></div></div><div class=shaped-row><div class="col-80 small-label"><span class=en>Encumbered</span><span class=de>Encumbered</span><span class=fr>Encombré</span><span class=ru>Перегрузка</span></div><div class=col-20><input type=number name=attr_encumbered readonly></div></div><div class=shaped-row><div class="col-80 small-label"><span class=en>H. Encumbered</span><span class=de>H. Encumbered</span><span class=fr>L. Encombré</span><span class=ru>Сил.Перегрузка</span></div><div class=col-20><input type=number name=attr_heavily_encumbered readonly></div></div><div class="wrap-box-title center"><span class=en>Weight</span><span class=de>Weight</span><span class=fr>Poids</span><span class=ru>Вес</span></div></div></div></div></div></div><div class=wrap-box><div class=shaped-row><div class="col-09 pad-r-lg"><div class="wrap-box coin shaped-row relative mar-t-md"><div class=col-35><button type=roll name=roll_coinage_cp class=wrapper-button value="@{output_option} &{template:5e-shaped} {{character_name=@{character_name}}} @{show_character_name} {{title=Copper Pieces}} {{text_big=[[@{cp}]]}}" tabindex=-1><div class=light-label><span class=en>CP</span><span class=de>KM</span><span class=fr>PC</span><span class=ru>ММ</span></div></button></div><div class=col-65><input type=number name=attr_cp class=no-spin value=0 min=0 step=1></div></div><div class="wrap-box coin shaped-row relative mar-t-lg"><div class=col-35><button type=roll name=roll_coinage_sp class=wrapper-button value="@{output_option} &{template:5e-shaped} {{character_name=@{character_name}}} @{show_character_name} {{title=Silver Pieces}} {{text_big=[[@{sp}]]}}" tabindex=-1><div class=light-label><span class=en>SP</span><span class=de>SM</span><span class=fr>PA</span><span class=ru>СМ</span></div></button></div><div class=col-65><input type=number name=attr_sp class=no-spin value=0 min=0 step=1></div></div><div class="wrap-box coin shaped-row relative mar-t-lg"><div class=col-35><button type=roll name=roll_coinage_ep class=wrapper-button value="@{output_option} &{template:5e-shaped} {{character_name=@{character_name}}} @{show_character_name} {{title=Electrum Pieces}} {{text_big=[[@{ep}]]}}" tabindex=-1><div class=light-label><span class=en>EP</span><span class=de>EM</span><span class=fr>PE</span><span class=ru>ЭМ</span></div></button></div><div class=col-65><input type=number name=attr_ep class=no-spin value=0 min=0 step=1></div></div><div class="wrap-box coin shaped-row relative mar-t-lg"><div class="col-35 label"><button type=roll name=roll_coinage_gp class=wrapper-button value="@{output_option} &{template:5e-shaped} {{character_name=@{character_name}}} @{show_character_name} {{title=Gold Pieces}} {{text_big=[[@{gp}]]}}" tabindex=-1><div class=light-label><span class=en>GP</span><span class=de>GM</span><span class=fr>PO</span><span class=ru>ЗМ</span></div></button></div><div class=col-65><input type=number name=attr_gp class=no-spin value=0 min=0 step=1></div></div><div class="wrap-box coin shaped-row relative mar-t-lg"><div class=col-35><button type=roll name=roll_coinage_pp class=wrapper-button value="@{output_option} &{template:5e-shaped} {{character_name=@{character_name}}} @{show_character_name} {{title=Platinum Pieces}} {{text_big=[[@{pp}]]}}" tabindex=-1><div class=light-label><span class=en>PP</span><span class=de>PM</span><span class=fr>PP</span><span class=ru>ПМ</span></div></button></div><div class=col-65><input type=number name=attr_pp class=no-spin value=0 min=0 step=1></div></div><div class="wrap-box coin shaped-row relative mar-t-lg"><div class=col-35><button type=roll name=roll_coinage_total_gp class=wrapper-button value="@{output_option} &{template:5e-shaped} {{character_name=@{character_name}}} @{show_character_name} {{title=Total Gold Value}} {{text_big=[[@{total_gp}]]}}" tabindex=-1><div class="light-label bold"><span class=en>GP</span><span class=de>GM</span><span class=fr>PO</span><span class=ru>ЗМ</span></div></button></div><div class=col-65><input type=number name=attr_total_gp class=bold value=0 readonly></div></div></div><div class="col-91 pad-l-lg"><div class=shaped-row><div class=col-04></div><div class="col-25 wrap-box-label light-label pad-r-sm"><span class=en>Equipment</span><span class=de>Equipment</span><span class=fr>Équipement</span><span class=ru>Equipment</span></div><div class="col-45 wrap-box-label light-label pad-r-sm"><span class=en>Content</span><span class=de>Content</span><span class=fr>Contenu</span><span class=ru>Content</span></div><div class="col-08 wrap-box-label light-label center"><span class=en>Qty</span><span class=de>Qty</span><span class=fr>Qté</span><span class=ru>Клво</span></div><div class=col-01></div><div class="col-08 wrap-box-label light-label center"><span class=en>Weight</span><span class=de>Weight</span><span class=fr>Poids</span><span class=ru>Вес</span></div><div class=col-01></div><div class="col-08 wrap-box-label light-label center"><span class=en>Total</span><span class=de>Total</span><span class=fr>Total</span><span class=ru>Всего</span></div></div><fieldset class=repeating_equipment><div class="shaped-row compendium-drop-target vert-center"><div class="col-04 center"><input type=checkbox name=attr_carried checked></div><div class="col-25 pad-r-sm"><input type=text name=attr_name accept=Name></div><div class="col-45 pad-r-sm"><textarea name=attr_content class=xs-textarea accept=Content></textarea></div><div class="col-08 center"><input type=number name=attr_qty value=1 min=0 step=1></div><div class="col-01 center">×</div><div class="col-08 center"><input type=number name=attr_weight value=0 step=0.01 accept=Weight></div><div class="col-01 center">=</div><div class="col-08 center"><input type=number name=attr_weight_total readonly></div></div></fieldset><hr><div class="shaped-row vert-center mar-t-md"><div class=col-04></div><div class="col-25 wrap-box-label light-label pad-r-sm"><span class=en>Attack</span><span class=de>Attack</span><span class=fr>Attaque</span><span class=ru>Attack</span></div><div class=col-36></div><div class="col-08 wrap-box-label light-label center"><span class=en>Weight</span><span class=de>Weight</span><span class=fr>Poids</span><span class=ru>Вес</span></div><div class=col-01></div><div class="col-08 wrap-box-label light-label center"><span class=en>Ammo</span><span class=de>Ammo</span><span class=fr>Mun</span><span class=ru>Ammo</span></div><div class=col-01></div><div class="col-08 wrap-box-label light-label center"><span class=en>Ammo weight</span><span class=de>Ammo weight</span><span class=fr>Poids des mun</span><span class=ru>Ammo weight</span></div><div class=col-01></div><div class="col-08 wrap-box-label light-label center"><span class=en>Total</span><span class=de>Total</span><span class=fr>Total</span><span class=ru>Всего</span></div></div><fieldset class=repeating_attack><div class="shaped-row compendium-drop-target vert-center"><input type=hidden name=attr_type accept="Item Type"> <input type=hidden name=attr_modifiers accept=Modifiers> <input type=hidden name=attr_properties accept=Properties> <input type=hidden name=attr_damage_type accept="Damage Type"> <input type=hidden name=attr_damage accept=Damage> <input type=hidden name=attr_second_damage accept="Secondary Damage"> <input type=hidden name=attr_range accept=Range><div class="col-04 center"><input type=checkbox name=attr_carried checked></div><div class=col-25><input type=text name=attr_name placeholder=name accept=Name></div><div class=col-36></div><div class="col-08 center"><input type=number name=attr_weight value=0 step=.25 accept=Weight></div><div class="col-01 center">+</div><div class="col-08 center"><input type=number name=attr_ammo></div><div class="col-01 center">×</div><div class="col-08 center"><input type=number name=attr_ammo_weight step=.01></div><div class="col-01 center">=</div><div class="col-08 center"><input type=number name=attr_weight_total readonly></div></div></fieldset></div></div><div class="wrap-box-title center"><span class=en>Equipment</span><span class=de>Equipment</span><span class=fr>Équipement</span><span class=ru>Equipment</span></div></div></div><div class="section-resources pc"><div class="wrap-box pc mar-b-smd"><fieldset class=repeating_resource><div class="resource relative mar-b-sm"><div class="shaped-row vert-center"><div class="col-58 pad-r-sm"><button type=roll name=roll_resource class=wrapper-button value="@{output_option} &{template:5e-shaped} {{character_name=@{character_name}}} @{show_character_name} {{title=@{name} (@{uses}/@{uses|max})}} {{recharge=@{recharge}}} @{heal_toggle} @{extras_toggle}"><div><input type=text name=attr_name readonly></div></button></div><div class="col-14 center"><input type=number name=attr_uses class=no-spin></div><div class="col-04 center">/</div><div class="col-14 center"><input type=number name=attr_uses_max class=no-spin></div></div><input type=checkbox name=attr_toggle_details class=toggle-icon-settings checked><span class="sheet-toggle-icon-settings pictos">y</span><div class=details><div class="shaped-row vert-center"><div class="col-58 pad-r-sm"><input type=text name=attr_name></div><div class="col-42 center"><span class=en><select name=attr_recharge><option value=None>—</option><option value="Short Rest">Short Rest</option><option value="Long rest">Long Rest</option><option value=Other>Other</option></select></span> <span class=de><select name=attr_recharge><option value=None>—</option><option value="Short Rest">Short Rest</option><option value="Long rest">Long Rest</option><option value=Other>Other</option></select></span> <span class=fr><select name=attr_recharge><option value=None>—</option><option value="Short Rest">Repos Court</option><option value="Long rest">Repos Long</option><option value=Other>Autre</option></select></span> <span class=ru><select name=attr_recharge><option value=None>—</option><option value="Short Rest">Short Rest</option><option value="Long rest">Long Rest</option><option value=Other>Other</option></select></span></div></div><div class="shaped-row relative mar-t-sm"><input type=hidden name=attr_heal_var value=" {{heal=[[0d0 + @{heal}[heal] + @{heal_ability}[ability] + @{heal_query_toggle}[query amount]]]}}"> <input type=checkbox name=attr_heal_toggle value=@{heal_var} class="attack-toggle absolute"><div class=col-10></div><div class="col-30 bold italic"><span class=en>Heal</span><span class=de>Heal</span><span class=fr>Soins</span><span class=ru>Heal</span>.</div><div class="col-100 attack-toggle"><div class="shaped-row vert-center"><div class=col-42><input type=text name=attr_heal value=0 class=center></div><div class="pad-l-sm pad-r-sm">+</div><div class=col-22><span class=en><select name=attr_heal_ability><option value=0 selected>—</option><option value=@{strength_mod}>Str</option><option value=@{dexterity_mod}>Dex</option><option value=@{constitution_mod}>Con</option><option value=@{intelligence_mod}>Int</option><option value=@{wisdom_mod}>Wis</option><option value=@{charisma_mod}>Cha</option></select></span> <span class=de><select name=attr_heal_ability><option value=0 selected>—</option><option value=@{strength_mod}>Str</option><option value=@{dexterity_mod}>Ges</option><option value=@{constitution_mod}>Kon</option><option value=@{intelligence_mod}>Int</option><option value=@{wisdom_mod}>Wei</option><option value=@{charisma_mod}>Cha</option></select></span> <span class=fr><select name=attr_heal_ability><option value=0 selected>—</option><option value=@{strength_mod}>For</option><option value=@{dexterity_mod}>Dex</option><option value=@{constitution_mod}>Con</option><option value=@{intelligence_mod}>Int</option><option value=@{wisdom_mod}>Sag</option><option value=@{charisma_mod}>Cha</option></select></span> <span class=ru><select name=attr_heal_ability><option value=0 selected>—</option><option value=@{strength_mod}>Сил</option><option value=@{dexterity_mod}>Лов</option><option value=@{constitution_mod}>Тел</option><option value=@{intelligence_mod}>Инт</option><option value=@{wisdom_mod}>Муд</option><option value=@{charisma_mod}>Хар</option></select></span></div><div class="col-26 center"><input type=hidden name=attr_heal_query value="?{Heal Bonus Amount|}"> <input type=checkbox name=attr_heal_query_toggle value=@{heal_query} class=toggle-query><span class=toggle-query><span class=en>Query</span><span class=de>Query</span><span class=fr>Varie</span><span class=ru>Query</span></span></div></div></div></div><div class="shaped-row relative mar-t-sm"><input type=hidden name=attr_extras_var value="{{freetext=@{freetext}}} @{freeform}"> <input type=checkbox name=attr_extras_toggle value=@{extras_var} class="attack-toggle absolute"><div class=col-10></div><div class="col-30 bold italic"><span class=en>Extras</span><span class=de>Extras</span><span class=fr>Extras</span><span class=ru>Extras</span>.</div><div class="col-100 attack-toggle"><div class=center><textarea name=attr_freetext class=one-line-textarea></textarea><div class=small-label><span class=en>Freetext</span><span class=de>Freetext</span><span class=fr>Texte supplémentaire</span><span class=ru>Freetext</span></div></div><div class="center mar-t-sm"><textarea name=attr_freeform class=one-line-textarea></textarea><div class=small-label><span class=en>Freeform</span><span class=de>Freeform</span><span class=fr>Entrée supplémentaire</span><span class=ru>Freeform</span></div></div></div></div></div></div></fieldset><div class="wrap-box-title center"><span class=en>Resources</span><span class=de>Resources</span><span class=fr>Resources</span><span class=ru>Resources</span></div></div><div class="small-note mar-b-md"><span class=en>Add any class or racial features or abilities you gain in here (or in the large text sections below). Adding them here allows you to use them either as their own macro (by using the roll button on each row), or auto include them as part of a another roll made on the sheet by checking the option in the entry. For example, a rogue may add their sneak attack feature here, and either use it by clicking on the Use button when required, and/or check the boxes to auto include it in melee and ranged weapon macros.</span><span class=de>Add any class or racial features or abilities you gain in here (or in the large text sections below). Adding them here allows you to use them either as their own macro (by using the roll button on each row), or auto include them as part of a another roll made on the sheet by checking the option in the entry. For example, a rogue may add their sneak attack feature here, and either use it by clicking on the Use button when required, and/or check the boxes to auto include it in melee and ranged weapon macros.</span><span class=fr>Ajoutez ici (ou dans la grande zone de texte ci-dessus) toute capacité de classe ou de race que vous possédez. Les ajouter ici vous permet de les utiliser en tant que macros à part entières (en cliquant sur le bouton Jet présent à chaque ligne) ou de les inclure automatiquement dans un autre jet de dés en cochant les options appropriées. Par exemple, un roublard peut ajouter sa capacité d'attaque sournoise ci-dessous, et soit l'utiliser en cliquant sur le bouton Jet quand nécessaire et/ou en cochant les options pour l'inclure automatiquement dans les jets d'armes de mêlée et de tir.</span><span class=ru>Add any class or racial features or abilities you gain in here (or in the large text sections below). Adding them here allows you to use them either as their own macro (by using the roll button on each row), or auto include them as part of a another roll made on the sheet by checking the option in the entry. For example, a rogue may add their sneak attack feature here, and either use it by clicking on the Use button when required, and/or check the boxes to auto include it in melee and ranged weapon macros.</span></div><div class="wrap-box relative pad-r-lg pad-l-lg"><fieldset class=repeating_attacher><div class="shaped-row mar-b-lg"><div class="col-45 pad-r-sm"><div><input type=text class=action-name placeholder=name name=attr_name></div><div class=shaped-row><div class="col-50 center pad-l-sm pad-r-sm"><textarea class=eight-line-textarea name=attr_freetext></textarea><div class=small-label><span class=en>Freetext</span><span class=de>Freetext</span><span class=fr>Texte supplémentaire</span><span class=ru>Freetext</span></div></div><div class="col-50 center pad-l-sm pad-r-sm"><textarea class=eight-line-textarea name=attr_freeform></textarea><div class=small-label><span class=en>Freeform</span><span class=de>Freeform</span><span class=fr>Entrée supplémentaire</span><span class=ru>Freeform</span></div></div></div></div><div class="col-55 pad-l-sm"><div class="shaped-row center"><div class="col-20 wrap-box-label light-label"><span class=en>Ability checks</span><span class=de>Fähigkeitschecks</span><span class=fr>Jet de Carac</span><span class=ru>Ability checks</span></div><div class="col-20 wrap-box-label light-label"><span class=en>Saving throws</span><span class=de>Rettungswürfe</span><span class=fr>Jets de sauvegarde</span><span class=ru>Saving throws</span></div><div class="col-20 wrap-box-label light-label"><span class=en>Misc</span><span class=de>Misc</span><span class=fr>Autre</span><span class=ru>Misc</span></div><div class="col-40 wrap-box-label light-label"><span class=en>Skills</span><span class=de>Skills</span><span class=fr>Compétences</span><span class=ru>Навыки</span></div></div><div class=shaped-row><div class="col-20 pad-l-lg"><div class=zebra-rows><div class="shaped-row mar-r-md"><div class=col-90><span class=en>Strength</span><span class=de>Strength</span><span class=fr>Force</span><span class=ru>Сила</span></div><div class=col-10><input type=checkbox name=attr_strength_check_attacher></div></div><div class="shaped-row mar-r-md"><div class=col-90><span class=en>Dexterity</span><span class=de>Dexterity</span><span class=fr>Dextérité</span><span class=ru>Ловкость</span></div><div class=col-10><input type=checkbox name=attr_dexterity_check_attacher></div></div><div class="shaped-row mar-r-md"><div class=col-90><span class=en>Constitution</span><span class=de>Constitution</span><span class=fr>Constitution</span><span class=ru>Телосложение</span></div><div class=col-10><input type=checkbox name=attr_constitution_check_attacher></div></div><div class="shaped-row mar-r-md"><div class=col-90><span class=en>Intelligence</span><span class=de>Intelligence</span><span class=fr>Intelligence</span><span class=ru>Интеллект</span></div><div class=col-10><input type=checkbox name=attr_intelligence_check_attacher></div></div><div class="shaped-row mar-r-md"><div class=col-90><span class=en>Wisdom</span><span class=de>Wisdom</span><span class=fr>Sagesse</span><span class=ru>Мудрость</span></div><div class=col-10><input type=checkbox name=attr_wisdom_check_attacher></div></div><div class="shaped-row mar-r-md"><div class=col-90><span class=en>Charisma</span><span class=de>Charisma</span><span class=fr>Charisme</span><span class=ru>Харизма</span></div><div class=col-10><input type=checkbox name=attr_charisma_check_attacher></div></div><div class="shaped-row mar-r-md"><div class=col-90><span class=en>Initiative</span><span class=de>Initiative</span><span class=fr>Initiative</span><span class=ru>Initiative</span></div><div class=col-10><input type=checkbox name=attr_initiative_attacher></div></div></div></div><div class="col-20 pad-l-lg"><div class=zebra-rows><div class="shaped-row mar-r-md"><div class=col-90><span class=en>Strength</span><span class=de>Strength</span><span class=fr>Force</span><span class=ru>Сила</span></div><div class=col-10><input type=checkbox name=attr_strength_saving_throw_attacher></div></div><div class="shaped-row mar-r-md"><div class=col-90><span class=en>Dexterity</span><span class=de>Dexterity</span><span class=fr>Dextérité</span><span class=ru>Ловкость</span></div><div class=col-10><input type=checkbox name=attr_dexterity_saving_throw_attacher></div></div><div class="shaped-row mar-r-md"><div class=col-90><span class=en>Constitution</span><span class=de>Constitution</span><span class=fr>Constitution</span><span class=ru>Телосложение</span></div><div class=col-10><input type=checkbox name=attr_constitution_saving_throw_attacher></div></div><div class="shaped-row mar-r-md"><div class=col-90><span class=en>Intelligence</span><span class=de>Intelligence</span><span class=fr>Intelligence</span><span class=ru>Интеллект</span></div><div class=col-10><input type=checkbox name=attr_intelligence_saving_throw_attacher></div></div><div class="shaped-row mar-r-md"><div class=col-90><span class=en>Wisdom</span><span class=de>Wisdom</span><span class=fr>Sagesse</span><span class=ru>Мудрость</span></div><div class=col-10><input type=checkbox name=attr_wisdom_saving_throw_attacher></div></div><div class="shaped-row mar-r-md"><div class=col-90><span class=en>Charisma</span><span class=de>Charisma</span><span class=fr>Charisme</span><span class=ru>Харизма</span></div><div class=col-10><input type=checkbox name=attr_charisma_saving_throw_attacher></div></div><div class="shaped-row mar-r-md"><div class=col-90><span class=en>Death saves</span><span class=de>Todesrettungswürfe</span><span class=fr>Sauv contre la mort</span><span class=ru>Death saves</span></div><div class=col-10><input type=checkbox name=attr_death_saving_throw_attacher></div></div></div></div><div class="col-20 pad-l-lg"><div class=zebra-rows><div class="shaped-row mar-r-md"><div class=col-90><span class=en>Hit dice</span><span class=de>Hit dice</span><span class=fr>Dés de Vie</span><span class=ru>Кость Хитов</span></div><div class=col-10><input type=checkbox name=attr_hit_dice_attacher></div></div><div class="shaped-row mar-r-md"><div class=col-90><span class=en>Attack</span><span class=de>Attack</span><span class=fr>Attaque</span><span class=ru>Attack</span></div><div class=col-10><input type=checkbox name=attr_attack_attacher></div></div><div class="shaped-row mar-r-md"><div class=col-90><span class=en>Spell</span><span class=de>Spell</span><span class=fr>Sort</span><span class=ru>Spell</span></div><div class=col-10><input type=checkbox name=attr_spell_attacher></div></div><div class="shaped-row mar-r-md"><div class=col-90><span class=en>Skill</span><span class=de>Skill</span><span class=fr>Compétence</span><span class=ru>Skill</span></div><div class=col-10><input type=checkbox name=attr_skill_attacher></div></div></div></div></div></div></div></fieldset><div class="wrap-box-title center"><span class=en>Attachers</span><span class=de>Attachers</span><span class=fr>Attaches</span><span class=ru>Attachers</span></div></div><input type=hidden name=attr_attacher_strength_saving_throw> <input type=hidden name=attr_attacher_dexterity_saving_throw> <input type=hidden name=attr_attacher_constitution_saving_throw> <input type=hidden name=attr_attacher_intelligence_saving_throw> <input type=hidden name=attr_attacher_wisdom_saving_throw> <input type=hidden name=attr_attacher_charisma_saving_throw> <input type=hidden name=attr_attacher_death_saving_throw> <input type=hidden name=attr_attacher_strength_check> <input type=hidden name=attr_attacher_dexterity_check> <input type=hidden name=attr_attacher_constitution_check> <input type=hidden name=attr_attacher_intelligence_check> <input type=hidden name=attr_attacher_wisdom_check> <input type=hidden name=attr_attacher_charisma_check> <input type=hidden name=attr_attacher_initiative> <input type=hidden name=attr_attacher_hit_dice> <input type=hidden name=attr_attacher_attack> <input type=hidden name=attr_attacher_spell> <input type=hidden name=attr_attacher_skill></div><div class="section-character pc"><div class="shaped-row mar-b-smd"><input type=hidden attr=attr_caster_level><div class="col-70 pad-r-sm"><div class="wrap-box mar-b-smd"><input type=hidden name=attr_level><div class="shaped-row vert-center"><div class="col-12 wrap-box-label light-label center pad-r-sm"><span class=en>Class</span><span class=de>Class</span><span class=fr>Classe</span><span class=ru>Class</span></div><div class="col-10 wrap-box-label light-label center pad-l-sm pad-r-sm"><span class=en>Level</span><span class=de>Level</span><span class=fr>Niveau</span><span class=ru>Уровень</span></div><div class="col-10 wrap-box-label light-label center pad-l-sm pad-r-sm"><span class=en>Hit dice</span><span class=de>Hit dice</span><span class=fr>Dés de Vie</span><span class=ru>Кость Хитов</span></div><div class="col-30 wrap-box-label light-label center pad-l-sm"><span class=en>Spellcasting</span><span class=de>Spellcasting</span><span class=fr>Lancement de sort</span><span class=ru>Spellcasting</span></div><div class="col-20 wrap-box-label light-label center pad-l-sm pad-r-sm"><span class=en>Custom name</span><span class=de>Custom name</span><span class=fr>Nom perso</span><span class=ru>Custom name</span></div></div><fieldset class=repeating_class><div class="shaped-row vert-center"><div class="col-12 pad-r-sm"><span class=en><select name=attr_name><option value=barbarian>Barbarian</option><option value=bard>Bard</option><option value=cleric>Cleric</option><option value=druid>Druid</option><option value=fighter>Fighter</option><option value=monk>Monk</option><option value=paladin>Paladin</option><option value=ranger>Ranger</option><option value=rogue>Rogue</option><option value=sorcerer>Sorcerer</option><option value=warlock>Warlock</option><option value=wizard>Wizard</option><option value=custom>Custom</option></select></span> <span class=de><select name=attr_name><option value=barbarian>Barbarian</option><option value=bard>Barde</option><option value=cleric>Kleriker</option><option value=druid>Druide</option><option value=fighter>Fighter</option><option value=monk>Monk</option><option value=paladin>Paladin</option><option value=ranger>Waldläufer</option><option value=rogue>Rogue</option><option value=sorcerer>Hexenmeister</option><option value=warlock>Hexer</option><option value=wizard>Zauberer</option><option value=custom>Andere</option></select></span> <span class=fr><select name=attr_name><option value=barbarian>Barbare</option><option value=bard>Barde</option><option value=cleric>Clerc</option><option value=druid>Druide</option><option value=fighter>Guerrier</option><option value=monk>Moine</option><option value=paladin>Paladin</option><option value=ranger>Rôdeur</option><option value=rogue>Roublard</option><option value=sorcerer>Ensorceleur</option><option value=warlock>Sorcier</option><option value=wizard>Magicien</option><option value=custom>Autre</option></select></span> <span class=ru><select name=attr_name><option value=barbarian>Варвар</option><option value=bard>Бард</option><option value=cleric>Жрец</option><option value=druid>Друид</option><option value=fighter>Воин</option><option value=monk>Монах</option><option value=paladin>Паладин</option><option value=ranger>Следопыт</option><option value=rogue>Плут</option><option value=sorcerer>Чародей</option><option value=warlock>Колдун</option><option value=wizard>Волшебник</option><option value=custom>Другое</option></select></span></div><div class="col-10 pad-l-sm pad-r-sm"><input type=number name=attr_level class=center></div><div class="col-10 pad-l-sm pad-r-sm"><select name=attr_hd><option value=d0>—</option><option>d2</option><option>d4</option><option>d6</option><option>d8</option><option>d10</option><option selected>d12</option><option>d20</option></select></div><div class="col-30 pad-l-sm"><span class=en><select name=attr_spellcasting><option value=none>—</option><option value=full>Full (9th level: Cleric, Druid, Sorcerer, Wizard)</option><option value=half>Half (5th level: Paladin, Ranger)</option><option value=third>Third (3rd level: Arcane Archetypes)</option><option value=warlock>Warlock</option></select></span> <span class=de><select name=attr_spellcasting><option value=none>—</option><option value=full>Full (9th level: Cleric, Druid, Sorcerer, Wizard)</option><option value=half>Half (5th level: Paladin, Ranger)</option><option value=third>Third (3rd level: Arcane Archetypes)</option><option value=warlock>Warlock</option></select></span> <span class=fr><select name=attr_spellcasting><option value=none>—</option><option value=full>Total (9ème niveau: Clerc, Druide, Ensorceleur, Magicien)</option><option value=half>Moitié (5ème niveau: Paladin, Rôdeur)</option><option value=third>Tiers (3ème niveau: Archetypes d'Arcane)</option><option value=warlock>Sorcier</option></select></span> <span class=ru><select name=attr_spellcasting><option value=none>—</option><option value=full>Full (9th level: Cleric, Druid, Sorcerer, Wizard)</option><option value=half>Half (5th level: Paladin, Ranger)</option><option value=third>Third (3rd level: Arcane Archetypes)</option><option value=warlock>Warlock</option></select></span></div><div class="col-20 pad-l-sm pad-r-sm"><input type=checkbox name=attr_custom_class_toggle class="toggle-custom-class hidden"> <input type=text name=attr_custom_name class=custom-class></div></div></fieldset><div class="wrap-box-title center"><span class=en>Class levels</span><span class=de>Class levels</span><span class=fr>Niveaux de classe</span><span class=ru>Class levels</span></div></div><div class="col-12 float-right mar-b-smd mar-r-sm"><div class="wrap-box relative"><div class=tooltip-position-wrapper><div class=tooltip><div class="tooltip-toggle-text center">?</div><div class="tooltip-content-left small-label"><span class=en>This will set the ability for saving throw DCs when importing a Spell or Attack. If "Add Casting Modifier" is also set on the importing item it will apply to the damage ability or heal ability as well.</span><span class=de>This will set the ability for saving throw DCs when importing a Spell or Attack. If "Add Casting Modifier" is also set on the importing item it will apply to the damage ability or heal ability as well.</span><span class=fr>Ceci ajoutera automatiquement la caractéristique pour déterminer le DD de sauvegarde lors de l'importation d'un sort ou d'une attaque. Si "Ajoutez la carac de lancement de sort" est également activé sur l'objet importé, la caractéristique de dégâts ou de soins changera en conséquence.</span><span class=ru>This will set the ability for saving throw DCs when importing a Spell or Attack. If "Add Casting Modifier" is also set on the importing item it will apply to the damage ability or heal ability as well.</span></div></div></div><span class=en><select name=attr_default_ability><option value=0>—</option><option value=@{finesse_mod}>Finesse</option><option value=@{strength_mod}>Str</option><option value=@{dexterity_mod}>Dex</option><option value=@{constitution_mod}>Con</option><option value=@{intelligence_mod}>Int</option><option value=@{wisdom_mod}>Wis</option><option value=@{charisma_mod}>Cha</option></select></span> <span class=de><select name=attr_default_ability><option value=0>—</option><option value=@{finesse_mod}>Finesse</option><option value=@{strength_mod}>Str</option><option value=@{dexterity_mod}>Ges</option><option value=@{constitution_mod}>Kon</option><option value=@{intelligence_mod}>Int</option><option value=@{wisdom_mod}>Wei</option><option value=@{charisma_mod}>Cha</option></select></span> <span class=fr><select name=attr_default_ability><option value=0>—</option><option value=@{finesse_mod}>Finesse</option><option value=@{strength_mod}>For</option><option value=@{dexterity_mod}>Dex</option><option value=@{constitution_mod}>Con</option><option value=@{intelligence_mod}>Int</option><option value=@{wisdom_mod}>Sag</option><option value=@{charisma_mod}>Cha</option></select></span> <span class=ru><select name=attr_default_ability><option value=0>—</option><option value=@{finesse_mod}>Фехтовальное</option><option value=@{strength_mod}>Сил</option><option value=@{dexterity_mod}>Лов</option><option value=@{constitution_mod}>Тел</option><option value=@{intelligence_mod}>Инт</option><option value=@{wisdom_mod}>Муд</option><option value=@{charisma_mod}>Хар</option></select></span><div class="wrap-box-title center"><span class=en>Default ability</span><span class=de>Default ability</span><span class=fr>Carac par défaut</span><span class=ru>Default ability</span></div></div></div></div><div class="col-30 pad-l-sm"><div class="wrap-box spell-slots"><div class="shaped-row center vert-center"><div class="col-20 wrap-box-label light-label center pad-r-md"><span class=en>Level</span><span class=de>Level</span><span class=fr>Niveau</span><span class=ru>Уровень</span></div><div class="col-20 wrap-box-label light-label center"><span class=en>Calc</span><span class=de>Calc</span><span class=fr>Calc</span><span class=ru>Calc</span></div><div class="col-05 wrap-box-label light-label center pad-l-sm pad-r-sm"></div><div class="col-20 wrap-box-label light-label center"><span class=en>Bonus</span><span class=de>Bonus</span><span class=fr>Bonus</span><span class=ru>Бонус</span></div><div class="col-05 center pad-l-sm pad-r-sm"></div><div class="col-20 wrap-box-label light-label center"><span class=en>Max</span><span class=de>Max</span><span class=fr>Max</span><span class=ru>Max</span></div></div><div class="shaped-row center vert-center"><div class="col-20 center pad-r-md"><span class=en>1st</span><span class=de>1st</span><span class=fr>1er</span><span class=ru>1st</span></div><div class=col-20><input type=number name=attr_spell_slots_l1_calc readonly></div><div class="col-05 center pad-l-sm pad-r-sm">+</div><div class=col-20><input type=number name=attr_spell_slots_l1_bonus class=no-spin value=0 min=0></div><div class="col-05 center pad-l-sm pad-r-sm">=</div><div class=col-20><input type=number name=attr_spell_slots_l1_max readonly></div></div><div class="shaped-row center vert-center"><div class="col-20 center pad-r-md"><span class=en>2nd</span><span class=de>2nd</span><span class=fr>2ème</span><span class=ru>2nd</span></div><div class=col-20><input type=number name=attr_spell_slots_l2_calc readonly></div><div class="col-05 center pad-l-sm pad-r-sm">+</div><div class=col-20><input type=number name=attr_spell_slots_l2_bonus class=no-spin value=0 min=0></div><div class="col-05 center pad-l-sm pad-r-sm">=</div><div class=col-20><input type=number name=attr_spell_slots_l2_max readonly></div></div><div class="shaped-row center vert-center"><div class="col-20 center pad-r-md"><span class=en>3rd</span><span class=de>3rd</span><span class=fr>3ème</span><span class=ru>3rd</span></div><div class=col-20><input type=number name=attr_spell_slots_l3_calc readonly></div><div class="col-05 center pad-l-sm pad-r-sm">+</div><div class=col-20><input type=number name=attr_spell_slots_l3_bonus class=no-spin value=0 min=0></div><div class="col-05 center pad-l-sm pad-r-sm">=</div><div class=col-20><input type=number name=attr_spell_slots_l3_max readonly></div></div><div class="shaped-row center vert-center"><div class="col-20 center pad-r-md"><span class=en>4th</span><span class=de>4th</span><span class=fr>4ème</span><span class=ru>4th</span></div><div class=col-20><input type=number name=attr_spell_slots_l4_calc readonly></div><div class="col-05 center pad-l-sm pad-r-sm">+</div><div class=col-20><input type=number name=attr_spell_slots_l4_bonus class=no-spin value=0 min=0></div><div class="col-05 center pad-l-sm pad-r-sm">=</div><div class=col-20><input type=number name=attr_spell_slots_l4_max readonly></div></div><div class="shaped-row center vert-center"><div class="col-20 center pad-r-md"><span class=en>5th</span><span class=de>5th</span><span class=fr>5ème</span><span class=ru>5th</span></div><div class=col-20><input type=number name=attr_spell_slots_l5_calc readonly></div><div class="col-05 center pad-l-sm pad-r-sm">+</div><div class=col-20><input type=number name=attr_spell_slots_l5_bonus class=no-spin value=0 min=0></div><div class="col-05 center pad-l-sm pad-r-sm">=</div><div class=col-20><input type=number name=attr_spell_slots_l5_max readonly></div></div><div class="shaped-row center vert-center"><div class="col-20 center pad-r-md"><span class=en>6th</span><span class=de>6th</span><span class=fr>6ème</span><span class=ru>6th</span></div><div class=col-20><input type=number name=attr_spell_slots_l6_calc readonly></div><div class="col-05 center pad-l-sm pad-r-sm">+</div><div class=col-20><input type=number name=attr_spell_slots_l6_bonus class=no-spin value=0 min=0></div><div class="col-05 center pad-l-sm pad-r-sm">=</div><div class=col-20><input type=number name=attr_spell_slots_l6_max readonly></div></div><div class="shaped-row center vert-center"><div class="col-20 center pad-r-md"><span class=en>7th</span><span class=de>7th</span><span class=fr>7ème</span><span class=ru>7th</span></div><div class=col-20><input type=number name=attr_spell_slots_l7_calc readonly></div><div class="col-05 center pad-l-sm pad-r-sm">+</div><div class=col-20><input type=number name=attr_spell_slots_l7_bonus class=no-spin value=0 min=0></div><div class="col-05 center pad-l-sm pad-r-sm">=</div><div class=col-20><input type=number name=attr_spell_slots_l7_max readonly></div></div><div class="shaped-row center vert-center"><div class="col-20 center pad-r-md"><span class=en>8th</span><span class=de>8th</span><span class=fr>8ème</span><span class=ru>8th</span></div><div class=col-20><input type=number name=attr_spell_slots_l8_calc readonly></div><div class="col-05 center pad-l-sm pad-r-sm">+</div><div class=col-20><input type=number name=attr_spell_slots_l8_bonus class=no-spin value=0 min=0></div><div class="col-05 center pad-l-sm pad-r-sm">=</div><div class=col-20><input type=number name=attr_spell_slots_l8_max readonly></div></div><div class="shaped-row center vert-center"><div class="col-20 center pad-r-md"><span class=en>9th</span><span class=de>9th</span><span class=fr>9ème</span><span class=ru>9th</span></div><div class=col-20><input type=number name=attr_spell_slots_l9_calc readonly></div><div class="col-05 center pad-l-sm pad-r-sm">+</div><div class=col-20><input type=number name=attr_spell_slots_l9_bonus class=no-spin value=0 min=0></div><div class="col-05 center pad-l-sm pad-r-sm">=</div><div class=col-20><input type=number name=attr_spell_slots_l9_max readonly></div></div><div class="wrap-box-title center"><span class=spell-slots><span class=en>Spell slots</span><span class=de>Zauberslots</span><span class=fr>Emplacement</span><span class=ru>Spell slots</span></span></div></div></div></div><div class="wrap-box appearance pc mar-b-smd"><div class="shaped-row mar-b-md"><div class="col-1-8 pad-r-sm"><input type=text name=attr_gender class=center><div class="small-label center"><span class=en>Gender</span><span class=de>Gender</span><span class=fr>Sexe</span><span class=ru>Пол</span></div></div><div class="col-1-8 pad-l-sm pad-r-sm"><input type=text name=attr_size class=center><div class="small-label center"><span class=en>Size</span><span class=de>Size</span><span class=fr>Catégorie de taille</span><span class=ru>Размер</span></div></div><div class="col-1-8 pad-l-sm pad-r-sm"><input type=number name=attr_age class=center><div class="small-label center"><span class=en>Age</span><span class=de>Age</span><span class=fr>Age</span><span class=ru>Возраст</span></div></div><div class="col-1-8 pad-l-sm pad-r-sm"><input type=text name=attr_height class=center><div class="small-label center"><span class=en>Height</span><span class=de>Height</span><span class=fr>Taille</span><span class=ru>Рост</span></div></div><div class="col-1-8 pad-l-sm pad-r-sm"><input type=text name=attr_weight class=center><div class="small-label center"><span class=en>Weight</span><span class=de>Weight</span><span class=fr>Poids</span><span class=ru>Вес</span></div></div><div class="col-1-8 pad-l-sm pad-r-sm"><input type=text name=attr_eyes class=center><div class="small-label center"><span class=en>Eyes</span><span class=de>Eyes</span><span class=fr>Yeux</span><span class=ru>Глаза</span></div></div><div class="col-1-8 pad-l-sm pad-r-sm"><input type=text name=attr_skin class=center><div class="small-label center"><span class=en>Skin</span><span class=de>Skin</span><span class=fr>Peau</span><span class=ru>Кожа</span></div></div><div class="col-1-8 pad-l-sm"><input type=text name=attr_hair class=center><div class="small-label center"><span class=en>Hair</span><span class=de>Hair</span><span class=fr>Cheveux</span><span class=ru>Волосы</span></div></div></div><div class="wrap-box-title center"><span class=en>Appearance</span><span class=de>Appearance</span><span class=fr>Apparence</span><span class=ru>Внешний Вид</span></div></div><div class="shaped-row mar-b-smd"><div class="col-50 pad-r-sm"><div class="wrap-box vision"><div class=shaped-row><div class="col-25 sense relative pad-r-sm"><label class="checkbox-label-sm absolute"><input type=checkbox name=attr_blindsight_blind_beyond><span><span class=en>Blind Beyond</span><span class=de>blind nach</span><span class=fr>Aveugle au-delà</span><span class=ru>Blind Beyond</span></span></label> <input type=text name=attr_blindsight class="center mar-t-md"><div class="small-label center"><span class=en>Blindsight</span><span class=de>Blindsight</span><span class=fr>Vision aveugle</span><span class=ru>Слеповидение</span></div></div><div class="col-25 sense mar-t-md pad-l-sm pad-r-sm"><input type=text name=attr_darkvision class=center><div class="small-label center"><span class=en>Darkvision</span><span class=de>Darkvision</span><span class=fr>Vision dans le noir</span><span class=ru>Темновидение</span></div></div><div class="col-25 sense mar-t-md pad-l-sm pad-r-sm"><input type=text name=attr_tremorsense class=center><div class="small-label center"><span class=en>Tremorsense</span><span class=de>Tremorsense</span><span class=fr>Perception des vibrations</span><span class=ru>Чувство вибрации</span></div></div><div class="col-25 sense mar-t-md pad-l-sm"><input type=text name=attr_truesight class=center><div class="small-label center"><span class=en>Truesight</span><span class=de>Truesight</span><span class=fr>Vision véritable</span><span class=ru>Истинное зрение</span></div></div></div><div class="wrap-box-title center"><span class=en>Vision</span><span class=de>Vision</span><span class=fr>Vision</span><span class=ru>Vision</span></div></div></div><div class="col-50 pad-l-sm"><div class="wrap-box movement"><div class=shaped-row><div class="col-25 speed mar-t-md pad-r-sm"><input type=text name=attr_speed_burrow class=center><div class="small-label center"><span class=en>Burrow</span><span class=de>Burrow</span><span class=fr>Creusement</span><span class=ru>Ползание</span></div></div><div class="col-25 speed mar-t-md pad-l-sm pad-r-sm"><input type=text name=attr_speed_climb class=center><div class="small-label center"><span class=en>Climb</span><span class=de>Klett.</span><span class=fr>Escalade</span><span class=ru>Climb</span></div></div><div class="col-25 speed relative pad-l-sm pad-r-sm"><label class="checkbox-label-sm absolute"><input type=checkbox name=attr_speed_fly_hover><span><span class=en>Hover</span><span class=de>Schweben</span><span class=fr>Plane</span><span class=ru>Hover</span></span></label> <input type=text name=attr_speed_fly class="center mar-t-md"><div class="small-label center"><span class=en>Fly</span><span class=de>Flieg.</span><span class=fr>Vol</span><span class=ru>Fly</span></div></div><div class="col-25 speed mar-t-md pad-l-sm"><input type=text name=attr_speed_swim class=center><div class="small-label center"><span class=en>Swim</span><span class=de>Schwim.</span><span class=fr>Nage</span><span class=ru>Swim</span></div></div></div><div class="wrap-box-title center"><span class=en>Movement</span><span class=de>Movement</span><span class=fr>Mouvement</span><span class=ru>Movement</span></div></div></div></div><div class="wrap-box center mar-b-smd"><input type=hidden attr=attr_jack_of_all_trades> <input type=checkbox name=attr_jack_of_all_trades_toggle value=@{jack_of_all_trades} class=toggle-jack-of-all-trades><span class=toggle-jack-of-all-trades><span class=en>Jack of all trades</span><span class=de>Jack of all trades</span><span class=fr>Touche-à-tout</span><span class=ru>Мастер на все руки</span></span> <input type=hidden name=attr_d20_mod> <input type=checkbox name=attr_halfling_luck class=toggle-halfling-luck><span class=toggle-halfling-luck><span class=en>Halfling Luck</span><span class=de>Halfling Luck</span><span class=fr>Chance (Half)</span><span class=ru>Halfling Luck</span></span><div class=wrap-box-title><span class=en>Features</span><span class=de>Features</span><span class=fr>Capacités spéciales</span><span class=ru>Features</span></div></div><div class="wrap-box center"><textarea name=attr_miscellaneous_notes class=eight-line-textarea></textarea><div class=wrap-box-title><span class=en>Miscellaneous notes</span><span class=de>Miscellaneous notes</span><span class=fr>Autres notes</span><span class=ru>Miscellaneous notes</span></div></div></div><div class=section-settings><div class="wrap-box mar-b-smd"><div class="shaped-row mar-b-md"><div class="col-50 pad-r-lg"><div class="shaped-row vert-center"><div class=col-50><span class=en>Sheet output</span><span class=de>Sheet output</span><span class=fr>Les jets de cette fiche doivent être</span><span class=ru>Sheet output</span></div><div class=col-50><input type=hidden name=attr_output_to_all> <input type=hidden name=attr_output_to_gm value="/w GM"> <span class=en><select name=attr_output_option><option value=@{output_to_all} selected>Public for all to see</option><option value=@{output_to_gm}>Whispered to the GM</option></select></span> <span class=de><select name=attr_output_option><option value=@{output_to_all} selected>Public for all to see</option><option value=@{output_to_gm}>Whispered to the GM</option></select></span> <span class=fr><select name=attr_output_option><option value=@{output_to_all} selected>Affichés pour tout le monde</option><option value=@{output_to_gm}>Chuchotés au MJ</option></select></span> <span class=ru><select name=attr_output_option><option value=@{output_to_all} selected>Всем в кампании</option><option value=@{output_to_gm}>Только для ГМ</option></select></span></div></div><div class="shaped-row vert-center mar-t-md"><div class=col-50><span class=en>Death saving throws output</span><span class=de>Death saving throws output</span><span class=fr>Chuchoter jets contre la mort</span><span class=ru>Death saving throws output</span></div><div class=col-50><span class=en><select name=attr_death_save_output_option class=mar-t-md><option value=@{output_to_all} selected>Public for all to see</option><option value=@{output_to_gm}>Whispered to the GM</option></select></span> <span class=de><select name=attr_death_save_output_option class=mar-t-md><option value=@{output_to_all} selected>Public for all to see</option><option value=@{output_to_gm}>Whispered to the GM</option></select></span> <span class=fr><select name=attr_death_save_output_option class=mar-t-md><option value=@{output_to_all} selected>Affichés pour tout le monde</option><option value=@{output_to_gm}>Chuchoter au MJ</option></select></span> <span class=ru><select name=attr_death_save_output_option class=mar-t-md><option value=@{output_to_all} selected>Всем в кампании</option><option value=@{output_to_gm}>Только для ГМ</option></select></span></div></div><div class="shaped-row vert-center mar-t-md"><div class=col-50><span class=en>Initiative output</span><span class=de>Initiative output</span><span class=fr>Chuchoter l'initiative</span><span class=ru>Initiative output</span></div><div class=col-50><span class=en><select name=attr_initiative_output_option class=mar-t-md><option value=@{output_to_all} selected>Public for all to see</option><option value=@{output_to_gm}>Whispered to the GM</option></select></span> <span class=de><select name=attr_initiative_output_option class=mar-t-md><option value=@{output_to_all} selected>Public for all to see</option><option value=@{output_to_gm}>Whispered to the GM</option></select></span> <span class=fr><select name=attr_initiative_output_option class=mar-t-md><option value=@{output_to_all} selected>Affichés pour tout le monde</option><option value=@{output_to_gm}>Chuchoter au MJ</option></select></span> <span class=ru><select name=attr_initiative_output_option class=mar-t-md><option value=@{output_to_all} selected>Всем в кампании</option><option value=@{output_to_gm}>Только для ГМ</option></select></span></div></div><div class="shaped-row vert-center mar-t-md"><div class=col-50><span class=en>Character Name on all roll templates</span><span class=de>Character Name on all roll templates</span><span class=fr>Nom du perso sur tous les jets</span><span class=ru>Character Name on all roll templates</span></div><div class=col-50><input type=hidden name=attr_show_character_name_no> <input type=hidden name=attr_show_character_name_yes value="{{show_character_name=1}}"> <span class=en><select name=attr_show_character_name class=mar-t-md><option value=@{show_character_name_no} selected>No</option><option value=@{show_character_name_yes}>Yes</option></select></span> <span class=de><select name=attr_show_character_name class=mar-t-md><option value=@{show_character_name_no} selected>No</option><option value=@{show_character_name_yes}>Yes</option></select></span> <span class=fr><select name=attr_show_character_name class=mar-t-md><option value=@{show_character_name_no} selected>Non</option><option value=@{show_character_name_yes}>Oui</option></select></span> <span class=ru><select name=attr_show_character_name class=mar-t-md><option value=@{show_character_name_no} selected>Нет</option><option value=@{show_character_name_yes}>Да</option></select></span></div></div></div><div class=col-50><div class="shaped-row vert-center mar-t-md"><div class=col-50><span class=en>Roll Advantage</span><span class=de>Roll Advantage</span><span class=fr>Jetter l'avantage</span><span class=ru>Roll Advantage</span>:</div><div class=col-50><input type=hidden name=attr_roll_2 value="{{advantage=1}} {{roll2=[[d20"> <input type=hidden name=attr_advantage_query value="?{Advantage?|Normal Roll,{{only_roll_1=1}} {{ignore=|Advantage,{{advantage=1}} {{roll2=[[1d20|Disadvantage,{{disadvantage=1}} {{roll2=[[1d20}"> <input type=hidden name=attr_roll_1 value="{{only_roll_1=1}} {{ignore="> <span class=en><select name=attr_roll_setting><option value=@{roll_2} selected>Roll Two Rolls</option><option value=@{advantage_query}>Query for (dis)advantage</option><option value=@{roll_1}>Roll One Roll</option></select></span> <span class=de><select name=attr_roll_setting><option value=@{roll_2} selected>Roll Two Rolls</option><option value=@{advantage_query}>Query for (dis)advantage</option><option value=@{roll_1}>Roll One Roll</option></select></span> <span class=fr><select name=attr_roll_setting><option value=@{roll_2} selected>Faire deux jets</option><option value=@{advantage_query}>Demander pour le (dés)avantage</option><option value=@{roll_1}>Faire un jet</option></select></span> <span class=ru><select name=attr_roll_setting><option value=@{roll_2} selected>Roll Two Rolls</option><option value=@{advantage_query}>Query for (dis)advantage</option><option value=@{roll_1}>Roll One Roll</option></select></span></div></div><div class="shaped-row vert-center mar-t-md"><div class=col-50><span class=en>Initiative</span><span class=de>Initiative</span><span class=fr>Initiative</span><span class=ru>Initiative</span>:</div><div class=col-50><input type=hidden name=attr_advantage_on_initiative value="{{roll1=[[2d20kh1"> <input type=hidden name=attr_initiative_query value="?{Advantage?|Normal Roll,{{roll1=[[d20|Advantage,{{roll1=[[2d20kh1|Disadvantage,{{roll1=[[2d20kl1}"> <input type=hidden name=attr_normal_initiative value=" {{roll1=[[d20"> <span class=en><select name=attr_initiative_roll><option value=@{advantage_on_initiative}>Roll Two Rolls</option><option value=@{initiative_query}>Query for (dis)advantage</option><option value=@{normal_initiative} selected>Roll One Roll</option></select></span> <span class=de><select name=attr_initiative_roll><option value=@{advantage_on_initiative}>Roll Two Rolls</option><option value=@{initiative_query}>Query for (dis)advantage</option><option value=@{normal_initiative} selected>Roll One Roll</option></select></span> <span class=fr><select name=attr_initiative_roll><option value=@{advantage_on_initiative}>Faire deux jets</option><option value=@{initiative_query}>Demander pour le (dés)avantage</option><option value=@{normal_initiative} selected>Faire un jet</option></select></span> <span class=ru><select name=attr_initiative_roll><option value=@{advantage_on_initiative}>Roll Two Rolls</option><option value=@{initiative_query}>Query for (dis)advantage</option><option value=@{normal_initiative} selected>Roll One Roll</option></select></span></div></div><div class="shaped-row vert-center mar-t-md"><div class=col-50><span class=en>Break Initiative Ties</span><span class=de>Break Initiative Ties</span><span class=fr>Ajoute Mod Dex à l'init</span><span class=ru>Break Initiative Ties</span></div><div class=col-50><input type=hidden name=attr_initiative_tie_breaker_var value="[[@{initiative} / 100]][tie breaker]"> <input type=checkbox name=attr_initiative_tie_breaker value=@{initiative_tie_breaker_var}></div></div><div class="shaped-row mar-t-md"><div class=col-50><span class=en>Initiative Roll</span><span class=de>Initiative Roll</span><span class=fr>Jet d'initiative</span><span class=ru>Initiative Roll</span></div><div class=col-50><input type=hidden name=attr_initiative_to_tracker_yes value="@{selected|initiative_formula} &{tracker}"> <input type=hidden name=attr_initiative_to_tracker_no value=@{initiative_formula}> <span class=en><select name=attr_initiative_to_tracker class=mar-t-md><option value=@{initiative_to_tracker_yes} selected>Send to Tracker</option><option value=@{initiative_to_tracker_no}>Don't</option></select></span> <span class=de><select name=attr_initiative_to_tracker class=mar-t-md><option value=@{initiative_to_tracker_yes} selected>Send to Tracker</option><option value=@{initiative_to_tracker_no}>Don't</option></select></span> <span class=fr><select name=attr_initiative_to_tracker class=mar-t-md><option value=@{initiative_to_tracker_yes} selected>Envoyer au "Turn Order"</option><option value=@{initiative_to_tracker_no}>Ne pas envoyer</option></select></span> <span class=ru><select name=attr_initiative_to_tracker class=mar-t-md><option value=@{initiative_to_tracker_yes} selected>Добавлять в список</option><option value=@{initiative_to_tracker_no}>Не добавлять</option></select></span></div></div><div class="shaped-row mar-t-md"><div class=col-50><span class=en>Show Target's AC on Attacks</span><span class=de>Show Target's AC on Attacks</span><span class=fr>Montrer la CA de la cible sur les jets d'attaque</span><span class=ru>Show Target's AC on Attacks</span></div><div class=col-50><input type=hidden name=attr_attacks_vs_target_ac_no> <input type=hidden name=attr_attacks_vs_target_ac_yes value=[[@{target|AC}]]> <span class=en><select name=attr_attacks_vs_target_ac class=mar-t-md><option value=@{attacks_vs_target_ac_no} selected>No</option><option value=@{attacks_vs_target_ac_yes}>Yes</option></select></span> <span class=de><select name=attr_attacks_vs_target_ac class=mar-t-md><option value=@{attacks_vs_target_ac_no} selected>No</option><option value=@{attacks_vs_target_ac_yes}>Yes</option></select></span> <span class=fr><select name=attr_attacks_vs_target_ac class=mar-t-md><option value=@{attacks_vs_target_ac_no} selected>Non</option><option value=@{attacks_vs_target_ac_yes}>Oui</option></select></span> <span class=ru><select name=attr_attacks_vs_target_ac class=mar-t-md><option value=@{attacks_vs_target_ac_no} selected>Нет</option><option value=@{attacks_vs_target_ac_yes}>Да</option></select></span></div></div><div class="shaped-row vert-center mar-t-md"><div class=col-50><span class=en>Show Target's Name on Attacks and Saves</span><span class=de>Show Target's Name on Attacks and Saves</span><span class=fr>Montrer le nom de la cible sur les jets d'attaque et de sauvegarde</span><span class=ru>Show Target's Name on Attacks and Saves</span></div><div class=col-50><input type=hidden name=attr_attacks_vs_target_name_no> <input type=hidden name=attr_attacks_vs_target_name_yes value=@{target|token_name}> <span class=en><select name=attr_attacks_vs_target_name class=mar-t-md><option value=@{attacks_vs_target_name_no} selected>No</option><option value=@{attacks_vs_target_name_yes}>Yes</option></select></span> <span class=de><select name=attr_attacks_vs_target_name class=mar-t-md><option value=@{attacks_vs_target_name_no} selected>No</option><option value=@{attacks_vs_target_name_yes}>Yes</option></select></span> <span class=fr><select name=attr_attacks_vs_target_name class=mar-t-md><option value=@{attacks_vs_target_name_no} selected>Non</option><option value=@{attacks_vs_target_name_yes}>Oui</option></select></span> <span class=ru><select name=attr_attacks_vs_target_name class=mar-t-md><option value=@{attacks_vs_target_name_no} selected>Нет</option><option value=@{attacks_vs_target_name_yes}>Да</option></select></span></div></div></div></div><div class="wrap-box-title center"><span class=en>Output</span><span class=de>Output</span><span class=fr>Options d'affichage</span><span class=ru>Результат</span></div></div><div class="wrap-box mar-b-smd"><div class=shaped-row><div class="col-50 pad-r-md"><div class=shaped-row><div class="col-25 wrap-box-label light-label center"><span class=en>Ability</span><span class=de>Ability</span><span class=fr>Caractéristique</span><span class=ru>Ability</span></div><div class="col-25 wrap-box-label light-label center"><span class=en>Ability score bonus</span><span class=de>Ability score bonus</span><span class=fr>Bonus modificateur de carac.</span><span class=ru>Ability score bonus</span></div><div class="col-25 wrap-box-label light-label center"><span class=en>Check bonus</span><span class=de>Check bonus</span><span class=fr>Bonus de Carac</span><span class=ru>Check bonus</span></div><div class="col-25 wrap-box-label light-label center"><span class=en>Saving throw bonus</span><span class=de>Saving throw bonus</span><span class=fr>Bonus jet de sauv</span><span class=ru>Saving throw bonus</span></div></div><div class=shaped-row><div class=col-25><span class=en>Strength</span><span class=de>Strength</span><span class=fr>Force</span><span class=ru>Сила</span></div><div class=col-25><input type=number name=attr_strength_bonus class=no-spin value=0 step=1></div><div class=col-25><input type=number name=attr_strength_check_bonus class=no-spin value=0 step=1></div><div class=col-25><input type=number name=attr_strength_save_bonus class=no-spin value=0 step=1></div></div><div class=shaped-row><div class=col-25><span class=en>Dexterity</span><span class=de>Dexterity</span><span class=fr>Dextérité</span><span class=ru>Ловкость</span></div><div class=col-25><input type=number name=attr_dexterity_bonus class=no-spin value=0 step=1></div><div class=col-25><input type=number name=attr_dexterity_check_bonus class=no-spin value=0 step=1></div><div class=col-25><input type=number name=attr_dexterity_save_bonus class=no-spin value=0 step=1></div></div><div class=shaped-row><div class=col-25><span class=en>Constitution</span><span class=de>Constitution</span><span class=fr>Constitution</span><span class=ru>Телосложение</span></div><div class=col-25><input type=number name=attr_constitution_bonus class=no-spin value=0 step=1></div><div class=col-25><input type=number name=attr_constitution_check_bonus class=no-spin value=0 step=1></div><div class=col-25><input type=number name=attr_constitution_save_bonus class=no-spin value=0 step=1></div></div><div class=shaped-row><div class=col-25><span class=en>Intelligence</span><span class=de>Intelligence</span><span class=fr>Intelligence</span><span class=ru>Интеллект</span></div><div class=col-25><input type=number name=attr_intelligence_bonus class=no-spin value=0 step=1></div><div class=col-25><input type=number name=attr_intelligence_check_bonus class=no-spin value=0 step=1></div><div class=col-25><input type=number name=attr_intelligence_save_bonus class=no-spin value=0 step=1></div></div><div class=shaped-row><div class=col-25><span class=en>Wisdom</span><span class=de>Wisdom</span><span class=fr>Sagesse</span><span class=ru>Мудрость</span></div><div class=col-25><input type=number name=attr_wisdom_bonus class=no-spin value=0 step=1></div><div class=col-25><input type=number name=attr_wisdom_check_bonus class=no-spin value=0 step=1></div><div class=col-25><input type=number name=attr_wisdom_save_bonus class=no-spin value=0 step=1></div></div><div class=shaped-row><div class=col-25><span class=en>Charisma</span><span class=de>Charisma</span><span class=fr>Charisme</span><span class=ru>Харизма</span></div><div class=col-25><input type=number name=attr_charisma_bonus class=no-spin value=0 step=1></div><div class=col-25><input type=number name=attr_charisma_check_bonus class=no-spin value=0 step=1></div><div class=col-25><input type=number name=attr_charisma_save_bonus class=no-spin value=0 step=1></div></div><div class=shaped-row><div class=col-25><span class=en>All</span><span class=de>All</span><span class=fr>Tout</span><span class=ru>All</span></div><div class=col-25><input type=number name=attr_global_ability_bonus class=no-spin value=0 step=1></div><div class=col-25><input type=text name=attr_global_check_bonus class=center value=0></div><div class=col-25><input type=text name=attr_global_saving_throw_bonus class=center value=0></div></div><hr><div class=col-30><input type=text name=attr_medium_armor_max_dex value=2><div class=small-label><span class=en>Medium armor max dex</span><span class=de>Medium armor max dex</span><span class=fr>Bonus dex max (armure intermédaire)</span><span class=ru>Medium armor max dex</span></div></div></div><div class="col-25 pad-l-md"><div class=shaped-row><div class="col-60 wrap-box-label light-label center pad-r-sm"><span class=en>Skill</span><span class=de>Skill</span><span class=fr>Compétence</span><span class=ru>Skill</span></div><div class="col-40 wrap-box-label light-label center pad-l-sm"><span class=en>Bonus</span><span class=de>Bonus</span><span class=fr>Bonus</span><span class=ru>Бонус</span></div></div><fieldset class=repeating_skill><div class="shaped-row vert-center"><div class="col-60 pad-r-sm"><input type=text name=attr_name class=skill-name></div><div class="col-40 pad-l-sm"><input type=number name=attr_bonus class=no-spin value=0 step=1></div></div></fieldset></div><div class="col-25 pad-l-md"><div class=shaped-row><div class=col-60><span class=en>Initiative bonus</span><span class=de>Initiative bonus</span><span class=fr>Bonus initiative</span><span class=ru>Initiative bonus</span></div><div class=col-40><input type=text name=attr_initiative_bonus class="center initiative-bonus" value=0></div></div></div></div><div class="wrap-box-title center"><span class=en>Bonuses</span><span class=de>Bonuses</span><span class=fr>Bonus</span><span class=ru>Bonuses</span></div></div><div class=shaped-row><div class="col-50 pad-r-sm"><div class="general-bonuses wrap-box relative center mar-b-smd"><div class=tooltip-position-wrapper><div class=tooltip><div class="tooltip-toggle-text center">?</div><div class="tooltip-content-left small-label"><span class=en>Auto add a bonus/penalty to rolls made using the sheet macros.<br>Usage: you acquire a magic item that gives +1 to your spell save DC, enter 1 in the spell save DC field. You are under the effects of the Bless spell, enter "d4cs0cf0" in both attack roll fields, and the saving throw one</span><span class=de>Automatisches hinzufügen von Boni/Mali zu etlichen Würfen, die mit den Makros ausgeführt werden.<br>Benutzung: du erhälst einen magischen Gegenstand, der dir +1 auf Rettungswürfe gibt, trage eine 1 in das Rettungswurf feld ein.</span><span class=fr>Ajoute automatiquement un bonus/malus aux jets effectués à l'aide des macros de la fiche de Personnage.<br>Utilisation: Vous trouvez un objet magique qui vous donne +1 à vos dommages, entrez 1 dans la case Dmg des Armes. Si vous êtes sous les effet du sort Bénediction, entrez "d4cs0cf0" dans les cases de jets d'attaque et de jets de sauvegarde.</span><span class=ru>Auto add a bonus/penalty to rolls made using the sheet macros.<br>Usage: you acquire a magic item that gives +1 to your spell save DC, enter 1 in the spell save DC field. You are under the effects of the Bless spell, enter "d4cs0cf0" in both attack roll fields, and the saving throw one</span></div></div></div><div class=shaped-row><div class="col-1-3 wrap-box-label sheet-light-label center"><span class=en>Attacks</span><span class=de>Attacks</span><span class=fr>Attaques</span><span class=ru>Нападки</span></div><div class="col-1-3 wrap-box-label sheet-light-label center"><span class=en>Melee</span><span class=de>Melee</span><span class=fr>Mêlée</span><span class=ru>Melee</span></div><div class="col-1-3 wrap-box-label sheet-light-label center"><span class=en>Ranged</span><span class=de>Ranged</span><span class=fr>Tir</span><span class=ru>Ranged</span></div></div><div class="shaped-row mar-b-sm"><div class="col-1-6 center"><input type=text name=attr_global_attack_bonus class=center value=0><div class=small-label><span class=en>Attack</span><span class=de>Attack</span><span class=fr>Attaque</span><span class=ru>Attack</span></div></div><div class="col-1-6 center pad-r-sm"><input type=text name=attr_global_damage_bonus class=center value=0><div class=small-label><span class=en>Damage</span><span class=de>Damage</span><span class=fr>Dégâts</span><span class=ru>Damage</span></div></div><div class="col-1-6 center pc pad-l-sm"><input type=text name=attr_global_melee_attack_bonus class=center value=0><div class=small-label><span class=en>Attack</span><span class=de>Attack</span><span class=fr>Attaque</span><span class=ru>Attack</span></div></div><div class="col-1-6 center pc pad-r-sm"><input type=text name=attr_global_melee_damage_bonus class=center value=0><div class=small-label><span class=en>Damage</span><span class=de>Damage</span><span class=fr>Dégâts</span><span class=ru>Damage</span></div></div><div class="col-1-6 center pc pad-l-sm"><input type=text name=attr_global_ranged_attack_bonus class=center value=0><div class=small-label><span class=en>Attack</span><span class=de>Attack</span><span class=fr>Attaque</span><span class=ru>Attack</span></div></div><div class="col-1-6 center pc"><input type=text name=attr_global_ranged_damage_bonus class=center value=0><div class=small-label><span class=en>Damage</span><span class=de>Damage</span><span class=fr>Dégâts</span><span class=ru>Damage</span></div></div></div><div class="wrap-box-label sheet-light-label center"><span class=en>Spellcasting</span><span class=de>Spellcasting</span><span class=fr>Lancement de sort</span><span class=ru>Spellcasting</span></div><div class="shaped-row mar-b-sm"><div class="col-22 center pad-r-sm"><input type=text name=attr_global_spell_attack_bonus class=center value=0><div class=small-label><span class=en>ATK</span><span class=de>ATK</span><span class=fr>ATQ</span><span class=ru>ATK</span></div></div><div class="col-22 center"><input type=text name=attr_global_spell_damage_bonus class=center value=0><div class=small-label><span class=en>DMG</span><span class=de>DMG</span><span class=fr>DMG</span><span class=ru>DMG</span></div></div><div class="col-34 center pad-l-sm"><input type=text name=attr_global_spell_dc_bonus class=center value=0><div class=small-label><span class=en>Saving DC</span><span class=de>Saving DC</span><span class=fr>DD de sauv</span><span class=ru>Saving DC</span></div></div><div class="col-22 center pad-l-sm"><input type=text name=attr_global_spell_heal_bonus class=center value=0><div class=small-label><span class=en>Heal</span><span class=de>Heal</span><span class=fr>Soins</span><span class=ru>Heal</span></div></div></div><div class=wrap-box-title><span class=en>Bonuses & Penalties</span><span class=de>Boni & Mali</span><span class=fr>Bonus & Malus</span><span class=ru>Bonuses & Penalties</span></div></div></div><div class="col-50 pad-l-sm"><div class="wrap-box mar-b-smd"><div class="shaped-row vert-center"><div class=col-80><span class=en>Copper per Gold (default 100)</span><span class=de>Copper per Gold (default 100)</span><span class=fr>Cuivre par Or (100 par défaut)</span><span class=ru>Copper per Gold (default 100)</span>:</div><div class=col-20><input type=number name=attr_copper_per_gold value=100></div></div><div class="shaped-row vert-center"><div class=col-80><span class=en>Silver per Gold (default 10)</span><span class=de>Silver per Gold (default 10)</span><span class=fr>Argent par Or (10 par défaut)</span><span class=ru>Silver per Gold (default 10)</span>:</div><div class=col-20><input type=number name=attr_silver_per_gold value=10></div></div><div class="shaped-row vert-center"><div class=col-80><span class=en>Electrum per Gold (default 2)</span><span class=de>Electrum per Gold (default 2)</span><span class=fr>Electrum par Or (2 par défaut)</span><span class=ru>Electrum per Gold (default 2)</span>:</div><div class=col-20><input type=number name=attr_electrum_per_gold value=2></div></div><div class="shaped-row vert-center"><div class=col-80><span class=en>Gold per Platinum (default 10)</span><span class=de>Gold per Platinum (default 10)</span><span class=fr>Or par Platine (10 par défaut)</span><span class=ru>Gold per Platinum (default 10)</span>:</div><div class=col-20><input type=number name=attr_platinum_per_gold value=10></div></div><div class="wrap-box-title center"><span class=en>Custom gold values</span><span class=de>Custom gold values</span><span class=fr>Valeur de l'or personnalisée</span><span class=ru>Custom gold values</span></div></div></div></div><div class="wrap-box mar-b-smd"><div><span class=en>Please see the wiki. You'll need to use a browser extension to change the css to show certain parts</span><span class=de>Please see the wiki. You'll need to use a browser extension to change the css to show certain parts</span><span class=fr>Merci de vous référer au wiki. Vous aurez besoin d'une extension de navigateur pour changer le css afin de montrer certaines parties.</span><span class=ru>Please see the wiki. You'll need to use a browser extension to change the css to show certain parts</span></div><div class="shaped-row vert-center"><input type=hidden name=attr_hide_gm_info value="@{hide_saving_throw_dc} @{hide_saving_throw_failure} @{hide_saving_throw_success} @{hide_recharge}"><div class="col-20 center"><span class=en>Hide Saving throw DC</span><span class=de>Hide Saving throw DC</span><span class=fr>Cacher DD de sauv</span><span class=ru>Hide Saving throw DC</span> <input type=hidden name=attr_hide_saving_throw_dc_var value="{{hide_saving_throw_dc=1}}"> <input type=checkbox name=attr_hide_saving_throw_dc value=@{hide_saving_throw_dc_var}></div><div class="col-20 center"><span class=en>Hide Saving throw failure</span><span class=de>Hide Saving throw failure</span><span class=fr>Cacher échec sauv</span><span class=ru>Hide Saving throw failure</span> <input type=hidden name=attr_hide_saving_throw_failure_var value="{{hide_saving_throw_failure=1}}"> <input type=checkbox name=attr_hide_saving_throw_failure value=@{hide_saving_throw_failure_var}></div><div class="col-20 center"><span class=en>Hide Saving throw success</span><span class=de>Hide Saving throw success</span><span class=fr>Cacher succès sauv</span><span class=ru>Hide Saving throw success</span> <input type=hidden name=attr_hide_saving_throw_success_var value="{{hide_saving_throw_success=1}}"> <input type=checkbox name=attr_hide_saving_throw_success value=@{hide_saving_throw_success_var}></div><div class="col-20 center"><span class=en>Hide Recharge</span><span class=de>Hide Recharge</span><span class=fr>Cacher Recharge</span><span class=ru>Hide Recharge</span> <input type=hidden name=attr_hide_recharge_var value="{{hide_recharge=1}}"> <input type=checkbox name=attr_hide_recharge value=@{hide_recharge_var}></div></div><div class="wrap-box-title center"><span class=en>Hide NPC info</span><span class=de>Hide NPC info</span><span class=fr>Cacher Infos PNJ</span><span class=ru>Hide NPC info</span></div></div><div class="wrap-box macros-for-consumption center hidden"><div class=shaped-row><div class=col-13><input type=hidden name=attr_save_query_var value="?{Saving Throw|Strength, {{title=Strength&#125;&#125; {{roll1=[[d20@{d20_mod} + @{strength_save_mod}]]&#125;&#125; @{roll_setting}@{d20_mod} + @{strength_save_mod}]]&#125;&#125;|Dexterity, {{title=Dexterity&#125;&#125; {{roll1=[[d20@{d20_mod} + @{dexterity_save_mod}]]&#125;&#125; @{roll_setting}@{d20_mod} + @{dexterity_save_mod}]]&#125;&#125;|Constitution, {{title=Constitution&#125;&#125; {{roll1=[[d20@{d20_mod} + @{constitution_save_mod}]]&#125;&#125; @{roll_setting}@{d20_mod} + @{constitution_save_mod}]]&#125;&#125;|Intelligence, {{title=Intelligence&#125;&#125; {{roll1=[[d20@{d20_mod} + @{intelligence_save_mod}]]&#125;&#125; @{roll_setting}@{d20_mod} + @{intelligence_save_mod}]]&#125;&#125;|Wisdom, {{title=Wisdom&#125;&#125; {{roll1=[[d20@{d20_mod} + @{wisdom_save_mod}]]&#125;&#125; @{roll_setting}@{d20_mod} + @{wisdom_save_mod}]]&#125;&#125;|Charisma, {{title=Charisma&#125;&#125; {{roll1=[[d20@{d20_mod} + @{charisma_save_mod}]]&#125;&#125; @{roll_setting}@{d20_mod} + @{charisma_save_mod}]]&#125;&#125;}"> <button type=roll name=roll_save_query_macro value="@{output_option} &{template:5e-shaped} {{save=1}} {{character_name=@{character_name}}} @{show_character_name} {{subheader=Saving Throw}} {{roll_toggle=1}} @{save_query_var}"><span class=en>Saving throw</span><span class=de>Saving throw</span><span class=fr>Jet de sauv</span><span class=ru>Saving throw</span></button></div><div class=col-10><input type=hidden name=attr_check_query_var> <button type=roll name=roll_check_query_macro value="@{output_option} &{template:5e-shaped} {{ability=1}} {{character_name=@{character_name}}} @{show_character_name} {{subheader=Ability Check}} @{check_query_var}"><span class=en>Check</span><span class=de>Check</span><span class=fr>Jet</span><span class=ru>Check</span></button></div><div class=col-10><input type=hidden name=attr_attack_query_var> <button type=roll name=roll_attack_query_macro value="@{output_option} &{template:5e-shaped} {{action=1}} {{character_name=@{character_name}}} @{show_character_name} {{targetName=@{attacks_vs_target_name}}} @{attack_query_var} @{attacher_attack}"><span class=en>Attack</span><span class=de>Attack</span><span class=fr>Attaque</span><span class=ru>Attack</span></button></div></div><div class=wrap-box-title><span class=en>Macros</span><span class=de>Macros</span><span class=fr>Macros</span><span class=ru>Macros</span></div></div></div><hr><p class="footer small-label center">Wiki: https://wiki.roll20.net/DnD5e_Shaped_Character_Sheet</p></div><script type="text/worker">var currentVersion = '2.0.11'; String.prototype.capitalize = function () { return this.replace(/\w\S*/g, function (txt) { return txt.charAt(0).toUpperCase() + txt.substr(1); }); }; String.prototype.firstThree = function () { return this.substring(0, 3); }; function getIntValue(value, defaultValue) { if (!defaultValue) { defaultValue = 0; } return parseInt(value, 10) || defaultValue; } function getFloatValue(value, defaultValue) { if (!defaultValue) { defaultValue = 0; } return parseFloat(value) || defaultValue; } function getAbilityName(varName) { if (!varName) { return 'strength'; } return getAbilityModName(varName).replace('_mod', ''); } function getAbilityModName(varName) { if (!varName) { return 'strength_mod'; } return varName.replace(/\W/g, ''); } function getAbilityValue(v, varName, defaultAbility) { if (!varName) { if (defaultAbility) { return getIntValue(v[defaultAbility]); } } else if (exists(varName)) { varName = getAbilityModName(varName); return getIntValue(v[varName], 0); } return 0; } function getAbilityShortName(varName, capital) { if (!varName) { return 'Str'; } varName = getAbilityModName(varName); if (capital) { varName = varName.capitalize(); } return varName.firstThree(); } function exists(value) { if (!value || value === '' || value === '0' || value === 0) { return false; } return true; } function getRowId(leadingString, eventInfo) { var re = new RegExp(leadingString + '_([a-zA-Z0-9\-]*)_.*'); return eventInfo.sourceAttribute.replace(re, '$1'); } function getRepeatingField(leadingString, eventInfo) { var re = new RegExp(leadingString + '_[a-zA-Z0-9\-]*_(.*)'); return eventInfo.sourceAttribute.replace(re, '$1'); } function isEmpty(obj) { for (var prop in obj) { if (obj.hasOwnProperty(prop)) { return false; } } return true; } function setFinalAttrs(v, finalSetAttrs) { if (!isEmpty(finalSetAttrs)) { for (var key in finalSetAttrs) { if (finalSetAttrs.hasOwnProperty(key)) { if (v[key] === finalSetAttrs[key]) { delete finalSetAttrs[key]; } } } setAttrs(finalSetAttrs); } } function fromVOrFinalSetAttrs(v, finalSetAttrs, value) { if (exists(finalSetAttrs[value])) { return finalSetAttrs[value]; } return v[value]; } function parseAttackComponents(v, repeatingString, finalSetAttrs, options) { var parsed = v[repeatingString + 'parsed']; if (!exists(parsed)) { parsed = finalSetAttrs[repeatingString + 'parsed']; } if (!exists(parsed) || parsed.indexOf(options.parseName) === -1) { var aTriggerFieldExists = false; for (var i = 0; i < options.triggerFields.length; i++) { if (exists(v[repeatingString + options.triggerFields[i]])) { aTriggerFieldExists = true; } } if (aTriggerFieldExists && !exists(v[repeatingString + options.toggleField])) { finalSetAttrs[repeatingString + options.toggleField] = options.toggleFieldSetTo; } if (options.attackAbility && !exists(v[repeatingString + 'attack_ability']) && v[repeatingString + 'attack_ability'] !== '0') { finalSetAttrs[repeatingString + 'attack_ability'] = v.default_ability; } if (options.addCastingModifier) { if (exists(v[repeatingString + 'damage']) && !exists(v[repeatingString + 'damage_ability']) && v[repeatingString + 'damage_ability'] !== '0') { finalSetAttrs[repeatingString + 'damage_ability'] = v.default_ability; } if (exists(v[repeatingString + 'heal']) && !exists(v[repeatingString + 'heal_ability']) && v[repeatingString + 'heal_ability'] !== '0') { finalSetAttrs[repeatingString + 'heal_ability'] = v.default_ability; } } if (!exists(finalSetAttrs[repeatingString + 'parsed'])) { finalSetAttrs[repeatingString + 'parsed'] = ''; } finalSetAttrs[repeatingString + 'parsed'] += ' ' + options.parseName; } } function hasUpperCase(string) { return (/[A-Z]/.test(string)); } function emptyIfUndefined(value) { if (!value) { return ''; } return value; } function ordinalSpellLevel(level) { if (level === 0) { return 'Cantrip'; } else { switch (level % 10) { case 1: return level + 'st-level'; case 2: return level + 'nd-level'; case 3: return level + 'rd-level'; default: return level + 'th-level'; } } } function versionCompare(v1, v2, options) { var lexicographical = options && options.lexicographical, zeroExtend = options && options.zeroExtend, v1parts = v1.split('.'), v2parts = v2.split('.'); function isValidPart(x) { return (lexicographical ? /^\d+[A-Za-z]*$/ : /^\d+$/).test(x); } if (!v1parts.every(isValidPart) || !v2parts.every(isValidPart)) { return NaN; } if (zeroExtend) { while (v1parts.length < v2parts.length) v1parts.push('0'); while (v2parts.length < v1parts.length) v2parts.push('0'); } if (!lexicographical) { v1parts = v1parts.map(Number); v2parts = v2parts.map(Number); } for (var i = 0; i < v1parts.length; ++i) { if (v2parts.length == i) { return 1; } if (v1parts[i] == v2parts[i]) { continue; } else if (v1parts[i] > v2parts[i]) { return 1; } else { return -1; } } if (v1parts.length != v2parts.length) { return -1; } return 0; } function getAbilityMod (score) { return Math.floor((getIntValue(score) - 10) / 2); } var ABILITIES = ['strength', 'dexterity', 'constitution', 'intelligence', 'wisdom', 'charisma']; var ADD = ' + '; var SUBTRACT = ' - '; var SPACE = ' '; on('change:cp change:sp change:ep change:gp change:pp', function () { getAttrs(['cp', 'copper_per_gold', 'sp', 'silver_per_gold', 'ep', 'electrum_per_gold', 'gp', 'pp', 'platinum_per_gold'], function (v) { var copperPieces = getFloatValue(v.cp); var silverPieces = getFloatValue(v.sp); var electrumPieces = getFloatValue(v.ep); var goldPieces = getFloatValue(v.gp); var platinumPieces = getFloatValue(v.pp); var copperPerGold = getFloatValue(v.copper_per_gold, 100); var silverPerGold = getFloatValue(v.silver_per_gold, 10); var electrumPerGold = getFloatValue(v.electrum_per_gold, 2); var platinumPerGold = getFloatValue(v.platinum_per_gold, 10); var totalGold = (copperPieces / copperPerGold) + (silverPieces / silverPerGold) + (electrumPieces / electrumPerGold) + goldPieces + (platinumPieces * platinumPerGold); var coinWeight = (copperPieces + silverPieces + electrumPieces + goldPieces + platinumPieces) / 50; setAttrs({ total_gp: totalGold.toFixed(2), weight_coinage: coinWeight }); }); }); function updateAbilityModifier (ability) { var collectionArray = [ability, ability + '_bonus', ability + '_mod', ability + '_check_mod', 'global_ability_bonus', 'strength_mod', 'dexterity_mod']; var finalSetAttrs = {}; getAttrs(collectionArray, function (v) { var abilityScore = getIntValue(v[ability]); var abilityBonus = getIntValue(v[ability + '_bonus']); var globalAbilityBonus = getIntValue(v.global_ability_bonus); var abilityMod = getAbilityMod((abilityScore + abilityBonus + globalAbilityBonus)); var abilityCheckFormula = abilityMod + '[' + ability.firstThree() + ' mod with bonus]'; abilityCheckFormula += ADD + '@{jack_of_all_trades_toggle}[jack of all trades]'; abilityCheckFormula += ADD + '(@{global_check_bonus})[global check bonus]'; var abilityModWithSign = abilityMod; if (abilityMod >= 0) { abilityModWithSign = '+' + abilityMod; } finalSetAttrs[ability + '_mod'] = abilityMod; finalSetAttrs[ability + '_mod_with_sign'] = abilityModWithSign; finalSetAttrs[ability + '_check_mod'] = abilityCheckFormula; if (ability === 'strength') { finalSetAttrs.finesse_mod = Math.max(abilityMod, getIntValue(v.dexterity_mod)); finalSetAttrs.carrying_capacity = abilityScore * 15; finalSetAttrs.max_push_drag_lift = abilityScore * 30; finalSetAttrs.encumbered = abilityScore * 5; finalSetAttrs.heavily_encumbered = abilityScore * 10; } else if (ability === 'dexterity') { finalSetAttrs.finesse_mod = Math.max(abilityMod, getIntValue(v.strength_mod)); } console.log('updateAbilityModifier', finalSetAttrs); setFinalAttrs(v, finalSetAttrs); }); } on('change:strength change:strength_bonus change:strength_check_mod change:global_ability_bonus', function () { updateAbilityModifier('strength'); }); on('change:dexterity change:dexterity_bonus change:dexterity_check_mod change:global_ability_bonus', function () { updateAbilityModifier('dexterity'); }); on('change:constitution change:constitution_bonus change:constitution_check_mod change:global_ability_bonus', function () { updateAbilityModifier('constitution'); }); on('change:intelligence change:intelligence_bonus change:intelligence_check_mod change:global_ability_bonus', function () { updateAbilityModifier('intelligence'); }); on('change:wisdom change:wisdom_bonus change:wisdom_check_mod change:global_ability_bonus', function () { updateAbilityModifier('wisdom'); }); on('change:charisma change:charisma_bonus change:charisma_check_mod change:global_ability_bonus', function () { updateAbilityModifier('charisma'); }); on('change:dexterity_mod', function () { updateArmor(); }); function updateLevels () { var repeatingItem = 'repeating_class'; var collectionArray = []; var finalSetAttrs = {}; var defaultClassDetails = { barbarian: { hd: 'd12' }, bard: { hd: 'd8', spellcasting: 'full' }, cleric: { hd: 'd8', spellcasting: 'full' }, druid: { hd: 'd8', spellcasting: 'full' }, fighter: { hd: 'd10' }, monk: { hd: 'd8' }, paladin: { hd: 'd10', spellcasting: 'half' }, ranger: { hd: 'd10', spellcasting: 'half' }, rogue: { hd: 'd8' }, sorcerer: { hd: 'd6', spellcasting: 'full' }, warlock: { hd: 'd8', spellcasting: 'warlock' }, wizard: { hd: 'd6', spellcasting: 'full' } }; var hd = { d20: 0, d12: 0, d10: 0, d8: 0, d6: 0, d4: 0, d2: 0, d0: 0 }; var spellcasting = { full: 0, half: 0, third: 0, warlock: 0 }; var totalLevel = 0; var levelArray = []; var sorcererLevels = 0; var classesWithSpellcasting = 0; var xpTable = [0, 300, 900, 2700, 6500, 14000, 23000, 34000, 48000, 64000, 85000, 100000, 120000, 140000, 165000, 195000, 225000, 265000, 305000, 355000, 385000, 405000, 435000, 465000, 495000, 525000, 555000, 585000, 605000, 635000, 665000]; getSectionIDs(repeatingItem, function (ids) { for (var i = 0; i < ids.length; i++) { var repeatingString = repeatingItem + '_' + ids[i] + '_'; collectionArray.push(repeatingString + 'level'); collectionArray.push(repeatingString + 'name'); collectionArray.push(repeatingString + 'custom_name'); collectionArray.push(repeatingString + 'hd'); collectionArray.push(repeatingString + 'spellcasting'); } getAttrs(collectionArray, function (v) { for (var j = 0; j < ids.length; j++) { var repeatingString = repeatingItem + '_' + ids[j] + '_'; var className = v[repeatingString + 'name']; if (!exists(className)) { className = 'barbarian'; } if (className === 'custom') { finalSetAttrs[repeatingString + 'custom_class_toggle'] = 'on'; var customName = v[repeatingString + 'custom_name']; if (exists(customName)) { className = customName; } else { className = 'custom'; } } else { finalSetAttrs[repeatingString + 'custom_class_toggle'] = 0; } var classLevel = getIntValue(v[repeatingString + 'level']); totalLevel += classLevel; levelArray.push(className.capitalize() + ' ' + classLevel); var classHd = v[repeatingString + 'hd']; if (!exists(classHd)) { if (defaultClassDetails.hasOwnProperty(className)) { classHd = defaultClassDetails[className].hd; finalSetAttrs[repeatingString + 'hd'] = classHd; } else { classHd = 'd12'; } } hd[classHd] += classLevel; var classSpellcasting = v[repeatingString + 'spellcasting']; if (!exists(classSpellcasting)) { if (defaultClassDetails.hasOwnProperty(className)) { classSpellcasting = defaultClassDetails[className].spellcasting; finalSetAttrs[repeatingString + 'spellcasting'] = classSpellcasting; } } if (exists(classSpellcasting)) { classesWithSpellcasting += 1; spellcasting[classSpellcasting] += classLevel; } if (className === 'sorcerer' || className === 'sorcerer') { sorcererLevels += classLevel; } } for (var key in hd) { if (hd.hasOwnProperty(key)) { if (hd[key] !== 0) { finalSetAttrs['hd_' + key + '_max'] = hd[key]; finalSetAttrs['hd_' + key + '_toggle'] = 1; } else { finalSetAttrs['hd_' + key + '_max'] = 0; finalSetAttrs['hd_' + key + '_toggle'] = 0; } } } var casterLevel = 0; casterLevel += spellcasting.full; casterLevel += Math.floor(spellcasting.half / 2); casterLevel += Math.floor(spellcasting.third / 3); finalSetAttrs.caster_level = casterLevel; if (classesWithSpellcasting > 1 || spellcasting.full) { console.log('first if'); finalSetAttrs.caster_type = 'full'; } else if (spellcasting.half) { console.log('half'); finalSetAttrs.caster_type = 'half'; } else if (spellcasting.third) { console.log('third'); finalSetAttrs.caster_type = 'third'; } else { console.log('else'); finalSetAttrs.caster_type = 'full'; } console.log('finalSetAttrs.caster_type', finalSetAttrs.caster_type); finalSetAttrs.level = totalLevel; finalSetAttrs.class_and_level = levelArray.join(' '); var xpForNextLevel = 0; if (!totalLevel) { totalLevel = 0; } if (totalLevel > 30) { xpForNextLevel = xpTable[30]; } else { xpForNextLevel = xpTable[totalLevel]; } finalSetAttrs.xp_next_level = xpForNextLevel; if (sorcererLevels > 0) { finalSetAttrs.has_sorcerer_levels = 'on'; if (sorcererLevels === 1) { finalSetAttrs.sorcery_points_max = 0; } else { finalSetAttrs.sorcery_points_max = sorcererLevels; } } else { finalSetAttrs.has_sorcerer_levels = 0; } if (spellcasting.warlock > 0) { finalSetAttrs.has_warlock_levels = 'on'; if (spellcasting.warlock === 1) { finalSetAttrs.warlock_spell_slots_max = 1; } else if (spellcasting.warlock >= 2 && spellcasting.warlock < 11) { finalSetAttrs.warlock_spell_slots_max = 2; } else if (spellcasting.warlock >= 11 && spellcasting.warlock < 17) { finalSetAttrs.warlock_spell_slots_max = 3; } else { finalSetAttrs.warlock_spell_slots_max = 4; } } else { finalSetAttrs.has_warlock_levels = 0; } console.log('updateLevels', finalSetAttrs); setFinalAttrs(v, finalSetAttrs); }); }); } on('change:repeating_class remove:repeating_class', function () { console.log('repeating_class'); updateLevels(); }); var updateSpellSlots = function () { var collectionArray = ['level', 'caster_level', 'caster_type']; var finalSetAttrs = {}; var spellSlots = { 1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0, 8: 0, 9: 0 }; for (var i = 1; i <= 9; i++) { var repeatingString = 'spell_slots_l' + i + '_'; collectionArray.push(repeatingString + 'calc'); collectionArray.push(repeatingString + 'bonus'); collectionArray.push(repeatingString + 'max'); } getAttrs(collectionArray, function (v) { var casterLevel = getIntValue(v.level); var casterType = v.caster_type; if (!exists(casterType)) { casterType = 'full'; } if (casterType === 'full') { casterLevel = getIntValue(v.caster_level); if (casterLevel >= 3) { spellSlots['1'] = 4; } else if (casterLevel === 2) { spellSlots['1'] = 3; } else if (casterLevel === 1) { spellSlots['1'] = 2; } if (casterLevel >= 4) { spellSlots['2'] = 3; } else if (casterLevel === 3) { spellSlots['2'] = 2; } if (casterLevel >= 6) { spellSlots['3'] = 3; } else if (casterLevel === 5) { spellSlots['3'] = 2; } if (casterLevel >= 9) { spellSlots['4'] = 3; } else if (casterLevel === 8) { spellSlots['4'] = 2; } else if (casterLevel === 7) { spellSlots['4'] = 1; } if (casterLevel >= 18) { spellSlots['5'] = 3; } else if (casterLevel >= 10) { spellSlots['5'] = 2; } else if (casterLevel === 9) { spellSlots['5'] = 1; } if (casterLevel >= 19) { spellSlots['6'] = 2; } else if (casterLevel >= 11) { spellSlots['6'] = 1; } if (casterLevel >= 20) { spellSlots['7'] = 2; } else if (casterLevel >= 13) { spellSlots['7'] = 1; } if (casterLevel >= 15) { spellSlots['8'] = 1; } if (casterLevel >= 17) { spellSlots['9'] = 1; } } if (casterType === 'half') { if (casterLevel >= 5) { spellSlots['1'] = 4; } else if (casterLevel >= 3) { spellSlots['1'] = 3; } else if (casterLevel === 2) { spellSlots['1'] = 2; } if (casterLevel >= 7) { spellSlots['2'] = 3; } else if (casterLevel >= 5) { spellSlots['2'] = 2; } if (casterLevel >= 11) { spellSlots['3'] = 3; } else if (casterLevel >= 9) { spellSlots['3'] = 2; } if (casterLevel >= 17) { spellSlots['4'] = 3; } else if (casterLevel >= 15) { spellSlots['4'] = 2; } else if (casterLevel >= 13) { spellSlots['4'] = 1; } if (casterLevel >= 19) { spellSlots['5'] = 2; } else if (casterLevel >= 17) { spellSlots['5'] = 1; } } if (casterType === 'third') { console.log('third casterLevel', casterLevel); if (casterLevel >= 7) { spellSlots['1'] = 4; } else if (casterLevel >= 4) { spellSlots['1'] = 3; } else if (casterLevel === 3) { spellSlots['1'] = 2; } if (casterLevel >= 10) { spellSlots['2'] = 3; } else if (casterLevel >= 7) { spellSlots['2'] = 2; } if (casterLevel >= 16) { spellSlots['3'] = 3; } else if (casterLevel >= 13) { spellSlots['3'] = 2; } if (casterLevel >= 19) { spellSlots['4'] = 1; } } for (var i = 1; i <= 9; i++) { var slotCalc = spellSlots[i]; finalSetAttrs['spell_slots_l' + i + '_calc'] = slotCalc; var slotBonus = getIntValue(v['spell_slots_l' + i + '_bonus']); var spellSlotMax = slotCalc + slotBonus; finalSetAttrs['spell_slots_l' + i + '_max'] = spellSlotMax; if (spellSlotMax > 0) { finalSetAttrs['spell_slots_l' + i + '_toggle'] = 'on'; } else { finalSetAttrs['spell_slots_l' + i + '_toggle'] = 0; } } setFinalAttrs(v, finalSetAttrs); }); }; on('change:caster_level change:spell_slots_l1_bonus change:spell_slots_l2_bonus change:spell_slots_l3_bonus change:spell_slots_l4_bonus change:spell_slots_l5_bonus change:spell_slots_l6_bonus change:spell_slots_l7_bonus change:spell_slots_l8_bonus change:spell_slots_l9_bonus', function () { updateSpellSlots(); }); function getPB (level, challenge) { var pb = 2; level = getIntValue(level); if (challenge < 1) { challenge = 1; } else { getIntValue(challenge); } var levelOrChallenge = Math.max(level, challenge); if (exists(levelOrChallenge)) { pb += Math.floor(Math.abs((levelOrChallenge - 1) / 4)); } return pb; } var updatePb = function () { var collectionArray = ['level', 'challenge']; var finalSetAttrs = {}; getAttrs(collectionArray, function (v) { var pb = getPB(v.level, v.challenge); finalSetAttrs.pb = pb; finalSetAttrs.exp = pb * 2; finalSetAttrs.h_PB = pb / 2; console.log('updatePb', finalSetAttrs); setFinalAttrs(v, finalSetAttrs); }); }; on('change:level', function () { updatePb(); }); var sumRepeating = function (options, sumItems) { var repeatingItem = 'repeating_' + options.collection; var collectionArray = []; var finalSetAttrs = {}; getSectionIDs(repeatingItem, function (ids) { for (var i = 0; i < ids.length; i++) { var repeatingString = repeatingItem + '_' + ids[i] + '_'; collectionArray.push(repeatingString + options.toggle); if (options.qty) { collectionArray.push(repeatingString + options.qty); } for (var x = 0; x < sumItems.length; x++) { finalSetAttrs[sumItems[x].totalField] = 0; if (sumItems[x].totalFieldSecondary) { finalSetAttrs[sumItems[x].totalFieldSecondary] = 0; } collectionArray.push(repeatingString + sumItems[x].fieldToAdd); if (sumItems[x].bonus) { collectionArray.push(repeatingString + sumItems[x].bonus); } if (sumItems[x].armorType) { collectionArray.push(repeatingString + sumItems[x].armorType); } if (sumItems[x].addOnAfterQty) { collectionArray.push(repeatingString + sumItems[x].addOnAfterQty); } } } if (options.getExtraFields) { collectionArray = collectionArray.concat(options.getExtraFields); } getAttrs(collectionArray, function (v) { var dexMod = 0; if (options.collection === 'armor') { dexMod = getIntValue(v.dexterity_mod); } for (var j = 0; j < ids.length; j++) { var repeatingString = repeatingItem + '_' + ids[j] + '_'; var qty = getIntValue(v[repeatingString + options.qty], 1); for (var x = 0; x < sumItems.length; x++) { var sumItem = sumItems[x]; var fieldToAdd = getFloatValue(v[repeatingString + sumItem.fieldToAdd]); if (sumItem.bonus) { fieldToAdd += getFloatValue(v[repeatingString + sumItem.bonus]); } if (sumItem.armorType) { if (!v[repeatingString + sumItem.armorType] || v[repeatingString + sumItem.armorType] === 'Light Armor') { fieldToAdd += Math.min(5, dexMod); } else if (v[repeatingString + sumItem.armorType] === 'Medium Armor') { var mediumArmorDexMod = getIntValue(v.medium_armor_max_dex, 2); fieldToAdd += Math.min(mediumArmorDexMod, dexMod); } else if (v[repeatingString + sumItem.armorType] === 'Armor + Dex') { fieldToAdd += dexMod; } } var itemTotal = Math.round(qty * fieldToAdd * 100) / 100; if (sumItem.addOnAfterQty) { itemTotal += getFloatValue(v[repeatingString + sumItem.addOnAfterQty]); } if (sumItem.itemTotal) { finalSetAttrs[repeatingString + sumItem.itemTotal] = itemTotal; } var toggle = v[repeatingString + options.toggle]; if (toggle !== 0 && toggle !== '0') { var addToPrimary = true; var addToSecondary = false; if (sumItem.armorType) { if (v[repeatingString + sumItem.armorType] === 'Shield' || v[repeatingString + sumItem.armorType] === 'AC') { addToSecondary = true; } else if (v[repeatingString + sumItem.armorType] === 'Unarmored') { addToPrimary = false; addToSecondary = true; } } if (addToPrimary) { finalSetAttrs[sumItem.totalField] += itemTotal; } if (addToSecondary) { finalSetAttrs[sumItem.totalFieldSecondary] += itemTotal; } } } } for (var y = 0; y < sumItems.length; y++) { var item = sumItems[y]; if (item.totalField && !exists(finalSetAttrs[item.totalField])) { finalSetAttrs[item.totalField] = 0; } if (item.totalFieldSecondary && !exists(finalSetAttrs[item.totalFieldSecondary])) { finalSetAttrs[item.totalFieldSecondary] = 0; } } if (options.collection === 'armor') { finalSetAttrs.ac_unarmored_calc += 10 + dexMod + getAbilityValue(v, v.ac_unarmored_ability); finalSetAttrs.ac = Math.max(finalSetAttrs.ac_armored_calc, finalSetAttrs.ac_unarmored_calc); } console.log('sumRepeating', finalSetAttrs); setFinalAttrs(v, finalSetAttrs); }); }); }; var updateArmor = function (rowId) { var repeatingItem = 'repeating_armor'; var collectionArray = []; var finalSetAttrs = {}; getSectionIDs(repeatingItem, function (ids) { if (rowId) { ids = []; ids.push(rowId); } for (var i = 0; i < ids.length; i++) { var repeatingString = repeatingItem + '_' + ids[i] + '_'; collectionArray.push(repeatingString + 'modifiers'); } getAttrs(collectionArray, function (v) { for (var j = 0; j < ids.length; j++) { var repeatingString = repeatingItem + '_' + ids[j] + '_'; if (!exists(v[repeatingString + 'parsed']) || v[repeatingString + 'parsed'].indexOf('acBonus') === -1) { var armorModifiers = v[repeatingString + 'modifiers']; if (exists(armorModifiers)) { var acBonus = armorModifiers.replace(/^\D+/g, ''); finalSetAttrs[repeatingString + 'ac_bonus'] = acBonus; } if (!exists(finalSetAttrs[repeatingString + 'parsed'])) { finalSetAttrs[repeatingString + 'parsed'] = ''; } finalSetAttrs[repeatingString + 'parsed'] += ' acBonus'; } } console.log('updateArmor', finalSetAttrs); setFinalAttrs(v, finalSetAttrs); }); }); var options = { collection: 'armor', getExtraFields: ['medium_armor_max_dex', 'dexterity_mod', 'ac_unarmored_ability'], toggle: 'worn' }; for (var i = 0; i < ABILITIES.length; i++) { options.getExtraFields.push(ABILITIES[i] + '_mod'); } var sumItems = [ { fieldToAdd: 'weight', totalField: 'weight_armor' }, { fieldToAdd: 'ac_base', bonus: 'ac_bonus', armorType: 'type', itemTotal: 'ac_total', totalField: 'ac_armored_calc', totalFieldSecondary: 'ac_unarmored_calc' } ]; sumRepeating(options, sumItems); }; on('change:repeating_armor', function (eventInfo) { var changedField = getRepeatingField('repeating_armor', eventInfo); if (changedField !== 'ac_total') { var rowId = getRowId('repeating_armor', eventInfo); updateArmor(rowId); } }); on('change:medium_armor_max_dex change:ac_unarmored_ability remove:repeating_armor', function () { updateArmor(); }); var updateEquipment = function (rowId) { var repeatingItem = 'repeating_equipment'; var collectionArray = []; var finalSetAttrs = {}; getSectionIDs(repeatingItem, function (ids) { if (rowId) { ids = []; ids.push(rowId); } for (var i = 0; i < ids.length; i++) { var repeatingString = repeatingItem + '_' + ids[i] + '_'; collectionArray.push(repeatingString + 'content'); } getAttrs(collectionArray, function (v) { for (var j = 0; j < ids.length; j++) { var repeatingString = repeatingItem + '_' + ids[j] + '_'; if (!exists(v[repeatingString + 'parsed']) || v[repeatingString + 'parsed'].indexOf('content') === -1) { var content = v[repeatingString + 'content']; if (exists(content)) { content = content.replace(/\s(\d+d\d+\s(?:\+|\-)\s\d+)\s/g, ' [[$1]] ') .replace(/\s(\d+d\d+)\s/g, ' [[$1]] ') .replace(/\s(\d+)\s/g, ' [[$1]] '); finalSetAttrs[repeatingString + 'content'] = content; } if (!exists(finalSetAttrs[repeatingString + 'parsed'])) { finalSetAttrs[repeatingString + 'parsed'] = ''; } finalSetAttrs[repeatingString + 'parsed'] += ' content'; } } console.log('updateEquipment', finalSetAttrs); setFinalAttrs(v, finalSetAttrs); }); }); }; on('change:repeating_equipment', function (eventInfo) { var rowId = getRowId('repeating_equipment', eventInfo); updateEquipment(rowId); }); on('change:repeating_equipment:carried change:repeating_equipment:weight_total remove:repeating_equipment', function () { var options = { collection: 'equipment', toggle: 'carried', qty: 'qty' }; var sumItems = [ { fieldToAdd: 'weight', itemTotal: 'weight_total', totalField: 'weight_equipment' } ]; sumRepeating(options, sumItems); }); on('change:pb', function () { console.log('pb changed'); updateSkill(); updateAttack(); updateSpell(); updateJackOfAllTrades(); }); var updateJackOfAllTrades = function () { var collectionArray = ['pb']; var finalSetAttrs = {}; getAttrs(collectionArray, function (v) { finalSetAttrs.jack_of_all_trades = Math.floor(getIntValue(v.pb) / 2); console.log('updateJackOfAllTrades', finalSetAttrs); setFinalAttrs(v, finalSetAttrs); }); }; on('change:jack_of_all_trades_toggle', function () { updateJackOfAllTrades(); }); var updateInitiative = function () { var collectionArray = ['dexterity_mod', 'dexterity_check_bonus', 'initiative_bonus', 'jack_of_all_trades_toggle', 'jack_of_all_trades', 'global_check_bonus']; var finalSetAttrs = {}; finalSetAttrs.initiative = 0; finalSetAttrs.initiative_formula = ''; getAttrs(collectionArray, function (v) { var dexMod = getIntValue(v.dexterity_mod); if (exists(dexMod)) { finalSetAttrs.initiative += dexMod; } finalSetAttrs.initiative_formula += dexMod + '[dex]'; var dexCheckBonus = getIntValue(v.dexterity_check_bonus); if (exists(dexCheckBonus)) { finalSetAttrs.initiative += dexCheckBonus; finalSetAttrs.initiative_formula += dexCheckBonus + '[dex check bonus]'; } var initiativeBonus = getIntValue(v.initiative_bonus); if (exists(initiativeBonus)) { finalSetAttrs.initiative += initiativeBonus; finalSetAttrs.initiative_formula += ADD + initiativeBonus + '[initiative bonus]'; } if (v.jack_of_all_trades_toggle === '@{jack_of_all_trades}') { var jackOfAllTrades = getIntValue(v.jack_of_all_trades); if (exists(jackOfAllTrades)) { finalSetAttrs.initiative += jackOfAllTrades; finalSetAttrs.initiative_formula += ADD + jackOfAllTrades + '[jack of all trades]'; } } var globalCheckBonus = getIntValue(v.global_check_bonus); if (exists(globalCheckBonus)) { finalSetAttrs.initiative += globalCheckBonus; finalSetAttrs.initiative_formula += ADD + globalCheckBonus + '[global check bonus]'; } console.log('updateInitiative', finalSetAttrs); setFinalAttrs(v, finalSetAttrs); }); }; on('change:dexterity_mod change:dexterity_check_bonus change:initiative_bonus change:jack_of_all_trades_toggle change:jack_of_all_trades change:global_check_bonus', function () { updateInitiative(); }); var updateWeight = function () { var collectionArray = ['weight_attacks', 'weight_armor', 'weight_equipment', 'weight_coinage', 'weight_misc']; var finalSetAttrs = {}; getAttrs(collectionArray, function (v) { finalSetAttrs.weight_total = Math.round((getFloatValue(v.weight_attacks) + getFloatValue(v.weight_armor) + getFloatValue(v.weight_equipment) + getFloatValue(v.weight_coinage) + getFloatValue(v.weight_misc)) * 100) / 100; console.log('updateWeight', finalSetAttrs); setFinalAttrs(v, finalSetAttrs); }); }; on('change:weight_attacks change:weight_armor change:weight_equipment change:weight_coinage change:weight_misc', function () { updateWeight(); }); on('change:repeating_attack', function (eventInfo) { var changedField = getRepeatingField('repeating_attack', eventInfo); if (changedField !== 'toggle_details' && changedField !== 'to_hit' && changedField !== 'attack_formula' && changedField !== 'damage_formula' && changedField !== 'second_damage_formula' && changedField !== 'damage_string' && changedField !== 'saving_throw_dc' && changedField !== 'parsed') { var rowId = getRowId('repeating_attack', eventInfo); updateAttack(rowId); } /*updateAttackQuery();*/ }); on('change:repeating_attack:carried change:repeating_attack:weight change:repeating_attack:ammo change:repeating_attack:ammo_weight remove:repeating_attack', function () { var options = { collection: 'attack', toggle: 'carried', qty: 'ammo' }; var sumItems = [ { addOnAfterQty: 'weight', fieldToAdd: 'ammo_weight', itemTotal: 'weight_total', totalField: 'weight_attacks' } ]; sumRepeating(options, sumItems); }); on('change:global_attack_bonus change:global_melee_attack_bonus change:global_ranged_attack_bonus change:global_damage_bonus change:global_melee_damage_bonus change:global_ranged_damage_bonus', function () { updateAttack(); }); var updateAttackToggle = function (v, finalSetAttrs, repeatingString, options) { var attackParse = { attackAbility: options.attackAbility, parseName: 'attack', toggleField: 'roll_toggle', toggleFieldSetTo: '@{roll_toggle_var}', triggerFields: ['type'] }; parseAttackComponents(v, repeatingString, finalSetAttrs, attackParse); var attackFormula = ''; var attackToggle = v[repeatingString + 'roll_toggle']; var toHit = 0; if (!attackToggle || attackToggle === '@{roll_toggle_var}') { var proficiency = v[repeatingString + 'proficiency']; if (!proficiency || proficiency === 'on') { var pb = getIntValue(v.pb); toHit += pb; attackFormula += pb + '[proficient]'; } else { attackFormula += 0 + '[unproficient]'; } if (!exists(v[repeatingString + 'ammo_weight']) && !exists(finalSetAttrs[repeatingString + 'ammo_weight']) && v[repeatingString + 'type'] === 'Ranged Weapon') { finalSetAttrs[repeatingString + 'ammo'] = '.02'; finalSetAttrs[repeatingString + 'ammo_weight'] = '.02'; } var attackAbility = v[repeatingString + 'attack_ability']; if (!exists(attackAbility) && v[repeatingString + 'type'] === 'Ranged Weapon') { attackAbility = '@{dexterity_mod}'; finalSetAttrs[repeatingString + 'attack_ability'] = attackAbility; } else if (finalSetAttrs[repeatingString + 'attack_ability']) { attackAbility = finalSetAttrs[repeatingString + 'attack_ability']; } attackAbility = getAbilityValue(v, attackAbility, options.defaultAbility); if (exists(attackAbility)) { toHit += attackAbility; attackFormula += ADD + attackAbility + '[' + getAbilityShortName(v[repeatingString + 'attack_ability']) + ']'; } var attackBonus = getIntValue(v[repeatingString + 'attack_bonus']); if (exists(attackBonus)) { toHit += attackBonus; attackFormula += ADD + attackBonus + '[bonus]'; } if (exists(options.globalAttackBonus)) { toHit += options.globalAttackBonus; attackFormula += ADD + options.globalAttackBonus + '[' + options.globalAttackBonusLabel + ']'; } if (!v[repeatingString + 'type'] || v[repeatingString + 'type'] === 'Melee Weapon') { if (exists(options.globalMeleeAttackBonus)) { toHit += options.globalMeleeAttackBonus; attackFormula += ADD + options.globalMeleeAttackBonus + '[global melee attack bonus]'; } } else if (v[repeatingString + 'type'] === 'Ranged Weapon') { if (exists(options.globalRangedAttackBonus)) { toHit += options.globalRangedAttackBonus; attackFormula += ADD + options.globalRangedAttackBonus + '[global ranged attack bonus]'; } } } if (!exists(toHit)) { toHit = 0; } if (options.type === 'attack') { finalSetAttrs[repeatingString + 'to_hit'] = toHit; } finalSetAttrs[repeatingString + 'attack_formula'] = attackFormula; }; var updateSavingThrowToggle = function (v, finalSetAttrs, repeatingString, options) { var savingThrowParse = { parseName: 'savingThrow', toggleField: 'saving_throw_toggle', toggleFieldSetTo: '@{saving_throw_toggle_var}', triggerFields: ['saving_throw_vs_ability'] }; parseAttackComponents(v, repeatingString, finalSetAttrs, savingThrowParse); var savingThrowToggle = v[repeatingString + 'saving_throw_toggle']; if (savingThrowToggle === '@{saving_throw_toggle_var}') { var savingThrowDC = 8 + getIntValue(v.pb); var savingThrowAbility = v[repeatingString + 'saving_throw_ability']; if (!savingThrowAbility && savingThrowAbility !== '0') { savingThrowAbility = v.default_ability; finalSetAttrs[repeatingString + 'saving_throw_ability'] = v.default_ability; } savingThrowDC += getAbilityValue(v, savingThrowAbility, 'strength_mod'); if (options && options.bonusDC) { savingThrowDC += getIntValue(options.bonusDC); } savingThrowDC += getIntValue(v[repeatingString + 'saving_throw_bonus']); finalSetAttrs[repeatingString + 'saving_throw_dc'] = savingThrowDC; } }; var updateDamageToggle = function (v, finalSetAttrs, repeatingString, options) { var damageParse = { addCastingModifier: exists(v[repeatingString + 'add_casting_modifier']), parseName: 'damage', toggleField: 'damage_toggle', toggleFieldSetTo: '@{damage_toggle_var}', triggerFields: ['damage'] }; parseAttackComponents(v, repeatingString, finalSetAttrs, damageParse); var damageString = ''; var damageFormula = ''; var damageToggle = v[repeatingString + 'damage_toggle']; var damageAbility; var damageType; if (!damageToggle || damageToggle === '@{damage_toggle_var}') { var damageAddition = 0; var damage = v[repeatingString + 'damage']; if (exists(damage)) { damageString += damage; damageFormula += damage + '[damage]'; } if (!options.defaultDamageAbility) { options.defaultDamageAbility = 0; } damageAbility = v[repeatingString + 'damage_ability']; if (!exists(damageAbility) && v[repeatingString + 'type'] === 'Ranged Weapon') { damageAbility = '@{dexterity_mod}'; finalSetAttrs[repeatingString + 'damage_ability'] = damageAbility; } if (exists(damageAbility) || options.defaultDamageAbility) { damageAbility = getAbilityValue(v, damageAbility, options.defaultDamageAbility); if (exists(damageAbility)) { damageAddition += damageAbility; if (damageFormula !== '') { damageFormula += ADD; } damageFormula += damageAbility + '[' + getAbilityShortName(v[repeatingString + 'damage_ability']) + ']'; } } var damageBonus = getIntValue(v[repeatingString + 'damage_bonus']); if (exists(damageBonus)) { damageAddition += damageBonus; if (damageFormula !== '') { damageFormula += ADD; } damageFormula += damageBonus + '[bonus]'; } if (exists(options.globalDamageBonus)) { damageAddition += options.globalDamageBonus; damageFormula += ADD + options.globalDamageBonus + '[global damage bonus]'; } if (options && options.globalMeleeDamageBonus && !v[repeatingString + 'type'] || v[repeatingString + 'type'] === 'Melee Weapon') { damageAddition += options.globalMeleeDamageBonus; if (damageFormula !== '') { damageFormula += ADD; } damageFormula += options.globalMeleeDamageBonus + '[global melee damage bonus]'; } else if (options && options.globalRangedDamageBonus && v[repeatingString + 'type'] === 'Ranged Weapon') { damageAddition += options.globalRangedDamageBonus; if (damageFormula !== '') { damageFormula += ADD; } damageFormula += options.globalRangedDamageBonus + '[global ranged damage bonus]'; } if (exists(damageAddition)) { damageString += ADD + damageAddition; } damageType = v[repeatingString + 'damage_type']; if (exists(damageType)) { if (hasUpperCase(damageType)) { damageType = damageType.toLowerCase(); finalSetAttrs[repeatingString + 'damage_type'] = damageType; } damageString += SPACE + damageType; } } if (!exists(damageFormula)) { damageFormula = 0; } finalSetAttrs[repeatingString + 'damage_formula'] = damageFormula; var secondDamageParse = { parseName: 'secondDamage', toggleField: 'second_damage_toggle', toggleFieldSetTo: '@{second_damage_toggle_var}', triggerFields: ['second_damage'] }; parseAttackComponents(v, repeatingString, finalSetAttrs, secondDamageParse); var secondDamageFormula = ''; var secondDamageToggle = fromVOrFinalSetAttrs(v, finalSetAttrs, repeatingString + 'second_damage_toggle'); if (secondDamageToggle === '@{second_damage_toggle_var}') { var secondDamageAddition = 0; var secondDamage = v[repeatingString + 'second_damage']; if (exists(secondDamage)) { damageString += ADD + secondDamage; secondDamageFormula += secondDamage + '[second damage]'; } var secondDamageAbility = v[repeatingString + 'second_damage_ability']; if (exists(secondDamageAbility)) { secondDamageAbility = getAbilityValue(v, secondDamageAbility); if (exists(secondDamageAbility)) { secondDamageAddition += secondDamageAbility; if (secondDamageFormula !== '') { secondDamageFormula += ADD; } secondDamageFormula += secondDamageAbility + '[' + getAbilityShortName(v[repeatingString + 'second_damage_ability']) + ']'; } } var secondDamageBonus = getIntValue(v[repeatingString + 'second_damage_bonus']); if (exists(secondDamageBonus)) { secondDamageAddition += secondDamageBonus; if (secondDamageFormula !== '') { secondDamageFormula += ADD; } secondDamageFormula += secondDamageBonus + '[bonus]'; } if (exists(secondDamageAddition)) { damageString += ADD + secondDamageAddition; } var secondDamageType = v[repeatingString + 'second_damage_type']; if (exists(secondDamageType)) { if (hasUpperCase(secondDamageType)) { secondDamageType = secondDamageType.toLowerCase(); finalSetAttrs[repeatingString + 'second_damage_type'] = secondDamageType; } damageString += SPACE + secondDamageType; } if (!exists(v[repeatingString + 'parsed']) || v[repeatingString + 'parsed'].indexOf('damageProperties') === -1) { var damageProperties = v[repeatingString + 'properties']; if (exists(damageProperties)) { if (damageProperties.indexOf('Versatile') !== -1) { if (!exists(damageAbility)) { damageAbility = '@{strength_mod}'; } finalSetAttrs[repeatingString + 'second_damage_ability'] = damageAbility; finalSetAttrs[repeatingString + 'second_damage_type'] = damageType; } if (!finalSetAttrs[repeatingString + 'parsed']) { finalSetAttrs[repeatingString + 'parsed'] = ''; } finalSetAttrs[repeatingString + 'parsed'] += ' damageProperties'; } } } if (!exists(secondDamageFormula)) { secondDamageFormula = 0; } if (!exists(damageString)) { damageString = ' '; } finalSetAttrs[repeatingString + 'second_damage_formula'] = secondDamageFormula; if (options.type === 'attack') { finalSetAttrs[repeatingString + 'damage_string'] = damageString; } }; var updateHealToggle = function (v, finalSetAttrs, repeatingString) { var healParse = { addCastingModifier: exists(v[repeatingString + 'add_casting_modifier']), parseName: 'heal', toggleField: 'heal_toggle', toggleFieldSetTo: '@{heal_toggle_var}', triggerFields: ['heal'] }; parseAttackComponents(v, repeatingString, finalSetAttrs, healParse); var healFormula = '@{heal}[heal]'; var healToggle = v[repeatingString + 'heal_toggle']; if (healToggle === '@{heal_toggle_var}') { var healAbility = v[repeatingString + 'heal_ability']; healAbility = getAbilityValue(v, healAbility); if (exists(healAbility)) { healFormula += ADD + healAbility + '[' + getAbilityShortName(v[repeatingString + 'heal_ability']) + ']'; } var healBonus = getIntValue(v[repeatingString + 'heal_bonus']); if (exists(healBonus)) { healFormula += ADD + healBonus + '[bonus]'; } if (exists(v.global_spell_heal_bonus)) { healFormula += ADD + '@{global_spell_heal_bonus}[global spell heal bonus]'; } } finalSetAttrs[repeatingString + 'heal_formula'] = healFormula; console.log('updateHealToggle', finalSetAttrs); }; var updateHigherLevelToggle = function (v, finalSetAttrs, repeatingString) { var higherLevelParse = { addCastingModifier: exists(v[repeatingString + 'add_casting_modifier']), parseName: 'higherLevel', toggleField: 'higher_level_toggle', toggleFieldSetTo: '@{higher_level_toggle_var}', triggerFields: ['higher_level_dice', 'higher_level_die', 'second_higher_level_dice', 'second_higher_level_die', 'higher_level_heal'] }; parseAttackComponents(v, repeatingString, finalSetAttrs, higherLevelParse); var higherLevelToggle = v[repeatingString + 'higher_level_toggle']; if (exists(higherLevelToggle) && higherLevelToggle === '@{higher_level_toggle_var}') { var spellLevelQuery = '?{Spell Level'; var spellLevel = getIntValue(v[repeatingString + 'spell_level']); for (var i = spellLevel; i <= 9; i++) { spellLevelQuery += '|' + i; } spellLevelQuery += '}'; finalSetAttrs[repeatingString + 'higher_level_query'] = spellLevelQuery; var damageToggle = v[repeatingString + 'damage_toggle']; if (damageToggle && damageToggle === '@{damage_toggle_var}') { finalSetAttrs[repeatingString + 'damage_formula'] += ADD + '((@{higher_level_query} - @{spell_level}) * @{higher_level_dice})@{higher_level_die}[higher lvl]'; } var secondDamageToggle = v[repeatingString + 'second_damage_toggle']; if (secondDamageToggle && secondDamageToggle === '@{second_damage_toggle_var}') { finalSetAttrs[repeatingString + 'second_damage_formula'] += ADD + '((@{higher_level_query} - @{spell_level}) * @{second_higher_level_dice})@{second_higher_level_die}[higher lvl]'; } var healToggle = v[repeatingString + 'heal_toggle']; if (healToggle && healToggle === '@{heal_toggle_var}') { finalSetAttrs[repeatingString + 'heal_formula'] += ADD + '((@{higher_level_query} - @{spell_level}) * @{higher_level_dice})@{higher_level_die}[higher lvl] + (@{higher_level_heal} * (@{higher_level_query} - @{spell_level}))[higher lvl flat amount]'; } } console.log('updateHigherLevelToggle', finalSetAttrs); }; var updateAttackQuery = function () { var repeatingItem = 'repeating_attack'; var collectionArray = []; var finalSetAttrs = {}; finalSetAttrs.attack_query_var = '?{Attack'; getSectionIDs(repeatingItem, function (ids) { for (var i = 0; i < ids.length; i++) { var repeatingString = repeatingItem + '_' + ids[i] + '_'; collectionArray.push(repeatingString + 'name'); collectionArray.push(repeatingString + 'reach'); collectionArray.push(repeatingString + 'range'); collectionArray.push(repeatingString + 'ammo'); collectionArray.push(repeatingString + 'to_hit'); collectionArray.push(repeatingString + 'attack_formula'); collectionArray.push(repeatingString + 'roll_toggle'); collectionArray.push(repeatingString + 'saving_throw_toggle'); collectionArray.push(repeatingString + 'damage_toggle'); collectionArray.push(repeatingString + 'reach'); collectionArray.push(repeatingString + 'second_damage_toggle'); collectionArray.push(repeatingString + 'extras_toggle'); } getAttrs(collectionArray, function (v) { for (var j = 0; j < ids.length; j++) { var repeatingString = repeatingItem + '_' + ids[j] + '_'; finalSetAttrs.attack_query_var += '|' + v[repeatingString + 'name'] + ','; finalSetAttrs.attack_query_var += ' {{title=' + v[repeatingString + 'name'] + '}}'; finalSetAttrs.attack_query_var += '{{reach=' + emptyIfUndefined(v[repeatingString + 'reach']) + '}}'; finalSetAttrs.attack_query_var += '{{range=' + emptyIfUndefined(v[repeatingString + 'range']) + '}}'; finalSetAttrs.attack_query_var += '{{ammo=' + emptyIfUndefined(v[repeatingString + 'ammo']) + '}}'; finalSetAttrs.attack_query_var += '' + emptyIfUndefined(v[repeatingString + 'roll_toggle']); finalSetAttrs.attack_query_var += '' + emptyIfUndefined(v[repeatingString + 'saving_throw_toggle']); finalSetAttrs.attack_query_var += '' + emptyIfUndefined(v[repeatingString + 'damage_toggle']); finalSetAttrs.attack_query_var += '' + emptyIfUndefined(v[repeatingString + 'second_damage_toggle']); finalSetAttrs.attack_query_var += '' + emptyIfUndefined(v[repeatingString + 'extras_toggle']); } finalSetAttrs.attack_query_var += '}'; console.log('updateAttackQuery', finalSetAttrs); setFinalAttrs(v, finalSetAttrs); }); }); }; var updateAttack = function (rowId) { var repeatingItem = 'repeating_attack'; var collectionArray = ['pb', 'finesse_mod', 'global_attack_bonus', 'global_melee_attack_bonus', 'global_ranged_attack_bonus', 'global_damage_bonus', 'global_melee_damage_bonus', 'global_ranged_damage_bonus', 'default_ability']; var finalSetAttrs = {}; for (var i = 0; i < ABILITIES.length; i++) { collectionArray.push(ABILITIES[i] + '_mod'); } getSectionIDs(repeatingItem, function (ids) { if (rowId) { ids = []; ids.push(rowId); } for (var i = 0; i < ids.length; i++) { var repeatingString = repeatingItem + '_' + ids[i] + '_'; collectionArray.push(repeatingString + 'name'); collectionArray.push(repeatingString + 'type'); collectionArray.push(repeatingString + 'roll_toggle'); collectionArray.push(repeatingString + 'to_hit'); collectionArray.push(repeatingString + 'attack_formula'); collectionArray.push(repeatingString + 'proficiency'); collectionArray.push(repeatingString + 'attack_ability'); collectionArray.push(repeatingString + 'attack_bonus'); collectionArray.push(repeatingString + 'saving_throw_toggle'); collectionArray.push(repeatingString + 'saving_throw_ability'); collectionArray.push(repeatingString + 'saving_throw_bonus'); collectionArray.push(repeatingString + 'saving_throw_dc'); collectionArray.push(repeatingString + 'damage_toggle'); collectionArray.push(repeatingString + 'damage_formula'); collectionArray.push(repeatingString + 'damage'); collectionArray.push(repeatingString + 'damage_ability'); collectionArray.push(repeatingString + 'damage_bonus'); collectionArray.push(repeatingString + 'damage_type'); collectionArray.push(repeatingString + 'second_damage_toggle'); collectionArray.push(repeatingString + 'second_damage_formula'); collectionArray.push(repeatingString + 'second_damage'); collectionArray.push(repeatingString + 'second_damage_ability'); collectionArray.push(repeatingString + 'second_damage_bonus'); collectionArray.push(repeatingString + 'second_damage_type'); collectionArray.push(repeatingString + 'damage_string'); collectionArray.push(repeatingString + 'modifiers'); collectionArray.push(repeatingString + 'properties'); collectionArray.push(repeatingString + 'weight'); collectionArray.push(repeatingString + 'ammo_weight'); collectionArray.push(repeatingString + 'parsed'); } getAttrs(collectionArray, function (v) { for (var j = 0; j < ids.length; j++) { var repeatingString = repeatingItem + '_' + ids[j] + '_'; var attackName = v[repeatingString + 'name']; if (!exists(attackName)) { return; } if (!exists(v[repeatingString + 'parsed']) || v[repeatingString + 'parsed'].indexOf('modifiers') === -1) { var attackModifiers = v[repeatingString + 'modifiers']; if (exists(attackModifiers)) { var attackBonus = attackModifiers.replace(/.*(?:Melee|Ranged) Attacks \+(\d+).*/gi, '$1'); var damageBonus = attackModifiers.replace(/.*(?:Melee|Ranged) Damage \+(\d+).*/gi, '$1'); finalSetAttrs[repeatingString + 'attack_bonus'] = attackBonus; finalSetAttrs[repeatingString + 'damage_bonus'] = damageBonus; if (!finalSetAttrs[repeatingString + 'parsed']) { finalSetAttrs[repeatingString + 'parsed'] = ''; } finalSetAttrs[repeatingString + 'parsed'] += ' modifiers'; } } if (!exists(v[repeatingString + 'parsed']) || v[repeatingString + 'parsed'].indexOf('attackProperties') === -1) { var attackProperties = v[repeatingString + 'properties']; if (exists(attackProperties)) { if (attackProperties.indexOf('Reach') !== -1) { finalSetAttrs[repeatingString + 'reach'] = '10 ft'; } else if (v[repeatingString + 'type'] === 'Melee Weapon') { finalSetAttrs[repeatingString + 'reach'] = '5 ft'; } if (attackProperties.indexOf('Finesse') !== -1) { finalSetAttrs[repeatingString + 'attack_ability'] = '@{finesse_mod}'; finalSetAttrs[repeatingString + 'damage_ability'] = '@{finesse_mod}'; } if (attackProperties.indexOf('Thrown') !== -1) { var ammoWeight = parseFloat(v[repeatingString + 'weight']); finalSetAttrs[repeatingString + 'ammo'] = 1; finalSetAttrs[repeatingString + 'ammo_weight'] = ammoWeight; finalSetAttrs[repeatingString + 'weight'] = 0; } if (!finalSetAttrs[repeatingString + 'parsed']) { finalSetAttrs[repeatingString + 'parsed'] = ''; } finalSetAttrs[repeatingString + 'parsed'] += ' attackProperties'; } } var attackOptions = { defaultAbility: 'strength_mod', globalAttackBonus: getIntValue(v.global_attack_bonus), globalAttackBonusLabel: 'global attack bonus', globalMeleeAttackBonus: getIntValue(v.global_melee_attack_bonus), globalRangedAttackBonus: getIntValue(v.global_ranged_attack_bonus), type: 'attack' }; updateAttackToggle(v, finalSetAttrs, repeatingString, attackOptions); updateSavingThrowToggle(v, finalSetAttrs, repeatingString); var damageOptions = { defaultDamageAbility: 'strength_mod', globalDamageBonus: getIntValue(v.global_damage_bonus), globalMeleeDamageBonus: getIntValue(v.global_melee_damage_bonus), globalRangedDamageBonus: getIntValue(v.global_ranged_damage_bonus), type: 'attack' }; updateDamageToggle(v, finalSetAttrs, repeatingString, damageOptions); } console.log('updateAttack', finalSetAttrs); setFinalAttrs(v, finalSetAttrs); }); }); }; var updateSpell = function (rowId) { var repeatingItem = 'repeating_spell'; var collectionArray = ['pb', 'finesse_mod', 'global_spell_attack_bonus', 'global_spell_damage_bonus', 'global_spell_dc_bonus', 'global_spell_heal_bonus', 'default_ability']; var finalSetAttrs = {}; for (var i = 0; i < ABILITIES.length; i++) { collectionArray.push(ABILITIES[i] + '_mod'); } getSectionIDs(repeatingItem, function (ids) { if (rowId) { ids = []; ids.push(rowId); } for (var i = 0; i < ids.length; i++) { var repeatingString = repeatingItem + '_' + ids[i] + '_'; collectionArray.push(repeatingString + 'name'); collectionArray.push(repeatingString + 'type'); collectionArray.push(repeatingString + 'roll_toggle'); collectionArray.push(repeatingString + 'to_hit'); collectionArray.push(repeatingString + 'attack_formula'); collectionArray.push(repeatingString + 'proficiency'); collectionArray.push(repeatingString + 'attack_ability'); collectionArray.push(repeatingString + 'attack_bonus'); collectionArray.push(repeatingString + 'saving_throw_toggle'); collectionArray.push(repeatingString + 'saving_throw_ability'); collectionArray.push(repeatingString + 'saving_throw_vs_ability'); collectionArray.push(repeatingString + 'saving_throw_bonus'); collectionArray.push(repeatingString + 'saving_throw_dc'); collectionArray.push(repeatingString + 'damage_toggle'); collectionArray.push(repeatingString + 'damage_formula'); collectionArray.push(repeatingString + 'damage'); collectionArray.push(repeatingString + 'damage_ability'); collectionArray.push(repeatingString + 'damage_bonus'); collectionArray.push(repeatingString + 'damage_type'); collectionArray.push(repeatingString + 'second_damage_toggle'); collectionArray.push(repeatingString + 'second_damage_formula'); collectionArray.push(repeatingString + 'second_damage'); collectionArray.push(repeatingString + 'second_damage_ability'); collectionArray.push(repeatingString + 'second_damage_bonus'); collectionArray.push(repeatingString + 'second_damage_type'); collectionArray.push(repeatingString + 'damage_string'); collectionArray.push(repeatingString + 'parsed'); collectionArray.push(repeatingString + 'spell_level'); collectionArray.push(repeatingString + 'casting_time'); collectionArray.push(repeatingString + 'components'); collectionArray.push(repeatingString + 'heal_toggle'); collectionArray.push(repeatingString + 'heal'); collectionArray.push(repeatingString + 'heal_ability'); collectionArray.push(repeatingString + 'heal_bonus'); collectionArray.push(repeatingString + 'add_casting_modifier'); collectionArray.push(repeatingString + 'higher_level_toggle'); collectionArray.push(repeatingString + 'higher_level_dice'); collectionArray.push(repeatingString + 'higher_level_die'); collectionArray.push(repeatingString + 'second_higher_level_dice'); collectionArray.push(repeatingString + 'second_higher_level_die'); collectionArray.push(repeatingString + 'higher_level_heal'); } getAttrs(collectionArray, function (v) { for (var j = 0; j < ids.length; j++) { var repeatingString = repeatingItem + '_' + ids[j] + '_'; var spellName = v[repeatingString + 'name']; if (!exists(spellName)) { return; } var spellLevel = getIntValue(v[repeatingString + 'spell_level']); if (!exists(spellLevel)) { spellLevel = 0; finalSetAttrs[repeatingString + 'spell_level'] = spellLevel; } if (spellLevel === 0) { finalSetAttrs[repeatingString + 'is_prepared'] = 'on'; } finalSetAttrs[repeatingString + 'friendly_level'] = ordinalSpellLevel(spellLevel); var spellComponents = v[repeatingString + 'components']; if (exists(spellComponents)) { if (spellComponents.indexOf('V') !== -1) { finalSetAttrs[repeatingString + 'components_verbal'] = 1; } if (spellComponents.indexOf('S') !== -1) { finalSetAttrs[repeatingString + 'components_somatic'] = 1; } if (spellComponents.indexOf('M') !== -1) { finalSetAttrs[repeatingString + 'components_material'] = 1; } } var attackOptions = { attackAbility: true, globalAttackBonus: getIntValue(v.global_spell_attack_bonus), type: 'spell' }; updateAttackToggle(v, finalSetAttrs, repeatingString, attackOptions); var savingThrowOptions = { bonusDC: v.global_spell_dc_bonus }; updateSavingThrowToggle(v, finalSetAttrs, repeatingString, savingThrowOptions); var damageOptions = { globalDamageBonus: getIntValue(v.global_spell_damage_bonus), type: 'spell' }; updateDamageToggle(v, finalSetAttrs, repeatingString, damageOptions); updateHealToggle(v, finalSetAttrs, repeatingString); updateHigherLevelToggle(v, finalSetAttrs, repeatingString); } console.log('updateSpell', finalSetAttrs); setFinalAttrs(v, finalSetAttrs); }); }); }; on('change:repeating_spell', function (eventInfo) { var changedField = getRepeatingField('repeating_spell', eventInfo); if (changedField !== 'toggle_details' && changedField !== 'to_hit' && changedField !== 'attack_formula' && changedField !== 'damage_formula' && changedField !== 'second_damage_formula' && changedField !== 'damage_string' && changedField !== 'saving_throw_dc' && changedField !== 'heal_formula' && changedField !== 'higher_level_query' && changedField !== 'parsed') { console.log('spell changedField', changedField); var rowId = getRowId('repeating_spell', eventInfo); updateSpell(rowId); } }); on('change:global_spell_attack_bonus change:global_spell_damage_bonus change:global_spell_dc_bonus change:global_spell_heal_bonus', function () { console.log('updateSpell triggered by global'); updateSpell(); }); var updateD20Mod = function () { var collectionArray = ['halfling_luck']; var finalSetAttrs = {}; getAttrs(collectionArray, function (v) { if (v.halfling_luck === 'on') { finalSetAttrs.d20_mod = 'ro<1[halfling luck]'; } else { finalSetAttrs.d20_mod = ''; } console.log('updateD20Mod', finalSetAttrs); setFinalAttrs(v, finalSetAttrs); }); }; on('change:halfling_luck', function () { updateD20Mod(); }); var updateSkill = function (rowId) { console.log('updateSkill', rowId); var repeatingItem = 'repeating_skill'; var collectionArray = ['jack_of_all_trades_toggle', 'jack_of_all_trades', 'pb', 'exp', 'global_check_bonus']; var finalSetAttrs = {}; for (var i = 0; i < ABILITIES.length; i++) { collectionArray.push(ABILITIES[i] + '_mod'); collectionArray.push(ABILITIES[i] + '_check_bonus'); } getSectionIDs(repeatingItem, function (ids) { if (rowId) { ids = []; ids.push(rowId); } for (var i = 0; i < ids.length; i++) { var repeatingString = repeatingItem + '_' + ids[i] + '_'; collectionArray.push(repeatingString + 'proficiency'); collectionArray.push(repeatingString + 'name'); collectionArray.push(repeatingString + 'ability'); collectionArray.push(repeatingString + 'bonus'); } getAttrs(collectionArray, function (v) { for (var j = 0; j < ids.length; j++) { var repeatingString = repeatingItem + '_' + ids[j] + '_'; var skillName = v[repeatingString + 'name']; if (!exists(skillName)) { return; } var ability = getAbilityModName(v[repeatingString + 'ability']); console.log('ability', ability); finalSetAttrs[repeatingString + 'ability_short_name'] = getAbilityShortName(ability, true); var total = 0; var totalFormula = ''; var proficiency = v[repeatingString + 'proficiency']; if (!proficiency || proficiency === 'unproficient') { if (v.jack_of_all_trades_toggle === '@{jack_of_all_trades}') { var jackOfAllTrades = getIntValue(v.jack_of_all_trades); total += jackOfAllTrades; totalFormula += jackOfAllTrades + '[jack of all trades]'; } else { totalFormula += 0 + '[unproficient]'; } } else if (proficiency === 'proficient') { var pb = getIntValue(v.pb); total += pb; totalFormula += pb + '[proficient]'; } else if (proficiency === 'expertise') { var exp = getIntValue(v.exp); total += exp; totalFormula += exp + '[expertise]'; } var skillAbility = getAbilityValue(v, ability, 'strength_mod'); if (exists(skillAbility)) { total += skillAbility; totalFormula += ADD + skillAbility + '[' + getAbilityShortName(ability) + ']'; } var skillBonus = getIntValue(v[repeatingString + 'bonus']); if (exists(skillBonus)) { total += skillBonus; totalFormula += ADD + skillBonus + '[bonus]'; } var skillAbilityName = getAbilityName(ability); if (exists(skillAbilityName)) { var checkBonus = v[skillAbilityName + '_check_bonus']; if (exists(checkBonus)) { checkBonus = getIntValue(checkBonus); total += checkBonus; totalFormula += ADD + checkBonus + '[' + getAbilityShortName(ability) + ' check bonus]'; } } var globalCheckBonus = getIntValue(v.global_check_bonus); if (exists(globalCheckBonus)) { total += globalCheckBonus; totalFormula += ADD + globalCheckBonus + '[global check bonus]'; } finalSetAttrs[repeatingString + 'total'] = total; finalSetAttrs[repeatingString + 'formula'] = totalFormula; } console.log('updateSkill', finalSetAttrs); setFinalAttrs(v, finalSetAttrs); }); }); }; on('change:repeating_skill', function (eventInfo) { var changedField = getRepeatingField('repeating_skill', eventInfo); if (changedField !== 'ability_short_name' && changedField !== 'total' && changedField !== 'formula') { console.log('change:repeating_skill changedField', changedField); var rowId = getRowId('repeating_skill', eventInfo); console.log('change:repeating_skill rowId', rowId); updateSkill(rowId); } }); on('change:jack_of_all_trades_toggle change:jack_of_all_trades change:global_check_bonus change:strength_check_bonus change:dexterity_check_bonus change:constitution_check_bonus change:intelligence_check_bonus change:wisdom_check_bonus change:charisma_check_bonus', function () { updateSkill(); }); function updateSkillsFromSRD () { var repeatingItem = 'repeating_skill'; var collectionArray = ['skills_srd', 'level', 'challenge', 'strength_mod', 'dexterity_mod', 'constitution_mod', 'intelligence_mod', 'wisdom_mod', 'charisma_mod']; var finalSetAttrs = {}; getSectionIDs(repeatingItem, function (ids) { for (var i = 0; i < ids.length; i++) { var repeatingString = repeatingItem + '_' + ids[i] + '_'; collectionArray.push(repeatingString + 'name'); collectionArray.push(repeatingString + 'ability'); } getAttrs(collectionArray, function (v) { var skillsFromSRD = v.skills_srd; var skillsObj = {}; var pb = getPB(v.level, v.challenge); var expertise = pb * 2; var skillName; var repeatingString; if (exists(skillsFromSRD)) { for (var j = 0; j < ids.length; j++) { repeatingString = repeatingItem + '_' + ids[j] + '_'; skillName = v[repeatingString + 'name']; skillsObj[skillName] = ids[j]; } var re = /(\w+)\s?((?:\+|\-)\d+)/gi; while (match = re.exec(skillsFromSRD)) { if (match && match[1] && match[2]) { skillName = match[1]; if (skillsObj[skillName]) { var skillId = skillsObj[skillName]; repeatingString = repeatingItem + '_' + skillId + '_'; var skillAbility = v[repeatingString + 'ability']; var abilityValue = getAbilityValue(v, skillAbility); var skillBonus = getIntValue(match[2]) - abilityValue; if (skillBonus >= expertise) { finalSetAttrs[repeatingString + 'proficiency'] = 'expertise'; if (skillBonus > expertise) { finalSetAttrs[repeatingString + 'bonus'] = skillBonus - expertise; } } else if (skillBonus >= pb) { finalSetAttrs[repeatingString + 'proficiency'] = 'proficient'; if (skillBonus > pb) { finalSetAttrs[repeatingString + 'bonus'] = skillBonus - pb; } } } else { console.log(skillName + ' does not exist in the list of skills'); } } } } console.log('updateSkillsFromSRD', finalSetAttrs); setFinalAttrs(v, finalSetAttrs); }); }); } on('change:skills_srd', function () { updateSkillsFromSRD(); }); function updateSavingThrowsFromSRD () { var collectionArray = ['saving_throws_srd']; var finalSetAttrs = {}; getAttrs(collectionArray, function (v) { var savingThrowsFromSRD = v.saving_throws_srd; var pbVar = '@{PB}'; if (savingThrowsFromSRD.indexOf('Str') !== -1) { finalSetAttrs.strength_save_prof = pbVar; } if (savingThrowsFromSRD.indexOf('Dex') !== -1) { finalSetAttrs.dexterity_save_prof = pbVar; } if (savingThrowsFromSRD.indexOf('Con') !== -1) { finalSetAttrs.constitution_save_prof = pbVar; } if (savingThrowsFromSRD.indexOf('Int') !== -1) { finalSetAttrs.intelligence_save_prof = pbVar; } if (savingThrowsFromSRD.indexOf('Wis') !== -1) { finalSetAttrs.wisdom_save_prof = pbVar; } if (savingThrowsFromSRD.indexOf('Cha') !== -1) { finalSetAttrs.charisma_save_prof = pbVar; } console.log('updateSavingThrowsFromSRD', finalSetAttrs); setFinalAttrs(v, finalSetAttrs); }); } on('change:saving_throws_srd', function () { updateSavingThrowsFromSRD(); }); var sheetOpened = function () { var collectionArray = ['version', 'strength', 'dexterity', 'constitution', 'intelligence', 'wisdom', 'charisma']; var finalSetAttrs = {}; getAttrs(collectionArray, function (v) { var version = v.version; if (!version) { updatePb(); var setAbilities = {}; if (!exists(v.strength)) { setAbilities.strength = 10; setAbilities.strength_mod = 0; setAbilities.strength_mod_with_sign = '+0'; } if (!exists(v.dexterity)) { setAbilities.dexterity = 10; setAbilities.dexterity_mod = 0; setAbilities.dexterity_mod_with_sign = '+0'; } if (!exists(v.constitution)) { setAbilities.constitution = 10; setAbilities.constitution_mod = 0; setAbilities.constitution_mod_with_sign = '+0'; } if (!exists(v.intelligence)) { setAbilities.intelligence = 10; setAbilities.intelligence_mod = 0; setAbilities.intelligence_mod_with_sign = '+0'; } if (!exists(v.wisdom)) { setAbilities.wisdom = 10; setAbilities.wisdom_mod = 0; setAbilities.wisdom_mod_with_sign = '+0'; } if (!exists(v.charisma)) { setAbilities.charisma = 10; setAbilities.charisma_mod = 0; setAbilities.charisma_mod_with_sign = '+0'; } setFinalAttrs(v, setAbilities); var skills = [ { 'name': 'Acrobatics', 'ability': 'dexterity' }, { 'name': 'Animal Handling', 'ability': 'wisdom' }, { 'name': 'Arcana', 'ability': 'intelligence' }, { 'name': 'Athletics', 'ability': 'strength' }, { 'name': 'Deception', 'ability': 'charisma' }, { 'name': 'History', 'ability': 'intelligence' }, { 'name': 'Insight', 'ability': 'wisdom' }, { 'name': 'Intimidation', 'ability': 'charisma' }, { 'name': 'Investigation', 'ability': 'intelligence' }, { 'name': 'Medicine', 'ability': 'wisdom' }, { 'name': 'Nature', 'ability': 'intelligence' }, { 'name': 'Perception', 'ability': 'wisdom' }, { 'name': 'Performance', 'ability': 'charisma' }, { 'name': 'Persuasion', 'ability': 'charisma' }, { 'name': 'Religion', 'ability': 'intelligence' }, { 'name': 'Sleight of Hand', 'ability': 'dexterity' }, { 'name': 'Stealth', 'ability': 'dexterity' }, { 'name': 'Survival', 'ability': 'wisdom' } ]; for (var i = 0; i < skills.length; i++) { var newRowId = generateRowID(); var repeatingString = 'repeating_skill_' + newRowId + '_'; finalSetAttrs[repeatingString + 'name'] = skills[i].name; finalSetAttrs[repeatingString + 'ability'] = '@{' + skills[i].ability + '_mod}'; updateSkill(newRowId); } } if (versionCompare(version, '2.0.10') < 0) { updateAbilityModifier('strength'); updateAbilityModifier('dexterity'); updateAbilityModifier('constitution'); updateAbilityModifier('intelligence'); updateAbilityModifier('wisdom'); updateAbilityModifier('charisma'); } if (!version || version !== currentVersion) { finalSetAttrs.version = currentVersion; } console.log('sheetOpened', finalSetAttrs); setFinalAttrs(v, finalSetAttrs); updateInitiative(); updateArmor(); }); }; on('sheet:opened', function () { sheetOpened(); }); var updateAttachers = function () { var repeatingItem = 'repeating_attacher'; var collectionArray = ['attacher_initiative', 'attacher_death_saving_throw', 'attacher_hit_dice', 'attacher_attack', 'attacher_spell', 'attacher_skill']; var finalSetAttrs = {}; var itemsToPush = ['initiative', 'death_saving_throw', 'hit_dice', 'attack', 'spell', 'skill']; for (var i = 0; i < ABILITIES.length; i++) { collectionArray.push('attacher_' + ABILITIES[i] + '_check'); collectionArray.push('attacher_' + ABILITIES[i] + '_saving_throw'); itemsToPush.push(ABILITIES[i] + '_check'); itemsToPush.push(ABILITIES[i] + '_saving_throw'); } getSectionIDs(repeatingItem, function (ids) { for (var i = 0; i < ids.length; i++) { var repeatingString = repeatingItem + '_' + ids[i] + '_'; collectionArray.push(repeatingString + 'name'); collectionArray.push(repeatingString + 'freetext'); collectionArray.push(repeatingString + 'freeform'); for (var x = 0; x < itemsToPush.length; x++) { collectionArray.push(repeatingString + itemsToPush[x] + '_attacher'); finalSetAttrs['attacher_' + itemsToPush[x]] = ' '; } } getAttrs(collectionArray, function (v) { for (var j = 0; j < ids.length; j++) { var repeatingString = repeatingItem + '_' + ids[j] + '_'; for (var x = 0; x < itemsToPush.length; x++) { var attacher = v[repeatingString + itemsToPush[x] + '_attacher']; if (exists(attacher) && attacher === 'on') { var attacherName = v[repeatingString + 'name'] || ''; var freeText = v[repeatingString + 'freetext']; if (exists(attacherName) && exists(freeText)) { finalSetAttrs['attacher_' + itemsToPush[x]] += '{{' + attacherName + '=' + freeText + '}}' + ' '; } var freeForm = v[repeatingString + 'freeform']; if (exists(freeForm)) { finalSetAttrs['attacher_' + itemsToPush[x]] += freeForm + ' '; } } } } console.log('updateAttachers', finalSetAttrs); setFinalAttrs(v, finalSetAttrs); }); }); }; on('change:repeating_attacher remove:repeating_attacher', function () { updateAttachers(); }); var updateNPCSizeTypeAlignment = function () { var collectionArray = ['size', 'type', 'alignment']; var finalSetAttrs = {}; getAttrs(collectionArray, function (v) { var creatureSize = v.size || 'Large'; finalSetAttrs.size_type_alignment = creatureSize; var sizeToHdSize = { Tiny: 4, Small: 6, Medium: 8, Large: 10, Huge: 12, Gargantuan: 20 }; finalSetAttrs.hit_die = 'd' + sizeToHdSize[creatureSize]; if (v.type) { finalSetAttrs.size_type_alignment += SPACE + v.type; } if (v.alignment) { finalSetAttrs.size_type_alignment += ',' + SPACE + v.alignment; } console.log('updateNPCSizeTypeAlignment', finalSetAttrs); setFinalAttrs(v, finalSetAttrs); }); }; on('change:size change:type change:alignment', function () { updateNPCSizeTypeAlignment(); }); var updateNPCChallenge = function () { var collectionArray = ['challenge', 'xp']; var finalSetAttrs = {}; getAttrs(collectionArray, function (v) { var challenge = v.challenge; var xpPerChallenge = { 0: 0, '1/8': 25, '1/4': 50, '1/2': 100, 1: 200, 2: 450, 3: 700, 4: 1100, 5: 1800, 6: 2300, 7: 2900, 8: 3900, 9: 5000, 10: 5900, 11: 7200, 12: 8400, 13: 10000, 14: 11500, 15: 13000, 16: 15000, 17: 18000, 18: 20000, 19: 22000, 20: 25000, 21: 33000, 22: 41000, 23: 50000, 24: 62000, 25: 75000, 26: 90000, 27: 105000, 28: 120000, 29: 135000, 30: 155000 }; finalSetAttrs.xp = xpPerChallenge[challenge]; console.log('updateNPCChallenge', finalSetAttrs); setFinalAttrs(v, finalSetAttrs); }); }; on('change:challenge', function () { updateNPCChallenge(); updatePb(); }); var updateNPCHPFromSRD = function () { var collectionArray = ['hp_srd', 'constitution', 'constitution_mod', 'constitution_bonus', 'global_ability_bonus']; var finalSetAttrs = {}; getAttrs(collectionArray, function (v) { if (exists(v.hp_srd)) { var match = v.hp_srd.match(/\((\d+)d(\d+)(?:\s?(?:\+|\-)\s?(\d+))?\)/i); if (!match || !match[1] || !match[2]) { console.log('Character doesn\'t have valid HP/HD format'); } else { var hdNum = getIntValue(match[1]); var conMod = getIntValue(v.constitution_mod); if (!conMod) { var conScore = getIntValue(v.constitution); var conBonus = getIntValue(v.constitution_bonus); var globalAbilityBonus = getIntValue(v.global_ability_bonus); console.log('conScore', conScore); console.log('conBonus', conBonus); console.log('globalAbilityBonus', globalAbilityBonus); conMod = getAbilityMod((conScore + conBonus + globalAbilityBonus)); console.log('conMod 1', conMod); } console.log('conMod', conMod); console.log('hdNum', hdNum); finalSetAttrs.hit_dice = hdNum; finalSetAttrs.hit_die = 'd' + getIntValue(match[2]); var hpExpectedBonus = hdNum * conMod; var hpBonus = getIntValue(match[3]); if (hpBonus !== hpExpectedBonus) { finalSetAttrs.hp_extra = hpBonus - hpExpectedBonus; } } } console.log('updateNPCHPFromSRD', finalSetAttrs); setFinalAttrs(v, finalSetAttrs); }); }; on('change:hp_srd', function () { updateNPCHPFromSRD(); }); var updateNPCHP = function () { var collectionArray = ['hit_dice', 'hit_die', 'hp_extra', 'constitution_mod']; var finalSetAttrs = {}; getAttrs(collectionArray, function (v) { var hdNum = getIntValue(v.hit_dice); var hdSize = getIntValue(v.hit_die.replace('d', '')); var hdAverage = (hdSize / 2) + 0.5; var hpFormula = hdNum + 'd' + hdSize; var conMod = getIntValue(v.constitution_mod); var totalHP = Math.floor(hdNum * hdAverage); var amount; if (conMod !== 0) { var bonusHP = hdNum * conMod; if (conMod > 0) { hpFormula += ADD + bonusHP; totalHP += bonusHP; } else if (conMod < 0) { hpFormula += SUBTRACT + bonusHP; totalHP -= bonusHP; } } if (exists(v.hp_extra)) { var regex = (/(?:(\+|\-)\s)?(\d+)(?:d(\d+))?/gi); var splitFormula; while (splitFormula = regex.exec(v.hp_extra)) { if (!splitFormula || !splitFormula[2]) { console.log('Character doesn\'t have valid hp formula'); } else { amount = 0; if (!splitFormula[3]) { amount = getIntValue(splitFormula[2]); } else { var extraHdNum = getIntValue(splitFormula[2]); var extraHdSize = getIntValue(splitFormula[3]); var extraHdAverage = (extraHdSize / 2) + 0.5; amount = Math.floor(extraHdNum * extraHdAverage); } if (!splitFormula[1] || splitFormula[1] === '+') { totalHP += amount; hpFormula += ADD + amount; } else if (splitFormula[1] === '-') { totalHP -= amount; hpFormula += SUBTRACT + amount; } } v.hp_extra.replace(splitFormula[0], ''); } } if (totalHP) { finalSetAttrs.hp = totalHP; finalSetAttrs.hp_max = totalHP; finalSetAttrs.hp_formula = hpFormula; } console.log('updateNPCHP', finalSetAttrs); setFinalAttrs(v, finalSetAttrs); }); }; on('change:hit_dice change:hit_die change:hp_extra change:constitution_mod', function () { console.log('hd stuff changed'); updateNPCHP(); }); var updateNPCAC = function () { var collectionArray = ['ac_srd', 'ac', 'ac_note']; var finalSetAttrs = {}; getAttrs(collectionArray, function (v) { if (exists(v.ac_srd)) { var match = v.ac_srd.match(/(\d+)\s?(.*)/); if (!match || !match[1] || !match[2]) { console.log('Character doesn\'t have valid AC format'); } else { finalSetAttrs.ac = match[1]; finalSetAttrs.ac_note = match[2].replace(/\(|\)/g, ''); } } console.log('updateNPC', finalSetAttrs); setFinalAttrs(v, finalSetAttrs); }); }; on('change:ac_srd', function () { updateNPCAC(); }); var updateNPCName = function () { var collectionArray = ['character_name_srd', 'character_name_srd']; var finalSetAttrs = {}; getAttrs(collectionArray, function (v) { finalSetAttrs.character_name = v.character_name_srd; console.log('updateNPCName', finalSetAttrs); setFinalAttrs(v, finalSetAttrs); }); }; on('change:character_name_srd', function () { console.log('character_name_srd changed'); }); var updateNPCContent = function () { console.log('updateNPCContent'); var collectionArray = ['content_srd', 'character_name_srd']; var finalSetAttrs = {}; getAttrs(collectionArray, function (v) { var content = v.content_srd; var legendaryActions; var actions; var traits; var re = /\*\*(.*)\*\*:\s(.*)/gi; var match; var newRowId; var repeatingString; if (exists(content)) { if (content.indexOf('Legendary Actions') !== -1) { var legendaryActionsSplit = content.split(/Legendary Actions\n/); legendaryActions = legendaryActionsSplit[1]; content = legendaryActionsSplit[0]; } if (exists(legendaryActions)) { console.log('legendaryActions', legendaryActions); console.log('v.character_name_srd', v.character_name_srd); var creatureName = v.character_name_srd; var legendaryActionAmount = 3; var legendaryActionsMatch = legendaryActions.match(/Can take (\d+) Legendary Actions/gi); if (legendaryActionsMatch && legendaryActionsMatch[1]) { console.log('legendaryActionsMatch[1]', legendaryActionsMatch[1]); legendaryActionAmount = legendaryActionAmount[1]; } console.log('legendaryActionAmount', legendaryActionAmount); finalSetAttrs.legendary_actions_blurb = 'The ' + creatureName + ' can take ' + legendaryActionAmount + ' legendary actions, choosing from the options below. Only one legendary option can be used at a time and only at the end of another creature\'s turn. The ' + creatureName + ' regains spent legendary actions at the start of its turn.'; while (match = re.exec(legendaryActions)) { console.log('match', match); if (match && match[1] && match[2]) { newRowId = generateRowID(); repeatingString = 'repeating_legendary_action_' + newRowId + '_'; finalSetAttrs[repeatingString + 'name'] = match[1]; finalSetAttrs[repeatingString + 'freetext'] = match[2]; } else { console.log('Character doesn\'t have a valid legendary action format'); } } } if (content.indexOf('Actions') !== -1) { var actionsSplit = content.split(/Actions\n/); actions = actionsSplit[1]; content = actionsSplit[0]; } if (exists(actions)) { while (match = re.exec(actions)) { if (match && match[1] && match[2]) { newRowId = generateRowID(); repeatingString = 'repeating_action_' + newRowId + '_'; finalSetAttrs[repeatingString + 'name'] = match[1]; finalSetAttrs[repeatingString + 'freetext'] = match[2]; } else { console.log('Character doesn\'t have a valid action format'); } } } if (content.indexOf('Traits') !== -1) { var traitsSplit = content.split(/Traits\n/); traits = traitsSplit[1]; content = traitsSplit[0]; } if (exists(traits)) { while (match = re.exec(traits)) { if (match && match[1] && match[2]) { newRowId = generateRowID(); repeatingString = 'repeating_trait_' + newRowId + '_'; finalSetAttrs[repeatingString + 'name'] = match[1]; finalSetAttrs[repeatingString + 'freetext'] = match[2]; } else { console.log('Character doesn\'t have a valid trait format'); } } } } console.log('updateNPCContent', finalSetAttrs); setFinalAttrs(v, finalSetAttrs); }); }; on('change:content_srd', function () { console.log('content_srd changed'); updateNPCContent(); });</script>
|
|
<rolltemplate class="sheet-rolltemplate-5e-shaped">
|
|
<div class="rt-card">
|
|
<div class="rt-header relative{{#action}} action{{/action}}{{#spell}} spell{{/spell}}{{#ability}} ability{{/ability}}{{#save}} save{{/save}}{{#death_save}} death-save{{/death_save}}">
|
|
<div class="rt-title">{{title}}</div>
|
|
{{#show_character_name}}
|
|
<div class="rt-subheader">{{character_name}}</div>
|
|
{{/show_character_name}}
|
|
{{#spell}}
|
|
<div class="rt-subheader italic">{{friendly_level}}{{#cast_as_level}} (as {{cast_as_level}}){{/cast_as_level}}{{#school}} {{school}}{{/school}}{{#ritual}} (ritual){{/ritual}}</div>
|
|
{{/spell}}
|
|
{{#action}}
|
|
<div class="rt-subheader">
|
|
{{#reach}}{{reach}} reach{{/reach}}
|
|
{{#range}}{{#reach}} • {{/reach}}{{range}} range{{/range}}
|
|
{{#ammo}}{{#range}} • {{/range}}{{ammo}} ammo{{/ammo}}
|
|
</div>
|
|
{{#target}}
|
|
<div class="rt-subheader">{{target}}</div>
|
|
{{/target}}
|
|
{{/action}}
|
|
{{#subheader}}
|
|
<div class="rt-subheader">{{subheader}}</div>
|
|
{{/subheader}}
|
|
{{#targetName}}
|
|
<div class="rt-subheader">vs {{targetName}}</div>
|
|
{{/targetName}}
|
|
</div>
|
|
{{#emote}}
|
|
<p class="rt-emote">{{character_name}} {{emote}}</p>
|
|
{{/emote}}
|
|
<div class="rt-content">
|
|
{{#spell}}
|
|
{{#casting_time}}
|
|
<div class="no-border">
|
|
<span class="bold">Casting Time:</span>
|
|
{{casting_time}}
|
|
</div>
|
|
{{/casting_time}}
|
|
{{#range}}
|
|
<div class="no-border">
|
|
<span class="bold">Range:</span>
|
|
{{range}}
|
|
</div>
|
|
{{/range}}
|
|
{{#components}}
|
|
<div class="no-border">
|
|
<span class="bold">Components:</span>
|
|
{{components}}
|
|
{{#materials}}({{materials}}){{/materials}}
|
|
</div>
|
|
{{/components}}
|
|
{{#duration}}
|
|
<div class="no-border">
|
|
<span class="bold">Duration:</span>
|
|
{{duration}}
|
|
</div>
|
|
{{/duration}}
|
|
{{#target}}
|
|
<div class="no-border">
|
|
<span class="bold">Target:</span>
|
|
{{target}}
|
|
</div>
|
|
{{/target}}
|
|
{{/spell}}
|
|
{{#content}}
|
|
<div class="mar-t-md">{{content}}</div>
|
|
{{/content}}
|
|
{{#text_top}}
|
|
<div class="output center">{{text_top}}</div>
|
|
{{/text_top}}
|
|
{{#roll_toggle}}
|
|
<div class="shaped-row center">
|
|
<div class="col-{{^only_roll_1}}50{{/only_roll_1}}{{#only_roll_1}}100{{/only_roll_1}} output">
|
|
{{#rollLess() roll1 roll2}}{{#advantage}}<div class="less-important">{{/advantage}}{{/rollLess() roll1 roll2}}
|
|
{{#rollGreater() roll1 roll2}}{{#disadvantage}}<div class="less-important">{{/disadvantage}}{{/rollGreater() roll1 roll2}}
|
|
{{roll1}}
|
|
{{#rollLess() roll1 roll2}}{{#advantage}}</div>{{/advantage}}{{/rollLess() roll1 roll2}}
|
|
{{#rollGreater() roll1 roll2}}{{#disadvantage}}</div>{{/disadvantage}}{{/rollGreater() roll1 roll2}}
|
|
</div>
|
|
{{^only_roll_1}}
|
|
<div class="col-50 output border-left">
|
|
{{#rollLess() roll2 roll1}}{{#advantage}}<div class="less-important">{{/advantage}}{{/rollLess() roll2 roll1}}
|
|
{{#rollGreater() roll2 roll1}}{{#disadvantage}}<div class="less-important">{{/disadvantage}}{{/rollGreater() roll2 roll1}}
|
|
{{roll2}}
|
|
{{#rollLess() roll2 roll1}}{{#advantage}}</div>{{/advantage}}{{/rollLess() roll2 roll1}}
|
|
{{#rollGreater() roll2 roll1}}{{#disadvantage}}</div>{{/disadvantage}}{{/rollGreater() roll2 roll1}}
|
|
</div>
|
|
{{/only_roll_1}}
|
|
{{#vs_ac}}
|
|
<div class="col-100 output-small-label">vs AC{{#targetAC}} {{targetAC}}{{/targetAC}}</div>
|
|
{{/vs_ac}}
|
|
</div>
|
|
{{/roll_toggle}}
|
|
{{#saving_throw_dc}}
|
|
<div class="center">
|
|
{{#saving_throw_condition}}
|
|
<div class="output-small-label">{{saving_throw_condition}}</div>
|
|
{{/saving_throw_condition}}
|
|
{{#saving_throw_dc}}
|
|
<div class="output">
|
|
<span class="{{#hide_saving_throw_dc}} gm-info-inline-block{{/hide_saving_throw_dc}}">DC {{saving_throw_dc}}</span>
|
|
{{saving_throw_vs_ability}}
|
|
</div>
|
|
<div>saving throw</div>
|
|
{{/saving_throw_dc}}
|
|
{{#saving_throw_failure}}
|
|
<div class="{{#hide_saving_throw_failure}} gm-info-block{{/hide_saving_throw_failure}}">
|
|
<span class="bold italic">Save Failure.</span>
|
|
{{saving_throw_failure}}
|
|
</div>
|
|
{{/saving_throw_failure}}
|
|
{{#saving_throw_success}}
|
|
<div class="{{#hide_saving_throw_success}} gm-info-block{{/hide_saving_throw_success}}">
|
|
<span class="bold italic">Save Success.</span>
|
|
{{saving_throw_success}}
|
|
</div>
|
|
{{/saving_throw_success}}
|
|
</div>
|
|
{{/saving_throw_dc}}
|
|
{{#damage}}
|
|
<div class="shaped-row zebra center vert-center">
|
|
<div class="col-47">
|
|
<div class="output">
|
|
{{damage}}
|
|
{{#roll_toggle}}
|
|
{{#rollWasCrit() roll1}}
|
|
{{#only_roll_1}}<span>+ {{crit_damage}}</span>{{/only_roll_1}}
|
|
{{^only_roll_1}}
|
|
{{#rollWasCrit() roll2}}
|
|
<span>+ {{crit_damage}}</span>
|
|
{{/rollWasCrit() roll2}}
|
|
{{#^rollWasCrit() roll2}}
|
|
{{#^rollLess() roll1 roll2}}
|
|
{{#advantage}}<span>+ {{crit_damage}}</span>{{/advantage}}
|
|
{{/^rollLess() roll1 roll2}}
|
|
{{/^rollWasCrit() roll2}}
|
|
{{/only_roll_1}}
|
|
{{/rollWasCrit() roll1}}
|
|
{{^only_roll_1}}
|
|
{{#rollWasCrit() roll2}}
|
|
{{#^rollWasCrit() roll1}}
|
|
{{#^rollLess() roll2 roll1}}
|
|
{{#advantage}}<span>+ {{crit_damage}}</span>{{/advantage}}
|
|
{{/^rollLess() roll2 roll1}}
|
|
{{/^rollWasCrit() roll1}}
|
|
{{/rollWasCrit() roll2}}
|
|
{{/only_roll_1}}
|
|
{{/roll_toggle}}
|
|
</div>
|
|
<div class="output-small-label">{{damage_type}}{{^damage_type}}damage{{/damage_type}}</div>
|
|
</div>
|
|
{{/damage}}
|
|
{{#second_damage}}
|
|
{{#damage}}
|
|
<div class="output col-06">
|
|
+
|
|
</div>
|
|
{{/damage}}
|
|
{{^damage}}
|
|
<div class="shaped-row zebra center vert-center">
|
|
{{/damage}}
|
|
<div class="col-47">
|
|
<div class="output">
|
|
{{second_damage}}
|
|
{{#roll_toggle}}
|
|
{{#rollWasCrit() roll1}}
|
|
{{#only_roll_1}}<span>+ {{second_crit_damage}}</span>{{/only_roll_1}}
|
|
{{^only_roll_1}}
|
|
{{#rollWasCrit() roll2}}
|
|
<span>+ {{second_crit_damage}}</span>
|
|
{{/rollWasCrit() roll2}}
|
|
{{#^rollWasCrit() roll2}}
|
|
{{#^rollLess() roll1 roll2}}
|
|
{{#advantage}}<span>+ {{second_crit_damage}}</span>{{/advantage}}
|
|
{{/^rollLess() roll1 roll2}}
|
|
{{/^rollWasCrit() roll2}}
|
|
{{/only_roll_1}}
|
|
{{/rollWasCrit() roll1}}
|
|
{{^only_roll_1}}
|
|
{{#rollWasCrit() roll2}}
|
|
{{#^rollWasCrit() roll1}}
|
|
{{#^rollLess() roll2 roll1}}
|
|
{{#advantage}}<span>+ {{second_crit_damage}}</span>{{/advantage}}
|
|
{{/^rollLess() roll2 roll1}}
|
|
{{/^rollWasCrit() roll1}}
|
|
{{/rollWasCrit() roll2}}
|
|
{{/only_roll_1}}
|
|
{{/roll_toggle}}
|
|
</div>
|
|
<div class="output-small-label">{{second_damage_type}}{{^second_damage_type}}damage{{/second_damage_type}}</div>
|
|
</div>
|
|
{{^damage}}
|
|
</div>
|
|
{{/damage}}
|
|
{{/second_damage}}
|
|
{{#damage}}
|
|
</div>
|
|
{{/damage}}
|
|
{{#heal}}
|
|
<div class="center vert-center output">
|
|
Heal for {{heal}} HP
|
|
</div>
|
|
{{/heal}}
|
|
{{#death_saving_throw_successes}}
|
|
<div class="center">
|
|
Successes {{death_saving_throw_successes}} / 3
|
|
</div>
|
|
{{/death_saving_throw_successes}}
|
|
{{#death_saving_throw_failures}}
|
|
<div class="col-100 center">
|
|
Failures {{death_saving_throw_failures}} / 3
|
|
</div>
|
|
{{/death_saving_throw_failures}}
|
|
{{#text}}
|
|
<div class="center">{{text}}</div>
|
|
{{/text}}
|
|
{{#text_big}}
|
|
<div class="output center">{{text_big}}</div>
|
|
{{/text_big}}
|
|
|
|
{{#allprops() freetext text text_big text_top character_name save title ignore show_character_name subheader roll_toggle roll1 roll2 only_roll_1 advantage disadvantage vs_ac ability emote death_save death_saving_throw_successes death_saving_throw_failures targetAC targetName action type damage damage_type crit_damage second_damage second_damage_type second_crit_damage ranged damage target reach range ammo spell saving_throw_condition saving_throw_dc saving_throw_vs_ability saving_throw_success saving_throw_failure friendly_level school ritual content cast_as_level heal casting_time duration components materials hide_saving_throw_dc hide_saving_throw_failure hide_saving_throw_success recharge hide_recharge}}
|
|
<div class="center">
|
|
<span class="bold italic">{{key}}.</span>
|
|
{{value}}
|
|
</div>
|
|
{{/allprops() freetext text text_big text_top character_name save title ignore show_character_name subheader roll_toggle roll1 roll2 only_roll_1 advantage disadvantage vs_ac ability emote death_save death_saving_throw_successes death_saving_throw_failures targetAC targetName action type damage damage_type crit_damage second_damage second_damage_type second_crit_damage ranged damage target reach range ammo spell saving_throw_condition saving_throw_dc saving_throw_vs_ability saving_throw_success saving_throw_failure friendly_level school ritual content cast_as_level heal casting_time duration components materials hide_saving_throw_dc hide_saving_throw_failure hide_saving_throw_success recharge hide_recharge}}
|
|
|
|
{{#freetext}}
|
|
<div class="center">{{freetext}}</div>
|
|
{{/freetext}}
|
|
{{#recharge}}
|
|
<div class="center{{#hide_recharge}} gm-info-block{{/hide_recharge}}">
|
|
<span class="bold italic">Recharge.</span>
|
|
{{recharge}}
|
|
</div>
|
|
{{/recharge}}
|
|
</div>
|
|
</div>
|
|
</rolltemplate> |