9804 lines
850 KiB
HTML
9804 lines
850 KiB
HTML
<!-- Note that currently the sheet's html/javascript is too long to be used by the repo to generate a sheet. I use the following regex on regexr.com
|
||
to easily shrink the line count to what the repo can handle:
|
||
Look for: \n\s*
|
||
Replace with:
|
||
|
||
This pattern can be found at https://regexr.com/3mi9v
|
||
-->
|
||
<div class='character-sheet'>
|
||
<input hidden='true' type='text' title='@{npc_init}' name='attr_npc_init' value=''>
|
||
<input hidden='true' type='number' title='@{initiative_npc}' name='attr_initiative_npc'>
|
||
<!-- The above 3 attributes are used for calculations for NPCs-->
|
||
<div class='name-container'>
|
||
<img class='header-image' src='https://s3.amazonaws.com/files.d20.io/images/57857120/YuG910wMT-Kffh7DwNchZw/max.png'>
|
||
</div>
|
||
<!--<input class="tab-button options nav hide-tab" type="checkbox" title='@{tab_select}' name="attr_tab_select" value="options" checked>
|
||
<span class='pictos nav'>y</span>
|
||
<span class='nav pictos'>x</span>-->
|
||
<input class='page-control' type='hidden' name='attr_sheet_type' value='pc'>
|
||
<!-- Containers -->
|
||
<div class='container settings'>
|
||
<div class='section-container type-container'>
|
||
<div class='section'><!-- section is the class that is placed as the header of a section-->
|
||
<h1 class='label' data-i18n='comms'>COMMS</h1>
|
||
<!-- always-glow is a class that has the glow applied always. bottom-left locates it relative to the item to be glowed. corner sets it to be rotated-->
|
||
</div>
|
||
<div class='section-container'>
|
||
<div class='gutter'></div><!--provides a buffer via css grid placement-->
|
||
<div class='row'> <!-- this row holds inputs that control the whisper state (/w gm or '')-->
|
||
<span class='label' data-i18n='rolls-are'>ROLLS ARE</span>
|
||
<label class='label'><input type='radio' title='@{whisper_state}' name='attr_whisper_state' value='' checked='checked'> <span class='label' data-i18n='public'>PUBLIC</span></label>
|
||
<label class='label'><input type='radio' title='@{whisper_state}' name='attr_whisper_state' value='/w gm '> <span class='label' data-i18n='private'>PRIVATE</span></label>
|
||
</div>
|
||
<div class='gutter'></div>
|
||
</div>
|
||
</div>
|
||
<div class='section-container house-container'><!-- controls what type of sheet this is-->
|
||
<div class='section'>
|
||
<h1 class='label' data-i18n='display-mode'>DISPLAY MODE</h1>
|
||
</div>
|
||
<div class='section-container'>
|
||
<div class='gutter'></div>
|
||
<div class='row'>
|
||
<label><input type='radio' title='@{sheet_type}' name='attr_sheet_type' value='pc' checked='checked'> <span class='label' data-i18n='pc' >PC</span></label>
|
||
<label><input type='radio' title='@{sheet_type}' name='attr_sheet_type' value='npc'> <span class='label' data-i18n='npc'>NPC</span></label>
|
||
</div>
|
||
<div class='gutter'></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class='in-play'><!-- contains the menus and buffs sections-->
|
||
<input class='hide-tab buff-tab' type='radio' title='@{in-play-tab}' name='attr_in-play-tab' value='buffs' checked>
|
||
<div class='section buff-tab'>
|
||
<h1 class='label' data-i18n='buffs'>BUFFS</h1>
|
||
</div>
|
||
<div class='buffs'><!-- contains the buffs repeating section-->
|
||
<fieldset class='repeating_buff'>
|
||
<input class='filter' type='checkbox' hidden='true' title='@{filter}' name='attr_filter' value='1' checked='checked'>
|
||
<div class='filter-container buff'>
|
||
<input class="show-options" type="checkbox" title='@{show_options}' name="attr_show_options" checked="checked"><span>y</span>
|
||
<div class='row-options'>
|
||
<input class='buff-name input-field' type='text' title='@{name}' name='attr_name'>
|
||
<div class='mod-container'>
|
||
<span class='label buff-mod' data-i18n='mods'>MODS</span>
|
||
<textarea class='buff-mod input-field' title='@{mods}' name='attr_mods'></textarea>
|
||
</div>
|
||
</div>
|
||
<div class='display'>
|
||
<label>
|
||
<input type='checkbox' title='@{toggle}' name='attr_toggle' value='1'>
|
||
<span class='buff-name label' title='@{name}' name='attr_name'>TEST</span>
|
||
</label>
|
||
</div>
|
||
</div>
|
||
</fieldset>
|
||
</div>
|
||
<input class='hide-tab condition-tab' type='radio' title='@{in-play-tab}' name='attr_in-play-tab' value='conditions'>
|
||
<!--
|
||
<div class='section condition-tab'>
|
||
<h1 class='label' data-i18n='conditions'>CONDITIONS</h1>
|
||
</div>
|
||
<div class='conditions'>
|
||
<div class='span-all track-container'>
|
||
<fieldset class='repeating_condition'>
|
||
<input class='filter' type='checkbox' hidden='true' title='@{filter}' name='attr_filter' value='1' checked='checked'>
|
||
<div class='filter-container condition'>
|
||
<input class="show-options" type="checkbox" title='@{show_options}' name="attr_show_options" checked><span>y</span>
|
||
<div class='row-options'>
|
||
<div class='row span-all display-margin'>
|
||
<span class='label' data-i18n='name-u'>NAME</span>
|
||
<input class='atk-name scalable-input input-field' type='text' title='@{name}' name='attr_name' value=''>
|
||
</div>
|
||
<div class='row span-all'>
|
||
<span class='label' data-i18n='track'>TRACK</span>
|
||
<input type='hidden' name='attr_track' value='physical_track'>
|
||
<select class='scalable-input input-field' title='@{repeating_condition_$X_track}' name='attr_track'>
|
||
<option value='physical_track' data-i18n='physical_track' selected>PHYSICAL TRACK</option>
|
||
<option value='mental_track' data-i18n='mental_track' selected>MENTAL TRACK</option>
|
||
<option value='strength_track' data-i18n='strength_track' selected>STRENGTH TRACK</option>
|
||
<option value='dexterity_track' data-i18n='dexterity_track' selected>DEXTERITY TRACK</option>
|
||
<option value='constitution_track' data-i18n='constitution_track' selected>CONSTITUTION TRACK</option>
|
||
<option value='intelligence_track' data-i18n='intelligence_track' selected>INTELLIGENCE TRACK</option>
|
||
<option value='wisdom_track' data-i18n='wisdom_track' selected>WISDOM TRACK</option>
|
||
<option value='charisma_track' data-i18n='charisma_track' selected>CHARISMA TRACK</option>
|
||
</select>
|
||
</div>
|
||
<textarea class='row span-all' name='attr_description' title='repeating_condition_$X_description'></textarea>
|
||
</div>
|
||
<div class='display'>
|
||
<div class='button-description'>
|
||
<input type='text' readonly='true' name='attr_name' value=''>
|
||
<label class='expand-button'><input hidden='true' class='expand-description' type='checkbox' name='attr_expand_description' value='1'><span class='collapsed pictos'>`</span><span class='expanded pictos'>J</span></label>
|
||
</div>
|
||
<div class='tracks'>
|
||
<input class='track-filter' type='hidden' name='attr_track' value='physical_track'>
|
||
<label><input class='healthy' type='radio' hidden='true' data-i18n-title='healthy' title='HEALTHY' name='attr_track_status' value='healthy' checked><span class='label' data-i18n='healthy'>HEALTHY</span></label>
|
||
<input class='specific-track physical mental' type='radio' data-i18n-title='latent' title='latent' name='attr_track_status' value='latent'>
|
||
<input class='specific-track dexterity' type='radio' data-i18n-title='sluggish' title='sluggish' name='attr_track_status' value='sluggish'>
|
||
<input class='specific-track dexterity' type='radio' data-i18n-title='stiffened' title='stiffened' name='attr_track_status' value='stiffened'>
|
||
<input class='specific-track physical mental strength constitution intelligence wisdom charisma' type='radio' data-i18n-title='weakened' title='weakened' name='attr_track_status' value='weakened'>
|
||
<input class='specific-track physical mental strength constitution intelligence wisdom charisma' type='radio' data-i18n-title='impaired' title='impaired' name='attr_track_status' value='impaired'>
|
||
<input class='specific-track charisma' type='radio' data-i18n-title='pliable' title='pliable' name='attr_track_status' value='pliable'>
|
||
<input class='specific-track charisma' type='radio' data-i18n-title='catatonic' title='catatonic' name='attr_track_status' value='catatonic'>
|
||
<input class='specific-track wisdom' type='radio' data-i18n-title='confused' title='confused' name='attr_track_status' value='confused'>
|
||
<input class='specific-track intelligence' type='radio' data-i18n-title='animalistic' title='animalistic' name='attr_track_status' value='animalistic'>
|
||
<input class='specific-track constitution' type='radio' data-i18n-title='debilitated' title='debilitated' name='attr_track_status' value='debilitated'>
|
||
<input class='specific-track constitution' type='radio' data-i18n-title='unconscious' title='unconscious' name='attr_track_status' value='unconscious'>
|
||
<input class='specific-track strength dexterity' type='radio' data-i18n-title='staggered' title='staggered' name='attr_track_status' value='staggered'>
|
||
<input class='specific-track strength dexterity' type='radio' data-i18n-title='immobile' title='immobile' name='attr_track_status' value='immobile'>
|
||
<input class='specific-track mental' type='radio' data-i18n-title='befuddled' title='befuddled' name='attr_track_status' value='befuddled'>
|
||
<input class='specific-track mental' type='radio' data-i18n-title='disassociated' title='disassociated' name='attr_track_status' value='disassociated'>
|
||
<input class='specific-track physical' type='radio' data-i18n-title='debilitated' title='debilitated' name='attr_track_status' value='debilitating'>
|
||
<input class='specific-track physical' type='radio' data-i18n-title='bedridden' title='bedridden' name='attr_track_status' value='bedridden'>
|
||
<input class='specific-track physical mental intelligence wisdom' type='radio' data-i18n-title='comatose' title='comatose' name='attr_track_status' value='comatose'>
|
||
<label><input class='dead' type='radio' hidden='true' data-i18n-title='dead' title='dead' name='attr_track_status' value='dead'><span class='label' data-i18n='dead'>DEAD</span></label>
|
||
</div>
|
||
<input class='expand-description' type='hidden' name='attr_expand_description'>
|
||
<textarea class='description span-all' title='@{description}' name='attr_description'></textarea>
|
||
</div>
|
||
</div>
|
||
</fieldset>
|
||
</div>
|
||
<label class='label tactical-condition'><input value='1' type='checkbox' hidden='true' name='attr_asleep'><span class='input-field' data-i18n='asleep'>ASLEEP</span></label>
|
||
<label class='label tactical-condition'><input value='1' type='checkbox' hidden='true' name='attr_bleeding'><span class='input-field' data-i18n='bleeding'>BLEEDING</span></label>
|
||
<label class='label tactical-condition'><input value='1' type='checkbox' hidden='true' name='attr_blinded'><span class='input-field' data-i18n='blinded'>BLINDED</span></label>
|
||
<label class='label tactical-condition'><input value='1' type='checkbox' hidden='true' name='attr_burning'><span class='input-field' data-i18n='burning'>BURNING</span></label>
|
||
<label class='label tactical-condition'><input value='1' type='checkbox' hidden='true' name='attr_confused'><span class='input-field' data-i18n='confused'>CONFUSED</span></label>
|
||
<label class='label tactical-condition'><input value='1' type='checkbox' hidden='true' name='attr_cowering'><span class='input-field' data-i18n='cowering'>COWERING</span></label>
|
||
<label class='label tactical-condition'><input value='1' type='checkbox' hidden='true' name='attr_dazed'><span class='input-field' data-i18n='dazed'>DAZED</span></label>
|
||
<label class='label tactical-condition'><input value='1' type='checkbox' hidden='true' name='attr_dazzled'><span class='input-field' data-i18n='dazzled'>DAZZLED</span></label>
|
||
<label class='label tactical-condition'><input value='1' type='checkbox' hidden='true' name='attr_dead'><span class='input-field' data-i18n='dead'>DEAD</span></label>
|
||
<label class='label tactical-condition'><input value='1' type='checkbox' hidden='true' name='attr_deafened'><span class='input-field' data-i18n='deafened'>DEAFENED</span></label>
|
||
<label class='label tactical-condition'><input value='1' type='checkbox' hidden='true' name='attr_dying'><span class='input-field' data-i18n='dying'>DYING</span></label>
|
||
<div class='label tactical-condition input-field'><input class='encumbrance' hidden='true' type='number' min='1' max='1' name='attr_encumber_level' value='0'><span class='span-two' data-i18n='encumbered'>ENCUMBERED</span></div>
|
||
<label class='label tactical-condition'><input value='1' type='checkbox' hidden='true' name='attr_entangled'><span class='input-field' data-i18n='entangled'>ENTANGLED</span></label>
|
||
<label class='label tactical-condition'><input value='1' type='checkbox' hidden='true' name='attr_exhausted'><span class='input-field' data-i18n='exhausted'>EXHAUSTED</span></label>
|
||
<label class='label tactical-condition'><input value='1' type='checkbox' hidden='true' name='attr_fascinated'><span class='input-field' data-i18n='fascinated'>FASCINATED</span></label>
|
||
<label class='label tactical-condition'><input value='1' type='checkbox' hidden='true' name='attr_fatigued'><span class='input-field' data-i18n='fatigued'>FATIGUED</span></label>
|
||
<label class='label tactical-condition'><input value='1' type='checkbox' hidden='true' name='attr_flat_footed'><span class='input-field' data-i18n='flat_footed'>FLAT-FOOTED</span></label>
|
||
<label class='label tactical-condition'><input value='1' type='checkbox' hidden='true' name='attr_frightened'><span class='input-field' data-i18n='frightened'>FRIGHTENED</span></label>
|
||
<label class='label tactical-condition'><input value='1' type='checkbox' hidden='true' name='attr_grappled'><span class='input-field' data-i18n='grappled'>GRAPPLED</span></label>
|
||
<label class='label tactical-condition'><input value='1' type='checkbox' hidden='true' name='attr_helpless'><span class='input-field' data-i18n='helpless'>HELPLESS</span></label>
|
||
<label class='label tactical-condition'><input value='1' type='checkbox' hidden='true' name='attr_nauseated'><span class='input-field' data-i18n='nauseated'>NAUSEATED</span></label>
|
||
<div class='tactical-condition'><input class='input-field' type='number' class='label' name='attr_negative_levels' value='0'><span class='label' data-i18n='negative_levels'>NEGATIVE LEVELS</span></div>
|
||
<label class='label tactical-condition'><input value='1' type='checkbox' hidden='true' name='attr_off_kilter'><span class='input-field' data-i18n='off_kilter'>OFF-KILTER</span></label>
|
||
<label class='label tactical-condition'><input value='1' type='checkbox' hidden='true' name='attr_off_target'><span class='input-field' data-i18n='off_target'>OFF-TARGET</span></label>
|
||
<div class='label tactical-condition input-field'><input class='encumbrance' hidden='true' type='number' min='2' max='2' name='attr_encumber_level' value='0'><span class='span-two' data-i18n='overburdened'>OVERBURDENED</span></div>
|
||
<label class='label tactical-condition'><input value='1' type='checkbox' hidden='true' name='attr_panicked'><span class='input-field' data-i18n='panicked'>PANICKED</span></label>
|
||
<label class='label tactical-condition'><input value='1' type='checkbox' hidden='true' name='attr_paralyzed'><span class='input-field' data-i18n='paralyzed'>PARALYZED</span></label>
|
||
<label class='label tactical-condition'><input value='1' type='checkbox' hidden='true' name='attr_pinned'><span class='input-field' data-i18n='pinned'>PINNED</span></label>
|
||
<label class='label tactical-condition'><input value='1' type='checkbox' hidden='true' name='attr_prone'><span class='input-field' data-i18n='prone'>PRONE</span></label>
|
||
<label class='label tactical-condition'><input value='1' type='checkbox' hidden='true' name='attr_shaken'><span class='input-field' data-i18n='shaken'>SHAKEN</span></label>
|
||
<label class='label tactical-condition'><input value='1' type='checkbox' hidden='true' name='attr_sickened'><span class='input-field' data-i18n='sickened'>SICKENED</span></label>
|
||
<label class='label tactical-condition'><input value='1' type='checkbox' hidden='true' name='attr_stable'><span class='input-field' data-i18n='stable'>STABLE</span></label>
|
||
<label class='label tactical-condition'><input value='1' type='checkbox' hidden='true' name='attr_staggered'><span class='input-field' data-i18n='staggered'>STAGGERED</span></label>
|
||
<label class='label tactical-condition'><input value='1' type='checkbox' hidden='true' name='attr_stunned'><span class='input-field' data-i18n='stunned'>STUNNED</span></label>
|
||
<label class='label tactical-condition'><input value='1' type='checkbox' hidden='true' name='attr_unconscious'><span class='input-field' data-i18n='unconscious'>UNCONSCIOUS</span></label>
|
||
</div>
|
||
-->
|
||
</div>
|
||
<div class="container pc"><!-- holds all of the pc sheets-->
|
||
<div class='content-container header-content'><!-- contains the character info and class info sections-->
|
||
<input class='hide-tab char-details' title='@{char-tab}' name='attr_char-tab' type='radio' value='char info' checked><!--hide-tab ensures that the checkbox is set to opacity 0. The other class in the class declaration sets where the pseudo button is located-->
|
||
<div class='section char-details'>
|
||
<h1 class='label' data-i18n='character'>CHARACTER</h1>
|
||
</div>
|
||
<input class='hide-tab class-details' title='@{char-tab}' name='attr_char-tab' type='radio' value='class details'>
|
||
<div class='section class-details'>
|
||
<h1 class='label' data-i18n='creation'>CREATION</h1>
|
||
</div>
|
||
<div class='char-info'>
|
||
<div class='hlabel-container char-name'><!-- hlabel-container creates a div that is styled so that the input is on the top, and the label is below, with both centered in the container-->
|
||
<input class='input-field' type="text" title='@{character_name}' name="attr_character_name">
|
||
<span class="label" data-i18n="char-name-u">CHARACTER NAME</span>
|
||
</div>
|
||
<div class='hlabel-container class'>
|
||
<input class='input-field' type='text' title='@{class}' name='attr_class' >
|
||
<span class='label' data-i18n='class'>CLASS</span>
|
||
</div>
|
||
<div class='hlabel-container level'>
|
||
<input class='input-field' type='number' title='@{character_level}' name='attr_character_level' >
|
||
<span class='label' data-i18n='level'>LEVEL</span>
|
||
</div>
|
||
<div class='hlabel-container race'>
|
||
<input class='input-field' type='text' title='@{ancestry}' name='attr_ancestry' >
|
||
<span class='label' data-i18n='ancestry'>ANCESTRY</span>
|
||
</div>
|
||
<div class='hlabel-container theme'>
|
||
<input class='input-field' type='text' title='@{background}' name='attr_background' >
|
||
<span class='label' data-i18n='background'>BACKGROUND</span>
|
||
</div>
|
||
<div class='hlabel-container size'>
|
||
<select class='input-field' title='@{size}' name='attr_size'>
|
||
<option value='-4'>FINE</option>
|
||
<option value='-3'>DIMINUTIVE</option>
|
||
<option value='-2'>TINY</option>
|
||
<option value='-1'>SMALL</option>
|
||
<option value='0'selected='selected'>MEDIUM</option>
|
||
<option value='1'>LARGE</option>
|
||
<option value='2'>HUGE</option>
|
||
<option value='3'>GARGANTUAN</option>
|
||
<option value='4'>COLOSSAL</option>
|
||
</select>
|
||
<span class='label' data-i18n='size'>SIZE</span>
|
||
</div>
|
||
<div class='hlabel-container speed'>
|
||
<input class='input-field' type='text' title='@{speed}' name='attr_speed' >
|
||
<span class='label' data-i18n='speed'>SPEED</span>
|
||
</div>
|
||
<div class='hlabel-container gender'>
|
||
<input class='input-field' type='text' title='@{gender}' name='attr_gender' >
|
||
<span class='label' data-i18n='gender'>GENDER</span>
|
||
</div>
|
||
<div class='hlabel-container alignment'>
|
||
<input class='input-field' type='text' title='@{alignment}' name='attr_alignment' >
|
||
<span class='label' data-i18n='alignment'>ALIGNMENT</span>
|
||
</div>
|
||
<div class='hlabel-container deity'>
|
||
<input class='input-field' type='text' title='@{deity}' name='attr_deity' >
|
||
<span class='label' data-i18n='deity'>DEITY</span>
|
||
</div>
|
||
<div class='hlabel-container player'>
|
||
<input class='input-field' type='text' title='@{player}' name='attr_player' >
|
||
<span class='label' data-i18n='player'>PLAYER</span>
|
||
</div>
|
||
<div class='hlabel-container language'>
|
||
<input class='input-field' type='text' title='@{language}' name='attr_language' >
|
||
<span class='label' data-i18n='languages'>LANGUAGES</span>
|
||
</div>
|
||
</div>
|
||
<div class='class-info'><!-- contains all of the basic class info like sp/hp per level, bab, saves, skills, and spellcasting-->
|
||
<div class='hlabel-container ancestry-details name'>
|
||
<input class='input-field' type='text' name='attr_ancestry' title='@{ancestry}'>
|
||
<span class='label' data-i18n='ancestry-name'>ANCESTRY NAME</span>
|
||
</div>
|
||
<div class='hlabel-container ancestry-details first-boost'>
|
||
<select name='attr_ancestry_boost_1' title='@{ancestry_boost_1}'>
|
||
<option value='' selected='selected'>N/A</option>
|
||
<option value='strength'>STR</option>
|
||
<option value='dexterity'>DEX</option>
|
||
<option value='constitution'>CON</option>
|
||
<option value='intelligence'>INT</option>
|
||
<option value='wisdom'>WIS</option>
|
||
<option value='charisma'>CHA</option>
|
||
</select>
|
||
<span class='label' data-i18n='boost'>BOOST</span>
|
||
</div>
|
||
<div class='hlabel-container ancestry-details second-boost'>
|
||
<select name='attr_ancestry_boost_2' title='@{ancestry_boost_2}'>
|
||
<option value='' selected='selected'>N/A</option>
|
||
<option value='strength'>STR</option>
|
||
<option value='dexterity'>DEX</option>
|
||
<option value='constitution'>CON</option>
|
||
<option value='intelligence'>INT</option>
|
||
<option value='wisdom'>WIS</option>
|
||
<option value='charisma'>CHA</option>
|
||
</select>
|
||
<span class='label' data-i18n='boost'>BOOST</span>
|
||
</div>
|
||
<div class='hlabel-container ancestry-details second-boost'>
|
||
<select name='attr_ancestry_boost_3' title='@{ancestry_boost_3}'>
|
||
<option value='' selected='selected'>N/A</option>
|
||
<option value='strength'>STR</option>
|
||
<option value='dexterity'>DEX</option>
|
||
<option value='constitution'>CON</option>
|
||
<option value='intelligence'>INT</option>
|
||
<option value='wisdom'>WIS</option>
|
||
<option value='charisma'>CHA</option>
|
||
</select>
|
||
<span class='label' data-i18n='boost'>BOOST</span>
|
||
</div>
|
||
<div class='hlabel-container ancestry-details flaw'>
|
||
<select name='attr_ancestry_flaw' title='@{ancestry_flaw}'>
|
||
<option value='' selected='selected'>N/A</option>
|
||
<option value='strength'>STR</option>
|
||
<option value='dexterity'>DEX</option>
|
||
<option value='constitution'>CON</option>
|
||
<option value='intelligence'>INT</option>
|
||
<option value='wisdom'>WIS</option>
|
||
<option value='charisma'>CHA</option>
|
||
</select>
|
||
<span class='label' data-i18n='flaw'>FLAW</span>
|
||
</div>
|
||
<div class='hlabel-container ancestry-details ancestry-hp'>
|
||
<input class='input-field' type='number' name='attr_ancestry_hp' title='@{ancestry_hp}'>
|
||
<span class='label' data-i18n='hp'>HP</span>
|
||
</div>
|
||
<div class='hlabel-container background-details name'>
|
||
<input class='input-field' type='text' name='attr_background' title='@{background}' >
|
||
<span class='label' data-i18n='background-name'>BACKGROUND NAME</span>
|
||
</div>
|
||
<div class='hlabel-container background-details first-boost'>
|
||
<select name='attr_background_boost_1' title='@{background_boost_1}'>
|
||
<option value='' selected='selected'>N/A</option>
|
||
<option value='strength'>STR</option>
|
||
<option value='dexterity'>DEX</option>
|
||
<option value='constitution'>CON</option>
|
||
<option value='intelligence'>INT</option>
|
||
<option value='wisdom'>WIS</option>
|
||
<option value='charisma'>CHA</option>
|
||
</select>
|
||
<span class='label' data-i18n='boost'>BOOST</span>
|
||
</div>
|
||
<div class='hlabel-container background-details second-boost'>
|
||
<select name='attr_background_boost_2' title='@{background_boost_2}'>
|
||
<option value='' selected='selected'>N/A</option>
|
||
<option value='strength'>STR</option>
|
||
<option value='dexterity'>DEX</option>
|
||
<option value='constitution'>CON</option>
|
||
<option value='intelligence'>INT</option>
|
||
<option value='wisdom'>WIS</option>
|
||
<option value='charisma'>CHA</option>
|
||
</select>
|
||
<span class='label' data-i18n='boost'>BOOST</span>
|
||
</div>
|
||
<div class='hlabel-container background-details class-details name'>
|
||
<input class='input-field' type='text' name='attr_class' title='@{class_name}' >
|
||
<span class='label' data-i18n='class-name'>CLASS NAME</span>
|
||
</div>
|
||
<div class='hlabel-container class-details'>
|
||
<select name='attr_key_ability' title='@{key_ability}'>
|
||
<option value='' selected='selected'>N/A</option>
|
||
<option value='strength'>STR</option>
|
||
<option value='dexterity'>DEX</option>
|
||
<option value='constitution'>CON</option>
|
||
<option value='intelligence'>INT</option>
|
||
<option value='wisdom'>WIS</option>
|
||
<option value='charisma'>CHA</option>
|
||
</select>
|
||
<span class='label' data-i18n='boost'>BOOST</span>
|
||
</div>
|
||
<div class='hlabel-container class-details'>
|
||
<input class='input-field' type='number' name='attr_class_hp' title='@{class_hp}'>
|
||
<span class='label' data-i18n='hp'>HP</span>
|
||
</div>
|
||
<div class='hlabel-container class-details'>
|
||
<input class='input-field' type='number' name='attr_class_trained_skills' title='@{class_trained_skills}'>
|
||
<span class='label' data-i18n='skills'>SKILLS</span>
|
||
</div>
|
||
<div class='hlabel-container class-details'>
|
||
<input class='input-field' type='number' name='attr_character_level' title='@{character_level}'>
|
||
<span class='label' data-i18n='level'>LEVEL</span>
|
||
</div>
|
||
<div class='hlabel-container level-1 level-details'>
|
||
<select name='attr_level_1_boost_1' title='@{level_1_boost_1}'>
|
||
<option value='' selected='selected'>N/A</option>
|
||
<option value='strength'>STR</option>
|
||
<option value='dexterity'>DEX</option>
|
||
<option value='constitution'>CON</option>
|
||
<option value='intelligence'>INT</option>
|
||
<option value='wisdom'>WIS</option>
|
||
<option value='charisma'>CHA</option>
|
||
</select>
|
||
<select name='attr_level_1_boost_2' title='@{level_1_boost_2}'>
|
||
<option value='' selected='selected'>N/A</option>
|
||
<option value='strength'>STR</option>
|
||
<option value='dexterity'>DEX</option>
|
||
<option value='constitution'>CON</option>
|
||
<option value='intelligence'>INT</option>
|
||
<option value='wisdom'>WIS</option>
|
||
<option value='charisma'>CHA</option>
|
||
</select>
|
||
<select name='attr_level_1_boost_3' title='@{level_1_boost_3}'>
|
||
<option value='' selected='selected'>N/A</option>
|
||
<option value='strength'>STR</option>
|
||
<option value='dexterity'>DEX</option>
|
||
<option value='constitution'>CON</option>
|
||
<option value='intelligence'>INT</option>
|
||
<option value='wisdom'>WIS</option>
|
||
<option value='charisma'>CHA</option>
|
||
</select>
|
||
<select name='attr_level_1_boost_4' title='@{level_1_boost_4}'>
|
||
<option value='' selected='selected'>N/A</option>
|
||
<option value='strength'>STR</option>
|
||
<option value='dexterity'>DEX</option>
|
||
<option value='constitution'>CON</option>
|
||
<option value='intelligence'>INT</option>
|
||
<option value='wisdom'>WIS</option>
|
||
<option value='charisma'>CHA</option>
|
||
</select>
|
||
<span class='label span-all' data-i18n='level-1-boosts'>LEVEL 1 BOOSTS</span>
|
||
</div>
|
||
<div class='hlabel-container level-5 level-details'>
|
||
<select name='attr_level_5_boost_1' title='@{level_5_boost_1}'>
|
||
<option value='' selected='selected'>N/A</option>
|
||
<option value='strength'>STR</option>
|
||
<option value='dexterity'>DEX</option>
|
||
<option value='constitution'>CON</option>
|
||
<option value='intelligence'>INT</option>
|
||
<option value='wisdom'>WIS</option>
|
||
<option value='charisma'>CHA</option>
|
||
</select>
|
||
<select name='attr_level_5_boost_2' title='@{level_5_boost_2}'>
|
||
<option value='' selected='selected'>N/A</option>
|
||
<option value='strength'>STR</option>
|
||
<option value='dexterity'>DEX</option>
|
||
<option value='constitution'>CON</option>
|
||
<option value='intelligence'>INT</option>
|
||
<option value='wisdom'>WIS</option>
|
||
<option value='charisma'>CHA</option>
|
||
</select>
|
||
<select name='attr_level_5_boost_3' title='@{level_5_boost_3}'>
|
||
<option value='' selected='selected'>N/A</option>
|
||
<option value='strength'>STR</option>
|
||
<option value='dexterity'>DEX</option>
|
||
<option value='constitution'>CON</option>
|
||
<option value='intelligence'>INT</option>
|
||
<option value='wisdom'>WIS</option>
|
||
<option value='charisma'>CHA</option>
|
||
</select>
|
||
<select name='attr_level_5_boost_4' title='@{level_5_boost_4}'>
|
||
<option value='' selected='selected'>N/A</option>
|
||
<option value='strength'>STR</option>
|
||
<option value='dexterity'>DEX</option>
|
||
<option value='constitution'>CON</option>
|
||
<option value='intelligence'>INT</option>
|
||
<option value='wisdom'>WIS</option>
|
||
<option value='charisma'>CHA</option>
|
||
</select>
|
||
<span class='label span-all' data-i18n='level-5-boosts'>LEVEL 5 BOOSTS</span>
|
||
</div>
|
||
<div class='hlabel-container level-10 level-details'>
|
||
<select name='attr_level_10_boost_1' title='@{level_10_boost_1}'>
|
||
<option value='' selected='selected'>N/A</option>
|
||
<option value='strength'>STR</option>
|
||
<option value='dexterity'>DEX</option>
|
||
<option value='constitution'>CON</option>
|
||
<option value='intelligence'>INT</option>
|
||
<option value='wisdom'>WIS</option>
|
||
<option value='charisma'>CHA</option>
|
||
</select>
|
||
<select name='attr_level_10_boost_2' title='@{level_10_boost_2}'>
|
||
<option value='' selected='selected'>N/A</option>
|
||
<option value='strength'>STR</option>
|
||
<option value='dexterity'>DEX</option>
|
||
<option value='constitution'>CON</option>
|
||
<option value='intelligence'>INT</option>
|
||
<option value='wisdom'>WIS</option>
|
||
<option value='charisma'>CHA</option>
|
||
</select>
|
||
<select name='attr_level_10_boost_3' title='@{level_10_boost_3}'>
|
||
<option value='' selected='selected'>N/A</option>
|
||
<option value='strength'>STR</option>
|
||
<option value='dexterity'>DEX</option>
|
||
<option value='constitution'>CON</option>
|
||
<option value='intelligence'>INT</option>
|
||
<option value='wisdom'>WIS</option>
|
||
<option value='charisma'>CHA</option>
|
||
</select>
|
||
<select name='attr_level_10_boost_4' title='@{level_10_boost_4}'>
|
||
<option value='' selected='selected'>N/A</option>
|
||
<option value='strength'>STR</option>
|
||
<option value='dexterity'>DEX</option>
|
||
<option value='constitution'>CON</option>
|
||
<option value='intelligence'>INT</option>
|
||
<option value='wisdom'>WIS</option>
|
||
<option value='charisma'>CHA</option>
|
||
</select>
|
||
<span class='label span-all' data-i18n='level-10-boosts'>LEVEL 10 BOOSTS</span>
|
||
</div>
|
||
<div class='hlabel-container level-15 level-details'>
|
||
<select name='attr_level_15_boost_1' title='@{level_15_boost_1}'>
|
||
<option value='' selected='selected'>N/A</option>
|
||
<option value='strength'>STR</option>
|
||
<option value='dexterity'>DEX</option>
|
||
<option value='constitution'>CON</option>
|
||
<option value='intelligence'>INT</option>
|
||
<option value='wisdom'>WIS</option>
|
||
<option value='charisma'>CHA</option>
|
||
</select>
|
||
<select name='attr_level_15_boost_2' title='@{level_15_boost_2}'>
|
||
<option value='' selected='selected'>N/A</option>
|
||
<option value='strength'>STR</option>
|
||
<option value='dexterity'>DEX</option>
|
||
<option value='constitution'>CON</option>
|
||
<option value='intelligence'>INT</option>
|
||
<option value='wisdom'>WIS</option>
|
||
<option value='charisma'>CHA</option>
|
||
</select>
|
||
<select name='attr_level_15_boost_3' title='@{level_15_boost_3}'>
|
||
<option value='' selected='selected'>N/A</option>
|
||
<option value='strength'>STR</option>
|
||
<option value='dexterity'>DEX</option>
|
||
<option value='constitution'>CON</option>
|
||
<option value='intelligence'>INT</option>
|
||
<option value='wisdom'>WIS</option>
|
||
<option value='charisma'>CHA</option>
|
||
</select>
|
||
<select name='attr_level_15_boost_4' title='@{level_15_boost_4}'>
|
||
<option value='' selected='selected'>N/A</option>
|
||
<option value='strength'>STR</option>
|
||
<option value='dexterity'>DEX</option>
|
||
<option value='constitution'>CON</option>
|
||
<option value='intelligence'>INT</option>
|
||
<option value='wisdom'>WIS</option>
|
||
<option value='charisma'>CHA</option>
|
||
</select>
|
||
<span class='label span-all' data-i18n='level-15-boosts'>LEVEL 15 BOOSTS</span>
|
||
</div>
|
||
<div class='hlabel-container level-20 level-details'>
|
||
<select name='attr_level_20_boost_1' title='@{level_20_boost_1}'>
|
||
<option value='' selected='selected'>N/A</option>
|
||
<option value='strength'>STR</option>
|
||
<option value='dexterity'>DEX</option>
|
||
<option value='constitution'>CON</option>
|
||
<option value='intelligence'>INT</option>
|
||
<option value='wisdom'>WIS</option>
|
||
<option value='charisma'>CHA</option>
|
||
</select>
|
||
<select name='attr_level_20_boost_2' title='@{level_20_boost_2}'>
|
||
<option value='' selected='selected'>N/A</option>
|
||
<option value='strength'>STR</option>
|
||
<option value='dexterity'>DEX</option>
|
||
<option value='constitution'>CON</option>
|
||
<option value='intelligence'>INT</option>
|
||
<option value='wisdom'>WIS</option>
|
||
<option value='charisma'>CHA</option>
|
||
</select>
|
||
<select name='attr_level_20_boost_3' title='@{level_20_boost_3}'>
|
||
<option value='' selected='selected'>N/A</option>
|
||
<option value='strength'>STR</option>
|
||
<option value='dexterity'>DEX</option>
|
||
<option value='constitution'>CON</option>
|
||
<option value='intelligence'>INT</option>
|
||
<option value='wisdom'>WIS</option>
|
||
<option value='charisma'>CHA</option>
|
||
</select>
|
||
<select name='attr_level_20_boost_4' title='@{level_20_boost_4}'>
|
||
<option value='' selected='selected'>N/A</option>
|
||
<option value='strength'>STR</option>
|
||
<option value='dexterity'>DEX</option>
|
||
<option value='constitution'>CON</option>
|
||
<option value='intelligence'>INT</option>
|
||
<option value='wisdom'>WIS</option>
|
||
<option value='charisma'>CHA</option>
|
||
</select>
|
||
<span class='label span-all' data-i18n='level-20-boosts'>LEVEL 20 BOOSTS</span>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class=tab-container><!--Contains the core and spellcasting pc sheets. Which one is displayed depends on the first two inputs-->
|
||
<input class="tab-button core" hidden='true' type="radio" title='@{tab}' name="attr_tab" value="core" checked='checked'>
|
||
<input class="tab-button spells" hidden='true' type="radio" title='@{tab}' name="attr_tab" value="spells">
|
||
<div class='page core'>
|
||
<div class='initiative-container'>
|
||
<div class='section'>
|
||
<h1><button class='label' type='roll' title='%{initiative}' name='roll_initiative' value='@{whisper_state}&{template:generic} {{name=@{character_name}}} {{characterid=@{character_id}}} {{title=Initiative}} {{r1=[[1d20+@{character_level}[level]@{initiative_skill}' data-i18n='initiative' >INITIATIVE</button></h1>
|
||
</div>
|
||
<div class='section-container'>
|
||
<select class='label abi input-field' title='@{initiative_skill}' name='attr_initiative_skill'>
|
||
<option value='+@{perception_proficiency}[PROF]+@{wisdom_mod}[ABILITY]@{perception_misc}@{initiative_misc} &{tracker}]]}} {{r1name=^{perception}}} {{notes=@{senses}}}' selected data-i18n='perception'>PERCEPTION</option>
|
||
<option value='+@{acrobatics_proficiency}[PROF]+@{dexterity_mod}[ABILITY]@{acrobatics_misc}@{initiative_misc} &{tracker}]]}} {{r1name=^{acrobatics}}} {{notes=@{acrobatics_description}}}' data-i18n='acrobatics'>ACROBATICS</option>
|
||
<option value='+@{arcana_proficiency}[PROF]+@{intelligence_mod}[ABILITY]@{arcana_misc}@{initiative_misc} &{tracker}]]}} {{r1name=^{arcana}}} {{notes=@{arcana_description}}}' data-i18n='arcana'>ARCANA</option>
|
||
<option value='+@{athletics_proficiency}[PROF]+@{strength_mod}[ABILITY]@{athletics_misc}@{initiative_misc} &{tracker}]]}} {{r1name=^{athletics}}} {{notes=@{athletics_description}}}' data-i18n='athletics'>ATHLETICS</option>
|
||
<option value='+@{crafting_proficiency}[PROF]+@{intelligence_mod}[ABILITY]@{crafting_misc}@{initiative_misc} &{tracker}]]}} {{r1name=^{crafting}}} {{notes=@{crafting_description}}}' data-i18n='crafting'>CRAFTING</option>
|
||
<option value='+@{deception_proficiency}[PROF]+@{charisma_mod}[ABILITY]@{deception_misc}@{initiative_misc} &{tracker}]]}} {{r1name=^{deception}}} {{notes=@{deception_description}}}' data-i18n='deception'>DECEPTION</option>
|
||
<option value='+@{diplomacy_proficiency}[PROF]+@{charisma_mod}[ABILITY]@{diplomacy_misc}@{initiative_misc} &{tracker}]]}} {{r1name=^{diplomacy}}} {{notes=@{diplomacy_description}}}' data-i18n='diplomacy'>DIPLOMACY</option>
|
||
<option value='+@{intimidation_proficiency}[PROF]+@{charisma_mod}[ABILITY]@{intimidation_misc}@{initiative_misc} &{tracker}]]}} {{r1name=^{intimidation}}} {{notes=@{intimidation_description}}}' data-i18n='intimidation'>INTIMIDATION</option>
|
||
<option value='+@{medicine_proficiency}[PROF]+@{wisdom_mod}[ABILITY]@{medicine_misc}@{initiative_misc} &{tracker}]]}} {{r1name=^{medicine}}} {{notes=@{medicine_description}}}' data-i18n='medicine'>MEDICINE</option>
|
||
<option value='+@{nature_proficiency}[PROF]+@{wisdom_mod}[ABILITY]@{nature_misc}@{initiative_misc} &{tracker}]]}} {{r1name=^{nature}}} {{notes=@{nature_description}}}' data-i18n='nature'>NATURE</option>
|
||
<option value='+@{occultism_proficiency}[PROF]+@{intelligence_mod}[ABILITY]@{occultism_misc}@{initiative_misc} &{tracker}]]}} {{r1name=^{occultism}}} {{notes=@{occultism_description}}}' data-i18n='occultism'>OCCULTISM</option>
|
||
<option value='+@{religion_proficiency}[PROF]+@{wisdom_mod}[ABILITY]@{religion_misc}@{initiative_misc} &{tracker}]]}} {{r1name=^{religion}}} {{notes=@{religion_description}}}' data-i18n='religion'>RELIGION</option>
|
||
<option value='+@{society_proficiency}[PROF]+@{intelligence_mod}[ABILITY]@{society_misc}@{initiative_misc} &{tracker}]]}} {{r1name=^{society}}} {{notes=@{society_description}}}' data-i18n='society'>SOCIETY</option>
|
||
<option value='+@{stealth_proficiency}[PROF]+@{dexterity_mod}[ABILITY]@{stealth_misc}@{initiative_misc} &{tracker}]]}} {{r1name=^{stealth}}} {{notes=@{stealth_description}}}' data-i18n='stealth'>STEALTH</option>
|
||
<option value='+@{survival_proficiency}[PROF]+@{wisdom_mod}[ABILITY]@{survival_misc}@{initiative_misc} &{tracker}]]}} {{r1name=^{survival}}} {{notes=@{survival_description}}}' data-i18n='survival'>SURVIVAL</option>
|
||
<option value='+@{thievery_proficiency}[PROF]+@{dexterity_mod}[ABILITY]@{thievery_misc}@{initiative_misc} &{tracker}]]}} {{r1name=^{thievery}}} {{notes=@{thievery_description}}}' data-i18n='thievery'>THIEVERY</option>
|
||
</select>
|
||
<input hidden='true' type='text' title='@{initiative_misc}' name='attr_initiative_misc' value=''>
|
||
</div>
|
||
</div>
|
||
<div class='xp-container'>
|
||
<span class='label' data-i18n='rp'>RP</span>
|
||
<input type='number' name='attr_rp' value='0'>
|
||
<span>/</span>
|
||
<input class='mod-buff' type='hidden' name='attr_rp_change' value='0'>
|
||
<span class='modified-attr attr' readonly='true' type='number' title='@{rp}' name='attr_rp_max' value='0'>0</span>
|
||
<select name='attr_rp_ability'>
|
||
<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}' selected>CHA</option>
|
||
</select>
|
||
<span class='label' data-i18n='xp'>XP</span>
|
||
<input type='number' class='currxp input-field span-three' title='@{xp}' name='attr_xp' value=''>
|
||
</div>
|
||
<div class='resource-container'>
|
||
<span class='label' data-i18n='hero points'>HERO POINTS</span>
|
||
<input class='bab' type='number' name='attr_hero_points' value='1'>
|
||
<span>/</span>
|
||
<input class='bab' type='text' title='@{hero_points_max}' name='attr_hero_points_max' value='3'>
|
||
<div class='bab'></div>
|
||
<span class='label' data-i18n='spell points'>SPELL POINTS</span>
|
||
<input class='bab' type='number' name='attr_spell_points' value='0'>
|
||
<span>/</span>
|
||
<input class='mod-buff' type='hidden' name='attr_spell_points_change' value='0'>
|
||
<span class='bab modified-attr attr' readonly='true' type='text' title='@{spell_points_max}' name='attr_spell_points_max' value='0'>0</span>
|
||
<div class='bab'></div>
|
||
<select name='attr_spell_points_ability'>
|
||
<option value='0' selected>N/A</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>
|
||
</div>
|
||
<!-- <div class='four-row'>contains the sections that span across the top of the core page (ability scores, health, ac, saves)-->
|
||
<div class='section-container attributes'>
|
||
<div class='section'>
|
||
<h1 class='label' data-i18n='ability_scores'>ABILITY SCORES</h1>
|
||
</div>
|
||
<div class='attribute-container'>
|
||
<span class='button label'></span>
|
||
<span class='mod label' data-i18n='mod'>MOD</span>
|
||
<span class='attr-total-container label' data-i18n='tot'>TOT</span>
|
||
<button class='strength button' type='roll' title='%{strength}' name='roll_strength' value='@{whisper_state}&{template:generic} {{name=@{character_name}}} {{characterid=@{character_id}}} {{title=Strength}} {{r1=[[1d20+@{strength_mod}]]}}' data-i18n='strength'>STRENGTH</button>
|
||
<span class='strength mod' type='text' title='@{strength_mod}' name='attr_strength_mod' readonly='true' value='0'>0</span>
|
||
<div class='strength attr-base-mod-container input-field'><!-- sometimes, to properly restrict the formatting of a buff, it needs to be in a separate div. This div also is used when the actual value may be different from what is entered by the user -->
|
||
<input class='base-attr attr' type='number' title='@{strength}' name='attr_strength_base' value='10' >
|
||
<input class='mod-buff' type='hidden' name='attr_strength_change' value='0'>
|
||
<span class='modified-attr attr input-field' readonly='true' type='number' title='@{strength}' name='attr_strength' value='10'>10</span>
|
||
</div>
|
||
<button class='dexterity button' type='roll' title='%{dexterity}' name='roll_dexterity' value='@{whisper_state}&{template:generic} {{name=@{character_name}}} {{characterid=@{character_id}}} {{title=Dexterity}} {{r1=[[1d20+@{dexterity_mod}]]}}' data-i18n='dexterity'>DEXTERITY</button>
|
||
<span class='dexterity mod' type='text' title='@{dexterity_mod}' name='attr_dexterity_mod' readonly='true' value='0'>0</span>
|
||
<div class='dexterity attr-base-mod-container input-field'>
|
||
<input class='base-attr attr' type='number' title='@{dexterity}' name='attr_dexterity_base' value='10' >
|
||
<input class='mod-buff' type='hidden' name='attr_dexterity_change' value='0'>
|
||
<span class='modified-attr attr input-field' readonly='true' type='number' title='@{dexterity}' name='attr_dexterity' value='10'>10</span>
|
||
</div>
|
||
<button class='constitution button' type='roll' title='%{constitution}' name='roll_constitution' value='@{whisper_state}&{template:generic} {{name=@{character_name}}} {{characterid=@{character_id}}} {{title=Constitution}} {{r1=[[1d20+@{constitution_mod}]]}}' data-i18n='constitution'>CONSTITUTION</button>
|
||
<span class='constitution mod' type='text' title='@{constitution_mod}' name='attr_constitution_mod' readonly='true' value='0' value='0'>0</span>
|
||
<div class='constitution attr-base-mod-container input-field'>
|
||
<input class='base-attr attr' type='number' title='@{constitution}' name='attr_constitution_base' value='10' >
|
||
<input class='mod-buff' type='hidden' name='attr_constitution_change' value='0'>
|
||
<span class='modified-attr attr input-field' readonly='true' type='number' title='@{constitution}' name='attr_constitution' value='10'>10</span>
|
||
</div>
|
||
<button class='intelligence button' type='roll' title='%{intelligence}' name='roll_intelligence' value='@{whisper_state}&{template:generic} {{name=@{character_name}}} {{characterid=@{character_id}}} {{title=Intelligence}} {{r1=[[1d20+@{intelligence_mod}]]}}' data-i18n='intelligence'>INTELLIGENCE</button>
|
||
<span class='intelligence mod' type='text' title='@{intelligence_mod}' name='attr_intelligence_mod' readonly='true' value='0'>0</span>
|
||
<div class='intelligence attr-base-mod-container input-field'>
|
||
<input class='base-attr attr' type='number' title='@{intelligence}' name='attr_intelligence_base' value='10' >
|
||
<input class='mod-buff' type='hidden' name='attr_intelligence_change' value='0'>
|
||
<span class='modified-attr attr input-field' readonly='true' type='number' title='@{intelligence}' name='attr_intelligence' value='10'>10</span>
|
||
</div>
|
||
<button class='wisdom button' type='roll' title='%{wisdom}' name='roll_wisdom' value='@{whisper_state}&{template:generic} {{name=@{character_name}}} {{characterid=@{character_id}}} {{title=Wisdom}} {{r1=[[1d20+@{wisdom_mod}]]}}' data-i18n='wisdom'>WISDOM</button>
|
||
<span class='wisdom mod' type='text' title='@{wisdom_mod}' name='attr_wisdom_mod' readonly='true' value='0'>0</span>
|
||
<div class='wisdom attr-base-mod-container input-field'>
|
||
<input class='base-attr attr' type='number' title='@{wisdom}' name='attr_wisdom_base' value='10' >
|
||
<input class='mod-buff' type='hidden' name='attr_wisdom_change' value='0'>
|
||
<span class='modified-attr attr input-field' readonly='true' type='number' title='@{wisdom}' name='attr_wisdom' value='10'>10</span>
|
||
</div>
|
||
<button class='charisma button' type='roll' title='%{charisma}' name='roll_charisma' value='@{whisper_state}&{template:generic} {{name=@{character_name}}} {{characterid=@{character_id}}} {{title=Charisma}} {{r1=[[1d20+@{charisma_mod}]]}}' data-i18n='charisma'>CHARISMA</button>
|
||
<span class='charisma mod' type='text' title='@{charisma_mod}' name='attr_charisma_mod' readonly='true' value='0'>0</span>
|
||
<div class='charisma attr-base-mod-container input-field'>
|
||
<input class='base-attr attr' type='number' title='@{charisma}' name='attr_charisma_base' value='10' >
|
||
<input class='mod-buff' type='hidden' name='attr_charisma_change' value='0'>
|
||
<span class='modified-attr attr input-field' readonly='true' type='number' title='@{charisma}' name='attr_charisma' value='10'>10</span>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class='section-container health'>
|
||
<div class='section'>
|
||
<h1 class='label' data-i18n='health'>HEALTH</h1>
|
||
</div>
|
||
<!-- The next 4 inputs control the reactive styling of the health section based on health available -->
|
||
<input class='full-health' type='radio' title='@{health_status}' name='attr_health_status' readonly='true' hidden='true' value='0' checked='checked'>
|
||
<input class='no-sp' type='radio' title='@{health_status}' name='attr_health_status' value='1' readonly='true' hidden='true'>
|
||
<input class='no-hp' type='radio' title='@{health_status}' name='attr_health_status' value='2' readonly='true' hidden='true'>
|
||
<input class='no-rp' type='radio' title='@{health_status}' name='attr_health_status' value='3' readonly='true' hidden='true'>
|
||
<input type='hidden' name='attr_sp_max_misc'>
|
||
<input type='hidden' name='attr_hp_max_misc'>
|
||
<input type='hidden' name='attr_rp_max_misc'>
|
||
<input type='hidden' name='attr_temp_hp_max_misc'>
|
||
<div class='health-resolve-container section-container'>
|
||
<div class='health-container'>
|
||
<span class='health-label label hp' data-i18n='char-hp'>HIT POINTS</span>
|
||
<span class='health-label label temp' data-i18n='temp-hp'>TEMPORARY HIT POINTS</span>
|
||
<span class='label max' data-i18n='total'>Total</span>
|
||
<span class='label current' data-i18n='current'>Current</span>
|
||
<input class='current temp' type='number' title='@{temp_hp}' name='attr_temp_hp' value='0'>
|
||
<div class='attr-total-container temp max'>
|
||
<input class='mod-buff' type='hidden' name='attr_temp_hp_change' value='0'>
|
||
<span class='max temp modified-attr' type='number' title='@{temp_hp_max}' name='attr_temp_hp_max' readonly='true' value='0' title=@{temp_hp|max}>0</span>
|
||
</div>
|
||
<input class='current hp input-field' type='number' title='@{hp}' name='attr_hp' value='0'>
|
||
<div class='attr-total-container hp max'>
|
||
<input class='mod-buff' type='hidden' name='attr_hp_change' value='0'>
|
||
<span class='max hp modified-attr' type='number' title='@{hp_max}' name='attr_hp_max' readonly='true' value='0' title=@{hp|max}>0</span>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class='section-container senses'>
|
||
<div class='section'>
|
||
<h1 class='label' data-i18n='senses'>SENSES</h1>
|
||
</div>
|
||
<div class='senses-container section-container'>
|
||
<span class='tot' data-i18n='tot'>TOT</span>
|
||
<span class='span-five' data-i18n='prof'>PROF</span>
|
||
<button type='roll' title='%{perception}' name='roll_perception' value='@{whisper_state}&{template:generic} {{name=@{character_name}}} {{characterid=@{character_id}}} {{title=^{perception}}} {{r1=[[1d20+@{character_level}[Level]+@{perception_proficiency}[Prof]+@{wisdom_mod}[Ability]@{perception_misc}]]}} {{notes=@{senses}}}' data-i18n='perception' >PERCEPTION</button>
|
||
<input type='hidden' name='attr_perception_misc' value=''>
|
||
<input class='mod-buff' type='hidden' name='attr_perception_change' value='0'>
|
||
<span class='mod tot modified-attr' readonly='true' type='text' title='@{perception}' name='attr_perception' value='0'>0</span>
|
||
<select class='span-five' name='attr_perception_proficiency'>
|
||
<option value='-2' data-i18n='untrained'>UNTRAINED</option>
|
||
<option value='0' data-i18n='trained'>TRAINED</option>
|
||
<option value='1' data-i18n='expert'>EXPERT</option>
|
||
<option value='2' data-i18n='master'>MASTER</option>
|
||
<option value='3' data-i18n='legendary'>LEGENDARY</option>
|
||
</select>
|
||
<span class='label span-two' data-i18n='other senses'>OTHER SENSES</span>
|
||
<input class='span-five' type='text' name='attr_senses' value=''>
|
||
</div>
|
||
</div>
|
||
<div class='section-container ac'>
|
||
<div class='section'>
|
||
<h1 class='label' data-i18n='armorclass'>ARMOR CLASS</h1>
|
||
</div>
|
||
<div class='ac-container section-container'>
|
||
<input type='hidden' name='attr_tac_misc'>
|
||
<input type='hidden' name='attr_ac_misc'>
|
||
<input type='hidden' name='attr_tac_armor_misc'>
|
||
<input type='hidden' name='attr_ac_armor_misc'>
|
||
<input type='hidden' name='attr_cmd_misc'>
|
||
<span class='ac-type'></span>
|
||
<span class='label tot' data-i18n='tot'>TOT</span>
|
||
<span class='label arm' style='font-family:Pictos Three;'>b</span>
|
||
<span class='label prof' data-i18n='prof'>PROF</span>
|
||
<span class='label abi' data-i18n='abi'>ABI</span>
|
||
<div class='label ac-type' data-i18n='tac'>TAC</div>
|
||
<div class='attr-total-container tot'>
|
||
<input class='mod-buff' type='hidden' name='attr_tac_change' value='0'>
|
||
<span class='tot mod modified-attr' readonly='true' title='@{tac}' name='attr_tac' value='10'>10</span>
|
||
</div>
|
||
<span class='equal'>=</span>
|
||
<span class='base-ten'>10</span>
|
||
<span class='ten-plus'>+</span>
|
||
<div class='attr-total-container arm'>
|
||
<input class='mod-buff' type='hidden' name='attr_tac_armor_change' value='0'>
|
||
<span class='arm mod modified-attr' readonly='true' title='@{eac_armor}' name='attr_tac_armor' value='0'>0</span>
|
||
</div>
|
||
<span class='arm-plus'>+</span>
|
||
<span class='mod prof' titel='@{ac_proficiency}' name='attr_ac_proficiency' value='0'>0</span>
|
||
<span class='label abi' data-i18n='dex'>DEX</span>
|
||
<span class='label ac-type' data-i18n='ac'>AC</span>
|
||
<div class='attr-total-container tot'>
|
||
<input class='mod-buff' type='hidden' name='attr_ac_change' value='0'>
|
||
<span class='tot mod modified-attr' readonly='true' title='@{ac}' name='attr_ac' value='10'>10</span>
|
||
</div>
|
||
<span class='equal'>=</span>
|
||
<span class='base-ten'>10</span>
|
||
<span class='ten-plus'>+</span>
|
||
<div class='attr-total-container arm'>
|
||
<input class='mod-buff' type='hidden' name='attr_ac_armor_change' value='0'>
|
||
<span class='arm mod modified-attr' readonly='true' title='@{kac_armor}' name='attr_ac_armor' value='0'>0</span>
|
||
</div>
|
||
<span class='arm-plus'>+</span>
|
||
<span class='mod prof' titel='@{tac_proficiency}' name='attr_tac_proficiency' value='0'>0</span>
|
||
<span class='label abi' data-i18n='dex'>DEX</span>
|
||
<span class='label dr-span' data-i18n='resistance'>RESISTANCE</span>
|
||
<input class='dr input-field' type='text' title='@{resistance}' name='attr_resistance'>
|
||
<span class='label dr-span' data-i18n='weakness'>WEAKNESS</span>
|
||
<input class='dr input-field' type='text' title='@{weakness}' name='attr_weakness'>
|
||
<textarea class='ac-notes input-field' title='@{ac_notes}' name='attr_ac_notes'></textarea>
|
||
</div>
|
||
</div>
|
||
<div class='section-container saves'>
|
||
<div class='section'>
|
||
<h1 class='label' data-i18n='savingthrows'>SAVING THROWS</h1>
|
||
</div>
|
||
<div class='saving-container section-container'>
|
||
<div class='gutter'></div>
|
||
<input hidden='true' type='text' title='@{fort_misc}' name='attr_fort_misc'>
|
||
<input hidden='true' type='text' title='@{ref_misc}' name='attr_ref_misc'>
|
||
<input hidden='true' type='text' title='@{will_misc}' name='attr_will_misc'>
|
||
<span class='label tot' data-i18n='tot'>TOT</span>
|
||
|
||
|
||
|
||
|
||
|
||
<div class='label abi' data-i18n='abi'>ABI</div>
|
||
<button type='roll' title='%{fort}' name='roll_fort' value='@{whisper_state}&{template:generic} {{name=@{character_name}}} {{characterid=@{character_id}}} {{title=Fortitude}} {{r1=[[1d20+@{character_level}[LEVEL]+@{fort_proficiency}[PROF]+@{constitution_mod}[ABILITY]@{fort_misc}]] }} {{notes=@{save_notes}}}' data-i18n='fort' >FORT</button>
|
||
<div class='attr-total-container'>
|
||
<input class='mod-buff' type='hidden' name='attr_fort_change' value='0'>
|
||
<span class='mod tot modified-attr' readonly='true' type='text' title='@{fort}' name='attr_fort' value='0'>0</span>
|
||
</div>
|
||
<select class='span-five' name='attr_fort_proficiency'>
|
||
<option value='-2' data-i18n='untrained'>UNTRAINED</option>
|
||
<option value='0' data-i18n='trained'>TRAINED</option>
|
||
<option value='1' data-i18n='expert'>EXPERT</option>
|
||
<option value='2' data-i18n='master'>MASTER</option>
|
||
<option value='3' data-i18n='legendary'>LEGENDARY</option>
|
||
</select>
|
||
<span class='label abi' data-i18n='con'>CON</span>
|
||
<button type='roll' title='%{ref}' name='roll_ref' value='@{whisper_state}&{template:generic} {{name=@{character_name}}} {{characterid=@{character_id}}} {{title=Reflex}} {{r1=[[1d20+@{character_level}[LEVEL]+@{ref_proficiency}[PROF]+@{dexterity_mod}[ABILITY]@{ref_misc}]] }} {{notes=@{save_notes}}}' data-i18n='ref' >REF</button>
|
||
<div class='attr-total-container'>
|
||
<input class='mod-buff' type='hidden' name='attr_ref_change' value='0'>
|
||
<span class='mod tot modified-attr' readonly='true' type='text' title='@{ref}' name='attr_ref' value='0'>0</span>
|
||
</div>
|
||
<select class='span-five' name='attr_ref_proficiency'>
|
||
<option value='-2' data-i18n='untrained'>UNTRAINED</option>
|
||
<option value='0' data-i18n='trained'>TRAINED</option>
|
||
<option value='1' data-i18n='expert'>EXPERT</option>
|
||
<option value='2' data-i18n='master'>MASTER</option>
|
||
<option value='3' data-i18n='legendary'>LEGENDARY</option>
|
||
</select>
|
||
<span class='label abi' data-i18n='dex'>DEX</span>
|
||
<button type='roll' title='%{will}' name='roll_will' value='@{whisper_state}&{template:generic} {{name=@{character_name}}} {{characterid=@{character_id}}} {{title=Will}} {{r1=[[1d20+@{character_level}[LEVEL]+@{will_proficiency}[PROF]+@{wisdom_mod}[ABILITY]@{will_misc}]] }} {{notes=@{save_notes}}}' data-i18n='will' >WILL</button>
|
||
<div class='attr-total-container'>
|
||
<input class='mod-buff' type='hidden' name='attr_will_change' value='0'>
|
||
<span class='mod tot modified-attr' readonly='true' type='text' title='@{will}' name='attr_will' value='0'>0</span>
|
||
</div>
|
||
<select class='span-five' name='attr_will_proficiency'>
|
||
<option value='-2' data-i18n='untrained'>UNTRAINED</option>
|
||
<option value='0' data-i18n='trained'>TRAINED</option>
|
||
<option value='1' data-i18n='expert'>EXPERT</option>
|
||
<option value='2' data-i18n='master'>MASTER</option>
|
||
<option value='3' data-i18n='legendary'>LEGENDARY</option>
|
||
</select>
|
||
<span class='label abi' data-i18n='wis'>WIS</span>
|
||
<textarea class='input-field' title='@{save_notes}' name='attr_save_notes'></textarea>
|
||
</div>
|
||
</div>
|
||
<div class='skills section-container'>
|
||
<input type='hidden' name='attr_skill_points_max_misc'>
|
||
<div class='section'>
|
||
<h1 class='label' data-i18n='skills'>SKILLS</h1>
|
||
</div>
|
||
<div class='skills-container section-container'>
|
||
<div class='skill-container'>
|
||
<span class='tot'>Tot</span>
|
||
|
||
|
||
|
||
|
||
|
||
</div>
|
||
<div class='skill-container'>
|
||
<input class="show-options" type="checkbox" title='@{acrobatics_show_options}' name="attr_acrobatics_show_options"><span>y</span>
|
||
<input class='signature-skill' name='attr_acrobatics_signature' type='hidden'>
|
||
<div class='display'>
|
||
<input hidden='true' title='@{acrobatics_misc}' name='attr_acrobatics_misc' value=''>
|
||
<input class='acp' type='checkbox' title='@{acrobatics_acp}' name='attr_acrobatics_acp' hidden='true' value='1' checked='checked'>
|
||
<button class='acp' type='roll' title='%{acrobatics}' name='roll_acrobatics' value='@{whisper_state}&{template:generic} {{name=@{character_name}}} {{characterid=@{character_id}}} {{title=^{acrobatics}}} {{r1=[[1d20+@{character_level}[Level]+@{acrobatics_proficiency}[Prof]+@{dexterity_mod}[Ability]@{acrobatics_misc}]]}} {{notes=@{acrobatics_description}}}' data-i18n='acrobatics' >ACROBATICS</button>
|
||
<input class='mod-buff' type='hidden' name='attr_acrobatics_change' value='0'>
|
||
<span class='mod tot modified-attr' readonly='true' type='text' title='@{acrobatics}' name='attr_acrobatics' value='0'>0</span>
|
||
<select class='span-five' name='attr_acrobatics_proficiency'>
|
||
<option value='-2' data-i18n='untrained'>UNTRAINED</option>
|
||
<option value='0' data-i18n='trained'>TRAINED</option>
|
||
<option value='1' data-i18n='expert'>EXPERT</option>
|
||
<option value='2' data-i18n='master'>MASTER</option>
|
||
<option value='3' data-i18n='legendary'>LEGENDARY</option>
|
||
</select>
|
||
</div>
|
||
<div class='row-options'>
|
||
<div class='row'>
|
||
<span class='skill-span label' data-i18n='acp'>ACP</span>
|
||
<input class='acp' type='checkbox' title='@{acrobatics_acp}' name='attr_acrobatics_acp' value='1' checked='checked'>
|
||
<span class='skill-span label' data-i18n='signature'>SIGNATURE</span>
|
||
<input class='signature-skill' name='attr_acrobatics_signature' type='checkbox'>
|
||
</div>
|
||
<textarea class='skill-description input-field' title='@{acrobatics_description}' name='attr_acrobatics_description'></textarea>
|
||
</div>
|
||
</div>
|
||
<div class='skill-container'>
|
||
<input class="show-options" type="checkbox" title='@{arcana_show_options}' name="attr_arcana_show_options"><span>y</span>
|
||
<input class='signature-skill' name='attr_arcana_signature' type='hidden'>
|
||
<div class='display'>
|
||
<input hidden='true' title='@{arcana_misc}' name='attr_arcana_misc' value=''>
|
||
<input class='acp' type='checkbox' title='@{arcana_acp}' name='attr_arcana_acp' hidden='true' value='1'>
|
||
<button class='acp' type='roll' title='%{arcana}' name='roll_arcana' value='@{whisper_state}&{template:generic} {{name=@{character_name}}} {{characterid=@{character_id}}} {{title=^{arcana}}} {{r1=[[1d20+@{character_level}[Level]+@{arcana_proficiency}[Prof]+@{intelligence_mod}[Ability]@{arcana_misc}]]}} {{notes=@{arcana_description}}}' data-i18n='arcana' >ARCANA</button>
|
||
<input class='mod-buff' type='hidden' name='attr_arcana_change' value='0'>
|
||
<span class='mod tot modified-attr' readonly='true' type='text' title='@{arcana}' name='attr_arcana' value='0'>0</span>
|
||
<select class='span-five' name='attr_arcana_proficiency'>
|
||
<option value='-2' data-i18n='untrained'>UNTRAINED</option>
|
||
<option value='0' data-i18n='trained'>TRAINED</option>
|
||
<option value='1' data-i18n='expert'>EXPERT</option>
|
||
<option value='2' data-i18n='master'>MASTER</option>
|
||
<option value='3' data-i18n='legendary'>LEGENDARY</option>
|
||
</select>
|
||
</div>
|
||
<div class='row-options'>
|
||
<div class='row'>
|
||
<span class='skill-span label' data-i18n='acp'>ACP</span>
|
||
<input class='acp' type='checkbox' title='@{arcana_acp}' name='attr_arcana_acp' value='1'>
|
||
<span class='skill-span label' data-i18n='signature'>SIGNATURE</span>
|
||
<input class='signature-skill' name='attr_arcana_signature' type='checkbox'>
|
||
</div>
|
||
<textarea class='skill-description input-field' title='@{arcana_description}' name='attr_arcana_description'></textarea>
|
||
</div>
|
||
</div>
|
||
<div class='skill-container'>
|
||
<input class="show-options" type="checkbox" title='@{athletics_show_options}' name="attr_athletics_show_options"><span>y</span>
|
||
<input class='signature-skill' name='attr_athletics_signature' type='hidden'>
|
||
<div class='display'>
|
||
<input hidden='true' title='@{athletics_misc}' name='attr_athletics_misc' value=''>
|
||
<input class='acp' type='checkbox' title='@{athletics_acp}' name='attr_athletics_acp' hidden='true' value='1' checked='checked'>
|
||
<button class='acp' type='roll' title='%{athletics}' name='roll_athletics' value='@{whisper_state}&{template:generic} {{name=@{character_name}}} {{characterid=@{character_id}}} {{title=^{athletics}}} {{r1=[[1d20+@{character_level}[Level]+@{athletics_proficiency}[Prof]+@{strength_mod}[Ability]@{athletics_misc}]]}} {{notes=@{athletics_description}}}' data-i18n='athletics' >ATHLETICS</button>
|
||
<input class='mod-buff' type='hidden' name='attr_athletics_change' value='0'>
|
||
<span class='mod tot modified-attr' readonly='true' type='text' title='@{athletics}' name='attr_athletics' value='0'>0</span>
|
||
<select class='span-five' name='attr_athletics_proficiency'>
|
||
<option value='-2' data-i18n='untrained'>UNTRAINED</option>
|
||
<option value='0' data-i18n='trained'>TRAINED</option>
|
||
<option value='1' data-i18n='expert'>EXPERT</option>
|
||
<option value='2' data-i18n='master'>MASTER</option>
|
||
<option value='3' data-i18n='legendary'>LEGENDARY</option>
|
||
</select>
|
||
</div>
|
||
<div class='row-options'>
|
||
<div class='row'>
|
||
<span class='skill-span label' data-i18n='acp'>ACP</span>
|
||
<input class='acp' type='checkbox' title='@{athletics_acp}' name='attr_athletics_acp' value='1' checked='checked'>
|
||
<span class='skill-span label' data-i18n='signature'>SIGNATURE</span>
|
||
<input class='signature-skill' name='attr_athletics_signature' type='checkbox'>
|
||
</div>
|
||
<textarea class='skill-description input-field' title='@{athletics_description}' name='attr_athletics_description'></textarea>
|
||
</div>
|
||
</div>
|
||
<div class='skill-container'>
|
||
<input class="show-options" type="checkbox" title='@{crafting_show_options}' name="attr_crafting_show_options"><span>y</span>
|
||
<input class='signature-skill' name='attr_crafting_signature' type='hidden'>
|
||
<div class='display'>
|
||
<input hidden='true' title='@{crafting_misc}' name='attr_crafting_misc' value=''>
|
||
<input class='acp' type='checkbox' title='@{crafting_acp}' name='attr_crafting_acp' hidden='true' value='1'>
|
||
<button class='acp' type='roll' title='%{crafting}' name='roll_crafting' value='@{whisper_state}&{template:generic} {{name=@{character_name}}} {{characterid=@{character_id}}} {{title=^{crafting}}} {{r1=[[1d20+@{character_level}[Level]+@{crafting_proficiency}[Prof]+@{intelligence_mod}[Ability]@{crafting_misc}]]}} {{notes=@{crafting_description}}}' data-i18n='crafting' >CRAFTING</button>
|
||
<input class='mod-buff' type='hidden' name='attr_crafting_change' value='0'>
|
||
<span class='mod tot modified-attr' readonly='true' type='text' title='@{crafting}' name='attr_crafting' value='0'>0</span>
|
||
<select class='span-five' name='attr_crafting_proficiency'>
|
||
<option value='-2' data-i18n='untrained'>UNTRAINED</option>
|
||
<option value='0' data-i18n='trained'>TRAINED</option>
|
||
<option value='1' data-i18n='expert'>EXPERT</option>
|
||
<option value='2' data-i18n='master'>MASTER</option>
|
||
<option value='3' data-i18n='legendary'>LEGENDARY</option>
|
||
</select>
|
||
</div>
|
||
<div class='row-options'>
|
||
<div class='row'>
|
||
<span class='skill-span label' data-i18n='acp'>ACP</span>
|
||
<input class='acp' type='checkbox' title='@{crafting_acp}' name='attr_crafting_acp' value='1'>
|
||
<span class='skill-span label' data-i18n='signature'>SIGNATURE</span>
|
||
<input class='signature-skill' name='attr_crafting_signature' type='checkbox'>
|
||
</div>
|
||
<textarea class='skill-description input-field' title='@{crafting_description}' name='attr_crafting_description'></textarea>
|
||
</div>
|
||
</div>
|
||
<div class='skill-container'>
|
||
<input class="show-options" type="checkbox" title='@{deception_show_options}' name="attr_deception_show_options"><span>y</span>
|
||
<input class='signature-skill' name='attr_deception_signature' type='hidden'>
|
||
<div class='display'>
|
||
<input hidden='true' title='@{deception_misc}' name='attr_deception_misc' value=''>
|
||
<input class='acp' type='checkbox' title='@{deception_acp}' name='attr_deception_acp' hidden='true' value='1'>
|
||
<button class='acp' type='roll' title='%{deception}' name='roll_deception' value='@{whisper_state}&{template:generic} {{name=@{character_name}}} {{characterid=@{character_id}}} {{title=^{deception}}} {{r1=[[1d20+@{character_level}[Level]+@{deception_proficiency}[Prof]+@{charisma_mod}[Ability]@{deception_misc}]]}} {{notes=@{deception_description}}}' data-i18n='deception' >DECEPTION</button>
|
||
<input class='mod-buff' type='hidden' name='attr_deception_change' value='0'>
|
||
<span class='mod tot modified-attr' readonly='true' type='text' title='@{deception}' name='attr_deception' value='0'>0</span>
|
||
<select class='span-five' name='attr_deception_proficiency'>
|
||
<option value='-2' data-i18n='untrained'>UNTRAINED</option>
|
||
<option value='0' data-i18n='trained'>TRAINED</option>
|
||
<option value='1' data-i18n='expert'>EXPERT</option>
|
||
<option value='2' data-i18n='master'>MASTER</option>
|
||
<option value='3' data-i18n='legendary'>LEGENDARY</option>
|
||
</select>
|
||
</div>
|
||
<div class='row-options'>
|
||
<div class='row'>
|
||
<span class='skill-span label' data-i18n='acp'>ACP</span>
|
||
<input class='acp' type='checkbox' title='@{deception_acp}' name='attr_deception_acp' value='1'>
|
||
<span class='skill-span label' data-i18n='signature'>SIGNATURE</span>
|
||
<input class='signature-skill' name='attr_deception_signature' type='checkbox'>
|
||
</div>
|
||
<textarea class='skill-description input-field' title='@{deception_description}' name='attr_deception_description'></textarea>
|
||
</div>
|
||
</div>
|
||
<div class='skill-container'>
|
||
<input class="show-options" type="checkbox" title='@{diplomacy_show_options}' name="attr_diplomacy_show_options"><span>y</span>
|
||
<input class='signature-skill' name='attr_diplomacy_signature' type='hidden'>
|
||
<div class='display'>
|
||
<input hidden='true' title='@{diplomacy_misc}' name='attr_diplomacy_misc' value=''>
|
||
<input class='acp' type='checkbox' title='@{diplomacy_acp}' name='attr_diplomacy_acp' hidden='true' value='1'>
|
||
<button class='acp' type='roll' title='%{diplomacy}' name='roll_diplomacy' value='@{whisper_state}&{template:generic} {{name=@{character_name}}} {{characterid=@{character_id}}} {{title=^{diplomacy}}} {{r1=[[1d20+@{character_level}[Level]+@{diplomacy_proficiency}[Prof]+@{charisma_mod}[Ability]@{diplomacy_misc}]]}} {{notes=@{diplomacy_description}}}' data-i18n='diplomacy' >DIPLOMACY</button>
|
||
<input class='mod-buff' type='hidden' name='attr_diplomacy_change' value='0'>
|
||
<span class='mod tot modified-attr' readonly='true' type='text' title='@{diplomacy}' name='attr_diplomacy' value='0'>0</span>
|
||
<select class='span-five' name='attr_diplomacy_proficiency'>
|
||
<option value='-2' data-i18n='untrained'>UNTRAINED</option>
|
||
<option value='0' data-i18n='trained'>TRAINED</option>
|
||
<option value='1' data-i18n='expert'>EXPERT</option>
|
||
<option value='2' data-i18n='master'>MASTER</option>
|
||
<option value='3' data-i18n='legendary'>LEGENDARY</option>
|
||
</select>
|
||
</div>
|
||
<div class='row-options'>
|
||
<div class='row'>
|
||
<span class='skill-span label' data-i18n='acp'>ACP</span>
|
||
<input class='acp' type='checkbox' title='@{diplomacy_acp}' name='attr_diplomacy_acp' value='1'>
|
||
<span class='skill-span label' data-i18n='signature'>SIGNATURE</span>
|
||
<input class='signature-skill' name='attr_diplomacy_signature' type='checkbox'>
|
||
</div>
|
||
<textarea class='skill-description input-field' title='@{diplomacy_description}' name='attr_diplomacy_description'></textarea>
|
||
</div>
|
||
</div>
|
||
<div class='skill-container'>
|
||
<input class="show-options" type="checkbox" title='@{intimidation_show_options}' name="attr_intimidation_show_options"><span>y</span>
|
||
<input class='signature-skill' name='attr_intimidation_signature' type='hidden'>
|
||
<div class='display'>
|
||
<input hidden='true' title='@{intimidation_misc}' name='attr_intimidation_misc' value=''>
|
||
<input class='acp' type='checkbox' title='@{intimidation_acp}' name='attr_intimidation_acp' hidden='true' value='1'>
|
||
<button class='acp' type='roll' title='%{intimidation}' name='roll_intimidation' value='@{whisper_state}&{template:generic} {{name=@{character_name}}} {{characterid=@{character_id}}} {{title=^{intimidation}}} {{r1=[[1d20+@{character_level}[Level]+@{intimidation_proficiency}[Prof]+@{charisma_mod}[Ability]@{intimidation_misc}]]}} {{notes=@{intimidation_description}}}' data-i18n='intimidation' >INTIMIDATION</button>
|
||
<input class='mod-buff' type='hidden' name='attr_intimidation_change' value='0'>
|
||
<span class='mod tot modified-attr' readonly='true' type='text' title='@{intimidation}' name='attr_intimidation' value='0'>0</span>
|
||
<select class='span-five' name='attr_intimidation_proficiency'>
|
||
<option value='-2' data-i18n='untrained'>UNTRAINED</option>
|
||
<option value='0' data-i18n='trained'>TRAINED</option>
|
||
<option value='1' data-i18n='expert'>EXPERT</option>
|
||
<option value='2' data-i18n='master'>MASTER</option>
|
||
<option value='3' data-i18n='legendary'>LEGENDARY</option>
|
||
</select>
|
||
</div>
|
||
<div class='row-options'>
|
||
<div class='row'>
|
||
<span class='skill-span label' data-i18n='acp'>ACP</span>
|
||
<input class='acp' type='checkbox' title='@{intimidation_acp}' name='attr_intimidation_acp' value='1'>
|
||
<span class='skill-span label' data-i18n='signature'>SIGNATURE</span>
|
||
<input class='signature-skill' name='attr_intimidation_signature' type='checkbox'>
|
||
</div>
|
||
<textarea class='skill-description input-field' title='@{intimidation_description}' name='attr_intimidation_description'></textarea>
|
||
</div>
|
||
</div>
|
||
<div class='skill-container'>
|
||
<input class="show-options" type="checkbox" title='@{medicine_show_options}' name="attr_medicine_show_options"><span>y</span>
|
||
<input class='signature-skill' name='attr_medicine_signature' type='hidden'>
|
||
<div class='display'>
|
||
<input hidden='true' title='@{medicine_misc}' name='attr_medicine_misc' value=''>
|
||
<input class='acp' type='checkbox' title='@{medicine_acp}' name='attr_medicine_acp' hidden='true' value='1'>
|
||
<button class='acp' type='roll' title='%{medicine}' name='roll_medicine' value='@{whisper_state}&{template:generic} {{name=@{character_name}}} {{characterid=@{character_id}}} {{title=^{medicine}}} {{r1=[[1d20+@{character_level}[Level]+@{medicine_proficiency}[Prof]+@{wisdom_mod}[Ability]@{medicine_misc}]]}} {{notes=@{medicine_description}}}' data-i18n='medicine' >MEDICINE</button>
|
||
<input class='mod-buff' type='hidden' name='attr_medicine_change' value='0'>
|
||
<span class='mod tot modified-attr' readonly='true' type='text' title='@{medicine}' name='attr_medicine' value='0'>0</span>
|
||
<select class='span-five' name='attr_medicine_proficiency'>
|
||
<option value='-2' data-i18n='untrained'>UNTRAINED</option>
|
||
<option value='0' data-i18n='trained'>TRAINED</option>
|
||
<option value='1' data-i18n='expert'>EXPERT</option>
|
||
<option value='2' data-i18n='master'>MASTER</option>
|
||
<option value='3' data-i18n='legendary'>LEGENDARY</option>
|
||
</select>
|
||
</div>
|
||
<div class='row-options'>
|
||
<div class='row'>
|
||
<span class='skill-span label' data-i18n='acp'>ACP</span>
|
||
<input class='acp' type='checkbox' title='@{medicine_acp}' name='attr_medicine_acp' value='1'>
|
||
<span class='skill-span label' data-i18n='signature'>SIGNATURE</span>
|
||
<input class='signature-skill' name='attr_medicine_signature' type='checkbox'>
|
||
</div>
|
||
<textarea class='skill-description input-field' title='@{medicine_description}' name='attr_medicine_description'></textarea>
|
||
</div>
|
||
</div>
|
||
<div class='skill-container'>
|
||
<input class="show-options" type="checkbox" title='@{nature_show_options}' name="attr_nature_show_options"><span>y</span>
|
||
<input class='signature-skill' name='attr_nature_signature' type='hidden'>
|
||
<div class='display'>
|
||
<input hidden='true' title='@{nature_misc}' name='attr_nature_misc' value=''>
|
||
<input class='acp' type='checkbox' title='@{nature_acp}' name='attr_nature_acp' hidden='true' value='1'>
|
||
<button class='acp' type='roll' title='%{nature}' name='roll_nature' value='@{whisper_state}&{template:generic} {{name=@{character_name}}} {{characterid=@{character_id}}} {{title=^{nature}}} {{r1=[[1d20+@{character_level}[Level]+@{nature_proficiency}[Prof]+@{wisdom_mod}[Ability]@{nature_misc}]]}} {{notes=@{nature_description}}}' data-i18n='nature' >NATURE</button>
|
||
<input class='mod-buff' type='hidden' name='attr_nature_change' value='0'>
|
||
<span class='mod tot modified-attr' readonly='true' type='text' title='@{nature}' name='attr_nature' value='0'>0</span>
|
||
<select class='span-five' name='attr_nature_proficiency'>
|
||
<option value='-2' data-i18n='untrained'>UNTRAINED</option>
|
||
<option value='0' data-i18n='trained'>TRAINED</option>
|
||
<option value='1' data-i18n='expert'>EXPERT</option>
|
||
<option value='2' data-i18n='master'>MASTER</option>
|
||
<option value='3' data-i18n='legendary'>LEGENDARY</option>
|
||
</select>
|
||
</div>
|
||
<div class='row-options'>
|
||
<div class='row'>
|
||
<span class='skill-span label' data-i18n='acp'>ACP</span>
|
||
<input class='acp' type='checkbox' title='@{nature_acp}' name='attr_nature_acp' value='1'>
|
||
<span class='skill-span label' data-i18n='signature'>SIGNATURE</span>
|
||
<input class='signature-skill' name='attr_nature_signature' type='checkbox'>
|
||
</div>
|
||
<textarea class='skill-description input-field' title='@{nature_description}' name='attr_nature_description'></textarea>
|
||
</div>
|
||
</div>
|
||
<div class='skill-container'>
|
||
<input class="show-options" type="checkbox" title='@{occultism_show_options}' name="attr_occultism_show_options"><span>y</span>
|
||
<input class='signature-skill' name='attr_occultism_signature' type='hidden'>
|
||
<div class='display'>
|
||
<input hidden='true' title='@{occultism_misc}' name='attr_occultism_misc' value=''>
|
||
<input class='acp' type='checkbox' title='@{occultism_acp}' name='attr_occultism_acp' hidden='true' value='1'>
|
||
<button class='acp' type='roll' title='%{occultism}' name='roll_occultism' value='@{whisper_state}&{template:generic} {{name=@{character_name}}} {{characterid=@{character_id}}} {{title=^{occultism}}} {{r1=[[1d20+@{character_level}[Level]+@{occultism_proficiency}[Prof]+@{intelligence_mod}[Ability]@{occultism_misc}]]}} {{notes=@{occultism_description}}}' data-i18n='occultism' >OCCULTISM</button>
|
||
<input class='mod-buff' type='hidden' name='attr_occultism_change' value='0'>
|
||
<span class='mod tot modified-attr' readonly='true' type='text' title='@{occultism}' name='attr_occultism' value='0'>0</span>
|
||
<select class='span-five' name='attr_occultism_proficiency'>
|
||
<option value='-2' data-i18n='untrained'>UNTRAINED</option>
|
||
<option value='0' data-i18n='trained'>TRAINED</option>
|
||
<option value='1' data-i18n='expert'>EXPERT</option>
|
||
<option value='2' data-i18n='master'>MASTER</option>
|
||
<option value='3' data-i18n='legendary'>LEGENDARY</option>
|
||
</select>
|
||
</div>
|
||
<div class='row-options'>
|
||
<div class='row'>
|
||
<span class='skill-span label' data-i18n='acp'>ACP</span>
|
||
<input class='acp' type='checkbox' title='@{occultism_acp}' name='attr_occultism_acp' value='1'>
|
||
<span class='skill-span label' data-i18n='signature'>SIGNATURE</span>
|
||
<input class='signature-skill' name='attr_occultism_signature' type='checkbox'>
|
||
</div>
|
||
<textarea class='skill-description input-field' title='@{occultism_description}' name='attr_occultism_description'></textarea>
|
||
</div>
|
||
</div>
|
||
<div class='skill-container'>
|
||
<input class="show-options" type="checkbox" title='@{religion_show_options}' name="attr_religion_show_options"><span>y</span>
|
||
<input class='signature-skill' name='attr_religion_signature' type='hidden'>
|
||
<div class='display'>
|
||
<input hidden='true' title='@{religion_misc}' name='attr_religion_misc' value=''>
|
||
<input class='acp' type='checkbox' title='@{religion_acp}' name='attr_religion_acp' hidden='true' value='1'>
|
||
<button class='acp' type='roll' title='%{religion}' name='roll_religion' value='@{whisper_state}&{template:generic} {{name=@{character_name}}} {{characterid=@{character_id}}} {{title=^{religion}}} {{r1=[[1d20+@{character_level}[Level]+@{religion_proficiency}[Prof]+@{wisdom_mod}[Ability]@{religion_misc}]]}} {{notes=@{religion_description}}}' data-i18n='religion' >RELIGION</button>
|
||
<input class='mod-buff' type='hidden' name='attr_religion_change' value='0'>
|
||
<span class='mod tot modified-attr' readonly='true' type='text' title='@{religion}' name='attr_religion' value='0'>0</span>
|
||
<select class='span-five' name='attr_religion_proficiency'>
|
||
<option value='-2' data-i18n='untrained'>UNTRAINED</option>
|
||
<option value='0' data-i18n='trained'>TRAINED</option>
|
||
<option value='1' data-i18n='expert'>EXPERT</option>
|
||
<option value='2' data-i18n='master'>MASTER</option>
|
||
<option value='3' data-i18n='legendary'>LEGENDARY</option>
|
||
</select>
|
||
</div>
|
||
<div class='row-options'>
|
||
<div class='row'>
|
||
<span class='skill-span label' data-i18n='acp'>ACP</span>
|
||
<input class='acp' type='checkbox' title='@{religion_acp}' name='attr_religion_acp' value='1'>
|
||
<span class='skill-span label' data-i18n='signature'>SIGNATURE</span>
|
||
<input class='signature-skill' name='attr_religion_signature' type='checkbox'>
|
||
</div>
|
||
<textarea class='skill-description input-field' title='@{religion_description}' name='attr_religion_description'></textarea>
|
||
</div>
|
||
</div>
|
||
<div class='skill-container'>
|
||
<input class="show-options" type="checkbox" title='@{society_show_options}' name="attr_society_show_options"><span>y</span>
|
||
<input class='signature-skill' name='attr_society_signature' type='hidden'>
|
||
<div class='display'>
|
||
<input hidden='true' title='@{society_misc}' name='attr_society_misc' value=''>
|
||
<input class='acp' type='checkbox' title='@{society_acp}' name='attr_society_acp' hidden='true' value='1'>
|
||
<button class='acp' type='roll' title='%{society}' name='roll_society' value='@{whisper_state}&{template:generic} {{name=@{character_name}}} {{characterid=@{character_id}}} {{title=^{society}}} {{r1=[[1d20+@{character_level}[Level]+@{society_proficiency}[Prof]+@{intelligence_mod}[Ability]@{society_misc}]]}} {{notes=@{society_description}}}' data-i18n='society' >SOCIETY</button>
|
||
<input class='mod-buff' type='hidden' name='attr_society_change' value='0'>
|
||
<span class='mod tot modified-attr' readonly='true' type='text' title='@{society}' name='attr_society' value='0'>0</span>
|
||
<select class='span-five' name='attr_society_proficiency'>
|
||
<option value='-2' data-i18n='untrained'>UNTRAINED</option>
|
||
<option value='0' data-i18n='trained'>TRAINED</option>
|
||
<option value='1' data-i18n='expert'>EXPERT</option>
|
||
<option value='2' data-i18n='master'>MASTER</option>
|
||
<option value='3' data-i18n='legendary'>LEGENDARY</option>
|
||
</select>
|
||
</div>
|
||
<div class='row-options'>
|
||
<div class='row'>
|
||
<span class='skill-span label' data-i18n='acp'>ACP</span>
|
||
<input class='acp' type='checkbox' title='@{society_acp}' name='attr_society_acp' value='1'>
|
||
<span class='skill-span label' data-i18n='signature'>SIGNATURE</span>
|
||
<input class='signature-skill' name='attr_society_signature' type='checkbox'>
|
||
</div>
|
||
<textarea class='skill-description input-field' title='@{society_description}' name='attr_society_description'></textarea>
|
||
</div>
|
||
</div>
|
||
<div class='skill-container'>
|
||
<input class="show-options" type="checkbox" title='@{stealth_show_options}' name="attr_stealth_show_options"><span>y</span>
|
||
<input class='signature-skill' name='attr_stealth_signature' type='hidden'>
|
||
<div class='display'>
|
||
<input hidden='true' title='@{stealth_misc}' name='attr_stealth_misc' value=''>
|
||
<input class='acp' type='checkbox' title='@{stealth_acp}' name='attr_stealth_acp' hidden='true' value='1' checked='checked'>
|
||
<button class='acp' type='roll' title='%{stealth}' name='roll_stealth' value='@{whisper_state}&{template:generic} {{name=@{character_name}}} {{characterid=@{character_id}}} {{title=^{stealth}}} {{r1=[[1d20+@{character_level}[Level]+@{stealth_proficiency}[Prof]+@{dexterity_mod}[Ability]@{stealth_misc}]]}} {{notes=@{stealth_description}}}' data-i18n='stealth' >STEALTH</button>
|
||
<input class='mod-buff' type='hidden' name='attr_stealth_change' value='0'>
|
||
<span class='mod tot modified-attr' readonly='true' type='text' title='@{stealth}' name='attr_stealth' value='0'>0</span>
|
||
<select class='span-five' name='attr_stealth_proficiency'>
|
||
<option value='-2' data-i18n='untrained'>UNTRAINED</option>
|
||
<option value='0' data-i18n='trained'>TRAINED</option>
|
||
<option value='1' data-i18n='expert'>EXPERT</option>
|
||
<option value='2' data-i18n='master'>MASTER</option>
|
||
<option value='3' data-i18n='legendary'>LEGENDARY</option>
|
||
</select>
|
||
</div>
|
||
<div class='row-options'>
|
||
<div class='row'>
|
||
<span class='skill-span label' data-i18n='acp'>ACP</span>
|
||
<input class='acp' type='checkbox' title='@{stealth_acp}' name='attr_stealth_acp' value='1' checked='checked'>
|
||
<span class='skill-span label' data-i18n='signature'>SIGNATURE</span>
|
||
<input class='signature-skill' name='attr_stealth_signature' type='checkbox'>
|
||
</div>
|
||
<textarea class='skill-description input-field' title='@{stealth_description}' name='attr_stealth_description'></textarea>
|
||
</div>
|
||
</div>
|
||
<div class='skill-container'>
|
||
<input class="show-options" type="checkbox" title='@{survival_show_options}' name="attr_survival_show_options"><span>y</span>
|
||
<input class='signature-skill' name='attr_survival_signature' type='hidden'>
|
||
<div class='display'>
|
||
<input hidden='true' title='@{survival_misc}' name='attr_survival_misc' value=''>
|
||
<input class='acp' type='checkbox' title='@{survival_acp}' name='attr_survival_acp' hidden='true' value='1'>
|
||
<button class='acp' type='roll' title='%{survival}' name='roll_survival' value='@{whisper_state}&{template:generic} {{name=@{character_name}}} {{characterid=@{character_id}}} {{title=^{survival}}} {{r1=[[1d20+@{character_level}[Level]+@{survival_proficiency}[Prof]+@{wisdom_mod}[Ability]@{survival_misc}]]}} {{notes=@{survival_description}}}' data-i18n='survival' >SURVIVAL</button>
|
||
<input class='mod-buff' type='hidden' name='attr_survival_change' value='0'>
|
||
<span class='mod tot modified-attr' readonly='true' type='text' title='@{survival}' name='attr_survival' value='0'>0</span>
|
||
<select class='span-five' name='attr_survival_proficiency'>
|
||
<option value='-2' data-i18n='untrained'>UNTRAINED</option>
|
||
<option value='0' data-i18n='trained'>TRAINED</option>
|
||
<option value='1' data-i18n='expert'>EXPERT</option>
|
||
<option value='2' data-i18n='master'>MASTER</option>
|
||
<option value='3' data-i18n='legendary'>LEGENDARY</option>
|
||
</select>
|
||
</div>
|
||
<div class='row-options'>
|
||
<div class='row'>
|
||
<span class='skill-span label' data-i18n='acp'>ACP</span>
|
||
<input class='acp' type='checkbox' title='@{survival_acp}' name='attr_survival_acp' value='1'>
|
||
<span class='skill-span label' data-i18n='signature'>SIGNATURE</span>
|
||
<input class='signature-skill' name='attr_survival_signature' type='checkbox'>
|
||
</div>
|
||
<textarea class='skill-description input-field' title='@{survival_description}' name='attr_survival_description'></textarea>
|
||
</div>
|
||
</div>
|
||
<div class='skill-container'>
|
||
<input class="show-options" type="checkbox" title='@{thievery_show_options}' name="attr_thievery_show_options"><span>y</span>
|
||
<input class='signature-skill' name='attr_thievery_signature' type='hidden'>
|
||
<div class='display'>
|
||
<input hidden='true' title='@{thievery_misc}' name='attr_thievery_misc' value=''>
|
||
<input class='acp' type='checkbox' title='@{thievery_acp}' name='attr_thievery_acp' hidden='true' value='1' checked='checked'>
|
||
<button class='acp' type='roll' title='%{thievery}' name='roll_thievery' value='@{whisper_state}&{template:generic} {{name=@{character_name}}} {{characterid=@{character_id}}} {{title=^{thievery}}} {{r1=[[1d20+@{character_level}[Level]+@{thievery_proficiency}[Prof]+@{dexterity_mod}[Ability]@{thievery_misc}]]}} {{notes=@{thievery_description}}}' data-i18n='thievery' >THIEVERY</button>
|
||
<input class='mod-buff' type='hidden' name='attr_thievery_change' value='0'>
|
||
<span class='mod tot modified-attr' readonly='true' type='text' title='@{thievery}' name='attr_thievery' value='0'>0</span>
|
||
<select class='span-five' name='attr_thievery_proficiency'>
|
||
<option value='-2' data-i18n='untrained'>UNTRAINED</option>
|
||
<option value='0' data-i18n='trained'>TRAINED</option>
|
||
<option value='1' data-i18n='expert'>EXPERT</option>
|
||
<option value='2' data-i18n='master'>MASTER</option>
|
||
<option value='3' data-i18n='legendary'>LEGENDARY</option>
|
||
</select>
|
||
</div>
|
||
<div class='row-options'>
|
||
<div class='row'>
|
||
<span class='skill-span label' data-i18n='acp'>ACP</span>
|
||
<input class='acp' type='checkbox' title='@{thievery_acp}' name='attr_thievery_acp' value='1' checked='checked'>
|
||
<span class='skill-span label' data-i18n='signature'>SIGNATURE</span>
|
||
<input class='signature-skill' name='attr_thievery_signature' type='checkbox'>
|
||
</div>
|
||
<textarea class='skill-description input-field' title='@{thievery_description}' name='attr_thievery_description'></textarea>
|
||
</div>
|
||
</div>
|
||
<div class='skill-fieldset'>
|
||
<fieldset class='repeating_skill'>
|
||
<input type='checkbox' hidden='true' title='@{filter}' name='attr_filter' value='1' checked='checked'>
|
||
<div class='skill-container'>
|
||
<input class="show-options" type="checkbox" title='@{show_options}' name="attr_show_options" checked><span>y</span>
|
||
<input class='signature-skill' name='attr_signature' type='hidden'>
|
||
<div class='display'>
|
||
<input hidden='true' title='@{misc}' name='attr_misc' value=''>
|
||
<input class='acp' type='checkbox' title='@{acp}' name='attr_acp' hidden='true' value='1'>
|
||
<button class='acp' type='roll' title='%{roll}' name='roll_roll' value='@{whisper_state}&{template:generic} {{name=@{character_name}}} {{characterid=@{character_id}}} {{title=@{name}}} {{r1=[[1d20+@{character_level}[Level]+@{proficiency}[Prof]+@{ability}[Ability]@{misc}]]}} {{notes=@{description}}}'><span class='profession-name label' type='text' title='@{name}' name='attr_name' value='Profession'>Lore/Perform</span></button>
|
||
<input class='mod-buff' type='hidden' name='attr_change' value='0'>
|
||
<span class='mod tot modified-attr' readonly='true' type='text' title='@{skill}' name='attr_skill' value='0'>0</span>
|
||
<select class='span-five' name='attr_proficiency'>
|
||
<option value='-2' data-i18n='untrained'>UNTRAINED</option>
|
||
<option value='0' data-i18n='trained'>TRAINED</option>
|
||
<option value='1' data-i18n='expert'>EXPERT</option>
|
||
<option value='2' data-i18n='master'>MASTER</option>
|
||
<option value='3' data-i18n='legendary'>LEGENDARY</option>
|
||
</select>
|
||
</div>
|
||
<div class='row-options'>
|
||
<div class='row'>
|
||
<input class='scalable-input input-field' type='text' title='@{name}' name='attr_name' value='Lore/Perform'>
|
||
</div>
|
||
<div class='row'>
|
||
<span class='skill-span label' data-i18n='acp'>ACP</span>
|
||
<input class='acp' type='checkbox' title='@{acp}' name='attr_acp' value='1'>
|
||
<select class='label abi input-field' title='@{ability}' name='attr_ability'>
|
||
<option value='@{strength_mod}'>STR</option>
|
||
<option value='@{dexterity_mod}'>DEX</option>
|
||
<option value='@{constitution_mod}'>CON</option>
|
||
<option value='@{intelligence_mod}' selected='selected'>INT</option>
|
||
<option value='@{wisdom_mod}'>WIS</option>
|
||
<option value='@{charisma_mod}'>CHA</option>
|
||
</select>
|
||
<span class='skill-span label' data-i18n='signature'>SIGNATURE</span>
|
||
<input class='signature-skill' name='attr_signature' type='checkbox'>
|
||
</div>
|
||
<textarea class='skill-description input-field' title='@{description}' name='attr_description'></textarea>
|
||
<input readonly=true class='id-label' title='@{id}' name='attr_id'></input>
|
||
<input title='@{buff_notes}' name='attr_buff_notes' hidden='true'>
|
||
</div>
|
||
</div>
|
||
</fieldset>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class='combat'>
|
||
<input type='radio' class='section section-check proficiencies-tab' name='attr_combat_view' value='proficiency'></input>
|
||
<div class='section head proficiencies-tab'>
|
||
<h1 class='label' data-i18n='proficiencies'>PROFICIENCIES</h1>
|
||
</div>
|
||
<input type='radio' class='section section-check items' name='attr_combat_view' value='items'></input>
|
||
<div class='section head items'>
|
||
<h1 class='label' data-i18n='equipment'>EQUIPMENT</h1>
|
||
</div>
|
||
<input type='radio' class='section section-check attacks' name='attr_combat_view' value='attacks'></input>
|
||
<div class='section head attacks'>
|
||
<h1 class='label' data-i18n='attacks'>ATTACKS</h1>
|
||
</div>
|
||
<input type='radio' class='section section-check abilities' name='attr_combat_view' value='abilities'></input>
|
||
<div class='section head abilities'>
|
||
<h1 class='label' data-i18n='feats'>FEATS</h1>
|
||
</div>
|
||
<input class='is-caster' title='@{caster_select}' name='attr_caster_select' type='checkbox' value='1' hidden='true' checked>
|
||
<input type='radio' class='section section-check spells' name='attr_combat_view' value='spells'></input>
|
||
<div class='section head spells'>
|
||
<h1 class='label' data-i18n='spells&powers'>SPELLS/POWERS</h1>
|
||
</div>
|
||
<div class='section-container proficiency-section'>
|
||
<div class='section-container'>
|
||
<div class='prof-gutter armor'>
|
||
<span class='label' data-i18n='armor'>ARMOR</span>
|
||
</div>
|
||
<span class='label' data-i18n='unarmored'>UNARMORED</span>
|
||
<span class='label' data-i18n='light-armor'>LIGHT ARMOR</span>
|
||
<span class='label' data-i18n='medium-armor'>MEDIUM ARMOR</span>
|
||
<span class='label' data-i18n='heavy-armor'>HEAVY ARMOR</span>
|
||
<span class='label' data-i18n='shields'>SHIELDS</span>
|
||
<select name='attr_unarmored_proficiency'>
|
||
<option value='-2' data-i18n='untrained'>UNTRAINED</option>
|
||
<option value='0' data-i18n='trained'>TRAINED</option>
|
||
<option value='1' data-i18n='expert'>EXPERT</option>
|
||
<option value='2' data-i18n='master'>MASTER</option>
|
||
<option value='3' data-i18n='legendary'>LEGENDARY</option>
|
||
</select>
|
||
<select name='attr_light_armor_proficiency'>
|
||
<option value='-2' data-i18n='untrained'>UNTRAINED</option>
|
||
<option value='0' data-i18n='trained'>TRAINED</option>
|
||
<option value='1' data-i18n='expert'>EXPERT</option>
|
||
<option value='2' data-i18n='master'>MASTER</option>
|
||
<option value='3' data-i18n='legendary'>LEGENDARY</option>
|
||
</select>
|
||
<select name='attr_medium_armor_proficiency'>
|
||
<option value='-2' data-i18n='untrained'>UNTRAINED</option>
|
||
<option value='0' data-i18n='trained'>TRAINED</option>
|
||
<option value='1' data-i18n='expert'>EXPERT</option>
|
||
<option value='2' data-i18n='master'>MASTER</option>
|
||
<option value='3' data-i18n='legendary'>LEGENDARY</option>
|
||
</select>
|
||
<select name='attr_heavy_armor_proficiency'>
|
||
<option value='-2' data-i18n='untrained'>UNTRAINED</option>
|
||
<option value='0' data-i18n='trained'>TRAINED</option>
|
||
<option value='1' data-i18n='expert'>EXPERT</option>
|
||
<option value='2' data-i18n='master'>MASTER</option>
|
||
<option value='3' data-i18n='legendary'>LEGENDARY</option>
|
||
</select>
|
||
<select name='attr_shield_proficiency'>
|
||
<option value='-2' data-i18n='untrained'>UNTRAINED</option>
|
||
<option value='0' data-i18n='trained'>TRAINED</option>
|
||
<option value='1' data-i18n='expert'>EXPERT</option>
|
||
<option value='2' data-i18n='master'>MASTER</option>
|
||
<option value='3' data-i18n='legendary'>LEGENDARY</option>
|
||
</select>
|
||
<div class='prof-gutter weapon'>
|
||
<span class='label' data-i18n='weapons'>WEAPONS</span>
|
||
</div>
|
||
<span class='label' data-i18n='simple'>SIMPLE</span>
|
||
<span class='label' data-i18n='martial'>MARTIAL</span>
|
||
<select name='attr_simple_weapon_proficiency'>
|
||
<option value='-2' data-i18n='untrained'>UNTRAINED</option>
|
||
<option value='0' data-i18n='trained'>TRAINED</option>
|
||
<option value='1' data-i18n='expert'>EXPERT</option>
|
||
<option value='2' data-i18n='master'>MASTER</option>
|
||
<option value='3' data-i18n='legendary'>LEGENDARY</option>
|
||
</select>
|
||
<select name='attr_martial_weapon_proficiency'>
|
||
<option value='-2' data-i18n='untrained'>UNTRAINED</option>
|
||
<option value='0' data-i18n='trained'>TRAINED</option>
|
||
<option value='1' data-i18n='expert'>EXPERT</option>
|
||
<option value='2' data-i18n='master'>MASTER</option>
|
||
<option value='3' data-i18n='legendary'>LEGENDARY</option>
|
||
</select>
|
||
<textarea name='attr_misc_proficiencies' placeholder='Miscellaneous Proficiencies'></textarea>
|
||
<div class='prof-gutter tradition'>
|
||
<span class='label' data-i18n='magical traditions'>MAGICAL TRADITIONS</span>
|
||
</div>
|
||
<span class='label' data-i18n='arcane'>ARCANE</span>
|
||
<span class='label' data-i18n='divine'>DIVINE</span>
|
||
<span class='label' data-i18n='primal'>PRIMAL</span>
|
||
<span class='label' data-i18n='occult'>OCCULT</span>
|
||
<select name='attr_arcane_spell_proficiency'>
|
||
<option value='-2' data-i18n='untrained'>UNTRAINED</option>
|
||
<option value='0' data-i18n='trained'>TRAINED</option>
|
||
<option value='1' data-i18n='expert'>EXPERT</option>
|
||
<option value='2' data-i18n='master'>MASTER</option>
|
||
<option value='3' data-i18n='legendary'>LEGENDARY</option>
|
||
</select>
|
||
<select name='attr_divine_spell_proficiency'>
|
||
<option value='-2' data-i18n='untrained'>UNTRAINED</option>
|
||
<option value='0' data-i18n='trained'>TRAINED</option>
|
||
<option value='1' data-i18n='expert'>EXPERT</option>
|
||
<option value='2' data-i18n='master'>MASTER</option>
|
||
<option value='3' data-i18n='legendary'>LEGENDARY</option>
|
||
</select>
|
||
<select name='attr_primal_spell_proficiency'>
|
||
<option value='-2' data-i18n='untrained'>UNTRAINED</option>
|
||
<option value='0' data-i18n='trained'>TRAINED</option>
|
||
<option value='1' data-i18n='expert'>EXPERT</option>
|
||
<option value='2' data-i18n='master'>MASTER</option>
|
||
<option value='3' data-i18n='legendary'>LEGENDARY</option>
|
||
</select>
|
||
<select name='attr_occult_spell_proficiency'>
|
||
<option value='-2' data-i18n='untrained'>UNTRAINED</option>
|
||
<option value='0' data-i18n='trained'>TRAINED</option>
|
||
<option value='1' data-i18n='expert'>EXPERT</option>
|
||
<option value='2' data-i18n='master'>MASTER</option>
|
||
<option value='3' data-i18n='legendary'>LEGENDARY</option>
|
||
</select>
|
||
</div>
|
||
</div>
|
||
<div class='weapons section-container'>
|
||
<div class='button-description'>
|
||
<span data-i18n='name'>NAME</span>
|
||
<span data-i18n='attack'>ATTACK</span>
|
||
<span class='span-two' data-i18n='damage'>DAMAGE</span>
|
||
<span data-i18n='type'>TYPE</span>
|
||
<span data-i18n='atk1'>ATK1</span>
|
||
<span data-i18n='atk2'>ATK2</span>
|
||
<span data-i18n='atk3+'>ATK3+</span>
|
||
</div>
|
||
<fieldset class='repeating_attack'>
|
||
<input class='filter' type='checkbox' hidden='true' title='@{filter}' name='attr_filter' value='1' checked='checked'>
|
||
<div class='filter-container attack'>
|
||
<input type='text' hidden='true' title='@{misc}' name='attr_misc' value=''>
|
||
<input type='text' hidden='true' title='@{damage_misc}' name='attr_damage_misc' value=''>
|
||
<input class="show-options" type="checkbox" title='@{show_options}' name="attr_show_options" value='1' checked="checked"><span>y</span>
|
||
<div class='row-options'>
|
||
<div class='row'>
|
||
<span class='label' data-i18n='name-u'>NAME</span>
|
||
<input class='atk-name scalable-input input-field' type='text' title='@{name}' name='attr_name' value=''>
|
||
</div>
|
||
<div class='row span-three display-margin'>
|
||
<span class='label' data-i18n='lvl'>LVL</span>
|
||
<input class='atk-level input-field' type='text' title='@{level}' name='attr_level' value='0'>
|
||
<span class='label' data-i18n='potency-rune'>POTENCY RUNE</span>
|
||
<input class='bab' type='number' min='0' name='attr_potency_rune' value='0'>
|
||
<span class='label' data-i18n='property-rune'>PROPERTY RUNE</span>
|
||
<input class='scalable-input' type='text' name='attr_property_rune'>
|
||
</div>
|
||
<div class='row span-two'>
|
||
<span class='label' data-i18n='atk-u'>ATTACK ROLL</span>
|
||
<select class='label atk-ability abi' title='@{ability}' name='attr_ability'>
|
||
<option value='0' selected='na' selected='selected'>N/A</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>
|
||
<div class='row scalable-input proficiency-container'>
|
||
<select class='span-five' name='attr_proficiency'>
|
||
<option value='-2' data-i18n='untrained' selected>UNTRAINED</option>
|
||
<option value='0' data-i18n='trained'>TRAINED</option>
|
||
<option value='1' data-i18n='expert'>EXPERT</option>
|
||
<option value='2' data-i18n='master'>MASTER</option>
|
||
<option value='3' data-i18n='legendary'>LEGENDARY</option>
|
||
</select>
|
||
</div>
|
||
</div>
|
||
<div class='row span-two'>
|
||
<span class='label' data-i18n='usage'>USAGE</span>
|
||
<input class='atk-usage scalable-input input-field' type='text' title='@{usage}' name='attr_usage' value=''>
|
||
</div>
|
||
<div class='row span-all'>
|
||
<select class='scalable-input' title='@{quality}' name='attr_quality'>
|
||
<option value='0' data-i18n='standard' selected>STANDARD</option>
|
||
<option value='1' data-i18n='expert'>EXPERT</option>
|
||
<option value='2' data-i18n='master'>MASTER</option>
|
||
<option value='3' data-i18n='legendary'>LEGENDARY</option>
|
||
</select>
|
||
<select class='scalable-input' title='@{rarity}' name='attr_rarity'>
|
||
<option value='common' data-i18n='common' selected='selected'>COMMON</option>
|
||
<option value='uncommon' data-i18n='uncommon'>UNCOMMON</option>
|
||
</select>
|
||
<select class='scalable-input' title='@{category}' name='attr_category'>
|
||
<option value='other' data-i18n='other' selected>OTHER</option>
|
||
<option value='simple' data-i18n='simple' >SIMPLE</option>
|
||
<option value='martial' data-i18n='martial'>MARTIAL</option>
|
||
</select>
|
||
<select class='scalable-input' title='@{engagement_range}' name='attr_engagement_range'>
|
||
<option value='melee' data-i18n='melee' selected='selected'>MELEE</option>
|
||
<option value='ranged' data-i18n='ranged'>RANGED</option>
|
||
</select>
|
||
<span class='label' data-i18n='special'>SPECIAL</span>
|
||
<input class='atk-special scalable-input input-field' type='text' title='@{special}' name='attr_special' value=''>
|
||
</div>
|
||
<div class='row span-two'>
|
||
<span class='label' data-i18n='dmg'>DAMAGE ROLL</span>
|
||
<input class='bab input-field' type='number' name='attr_damage_dice_num' value=''>
|
||
<span data-i18n='dice-abbrv'>d</span>
|
||
<input class='bab input-field' type='number' name='attr_damage_dice_size' value=''>
|
||
<span>+</span>
|
||
<select class='label atk-ability abi' title='@{damage_ability}' name='attr_damage_ability'>
|
||
<option value='0' selected='selected'>N/A</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>
|
||
<input class='dmg-dice scalable-input input-field' type='text' name='attr_additional_damage' value=''>
|
||
</div>
|
||
<div class='row span-two'>
|
||
<span class='label' data-i18n='damage-type'>DAMAGE TYPE</span>
|
||
<input class='atk-type scalable-input input-field' type='text' title='@{type}' name='attr_type' value=''>
|
||
</div>
|
||
<div class='row span-two'>
|
||
<span class='label' data-i18n='crit-effect'>CRITICAL EFFECT</span>
|
||
<input class='atk-crit scalable-input input-field' type='text' title='@{crit}' name='attr_crit' value=''>
|
||
</div>
|
||
<div class='row span-two'>
|
||
<span class='label' data-i18n='range'>RANGE</span>
|
||
<input class='atk-range scalable-input input-field' type='text' title='@{range}' name='attr_range' value=''>
|
||
<input class='label scalable-input input-field' data-i18n- title='@{ammo_type}' name='attr_ammo_type' value='' type='text' placeholder='AMMO'>
|
||
<input title='@{ammo}' name='attr_ammo' type='number' value=''>
|
||
<span class='label'>/</span>
|
||
<input class='input-field' title='@{ammo_max}' name='attr_ammo_max' type='number' value=''>
|
||
</div>
|
||
<div class='row span-two'>
|
||
<span class='label' data-i8n='addl-attack-penalty:'>ADDITIONAL ATTACK PENALTY:</span>
|
||
<input class='bab' type='number' title='@{multiple_attack_penalty}' name='attr_multiple_attack_penalty' value='-5'>
|
||
</div>
|
||
<input class='field-tab' type='checkbox' title='@{macro_checkbox}' name='attr_macro_checkbox' value='1' hidden='true'>
|
||
<label class='expandable'><input class='field-tab macro-tab' type='checkbox' title='@{macro_checkbox}' name='attr_macro_checkbox' value='1' hidden='true'><span class='label field' data-i18n='attacher'>ATTACHER</span></label>
|
||
<input class='field-tab' type='checkbox' title='@{macro_checkbox}' name='attr_macro_checkbox' value='1' hidden='true'>
|
||
<input class='field-tab macro-tab' type='checkbox' title='@{macro_checkbox}' name='attr_macro_checkbox' value='1' hidden='true'>
|
||
<textarea class='expandable atk-description input-field' title='@{attacher}' name='attr_attacher' ></textarea>
|
||
<div class='row span-all'>
|
||
<textarea class='atk-description scalable-input input-field' title='@{description}' name='attr_description' value=''></textarea>
|
||
</div>
|
||
<div class='row span-all'>
|
||
<input readonly=true class='id-label' title='@{id}' name='attr_id'></input>
|
||
</div>
|
||
</div>
|
||
<div class='display'>
|
||
<div class='button-description'>
|
||
<input title='@{name}' readonly='true' type='text' name='attr_name'>
|
||
<div class='attr-total-container'>
|
||
<input class='mod-buff' type='hidden' name='attr_total_change' value='0'>
|
||
<span class='label modified-attr' title='@{total}' name='attr_total' value='0'>0</span>
|
||
</div>
|
||
<div class='attr-total-container span-two'>
|
||
<input class='mod-buff' type='hidden' name='attr_damage_total_change' value='0'>
|
||
<span class='label modified-attr' title='@{damage_total}' name='attr_damage_total' value='0'>0</span>
|
||
</div>
|
||
<input type='text' readonly='true' class='label' title='@{type}' name='attr_type'>
|
||
<button class='summary' type='roll' title='%{attack1}' name='roll_attack1' value='@{whisper_state}&{template:attack} {{name=@{character_name}}} {{characterid=@{character_id}}} {{title=@{name}}} {{r1=[[1d20+@{ability}[ABI]+@{character_level}[LEVEL]+@{proficiency}[Prof]+[[{@{quality},@{potency_rune}}kh1]][POTENCY/ITEM]@{misc}]]}} {{damage1=[[ [[@{damage_dice_num}+@{potency_rune}]]d@{damage_dice_size}+@{damage_ability}[ABI]+0@{additional_damage}@{damage_misc} ]]}} {{damage1type=@{type}}} {{notes=@{description}}} {{buttons0=[^{roll critical damage}](~@{character_id}|repeating_attack_@{id}_critical)}}' data-i18n='atk1'>ATK1</button>
|
||
<button class='summary' type='roll' title='%{attack2}' name='roll_attack2' value='@{whisper_state}&{template:attack} {{name=@{character_name}}} {{characterid=@{character_id}}} {{title=@{name}}} {{r1=[[1d20+@{ability}[ABI]+@{character_level}[LEVEL]+@{proficiency}[Prof]+[[{@{quality},@{potency_rune}}kh1]][POTENCY/ITEM]+@{multiple_attack_penalty}[Multiple Attack Penalty]@{misc}]]}} {{damage1=[[ [[@{damage_dice_num}+@{potency_rune}]]d@{damage_dice_size}+@{damage_ability}[ABI]+0@{additional_damage}@{damage_misc} ]]}} {{damage1type=@{type}}} {{notes=@{description}}} {{buttons0=[^{roll critical damage}](~@{character_id}|repeating_attack_@{id}_critical)}}' data-i18n='atk2'>ATK2</button>
|
||
<button class='summary' type='roll' title='%{attack3+}' name='roll_attack3+' value='@{whisper_state}&{template:attack} {{name=@{character_name}}} {{characterid=@{character_id}}} {{title=@{name}}} {{r1=[[1d20+@{ability}[ABI]+@{character_level}[LEVEL]+@{proficiency}[Prof]+[[{@{quality},@{potency_rune}}kh1]][POTENCY/ITEM]+@{multiple_attack_penalty}*2[Multiple Attack Penalty]@{misc}]]}} {{damage1=[[ [[@{damage_dice_num}+@{potency_rune}]]d@{damage_dice_size}+@{damage_ability}[ABI]+0@{additional_damage}@{damage_misc} ]]}} {{damage1type=@{type}}} {{notes=@{description}}} {{buttons0=[^{roll critical damage}](~@{character_id}|repeating_attack_@{id}_critical)}}' data-i18n='atk3+'>ATK3+</button>
|
||
<label class='expand-button'><input hidden='true' class='expand-description' type='checkbox' name='attr_expand_description' value='1'><span class='collapsed pictos'>`</span><span class='expanded pictos'>J</span></label>
|
||
</div>
|
||
<input class='expand-description' type='hidden' name='attr_expand_description'>
|
||
<textarea class='description span-all' title='@{description}' name='attr_description'></textarea>
|
||
</div>
|
||
<button hidden='true' type='roll' name='roll_critical' value='@{whisper_state}&{template:attack} {{name=@{character_name}}} {{characterid=@{character_id}}} {{title=@{name} ^{critical}}} {{damage1=[[ [[@{damage_dice_num}+@{potency_rune}]]d@{damage_dice_size}+@{damage_ability}[ABI]+0@{additional_damage}@{damage_misc} ]]}} {{damage1type=^{critical} @{type}}} {{buttons0=@{crit}}}'></button>
|
||
</div>
|
||
</fieldset>
|
||
</div>
|
||
<div class='equipment section-container'>
|
||
<input type='radio' title='@{encumber_level}' name='attr_encumber_level' hidden='true' value='0' checked='checked'>
|
||
<input type='hidden' name='attr_encumber_bulk_misc'>
|
||
<input type='hidden' name='attr_overburden_bulk_misc'>
|
||
<div class='bulk-container carried'>
|
||
<span class='number scalable-input' title='@{carried_bulk}' name='attr_carried_bulk' readonly='true' value='0'>0</span>
|
||
<span class='label' data-i18n='carried'>CARRIED</span>
|
||
</div>
|
||
<input class='encumbered' type='radio' title='@{encumber_level}' name='attr_encumber_level' hidden='true' value='1'>
|
||
<div class='bulk-container encumber'>
|
||
<input class='mod-buff' type='hidden' name='attr_encumber_bulk_change' value='0'>
|
||
<span class='number modified-attr' name=attr_encumber_bulk readonly='true' value='5'>5</span>
|
||
<span class='label' data-i18n='encumber'>ENCUMBER</span>
|
||
</div>
|
||
<input class='overburdened' type='radio' title='@{encumber_level}' name='attr_encumber_level' hidden='true' value='2'>
|
||
<div class='bulk-container overburden'>
|
||
<input class='mod-buff' type='hidden' name='attr_overburden_bulk_change' value='0'>
|
||
<span class='number modified-attr' title='@{overburden_bulk}' name='attr_overburden_bulk' readonly='true' value='10'>10</span>
|
||
<span class='label' data-i18n='over'>OVER</span>
|
||
</div>
|
||
<div class='credits-container credits'>
|
||
<input class='input-field' type='number' title='@{pp}' name='attr_pp' value='0'>
|
||
<input class='input-field' type='number' title='@{gp}' name='attr_gp' value='0'>
|
||
<input class='input-field' type='number' title='@{sp}' name='attr_sp' value='0'>
|
||
<input class='input-field' type='number' title='@{cp}' name='attr_cp' value='0'>
|
||
<span class='label' data-i18n='pp'>PP</span>
|
||
<span class='label' data-i18n='gp'>GP</span>
|
||
<span class='label' data-i18n='sp'>SP</span>
|
||
<span class='label' data-i18n='cp'>CP</span>
|
||
</div>
|
||
<div class='item-container'>
|
||
<div class='button-description'>
|
||
<span data-i18n='name'>NAME</span>
|
||
<span data-i18n='level'>LEVEL</span>
|
||
<span data-i18n='quantity'>QUANTITY</span>
|
||
<span data-i18n='bulk'>BULK</span>
|
||
</div>
|
||
<fieldset class='repeating_item'>
|
||
<input class='filter' type='checkbox' hidden='true' title='@{filter}' name='attr_filter' value='1' checked='checked'>
|
||
<div class='filter-container item'>
|
||
<input class="show-options" type="checkbox" title='@{show_options}' name="attr_show_options" checked="checked"><span>y</span>
|
||
<div class='row-options'>
|
||
<div class='row name'>
|
||
<span class='label' data-i18n='name-u'>NAME</span>
|
||
<input class='item-name scalable-input input-field' type='text' title='@{name}' name='attr_name'>
|
||
<span class='label' data-i18n='level'>LEVEL</span>
|
||
<input class='level input-field' type='number' title='@{level}' name='attr_level'>
|
||
</div>
|
||
<div class='row bulk-cost display-margin'>
|
||
<span class='label' data-i18n='num'>NUM</span>
|
||
<input class='item-quantity scalable-input input-field' type='text' title='@{quantity}' name='attr_quantity'>
|
||
<span class='label' data-i18n='bulk'>BULK</span>
|
||
<input class='item-quantity scalable-input input-field' type='text' title='@{bulk}' name='attr_bulk'>
|
||
</div>
|
||
<div class='row'>
|
||
<input type='number' title='@{uses}' name='attr_uses' value='0'>
|
||
<span class='label'>/</span>
|
||
<div class='scalable-input attr-base-mod-container input-field'>
|
||
<input class='base-attr ability-uses' type='number' title='@{uses_max}' name='attr_uses_max_base' value='10' >
|
||
<input class='mod-buff' type='hidden' name='attr_uses_change' value='0'>
|
||
<span class='input-field modified-attr attr ability-uses' readonly='true' type='text' title='@{uses_max}' name='attr_uses_max' value='10'>10</span>
|
||
</div>
|
||
<span class='label' data-i18n='uses'>USES</span>
|
||
</div>
|
||
<input class='purpose-filter' type='hidden' name='attr_purpose'>
|
||
<div class='row equip-state'>
|
||
<select class='item-equip input-field' title='@{equipped}' name='attr_equipped' >
|
||
<option value='equipped' selected='selected'>EQUIPPED</option>
|
||
<option value='carried'>CARRIED</option>
|
||
<option value='not carried'>NOT CARRIED</option>
|
||
</select>
|
||
<select class='input-field' title='@{purpose}' name='attr_purpose'>
|
||
<option value='' data-i18n='purpose' selected='selected'>PURPOSE</option>
|
||
<option value='shield' data-i18n='shield'>SHIELD</option>
|
||
<option value='armor' data-i18n='armor'>ARMOR</option>
|
||
<option value='weapon' data-i18n='weapon'>WEAPON</option>
|
||
<option value='equipment' data-i18n='equipment'>EQUIPMENT</option>
|
||
</select>
|
||
<input class='purpose-filter' type='hidden' name='attr_purpose'>
|
||
<select title='@{type}' class='armor-purpose input-field' name='attr_type'>
|
||
<option value='' data-i18n='armor-type' selected='selected'>ARMOR TYPE</option>
|
||
<option value='light_armor' data-i18n='light-armor'>LIGHT ARMOR</option>
|
||
<option value='medium__armor' data-i18n='medium-armor'>MEDIUM ARMOR</option>
|
||
<option value='heavy_armor' data-i18n='heavy-armor'>HEAVY ARMOR</option>
|
||
</select>
|
||
</div>
|
||
<div class='row proficiency-container armor-purpose'>
|
||
<select class='span-five' name='attr_proficiency'>
|
||
<option value='-2' data-i18n='untrained'>UNTRAINED</option>
|
||
<option value='0' data-i18n='trained'>TRAINED</option>
|
||
<option value='1' data-i18n='expert'>EXPERT</option>
|
||
<option value='2' data-i18n='master'>MASTER</option>
|
||
<option value='3' data-i18n='legendary'>LEGENDARY</option>
|
||
</select>
|
||
</div>
|
||
<input class='field-tab mods' type='checkbox' title='@{mods_checkbox}' name='attr_mods_checkbox' value='1' hidden='true'>
|
||
<label class='mods'><input class='field-tab mods-tab item-mods' type='checkbox' title='@{mods_checkbox}' name='attr_mods_checkbox' value='1' hidden='true'><span class='label field' data-i18n='mods'>MODS</span></label>
|
||
<textarea class='field row mods input-field' type='text' title='@{mods}' name='attr_mods'></textarea>
|
||
<input class='field-tab attacher' type='checkbox' title='@{macro_checkbox}' name='attr_macro_checkbox' value='1' hidden='true'>
|
||
<label class='attacher'><input class='field-tab macro-tab' type='checkbox' title='@{macro_checkbox}' name='attr_macro_checkbox' value='1' hidden='true'><span class='label field' data-i18n='attacher'>ATTACHER</span></label>
|
||
<textarea class='field row attacher input-field' title='@{attacher}' name='attr_attacher' ></textarea>
|
||
<textarea class='item-description description input-field' title='@{description}' name='attr_description'></textarea>
|
||
<input readonly=true class='id-label id' title='@{id}' name='attr_id'></input>
|
||
</div>
|
||
<div class='display'>
|
||
<div class='button-description'>
|
||
<span title='@{name}' name='attr_name'></span>
|
||
<span name='attr_level'></span>
|
||
<span name='attr_quantity'></span>
|
||
<span name='attr_bulk'></span>
|
||
<span name='attr_cost'></span>
|
||
<button class='summary' type='roll' title='%{roll}' name='roll_roll' value='@{whisper_state}&{template:generic} {{name=@{character_name}}} {{characterid=@{character_id}}} {{title=@{name}}} {{r1name=Quantity}} {{r1=@{quantity}}} {{r2name=Bulk}} {{r2=@{bulk}}} {{r3name=Value}} {{r3=@{cost}}} {{notes=@{description}}} @{attacher}'></button>
|
||
<label class='expand-button'><input hidden='true' class='expand-description' type='checkbox' name='attr_expand_description' value='1'><span class='collapsed pictos'>`</span><span class='expanded pictos'>J</span></label>
|
||
</div>
|
||
<input class='expand-description' type='hidden' name='attr_expand_description'>
|
||
<textarea class='description' title='@{description}' name='attr_description'></textarea>
|
||
</div>
|
||
</div>
|
||
</fieldset>
|
||
</div>
|
||
</div>
|
||
<div class='abilities-container section-container'>
|
||
<div class='button-description'>
|
||
<span class='label' type='text' data-i18n='name'>NAME</span>
|
||
<span class='label span-two' type='text' data-i18n='feat type'>FEAT TYPE</span>
|
||
<span class='label span-two' type='text' data-i18n='usage'>USAGE</span>
|
||
</div>
|
||
<button class='pseudo-repcontrol pictos' type='action' name='act_create_feat'>&</button>
|
||
<fieldset class='repeating_ability'><input type='hidden' name='attr_dc' value='10'>
|
||
<input hidden='true' type='text' title='@{attack_total}' name='attr_attack_total'>
|
||
<input hidden='true' type='text' title='@{damage_total}' name='attr_damage_total'>
|
||
<input class='type-filter' type='hidden' name='attr_type' value='general feat'>
|
||
<input class='level-filter' type='hidden' title='@{filter}' name='attr_level' value='1'>
|
||
<div class='filter-container ability'>
|
||
<!--Hidden Ability Attributes -->
|
||
<input type='text' hidden='true' title='@{attack_misc}' name='attr_attack_misc' value=''>
|
||
<input type='text' hidden='true' title='@{attack_damage_misc}' name='attr_attack_damage_misc' value=''>
|
||
<input type='text' hidden='true' title='@{effect_misc}' name='attr_effect_misc' value=''>
|
||
<!--Shown Ability Attributes -->
|
||
<input class="show-options" type="checkbox" title='@{show_options}' name="attr_show_options" checked="checked"><span>y</span>
|
||
<div class='row-options'>
|
||
<div class='row span-two'>
|
||
<span class='label' data-i18n='name-u'>NAME</span>
|
||
<input class='scalable-input input-field' type='text' title='@{name}' name='attr_name' placeholder="Operative's Edge">
|
||
<select class='freq-select' title='@{type}' name='attr_type'>
|
||
<option value='general feat' data-i18n='general feat' selected='selected'>GENERAL FEAT</option>
|
||
<option value='ancestry feat' data-i18n='ancestry feat'>ANCESTRY FEAT</option>
|
||
<option value='skill feat' data-i18n='skill feat'>SKILL FEAT</option>
|
||
<option value='class feat' data-i18n='class feat'>CLASS FEAT</option>
|
||
<option value='power' data-i18n='power'>POWER</option><option value='arcane power' data-i18n='arcane power'>ARCANE POWER</option><option value='divine power' data-i18n='divine power'>DIVINE POWER</option><option value='primal power' data-i18n='primal power'>PRIMAL POWER</option><option value='occult power' data-i18n='occult power'>OCCULT POWER</option>
|
||
</select>
|
||
</div>
|
||
<div class='row span-two display-margin'>
|
||
<span class='label' data-i18n='duration'>DURATION</span>
|
||
<input class='scalable-input input-field' type='text' title='@{duration}' name='attr_duration' value=''>
|
||
<input class='type-filter' type='hidden' name='attr_type' value='general-feat'>
|
||
<span class='type-level' data-i18n='level'>LEVEL</span>
|
||
<input class='type-level bab input-field' type='number' name='attr_level' value='0'>
|
||
</div>
|
||
<div class='row'>
|
||
<select class='freq-select' title='@{frequency}' name='attr_frequency'>
|
||
<option value='constant' data-i18n='constant' selected='selected'>CONSTANT</option>
|
||
<option value='at-will' data-i18n='at-will'>AT WILL</option>
|
||
<option value='daily-limit' data-i18n='x/day'>X/DAY</option>
|
||
</select>
|
||
</div>
|
||
<div class='row span-three'>
|
||
<span class='label' data-i18n='target'>TARGET</span>
|
||
<input class='scalable-input input-field' type='text' title='@{target}' name='attr_target'>
|
||
<span class='label' data-i18n='rng'>RANGE</span>
|
||
<input class='scalable-input input-field' type='text' title='@{range}' name='attr_range'>
|
||
</div>
|
||
<div class='row span-two'>
|
||
<span class='label' data-i18n='school' hidden='true'>SCHOOL</span>
|
||
<select name='attr_school' hidden='true'>
|
||
<option value='abjuration' data-i18n='abjuration' selected>ABJURATION</option>
|
||
<option value='conjuration' data-i18n='conjuration'>CONJURATION</option>
|
||
<option value='divination' data-i18n='divination'>DIVINATION</option>
|
||
<option value='enchantment' data-i18n='enchantment'>ENCHANTMENT</option>
|
||
<option value='evocation' data-i18n='evocation'>EVOCATION</option>
|
||
<option value='illusion' data-i18n='illusion'>ILLUSION</option>
|
||
<option value='necromancy' data-i18n='necromancy'>NECROMANCY</option>
|
||
<option value='transmutation' data-i18n='transmutation'>TRANSMUTATION</option>
|
||
</select>
|
||
<span class='label' data-i18n='traits'>TRAITS</span>
|
||
<input class='scalable-input' type='text' name='attr_traits' value=''>
|
||
</div>
|
||
<input class='type-filter' type='hidden' name='attr_type' value='general-feat'>
|
||
<input type='hidden' title='@{frequency}' name='attr_frequency' class='freq-check'>
|
||
<div class='row spell at-will daily-limit span-two'>
|
||
<span class='label abi-cost' data-i18n='usage'>USAGE</span>
|
||
<input class='scalable-input input-field' type='text' title='@{usage}' name='attr_usage'>
|
||
</div>
|
||
<div class='row daily-limit span-two'>
|
||
<input class='' type='number' title='@{uses}' name='attr_uses' value='0'>
|
||
<span class='label'>/</span>
|
||
<div class='scalable-input attr-base-mod-container input-field'>
|
||
<input class='base-attr ability-uses' type='text' title='@{uses_max}' name='attr_uses_max_base' value='10' >
|
||
<input class='mod-buff' type='hidden' name='attr_uses_change' value='0'>
|
||
<span class='input-field modified-attr attr ability-uses' readonly='true' type='text' title='@{uses_max}' name='attr_uses_max' value='10'>10</span>
|
||
</div>
|
||
<span class='label' data-i18n='_-daily-uses'>Daily Uses</span>
|
||
</div>
|
||
<input class='field-tab' type='checkbox' title='@{proficiency_checkbox}' name='attr_proficiency_checkbox' value='1' hidden='true'>
|
||
<label class='expandable'><input class='field-tab atk-tab' type='checkbox' title='@{proficiency_checkbox}' name='attr_proficiency_checkbox' value='1' hidden='true'><span class='field label' data-i18n='proficiencies'>PROFICIENCIES</span></label>
|
||
<input class='field-tab' type='checkbox' title='@{proficiency_checkbox}' name='attr_proficiency_checkbox' value='1' hidden='true'>
|
||
<div class='field-container expandable inherit-grid'>
|
||
<input class='field-tab' type='checkbox' title='@{proficiency_checkbox}' name='attr_proficiency_checkbox' value='1' hidden='true'>
|
||
<div class='field row scalable-input proficiency-container'>
|
||
<select class='span-five' name='attr_proficiency'>
|
||
<option value='-2' data-i18n='untrained'>UNTRAINED</option>
|
||
<option value='0' data-i18n='trained'>TRAINED</option>
|
||
<option value='1' data-i18n='expert'>EXPERT</option>
|
||
<option value='2' data-i18n='master'>MASTER</option>
|
||
<option value='3' data-i18n='legendary'>LEGENDARY</option>
|
||
</select>
|
||
</div>
|
||
</div>
|
||
<input class='field-tab' type='checkbox' title='@{attack_checkbox}' name='attr_attack_checkbox' value='1' hidden='true'>
|
||
<label class='expandable'><input class='field-tab atk-tab' type='checkbox' title='@{attack_checkbox}' name='attr_attack_checkbox' value='1' hidden='true'><span class='field label' data-i18n='atk'>ATK</span></label>
|
||
<input class='field-tab' type='checkbox' title='@{attack_checkbox}' name='attr_attack_checkbox' value='1' hidden='true'>
|
||
<div class='field-container expandable inherit-grid'>
|
||
<input class='field-tab' type='checkbox' title='@{attack_checkbox}' name='attr_attack_checkbox' value='1' hidden='true'>
|
||
<div class='field row span-two'>
|
||
<select class='label atk-ability abi' title='@{attack_ability}' name='attr_attack_ability'>
|
||
<option value='0' selected='selected'>N/A</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>
|
||
<input hidden='true' title='@{attack_ability}' name='attr_attack_ability' value='0'>
|
||
</div>
|
||
</div>
|
||
<input class='field-tab' type='checkbox' title='@{damage_checkbox}' name='attr_damage_checkbox' value='1' hidden='true'>
|
||
<label class='expandable'><input class='field-tab dmg-tab' type='checkbox' title='@{damage_checkbox}' name='attr_damage_checkbox' value='1' hidden='true'><span class='field label' data-i18n='dmg'>DMG</span></label>
|
||
<input class='field-tab' type='checkbox' title='@{damage_checkbox}' name='attr_damage_checkbox' value='1' hidden='true'>
|
||
<div class='field-container expandable inherit-grid'>
|
||
<input class='field-tab' type='checkbox' title='@{damage_checkbox}' name='attr_damage_checkbox' value='1' hidden='true'>
|
||
<input hidden='true' title='@{damage_misc}' name='attr_damage_misc' value=''>
|
||
<div class='field row span-two'>
|
||
<input class='abi-dmg-dice' type='text' name=attr_damage_dice><span>+</span>
|
||
<select class='label atk-ability abi' title='@{damage_ability}' name='attr_damage_ability'>
|
||
<option value='' selected='selected'>N/A</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>
|
||
<input hidden='true' title='@{damage_ability}' name='attr_damage_ability' value='0'>
|
||
</div>
|
||
<div class='field row span-two'>
|
||
<span class='label' data-i18n='type'>TYPE</span>
|
||
<input class='scalable-input input-field' type='text' title='@{attack_type}' name='attr_attack_type'>
|
||
<span class='label' data-i18n='crit-effect'>CRIT EFFECT</span>
|
||
<input class='scalable-input input-field' type='text' title='@{attack_crit}' name='attr_attack_crit'>
|
||
</div>
|
||
</div>
|
||
<input class='field-tab' type='checkbox' title='@{save_checkbox}' name='attr_save_checkbox' value='1' hidden='true'>
|
||
<label class='expandable'><input class='field-tab save-effect-tab' type='checkbox' title='@{save_checkbox}' name='attr_save_checkbox' value='1' hidden='true'><span class='field label' data-i18n='save-effect'>SAVE EFFECT</span></label>
|
||
<input class='field-tab' type='checkbox' title='@{save_checkbox}' name='attr_save_checkbox' value='1' hidden='true'>
|
||
<div class='field-container expandable inherit-grid'>
|
||
<input class='field-tab' type='checkbox' title='@{save_checkbox}' name='attr_save_checkbox' value='1' hidden='true'>
|
||
<div class='field row span-all'>
|
||
<select class='label atk-ability abi' title='@{save_ability}' name='attr_save_ability'>
|
||
<option value='@{strength_mod}' data-i18n='str' selected='selected'>STR</option>
|
||
<option value='@{dexterity_mod}' data-i18n='dex'>DEX</option>
|
||
<option value='@{constitution_mod}' data-i18n='con'>CON</option>
|
||
<option value='@{intelligence_mod}' data-i18n='int'>INT</option>
|
||
<option value='@{wisdom_mod}' data-i18n='wis'>WIS</option>
|
||
<option value='@{charisma_mod}' data-i18n='cha'>CHA</option>
|
||
</select>
|
||
<span class='label' data-i18n='based-dc_'>Based DC </span>
|
||
<input class='mod-buff' type='hidden' name='attr_dc_change' value='0'>
|
||
<span class='modified-attr bab' title='@{dc}' name='attr_dc' value='10'>10</span>
|
||
<select class='label save-type' title='@{save_type}' name='attr_save_type'>
|
||
<option value='' selected='selected'>-</option>
|
||
<option value='FORT' data-i18n='fort-save'>FORT SAVE</option>
|
||
<option value='REF' data-i18n='ref-save'>REF SAVE</option>
|
||
<option value='WILL' data-i18n='will-save'>WILL SAVE</option>
|
||
</select>
|
||
</div>
|
||
<div class='field row span-all'>
|
||
<textarea class='' title='@{effect}' name='attr_effect'></textarea>
|
||
</div>
|
||
<div class='field row span-all'>
|
||
<span class='label' data-i18n='A-Sucessful-Save:'>A Sucessful Save:</span>
|
||
</div>
|
||
<div class='field row span-all'>
|
||
<textarea class='' title='@{save_effect}' name='attr_save_effect'></textarea>
|
||
</div>
|
||
</div>
|
||
<input class='field-tab' type='checkbox' title='@{mods_checkbox}' name='attr_mods_checkbox' value='1' hidden='true'>
|
||
<label class='expandable'><input class='field-tab mods-tab item-mods' type='checkbox' title='@{mods_checkbox}' name='attr_mods_checkbox' value='1' hidden='true'><span class='label field' data-i18n='mods'>MODS</span></label>
|
||
<input class='field-tab' type='checkbox' title='@{mods_checkbox}' name='attr_mods_checkbox' value='1' hidden='true'>
|
||
<div class='row field-container mod-container expandable'>
|
||
<input class='field-tab' type='checkbox' title='@{mods_checkbox}' name='attr_mods_checkbox' value='1' hidden='true'>
|
||
<textarea class='field row scalable-input input-field' type='text' title='@{mods}' name='attr_mods'></textarea>
|
||
</div>
|
||
<input class='field-tab' type='checkbox' title='@{macro_checkbox}' name='attr_macro_checkbox' value='1' hidden='true'>
|
||
<label class='expandable'><input class='field-tab macro-tab' type='checkbox' title='@{macro_checkbox}' name='attr_macro_checkbox' value='1' hidden='true'><span class='label field' data-i18n='attacher'>ATTACHER</span></label>
|
||
<input class='field-tab' type='checkbox' title='@{macro_checkbox}' name='attr_macro_checkbox' value='1' hidden='true'>
|
||
<div class='row field-container mod-container expandable'>
|
||
<input class='field-tab' type='checkbox' title='@{macro_checkbox}' name='attr_macro_checkbox' value='1' hidden='true'>
|
||
<textarea class='field row scalable-input input-field' type='text' title='@{attacher}' name='attr_attacher'></textarea>
|
||
</div>
|
||
<div class='row span-all'>
|
||
<textarea class='' title='@{description}' name='attr_description'></textarea>
|
||
</div>
|
||
<div class='row span-all'><input readonly=true class='id-label' title='@{id}' name='attr_id'></input>
|
||
</div>
|
||
</div>
|
||
<div class='display'>
|
||
<input type='hidden' title='@{frequency}' name='attr_frequency' class='freq-check'>
|
||
<input class='freq-check at-will daily-limit' type='checkbox' title='@{toggle}' name='attr_toggle' value='1'>
|
||
<div class='button-description'>
|
||
<input class='label' readonly='true' type='text' title='@{name}' name='attr_name'>
|
||
<input class='label force-uppercase span-two' readonly='true' type='text' name='attr_type'>
|
||
<input class='const-check' readonly='true' name='attr_frequency' type='hidden'>
|
||
<input class='label span-two constant force-uppercase' readonly='true' type='text' name='attr_frequency'>
|
||
<input class='label span-two not-constant' type='text' readonly='true' name='attr_usage'>
|
||
<button class='npcsummary' type='roll' title='%{roll}' name='roll_roll' value='@{whisper_state}&{template:spell} {{name=@{character_name}}} {{characterid=@{character_id}}} {{title=@{name}}} {{saveflag=[[1d@{save_checkbox}]]}} {{activation=@{usage}}} {{duration=@{duration}}} {{targets=@{target}}} {{range=@{range}}} {{savedc=@{dc}}} {{savetype=@{save_type}}} {{effect=@{effect}}} {{saveeffect=@{save_effect}}} {{attackflag=[[1d@{attack_checkbox}]]}} {{damageflag=[[1d@{damage_checkbox}]]}} {{r1=[[1d20+@{attack_ability}[ABI]+@{character_level}[LEVEL]+@{proficiency}[Prof]]]}} {{damage1=[[@{damage_dice}+@{damage_ability}[ABI]@{damage_misc} ]]}} {{damage1type=@{attack_type}}} {{notes=@{description}}} @{attacher}'></button>
|
||
<label class='expand-button'><input hidden='true' class='expand-description' type='checkbox' name='attr_expand_description' value='1'><span class='collapsed pictos'>`</span><span class='expanded pictos'>J</span></label>
|
||
</div>
|
||
<input class='expand-description' type='hidden' name='attr_expand_description'>
|
||
<textarea class='description' title='@{description}' name='attr_description'></textarea>
|
||
</div>
|
||
</div>
|
||
</fieldset>
|
||
</div>
|
||
<div class='spell-containers'>
|
||
<div class='section-container power span-all'>
|
||
<div class='section'>
|
||
<h1 class='label' data-i18n='powers'>POWERS</h1>
|
||
</div>
|
||
<div class='section-container'>
|
||
<div class='button-description'>
|
||
<span class='label' data-i18n='name'>NAME</span>
|
||
<span class='label' data-i18n='school'>SCHOOL</span>
|
||
</div>
|
||
<button class='pseudo-repcontrol pictos' type='action' name='act_create_power'>&</button>
|
||
<fieldset class='repeating_ability'><input type='hidden' name='attr_dc' value='10'>
|
||
<input hidden='true' type='text' title='@{attack_total}' name='attr_attack_total'>
|
||
<input hidden='true' type='text' title='@{damage_total}' name='attr_damage_total'>
|
||
<input class='type-filter' type='hidden' name='attr_type' value='general feat'>
|
||
<input class='level-filter' type='hidden' title='@{filter}' name='attr_level' value='1'>
|
||
<div class='filter-container power'>
|
||
|
||
<input type='text' hidden='true' title='@{attack_misc}' name='attr_attack_misc' value=''>
|
||
<input type='text' hidden='true' title='@{attack_damage_misc}' name='attr_attack_damage_misc' value=''>
|
||
<input type='text' hidden='true' title='@{effect_misc}' name='attr_effect_misc' value=''>
|
||
|
||
<input class="show-options" type="checkbox" title='@{show_options}' name="attr_show_options" checked="checked"><span>y</span>
|
||
<div class='row-options'>
|
||
<div class='row span-two'>
|
||
<span class='label' data-i18n='name-u'>NAME</span>
|
||
<input class='scalable-input input-field' type='text' title='@{name}' name='attr_name' placeholder="Operative's Edge">
|
||
<select class='freq-select' title='@{type}' name='attr_type'>
|
||
<option value='general feat' data-i18n='general feat' selected='selected'>GENERAL FEAT</option>
|
||
<option value='skill feat' data-i18n='skill feat'>SKILL FEAT</option>
|
||
<option value='class feat' data-i18n='class feat'>CLASS FEAT</option>
|
||
<option value='power' data-i18n='power'>POWER</option><option value='arcane power' data-i18n='arcane power'>ARCANE POWER</option><option value='divine power' data-i18n='divine power'>DIVINE POWER</option><option value='primal power' data-i18n='primal power'>PRIMAL POWER</option><option value='occult power' data-i18n='occult power'>OCCULT POWER</option>
|
||
</select>
|
||
</div>
|
||
<div class='row span-two display-margin'>
|
||
<span class='label' data-i18n='duration'>DURATION</span>
|
||
<input class='scalable-input input-field' type='text' title='@{duration}' name='attr_duration' value=''>
|
||
<input class='type-filter' type='hidden' name='attr_type' value='general-feat'>
|
||
<span class='type-level' data-i18n='level'>LEVEL</span>
|
||
<input class='type-level bab input-field' type='number' name='attr_level' value='0'>
|
||
</div>
|
||
<div class='row'>
|
||
<select class='freq-select' title='@{frequency}' name='attr_frequency'>
|
||
<option value='constant' data-i18n='constant' selected='selected'>CONSTANT</option>
|
||
<option value='at-will' data-i18n='at-will'>AT WILL</option>
|
||
<option value='daily-limit' data-i18n='x/day'>X/DAY</option>
|
||
</select>
|
||
</div>
|
||
<div class='row span-three'>
|
||
<span class='label' data-i18n='target'>TARGET</span>
|
||
<input class='scalable-input input-field' type='text' title='@{target}' name='attr_target'>
|
||
<span class='label' data-i18n='rng'>RANGE</span>
|
||
<input class='scalable-input input-field' type='text' title='@{range}' name='attr_range'>
|
||
</div>
|
||
<div class='row span-all'>
|
||
<span class='label' data-i18n='school'>SCHOOL</span>
|
||
<select name='attr_school'>
|
||
<option value='abjuration' data-i18n='abjuration' selected>ABJURATION</option>
|
||
<option value='conjuration' data-i18n='conjuration'>CONJURATION</option>
|
||
<option value='divination' data-i18n='divination'>DIVINATION</option>
|
||
<option value='enchantment' data-i18n='enchantment'>ENCHANTMENT</option>
|
||
<option value='evocation' data-i18n='evocation'>EVOCATION</option>
|
||
<option value='illusion' data-i18n='illusion'>ILLUSION</option>
|
||
<option value='necromancy' data-i18n='necromancy'>NECROMANCY</option>
|
||
<option value='transmutation' data-i18n='transmutation'>TRANSMUTATION</option>
|
||
</select>
|
||
<span class='label' data-i18n='traits'>TRAITS</span>
|
||
<input class='scalable-input' type='text' name='attr_traits' value=''>
|
||
</div>
|
||
<input class='type-filter' type='hidden' name='attr_type' value='general-feat'>
|
||
<input type='hidden' title='@{frequency}' name='attr_frequency' class='freq-check'>
|
||
<div class='row spell at-will daily-limit span-two'>
|
||
<span class='label abi-cost' data-i18n='usage'>USAGE</span>
|
||
<input class='scalable-input input-field' type='text' title='@{usage}' name='attr_usage'>
|
||
</div>
|
||
<div class='row daily-limit span-two'>
|
||
<input class='' type='number' title='@{uses}' name='attr_uses' value='0'>
|
||
<span class='label'>/</span>
|
||
<div class='scalable-input attr-base-mod-container input-field'>
|
||
<input class='base-attr ability-uses' type='text' title='@{uses_max}' name='attr_uses_max_base' value='10' >
|
||
<input class='mod-buff' type='hidden' name='attr_uses_change' value='0'>
|
||
<span class='input-field modified-attr attr ability-uses' readonly='true' type='text' title='@{uses_max}' name='attr_uses_max' value='10'>10</span>
|
||
</div>
|
||
<span class='label' data-i18n='_-daily-uses'>Daily Uses</span>
|
||
</div>
|
||
<input class='field-tab' type='checkbox' title='@{proficiency_checkbox}' name='attr_proficiency_checkbox' value='1' hidden='true'>
|
||
<label class='expandable'><input class='field-tab atk-tab' type='checkbox' title='@{proficiency_checkbox}' name='attr_proficiency_checkbox' value='1' hidden='true'><span class='field label' data-i18n='proficiencies'>PROFICIENCIES</span></label>
|
||
<input class='field-tab' type='checkbox' title='@{proficiency_checkbox}' name='attr_proficiency_checkbox' value='1' hidden='true'>
|
||
<div class='field-container expandable inherit-grid'>
|
||
<input class='field-tab' type='checkbox' title='@{proficiency_checkbox}' name='attr_proficiency_checkbox' value='1' hidden='true'>
|
||
<div class='field row scalable-input proficiency-container'>
|
||
<select class='span-five' name='attr_proficiency'>
|
||
<option value='-2' data-i18n='untrained'>UNTRAINED</option>
|
||
<option value='0' data-i18n='trained'>TRAINED</option>
|
||
<option value='1' data-i18n='expert'>EXPERT</option>
|
||
<option value='2' data-i18n='master'>MASTER</option>
|
||
<option value='3' data-i18n='legendary'>LEGENDARY</option>
|
||
</select>
|
||
</div>
|
||
</div>
|
||
<input class='field-tab' type='checkbox' title='@{attack_checkbox}' name='attr_attack_checkbox' value='1' hidden='true'>
|
||
<label class='expandable'><input class='field-tab atk-tab' type='checkbox' title='@{attack_checkbox}' name='attr_attack_checkbox' value='1' hidden='true'><span class='field label' data-i18n='atk'>ATK</span></label>
|
||
<input class='field-tab' type='checkbox' title='@{attack_checkbox}' name='attr_attack_checkbox' value='1' hidden='true'>
|
||
<div class='field-container expandable inherit-grid'>
|
||
<input class='field-tab' type='checkbox' title='@{attack_checkbox}' name='attr_attack_checkbox' value='1' hidden='true'>
|
||
<div class='field row span-two'>
|
||
<select class='label atk-ability abi' title='@{attack_ability}' name='attr_attack_ability'>
|
||
<option value='0' selected='selected'>N/A</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>
|
||
<input hidden='true' title='@{attack_ability}' name='attr_attack_ability' value='0'>
|
||
</div>
|
||
</div>
|
||
<input class='field-tab' type='checkbox' title='@{damage_checkbox}' name='attr_damage_checkbox' value='1' hidden='true'>
|
||
<label class='expandable'><input class='field-tab dmg-tab' type='checkbox' title='@{damage_checkbox}' name='attr_damage_checkbox' value='1' hidden='true'><span class='field label' data-i18n='dmg'>DMG</span></label>
|
||
<input class='field-tab' type='checkbox' title='@{damage_checkbox}' name='attr_damage_checkbox' value='1' hidden='true'>
|
||
<div class='field-container expandable inherit-grid'>
|
||
<input class='field-tab' type='checkbox' title='@{damage_checkbox}' name='attr_damage_checkbox' value='1' hidden='true'>
|
||
<input hidden='true' title='@{damage_misc}' name='attr_damage_misc' value=''>
|
||
<div class='field row span-two'>
|
||
<input class='abi-dmg-dice' type='text' name=attr_damage_dice><span>+</span>
|
||
<select class='label atk-ability abi' title='@{damage_ability}' name='attr_damage_ability'>
|
||
<option value='' selected='selected'>N/A</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>
|
||
<input hidden='true' title='@{damage_ability}' name='attr_damage_ability' value='0'>
|
||
</div>
|
||
<div class='field row span-two'>
|
||
<span class='label' data-i18n='type'>TYPE</span>
|
||
<input class='scalable-input input-field' type='text' title='@{attack_type}' name='attr_attack_type'>
|
||
<span class='label' data-i18n='crit-effect'>CRIT EFFECT</span>
|
||
<input class='scalable-input input-field' type='text' title='@{attack_crit}' name='attr_attack_crit'>
|
||
</div>
|
||
</div>
|
||
<input class='field-tab' type='checkbox' title='@{save_checkbox}' name='attr_save_checkbox' value='1' hidden='true'>
|
||
<label class='expandable'><input class='field-tab save-effect-tab' type='checkbox' title='@{save_checkbox}' name='attr_save_checkbox' value='1' hidden='true'><span class='field label' data-i18n='save-effect'>SAVE EFFECT</span></label>
|
||
<input class='field-tab' type='checkbox' title='@{save_checkbox}' name='attr_save_checkbox' value='1' hidden='true'>
|
||
<div class='field-container expandable inherit-grid'>
|
||
<input class='field-tab' type='checkbox' title='@{save_checkbox}' name='attr_save_checkbox' value='1' hidden='true'>
|
||
<div class='field row span-all'>
|
||
<select class='label atk-ability abi' title='@{save_ability}' name='attr_save_ability'>
|
||
<option value='@{strength_mod}' data-i18n='str' selected='selected'>STR</option>
|
||
<option value='@{dexterity_mod}' data-i18n='dex'>DEX</option>
|
||
<option value='@{constitution_mod}' data-i18n='con'>CON</option>
|
||
<option value='@{intelligence_mod}' data-i18n='int'>INT</option>
|
||
<option value='@{wisdom_mod}' data-i18n='wis'>WIS</option>
|
||
<option value='@{charisma_mod}' data-i18n='cha'>CHA</option>
|
||
</select>
|
||
<span class='label' data-i18n='based-dc_'>Based DC </span>
|
||
<input class='mod-buff' type='hidden' name='attr_dc_change' value='0'>
|
||
<span class='modified-attr bab' title='@{dc}' name='attr_dc' value='10'>10</span>
|
||
<select class='label save-type' title='@{save_type}' name='attr_save_type'>
|
||
<option value='' selected='selected'>-</option>
|
||
<option value='FORT' data-i18n='fort-save'>FORT SAVE</option>
|
||
<option value='REF' data-i18n='ref-save'>REF SAVE</option>
|
||
<option value='WILL' data-i18n='will-save'>WILL SAVE</option>
|
||
</select>
|
||
</div>
|
||
<div class='field row span-all'>
|
||
<textarea class='' title='@{effect}' name='attr_effect'></textarea>
|
||
</div>
|
||
<div class='field row span-all'>
|
||
<span class='label' data-i18n='A-Sucessful-Save:'>A Sucessful Save:</span>
|
||
</div>
|
||
<div class='field row span-all'>
|
||
<textarea class='' title='@{save_effect}' name='attr_save_effect'></textarea>
|
||
</div>
|
||
</div>
|
||
<input class='field-tab' type='checkbox' title='@{mods_checkbox}' name='attr_mods_checkbox' value='1' hidden='true'>
|
||
<label class='expandable'><input class='field-tab mods-tab item-mods' type='checkbox' title='@{mods_checkbox}' name='attr_mods_checkbox' value='1' hidden='true'><span class='label field' data-i18n='mods'>MODS</span></label>
|
||
<input class='field-tab' type='checkbox' title='@{mods_checkbox}' name='attr_mods_checkbox' value='1' hidden='true'>
|
||
<div class='row field-container mod-container expandable'>
|
||
<input class='field-tab' type='checkbox' title='@{mods_checkbox}' name='attr_mods_checkbox' value='1' hidden='true'>
|
||
<textarea class='field row scalable-input input-field' type='text' title='@{mods}' name='attr_mods'></textarea>
|
||
</div>
|
||
<input class='field-tab' type='checkbox' title='@{macro_checkbox}' name='attr_macro_checkbox' value='1' hidden='true'>
|
||
<label class='expandable'><input class='field-tab macro-tab' type='checkbox' title='@{macro_checkbox}' name='attr_macro_checkbox' value='1' hidden='true'><span class='label field' data-i18n='attacher'>ATTACHER</span></label>
|
||
<input class='field-tab' type='checkbox' title='@{macro_checkbox}' name='attr_macro_checkbox' value='1' hidden='true'>
|
||
<div class='row field-container mod-container expandable'>
|
||
<input class='field-tab' type='checkbox' title='@{macro_checkbox}' name='attr_macro_checkbox' value='1' hidden='true'>
|
||
<textarea class='field row scalable-input input-field' type='text' title='@{attacher}' name='attr_attacher'></textarea>
|
||
</div>
|
||
<div class='row span-all'>
|
||
<textarea class='' title='@{description}' name='attr_description'></textarea>
|
||
</div>
|
||
<div class='row span-all'><input readonly=true class='id-label' title='@{id}' name='attr_id'></input>
|
||
</div>
|
||
</div>
|
||
<div class='display'>
|
||
<input type='hidden' title='@{frequency}' name='attr_frequency' class='freq-check'>
|
||
<input class='freq-check at-will daily-limit' type='checkbox' title='@{toggle}' name='attr_toggle' value='1'>
|
||
<div class='button-description'>
|
||
<input class='label' readonly='true' type='text' title='@{name}' name='attr_name'>
|
||
<input class='label force-uppercase' readonly='true' type='text' name='attr_school'>
|
||
<button class='npcsummary' type='roll' title='%{roll}' name='roll_roll' value='@{whisper_state}&{template:spell} {{name=@{character_name}}} {{characterid=@{character_id}}} {{title=@{name}}} {{saveflag=[[1d@{save_checkbox}]]}} {{activation=@{usage}}} {{duration=@{duration}}} {{targets=@{target}}} {{range=@{range}}} {{savedc=@{dc}}} {{savetype=@{save_type}}} {{effect=@{effect}}} {{saveeffect=@{save_effect}}} {{attackflag=[[1d@{attack_checkbox}]]}} {{r1=[[1d20+@{attack_ability}[ABI]+@{character_level}[LEVEL]+@{proficiency}[Prof]]]}} {{damage1=[[@{damage_dice}+@{damage_ability}[ABI]@{damage_misc} ]]}} {{damageflag=[[1d@{damage_checkbox}]]}} {{damage1type=@{attack_type}}} {{notes=@{description}}} @{attacher}'></button>
|
||
<label class='expand-button'><input hidden='true' class='expand-description' type='checkbox' name='attr_expand_description' value='1'><span class='collapsed pictos'>`</span><span class='expanded pictos'>J</span></label>
|
||
</div>
|
||
<input class='expand-description' type='hidden' name='attr_expand_description'>
|
||
<textarea class='description' title='@{description}' name='attr_description'></textarea>
|
||
</div>
|
||
</div>
|
||
</fieldset>
|
||
</div>
|
||
</div>
|
||
<div class='section-container span-all'>
|
||
<div class='section'>
|
||
<h1 class='label' data-i18n='spells'>SPELLS</h1>
|
||
</div>
|
||
<div class='section-container spell-slots'>
|
||
<div class='level-container'>
|
||
<input class='toggle cantrip' type='checkbox' name='attr_casts_cantrips' value='1'>
|
||
<span class='label' data-i18n='cantrips'>CANTRIPS</span>
|
||
<input type='number' name='attr_cantrips_per_day' value=''>
|
||
<span class='label'>/</span>
|
||
<input type='number' name='attr_cantrips_per_day_max' value=''>
|
||
<div class='buffer'></div>
|
||
</div>
|
||
<div class='level-container'>
|
||
<input class='toggle' type='checkbox' name='attr_casts_level_1' value='1'>
|
||
<span class='label' data-i18n='1st-level'>1st LEVEL</span>
|
||
<input type='number' name='attr_level_1_per_day' value=''>
|
||
<span class='label'>/</span>
|
||
<input type='number' name='attr_level_1_per_day_max' value=''>
|
||
<div class='buffer'></div>
|
||
</div>
|
||
<div class='level-container'>
|
||
<input class='toggle' type='checkbox' name='attr_casts_level_2' value='1'>
|
||
<span class='label' data-i18n='2nd-level'>LEVEL 2</span>
|
||
<input type='number' name='attr_level_2_per_day' value=''>
|
||
<span class='label'>/</span>
|
||
<input type='number' name='attr_level_2_per_day_max' value=''>
|
||
<div class='buffer'></div>
|
||
</div>
|
||
<div class='level-container'>
|
||
<input class='toggle' type='checkbox' name='attr_casts_level_3' value='1'>
|
||
<span class='label' data-i18n='3rd-level'>LEVEL 3</span>
|
||
<input type='number' name='attr_level_3_per_day' value=''>
|
||
<span class='label'>/</span>
|
||
<input type='number' name='attr_level_3_per_day_max' value=''>
|
||
<div class='buffer'></div>
|
||
</div>
|
||
<div class='level-container'>
|
||
<input class='toggle' type='checkbox' name='attr_casts_level_4' value='1'>
|
||
<span class='label' data-i18n='4th-level'>LEVEL 4</span>
|
||
<input type='number' name='attr_level_4_per_day' value=''>
|
||
<span class='label'>/</span>
|
||
<input type='number' name='attr_level_4_per_day_max' value=''>
|
||
<div class='buffer'></div>
|
||
</div>
|
||
<div class='level-container'>
|
||
<input class='toggle' type='checkbox' name='attr_casts_level_5' value='1'>
|
||
<span class='label' data-i18n='5th-level'>LEVEL 5</span>
|
||
<input type='number' name='attr_level_5_per_day' value=''>
|
||
<span class='label'>/</span>
|
||
<input type='number' name='attr_level_5_per_day_max' value=''>
|
||
<div class='buffer'></div>
|
||
</div>
|
||
<div class='level-container'>
|
||
<input class='toggle' type='checkbox' name='attr_casts_level_6' value='1'>
|
||
<span class='label' data-i18n='6th-level'>LEVEL 6</span>
|
||
<input type='number' name='attr_level_6_per_day' value=''>
|
||
<span class='label'>/</span>
|
||
<input type='number' name='attr_level_6_per_day_max' value=''>
|
||
<div class='buffer'></div>
|
||
</div>
|
||
<div class='level-container'>
|
||
<input class='toggle' type='checkbox' name='attr_casts_level_7' value='1'>
|
||
<span class='label' data-i18n='7th-level'>LEVEL 7</span>
|
||
<input type='number' name='attr_level_7_per_day' value=''>
|
||
<span class='label'>/</span>
|
||
<input class=' bab' type='number' name='attr_level_7_per_day_max' value=''>
|
||
<div class='buffer'></div>
|
||
</div>
|
||
<div class='level-container'>
|
||
<input class='toggle' type='checkbox' name='attr_casts_level_8' value='1'>
|
||
<span class='label' data-i18n='8th-level'>LEVEL 8</span>
|
||
<input type='number' name='attr_level_8_per_day' value=''>
|
||
<span class='label'>/</span>
|
||
<input type='number' name='attr_level_8_per_day_max' value=''>
|
||
<div class='buffer'></div>
|
||
</div>
|
||
<div class='level-container'>
|
||
<input class='toggle' type='checkbox' name='attr_casts_level_9' value='1'>
|
||
<span class='label' data-i18n='9th-level'>LEVEL 9</span>
|
||
<input type='number' name='attr_level_9_per_day' value=''>
|
||
<span class='label'>/</span>
|
||
<input type='number' name='attr_level_9_per_day_max' value=''>
|
||
<div class='buffer'></div>
|
||
</div>
|
||
<div class='level-container'>
|
||
<input class='toggle' type='checkbox' name='attr_casts_level_10' value='1'>
|
||
<span class='label' data-i18n='10th-level'>LEVEL 10</span>
|
||
<input type='number' name='attr_level_10_per_day' value=''>
|
||
<span class='label'>/</span>
|
||
<input type='number' name='attr_level_10_per_day_max' value=''>
|
||
<div class='buffer'></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class='spell-column'>
|
||
<input class='toggle level10' type='checkbox' name='attr_casts_cantrips' value='1'>
|
||
<div class='section-container aspell0'>
|
||
<div class='section'>
|
||
<h1 class='label' data-i18n='cantrips'>CANTRIPS</h1>
|
||
</div>
|
||
<div class='section-container'>
|
||
<div class='button-description'>
|
||
<span class='label' data-i18n='name'>NAME</span>
|
||
<span class='label' data-i18n='school'>SCHOOL</span>
|
||
</div>
|
||
<button class='pseudo-repcontrol pictos' type='action' name='act_create_cantrip'>&</button>
|
||
<fieldset class='repeating_cantrip'><input type='hidden' name='attr_dc' value='10'>
|
||
<input hidden='true' type='text' title='@{attack_total}' name='attr_attack_total'>
|
||
<input hidden='true' type='text' title='@{damage_total}' name='attr_damage_total'>
|
||
<input class='type-filter' type='hidden' name='attr_type' value='general feat'>
|
||
<input class='level-filter' type='hidden' title='@{filter}' name='attr_level' value='1'>
|
||
<div class='filter-container cantrip spell'>
|
||
<input type='text' hidden='true' title='@{attack_misc}' name='attr_attack_misc' value=''>
|
||
<input type='text' hidden='true' title='@{attack_damage_misc}' name='attr_attack_damage_misc' value=''>
|
||
<input type='text' hidden='true' title='@{effect_misc}' name='attr_effect_misc' value=''>
|
||
<input class="show-options" type="checkbox" title='@{show_options}' name="attr_show_options" checked="checked"><span>y</span>
|
||
<div class='row-options'>
|
||
<div class='row span-all display-margin'>
|
||
<span class='label' data-i18n='name-u'>NAME</span>
|
||
<input class='scalable-input input-field' type='text' title='@{name}' name='attr_name' placeholder="Operative's Edge">
|
||
<span class='type-level' data-i18n='level'>LEVEL</span>
|
||
<input class='type-level bab input-field' type='number' name='attr_level' value='0'>
|
||
</div>
|
||
<div class='row span-all'>
|
||
<select class='freq-select' title='@{type}' name='attr_type'>
|
||
<option value='spell tradition' data-i18n='spell tradition' selected>SPELL TRADITION</option><option value='arcane spell' data-i18n='arcane spell'>ARCANE SPELL</option><option value='divine spell' data-i18n='divine spell'>DIVINE SPELL</option><option value='primal spell' data-i18n='primal spell'>PRIMAL SPELL</option><option value='occult spell' data-i18n='occult spell'>OCCULT SPELL</option>
|
||
</select>
|
||
<span class='label' data-i18n='duration'>DURATION</span>
|
||
<input class='scalable-input input-field' type='text' title='@{duration}' name='attr_duration' value=''>
|
||
<input class='type-filter' type='hidden' name='attr_type' value='general-feat'>
|
||
</div>
|
||
<div class='row' hidden='true'>
|
||
<select class='freq-select' title='@{frequency}' name='attr_frequency'>
|
||
<option value='constant' data-i18n='constant' selected='selected'>CONSTANT</option>
|
||
<option value='at-will' data-i18n='at-will'>AT WILL</option>
|
||
<option value='daily-limit' data-i18n='x/day'>X/DAY</option>
|
||
</select>
|
||
</div>
|
||
<div class='row span-all'>
|
||
<span class='label' data-i18n='target'>TARGET</span>
|
||
<input class='scalable-input input-field' type='text' title='@{target}' name='attr_target'>
|
||
<span class='label' data-i18n='rng'>RANGE</span>
|
||
<input class='scalable-input input-field' type='text' title='@{range}' name='attr_range'>
|
||
</div>
|
||
<div class='row span-all'>
|
||
<span class='label' data-i18n='school'>SCHOOL</span>
|
||
<select name='attr_school'>
|
||
<option value='abjuration' data-i18n='abjuration' selected>ABJURATION</option>
|
||
<option value='conjuration' data-i18n='conjuration'>CONJURATION</option>
|
||
<option value='divination' data-i18n='divination'>DIVINATION</option>
|
||
<option value='enchantment' data-i18n='enchantment'>ENCHANTMENT</option>
|
||
<option value='evocation' data-i18n='evocation'>EVOCATION</option>
|
||
<option value='illusion' data-i18n='illusion'>ILLUSION</option>
|
||
<option value='necromancy' data-i18n='necromancy'>NECROMANCY</option>
|
||
<option value='transmutation' data-i18n='transmutation'>TRANSMUTATION</option>
|
||
</select>
|
||
</div>
|
||
<div class='row span-all'>
|
||
<span class='label' data-i18n='traits'>TRAITS</span>
|
||
<input class='scalable-input' type='text' name='attr_traits' value=''>
|
||
</div>
|
||
<input class='type-filter' type='hidden' name='attr_type' value='general-feat'>
|
||
<input type='hidden' title='@{frequency}' name='attr_frequency' class='freq-check'>
|
||
<div class='row span-two'>
|
||
<span class='label abi-cost' data-i18n='usage'>USAGE</span>
|
||
<input class='scalable-input input-field' type='text' title='@{usage}' name='attr_usage'>
|
||
</div>
|
||
<div class='row daily-limit span-all' hidden='true'>
|
||
<input class='' type='number' title='@{uses}' name='attr_uses' value='0'>
|
||
<span class='label'>/</span>
|
||
<div class='scalable-input attr-base-mod-container input-field'>
|
||
<input class='base-attr ability-uses' type='text' title='@{uses_max}' name='attr_uses_max_base' value='10' >
|
||
<input class='mod-buff' type='hidden' name='attr_uses_change' value='0'>
|
||
<span class='input-field modified-attr attr ability-uses' readonly='true' type='text' title='@{uses_max}' name='attr_uses_max' value='10'>10</span>
|
||
</div>
|
||
<span class='label' data-i18n='_-daily-uses'>Daily Uses</span>
|
||
</div>
|
||
<input class='field-tab' type='checkbox' title='@{proficiency_checkbox}' name='attr_proficiency_checkbox' value='1' hidden='true'>
|
||
<label class='expandable'><input class='field-tab atk-tab' type='checkbox' title='@{proficiency_checkbox}' name='attr_proficiency_checkbox' value='1' hidden='true'><span class='field label' data-i18n='proficiencies'>PROFICIENCIES</span></label>
|
||
<input class='field-tab' type='checkbox' title='@{proficiency_checkbox}' name='attr_proficiency_checkbox' value='1' hidden='true'>
|
||
<div class='field-container expandable inherit-grid'>
|
||
<input class='field-tab' type='checkbox' title='@{proficiency_checkbox}' name='attr_proficiency_checkbox' value='1' hidden='true'>
|
||
<div class='field row scalable-input proficiency-container'>
|
||
<select class='span-five' name='attr_proficiency'>
|
||
<option value='-2' data-i18n='untrained'>UNTRAINED</option>
|
||
<option value='0' data-i18n='trained'>TRAINED</option>
|
||
<option value='1' data-i18n='expert'>EXPERT</option>
|
||
<option value='2' data-i18n='master'>MASTER</option>
|
||
<option value='3' data-i18n='legendary'>LEGENDARY</option>
|
||
</select>
|
||
</div>
|
||
</div>
|
||
<input class='field-tab' type='checkbox' title='@{attack_checkbox}' name='attr_attack_checkbox' value='1' hidden='true'>
|
||
<label class='expandable'><input class='field-tab atk-tab' type='checkbox' title='@{attack_checkbox}' name='attr_attack_checkbox' value='1' hidden='true'><span class='field label' data-i18n='atk'>ATK</span></label>
|
||
<input class='field-tab' type='checkbox' title='@{attack_checkbox}' name='attr_attack_checkbox' value='1' hidden='true'>
|
||
<div class='field-container expandable inherit-grid'>
|
||
<input class='field-tab' type='checkbox' title='@{attack_checkbox}' name='attr_attack_checkbox' value='1' hidden='true'>
|
||
<div class='field row span-two'>
|
||
<select class='label atk-ability abi' title='@{attack_ability}' name='attr_attack_ability'>
|
||
<option value='0' selected='selected'>N/A</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>
|
||
<input hidden='true' title='@{attack_ability}' name='attr_attack_ability' value='0'>
|
||
</div>
|
||
</div>
|
||
<input class='field-tab' type='checkbox' title='@{damage_checkbox}' name='attr_damage_checkbox' value='1' hidden='true'>
|
||
<label class='expandable'><input class='field-tab dmg-tab' type='checkbox' title='@{damage_checkbox}' name='attr_damage_checkbox' value='1' hidden='true'><span class='field label' data-i18n='dmg'>DMG</span></label>
|
||
<input class='field-tab' type='checkbox' title='@{damage_checkbox}' name='attr_damage_checkbox' value='1' hidden='true'>
|
||
<div class='field-container expandable inherit-grid'>
|
||
<input class='field-tab' type='checkbox' title='@{damage_checkbox}' name='attr_damage_checkbox' value='1' hidden='true'>
|
||
<input hidden='true' title='@{damage_misc}' name='attr_damage_misc' value=''>
|
||
<div class='field row span-two'>
|
||
<input class='abi-dmg-dice' type='text' name=attr_damage_dice><span>+</span>
|
||
<select class='label atk-ability abi' title='@{damage_ability}' name='attr_damage_ability'>
|
||
<option value='' selected='selected'>N/A</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>
|
||
<input hidden='true' title='@{damage_ability}' name='attr_damage_ability' value='0'>
|
||
</div>
|
||
<div class='field row span-two'>
|
||
<span class='label' data-i18n='type'>TYPE</span>
|
||
<input class='scalable-input input-field' type='text' title='@{attack_type}' name='attr_attack_type'>
|
||
<span class='label' data-i18n='crit-effect'>CRIT EFFECT</span>
|
||
<input class='scalable-input input-field' type='text' title='@{attack_crit}' name='attr_attack_crit'>
|
||
</div>
|
||
</div>
|
||
<input class='field-tab' type='checkbox' title='@{save_checkbox}' name='attr_save_checkbox' value='1' hidden='true'>
|
||
<label class='expandable'><input class='field-tab save-effect-tab' type='checkbox' title='@{save_checkbox}' name='attr_save_checkbox' value='1' hidden='true'><span class='field label' data-i18n='save-effect'>SAVE EFFECT</span></label>
|
||
<input class='field-tab' type='checkbox' title='@{save_checkbox}' name='attr_save_checkbox' value='1' hidden='true'>
|
||
<div class='field-container expandable inherit-grid'>
|
||
<input class='field-tab' type='checkbox' title='@{save_checkbox}' name='attr_save_checkbox' value='1' hidden='true'>
|
||
<div class='field row span-all'>
|
||
<select class='label atk-ability abi' title='@{save_ability}' name='attr_save_ability'>
|
||
<option value='@{strength_mod}' data-i18n='str' selected='selected'>STR</option>
|
||
<option value='@{dexterity_mod}' data-i18n='dex'>DEX</option>
|
||
<option value='@{constitution_mod}' data-i18n='con'>CON</option>
|
||
<option value='@{intelligence_mod}' data-i18n='int'>INT</option>
|
||
<option value='@{wisdom_mod}' data-i18n='wis'>WIS</option>
|
||
<option value='@{charisma_mod}' data-i18n='cha'>CHA</option>
|
||
</select>
|
||
<span class='label' data-i18n='based-dc_'>Based DC </span>
|
||
<input class='mod-buff' type='hidden' name='attr_dc_change' value='0'>
|
||
<span class='modified-attr bab' title='@{dc}' name='attr_dc' value='10'>10</span>
|
||
<select class='label save-type' title='@{save_type}' name='attr_save_type'>
|
||
<option value='' selected='selected'>-</option>
|
||
<option value='FORT' data-i18n='fort-save'>FORT SAVE</option>
|
||
<option value='REF' data-i18n='ref-save'>REF SAVE</option>
|
||
<option value='WILL' data-i18n='will-save'>WILL SAVE</option>
|
||
</select>
|
||
</div>
|
||
<div class='field row span-all'>
|
||
<textarea class='' title='@{effect}' name='attr_effect'></textarea>
|
||
</div>
|
||
<div class='field row span-all'>
|
||
<span class='label' data-i18n='A-Sucessful-Save:'>A Sucessful Save:</span>
|
||
</div>
|
||
<div class='field row span-all'>
|
||
<textarea class='' title='@{save_effect}' name='attr_save_effect'></textarea>
|
||
</div>
|
||
</div>
|
||
<input class='field-tab' type='checkbox' title='@{macro_checkbox}' name='attr_macro_checkbox' value='1' hidden='true'>
|
||
<label class='expandable'><input class='field-tab macro-tab' type='checkbox' title='@{macro_checkbox}' name='attr_macro_checkbox' value='1' hidden='true'><span class='label field' data-i18n='attacher'>ATTACHER</span></label>
|
||
<input class='field-tab' type='checkbox' title='@{macro_checkbox}' name='attr_macro_checkbox' value='1' hidden='true'>
|
||
<div class='row field-container mod-container expandable'>
|
||
<input class='field-tab' type='checkbox' title='@{macro_checkbox}' name='attr_macro_checkbox' value='1' hidden='true'>
|
||
<textarea class='field row scalable-input input-field' type='text' title='@{attacher}' name='attr_attacher'></textarea>
|
||
</div>
|
||
<div class='row span-all'>
|
||
<textarea class='' title='@{description}' name='attr_description'></textarea>
|
||
</div>
|
||
<div class='row span-all'><input readonly=true class='id-label' title='@{id}' name='attr_id'></input>
|
||
</div>
|
||
</div>
|
||
<div class='display'>
|
||
<input type='hidden' title='@{frequency}' name='attr_frequency' class='freq-check'>
|
||
<input class='freq-check at-will daily-limit' type='checkbox' title='@{toggle}' name='attr_toggle' value='1'>
|
||
<div class='button-description'>
|
||
<input class='label' readonly='true' type='text' title='@{name}' name='attr_name'>
|
||
<input class='label force-uppercase' readonly='true' type='text' name='attr_school'>
|
||
<button class='npcsummary' type='roll' title='%{roll}' name='roll_roll' value='@{whisper_state}&{template:spell} {{name=@{character_name}}} {{characterid=@{character_id}}} {{title=@{name}}} {{saveflag=[[1d@{save_checkbox}]]}} {{activation=@{usage}}} {{duration=@{duration}}} {{targets=@{target}}} {{range=@{range}}} {{savedc=@{dc}}} {{savetype=@{save_type}}} {{effect=@{effect}}} {{saveeffect=@{save_effect}}} {{attackflag=[[1d@{attack_checkbox}]]}} {{r1=[[1d20+@{attack_ability}[ABI]+@{character_level}[LEVEL]+@{proficiency}[Prof]]]}} {{damage1=[[@{damage_dice}+@{damage_ability}[ABI]@{damage_misc} ]]}} {{damageflag=[[1d@{damage_checkbox}]]}} {{damage1type=@{attack_type}}} {{notes=@{description}}} @{attacher}'></button>
|
||
<label class='expand-button'><input hidden='true' class='expand-description' type='checkbox' name='attr_expand_description' value='1'><span class='collapsed pictos'>`</span><span class='expanded pictos'>J</span></label>
|
||
</div>
|
||
<input class='expand-description' type='hidden' name='attr_expand_description'>
|
||
<textarea class='description' title='@{description}' name='attr_description'></textarea>
|
||
</div>
|
||
</div>
|
||
</fieldset>
|
||
</div>
|
||
</div>
|
||
<input class='toggle level10' type='checkbox' name='attr_casts_level_2' value='1'>
|
||
<div class='section-container aspell2 class-spells-day'>
|
||
<div class='section'>
|
||
<h1 class='label' data-i18n='2nd-level'>2nd LEVEL</h1>
|
||
</div>
|
||
<div class='section-container'>
|
||
<div class='button-description'>
|
||
<span class='label' data-i18n='name'>NAME</span>
|
||
<span class='label' data-i18n='school'>SCHOOL</span>
|
||
</div>
|
||
<button class='pseudo-repcontrol pictos' type='action' name='act_create_2nd'>&</button>
|
||
<fieldset class='repeating_spell2'><input type='hidden' name='attr_dc' value='10'>
|
||
<input hidden='true' type='text' title='@{attack_total}' name='attr_attack_total'>
|
||
<input hidden='true' type='text' title='@{damage_total}' name='attr_damage_total'>
|
||
<input class='type-filter' type='hidden' name='attr_type' value='general feat'>
|
||
<input class='level-filter' type='hidden' title='@{filter}' name='attr_level' value='1'>
|
||
<div class='filter-container level2 spell'>
|
||
|
||
<input type='text' hidden='true' title='@{attack_misc}' name='attr_attack_misc' value=''>
|
||
<input type='text' hidden='true' title='@{attack_damage_misc}' name='attr_attack_damage_misc' value=''>
|
||
<input type='text' hidden='true' title='@{effect_misc}' name='attr_effect_misc' value=''>
|
||
|
||
<input class="show-options" type="checkbox" title='@{show_options}' name="attr_show_options" checked="checked"><span>y</span>
|
||
<div class='row-options'>
|
||
<div class='row span-all display-margin'>
|
||
<span class='label' data-i18n='name-u'>NAME</span>
|
||
<input class='scalable-input input-field' type='text' title='@{name}' name='attr_name' placeholder="Operative's Edge">
|
||
<span class='type-level' data-i18n='level'>LEVEL</span>
|
||
<input class='type-level bab input-field' type='number' name='attr_level' value='0'>
|
||
</div>
|
||
<div class='row span-all'>
|
||
<select class='freq-select' title='@{type}' name='attr_type'>
|
||
<option value='spell tradition' data-i18n='spell tradition' selected>SPELL TRADITION</option><option value='arcane spell' data-i18n='arcane spell'>ARCANE SPELL</option><option value='divine spell' data-i18n='divine spell'>DIVINE SPELL</option><option value='primal spell' data-i18n='primal spell'>PRIMAL SPELL</option><option value='occult spell' data-i18n='occult spell'>OCCULT SPELL</option>
|
||
</select>
|
||
<span class='label' data-i18n='duration'>DURATION</span>
|
||
<input class='scalable-input input-field' type='text' title='@{duration}' name='attr_duration' value=''>
|
||
<input class='type-filter' type='hidden' name='attr_type' value='general-feat'>
|
||
</div>
|
||
<div class='row' hidden='true'>
|
||
<select class='freq-select' title='@{frequency}' name='attr_frequency'>
|
||
<option value='constant' data-i18n='constant' selected='selected'>CONSTANT</option>
|
||
<option value='at-will' data-i18n='at-will'>AT WILL</option>
|
||
<option value='daily-limit' data-i18n='x/day'>X/DAY</option>
|
||
</select>
|
||
</div>
|
||
<div class='row span-all'>
|
||
<span class='label' data-i18n='target'>TARGET</span>
|
||
<input class='scalable-input input-field' type='text' title='@{target}' name='attr_target'>
|
||
<span class='label' data-i18n='rng'>RANGE</span>
|
||
<input class='scalable-input input-field' type='text' title='@{range}' name='attr_range'>
|
||
</div>
|
||
<div class='row span-all'>
|
||
<span class='label' data-i18n='school'>SCHOOL</span>
|
||
<select name='attr_school'>
|
||
<option value='abjuration' data-i18n='abjuration' selected>ABJURATION</option>
|
||
<option value='conjuration' data-i18n='conjuration'>CONJURATION</option>
|
||
<option value='divination' data-i18n='divination'>DIVINATION</option>
|
||
<option value='enchantment' data-i18n='enchantment'>ENCHANTMENT</option>
|
||
<option value='evocation' data-i18n='evocation'>EVOCATION</option>
|
||
<option value='illusion' data-i18n='illusion'>ILLUSION</option>
|
||
<option value='necromancy' data-i18n='necromancy'>NECROMANCY</option>
|
||
<option value='transmutation' data-i18n='transmutation'>TRANSMUTATION</option>
|
||
</select>
|
||
</div>
|
||
<div class='row span-all'>
|
||
<span class='label' data-i18n='traits'>TRAITS</span>
|
||
<input class='scalable-input' type='text' name='attr_traits' value=''>
|
||
</div>
|
||
<input class='type-filter' type='hidden' name='attr_type' value='general-feat'>
|
||
<input type='hidden' title='@{frequency}' name='attr_frequency' class='freq-check'>
|
||
<div class='row span-all'>
|
||
<span class='label abi-cost' data-i18n='usage'>USAGE</span>
|
||
<input class='scalable-input input-field' type='text' title='@{usage}' name='attr_usage'>
|
||
</div>
|
||
<div class='row daily-limit span-all'>
|
||
<input class='' type='number' title='@{uses}' name='attr_uses' value='0'>
|
||
<span class='label'>/</span>
|
||
<div class='scalable-input attr-base-mod-container input-field'>
|
||
<input class='base-attr ability-uses' type='text' title='@{uses_max}' name='attr_uses_max_base' value='10' >
|
||
<input class='mod-buff' type='hidden' name='attr_uses_change' value='0'>
|
||
<span class='input-field modified-attr attr ability-uses' readonly='true' type='text' title='@{uses_max}' name='attr_uses_max' value='10'>10</span>
|
||
</div>
|
||
<span class='label' data-i18n='_-daily-uses'>Daily Uses</span>
|
||
</div>
|
||
<input class='field-tab' type='checkbox' title='@{proficiency_checkbox}' name='attr_proficiency_checkbox' value='1' hidden='true'>
|
||
<label class='expandable'><input class='field-tab atk-tab' type='checkbox' title='@{proficiency_checkbox}' name='attr_proficiency_checkbox' value='1' hidden='true'><span class='field label' data-i18n='proficiencies'>PROFICIENCIES</span></label>
|
||
<input class='field-tab' type='checkbox' title='@{proficiency_checkbox}' name='attr_proficiency_checkbox' value='1' hidden='true'>
|
||
<div class='field-container expandable inherit-grid'>
|
||
<input class='field-tab' type='checkbox' title='@{proficiency_checkbox}' name='attr_proficiency_checkbox' value='1' hidden='true'>
|
||
<div class='field row scalable-input proficiency-container'>
|
||
<select class='span-five' name='attr_proficiency'>
|
||
<option value='-2' data-i18n='untrained'>UNTRAINED</option>
|
||
<option value='0' data-i18n='trained'>TRAINED</option>
|
||
<option value='1' data-i18n='expert'>EXPERT</option>
|
||
<option value='2' data-i18n='master'>MASTER</option>
|
||
<option value='3' data-i18n='legendary'>LEGENDARY</option>
|
||
</select>
|
||
</div>
|
||
</div>
|
||
<input class='field-tab' type='checkbox' title='@{attack_checkbox}' name='attr_attack_checkbox' value='1' hidden='true'>
|
||
<label class='expandable'><input class='field-tab atk-tab' type='checkbox' title='@{attack_checkbox}' name='attr_attack_checkbox' value='1' hidden='true'><span class='field label' data-i18n='atk'>ATK</span></label>
|
||
<input class='field-tab' type='checkbox' title='@{attack_checkbox}' name='attr_attack_checkbox' value='1' hidden='true'>
|
||
<div class='field-container expandable inherit-grid'>
|
||
<input class='field-tab' type='checkbox' title='@{attack_checkbox}' name='attr_attack_checkbox' value='1' hidden='true'>
|
||
<div class='field row span-two'>
|
||
<select class='label atk-ability abi' title='@{attack_ability}' name='attr_attack_ability'>
|
||
<option value='0' selected='selected'>N/A</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>
|
||
<input hidden='true' title='@{attack_ability}' name='attr_attack_ability' value='0'>
|
||
</div>
|
||
</div>
|
||
<input class='field-tab' type='checkbox' title='@{damage_checkbox}' name='attr_damage_checkbox' value='1' hidden='true'>
|
||
<label class='expandable'><input class='field-tab dmg-tab' type='checkbox' title='@{damage_checkbox}' name='attr_damage_checkbox' value='1' hidden='true'><span class='field label' data-i18n='dmg'>DMG</span></label>
|
||
<input class='field-tab' type='checkbox' title='@{damage_checkbox}' name='attr_damage_checkbox' value='1' hidden='true'>
|
||
<div class='field-container expandable inherit-grid'>
|
||
<input class='field-tab' type='checkbox' title='@{damage_checkbox}' name='attr_damage_checkbox' value='1' hidden='true'>
|
||
<input hidden='true' title='@{damage_misc}' name='attr_damage_misc' value=''>
|
||
<div class='field row span-two'>
|
||
<input class='abi-dmg-dice' type='text' name=attr_damage_dice><span>+</span>
|
||
<select class='label atk-ability abi' title='@{damage_ability}' name='attr_damage_ability'>
|
||
<option value='' selected='selected'>N/A</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>
|
||
<input hidden='true' title='@{damage_ability}' name='attr_damage_ability' value='0'>
|
||
</div>
|
||
<div class='field row span-two'>
|
||
<span class='label' data-i18n='type'>TYPE</span>
|
||
<input class='scalable-input input-field' type='text' title='@{attack_type}' name='attr_attack_type'>
|
||
<span class='label' data-i18n='crit-effect'>CRIT EFFECT</span>
|
||
<input class='scalable-input input-field' type='text' title='@{attack_crit}' name='attr_attack_crit'>
|
||
</div>
|
||
</div>
|
||
<input class='field-tab' type='checkbox' title='@{save_checkbox}' name='attr_save_checkbox' value='1' hidden='true'>
|
||
<label class='expandable'><input class='field-tab save-effect-tab' type='checkbox' title='@{save_checkbox}' name='attr_save_checkbox' value='1' hidden='true'><span class='field label' data-i18n='save-effect'>SAVE EFFECT</span></label>
|
||
<input class='field-tab' type='checkbox' title='@{save_checkbox}' name='attr_save_checkbox' value='1' hidden='true'>
|
||
<div class='field-container expandable inherit-grid'>
|
||
<input class='field-tab' type='checkbox' title='@{save_checkbox}' name='attr_save_checkbox' value='1' hidden='true'>
|
||
<div class='field row span-all'>
|
||
<select class='label atk-ability abi' title='@{save_ability}' name='attr_save_ability'>
|
||
<option value='@{strength_mod}' data-i18n='str' selected='selected'>STR</option>
|
||
<option value='@{dexterity_mod}' data-i18n='dex'>DEX</option>
|
||
<option value='@{constitution_mod}' data-i18n='con'>CON</option>
|
||
<option value='@{intelligence_mod}' data-i18n='int'>INT</option>
|
||
<option value='@{wisdom_mod}' data-i18n='wis'>WIS</option>
|
||
<option value='@{charisma_mod}' data-i18n='cha'>CHA</option>
|
||
</select>
|
||
<span class='label' data-i18n='based-dc_'>Based DC </span>
|
||
<input class='mod-buff' type='hidden' name='attr_dc_change' value='0'>
|
||
<span class='modified-attr bab' title='@{dc}' name='attr_dc' value='10'>10</span>
|
||
<select class='label save-type' title='@{save_type}' name='attr_save_type'>
|
||
<option value='' selected='selected'>-</option>
|
||
<option value='FORT' data-i18n='fort-save'>FORT SAVE</option>
|
||
<option value='REF' data-i18n='ref-save'>REF SAVE</option>
|
||
<option value='WILL' data-i18n='will-save'>WILL SAVE</option>
|
||
</select>
|
||
</div>
|
||
<div class='field row span-all'>
|
||
<textarea class='' title='@{effect}' name='attr_effect'></textarea>
|
||
</div>
|
||
<div class='field row span-all'>
|
||
<span class='label' data-i18n='A-Sucessful-Save:'>A Sucessful Save:</span>
|
||
</div>
|
||
<div class='field row span-all'>
|
||
<textarea class='' title='@{save_effect}' name='attr_save_effect'></textarea>
|
||
</div>
|
||
</div>
|
||
<input class='field-tab' type='checkbox' title='@{macro_checkbox}' name='attr_macro_checkbox' value='1' hidden='true'>
|
||
<label class='expandable'><input class='field-tab macro-tab' type='checkbox' title='@{macro_checkbox}' name='attr_macro_checkbox' value='1' hidden='true'><span class='label field' data-i18n='attacher'>ATTACHER</span></label>
|
||
<input class='field-tab' type='checkbox' title='@{macro_checkbox}' name='attr_macro_checkbox' value='1' hidden='true'>
|
||
<div class='row field-container mod-container expandable'>
|
||
<input class='field-tab' type='checkbox' title='@{macro_checkbox}' name='attr_macro_checkbox' value='1' hidden='true'>
|
||
<textarea class='field row scalable-input input-field' type='text' title='@{attacher}' name='attr_attacher'></textarea>
|
||
</div>
|
||
<div class='row span-all'>
|
||
<textarea class='' title='@{description}' name='attr_description'></textarea>
|
||
</div>
|
||
<div class='row span-all'><input readonly=true class='id-label' title='@{id}' name='attr_id'></input>
|
||
</div>
|
||
</div>
|
||
<div class='display'>
|
||
<input type='hidden' title='@{frequency}' name='attr_frequency' class='freq-check'>
|
||
<input class='freq-check at-will daily-limit' type='checkbox' title='@{toggle}' name='attr_toggle' value='1'>
|
||
<div class='button-description'>
|
||
<input class='label' readonly='true' type='text' title='@{name}' name='attr_name'>
|
||
<input class='label force-uppercase' readonly='true' type='text' name='attr_school'>
|
||
<button class='npcsummary' type='roll' title='%{roll}' name='roll_roll' value='@{whisper_state}&{template:spell} {{name=@{character_name}}} {{characterid=@{character_id}}} {{title=@{name}}} {{saveflag=[[1d@{save_checkbox}]]}} {{activation=@{usage}}} {{duration=@{duration}}} {{targets=@{target}}} {{range=@{range}}} {{savedc=@{dc}}} {{savetype=@{save_type}}} {{effect=@{effect}}} {{saveeffect=@{save_effect}}} {{attackflag=[[1d@{attack_checkbox}]]}} {{r1=[[1d20+@{attack_ability}[ABI]+@{character_level}[LEVEL]+@{proficiency}[Prof]]]}} {{damage1=[[@{damage_dice}+@{damage_ability}[ABI]@{damage_misc} ]]}} {{damageflag=[[1d@{damage_checkbox}]]}} {{damage1type=@{attack_type}}} {{notes=@{description}}} @{attacher}'></button>
|
||
<label class='expand-button'><input hidden='true' class='expand-description' type='checkbox' name='attr_expand_description' value='1'><span class='collapsed pictos'>`</span><span class='expanded pictos'>J</span></label>
|
||
</div>
|
||
<input class='expand-description' type='hidden' name='attr_expand_description'>
|
||
<textarea class='description' title='@{description}' name='attr_description'></textarea>
|
||
</div>
|
||
</div>
|
||
</fieldset>
|
||
</div>
|
||
</div>
|
||
<input class='toggle level10' type='checkbox' name='attr_casts_level_4' value='1'>
|
||
<div class='section-container aspell4 class-spells-day'>
|
||
<div class='section'>
|
||
<h1 class='label' data-i18n='4th-level'>4th LEVEL</h1>
|
||
</div>
|
||
<div class='section-container'>
|
||
<div class='button-description'>
|
||
<span class='label' data-i18n='name'>NAME</span>
|
||
<span class='label' data-i18n='school'>SCHOOL</span>
|
||
</div>
|
||
<button class='pseudo-repcontrol pictos' type='action' name='act_create_4th'>&</button>
|
||
<fieldset class='repeating_spell4'><input type='hidden' name='attr_dc' value='10'>
|
||
<input hidden='true' type='text' title='@{attack_total}' name='attr_attack_total'>
|
||
<input hidden='true' type='text' title='@{damage_total}' name='attr_damage_total'>
|
||
<input class='type-filter' type='hidden' name='attr_type' value='general feat'>
|
||
<input class='level-filter' type='hidden' title='@{filter}' name='attr_level' value='1'>
|
||
<div class='filter-container level4 spell'>
|
||
|
||
<input type='text' hidden='true' title='@{attack_misc}' name='attr_attack_misc' value=''>
|
||
<input type='text' hidden='true' title='@{attack_damage_misc}' name='attr_attack_damage_misc' value=''>
|
||
<input type='text' hidden='true' title='@{effect_misc}' name='attr_effect_misc' value=''>
|
||
|
||
<input class="show-options" type="checkbox" title='@{show_options}' name="attr_show_options" checked="checked"><span>y</span>
|
||
<div class='row-options'>
|
||
<div class='row span-all display-margin'>
|
||
<span class='label' data-i18n='name-u'>NAME</span>
|
||
<input class='scalable-input input-field' type='text' title='@{name}' name='attr_name' placeholder="Operative's Edge">
|
||
<span class='type-level' data-i18n='level'>LEVEL</span>
|
||
<input class='type-level bab input-field' type='number' name='attr_level' value='0'>
|
||
</div>
|
||
<div class='row span-all'>
|
||
<select class='freq-select' title='@{type}' name='attr_type'>
|
||
<option value='spell tradition' data-i18n='spell tradition' selected>SPELL TRADITION</option><option value='arcane spell' data-i18n='arcane spell'>ARCANE SPELL</option><option value='divine spell' data-i18n='divine spell'>DIVINE SPELL</option><option value='primal spell' data-i18n='primal spell'>PRIMAL SPELL</option><option value='occult spell' data-i18n='occult spell'>OCCULT SPELL</option>
|
||
</select>
|
||
<span class='label' data-i18n='duration'>DURATION</span>
|
||
<input class='scalable-input input-field' type='text' title='@{duration}' name='attr_duration' value=''>
|
||
<input class='type-filter' type='hidden' name='attr_type' value='general-feat'>
|
||
</div>
|
||
<div class='row' hidden='true'>
|
||
<select class='freq-select' title='@{frequency}' name='attr_frequency'>
|
||
<option value='constant' data-i18n='constant' selected='selected'>CONSTANT</option>
|
||
<option value='at-will' data-i18n='at-will'>AT WILL</option>
|
||
<option value='daily-limit' data-i18n='x/day'>X/DAY</option>
|
||
</select>
|
||
</div>
|
||
<div class='row span-all'>
|
||
<span class='label' data-i18n='target'>TARGET</span>
|
||
<input class='scalable-input input-field' type='text' title='@{target}' name='attr_target'>
|
||
<span class='label' data-i18n='rng'>RANGE</span>
|
||
<input class='scalable-input input-field' type='text' title='@{range}' name='attr_range'>
|
||
</div>
|
||
<div class='row span-all'>
|
||
<span class='label' data-i18n='school'>SCHOOL</span>
|
||
<select name='attr_school'>
|
||
<option value='abjuration' data-i18n='abjuration' selected>ABJURATION</option>
|
||
<option value='conjuration' data-i18n='conjuration'>CONJURATION</option>
|
||
<option value='divination' data-i18n='divination'>DIVINATION</option>
|
||
<option value='enchantment' data-i18n='enchantment'>ENCHANTMENT</option>
|
||
<option value='evocation' data-i18n='evocation'>EVOCATION</option>
|
||
<option value='illusion' data-i18n='illusion'>ILLUSION</option>
|
||
<option value='necromancy' data-i18n='necromancy'>NECROMANCY</option>
|
||
<option value='transmutation' data-i18n='transmutation'>TRANSMUTATION</option>
|
||
</select>
|
||
</div>
|
||
<div class='row span-all'>
|
||
<span class='label' data-i18n='traits'>TRAITS</span>
|
||
<input class='scalable-input' type='text' name='attr_traits' value=''>
|
||
</div>
|
||
<input class='type-filter' type='hidden' name='attr_type' value='general-feat'>
|
||
<input type='hidden' title='@{frequency}' name='attr_frequency' class='freq-check'>
|
||
<div class='row span-all'>
|
||
<span class='label abi-cost' data-i18n='usage'>USAGE</span>
|
||
<input class='scalable-input input-field' type='text' title='@{usage}' name='attr_usage'>
|
||
</div>
|
||
<div class='row daily-limit span-all'>
|
||
<input class='' type='number' title='@{uses}' name='attr_uses' value='0'>
|
||
<span class='label'>/</span>
|
||
<div class='scalable-input attr-base-mod-container input-field'>
|
||
<input class='base-attr ability-uses' type='text' title='@{uses_max}' name='attr_uses_max_base' value='10' >
|
||
<input class='mod-buff' type='hidden' name='attr_uses_change' value='0'>
|
||
<span class='input-field modified-attr attr ability-uses' readonly='true' type='text' title='@{uses_max}' name='attr_uses_max' value='10'>10</span>
|
||
</div>
|
||
<span class='label' data-i18n='_-daily-uses'>Daily Uses</span>
|
||
</div>
|
||
<input class='field-tab' type='checkbox' title='@{proficiency_checkbox}' name='attr_proficiency_checkbox' value='1' hidden='true'>
|
||
<label class='expandable'><input class='field-tab atk-tab' type='checkbox' title='@{proficiency_checkbox}' name='attr_proficiency_checkbox' value='1' hidden='true'><span class='field label' data-i18n='proficiencies'>PROFICIENCIES</span></label>
|
||
<input class='field-tab' type='checkbox' title='@{proficiency_checkbox}' name='attr_proficiency_checkbox' value='1' hidden='true'>
|
||
<div class='field-container expandable inherit-grid'>
|
||
<input class='field-tab' type='checkbox' title='@{proficiency_checkbox}' name='attr_proficiency_checkbox' value='1' hidden='true'>
|
||
<div class='field row scalable-input proficiency-container'>
|
||
<select class='span-five' name='attr_proficiency'>
|
||
<option value='-2' data-i18n='untrained'>UNTRAINED</option>
|
||
<option value='0' data-i18n='trained'>TRAINED</option>
|
||
<option value='1' data-i18n='expert'>EXPERT</option>
|
||
<option value='2' data-i18n='master'>MASTER</option>
|
||
<option value='3' data-i18n='legendary'>LEGENDARY</option>
|
||
</select>
|
||
</div>
|
||
</div>
|
||
<input class='field-tab' type='checkbox' title='@{attack_checkbox}' name='attr_attack_checkbox' value='1' hidden='true'>
|
||
<label class='expandable'><input class='field-tab atk-tab' type='checkbox' title='@{attack_checkbox}' name='attr_attack_checkbox' value='1' hidden='true'><span class='field label' data-i18n='atk'>ATK</span></label>
|
||
<input class='field-tab' type='checkbox' title='@{attack_checkbox}' name='attr_attack_checkbox' value='1' hidden='true'>
|
||
<div class='field-container expandable inherit-grid'>
|
||
<input class='field-tab' type='checkbox' title='@{attack_checkbox}' name='attr_attack_checkbox' value='1' hidden='true'>
|
||
<div class='field row span-two'>
|
||
<select class='label atk-ability abi' title='@{attack_ability}' name='attr_attack_ability'>
|
||
<option value='0' selected='selected'>N/A</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>
|
||
<input hidden='true' title='@{attack_ability}' name='attr_attack_ability' value='0'>
|
||
</div>
|
||
</div>
|
||
<input class='field-tab' type='checkbox' title='@{damage_checkbox}' name='attr_damage_checkbox' value='1' hidden='true'>
|
||
<label class='expandable'><input class='field-tab dmg-tab' type='checkbox' title='@{damage_checkbox}' name='attr_damage_checkbox' value='1' hidden='true'><span class='field label' data-i18n='dmg'>DMG</span></label>
|
||
<input class='field-tab' type='checkbox' title='@{damage_checkbox}' name='attr_damage_checkbox' value='1' hidden='true'>
|
||
<div class='field-container expandable inherit-grid'>
|
||
<input class='field-tab' type='checkbox' title='@{damage_checkbox}' name='attr_damage_checkbox' value='1' hidden='true'>
|
||
<input hidden='true' title='@{damage_misc}' name='attr_damage_misc' value=''>
|
||
<div class='field row span-two'>
|
||
<input class='abi-dmg-dice' type='text' name=attr_damage_dice><span>+</span>
|
||
<select class='label atk-ability abi' title='@{damage_ability}' name='attr_damage_ability'>
|
||
<option value='' selected='selected'>N/A</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>
|
||
<input hidden='true' title='@{damage_ability}' name='attr_damage_ability' value='0'>
|
||
</div>
|
||
<div class='field row span-two'>
|
||
<span class='label' data-i18n='type'>TYPE</span>
|
||
<input class='scalable-input input-field' type='text' title='@{attack_type}' name='attr_attack_type'>
|
||
<span class='label' data-i18n='crit-effect'>CRIT EFFECT</span>
|
||
<input class='scalable-input input-field' type='text' title='@{attack_crit}' name='attr_attack_crit'>
|
||
</div>
|
||
</div>
|
||
<input class='field-tab' type='checkbox' title='@{save_checkbox}' name='attr_save_checkbox' value='1' hidden='true'>
|
||
<label class='expandable'><input class='field-tab save-effect-tab' type='checkbox' title='@{save_checkbox}' name='attr_save_checkbox' value='1' hidden='true'><span class='field label' data-i18n='save-effect'>SAVE EFFECT</span></label>
|
||
<input class='field-tab' type='checkbox' title='@{save_checkbox}' name='attr_save_checkbox' value='1' hidden='true'>
|
||
<div class='field-container expandable inherit-grid'>
|
||
<input class='field-tab' type='checkbox' title='@{save_checkbox}' name='attr_save_checkbox' value='1' hidden='true'>
|
||
<div class='field row span-all'>
|
||
<select class='label atk-ability abi' title='@{save_ability}' name='attr_save_ability'>
|
||
<option value='@{strength_mod}' data-i18n='str' selected='selected'>STR</option>
|
||
<option value='@{dexterity_mod}' data-i18n='dex'>DEX</option>
|
||
<option value='@{constitution_mod}' data-i18n='con'>CON</option>
|
||
<option value='@{intelligence_mod}' data-i18n='int'>INT</option>
|
||
<option value='@{wisdom_mod}' data-i18n='wis'>WIS</option>
|
||
<option value='@{charisma_mod}' data-i18n='cha'>CHA</option>
|
||
</select>
|
||
<span class='label' data-i18n='based-dc_'>Based DC </span>
|
||
<input class='mod-buff' type='hidden' name='attr_dc_change' value='0'>
|
||
<span class='modified-attr bab' title='@{dc}' name='attr_dc' value='10'>10</span>
|
||
<select class='label save-type' title='@{save_type}' name='attr_save_type'>
|
||
<option value='' selected='selected'>-</option>
|
||
<option value='FORT' data-i18n='fort-save'>FORT SAVE</option>
|
||
<option value='REF' data-i18n='ref-save'>REF SAVE</option>
|
||
<option value='WILL' data-i18n='will-save'>WILL SAVE</option>
|
||
</select>
|
||
</div>
|
||
<div class='field row span-all'>
|
||
<textarea class='' title='@{effect}' name='attr_effect'></textarea>
|
||
</div>
|
||
<div class='field row span-all'>
|
||
<span class='label' data-i18n='A-Sucessful-Save:'>A Sucessful Save:</span>
|
||
</div>
|
||
<div class='field row span-all'>
|
||
<textarea class='' title='@{save_effect}' name='attr_save_effect'></textarea>
|
||
</div>
|
||
</div>
|
||
<input class='field-tab' type='checkbox' title='@{macro_checkbox}' name='attr_macro_checkbox' value='1' hidden='true'>
|
||
<label class='expandable'><input class='field-tab macro-tab' type='checkbox' title='@{macro_checkbox}' name='attr_macro_checkbox' value='1' hidden='true'><span class='label field' data-i18n='attacher'>ATTACHER</span></label>
|
||
<input class='field-tab' type='checkbox' title='@{macro_checkbox}' name='attr_macro_checkbox' value='1' hidden='true'>
|
||
<div class='row field-container mod-container expandable'>
|
||
<input class='field-tab' type='checkbox' title='@{macro_checkbox}' name='attr_macro_checkbox' value='1' hidden='true'>
|
||
<textarea class='field row scalable-input input-field' type='text' title='@{attacher}' name='attr_attacher'></textarea>
|
||
</div>
|
||
<div class='row span-all'>
|
||
<textarea class='' title='@{description}' name='attr_description'></textarea>
|
||
</div>
|
||
<div class='row span-all'><input readonly=true class='id-label' title='@{id}' name='attr_id'></input>
|
||
</div>
|
||
</div>
|
||
<div class='display'>
|
||
<input type='hidden' title='@{frequency}' name='attr_frequency' class='freq-check'>
|
||
<input class='freq-check at-will daily-limit' type='checkbox' title='@{toggle}' name='attr_toggle' value='1'>
|
||
<div class='button-description'>
|
||
<input class='label' readonly='true' type='text' title='@{name}' name='attr_name'>
|
||
<input class='label force-uppercase' readonly='true' type='text' name='attr_school'>
|
||
<button class='npcsummary' type='roll' title='%{roll}' name='roll_roll' value='@{whisper_state}&{template:spell} {{name=@{character_name}}} {{characterid=@{character_id}}} {{title=@{name}}} {{saveflag=[[1d@{save_checkbox}]]}} {{activation=@{usage}}} {{duration=@{duration}}} {{targets=@{target}}} {{range=@{range}}} {{savedc=@{dc}}} {{savetype=@{save_type}}} {{effect=@{effect}}} {{saveeffect=@{save_effect}}} {{attackflag=[[1d@{attack_checkbox}]]}} {{r1=[[1d20+@{attack_ability}[ABI]+@{character_level}[LEVEL]+@{proficiency}[Prof]]]}} {{damage1=[[@{damage_dice}+@{damage_ability}[ABI]@{damage_misc} ]]}} {{damageflag=[[1d@{damage_checkbox}]]}} {{damage1type=@{attack_type}}} {{notes=@{description}}} @{attacher}'></button>
|
||
<label class='expand-button'><input hidden='true' class='expand-description' type='checkbox' name='attr_expand_description' value='1'><span class='collapsed pictos'>`</span><span class='expanded pictos'>J</span></label>
|
||
</div>
|
||
<input class='expand-description' type='hidden' name='attr_expand_description'>
|
||
<textarea class='description' title='@{description}' name='attr_description'></textarea>
|
||
</div>
|
||
</div>
|
||
</fieldset>
|
||
</div>
|
||
</div>
|
||
<input class='toggle level10' type='checkbox' name='attr_casts_level_6' value='1'>
|
||
<div class='section-container aspell6 class-spells-day'>
|
||
<div class='section'>
|
||
<h1 class='label' data-i18n='6th-level'>6th LEVEL</h1>
|
||
</div>
|
||
<div class='section-container'>
|
||
<div class='button-description'>
|
||
<span class='label' data-i18n='name'>NAME</span>
|
||
<span class='label' data-i18n='school'>SCHOOL</span>
|
||
</div>
|
||
<button class='pseudo-repcontrol pictos' type='action' name='act_create_6th'>&</button>
|
||
<fieldset class='repeating_spell6'><input type='hidden' name='attr_dc' value='10'>
|
||
<input hidden='true' type='text' title='@{attack_total}' name='attr_attack_total'>
|
||
<input hidden='true' type='text' title='@{damage_total}' name='attr_damage_total'>
|
||
<input class='type-filter' type='hidden' name='attr_type' value='general feat'>
|
||
<input class='level-filter' type='hidden' title='@{filter}' name='attr_level' value='1'>
|
||
<div class='filter-container level6 spell'>
|
||
|
||
<input type='text' hidden='true' title='@{attack_misc}' name='attr_attack_misc' value=''>
|
||
<input type='text' hidden='true' title='@{attack_damage_misc}' name='attr_attack_damage_misc' value=''>
|
||
<input type='text' hidden='true' title='@{effect_misc}' name='attr_effect_misc' value=''>
|
||
|
||
<input class="show-options" type="checkbox" title='@{show_options}' name="attr_show_options" checked="checked"><span>y</span>
|
||
<div class='row-options'>
|
||
<div class='row span-all display-margin'>
|
||
<span class='label' data-i18n='name-u'>NAME</span>
|
||
<input class='scalable-input input-field' type='text' title='@{name}' name='attr_name' placeholder="Operative's Edge">
|
||
<span class='type-level' data-i18n='level'>LEVEL</span>
|
||
<input class='type-level bab input-field' type='number' name='attr_level' value='0'>
|
||
</div>
|
||
<div class='row span-all'>
|
||
<select class='freq-select' title='@{type}' name='attr_type'>
|
||
<option value='spell tradition' data-i18n='spell tradition' selected>SPELL TRADITION</option><option value='arcane spell' data-i18n='arcane spell'>ARCANE SPELL</option><option value='divine spell' data-i18n='divine spell'>DIVINE SPELL</option><option value='primal spell' data-i18n='primal spell'>PRIMAL SPELL</option><option value='occult spell' data-i18n='occult spell'>OCCULT SPELL</option>
|
||
</select>
|
||
<span class='label' data-i18n='duration'>DURATION</span>
|
||
<input class='scalable-input input-field' type='text' title='@{duration}' name='attr_duration' value=''>
|
||
<input class='type-filter' type='hidden' name='attr_type' value='general-feat'>
|
||
</div>
|
||
<div class='row' hidden='true'>
|
||
<select class='freq-select' title='@{frequency}' name='attr_frequency'>
|
||
<option value='constant' data-i18n='constant' selected='selected'>CONSTANT</option>
|
||
<option value='at-will' data-i18n='at-will'>AT WILL</option>
|
||
<option value='daily-limit' data-i18n='x/day'>X/DAY</option>
|
||
</select>
|
||
</div>
|
||
<div class='row span-all'>
|
||
<span class='label' data-i18n='target'>TARGET</span>
|
||
<input class='scalable-input input-field' type='text' title='@{target}' name='attr_target'>
|
||
<span class='label' data-i18n='rng'>RANGE</span>
|
||
<input class='scalable-input input-field' type='text' title='@{range}' name='attr_range'>
|
||
</div>
|
||
<div class='row span-all'>
|
||
<span class='label' data-i18n='school'>SCHOOL</span>
|
||
<select name='attr_school'>
|
||
<option value='abjuration' data-i18n='abjuration' selected>ABJURATION</option>
|
||
<option value='conjuration' data-i18n='conjuration'>CONJURATION</option>
|
||
<option value='divination' data-i18n='divination'>DIVINATION</option>
|
||
<option value='enchantment' data-i18n='enchantment'>ENCHANTMENT</option>
|
||
<option value='evocation' data-i18n='evocation'>EVOCATION</option>
|
||
<option value='illusion' data-i18n='illusion'>ILLUSION</option>
|
||
<option value='necromancy' data-i18n='necromancy'>NECROMANCY</option>
|
||
<option value='transmutation' data-i18n='transmutation'>TRANSMUTATION</option>
|
||
</select>
|
||
</div>
|
||
<div class='row span-all'>
|
||
<span class='label' data-i18n='traits'>TRAITS</span>
|
||
<input class='scalable-input' type='text' name='attr_traits' value=''>
|
||
</div>
|
||
<input class='type-filter' type='hidden' name='attr_type' value='general-feat'>
|
||
<input type='hidden' title='@{frequency}' name='attr_frequency' class='freq-check'>
|
||
<div class='row span-all'>
|
||
<span class='label abi-cost' data-i18n='usage'>USAGE</span>
|
||
<input class='scalable-input input-field' type='text' title='@{usage}' name='attr_usage'>
|
||
</div>
|
||
<div class='row daily-limit span-all'>
|
||
<input class='' type='number' title='@{uses}' name='attr_uses' value='0'>
|
||
<span class='label'>/</span>
|
||
<div class='scalable-input attr-base-mod-container input-field'>
|
||
<input class='base-attr ability-uses' type='text' title='@{uses_max}' name='attr_uses_max_base' value='10' >
|
||
<input class='mod-buff' type='hidden' name='attr_uses_change' value='0'>
|
||
<span class='input-field modified-attr attr ability-uses' readonly='true' type='text' title='@{uses_max}' name='attr_uses_max' value='10'>10</span>
|
||
</div>
|
||
<span class='label' data-i18n='_-daily-uses'>Daily Uses</span>
|
||
</div>
|
||
<input class='field-tab' type='checkbox' title='@{proficiency_checkbox}' name='attr_proficiency_checkbox' value='1' hidden='true'>
|
||
<label class='expandable'><input class='field-tab atk-tab' type='checkbox' title='@{proficiency_checkbox}' name='attr_proficiency_checkbox' value='1' hidden='true'><span class='field label' data-i18n='proficiencies'>PROFICIENCIES</span></label>
|
||
<input class='field-tab' type='checkbox' title='@{proficiency_checkbox}' name='attr_proficiency_checkbox' value='1' hidden='true'>
|
||
<div class='field-container expandable inherit-grid'>
|
||
<input class='field-tab' type='checkbox' title='@{proficiency_checkbox}' name='attr_proficiency_checkbox' value='1' hidden='true'>
|
||
<div class='field row scalable-input proficiency-container'>
|
||
<select class='span-five' name='attr_proficiency'>
|
||
<option value='-2' data-i18n='untrained'>UNTRAINED</option>
|
||
<option value='0' data-i18n='trained'>TRAINED</option>
|
||
<option value='1' data-i18n='expert'>EXPERT</option>
|
||
<option value='2' data-i18n='master'>MASTER</option>
|
||
<option value='3' data-i18n='legendary'>LEGENDARY</option>
|
||
</select>
|
||
</div>
|
||
</div>
|
||
<input class='field-tab' type='checkbox' title='@{attack_checkbox}' name='attr_attack_checkbox' value='1' hidden='true'>
|
||
<label class='expandable'><input class='field-tab atk-tab' type='checkbox' title='@{attack_checkbox}' name='attr_attack_checkbox' value='1' hidden='true'><span class='field label' data-i18n='atk'>ATK</span></label>
|
||
<input class='field-tab' type='checkbox' title='@{attack_checkbox}' name='attr_attack_checkbox' value='1' hidden='true'>
|
||
<div class='field-container expandable inherit-grid'>
|
||
<input class='field-tab' type='checkbox' title='@{attack_checkbox}' name='attr_attack_checkbox' value='1' hidden='true'>
|
||
<div class='field row span-two'>
|
||
<select class='label atk-ability abi' title='@{attack_ability}' name='attr_attack_ability'>
|
||
<option value='0' selected='selected'>N/A</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>
|
||
<input hidden='true' title='@{attack_ability}' name='attr_attack_ability' value='0'>
|
||
</div>
|
||
</div>
|
||
<input class='field-tab' type='checkbox' title='@{damage_checkbox}' name='attr_damage_checkbox' value='1' hidden='true'>
|
||
<label class='expandable'><input class='field-tab dmg-tab' type='checkbox' title='@{damage_checkbox}' name='attr_damage_checkbox' value='1' hidden='true'><span class='field label' data-i18n='dmg'>DMG</span></label>
|
||
<input class='field-tab' type='checkbox' title='@{damage_checkbox}' name='attr_damage_checkbox' value='1' hidden='true'>
|
||
<div class='field-container expandable inherit-grid'>
|
||
<input class='field-tab' type='checkbox' title='@{damage_checkbox}' name='attr_damage_checkbox' value='1' hidden='true'>
|
||
<input hidden='true' title='@{damage_misc}' name='attr_damage_misc' value=''>
|
||
<div class='field row span-two'>
|
||
<input class='abi-dmg-dice' type='text' name=attr_damage_dice><span>+</span>
|
||
<select class='label atk-ability abi' title='@{damage_ability}' name='attr_damage_ability'>
|
||
<option value='' selected='selected'>N/A</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>
|
||
<input hidden='true' title='@{damage_ability}' name='attr_damage_ability' value='0'>
|
||
</div>
|
||
<div class='field row span-two'>
|
||
<span class='label' data-i18n='type'>TYPE</span>
|
||
<input class='scalable-input input-field' type='text' title='@{attack_type}' name='attr_attack_type'>
|
||
<span class='label' data-i18n='crit-effect'>CRIT EFFECT</span>
|
||
<input class='scalable-input input-field' type='text' title='@{attack_crit}' name='attr_attack_crit'>
|
||
</div>
|
||
</div>
|
||
<input class='field-tab' type='checkbox' title='@{save_checkbox}' name='attr_save_checkbox' value='1' hidden='true'>
|
||
<label class='expandable'><input class='field-tab save-effect-tab' type='checkbox' title='@{save_checkbox}' name='attr_save_checkbox' value='1' hidden='true'><span class='field label' data-i18n='save-effect'>SAVE EFFECT</span></label>
|
||
<input class='field-tab' type='checkbox' title='@{save_checkbox}' name='attr_save_checkbox' value='1' hidden='true'>
|
||
<div class='field-container expandable inherit-grid'>
|
||
<input class='field-tab' type='checkbox' title='@{save_checkbox}' name='attr_save_checkbox' value='1' hidden='true'>
|
||
<div class='field row span-all'>
|
||
<select class='label atk-ability abi' title='@{save_ability}' name='attr_save_ability'>
|
||
<option value='@{strength_mod}' data-i18n='str' selected='selected'>STR</option>
|
||
<option value='@{dexterity_mod}' data-i18n='dex'>DEX</option>
|
||
<option value='@{constitution_mod}' data-i18n='con'>CON</option>
|
||
<option value='@{intelligence_mod}' data-i18n='int'>INT</option>
|
||
<option value='@{wisdom_mod}' data-i18n='wis'>WIS</option>
|
||
<option value='@{charisma_mod}' data-i18n='cha'>CHA</option>
|
||
</select>
|
||
<span class='label' data-i18n='based-dc_'>Based DC </span>
|
||
<input class='mod-buff' type='hidden' name='attr_dc_change' value='0'>
|
||
<span class='modified-attr bab' title='@{dc}' name='attr_dc' value='10'>10</span>
|
||
<select class='label save-type' title='@{save_type}' name='attr_save_type'>
|
||
<option value='' selected='selected'>-</option>
|
||
<option value='FORT' data-i18n='fort-save'>FORT SAVE</option>
|
||
<option value='REF' data-i18n='ref-save'>REF SAVE</option>
|
||
<option value='WILL' data-i18n='will-save'>WILL SAVE</option>
|
||
</select>
|
||
</div>
|
||
<div class='field row span-all'>
|
||
<textarea class='' title='@{effect}' name='attr_effect'></textarea>
|
||
</div>
|
||
<div class='field row span-all'>
|
||
<span class='label' data-i18n='A-Sucessful-Save:'>A Sucessful Save:</span>
|
||
</div>
|
||
<div class='field row span-all'>
|
||
<textarea class='' title='@{save_effect}' name='attr_save_effect'></textarea>
|
||
</div>
|
||
</div>
|
||
<input class='field-tab' type='checkbox' title='@{macro_checkbox}' name='attr_macro_checkbox' value='1' hidden='true'>
|
||
<label class='expandable'><input class='field-tab macro-tab' type='checkbox' title='@{macro_checkbox}' name='attr_macro_checkbox' value='1' hidden='true'><span class='label field' data-i18n='attacher'>ATTACHER</span></label>
|
||
<input class='field-tab' type='checkbox' title='@{macro_checkbox}' name='attr_macro_checkbox' value='1' hidden='true'>
|
||
<div class='row field-container mod-container expandable'>
|
||
<input class='field-tab' type='checkbox' title='@{macro_checkbox}' name='attr_macro_checkbox' value='1' hidden='true'>
|
||
<textarea class='field row scalable-input input-field' type='text' title='@{attacher}' name='attr_attacher'></textarea>
|
||
</div>
|
||
<div class='row span-all'>
|
||
<textarea class='' title='@{description}' name='attr_description'></textarea>
|
||
</div>
|
||
<div class='row span-all'><input readonly=true class='id-label' title='@{id}' name='attr_id'></input>
|
||
</div>
|
||
</div>
|
||
<div class='display'>
|
||
<input type='hidden' title='@{frequency}' name='attr_frequency' class='freq-check'>
|
||
<input class='freq-check at-will daily-limit' type='checkbox' title='@{toggle}' name='attr_toggle' value='1'>
|
||
<div class='button-description'>
|
||
<input class='label' readonly='true' type='text' title='@{name}' name='attr_name'>
|
||
<input class='label force-uppercase' readonly='true' type='text' name='attr_school'>
|
||
<button class='npcsummary' type='roll' title='%{roll}' name='roll_roll' value='@{whisper_state}&{template:spell} {{name=@{character_name}}} {{characterid=@{character_id}}} {{title=@{name}}} {{saveflag=[[1d@{save_checkbox}]]}} {{activation=@{usage}}} {{duration=@{duration}}} {{targets=@{target}}} {{range=@{range}}} {{savedc=@{dc}}} {{savetype=@{save_type}}} {{effect=@{effect}}} {{saveeffect=@{save_effect}}} {{attackflag=[[1d@{attack_checkbox}]]}} {{r1=[[1d20+@{attack_ability}[ABI]+@{character_level}[LEVEL]+@{proficiency}[Prof]]]}} {{damage1=[[@{damage_dice}+@{damage_ability}[ABI]@{damage_misc} ]]}} {{damageflag=[[1d@{damage_checkbox}]]}} {{damage1type=@{attack_type}}} {{notes=@{description}}} @{attacher}'></button>
|
||
<label class='expand-button'><input hidden='true' class='expand-description' type='checkbox' name='attr_expand_description' value='1'><span class='collapsed pictos'>`</span><span class='expanded pictos'>J</span></label>
|
||
</div>
|
||
<input class='expand-description' type='hidden' name='attr_expand_description'>
|
||
<textarea class='description' title='@{description}' name='attr_description'></textarea>
|
||
</div>
|
||
</div>
|
||
</fieldset>
|
||
</div>
|
||
</div>
|
||
<input class='toggle level10' type='checkbox' name='attr_casts_level_8' value='1'>
|
||
<div class='section-container aspell8 class-spells-day'>
|
||
<div class='section'>
|
||
<h1 class='label' data-i18n='8th-level'>8th LEVEL</h1>
|
||
</div>
|
||
<div class='section-container'>
|
||
<div class='button-description'>
|
||
<span class='label' data-i18n='name'>NAME</span>
|
||
<span class='label' data-i18n='school'>SCHOOL</span>
|
||
</div>
|
||
<button class='pseudo-repcontrol pictos' type='action' name='act_create_8th'>&</button>
|
||
<fieldset class='repeating_spell8'><input type='hidden' name='attr_dc' value='10'>
|
||
<input hidden='true' type='text' title='@{attack_total}' name='attr_attack_total'>
|
||
<input hidden='true' type='text' title='@{damage_total}' name='attr_damage_total'>
|
||
<input class='type-filter' type='hidden' name='attr_type' value='general feat'>
|
||
<input class='level-filter' type='hidden' title='@{filter}' name='attr_level' value='1'>
|
||
<div class='filter-container level8 spell'>
|
||
|
||
<input type='text' hidden='true' title='@{attack_misc}' name='attr_attack_misc' value=''>
|
||
<input type='text' hidden='true' title='@{attack_damage_misc}' name='attr_attack_damage_misc' value=''>
|
||
<input type='text' hidden='true' title='@{effect_misc}' name='attr_effect_misc' value=''>
|
||
|
||
<input class="show-options" type="checkbox" title='@{show_options}' name="attr_show_options" checked="checked"><span>y</span>
|
||
<div class='row-options'>
|
||
<div class='row span-all display-margin'>
|
||
<span class='label' data-i18n='name-u'>NAME</span>
|
||
<input class='scalable-input input-field' type='text' title='@{name}' name='attr_name' placeholder="Operative's Edge">
|
||
<span class='type-level' data-i18n='level'>LEVEL</span>
|
||
<input class='type-level bab input-field' type='number' name='attr_level' value='0'>
|
||
</div>
|
||
<div class='row span-all'>
|
||
<select class='freq-select' title='@{type}' name='attr_type'>
|
||
<option value='spell tradition' data-i18n='spell tradition' selected>SPELL TRADITION</option><option value='arcane spell' data-i18n='arcane spell'>ARCANE SPELL</option><option value='divine spell' data-i18n='divine spell'>DIVINE SPELL</option><option value='primal spell' data-i18n='primal spell'>PRIMAL SPELL</option><option value='occult spell' data-i18n='occult spell'>OCCULT SPELL</option>
|
||
</select>
|
||
<span class='label' data-i18n='duration'>DURATION</span>
|
||
<input class='scalable-input input-field' type='text' title='@{duration}' name='attr_duration' value=''>
|
||
<input class='type-filter' type='hidden' name='attr_type' value='general-feat'>
|
||
</div>
|
||
<div class='row' hidden='true'>
|
||
<select class='freq-select' title='@{frequency}' name='attr_frequency'>
|
||
<option value='constant' data-i18n='constant' selected='selected'>CONSTANT</option>
|
||
<option value='at-will' data-i18n='at-will'>AT WILL</option>
|
||
<option value='daily-limit' data-i18n='x/day'>X/DAY</option>
|
||
</select>
|
||
</div>
|
||
<div class='row span-all'>
|
||
<span class='label' data-i18n='target'>TARGET</span>
|
||
<input class='scalable-input input-field' type='text' title='@{target}' name='attr_target'>
|
||
<span class='label' data-i18n='rng'>RANGE</span>
|
||
<input class='scalable-input input-field' type='text' title='@{range}' name='attr_range'>
|
||
</div>
|
||
<div class='row span-all'>
|
||
<span class='label' data-i18n='school'>SCHOOL</span>
|
||
<select name='attr_school'>
|
||
<option value='abjuration' data-i18n='abjuration' selected>ABJURATION</option>
|
||
<option value='conjuration' data-i18n='conjuration'>CONJURATION</option>
|
||
<option value='divination' data-i18n='divination'>DIVINATION</option>
|
||
<option value='enchantment' data-i18n='enchantment'>ENCHANTMENT</option>
|
||
<option value='evocation' data-i18n='evocation'>EVOCATION</option>
|
||
<option value='illusion' data-i18n='illusion'>ILLUSION</option>
|
||
<option value='necromancy' data-i18n='necromancy'>NECROMANCY</option>
|
||
<option value='transmutation' data-i18n='transmutation'>TRANSMUTATION</option>
|
||
</select>
|
||
</div>
|
||
<div class='row span-all'>
|
||
<span class='label' data-i18n='traits'>TRAITS</span>
|
||
<input class='scalable-input' type='text' name='attr_traits' value=''>
|
||
</div>
|
||
<input class='type-filter' type='hidden' name='attr_type' value='general-feat'>
|
||
<input type='hidden' title='@{frequency}' name='attr_frequency' class='freq-check'>
|
||
<div class='row span-all'>
|
||
<span class='label abi-cost' data-i18n='usage'>USAGE</span>
|
||
<input class='scalable-input input-field' type='text' title='@{usage}' name='attr_usage'>
|
||
</div>
|
||
<div class='row daily-limit span-all'>
|
||
<input class='' type='number' title='@{uses}' name='attr_uses' value='0'>
|
||
<span class='label'>/</span>
|
||
<div class='scalable-input attr-base-mod-container input-field'>
|
||
<input class='base-attr ability-uses' type='text' title='@{uses_max}' name='attr_uses_max_base' value='10' >
|
||
<input class='mod-buff' type='hidden' name='attr_uses_change' value='0'>
|
||
<span class='input-field modified-attr attr ability-uses' readonly='true' type='text' title='@{uses_max}' name='attr_uses_max' value='10'>10</span>
|
||
</div>
|
||
<span class='label' data-i18n='_-daily-uses'>Daily Uses</span>
|
||
</div>
|
||
<input class='field-tab' type='checkbox' title='@{proficiency_checkbox}' name='attr_proficiency_checkbox' value='1' hidden='true'>
|
||
<label class='expandable'><input class='field-tab atk-tab' type='checkbox' title='@{proficiency_checkbox}' name='attr_proficiency_checkbox' value='1' hidden='true'><span class='field label' data-i18n='proficiencies'>PROFICIENCIES</span></label>
|
||
<input class='field-tab' type='checkbox' title='@{proficiency_checkbox}' name='attr_proficiency_checkbox' value='1' hidden='true'>
|
||
<div class='field-container expandable inherit-grid'>
|
||
<input class='field-tab' type='checkbox' title='@{proficiency_checkbox}' name='attr_proficiency_checkbox' value='1' hidden='true'>
|
||
<div class='field row scalable-input proficiency-container'>
|
||
<select class='span-five' name='attr_proficiency'>
|
||
<option value='-2' data-i18n='untrained'>UNTRAINED</option>
|
||
<option value='0' data-i18n='trained'>TRAINED</option>
|
||
<option value='1' data-i18n='expert'>EXPERT</option>
|
||
<option value='2' data-i18n='master'>MASTER</option>
|
||
<option value='3' data-i18n='legendary'>LEGENDARY</option>
|
||
</select>
|
||
</div>
|
||
</div>
|
||
<input class='field-tab' type='checkbox' title='@{attack_checkbox}' name='attr_attack_checkbox' value='1' hidden='true'>
|
||
<label class='expandable'><input class='field-tab atk-tab' type='checkbox' title='@{attack_checkbox}' name='attr_attack_checkbox' value='1' hidden='true'><span class='field label' data-i18n='atk'>ATK</span></label>
|
||
<input class='field-tab' type='checkbox' title='@{attack_checkbox}' name='attr_attack_checkbox' value='1' hidden='true'>
|
||
<div class='field-container expandable inherit-grid'>
|
||
<input class='field-tab' type='checkbox' title='@{attack_checkbox}' name='attr_attack_checkbox' value='1' hidden='true'>
|
||
<div class='field row span-two'>
|
||
<select class='label atk-ability abi' title='@{attack_ability}' name='attr_attack_ability'>
|
||
<option value='0' selected='selected'>N/A</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>
|
||
<input hidden='true' title='@{attack_ability}' name='attr_attack_ability' value='0'>
|
||
</div>
|
||
</div>
|
||
<input class='field-tab' type='checkbox' title='@{damage_checkbox}' name='attr_damage_checkbox' value='1' hidden='true'>
|
||
<label class='expandable'><input class='field-tab dmg-tab' type='checkbox' title='@{damage_checkbox}' name='attr_damage_checkbox' value='1' hidden='true'><span class='field label' data-i18n='dmg'>DMG</span></label>
|
||
<input class='field-tab' type='checkbox' title='@{damage_checkbox}' name='attr_damage_checkbox' value='1' hidden='true'>
|
||
<div class='field-container expandable inherit-grid'>
|
||
<input class='field-tab' type='checkbox' title='@{damage_checkbox}' name='attr_damage_checkbox' value='1' hidden='true'>
|
||
<input hidden='true' title='@{damage_misc}' name='attr_damage_misc' value=''>
|
||
<div class='field row span-two'>
|
||
<input class='abi-dmg-dice' type='text' name=attr_damage_dice><span>+</span>
|
||
<select class='label atk-ability abi' title='@{damage_ability}' name='attr_damage_ability'>
|
||
<option value='' selected='selected'>N/A</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>
|
||
<input hidden='true' title='@{damage_ability}' name='attr_damage_ability' value='0'>
|
||
</div>
|
||
<div class='field row span-two'>
|
||
<span class='label' data-i18n='type'>TYPE</span>
|
||
<input class='scalable-input input-field' type='text' title='@{attack_type}' name='attr_attack_type'>
|
||
<span class='label' data-i18n='crit-effect'>CRIT EFFECT</span>
|
||
<input class='scalable-input input-field' type='text' title='@{attack_crit}' name='attr_attack_crit'>
|
||
</div>
|
||
</div>
|
||
<input class='field-tab' type='checkbox' title='@{save_checkbox}' name='attr_save_checkbox' value='1' hidden='true'>
|
||
<label class='expandable'><input class='field-tab save-effect-tab' type='checkbox' title='@{save_checkbox}' name='attr_save_checkbox' value='1' hidden='true'><span class='field label' data-i18n='save-effect'>SAVE EFFECT</span></label>
|
||
<input class='field-tab' type='checkbox' title='@{save_checkbox}' name='attr_save_checkbox' value='1' hidden='true'>
|
||
<div class='field-container expandable inherit-grid'>
|
||
<input class='field-tab' type='checkbox' title='@{save_checkbox}' name='attr_save_checkbox' value='1' hidden='true'>
|
||
<div class='field row span-all'>
|
||
<select class='label atk-ability abi' title='@{save_ability}' name='attr_save_ability'>
|
||
<option value='@{strength_mod}' data-i18n='str' selected='selected'>STR</option>
|
||
<option value='@{dexterity_mod}' data-i18n='dex'>DEX</option>
|
||
<option value='@{constitution_mod}' data-i18n='con'>CON</option>
|
||
<option value='@{intelligence_mod}' data-i18n='int'>INT</option>
|
||
<option value='@{wisdom_mod}' data-i18n='wis'>WIS</option>
|
||
<option value='@{charisma_mod}' data-i18n='cha'>CHA</option>
|
||
</select>
|
||
<span class='label' data-i18n='based-dc_'>Based DC </span>
|
||
<input class='mod-buff' type='hidden' name='attr_dc_change' value='0'>
|
||
<span class='modified-attr bab' title='@{dc}' name='attr_dc' value='10'>10</span>
|
||
<select class='label save-type' title='@{save_type}' name='attr_save_type'>
|
||
<option value='' selected='selected'>-</option>
|
||
<option value='FORT' data-i18n='fort-save'>FORT SAVE</option>
|
||
<option value='REF' data-i18n='ref-save'>REF SAVE</option>
|
||
<option value='WILL' data-i18n='will-save'>WILL SAVE</option>
|
||
</select>
|
||
</div>
|
||
<div class='field row span-all'>
|
||
<textarea class='' title='@{effect}' name='attr_effect'></textarea>
|
||
</div>
|
||
<div class='field row span-all'>
|
||
<span class='label' data-i18n='A-Sucessful-Save:'>A Sucessful Save:</span>
|
||
</div>
|
||
<div class='field row span-all'>
|
||
<textarea class='' title='@{save_effect}' name='attr_save_effect'></textarea>
|
||
</div>
|
||
</div>
|
||
<input class='field-tab' type='checkbox' title='@{macro_checkbox}' name='attr_macro_checkbox' value='1' hidden='true'>
|
||
<label class='expandable'><input class='field-tab macro-tab' type='checkbox' title='@{macro_checkbox}' name='attr_macro_checkbox' value='1' hidden='true'><span class='label field' data-i18n='attacher'>ATTACHER</span></label>
|
||
<input class='field-tab' type='checkbox' title='@{macro_checkbox}' name='attr_macro_checkbox' value='1' hidden='true'>
|
||
<div class='row field-container mod-container expandable'>
|
||
<input class='field-tab' type='checkbox' title='@{macro_checkbox}' name='attr_macro_checkbox' value='1' hidden='true'>
|
||
<textarea class='field row scalable-input input-field' type='text' title='@{attacher}' name='attr_attacher'></textarea>
|
||
</div>
|
||
<div class='row span-all'>
|
||
<textarea class='' title='@{description}' name='attr_description'></textarea>
|
||
</div>
|
||
<div class='row span-all'><input readonly=true class='id-label' title='@{id}' name='attr_id'></input>
|
||
</div>
|
||
</div>
|
||
<div class='display'>
|
||
<input type='hidden' title='@{frequency}' name='attr_frequency' class='freq-check'>
|
||
<input class='freq-check at-will daily-limit' type='checkbox' title='@{toggle}' name='attr_toggle' value='1'>
|
||
<div class='button-description'>
|
||
<input class='label' readonly='true' type='text' title='@{name}' name='attr_name'>
|
||
<input class='label force-uppercase' readonly='true' type='text' name='attr_school'>
|
||
<button class='npcsummary' type='roll' title='%{roll}' name='roll_roll' value='@{whisper_state}&{template:spell} {{name=@{character_name}}} {{characterid=@{character_id}}} {{title=@{name}}} {{saveflag=[[1d@{save_checkbox}]]}} {{activation=@{usage}}} {{duration=@{duration}}} {{targets=@{target}}} {{range=@{range}}} {{savedc=@{dc}}} {{savetype=@{save_type}}} {{effect=@{effect}}} {{saveeffect=@{save_effect}}} {{attackflag=[[1d@{attack_checkbox}]]}} {{r1=[[1d20+@{attack_ability}[ABI]+@{character_level}[LEVEL]+@{proficiency}[Prof]]]}} {{damage1=[[@{damage_dice}+@{damage_ability}[ABI]@{damage_misc} ]]}} {{damageflag=[[1d@{damage_checkbox}]]}} {{damage1type=@{attack_type}}} {{notes=@{description}}} @{attacher}'></button>
|
||
<label class='expand-button'><input hidden='true' class='expand-description' type='checkbox' name='attr_expand_description' value='1'><span class='collapsed pictos'>`</span><span class='expanded pictos'>J</span></label>
|
||
</div>
|
||
<input class='expand-description' type='hidden' name='attr_expand_description'>
|
||
<textarea class='description' title='@{description}' name='attr_description'></textarea>
|
||
</div>
|
||
</div>
|
||
</fieldset>
|
||
</div>
|
||
</div>
|
||
<input class='toggle level10' type='checkbox' name='attr_casts_level_10' value='1'>
|
||
<div class='section-container aspell8 class-spells-day'>
|
||
<div class='section'>
|
||
<h1 class='label' data-i18n='10th-level'>10th LEVEL</h1>
|
||
</div>
|
||
<div class='section-container'>
|
||
<div class='button-description'>
|
||
<span class='label' data-i18n='name'>NAME</span>
|
||
<span class='label' data-i18n='school'>SCHOOL</span>
|
||
</div>
|
||
<button class='pseudo-repcontrol pictos' type='action' name='act_create_10th'>&</button>
|
||
<fieldset class='repeating_spell10'><input type='hidden' name='attr_dc' value='10'>
|
||
<input hidden='true' type='text' title='@{attack_total}' name='attr_attack_total'>
|
||
<input hidden='true' type='text' title='@{damage_total}' name='attr_damage_total'>
|
||
<input class='type-filter' type='hidden' name='attr_type' value='general feat'>
|
||
<input class='level-filter' type='hidden' title='@{filter}' name='attr_level' value='1'>
|
||
<div class='filter-container level10 spell'>
|
||
|
||
<input type='text' hidden='true' title='@{attack_misc}' name='attr_attack_misc' value=''>
|
||
<input type='text' hidden='true' title='@{attack_damage_misc}' name='attr_attack_damage_misc' value=''>
|
||
<input type='text' hidden='true' title='@{effect_misc}' name='attr_effect_misc' value=''>
|
||
|
||
<input class="show-options" type="checkbox" title='@{show_options}' name="attr_show_options" checked="checked"><span>y</span>
|
||
<div class='row-options'>
|
||
<div class='row span-all display-margin'>
|
||
<span class='label' data-i18n='name-u'>NAME</span>
|
||
<input class='scalable-input input-field' type='text' title='@{name}' name='attr_name' placeholder="Operative's Edge">
|
||
<span class='type-level' data-i18n='level'>LEVEL</span>
|
||
<input class='type-level bab input-field' type='number' name='attr_level' value='0'>
|
||
</div>
|
||
<div class='row span-all'>
|
||
<select class='freq-select' title='@{type}' name='attr_type'>
|
||
<option value='spell tradition' data-i18n='spell tradition' selected>SPELL TRADITION</option><option value='arcane spell' data-i18n='arcane spell'>ARCANE SPELL</option><option value='divine spell' data-i18n='divine spell'>DIVINE SPELL</option><option value='primal spell' data-i18n='primal spell'>PRIMAL SPELL</option><option value='occult spell' data-i18n='occult spell'>OCCULT SPELL</option>
|
||
</select>
|
||
<span class='label' data-i18n='duration'>DURATION</span>
|
||
<input class='scalable-input input-field' type='text' title='@{duration}' name='attr_duration' value=''>
|
||
<input class='type-filter' type='hidden' name='attr_type' value='general-feat'>
|
||
</div>
|
||
<div class='row' hidden='true'>
|
||
<select class='freq-select' title='@{frequency}' name='attr_frequency'>
|
||
<option value='constant' data-i18n='constant' selected='selected'>CONSTANT</option>
|
||
<option value='at-will' data-i18n='at-will'>AT WILL</option>
|
||
<option value='daily-limit' data-i18n='x/day'>X/DAY</option>
|
||
</select>
|
||
</div>
|
||
<div class='row span-all'>
|
||
<span class='label' data-i18n='target'>TARGET</span>
|
||
<input class='scalable-input input-field' type='text' title='@{target}' name='attr_target'>
|
||
<span class='label' data-i18n='rng'>RANGE</span>
|
||
<input class='scalable-input input-field' type='text' title='@{range}' name='attr_range'>
|
||
</div>
|
||
<div class='row span-all'>
|
||
<span class='label' data-i18n='school'>SCHOOL</span>
|
||
<select name='attr_school'>
|
||
<option value='abjuration' data-i18n='abjuration' selected>ABJURATION</option>
|
||
<option value='conjuration' data-i18n='conjuration'>CONJURATION</option>
|
||
<option value='divination' data-i18n='divination'>DIVINATION</option>
|
||
<option value='enchantment' data-i18n='enchantment'>ENCHANTMENT</option>
|
||
<option value='evocation' data-i18n='evocation'>EVOCATION</option>
|
||
<option value='illusion' data-i18n='illusion'>ILLUSION</option>
|
||
<option value='necromancy' data-i18n='necromancy'>NECROMANCY</option>
|
||
<option value='transmutation' data-i18n='transmutation'>TRANSMUTATION</option>
|
||
</select>
|
||
</div>
|
||
<div class='row span-all'>
|
||
<span class='label' data-i18n='traits'>TRAITS</span>
|
||
<input class='scalable-input' type='text' name='attr_traits' value=''>
|
||
</div>
|
||
<input class='type-filter' type='hidden' name='attr_type' value='general-feat'>
|
||
<input type='hidden' title='@{frequency}' name='attr_frequency' class='freq-check'>
|
||
<div class='row span-all'>
|
||
<span class='label abi-cost' data-i18n='usage'>USAGE</span>
|
||
<input class='scalable-input input-field' type='text' title='@{usage}' name='attr_usage'>
|
||
</div>
|
||
<div class='row daily-limit span-all'>
|
||
<input class='' type='number' title='@{uses}' name='attr_uses' value='0'>
|
||
<span class='label'>/</span>
|
||
<div class='scalable-input attr-base-mod-container input-field'>
|
||
<input class='base-attr ability-uses' type='text' title='@{uses_max}' name='attr_uses_max_base' value='10' >
|
||
<input class='mod-buff' type='hidden' name='attr_uses_change' value='0'>
|
||
<span class='input-field modified-attr attr ability-uses' readonly='true' type='text' title='@{uses_max}' name='attr_uses_max' value='10'>10</span>
|
||
</div>
|
||
<span class='label' data-i18n='_-daily-uses'>Daily Uses</span>
|
||
</div>
|
||
<input class='field-tab' type='checkbox' title='@{proficiency_checkbox}' name='attr_proficiency_checkbox' value='1' hidden='true'>
|
||
<label class='expandable'><input class='field-tab atk-tab' type='checkbox' title='@{proficiency_checkbox}' name='attr_proficiency_checkbox' value='1' hidden='true'><span class='field label' data-i18n='proficiencies'>PROFICIENCIES</span></label>
|
||
<input class='field-tab' type='checkbox' title='@{proficiency_checkbox}' name='attr_proficiency_checkbox' value='1' hidden='true'>
|
||
<div class='field-container expandable inherit-grid'>
|
||
<input class='field-tab' type='checkbox' title='@{proficiency_checkbox}' name='attr_proficiency_checkbox' value='1' hidden='true'>
|
||
<div class='field row scalable-input proficiency-container'>
|
||
<select class='span-five' name='attr_proficiency'>
|
||
<option value='-2' data-i18n='untrained'>UNTRAINED</option>
|
||
<option value='0' data-i18n='trained'>TRAINED</option>
|
||
<option value='1' data-i18n='expert'>EXPERT</option>
|
||
<option value='2' data-i18n='master'>MASTER</option>
|
||
<option value='3' data-i18n='legendary'>LEGENDARY</option>
|
||
</select>
|
||
</div>
|
||
</div>
|
||
<input class='field-tab' type='checkbox' title='@{attack_checkbox}' name='attr_attack_checkbox' value='1' hidden='true'>
|
||
<label class='expandable'><input class='field-tab atk-tab' type='checkbox' title='@{attack_checkbox}' name='attr_attack_checkbox' value='1' hidden='true'><span class='field label' data-i18n='atk'>ATK</span></label>
|
||
<input class='field-tab' type='checkbox' title='@{attack_checkbox}' name='attr_attack_checkbox' value='1' hidden='true'>
|
||
<div class='field-container expandable inherit-grid'>
|
||
<input class='field-tab' type='checkbox' title='@{attack_checkbox}' name='attr_attack_checkbox' value='1' hidden='true'>
|
||
<div class='field row span-two'>
|
||
<select class='label atk-ability abi' title='@{attack_ability}' name='attr_attack_ability'>
|
||
<option value='0' selected='selected'>N/A</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>
|
||
<input hidden='true' title='@{attack_ability}' name='attr_attack_ability' value='0'>
|
||
</div>
|
||
</div>
|
||
<input class='field-tab' type='checkbox' title='@{damage_checkbox}' name='attr_damage_checkbox' value='1' hidden='true'>
|
||
<label class='expandable'><input class='field-tab dmg-tab' type='checkbox' title='@{damage_checkbox}' name='attr_damage_checkbox' value='1' hidden='true'><span class='field label' data-i18n='dmg'>DMG</span></label>
|
||
<input class='field-tab' type='checkbox' title='@{damage_checkbox}' name='attr_damage_checkbox' value='1' hidden='true'>
|
||
<div class='field-container expandable inherit-grid'>
|
||
<input class='field-tab' type='checkbox' title='@{damage_checkbox}' name='attr_damage_checkbox' value='1' hidden='true'>
|
||
<input hidden='true' title='@{damage_misc}' name='attr_damage_misc' value=''>
|
||
<div class='field row span-two'>
|
||
<input class='abi-dmg-dice' type='text' name=attr_damage_dice><span>+</span>
|
||
<select class='label atk-ability abi' title='@{damage_ability}' name='attr_damage_ability'>
|
||
<option value='' selected='selected'>N/A</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>
|
||
<input hidden='true' title='@{damage_ability}' name='attr_damage_ability' value='0'>
|
||
</div>
|
||
<div class='field row span-two'>
|
||
<span class='label' data-i18n='type'>TYPE</span>
|
||
<input class='scalable-input input-field' type='text' title='@{attack_type}' name='attr_attack_type'>
|
||
<span class='label' data-i18n='crit-effect'>CRIT EFFECT</span>
|
||
<input class='scalable-input input-field' type='text' title='@{attack_crit}' name='attr_attack_crit'>
|
||
</div>
|
||
</div>
|
||
<input class='field-tab' type='checkbox' title='@{save_checkbox}' name='attr_save_checkbox' value='1' hidden='true'>
|
||
<label class='expandable'><input class='field-tab save-effect-tab' type='checkbox' title='@{save_checkbox}' name='attr_save_checkbox' value='1' hidden='true'><span class='field label' data-i18n='save-effect'>SAVE EFFECT</span></label>
|
||
<input class='field-tab' type='checkbox' title='@{save_checkbox}' name='attr_save_checkbox' value='1' hidden='true'>
|
||
<div class='field-container expandable inherit-grid'>
|
||
<input class='field-tab' type='checkbox' title='@{save_checkbox}' name='attr_save_checkbox' value='1' hidden='true'>
|
||
<div class='field row span-all'>
|
||
<select class='label atk-ability abi' title='@{save_ability}' name='attr_save_ability'>
|
||
<option value='@{strength_mod}' data-i18n='str' selected='selected'>STR</option>
|
||
<option value='@{dexterity_mod}' data-i18n='dex'>DEX</option>
|
||
<option value='@{constitution_mod}' data-i18n='con'>CON</option>
|
||
<option value='@{intelligence_mod}' data-i18n='int'>INT</option>
|
||
<option value='@{wisdom_mod}' data-i18n='wis'>WIS</option>
|
||
<option value='@{charisma_mod}' data-i18n='cha'>CHA</option>
|
||
</select>
|
||
<span class='label' data-i18n='based-dc_'>Based DC </span>
|
||
<input class='mod-buff' type='hidden' name='attr_dc_change' value='0'>
|
||
<span class='modified-attr bab' title='@{dc}' name='attr_dc' value='10'>10</span>
|
||
<select class='label save-type' title='@{save_type}' name='attr_save_type'>
|
||
<option value='' selected='selected'>-</option>
|
||
<option value='FORT' data-i18n='fort-save'>FORT SAVE</option>
|
||
<option value='REF' data-i18n='ref-save'>REF SAVE</option>
|
||
<option value='WILL' data-i18n='will-save'>WILL SAVE</option>
|
||
</select>
|
||
</div>
|
||
<div class='field row span-all'>
|
||
<textarea class='' title='@{effect}' name='attr_effect'></textarea>
|
||
</div>
|
||
<div class='field row span-all'>
|
||
<span class='label' data-i18n='A-Sucessful-Save:'>A Sucessful Save:</span>
|
||
</div>
|
||
<div class='field row span-all'>
|
||
<textarea class='' title='@{save_effect}' name='attr_save_effect'></textarea>
|
||
</div>
|
||
</div>
|
||
<input class='field-tab' type='checkbox' title='@{macro_checkbox}' name='attr_macro_checkbox' value='1' hidden='true'>
|
||
<label class='expandable'><input class='field-tab macro-tab' type='checkbox' title='@{macro_checkbox}' name='attr_macro_checkbox' value='1' hidden='true'><span class='label field' data-i18n='attacher'>ATTACHER</span></label>
|
||
<input class='field-tab' type='checkbox' title='@{macro_checkbox}' name='attr_macro_checkbox' value='1' hidden='true'>
|
||
<div class='row field-container mod-container expandable'>
|
||
<input class='field-tab' type='checkbox' title='@{macro_checkbox}' name='attr_macro_checkbox' value='1' hidden='true'>
|
||
<textarea class='field row scalable-input input-field' type='text' title='@{attacher}' name='attr_attacher'></textarea>
|
||
</div>
|
||
<div class='row span-all'>
|
||
<textarea class='' title='@{description}' name='attr_description'></textarea>
|
||
</div>
|
||
<div class='row span-all'><input readonly=true class='id-label' title='@{id}' name='attr_id'></input>
|
||
</div>
|
||
</div>
|
||
<div class='display'>
|
||
<input type='hidden' title='@{frequency}' name='attr_frequency' class='freq-check'>
|
||
<input class='freq-check at-will daily-limit' type='checkbox' title='@{toggle}' name='attr_toggle' value='1'>
|
||
<div class='button-description'>
|
||
<input class='label' readonly='true' type='text' title='@{name}' name='attr_name'>
|
||
<input class='label force-uppercase' readonly='true' type='text' name='attr_school'>
|
||
<button class='npcsummary' type='roll' title='%{roll}' name='roll_roll' value='@{whisper_state}&{template:spell} {{name=@{character_name}}} {{characterid=@{character_id}}} {{title=@{name}}} {{saveflag=[[1d@{save_checkbox}]]}} {{activation=@{usage}}} {{duration=@{duration}}} {{targets=@{target}}} {{range=@{range}}} {{savedc=@{dc}}} {{savetype=@{save_type}}} {{effect=@{effect}}} {{saveeffect=@{save_effect}}} {{attackflag=[[1d@{attack_checkbox}]]}} {{r1=[[1d20+@{attack_ability}[ABI]+@{character_level}[LEVEL]+@{proficiency}[Prof]]]}} {{damage1=[[@{damage_dice}+@{damage_ability}[ABI]@{damage_misc} ]]}} {{damageflag=[[1d@{damage_checkbox}]]}} {{damage1type=@{attack_type}}} {{notes=@{description}}} @{attacher}'></button>
|
||
<label class='expand-button'><input hidden='true' class='expand-description' type='checkbox' name='attr_expand_description' value='1'><span class='collapsed pictos'>`</span><span class='expanded pictos'>J</span></label>
|
||
</div>
|
||
<input class='expand-description' type='hidden' name='attr_expand_description'>
|
||
<textarea class='description' title='@{description}' name='attr_description'></textarea>
|
||
</div>
|
||
</div>
|
||
</fieldset>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class='spell-column'>
|
||
<input class='toggle level10' type='checkbox' name='attr_casts_level_1' value='1'>
|
||
<div class='section-container aspell1 class-spells-day'>
|
||
<div class='section'>
|
||
<h1 class='label' data-i18n='1st-level'>1st LEVEL</h1>
|
||
</div>
|
||
<div class='section-container'>
|
||
<div class='button-description'>
|
||
<span class='label' data-i18n='name'>NAME</span>
|
||
<span class='label' data-i18n='school'>SCHOOL</span>
|
||
</div>
|
||
<button class='pseudo-repcontrol pictos' type='action' name='act_create_1st'>&</button>
|
||
<fieldset class='repeating_spell1'><input type='hidden' name='attr_dc' value='10'>
|
||
<input hidden='true' type='text' title='@{attack_total}' name='attr_attack_total'>
|
||
<input hidden='true' type='text' title='@{damage_total}' name='attr_damage_total'>
|
||
<input class='type-filter' type='hidden' name='attr_type' value='general feat'>
|
||
<input class='level-filter' type='hidden' title='@{filter}' name='attr_level' value='1'>
|
||
<div class='filter-container level1 spell'>
|
||
|
||
<input type='text' hidden='true' title='@{attack_misc}' name='attr_attack_misc' value=''>
|
||
<input type='text' hidden='true' title='@{attack_damage_misc}' name='attr_attack_damage_misc' value=''>
|
||
<input type='text' hidden='true' title='@{effect_misc}' name='attr_effect_misc' value=''>
|
||
|
||
<input class="show-options" type="checkbox" title='@{show_options}' name="attr_show_options" checked="checked"><span>y</span>
|
||
<div class='row-options'>
|
||
<div class='row span-all display-margin'>
|
||
<span class='label' data-i18n='name-u'>NAME</span>
|
||
<input class='scalable-input input-field' type='text' title='@{name}' name='attr_name' placeholder="Operative's Edge">
|
||
<span class='type-level' data-i18n='level'>LEVEL</span>
|
||
<input class='type-level bab input-field' type='number' name='attr_level' value='0'>
|
||
</div>
|
||
<div class='row span-all'>
|
||
<select class='freq-select' title='@{type}' name='attr_type'>
|
||
<option value='spell tradition' data-i18n='spell tradition' selected>SPELL TRADITION</option><option value='arcane spell' data-i18n='arcane spell'>ARCANE SPELL</option><option value='divine spell' data-i18n='divine spell'>DIVINE SPELL</option><option value='primal spell' data-i18n='primal spell'>PRIMAL SPELL</option><option value='occult spell' data-i18n='occult spell'>OCCULT SPELL</option>
|
||
</select>
|
||
<span class='label' data-i18n='duration'>DURATION</span>
|
||
<input class='scalable-input input-field' type='text' title='@{duration}' name='attr_duration' value=''>
|
||
<input class='type-filter' type='hidden' name='attr_type' value='general-feat'>
|
||
</div>
|
||
<div class='row' hidden='true'>
|
||
<select class='freq-select' title='@{frequency}' name='attr_frequency'>
|
||
<option value='constant' data-i18n='constant' selected='selected'>CONSTANT</option>
|
||
<option value='at-will' data-i18n='at-will'>AT WILL</option>
|
||
<option value='daily-limit' data-i18n='x/day'>X/DAY</option>
|
||
</select>
|
||
</div>
|
||
<div class='row span-all'>
|
||
<span class='label' data-i18n='target'>TARGET</span>
|
||
<input class='scalable-input input-field' type='text' title='@{target}' name='attr_target'>
|
||
<span class='label' data-i18n='rng'>RANGE</span>
|
||
<input class='scalable-input input-field' type='text' title='@{range}' name='attr_range'>
|
||
</div>
|
||
<div class='row span-all'>
|
||
<span class='label' data-i18n='school'>SCHOOL</span>
|
||
<select name='attr_school'>
|
||
<option value='abjuration' data-i18n='abjuration' selected>ABJURATION</option>
|
||
<option value='conjuration' data-i18n='conjuration'>CONJURATION</option>
|
||
<option value='divination' data-i18n='divination'>DIVINATION</option>
|
||
<option value='enchantment' data-i18n='enchantment'>ENCHANTMENT</option>
|
||
<option value='evocation' data-i18n='evocation'>EVOCATION</option>
|
||
<option value='illusion' data-i18n='illusion'>ILLUSION</option>
|
||
<option value='necromancy' data-i18n='necromancy'>NECROMANCY</option>
|
||
<option value='transmutation' data-i18n='transmutation'>TRANSMUTATION</option>
|
||
</select>
|
||
</div>
|
||
<div class='row span-all'>
|
||
<span class='label' data-i18n='traits'>TRAITS</span>
|
||
<input class='scalable-input' type='text' name='attr_traits' value=''>
|
||
</div>
|
||
<input class='type-filter' type='hidden' name='attr_type' value='general-feat'>
|
||
<input type='hidden' title='@{frequency}' name='attr_frequency' class='freq-check'>
|
||
<div class='row span-all'>
|
||
<span class='label abi-cost' data-i18n='usage'>USAGE</span>
|
||
<input class='scalable-input input-field' type='text' title='@{usage}' name='attr_usage'>
|
||
</div>
|
||
<div class='row daily-limit span-all'>
|
||
<input class='' type='number' title='@{uses}' name='attr_uses' value='0'>
|
||
<span class='label'>/</span>
|
||
<div class='scalable-input attr-base-mod-container input-field'>
|
||
<input class='base-attr ability-uses' type='text' title='@{uses_max}' name='attr_uses_max_base' value='10' >
|
||
<input class='mod-buff' type='hidden' name='attr_uses_change' value='0'>
|
||
<span class='input-field modified-attr attr ability-uses' readonly='true' type='text' title='@{uses_max}' name='attr_uses_max' value='10'>10</span>
|
||
</div>
|
||
<span class='label' data-i18n='_-daily-uses'>Daily Uses</span>
|
||
</div>
|
||
<input class='field-tab' type='checkbox' title='@{proficiency_checkbox}' name='attr_proficiency_checkbox' value='1' hidden='true'>
|
||
<label class='expandable'><input class='field-tab atk-tab' type='checkbox' title='@{proficiency_checkbox}' name='attr_proficiency_checkbox' value='1' hidden='true'><span class='field label' data-i18n='proficiencies'>PROFICIENCIES</span></label>
|
||
<input class='field-tab' type='checkbox' title='@{proficiency_checkbox}' name='attr_proficiency_checkbox' value='1' hidden='true'>
|
||
<div class='field-container expandable inherit-grid'>
|
||
<input class='field-tab' type='checkbox' title='@{proficiency_checkbox}' name='attr_proficiency_checkbox' value='1' hidden='true'>
|
||
<div class='field row scalable-input proficiency-container'>
|
||
<select class='span-five' name='attr_proficiency'>
|
||
<option value='-2' data-i18n='untrained'>UNTRAINED</option>
|
||
<option value='0' data-i18n='trained'>TRAINED</option>
|
||
<option value='1' data-i18n='expert'>EXPERT</option>
|
||
<option value='2' data-i18n='master'>MASTER</option>
|
||
<option value='3' data-i18n='legendary'>LEGENDARY</option>
|
||
</select>
|
||
</div>
|
||
</div>
|
||
<input class='field-tab' type='checkbox' title='@{attack_checkbox}' name='attr_attack_checkbox' value='1' hidden='true'>
|
||
<label class='expandable'><input class='field-tab atk-tab' type='checkbox' title='@{attack_checkbox}' name='attr_attack_checkbox' value='1' hidden='true'><span class='field label' data-i18n='atk'>ATK</span></label>
|
||
<input class='field-tab' type='checkbox' title='@{attack_checkbox}' name='attr_attack_checkbox' value='1' hidden='true'>
|
||
<div class='field-container expandable inherit-grid'>
|
||
<input class='field-tab' type='checkbox' title='@{attack_checkbox}' name='attr_attack_checkbox' value='1' hidden='true'>
|
||
<div class='field row span-two'>
|
||
<select class='label atk-ability abi' title='@{attack_ability}' name='attr_attack_ability'>
|
||
<option value='0' selected='selected'>N/A</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>
|
||
<input hidden='true' title='@{attack_ability}' name='attr_attack_ability' value='0'>
|
||
</div>
|
||
</div>
|
||
<input class='field-tab' type='checkbox' title='@{damage_checkbox}' name='attr_damage_checkbox' value='1' hidden='true'>
|
||
<label class='expandable'><input class='field-tab dmg-tab' type='checkbox' title='@{damage_checkbox}' name='attr_damage_checkbox' value='1' hidden='true'><span class='field label' data-i18n='dmg'>DMG</span></label>
|
||
<input class='field-tab' type='checkbox' title='@{damage_checkbox}' name='attr_damage_checkbox' value='1' hidden='true'>
|
||
<div class='field-container expandable inherit-grid'>
|
||
<input class='field-tab' type='checkbox' title='@{damage_checkbox}' name='attr_damage_checkbox' value='1' hidden='true'>
|
||
<input hidden='true' title='@{damage_misc}' name='attr_damage_misc' value=''>
|
||
<div class='field row span-two'>
|
||
<input class='abi-dmg-dice' type='text' name=attr_damage_dice><span>+</span>
|
||
<select class='label atk-ability abi' title='@{damage_ability}' name='attr_damage_ability'>
|
||
<option value='' selected='selected'>N/A</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>
|
||
<input hidden='true' title='@{damage_ability}' name='attr_damage_ability' value='0'>
|
||
</div>
|
||
<div class='field row span-two'>
|
||
<span class='label' data-i18n='type'>TYPE</span>
|
||
<input class='scalable-input input-field' type='text' title='@{attack_type}' name='attr_attack_type'>
|
||
<span class='label' data-i18n='crit-effect'>CRIT EFFECT</span>
|
||
<input class='scalable-input input-field' type='text' title='@{attack_crit}' name='attr_attack_crit'>
|
||
</div>
|
||
</div>
|
||
<input class='field-tab' type='checkbox' title='@{save_checkbox}' name='attr_save_checkbox' value='1' hidden='true'>
|
||
<label class='expandable'><input class='field-tab save-effect-tab' type='checkbox' title='@{save_checkbox}' name='attr_save_checkbox' value='1' hidden='true'><span class='field label' data-i18n='save-effect'>SAVE EFFECT</span></label>
|
||
<input class='field-tab' type='checkbox' title='@{save_checkbox}' name='attr_save_checkbox' value='1' hidden='true'>
|
||
<div class='field-container expandable inherit-grid'>
|
||
<input class='field-tab' type='checkbox' title='@{save_checkbox}' name='attr_save_checkbox' value='1' hidden='true'>
|
||
<div class='field row span-all'>
|
||
<select class='label atk-ability abi' title='@{save_ability}' name='attr_save_ability'>
|
||
<option value='@{strength_mod}' data-i18n='str' selected='selected'>STR</option>
|
||
<option value='@{dexterity_mod}' data-i18n='dex'>DEX</option>
|
||
<option value='@{constitution_mod}' data-i18n='con'>CON</option>
|
||
<option value='@{intelligence_mod}' data-i18n='int'>INT</option>
|
||
<option value='@{wisdom_mod}' data-i18n='wis'>WIS</option>
|
||
<option value='@{charisma_mod}' data-i18n='cha'>CHA</option>
|
||
</select>
|
||
<span class='label' data-i18n='based-dc_'>Based DC </span>
|
||
<input class='mod-buff' type='hidden' name='attr_dc_change' value='0'>
|
||
<span class='modified-attr bab' title='@{dc}' name='attr_dc' value='10'>10</span>
|
||
<select class='label save-type' title='@{save_type}' name='attr_save_type'>
|
||
<option value='' selected='selected'>-</option>
|
||
<option value='FORT' data-i18n='fort-save'>FORT SAVE</option>
|
||
<option value='REF' data-i18n='ref-save'>REF SAVE</option>
|
||
<option value='WILL' data-i18n='will-save'>WILL SAVE</option>
|
||
</select>
|
||
</div>
|
||
<div class='field row span-all'>
|
||
<textarea class='' title='@{effect}' name='attr_effect'></textarea>
|
||
</div>
|
||
<div class='field row span-all'>
|
||
<span class='label' data-i18n='A-Sucessful-Save:'>A Sucessful Save:</span>
|
||
</div>
|
||
<div class='field row span-all'>
|
||
<textarea class='' title='@{save_effect}' name='attr_save_effect'></textarea>
|
||
</div>
|
||
</div>
|
||
<input class='field-tab' type='checkbox' title='@{macro_checkbox}' name='attr_macro_checkbox' value='1' hidden='true'>
|
||
<label class='expandable'><input class='field-tab macro-tab' type='checkbox' title='@{macro_checkbox}' name='attr_macro_checkbox' value='1' hidden='true'><span class='label field' data-i18n='attacher'>ATTACHER</span></label>
|
||
<input class='field-tab' type='checkbox' title='@{macro_checkbox}' name='attr_macro_checkbox' value='1' hidden='true'>
|
||
<div class='row field-container mod-container expandable'>
|
||
<input class='field-tab' type='checkbox' title='@{macro_checkbox}' name='attr_macro_checkbox' value='1' hidden='true'>
|
||
<textarea class='field row scalable-input input-field' type='text' title='@{attacher}' name='attr_attacher'></textarea>
|
||
</div>
|
||
<div class='row span-all'>
|
||
<textarea class='' title='@{description}' name='attr_description'></textarea>
|
||
</div>
|
||
<div class='row span-all'><input readonly=true class='id-label' title='@{id}' name='attr_id'></input>
|
||
</div>
|
||
</div>
|
||
<div class='display'>
|
||
<input type='hidden' title='@{frequency}' name='attr_frequency' class='freq-check'>
|
||
<input class='freq-check at-will daily-limit' type='checkbox' title='@{toggle}' name='attr_toggle' value='1'>
|
||
<div class='button-description'>
|
||
<input class='label' readonly='true' type='text' title='@{name}' name='attr_name'>
|
||
<input class='label force-uppercase' readonly='true' type='text' name='attr_school'>
|
||
<button class='npcsummary' type='roll' title='%{roll}' name='roll_roll' value='@{whisper_state}&{template:spell} {{name=@{character_name}}} {{characterid=@{character_id}}} {{title=@{name}}} {{saveflag=[[1d@{save_checkbox}]]}} {{activation=@{usage}}} {{duration=@{duration}}} {{targets=@{target}}} {{range=@{range}}} {{savedc=@{dc}}} {{savetype=@{save_type}}} {{effect=@{effect}}} {{saveeffect=@{save_effect}}} {{attackflag=[[1d@{attack_checkbox}]]}} {{r1=[[1d20+@{attack_ability}[ABI]+@{character_level}[LEVEL]+@{proficiency}[Prof]]]}} {{damage1=[[@{damage_dice}+@{damage_ability}[ABI]@{damage_misc} ]]}} {{damageflag=[[1d@{damage_checkbox}]]}} {{damage1type=@{attack_type}}} {{notes=@{description}}} @{attacher}'></button>
|
||
<label class='expand-button'><input hidden='true' class='expand-description' type='checkbox' name='attr_expand_description' value='1'><span class='collapsed pictos'>`</span><span class='expanded pictos'>J</span></label>
|
||
</div>
|
||
<input class='expand-description' type='hidden' name='attr_expand_description'>
|
||
<textarea class='description' title='@{description}' name='attr_description'></textarea>
|
||
</div>
|
||
</div>
|
||
</fieldset>
|
||
</div>
|
||
</div>
|
||
<input class='toggle level10' type='checkbox' name='attr_casts_level_3' value='1'>
|
||
<div class='section-container aspell3 class-spells-day'>
|
||
<div class='section'>
|
||
<h1 class='label' data-i18n='3rd-level'>3rd LEVEL</h1>
|
||
</div>
|
||
<div class='section-container'>
|
||
<div class='button-description'>
|
||
<span class='label' data-i18n='name'>NAME</span>
|
||
<span class='label' data-i18n='school'>SCHOOL</span>
|
||
</div>
|
||
<button class='pseudo-repcontrol pictos' type='action' name='act_create_3rd'>&</button>
|
||
<fieldset class='repeating_spell3'><input type='hidden' name='attr_dc' value='10'>
|
||
<input hidden='true' type='text' title='@{attack_total}' name='attr_attack_total'>
|
||
<input hidden='true' type='text' title='@{damage_total}' name='attr_damage_total'>
|
||
<input class='type-filter' type='hidden' name='attr_type' value='general feat'>
|
||
<input class='level-filter' type='hidden' title='@{filter}' name='attr_level' value='1'>
|
||
<div class='filter-container level3 spell'>
|
||
|
||
<input type='text' hidden='true' title='@{attack_misc}' name='attr_attack_misc' value=''>
|
||
<input type='text' hidden='true' title='@{attack_damage_misc}' name='attr_attack_damage_misc' value=''>
|
||
<input type='text' hidden='true' title='@{effect_misc}' name='attr_effect_misc' value=''>
|
||
|
||
<input class="show-options" type="checkbox" title='@{show_options}' name="attr_show_options" checked="checked"><span>y</span>
|
||
<div class='row-options'>
|
||
<div class='row span-all display-margin'>
|
||
<span class='label' data-i18n='name-u'>NAME</span>
|
||
<input class='scalable-input input-field' type='text' title='@{name}' name='attr_name' placeholder="Operative's Edge">
|
||
<span class='type-level' data-i18n='level'>LEVEL</span>
|
||
<input class='type-level bab input-field' type='number' name='attr_level' value='0'>
|
||
</div>
|
||
<div class='row span-all'>
|
||
<select class='freq-select' title='@{type}' name='attr_type'>
|
||
<option value='spell tradition' data-i18n='spell tradition' selected>SPELL TRADITION</option><option value='arcane spell' data-i18n='arcane spell'>ARCANE SPELL</option><option value='divine spell' data-i18n='divine spell'>DIVINE SPELL</option><option value='primal spell' data-i18n='primal spell'>PRIMAL SPELL</option><option value='occult spell' data-i18n='occult spell'>OCCULT SPELL</option>
|
||
</select>
|
||
<span class='label' data-i18n='duration'>DURATION</span>
|
||
<input class='scalable-input input-field' type='text' title='@{duration}' name='attr_duration' value=''>
|
||
<input class='type-filter' type='hidden' name='attr_type' value='general-feat'>
|
||
</div>
|
||
<div class='row' hidden='true'>
|
||
<select class='freq-select' title='@{frequency}' name='attr_frequency'>
|
||
<option value='constant' data-i18n='constant' selected='selected'>CONSTANT</option>
|
||
<option value='at-will' data-i18n='at-will'>AT WILL</option>
|
||
<option value='daily-limit' data-i18n='x/day'>X/DAY</option>
|
||
</select>
|
||
</div>
|
||
<div class='row span-all'>
|
||
<span class='label' data-i18n='target'>TARGET</span>
|
||
<input class='scalable-input input-field' type='text' title='@{target}' name='attr_target'>
|
||
<span class='label' data-i18n='rng'>RANGE</span>
|
||
<input class='scalable-input input-field' type='text' title='@{range}' name='attr_range'>
|
||
</div>
|
||
<div class='row span-all'>
|
||
<span class='label' data-i18n='school'>SCHOOL</span>
|
||
<select name='attr_school'>
|
||
<option value='abjuration' data-i18n='abjuration' selected>ABJURATION</option>
|
||
<option value='conjuration' data-i18n='conjuration'>CONJURATION</option>
|
||
<option value='divination' data-i18n='divination'>DIVINATION</option>
|
||
<option value='enchantment' data-i18n='enchantment'>ENCHANTMENT</option>
|
||
<option value='evocation' data-i18n='evocation'>EVOCATION</option>
|
||
<option value='illusion' data-i18n='illusion'>ILLUSION</option>
|
||
<option value='necromancy' data-i18n='necromancy'>NECROMANCY</option>
|
||
<option value='transmutation' data-i18n='transmutation'>TRANSMUTATION</option>
|
||
</select>
|
||
</div>
|
||
<div class='row span-all'>
|
||
<span class='label' data-i18n='traits'>TRAITS</span>
|
||
<input class='scalable-input' type='text' name='attr_traits' value=''>
|
||
</div>
|
||
<input class='type-filter' type='hidden' name='attr_type' value='general-feat'>
|
||
<input type='hidden' title='@{frequency}' name='attr_frequency' class='freq-check'>
|
||
<div class='row span-all'>
|
||
<span class='label abi-cost' data-i18n='usage'>USAGE</span>
|
||
<input class='scalable-input input-field' type='text' title='@{usage}' name='attr_usage'>
|
||
</div>
|
||
<div class='row daily-limit span-all'>
|
||
<input class='' type='number' title='@{uses}' name='attr_uses' value='0'>
|
||
<span class='label'>/</span>
|
||
<div class='scalable-input attr-base-mod-container input-field'>
|
||
<input class='base-attr ability-uses' type='text' title='@{uses_max}' name='attr_uses_max_base' value='10' >
|
||
<input class='mod-buff' type='hidden' name='attr_uses_change' value='0'>
|
||
<span class='input-field modified-attr attr ability-uses' readonly='true' type='text' title='@{uses_max}' name='attr_uses_max' value='10'>10</span>
|
||
</div>
|
||
<span class='label' data-i18n='_-daily-uses'>Daily Uses</span>
|
||
</div>
|
||
<input class='field-tab' type='checkbox' title='@{proficiency_checkbox}' name='attr_proficiency_checkbox' value='1' hidden='true'>
|
||
<label class='expandable'><input class='field-tab atk-tab' type='checkbox' title='@{proficiency_checkbox}' name='attr_proficiency_checkbox' value='1' hidden='true'><span class='field label' data-i18n='proficiencies'>PROFICIENCIES</span></label>
|
||
<input class='field-tab' type='checkbox' title='@{proficiency_checkbox}' name='attr_proficiency_checkbox' value='1' hidden='true'>
|
||
<div class='field-container expandable inherit-grid'>
|
||
<input class='field-tab' type='checkbox' title='@{proficiency_checkbox}' name='attr_proficiency_checkbox' value='1' hidden='true'>
|
||
<div class='field row scalable-input proficiency-container'>
|
||
<select class='span-five' name='attr_proficiency'>
|
||
<option value='-2' data-i18n='untrained'>UNTRAINED</option>
|
||
<option value='0' data-i18n='trained'>TRAINED</option>
|
||
<option value='1' data-i18n='expert'>EXPERT</option>
|
||
<option value='2' data-i18n='master'>MASTER</option>
|
||
<option value='3' data-i18n='legendary'>LEGENDARY</option>
|
||
</select>
|
||
</div>
|
||
</div>
|
||
<input class='field-tab' type='checkbox' title='@{attack_checkbox}' name='attr_attack_checkbox' value='1' hidden='true'>
|
||
<label class='expandable'><input class='field-tab atk-tab' type='checkbox' title='@{attack_checkbox}' name='attr_attack_checkbox' value='1' hidden='true'><span class='field label' data-i18n='atk'>ATK</span></label>
|
||
<input class='field-tab' type='checkbox' title='@{attack_checkbox}' name='attr_attack_checkbox' value='1' hidden='true'>
|
||
<div class='field-container expandable inherit-grid'>
|
||
<input class='field-tab' type='checkbox' title='@{attack_checkbox}' name='attr_attack_checkbox' value='1' hidden='true'>
|
||
<div class='field row span-two'>
|
||
<select class='label atk-ability abi' title='@{attack_ability}' name='attr_attack_ability'>
|
||
<option value='0' selected='selected'>N/A</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>
|
||
<input hidden='true' title='@{attack_ability}' name='attr_attack_ability' value='0'>
|
||
</div>
|
||
</div>
|
||
<input class='field-tab' type='checkbox' title='@{damage_checkbox}' name='attr_damage_checkbox' value='1' hidden='true'>
|
||
<label class='expandable'><input class='field-tab dmg-tab' type='checkbox' title='@{damage_checkbox}' name='attr_damage_checkbox' value='1' hidden='true'><span class='field label' data-i18n='dmg'>DMG</span></label>
|
||
<input class='field-tab' type='checkbox' title='@{damage_checkbox}' name='attr_damage_checkbox' value='1' hidden='true'>
|
||
<div class='field-container expandable inherit-grid'>
|
||
<input class='field-tab' type='checkbox' title='@{damage_checkbox}' name='attr_damage_checkbox' value='1' hidden='true'>
|
||
<input hidden='true' title='@{damage_misc}' name='attr_damage_misc' value=''>
|
||
<div class='field row span-two'>
|
||
<input class='abi-dmg-dice' type='text' name=attr_damage_dice><span>+</span>
|
||
<select class='label atk-ability abi' title='@{damage_ability}' name='attr_damage_ability'>
|
||
<option value='' selected='selected'>N/A</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>
|
||
<input hidden='true' title='@{damage_ability}' name='attr_damage_ability' value='0'>
|
||
</div>
|
||
<div class='field row span-two'>
|
||
<span class='label' data-i18n='type'>TYPE</span>
|
||
<input class='scalable-input input-field' type='text' title='@{attack_type}' name='attr_attack_type'>
|
||
<span class='label' data-i18n='crit-effect'>CRIT EFFECT</span>
|
||
<input class='scalable-input input-field' type='text' title='@{attack_crit}' name='attr_attack_crit'>
|
||
</div>
|
||
</div>
|
||
<input class='field-tab' type='checkbox' title='@{save_checkbox}' name='attr_save_checkbox' value='1' hidden='true'>
|
||
<label class='expandable'><input class='field-tab save-effect-tab' type='checkbox' title='@{save_checkbox}' name='attr_save_checkbox' value='1' hidden='true'><span class='field label' data-i18n='save-effect'>SAVE EFFECT</span></label>
|
||
<input class='field-tab' type='checkbox' title='@{save_checkbox}' name='attr_save_checkbox' value='1' hidden='true'>
|
||
<div class='field-container expandable inherit-grid'>
|
||
<input class='field-tab' type='checkbox' title='@{save_checkbox}' name='attr_save_checkbox' value='1' hidden='true'>
|
||
<div class='field row span-all'>
|
||
<select class='label atk-ability abi' title='@{save_ability}' name='attr_save_ability'>
|
||
<option value='@{strength_mod}' data-i18n='str' selected='selected'>STR</option>
|
||
<option value='@{dexterity_mod}' data-i18n='dex'>DEX</option>
|
||
<option value='@{constitution_mod}' data-i18n='con'>CON</option>
|
||
<option value='@{intelligence_mod}' data-i18n='int'>INT</option>
|
||
<option value='@{wisdom_mod}' data-i18n='wis'>WIS</option>
|
||
<option value='@{charisma_mod}' data-i18n='cha'>CHA</option>
|
||
</select>
|
||
<span class='label' data-i18n='based-dc_'>Based DC </span>
|
||
<input class='mod-buff' type='hidden' name='attr_dc_change' value='0'>
|
||
<span class='modified-attr bab' title='@{dc}' name='attr_dc' value='10'>10</span>
|
||
<select class='label save-type' title='@{save_type}' name='attr_save_type'>
|
||
<option value='' selected='selected'>-</option>
|
||
<option value='FORT' data-i18n='fort-save'>FORT SAVE</option>
|
||
<option value='REF' data-i18n='ref-save'>REF SAVE</option>
|
||
<option value='WILL' data-i18n='will-save'>WILL SAVE</option>
|
||
</select>
|
||
</div>
|
||
<div class='field row span-all'>
|
||
<textarea class='' title='@{effect}' name='attr_effect'></textarea>
|
||
</div>
|
||
<div class='field row span-all'>
|
||
<span class='label' data-i18n='A-Sucessful-Save:'>A Sucessful Save:</span>
|
||
</div>
|
||
<div class='field row span-all'>
|
||
<textarea class='' title='@{save_effect}' name='attr_save_effect'></textarea>
|
||
</div>
|
||
</div>
|
||
<input class='field-tab' type='checkbox' title='@{macro_checkbox}' name='attr_macro_checkbox' value='1' hidden='true'>
|
||
<label class='expandable'><input class='field-tab macro-tab' type='checkbox' title='@{macro_checkbox}' name='attr_macro_checkbox' value='1' hidden='true'><span class='label field' data-i18n='attacher'>ATTACHER</span></label>
|
||
<input class='field-tab' type='checkbox' title='@{macro_checkbox}' name='attr_macro_checkbox' value='1' hidden='true'>
|
||
<div class='row field-container mod-container expandable'>
|
||
<input class='field-tab' type='checkbox' title='@{macro_checkbox}' name='attr_macro_checkbox' value='1' hidden='true'>
|
||
<textarea class='field row scalable-input input-field' type='text' title='@{attacher}' name='attr_attacher'></textarea>
|
||
</div>
|
||
<div class='row span-all'>
|
||
<textarea class='' title='@{description}' name='attr_description'></textarea>
|
||
</div>
|
||
<div class='row span-all'><input readonly=true class='id-label' title='@{id}' name='attr_id'></input>
|
||
</div>
|
||
</div>
|
||
<div class='display'>
|
||
<input type='hidden' title='@{frequency}' name='attr_frequency' class='freq-check'>
|
||
<input class='freq-check at-will daily-limit' type='checkbox' title='@{toggle}' name='attr_toggle' value='1'>
|
||
<div class='button-description'>
|
||
<input class='label' readonly='true' type='text' title='@{name}' name='attr_name'>
|
||
<input class='label force-uppercase' readonly='true' type='text' name='attr_school'>
|
||
<button class='npcsummary' type='roll' title='%{roll}' name='roll_roll' value='@{whisper_state}&{template:spell} {{name=@{character_name}}} {{characterid=@{character_id}}} {{title=@{name}}} {{saveflag=[[1d@{save_checkbox}]]}} {{activation=@{usage}}} {{duration=@{duration}}} {{targets=@{target}}} {{range=@{range}}} {{savedc=@{dc}}} {{savetype=@{save_type}}} {{effect=@{effect}}} {{saveeffect=@{save_effect}}} {{attackflag=[[1d@{attack_checkbox}]]}} {{r1=[[1d20+@{attack_ability}[ABI]+@{character_level}[LEVEL]+@{proficiency}[Prof]]]}} {{damage1=[[@{damage_dice}+@{damage_ability}[ABI]@{damage_misc} ]]}} {{damageflag=[[1d@{damage_checkbox}]]}} {{damage1type=@{attack_type}}} {{notes=@{description}}} @{attacher}'></button>
|
||
<label class='expand-button'><input hidden='true' class='expand-description' type='checkbox' name='attr_expand_description' value='1'><span class='collapsed pictos'>`</span><span class='expanded pictos'>J</span></label>
|
||
</div>
|
||
<input class='expand-description' type='hidden' name='attr_expand_description'>
|
||
<textarea class='description' title='@{description}' name='attr_description'></textarea>
|
||
</div>
|
||
</div>
|
||
</fieldset>
|
||
</div>
|
||
</div>
|
||
<input class='toggle level10' type='checkbox' name='attr_casts_level_5' value='1'>
|
||
<div class='section-container aspell5 class-spells-day'>
|
||
<div class='section'>
|
||
<h1 class='label' data-i18n='5th-level'>5th LEVEL</h1>
|
||
</div>
|
||
<div class='section-container'>
|
||
<div class='button-description'>
|
||
<span class='label' data-i18n='name'>NAME</span>
|
||
<span class='label' data-i18n='school'>SCHOOL</span>
|
||
</div>
|
||
<button class='pseudo-repcontrol pictos' type='action' name='act_create_5th'>&</button>
|
||
<fieldset class='repeating_spell5'><input type='hidden' name='attr_dc' value='10'>
|
||
<input hidden='true' type='text' title='@{attack_total}' name='attr_attack_total'>
|
||
<input hidden='true' type='text' title='@{damage_total}' name='attr_damage_total'>
|
||
<input class='type-filter' type='hidden' name='attr_type' value='general feat'>
|
||
<input class='level-filter' type='hidden' title='@{filter}' name='attr_level' value='1'>
|
||
<div class='filter-container level5 spell'>
|
||
|
||
<input type='text' hidden='true' title='@{attack_misc}' name='attr_attack_misc' value=''>
|
||
<input type='text' hidden='true' title='@{attack_damage_misc}' name='attr_attack_damage_misc' value=''>
|
||
<input type='text' hidden='true' title='@{effect_misc}' name='attr_effect_misc' value=''>
|
||
|
||
<input class="show-options" type="checkbox" title='@{show_options}' name="attr_show_options" checked="checked"><span>y</span>
|
||
<div class='row-options'>
|
||
<div class='row span-all display-margin'>
|
||
<span class='label' data-i18n='name-u'>NAME</span>
|
||
<input class='scalable-input input-field' type='text' title='@{name}' name='attr_name' placeholder="Operative's Edge">
|
||
<span class='type-level' data-i18n='level'>LEVEL</span>
|
||
<input class='type-level bab input-field' type='number' name='attr_level' value='0'>
|
||
</div>
|
||
<div class='row span-all'>
|
||
<select class='freq-select' title='@{type}' name='attr_type'>
|
||
<option value='spell tradition' data-i18n='spell tradition' selected>SPELL TRADITION</option><option value='arcane spell' data-i18n='arcane spell'>ARCANE SPELL</option><option value='divine spell' data-i18n='divine spell'>DIVINE SPELL</option><option value='primal spell' data-i18n='primal spell'>PRIMAL SPELL</option><option value='occult spell' data-i18n='occult spell'>OCCULT SPELL</option>
|
||
</select>
|
||
<span class='label' data-i18n='duration'>DURATION</span>
|
||
<input class='scalable-input input-field' type='text' title='@{duration}' name='attr_duration' value=''>
|
||
<input class='type-filter' type='hidden' name='attr_type' value='general-feat'>
|
||
</div>
|
||
<div class='row' hidden='true'>
|
||
<select class='freq-select' title='@{frequency}' name='attr_frequency'>
|
||
<option value='constant' data-i18n='constant' selected='selected'>CONSTANT</option>
|
||
<option value='at-will' data-i18n='at-will'>AT WILL</option>
|
||
<option value='daily-limit' data-i18n='x/day'>X/DAY</option>
|
||
</select>
|
||
</div>
|
||
<div class='row span-all'>
|
||
<span class='label' data-i18n='target'>TARGET</span>
|
||
<input class='scalable-input input-field' type='text' title='@{target}' name='attr_target'>
|
||
<span class='label' data-i18n='rng'>RANGE</span>
|
||
<input class='scalable-input input-field' type='text' title='@{range}' name='attr_range'>
|
||
</div>
|
||
<div class='row span-all'>
|
||
<span class='label' data-i18n='school'>SCHOOL</span>
|
||
<select name='attr_school'>
|
||
<option value='abjuration' data-i18n='abjuration' selected>ABJURATION</option>
|
||
<option value='conjuration' data-i18n='conjuration'>CONJURATION</option>
|
||
<option value='divination' data-i18n='divination'>DIVINATION</option>
|
||
<option value='enchantment' data-i18n='enchantment'>ENCHANTMENT</option>
|
||
<option value='evocation' data-i18n='evocation'>EVOCATION</option>
|
||
<option value='illusion' data-i18n='illusion'>ILLUSION</option>
|
||
<option value='necromancy' data-i18n='necromancy'>NECROMANCY</option>
|
||
<option value='transmutation' data-i18n='transmutation'>TRANSMUTATION</option>
|
||
</select>
|
||
</div>
|
||
<div class='row span-all'>
|
||
<span class='label' data-i18n='traits'>TRAITS</span>
|
||
<input class='scalable-input' type='text' name='attr_traits' value=''>
|
||
</div>
|
||
<input class='type-filter' type='hidden' name='attr_type' value='general-feat'>
|
||
<input type='hidden' title='@{frequency}' name='attr_frequency' class='freq-check'>
|
||
<div class='row span-all'>
|
||
<span class='label abi-cost' data-i18n='usage'>USAGE</span>
|
||
<input class='scalable-input input-field' type='text' title='@{usage}' name='attr_usage'>
|
||
</div>
|
||
<div class='row daily-limit span-all'>
|
||
<input class='' type='number' title='@{uses}' name='attr_uses' value='0'>
|
||
<span class='label'>/</span>
|
||
<div class='scalable-input attr-base-mod-container input-field'>
|
||
<input class='base-attr ability-uses' type='text' title='@{uses_max}' name='attr_uses_max_base' value='10' >
|
||
<input class='mod-buff' type='hidden' name='attr_uses_change' value='0'>
|
||
<span class='input-field modified-attr attr ability-uses' readonly='true' type='text' title='@{uses_max}' name='attr_uses_max' value='10'>10</span>
|
||
</div>
|
||
<span class='label' data-i18n='_-daily-uses'>Daily Uses</span>
|
||
</div>
|
||
<input class='field-tab' type='checkbox' title='@{proficiency_checkbox}' name='attr_proficiency_checkbox' value='1' hidden='true'>
|
||
<label class='expandable'><input class='field-tab atk-tab' type='checkbox' title='@{proficiency_checkbox}' name='attr_proficiency_checkbox' value='1' hidden='true'><span class='field label' data-i18n='proficiencies'>PROFICIENCIES</span></label>
|
||
<input class='field-tab' type='checkbox' title='@{proficiency_checkbox}' name='attr_proficiency_checkbox' value='1' hidden='true'>
|
||
<div class='field-container expandable inherit-grid'>
|
||
<input class='field-tab' type='checkbox' title='@{proficiency_checkbox}' name='attr_proficiency_checkbox' value='1' hidden='true'>
|
||
<div class='field row scalable-input proficiency-container'>
|
||
<select class='span-five' name='attr_proficiency'>
|
||
<option value='-2' data-i18n='untrained'>UNTRAINED</option>
|
||
<option value='0' data-i18n='trained'>TRAINED</option>
|
||
<option value='1' data-i18n='expert'>EXPERT</option>
|
||
<option value='2' data-i18n='master'>MASTER</option>
|
||
<option value='3' data-i18n='legendary'>LEGENDARY</option>
|
||
</select>
|
||
</div>
|
||
</div>
|
||
<input class='field-tab' type='checkbox' title='@{attack_checkbox}' name='attr_attack_checkbox' value='1' hidden='true'>
|
||
<label class='expandable'><input class='field-tab atk-tab' type='checkbox' title='@{attack_checkbox}' name='attr_attack_checkbox' value='1' hidden='true'><span class='field label' data-i18n='atk'>ATK</span></label>
|
||
<input class='field-tab' type='checkbox' title='@{attack_checkbox}' name='attr_attack_checkbox' value='1' hidden='true'>
|
||
<div class='field-container expandable inherit-grid'>
|
||
<input class='field-tab' type='checkbox' title='@{attack_checkbox}' name='attr_attack_checkbox' value='1' hidden='true'>
|
||
<div class='field row span-two'>
|
||
<select class='label atk-ability abi' title='@{attack_ability}' name='attr_attack_ability'>
|
||
<option value='0' selected='selected'>N/A</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>
|
||
<input hidden='true' title='@{attack_ability}' name='attr_attack_ability' value='0'>
|
||
</div>
|
||
</div>
|
||
<input class='field-tab' type='checkbox' title='@{damage_checkbox}' name='attr_damage_checkbox' value='1' hidden='true'>
|
||
<label class='expandable'><input class='field-tab dmg-tab' type='checkbox' title='@{damage_checkbox}' name='attr_damage_checkbox' value='1' hidden='true'><span class='field label' data-i18n='dmg'>DMG</span></label>
|
||
<input class='field-tab' type='checkbox' title='@{damage_checkbox}' name='attr_damage_checkbox' value='1' hidden='true'>
|
||
<div class='field-container expandable inherit-grid'>
|
||
<input class='field-tab' type='checkbox' title='@{damage_checkbox}' name='attr_damage_checkbox' value='1' hidden='true'>
|
||
<input hidden='true' title='@{damage_misc}' name='attr_damage_misc' value=''>
|
||
<div class='field row span-two'>
|
||
<input class='abi-dmg-dice' type='text' name=attr_damage_dice><span>+</span>
|
||
<select class='label atk-ability abi' title='@{damage_ability}' name='attr_damage_ability'>
|
||
<option value='' selected='selected'>N/A</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>
|
||
<input hidden='true' title='@{damage_ability}' name='attr_damage_ability' value='0'>
|
||
</div>
|
||
<div class='field row span-two'>
|
||
<span class='label' data-i18n='type'>TYPE</span>
|
||
<input class='scalable-input input-field' type='text' title='@{attack_type}' name='attr_attack_type'>
|
||
<span class='label' data-i18n='crit-effect'>CRIT EFFECT</span>
|
||
<input class='scalable-input input-field' type='text' title='@{attack_crit}' name='attr_attack_crit'>
|
||
</div>
|
||
</div>
|
||
<input class='field-tab' type='checkbox' title='@{save_checkbox}' name='attr_save_checkbox' value='1' hidden='true'>
|
||
<label class='expandable'><input class='field-tab save-effect-tab' type='checkbox' title='@{save_checkbox}' name='attr_save_checkbox' value='1' hidden='true'><span class='field label' data-i18n='save-effect'>SAVE EFFECT</span></label>
|
||
<input class='field-tab' type='checkbox' title='@{save_checkbox}' name='attr_save_checkbox' value='1' hidden='true'>
|
||
<div class='field-container expandable inherit-grid'>
|
||
<input class='field-tab' type='checkbox' title='@{save_checkbox}' name='attr_save_checkbox' value='1' hidden='true'>
|
||
<div class='field row span-all'>
|
||
<select class='label atk-ability abi' title='@{save_ability}' name='attr_save_ability'>
|
||
<option value='@{strength_mod}' data-i18n='str' selected='selected'>STR</option>
|
||
<option value='@{dexterity_mod}' data-i18n='dex'>DEX</option>
|
||
<option value='@{constitution_mod}' data-i18n='con'>CON</option>
|
||
<option value='@{intelligence_mod}' data-i18n='int'>INT</option>
|
||
<option value='@{wisdom_mod}' data-i18n='wis'>WIS</option>
|
||
<option value='@{charisma_mod}' data-i18n='cha'>CHA</option>
|
||
</select>
|
||
<span class='label' data-i18n='based-dc_'>Based DC </span>
|
||
<input class='mod-buff' type='hidden' name='attr_dc_change' value='0'>
|
||
<span class='modified-attr bab' title='@{dc}' name='attr_dc' value='10'>10</span>
|
||
<select class='label save-type' title='@{save_type}' name='attr_save_type'>
|
||
<option value='' selected='selected'>-</option>
|
||
<option value='FORT' data-i18n='fort-save'>FORT SAVE</option>
|
||
<option value='REF' data-i18n='ref-save'>REF SAVE</option>
|
||
<option value='WILL' data-i18n='will-save'>WILL SAVE</option>
|
||
</select>
|
||
</div>
|
||
<div class='field row span-all'>
|
||
<textarea class='' title='@{effect}' name='attr_effect'></textarea>
|
||
</div>
|
||
<div class='field row span-all'>
|
||
<span class='label' data-i18n='A-Sucessful-Save:'>A Sucessful Save:</span>
|
||
</div>
|
||
<div class='field row span-all'>
|
||
<textarea class='' title='@{save_effect}' name='attr_save_effect'></textarea>
|
||
</div>
|
||
</div>
|
||
<input class='field-tab' type='checkbox' title='@{macro_checkbox}' name='attr_macro_checkbox' value='1' hidden='true'>
|
||
<label class='expandable'><input class='field-tab macro-tab' type='checkbox' title='@{macro_checkbox}' name='attr_macro_checkbox' value='1' hidden='true'><span class='label field' data-i18n='attacher'>ATTACHER</span></label>
|
||
<input class='field-tab' type='checkbox' title='@{macro_checkbox}' name='attr_macro_checkbox' value='1' hidden='true'>
|
||
<div class='row field-container mod-container expandable'>
|
||
<input class='field-tab' type='checkbox' title='@{macro_checkbox}' name='attr_macro_checkbox' value='1' hidden='true'>
|
||
<textarea class='field row scalable-input input-field' type='text' title='@{attacher}' name='attr_attacher'></textarea>
|
||
</div>
|
||
<div class='row span-all'>
|
||
<textarea class='' title='@{description}' name='attr_description'></textarea>
|
||
</div>
|
||
<div class='row span-all'><input readonly=true class='id-label' title='@{id}' name='attr_id'></input>
|
||
</div>
|
||
</div>
|
||
<div class='display'>
|
||
<input type='hidden' title='@{frequency}' name='attr_frequency' class='freq-check'>
|
||
<input class='freq-check at-will daily-limit' type='checkbox' title='@{toggle}' name='attr_toggle' value='1'>
|
||
<div class='button-description'>
|
||
<input class='label' readonly='true' type='text' title='@{name}' name='attr_name'>
|
||
<input class='label force-uppercase' readonly='true' type='text' name='attr_school'>
|
||
<button class='npcsummary' type='roll' title='%{roll}' name='roll_roll' value='@{whisper_state}&{template:spell} {{name=@{character_name}}} {{characterid=@{character_id}}} {{title=@{name}}} {{saveflag=[[1d@{save_checkbox}]]}} {{activation=@{usage}}} {{duration=@{duration}}} {{targets=@{target}}} {{range=@{range}}} {{savedc=@{dc}}} {{savetype=@{save_type}}} {{effect=@{effect}}} {{saveeffect=@{save_effect}}} {{attackflag=[[1d@{attack_checkbox}]]}} {{r1=[[1d20+@{attack_ability}[ABI]+@{character_level}[LEVEL]+@{proficiency}[Prof]]]}} {{damage1=[[@{damage_dice}+@{damage_ability}[ABI]@{damage_misc} ]]}} {{damageflag=[[1d@{damage_checkbox}]]}} {{damage1type=@{attack_type}}} {{notes=@{description}}} @{attacher}'></button>
|
||
<label class='expand-button'><input hidden='true' class='expand-description' type='checkbox' name='attr_expand_description' value='1'><span class='collapsed pictos'>`</span><span class='expanded pictos'>J</span></label>
|
||
</div>
|
||
<input class='expand-description' type='hidden' name='attr_expand_description'>
|
||
<textarea class='description' title='@{description}' name='attr_description'></textarea>
|
||
</div>
|
||
</div>
|
||
</fieldset>
|
||
</div>
|
||
</div>
|
||
<input class='toggle level10' type='checkbox' name='attr_casts_level_7' value='1'>
|
||
<div class='section-container aspell7 class-spells-day'>
|
||
<div class='section'>
|
||
<h1 class='label' data-i18n='7th-level'>7th LEVEL</h1>
|
||
</div>
|
||
<div class='section-container'>
|
||
<div class='button-description'>
|
||
<span class='label' data-i18n='name'>NAME</span>
|
||
<span class='label' data-i18n='school'>SCHOOL</span>
|
||
</div>
|
||
<button class='pseudo-repcontrol pictos' type='action' name='act_create_7th'>&</button>
|
||
<fieldset class='repeating_spell7'><input type='hidden' name='attr_dc' value='10'>
|
||
<input hidden='true' type='text' title='@{attack_total}' name='attr_attack_total'>
|
||
<input hidden='true' type='text' title='@{damage_total}' name='attr_damage_total'>
|
||
<input class='type-filter' type='hidden' name='attr_type' value='general feat'>
|
||
<input class='level-filter' type='hidden' title='@{filter}' name='attr_level' value='1'>
|
||
<div class='filter-container level7 spell'>
|
||
|
||
<input type='text' hidden='true' title='@{attack_misc}' name='attr_attack_misc' value=''>
|
||
<input type='text' hidden='true' title='@{attack_damage_misc}' name='attr_attack_damage_misc' value=''>
|
||
<input type='text' hidden='true' title='@{effect_misc}' name='attr_effect_misc' value=''>
|
||
|
||
<input class="show-options" type="checkbox" title='@{show_options}' name="attr_show_options" checked="checked"><span>y</span>
|
||
<div class='row-options'>
|
||
<div class='row span-all display-margin'>
|
||
<span class='label' data-i18n='name-u'>NAME</span>
|
||
<input class='scalable-input input-field' type='text' title='@{name}' name='attr_name' placeholder="Operative's Edge">
|
||
<span class='type-level' data-i18n='level'>LEVEL</span>
|
||
<input class='type-level bab input-field' type='number' name='attr_level' value='0'>
|
||
</div>
|
||
<div class='row span-all'>
|
||
<select class='freq-select' title='@{type}' name='attr_type'>
|
||
<option value='spell tradition' data-i18n='spell tradition' selected>SPELL TRADITION</option><option value='arcane spell' data-i18n='arcane spell'>ARCANE SPELL</option><option value='divine spell' data-i18n='divine spell'>DIVINE SPELL</option><option value='primal spell' data-i18n='primal spell'>PRIMAL SPELL</option><option value='occult spell' data-i18n='occult spell'>OCCULT SPELL</option>
|
||
</select>
|
||
<span class='label' data-i18n='duration'>DURATION</span>
|
||
<input class='scalable-input input-field' type='text' title='@{duration}' name='attr_duration' value=''>
|
||
<input class='type-filter' type='hidden' name='attr_type' value='general-feat'>
|
||
</div>
|
||
<div class='row' hidden='true'>
|
||
<select class='freq-select' title='@{frequency}' name='attr_frequency'>
|
||
<option value='constant' data-i18n='constant' selected='selected'>CONSTANT</option>
|
||
<option value='at-will' data-i18n='at-will'>AT WILL</option>
|
||
<option value='daily-limit' data-i18n='x/day'>X/DAY</option>
|
||
</select>
|
||
</div>
|
||
<div class='row span-all'>
|
||
<span class='label' data-i18n='target'>TARGET</span>
|
||
<input class='scalable-input input-field' type='text' title='@{target}' name='attr_target'>
|
||
<span class='label' data-i18n='rng'>RANGE</span>
|
||
<input class='scalable-input input-field' type='text' title='@{range}' name='attr_range'>
|
||
</div>
|
||
<div class='row span-all'>
|
||
<span class='label' data-i18n='school'>SCHOOL</span>
|
||
<select name='attr_school'>
|
||
<option value='abjuration' data-i18n='abjuration' selected>ABJURATION</option>
|
||
<option value='conjuration' data-i18n='conjuration'>CONJURATION</option>
|
||
<option value='divination' data-i18n='divination'>DIVINATION</option>
|
||
<option value='enchantment' data-i18n='enchantment'>ENCHANTMENT</option>
|
||
<option value='evocation' data-i18n='evocation'>EVOCATION</option>
|
||
<option value='illusion' data-i18n='illusion'>ILLUSION</option>
|
||
<option value='necromancy' data-i18n='necromancy'>NECROMANCY</option>
|
||
<option value='transmutation' data-i18n='transmutation'>TRANSMUTATION</option>
|
||
</select>
|
||
</div>
|
||
<div class='row span-all'>
|
||
<span class='label' data-i18n='traits'>TRAITS</span>
|
||
<input class='scalable-input' type='text' name='attr_traits' value=''>
|
||
</div>
|
||
<input class='type-filter' type='hidden' name='attr_type' value='general-feat'>
|
||
<input type='hidden' title='@{frequency}' name='attr_frequency' class='freq-check'>
|
||
<div class='row span-all'>
|
||
<span class='label abi-cost' data-i18n='usage'>USAGE</span>
|
||
<input class='scalable-input input-field' type='text' title='@{usage}' name='attr_usage'>
|
||
</div>
|
||
<div class='row daily-limit span-all'>
|
||
<input class='' type='number' title='@{uses}' name='attr_uses' value='0'>
|
||
<span class='label'>/</span>
|
||
<div class='scalable-input attr-base-mod-container input-field'>
|
||
<input class='base-attr ability-uses' type='text' title='@{uses_max}' name='attr_uses_max_base' value='10' >
|
||
<input class='mod-buff' type='hidden' name='attr_uses_change' value='0'>
|
||
<span class='input-field modified-attr attr ability-uses' readonly='true' type='text' title='@{uses_max}' name='attr_uses_max' value='10'>10</span>
|
||
</div>
|
||
<span class='label' data-i18n='_-daily-uses'>Daily Uses</span>
|
||
</div>
|
||
<input class='field-tab' type='checkbox' title='@{proficiency_checkbox}' name='attr_proficiency_checkbox' value='1' hidden='true'>
|
||
<label class='expandable'><input class='field-tab atk-tab' type='checkbox' title='@{proficiency_checkbox}' name='attr_proficiency_checkbox' value='1' hidden='true'><span class='field label' data-i18n='proficiencies'>PROFICIENCIES</span></label>
|
||
<input class='field-tab' type='checkbox' title='@{proficiency_checkbox}' name='attr_proficiency_checkbox' value='1' hidden='true'>
|
||
<div class='field-container expandable inherit-grid'>
|
||
<input class='field-tab' type='checkbox' title='@{proficiency_checkbox}' name='attr_proficiency_checkbox' value='1' hidden='true'>
|
||
<div class='field row scalable-input proficiency-container'>
|
||
<select class='span-five' name='attr_proficiency'>
|
||
<option value='-2' data-i18n='untrained'>UNTRAINED</option>
|
||
<option value='0' data-i18n='trained'>TRAINED</option>
|
||
<option value='1' data-i18n='expert'>EXPERT</option>
|
||
<option value='2' data-i18n='master'>MASTER</option>
|
||
<option value='3' data-i18n='legendary'>LEGENDARY</option>
|
||
</select>
|
||
</div>
|
||
</div>
|
||
<input class='field-tab' type='checkbox' title='@{attack_checkbox}' name='attr_attack_checkbox' value='1' hidden='true'>
|
||
<label class='expandable'><input class='field-tab atk-tab' type='checkbox' title='@{attack_checkbox}' name='attr_attack_checkbox' value='1' hidden='true'><span class='field label' data-i18n='atk'>ATK</span></label>
|
||
<input class='field-tab' type='checkbox' title='@{attack_checkbox}' name='attr_attack_checkbox' value='1' hidden='true'>
|
||
<div class='field-container expandable inherit-grid'>
|
||
<input class='field-tab' type='checkbox' title='@{attack_checkbox}' name='attr_attack_checkbox' value='1' hidden='true'>
|
||
<div class='field row span-two'>
|
||
<select class='label atk-ability abi' title='@{attack_ability}' name='attr_attack_ability'>
|
||
<option value='0' selected='selected'>N/A</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>
|
||
<input hidden='true' title='@{attack_ability}' name='attr_attack_ability' value='0'>
|
||
</div>
|
||
</div>
|
||
<input class='field-tab' type='checkbox' title='@{damage_checkbox}' name='attr_damage_checkbox' value='1' hidden='true'>
|
||
<label class='expandable'><input class='field-tab dmg-tab' type='checkbox' title='@{damage_checkbox}' name='attr_damage_checkbox' value='1' hidden='true'><span class='field label' data-i18n='dmg'>DMG</span></label>
|
||
<input class='field-tab' type='checkbox' title='@{damage_checkbox}' name='attr_damage_checkbox' value='1' hidden='true'>
|
||
<div class='field-container expandable inherit-grid'>
|
||
<input class='field-tab' type='checkbox' title='@{damage_checkbox}' name='attr_damage_checkbox' value='1' hidden='true'>
|
||
<input hidden='true' title='@{damage_misc}' name='attr_damage_misc' value=''>
|
||
<div class='field row span-two'>
|
||
<input class='abi-dmg-dice' type='text' name=attr_damage_dice><span>+</span>
|
||
<select class='label atk-ability abi' title='@{damage_ability}' name='attr_damage_ability'>
|
||
<option value='' selected='selected'>N/A</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>
|
||
<input hidden='true' title='@{damage_ability}' name='attr_damage_ability' value='0'>
|
||
</div>
|
||
<div class='field row span-two'>
|
||
<span class='label' data-i18n='type'>TYPE</span>
|
||
<input class='scalable-input input-field' type='text' title='@{attack_type}' name='attr_attack_type'>
|
||
<span class='label' data-i18n='crit-effect'>CRIT EFFECT</span>
|
||
<input class='scalable-input input-field' type='text' title='@{attack_crit}' name='attr_attack_crit'>
|
||
</div>
|
||
</div>
|
||
<input class='field-tab' type='checkbox' title='@{save_checkbox}' name='attr_save_checkbox' value='1' hidden='true'>
|
||
<label class='expandable'><input class='field-tab save-effect-tab' type='checkbox' title='@{save_checkbox}' name='attr_save_checkbox' value='1' hidden='true'><span class='field label' data-i18n='save-effect'>SAVE EFFECT</span></label>
|
||
<input class='field-tab' type='checkbox' title='@{save_checkbox}' name='attr_save_checkbox' value='1' hidden='true'>
|
||
<div class='field-container expandable inherit-grid'>
|
||
<input class='field-tab' type='checkbox' title='@{save_checkbox}' name='attr_save_checkbox' value='1' hidden='true'>
|
||
<div class='field row span-all'>
|
||
<select class='label atk-ability abi' title='@{save_ability}' name='attr_save_ability'>
|
||
<option value='@{strength_mod}' data-i18n='str' selected='selected'>STR</option>
|
||
<option value='@{dexterity_mod}' data-i18n='dex'>DEX</option>
|
||
<option value='@{constitution_mod}' data-i18n='con'>CON</option>
|
||
<option value='@{intelligence_mod}' data-i18n='int'>INT</option>
|
||
<option value='@{wisdom_mod}' data-i18n='wis'>WIS</option>
|
||
<option value='@{charisma_mod}' data-i18n='cha'>CHA</option>
|
||
</select>
|
||
<span class='label' data-i18n='based-dc_'>Based DC </span>
|
||
<input class='mod-buff' type='hidden' name='attr_dc_change' value='0'>
|
||
<span class='modified-attr bab' title='@{dc}' name='attr_dc' value='10'>10</span>
|
||
<select class='label save-type' title='@{save_type}' name='attr_save_type'>
|
||
<option value='' selected='selected'>-</option>
|
||
<option value='FORT' data-i18n='fort-save'>FORT SAVE</option>
|
||
<option value='REF' data-i18n='ref-save'>REF SAVE</option>
|
||
<option value='WILL' data-i18n='will-save'>WILL SAVE</option>
|
||
</select>
|
||
</div>
|
||
<div class='field row span-all'>
|
||
<textarea class='' title='@{effect}' name='attr_effect'></textarea>
|
||
</div>
|
||
<div class='field row span-all'>
|
||
<span class='label' data-i18n='A-Sucessful-Save:'>A Sucessful Save:</span>
|
||
</div>
|
||
<div class='field row span-all'>
|
||
<textarea class='' title='@{save_effect}' name='attr_save_effect'></textarea>
|
||
</div>
|
||
</div>
|
||
<input class='field-tab' type='checkbox' title='@{macro_checkbox}' name='attr_macro_checkbox' value='1' hidden='true'>
|
||
<label class='expandable'><input class='field-tab macro-tab' type='checkbox' title='@{macro_checkbox}' name='attr_macro_checkbox' value='1' hidden='true'><span class='label field' data-i18n='attacher'>ATTACHER</span></label>
|
||
<input class='field-tab' type='checkbox' title='@{macro_checkbox}' name='attr_macro_checkbox' value='1' hidden='true'>
|
||
<div class='row field-container mod-container expandable'>
|
||
<input class='field-tab' type='checkbox' title='@{macro_checkbox}' name='attr_macro_checkbox' value='1' hidden='true'>
|
||
<textarea class='field row scalable-input input-field' type='text' title='@{attacher}' name='attr_attacher'></textarea>
|
||
</div>
|
||
<div class='row span-all'>
|
||
<textarea class='' title='@{description}' name='attr_description'></textarea>
|
||
</div>
|
||
<div class='row span-all'><input readonly=true class='id-label' title='@{id}' name='attr_id'></input>
|
||
</div>
|
||
</div>
|
||
<div class='display'>
|
||
<input type='hidden' title='@{frequency}' name='attr_frequency' class='freq-check'>
|
||
<input class='freq-check at-will daily-limit' type='checkbox' title='@{toggle}' name='attr_toggle' value='1'>
|
||
<div class='button-description'>
|
||
<input class='label' readonly='true' type='text' title='@{name}' name='attr_name'>
|
||
<input class='label force-uppercase' readonly='true' type='text' name='attr_school'>
|
||
<button class='npcsummary' type='roll' title='%{roll}' name='roll_roll' value='@{whisper_state}&{template:spell} {{name=@{character_name}}} {{characterid=@{character_id}}} {{title=@{name}}} {{saveflag=[[1d@{save_checkbox}]]}} {{activation=@{usage}}} {{duration=@{duration}}} {{targets=@{target}}} {{range=@{range}}} {{savedc=@{dc}}} {{savetype=@{save_type}}} {{effect=@{effect}}} {{saveeffect=@{save_effect}}} {{attackflag=[[1d@{attack_checkbox}]]}} {{r1=[[1d20+@{attack_ability}[ABI]+@{character_level}[LEVEL]+@{proficiency}[Prof]]]}} {{damage1=[[@{damage_dice}+@{damage_ability}[ABI]@{damage_misc} ]]}} {{damageflag=[[1d@{damage_checkbox}]]}} {{damage1type=@{attack_type}}} {{notes=@{description}}} @{attacher}'></button>
|
||
<label class='expand-button'><input hidden='true' class='expand-description' type='checkbox' name='attr_expand_description' value='1'><span class='collapsed pictos'>`</span><span class='expanded pictos'>J</span></label>
|
||
</div>
|
||
<input class='expand-description' type='hidden' name='attr_expand_description'>
|
||
<textarea class='description' title='@{description}' name='attr_description'></textarea>
|
||
</div>
|
||
</div>
|
||
</fieldset>
|
||
</div>
|
||
</div>
|
||
<input class='toggle level10' type='checkbox' name='attr_casts_level_9' value='1'>
|
||
<div class='section-container aspell9 class-spells-day'>
|
||
<div class='section'>
|
||
<h1 class='label' data-i18n='9th-level'>9th LEVEL</h1>
|
||
</div>
|
||
<div class='section-container'>
|
||
<div class='button-description'>
|
||
<span class='label' data-i18n='name'>NAME</span>
|
||
<span class='label' data-i18n='school'>SCHOOL</span>
|
||
</div>
|
||
<button class='pseudo-repcontrol pictos' type='action' name='act_create_9th'>&</button>
|
||
<fieldset class='repeating_spell9'><input type='hidden' name='attr_dc' value='10'>
|
||
<input hidden='true' type='text' title='@{attack_total}' name='attr_attack_total'>
|
||
<input hidden='true' type='text' title='@{damage_total}' name='attr_damage_total'>
|
||
<input class='type-filter' type='hidden' name='attr_type' value='general feat'>
|
||
<input class='level-filter' type='hidden' title='@{filter}' name='attr_level' value='1'>
|
||
<div class='filter-container level9 spell'>
|
||
|
||
<input type='text' hidden='true' title='@{attack_misc}' name='attr_attack_misc' value=''>
|
||
<input type='text' hidden='true' title='@{attack_damage_misc}' name='attr_attack_damage_misc' value=''>
|
||
<input type='text' hidden='true' title='@{effect_misc}' name='attr_effect_misc' value=''>
|
||
|
||
<input class="show-options" type="checkbox" title='@{show_options}' name="attr_show_options" checked="checked"><span>y</span>
|
||
<div class='row-options'>
|
||
<div class='row span-all display-margin'>
|
||
<span class='label' data-i18n='name-u'>NAME</span>
|
||
<input class='scalable-input input-field' type='text' title='@{name}' name='attr_name' placeholder="Operative's Edge">
|
||
<span class='type-level' data-i18n='level'>LEVEL</span>
|
||
<input class='type-level bab input-field' type='number' name='attr_level' value='0'>
|
||
</div>
|
||
<div class='row span-all'>
|
||
<select class='freq-select' title='@{type}' name='attr_type'>
|
||
<option value='spell tradition' data-i18n='spell tradition' selected>SPELL TRADITION</option><option value='arcane spell' data-i18n='arcane spell'>ARCANE SPELL</option><option value='divine spell' data-i18n='divine spell'>DIVINE SPELL</option><option value='primal spell' data-i18n='primal spell'>PRIMAL SPELL</option><option value='occult spell' data-i18n='occult spell'>OCCULT SPELL</option>
|
||
</select>
|
||
<span class='label' data-i18n='duration'>DURATION</span>
|
||
<input class='scalable-input input-field' type='text' title='@{duration}' name='attr_duration' value=''>
|
||
<input class='type-filter' type='hidden' name='attr_type' value='general-feat'>
|
||
</div>
|
||
<div class='row' hidden='true'>
|
||
<select class='freq-select' title='@{frequency}' name='attr_frequency'>
|
||
<option value='constant' data-i18n='constant' selected='selected'>CONSTANT</option>
|
||
<option value='at-will' data-i18n='at-will'>AT WILL</option>
|
||
<option value='daily-limit' data-i18n='x/day'>X/DAY</option>
|
||
</select>
|
||
</div>
|
||
<div class='row span-all'>
|
||
<span class='label' data-i18n='target'>TARGET</span>
|
||
<input class='scalable-input input-field' type='text' title='@{target}' name='attr_target'>
|
||
<span class='label' data-i18n='rng'>RANGE</span>
|
||
<input class='scalable-input input-field' type='text' title='@{range}' name='attr_range'>
|
||
</div>
|
||
<div class='row span-all'>
|
||
<span class='label' data-i18n='school'>SCHOOL</span>
|
||
<select name='attr_school'>
|
||
<option value='abjuration' data-i18n='abjuration' selected>ABJURATION</option>
|
||
<option value='conjuration' data-i18n='conjuration'>CONJURATION</option>
|
||
<option value='divination' data-i18n='divination'>DIVINATION</option>
|
||
<option value='enchantment' data-i18n='enchantment'>ENCHANTMENT</option>
|
||
<option value='evocation' data-i18n='evocation'>EVOCATION</option>
|
||
<option value='illusion' data-i18n='illusion'>ILLUSION</option>
|
||
<option value='necromancy' data-i18n='necromancy'>NECROMANCY</option>
|
||
<option value='transmutation' data-i18n='transmutation'>TRANSMUTATION</option>
|
||
</select>
|
||
</div>
|
||
<div class='row span-all'>
|
||
<span class='label' data-i18n='traits'>TRAITS</span>
|
||
<input class='scalable-input' type='text' name='attr_traits' value=''>
|
||
</div>
|
||
<input class='type-filter' type='hidden' name='attr_type' value='general-feat'>
|
||
<input type='hidden' title='@{frequency}' name='attr_frequency' class='freq-check'>
|
||
<div class='row span-all'>
|
||
<span class='label abi-cost' data-i18n='usage'>USAGE</span>
|
||
<input class='scalable-input input-field' type='text' title='@{usage}' name='attr_usage'>
|
||
</div>
|
||
<div class='row daily-limit span-all'>
|
||
<input class='' type='number' title='@{uses}' name='attr_uses' value='0'>
|
||
<span class='label'>/</span>
|
||
<div class='scalable-input attr-base-mod-container input-field'>
|
||
<input class='base-attr ability-uses' type='text' title='@{uses_max}' name='attr_uses_max_base' value='10' >
|
||
<input class='mod-buff' type='hidden' name='attr_uses_change' value='0'>
|
||
<span class='input-field modified-attr attr ability-uses' readonly='true' type='text' title='@{uses_max}' name='attr_uses_max' value='10'>10</span>
|
||
</div>
|
||
<span class='label' data-i18n='_-daily-uses'>Daily Uses</span>
|
||
</div>
|
||
<input class='field-tab' type='checkbox' title='@{proficiency_checkbox}' name='attr_proficiency_checkbox' value='1' hidden='true'>
|
||
<label class='expandable'><input class='field-tab atk-tab' type='checkbox' title='@{proficiency_checkbox}' name='attr_proficiency_checkbox' value='1' hidden='true'><span class='field label' data-i18n='proficiencies'>PROFICIENCIES</span></label>
|
||
<input class='field-tab' type='checkbox' title='@{proficiency_checkbox}' name='attr_proficiency_checkbox' value='1' hidden='true'>
|
||
<div class='field-container expandable inherit-grid'>
|
||
<input class='field-tab' type='checkbox' title='@{proficiency_checkbox}' name='attr_proficiency_checkbox' value='1' hidden='true'>
|
||
<div class='field row scalable-input proficiency-container'>
|
||
<select class='span-five' name='attr_proficiency'>
|
||
<option value='-2' data-i18n='untrained'>UNTRAINED</option>
|
||
<option value='0' data-i18n='trained'>TRAINED</option>
|
||
<option value='1' data-i18n='expert'>EXPERT</option>
|
||
<option value='2' data-i18n='master'>MASTER</option>
|
||
<option value='3' data-i18n='legendary'>LEGENDARY</option>
|
||
</select>
|
||
</div>
|
||
</div>
|
||
<input class='field-tab' type='checkbox' title='@{attack_checkbox}' name='attr_attack_checkbox' value='1' hidden='true'>
|
||
<label class='expandable'><input class='field-tab atk-tab' type='checkbox' title='@{attack_checkbox}' name='attr_attack_checkbox' value='1' hidden='true'><span class='field label' data-i18n='atk'>ATK</span></label>
|
||
<input class='field-tab' type='checkbox' title='@{attack_checkbox}' name='attr_attack_checkbox' value='1' hidden='true'>
|
||
<div class='field-container expandable inherit-grid'>
|
||
<input class='field-tab' type='checkbox' title='@{attack_checkbox}' name='attr_attack_checkbox' value='1' hidden='true'>
|
||
<div class='field row span-two'>
|
||
<select class='label atk-ability abi' title='@{attack_ability}' name='attr_attack_ability'>
|
||
<option value='0' selected='selected'>N/A</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>
|
||
<input hidden='true' title='@{attack_ability}' name='attr_attack_ability' value='0'>
|
||
</div>
|
||
</div>
|
||
<input class='field-tab' type='checkbox' title='@{damage_checkbox}' name='attr_damage_checkbox' value='1' hidden='true'>
|
||
<label class='expandable'><input class='field-tab dmg-tab' type='checkbox' title='@{damage_checkbox}' name='attr_damage_checkbox' value='1' hidden='true'><span class='field label' data-i18n='dmg'>DMG</span></label>
|
||
<input class='field-tab' type='checkbox' title='@{damage_checkbox}' name='attr_damage_checkbox' value='1' hidden='true'>
|
||
<div class='field-container expandable inherit-grid'>
|
||
<input class='field-tab' type='checkbox' title='@{damage_checkbox}' name='attr_damage_checkbox' value='1' hidden='true'>
|
||
<input hidden='true' title='@{damage_misc}' name='attr_damage_misc' value=''>
|
||
<div class='field row span-two'>
|
||
<input class='abi-dmg-dice' type='text' name=attr_damage_dice><span>+</span>
|
||
<select class='label atk-ability abi' title='@{damage_ability}' name='attr_damage_ability'>
|
||
<option value='' selected='selected'>N/A</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>
|
||
<input hidden='true' title='@{damage_ability}' name='attr_damage_ability' value='0'>
|
||
</div>
|
||
<div class='field row span-two'>
|
||
<span class='label' data-i18n='type'>TYPE</span>
|
||
<input class='scalable-input input-field' type='text' title='@{attack_type}' name='attr_attack_type'>
|
||
<span class='label' data-i18n='crit-effect'>CRIT EFFECT</span>
|
||
<input class='scalable-input input-field' type='text' title='@{attack_crit}' name='attr_attack_crit'>
|
||
</div>
|
||
</div>
|
||
<input class='field-tab' type='checkbox' title='@{save_checkbox}' name='attr_save_checkbox' value='1' hidden='true'>
|
||
<label class='expandable'><input class='field-tab save-effect-tab' type='checkbox' title='@{save_checkbox}' name='attr_save_checkbox' value='1' hidden='true'><span class='field label' data-i18n='save-effect'>SAVE EFFECT</span></label>
|
||
<input class='field-tab' type='checkbox' title='@{save_checkbox}' name='attr_save_checkbox' value='1' hidden='true'>
|
||
<div class='field-container expandable inherit-grid'>
|
||
<input class='field-tab' type='checkbox' title='@{save_checkbox}' name='attr_save_checkbox' value='1' hidden='true'>
|
||
<div class='field row span-all'>
|
||
<select class='label atk-ability abi' title='@{save_ability}' name='attr_save_ability'>
|
||
<option value='@{strength_mod}' data-i18n='str' selected='selected'>STR</option>
|
||
<option value='@{dexterity_mod}' data-i18n='dex'>DEX</option>
|
||
<option value='@{constitution_mod}' data-i18n='con'>CON</option>
|
||
<option value='@{intelligence_mod}' data-i18n='int'>INT</option>
|
||
<option value='@{wisdom_mod}' data-i18n='wis'>WIS</option>
|
||
<option value='@{charisma_mod}' data-i18n='cha'>CHA</option>
|
||
</select>
|
||
<span class='label' data-i18n='based-dc_'>Based DC </span>
|
||
<input class='mod-buff' type='hidden' name='attr_dc_change' value='0'>
|
||
<span class='modified-attr bab' title='@{dc}' name='attr_dc' value='10'>10</span>
|
||
<select class='label save-type' title='@{save_type}' name='attr_save_type'>
|
||
<option value='' selected='selected'>-</option>
|
||
<option value='FORT' data-i18n='fort-save'>FORT SAVE</option>
|
||
<option value='REF' data-i18n='ref-save'>REF SAVE</option>
|
||
<option value='WILL' data-i18n='will-save'>WILL SAVE</option>
|
||
</select>
|
||
</div>
|
||
<div class='field row span-all'>
|
||
<textarea class='' title='@{effect}' name='attr_effect'></textarea>
|
||
</div>
|
||
<div class='field row span-all'>
|
||
<span class='label' data-i18n='A-Sucessful-Save:'>A Sucessful Save:</span>
|
||
</div>
|
||
<div class='field row span-all'>
|
||
<textarea class='' title='@{save_effect}' name='attr_save_effect'></textarea>
|
||
</div>
|
||
</div>
|
||
<input class='field-tab' type='checkbox' title='@{macro_checkbox}' name='attr_macro_checkbox' value='1' hidden='true'>
|
||
<label class='expandable'><input class='field-tab macro-tab' type='checkbox' title='@{macro_checkbox}' name='attr_macro_checkbox' value='1' hidden='true'><span class='label field' data-i18n='attacher'>ATTACHER</span></label>
|
||
<input class='field-tab' type='checkbox' title='@{macro_checkbox}' name='attr_macro_checkbox' value='1' hidden='true'>
|
||
<div class='row field-container mod-container expandable'>
|
||
<input class='field-tab' type='checkbox' title='@{macro_checkbox}' name='attr_macro_checkbox' value='1' hidden='true'>
|
||
<textarea class='field row scalable-input input-field' type='text' title='@{attacher}' name='attr_attacher'></textarea>
|
||
</div>
|
||
<div class='row span-all'>
|
||
<textarea class='' title='@{description}' name='attr_description'></textarea>
|
||
</div>
|
||
<div class='row span-all'><input readonly=true class='id-label' title='@{id}' name='attr_id'></input>
|
||
</div>
|
||
</div>
|
||
<div class='display'>
|
||
<input type='hidden' title='@{frequency}' name='attr_frequency' class='freq-check'>
|
||
<input class='freq-check at-will daily-limit' type='checkbox' title='@{toggle}' name='attr_toggle' value='1'>
|
||
<div class='button-description'>
|
||
<input class='label' readonly='true' type='text' title='@{name}' name='attr_name'>
|
||
<input class='label force-uppercase' readonly='true' type='text' name='attr_school'>
|
||
<button class='npcsummary' type='roll' title='%{roll}' name='roll_roll' value='@{whisper_state}&{template:spell} {{name=@{character_name}}} {{characterid=@{character_id}}} {{title=@{name}}} {{saveflag=[[1d@{save_checkbox}]]}} {{activation=@{usage}}} {{duration=@{duration}}} {{targets=@{target}}} {{range=@{range}}} {{savedc=@{dc}}} {{savetype=@{save_type}}} {{effect=@{effect}}} {{saveeffect=@{save_effect}}} {{attackflag=[[1d@{attack_checkbox}]]}} {{r1=[[1d20+@{attack_ability}[ABI]+@{character_level}[LEVEL]+@{proficiency}[Prof]]]}} {{damage1=[[ [[@{damage_dice}+@{damage_ability}[ABI]]]}} {{damageflag=[[1d@{damage_checkbox}]]}} {{damage1type=@{attack_type}}} {{notes=@{description}}} @{attacher}'></button>
|
||
<label class='expand-button'><input hidden='true' class='expand-description' type='checkbox' name='attr_expand_description' value='1'><span class='collapsed pictos'>`</span><span class='expanded pictos'>J</span></label>
|
||
</div>
|
||
<input class='expand-description' type='hidden' name='attr_expand_description'>
|
||
<textarea class='description' title='@{description}' name='attr_description'></textarea>
|
||
</div>
|
||
</div>
|
||
</fieldset>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="container npc">
|
||
<div class='statblock'>
|
||
<div class='statblock-header'>
|
||
<input class='scalable-input char-name' type='text' title='@{character_name}' name='attr_character_name'>
|
||
<select class='scalable-input' title='@{rarity}' name='attr_rarity'>
|
||
<option value='common' data-i18n='common' selected='selected'>COMMON</option>
|
||
<option value='uncommon' data-i18n='uncommon'>UNCOMMON</option>
|
||
<option value='rare' data-i18n='rare'>RARE</option>
|
||
</select>
|
||
<input class='cr' type='text' title='@{character_level}' name='attr_character_level' value=''>
|
||
</div>
|
||
<textarea class='traits' name='attr_npc_traits'></textarea>
|
||
<div class='row perception'>
|
||
<span class='perception label' data-i18n='perception'>PERCEPTION</span>
|
||
<input class='modified-attr input-field' type='number' name='attr_perception' value='0'>
|
||
<span class='senses label' data-i81n='senses'>SENSES</span>
|
||
<input class='senses input-field' type='text' title='@{senses}' name='attr_senses'>
|
||
</div>
|
||
<div class='row'>
|
||
<span class='label' data-i18n='languages'>LANGUAGES</span>
|
||
<input class='scalable-input input-field' type='text' title='@{languages}' name='attr_languages'>
|
||
</div>
|
||
<div class='row'>
|
||
<!--Skills go here-->
|
||
</div>
|
||
<div class='row ability-scores'>
|
||
<span data-i18n='str'>STR</span>
|
||
<input class='modified-attr input-field' title='@{strength_mod}' name='attr_strength_mod' value='0'>
|
||
<span data-i18n='dex'>DEX</span>
|
||
<input class='modified-attr input-field' title='@{dexterity_mod}' name='attr_dexterity_mod' value='0'>
|
||
<span data-i18n='con'>CON</span>
|
||
<input class='modified-attr input-field' title='@{constitution_mod}' name='attr_constitution_mod' value='0'>
|
||
<span data-i18n='int'>INT</span>
|
||
<input class='modified-attr input-field' title='@{intelligence_mod}' name='attr_intelligence_mod' value='0'>
|
||
<span data-i18n='wis'>WIS</span>
|
||
<input class='modified-attr input-field' title='@{wisdom_mod}' name='attr_wisdom_mod' value='0'>
|
||
<span data-i18n='cha'>CHA</span>
|
||
<input class='modified-attr input-field' title='@{charisma_mod}' name='attr_charisma_mod' value='0'>
|
||
</div>
|
||
<div class='statblock-section-header defense-header'>
|
||
<span data-i18n='defense'>DEFENSE</span>
|
||
<div class='hp-rp-container'>
|
||
<span class='hp' data-i18n='hp'>HP</span>
|
||
<input class='hp' type='number' title='@{hp}' name='attr_hp'>
|
||
<span class='slash'>/</span>
|
||
<input class='hp' type='number' title='@{hp_max}' name='attr_hp_max'>
|
||
<span class='rp' data-18n='rp'>RP</span>
|
||
<input class='rp' type='number' title='@{rp}' name='attr_rp' value='0'>
|
||
<span class='slash'>/</span>
|
||
<input class='rp' type='number' title='@{rp_max}' name='attr_rp_max' value='0'>
|
||
</div>
|
||
</div>
|
||
<div class='row defense-row'>
|
||
<span class='npc-ac' data-i18n='eac'>EAC</span>
|
||
<div class='attr-base-mod-container input-field npc-ac'>
|
||
<input class='base-attr' type='number' title='@{tac}' name='attr_tac_base' value='10'>
|
||
<input class='mod-buff' type='hidden' name='attr_tac_change' value='0'>
|
||
<span class='modified-attr input-field' title='@{tac}' name='attr_tac' value='10'>10</span>
|
||
</div>
|
||
<span class='npc-ac' data-i18n='kac'>KAC</span>
|
||
<div class='attr-base-mod-container input-field npc-ac'>
|
||
<input class='base-attr' type='number' title='@{ac}' name='attr_ac_base' value='10'>
|
||
<input class='mod-buff' type='hidden' name='attr_ac_change' value='0'>
|
||
<span class='modified-attr input-field' title='@{ac}' name='attr_ac' value='10'>10</span>
|
||
</div>
|
||
<span class='npc-ac' data-i18n='cmd'>CMD</span>
|
||
<div class='attr-base-mod-container input-field npc-ac'>
|
||
<input class='base-attr' type='number' title='@{cmd}' name='attr_cmd_base' value='10'>
|
||
<input class='mod-buff' type='hidden' name='attr_cmd_change' value='0'>
|
||
<span class='modified-attr input-field' title='@{ac}' name='attr_cmd' value='10'>10</span>
|
||
</div>
|
||
<input class='npc-ac-notes input-field' type='text' title='@{ac_notes}' name='attr_ac_notes'>
|
||
</div>
|
||
<div class='row defense-row'>
|
||
<button class='npc-save' type='roll' title='%{fort}' name='roll_fort' value='@{whisper_state}&{template:generic} {{name=@{character_name}}} {{characterid=@{character_id}}} {{title=Fortitude}} {{r1=[[1d20+@{fort_base}[BASE]+@{fort_ability}[ABILITY]@{fort_misc}]] }} {{notes=@{save_notes}}}' data-i18n='fort' >FORT</button>
|
||
<div class='attr-base-mod-container input-field npc-save'>
|
||
<input class='base-attr' type='number' title='@{fort}' name='attr_fort_base' value='0'>
|
||
<input class='mod-buff' type='hidden' name='attr_fort_change' value='0'>
|
||
<span class='modified-attr input-field' title='@{fort}' name='attr_fort' value='0'>0</span>
|
||
</div>
|
||
<button class='npc-save' type='roll' title='%{ref}' name='roll_ref' value='@{whisper_state}&{template:generic} {{name=@{character_name}}} {{characterid=@{character_id}}} {{title=Ref}} {{r1=[[1d20+@{ref_base}[BASE]+@{ref_ability}[ABILITY]@{ref_misc}]] }} {{notes=@{save_notes}}}' data-i18n='ref' >REF</button>
|
||
<div class='attr-base-mod-container input-field npc-save'>
|
||
<input class='base-attr' type='number' title='@{ref}' name='attr_ref_base' value='0'>
|
||
<input class='mod-buff' type='hidden' name='attr_ref_change' value='0'>
|
||
<span class='modified-attr input-field' title='@{ref}' name='attr_ref' value='0'>0</span>
|
||
</div>
|
||
<button class='npc-save' type='roll' title='%{will}' name='roll_will' value='@{whisper_state}&{template:generic} {{name=@{character_name}}} {{characterid=@{character_id}}} {{title=Will}} {{r1=[[1d20+@{will_base}[BASE]+@{will_ability}[ABILITY]@{will_misc}]] }} {{notes=@{save_notes}}}' data-i18n='will' >WILL</button>
|
||
<div class='attr-base-mod-container input-field npc-save'>
|
||
<input class='base-attr' type='number' title='@{will}' name='attr_will_base' value='0'>
|
||
<input class='mod-buff' type='hidden' name='attr_will_change' value='0'>
|
||
<span class='modified-attr input-field' title='@{will}' name='attr_will' value='0'>0</span>
|
||
</div>
|
||
<input class='npc-save-notes input-field' type='text' title='@{save_notes}' name='attr_save_notes'>
|
||
</div>
|
||
<div class='row'>
|
||
<span class='def-abilities' data-i18n='defensive-abilities'>DEFENSIVE ABILITIES</span>
|
||
<input class='def-abilities scalable-input input-field' type='text' title='@{defensive_abilities}' name='attr_defensive_abilities'>
|
||
</div>
|
||
<div class='row'>
|
||
<span class='dr' data-i18n='dr'>DR</span>
|
||
<input class='scalable-input input-field' type='text' title='@{dr}' name='attr_dr'>
|
||
<span class='immunities' data-i18n='immunities'>IMMUNITIES</span>
|
||
<input class='immunities scalable-input input-field' type='text' title='@{immunities}' name='attr_immunities'>
|
||
<span class='sr' data-i18n='sr'>SR</span>
|
||
<input class='sr' type='number' title='@{sr}' name='attr_sr'>
|
||
</div>
|
||
<div class='row'>
|
||
<span class='resistances' data-i18n='resistances'>RESISTANCES</span>
|
||
<input class='resistances scalable-input input-field' type='text' title='@{resistances}' name='attr_resistances'>
|
||
<span class='weaknesses' data-i18n='weaknesses'>WEAKNESSES</span>
|
||
<input class='weaknesses scalable-input input-field' type='text' title='@{weaknesses}' name='attr_weaknesses'>
|
||
</div>
|
||
<div class='statblock-section-header offense-header'>
|
||
<span data-i18n='offense'>OFFENSE</span>
|
||
</div>
|
||
<div class='row'>
|
||
<span data-i18n='speed'>SPEED</span>
|
||
<input class='speed scalable-input input-field' type='text' title='@{speed}' name='attr_speed'>
|
||
</div>
|
||
<div class='attack-row'>
|
||
<span class='attack-label label' data-i18n='melee'>MELEE</span>
|
||
<fieldset class='repeating_attack'>
|
||
<input hidden='true' type='text' title='@{proficiency_value}' name='attr_proficiency_value' value='0'>
|
||
<input hidden='true' type='text' title='@{damage_proficiency_value}' name='attr_damage_proficiency_value' value='0'>
|
||
<input class='filter' type='radio' hidden='true' title='@{range_filter}' name='attr_range_filter' value='melee' checked='checked'>
|
||
<input type='radio' hidden='true' title='@{range_filter}' name='attr_range_filter' value='ranged'>
|
||
<div class='filter-container attack'>
|
||
<input type='text' hidden='true' title='@{misc}' name='attr_misc' value=''>
|
||
<input type='text' hidden='true' title='@{damage_misc}' name='attr_damage_misc' value=''>
|
||
<input class="show-options" type="checkbox" title='@{show_options}' name="attr_show_options" value='1' checked="checked"><span>y</span>
|
||
<div class='row-options'>
|
||
<div class='row span-all'>
|
||
<span class='label' data-i18n='name-u'>NAME</span>
|
||
<input class='atk-name scalable-input input-field' type='text' title='@{name}' name='attr_name' value=''>
|
||
<span class='label' data-i18n='lvl'>LVL</span>
|
||
<input class='atk-level input-field' type='text' title='@{level}' name='attr_level' value='0'>
|
||
</div>
|
||
<div class='row span-two'>
|
||
<span class='label' data-i18n='atk-u'>ATTACK ROLL</span>
|
||
<input class='bab input-field' type='number' title='@{base_attack_bonus_base}' name='attr_base_attack_bonus_base' value='0'>
|
||
<input class='bab input-field' type='hidden' title='@{base_attack_bonus_base}' name='attr_base_attack_bonus' value='0'>
|
||
<input class='atk-misc misc scalable-input input-field' type='text' title='@{bonus}' name='attr_bonus' value=''>
|
||
</div>
|
||
<div class='row span-two'>
|
||
<span class='label' data-i18n='dmg'>DAMAGE ROLL</span>
|
||
<input class='dmg-dice scalable-input input-field' type='text' name=attr_damage_dice value=''>
|
||
</div>
|
||
<div class='row span-two'>
|
||
<input hidden='true' type='text' title='@{ability}' name='attr_ability' value='0'>
|
||
<span class='label' data-i18n='attack-affected-by-buffs-to'>ATTACK ROLL AFFECTED BY BUFFS TO</span>
|
||
<select class='label atk-ability abi input-field' title='@{ability}' name='attr_ability'>
|
||
<option value='0' selected='na' selected='selected'>N/A</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>
|
||
</div>
|
||
<div class='row span-two'>
|
||
<input hidden='true' type='text' title='@{damage_ability}' name='attr_damage_ability' value='0'>
|
||
<span class='label' data-i18n='damage-affected-by-buffs-to'>DAMAGE AFFECTED BY BUFFS TO</span>
|
||
<select class='label atk-ability abi input-field' title='@{damage_ability}' name='attr_damage_ability'>
|
||
<option value='0' selected='na' selected='selected'>N/A</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>
|
||
</div>
|
||
<div class='row span-two'>
|
||
<span class='label' data-i18n='rng'>RANGE</span>
|
||
<input class='atk-range scalable-input input-field' type='text' title='@{range}' name='attr_range' value=''>
|
||
<select class='label atk-range-type input-field' title='@{engagement_range}' name='attr_engagement_range'>
|
||
<option value='melee' data-i18n='melee' selected='selected'>MELEE</option>
|
||
<option value='ranged' data-i18n='ranged'>RANGED</option>
|
||
</select>
|
||
</div>
|
||
<div class='row span-two'>
|
||
<span class='label' data-i18n='damage-type'>DAMAGE TYPE</span>
|
||
<input class='atk-type scalable-input input-field' type='text' title='@{type}' name='attr_type' value=''>
|
||
<span class='label' data-i18n='crit-effect'>CRITICAL EFFECT</span>
|
||
<input class='atk-crit scalable-input input-field' type='text' title='@{crit}' name='attr_crit' value=''>
|
||
</div>
|
||
<div class='row span-two'>
|
||
<input class='label scalable-input input-field' data-i18n- title='@{ammo_type}' name='attr_ammo_type' value='' type='text' >
|
||
<input title='@{ammo}' name='attr_ammo' type='number' value=''>
|
||
<span class='label'>/</span>
|
||
<input class='input-field' title='@{ammo_max}' name='attr_ammo_max' type='number' value=''>
|
||
</div>
|
||
<div class='row span-two'>
|
||
<span class='label' data-i18n='usage'>USAGE</span>
|
||
<input class='atk-usage scalable-input input-field' type='text' title='@{usage}' name='attr_usage' value=''>
|
||
<span class='label' data-i18n='special'>SPECIAL</span>
|
||
<input class='atk-special scalable-input input-field' type='text' title='@{special}' name='attr_special' value=''>
|
||
</div>
|
||
<input class='field-tab' type='checkbox' title='@{full_attack_checkbox}' name='attr_full_attack_checkbox' value='1' hidden='true'>
|
||
<label class='expandable'><input class='field-tab macro-tab' type='checkbox' title='@{full_attack_checkbox}' name='attr_full_attack_checkbox' value='1' hidden='true'><span class='label field' data-i18n='additional-attack'>ADDITIONAL ATTACKS</span></label>
|
||
<input class='field-tab' type='checkbox' title='@{full_attack_checkbox}' name='attr_full_attack_checkbox' value='1' hidden='true'>
|
||
<div class='field-container inherit-grid expandable'>
|
||
<input class='field-tab macro-tab' type='checkbox' title='@{full_attack_checkbox}' name='attr_full_attack_checkbox' value='1' hidden='true'>
|
||
<div class='field row'>
|
||
<span data-i18n='roll-full-attack_'>ROLL FULL ATTACK: </span>
|
||
</div>
|
||
<div class='field row span-two'>
|
||
<label><input type='radio' title='@{full_attack_query}' name='attr_full_attack_query' value='?{Full Attack|No,0|Yes,1}' checked='checked'><span class='label' data-i18n='query'>QUERY</span></label>
|
||
<label><input type='radio' title='@{full_attack_query}' name='attr_full_attack_query' value='1'><span class='label' data-i18n='always'>ALWAYS</span></label>
|
||
<label><input type='radio' title='@{full_attack_query}' name='attr_full_attack_query' value='0'><span class='label' data-i18n='never'>NEVER</span></label>
|
||
</div>
|
||
<div class='field row span-two'>
|
||
<span class='label' data-i18n='number-of-attacks:'>NUMBER OF ATTACKS:</span>
|
||
<input class='scalable-input attack-num input-field' type='text' title='@{full_attack_number}' name='attr_full_attack_number' value='2'>
|
||
</div>
|
||
<div class='field row span-two'>
|
||
<span class='label' data-i8n='full-attack-penalty:'>ATTACK PENALTY:</span>
|
||
<input class='scalable-input attack-num input-field' type='text' title='@{full_attack_penalty}' name='attr_full_attack_penalty' value='-4'>
|
||
</div>
|
||
</div>
|
||
<input class='field-tab' type='checkbox' title='@{macro_checkbox}' name='attr_macro_checkbox' value='1' hidden='true'>
|
||
<label class='expandable'><input class='field-tab macro-tab' type='checkbox' title='@{macro_checkbox}' name='attr_macro_checkbox' value='1' hidden='true'><span class='label field' data-i18n='attacher'>ATTACHER</span></label>
|
||
<input class='field-tab' type='checkbox' title='@{macro_checkbox}' name='attr_macro_checkbox' value='1' hidden='true'>
|
||
<input class='field-tab macro-tab' type='checkbox' title='@{macro_checkbox}' name='attr_macro_checkbox' value='1' hidden='true'>
|
||
<textarea class='expandable atk-description input-field' title='@{attacher}' name='attr_attacher' ></textarea>
|
||
<div class='row span-all'>
|
||
<textarea class='atk-description scalable-input input-field' title='@{description}' name='attr_description' value=''></textarea>
|
||
</div>
|
||
<div class='row span-all'>
|
||
<input readonly=true class='id-label' title='@{id}' name='attr_id'></input>
|
||
</div>
|
||
</div>
|
||
<div class='display'>
|
||
<div class='button-description'>
|
||
<input class='label' title='@{name}' type='text' name='attr_name'>
|
||
<div class='attr-total-container'>
|
||
<input class='mod-buff' type='hidden' name='attr_total_change' value='0'>
|
||
<span class='label modified-attr' title='@{total}' name='attr_total' value='0'>0</span>
|
||
</div>
|
||
<div class='attr-total-container span-two'>
|
||
<input class='mod-buff' type='hidden' name='attr_damage_total_change' value='0'>
|
||
<span class='label modified-attr' title='@{damage_total}' name='attr_damage_total' value='0'>0</span>
|
||
</div>
|
||
<input type='text' class='label' title='@{type}' name='attr_type'>
|
||
<button class='summary' type='roll' title='%{roll}' name='roll_roll' value='@{whisper_state}&{template:attack}{{name=@{character_name}}} {{characterid=@{character_id}}} {{title=@{name}}} {{r1name=@{name}}} {{r1=[[1d20+@{base_attack_bonus}[BAB]+@{ability}[ABILITY]+@{proficiency_value}[PROF]+[[@{full_attack_query}*(@{full_attack_penalty})]][FULL ATTACK]@{misc}@{bonus}]]}} {{damage1type=@{type}}} {{damage1=[[@{damage_dice}+@{damage_ability}[ABILITY]+@{damage_proficiency_value}[SPEC]@{damage_misc}]]}} {{crit1damage=[[@{damage_dice}+@{damage_ability}[ABILITY]+@{damage_proficiency_value}[SPEC]@{damage_misc}]]}} {{crit1effect=@{crit}}} {{r2name=@{name}}} {{r2=[[1d20+@{base_attack_bonus}[BAB]+@{ability}[ABILITY]+@{proficiency_value}[PROF]+[[@{full_attack_penalty}]][FULL ATTACK]@{misc}@{bonus}]]}} {{damage2type=@{type}}} {{damage2=[[@{damage_dice}+@{damage_ability}[ABILITY]+@{damage_proficiency_value}[SPEC]@{damage_misc}]]}} {{crit2damage=[[@{damage_dice}+@{damage_ability}[ABILITY]+@{damage_proficiency_value}[SPEC]@{damage_misc}]]}} {{crit2effect=@{crit}}} {{r3name=@{name}}} {{r3=[[1d20+@{base_attack_bonus}[BAB]+@{ability}[ABILITY]+@{proficiency_value}[PROF]+@{full_attack_penalty}[FULL ATTACK]@{misc}@{bonus}]]}} {{damage3type=@{type}}} {{damage3=[[@{damage_dice}+@{damage_ability}[ABILITY]+@{damage_proficiency_value}[SPEC]@{damage_misc}]]}} {{crit3damage=[[@{damage_dice}+@{damage_ability}[ABILITY]+@{damage_proficiency_value}[SPEC]@{damage_misc}]]}} {{crit3effect=@{crit}}} {{r4name=@{name}}} {{r4=[[1d20+@{base_attack_bonus}[BAB]+@{ability}[ABILITY]+@{proficiency_value}[PROF]+@{full_attack_penalty}[FULL ATTACK]@{misc}@{bonus}]]}} {{damage4type=@{type}}} {{damage4=[[@{damage_dice}+@{damage_ability}[ABILITY]+@{damage_proficiency_value}[SPEC]@{damage_misc}]]}} {{crit4damage=[[@{damage_dice}+@{damage_ability}[ABILITY]+@{damage_proficiency_value}[SPEC]@{damage_misc}]]}} {{crit4effect=@{crit}}} {{r5name=@{name}}} {{r5=[[1d20+@{base_attack_bonus}[BAB]+@{ability}[ABILITY]+@{proficiency_value}[PROF]+@{full_attack_penalty}[FULL ATTACK]@{misc}@{bonus}]]}} {{damage5type=@{type}}} {{damage5=[[@{damage_dice}+@{damage_ability}[ABILITY]+@{damage_proficiency_value}[SPEC]@{damage_misc}]]}} {{crit5damage=[[@{damage_dice}+@{damage_ability}[ABILITY]+@{damage_proficiency_value}[SPEC]@{damage_misc}]]}} {{crit5effect=@{crit}}} {{range=@{range}}} {{ammo_type=@{ammo_type}}} {{curr_ammo=@{ammo}}} {{notes=@{description}}} @{attacher}'></button>
|
||
<label class='expand-button'><input hidden='true' class='expand-description' type='checkbox' name='attr_expand_description' value='1'><span class='collapsed pictos'>`</span><span class='expanded pictos'>J</span></label>
|
||
</div>
|
||
<input class='expand-description' type='hidden' name='attr_expand_description'>
|
||
<textarea class='description span-all' title='@{description}' name='attr_description'></textarea>
|
||
</div>
|
||
</div>
|
||
</fieldset>
|
||
<label class='pseudo-repcontrol'><input type='checkbox' title='@{create_npcmelee}' name='attr_create_npcmelee' value='melee'><span>&</span></label>
|
||
</div>
|
||
<div class='attack-row'>
|
||
<span class='attack-label label' data-i18n='ranged'>RANGED</span>
|
||
<fieldset class='repeating_attack'>
|
||
<input hidden='true' type='text' title='@{proficiency_value}' name='attr_proficiency_value' value='0'>
|
||
<input hidden='true' type='text' title='@{damage_proficiency_value}' name='attr_damage_proficiency_value' value='0'>
|
||
<input type='radio' hidden='true' title='@{range_filter}' name='attr_range_filter' value='melee' checked='checked'>
|
||
<input class='filter' type='radio' hidden='true' title='@{range_filter}' name='attr_range_filter' value='ranged'>
|
||
<div class='filter-container attack'>
|
||
<input type='text' hidden='true' title='@{misc}' name='attr_misc' value=''>
|
||
<input type='text' hidden='true' title='@{damage_misc}' name='attr_damage_misc' value=''>
|
||
<input class="show-options" type="checkbox" title='@{show_options}' name="attr_show_options" value='1' checked="checked"><span>y</span>
|
||
<div class='row-options'>
|
||
<div class='row span-all'>
|
||
<span class='label' data-i18n='name-u'>NAME</span>
|
||
<input class='atk-name scalable-input input-field' type='text' title='@{name}' name='attr_name' value=''>
|
||
<span class='label' data-i18n='lvl'>LVL</span>
|
||
<input class='atk-level input-field' type='text' title='@{level}' name='attr_level' value='0'>
|
||
</div>
|
||
<div class='row span-two'>
|
||
<span class='label' data-i18n='atk-u'>ATTACK ROLL</span>
|
||
<input class='bab input-field' type='number' title='@{base_attack_bonus_base}' name='attr_base_attack_bonus_base' value='0'>
|
||
<input class='bab input-field' type='hidden' title='@{base_attack_bonus_base}' name='attr_base_attack_bonus' value='0'>
|
||
<input class='atk-misc misc scalable-input input-field' type='text' title='@{bonus}' name='attr_bonus' value=''>
|
||
</div>
|
||
<div class='row span-two'>
|
||
<span class='label' data-i18n='dmg'>DAMAGE ROLL</span>
|
||
<input class='dmg-dice scalable-input input-field' type='text' name=attr_damage_dice value=''>
|
||
</div>
|
||
<div class='row span-two'>
|
||
<input hidden='true' type='text' title='@{ability}' name='attr_ability' value='0'>
|
||
<span class='label' data-i18n='attack-affected-by-buffs-to'>ATTACK ROLL AFFECTED BY BUFFS TO</span>
|
||
<select class='label atk-ability abi input-field' title='@{ability}' name='attr_ability'>
|
||
<option value='0' selected='na' selected='selected'>N/A</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>
|
||
</div>
|
||
<div class='row span-two'>
|
||
<input hidden='true' type='text' title='@{damage_ability}' name='attr_damage_ability' value='0'>
|
||
<span class='label' data-i18n='damage-affected-by-buffs-to'>DAMAGE AFFECTED BY BUFFS TO</span>
|
||
<select class='label atk-ability abi input-field' title='@{damage_ability}' name='attr_damage_ability'>
|
||
<option value='0' selected='na' selected='selected'>N/A</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>
|
||
</div>
|
||
<div class='row span-two'>
|
||
<span class='label' data-i18n='rng'>RANGE</span>
|
||
<input class='atk-range scalable-input input-field' type='text' title='@{range}' name='attr_range' value=''>
|
||
<select class='label atk-range-type input-field' title='@{engagement_range}' name='attr_engagement_range'>
|
||
<option value='melee' data-i18n='melee' selected='selected'>MELEE</option>
|
||
<option value='ranged' data-i18n='ranged'>RANGED</option>
|
||
</select>
|
||
</div>
|
||
<div class='row span-two'>
|
||
<span class='label' data-i18n='damage-type'>DAMAGE TYPE</span>
|
||
<input class='atk-type scalable-input input-field' type='text' title='@{type}' name='attr_type' value=''>
|
||
<span class='label' data-i18n='crit-effect'>CRITICAL EFFECT</span>
|
||
<input class='atk-crit scalable-input input-field' type='text' title='@{crit}' name='attr_crit' value=''>
|
||
</div>
|
||
<div class='row span-two'>
|
||
<input class='label scalable-input input-field' data-i18n- title='@{ammo_type}' name='attr_ammo_type' value='' type='text' >
|
||
<input title='@{ammo}' name='attr_ammo' type='number' value=''>
|
||
<span class='label'>/</span>
|
||
<input class='input-field' title='@{ammo_max}' name='attr_ammo_max' type='number' value=''>
|
||
</div>
|
||
<div class='row span-two'>
|
||
<span class='label' data-i18n='usage'>USAGE</span>
|
||
<input class='atk-usage scalable-input input-field' type='text' title='@{usage}' name='attr_usage' value=''>
|
||
<span class='label' data-i18n='special'>SPECIAL</span>
|
||
<input class='atk-special scalable-input input-field' type='text' title='@{special}' name='attr_special' value=''>
|
||
</div>
|
||
<input class='field-tab' type='checkbox' title='@{full_attack_checkbox}' name='attr_full_attack_checkbox' value='1' hidden='true'>
|
||
<label class='expandable'><input class='field-tab macro-tab' type='checkbox' title='@{full_attack_checkbox}' name='attr_full_attack_checkbox' value='1' hidden='true'><span class='label field' data-i18n='additional-attack'>ADDITIONAL ATTACKS</span></label>
|
||
<input class='field-tab' type='checkbox' title='@{full_attack_checkbox}' name='attr_full_attack_checkbox' value='1' hidden='true'>
|
||
<div class='field-container inherit-grid expandable'>
|
||
<input class='field-tab macro-tab' type='checkbox' title='@{full_attack_checkbox}' name='attr_full_attack_checkbox' value='1' hidden='true'>
|
||
<div class='field row'>
|
||
<span data-i18n='roll-full-attack_'>ROLL FULL ATTACK: </span>
|
||
</div>
|
||
<div class='field row span-two'>
|
||
<label><input type='radio' title='@{full_attack_query}' name='attr_full_attack_query' value='?{Full Attack|No,0|Yes,1}' checked='checked'><span class='label' data-i18n='query'>QUERY</span></label>
|
||
<label><input type='radio' title='@{full_attack_query}' name='attr_full_attack_query' value='1'><span class='label' data-i18n='always'>ALWAYS</span></label>
|
||
<label><input type='radio' title='@{full_attack_query}' name='attr_full_attack_query' value='0'><span class='label' data-i18n='never'>NEVER</span></label>
|
||
</div>
|
||
<div class='field row span-two'>
|
||
<span class='label' data-i18n='number-of-attacks:'>NUMBER OF ATTACKS:</span>
|
||
<input class='scalable-input attack-num input-field' type='text' title='@{full_attack_number}' name='attr_full_attack_number' value='2'>
|
||
</div>
|
||
<div class='field row span-two'>
|
||
<span class='label' data-i8n='full-attack-penalty:'>ATTACK PENALTY:</span>
|
||
<input class='scalable-input attack-num input-field' type='text' title='@{full_attack_penalty}' name='attr_full_attack_penalty' value='-4'>
|
||
</div>
|
||
</div>
|
||
<input class='field-tab' type='checkbox' title='@{macro_checkbox}' name='attr_macro_checkbox' value='1' hidden='true'>
|
||
<label class='expandable'><input class='field-tab macro-tab' type='checkbox' title='@{macro_checkbox}' name='attr_macro_checkbox' value='1' hidden='true'><span class='label field' data-i18n='attacher'>ATTACHER</span></label>
|
||
<input class='field-tab' type='checkbox' title='@{macro_checkbox}' name='attr_macro_checkbox' value='1' hidden='true'>
|
||
<input class='field-tab macro-tab' type='checkbox' title='@{macro_checkbox}' name='attr_macro_checkbox' value='1' hidden='true'>
|
||
<textarea class='expandable atk-description input-field' title='@{attacher}' name='attr_attacher' ></textarea>
|
||
<div class='row span-all'>
|
||
<textarea class='atk-description scalable-input input-field' title='@{description}' name='attr_description' value=''></textarea>
|
||
</div>
|
||
<div class='row span-all'>
|
||
<input readonly=true class='id-label' title='@{id}' name='attr_id'></input>
|
||
</div>
|
||
</div>
|
||
<div class='display'>
|
||
<div class='button-description'>
|
||
<input class='label' title='@{name}' type='text' name='attr_name'>
|
||
<div class='attr-total-container'>
|
||
<input class='mod-buff' type='hidden' name='attr_total_change' value='0'>
|
||
<span class='label modified-attr' title='@{total}' name='attr_total' value='0'>0</span>
|
||
</div>
|
||
<div class='attr-total-container span-two'>
|
||
<input class='mod-buff' type='hidden' name='attr_damage_total_change' value='0'>
|
||
<span class='label modified-attr' title='@{damage_total}' name='attr_damage_total' value='0'>0</span>
|
||
</div>
|
||
<input type='text' class='label' title='@{type}' name='attr_type'>
|
||
<button class='summary' type='roll' title='%{roll}' name='roll_roll' value='@{whisper_state}&{template:attack}{{name=@{character_name}}} {{characterid=@{character_id}}} {{title=@{name}}} {{r1name=@{name}}} {{r1=[[1d20+@{base_attack_bonus}[BAB]+@{ability}[ABILITY]+@{proficiency_value}[PROF]+[[@{full_attack_query}*(@{full_attack_penalty})]][FULL ATTACK]@{misc}@{bonus}]]}} {{damage1type=@{type}}} {{damage1=[[@{damage_dice}+@{damage_ability}[ABILITY]+@{damage_proficiency_value}[SPEC]@{damage_misc}]]}} {{crit1damage=[[@{damage_dice}+@{damage_ability}[ABILITY]+@{damage_proficiency_value}[SPEC]@{damage_misc}]]}} {{crit1effect=@{crit}}} {{r2name=@{name}}} {{r2=[[1d20+@{base_attack_bonus}[BAB]+@{ability}[ABILITY]+@{proficiency_value}[PROF]+[[@{full_attack_penalty}]][FULL ATTACK]@{misc}@{bonus}]]}} {{damage2type=@{type}}} {{damage2=[[@{damage_dice}+@{damage_ability}[ABILITY]+@{damage_proficiency_value}[SPEC]@{damage_misc}]]}} {{crit2damage=[[@{damage_dice}+@{damage_ability}[ABILITY]+@{damage_proficiency_value}[SPEC]@{damage_misc}]]}} {{crit2effect=@{crit}}} {{r3name=@{name}}} {{r3=[[1d20+@{base_attack_bonus}[BAB]+@{ability}[ABILITY]+@{proficiency_value}[PROF]+@{full_attack_penalty}[FULL ATTACK]@{misc}@{bonus}]]}} {{damage3type=@{type}}} {{damage3=[[@{damage_dice}+@{damage_ability}[ABILITY]+@{damage_proficiency_value}[SPEC]@{damage_misc}]]}} {{crit3damage=[[@{damage_dice}+@{damage_ability}[ABILITY]+@{damage_proficiency_value}[SPEC]@{damage_misc}]]}} {{crit3effect=@{crit}}} {{r4name=@{name}}} {{r4=[[1d20+@{base_attack_bonus}[BAB]+@{ability}[ABILITY]+@{proficiency_value}[PROF]+@{full_attack_penalty}[FULL ATTACK]@{misc}@{bonus}]]}} {{damage4type=@{type}}} {{damage4=[[@{damage_dice}+@{damage_ability}[ABILITY]+@{damage_proficiency_value}[SPEC]@{damage_misc}]]}} {{crit4damage=[[@{damage_dice}+@{damage_ability}[ABILITY]+@{damage_proficiency_value}[SPEC]@{damage_misc}]]}} {{crit4effect=@{crit}}} {{r5name=@{name}}} {{r5=[[1d20+@{base_attack_bonus}[BAB]+@{ability}[ABILITY]+@{proficiency_value}[PROF]+@{full_attack_penalty}[FULL ATTACK]@{misc}@{bonus}]]}} {{damage5type=@{type}}} {{damage5=[[@{damage_dice}+@{damage_ability}[ABILITY]+@{damage_proficiency_value}[SPEC]@{damage_misc}]]}} {{crit5damage=[[@{damage_dice}+@{damage_ability}[ABILITY]+@{damage_proficiency_value}[SPEC]@{damage_misc}]]}} {{crit5effect=@{crit}}} {{range=@{range}}} {{ammo_type=@{ammo_type}}} {{curr_ammo=@{ammo}}} {{notes=@{description}}} @{attacher}'></button>
|
||
<label class='expand-button'><input hidden='true' class='expand-description' type='checkbox' name='attr_expand_description' value='1'><span class='collapsed pictos'>`</span><span class='expanded pictos'>J</span></label>
|
||
</div>
|
||
<input class='expand-description' type='hidden' name='attr_expand_description'>
|
||
<textarea class='description span-all' title='@{description}' name='attr_description'></textarea>
|
||
</div>
|
||
</div>
|
||
</fieldset>
|
||
<label class='pseudo-repcontrol'><input type='checkbox' title='@{create_npcranged}' name='attr_create_npcranged' value='ranged'><span>&</span></label>
|
||
</div>
|
||
<div class='row'>
|
||
<span data-i18n='space'>SPACE</span>
|
||
<input class='space' type='text' title='@{space}' name='attr_space' value='5 ft'>
|
||
<span data-i18n='reach'>REACH</span>
|
||
<input class='reach scalable-input input-field' type='text' title='@{reach}' name='attr_reach'>
|
||
</div>
|
||
<div class='row'>
|
||
<span data-i18n='spells-known'>SPELLS KNOWN</span>
|
||
<span data-i18n='(cl'>(CL</span>
|
||
<input class='cl' type='number' title='@{caster_level}' name='attr_caster_level'>
|
||
<span>)</span>
|
||
<fieldset class='repeating_spell'><input hidden='true' type='text' title='@{attack_total}' name='attr_attack_total'><input hidden='true' type='text' title='@{damage_total}' name='attr_damage_total'>
|
||
<div class='spell'>
|
||
<input type='text' hidden='true' title='@{attack_misc}' name='attr_attack_misc' value=''>
|
||
<input type='text' hidden='true' title='@{effect_misc}' name='attr_effect_misc' value=''>
|
||
<input type='hidden' name='attr_dc' value='10'>
|
||
<input class="show-options" type="checkbox" title='@{show_options}' name="attr_show_options" checked="checked"><span>y</span>
|
||
<div class='row-options'>
|
||
<div class='row span-two display-margin'>
|
||
<span class='label' data-i18n='name-u'>NAME</span>
|
||
<input class='atk-name scalable-input input-field' type='text' title='@{name}' name='attr_name' placeholder="Operative's Edge">
|
||
<span class='label' data-i18n='lvl'>LVL</span>
|
||
<input class='atk-level' title='@{level}' name='attr_level' type='text' value=''>
|
||
</div>
|
||
<div class='row'>
|
||
<span class='label' data-i18n='source'>SOURCE</span>
|
||
<input class='scalable-input input-field' type='text' title='@{source}' name='attr_source'>
|
||
</div>
|
||
<div class='row'>
|
||
<span class='label' data-i18n='school'>SCHOOL</span>
|
||
<input class='scalable-input input-field' title='@{school}' name='attr_school' type='text'>
|
||
</div>
|
||
<div class='row span-two'>
|
||
<span class='label' data-i18n='target'>TARGET</span>
|
||
<input class='scalable-input input-field' type='text' title='@{target}' name='attr_target'>
|
||
<span class='label' data-i18n='rng'>RNG</span>
|
||
<input class='scalable-input input-field' type='text' title='@{range}' name='attr_range'>
|
||
</div>
|
||
<div class='row'>
|
||
<span class='label' data-i18n='duration'>DURATION</span>
|
||
<input class='scalable-input input-field' type='text' title='@{duration}' name='attr_duration' value=''>
|
||
</div>
|
||
<div class='row'>
|
||
<span class='label abi-cost' data-i18n='usage'>USAGE</span>
|
||
<input class='scalable-input input-field' type='text' title='@{usage}' name='attr_usage'>
|
||
</div>
|
||
<input class='field-tab' type='checkbox' title='@{attack_checkbox}' name='attr_attack_checkbox' value='1' hidden='true'>
|
||
<label class='expandable'><input class='field-tab atk-tab' type='checkbox' title='@{attack_checkbox}' name='attr_attack_checkbox' value='1' hidden='true'><span class='field label' data-i18n='atk'>ATK</span></label>
|
||
<input class='field-tab' type='checkbox' title='@{attack_checkbox}' name='attr_attack_checkbox' value='1' hidden='true'>
|
||
<div class='field-container expandable inherit-grid'>
|
||
<input class='field-tab' type='checkbox' title='@{attack_checkbox}' name='attr_attack_checkbox' value='1' hidden='true'>
|
||
<div class='field row span-two'>
|
||
<select class='label atk-ability abi' title='@{attack_ability}' name='attr_attack_ability'>
|
||
<option value='@{strength_mod}' selected='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>
|
||
<input hidden='true' title='@{attack_ability}' name='attr_attack_ability' value='0'>
|
||
<span class='arith'>+</span>
|
||
<input class='bab input-field' type='number' title='@{base_attack_bonus_base}' name='attr_base_attack_bonus_base' value='0'>
|
||
<input class='bab input-field' type='hidden' title='@{base_attack_bonus_base}' name='attr_base_attack_bonus' value='0'>
|
||
<input class='abi-misc' type='text' title='@{attack_bonus}' name='attr_attack_bonus'>
|
||
</div>
|
||
</div>
|
||
<input class='field-tab' type='checkbox' title='@{damage_checkbox}' name='attr_damage_checkbox' value='1' hidden='true'>
|
||
<label class='expandable'><input class='field-tab dmg-tab' type='checkbox' title='@{damage_checkbox}' name='attr_damage_checkbox' value='1' hidden='true'><span class='field label' data-i18n='dmg'>DMG</span></label>
|
||
<input class='field-tab' type='checkbox' title='@{damage_checkbox}' name='attr_damage_checkbox' value='1' hidden='true'>
|
||
<div class='field-container expandable inherit-grid'>
|
||
<input class='field-tab' type='checkbox' title='@{damage_checkbox}' name='attr_damage_checkbox' value='1' hidden='true'>
|
||
<input hidden='true' title='@{damage_misc}' name='attr_damage_misc' value=''>
|
||
<div class='field row span-two'>
|
||
<input class='abi-dmg-dice' type='text' name=attr_damage_dice><span>+</span>
|
||
<select class='label atk-ability abi' title='@{damage_ability}' name='attr_damage_ability'>
|
||
<option value='' selected='selected'>N/A</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>
|
||
<input hidden='true' title='@{damage_ability}' name='attr_damage_ability' value='0'>
|
||
</div>
|
||
<div class='field row span-two'>
|
||
<span class='label' data-i18n='type'>TYPE</span>
|
||
<input class='scalable-input input-field' type='text' title='@{attack_type}' name='attr_attack_type'>
|
||
<span class='label' data-i18n='crit-effect'>CRIT EFFECT</span>
|
||
<input class='scalable-input input-field' type='text' title='@{attack_crit}' name='attr_attack_crit'>
|
||
</div>
|
||
</div>
|
||
<input class='field-tab' type='checkbox' title='@{full_attack_checkbox}' name='attr_full_attack_checkbox' value='1' hidden='true'>
|
||
<label class='expandable'><input class='field-tab macro-tab' type='checkbox' title='@{full_attack_checkbox}' name='attr_full_attack_checkbox' value='1' hidden='true'><span class='label field' data-i18n='additional-attack'>ADDITIONAL ATTACKS</span></label>
|
||
<input class='field-tab' type='checkbox' title='@{full_attack_checkbox}' name='attr_full_attack_checkbox' value='1' hidden='true'>
|
||
<div class='field-container expandable inherit-grid'>
|
||
<input class='field-tab macro-tab' type='checkbox' title='@{full_attack_checkbox}' name='attr_full_attack_checkbox' value='1' hidden='true'>
|
||
<div class='field row span-two'>
|
||
<span data-i18n='roll-full-attack_'>ROLL FULL ATTACK: </span>
|
||
<label class='scalable-input'><input type='radio' title='@{full_attack_query}' name='attr_full_attack_query' value='?{Full Attack|No,0|Yes,1}'><span class='label' data-i18n='query'>QUERY</span></label>
|
||
<label class='scalable-input'><input type='radio' title='@{full_attack_query}' name='attr_full_attack_query' value='1'><span class='label' data-i18n='always'>ALWAYS</span></label>
|
||
<label class='scalable-input'><input type='radio' title='@{full_attack_query}' name='attr_full_attack_query' value='0' checked='checked'><span class='label' data-i18n='never'>NEVER</span></label>
|
||
</div>
|
||
<div class='field row span-two'>
|
||
<span class='label' data-i18n='number-of-attacks:'>NUMBER OF ATTACKS:</span>
|
||
<input class='scalable-input attack-num' type='text' title='@{full_attack_number}' name='attr_full_attack_number' value='2'>
|
||
<span class='label' data-i8n='full-attack-penalty:'>ATTACK PENALTY:</span>
|
||
<input class='scalable-input attack-num' type='text' title='@{full_attack_penalty}' name='attr_full_attack_penalty' value='-4'>
|
||
</div>
|
||
</div>
|
||
<input class='field-tab' type='checkbox' title='@{save_checkbox}' name='attr_save_checkbox' value='1' hidden='true'>
|
||
<label class='expandable'><input class='field-tab save-effect-tab' type='checkbox' title='@{save_checkbox}' name='attr_save_checkbox' value='1' hidden='true'><span class='field label' data-i18n='save-effect'>SAVE EFFECT</span></label>
|
||
<input class='field-tab' type='checkbox' title='@{save_checkbox}' name='attr_save_checkbox' value='1' hidden='true'>
|
||
<div class='field-container expandable inherit-grid'>
|
||
<input class='field-tab' type='checkbox' title='@{save_checkbox}' name='attr_save_checkbox' value='1' hidden='true'>
|
||
<div class='field row span-two'>
|
||
<select class='label atk-ability abi' title='@{save_ability}' name='attr_save_ability'>
|
||
<option value='@{strength_mod}' data-i18n='str' selected='selected'>STR</option>
|
||
<option value='@{dexterity_mod}' data-i18n='dex'>DEX</option>
|
||
<option value='@{constitution_mod}' data-i18n='con'>CON</option>
|
||
<option value='@{intelligence_mod}' data-i18n='int'>INT</option>
|
||
<option value='@{wisdom_mod}' data-i18n='wis'>WIS</option>
|
||
<option value='@{charisma_mod}' data-i18n='cha'>CHA</option>
|
||
</select>
|
||
<span class='label' data-i18n='based-dc_'>Based DC </span>
|
||
<div class='attr-base-mod-container input-field save-dc'>
|
||
<input class='base-attr' type='number' title='@{dc}' name='attr_dc_base' value='10'>
|
||
<input class='mod-buff' type='hidden' name='attr_dc_change' value='0'>
|
||
<span class='modified-attr input-field' title='@{dc}' name='attr_dc' value='10'>10</span>
|
||
</div>
|
||
<select class='label save-type' title='@{save_type}' name='attr_save_type'>
|
||
<option value='' selected='selected'>-</option>
|
||
<option value='FORT' data-i18n='fort-save'>FORT SAVE</option>
|
||
<option value='REF' data-i18n='ref-save'>REF SAVE</option>
|
||
<option value='WILL' data-i18n='will-save'>WILL SAVE</option>
|
||
</select>
|
||
</div>
|
||
<div class='field row span-two'>
|
||
<textarea class='' title='@{effect}' name='attr_effect'></textarea>
|
||
</div>
|
||
<div class='field row span-two'>
|
||
<span class='label' data-i18n='A-Sucessful-Save:'>A Sucessful Save:</span>
|
||
</div>
|
||
<div class='field row span-two'>
|
||
<textarea class='' title='@{save_effect}' name='attr_save_effect'></textarea>
|
||
</div>
|
||
</div>
|
||
<input class='field-tab' type='checkbox' title='@{macro_checkbox}' name='attr_macro_checkbox' value='1' hidden='true'>
|
||
<label class='expandable'><input class='field-tab macro-tab' type='checkbox' title='@{macro_checkbox}' name='attr_macro_checkbox' value='1' hidden='true'><span class='label field' data-i18n='attacher'>ATTACHER</span></label>
|
||
<input class='field-tab' type='checkbox' title='@{macro_checkbox}' name='attr_macro_checkbox' value='1' hidden='true'>
|
||
<div class='row field-container mod-container expandable'>
|
||
<input class='field-tab' type='checkbox' title='@{macro_checkbox}' name='attr_macro_checkbox' value='1' hidden='true'>
|
||
<textarea class='field row' type='text' title='@{attacher}' name='attr_attacher'></textarea>
|
||
</div>
|
||
<div class='row span-two'>
|
||
<textarea class='' title='@{description}' name='attr_description'></textarea>
|
||
</div>
|
||
<div class='row span-two'>
|
||
<input readonly=true class='id-label' title='@{id}' name='attr_id'></input>
|
||
</div>
|
||
</div>
|
||
<div class='display'>
|
||
<div class='button-description'>
|
||
<input class='label' title='@{name}' name='attr_name'>
|
||
<input class='label' name='attr_school'>
|
||
<button class='npcsummary' type='roll' title='%{roll}' name='roll_roll' value='@{whisper_state}&{template:spell} {{name=@{character_name}}} {{characterid=@{character_id}}} {{title=@{name}}} {{saveflag=[[1d@{save_checkbox}]]}} {{activation=@{usage}}} {{duration=@{duration}}} {{targets=@{target}}} {{range=@{range}}} {{savedc=[[@{dc}]]}} {{savetype=@{save_type}}} {{effect=@{effect}}} {{saveeffect=@{save_effect}}} {{attackflag=[[1d@{attack_checkbox}]]}}{{fullattack=[[@{full_attack_query}*(@{full_attack_number})]]}} {{r1=[[1d20+@{base_attack_bonus}[BAB]+@{attack_ability}[ABILITY]+[[@{full_attack_query}*(@{full_attack_penalty})]][FULL ATTACK]@{attack_misc}@{attack_bonus}]]}} {{damageflag=[[1d@{damage_checkbox}]]}} {{damage1type=@{attack_type}}} {{damage1=[[@{damage_dice}+@{damage_ability}[ABILITY]@{damage_misc}]]}} {{crit1damage=[[@{damage_dice}+@{damage_ability}[ABILITY]@{damage_misc}]]}} {{crit1effect=@{attack_crit}}} {{r2=[[1d20+@{base_attack_bonus}[BAB]+@{attack_ability}[ABILITY]+@{full_attack_penalty}[FULL ATTACK]@{attack_misc}@{attack_bonus}]]}} {{damageflag=[[1d@{damage_checkbox}]]}} {{damage2type=@{attack_type}}} {{damage2=[[@{damage_dice}+@{damage_ability}[ABILITY]@{damage_misc}]]}} {{crit2damage=[[@{damage_dice}+@{damage_ability}[ABILITY]@{damage_misc}]]}} {{crit2effect=@{attack_crit}}} {{r3=[[1d20+@{base_attack_bonus}[BAB]+@{attack_ability}[ABILITY]+@{full_attack_penalty}[FULL ATTACK]@{attack_misc}@{attack_bonus}]]}} {{damageflag=[[1d@{damage_checkbox}]]}} {{damage3type=@{attack_type}}} {{damage3=[[@{damage_dice}+@{damage_ability}[ABILITY]@{damage_misc}]]}} {{crit3damage=[[@{damage_dice}+@{damage_ability}[ABILITY]@{damage_misc}]]}} {{crit3effect=@{attack_crit}}} {{r4=[[1d20+@{base_attack_bonus}[BAB]+@{attack_ability}[ABILITY]+@{full_attack_penalty}[FULL ATTACK]@{attack_misc}@{attack_bonus}]]}} {{damageflag=[[1d@{damage_checkbox}]]}} {{damage4type=@{attack_type}}} {{damage4=[[@{damage_dice}+@{damage_ability}[ABILITY]@{damage_misc}]]}} {{crit4damage=[[@{damage_dice}+@{damage_ability}[ABILITY]@{damage_misc}]]}} {{crit4effect=@{attack_crit}}} {{r5=[[1d20+@{base_attack_bonus}[BAB]+@{attack_ability}[ABILITY]+@{full_attack_penalty}[FULL ATTACK]@{attack_misc}@{attack_bonus}]]}} {{damageflag=[[1d@{damage_checkbox}]]}} {{damage5type=@{attack_type}}} {{damage5=[[@{damage_dice}+@{damage_ability}[ABILITY]@{damage_misc}]]}} {{crit5damage=[[@{damage_dice}+@{damage_ability}[ABILITY]@{damage_misc}]]}} {{crit5effect=@{attack_crit}}} @{attacher}'></button>
|
||
<label class='expand-button'><input hidden='true' class='expand-description' type='checkbox' name='attr_expand_description' value='1'><span class='collapsed pictos'>`</span><span class='expanded pictos'>J</span></label>
|
||
</div>
|
||
<input class='expand-description' type='hidden' name='attr_expand_description'>
|
||
<textarea class='description' title='@{description}' name='attr_description'></textarea>
|
||
</div>
|
||
</div>
|
||
</fieldset>
|
||
</div>
|
||
<div class='statblock-section-header statistics-header'>
|
||
<span data-i18n='statistics'>STATISTICS</span>
|
||
</div>
|
||
|
||
<div class='row skills-row'>
|
||
<span data-i18n='skills'>SKILLS</span>
|
||
<div class='skill-container'>
|
||
<input class="show-options" type="checkbox" title='@{acrobatics_show_options}' name="attr_acrobatics_show_options"><span>y</span>
|
||
<div class='display'>
|
||
<input hidden='true' title='@{acrobatics_misc}' name='attr_acrobatics_misc' value=''>
|
||
<input class='ranks input-field' type='number' hidden='true' title='@{acrobatics_ranks}' name='attr_acrobatics_ranks' value='0'>
|
||
<input hidden='true' type='checkbox' title='@{acrobatics_class_skill}' name='attr_acrobatics_class_skill' value='3'>
|
||
<button class='acp' type='roll' title='%{acrobatics}' name='roll_acrobatics' value='@{whisper_state}&{template:generic} {{name=@{character_name}}} {{characterid=@{character_id}}} {{title=Acrobatics}} {{r1=[[1d20+@{acrobatics_ranks}[Ranks]+[[({0,@{acrobatics_ranks}}>1)*@{acrobatics_class_skill}]][CS]+@{acrobatics_ability}[Ability]@{acrobatics_misc}]]}} {{notes=@{acrobatics_description}}}' data-i18n='acrobatics' >ACROBATICS</button>
|
||
<div class='attr-base-mod-container input-field tot'>
|
||
<input class='base-attr input-field' type='number' title='@{acrobatics}' name='attr_acrobatics_base' value='0'>
|
||
<input class='mod-buff' type='hidden' name='attr_acrobatics_change' value='0'>
|
||
<span class='modified-attr input-field' title='@{acrobatics}' name='attr_acrobatics' value='0'>0</span>
|
||
</div>
|
||
</div>
|
||
<div class='row-options'>
|
||
<div class='row'>
|
||
<span class='skill-span label' data-i18n='acp'>ACP</span>
|
||
<input class='acp' type='checkbox' title='@{acrobatics_acp}' name='attr_acrobatics_acp' value='1' checked='checked'>
|
||
<select class='label abi input-field' title='@{acrobatics_ability}' name='attr_acrobatics_ability' style='width; .5em;'>
|
||
<option value='@{strength_mod}'>STR</option>
|
||
<option value='@{dexterity_mod}' selected='selected'>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>
|
||
</div>
|
||
<textarea class='skill-description input-field' title='@{acrobatics_description}' name='attr_acrobatics_description'></textarea>
|
||
<input title='@{acrobatics_buff_notes}' name='attr_acrobatics_buff_notes' hidden='true'>
|
||
</div>
|
||
</div>
|
||
<div class='skill-container'>
|
||
<input class="show-options" type="checkbox" title='@{athletics_show_options}' name="attr_athletics_show_options"><span>y</span>
|
||
<div class='display'>
|
||
<input hidden='true' title='@{athletics_misc}' name='attr_athletics_misc' value=''>
|
||
<input class='ranks input-field' type='number' hidden='true' title='@{athletics_ranks}' name='attr_athletics_ranks' value='0'>
|
||
<input hidden='true' type='checkbox' title='@{athletics_class_skill}' name='attr_athletics_class_skill' value='3'>
|
||
<button class='acp' type='roll' title='%{athletics}' name='roll_athletics' value='@{whisper_state}&{template:generic} {{name=@{character_name}}} {{characterid=@{character_id}}} {{title=Athletics}} {{r1=[[1d20+@{athletics_ranks}[RANKS]+[[({0,@{athletics_ranks}}>1)*@{athletics_class_skill}]][CS]+@{athletics_ability}[ABILITY]@{athletics_misc}]]}} {{notes=@{athletics_description}}}' data-i18n='athletics' >ATHLETICS</button>
|
||
<div class='attr-base-mod-container input-field tot'>
|
||
<input class='base-attr input-field' type='number' title='@{athletics}' name='attr_athletics_base' value='0'>
|
||
<input class='mod-buff' type='hidden' name='attr_athletics_change' value='0'>
|
||
<span class='modified-attr input-field' title='@{athletics}' name='attr_athletics' value='0'>0</span>
|
||
</div>
|
||
</div>
|
||
<div class='row-options'>
|
||
<div class='row'>
|
||
<span class='skill-span label' data-i18n='acp'>ACP</span>
|
||
<input class='acp' type='checkbox' title='@{athletics_acp}' name='attr_athletics_acp' value='1' checked='checked'>
|
||
<select class='label abi input-field' title='@{athletics_ability}' name='attr_athletics_ability' style='width; .5em;'>
|
||
<option value='@{strength_mod}' selected='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>
|
||
</div>
|
||
<textarea class='skill-description input-field' title='@{athletics_description}' name='attr_athletics_description'></textarea>
|
||
<input title='@{athletics_buff_notes}' name='attr_athletics_buff_notes' hidden='true'>
|
||
</div>
|
||
</div>
|
||
<div class='skill-container'>
|
||
<input class="show-options" type="checkbox" title='@{bluff_show_options}' name="attr_bluff_show_options"><span>y</span>
|
||
<div class='display'>
|
||
<input hidden='true' title='@{bluff_misc}' name='attr_bluff_misc' value=''>
|
||
<input class='ranks input-field' type='number' hidden='true' title='@{bluff_ranks}' name='attr_bluff_ranks' value='0'>
|
||
<input hidden='true' type='checkbox' title='@{bluff_class_skill}' name='attr_bluff_class_skill' value='3'>
|
||
<button class='acp' type='roll' title='%{bluff}' name='roll_bluff' value='@{whisper_state}&{template:generic} {{name=@{character_name}}} {{characterid=@{character_id}}} {{title=Bluff}} {{r1=[[1d20+@{bluff_ranks}[RANKS]+[[({0,@{bluff_ranks}}>1)*@{bluff_class_skill}]][CS]+@{bluff_ability}[ABILITY]@{bluff_misc}]]}} {{notes=@{bluff_description}}}' data-i18n='bluff' >BLUFF </button>
|
||
<div class='attr-base-mod-container input-field tot'>
|
||
<input class='base-attr input-field' type='number' title='@{bluff}' name='attr_bluff_base' value='0'>
|
||
<input class='mod-buff' type='hidden' name='attr_bluff_change' value='0'>
|
||
<span class='modified-attr input-field' title='@{bluff}' name='attr_bluff' value='0'>0</span>
|
||
</div>
|
||
</div>
|
||
<div class='row-options'>
|
||
<div class='row'>
|
||
<span class='skill-span label' data-i18n='acp'>ACP</span>
|
||
<input class='acp' type='checkbox' title='@{bluff_acp}' name='attr_bluff_acp' value='1'>
|
||
<select class='label abi input-field' title='@{bluff_ability}' name='attr_bluff_ability' style='width; .5em;'>
|
||
<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}' selected='selected'>CHA</option>
|
||
</select>
|
||
</div>
|
||
<textarea class='skill-description input-field' title='@{bluff_description}' name='attr_bluff_description'></textarea>
|
||
<input title='@{bluff_buff_notes}' name='attr_bluff_buff_notes' hidden='true'>
|
||
</div>
|
||
</div>
|
||
<div class='skill-container'>
|
||
<input class="show-options" type="checkbox" title='@{computers_show_options}' name="attr_computers_show_options"><span>y</span>
|
||
<div class='display'>
|
||
<input hidden='true' title='@{computers_misc}' name='attr_computers_misc' value=''>
|
||
<input class='ranks input-field' type='number' hidden='true' title='@{computers_ranks}' name='attr_computers_ranks' value='0'>
|
||
<input hidden='true' type='checkbox' title='@{computers_class_skill}' name='attr_computers_class_skill' value='3'>
|
||
<button class='acp' type='roll' title='%{computers}' name='roll_computers' value='@{whisper_state}&{template:generic} {{name=@{character_name}}} {{characterid=@{character_id}}} {{title=Computers}} {{r1=[[1d20+@{computers_ranks}[RANKS]+[[({0,@{computers_ranks}}>1)*@{computers_class_skill}]][CS]+@{computers_ability}[ABILITY]@{computers_misc}]]}} {{notes=@{computers_description}}}' data-i18n='computers' >COMPUTERS</button>
|
||
<div class='attr-base-mod-container input-field tot'>
|
||
<input class='base-attr input-field' type='number' title='@{computers}' name='attr_computers_base' value='0'>
|
||
<input class='mod-buff' type='hidden' name='attr_computers_change' value='0'>
|
||
<span class='modified-attr input-field' title='@{computers}' name='attr_computers' value='0'>0</span>
|
||
</div>
|
||
</div>
|
||
<div class='row-options'>
|
||
<div class='row'>
|
||
<span class='skill-span label' data-i18n='acp'>ACP</span>
|
||
<input class='acp' type='checkbox' title='@{computers_acp}' name='attr_computers_acp' value='1'>
|
||
<select class='label abi input-field' title='@{computers_ability}' name='attr_computers_ability' style='width; .5em;'>
|
||
<option value='@{strength_mod}'>STR</option>
|
||
<option value='@{dexterity_mod}'>DEX</option>
|
||
<option value='@{constitution_mod}'>CON</option>
|
||
<option value='@{intelligence_mod}' selected='selected'>INT</option>
|
||
<option value='@{wisdom_mod}'>WIS</option>
|
||
<option value='@{charisma_mod}'>CHA</option>
|
||
</select>
|
||
</div>
|
||
<textarea class='skill-description input-field' title='@{computers_description}' name='attr_computers_description'></textarea>
|
||
<input title='@{computers_buff_notes}' name='attr_computers_buff_notes' hidden='true'>
|
||
</div>
|
||
</div>
|
||
<div class='skill-container'>
|
||
<input class="show-options" type="checkbox" title='@{culture_show_options}' name="attr_culture_show_options"><span>y</span>
|
||
<div class='display'>
|
||
<input hidden='true' title='@{culture_misc}' name='attr_culture_misc' value=''>
|
||
<input class='ranks input-field' type='number' hidden='true' title='@{culture_ranks}' name='attr_culture_ranks' value='0'>
|
||
<input hidden='true' type='checkbox' title='@{culture_class_skill}' name='attr_culture_class_skill' value='3'>
|
||
<button class='acp' type='roll' title='%{culture}' name='roll_culture' value='@{whisper_state}&{template:generic} {{name=@{character_name}}} {{characterid=@{character_id}}} {{title=Culture}} {{r1=[[1d20+@{culture_ranks}[RANKS]+[[({0,@{culture_ranks}}>1)*@{culture_class_skill}]][CS]+@{culture_ability}[ABILITY]@{culture_misc}]]}} {{notes=@{culture_description}}}' data-i18n='culture' >CULTURE</button>
|
||
<div class='attr-base-mod-container input-field tot'>
|
||
<input class='base-attr input-field' type='number' title='@{culture}' name='attr_culture_base' value='0'>
|
||
<input class='mod-buff' type='hidden' name='attr_culture_change' value='0'>
|
||
<span class='modified-attr input-field' title='@{culture}' name='attr_culture' value='0'>0</span>
|
||
</div>
|
||
</div>
|
||
<div class='row-options'>
|
||
<div class='row'>
|
||
<span class='skill-span label' data-i18n='acp'>ACP</span>
|
||
<input class='acp' type='checkbox' title='@{culture_acp}' name='attr_culture_acp' value='1'>
|
||
<select class='label abi input-field' title='@{culture_ability}' name='attr_culture_ability' style='width; .5em;'>
|
||
<option value='@{strength_mod}'>STR</option>
|
||
<option value='@{dexterity_mod}'>DEX</option>
|
||
<option value='@{constitution_mod}'>CON</option>
|
||
<option value='@{intelligence_mod}' selected='selected'>INT</option>
|
||
<option value='@{wisdom_mod}'>WIS</option>
|
||
<option value='@{charisma_mod}'>CHA</option>
|
||
</select>
|
||
</div>
|
||
<textarea class='skill-description input-field' title='@{culture_description}' name='attr_culture_description'></textarea>
|
||
<input title='@{culture_buff_notes}' name='attr_culture_buff_notes' hidden='true'>
|
||
</div>
|
||
</div>
|
||
<div class='skill-container'>
|
||
<input class="show-options" type="checkbox" title='@{diplomacy_show_options}' name="attr_diplomacy_show_options"><span>y</span>
|
||
<div class='display'>
|
||
<input hidden='true' title='@{diplomacy_misc}' name='attr_diplomacy_misc' value=''>
|
||
<input class='ranks input-field' type='number' hidden='true' title='@{diplomacy_ranks}' name='attr_diplomacy_ranks' value='0'>
|
||
<input hidden='true' type='checkbox' title='@{diplomacy_class_skill}' name='attr_diplomacy_class_skill' value='3'>
|
||
<button class='acp' type='roll' title='%{diplomacy}' name='roll_diplomacy' value='@{whisper_state}&{template:generic} {{name=@{character_name}}} {{characterid=@{character_id}}} {{title=Diplomacy}} {{r1=[[1d20+@{diplomacy_ranks}[RANKS]+[[({0,@{diplomacy_ranks}}>1)*@{diplomacy_class_skill}]][CS]+@{diplomacy_ability}[ABILITY]@{diplomacy_misc}]]}} {{notes=@{diplomacy_description}}}' data-i18n='diplomacy' >DIPLOMACY</button>
|
||
<div class='attr-base-mod-container input-field tot'>
|
||
<input class='base-attr input-field' type='number' title='@{diplomacy}' name='attr_diplomacy_base' value='0'>
|
||
<input class='mod-buff' type='hidden' name='attr_diplomacy_change' value='0'>
|
||
<span class='modified-attr input-field' title='@{diplomacy}' name='attr_diplomacy' value='0'>0</span>
|
||
</div>
|
||
</div>
|
||
<div class='row-options'>
|
||
<div class='row'>
|
||
<span class='skill-span label' data-i18n='acp'>ACP</span>
|
||
<input class='acp' type='checkbox' title='@{diplomacy_acp}' name='attr_diplomacy_acp' value='1'>
|
||
<select class='label abi input-field' title='@{diplomacy_ability}' name='attr_diplomacy_ability' style='width; .5em;'>
|
||
<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}' selected='selected'>CHA</option>
|
||
</select>
|
||
</div>
|
||
<textarea class='skill-description input-field' title='@{diplomacy_description}' name='attr_diplomacy_description'></textarea>
|
||
<input title='@{diplomacy_buff_notes}' name='attr_diplomacy_buff_notes' hidden='true'>
|
||
</div>
|
||
</div>
|
||
<div class='skill-container'>
|
||
<input class="show-options" type="checkbox" title='@{disguise_show_options}' name="attr_disguise_show_options"><span>y</span>
|
||
<div class='display'>
|
||
<input hidden='true' title='@{disguise_misc}' name='attr_disguise_misc' value=''>
|
||
<input class='ranks input-field' type='number' hidden='true' title='@{disguise_ranks}' name='attr_disguise_ranks' value='0'>
|
||
<input hidden='true' type='checkbox' title='@{disguise_class_skill}' name='attr_disguise_class_skill' value='3'>
|
||
<button class='acp' type='roll' title='%{disguise}' name='roll_disguise' value='@{whisper_state}&{template:generic} {{name=@{character_name}}} {{characterid=@{character_id}}} {{title=Disguise}} {{r1=[[1d20+@{disguise_ranks}[RANKS]+[[({0,@{disguise_ranks}}>1)*@{disguise_class_skill}]][CS]+@{disguise_ability}[ABILITY]@{disguise_misc}]]}} {{notes=@{disguise_description}}}' data-i18n='disguise' >DISGUISE</button>
|
||
<div class='attr-base-mod-container input-field tot'>
|
||
<input class='base-attr input-field' type='number' title='@{disguise}' name='attr_disguise_base' value='0'>
|
||
<input class='mod-buff' type='hidden' name='attr_disguise_change' value='0'>
|
||
<span class='modified-attr input-field' title='@{disguise}' name='attr_disguise' value='0'>0</span>
|
||
</div>
|
||
</div>
|
||
<div class='row-options'>
|
||
<div class='row'>
|
||
<span class='skill-span label' data-i18n='acp'>ACP</span>
|
||
<input class='acp' type='checkbox' title='@{disguise_acp}' name='attr_disguise_acp' value='1'>
|
||
<select class='label abi input-field' title='@{disguise_ability}' name='attr_disguise_ability' style='width; .5em;'>
|
||
<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}' selected='selected'>CHA</option>
|
||
</select>
|
||
</div>
|
||
<textarea class='skill-description input-field' title='@{disguise_description}' name='attr_disguise_description'></textarea>
|
||
<input title='@{disguise_buff_notes}' name='attr_disguise_buff_notes' hidden='true'>
|
||
</div>
|
||
</div>
|
||
<div class='skill-container'>
|
||
<input class="show-options" type="checkbox" title='@{engineering_show_options}' name="attr_engineering_show_options"><span>y</span>
|
||
<div class='display'>
|
||
<input hidden='true' title='@{engineering_misc}' name='attr_engineering_misc' value=''>
|
||
<input class='ranks input-field' type='number' hidden='true' title='@{engineering_ranks}' name='attr_engineering_ranks' value='0'>
|
||
<input hidden='true' type='checkbox' title='@{engineering_class_skill}' name='attr_engineering_class_skill' value='3'>
|
||
<button class='acp' type='roll' title='%{engineering}' name='roll_engineering' value='@{whisper_state}&{template:generic} {{name=@{character_name}}} {{characterid=@{character_id}}} {{title=Engineering}} {{r1=[[1d20+@{engineering_ranks}[RANKS]+[[({0,@{engineering_ranks}}>1)*@{engineering_class_skill}]][CS]+@{engineering_ability}[ABILITY]@{engineering_misc}]]}} {{notes=@{engineering_description}}}' data-i18n='engineering' >ENGINEERING</button>
|
||
<div class='attr-base-mod-container input-field tot'>
|
||
<input class='base-attr input-field' type='number' title='@{engineering}' name='attr_engineering_base' value='0'>
|
||
<input class='mod-buff' type='hidden' name='attr_engineering_change' value='0'>
|
||
<span class='modified-attr input-field' title='@{engineering}' name='attr_engineering' value='0'>0</span>
|
||
</div>
|
||
</div>
|
||
<div class='row-options'>
|
||
<div class='row'>
|
||
<span class='skill-span label' data-i18n='acp'>ACP</span>
|
||
<input class='acp' type='checkbox' title='@{engineering_acp}' name='attr_engineering_acp' value='1'>
|
||
<select class='label abi input-field' title='@{engineering_ability}' name='attr_engineering_ability' style='width; .5em;'>
|
||
<option value='@{strength_mod}'>STR</option>
|
||
<option value='@{dexterity_mod}'>DEX</option>
|
||
<option value='@{constitution_mod}'>CON</option>
|
||
<option value='@{intelligence_mod}' selected='selected'>INT</option>
|
||
<option value='@{wisdom_mod}'>WIS</option>
|
||
<option value='@{charisma_mod}'>CHA</option>
|
||
</select>
|
||
</div>
|
||
<textarea class='skill-description input-field' title='@{engineering_description}' name='attr_engineering_description'></textarea>
|
||
<input title='@{engineering_buff_notes}' name='attr_engineering_buff_notes' hidden='true'>
|
||
</div>
|
||
</div>
|
||
|
||
<div class='skill-container'>
|
||
<input class="show-options" type="checkbox" title='@{intimidate_show_options}' name="attr_intimidate_show_options"><span>y</span>
|
||
<div class='display'>
|
||
<input hidden='true' title='@{intimidate_misc}' name='attr_intimidate_misc' value=''>
|
||
<input class='ranks input-field' type='number' hidden='true' title='@{intimidate_ranks}' name='attr_intimidate_ranks' value='0'>
|
||
<input hidden='true' type='checkbox' title='@{intimidate_class_skill}' name='attr_intimidate_class_skill' value='3'>
|
||
<button class='acp' type='roll' title='%{intimidate}' name='roll_intimidate' value='@{whisper_state}&{template:generic} {{name=@{character_name}}} {{characterid=@{character_id}}} {{title=Intimidate}} {{r1=[[1d20+@{intimidate_ranks}[RANKS]+[[({0,@{intimidate_ranks}}>1)*@{intimidate_class_skill}]][CS]+@{intimidate_ability}[ABILITY]@{intimidate_misc}]]}} {{notes=@{intimidate_description}}}' data-i18n='intimidate' >INTIMIDATE</button>
|
||
<div class='attr-base-mod-container input-field tot'>
|
||
<input class='base-attr input-field' type='number' title='@{intimidate}' name='attr_intimidate_base' value='0'>
|
||
<input class='mod-buff' type='hidden' name='attr_intimidate_change' value='0'>
|
||
<span class='modified-attr input-field' title='@{intimidate}' name='attr_intimidate' value='0'>0</span>
|
||
</div>
|
||
</div>
|
||
<div class='row-options'>
|
||
<div class='row'>
|
||
<span class='skill-span label' data-i18n='acp'>ACP</span>
|
||
<input class='acp' type='checkbox' title='@{intimidate_acp}' name='attr_intimidate_acp' value='1'>
|
||
<select class='label abi input-field' title='@{intimidate_ability}' name='attr_intimidate_ability' style='width; .5em;'>
|
||
<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}' selected='selected'>CHA</option>
|
||
</select>
|
||
</div>
|
||
<textarea class='skill-description input-field' title='@{intimidate_description}' name='attr_intimidate_description'></textarea>
|
||
<input title='@{intimidate_buff_notes}' name='attr_intimidate_buff_notes' hidden='true'>
|
||
</div>
|
||
</div>
|
||
<div class='skill-container'>
|
||
<input class="show-options" type="checkbox" title='@{life_science_show_options}' name="attr_life_science_show_options"><span>y</span>
|
||
<div class='display'>
|
||
<input hidden='true' title='@{life_science_misc}' name='attr_life_science_misc' value=''>
|
||
<input class='ranks input-field' type='number' hidden='true' title='@{life_science_ranks}' name='attr_life_science_ranks' value='0'>
|
||
<input hidden='true' type='checkbox' title='@{life_science_class_skill}' name='attr_life_science_class_skill' value='3'>
|
||
<button class='acp' type='roll' title='%{life_science}' name='roll_life_science' value='@{whisper_state}&{template:generic} {{name=@{character_name}}} {{characterid=@{character_id}}} {{title=Life Science}} {{r1=[[1d20+@{life_science_ranks}[RANKS]+[[({0,@{life_science_ranks}}>1)*@{life_science_class_skill}]][CS]+@{life_science_ability}[ABILITY]@{life_science_misc}]]}} {{notes=@{life_science_description}}}' data-i18n='life-science' >LIFE SCIENCE</button>
|
||
<div class='attr-base-mod-container input-field tot'>
|
||
<input class='base-attr input-field' type='number' title='@{life_science}' name='attr_life_science_base' value='0'>
|
||
<input class='mod-buff' type='hidden' name='attr_life_science_change' value='0'>
|
||
<span class='modified-attr input-field' title='@{life_science}' name='attr_life_science' value='0'>0</span>
|
||
</div>
|
||
</div>
|
||
<div class='row-options'>
|
||
<div class='row'>
|
||
<span class='skill-span label' data-i18n='acp'>ACP</span>
|
||
<input class='acp' type='checkbox' title='@{life_science_acp}' name='attr_life_science_acp' value='1'>
|
||
<select class='label abi input-field' title='@{life_science_ability}' name='attr_life_science_ability' style='width; .5em;'>
|
||
<option value='@{strength_mod}'>STR</option>
|
||
<option value='@{dexterity_mod}'>DEX</option>
|
||
<option value='@{constitution_mod}'>CON</option>
|
||
<option value='@{intelligence_mod}' selected='selected'>INT</option>
|
||
<option value='@{wisdom_mod}'>WIS</option>
|
||
<option value='@{charisma_mod}'>CHA</option>
|
||
</select>
|
||
</div>
|
||
<textarea class='skill-description input-field' title='@{life_science_description}' name='attr_life_science_description'></textarea>
|
||
<input title='@{life_science_buff_notes}' name='attr_life_science_buff_notes' hidden='true'>
|
||
</div>
|
||
</div>
|
||
<div class='skill-container'>
|
||
<input class="show-options" type="checkbox" title='@{medicine_show_options}' name="attr_medicine_show_options"><span>y</span>
|
||
<div class='display'>
|
||
<input hidden='true' title='@{medicine_misc}' name='attr_medicine_misc' value=''>
|
||
<input class='ranks input-field' type='number' hidden='true' title='@{medicine_ranks}' name='attr_medicine_ranks' value='0'>
|
||
<input hidden='true' type='checkbox' title='@{medicine_class_skill}' name='attr_medicine_class_skill' value='3'>
|
||
<button class='acp' type='roll' title='%{medicine}' name='roll_medicine' value='@{whisper_state}&{template:generic} {{name=@{character_name}}} {{characterid=@{character_id}}} {{title=Medicine}} {{r1=[[1d20+@{medicine_ranks}[RANKS]+[[({0,@{medicine_ranks}}>1)*@{medicine_class_skill}]][CS]+@{medicine_ability}[ABILITY]@{medicine_misc}]]}} {{notes=@{medicine_description}}}' data-i18n='medicine' >MEDICINE </button>
|
||
<div class='attr-base-mod-container input-field tot'>
|
||
<input class='base-attr input-field' type='number' title='@{medicine}' name='attr_medicine_base' value='0'>
|
||
<input class='mod-buff' type='hidden' name='attr_medicine_change' value='0'>
|
||
<span class='modified-attr input-field' title='@{medicine}' name='attr_medicine' value='0'>0</span>
|
||
</div>
|
||
</div>
|
||
<div class='row-options'>
|
||
<div class='row'>
|
||
<span class='skill-span label' data-i18n='acp'>ACP</span>
|
||
<input class='acp' type='checkbox' title='@{medicine_acp}' name='attr_medicine_acp' value='1'>
|
||
<select class='label abi input-field' title='@{medicine_ability}' name='attr_medicine_ability' style='width; .5em;'>
|
||
<option value='@{strength_mod}'>STR</option>
|
||
<option value='@{dexterity_mod}'>DEX</option>
|
||
<option value='@{constitution_mod}'>CON</option>
|
||
<option value='@{intelligence_mod}' selected='selected'>INT</option>
|
||
<option value='@{wisdom_mod}'>WIS</option>
|
||
<option value='@{charisma_mod}'>CHA</option>
|
||
</select>
|
||
</div>
|
||
<textarea class='skill-description input-field' title='@{medicine_description}' name='attr_medicine_description'></textarea>
|
||
<input title='@{medicine_buff_notes}' name='attr_medicine_buff_notes' hidden='true'>
|
||
</div>
|
||
</div>
|
||
<div class='skill-container'>
|
||
<input class="show-options" type="checkbox" title='@{mysticism_show_options}' name="attr_mysticism_show_options"><span>y</span>
|
||
<div class='display'>
|
||
<input hidden='true' title='@{mysticism_misc}' name='attr_mysticism_misc' value=''>
|
||
<input class='ranks input-field' type='number' hidden='true' title='@{mysticism_ranks}' name='attr_mysticism_ranks' value='0'>
|
||
<input hidden='true' type='checkbox' title='@{mysticism_class_skill}' name='attr_mysticism_class_skill' value='3'>
|
||
<button class='acp' type='roll' title='%{mysticism}' name='roll_mysticism' value='@{whisper_state}&{template:generic} {{name=@{character_name}}} {{characterid=@{character_id}}} {{title=Mysticism}} {{r1=[[1d20+@{mysticism_ranks}[RANKS]+[[({0,@{mysticism_ranks}}>1)*@{mysticism_class_skill}]][CS]+@{mysticism_ability}[ABILITY]@{mysticism_misc}]]}} {{notes=@{mysticism_description}}}' data-i18n='mysticism' >MYSTICISM </button>
|
||
<div class='attr-base-mod-container input-field tot'>
|
||
<input class='base-attr input-field' type='number' title='@{mysticism}' name='attr_mysticism_base' value='0'>
|
||
<input class='mod-buff' type='hidden' name='attr_mysticism_change' value='0'>
|
||
<span class='modified-attr input-field' title='@{mysticism}' name='attr_mysticism' value='0'>0</span>
|
||
</div>
|
||
</div>
|
||
<div class='row-options'>
|
||
<div class='row'>
|
||
<span class='skill-span label' data-i18n='acp'>ACP</span>
|
||
<input class='acp' type='checkbox' title='@{mysticism_acp}' name='attr_mysticism_acp' value='1'>
|
||
<select class='label abi input-field' title='@{mysticism_ability}' name='attr_mysticism_ability' style='width; .5em;'>
|
||
<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}' selected='selected'>WIS</option>
|
||
<option value='@{charisma_mod}'>CHA</option>
|
||
</select>
|
||
</div>
|
||
<textarea class='skill-description input-field' title='@{mysticism_description}' name='attr_mysticism_description'></textarea>
|
||
<input title='@{mysticism_buff_notes}' name='attr_mysticism_buff_notes' hidden='true'>
|
||
</div>
|
||
</div>
|
||
<div class='skill-container'>
|
||
<input class="show-options" type="checkbox" title='@{perception_show_options}' name="attr_perception_show_options"><span>y</span>
|
||
<div class='display'>
|
||
<input hidden='true' title='@{perception_misc}' name='attr_perception_misc' value=''>
|
||
<input class='ranks input-field' type='number' hidden='true' title='@{perception_ranks}' name='attr_perception_ranks' value='0'>
|
||
<input hidden='true' type='checkbox' title='@{perception_class_skill}' name='attr_perception_class_skill' value='3'>
|
||
<button class='acp' type='roll' title='%{perception}' name='roll_perception' value='@{whisper_state}&{template:generic} {{name=@{character_name}}} {{characterid=@{character_id}}} {{title=Perception}} {{r1=[[1d20+@{perception_ranks}[RANKS]+[[({0,@{perception_ranks}}>1)*@{perception_class_skill}]][CS]+@{perception_ability}[ABILITY]@{perception_misc}]]}} {{notes=@{perception_description}}}' data-i18n='perception' >PERCEPTION </button>
|
||
<div class='attr-base-mod-container input-field tot'>
|
||
<input class='base-attr input-field' type='number' title='@{perception}' name='attr_perception_base' value='0'>
|
||
<input class='mod-buff' type='hidden' name='attr_perception_change' value='0'>
|
||
<span class='modified-attr input-field' title='@{perception}' name='attr_perception' value='0'>0</span>
|
||
</div>
|
||
</div>
|
||
<div class='row-options'>
|
||
<div class='row'>
|
||
<span class='skill-span label' data-i18n='acp'>ACP</span>
|
||
<input class='acp' type='checkbox' title='@{perception_acp}' name='attr_perception_acp' value='1'>
|
||
<select class='label abi input-field' title='@{perception_ability}' name='attr_perception_ability' style='width; .5em;'>
|
||
<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}' selected='selected'>WIS</option>
|
||
<option value='@{charisma_mod}'>CHA</option>
|
||
</select>
|
||
</div>
|
||
<textarea class='skill-description input-field' title='@{perception_description}' name='attr_perception_description'></textarea>
|
||
<input title='@{perception_buff_notes}' name='attr_perception_buff_notes' hidden='true'>
|
||
</div>
|
||
</div>
|
||
<div class='skill-container'>
|
||
<input class="show-options" type="checkbox" title='@{physical_science_show_options}' name="attr_physical_science_show_options"><span>y</span>
|
||
<div class='display'>
|
||
<input hidden='true' title='@{physical_science_misc}' name='attr_physical_science_misc' value=''>
|
||
<input class='ranks input-field' type='number' hidden='true' title='@{physical_science_ranks}' name='attr_physical_science_ranks' value='0'>
|
||
<input hidden='true' type='checkbox' title='@{physical_science_class_skill}' name='attr_physical_science_class_skill' value='3'>
|
||
<button class='acp' type='roll' title='%{physical_science}' name='roll_physical_science' value='@{whisper_state}&{template:generic} {{name=@{character_name}}} {{characterid=@{character_id}}} {{title=Physical Science}} {{r1=[[1d20+@{physical_science_ranks}[RANKS]+[[({0,@{physical_science_ranks}}>1)*@{physical_science_class_skill}]][CS]+@{physical_science_ability}[ABILITY]@{physical_science_misc}]]}} {{notes=@{physical_science_description}}}' data-i18n='physical-science' >PHYSICAL SCIENCE</button>
|
||
<div class='attr-base-mod-container input-field tot'>
|
||
<input class='base-attr input-field' type='number' title='@{physical_science}' name='attr_physical_science_base' value='0'>
|
||
<input class='mod-buff' type='hidden' name='attr_physical_science_change' value='0'>
|
||
<span class='modified-attr input-field' title='@{physical_science}' name='attr_physical_science' value='0'>0</span>
|
||
</div>
|
||
</div>
|
||
<div class='row-options'>
|
||
<div class='row'>
|
||
<span class='skill-span label' data-i18n='acp'>ACP</span>
|
||
<input class='acp' type='checkbox' title='@{physical_science_acp}' name='attr_physical_science_acp' value='1'>
|
||
<select class='label abi input-field' title='@{physical_science_ability}' name='attr_physical_science_ability' style='width; .5em;'>
|
||
<option value='@{strength_mod}'>STR</option>
|
||
<option value='@{dexterity_mod}'>DEX</option>
|
||
<option value='@{constitution_mod}'>CON</option>
|
||
<option value='@{intelligence_mod}' selected='selected'>INT</option>
|
||
<option value='@{wisdom_mod}'>WIS</option>
|
||
<option value='@{charisma_mod}'>CHA</option>
|
||
</select>
|
||
</div>
|
||
<textarea class='skill-description input-field' title='@{physical_science_description}' name='attr_physical_science_description'></textarea>
|
||
<input title='@{physical_science_buff_notes}' name='attr_physical_science_buff_notes' hidden='true'>
|
||
</div>
|
||
</div>
|
||
<div class='skill-container'>
|
||
<input class="show-options" type="checkbox" title='@{piloting_show_options}' name="attr_piloting_show_options"><span>y</span>
|
||
<div class='display'>
|
||
<input hidden='true' title='@{piloting_misc}' name='attr_piloting_misc' value=''>
|
||
<input class='ranks input-field' type='number' hidden='true' title='@{piloting_ranks}' name='attr_piloting_ranks' value='0'>
|
||
<input hidden='true' type='checkbox' title='@{piloting_class_skill}' name='attr_piloting_class_skill' value='3'>
|
||
<button class='acp' type='roll' title='%{piloting}' name='roll_piloting' value='@{whisper_state}&{template:generic} {{name=@{character_name}}} {{characterid=@{character_id}}} {{title=Piloting}} {{r1=[[1d20+@{piloting_ranks}[RANKS]+[[({0,@{piloting_ranks}}>1)*@{piloting_class_skill}]][CS]+@{piloting_ability}[ABILITY]@{piloting_misc}]]}} {{notes=@{piloting_description}}}' data-i18n='piloting' >PILOTING</button>
|
||
<div class='attr-base-mod-container input-field tot'>
|
||
<input class='base-attr input-field' type='number' title='@{piloting}' name='attr_piloting_base' value='0'>
|
||
<input class='mod-buff' type='hidden' name='attr_piloting_change' value='0'>
|
||
<span class='modified-attr input-field' title='@{piloting}' name='attr_piloting' value='0'>0</span>
|
||
</div>
|
||
</div>
|
||
<div class='row-options'>
|
||
<div class='row'>
|
||
<span class='skill-span label' data-i18n='acp'>ACP</span>
|
||
<input class='acp' type='checkbox' title='@{piloting_acp}' name='attr_piloting_acp' value='1'>
|
||
<select class='label abi input-field' title='@{piloting_ability}' name='attr_piloting_ability' style='width; .5em;'>
|
||
<option value='@{strength_mod}'>STR</option>
|
||
<option value='@{dexterity_mod}' selected='selected'>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>
|
||
</div>
|
||
<textarea class='skill-description input-field' title='@{piloting_description}' name='attr_piloting_description'></textarea>
|
||
<input title='@{piloting_buff_notes}' name='attr_piloting_buff_notes' hidden='true'>
|
||
</div>
|
||
</div>
|
||
<div class='skill-container'>
|
||
<input class="show-options" type="checkbox" title='@{sense_motive_show_options}' name="attr_sense_motive_show_options"><span>y</span>
|
||
<div class='display'>
|
||
<input hidden='true' title='@{sense_motive_misc}' name='attr_sense_motive_misc' value=''>
|
||
<input class='ranks input-field' type='number' hidden='true' title='@{sense_motive_ranks}' name='attr_sense_motive_ranks' value='0'>
|
||
<input hidden='true' type='checkbox' title='@{sense_motive_class_skill}' name='attr_sense_motive_class_skill' value='3'>
|
||
<button class='acp' type='roll' title='%{sense_motive}' name='roll_sense_motive' value='@{whisper_state}&{template:generic} {{name=@{character_name}}} {{characterid=@{character_id}}} {{title=Sense Motive}} {{r1=[[1d20+@{sense_motive_ranks}[RANKS]+[[({0,@{sense_motive_ranks}}>1)*@{sense_motive_class_skill}]][CS]+@{sense_motive_ability}[ABILITY]@{sense_motive_misc}]]}} {{notes=@{sense_motive_description}}}' data-i18n='sense-motive' >SENSE MOTIVE</button>
|
||
<div class='attr-base-mod-container input-field tot'>
|
||
<input class='base-attr input-field' type='number' title='@{sense_motive}' name='attr_sense_motive_base' value='0'>
|
||
<input class='mod-buff' type='hidden' name='attr_sense_motive_change' value='0'>
|
||
<span class='modified-attr input-field' title='@{sense_motive}' name='attr_sense_motive' value='0'>0</span>
|
||
</div>
|
||
</div>
|
||
<div class='row-options'>
|
||
<div class='row'>
|
||
<span class='skill-span label' data-i18n='acp'>ACP</span>
|
||
<input class='acp' type='checkbox' title='@{sense_motive_acp}' name='attr_sense_motive_acp' value='1'>
|
||
<select class='label abi input-field' title='@{sense_motive_ability}' name='attr_sense_motive_ability' style='width; .5em;'>
|
||
<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}' selected='selected'>WIS</option>
|
||
<option value='@{charisma_mod}'>CHA</option>
|
||
</select>
|
||
</div>
|
||
<textarea class='skill-description input-field' title='@{sense_motive_description}' name='attr_sense_motive_description'></textarea>
|
||
<input title='@{sense_motive_buff_notes}' name='attr_sense_motive_buff_notes' hidden='true'>
|
||
</div>
|
||
</div>
|
||
<div class='skill-container'>
|
||
<input class="show-options" type="checkbox" title='@{sleight_of_hand_show_options}' name="attr_sleight_of_hand_show_options"><span>y</span>
|
||
<div class='display'>
|
||
<input hidden='true' title='@{sleight_of_hand_misc}' name='attr_sleight_of_hand_misc' value=''>
|
||
<input class='ranks input-field' type='number' hidden='true' title='@{sleight_of_hand_ranks}' name='attr_sleight_of_hand_ranks' value='0'>
|
||
<input hidden='true' type='checkbox' title='@{sleight_of_hand_class_skill}' name='attr_sleight_of_hand_class_skill' value='3'>
|
||
<button class='acp' type='roll' title='%{sleight_of_hand}' name='roll_sleight_of_hand' value='@{whisper_state}&{template:generic} {{name=@{character_name}}} {{characterid=@{character_id}}} {{title=Sleight of Hand}} {{r1=[[1d20+@{sleight_of_hand_ranks}[RANKS]+[[({0,@{sleight_of_hand_ranks}}>1)*@{sleight_of_hand_class_skill}]][CS]+@{sleight_of_hand_ability}[ABILITY]@{sleight_of_hand_misc}]]}} {{notes=@{sleight_of_hand_description}}}' data-i18n='sleight-of-hand' >SLEIGHT OF HAND</button>
|
||
<div class='attr-base-mod-container input-field tot'>
|
||
<input class='base-attr input-field' type='number' title='@{sleight_of_hand}' name='attr_sleight_of_hand_base' value='0'>
|
||
<input class='mod-buff' type='hidden' name='attr_sleight_of_hand_change' value='0'>
|
||
<span class='modified-attr input-field' title='@{sleight_of_hand}' name='attr_sleight_of_hand' value='0'>0</span>
|
||
</div>
|
||
</div>
|
||
<div class='row-options'>
|
||
<div class='row'>
|
||
<span class='skill-span label' data-i18n='acp'>ACP</span>
|
||
<input class='acp' type='checkbox' title='@{sleight_of_hand_acp}' name='attr_sleight_of_hand_acp' value='1' checked='checked'>
|
||
<select class='label abi input-field' title='@{sleight_of_hand_ability}' name='attr_sleight_of_hand_ability' style='width; .5em;'>
|
||
<option value='@{strength_mod}'>STR</option>
|
||
<option value='@{dexterity_mod}' selected='selected'>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>
|
||
</div>
|
||
<textarea class='skill-description input-field' title='@{sleight_of_hand_description}' name='attr_sleight_of_hand_description'></textarea>
|
||
<input title='@{sleight_of_hand_buff_notes}' name='attr_sleight_of_hand_buff_notes' hidden='true'>
|
||
</div>
|
||
</div>
|
||
<div class='skill-container'>
|
||
<input class="show-options" type="checkbox" title='@{stealth_show_options}' name="attr_stealth_show_options"><span>y</span>
|
||
<div class='display'>
|
||
<input hidden='true' title='@{stealth_misc}' name='attr_stealth_misc' value=''>
|
||
<input class='ranks input-field' type='number' hidden='true' title='@{stealth_ranks}' name='attr_stealth_ranks' value='0'>
|
||
<input hidden='true' type='checkbox' title='@{stealth_class_skill}' name='attr_stealth_class_skill' value='3'>
|
||
<button class='acp' type='roll' title='%{stealth}' name='roll_stealth' value='@{whisper_state}&{template:generic} {{name=@{character_name}}} {{characterid=@{character_id}}} {{title=Stealth}} {{r1=[[1d20+@{stealth_ranks}[RANKS]+[[({0,@{stealth_ranks}}>1)*@{stealth_class_skill}]][CS]+@{stealth_ability}[ABILITY]@{stealth_misc}]]}} {{notes=@{stealth_description}}}' data-i18n='stealth' >STEALTH</button>
|
||
<div class='attr-base-mod-container input-field tot'>
|
||
<input class='base-attr input-field' type='number' title='@{stealth}' name='attr_stealth_base' value='0'>
|
||
<input class='mod-buff' type='hidden' name='attr_stealth_change' value='0'>
|
||
<span class='modified-attr input-field' title='@{stealth}' name='attr_stealth' value='0'>0</span>
|
||
</div>
|
||
</div>
|
||
<div class='row-options'>
|
||
<div class='row'>
|
||
<span class='skill-span label' data-i18n='acp'>ACP</span>
|
||
<input class='acp' type='checkbox' title='@{stealth_acp}' name='attr_stealth_acp' value='1' checked='checked'>
|
||
<select class='label abi input-field' title='@{stealth_ability}' name='attr_stealth_ability' style='width; .5em;'>
|
||
<option value='@{strength_mod}'>STR</option>
|
||
<option value='@{dexterity_mod}' selected='selected'>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>
|
||
</div>
|
||
<textarea class='skill-description input-field' title='@{stealth_description}' name='attr_stealth_description'></textarea>
|
||
<input title='@{stealth_buff_notes}' name='attr_stealth_buff_notes' hidden='true'>
|
||
</div>
|
||
</div>
|
||
<div class='skill-container'>
|
||
<input class="show-options" type="checkbox" title='@{survival_show_options}' name="attr_survival_show_options"><span>y</span>
|
||
<div class='display'>
|
||
<input hidden='true' title='@{survival_misc}' name='attr_survival_misc' value=''>
|
||
<input class='ranks input-field' type='number' hidden='true' title='@{survival_ranks}' name='attr_survival_ranks' value='0'>
|
||
<input hidden='true' type='checkbox' title='@{survival_class_skill}' name='attr_survival_class_skill' value='3'>
|
||
<button class='acp' type='roll' title='%{survival}' name='roll_survival' value='@{whisper_state}&{template:generic} {{name=@{character_name}}} {{characterid=@{character_id}}} {{title=Survival}} {{r1=[[1d20+@{survival_ranks}[RANKS]+[[({0,@{survival_ranks}}>1)*@{survival_class_skill}]][CS]+@{survival_ability}[ABILITY]@{survival_misc}]]}} {{notes=@{survival_description}}}' data-i18n='survival' >SURVIVAL</button>
|
||
<div class='attr-base-mod-container input-field tot'>
|
||
<input class='base-attr input-field' type='number' title='@{survival}' name='attr_survival_base' value='0'>
|
||
<input class='mod-buff' type='hidden' name='attr_survival_change' value='0'>
|
||
<span class='modified-attr input-field' title='@{survival}' name='attr_survival' value='0'>0</span>
|
||
</div>
|
||
</div>
|
||
<div class='row-options'>
|
||
<div class='row'>
|
||
<span class='skill-span label' data-i18n='acp'>ACP</span>
|
||
<input class='acp' type='checkbox' title='@{survival_acp}' name='attr_survival_acp' value='1'>
|
||
<select class='label abi input-field' title='@{survival_ability}' name='attr_survival_ability' style='width; .5em;'>
|
||
<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}' selected='selected'>WIS</option>
|
||
<option value='@{charisma_mod}'>CHA</option>
|
||
</select>
|
||
</div>
|
||
<textarea class='skill-description input-field' title='@{survival_description}' name='attr_survival_description'></textarea>
|
||
<input title='@{suvival_buff_notes}' name='attr_suvival_buff_notes' hidden='true'>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class='row'>
|
||
<span data-i18n='feats'>FEATS</span>
|
||
<input class='scalable-input input-field' type='text' title='@{feats}' name='attr_feats'>
|
||
</div>
|
||
<div class='row'>
|
||
<span data-i18n='languages'>LANGUAGES</span>
|
||
<input class='scalable-input input-field' type='text' title='@{languages}' name='attr_languages'>
|
||
</div>
|
||
<div class='row'>
|
||
<span data-i18n='other-abilities'>OTHER ABILITIES</span>
|
||
<input class='scalable-input input-field' type='text' title='@{other_abilities}' name='attr_other_abilities'>
|
||
</div>
|
||
<div class='row'>
|
||
<span data-i18n='gear'>GEAR</span>
|
||
</div>
|
||
<div class='row'>
|
||
<textarea title='@{gear}' name='attr_gear' type='text' class='scalable-input input-field'></textarea>
|
||
</div>
|
||
<div class='statblock-section-header ecology-header'>
|
||
<span data-i18n='ecology'>ECOLOGY</span>
|
||
</div>
|
||
<div class='row'>
|
||
<span data-i18n='environment'>ENVIRONMENT</span>
|
||
</div>
|
||
<div class='row'>
|
||
<textarea class='scalable-input input-field' type='text' title='@{environment}' name='attr_environment'></textarea>
|
||
</div>
|
||
<div class='row'>
|
||
<span data-i18n='organization'>ORGANIZATION</span>
|
||
</div>
|
||
<div class='row'>
|
||
<textarea class='scalable-input input-field' type='text' title='@{organization}' name='attr_organization'></textarea>
|
||
</div>
|
||
<div class='row'>
|
||
<span data-i18n='tactics'>TACTICS</span>
|
||
</div>
|
||
<div class='row'>
|
||
<textarea class='scalable-input input-field' type='text' title='@{tactics}' name='attr_tactics'></textarea>
|
||
</div>
|
||
<div class='row special-abilities'>
|
||
<div class='statblock-section-header special-abilities-header'>
|
||
<span data-i18n='special-abilities'>SPECIAL ABILITIES</span>
|
||
</div>
|
||
<fieldset class='repeating_ability'><input type='hidden' name='attr_dc' value='10'><input hidden='true' type='text' title='@{attack_total}' name='attr_attack_total'><input hidden='true' type='text' title='@{damage_total}' name='attr_damage_total'>
|
||
<input class='filter' type='checkbox' hidden='true' title='@{filter}' name='attr_filter' value='1' checked='checked'>
|
||
<div class='filter-container ability'>
|
||
<!--Hidden Ability Attributes -->
|
||
<input type='text' hidden='true' title='@{attack_misc}' name='attr_attack_misc' value=''>
|
||
<input type='text' hidden='true' title='@{attack_damage_misc}' name='attr_attack_damage_misc' value=''>
|
||
<input type='text' hidden='true' title='@{effect_misc}' name='attr_effect_misc' value=''>
|
||
<input type='hidden' name='attr_dc' value='10'>
|
||
<!--Shown Ability Attributes -->
|
||
<input class="show-options" type="checkbox" title='@{show_options}' name="attr_show_options" checked="checked"><span>y</span>
|
||
<div class='row-options'>
|
||
<div class='row span-two'>
|
||
<span class='label' data-i18n='name-u'>NAME</span>
|
||
<input class='scalable-input input-field' type='text' title='@{name}' name='attr_name' placeholder="Operative's Edge">
|
||
<select class='freq-select' title='@{frequency}' name='attr_frequency'>
|
||
<option value='constant' data-i18n='constant' selected='selected'>CONSTANT</option>
|
||
<option value='at-will' data-i18n='at-will'>AT WILL</option>
|
||
<option value='daily-limit' data-i18n='x/day'>X/DAY</option>
|
||
</select>
|
||
</div>
|
||
<div class='row span-two display-margin'>
|
||
<span class='label' data-i18n='source'>SOURCE</span>
|
||
<input class='scalable-input input-field' type='text' title='@{source}' name='attr_source'>
|
||
<select title='@{type}' name='attr_type'>
|
||
<option value='EX' data-i18n='extraordinary' selected='selected'>EX</option>
|
||
<option value='SU' data-i18n='supernatural'>SU</option>
|
||
<option value='SP' data-i18n='spell-like'>SP</option>
|
||
</select>
|
||
</div>
|
||
<div class='row span-two'>
|
||
<span class='label' data-i18n='target'>TARGET</span>
|
||
<input class='scalable-input input-field' type='text' title='@{target}' name='attr_target'>
|
||
<span class='label' data-i18n='rng'>RANGE</span>
|
||
<input class='scalable-input input-field' type='text' title='@{range}' name='attr_range'>
|
||
</div>
|
||
<div class='row'>
|
||
<span class='label' data-i18n='duration'>DURATION</span>
|
||
<input class='scalable-input input-field' type='text' title='@{duration}' name='attr_duration' value=''>
|
||
</div>
|
||
<input type='hidden' title='@{frequency}' name='attr_frequency' class='freq-check'>
|
||
<div class='row at-will daily-limit'>
|
||
<span class='label abi-cost' data-i18n='usage'>USAGE</span>
|
||
<input class='scalable-input input-field' type='text' title='@{usage}' name='attr_usage'>
|
||
</div>
|
||
<div class='row span-two daily-limit'>
|
||
<input class='' type='number' title='@{uses}' name='attr_uses' value='0'>
|
||
<span class='label'>/</span>
|
||
<div class='attr-base-mod-container input-field'>
|
||
<input class='base-attr ability-uses' type='text' title='@{uses_max}' name='attr_uses_max_base' value='10' >
|
||
<input class='mod-buff' type='hidden' name='attr_uses_change' value='0'>
|
||
<span class='input-field modified-attr attr ability-uses' readonly='true' type='text' title='@{uses_max}' name='attr_uses_max' value='10'>10</span>
|
||
</div>
|
||
<span class='label' data-i18n='_-daily-uses'>Daily Uses</span>
|
||
</div>
|
||
<input class='field-tab' type='checkbox' title='@{attack_checkbox}' name='attr_attack_checkbox' value='1' hidden='true'>
|
||
<label class='expandable'><input class='field-tab atk-tab' type='checkbox' title='@{attack_checkbox}' name='attr_attack_checkbox' value='1' hidden='true'><span class='field label' data-i18n='atk'>ATTACK ROLL</span></label>
|
||
<input class='field-tab' type='checkbox' title='@{attack_checkbox}' name='attr_attack_checkbox' value='1' hidden='true'>
|
||
<div class='field-container expandable inherit-grid'>
|
||
<input class='field-tab' type='checkbox' title='@{attack_checkbox}' name='attr_attack_checkbox' value='1' hidden='true'>
|
||
<div class='field row span-all'>
|
||
<select class='label atk-ability abi' title='@{attack_ability}' name='attr_attack_ability'>
|
||
<option value='0' selected='na' selected='selected'>N/A</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>
|
||
<input hidden='true' title='@{attack_ability}' name='attr_attack_ability' value='0'>
|
||
<span class='arith'>+</span>
|
||
<input class='bab input-field' type='number' title='@{base_attack_bonus_base}' name='attr_base_attack_bonus_base' value='0'>
|
||
<input class='bab input-field' type='hidden' title='@{base_attack_bonus_base}' name='attr_base_attack_bonus' value='0'>
|
||
<input class='scalable-input input-field' type='text' title='@{attack_bonus}' name='attr_attack_bonus'>
|
||
</div>
|
||
</div>
|
||
<input class='field-tab' type='checkbox' title='@{damage_checkbox}' name='attr_damage_checkbox' value='1' hidden='true'>
|
||
<label class='expandable'><input class='field-tab dmg-tab' type='checkbox' title='@{damage_checkbox}' name='attr_damage_checkbox' value='1' hidden='true'><span class='field label' data-i18n='dmg'>DAMAGE ROLL</span></label>
|
||
<input class='field-tab' type='checkbox' title='@{damage_checkbox}' name='attr_damage_checkbox' value='1' hidden='true'>
|
||
<div class='field-container expandable inherit-grid'>
|
||
<input hidden='true' title='@{damage_misc}' name='attr_damage_misc' value=''>
|
||
<input class='field-tab' type='checkbox' title='@{damage_checkbox}' name='attr_damage_checkbox' value='1' hidden='true'>
|
||
<div class='field row span-two'>
|
||
<input class='scalable-input input-field' type='text' name=attr_damage_dice><span>+</span>
|
||
<select class='label atk-ability abi' title='@{damage_ability}' name='attr_damage_ability'>
|
||
<option value='0' selected='selected'>N/A</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>
|
||
<input type='text' hidden='true' title='@{damage_ability}' name='attr_damage_ability' value='0'>
|
||
</div>
|
||
<div class='field row span-two'>
|
||
<span class='label' data-i18n='damage-type'>DAMAGE TYPE</span>
|
||
<input class='scalable-input input-field' type='text' title='@{attack_type}' name='attr_attack_type'>
|
||
<span class='label' data-i18n='crit-effect'>CRITICAL EFFECT</span>
|
||
<input class='scalable-input input-field' type='text' title='@{attack_crit}' name='attr_attack_crit'>
|
||
</div>
|
||
</div>
|
||
<input class='field-tab' type='checkbox' title='@{full_attack_checkbox}' name='attr_full_attack_checkbox' value='1' hidden='true'>
|
||
<label class='expandable'><input class='field-tab macro-tab' type='checkbox' title='@{full_attack_checkbox}' name='attr_full_attack_checkbox' value='1' hidden='true'><span class='label field' data-i18n='additional-attack'>ADDITIONAL ATTACKS</span></label>
|
||
<input class='field-tab' type='checkbox' title='@{full_attack_checkbox}' name='attr_full_attack_checkbox' value='1' hidden='true'>
|
||
<div class='field-container expandable inherit-grid'>
|
||
<input class='field-tab macro-tab' type='checkbox' title='@{full_attack_checkbox}' name='attr_full_attack_checkbox' value='1' hidden='true'>
|
||
<div class='field row'>
|
||
<span data-i18n='roll-full-attack_'>ROLL FULL ATTACK: </span>
|
||
</div>
|
||
<div class='field row span-two'>
|
||
<label><input type='radio' title='@{full_attack_query}' name='attr_full_attack_query' value='?{Full Attack|No,0|Yes,1}'><span class='label' data-i18n='query'>QUERY</span></label>
|
||
<label><input type='radio' title='@{full_attack_query}' name='attr_full_attack_query' value='1'><span class='label' data-i18n='always'>ALWAYS</span></label>
|
||
<label><input type='radio' title='@{full_attack_query}' name='attr_full_attack_query' value='0' checked='checked'><span class='label' data-i18n='never'>NEVER</span></label>
|
||
</div>
|
||
<div class='field row span-two'>
|
||
<span class='label' data-i18n='number-of-attacks:'>NUMBER OF ATTACKS:</span>
|
||
<input class='scalable-input input-field' type='text' title='@{full_attack_number}' name='attr_full_attack_number' value='2'>
|
||
</div>
|
||
<div class='field row span-two'>
|
||
<span class='label' data-i8n='full-attack-penalty:'>ATTACK PENALTY:</span>
|
||
<input class='scalable-input input-field' type='text' title='@{full_attack_penalty}' name='attr_full_attack_penalty' value='-4'>
|
||
</div>
|
||
</div>
|
||
<input class='field-tab' type='checkbox' title='@{save_checkbox}' name='attr_save_checkbox' value='1' hidden='true'>
|
||
<label class='expandable'><input class='field-tab save-effect-tab' type='checkbox' title='@{save_checkbox}' name='attr_save_checkbox' value='1' hidden='true'><span class='field label' data-i18n='save-effect'>SAVE EFFECT</span></label>
|
||
<input class='field-tab' type='checkbox' title='@{save_checkbox}' name='attr_save_checkbox' value='1' hidden='true'>
|
||
<div class='field-container expandable inherit-grid'>
|
||
<input class='field-tab' type='checkbox' title='@{save_checkbox}' name='attr_save_checkbox' value='1' hidden='true'>
|
||
<div class='field row span-all'>
|
||
<select class='label atk-ability abi input-field' title='@{save_ability}' name='attr_save_ability'>
|
||
<option value='0' selected='na' selected='selected'>N/A</option>
|
||
<option value='@{strength_mod}'>STR</option>
|
||
<option value='@{dexterity_mod}' data-i18n='dex'>DEX</option>
|
||
<option value='@{constitution_mod}' data-i18n='con'>CON</option>
|
||
<option value='@{intelligence_mod}' data-i18n='int'>INT</option>
|
||
<option value='@{wisdom_mod}' data-i18n='wis'>WIS</option>
|
||
<option value='@{charisma_mod}' data-i18n='cha'>CHA</option>
|
||
</select>
|
||
<span class='label' data-i18n='based-dc_'>Based DC </span>
|
||
<div class='attr-base-mod-container input-field save-dc'>
|
||
<input class='base-attr' type='number' title='@{dc}' name='attr_dc_base' value='10'>
|
||
<input class='mod-buff' type='hidden' name='attr_dc_change' value='0'>
|
||
<span class='modified-attr input-field' title='@{dc}' name='attr_dc' value='10'>10</span>
|
||
</div>
|
||
<select class='label save-type input-field' title='@{save_type}' name='attr_save_type'>
|
||
<option value='' selected='selected'>-</option>
|
||
<option value='FORT' data-i18n='fort-save'>FORT SAVE</option>
|
||
<option value='REF' data-i18n='ref-save'>REF SAVE</option>
|
||
<option value='WILL' data-i18n='will-save'>WILL SAVE</option>
|
||
</select>
|
||
</div>
|
||
<div class='field row span-all'>
|
||
<textarea title='@{effect}' name='attr_effect'></textarea>
|
||
</div>
|
||
<div class='field row span-all'>
|
||
<span class='label' data-i18n='A-Sucessful-Save:'>A Sucessful Save:</span>
|
||
</div>
|
||
<div class='field row span-all'>
|
||
<textarea title='@{save_effect}' name='attr_save_effect'></textarea>
|
||
</div>
|
||
</div>
|
||
<input class='field-tab' type='checkbox' title='@{mods_checkbox}' name='attr_mods_checkbox' value='1' hidden='true'>
|
||
<label class='expandable'><input class='field-tab mods-tab item-mods' type='checkbox' title='@{mods_checkbox}' name='attr_mods_checkbox' value='1' hidden='true'><span class='label field' data-i18n='mods'>MODS</span></label>
|
||
<input class='field-tab' type='checkbox' title='@{mods_checkbox}' name='attr_mods_checkbox' value='1' hidden='true'>
|
||
<div class='row field-container mod-container expandable'>
|
||
<input class='field-tab' type='checkbox' title='@{mods_checkbox}' name='attr_mods_checkbox' value='1' hidden='true'>
|
||
<textarea class='field row scalable-input input-field' type='text' title='@{mods}' name='attr_mods'></textarea>
|
||
</div>
|
||
<input class='field-tab' type='checkbox' title='@{macro_checkbox}' name='attr_macro_checkbox' value='1' hidden='true'>
|
||
<label class='expandable'><input class='field-tab macro-tab' type='checkbox' title='@{macro_checkbox}' name='attr_macro_checkbox' value='1' hidden='true'><span class='label field' data-i18n='attacher'>ATTACHER</span></label>
|
||
<input class='field-tab' type='checkbox' title='@{macro_checkbox}' name='attr_macro_checkbox' value='1' hidden='true'>
|
||
<div class='row field-container mod-container expandable'>
|
||
<input class='field-tab' type='checkbox' title='@{macro_checkbox}' name='attr_macro_checkbox' value='1' hidden='true'>
|
||
<textarea class='field row scalable-input input-field' type='text' title='@{attacher}' name='attr_attacher'></textarea>
|
||
</div>
|
||
<div class='row span-all'>
|
||
<textarea class='' title='@{description}' name='attr_description'></textarea>
|
||
</div>
|
||
<div class='row span-all'><input readonly=true class='id-label' title='@{id}' name='attr_id'></input>
|
||
</div>
|
||
</div>
|
||
<div class='display'>
|
||
<input type='hidden' title='@{frequency}' name='attr_frequency' class='freq-check'>
|
||
<input class='freq-check at-will daily-limit' type='checkbox' title='@{toggle}' name='attr_toggle' value='1'>
|
||
<div class='button-description'>
|
||
<input class='label' type='text' title='@{name}' name='attr_name'>
|
||
<input class='label' type='text' name='attr_source'>
|
||
<input class='label force-uppercase' type='text' name='attr_type'>
|
||
<input class='const-check' name='attr_frequency' type='hidden'>
|
||
<input class='label span-two constant force-uppercase' type='text' name='attr_frequency'>
|
||
<input class='label span-two not-constant' type='text' name='attr_usage'>
|
||
<button class='npcsummary' type='roll' title='%{roll}' name='roll_roll' value='@{whisper_state}&{template:spell} {{name=@{character_name}}} {{characterid=@{character_id}}} {{title=@{name}}} {{saveflag=[[1d@{save_checkbox}]]}} {{activation=@{usage}}} {{duration=@{duration}}} {{targets=@{target}}} {{range=@{range}}} {{savedc=[[@{dc}]]}} {{savetype=@{save_type}}} {{effect=@{effect}}} {{saveeffect=@{save_effect}}} {{attackflag=[[1d@{attack_checkbox}]]}} {{r1=[[1d20+@{base_attack_bonus}[BAB]+@{attack_ability}[ABILITY]+[[@{full_attack_query}*(@{full_attack_penalty})]][FULL ATTACK]@{attack_misc}@{attack_bonus}]]}} {{damageflag=[[1d@{damage_checkbox}]]}} {{damage1type=@{attack_type}}} {{damage1=[[@{damage_dice}+@{damage_ability}[ABILITY]@{damage_misc}]]}} {{crit1damage=[[@{damage_dice}+@{damage_ability}[ABILITY]@{damage_misc}]]}} {{crit1effect=@{attack_crit}}} {{r2=[[1d20+@{base_attack_bonus}[BAB]+@{attack_ability}[ABILITY]+@{full_attack_penalty}[FULL ATTACK]@{attack_misc}@{attack_bonus}]]}} {{damageflag=[[1d@{damage_checkbox}]]}} {{damage2type=@{attack_type}}} {{damage2=[[@{damage_dice}+@{damage_ability}[ABILITY]@{damage_misc}]]}} {{crit2damage=[[@{damage_dice}+@{damage_ability}[ABILITY]@{damage_misc}]]}} {{crit2effect=@{attack_crit}}} {{r3=[[1d20+@{base_attack_bonus}[BAB]+@{attack_ability}[ABILITY]+@{full_attack_penalty}[FULL ATTACK]@{attack_misc}@{attack_bonus}]]}} {{damageflag=[[1d@{damage_checkbox}]]}} {{damage3type=@{attack_type}}} {{damage3=[[@{damage_dice}+@{damage_ability}[ABILITY]@{damage_misc}]]}} {{crit3damage=[[@{damage_dice}+@{damage_ability}[ABILITY]@{damage_misc}]]}} {{crit3effect=@{attack_crit}}} {{r4=[[1d20+@{base_attack_bonus}[BAB]+@{attack_ability}[ABILITY]+@{full_attack_penalty}[FULL ATTACK]@{attack_misc}@{attack_bonus}]]}} {{damageflag=[[1d@{damage_checkbox}]]}} {{damage4type=@{attack_type}}} {{damage4=[[@{damage_dice}+@{damage_ability}[ABILITY]@{damage_misc}]]}} {{crit4damage=[[@{damage_dice}+@{damage_ability}[ABILITY]@{damage_misc}]]}} {{crit4effect=@{attack_crit}}} {{r5=[[1d20+@{base_attack_bonus}[BAB]+@{attack_ability}[ABILITY]+@{full_attack_penalty}[FULL ATTACK]@{attack_misc}@{attack_bonus}]]}} {{damageflag=[[1d@{damage_checkbox}]]}} {{damage5type=@{attack_type}}} {{damage5=[[@{damage_dice}+@{damage_ability}[ABILITY]@{damage_misc}]]}} {{crit5damage=[[@{damage_dice}+@{damage_ability}[ABILITY]@{damage_misc}]]}} {{crit5effect=@{attack_crit}}} {{notes=@{description}}} @{attacher}'></button>
|
||
<label class='expand-button'><input hidden='true' class='expand-description' type='checkbox' name='attr_expand_description' value='1'><span class='collapsed pictos'>`</span><span class='expanded pictos'>J</span></label>
|
||
</div>
|
||
<input class='expand-description' type='hidden' name='attr_expand_description'>
|
||
<textarea class='description' title='@{description}' name='attr_description'></textarea>
|
||
</div>
|
||
</div>
|
||
</fieldset>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<span class='disclaimer' data-i18n='disclaimer'>© 2018. Pathfinder Playtest, the Pathfinder Playtest logo, the Paizo golem, all Paizo titles, the Pathfinder Playtest Roleplaying Game rules, and Paizo’s character names and distinctive likenesses are property and copyright of Paizo, Inc. in the United States and other countries.</span>
|
||
</div>
|
||
<div class='rolltemplates' hidden='true'>
|
||
<!-- Roll Template Definitions
|
||
Generic Roll Template
|
||
Macro Text:
|
||
@{whisper_state}&{template:generic} {{name=@{character_name}}} {{characterid=@{character_id}}} {{title= }} {{r1name= }} {{r1= }} {{notes= }}
|
||
-->
|
||
<rolltemplate class="sheet-rolltemplate-generic">
|
||
{{#title}}
|
||
<div class='generic-header'>
|
||
<div>
|
||
{{title}}
|
||
</div>
|
||
</div>
|
||
{{/title}}
|
||
{{#leftbanner}}
|
||
<div class='side-banner left'>
|
||
<div>
|
||
{{leftbanner}}
|
||
</div>
|
||
</div>
|
||
{{/leftbanner}}
|
||
<div class='generic-body'>
|
||
<div class='content-container'>{{#r1}}
|
||
<div class='split-container across'>
|
||
<div class='highlighted split r1name'>
|
||
{{#r1name}}
|
||
{{r1name}}
|
||
{{/r1name}}
|
||
{{^r1name}}
|
||
<span data-i18n='check'>CHECK</span>
|
||
{{/r1name}}
|
||
</div>
|
||
<div class='highlighted split roll'>
|
||
{{r1}}
|
||
</div>
|
||
</div>
|
||
{{/r1}}{{#r2}}
|
||
<div class='split-container across'>
|
||
<div class='highlighted split r1name'>
|
||
{{#r2name}}
|
||
{{r2name}}
|
||
{{/r2name}}
|
||
{{^r2name}}
|
||
<span data-i18n='check'>CHECK</span>
|
||
{{/r2name}}
|
||
</div>
|
||
<div class='highlighted split roll'>
|
||
{{r2}}
|
||
</div>
|
||
</div>
|
||
{{/r2}}{{#r3}}
|
||
<div class='split-container across'>
|
||
<div class='highlighted split r1name'>
|
||
{{#r3name}}
|
||
{{r3name}}
|
||
{{/r3name}}
|
||
{{^r3name}}
|
||
<span data-i18n='check'>CHECK</span>
|
||
{{/r3name}}
|
||
</div>
|
||
<div class='highlighted split roll'>
|
||
{{r3}}
|
||
</div>
|
||
</div>
|
||
{{/r3}}{{#r4}}
|
||
<div class='split-container across'>
|
||
<div class='highlighted split r1name'>
|
||
{{#r4name}}
|
||
{{r4name}}
|
||
{{/r4name}}
|
||
{{^r4name}}
|
||
<span data-i18n='check'>CHECK</span>
|
||
{{/r4name}}
|
||
</div>
|
||
<div class='highlighted split roll'>
|
||
{{r4}}
|
||
</div>
|
||
</div>
|
||
{{/r4}}{{#r5}}
|
||
<div class='split-container across'>
|
||
<div class='highlighted split r1name'>
|
||
{{#r5name}}
|
||
{{r5name}}
|
||
{{/r5name}}
|
||
{{^r5name}}
|
||
<span data-i18n='check'>CHECK</span>
|
||
{{/r5name}}
|
||
</div>
|
||
<div class='highlighted split roll'>
|
||
{{r5}}
|
||
</div>
|
||
</div>
|
||
{{/r5}}{{#notes}}
|
||
<div class='highlighted across notes-row'>
|
||
<span class='notes' data-i18n='notes:'>NOTES:</span><span> {{notes}}</span>
|
||
</div>
|
||
{{/notes}}{{#buttons0}}
|
||
<div class='highlighted across notes-row'>
|
||
<span>{{buttons0}}</span>
|
||
</div>
|
||
{{/buttons0}}{{#buttons1}}
|
||
<div class='highlighted across notes-row'>
|
||
<span>{{buttons1}}</span>
|
||
</div>
|
||
{{/buttons1}}{{#buttons2}}
|
||
<div class='highlighted across notes-row'>
|
||
<span>{{buttons2}}</span>
|
||
</div>
|
||
{{/buttons2}}{{#buttons3}}
|
||
<div class='highlighted across notes-row'>
|
||
<span>{{buttons3}}</span>
|
||
</div>
|
||
{{/buttons3}}{{#buttons4}}
|
||
<div class='highlighted across notes-row'>
|
||
<span>{{buttons4}}</span>
|
||
</div>
|
||
{{/buttons4}}{{#buttons5}}
|
||
<div class='highlighted across notes-row'>
|
||
<span>{{buttons5}}</span>
|
||
</div>
|
||
{{/buttons5}}{{#buttons6}}
|
||
<div class='highlighted across notes-row'>
|
||
<span>{{buttons6}}</span>
|
||
</div>
|
||
{{/buttons6}}{{#buttons7}}
|
||
<div class='highlighted across notes-row'>
|
||
<span>{{buttons7}}</span>
|
||
</div>
|
||
{{/buttons7}}{{#buttons8}}
|
||
<div class='highlighted across notes-row'>
|
||
<span>{{buttons8}}</span>
|
||
</div>
|
||
{{/buttons8}}{{#buttons9}}
|
||
<div class='highlighted across notes-row'>
|
||
<span>{{buttons9}}</span>
|
||
</div>
|
||
{{/buttons9}}</div>
|
||
</div>
|
||
{{#rightbanner}}
|
||
<div class='side-banner right'>
|
||
<div>
|
||
{{rightbanner}}
|
||
</div>
|
||
</div>
|
||
{{/rightbanner}}
|
||
{{#name}}
|
||
<div class='generic-footer'>
|
||
<div>
|
||
{{#characterid}}
|
||
{{#name}}
|
||
[{{name}}](https://journal.roll20.net/character/{{characterid}})
|
||
{{/name}}
|
||
{{/characterid}}
|
||
{{^characterid}}
|
||
{{name}}
|
||
{{/characterid}}
|
||
</div>
|
||
</div>
|
||
{{/name}}
|
||
</rolltemplate>
|
||
<!-- Attack Roll Templates -->
|
||
<!-- Macro Text:
|
||
@{whisper_state}&{template:attack} {{name=@{character_name}}} {{characterid=@{character_id}}} {{title=@{name}}} {{r1=[[1d20+@{base_attack_bonus}[BAB]+@{ability}[ABILITY]@{misc}@{bonus}]]}}
|
||
{{damagetype=@{type}}} {{damage1=[[@{damage_dice}+@{damage_ability}[ABILITY]@{damage_misc}]]}}
|
||
{{crit1damage=[[@{damage_dice}+@{damage_ability}[ABILITY]@{damage_misc}]]}} {{crit1effect=@{crit}}}
|
||
{{targets=}} {{range=}}
|
||
{{notes=@{description}}}
|
||
-->
|
||
<rolltemplate class="sheet-rolltemplate-attack">
|
||
{{#title}}
|
||
<div class='generic-header'>
|
||
<div>
|
||
{{title}}
|
||
</div>
|
||
</div>
|
||
{{/title}}
|
||
{{#leftbanner}}
|
||
<div class='side-banner left'>
|
||
<div>
|
||
{{leftbanner}}
|
||
</div>
|
||
</div>
|
||
{{/leftbanner}}
|
||
<div class='generic-body'>
|
||
<div class='content-container'>{{#r1}}
|
||
{{#rollGreater() fullattack 1}}
|
||
<span class='across attack-label' data-i18n='1st-attack'>1st ATTACK</span>
|
||
{{/rollGreater() fullattack 1}}
|
||
<div class='split-container across'>
|
||
<div class='highlighted split r1name'>
|
||
{{#r1name}}
|
||
{{r1name}}
|
||
{{/r1name}}
|
||
{{^r1name}}
|
||
<span data-i18n='attack'>ATTACK</span>
|
||
{{/r1name}}
|
||
</div>
|
||
<div class='highlighted split roll'>
|
||
{{r1}}
|
||
</div>
|
||
</div>
|
||
{{/r1}}{{#damage1}}
|
||
<div class='split-container across'>
|
||
<div class='highlighted split r1name'>
|
||
{{#damage1type}}
|
||
{{damage1type}}
|
||
{{/damage1type}}
|
||
{{^damage1type}}
|
||
<span data-i18n='damage'>DAMAGE</span>
|
||
{{/damage1type}}
|
||
</div>
|
||
<div class='highlighted split roll'>
|
||
{{damage1}}
|
||
{{#rollWasCrit() r1}}
|
||
{{#crit1damage}}
|
||
+{{crit1damage}}
|
||
{{/crit1damage}}
|
||
{{#crit1effect}}
|
||
<br>+{{crit1effect}}
|
||
{{/crit1effect}}
|
||
{{/rollWasCrit() r1}}
|
||
</div>
|
||
</div>
|
||
<input type='checkbox' class='crit-reveal' value='1'>
|
||
<span class='crit-field'>CRIT</span>
|
||
{{/damage1}}{{#targets}}
|
||
<div class='split-container across'>
|
||
<div class='highlighted split r1name'>
|
||
<span data-i18n='targets'>TARGETS</span>
|
||
</div>
|
||
<div class='highlighted split roll'>
|
||
{{targets}}
|
||
</div>
|
||
</div>
|
||
{{/targets}}{{#range}}
|
||
<div class='split-container across'>
|
||
<div class='highlighted split r1name'>
|
||
<span data-i18n='range'>RANGE</span>
|
||
</div>
|
||
<div class='highlighted split roll'>
|
||
{{range}}
|
||
</div>
|
||
</div>
|
||
{{/range}}{{#curr_ammo}}
|
||
<div class='split-container across'>
|
||
<div class='highlighted split r1name'>
|
||
{{^ammo_type}}
|
||
<span data-i18n='ammo'>AMMO</span>
|
||
{{/ammo_type}}
|
||
{{#ammo_type}}
|
||
{{ammo_type}}
|
||
{{/ammo_type}}
|
||
</div>
|
||
<div class='highlighted split roll'>
|
||
{{curr_ammo}}
|
||
</div>
|
||
</div>
|
||
{{/curr_ammo}}{{#notes}}
|
||
<div class='highlighted across notes-row'>
|
||
<span class='notes' data-i18n='notes:'>NOTES:</span>{{notes}}
|
||
</div>
|
||
{{/notes}}{{#buttons0}}
|
||
<div class='highlighted across notes-row'>
|
||
<span>{{buttons0}}</span>
|
||
</div>
|
||
{{/buttons0}}{{#buttons1}}
|
||
<div class='highlighted across notes-row'>
|
||
<span>{{buttons1}}</span>
|
||
</div>
|
||
{{/buttons1}}{{#buttons2}}
|
||
<div class='highlighted across notes-row'>
|
||
<span>{{buttons2}}</span>
|
||
</div>
|
||
{{/buttons2}}{{#buttons3}}
|
||
<div class='highlighted across notes-row'>
|
||
<span>{{buttons3}}</span>
|
||
</div>
|
||
{{/buttons3}}{{#buttons4}}
|
||
<div class='highlighted across notes-row'>
|
||
<span>{{buttons4}}</span>
|
||
</div>
|
||
{{/buttons4}}{{#buttons5}}
|
||
<div class='highlighted across notes-row'>
|
||
<span>{{buttons5}}</span>
|
||
</div>
|
||
{{/buttons5}}{{#buttons6}}
|
||
<div class='highlighted across notes-row'>
|
||
<span>{{buttons6}}</span>
|
||
</div>
|
||
{{/buttons6}}{{#buttons7}}
|
||
<div class='highlighted across notes-row'>
|
||
<span>{{buttons7}}</span>
|
||
</div>
|
||
{{/buttons7}}{{#buttons8}}
|
||
<div class='highlighted across notes-row'>
|
||
<span>{{buttons8}}</span>
|
||
</div>
|
||
{{/buttons8}}{{#buttons9}}
|
||
<div class='highlighted across notes-row'>
|
||
<span>{{buttons9}}</span>
|
||
</div>
|
||
{{/buttons9}}</div>
|
||
</div>
|
||
{{#rightbanner}}
|
||
<div class='side-banner right'>
|
||
<div>
|
||
<span>{{rightbanner}}</span>
|
||
</div>
|
||
</div>
|
||
{{/rightbanner}}
|
||
{{#name}}
|
||
<div class='generic-footer'>
|
||
<div>
|
||
{{#characterid}}
|
||
{{#name}}
|
||
[{{name}}](https://journal.roll20.net/character/{{characterid}})
|
||
{{/name}}
|
||
{{/characterid}}
|
||
{{^characterid}}
|
||
{{name}}
|
||
{{/characterid}}
|
||
</div>
|
||
</div>
|
||
{{/name}}
|
||
</rolltemplate>
|
||
<!--Ship roll templates
|
||
&{template:ship} {{name=@{character_name}}} {{characterid=@{character_id}}} {{title=@{name}}} {{r1=[[1d20+@{base_attack_bonus}[BAB]+@{ability}[ABILITY]@{misc}@{bonus}]]}}
|
||
{{damage1=[[@{damage_dice}+@{damage_ability}[ABILITY]@{damage_misc}]]}} {{range=@{range} ^{hexes}}} {{class=^{@{class}}}} {{type=^{@{type}}}} {{curr_ammo=@{ammo}}} {{ammo_type=@{ammo_type}}} {{notes=@{description}}} @{attacher}
|
||
-->
|
||
<rolltemplate class="sheet-rolltemplate-ship">
|
||
{{#title}}
|
||
<div class='generic-header'>
|
||
<div>
|
||
{{title}}
|
||
</div>
|
||
</div>
|
||
{{/title}}
|
||
{{#leftbanner}}
|
||
<div class='side-banner left'>
|
||
<div>
|
||
{{leftbanner}}
|
||
</div>
|
||
</div>
|
||
{{/leftbanner}}
|
||
<div class='generic-body'>
|
||
<div class='content-container'>{{#rcrit}}
|
||
<div class='highlighted across ship-crit'>
|
||
<div>{{rcrit}}
|
||
<span data-i18n="{{#rollLess() rcrit 11}}life-support{{/rollLess() rcrit 11}}{{#rollGreater() rcrit 10}}{{#rollLess() rcrit 31}}sensors{{/rollLess() rcrit 31}}{{/rollGreater() rcrit 10}}{{#rollGreater() rcrit 30}}{{#rollLess() rcrit 61}}weapons{{/rollLess() rcrit 61}}{{/rollGreater() rcrit 30}}{{#rollGreater() rcrit 60}}{{#rollLess() rcrit 81}}engines{{/rollLess() rcrit 81}}{{/rollGreater() rcrit 60}}{{#rollGreater() rcrit 80}}power-core{{/rollGreater() rcrit 80}}"></span>
|
||
</div>
|
||
{{#rollGreater() rcrit 30}}{{#rollLess() rcrit 61}}
|
||
<div>
|
||
{{rcrit2}}
|
||
<span data-i18n="{{#rollTotal() rcrit2 1}}forward-arc{{/rollTotal() rcrit2 1}}{{#rollTotal() rcrit2 2}}starboard-arc{{/rollTotal() rcrit2 2}}{{#rollTotal() rcrit2 3}}aft-arc{{/rollTotal() rcrit2 3}}{{#rollTotal() rcrit2 4}}port-arc{{/rollTotal() rcrit2 4}}"></span>
|
||
</div>
|
||
{{/rollLess() rcrit 61}}{{/rollGreater() rcrit 30}}
|
||
</div>
|
||
{{/rcrit}}{{#r1}}
|
||
<div class='split-container across'>
|
||
<div class='highlighted split r1name'>
|
||
{{#r1name}}
|
||
{{r1name}}
|
||
{{/r1name}}
|
||
{{^r1name}}
|
||
<span data-i18n='attack'>ATTACK</span>
|
||
{{/r1name}}
|
||
</div>
|
||
<div class='highlighted split roll'>
|
||
{{r1}}
|
||
</div>
|
||
</div>
|
||
{{/r1}}{{#damage1}}
|
||
<div class='split-container across'>
|
||
<div class='highlighted split r1name'>
|
||
{{#damage1type}}
|
||
{{damage1type}}
|
||
{{/damage1type}}
|
||
{{^damage1type}}
|
||
<span data-i18n='damage'>DAMAGE</span>
|
||
{{/damage1type}}
|
||
</div>
|
||
<div class='highlighted split roll'>
|
||
{{damage1}}
|
||
</div>
|
||
</div>
|
||
{{/damage1}}{{#range}}
|
||
<div class='split-container across'>
|
||
<div class='highlighted split r1name'>
|
||
<span data-i18n='range'>RANGE</span>
|
||
</div>
|
||
<div class='highlighted split roll'>
|
||
{{range}}
|
||
</div>
|
||
</div>
|
||
{{/range}}{{#class}}
|
||
<div class='split-container across'>
|
||
<div class='highlighted split r1name'>
|
||
<span data-i18n='class'>CLASS</span>
|
||
</div>
|
||
<div class='highlighted split roll'>
|
||
{{class}}
|
||
</div>
|
||
</div>
|
||
{{/class}}{{#type}}
|
||
<div class='split-container across'>
|
||
<div class='highlighted split r1name'>
|
||
<span data-i18n='type'>TYPE</span>
|
||
</div>
|
||
<div class='highlighted split roll'>
|
||
{{type}}
|
||
</div>
|
||
</div>
|
||
{{/type}}{{#curr_ammo}}
|
||
<div class='split-container across'>
|
||
<div class='highlighted split r1name'>
|
||
{{^ammo_type}}
|
||
<span data-i18n='ammo'>AMMO</span>
|
||
{{/ammo_type}}
|
||
{{#ammo_type}}
|
||
{{ammo_type}}
|
||
{{/ammo_type}}
|
||
</div>
|
||
<div class='highlighted split roll'>
|
||
{{curr_ammo}}
|
||
</div>
|
||
</div>
|
||
{{/curr_ammo}}{{#notes}}
|
||
<div class='highlighted across notes-row'>
|
||
<span class='notes' data-i18n='notes:'>NOTES:</span>{{notes}}
|
||
</div>
|
||
{{/notes}}{{#buttons0}}
|
||
<div class='highlighted across notes-row'>
|
||
<span>{{buttons0}}</span>
|
||
</div>
|
||
{{/buttons0}}{{#buttons1}}
|
||
<div class='highlighted across notes-row'>
|
||
<span>{{buttons1}}</span>
|
||
</div>
|
||
{{/buttons1}}{{#buttons2}}
|
||
<div class='highlighted across notes-row'>
|
||
<span>{{buttons2}}</span>
|
||
</div>
|
||
{{/buttons2}}{{#buttons3}}
|
||
<div class='highlighted across notes-row'>
|
||
<span>{{buttons3}}</span>
|
||
</div>
|
||
{{/buttons3}}{{#buttons4}}
|
||
<div class='highlighted across notes-row'>
|
||
<span>{{buttons4}}</span>
|
||
</div>
|
||
{{/buttons4}}{{#buttons5}}
|
||
<div class='highlighted across notes-row'>
|
||
<span>{{buttons5}}</span>
|
||
</div>
|
||
{{/buttons5}}{{#buttons6}}
|
||
<div class='highlighted across notes-row'>
|
||
<span>{{buttons6}}</span>
|
||
</div>
|
||
{{/buttons6}}{{#buttons7}}
|
||
<div class='highlighted across notes-row'>
|
||
<span>{{buttons7}}</span>
|
||
</div>
|
||
{{/buttons7}}{{#buttons8}}
|
||
<div class='highlighted across notes-row'>
|
||
<span>{{buttons8}}</span>
|
||
</div>
|
||
{{/buttons8}}{{#buttons9}}
|
||
<div class='highlighted across notes-row'>
|
||
<span>{{buttons9}}</span>
|
||
</div>
|
||
{{/buttons9}}</div>
|
||
</div>
|
||
{{#rightbanner}}
|
||
<div class='side-banner right'>
|
||
<div>
|
||
<span>{{rightbanner}}</span>
|
||
</div>
|
||
</div>
|
||
{{/rightbanner}}
|
||
{{#name}}
|
||
<div class='generic-footer'>
|
||
<div>
|
||
{{#characterid}}
|
||
{{#name}}
|
||
[{{name}}](https://journal.roll20.net/character/{{characterid}})
|
||
{{/name}}
|
||
{{/characterid}}
|
||
{{^characterid}}
|
||
{{name}}
|
||
{{/characterid}}
|
||
</div>
|
||
</div>
|
||
{{/name}}
|
||
</rolltemplate>
|
||
<!-- Spell Roll Templates -->
|
||
<!-- @{whisper_state}&{template:spell} {{name=@{character_name}}} {{characterid=@{character_id}}} {{title=@{name}}} {{activation}} {{duration=}} {{targets=}} {{range=}} {{saveflag=[[1d@{save_checkbox}]]}} {{savedc=[[@{dc}]]}}
|
||
{{savetype=@{save_type}}} {{effect=@{effect}}} {{saveeffect=@{save_effect}}} {{attackflag=[[1d@{attack_checkbox}]]}}
|
||
{{r1=[[1d20+@{base_attack_bonus}[BAB]+@{ability}[ABILITY]@{misc}@{bonus}]]}} {{damageflag=[[1d@{damage_checkbox}]]}} {{damagetype=@{type}}}
|
||
{{damage1=[[@{damage_dice}+@{damage_ability}[ABILITY]@{damage_misc}]]}}
|
||
{{crit1damage=[[@{damage_dice}+@{damage_ability}[ABILITY]@{damage_misc}]]}} {{crit1effect=@{crit_effect}}}
|
||
{{notes=@{description}}} -->
|
||
<rolltemplate class="sheet-rolltemplate-spell">
|
||
{{#title}}
|
||
<div class='generic-header'>
|
||
<div>
|
||
{{title}}
|
||
</div>
|
||
</div>
|
||
{{/title}}
|
||
{{#leftbanner}}
|
||
<div class='side-banner left'>
|
||
<div>
|
||
{{leftbanner}}
|
||
</div>
|
||
</div>
|
||
{{/leftbanner}}
|
||
<div class='generic-body'>
|
||
<div class='content-container'>{{#activation}}
|
||
<div class='split-container across'>
|
||
<div class='highlighted split r1name'>
|
||
<span data-i18n='activation'>ACTIVATION</span>
|
||
</div>
|
||
<div class='highlighted split roll'>
|
||
{{activation}}
|
||
</div>
|
||
</div>
|
||
{{/activation}}{{#duration}}
|
||
<div class='split-container across'>
|
||
<div class='highlighted split r1name'>
|
||
<span data-i18n='duration'>DURATION</span>
|
||
</div>
|
||
<div class='highlighted split roll'>
|
||
{{duration}}
|
||
</div>
|
||
</div>
|
||
{{/duration}}{{#targets}}
|
||
<div class='split-container across'>
|
||
<div class='highlighted split r1name'>
|
||
<span data-i18n='targets'>TARGETS</span>
|
||
</div>
|
||
<div class='highlighted split roll'>
|
||
{{targets}}
|
||
</div>
|
||
</div>
|
||
{{/targets}}{{#range}}
|
||
<div class='split-container across'>
|
||
<div class='highlighted split r1name'>
|
||
<span data-i18n='range'>RANGE</span>
|
||
</div>
|
||
<div class='highlighted split roll'>
|
||
{{range}}
|
||
</div>
|
||
</div>
|
||
{{/range}}{{#rollGreater() saveflag 0}}
|
||
<div class='highlighted across notes-row'>
|
||
<span class='notes' data-i18n='full-effect:'>FULL EFFECT:</span> <span>{{effect}}</span>
|
||
</div>
|
||
<div class='split-container across'>
|
||
<div class='highlighted split r1name'>
|
||
<span class='savetype'>{{savetype}} </span><span data-i18n='_save'> SAVE</span>
|
||
</div>
|
||
<div class='highlighted split roll'>
|
||
<span data-i18n='dc'>DC</span> <span>{{savedc}}</span>
|
||
</div>
|
||
</div>
|
||
<div class='highlighted across notes-row'>
|
||
<span class='notes' data-i18n='save-effect:'>SAVE EFFECT:</span> <span>{{saveeffect}}</span>
|
||
</div>
|
||
{{/rollGreater() saveflag 0}}{{#rollGreater() attackflag 0}}
|
||
{{#r1}}
|
||
<span class='across' data-i18n='1st-attack'>1st ATTACK</span>
|
||
<div class='split-container across'>
|
||
<div class='highlighted split r1name'>
|
||
{{#r1name}}
|
||
{{r1name}}
|
||
{{/r1name}}
|
||
{{^r1name}}
|
||
<span data-i18n='attack'>ATTACK</span>
|
||
{{/r1name}}
|
||
</div>
|
||
<div class='highlighted split roll'>
|
||
{{r1}}
|
||
</div>
|
||
</div>
|
||
{{/r1}}
|
||
{{/rollGreater() attackflag 0}}{{#rollGreater() damageflag 0}}
|
||
{{#^rollGreater() attackflag 0}}
|
||
<span class='across attack-label' data-i18n='1st-attack'>1st ATTACK</span>
|
||
{{/^rollGreater() attackflag 0}}
|
||
{{#damage1}}
|
||
<div class='split-container across'>
|
||
<div class='highlighted split r1name'>
|
||
{{#damage1type}}
|
||
{{damage1type}}
|
||
{{/damage1type}}
|
||
{{^damage1type}}
|
||
<span data-i18n='damage'>DAMAGE</span>
|
||
{{/damage1type}}
|
||
</div>
|
||
<div class='highlighted split roll'>
|
||
{{damage1}}
|
||
</div>
|
||
</div>
|
||
{{#rollWasCrit() r1}}
|
||
{{#rollGreater() attackflag 0}}
|
||
{{#crit1effect}}
|
||
<div class='split-container across'>
|
||
<div class='highlighted split r1name'>
|
||
<span data-i18n='crit-effect'>CRIT EFFECT</span>
|
||
</div>
|
||
<div class='highlighted split roll'>
|
||
{{crit1effect}}
|
||
</div>
|
||
</div>
|
||
{{/crit1effect}}
|
||
{{#crit1damage}}
|
||
<div class='split-container across'>
|
||
<div class='highlighted split r1name'>
|
||
<span data-i18n='crit-damage'>CRIT DAMAGE</span>
|
||
</div>
|
||
<div class='highlighted split roll'>
|
||
{{crit1damage}}
|
||
</div>
|
||
</div>
|
||
{{/crit1damage}}
|
||
{{/rollGreater() attackflag 0}}
|
||
{{/rollWasCrit() r1}}
|
||
{{/damage1}}
|
||
{{/rollGreater() damageflag 0}}{{#rollGreater() fullattack 1}}
|
||
{{#rollGreater() attackflag 0}}
|
||
{{#r2}}
|
||
<span class='across attack-label' data-i18n='2nd-attack'>2nd ATTACK</span>
|
||
<div class='split-container across'>
|
||
<div class='highlighted split r1name'>
|
||
{{#r2name}}
|
||
{{r2name}}
|
||
{{/r2name}}
|
||
{{^r2name}}
|
||
<span data-i18n='attack'>ATTACK</span>
|
||
{{/r2name}}
|
||
</div>
|
||
<div class='highlighted split roll'>
|
||
{{r2}}
|
||
</div>
|
||
</div>
|
||
{{/r2}}
|
||
{{/rollGreater() attackflag 0}}
|
||
{{#rollGreater() damageflag 0}}
|
||
{{#damage2}}
|
||
<div class='split-container across'>
|
||
<div class='highlighted split r1name'>
|
||
{{#damage2type}}
|
||
{{damage2type}}
|
||
{{/damage2type}}
|
||
{{^damage2type}}
|
||
<span data-i18n='damage'>DAMAGE</span>
|
||
{{/damage2type}}
|
||
</div>
|
||
<div class='highlighted split roll'>
|
||
{{damage2}}
|
||
</div>
|
||
</div>
|
||
{{#rollWasCrit() r2}}
|
||
{{#rollGreater() attackflag 0}}
|
||
{{#crit2effect}}
|
||
<div class='split-container across'>
|
||
<div class='highlighted split r1name'>
|
||
<span data-i18n='crit-effect'>CRIT EFFECT</span>
|
||
</div>
|
||
<div class='highlighted split roll'>
|
||
{{crit2effect}}
|
||
</div>
|
||
</div>
|
||
{{/crit2effect}}
|
||
{{#crit2damage}}
|
||
<div class='split-container across'>
|
||
<div class='highlighted split r1name'>
|
||
<span data-i18n='crit-damage'>CRIT DAMAGE</span>
|
||
</div>
|
||
<div class='highlighted split roll'>
|
||
{{crit2damage}}
|
||
</div>
|
||
</div>
|
||
{{/crit2damage}}
|
||
{{/rollGreater() attackflag 0}}
|
||
{{/rollWasCrit() r2}}
|
||
{{/damage2}}
|
||
{{/rollGreater() damageflag 0}}
|
||
{{/rollGreater() fullattack 1}}{{#rollGreater() fullattack 2}}
|
||
{{#rollGreater() attackflag 0}}
|
||
{{#r3}}
|
||
<span class='across attack-label' data-i18n='3rd-attack'>3rd ATTACK</span>
|
||
<div class='split-container across'>
|
||
<div class='highlighted split r1name'>
|
||
{{#r3name}}
|
||
{{r3name}}
|
||
{{/r3name}}
|
||
{{^r3name}}
|
||
<span data-i18n='attack'>ATTACK</span>
|
||
{{/r3name}}
|
||
</div>
|
||
<div class='highlighted split roll'>
|
||
{{r3}}
|
||
</div>
|
||
</div>
|
||
{{/r3}}
|
||
{{/rollGreater() attackflag 0}}
|
||
{{#rollGreater() damageflag 0}}
|
||
{{#damage3}}
|
||
<div class='split-container across'>
|
||
<div class='highlighted split r1name'>
|
||
{{#damage3type}}
|
||
{{damage3type}}
|
||
{{/damage3type}}
|
||
{{^damage3type}}
|
||
<span data-i18n='damage'>DAMAGE</span>
|
||
{{/damage3type}}
|
||
</div>
|
||
<div class='highlighted split roll'>
|
||
{{damage3}}
|
||
</div>
|
||
</div>
|
||
{{#rollWasCrit() r3}}
|
||
{{#rollGreater() attackflag 0}}
|
||
{{#crit3effect}}
|
||
<div class='split-container across'>
|
||
<div class='highlighted split r1name'>
|
||
<span data-i18n='crit-effect'>CRIT EFFECT</span>
|
||
</div>
|
||
<div class='highlighted split roll'>
|
||
{{crit3effect}}
|
||
</div>
|
||
</div>
|
||
{{/crit3effect}}
|
||
{{#crit3damage}}
|
||
<div class='split-container across'>
|
||
<div class='highlighted split r1name'>
|
||
<span data-i18n='crit-damage'>CRIT DAMAGE</span>
|
||
</div>
|
||
<div class='highlighted split roll'>
|
||
{{crit3damage}}
|
||
</div>
|
||
</div>
|
||
{{/crit3damage}}
|
||
{{/rollGreater() attackflag 0}}
|
||
{{/rollWasCrit() r3}}
|
||
{{/damage3}}
|
||
{{/rollGreater() damageflag 0}}
|
||
{{/rollGreater() fullattack 2}}{{#rollGreater() fullattack 3}}
|
||
{{#rollGreater() attackflag 0}}
|
||
{{#r4}}
|
||
<span class='across attack-label' data-i18n='4th-attack'>4th ATTACK</span>
|
||
<div class='split-container across'>
|
||
<div class='highlighted split r1name'>
|
||
{{#r4name}}
|
||
{{r4name}}
|
||
{{/r4name}}
|
||
{{^r4name}}
|
||
<span data-i18n='attack'>ATTACK</span>
|
||
{{/r4name}}
|
||
</div>
|
||
<div class='highlighted split roll'>
|
||
{{r4}}
|
||
</div>
|
||
</div>
|
||
{{/r4}}
|
||
{{/rollGreater() attackflag 0}}
|
||
{{#rollGreater() damageflag 0}}
|
||
{{#damage4}}
|
||
<div class='split-container across'>
|
||
<div class='highlighted split r1name'>
|
||
{{#damage4type}}
|
||
{{damage4type}}
|
||
{{/damage4type}}
|
||
{{^damage4type}}
|
||
<span data-i18n='damage'>DAMAGE</span>
|
||
{{/damage4type}}
|
||
</div>
|
||
<div class='highlighted split roll'>
|
||
{{damage4}}
|
||
</div>
|
||
</div>
|
||
{{#rollWasCrit() r4}}
|
||
{{#rollGreater() attackflag 0}}
|
||
{{#crit4effect}}
|
||
<div class='split-container across'>
|
||
<div class='highlighted split r1name'>
|
||
<span data-i18n='crit-effect'>CRIT EFFECT</span>
|
||
</div>
|
||
<div class='highlighted split roll'>
|
||
{{crit4effect}}
|
||
</div>
|
||
</div>
|
||
{{/crit4effect}}
|
||
{{#crit4damage}}
|
||
<div class='split-container across'>
|
||
<div class='highlighted split r1name'>
|
||
<span data-i18n='crit-damage'>CRIT DAMAGE</span>
|
||
</div>
|
||
<div class='highlighted split roll'>
|
||
{{crit4damage}}
|
||
</div>
|
||
</div>
|
||
{{/crit4damage}}
|
||
{{/rollGreater() attackflag 0}}
|
||
{{/rollWasCrit() r4}}
|
||
{{/damage4}}
|
||
{{/rollGreater() damageflag 0}}
|
||
{{/rollGreater() fullattack 3}}{{#rollGreater() fullattack 4}}
|
||
{{#rollGreater() attackflag 0}}
|
||
{{#r5}}
|
||
<span class='across attack-label' data-i18n='5th-attack'>5th ATTACK</span>
|
||
<div class='split-container across'>
|
||
<div class='highlighted split r1name'>
|
||
{{#r5name}}
|
||
{{r5name}}
|
||
{{/r5name}}
|
||
{{^r5name}}
|
||
<span data-i18n='attack'>ATTACK</span>
|
||
{{/r5name}}
|
||
</div>
|
||
<div class='highlighted split roll'>
|
||
{{r5}}
|
||
</div>
|
||
</div>
|
||
{{/r5}}
|
||
{{/rollGreater() attackflag 0}}
|
||
{{#rollGreater() damageflag 0}}
|
||
{{#damage5}}
|
||
<div class='split-container across'>
|
||
<div class='highlighted split r1name'>
|
||
{{#damage5type}}
|
||
{{damage5type}}
|
||
{{/damage5type}}
|
||
{{^damage5type}}
|
||
<span data-i18n='damage'>DAMAGE</span>
|
||
{{/damage5type}}
|
||
</div>
|
||
<div class='highlighted split roll'>
|
||
{{damage5}}
|
||
</div>
|
||
</div>
|
||
{{#rollWasCrit() r5}}
|
||
{{#rollGreater() attackflag 0}}
|
||
{{#crit5effect}}
|
||
<div class='split-container across'>
|
||
<div class='highlighted split r1name'>
|
||
<span data-i18n='crit-effect'>CRIT EFFECT</span>
|
||
</div>
|
||
<div class='highlighted split roll'>
|
||
{{crit5effect}}
|
||
</div>
|
||
</div>
|
||
{{/crit5effect}}
|
||
{{#crit5damage}}
|
||
<div class='split-container across'>
|
||
<div class='highlighted split r1name'>
|
||
<span data-i18n='crit-damage'>CRIT DAMAGE</span>
|
||
</div>
|
||
<div class='highlighted split roll'>
|
||
{{crit5damage}}
|
||
</div>
|
||
</div>
|
||
{{/crit5damage}}
|
||
{{/rollGreater() attackflag 0}}
|
||
{{/rollWasCrit() r5}}
|
||
{{/damage5}}
|
||
{{/rollGreater() damageflag 0}}
|
||
{{/rollGreater() fullattack 4}}{{#notes}}
|
||
<div class='highlighted across notes-row'>
|
||
<span class='notes' data-i18n='notes:'>NOTES:</span> {{notes}}
|
||
</div>
|
||
{{/notes}}{{#buttons0}}
|
||
<div class='highlighted across notes-row'>
|
||
<span>{{buttons0}}</span>
|
||
</div>
|
||
{{/buttons0}}{{#buttons1}}
|
||
<div class='highlighted across notes-row'>
|
||
<span>{{buttons1}}</span>
|
||
</div>
|
||
{{/buttons1}}{{#buttons2}}
|
||
<div class='highlighted across notes-row'>
|
||
<span>{{buttons2}}</span>
|
||
</div>
|
||
{{/buttons2}}{{#buttons3}}
|
||
<div class='highlighted across notes-row'>
|
||
<span>{{buttons3}}</span>
|
||
</div>
|
||
{{/buttons3}}{{#buttons4}}
|
||
<div class='highlighted across notes-row'>
|
||
<span>{{buttons4}}</span>
|
||
</div>
|
||
{{/buttons4}}{{#buttons5}}
|
||
<div class='highlighted across notes-row'>
|
||
<span>{{buttons5}}</span>
|
||
</div>
|
||
{{/buttons5}}{{#buttons6}}
|
||
<div class='highlighted across notes-row'>
|
||
<span>{{buttons6}}</span>
|
||
</div>
|
||
{{/buttons6}}{{#buttons7}}
|
||
<div class='highlighted across notes-row'>
|
||
<span>{{buttons7}}</span>
|
||
</div>
|
||
{{/buttons7}}{{#buttons8}}
|
||
<div class='highlighted across notes-row'>
|
||
<span>{{buttons8}}</span>
|
||
</div>
|
||
{{/buttons8}}{{#buttons9}}
|
||
<div class='highlighted across notes-row'>
|
||
<span>{{buttons9}}</span>
|
||
</div>
|
||
{{/buttons9}}</div>
|
||
</div>
|
||
{{#rightbanner}}
|
||
<div class='side-banner right'>
|
||
<div>
|
||
<span>{{rightbanner}}</span>
|
||
</div>
|
||
</div>
|
||
{{/rightbanner}}
|
||
{{#name}}
|
||
<div class='generic-footer'>
|
||
<div>
|
||
{{#characterid}}
|
||
{{#name}}
|
||
[{{name}}](https://journal.roll20.net/character/{{characterid}})
|
||
{{/name}}
|
||
{{/characterid}}
|
||
{{^characterid}}
|
||
{{name}}
|
||
{{/characterid}}
|
||
</div>
|
||
|
||
|
||
|
||
|
||
|
||
</div>
|
||
{{/name}}
|
||
</rolltemplate>
|
||
</div>
|
||
<script type='text/worker'>
|
||
/* ---- BEGIN: TheAaronSheet.js ---- */
|
||
/* Github: https://github.com/shdwjk/TheAaronSheet/blob/master/TheAaronSheet.js
|
||
By: The Aaron, Arcane Scriptomancer
|
||
Contact: https://app.roll20.net/users/104025/the-aaron*/
|
||
|
||
//This is a stripped down block of TAS that only has the logging functions. I only have it in because it makes logs easier to spot in the console
|
||
var TAS = TAS || (function(){
|
||
'use strict';
|
||
|
||
var loggingSettings = {
|
||
debug: {
|
||
key: 'debug',
|
||
title: 'Sheet-DEBUG',
|
||
color: {
|
||
bgLabel:'#7732A2',
|
||
label: '#F2EF40',
|
||
bgText: '#FFFEB7',
|
||
text: '#7732A2'
|
||
}
|
||
},
|
||
error: {
|
||
key: 'error',
|
||
title: 'Sheet-Error',
|
||
color: {
|
||
bgLabel:'#C11713',
|
||
label: 'white',
|
||
bgText: '#C11713',
|
||
text: 'white'
|
||
}
|
||
},
|
||
warn: {
|
||
key: 'warn',
|
||
title: 'Sheet-Warning',
|
||
color: {
|
||
bgLabel:'#F29140',
|
||
label: 'white',
|
||
bgText: '#FFD8B7',
|
||
text: 'black'
|
||
}
|
||
},
|
||
info: {
|
||
key: 'info',
|
||
title: 'Sheet-Info',
|
||
color: {
|
||
bgLabel:'#413FA9',
|
||
label: 'white',
|
||
bgText: '#B3B2EB',
|
||
text: 'black'
|
||
}
|
||
},
|
||
notice: {
|
||
key: 'notice',
|
||
title: 'Sheet-Notice',
|
||
color: {
|
||
bgLabel:'#33C133',
|
||
label: 'white',
|
||
bgText: '#ADF1AD',
|
||
text: 'black'
|
||
}
|
||
},
|
||
log: {
|
||
key: 'log',
|
||
title: 'Sheet-log',
|
||
color: {
|
||
bgLabel:'#f2f240',
|
||
label: 'black',
|
||
bgText: '#ffff90',
|
||
text: 'black'
|
||
}
|
||
},
|
||
callstack: {
|
||
key: 'TAS',
|
||
title: 'Sheet-function',
|
||
color: {
|
||
bgLabel:'#413FA9',
|
||
label: 'white',
|
||
bgText: '#B3B2EB',
|
||
text: 'black'
|
||
}
|
||
},
|
||
callstack_async: {
|
||
key: 'TAS',
|
||
title: 'Sheet-ASYNC CALL',
|
||
color: {
|
||
bgLabel:'#413FA9',
|
||
label: 'white',
|
||
bgText: '#413FA9',
|
||
text: 'white'
|
||
}
|
||
},
|
||
TAS: {
|
||
key: 'TAS',
|
||
title: 'Sheet-TAS',
|
||
color: {
|
||
bgLabel:'grey',
|
||
label: 'black;background:linear-gradient(#304352,#d7d2cc,#d7d2cc,#d7d2cc,#304352)',
|
||
bgText: 'grey',
|
||
text: 'black;background:linear-gradient(#304352,#d7d2cc,#d7d2cc,#d7d2cc,#304352)'
|
||
}
|
||
}
|
||
},
|
||
|
||
|
||
config = {
|
||
debugMode: false,
|
||
logging: {
|
||
log: true,
|
||
notice: true,
|
||
info: true,
|
||
warn: true,
|
||
error: true,
|
||
debug: false
|
||
}
|
||
},
|
||
|
||
dataLogger = function(primaryLogger,secondaryLogger,data){
|
||
_.each(data,function(m){
|
||
var type = complexType(m);
|
||
switch(type){
|
||
case'string':
|
||
primaryLogger(m);
|
||
break;
|
||
case'undefined':
|
||
case'null':
|
||
case'NaN':
|
||
primaryLogger('['+type+']');
|
||
break;
|
||
case'number':
|
||
case'not a number':
|
||
case'integer':
|
||
case'decimal':
|
||
case'boolean':
|
||
primaryLogger('['+type+']:'+m);
|
||
break;
|
||
default:
|
||
primaryLogger('['+type+']:=========================================');
|
||
secondaryLogger(m);
|
||
primaryLogger('=========================================================');
|
||
break;
|
||
}
|
||
});
|
||
},
|
||
complexType = function(o){
|
||
switch(typeof o){
|
||
case'string':
|
||
return'string';
|
||
case'boolean':
|
||
return'boolean';
|
||
case'number':
|
||
return (_.isNaN(o) ?'NaN' : (o.toString().match(/\./) ?'decimal' :'integer'));
|
||
case'function':
|
||
return'function:'+(o.name ? o.name+'()' :'(anonymous)');
|
||
case'object':
|
||
return (_.isArray(o) ?'array' : (_.isArguments(o) ?'arguments' : ( _.isNull(o) ?'null' :'object')));
|
||
default:
|
||
return typeof o;
|
||
}
|
||
},
|
||
|
||
colorLog = function(options){
|
||
var coloredLoggerFunction,
|
||
key = options.key,
|
||
label = options.title ||'TAS',
|
||
lBGColor = (options.color && options.color.bgLabel) ||'blue',
|
||
lTxtColor = (options.color && options.color.label) ||'white',
|
||
mBGColor = (options.color && options.color.bgText) ||'blue',
|
||
mTxtColor = (options.color && options.color.text) ||'white';
|
||
|
||
coloredLoggerFunction = function(message){
|
||
console.log(
|
||
'%c'+label+': %c'+message +'',
|
||
'background-color:'+lBGColor+';color:'+lTxtColor+'; font-weight:bold;',
|
||
'background-color:'+mBGColor+';color:'+mTxtColor+';'
|
||
);
|
||
};
|
||
return function(){
|
||
if('TAS'===key || config.logging[key]){
|
||
dataLogger(coloredLoggerFunction,function(m){console.log(m);},_.toArray(arguments));
|
||
}
|
||
};
|
||
},
|
||
|
||
logDebug = colorLog(loggingSettings.debug),
|
||
logError = colorLog(loggingSettings.error),
|
||
logWarn = colorLog(loggingSettings.warn),
|
||
logInfo = colorLog(loggingSettings.info),
|
||
logNotice = colorLog(loggingSettings.notice),
|
||
logLog = colorLog(loggingSettings.log),
|
||
log = colorLog(loggingSettings.TAS),
|
||
logCS = colorLog(loggingSettings.callstack),
|
||
logCSA = colorLog(loggingSettings.callstack_async);
|
||
|
||
return {
|
||
/* Logging */
|
||
debug: logDebug,
|
||
error: logError,
|
||
warn: logWarn,
|
||
info: logInfo,
|
||
notice: logNotice,
|
||
log: logLog
|
||
};
|
||
}());
|
||
|
||
/* ---- END: TheAaronSheet.js ---- */
|
||
/*start starfinder.js*/
|
||
var sheet = sheet || (function(){
|
||
'use strict';
|
||
const version = '0.011536066000',//The sheet's current version. This is put into the character_sheet attribute when a sheet is opened. I've been doing version numbering as 0.0Xyyyyyyyyyy where X represents the state of the sheet (currently in stage 4, or open beta) and y is the UNIX epoch timestamp for when I finished that build
|
||
pilotingRanks={},
|
||
sheetAttributes = [/*An array of all the non-repeating sheet attributes that could potentially be used in the calculations performed by the script
|
||
This array is used in the getAttrs call in accessStarfinder()*/
|
||
/*Class & Character attributes*/
|
||
'character_name','character_id','character_level',
|
||
'ancestry','ancestry_boost_1','ancestry_boost_2','ancestry_boost_3','ancestry_flaw','ancestry_hp',
|
||
'background','background_boost_1','background_boost_2',
|
||
'class','key_ability','class_hp','class_trained_skills',
|
||
'level_1_boost_1','level_1_boost_2','level_1_boost_3','level_1_boost_4',
|
||
'level_5_boost_1','level_5_boost_2','level_5_boost_3','level_5_boost_4',
|
||
'level_10_boost_1','level_10_boost_2','level_10_boost_3','level_10_boost_4',
|
||
'level_15_boost_1','level_15_boost_2','level_15_boost_3','level_15_boost_4',
|
||
'level_20_boost_1','level_20_boost_2','level_20_boost_3','level_20_boost_4',
|
||
'rp_ability',
|
||
/*ability score attributes*/
|
||
'strength','dexterity','constitution','intelligence','wisdom','charisma',
|
||
'strength_mod','dexterity_mod','constitution_mod','intelligence_mod','wisdom_mod','charisma_mod',
|
||
'strength_base','dexterity_base','constitution_base','intelligence_base','wisdom_base','charisma_base',
|
||
/*resource attributes*/
|
||
'hp','hp_max','temp_hp','temp_hp_max',
|
||
'spell_points_max_base','spell_points_ability',
|
||
/*Save attributess*/
|
||
'fort','ref','will','fort_proficiency','ref_proficiency','will_proficiency',
|
||
//AC Attributes
|
||
'ac','ac_armor','tac','tac_armor','ac_proficiency','tac_proficiency',
|
||
/*Item attributes*/
|
||
'carried_bulk','encumber_bulk','overburden_bulk','encumber_level',
|
||
//Skills
|
||
'acrobatics','arcana','athletics','crafting','deception','diplomacy','intimidation','medicine','nature',
|
||
'occultism','religion','society','stealth','survival','thievery',
|
||
|
||
'acrobatics_proficiency','arcana_proficiency','athletics_proficiency','crafting_proficiency','deception_proficiency','diplomacy_proficiency','intimidation_proficiency','medicine_proficiency','nature_proficiency',
|
||
'occultism_proficiency','religion_proficiency','society_proficiency','stealth_proficiency','survival_proficiency','thievery_proficiency',
|
||
|
||
'perception','perception_proficiency',
|
||
//settings attributes
|
||
'sheet_type',
|
||
//proficiency attributes
|
||
'unarmored_proficiency','light_armor_proficiency','heavy_armor_proficiency','medium_armor_proficiency','shield_proficiency',
|
||
'simple_weapon_proficiency','martial_weapon_proficiency',
|
||
'arcane_spell_proficiency','divine_spell_proficiency','primal_spell_proficiency','occult_spell_proficiency'
|
||
],
|
||
repeatingAttributes = [/*Array of objects with the attributes in each repeating section that need to be gotten with getAttrs,
|
||
used in getID()
|
||
Entity format:
|
||
{
|
||
section:'Name of the section',
|
||
fields:['name_of_the_attribute']
|
||
}
|
||
*/
|
||
{
|
||
section:'item',
|
||
fields:['name','bulk','quantity','mods','equipped','purpose','type','proficiency','level','uses_max','uses_max_base','uses']
|
||
},
|
||
{
|
||
section:'attack',
|
||
fields:['ability','damage_dice_num','quality','damage_dice_size','damage_ability','additional_damage','level','potency_rune','type','total','damage_total','proficiency','category','range','name','engagement_range']
|
||
},
|
||
{
|
||
section:'skill',
|
||
fields:['proficiency','ability','acp','name']
|
||
},
|
||
{
|
||
section:'buff',
|
||
fields:['mods','toggle','range','name']
|
||
},
|
||
{
|
||
section:'ability',
|
||
fields:['level','mods','toggle','frequency','source','uses_max_base','attack_bonus','range','name','attack_ability','damage_ability','attack_type','type','proficiency','save_ability','description','duration','target','traits','save_type','effect','usage','uses','save_effect','attacher','proficiency_checkbox','attack_checkbox','damage_checkbox','save_checkbox','macro_checkbox']
|
||
},
|
||
{
|
||
section:'cantrip',
|
||
fields:['level','range','name','attack_ability','damage_ability','attack_type','type','proficiency','save_ability','description','duration','target','traits','save_type','effect','save_effect','attacher','school']
|
||
},
|
||
{
|
||
section:'spell1',
|
||
fields:['level','range','name','attack_ability','damage_ability','attack_type','type','proficiency','save_ability','description','duration','target','traits','save_type','effect','save_effect','attacher','school']
|
||
},
|
||
{
|
||
section:'spell2',
|
||
fields:['level','range','name','attack_ability','damage_ability','attack_type','type','proficiency','save_ability','description','duration','target','traits','save_type','effect','save_effect','attacher','school']
|
||
},
|
||
{
|
||
section:'spell3',
|
||
fields:['level','range','name','attack_ability','damage_ability','attack_type','type','proficiency','save_ability','description','duration','target','traits','save_type','effect','save_effect','attacher','school']
|
||
},
|
||
{
|
||
section:'spell4',
|
||
fields:['level','range','name','attack_ability','damage_ability','attack_type','type','proficiency','save_ability','description','duration','target','traits','save_type','effect','save_effect','attacher','school']
|
||
},
|
||
{
|
||
section:'spell5',
|
||
fields:['level','range','name','attack_ability','damage_ability','attack_type','type','proficiency','save_ability','description','duration','target','traits','save_type','effect','save_effect','attacher','school']
|
||
},
|
||
{
|
||
section:'spell6',
|
||
fields:['level','range','name','attack_ability','damage_ability','attack_type','type','proficiency','save_ability','description','duration','target','traits','save_type','effect','save_effect','attacher','school']
|
||
},
|
||
{
|
||
section:'spell7',
|
||
fields:['level','range','name','attack_ability','damage_ability','attack_type','type','proficiency','save_ability','description','duration','target','traits','save_type','effect','save_effect','attacher','school']
|
||
},
|
||
{
|
||
section:'spell8',
|
||
fields:['level','range','name','attack_ability','damage_ability','attack_type','type','proficiency','save_ability','description','duration','target','traits','save_type','effect','save_effect','attacher','school']
|
||
},
|
||
{
|
||
section:'spell9',
|
||
fields:['level','range','name','attack_ability','damage_ability','attack_type','type','proficiency','save_ability','description','duration','target','traits','save_type','effect','save_effect','attacher','school']
|
||
},
|
||
{
|
||
section:'spell10',
|
||
fields:['level','range','name','attack_ability','damage_ability','attack_type','type','proficiency','save_ability','description','duration','target','traits','save_type','effect','save_effect','attacher','school']
|
||
},
|
||
{
|
||
section:'condition',
|
||
fields:['track','track_status','name']
|
||
}
|
||
],
|
||
skillList=[//Array of all the skills, used to iterate through them.
|
||
'acrobatics',
|
||
'athletics',
|
||
'bluff',
|
||
'computers',
|
||
'culture',
|
||
'diplomacy',
|
||
'disguise',
|
||
'engineering',
|
||
'intimidate',
|
||
'life_science',
|
||
'medicine',
|
||
'mysticism',
|
||
'profession',
|
||
'perception',
|
||
'physical_science',
|
||
'piloting',
|
||
'sense_motive',
|
||
'sleight_of_hand',
|
||
'stealth',
|
||
'survival'
|
||
],
|
||
attributeObjs={
|
||
/*
|
||
For attributes that only trigger, format is 'attrName':{repeating:boolean,attr:'attrName',affects:[]}
|
||
For attributes that need to be calculated: 'attrName':{repeating:boolean,attr:'attrName',affects:[],numAdds:#,attrAdds:[],repeatAdds:[],repeatTextAdds:[]}
|
||
*/
|
||
//Character info Attributes
|
||
'character_name':{repeating:false,attr:'character_name',affects:[]},
|
||
'character_level':{repeating:false,attr:'character_level',affects:['ability|dc','cantrip|dc','spell1|dc','spell2|dc','spell3|dc','spell4|dc','spell5|dc','spell6|dc','spell7|dc','spell8|dc','spell9|dc','spell10|dc','strength_base','dexterity_base','constitution_base','intelligence_base','wisdom_base','charisma_base','hp_max','rp_max','ac_proficiency','tac_proficiency']},
|
||
|
||
'ancestry':{repeating:false,attr:'ancestry',affects:[]},
|
||
'ancestry_boost_1':{repeating:false,attr:'ancestry_boost_1',affects:['strength_base','dexterity_base','constitution_base','intelligence_base','wisdom_base','charisma_base']},
|
||
'ancestry_boost_2':{repeating:false,attr:'ancestry_boost_2',affects:['strength_base','dexterity_base','constitution_base','intelligence_base','wisdom_base','charisma_base']},
|
||
'ancestry_boost_3':{repeating:false,attr:'ancestry_boost_3',affects:['strength_base','dexterity_base','constitution_base','intelligence_base','wisdom_base','charisma_base']},
|
||
'ancestry_flaw':{repeating:false,attr:'ancestry_flaw',affects:['strength_base','dexterity_base','constitution_base','intelligence_base','wisdom_base','charisma_base']},
|
||
'ancestry_hp':{repeating:false,attr:'ancestry_hp',affects:['hp_max']},
|
||
|
||
'background':{repeating:false,attr:'background',affects:[]},
|
||
'background_boost_1':{repeating:false,attr:'background_boost_1',affects:['strength_base','dexterity_base','constitution_base','intelligence_base','wisdom_base','charisma_base']},
|
||
'background_boost_2':{repeating:false,attr:'background_boost_2',affects:['strength_base','dexterity_base','constitution_base','intelligence_base','wisdom_base','charisma_base']},
|
||
|
||
'class':{repeating:false,attr:'class',affects:[]},
|
||
'key_ability':{repeating:false,attr:'key_ability',affects:['strength_base','dexterity_base','constitution_base','intelligence_base','wisdom_base','charisma_base']},
|
||
'class_hp':{repeating:false,attr:'class_hp',affects:['hp_max']},
|
||
'class_trained_skills':{repeating:false,attr:'class_trained_skills',affects:[]},
|
||
|
||
'level_1_boost_1':{repeating:false,attr:'level_1_boost_1',affects:['strength_base','dexterity_base','constitution_base','intelligence_base','wisdom_base','charisma_base']},
|
||
'level_1_boost_2':{repeating:false,attr:'level_1_boost_2',affects:['strength_base','dexterity_base','constitution_base','intelligence_base','wisdom_base','charisma_base']},
|
||
'level_1_boost_3':{repeating:false,attr:'level_1_boost_3',affects:['strength_base','dexterity_base','constitution_base','intelligence_base','wisdom_base','charisma_base']},
|
||
'level_1_boost_4':{repeating:false,attr:'level_1_boost_4',affects:['strength_base','dexterity_base','constitution_base','intelligence_base','wisdom_base','charisma_base']},
|
||
|
||
'level_5_boost_1':{repeating:false,attr:'level_5_boost_1',affects:['strength_base','dexterity_base','constitution_base','intelligence_base','wisdom_base','charisma_base']},
|
||
'level_5_boost_2':{repeating:false,attr:'level_5_boost_2',affects:['strength_base','dexterity_base','constitution_base','intelligence_base','wisdom_base','charisma_base']},
|
||
'level_5_boost_3':{repeating:false,attr:'level_5_boost_3',affects:['strength_base','dexterity_base','constitution_base','intelligence_base','wisdom_base','charisma_base']},
|
||
'level_5_boost_4':{repeating:false,attr:'level_5_boost_4',affects:['strength_base','dexterity_base','constitution_base','intelligence_base','wisdom_base','charisma_base']},
|
||
|
||
'level_10_boost_1':{repeating:false,attr:'level_10_boost_1',affects:['strength_base','dexterity_base','constitution_base','intelligence_base','wisdom_base','charisma_base']},
|
||
'level_10_boost_2':{repeating:false,attr:'level_10_boost_2',affects:['strength_base','dexterity_base','constitution_base','intelligence_base','wisdom_base','charisma_base']},
|
||
'level_10_boost_3':{repeating:false,attr:'level_10_boost_3',affects:['strength_base','dexterity_base','constitution_base','intelligence_base','wisdom_base','charisma_base']},
|
||
'level_10_boost_4':{repeating:false,attr:'level_10_boost_4',affects:['strength_base','dexterity_base','constitution_base','intelligence_base','wisdom_base','charisma_base']},
|
||
|
||
'level_15_boost_1':{repeating:false,attr:'level_15_boost_1',affects:['strength_base','dexterity_base','constitution_base','intelligence_base','wisdom_base','charisma_base']},
|
||
'level_15_boost_2':{repeating:false,attr:'level_15_boost_2',affects:['strength_base','dexterity_base','constitution_base','intelligence_base','wisdom_base','charisma_base']},
|
||
'level_15_boost_3':{repeating:false,attr:'level_15_boost_3',affects:['strength_base','dexterity_base','constitution_base','intelligence_base','wisdom_base','charisma_base']},
|
||
'level_15_boost_4':{repeating:false,attr:'level_15_boost_4',affects:['strength_base','dexterity_base','constitution_base','intelligence_base','wisdom_base','charisma_base']},
|
||
|
||
'level_20_boost_1':{repeating:false,attr:'level_20_boost_1',affects:['strength_base','dexterity_base','constitution_base','intelligence_base','wisdom_base','charisma_base']},
|
||
'level_20_boost_2':{repeating:false,attr:'level_20_boost_2',affects:['strength_base','dexterity_base','constitution_base','intelligence_base','wisdom_base','charisma_base']},
|
||
'level_20_boost_3':{repeating:false,attr:'level_20_boost_3',affects:['strength_base','dexterity_base','constitution_base','intelligence_base','wisdom_base','charisma_base']},
|
||
'level_20_boost_4':{repeating:false,attr:'level_20_boost_4',affects:['strength_base','dexterity_base','constitution_base','intelligence_base','wisdom_base','charisma_base']},
|
||
|
||
rp_max:{repeating:false,attr:'rp_max',affects:[],attrAdds:['character_level'],multAdds:[1],ability:'rp_ability',moddable:'_change'},
|
||
rp_buff:{repeating:false,attr:'rp_max_buff',affects:['rp_max'],attrAdds:[],multAdds:[],ability:''},
|
||
rp_ability:{repeating:false,attr:'rp_ability',affects:['rp_max'],attrAdds:[],multAdds:[],ability:''},
|
||
//Ability score attributes
|
||
strength_base:{repeating:false,attr:'strength_base',numAdds:0,affects:['strength'],attrAdds:[]},
|
||
dexterity_base:{repeating:false,attr:'dexterity_base',numAdds:0,affects:['dexterity'],attrAdds:[]},
|
||
constitution_base:{repeating:false,attr:'constitution_base',numAdds:0,affects:['constitution'],attrAdds:[]},
|
||
intelligence_base:{repeating:false,attr:'intelligence_base',numAdds:0,affects:['intelligence'],attrAdds:[]},
|
||
wisdom_base:{repeating:false,attr:'wisdom_base',numAdds:0,affects:['wisdom'],attrAdds:[]},
|
||
charisma_base:{repeating:false,attr:'charisma_base',numAdds:0,affects:['charisma'],attrAdds:[]},
|
||
|
||
strength:{repeating:false,attr:'strength',affects:['strength_mod'],attrAdds:['strength_base'],multAdds:[1],moddable:'_change',ability:''},
|
||
dexterity:{repeating:false,attr:'dexterity',affects:['dexterity_mod'],attrAdds:['dexterity_base'],multAdds:[1],moddable:'_change',ability:''},
|
||
constitution:{repeating:false,attr:'constitution',affects:['constitution_mod'],attrAdds:['constitution_base'],multAdds:[1],moddable:'_change',ability:''},
|
||
intelligence:{repeating:false,attr:'intelligence',affects:['intelligence_mod'],attrAdds:['intelligence_base'],multAdds:[1],moddable:'_change',ability:''},
|
||
wisdom:{repeating:false,attr:'wisdom',affects:['wisdom_mod'],attrAdds:['wisdom_base','wisdom_drain'],multAdds:[1],moddable:'_change',ability:''},
|
||
charisma:{repeating:false,attr:'charisma',affects:['charisma_mod'],attrAdds:['charisma_base'],multAdds:[1],moddable:'_change',ability:''},
|
||
|
||
strength_mod:{repeating:false,attr:'strength_mod',affects:['athletics','encumber_bulk','overburden_bulk'],attrAdds:['strength'],multAdds:[0.5],numAdds:-5,ability:''},
|
||
dexterity_mod:{repeating:false,attr:'dexterity_mod',affects:['ac','tac','ref','acrobatics','stealth','thievery'],attrAdds:['dexterity'],multAdds:[0.5],numAdds:-5,ability:''},
|
||
constitution_mod:{repeating:false,attr:'constitution_mod',affects:['fort','hp_max'],attrAdds:['constitution'],multAdds:[0.5],numAdds:-5,ability:''},
|
||
intelligence_mod:{repeating:false,attr:'intelligence_mod',affects:['arcana','crafting','occultism','society'],attrAdds:['intelligence'],multAdds:[0.5],numAdds:-5,ability:''},
|
||
wisdom_mod:{repeating:false,attr:'wisdom_mod',affects:['will','perception','medicine','nature','religion',],attrAdds:['wisdom'],multAdds:[0.5],numAdds:-5,ability:''},
|
||
charisma_mod:{repeating:false,attr:'charisma_mod',affects:['deception','diplomacy','intimidation'],attrAdds:['charisma'],multAdds:[0.5],numAdds:-5,ability:''},
|
||
|
||
strength_penalty:{repeating:false,attr:'strength_penalty',affects:['strength_mod']},
|
||
strength_drain:{repeating:false,attr:'strength_drain',affects:['strength']},
|
||
dexterity_penalty:{repeating:false,attr:'dexterity_penalty',affects:['dexterity_mod']},
|
||
dexterity_drain:{repeating:false,attr:'dexterity_drain',affects:['dexterity']},
|
||
constitution_penalty:{repeating:false,attr:'constitution_penalty',affects:['constitution_mod']},
|
||
constitution_drain:{repeating:false,attr:'constitution_drain',affects:['constitution']},
|
||
intelligence_penalty:{repeating:false,attr:'intelligence_penalty',affects:['intelligence_mod']},
|
||
intelligence_drain:{repeating:false,attr:'intelligence_drain',affects:['intelligence']},
|
||
wisdom_penalty:{repeating:false,attr:'wisdom_penalty',affects:['wisdom_mod']},
|
||
wisdom_drain:{repeating:false,attr:'wisdom_drain',affects:['wisdom']},
|
||
charisma_penalty:{repeating:false,attr:'charisma_penalty',affects:['charisma_mod']},
|
||
charisma_drain:{repeating:false,attr:'charisma_drain',affects:['charisma']},
|
||
//Health Attributes
|
||
hp_max:{repeating:false,attr:'hp_max',affects:[],attrAdds:['constitution_mod','ancestry_hp','class_hp'],multAdds:['character_level',1,'character_level'],numAdds:0,ability:'',moddable:'_change'},
|
||
hp_buff:{repeating:false,attr:'hp_buff',affects:['hp_max'],attrAdds:[],numAdds:0},
|
||
|
||
temp_hp_max:{repeating:false,attr:'temp_hp_max',affects:[],attrAdds:[],numAdds:0,moddable:'_change'},
|
||
temp_hp_buff:{repeating:false,attr:'temp_hp_buff',affects:['temp_hp_max'],attrAdds:[],numAdds:0},
|
||
|
||
//resource attributes
|
||
spell_points_max:{repeating:false,attr:'spell_points_max',affects:[],attrAdds:[],multAdds:[],ability:'spell_points_ability',moddable:'_change'},
|
||
spell_points_buff:{repeating:false,attr:'spell_points_buff',affects:['spell_points_max'],attrAdds:[],multAdds:[],ability:''},
|
||
spell_points_ability:{repeating:false,attr:'spell_points_ability',affects:['spell_points_max'],attrAdds:[],multAdds:[],ability:''},
|
||
//Skill Attributes
|
||
acrobatics:{repeating:false,attr:'acrobatics',affects:[],attrAdds:['acrobatics_proficiency','character_level','dexterity_mod'],multAdds:[1,1,1],numAdds:0,moddable:'_change',rollTime:'_misc'},
|
||
arcana:{repeating:false,attr:'arcana',affects:[],attrAdds:['arcana_proficiency','character_level','intelligence_mod'],multAdds:[1,1,1],numAdds:0,moddable:'_change',rollTime:'_misc'},
|
||
athletics:{repeating:false,attr:'athletics',affects:[],attrAdds:['athletics_proficiency','character_level','strength_mod'],multAdds:[1,1,1],numAdds:0,moddable:'_change',rollTime:'_misc'},
|
||
crafting:{repeating:false,attr:'crafting',affects:[],attrAdds:['crafting_proficiency','character_level','intelligence_mod'],multAdds:[1,1,1],numAdds:0,moddable:'_change',rollTime:'_misc'},
|
||
deception:{repeating:false,attr:'deception',affects:[],attrAdds:['deception_proficiency','character_level','charisma_mod'],multAdds:[1,1,1],numAdds:0,moddable:'_change',rollTime:'_misc'},
|
||
diplomacy:{repeating:false,attr:'diplomacy',affects:[],attrAdds:['diplomacy_proficiency','character_level','charisma_mod'],multAdds:[1,1,1],numAdds:0,moddable:'_change',rollTime:'_misc'},
|
||
intimidation:{repeating:false,attr:'intimidation',affects:[],attrAdds:['intimidation_proficiency','character_level','charisma_mod'],multAdds:[1,1,1],numAdds:0,moddable:'_change',rollTime:'_misc'},
|
||
medicine:{repeating:false,attr:'medicine',affects:[],attrAdds:['medicine_proficiency','character_level','wisdom_mod'],multAdds:[1,1,1],numAdds:0,moddable:'_change',rollTime:'_misc'},
|
||
nature:{repeating:false,attr:'nature',affects:[],attrAdds:['nature_proficiency','character_level','wisdom_mod'],multAdds:[1,1,1],numAdds:0,moddable:'_change',rollTime:'_misc'},
|
||
occultism:{repeating:false,attr:'occultism',affects:[],attrAdds:['occultism_proficiency','character_level','intelligence_mod'],multAdds:[1,1,1],numAdds:0,moddable:'_change',rollTime:'_misc'},
|
||
religion:{repeating:false,attr:'religion',affects:[],attrAdds:['religion_proficiency','character_level','wisdom_mod'],multAdds:[1,1,1],numAdds:0,moddable:'_change',rollTime:'_misc'},
|
||
society:{repeating:false,attr:'society',affects:[],attrAdds:['society_proficiency','character_level','intelligence_mod'],multAdds:[1,1,1],numAdds:0,moddable:'_change',rollTime:'_misc'},
|
||
stealth:{repeating:false,attr:'stealth',affects:[],attrAdds:['stealth_proficiency','character_level','dexterity_mod'],multAdds:[1,1,1],numAdds:0,moddable:'_change',rollTime:'_misc'},
|
||
survival:{repeating:false,attr:'survival',affects:[],attrAdds:['survival_proficiency','character_level','wisdom_mod'],multAdds:[1,1,1],numAdds:0,moddable:'_change',rollTime:'_misc'},
|
||
thievery:{repeating:false,attr:'thievery',affects:[],attrAdds:['thievery_proficiency','character_level','dexterity_mod'],multAdds:[1,1,1],numAdds:0,moddable:'_change',rollTime:'_misc'},
|
||
'skill|skill':{repeating:'skill',attr:'skill',affects:[],attrAdds:['character_level'],multAdds:[1],repeatAdds:['skill|proficiency'],ability:'ability',numAdds:0,moddable:'_change',rollTime:'_misc'},
|
||
|
||
acrobatics_proficiency:{repeating:false,attr:'acrobatics_proficiency',affects:['acrobatics'],attrAdds:[],numAdds:0},
|
||
arcana_proficiency:{repeating:false,attr:'arcana_proficiency',affects:['arcana'],attrAdds:[],numAdds:0},
|
||
athletics_proficiency:{repeating:false,attr:'athletics_proficiency',affects:['athletics'],attrAdds:[],numAdds:0},
|
||
crafting_proficiency:{repeating:false,attr:'crafting_proficiency',affects:['crafting'],attrAdds:[],numAdds:0},
|
||
deception_proficiency:{repeating:false,attr:'deception_proficiency',affects:['deception'],attrAdds:[],numAdds:0},
|
||
diplomacy_proficiency:{repeating:false,attr:'diplomacy_proficiency',affects:['diplomacy'],attrAdds:[],numAdds:0},
|
||
intimidation_proficiency:{repeating:false,attr:'intimidation_proficiency',affects:['intimidation'],attrAdds:[],numAdds:0},
|
||
medicine_proficiency:{repeating:false,attr:'medicine_proficiency',affects:['medicine'],attrAdds:[],numAdds:0},
|
||
nature_proficiency:{repeating:false,attr:'nature_proficiency',affects:['nature'],attrAdds:[],numAdds:0},
|
||
occultism_proficiency:{repeating:false,attr:'occultism_proficiency',affects:['occultism'],attrAdds:[],numAdds:0},
|
||
religion_proficiency:{repeating:false,attr:'religion_proficiency',affects:['religion'],attrAdds:[],numAdds:0},
|
||
society_proficiency:{repeating:false,attr:'society_proficiency',affects:['society'],attrAdds:[],numAdds:0},
|
||
stealth_proficiency:{repeating:false,attr:'stealth_proficiency',affects:['stealth'],attrAdds:[],numAdds:0},
|
||
survival_proficiency:{repeating:false,attr:'survival_proficiency',affects:['survival'],attrAdds:[],numAdds:0},
|
||
thievery_proficiency:{repeating:false,attr:'thievery_proficiency',affects:['thievery'],attrAdds:[],numAdds:0},
|
||
'skill|proficiency':{repeating:'skill',attr:'proficiency',affects:['skill|skill'],attrAdds:[],multAdds:[],repeatAdds:[],ability:'',numAdds:0},
|
||
|
||
acrobatics_buff:{repeating:false,attr:'acrobatics_buff',affects:['acrobatics'],attrAdds:[],numAdds:0},
|
||
arcana_buff:{repeating:false,attr:'arcana_buff',affects:['arcana'],attrAdds:[],numAdds:0},
|
||
athletics_buff:{repeating:false,attr:'athletics_buff',affects:['athletics'],attrAdds:[],numAdds:0},
|
||
crafting_buff:{repeating:false,attr:'crafting_buff',affects:['crafting'],attrAdds:[],numAdds:0},
|
||
deception_buff:{repeating:false,attr:'deception_buff',affects:['deception'],attrAdds:[],numAdds:0},
|
||
diplomacy_buff:{repeating:false,attr:'diplomacy_buff',affects:['diplomacy'],attrAdds:[],numAdds:0},
|
||
intimidation_buff:{repeating:false,attr:'intimidation_buff',affects:['intimidation'],attrAdds:[],numAdds:0},
|
||
medicine_buff:{repeating:false,attr:'medicine_buff',affects:['medicine'],attrAdds:[],numAdds:0},
|
||
nature_buff:{repeating:false,attr:'nature_buff',affects:['nature'],attrAdds:[],numAdds:0},
|
||
occultism_buff:{repeating:false,attr:'occultism_buff',affects:['occultism'],attrAdds:[],numAdds:0},
|
||
religion_buff:{repeating:false,attr:'religion_buff',affects:['religion'],attrAdds:[],numAdds:0},
|
||
society_buff:{repeating:false,attr:'society_buff',affects:['society'],attrAdds:[],numAdds:0},
|
||
stealth_buff:{repeating:false,attr:'stealth_buff',affects:['stealth'],attrAdds:[],numAdds:0},
|
||
survival_buff:{repeating:false,attr:'survival_buff',affects:['survival'],attrAdds:[],numAdds:0},
|
||
thievery_buff:{repeating:false,attr:'thievery_buff',affects:['thievery'],attrAdds:[],numAdds:0},
|
||
|
||
'skill|ability':{repeating:'skill',attr:'ability',affects:['skill|skill'],attrAdds:[],multAdds:[],repeatAdds:[],ability:'',numAdds:0},
|
||
|
||
perception:{repeating:false,attr:'acrobatics',affects:[],attrAdds:['perception_proficiency','character_level','wisdom_mod'],multAdds:[1,1,1],numAdds:0,moddable:'_change',rollTime:'_misc'},
|
||
perception_proficiency:{repeating:false,attr:'perception_proficiency',affects:['perception'],attrAdds:[],numAdds:0},
|
||
perception_buff:{repeating:false,attr:'perception_buff',affects:['perception'],attrAdds:[],numAdds:0},
|
||
initiative_buff:{repeating:false,attr:'initiative_buff',affects:['initiative'],attrAdds:[],numAdds:0},
|
||
initiative:{repeating:false,attr:'initiative',affects:[],attrAdds:[],numAdds:0},
|
||
//Saves Attributes
|
||
fort:{repeating:false,attr:'fort',affects:[],attrAdds:['constitution_mod','character_level','fort_proficiency'],multAdds:[1,1,1],numAdds:0,moddable:'_change',rollTime:'_misc'},
|
||
ref:{repeating:false,attr:'ref',affects:[],attrAdds:['dexterity_mod','character_level','ref_proficiency'],multAdds:[1,1,1],numAdds:0,moddable:'_change',rollTime:'_misc'},
|
||
will:{repeating:false,attr:'will',affects:[],attrAdds:['wisdom_mod','character_level','will_proficiency'],multAdds:[1,1,1],numAdds:0,moddable:'_change',rollTime:'_misc'},
|
||
|
||
fort_proficiency:{repeating:false,attr:'fort_proficiency',affects:['fort'],attrAdds:[]},
|
||
ref_proficiency:{repeating:false,attr:'ref_proficiency',affects:['ref'],attrAdds:[]},
|
||
will_proficiency:{repeating:false,attr:'will_proficiency',affects:['will'],attrAdds:[]},
|
||
|
||
fort_buff:{repeating:false,attr:'fort_buff',affects:['fort'],attrAdds:[],numAdds:0},
|
||
ref_buff:{repeating:false,attr:'ref_buff',affects:['ref'],attrAdds:[],numAdds:0},
|
||
will_buff:{repeating:false,attr:'will_buff',affects:['will'],attrAdds:[],numAdds:0},
|
||
saves_buff:{repeating:false,attr:'saves_buff',affects:['will','ref','fort'],attrAdds:[],numAdds:0},
|
||
//proficiency attributes
|
||
unarmored_proficiency:{repeating:false,attr:'unarmored_proficiency',affects:['ac_proficiency','tac_proficiency'],attrAdds:[],multAdds:[]},
|
||
light_armor_proficiency:{repeating:false,attr:'light_armor_proficiency',affects:['ac_proficiency','tac_proficiency'],attrAdds:[],multAdds:[]},
|
||
heavy_armor_proficiency:{repeating:false,attr:'heavy_armor_proficiency',affects:['ac_proficiency','tac_proficiency'],attrAdds:[],multAdds:[]},
|
||
medium_armor_proficiency:{repeating:false,attr:'medium_armor_proficiency',affects:['ac_proficiency','tac_proficiency'],attrAdds:[],multAdds:[]},
|
||
shield_proficiency:{repeating:false,attr:'shield_proficiency',affects:[],attrAdds:['ac_proficiency','tac_proficiency'],multAdds:[]},
|
||
|
||
simple_weapon_proficiency:{repeating:false,attr:'simple_weapon_proficiency',affects:['attack|total'],attrAdds:[],multAdds:[]},
|
||
martial_weapon_proficiency:{repeating:false,attr:'martial_weapon_proficiency',affects:['attack|total'],attrAdds:[],multAdds:[]},
|
||
|
||
arcane_spell_proficiency:{repeating:false,attr:'arcane_spell_proficiency',affects:['cantrip|dc','spell1|dc','spell2|dc','spell3|dc','spell4|dc','spell5|dc','spell6|dc','spell7|dc','spell8|dc','spell9|dc','spell10|dc'],attrAdds:[],multAdds:[]},
|
||
divine_spell_proficiency:{repeating:false,attr:'divine_spell_proficiency',affects:['cantrip|dc','spell1|dc','spell2|dc','spell3|dc','spell4|dc','spell5|dc','spell6|dc','spell7|dc','spell8|dc','spell9|dc','spell10|dc'],attrAdds:[],multAdds:[]},
|
||
primal_spell_proficiency:{repeating:false,attr:'primal_spell_proficiency',affects:['cantrip|dc','spell1|dc','spell2|dc','spell3|dc','spell4|dc','spell5|dc','spell6|dc','spell7|dc','spell8|dc','spell9|dc','spell10|dc'],attrAdds:[],multAdds:[]},
|
||
occult_spell_proficiency:{repeating:false,attr:'occult_spell_proficiency',affects:['cantrip|dc','spell1|dc','spell2|dc','spell3|dc','spell4|dc','spell5|dc','spell6|dc','spell7|dc','spell8|dc','spell9|dc','spell10|dc'],attrAdds:[],multAdds:[]},
|
||
//AC attributes
|
||
ac:{repeating:false,attr:'ac',affects:[],attrAdds:['dexterity_mod','ac_armor','ac_proficiency'],multAdds:[1,1],numAdds:10,moddable:'_change',rollTime:'_misc'},
|
||
ac_armor:{repeating:false,attr:'ac_armor',affects:['ac'],attrAdds:[],multAdds:[],numAdds:0,moddable:'_change'},
|
||
ac_proficiency:{repeating:false,attr:'ac_proficiency',affects:['ac'],attrAdds:[],multAdds:[],numAdds:0},
|
||
|
||
tac:{repeating:false,attr:'tac',affects:[],attrAdds:['dexterity_mod','tac_armor','tac_proficiency'],multAdds:[1,1],numAdds:10,moddable:'_change',rollTime:'_misc'},
|
||
tac_armor:{repeating:false,attr:'tac_armor',affects:['tac'],attrAdds:[],multAdds:[],numAdds:0,moddable:'_change'},
|
||
tac_proficiency:{repeating:false,attr:'tac_proficiency',affects:['tac'],attrAdds:[],multAdds:[1],numAdds:0},
|
||
|
||
tac_buff:{repeating:false,attr:'tac_buff',affects:['tac','tac_armor'],attrAdds:[],numAdds:0},
|
||
tac_armor_buff:{repeating:false,attr:'tac_armor_buff',affects:['tac_armor'],attrAdds:[],numAdds:0},
|
||
|
||
ac_buff:{repeating:false,attr:'ac_buff',affects:['ac','ac_armor'],attrAdds:[],numAdds:0},
|
||
ac_armor_buff:{repeating:false,attr:'ac_armor_buff',affects:['ac_armor'],attrAdds:[],numAdds:0},
|
||
|
||
armor_buff:{repeating:false,attr:'armor_buff',affects:['ac','tac','ac_armor','tac_armor'],attrAdds:[],numAdds:0},
|
||
|
||
'attack|ability':{repeating:'attack',attr:'ability',affects:['attack|total'],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'attack|damage_dice_num':{repeating:'attack',attr:'damage_dice_num',affects:['attack|damage_total'],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'attack|damage_dice_size':{repeating:'attack',attr:'damage_dice_size',affects:['attack|damage_total'],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'attack|damage_ability':{repeating:'attack',attr:'damage_ability',affects:['attack|damage_total'],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'attack|additional_damage':{repeating:'attack',attr:'additional_damage',affects:['attack|damage_total'],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'attack|level':{repeating:'attack',attr:'level',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'attack|potency_rune':{repeating:'attack',attr:'potency_rune',affects:['attack|total','attack|damage_total'],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'attack|quality':{repeating:'attack',attr:'quality',affects:['attack|total'],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'attack|type':{repeating:'attack',attr:'type',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'attack|total':{repeating:'attack',attr:'total',affects:[],attrAdds:['character_level'],multAdds:[1],repeatAdds:['attack|proficiency'],repeatTextAdds:[],numAdds:0,ability:'ability',moddable:'_change',rollTime:'_misc'},
|
||
'attack|damage_total':{repeating:'attack',attr:'damage_total',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:['attack|damage_dice_num','d','attack|damage_dice_size','+','attack|additional_damage'],numAdds:0,ability:'damage_ability',moddable:'_change',rollTime:'_misc'},
|
||
'attack|proficiency':{repeating:'attack',attr:'proficiency',affects:['attack|total'],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'attack|category':{repeating:'attack',attr:'category',affects:['attack|proficiency'],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'attack|range':{repeating:'attack',attr:'range',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'attack|name':{repeating:'attack',attr:'name',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'attack|engagement_range':{repeating:'attack',attr:'engagement_range',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
|
||
'ability|proficiency':{repeating:'ability',attr:'proficiency',affects:['ability|dc'],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'ability|level':{repeating:'ability',attr:'level',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'ability|mods':{repeating:'ability',attr:'mods',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'ability|toggle':{repeating:'ability',attr:'toggle',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'ability|frequency':{repeating:'ability',attr:'frequency',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'ability|uses_max_base':{repeating:'ability',attr:'uses_max_base',affects:['ability|uses_max'],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'ability|uses_max':{repeating:'item',attr:'uses_max',affects:[],attrAdds:[],multAdds:[],repeatAdds:['ability|uses_max_base'],repeatTextAdds:[],numAdds:0},
|
||
'ability|attack_bonus':{repeating:'ability',attr:'attack_bonus',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0, moddable:'_change'},
|
||
'ability|range':{repeating:'ability',attr:'range',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'ability|name':{repeating:'ability',attr:'name',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'ability|attack_ability':{repeating:'ability',attr:'attack_ability',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'ability|damage_ability':{repeating:'ability',attr:'damage_ability',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'ability|attack_type':{repeating:'ability',attr:'attack_type',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'ability|type':{repeating:'ability',attr:'type',affects:['ability|dc'],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'ability|dc':{repeating:'ability',attr:'dc',affects:[],attrAdds:['character_level'],multAdds:[1],repeatAdds:['ability|proficiency'],repeatTextAdds:[],numAdds:10,ability:'save_ability',moddable:'_change'},
|
||
'ability|save_ability':{repeating:'ability',attr:'save_ability',affects:['ability|dc'],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
|
||
'cantrip|proficiency':{repeating:'cantrip',attr:'proficiency',affects:['cantrip|dc'],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'cantrip|level':{repeating:'cantrip',attr:'level',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'cantrip|mods':{repeating:'cantrip',attr:'mods',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'cantrip|toggle':{repeating:'cantrip',attr:'toggle',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'cantrip|frequency':{repeating:'cantrip',attr:'frequency',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'cantrip|uses_max_base':{repeating:'cantrip',attr:'uses_max_base',affects:['cantrip|uses_max'],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'cantrip|uses_max':{repeating:'item',attr:'uses_max',affects:[],attrAdds:[],multAdds:[],repeatAdds:['cantrip|uses_max_base'],repeatTextAdds:[],numAdds:0},
|
||
'cantrip|attack_bonus':{repeating:'cantrip',attr:'attack_bonus',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0, moddable:'_change'},
|
||
'cantrip|range':{repeating:'cantrip',attr:'range',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'cantrip|name':{repeating:'cantrip',attr:'name',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'cantrip|attack_ability':{repeating:'cantrip',attr:'attack_ability',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'cantrip|damage_ability':{repeating:'cantrip',attr:'damage_ability',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'cantrip|attack_type':{repeating:'cantrip',attr:'attack_type',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'cantrip|type':{repeating:'cantrip',attr:'type',affects:['cantrip|dc'],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'cantrip|dc':{repeating:'cantrip',attr:'dc',affects:[],attrAdds:['character_level'],multAdds:[1],repeatAdds:['cantrip|proficiency'],repeatTextAdds:[],numAdds:10,ability:'save_ability',moddable:'_change'},
|
||
'cantrip|save_ability':{repeating:'cantrip',attr:'save_ability',affects:['cantrip|dc'],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
|
||
'spell1|proficiency':{repeating:'spell1',attr:'proficiency',affects:['spell1|dc'],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell1|level':{repeating:'spell1',attr:'level',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell1|mods':{repeating:'spell1',attr:'mods',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell1|toggle':{repeating:'spell1',attr:'toggle',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell1|frequency':{repeating:'spell1',attr:'frequency',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell1|uses_max_base':{repeating:'spell1',attr:'uses_max_base',affects:['spell1|uses_max'],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell1|uses_max':{repeating:'item',attr:'uses_max',affects:[],attrAdds:[],multAdds:[],repeatAdds:['spell1|uses_max_base'],repeatTextAdds:[],numAdds:0},
|
||
'spell1|attack_bonus':{repeating:'spell1',attr:'attack_bonus',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0, moddable:'_change'},
|
||
'spell1|range':{repeating:'spell1',attr:'range',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell1|name':{repeating:'spell1',attr:'name',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell1|attack_ability':{repeating:'spell1',attr:'attack_ability',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell1|damage_ability':{repeating:'spell1',attr:'damage_ability',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell1|attack_type':{repeating:'spell1',attr:'attack_type',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell1|type':{repeating:'spell1',attr:'type',affects:['spell1|dc'],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell1|dc':{repeating:'spell1',attr:'dc',affects:[],attrAdds:['character_level'],multAdds:[1],repeatAdds:['spell1|proficiency'],repeatTextAdds:[],numAdds:10,ability:'save_ability',moddable:'_change'},
|
||
'spell1|save_ability':{repeating:'spell1',attr:'save_ability',affects:['spell1|dc'],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
|
||
'spell2|proficiency':{repeating:'spell2',attr:'proficiency',affects:['spell2|dc'],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell2|level':{repeating:'spell2',attr:'level',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell2|mods':{repeating:'spell2',attr:'mods',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell2|toggle':{repeating:'spell2',attr:'toggle',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell2|frequency':{repeating:'spell2',attr:'frequency',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell2|uses_max_base':{repeating:'spell2',attr:'uses_max_base',affects:['spell2|uses_max'],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell2|uses_max':{repeating:'item',attr:'uses_max',affects:[],attrAdds:[],multAdds:[],repeatAdds:['spell2|uses_max_base'],repeatTextAdds:[],numAdds:0},
|
||
'spell2|attack_bonus':{repeating:'spell2',attr:'attack_bonus',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0, moddable:'_change'},
|
||
'spell2|range':{repeating:'spell2',attr:'range',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell2|name':{repeating:'spell2',attr:'name',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell2|attack_ability':{repeating:'spell2',attr:'attack_ability',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell2|damage_ability':{repeating:'spell2',attr:'damage_ability',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell2|attack_type':{repeating:'spell2',attr:'attack_type',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell2|type':{repeating:'spell2',attr:'type',affects:['spell2|dc'],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell2|dc':{repeating:'spell2',attr:'dc',affects:[],attrAdds:['character_level'],multAdds:[1],repeatAdds:['spell2|proficiency'],repeatTextAdds:[],numAdds:10,ability:'save_ability',moddable:'_change'},
|
||
'spell2|save_ability':{repeating:'spell2',attr:'save_ability',affects:['spell2|dc'],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
|
||
'spell3|proficiency':{repeating:'spell3',attr:'proficiency',affects:['spell3|dc'],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell3|level':{repeating:'spell3',attr:'level',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell3|mods':{repeating:'spell3',attr:'mods',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell3|toggle':{repeating:'spell3',attr:'toggle',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell3|frequency':{repeating:'spell3',attr:'frequency',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell3|uses_max_base':{repeating:'spell3',attr:'uses_max_base',affects:['spell3|uses_max'],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell3|uses_max':{repeating:'item',attr:'uses_max',affects:[],attrAdds:[],multAdds:[],repeatAdds:['spell3|uses_max_base'],repeatTextAdds:[],numAdds:0},
|
||
'spell3|attack_bonus':{repeating:'spell3',attr:'attack_bonus',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0, moddable:'_change'},
|
||
'spell3|range':{repeating:'spell3',attr:'range',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell3|name':{repeating:'spell3',attr:'name',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell3|attack_ability':{repeating:'spell3',attr:'attack_ability',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell3|damage_ability':{repeating:'spell3',attr:'damage_ability',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell3|attack_type':{repeating:'spell3',attr:'attack_type',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell3|type':{repeating:'spell3',attr:'type',affects:['spell3|dc'],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell3|dc':{repeating:'spell3',attr:'dc',affects:[],attrAdds:['character_level'],multAdds:[1],repeatAdds:['spell3|proficiency'],repeatTextAdds:[],numAdds:10,ability:'save_ability',moddable:'_change'},
|
||
'spell3|save_ability':{repeating:'spell3',attr:'save_ability',affects:['spell3|dc'],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
|
||
'spell4|proficiency':{repeating:'spell4',attr:'proficiency',affects:['spell4|dc'],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell4|level':{repeating:'spell4',attr:'level',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell4|mods':{repeating:'spell4',attr:'mods',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell4|toggle':{repeating:'spell4',attr:'toggle',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell4|frequency':{repeating:'spell4',attr:'frequency',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell4|uses_max_base':{repeating:'spell4',attr:'uses_max_base',affects:['spell4|uses_max'],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell4|uses_max':{repeating:'item',attr:'uses_max',affects:[],attrAdds:[],multAdds:[],repeatAdds:['spell4|uses_max_base'],repeatTextAdds:[],numAdds:0},
|
||
'spell4|attack_bonus':{repeating:'spell4',attr:'attack_bonus',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0, moddable:'_change'},
|
||
'spell4|range':{repeating:'spell4',attr:'range',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell4|name':{repeating:'spell4',attr:'name',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell4|attack_ability':{repeating:'spell4',attr:'attack_ability',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell4|damage_ability':{repeating:'spell4',attr:'damage_ability',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell4|attack_type':{repeating:'spell4',attr:'attack_type',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell4|type':{repeating:'spell4',attr:'type',affects:['spell4|dc'],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell4|dc':{repeating:'spell4',attr:'dc',affects:[],attrAdds:['character_level'],multAdds:[1],repeatAdds:['spell4|proficiency'],repeatTextAdds:[],numAdds:10,ability:'save_ability',moddable:'_change'},
|
||
'spell4|save_ability':{repeating:'spell4',attr:'save_ability',affects:['spell4|dc'],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
|
||
'spell5|proficiency':{repeating:'spell5',attr:'proficiency',affects:['spell5|dc'],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell5|level':{repeating:'spell5',attr:'level',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell5|mods':{repeating:'spell5',attr:'mods',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell5|toggle':{repeating:'spell5',attr:'toggle',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell5|frequency':{repeating:'spell5',attr:'frequency',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell5|uses_max_base':{repeating:'spell5',attr:'uses_max_base',affects:['spell5|uses_max'],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell5|uses_max':{repeating:'item',attr:'uses_max',affects:[],attrAdds:[],multAdds:[],repeatAdds:['spell5|uses_max_base'],repeatTextAdds:[],numAdds:0},
|
||
'spell5|attack_bonus':{repeating:'spell5',attr:'attack_bonus',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0, moddable:'_change'},
|
||
'spell5|range':{repeating:'spell5',attr:'range',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell5|name':{repeating:'spell5',attr:'name',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell5|attack_ability':{repeating:'spell5',attr:'attack_ability',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell5|damage_ability':{repeating:'spell5',attr:'damage_ability',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell5|attack_type':{repeating:'spell5',attr:'attack_type',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell5|type':{repeating:'spell5',attr:'type',affects:['spell5|dc'],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell5|dc':{repeating:'spell5',attr:'dc',affects:[],attrAdds:['character_level'],multAdds:[1],repeatAdds:['spell5|proficiency'],repeatTextAdds:[],numAdds:10,ability:'save_ability',moddable:'_change'},
|
||
'spell5|save_ability':{repeating:'spell5',attr:'save_ability',affects:['spell5|dc'],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
|
||
'spell6|proficiency':{repeating:'spell6',attr:'proficiency',affects:['spell6|dc'],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell6|level':{repeating:'spell6',attr:'level',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell6|mods':{repeating:'spell6',attr:'mods',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell6|toggle':{repeating:'spell6',attr:'toggle',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell6|frequency':{repeating:'spell6',attr:'frequency',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell6|uses_max_base':{repeating:'spell6',attr:'uses_max_base',affects:['spell6|uses_max'],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell6|uses_max':{repeating:'item',attr:'uses_max',affects:[],attrAdds:[],multAdds:[],repeatAdds:['spell6|uses_max_base'],repeatTextAdds:[],numAdds:0},
|
||
'spell6|attack_bonus':{repeating:'spell6',attr:'attack_bonus',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0, moddable:'_change'},
|
||
'spell6|range':{repeating:'spell6',attr:'range',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell6|name':{repeating:'spell6',attr:'name',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell6|attack_ability':{repeating:'spell6',attr:'attack_ability',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell6|damage_ability':{repeating:'spell6',attr:'damage_ability',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell6|attack_type':{repeating:'spell6',attr:'attack_type',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell6|type':{repeating:'spell6',attr:'type',affects:['spell6|dc'],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell6|dc':{repeating:'spell6',attr:'dc',affects:[],attrAdds:['character_level'],multAdds:[1],repeatAdds:['spell6|proficiency'],repeatTextAdds:[],numAdds:10,ability:'save_ability',moddable:'_change'},
|
||
'spell6|save_ability':{repeating:'spell6',attr:'save_ability',affects:['spell6|dc'],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
|
||
'spell7|proficiency':{repeating:'spell7',attr:'proficiency',affects:['spell7|dc'],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell7|level':{repeating:'spell7',attr:'level',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell7|mods':{repeating:'spell7',attr:'mods',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell7|toggle':{repeating:'spell7',attr:'toggle',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell7|frequency':{repeating:'spell7',attr:'frequency',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell7|uses_max_base':{repeating:'spell7',attr:'uses_max_base',affects:['spell7|uses_max'],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell7|uses_max':{repeating:'item',attr:'uses_max',affects:[],attrAdds:[],multAdds:[],repeatAdds:['spell7|uses_max_base'],repeatTextAdds:[],numAdds:0},
|
||
'spell7|attack_bonus':{repeating:'spell7',attr:'attack_bonus',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0, moddable:'_change'},
|
||
'spell7|range':{repeating:'spell7',attr:'range',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell7|name':{repeating:'spell7',attr:'name',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell7|attack_ability':{repeating:'spell7',attr:'attack_ability',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell7|damage_ability':{repeating:'spell7',attr:'damage_ability',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell7|attack_type':{repeating:'spell7',attr:'attack_type',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell7|type':{repeating:'spell7',attr:'type',affects:['spell7|dc'],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell7|dc':{repeating:'spell7',attr:'dc',affects:[],attrAdds:['character_level'],multAdds:[1],repeatAdds:['spell7|proficiency'],repeatTextAdds:[],numAdds:10,ability:'save_ability',moddable:'_change'},
|
||
'spell7|save_ability':{repeating:'spell7',attr:'save_ability',affects:['spell7|dc'],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
|
||
'spell8|proficiency':{repeating:'spell8',attr:'proficiency',affects:['spell8|dc'],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell8|level':{repeating:'spell8',attr:'level',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell8|mods':{repeating:'spell8',attr:'mods',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell8|toggle':{repeating:'spell8',attr:'toggle',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell8|frequency':{repeating:'spell8',attr:'frequency',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell8|uses_max_base':{repeating:'spell8',attr:'uses_max_base',affects:['spell8|uses_max'],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell8|uses_max':{repeating:'item',attr:'uses_max',affects:[],attrAdds:[],multAdds:[],repeatAdds:['spell8|uses_max_base'],repeatTextAdds:[],numAdds:0},
|
||
'spell8|attack_bonus':{repeating:'spell8',attr:'attack_bonus',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0, moddable:'_change'},
|
||
'spell8|range':{repeating:'spell8',attr:'range',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell8|name':{repeating:'spell8',attr:'name',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell8|attack_ability':{repeating:'spell8',attr:'attack_ability',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell8|damage_ability':{repeating:'spell8',attr:'damage_ability',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell8|attack_type':{repeating:'spell8',attr:'attack_type',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell8|type':{repeating:'spell8',attr:'type',affects:['spell8|dc'],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell8|dc':{repeating:'spell8',attr:'dc',affects:[],attrAdds:['character_level'],multAdds:[1],repeatAdds:['spell8|proficiency'],repeatTextAdds:[],numAdds:10,ability:'save_ability',moddable:'_change'},
|
||
'spell8|save_ability':{repeating:'spell8',attr:'save_ability',affects:['spell8|dc'],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
|
||
'spell9|proficiency':{repeating:'spell9',attr:'proficiency',affects:['spell9|dc'],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell9|level':{repeating:'spell9',attr:'level',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell9|mods':{repeating:'spell9',attr:'mods',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell9|toggle':{repeating:'spell9',attr:'toggle',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell9|frequency':{repeating:'spell9',attr:'frequency',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell9|uses_max_base':{repeating:'spell9',attr:'uses_max_base',affects:['spell9|uses_max'],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell9|uses_max':{repeating:'item',attr:'uses_max',affects:[],attrAdds:[],multAdds:[],repeatAdds:['spell9|uses_max_base'],repeatTextAdds:[],numAdds:0},
|
||
'spell9|attack_bonus':{repeating:'spell9',attr:'attack_bonus',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0, moddable:'_change'},
|
||
'spell9|range':{repeating:'spell9',attr:'range',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell9|name':{repeating:'spell9',attr:'name',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell9|attack_ability':{repeating:'spell9',attr:'attack_ability',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell9|damage_ability':{repeating:'spell9',attr:'damage_ability',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell9|attack_type':{repeating:'spell9',attr:'attack_type',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell9|type':{repeating:'spell9',attr:'type',affects:['spell9|dc'],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell9|dc':{repeating:'spell9',attr:'dc',affects:[],attrAdds:['character_level'],multAdds:[1],repeatAdds:['spell9|proficiency'],repeatTextAdds:[],numAdds:10,ability:'save_ability',moddable:'_change'},
|
||
'spell9|save_ability':{repeating:'spell9',attr:'save_ability',affects:['spell9|dc'],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
|
||
'spell10|proficiency':{repeating:'spell10',attr:'proficiency',affects:['spell10|dc'],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell10|level':{repeating:'spell10',attr:'level',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell10|mods':{repeating:'spell10',attr:'mods',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell10|toggle':{repeating:'spell10',attr:'toggle',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell10|frequency':{repeating:'spell10',attr:'frequency',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell10|uses_max_base':{repeating:'spell10',attr:'uses_max_base',affects:['spell10|uses_max'],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell10|uses_max':{repeating:'item',attr:'uses_max',affects:[],attrAdds:[],multAdds:[],repeatAdds:['spell10|uses_max_base'],repeatTextAdds:[],numAdds:0},
|
||
'spell10|attack_bonus':{repeating:'spell10',attr:'attack_bonus',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0, moddable:'_change'},
|
||
'spell10|range':{repeating:'spell10',attr:'range',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell10|name':{repeating:'spell10',attr:'name',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell10|attack_ability':{repeating:'spell10',attr:'attack_ability',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell10|damage_ability':{repeating:'spell10',attr:'damage_ability',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell10|attack_type':{repeating:'spell10',attr:'attack_type',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell10|type':{repeating:'spell10',attr:'type',affects:['spell10|dc'],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'spell10|dc':{repeating:'spell10',attr:'dc',affects:[],attrAdds:['character_level'],multAdds:[1],repeatAdds:['spell10|proficiency'],repeatTextAdds:[],numAdds:10,ability:'save_ability',moddable:'_change'},
|
||
'spell10|save_ability':{repeating:'spell10',attr:'save_ability',affects:['spell10|dc'],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
|
||
'item|name':{repeating:'item',attr:'name',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'item|bulk':{repeating:'item',attr:'bulk',affects:['carried_bulk'],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'item|quantity':{repeating:'item',attr:'quantity',affects:['carried_bulk'],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'item|mods':{repeating:'item',attr:'mods',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'item|equipped':{repeating:'item',attr:'equipped',affects:['carried_bulk'],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'item|purpose':{repeating:'item',attr:'purpose',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'item|type':{repeating:'item',attr:'type',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'item|proficiency':{repeating:'item',attr:'proficiency',affects:['ac_proficiency','tac_proficiency'],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'item|level':{repeating:'item',attr:'level',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'item|uses_max':{repeating:'item',attr:'uses_max',affects:[],attrAdds:[],multAdds:[],repeatAdds:['item|uses_max_base'],repeatTextAdds:[],numAdds:0, moddable:'_change'},
|
||
'item|uses_max_base':{repeating:'item',attr:'uses_max_base',affects:['item|uses_max'],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
'item|uses':{repeating:'item',attr:'uses',affects:[],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
|
||
carried_bulk:{repeating:false,attr:'carried_bulk',affects:['encumber_level'],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
encumber_level:{repeating:false,attr:'encumber_level',affects:['ac','tac','acrobatics','arcana','athletics','crafting','deception','diplomacy','intimidation','medicine','nature','occultism','religion','society','stealth','survival','thievery','skill|skill'],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
encumber_bulk:{repeating:false,attr:'encumber_bulk',affects:['encumber_level'],attrAdds:['strength_mod'],multAdds:[1],repeatAdds:[],repeatTextAdds:[],numAdds:6,moddable:'_change'},
|
||
overburden_bulk:{repeating:false,attr:'overburden_bulk',affects:['encumber_level'],attrAdds:['strength_mod'],multAdds:[1],repeatAdds:[],repeatTextAdds:[],numAdds:11,moddable:'_change'},
|
||
encumber_bulk_buff:{repeating:false,attr:'encumber_bulk_buff',affects:['encumber_bulk'],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
overburden_bulk_buff:{repeating:false,attr:'overburden_bulk_buff',affects:['overburden_bulk'],attrAdds:[],multAdds:[],repeatAdds:[],repeatTextAdds:[],numAdds:0},
|
||
},
|
||
npcAttributeObjs={
|
||
|
||
},
|
||
|
||
//esRE and HE are used to html escape characters for use in some of the menus that are made. Full credit to Aaron for these functions
|
||
esRE = function (s) {
|
||
var escapeForRegexp = /(\\|\/|\[|\]|\(|\)|\{|\}|\?|\+|\*|\||\.|\^|\$)/g;
|
||
return s.replace(escapeForRegexp,"\\$1");
|
||
},
|
||
|
||
HE = (function(){
|
||
var entities={
|
||
/*'' :'&'+'nbsp'+';',*/
|
||
'*' :'&'+'#42'+';',
|
||
'&' :'&'+'amp'+';',
|
||
'<' :'&'+'lt'+';',
|
||
'>' :'&'+'gt'+';',
|
||
"'" :'&'+'#39'+';',
|
||
'@' :'&'+'#64'+';',
|
||
'{' :'&'+'#123'+';',
|
||
'|' :'&'+'#124'+';',
|
||
'}' :'&'+'#125'+';',
|
||
',' :'&'+'#44'+';',
|
||
'[' :'&'+'#91'+';',
|
||
']' :'&'+'#93'+';',
|
||
'"' :'&'+'quot'+';',
|
||
':' :'&'+'#58'+';',
|
||
'(' :'&'+'#40'+';',
|
||
')' :'&'+'#41'+';'
|
||
/*'-' :'&'+'mdash'+';'*/
|
||
},
|
||
re=new RegExp('('+_.map(_.keys(entities),esRE).join('|')+')','g');
|
||
return function(s){
|
||
return s.replace(re, function(c){ return entities[c] || c; });
|
||
};
|
||
}()),
|
||
|
||
//Registers the on() handlers
|
||
RegisterEventHandlers = function(){
|
||
on('sheet:opened',updateSheet);//when the sheet is first opened, do any fixes necessary, and update the sheet version attribute
|
||
const repeatingSections = _.map(repeatingAttributes,(repeatGroup)=>{
|
||
return `repeating_${repeatGroup.section}`;
|
||
});
|
||
on(`change:${sheetAttributes.concat(repeatingSections).join(' change:')} remove:repeating_item remove:repeating_buff remove:repeating_ability`,accessSheet);
|
||
on('clicked:create_feat clicked:create_power clicked:create_cantrip clicked:create_1st clicked:create_2nd clicked:create_3rd '
|
||
+'clicked:create_4th clicked:create_5th clicked:create_6th clicked:create_7th clicked:create_8th clicked:create_9th '
|
||
+'clicked:create_10th',(event)=>{
|
||
TAS.log(`event: ${JSON.stringify(event)}`);
|
||
createSection(event.triggerName.replace(/clicked:/,''));
|
||
});
|
||
|
||
},
|
||
//updates the sheet when it is first opened
|
||
updateSheet = function(){
|
||
var setObj = {character_sheet:'Pathfinder Playtest v'+version},
|
||
attributes = ['character_sheet'];
|
||
TAS.log('Updating Sheet');
|
||
getID(JSON.parse(JSON.stringify(repeatingAttributes)),(sectionAggregate)=>{
|
||
_.each(sectionAggregate,(section)=>{
|
||
_.each(section.id,(sid)=>{
|
||
_.each(section.fields,(f)=>{
|
||
attributes.push('repeating_'+section.section+'_'+sid+'_'+f);
|
||
});
|
||
});
|
||
});
|
||
attributes = attributes.concat(sheetAttributes);
|
||
getAttrs(attributes,(updateAttrs)=>{
|
||
let updateVersionTo,
|
||
updateBuildDateTo,
|
||
oldVersion,
|
||
oldBuildDate;
|
||
|
||
if(updateAttrs.character_sheet){
|
||
updateAttrs.character_sheet.replace(/(\d+\.\d{2})(.+)/,(match,ver,buildDate)=>{
|
||
oldVersion = ver*1||0;
|
||
oldBuildDate = buildDate*1||0;
|
||
});
|
||
}
|
||
version.replace(/(\d+\.\d{2})(.+)/,(match,ver,buildDate)=>{
|
||
updateVersionTo = ver*1||0;
|
||
updateBuildDateTo = buildDate*1||0;
|
||
});
|
||
TAS.log(`oldVersion: ${oldVersion} | oldBuildDate: ${oldBuildDate} | updateVersionTo: ${updateVersionTo} | updateBuildDateTo: ${updateBuildDateTo}`);
|
||
if(updateAttrs.class_name!=='' && ((oldVersion <=0.01 && oldBuildDate <= 1535374800)||!oldVersion)){
|
||
firstUpgrade(updateAttrs,setObj);
|
||
}
|
||
TAS.log(`setObj: ${JSON.stringify(setObj)}`);
|
||
setAttrs(setObj,{silent:true});
|
||
});
|
||
});
|
||
},
|
||
|
||
firstUpgrade = function(attributes,setObj){
|
||
let profAttrs = _.filter(_.keys(attributes),(attr)=>{
|
||
return /proficiency/.test(attr);
|
||
}),
|
||
spellIDs=[];
|
||
|
||
_.each(_.keys(attributes),(key)=>{
|
||
key.replace(/(repeating_ability_[^_]+_)type/,(match,sectionID)=>{
|
||
if(/spell/.test(attributes[key])){
|
||
spellIDs.push(sectionID);
|
||
}
|
||
});
|
||
});
|
||
_.each(profAttrs,(attr)=>{
|
||
if(attributes[attr]*1===-1){
|
||
setObj[attr]=-2;
|
||
attributes[attr]=-2;
|
||
}
|
||
});
|
||
TAS.log(`spellIDs: ${JSON.stringify(spellIDs)}`);
|
||
_.each(spellIDs,(id)=>{
|
||
transferSpell(attributes,`${id}level`,setObj);
|
||
});
|
||
},
|
||
|
||
transferSpell = function(attributes,attribute,setObj){
|
||
let id = attribute.replace(/(repeating_[^_]+_[^_]+_).+/,'$1'),
|
||
level = attributes[`${id}level`],
|
||
newHash = generateRowID(),
|
||
newID,repeatingIndex;
|
||
|
||
if(!(level*1)){
|
||
level = 'cantrip';
|
||
repeatingIndex=6;
|
||
}else{
|
||
repeatingIndex=level*1 + 6;
|
||
level = `spell${level}`;
|
||
}
|
||
newID = id.replace(/repeating_[^_]+_[^_]+/,`repeating_${level}_${newHash}`);
|
||
_.each(repeatingAttributes[repeatingIndex].fields,(field)=>{
|
||
setObj[`${newID}${field}`]=attributes[`${id}${field}`]||'';
|
||
});
|
||
setObj[`${newID}id`]=newHash;
|
||
removeRepeatingRow(id.replace(/_$/,''));
|
||
},
|
||
|
||
//gets the repeating item IDs to assemble an array of repeating attributes to be used in getAttrs() calls
|
||
/*arguments:
|
||
cloneRepAttr: a cloned version of the repeatingAttributes or repeatingShipAttributes variable
|
||
callback: the function to execute and pass sectionAggregate to
|
||
sectionAggregate: Array of objects containing the information on each repeating item
|
||
*/
|
||
getID = function(cloneRepAttr,callback,sectionAggregate,event,attribute){
|
||
const currSection=cloneRepAttr.shift();
|
||
sectionAggregate = sectionAggregate || [];
|
||
getSectionIDs('repeating_'+currSection.section,(itemIDArr)=>{
|
||
sectionAggregate.push({
|
||
section:currSection.section,
|
||
id:itemIDArr,
|
||
fields:currSection.fields
|
||
});
|
||
if(_.isEmpty(cloneRepAttr)){
|
||
callback(sectionAggregate,event,attribute);
|
||
}else{
|
||
getID(cloneRepAttr,callback,sectionAggregate,event,attribute);
|
||
}
|
||
});
|
||
},
|
||
|
||
useID = function(sectionAggregate,event,attribute){
|
||
let attributesToGet = [],
|
||
setObj = {},
|
||
repeatSec,currSection,trigger,bonuses;
|
||
_.each(sectionAggregate,(section)=>{
|
||
_.each(section.id,(sid)=>{
|
||
_.each(section.fields,(f)=>{
|
||
attributesToGet.push('repeating_'+section.section+'_'+sid+'_'+f);
|
||
});
|
||
});
|
||
});
|
||
attributesToGet = attributesToGet.concat(sheetAttributes);
|
||
getAttrs(attributesToGet,(objs)=>{
|
||
if(/repeating_(?:cantrip|spell[1-9]0?)_[^_]+_level/.test(attribute)){
|
||
transferSpell(objs,attribute,setObj);
|
||
_.each(_.keys(setObj),(key)=>{
|
||
TAS.log(`setObj[${key}]: ${setObj[key]}`);
|
||
});
|
||
setAttrs(setObj,{silent:true});
|
||
}else{
|
||
if(attribute==='sheet_type'){
|
||
setObj.sheet_type_nav=event.newValue;
|
||
if(event.newValue==='npc'){
|
||
setObj.whisper_state='/w gm ';
|
||
setObj.npc_init='+@{initiative_npc}';
|
||
}else{
|
||
setObj.whisper_state='';
|
||
setObj.npc_init='';
|
||
}
|
||
}else if(/character_level|_(?:cantrip|spell[1-9]|ability)_[^_]+_type|_item_[^_]+_(?:proficiency|type|purpose)|_attack_[^_]+_category|(?:armor(?:ed)?|weapon|spell|shield)_proficiency/.test(attribute)){
|
||
TAS.log(`setting proficiency`);
|
||
setObj = setProficiency(attribute,objs);
|
||
}else if(/asleep|blinded|cowering|dazzled|deafened|encumbered|entangled|exhausted|fascinated|fatigued|flat_footed|frightened|grappled|helpless|negative_levels|off_kilter|off_target|overburdened|panicked|paralyzed|pinned|prone|shaken|sickened|unconscious|stunned|_condition_/.test(attribute)){
|
||
setObj=expandConditions(attribute,objs,setObj,event);
|
||
}else if(/boost|flaw|key_ability|character_level/.test(attribute)){
|
||
calculateAbilityScores(attribute,objs,setObj);
|
||
}
|
||
if(setObj){
|
||
_.each(_.keys(setObj),(key)=>{
|
||
objs[key]=_.clone(setObj[key]);
|
||
});
|
||
bonuses=parseBuffs(objs);
|
||
bonuses = assignConditions(objs,bonuses);
|
||
if(event.removedInfo){
|
||
_.each(_.keys(event.removedInfo),(key)=>{
|
||
if(/_mods$/.test(key)){
|
||
event.newValue=event.removedInfo[key];
|
||
event.sourceAttribute=key;
|
||
attribute=key;
|
||
}
|
||
});
|
||
}
|
||
trigger = assembleTrigger(attribute,objs,event);
|
||
TAS.log(`trigger: ${JSON.stringify(trigger)}`);
|
||
if(!/remove/.test(event.triggerName)){
|
||
attribute.replace(/repeating_(?:attack|spell|ability|item)_([^_]+)_/,(match,id)=>{
|
||
if(!/^\-/.test(objs[match+'id'])){
|
||
setObj[match+'id']=id;
|
||
}
|
||
});
|
||
}
|
||
applyBuffs(objs,trigger,bonuses,setObj);
|
||
}
|
||
}
|
||
});
|
||
},
|
||
|
||
createSection = function(attribute){
|
||
const createSwitch = {
|
||
'cantrip':{section:'_cantrip_',attrs:['_level','_type'],values:[0,'spell']},
|
||
'1st':{section:'_spell1_',attrs:['_level','_type'],values:[1,'spell']},
|
||
'2nd':{section:'_spell2_',attrs:['_level','_type'],values:[2,'spell']},
|
||
'3rd':{section:'_spell3_',attrs:['_level','_type'],values:[3,'spell']},
|
||
'4th':{section:'_spell4_',attrs:['_level','_type'],values:[4,'spell']},
|
||
'5th':{section:'_spell5_',attrs:['_level','_type'],values:[5,'spell']},
|
||
'6th':{section:'_spell6_',attrs:['_level','_type'],values:[6,'spell']},
|
||
'7th':{section:'_spell7_',attrs:['_level','_type'],values:[7,'spell']},
|
||
'8th':{section:'_spell8_',attrs:['_level','_type'],values:[8,'spell']},
|
||
'9th':{section:'_spell9_',attrs:['_level','_type'],values:[9,'spell']},
|
||
'10th':{section:'_spell10_',attrs:['_level','_type'],values:[10,'spell']},
|
||
'feat':{section:'_ability_',attrs:['_level','_type'],values:[0,'general feat']},
|
||
'power':{section:'_ability_',attrs:['_level','_type'],values:[0,'power']},
|
||
'npcmelee':{section:'_attack_',attrs:['_engagement_range','_range_filter','_ability','_damage_ability','_proficiency'],values:['melee','melee','@{strength_mod}','@{strength_mod}','specialized']},
|
||
'npcranged':{section:'_attack_',attrs:['_engagement_range','_range_filter','_ability','_proficiency'],values:['ranged','ranged','@{dexterity_mod}','specialized']},
|
||
},
|
||
setObj = {},
|
||
createTarget=createSwitch[attribute.replace(/create_/,'')],
|
||
rowID = generateRowID();
|
||
|
||
TAS.log(`createTarget: ${JSON.stringify(createTarget)}`);
|
||
_.each(_.range(createTarget.attrs.length),(n)=>{
|
||
setObj['repeating'+createTarget.section+rowID+createTarget.attrs[n]]=createTarget.values[n];
|
||
setObj['repeating'+createTarget.section+rowID+'_id']=rowID;
|
||
});
|
||
setAttrs(setObj,{silent:true});
|
||
},
|
||
|
||
//Function that acts as a traffic switch to determine how to react to many of the attribute changes.
|
||
//This function needs some serious clean up which was on my to do list for the next version release once I had the release bugs handled.
|
||
accessSheet = function(event){
|
||
if(/show_options/.test(event.sourceAttribute)){//don't react to these attributes
|
||
return;
|
||
}
|
||
TAS.log(`Reacting to change Event: ${JSON.stringify(event)}`);
|
||
const attribute = event.sourceAttribute,
|
||
cloneRepAttr = JSON.parse(JSON.stringify(repeatingAttributes));
|
||
|
||
if(/sheet_type/.test(attribute)){
|
||
if(event.newValue==='npc'){
|
||
setAttrs({whisper_state:'/w gm '},{silent:true});
|
||
}else{
|
||
setAttrs({whisper_state:''},{silent:true});
|
||
}
|
||
}else{
|
||
getID(cloneRepAttr,useID,undefined,event,attribute);
|
||
}
|
||
},
|
||
|
||
calculateAbilityScores = function(attribute,attributes,setObj){
|
||
const attributeKeys = _.keys(attributes),
|
||
boostsFlaws = _.reduce(attributeKeys,(memo,key)=>{
|
||
if(/boost|flaw|key_ability/.test(key)){
|
||
let boostLevel=key.replace(/level_(\d+).+/,'$1');
|
||
boostLevel = boostLevel*1;
|
||
if(!boostLevel || (boostLevel<=(attributes.character_level*1||0))){
|
||
TAS.log(`${key} value: ${attributes[key]}`);
|
||
_.each(['strength','dexterity','constitution','intelligence','wisdom','charisma'],(abi)=>{
|
||
if(attributes[key]===abi){
|
||
if(/boost|key_ability/.test(key)){
|
||
memo[abi].boosts+=1;
|
||
}else{
|
||
memo[abi].flaws+=1;
|
||
}
|
||
}
|
||
});
|
||
}
|
||
}
|
||
return memo;
|
||
},{strength:{boosts:0,flaws:0},dexterity:{boosts:0,flaws:0},constitution:{boosts:0,flaws:0},intelligence:{boosts:0,flaws:0},wisdom:{boosts:0,flaws:0},charisma:{boosts:0,flaws:0}});
|
||
TAS.log(`boostsFlaws: ${JSON.stringify(boostsFlaws)}`);
|
||
_.each(_.keys(boostsFlaws),(abilityName)=>{
|
||
setObj[`${abilityName}_base`] = _.reduce(_.range(boostsFlaws[abilityName].flaws),(score,index)=>{
|
||
return score -= 2;
|
||
},10);
|
||
setObj[`${abilityName}_base`] = _.reduce(_.range(boostsFlaws[abilityName].boosts),(score,index)=>{
|
||
if(score>=18){
|
||
score+=1;
|
||
}else{
|
||
score+=2;
|
||
}
|
||
return score;
|
||
},setObj[`${abilityName}_base`]);
|
||
attributes[`${abilityName}_base`]=setObj[`${abilityName}_base`]
|
||
});
|
||
},
|
||
|
||
/*expandConditions = function(attribute,attributes,setObj,event){
|
||
const propagatingConditions = {
|
||
asleep:{triggers:['helpless'],triggeredBy:[]},
|
||
blinded:{triggers:['flat_footed'],triggeredBy:[]},
|
||
confused:{triggers:[],triggeredBy:['wisdom_track4']},
|
||
cowering:{triggers:['flat_footed'],triggeredBy:[]},
|
||
dazed:{triggers:[],triggeredBy:[]},
|
||
dazzled:{triggers:[],triggeredBy:[]},
|
||
dead:{triggers:[],triggeredBy:['physical_track8','mental_track8','dexterity_track6','strength_track6','constitution_track6','intelligence_track6','wisdom_track6','charisma_track6']},
|
||
deafened:{triggers:[],triggeredBy:[]},
|
||
dying:{triggers:[],triggeredBy:[]},
|
||
entangled:{triggers:[],triggeredBy:[]},
|
||
exhausted:{triggers:[],triggeredBy:['physical_track4'],replaces:['fatigued']},
|
||
fascinated:{triggers:[],triggeredBy:[]},
|
||
fatigued:{triggers:[],triggeredBy:['physical_track3']},
|
||
flat_footed:{triggers:[],triggeredBy:['off_kilter','blinded','pinned','stunned','mental_track4']},
|
||
frightened:{triggers:[],triggeredBy:[]},
|
||
grappled:{triggers:[],triggeredBy:[]},
|
||
helpless:{triggers:[],triggeredBy:['asleep','unconscious','dexterity_track5','strength_track5']},
|
||
nauseated:{triggers:[],triggeredBy:[]},
|
||
negative_levels:{triggers:[],triggeredBy:[]},
|
||
off_kilter:{triggers:['flat_footed'],triggeredBy:[]},
|
||
off_target:{triggers:[],triggeredBy:[]},
|
||
panicked:{triggers:[],triggeredBy:[]},
|
||
paralyzed:{triggers:[],triggeredBy:[]},
|
||
pinned:{triggers:['flat_footed'],triggeredBy:[]},
|
||
prone:{triggers:[],triggeredBy:[]},
|
||
shaken:{triggers:[],triggeredBy:[]},
|
||
sickened:{triggers:[],triggeredBy:['physical_track3']},
|
||
stable:{triggers:[],triggeredBy:[]},
|
||
staggered:{triggers:[],triggeredBy:['dexterity_track4','strength_track4']},
|
||
stunned:{triggers:['flat_footed'],triggeredBy:[]},
|
||
unconscious:{triggers:['helpless'],triggeredBy:['physical_track7','mental_track7','constitution_track5','intelligence_track5','wisdom_track5','charisma_track5']},
|
||
|
||
physical_trackhealthy:{triggers:[],triggeredBy:[]},//healthy
|
||
physical_tracklatent:{triggers:[],triggeredBy:[]},
|
||
physical_trackweakened:{triggers:['sickened','fatigued'],triggeredBy:[]},
|
||
physical_trackimpaired:{triggers:['exhausted'],triggeredBy:[]},
|
||
physical_trackdebilitated:{triggers:[],triggeredBy:[]},
|
||
physical_trackbedridden:{triggers:[],triggeredBy:[]},
|
||
physical_trackcomatose:{triggers:['unconscious'],triggeredBy:[]},
|
||
physical_trackdead:{triggers:['dead'],triggeredBy:[]},
|
||
|
||
mental_trackhealthy:{triggers:[],triggeredBy:[]},
|
||
mental_tracklatent:{triggers:[],triggeredBy:[]},
|
||
mental_trackweakened:{triggers:[],triggeredBy:[]},
|
||
mental_trackimpaired:{triggers:['flat_footed'],triggeredBy:[]},
|
||
mental_trackbefuddled:{triggers:[],triggeredBy:[]},
|
||
mental_trackdisassociated:{triggers:[],triggeredBy:[]},
|
||
mental_trackcomatose:{triggers:['unconscious'],triggeredBy:[]},
|
||
mental_trackdead:{triggers:['dead'],triggeredBy:[]},
|
||
|
||
strength_trackhealthy:{triggers:[],triggeredBy:[]},
|
||
strength_trackweakened:{triggers:[],triggeredBy:[]},
|
||
strength_trackimpaired:{triggers:[],triggeredBy:[]},
|
||
strength_trackstaggered:{triggers:['staggered'],triggeredBy:[]},
|
||
strength_trackimmobile:{triggers:['helpless'],triggeredBy:[]},
|
||
strength_trackdead:{triggers:['dead'],triggeredBy:[]},
|
||
|
||
dexterity_trackhealthy:{triggers:[],triggeredBy:[]},
|
||
dexterity_tracksluggish:{triggers:[],triggeredBy:[]},
|
||
dexterity_trackstiffened:{triggers:[],triggeredBy:[]},
|
||
dexterity_trackstaggered:{triggers:['staggered'],triggeredBy:[]},
|
||
dexterity_trackimmobile:{triggers:['helpless'],triggeredBy:[]},
|
||
dexterity_trackdead:{triggers:['dead'],triggeredBy:[]},
|
||
|
||
constitution_trackhealthy:{triggers:[],triggeredBy:[]},
|
||
constitution_trackweakened:{triggers:[],triggeredBy:[]},
|
||
constitution_trackimpaired:{triggers:[],triggeredBy:[]},
|
||
constitution_trackdebilitated:{triggers:[],triggeredBy:[]},
|
||
constitution_trackunconscious:{triggers:['unconscious'],triggeredBy:[]},
|
||
constitution_trackdead:{triggers:['dead'],triggeredBy:[]},
|
||
|
||
intelligence_trackhealthy:{triggers:[],triggeredBy:[]},
|
||
intelligence_trackweakend:{triggers:[],triggeredBy:[]},
|
||
intelligence_trackimpaired:{triggers:[],triggeredBy:[]},
|
||
intelligence_trackanimalistic:{triggers:[],triggeredBy:[]},
|
||
intelligence_trackcomatose:{triggers:['unconscious'],triggeredBy:[]},
|
||
intelligence_trackdead:{triggers:['dead'],triggeredBy:[]},
|
||
|
||
wisdom_trackhealthy:{triggers:[],triggeredBy:[]},
|
||
wisdom_trackweakened:{triggers:[],triggeredBy:[]},
|
||
wisdom_trackimpaired:{triggers:[],triggeredBy:[]},
|
||
wisdom_trackconfused:{triggers:['confused'],triggeredBy:[]},
|
||
wisdom_trackcomatose:{triggers:['unconscious'],triggeredBy:[]},
|
||
wisdom_trackdead:{triggers:['dead'],triggeredBy:[]},
|
||
|
||
charisma_trackhealthy:{triggers:[],triggeredBy:[]},//healthy
|
||
charisma_trackweakened:{triggers:[],triggeredBy:[]},
|
||
charisma_trackimpaired:{triggers:[],triggeredBy:[]},
|
||
charisma_trackpliable:{triggers:[],triggeredBy:[]},
|
||
charisma_trackcatatonic:{triggers:['unconscious'],triggeredBy:[]},
|
||
charisma_trackdead:{triggers:['dead'],triggeredBy:[]},
|
||
},
|
||
trackStatusConverter = {
|
||
physical_track:{numConvert:["healthy","latent","weakened","impaired","debilitated","bedridden","comatose","dead"],statusConvert:{"healthy":1,"latent":2,"weakened":3,"impaired":4,"debilitated":5,"bedridden":6,"comatose":7,"dead":8}},
|
||
mental_track:{numConvert:["healthy","latent","weakened","impaired","befuddled","disassociated","comatose","dead"],statusConvert:{"healthy":1,"latent":2,"weakened":3,"impaired":4,"befuddled":5,"disassociated":6,"comatose":7,"dead":8}},
|
||
strength_track:{numConvert:["healthy","weakened","impaired","staggered","immobile","dead","",""],statusConvert:{"healthy":1,"weakened":2,"impaired":3,"staggered":4,"immobile":5,"dead":6}},
|
||
dexterity_track:{numConvert:["healthy","sluggish","stiffened","staggered","immobile","dead","",""],statusConvert:{"healthy":1,"sluggish":2,"stiffened":3,"staggered":4,"immobile":5,"dead":6}},
|
||
constitution_track:{numConvert:["healthy","weakened","impaired","debilitated","unconscious","dead","",""],statusConvert:{"healthy":1,"weakened":2,"impaired":3,"debilitated":4,"unconscious":5,"dead":6}},
|
||
intelligence_track:{numConvert:["healthy","weakend","impaired","animalistic","comatose","dead","",""],statusConvert:{"healthy":1,"weakend":2,"impaired":3,"animalistic":4,"comatose":5,"dead":6}},
|
||
wisdom_track:{numConvert:["healthy","weakened","impaired","confused","comatose","dead","",""],statusConvert:{"healthy":1,"weakened":2,"impaired":3,"confused":4,"comatose":5,"dead":6}},
|
||
charisma_track:{numConvert:["healthy","weakened","impaired","pliable","catatonic","dead","",""],statusConvert:{"healthy":1,"weakened":2,"impaired":3,"pliable":4,"catatonic":5,"dead":6}}
|
||
},
|
||
finalConditions=[],
|
||
toSet = [];
|
||
let additionalChecks = [],
|
||
trackState = '',
|
||
value;
|
||
|
||
if(/_condition_/.test(attribute)){
|
||
let track = attributes[attribute.replace(/_status/,'')];
|
||
if(/_track_status$/.test(attribute)){
|
||
trackState = _.max([trackStatusConverter[track].statusConvert[event.newValue],trackStatusConverter[track].statusConvert[event.previousValue],1]);
|
||
}else if(/_track$/.test(attribute)){
|
||
trackState = trackStatusConverter[track].statusConvert[attributes[attribute+'_status']];
|
||
}
|
||
_.each(_.range(trackState),(r)=>{
|
||
let status = trackStatusConverter[track].numConvert[r];
|
||
additionalChecks = additionalChecks.concat(propagatingConditions[track+status].triggers);
|
||
});
|
||
}else{
|
||
additionalChecks = additionalChecks.concat(propagatingConditions[attribute].triggers);
|
||
}
|
||
while(additionalChecks.length){
|
||
let condition = additionalChecks.shift(),
|
||
tempObj={};
|
||
|
||
value='';
|
||
_.each(propagatingConditions[condition].triggers,(triggered)=>{
|
||
if(!_.contains(additionalChecks.concat(toSet),triggered)){
|
||
additionalChecks.push(triggered);
|
||
}
|
||
});
|
||
toSet.push(condition);
|
||
}
|
||
if(/_track_status$/.test(attribute) && event.newValue*1 > event.previousValue*1){
|
||
_.each(toSet,(ts)=>{
|
||
if(!setObj[ts]){
|
||
setObj[ts]=1;
|
||
attributes[ts]=1;
|
||
}
|
||
if(propagatingConditions[ts]){
|
||
if(propagatingConditions[ts].replaces){
|
||
setObj[propagatingConditions[ts].replaces]='0';
|
||
attributes[propagatingConditions[ts].replaces]='0';
|
||
}
|
||
}
|
||
});
|
||
}else{
|
||
const afflictionIDs = _.chain(_.keys(attributes))
|
||
.filter((attr)=>{return /_condition_[^_]+_track$/.test(attr)})
|
||
.map((attr)=>{
|
||
return attr.replace(/track/,'');
|
||
})
|
||
.value();
|
||
_.each(toSet,(ts)=>{
|
||
if(_.every(propagatingConditions[ts].triggeredBy,(triggeredBy)=>{
|
||
let value,
|
||
check = triggeredBy.replace(/([a-z_]+)(\d*)/i,(match,p1,p2)=>{
|
||
value = p2*1||1;
|
||
return p1;
|
||
});
|
||
if(/_track/.test(check)){
|
||
return _.every(afflictionIDs,(rowID)=>{
|
||
return attributes[rowID+'track']!==check || trackStatusConverter[attributes[rowID+'track']].statusConvert[attributes[rowID+'track_status']] < value;
|
||
});
|
||
}else{
|
||
return attributes[check]*1 < value;
|
||
}
|
||
})){
|
||
setObj[ts]=0;
|
||
attributes[ts]=0;
|
||
}else{
|
||
setObj[ts]=1;
|
||
attributes[ts]=1;
|
||
}
|
||
});
|
||
}
|
||
return setObj;
|
||
},*/
|
||
|
||
assembleTrigger = function(attribute,objs,origEvent){
|
||
let trigger=[];
|
||
attribute = attribute.replace(/(repeating_[^_]+_[^_]+_.*?)(?:frequency|toggle)$/,(match,p1)=>{
|
||
origEvent.newValue = objs[p1+'mods'];
|
||
origEvent.previousValue = undefined;
|
||
return p1+'mods';
|
||
});
|
||
if(/_(?:equipped|mods)$/.test(attribute)){
|
||
let event={};
|
||
if(/_equipped$/.test(attribute)){
|
||
trigger.push(attribute);
|
||
attribute.replace(/(repeating_item_[^_]+_).+/,(match,p1)=>{
|
||
event.newValue = objs[p1+'mods'];
|
||
});
|
||
}else{
|
||
event = origEvent;
|
||
}
|
||
const repeatAttrs = {
|
||
total:['attack'],
|
||
damage_total:['attack','ability','cantrip','spell1','spell2','spell3','spell4','spell5','spell6','spell7','spell8','spell9','spell10'],
|
||
dc:['ability','cantrip','spell1','spell2','spell3','spell4','spell5','spell6','spell7','spell8','spell9','spell10'],
|
||
attack_total:['ability','cantrip','spell1','spell2','spell3','spell4','spell5','spell6','spell7','spell8','spell9','spell10'],
|
||
profession:['profession'],
|
||
attack:['attack','ability','cantrip','spell1','spell2','spell3','spell4','spell5','spell6','spell7','spell8','spell9','spell10'],
|
||
damage:['attack','ability','cantrip','spell1','spell2','spell3','spell4','spell5','spell6','spell7','spell8','spell9','spell10']
|
||
},
|
||
repeatAbilities = {
|
||
total:['ability'],
|
||
damage_total:['damage_ability'],
|
||
dc:['save_ability'],
|
||
attack_total:['attack_ability'],
|
||
profession:['ability'],
|
||
attack:['ability','attack_ability'],
|
||
damage:['damage_ability']
|
||
};
|
||
_.each([event.previousValue,event.newValue],(value)=>{
|
||
if(value){
|
||
value.replace(/(?:\s+([a-z\s]+))?(?:\s+to\s+)(.+)/gm,(match,p1,seg2)=>{
|
||
_.each(seg2.split(/\s+and\s+/g),(target)=>{
|
||
target.replace(/(.+?(?=\||$))(?:\|(.+))?/,(m,p2,p3)=>{
|
||
if(repeatAttrs[p2.toLowerCase()]){
|
||
const objKeys = _.keys(objs);
|
||
_.each(repeatAttrs[p2.toLowerCase()],(sct)=>{
|
||
const sctKeys = _.filter(objKeys,(key)=>{return new RegExp('repeating_'+sct+'_[^_]+_(?:'+repeatAbilities[p2].join('|')+')').test(key)});
|
||
_.each(sctKeys,(attrName)=>{
|
||
let filtered = true;
|
||
let id = attrName.match(/repeating_[^_]+_[^_]+_/)[0];
|
||
try{
|
||
TAS.log(`p3: ${p3}`);
|
||
p3.replace(/([^:,]+):([^,]+)/g,(expr,filterAttr,filterValue)=>{
|
||
if(/section/i.test(filterAttr)){
|
||
if(filterValue ==='spell'){
|
||
filtered = /cantrip|spell[1-9]/.test(sct);
|
||
}else{
|
||
filtered = sct===filterValue.toLowerCase();
|
||
}
|
||
}else{
|
||
TAS.log(`${(objs[id+filterAttr.replace(/\s+/g,'_')]+'').toLowerCase().replace(/\s+/g,'_')}===${filterValue.toLowerCase().replace(/\s+/g,'_')}: ${(objs[id+filterAttr.replace(/\s+/g,'_')]+'').toLowerCase().replace(/\s+/g,'_')===filterValue.toLowerCase().replace(/\s+/g,'_')}`);
|
||
filtered = (objs[id+filterAttr.replace(/\s+/g,'_')]+'').toLowerCase().replace(/\s+/g,'_')===filterValue.toLowerCase().replace(/\s+/g,'_');
|
||
}
|
||
if(!filtered){
|
||
undefinedToBreak;
|
||
}
|
||
});
|
||
}catch(err){
|
||
//breaks the replace loop
|
||
}
|
||
if(filtered){
|
||
trigger.push(attrName.toLowerCase());
|
||
}
|
||
});
|
||
});
|
||
}else{
|
||
p2=p2.replace(/\s+/g,'_');
|
||
if(/armor/i.test(p1) && /^(?:ac|tac)$/i.test(p2)){
|
||
trigger.push(p2.toLowerCase()+'_armor_buff');
|
||
}else if(/armor/i.test(p1) && /^armor$/i.test(p2)){
|
||
trigger = trigger.concat(['eac_armor_buff','kac_armor_buff']);
|
||
}else if(/caster_level/i.test(p2)){
|
||
trigger.push('caster_level_buff');
|
||
}else if(/acp/i.test(p2)){
|
||
let skillArray = ['acrobatics','athletics','bluff','computers','culture','diplomacy','disguise','engineering','intimidate','life_science','medicine','mysticism','perception','physical_science','piloting','sense_motive','sleight_of_hand','stealth','survival'];
|
||
_.each(_.keys(objs),(a)=>{
|
||
if(/repeating_profession_[^_]+_profession/.test(a)){
|
||
skillArray.push(a.match(/repeating_profession_[^_]+/)[0]);
|
||
}
|
||
});
|
||
_.each(skillArray,(skill)=>{
|
||
if(objs[skill+'_acp']*1===1){
|
||
trigger.push(skill.toLowerCase()+'_ranks');
|
||
}
|
||
});
|
||
}else if(/^(?:strength|dexterity|constitution|intelligence|wisdom|charisma)$/.test(p2)){
|
||
trigger.push(`${p2.toLowerCase()}_base`);
|
||
}else{
|
||
trigger.push(p2.replace(/_max/,'').toLowerCase()+'_buff');
|
||
}
|
||
}
|
||
});
|
||
});
|
||
});
|
||
}
|
||
});
|
||
}else{
|
||
trigger.push(attribute.toLowerCase());
|
||
}
|
||
return _.unique(trigger);
|
||
},
|
||
|
||
setProficiency = function(attribute,attributes){
|
||
const setObj = {};
|
||
let sectionAttr;
|
||
if(/repeating/.test(attribute) && /type|purpose/.test(attribute)){
|
||
let profItem;
|
||
if(/type/.test(attribute) || attributes[attribute]==='shield'){
|
||
profItem = (attributes[attribute].replace(/power/,'spell')+'_proficiency').replace(/simple|martial/,'$1_weapon').replace(/\s+/,'_');
|
||
}
|
||
if(profItem){
|
||
sectionAttr = attribute.replace(/(repeating_[^_]+_[^_]+_).+/i,'$1proficiency');
|
||
setObj[sectionAttr]=attributes[profItem];
|
||
attributes[sectionAttr]=setObj[sectionAttr];
|
||
}
|
||
}else if(!/character_level/.test(attribute)){
|
||
const profArray = _.filter(_.keys(attributes),(a)=>{
|
||
if(/(?:martial|simple)/.test(attribute) && /repeating_attack_[^_]+_category/.test(a) && attributes[a]===attribute.replace(/(?:_weapon)?_proficiency/,'')){
|
||
return true;
|
||
}else if(/armor|shield/.test(attribute) && /repeating_item_[^_]+_purpose/.test(a) && ((/shield/.test(attributes[a]) && attributes[a]===attribute.replace(/_proficiency/,''))||(/armor/.test(attributes[a]) && attributes[a.replace(/purpose/,'type')]===attribute.replace(/_proficiency/,'')))){
|
||
return true;
|
||
}else if(/spell/.test(attribute) && /repeating_(?:cantrip|spell[1-9]|ability)_[^_]+_type/.test(a) && attributes[a].replace(/power/,'spell')===attribute.replace(/_proficiency/,'').replace(/_/,' ')){
|
||
return true;
|
||
}
|
||
return false;
|
||
});
|
||
_.each(profArray,(a)=>{
|
||
sectionAttr = a.replace(/(repeating_[^_]+_[^_]+_).+/i,'$1proficiency');
|
||
setObj[sectionAttr]=attributes[attribute];
|
||
attributes[sectionAttr]=attributes[attribute];
|
||
});
|
||
}
|
||
if(/character_level|repeating_item|(?:armor(?:ed)?|shield)_proficiency/.test(attribute)){
|
||
let armorItems = _.filter(_.keys(attributes),(key)=>{
|
||
return /repeating_item_[^_]+_proficiency/.test(key) && /armor/.test(attributes[key.replace(/proficiency/,'purpose')]) && /equipped/.test(attributes[key.replace(/proficiency/,'equipped')]);
|
||
}),
|
||
shieldItems = _.filter(_.keys(attributes),(key)=>{
|
||
return /repeating_item_[^_]+_proficiency/.test(key) && /shield/.test(attributes[key.replace(/proficiency/,'purpose')]) && /equipped/.test(attributes[key.replace(/proficiency/,'equipped')]);
|
||
});
|
||
if(_.isEmpty(armorItems)){
|
||
armorItems = ['unarmored_proficiency'];
|
||
}
|
||
TAS.log(`shieldItems ${JSON.stringify(shieldItems)} | armorItems: ${JSON.stringify(armorItems)}`);
|
||
armorItems = armorItems.concat(shieldItems);
|
||
let defenseProficiency = _.reduce(armorItems,(memo,armor)=>{
|
||
return _.min([attributes[armor]*1||0,memo]);
|
||
},100);
|
||
defenseProficiency+=attributes.character_level*1;
|
||
setObj.ac_proficiency = defenseProficiency;
|
||
setObj.tac_proficiency = defenseProficiency;
|
||
attributes.ac_proficiency = defenseProficiency;
|
||
attributes.tac_proficiency = defenseProficiency;
|
||
}
|
||
return setObj;
|
||
},
|
||
|
||
//Handles changes to current health that cause the reactive styling of the health container to change.
|
||
healthHandler = function(attributes,event){
|
||
const setObj = _.reduce(['temp_hp','sp','hp','rp'],(memo,h)=>{
|
||
if(attributes[h]*1<0){
|
||
if(h==='sp'){
|
||
memo.hp=attributes.hp*1 + attributes.sp*1;
|
||
attributes.hp=memo.hp;
|
||
}else if(h==='temp_hp'){
|
||
memo.sp=attributes.sp*1 + attributes.temp_hp*1;
|
||
attributes.sp=memo.sp;
|
||
}
|
||
memo[h]=0;
|
||
attributes[h]=memo[h];
|
||
}
|
||
if(h!=='temp_hp'){
|
||
memo.health_status+=((attributes[h]*1 <= 0 && attributes[h]*1!==attributes[h+'_max']*1) ? 1 : 0);
|
||
}
|
||
return memo;
|
||
},{health_status:0});
|
||
setAttrs(setObj,{silent:true});
|
||
return undefined;
|
||
},
|
||
|
||
/*class attribute handling functions*/
|
||
//Handles changes to the class specific attributes and acts as a traffic switch to determine how to handle them
|
||
classHandler = function(attributes,attribute){
|
||
var classVar = attribute.replace(/class_\d_/,''),
|
||
classNum = attribute.replace(/class_(\d)_.+/,'$1'),
|
||
varSwitch = {
|
||
name:classNameHandler,//Handles changes to the class's name. Attributes affected: class&name
|
||
level:classLevelHandler,//Handles changes to the class's level. Attributes affected: class&name, bab, saves, skill points, sp, hp
|
||
sp:classHealthHandler,//actually does nothing, only here to prevent errors when class attributes change
|
||
hp:classHealthHandler,
|
||
spell_progression:spell_progressionHandler,
|
||
bab:classBABHandler,//Handles changes to the class's bab. Attributes affected: bab
|
||
fort:classSaveHandler,//Handles changes to the class's save progressions. Attributes affected: saves
|
||
ref:classSaveHandler,//Handles changes to the class's save progressions. Attributes affected: saves
|
||
will:classSaveHandler,//Handles changes to the class's save progressions. Attributes affected: saves
|
||
spells:classSpellHandler,/*Handles changes to the class's spell attributes. Controls whether the spells sheet is accessible
|
||
and what spell levels are accessible*///Handles changes to what is the core ability score. Controls what abilities and spells linked to that
|
||
//class are set to base their DC off of by default.
|
||
ability:classAbilityHandler,//See above
|
||
skills:classHealthHandler
|
||
},
|
||
setObj;
|
||
return varSwitch[classVar](attributes,classVar,classNum);
|
||
},
|
||
|
||
spell_progressionHandler = function(attributes){
|
||
const convertProgress = {//object of fat arrow functions that calculates the spell level available for a class
|
||
'half':(lvl)=>lvl >= 13 ? 4 : lvl >= 10 ? 3 : lvl >= 7 ? 2 : lvl >= 4 ? 1 : 0,
|
||
'partial':(lvl)=> lvl >= 16 ? 6 : lvl >= 13 ? 5 : lvl >= 10 ? 4 : lvl >= 7 ? 3 : lvl >= 4 ? 2 : lvl >= 1 ? 1 : 0,
|
||
'full_prep':(lvl)=>Math.min(Math.floor((lvl+ 1)/2),9),
|
||
'full_spont':(lvl)=>lvl*1===1 ? 1 : Math.floor(lvl/2)
|
||
};
|
||
const setObj = _.reduce([1,2,3,4,5],(memo,n)=>{
|
||
let preClass='class_'+n;
|
||
if(attributes[preClass+'_spells']*1===1){
|
||
memo['caster_level']+=(attributes[preClass+'_level']*1||0);
|
||
memo[preClass+'_show']=1;
|
||
memo[preClass+'_max_spell']=convertProgress[attributes[preClass+'_spell_progression']](attributes[preClass+'_level']*1)||0;
|
||
}else{
|
||
memo[preClass+'_show']=0;
|
||
memo[preClass+'_max_spell']=0;
|
||
}
|
||
memo.char_max_spell = _.max([memo.char_max_spell,memo[preClass+'_max_spell'],0]);
|
||
return memo;
|
||
},{caster_level:0});
|
||
setObj.char_max_spell=_.reduce(_.range(setObj.char_max_spell + 1),(m,num)=>{
|
||
return m+=' '+num;
|
||
},'');
|
||
return setObj;
|
||
},
|
||
|
||
classNameHandler = function(attributes){
|
||
var temp,
|
||
classNL = _.reduce([1,2,3,4,5],(memo,n)=>{
|
||
temp=(attributes['class_'+n+'_name']||'')+((attributes['class_'+n+'_name']&&attributes['class_'+n+'_name']!==''&&attributes['class_'+n+'_level']&&attributes['class_'+n+'_level']!=='') ? ' ' :'')+(attributes['class_'+n+'_level']||'');
|
||
memo+=temp.length>0 ? (memo.length>0 ?' /' :'')+temp :'';
|
||
return memo;
|
||
},'');
|
||
setAttrs({'class&level':classNL},{silent:true});
|
||
return undefined;
|
||
},
|
||
|
||
classLevelHandler = function(attributes){
|
||
const convertProgress = {//object of fat arrow functions that calculates the spell level available for a class
|
||
'half':(lvl)=>lvl >= 13 ? 4 : lvl >= 10 ? 3 : lvl >= 7 ? 2 : lvl >= 4 ? 1 : 0,
|
||
'partial':(lvl)=> lvl >= 16 ? 6 : lvl >= 13 ? 5 : lvl >= 10 ? 4 : lvl >= 7 ? 3 : lvl >= 4 ? 2 : lvl >= 1 ? 1 : 0,
|
||
'full_prep':(lvl)=>Math.min(Math.floor((lvl+ 1)/2),9),
|
||
'full_spont':(lvl)=>lvl*1===1 ? 1 : Math.floor(lvl/2)
|
||
};
|
||
var convertSave = {
|
||
poor:(lvl)=>attributes.drone*1===1 ? Math.round((lvl - 1)/4) : Math.floor(lvl/3),
|
||
good:(lvl)=> 2+ (attributes.drone*1===1 ? Math.ceil((lvl*0.75 - 1)/2) : Math.floor(lvl/2))
|
||
},
|
||
temp;
|
||
const setObj = _.reduce([1,2,3,4,5],(memo,n)=>{
|
||
let preClass='class_'+n;
|
||
memo.character_level=(memo.character_level||0)+(attributes[preClass+'_level']*1||0);
|
||
memo.bab+=attributes.drone*1===1 ? Math.ceil((attributes[preClass+'_level']*0.75)||0) : Math.floor(attributes[preClass+'_bab']*attributes[preClass+'_level']||0);
|
||
temp=(attributes['class_'+n+'_name']||'')+((attributes[preClass+'_name']&&attributes[preClass+'_name']!==''&&attributes[preClass+'_level']&&attributes[preClass+'_level']!=='') ?' ' :'')+(attributes[preClass+'_level']||'');
|
||
memo['class&level']+=temp.length>0 ? (memo['class&level'].length>0 ?' / ' :'')+temp :'';
|
||
if(attributes[preClass+'_spells']*1===1){
|
||
memo['caster_level']+=(attributes[preClass+'_level']*1||0);
|
||
memo[preClass+'_show']=1;
|
||
memo[preClass+'_max_spell']=convertProgress[attributes[preClass+'_spell_progression']](attributes[preClass+'_level']*1)||0;
|
||
}else{
|
||
memo[preClass+'_show']=0;
|
||
memo[preClass+'_max_spell']=0;
|
||
}
|
||
_.each(['fort','ref','will'],(save)=>{
|
||
memo[save+'_base']+=convertSave[attributes[preClass+'_'+save]](attributes[preClass+'_level']);
|
||
});
|
||
memo.char_max_spell = _.max([memo.char_max_spell,memo[preClass+'_max_spell'],0]);
|
||
return memo;
|
||
},{level:0,fort_base:0,ref_base:0,will_base:0,bab:0,'class&level':'',caster_level:0});
|
||
setObj.char_max_spell=_.reduce(_.range(setObj.char_max_spell + 1),(m,num)=>{
|
||
return m+=' '+num;
|
||
},'');
|
||
return setObj;
|
||
},
|
||
|
||
classHealthHandler = function(){
|
||
return {};
|
||
},
|
||
|
||
classBABHandler = function(attributes){
|
||
return _.reduce([1,2,3,4,5],(memo,n)=>{
|
||
memo.bab+=Math.floor(attributes['class_'+n+'_bab']*attributes['class_'+n+'_level']||0);
|
||
return memo;
|
||
},{bab:0});
|
||
},
|
||
|
||
classSaveHandler = function(attributes,save){
|
||
var convertSave = {
|
||
poor:(lvl)=>Math.floor(lvl/3),
|
||
good:(lvl)=>lvl>0 ? (Math.floor(lvl/2) + 2) : 0
|
||
},
|
||
memObj = {};
|
||
|
||
memObj[save+'_base']=0;
|
||
memObj = _.reduce([1,2,3,4,5],(memo,n)=>{
|
||
memo[save+'_base']+=convertSave[attributes['class_'+n+'_'+save]](attributes['class_'+n+'_level']*1||0);
|
||
return memo;
|
||
},memObj);
|
||
return memObj;
|
||
},
|
||
|
||
classAbilityHandler = function(attributes,attr,classNum){
|
||
var preClass ='class_'+classNum,
|
||
setObj={},
|
||
repeatingSources = _.filter(_.keys(attributes),(a)=>{return a.match(/repeating_[^_]+_-[^_]+_source/)});
|
||
|
||
if(attr==='ability'){
|
||
setObj[preClass+'_casting_ability']=attributes[preClass+'_ability'];
|
||
}
|
||
return _.reduce(repeatingSources,(memo,s)=>{
|
||
if((attributes[s]+'').toLowerCase()===(attributes[preClass+'_name']+'').toLowerCase()){
|
||
memo[s.replace(/source/,'save_ability')]=attributes[preClass+((attr==='casting_ability' && s.match(/spell/)) ?'_casting' :'')+'_ability'];
|
||
}
|
||
return memo;
|
||
},setObj);
|
||
},
|
||
|
||
classSpellHandler = function(attributes,attr,classNum){
|
||
var setObj = {},
|
||
preClass ='class_'+classNum;
|
||
_.some([1,2,3,4,5],(n)=>{
|
||
if(attributes['class_'+n+'_spells']*1===1){
|
||
setObj.is_caster = 1;
|
||
setObj.caster_select = 1;
|
||
return true;
|
||
}else{
|
||
setObj.is_caster=0;
|
||
setObj.caster_select = 0;
|
||
}
|
||
});
|
||
if(attr==='spells' && attributes[preClass+'_spells']*1===1){
|
||
setObj[preClass+'_casting_ability']=attributes[preClass+'_ability'];
|
||
}
|
||
return setObj;
|
||
},
|
||
|
||
buildMenus = function(attributes,setObj){//Constructs the chat based menus using the character's name, and the abilities/spells/attacks
|
||
var sectionIDs,
|
||
preMenu ='/w @{character_name} &{template:generic} {{name=@{character_name}}} {{characterid=@{character_id}}} {{title=';
|
||
setObj.attacks_menu=preMenu+'ATTACKS}}';
|
||
setObj.spells_menu=attributes.sheet_type==='pc' ? preMenu+'SPELLBOOKS}} {{buttons1=' : preMenu+'SPELLS}}';
|
||
setObj.ability_checks_menu=preMenu+'ABILITY CHECKS}}';
|
||
setObj.abilities_menu=preMenu+'SPECIAL ABILITIES}}';
|
||
setObj.skills_menu=preMenu+'SKILLS}}';
|
||
/*attack menu build*/
|
||
sectionIDs=_.chain(_.keys(attributes))
|
||
.reduce((m,a)=>{
|
||
if(a.match(/repeating_attack/)){
|
||
m.push(a.replace(/repeating_attack_(-[^_]+)_.*/,'$1'));
|
||
}
|
||
return m;
|
||
},[])
|
||
.uniq()
|
||
.value();
|
||
let ranged ='{{buttons2=RANGED\n';
|
||
let melee ='{{buttons1=MELEE\n';
|
||
_.each(sectionIDs,(id)=>{
|
||
let preRepeat ='repeating_attack_'+id+'_';
|
||
if((attributes[preRepeat+'engagement_range'])==='ranged'){
|
||
if(ranged!=='{{buttons2=RANGED\n'){
|
||
ranged+=' |';
|
||
}
|
||
ranged+='['+HE(attributes[preRepeat+'name'])+'](~'+attributes.character_id+'|'+preRepeat+'roll)';
|
||
}else{
|
||
if(melee!=='{{buttons1=MELEE\n'){
|
||
melee+=' |';
|
||
}
|
||
melee+='['+HE(attributes[preRepeat+'name'])+'](~'+attributes.character_id+'|'+preRepeat+'roll)';
|
||
}
|
||
});
|
||
melee+='}}';
|
||
ranged+='}}';
|
||
setObj.attacks_menu+=melee+''+ranged;
|
||
if(attributes.sheet_type==='pc'){
|
||
/*spells menu build*/
|
||
let spellClassNums = _.filter([1,2,3,4,5],(n)=>{
|
||
return attributes['class_'+n+'_spells']*1===1;
|
||
});
|
||
_.each(spellClassNums,(n)=>{
|
||
let preClass ='class_'+n+'_';
|
||
if(setObj.spells_menu!==preMenu+'SPELLBOOKS}} {{buttons1='){
|
||
setObj.spells_menu+=' |';
|
||
}
|
||
setObj.spells_menu+='['+HE(attributes[preClass+'name']).toUpperCase()+'](~'+attributes.character_id+'|'+preClass+'spellbook)';
|
||
let spellLevels = attributes[preClass+'max_spell']*1 + 1;
|
||
let classSpellBook = preMenu+attributes[preClass+'name'].toUpperCase()+' Spells}}';
|
||
_.each(_.range(spellLevels),(r)=>{
|
||
let spellLevel ='{{buttons'+r+'='+(r===0 ?'CANTRIPS' :'LEVEL'+r)+' [[0@{'+preClass+(r===0 ?'cantrips' :'level_'+r+'_spells')+'_per_day}]] / [[0@{'+preClass+(r===0 ?'cantrips' :'level_'+r+'_spells')+'_per_day|max}]]\n';
|
||
sectionIDs=_.chain(_.keys(attributes))
|
||
.reduce((m,a)=>{
|
||
if(a.match(/repeating_spell_([^_]+)_source/)){
|
||
if(attributes[a]===attributes[preClass+'name'] && attributes[a.replace(/source/,'level')]*1===r){
|
||
m.push(a.replace(/repeating_spell_(-[^_]+)_.*/,'$1'));
|
||
}
|
||
}
|
||
return m;
|
||
},[])
|
||
.value();
|
||
_.each(sectionIDs,(id)=>{
|
||
let preRepeat ='repeating_spell_'+id+'_';
|
||
if(spellLevel !=='{{buttons'+r+'='+(r===0 ?'CANTRIPS' :'LEVEL'+r)+' [[0@{'+preClass+(r===0 ?'cantrips' :'level_'+r+'_spells')+'_per_day}]] / [[0@{'+preClass+(r===0 ?'cantrips' :'level_'+r+'_spells')+'_per_day|max}]]\n'){
|
||
spellLevel +=' |';
|
||
}
|
||
spellLevel+='['+HE(attributes[preRepeat+'name'])+'](~'+attributes.character_id+'|'+preRepeat+'roll)';
|
||
});
|
||
spellLevel+='}}';
|
||
classSpellBook+=spellLevel.replace(/\n}}/,'}}');
|
||
});
|
||
setObj[preClass+'spellbook']=classSpellBook;
|
||
});
|
||
setObj.spells_menu+='}}';
|
||
/*abilities menu*/
|
||
sectionIDs=_.chain(_.keys(attributes))
|
||
.reduce((m,a)=>{
|
||
if(a.match(/repeating_ability/)){
|
||
m.push(a.replace(/repeating_ability_(-[^_]+)_.*/,'$1'));
|
||
}
|
||
return m;
|
||
},[])
|
||
.uniq()
|
||
.value();
|
||
let racial_abilities ='{{buttons1=RACIAL\n';
|
||
let feat_abilities ='{{buttons2=FEATS\n';
|
||
let class_abilities = {
|
||
class_1_abilities:'{{buttons3='+attributes.class_1_name.toUpperCase()+'\n',
|
||
class_2_abilities:'{{buttons4='+attributes.class_2_name.toUpperCase()+'\n',
|
||
class_3_abilities:'{{buttons5='+attributes.class_3_name.toUpperCase()+'\n',
|
||
class_4_abilities:'{{buttons6='+attributes.class_4_name.toUpperCase()+'\n',
|
||
class_5_abilities:'{{buttons7='+attributes.class_5_name.toUpperCase()+'\n'
|
||
}
|
||
_.each(sectionIDs,(id)=>{
|
||
let preRepeat ='repeating_ability_'+id+'_';
|
||
let classNum=0;
|
||
if((attributes[preRepeat+'source']+'').toLowerCase()===(attributes.race+'').toLowerCase()){
|
||
if(racial_abilities!=='{{buttons1=RACIAL\n'){
|
||
racial_abilities+=' |';
|
||
}
|
||
racial_abilities+='['+HE(attributes[preRepeat+'name'])+'](~'+attributes.character_id+'|'+preRepeat+'roll)';
|
||
}else if(_.some([1,2,3,4,5],(n)=>{
|
||
classNum=n;
|
||
return (attributes['class_'+n+'_name']+'').toLowerCase()===(attributes[preRepeat+'source']+'').toLowerCase();
|
||
})){
|
||
if(class_abilities['class_'+classNum+'_abilities']!=='{{buttons'+(classNum + 2)+'='+attributes['class_'+classNum+'_name']+'\n'){
|
||
class_abilities['class_'+classNum+'_abilities']+=' |';
|
||
}
|
||
class_abilities['class_'+classNum+'_abilities']+='['+HE(attributes[preRepeat+'name'])+'](~'+attributes.character_id+'|'+preRepeat+'roll)';
|
||
}else{
|
||
if(feat_abilities!=='{{buttons2=FEATS\n'){
|
||
feat_abilities+=' |';
|
||
}
|
||
feat_abilities+='['+HE(attributes[preRepeat+'name'])+'](~'+attributes.character_id+'|'+preRepeat+'roll)';
|
||
}
|
||
});
|
||
racial_abilities+='}}';
|
||
feat_abilities +='}}';
|
||
class_abilities = {
|
||
class_1_abilities:(class_abilities.class_1_abilities+'}}').replace(/\n}}/,''),
|
||
class_2_abilities:(class_abilities.class_2_abilities+'}}').replace(/\n}}/,''),
|
||
class_3_abilities:(class_abilities.class_3_abilities+'}}').replace(/\n}}/,''),
|
||
class_4_abilities:(class_abilities.class_4_abilities+'}}').replace(/\n}}/,''),
|
||
class_5_abilities:(class_abilities.class_5_abilities+'}}').replace(/\n}}/,'')
|
||
}
|
||
setObj.abilities_menu+=racial_abilities+''+feat_abilities+''+_.reduce(class_abilities,(m,ca)=>{return m+ca},'');
|
||
}else if(attributes.sheet_type==='npc'){
|
||
/*spells menu build*/
|
||
let spellObjs = _.reduce(_.keys(attributes),(memo,k)=>{
|
||
if(k.match('repeating_spell_-[^_]+_name')){
|
||
memo.push({
|
||
name:attributes[k],
|
||
level:attributes[k.replace(/name/,'level')]*1||0,
|
||
roll:k.replace(/name/,'roll')
|
||
});
|
||
}
|
||
return memo;
|
||
},[]);
|
||
let spellLevels = {
|
||
cantrips:'{{buttons0=CANTRIPS',
|
||
level1:'{{buttons1=LEVEL 1',
|
||
level2:'{{buttons2=LEVEL 2',
|
||
level3:'{{buttons3=LEVEL 3',
|
||
level4:'{{buttons4=LEVEL 4',
|
||
level5:'{{buttons5=LEVEL 5',
|
||
level6:'{{buttons6=LEVEL 6',
|
||
level7:'{{buttons7=LEVEL 7',
|
||
level8:'{{buttons8=LEVEL 8',
|
||
level9:'{{buttons9=LEVEL 9'
|
||
}
|
||
_.each(spellObjs,(s)=>{
|
||
spellLevels[s.level===0 ?'cantrips' :'level'+s.level]+=(spellLevels[s.level===0 ?'cantrips' :'level'+s.level].match(/\n/) ?' |':'\n')+'['+s.name+'](~'+attributes.character_name+'|'+s.roll+')';
|
||
});
|
||
_.each(_.keys(spellLevels),(k)=>{
|
||
if(spellLevels[k].match(/\n/)){
|
||
spellLevels[k]+='}}';
|
||
}else{
|
||
spellLevels[k]=spellLevels[k].replace(/({{buttons\d=).+/,'$1}}');
|
||
}
|
||
setObj.spells_menu+=''+spellLevels[k];
|
||
});
|
||
if(setObj.spells_menu.match(/\n/)){
|
||
setObj.caster_select=1;
|
||
}
|
||
/*abilities menu*/
|
||
sectionIDs=_.chain(_.keys(attributes))
|
||
.reduce((m,a)=>{
|
||
if(a.match(/repeating_ability/)){
|
||
m.push(a.replace(/repeating_ability_(-[^_]+)_.*/,'$1'));
|
||
}
|
||
return m;
|
||
},[])
|
||
.uniq()
|
||
.value();
|
||
let racial_abilities ='{{buttons1=RACIAL\n';
|
||
let feat_abilities ='{{buttons2=FEATS\n';
|
||
let class_abilities = {
|
||
class_1_abilities:'{{buttons3='+attributes.class_1_name.toUpperCase()+'\n',
|
||
class_2_abilities:'{{buttons4='+attributes.class_2_name.toUpperCase()+'\n',
|
||
class_3_abilities:'{{buttons5='+attributes.class_3_name.toUpperCase()+'\n',
|
||
class_4_abilities:'{{buttons6='+attributes.class_4_name.toUpperCase()+'\n',
|
||
class_5_abilities:'{{buttons7='+attributes.class_5_name.toUpperCase()+'\n'
|
||
}
|
||
_.each(sectionIDs,(id)=>{
|
||
let preRepeat ='repeating_ability_'+id+'_';
|
||
let classNum=0;
|
||
if((attributes[preRepeat+'source']+'').toLowerCase()===(attributes.race+'').toLowerCase()){
|
||
if(racial_abilities!=='{{buttons1=RACIAL\n'){
|
||
racial_abilities+=' |';
|
||
}
|
||
racial_abilities+='['+HE(attributes[preRepeat+'name'])+'](~'+attributes.character_id+'|'+preRepeat+'roll)';
|
||
}else if(_.some([1,2,3,4,5],(n)=>{
|
||
classNum=n;
|
||
return (attributes['class_'+n+'_name']+'').toLowerCase()===(attributes[preRepeat+'source']+'').toLowerCase();
|
||
})){
|
||
if(class_abilities['class_'+classNum+'_abilities']!=='{{buttons'+(classNum + 2)+'='+attributes['class_'+classNum+'_name']+'\n'){
|
||
class_abilities['class_'+classNum+'_abilities']+=' |';
|
||
}
|
||
class_abilities['class_'+classNum+'_abilities']+='['+HE(attributes[preRepeat+'name'])+'](~'+attributes.character_id+'|'+preRepeat+'roll)';
|
||
}else{
|
||
if(feat_abilities!=='{{buttons2=FEATS\n'){
|
||
feat_abilities+=' |';
|
||
}
|
||
feat_abilities+='['+HE(attributes[preRepeat+'name'])+'](~'+attributes.character_id+'|'+preRepeat+'roll)';
|
||
}
|
||
});
|
||
racial_abilities+='}}';
|
||
feat_abilities +='}}';
|
||
class_abilities = {
|
||
class_1_abilities:(class_abilities.class_1_abilities+'}}').replace(/\n}}/,''),
|
||
class_2_abilities:(class_abilities.class_2_abilities+'}}').replace(/\n}}/,''),
|
||
class_3_abilities:(class_abilities.class_3_abilities+'}}').replace(/\n}}/,''),
|
||
class_4_abilities:(class_abilities.class_4_abilities+'}}').replace(/\n}}/,''),
|
||
class_5_abilities:(class_abilities.class_5_abilities+'}}').replace(/\n}}/,'')
|
||
}
|
||
setObj.abilities_menu+=racial_abilities+''+feat_abilities+''+_.reduce(class_abilities,(m,ca)=>{return m+ca},'');
|
||
}
|
||
/*skills*/
|
||
setObj.skills_menu+='{{buttons0=[Perception](~'+attributes.character_id+'|perception)}}'
|
||
+'{{buttons1=PHYSICAL\n[Acrobatics](~'+attributes.character_id+'|acrobatics) | [Athletics](~'+attributes.character_id+'|athletics) | [Piloting](~'+attributes.character_id+'|piloting)}}'
|
||
+'{{buttons2=SOCIAL\n[Bluff](~'+attributes.character_id+'|bluff) | [Diplomacy](~'+attributes.character_id+'|diplomacy) | [Disguise](~'+attributes.character_id+'|disguise) | [Intimidate](~'+attributes.character_id+'|intimidate) | [Sense Motive](~'+attributes.character_id+'|sense_motive)}}'
|
||
+'{{buttons3=THIEVERY\n[Sleight of Hand](~'+attributes.character_id+'|sleight_of_hand) | [Stealth](~'+attributes.character_id+'|stealth)}}'
|
||
+'{{buttons4=KNOWLEDGE\n[Computers](~'+attributes.character_id+'|computers) | [Culture](~'+attributes.character_id+'|culture) | [Engineering](~'+attributes.character_id+'|engineering) | [Life Science](~'+attributes.character_id+'|life_science) | [Medicine](~'+attributes.character_id+'|medicine) | [Mysticism](~'+attributes.character_id+'|mysticism) | [Physical Science](~'+attributes.character_id+'|physical_science) | [Survival](~'+attributes.character_id+'|survival)}}';
|
||
let professionMenu='{{buttons5=PROFESSION\n'
|
||
sectionIDs=_.chain(_.keys(attributes))
|
||
.reduce((m,a)=>{
|
||
if(a.match(/repeating_profession/)){
|
||
m.push(a.replace(/repeating_profession_(-[^_]+)_.*/,'$1'));
|
||
}
|
||
return m;
|
||
},[])
|
||
.uniq()
|
||
.value();
|
||
_.each(sectionIDs,(id)=>{
|
||
let preRepeat ='repeating_profession_'+id+'_';
|
||
if(professionMenu!=='{{buttons5=PROFESSION\n'){
|
||
professionMenu+=' |';
|
||
}
|
||
professionMenu+='['+HE(attributes[preRepeat+'name'])+'](~'+attributes.character_id+'|'+preRepeat+'roll)';
|
||
});
|
||
professionMenu+='}}';
|
||
setObj.skills_menu+=professionMenu.replace(/PROFESSION\n}}/,'');
|
||
return setObj;
|
||
},
|
||
|
||
assignConditions = function(attributes,bonuses){
|
||
const skillArray = ['acrobatics','athletics','bluff','computers','culture','diplomacy','disguise','engineering','intimidate','life_science','medicine','mysticism','perception','physical_science','piloting','sense_motive','sleight_of_hand','stealth','survival'],
|
||
activeConditions = _.filter(_.keys(attributes),(k)=>{return /repeating_condition_[^_]+_name/.test(k)}),
|
||
filteredSkillDamage = {
|
||
'dexSkills':_.filter(_.keys(attributes),(key)=>{
|
||
if(new RegExp(skillArray.join('|')+'$').test(key) && attributes[key+'_ability']==='@{dexterity_mod}'){
|
||
return true;
|
||
}
|
||
return false;
|
||
}).concat(['profession|ability:@{dexterity_mod}']),
|
||
'strSkills':_.filter(_.keys(attributes),(key)=>{
|
||
if(new RegExp(skillArray.join('|')+'$').test(key) && attributes[key+'_ability']==='@{strength_mod}'){
|
||
return true;
|
||
}
|
||
return false;
|
||
}).concat(['profession|ability:@{strength_mod}']),
|
||
'intSkills':_.filter(_.keys(attributes),(key)=>{
|
||
if(new RegExp(skillArray.join('|')+'$').test(key) && attributes[key+'_ability']==='@{intelligence_mod}'){
|
||
return true;
|
||
}
|
||
return false;
|
||
}).concat(['profession|ability:@{intelligence_mod}']),
|
||
'wisSkills':_.filter(_.keys(attributes),(key)=>{
|
||
if(new RegExp(skillArray.join('|')+'$').test(key) && attributes[key+'_ability']==='@{wisdom_mod}'){
|
||
return true;
|
||
}
|
||
return false;
|
||
}).concat(['profession|ability:@{wisdom_mod}']),
|
||
'chaSkills':_.filter(_.keys(attributes),(key)=>{
|
||
if(new RegExp(skillArray.join('|')+'$').test(key) && attributes[key+'_ability']==='@{charisma_mod}'){
|
||
return true;
|
||
}
|
||
return false;
|
||
}).concat(['profession|ability:@{charisma_mod}']),
|
||
'meleeDamage':['damage|engagement_range:melee'],
|
||
'meleeAttack':['attack|engagement_range:melee'],
|
||
'weaponDamage':['damage|section:attack'],
|
||
'dexAttack':['total|ability:@{dexterity_mod}'],
|
||
'strAttack':['total|ability:@{strength_mod}'],
|
||
'strDamage':['damage|damage_ability:@{strength_mod},section:attack'],
|
||
'conDC':['dc|save_ability:@{constitution_mod}'],
|
||
},
|
||
conditions = [
|
||
{condition:'asleep',penalties:[['perception',-10]]},
|
||
{condition:'blinded',penalties:[['dexSkills',-4],['strSkills',-4],['perception','-?{'+getTranslationByKey('opposed-roll')+'|'+getTranslationByKey('no')+',0|'+getTranslationByKey('yes')+',4}']]},
|
||
{condition:'dazzled',penalties:[['perception','-?{'+getTranslationByKey('visual')+'|'+getTranslationByKey('no')+',0|'+getTranslationByKey('yes')+',1}'],['attack',-1]]},
|
||
{condition:'deafened',penalties:[['initiative',-4],['perception','-?{'+getTranslationByKey('opposed-roll')+'|'+getTranslationByKey('no')+',0|'+getTranslationByKey('yes')+',4}']]},
|
||
{condition:'entangled',penalties:[['eac',-2],['kac',-2],['attack',-2],['ref',-2],['initiative',-2],['dexSkills',-2]]},
|
||
{condition:'exhausted',penalties:[['eac',-3],['kac',-3],['attack',-3],['meleeDamage',-3],['ref',-3],['initiative',-3],['strSkills',-3],['dexSkills',-3],['encumber_bulk',-3]]},
|
||
{condition:'fatigued',penalties:[['eac',-1],['kac',-1],['attack',-1],['meleeDamage',-1],['ref',-1],['initiative',-1],['strSkills',-1],['dexSkills',-1],['encumber_bulk',-1]]},
|
||
{condition:'flat_footed',penalties:[['eac',-2],['kac',-2]]},
|
||
{condition:'frightened',penalties:[['attack',-2],['ref',-2],['fort',-2],['will',-2],['skills',-2]]},
|
||
{condition:'negative_levels',penalties:[['attack',-1],['ref',-1],['fort',-1],['will',-1],['skills',-1],['eac',-1],['kac',-1],['sp_max',-5],['hp_max',-5]]},
|
||
{condition:'off_kilter',penalties:[['attack',-2]]},
|
||
{condition:'off_target',penalties:[['attack',-2]]},
|
||
{condition:'panicked',penalties:[['ref',-2],['fort',-2],['will',-2],['skills',-2]]},
|
||
{condition:'grappled',penalties:[['eac',-2],['kac',-2],['attack',-2],['ref',-2],['initiative',-2],['dexSkills','-?{'+getTranslationByKey('escaping-grapple')+'|'+getTranslationByKey('no')+',0|'+getTranslationByKey('yes')+',2}']]},
|
||
{condition:'pinned',penalties:[['eac',-4],['kac',-4],['attack',-4],['ref',-4],['initiative',-4],['dexSkills',-4]]},
|
||
{condition:'prone',penalties:[['meleeAttack',-4]]},
|
||
{condition:'shaken',penalties:[['attack',-2],['ref',-2],['fort',-2],['will',-2],['skills',-2]]},
|
||
{condition:'sickened',penalties:[['attack',-2],['fort',-2],['ref',-2],['will',-2],['weaponDamage',-2],['skills',-2]]},
|
||
],
|
||
diseasePoison = {
|
||
'physical_track':[
|
||
[],//Healthy
|
||
[],//latent
|
||
[],//weakened
|
||
[],//impaired
|
||
[],//debilitated
|
||
[],//bedridden
|
||
[],//comatose
|
||
[],//You're Dead!
|
||
],
|
||
'mental_track':[
|
||
[],//healthy
|
||
[],//latent
|
||
[['spell|dc',-2],['ability|dc',-2]],//weakened
|
||
[['spell|dc',-2],['ability|dc',-2]],//impaired
|
||
[],//befuddled
|
||
[],//disassociated
|
||
[],//comatose
|
||
[],//You're Dead!
|
||
],
|
||
'strength_track':[
|
||
[],//healthy
|
||
[['strAttack',-2],['strDamage',-2],['strSkills',-2],['spell|dc',-2],['ability|dc',-2]],//weakened
|
||
[['strAttack',-2],['strDamage',-2],['strSkills',-2],['spell|dc',-2],['ability|dc',-2]],//impaired
|
||
[],//staggered
|
||
[],//immobile
|
||
[],//You're Dead!
|
||
],
|
||
'dexterity_track':[
|
||
[],//healthy
|
||
[['ref',-2],['dexAttack',-2],['dexSkills',-2],['spell|dc',-2],['ability|dc',-2]],//sluggish
|
||
[],//stiffened
|
||
[],//staggered
|
||
[],//immobile
|
||
[],//You're Dead!
|
||
],
|
||
'constitution_track':[
|
||
[],//healthy
|
||
[['fort',-2],['conDC',-2]],//weakened
|
||
[['fort',-2],['conDC',-2]],//impaired
|
||
[],//debilitated
|
||
[],//unconscious
|
||
[],//You're Dead!
|
||
],
|
||
'intelligence_track':[
|
||
[],//healthy
|
||
[['intSkills',-2],['spell|dc',-2],['ability|dc',-2]],//weakend
|
||
[['intSkills',-2],['spell|dc',-2],['ability|dc',-2]],//impaired
|
||
[],//animalistic
|
||
[],//comatose
|
||
[],//You're Dead!
|
||
],
|
||
'wisdom_track':[
|
||
[],//healthy
|
||
[['will',-2],['wisSkills',-2],['spell|dc',-2],['ability|dc',-2]],//weakened
|
||
[['will',-2],['wisSkills',-2],['spell|dc',-2],['ability|dc',-2]],//impaired
|
||
[],//confused
|
||
[],//comatose
|
||
[],//You're Dead!
|
||
],
|
||
'charisma_track':[
|
||
[],//healthy
|
||
[['chaSkills',-2],['spell|dc',-2],['ability|dc',-2]],//weakened
|
||
[['chaSkills',-2],['spell|dc',-2],['ability|dc',-2]],//impaired
|
||
[],//pliable
|
||
[],//catatonic
|
||
[],//You're Dead!
|
||
]
|
||
},
|
||
trackNumConvert = {
|
||
'physical_track':{
|
||
healthy:1,
|
||
latent:2,
|
||
weakened:3,
|
||
impaired:4,
|
||
debilitated:5,
|
||
bedridden:6,
|
||
comatose:7,
|
||
dead:8
|
||
},
|
||
'mental_track':{
|
||
healthy:1,
|
||
latent:2,
|
||
weakened:3,
|
||
impaired:4,
|
||
befuddled:5,
|
||
disassociated:6,
|
||
comatose:7,
|
||
dead:8
|
||
},
|
||
'strength_track':{
|
||
healthy:1,
|
||
weakened:2,
|
||
impaired:3,
|
||
staggered:4,
|
||
immobile:5,
|
||
dead:6
|
||
},
|
||
'dexterity_track':{
|
||
healthy:1,
|
||
sluggish:2,
|
||
stiffened:3,
|
||
staggered:4,
|
||
immobile:5,
|
||
dead:6
|
||
},
|
||
'constitution_track':{
|
||
healthy:1,
|
||
weakened:2,
|
||
impaired:3,
|
||
debilitated:4,
|
||
unconscious:5,
|
||
dead:6
|
||
},
|
||
'intelligence_track':{
|
||
healthy:1,
|
||
weakened:2,
|
||
impaired:3,
|
||
animalistic:4,
|
||
comatose:5,
|
||
dead:6
|
||
},
|
||
'wisdom_track':{
|
||
healthy:1,
|
||
weakened:2,
|
||
impaired:3,
|
||
confused:4,
|
||
comatose:5,
|
||
dead:6
|
||
},
|
||
'charisma_track':{
|
||
healthy:1,
|
||
weakened:2,
|
||
impaired:3,
|
||
pliable:4,
|
||
catatonic:5,
|
||
dead:6
|
||
},
|
||
};
|
||
|
||
_.each(activeConditions,(condition)=>{
|
||
const rowID = condition.replace(/name/,''),
|
||
track = attributes[rowID+'track'],
|
||
status = attributes[rowID+'track_status'],
|
||
statusValue = trackNumConvert[track] ? trackNumConvert[track][status]||1 : undefined;
|
||
|
||
if(statusValue){
|
||
_.each(_.range(statusValue),(state)=>{
|
||
_.each(diseasePoison[track][state],(effect)=>{
|
||
let expandedPenalties = filteredSkillDamage[effect[0]]||[effect[0]];
|
||
_.each(expandedPenalties,(affected)=>{
|
||
bonuses[affected]=bonuses[affected]||{};
|
||
bonuses[affected]['Affliction']=bonuses[affected]['Affliction']||[];
|
||
bonuses[affected]['Affliction'].push(effect[1]);
|
||
});
|
||
});
|
||
});
|
||
}
|
||
});
|
||
_.each(conditions,(cond)=>{
|
||
let conditionName=cond.condition.replace(/_/g,'-');
|
||
if(Math.abs(attributes[cond.condition]*1)>0){
|
||
_.each(cond.penalties,(effect)=>{
|
||
let expandedPenalties
|
||
if(effect[0]==='skills'){
|
||
expandedPenalties = skillArray.concat(['profession']);
|
||
}else{
|
||
expandedPenalties = filteredSkillDamage[effect[0]]||[effect[0]];
|
||
}
|
||
_.each(expandedPenalties,(affected)=>{
|
||
bonuses[affected]=bonuses[affected]||{};
|
||
bonuses[affected][conditionName]=bonuses[affected][conditionName]||[];
|
||
bonuses[affected][conditionName].push(effect[1]*Math.abs(attributes[cond.condition]*1)||effect[1]);
|
||
});
|
||
});
|
||
}
|
||
});
|
||
return bonuses;
|
||
},
|
||
|
||
parseBuffs = function(attributes){//parses all of the buffs contained in the repeating_buff, repeating_item, and repeating_ability items
|
||
// creates an object indexed by attribute to be buffed containing objects that have all of the buffs for that attribute
|
||
// indexed by buff type
|
||
var modRegex = /((?:\+|\-)?.*?(?=(?:[a-z\s]+)?\s+to\s+))(?:\s+([a-z\s]+))?\s+to\s+([^\n]+)/i,//allow wrapping of equation in ()'s
|
||
buffSplit,buffMatch,buff,buffType,buffed,evalBuff,
|
||
buffFields = _.chain(_.keys(attributes))
|
||
.filter((k)=>{
|
||
return k.match(/repeating_(?:item_-[^_]+_mods|buff_-[^_]+_mods|ability_-[^_]+_mods)/);
|
||
})
|
||
.filter((k)=>{
|
||
let typeSwitch = {
|
||
'item':(p1)=>[p1+'equipped'],
|
||
'buff':(p1)=>[p1+'toggle'],
|
||
'ability':(p1)=>[p1+'toggle',p1+'frequency']
|
||
};
|
||
let typeMatch = k.match(/(repeating_(item|buff|ability)_-[^_]+_)mods/);
|
||
return _.some(typeSwitch[typeMatch[2]](typeMatch[1]),(ts)=>{
|
||
return (attributes[ts]+'').match(/enabled|equipped|constant|1/);
|
||
});
|
||
})
|
||
.map((k)=>{
|
||
return attributes[k];
|
||
})
|
||
.reject((f)=>{return _.isEmpty(f)})
|
||
.reduce((memo,f)=>{
|
||
buffSplit = f.split(/\s*\n\s*/);
|
||
memo=memo.concat(buffSplit);
|
||
return memo;
|
||
},[])
|
||
.reduce((memo,f)=>{
|
||
buffMatch = f.match(modRegex);
|
||
if(buffMatch){
|
||
let rawBuff = buffMatch[1].toLowerCase();
|
||
buffed = buffMatch[3].toLowerCase().split(/\s+and\s+/);
|
||
buffType = buffMatch[2] ? buffMatch[2].toLowerCase().replace(/max dex/i,'max_dex') :'untyped';
|
||
_.each(buffed,(b)=>{
|
||
buff = rawBuff;
|
||
if(/^(?:strength|dexterity|constitution|intelligence|wisdom|charisma)$/i.test(b) && attributes.sheet_type==='npc'){
|
||
buff = 'floor(('+rawBuff+')/2)';
|
||
b=b+'_mod';
|
||
}
|
||
if((b==='ac'||b==='tac')&&buffType==='item'){
|
||
b+='_armor';
|
||
}else if(b==='rp'||b==='hp'||b.match(/temp[^\s]*\s*hp/)){
|
||
b+='_max';
|
||
}
|
||
b=b.replace(/(.+?(?=\|)|(?:\||,).+?(?=:))/g,'$1').replace(/\s+/g,'_');
|
||
if(b.startsWith('category:')){
|
||
b=b.replace(/category:_?/,'');
|
||
memo.categories[b]=memo.categories[b]||{};
|
||
memo.categories[b][buffType]=memo.categories[b][buffType]||[];
|
||
memo.categories[b][buffType].push(buff);
|
||
}else if(b.match(/^armor$/i)){
|
||
if(/item/i.test(buffType)){
|
||
memo.ac_armor=memo.ac_armor||{};
|
||
memo.ac_armor[buffType]=memo.ac_armor[buffType]||[];
|
||
memo.ac_armor[buffType].push(buff);
|
||
memo.tac_armor=memo.tac_armor||{};
|
||
memo.tac_armor[buffType]=memo.tac_armor[buffType]||[];
|
||
memo.tac_armor[buffType].push(buff);
|
||
}else{
|
||
memo.ac=memo.ac||{};
|
||
memo.ac[buffType]=memo.ac[buffType]||[];
|
||
memo.ac[buffType].push(buff);
|
||
memo.tac=memo.tac||{};
|
||
memo.tac[buffType]=memo.tac[buffType]||[];
|
||
memo.tac[buffType].push(buff);
|
||
}
|
||
}else if(b.match(/^skills?$/i)){
|
||
_.each(skillList,(skill)=>{
|
||
memo[skill]=memo[skill]||{};
|
||
memo[skill][buffType]=memo[skill][buffType]||[];
|
||
memo[skill][buffType].push(buff);
|
||
});
|
||
}else if(b==='acp'){
|
||
memo[b]=memo[b]||{};
|
||
memo[b].acp=memo[b].acp||[];
|
||
memo[b].acp.push(buff);
|
||
}else if(b==='saves'){
|
||
_.each(['fort','ref','will'],(save)=>{
|
||
memo[save]=memo[save]||{};
|
||
memo[save][buffType]=memo[save][buffType]||[];
|
||
memo[save][buffType].push(buff);
|
||
});
|
||
}else{
|
||
memo[b]=memo[b]||{};
|
||
memo[b][buffType]=memo[b][buffType]||[];
|
||
memo[b][buffType].push(buff);
|
||
}
|
||
});
|
||
}
|
||
return memo;
|
||
},{})
|
||
.value();
|
||
TAS.log(`buffFields: ${JSON.stringify(buffFields)}`);
|
||
return buffFields;
|
||
},
|
||
|
||
starfinderMax = function(){//Returns the maximum value if first argument is null/undefined/false. otherwise returns minimum
|
||
if(arguments[0]===true){
|
||
return _.min(_.rest(arguments));
|
||
}else{
|
||
return _.max(_.rest(arguments));
|
||
}
|
||
},
|
||
|
||
calcBuffs = function(attributes,bonus,setObj,output,attribute){//calculates the buff to apply for any given type. Also takes into account stacking.
|
||
var tObj,evalBuff, redAttr = _.reduce(_.keys(bonus),(memo,t)=>{
|
||
tObj = _.reduce(bonus[t],(m,b)=>{
|
||
evalBuff=(b+'').replace(/(floor|ceil|abs|round|abs)\(/g,'Math.$1(').replace(/@{([^}]+)}/g,(match,p1)=>{
|
||
return setObj[p1.toLowerCase()]*1 || attributes[p1.toLowerCase()]*1||'@{'+p1+'}';
|
||
});
|
||
try{
|
||
evalBuff=eval(evalBuff);
|
||
TAS.log(evalBuff);
|
||
if(t==='acp'){
|
||
m.acp=starfinderMax(true,m.acp,evalBuff);
|
||
}else if(evalBuff>=0){
|
||
if(t==='item'){
|
||
m.item=starfinderMax(false,m.item,evalBuff);
|
||
}else if(t==='max_dex'){
|
||
m.max_dex=starfinderMax(true,m.max_dex,evalBuff);
|
||
}else if(/untyped|affliction/i.test(t)){
|
||
m.buff+=evalBuff;
|
||
}else{
|
||
m.buff=starfinderMax(false,m.buff,evalBuff);
|
||
}
|
||
}else if(evalBuff<0){
|
||
m.pen+=evalBuff;
|
||
}
|
||
}catch(err){}
|
||
if(/untyped|affliction/i.test(t)){
|
||
m.misc+=(m.misc==='' ?'' :'+')+(b+'').replace(/^\+/,'');
|
||
}else if((b+'').length>0){
|
||
m.misc+=(m.misc==='' ?'' :',')+'{'+(b+'').replace(/^\+/,'')+'}'
|
||
}
|
||
return m;
|
||
},{buff:0,pen:0,misc:'',item:0,acp:0});
|
||
TAS.log(`tObj: ${JSON.stringify(tObj)}`);
|
||
memo.total+=tObj.buff+tObj.pen+tObj.acp + (/t?ac_armor/.test(attribute) ? 0 : tObj.item);
|
||
if(/untyped|affliction/i.test(t) && tObj.misc.length>0){
|
||
memo.misc+='+[['+tObj.misc+']]['+t+']';
|
||
}else{
|
||
if(tObj.misc.length>1){
|
||
memo.misc+='+[[{'+tObj.misc+',{0}}k'+(t==='acp' ?'l' :'h')+'1]]['+t+']';
|
||
}
|
||
}
|
||
if(/t?ac_armor/.test(attribute)){
|
||
memo.item=starfinderMax(false,memo.item,tObj.item);
|
||
}
|
||
if(_.isNumber(tObj.max_dex*1)){
|
||
memo.max_dex=starfinderMax(true,memo.max_dex,tObj.max_dex);
|
||
}
|
||
return memo;
|
||
},{total:0,misc:'',item:0,acp:0});
|
||
return redAttr;
|
||
},
|
||
|
||
affectWhat = function(attributes,trigger,bonus){
|
||
let abiSel = ['rp_ability'];
|
||
const objSwitch = {
|
||
npc:npcAttributeObjs,
|
||
pc:attributeObjs
|
||
},
|
||
bonusKeys=_.keys(bonus),
|
||
affected={},
|
||
affectedKeys=[],
|
||
propagatedTriggers = _.reduce(trigger,(memo,trig)=>{
|
||
trig.replace(/(?:(repeating_([^_]+)_[^_]+_))?(.+)/,(match,sectionID,section,attr)=>{
|
||
let objName;
|
||
if(section){
|
||
objName = section+'|'+attr;
|
||
}else{
|
||
objName = attr;
|
||
}
|
||
TAS.log(`pre memo[trig] objName: ${objName}`);
|
||
memo[trig]=JSON.parse(JSON.stringify(objSwitch[attributes.sheet_type][objName]));
|
||
});
|
||
return memo;
|
||
},{}),
|
||
complicatedConditions = {
|
||
entangled:['dexSkills'],
|
||
exhausted:['dexSkills','strSkills'],
|
||
blinded:['dexSkills','strSkills'],
|
||
fatigued:['dexSkills','strSkills','meleeDamage'],
|
||
strength_track:['strSkills','strAttack','strDamage'],
|
||
dexterity_track:['dexSkills','dexAttack'],
|
||
constitution_track:['conDC'],
|
||
intelligence_track:['intSkills'],
|
||
wisdom_track:['wisSkills'],
|
||
charisma_track:['chaSkills'],
|
||
},
|
||
skillArray = ['acrobatics','athletics','bluff','computers','culture','diplomacy','disguise','engineering','intimidate','life_science','medicine','mysticism','perception','physical_science','piloting','sense_motive','sleight_of_hand','stealth','survival'],
|
||
filteredSkillDamage = {
|
||
'dexSkills':_.filter(_.keys(attributes),(key)=>{
|
||
if(new RegExp('(?:repeating_profession_[^_]+_profession|'+skillArray.join('|')+')').test(key) && attributes[key.replace(/_skill$/,'')+'_ability']==='@{dexterity_mod}'){
|
||
return true;
|
||
}
|
||
return false;
|
||
}),
|
||
'strSkills':_.filter(_.keys(attributes),(key)=>{
|
||
if(new RegExp('(?:repeating_profession_[^_]+_profession|'+skillArray.join('|')+')').test(key) && attributes[key.replace(/_skill$/,'')+'_ability']==='@{strength_mod}'){
|
||
return true;
|
||
}
|
||
return false;
|
||
}),
|
||
'intSkills':_.filter(_.keys(attributes),(key)=>{
|
||
if(new RegExp('(?:repeating_profession_[^_]+_profession|'+skillArray.join('|')+')').test(key) && attributes[key.replace(/_skill$/,'')+'_ability']==='@{intelligence_mod}'){
|
||
return true;
|
||
}
|
||
return false;
|
||
}),
|
||
'wisSkills':_.filter(_.keys(attributes),(key)=>{
|
||
if(new RegExp('(?:repeating_profession_[^_]+_profession|'+skillArray.join('|')+')').test(key) && attributes[key.replace(/_skill$/,'')+'_ability']==='@{wisdom_mod}'){
|
||
return true;
|
||
}
|
||
return false;
|
||
}),
|
||
'chaSkills':_.filter(_.keys(attributes),(key)=>{
|
||
if(new RegExp('(?:repeating_profession_[^_]+_profession|'+skillArray.join('|')+')').test(key) && attributes[key.replace(/_skill$/,'')+'_ability']==='@{charisma_mod}'){
|
||
return true;
|
||
}
|
||
return false;
|
||
}),
|
||
'meleeDamage':_.filter(_.keys(attributes),(key)=>{
|
||
if(/repeating_attack_[^_]+_damage_total/.test(key) && attributes[key.replace(/_damage_total$/,'_engagement_range')]==='melee'){
|
||
return true;
|
||
}
|
||
return false;
|
||
}),
|
||
'meleeAttack':_.filter(_.keys(attributes),(key)=>{
|
||
if(/repeating_attack_[^_]+_total/.test(key) && attributes[key.replace(/_total$/,'_engagement_range')]==='melee'){
|
||
return true;
|
||
}
|
||
return false;
|
||
}),
|
||
'weaponDamage':_.filter(_.keys(attributes),(key)=>{
|
||
if(/repeating_attack_[^_]+_damage_total/.test(key)){
|
||
return true;
|
||
}
|
||
return false;
|
||
}),
|
||
'dexAttack':_.filter(_.keys(attributes),(key)=>{
|
||
if(/repeating_(?:attack_[^_]+_total|(?:spell|ability)_[^_]+_attack_total)/.test(key) && attributes[key.replace(/_total$/,'_ability')]==='@{dexterity_mod}'){
|
||
return true;
|
||
}
|
||
return false;
|
||
}),
|
||
'strAttack':_.filter(_.keys(attributes),(key)=>{
|
||
if(/repeating_(?:attack_[^_]+_total|(?:spell|ability)_[^_]+_attack_total)/.test(key) && attributes[key.replace(/_total$/,'_ability')]==='@{strength_mod}'){
|
||
return true;
|
||
}
|
||
return false;
|
||
}),
|
||
'strDamage':_.filter(_.keys(attributes),(key)=>{
|
||
if(/repeating_(?:attack|spell|ability)_[^_]+_damage_total/.test(key) && attributes[key.replace(/_total$/,'_ability')]==='@{strength_mod}'){
|
||
return true;
|
||
}
|
||
return false;
|
||
}),
|
||
'conDC':_.filter(_.keys(attributes),(key)=>{
|
||
if(/_dc$/.test(key) && attributes[key.replace(/_dc$/,'_save_ability')]==='@{constitution_mod}'){
|
||
return true;
|
||
}
|
||
return false;
|
||
}),
|
||
},
|
||
repeatAttrs = {
|
||
total:[['attack','total']],
|
||
damage_total:[['attack','damage_total'],['ability','damage_total'],['cantrip','damage_total'],['spell1','damage_total'],['spell2','damage_total'],['spell3','damage_total'],['spell4','damage_total'],['spell5','damage_total'],['spell6','damage_total'],['spell7','damage_total'],['spell8','damage_total'],['spell9','damage_total'],['spell10','damage_total']],
|
||
dc:[['ability','dc']],
|
||
attack_total:[['ability','attack_total'],['cantrip','attack_total'],['spell1','attack_total'],['spell2','attack_total'],['spell3','attack_total'],['spell4','attack_total'],['spell5','attack_total'],['spell6','attack_total'],['spell7','attack_total'],['spell8','attack_total'],['spell9','attack_total'],['spell10','attack_total']],
|
||
profession:[['profession']],
|
||
attack:[['attack','total'],['ability','attack_total'],['cantrip','attack_total'],['spell1','attack_total'],['spell2','attack_total'],['spell3','attack_total'],['spell4','attack_total'],['spell5','attack_total'],['spell6','attack_total'],['spell7','attack_total'],['spell8','attack_total'],['spell9','attack_total'],['spell10','attack_total']],
|
||
damage:[['attack','damage_total'],['ability','damage_total'],['cantrip','damage_total'],['spell1','damage_total'],['spell2','damage_total'],['spell3','damage_total'],['spell4','damage_total'],['spell5','damage_total'],['spell6','damage_total'],['spell7','damage_total'],['spell8','damage_total'],['spell9','damage_total'],['spell10','damage_total']]
|
||
},
|
||
triggerKeys = _.keys(propagatedTriggers),
|
||
repeatKeys = _.reduce(_.keys(attributes),(memo,key)=>{
|
||
key.replace(/(repeating_([^_]+)_[^_]+_).+|_ability$/,(match,p1,p2)=>{
|
||
if(/cantrip|spell/.test(p2)){
|
||
p2='spell';
|
||
}
|
||
if(p1){
|
||
if(!_.contains(memo[p2],p1)){
|
||
memo[p2].push(p1);
|
||
}
|
||
}
|
||
if(/_ability$/.test(match) && /repeating/.test(key)){
|
||
memo.abilitySelects.push(match);
|
||
}
|
||
});
|
||
return memo;
|
||
},{attack:[],condition:[],skill:[],ability:[],spell:[],item:[],abilitySelects:abiSel,buff:[]});
|
||
while(triggerKeys[0]){
|
||
let key = triggerKeys.shift();
|
||
let section = propagatedTriggers[key].repeating;
|
||
if(/^(?:strength|dexterity|constitution|intelligence|wisdom|charisma)_mod$/.test(key)){
|
||
_.each(repeatKeys.abilitySelects,(as)=>{
|
||
if(attributes[as]==='@{'+key+'}'){
|
||
as.replace(/(repeating_([^_]+)_[^_]+_)?(.+)/,(match,sectionID,section,attr)=>{
|
||
let objName;
|
||
if(section){
|
||
objName = section+'|'+attr;
|
||
}else{
|
||
objName = attr;
|
||
}
|
||
_.each(objSwitch[attributes.sheet_type][objName].affects,(affect)=>{
|
||
let affectName = affect.replace(/.+?\|(.+)/,sectionID+'$1');
|
||
if(!_.contains(propagatedTriggers[key].affects,affect)){
|
||
propagatedTriggers[key].affects.push(affectName);
|
||
}
|
||
});
|
||
});
|
||
}
|
||
});
|
||
}
|
||
_.each(complicatedConditions[propagatedTriggers[key].attr],(filt)=>{
|
||
propagatedTriggers[key].affects = propagatedTriggers[key].affects.concat(filteredSkillDamage[filt]);
|
||
});
|
||
_.each(bonusKeys,(buffTarget)=>{
|
||
if(!propagatedTriggers[buffTarget]&&!_.contains(propagatedTriggers[key].affects,buffTarget)){
|
||
let trueTarget=[buffTarget.replace(/\|.+/,'')],
|
||
repeatTarget = repeatAttrs[trueTarget[0]];
|
||
|
||
if(repeatTarget){
|
||
trueTarget = _.reduce(repeatTarget,(memo,sectionAttr)=>{
|
||
let sectionIDs = _.map(repeatKeys[sectionAttr[0]],(id)=>{
|
||
return `${id}${sectionAttr[1]}`;
|
||
});
|
||
return memo.concat(sectionIDs);
|
||
},[]);
|
||
}
|
||
_.some(bonus[buffTarget],(buffType)=>{
|
||
return _.some(buffType,(buffValue)=>{
|
||
if(new RegExp('@{'+propagatedTriggers[key].attr+'}').test(buffValue)){
|
||
propagatedTriggers[key].affects = propagatedTriggers[key].affects.concat(trueTarget);
|
||
return true;
|
||
}
|
||
return false;
|
||
});
|
||
});
|
||
}
|
||
});
|
||
if(section){
|
||
_.each(_.range(propagatedTriggers[key].affects.length),(n)=>{
|
||
if(new RegExp(section+'\\|').test(propagatedTriggers[key].affects[n])){
|
||
propagatedTriggers[key].affects[n]=propagatedTriggers[key].affects[n].replace(/[^|]+\|(.+)/,key.replace(/(repeating_[^_]+_[^_]+_).+/,'$1')+'$1');
|
||
}
|
||
});
|
||
if(propagatedTriggers[key].repeatAdds){
|
||
_.each(_.range(propagatedTriggers[key].repeatAdds.length),(n)=>{
|
||
propagatedTriggers[key].repeatAdds[n]=propagatedTriggers[key].repeatAdds[n].replace(/.+?\|/,key.replace(/(repeating_[^_]+_[^_]+_).+/,'$1'));
|
||
});
|
||
}
|
||
if(propagatedTriggers[key].repeatTextAdds){
|
||
_.each(_.range(propagatedTriggers[key].repeatTextAdds.length),(n)=>{
|
||
propagatedTriggers[key].repeatTextAdds[n]=propagatedTriggers[key].repeatTextAdds[n].replace(/.+?\|/,key.replace(/(repeating_[^_]+_[^_]+_).+/,'$1'));
|
||
});
|
||
}
|
||
if(propagatedTriggers[key].repeatParseField){
|
||
_.each(_.range(propagatedTriggers[key].repeatParseField.length),(n)=>{
|
||
propagatedTriggers[key].repeatParseField[n]=propagatedTriggers[key].repeatParseField[n].replace(/.+?\|/,key.replace(/(repeating_[^_]+_[^_]+_).+/,'$1'));
|
||
});
|
||
}
|
||
}else{
|
||
propagatedTriggers[key].affects=_.reduce(propagatedTriggers[key].affects,(memo,affect)=>{
|
||
affect.replace(/(?:([^|]+)\|)?(.+)/,(match,section,attr)=>{
|
||
if(section){
|
||
memo = memo.concat(_.map(repeatKeys[section],(id)=>{return id+attr}));
|
||
}else{
|
||
memo.push(attr);
|
||
}
|
||
});
|
||
return memo;
|
||
},[]);
|
||
}
|
||
_.each(propagatedTriggers[key].affects,(affect)=>{
|
||
if(!propagatedTriggers[affect]){
|
||
affect.replace(/(?:(repeating_([^_]+)_[^_]+_))?(.+)/,(match,sectionID,sectionMatch,attrMatch)=>{
|
||
let objName;
|
||
if(sectionMatch){
|
||
objName = sectionMatch+'|'+attrMatch;
|
||
}else{
|
||
objName = attrMatch;
|
||
}
|
||
propagatedTriggers[affect]=JSON.parse(JSON.stringify(objSwitch[attributes.sheet_type][objName]));
|
||
triggerKeys.push(affect);
|
||
affectedKeys.push(affect);
|
||
});
|
||
}
|
||
});
|
||
}
|
||
_.each(affectedKeys,(key)=>{
|
||
affected[key]=propagatedTriggers[key];
|
||
});
|
||
return affected;
|
||
},
|
||
|
||
applyBuffs = function(attributes,trigger,bonus,setObj){
|
||
/*
|
||
This is the workhorse of the sheet. It iterates through all of the attributes contained in the attributeObjs or npcAttributeObjs variable
|
||
to calculate the final value of any given attribute. This function is not used for starships. Currently it iterates through all variables
|
||
regardless of what attribute was changed. I had planned to put logic in to assemble a list of attributes that actually needed to be
|
||
updated based on what was changed, but had not gotten to it yet.
|
||
*/
|
||
const objSwitch = {
|
||
'pc':attributeObjs,
|
||
'npc':npcAttributeObjs,
|
||
'ship':{}
|
||
},
|
||
bonusKeys = _.keys(bonus),//Keys of the bonus object
|
||
affected = affectWhat(attributes,trigger,bonus);
|
||
const nonRecursiveEvalKeys = [],
|
||
sortAffected = (keys)=>{
|
||
//TAS.log('keys: '+JSON.stringify(keys));
|
||
let key = keys.shift();
|
||
let insertIndex = 0;
|
||
//TAS.log('sortedAffectedKeys: '+JSON.stringify(sortedAffectedKeys));
|
||
_.each(_.range(sortedAffectedKeys.length),(i)=>{
|
||
//TAS.log('sortedAffectedKeys['+i+']: '+sortedAffectedKeys[i]);
|
||
//TAS.log('affected['+sortedAffectedKeys[i]+']: '+JSON.stringify(affected[sortedAffectedKeys[i]]));
|
||
if(_.contains(affected[sortedAffectedKeys[i]].affects,key)){
|
||
insertIndex=i + 1;
|
||
}
|
||
});
|
||
sortedAffectedKeys.splice(insertIndex,0,key);
|
||
if(keys[0]){
|
||
sortAffected(keys);
|
||
}
|
||
};
|
||
|
||
let bTotal,//total buff
|
||
sectionIDs,//array for all section IDs
|
||
repeatIDs,//Array of the applicable repeating IDs
|
||
rpAbility,//resolve point ability value
|
||
specificBonus,//holds the specific bonus object for the attribute being worked on
|
||
abilityMax,//The maximum ability score to apply
|
||
levelClass=0,
|
||
spellFilters = [],
|
||
affectedKeys = _.keys(affected),
|
||
sortedAffectedKeys = [];
|
||
affectedKeys = _.reject(affectedKeys,(key)=>{
|
||
if((/^strength(?:_mod)?$/.test(key) && attributes.sheet_type==='pc')||/initiative|_proficiency|repeating_spell_[^_]+_filter|caster_level|encumber_bulk|overburden_bulk|character_level|bab|(?:ref|will|fort)?_base$|encumber_level|wealth|carried_bulk|asleep|bleeding|blinded|burning|confused|cowering|dazed|dazzled|dead|deafened|dying|encumbered|entangled|exhausted|fascinated|fatigued|flat_footed|frightened|grappled|helpless|nauseated|negative_levels|off_kilter|off_target|overburdened|panicked|paralyzed|pinned|prone|shaken|sickened|stable|staggered|stunned|unconscious/.test(key)){
|
||
if(/^strength$|initiative|encumber_level|wealth|carried_bulk|encumber_bulk|overburden_bulk|caster_level/.test(key)){
|
||
nonRecursiveEvalKeys.push(key);
|
||
}else if(/repeating_spell_[^_]+_filter/.test(key)){
|
||
spellFilters.push(key);
|
||
}
|
||
return true;
|
||
}else{
|
||
return false;
|
||
}
|
||
});
|
||
sortAffected(affectedKeys);
|
||
affectedKeys = _.reject(sortedAffectedKeys,(sak)=>{return !sak});
|
||
/*Caster Class buffing*/
|
||
if((setObj.is_caster||attributes.is_caster)&&setObj.is_caster!==0&&_.contains(nonRecursiveEvalKeys,'caster_level')){
|
||
if(!setObj.caster_level){
|
||
const convertProgress = {//object of fat arrow functions that calculates the spell level available for a class
|
||
'half':(lvl)=>lvl >= 13 ? 4 : lvl >= 10 ? 3 : lvl >= 7 ? 2 : lvl >= 4 ? 1 : 0,
|
||
'partial':(lvl)=> lvl >= 16 ? 6 : lvl >= 13 ? 5 : lvl >= 10 ? 4 : lvl >= 7 ? 3 : lvl >= 4 ? 2 : lvl >= 1 ? 1 : 0,
|
||
'full_prep':(lvl)=>Math.min(Math.floor((lvl+ 1)/2),9),
|
||
'full_spont':(lvl)=>lvl*1===1 ? 1 : Math.floor(lvl/2)
|
||
};
|
||
setObj.caster_level = 0;
|
||
setObj = _.reduce([1,2,3,4,5],(memo,n)=>{
|
||
let preClass='class_'+n;
|
||
if(attributes[preClass+'_spells']*1===1){
|
||
memo['caster_level']+=(attributes[preClass+'_level']*1||0);
|
||
}
|
||
return memo;
|
||
},setObj);
|
||
attributes.caster_level = setObj.caster_level;
|
||
}
|
||
if(attributes.caster_level>0){
|
||
bTotal=calcBuffs(attributes,bonus.caster_level,setObj).total;
|
||
setObj.caster_level=attributes.caster_level + bTotal;
|
||
setObj.caster_level_change=bTotal > 0 ? 1 : bTotal < 0 ? -1 : 0;
|
||
}
|
||
}
|
||
if(attributes.sheet_type==='pc'){
|
||
_.each(spellFilters,(filter)=>{
|
||
let sLevel = attributes[filter.replace(/filter/,'level')];
|
||
setObj[filter] = sLevel*1 ? Math.min(Math.max(sLevel,1),9) : 'cantrip';
|
||
});
|
||
if(_.contains(nonRecursiveEvalKeys,'initiative')){
|
||
specificBonus=calcBuffs(attributes,bonus.initiative,setObj);//Converts specific Bonus to the calculated object.
|
||
bTotal = specificBonus.total;//sets bTotal to the total value from specificBonus
|
||
setObj.initiative_misc = specificBonus.misc;
|
||
}
|
||
if(_.contains(nonRecursiveEvalKeys,'strength')){
|
||
/*strength handling*/
|
||
//Strength calculations are not included in the iteration further down due to their effect on carry weight
|
||
specificBonus=calcBuffs(attributes,bonus.strength,setObj);//Converts specific Bonus to the calculated object.
|
||
bTotal = specificBonus.total;//sets bTotal to the total value from specificBonus
|
||
setObj.strength = (attributes.strength_base*1||0) - (Math.abs(attributes.strength_drain*1||0)) + bTotal;
|
||
attributes.strength = setObj.strength;
|
||
setObj.strength_misc = specificBonus.misc;
|
||
setObj.strength_change = bTotal > 0 ? 1 : (bTotal < 0 ? -1 : 0);
|
||
}
|
||
if(_.contains(nonRecursiveEvalKeys,'strength')){
|
||
/*strength handling*/
|
||
//Strength calculations are not included in the iteration further down due to their effect on carry weight
|
||
//strength_mod:{repeating:false,attr:'strength_mod',attrAdds:['strength','strength_penalty'],multAdds:[0.5,0.5],numAdds:-5,ability:''},
|
||
setObj.strength_mod = Math.floor(attributes.strength/2||0) - Math.floor(Math.abs(attributes.strength_penalty/2||0)) - 5;
|
||
attributes.strength_mod = setObj.strength_mod;
|
||
}
|
||
/*Encumbrance*/
|
||
const bulkCost = [];
|
||
let bulkTest = false,
|
||
wealthTest = false;
|
||
if(_.contains(nonRecursiveEvalKeys,'carried_bulk')){
|
||
setObj.carried_bulk = 0;
|
||
bulkCost.push('bulk');
|
||
bulkTest = true;
|
||
}
|
||
if(_.contains(nonRecursiveEvalKeys,'wealth')){
|
||
setObj.wealth = 0;
|
||
bulkCost.push('cost');
|
||
wealthTest = true;
|
||
}
|
||
if(bulkTest||wealthTest){
|
||
_.each(_.keys(attributes),(a)=>{
|
||
let aMatch =a.match(new RegExp('repeating_item_-[^_]+_('+bulkCost.join('|')+')'));
|
||
if(aMatch){
|
||
if(aMatch[1]==='bulk' && attributes[a.replace(/bulk/,'equipped')]!=='not carried'){
|
||
setObj.carried_bulk = setObj.carried_bulk + ((attributes[a]+'').match(/l/i) ? 0.1 : attributes[a]*1||0)*attributes[a.replace(/bulk/,'quantity')]||0;
|
||
}else if(aMatch[1]==='cost'){
|
||
setObj.wealth=setObj.wealth + (attributes[a]*1||0)*attributes[a.replace(/cost/,'quantity')]||0;
|
||
}
|
||
}
|
||
});
|
||
if(bulkTest){
|
||
setObj.carried_bulk=Math.floor(setObj.carried_bulk)||0;
|
||
attributes.carried_bulk = setObj.carried_bulk;
|
||
}
|
||
}
|
||
const strength_track = _.chain(_.keys(attributes))
|
||
.filter((attr)=>{
|
||
return /_condition_[^_]+_track/.test(attr) && attributes[attr]==='strength_track';
|
||
})
|
||
.reduce((memo,attr)=>{
|
||
if(attributes[attr+'_status']!=='healthy'){
|
||
if(attributes[attr+'_status']!=='weakened'){
|
||
memo=3;
|
||
}else{
|
||
memo = Math.max(memo,2);
|
||
}
|
||
}
|
||
return memo;
|
||
},1)
|
||
.value();
|
||
if(_.contains(nonRecursiveEvalKeys,'encumber_bulk')){
|
||
bTotal=calcBuffs(attributes,bonus.encumber_bulk,setObj).total;
|
||
if(strength_track*1>1){
|
||
setObj.encumber_bulk = 0;
|
||
setObj.encumber_bulk_change=-1;
|
||
attributes.encumber_bulk=0;
|
||
}else{
|
||
setObj.encumber_bulk = (attributes.strength_mod*1||0) + 6 + bTotal;
|
||
setObj.encumber_bulk_change=bTotal > 0 ? 1 : (bTotal < 0 ? -1 : 0);
|
||
attributes.encumber_bulk=setObj.encumber_bulk;
|
||
}
|
||
}
|
||
if(_.contains(nonRecursiveEvalKeys,'overburden_bulk')){
|
||
if(strength_track*1>1){
|
||
setObj.overburden_bulk = Math.max(Math.floor(((attributes.strength*1||0)+bTotal)/3),1);
|
||
setObj.overburden_bulk_change=-1;
|
||
attributes.overburden_bulk=setObj.overburden_bulk;
|
||
}else{
|
||
bTotal=calcBuffs(attributes,bonus.overburden_bulk,setObj).total;
|
||
setObj.overburden_bulk = (attributes.strength_mod*1||0) + 11 + bTotal;
|
||
setObj.overburden_bulk_change=bTotal > 0 ? 1 : (bTotal < 0 ? -1 : 0);
|
||
attributes.overburden_bulk=setObj.overburden_bulk;
|
||
}
|
||
}
|
||
if(_.contains(nonRecursiveEvalKeys,'encumber_level')){
|
||
setObj.encumber_level = Math.min(Math.floor(attributes.carried_bulk/attributes.encumber_bulk||0),1)+Math.min(Math.floor(attributes.carried_bulk/attributes.overburden_bulk||0),1);
|
||
attributes.encumber_level = setObj.encumber_level;
|
||
}
|
||
}
|
||
TAS.log(`affectedKeys: ${JSON.stringify(affectedKeys)}`);
|
||
_.each(affectedKeys,(key)=>{
|
||
TAS.log(`key: ${key}`);
|
||
let id = '';
|
||
key.replace(/repeating_[^_]+_[^_]+_/,(match)=>{
|
||
id=match;
|
||
});
|
||
if(key==='rp_max'){//The rp attribute has special handling
|
||
if(attributes.resolve_source==='key'){//RAW RP calculation
|
||
rpAbility=_.reduce([1,2,3,4,5],(m,n)=>{
|
||
if(attributes['class_'+n+'_level']>0){
|
||
m = _.max([m,attributes[attributes['class_'+n+'_ability'].replace(/@{|}/g,'')]*1]);
|
||
}
|
||
return m;
|
||
},0);
|
||
}else{//Homebrew Calculation
|
||
rpAbility=_.max([attributes.strength_mod,attributes.dexterity_mod,attributes.constitution_mod,attributes.intelligence_mod,attributes.wisdom_mod,attributes.charisma_mod,0],(v)=>{return v*1});
|
||
}
|
||
}else{//if affected[key].attr is not rp_max, rpAbility is 0
|
||
rpAbility=0;
|
||
}
|
||
bTotal=0;//reset bTotal
|
||
let attributeMod;
|
||
if(attributes.sheet_type==='pc'){
|
||
attributeMod=_.reduce([attributes[(attributes[id+affected[key].ability]+'').replace(/@{|}/g,'')]*1,rpAbility*1],(m,a)=>{
|
||
if((a||a===0) && m===''){
|
||
m=a;
|
||
}
|
||
return m;
|
||
},'');//Set the mod score of the relevant attribute
|
||
}else{
|
||
const abiSwap = {
|
||
ref:'dexterity_mod',
|
||
fort:'constitution_mod',
|
||
will:'wisdom_mod',
|
||
eac:'dexterity_mod',
|
||
kac:'dexterity_mod',
|
||
cmd:'dexterity_mod',
|
||
initiative:'dexterity_mod',
|
||
npc_init:'dexterity_mod'
|
||
};
|
||
let abi;
|
||
if(affected[key].ability==='abi'){
|
||
abi=abiSwap[key];
|
||
}else{
|
||
abi=(attributes[id+affected[key].ability]+'').replace(/@{|}/g,'');
|
||
}
|
||
if(/_ranks|base_attack|npc_init/.test(key)){
|
||
abi=abi.replace(/_mod/,'_base');
|
||
if(/_ranks|npc_init/.test(key) && attributes[key.replace(/_ranks/,'').replace(/npc_init/,'initiative')]){
|
||
attributeMod=0;
|
||
}else{
|
||
attributeMod=attributes[abi]*-1||0;
|
||
}
|
||
}else{
|
||
attributeMod = ((attributes[abi]*1||0) - (attributes[abi.replace(/_mod/,'_base')]*1||0));
|
||
}
|
||
}
|
||
if(affected[key].moddable||affected[key].rollTime){
|
||
specificBonus = bonus[key.replace(/repeating_[^_]+_[^_]+_/,'').replace(/spell_resistance/,'spell_penetration')] || {};//assign specificBonus to the relevant bonus object or an empty object
|
||
_.each(bonusKeys,(k)=>{//Looks for special bonus keywords like attack and damage, and looks for special filtering of buffs
|
||
if(k.startsWith(key.replace(/repeating_[^_]+_[^_]+_/,'')+'|')||(k.startsWith('attack')&&/repeating_[^_]+_[^_]+_(?:attack_)?total/.test(key))||(k.startsWith('damage')&&/damage_total$/.test(key))){/*Handling for filtering application of buffs to attributes based on filtering syntax.
|
||
Looks for bonus keys that start with the relevant attribute name with the | after it or special attack/damage syntax*/
|
||
let kSplit = k.replace(/[^|]+\|/,'').split(/\s*,\s*/g);//remove the non filtering text from the bonus key and split the objects to filter by into their separate keys
|
||
let objSpec = _.reduce(kSplit,(m,s)=>{
|
||
let sSplit = s.split(/:/);//separate the name of the attribute to filter by from the value to look for
|
||
if(sSplit[1]){
|
||
m[sSplit[0]]=sSplit[1];//undo the earlier handling for spaces
|
||
}
|
||
return m;
|
||
},{});
|
||
if(_.isEmpty(objSpec)||_.every(_.keys(objSpec),(os)=>{
|
||
if(os.toLowerCase()==='section'){
|
||
return affected[key].repeating.toLowerCase()===objSpec[os.toLowerCase()].toLowerCase() || (objSpec[os.toLowerCase()].toLowerCase() === 'spell' && /cantrip|spell[1-9]0?/.test(affected[key].repeating+''));
|
||
}else{
|
||
TAS.log(`${(attributes[id+os]+'').toLowerCase().replace(/\s+/,'_')}===${objSpec[os].toLowerCase().replace(/\s+/,'_')}: ${(attributes[id+os]+'').toLowerCase().replace(/\s+/,'_')===objSpec[os].toLowerCase().replace(/\s+/,'_')}`);
|
||
return (attributes[id+os]+'').toLowerCase().replace(/\s+/,'_')===objSpec[os].toLowerCase().replace(/\s+/,'_');
|
||
}
|
||
})){//Check to see if the current attribute matches the filtering
|
||
_.each(_.keys(bonus[k]),(sk)=>{//iterate through the keys of the bonus types for the attribute in question
|
||
specificBonus[sk]=specificBonus[sk] || [];//Default the array of the bonuses for this type to an array if it doesn't already exist
|
||
specificBonus[sk]=specificBonus[sk].concat(bonus[k][sk]);//Concatenate the current bonuses of a given type with the new array of bonuses for that type
|
||
});
|
||
}
|
||
}
|
||
});
|
||
if(attributes[id+(affected[key].repeating ?'acp' : key+'_acp')]*1===1){//if there is an attribute for acp
|
||
specificBonus.acp=bonus.acp ? bonus.acp.acp : 0;//set the acp key of specificBonus to the acp array from bonus
|
||
}
|
||
specificBonus = calcBuffs(attributes,specificBonus,setObj,key==='acrobatics' ? true : false,key);//Convert the specificBonus object to an object of the calculated bonuses
|
||
if(affected[key].rollTime){
|
||
TAS.log(`affected[${key}].rollTime: ${affected[key].rollTime} | specificBonus.misc: ${specificBonus.misc}`);
|
||
setObj[key.replace(/_total$|profession$|_npc|spell_resistance/,'')+affected[key].rollTime]=specificBonus.misc||'';//set the attribute for holding rollTime evaluation macros of bonuses
|
||
}
|
||
abilityMax = _.min([attributeMod,specificBonus.max_dex*1,(attributes.dexterity_track*1 > 2 ? 0 : undefined)]);//figures the maximum ability to be applied
|
||
let abilityDiff = abilityMax - attributeMod;//if this is negative, and overwhelms any bonuses, the attr is formatted for penalty
|
||
TAS.log(`specificBonus: ${JSON.stringify(specificBonus)}`);
|
||
bTotal = specificBonus.total + (/^t?ac_armor$/i.test(key) ? 0 : specificBonus.item*1||0);
|
||
if(affected[key].moddable){
|
||
setObj[key.replace(/_max|_profession$/,'')+affected[key].moddable]=(bTotal+abilityDiff) > 0 ? 1 : ((bTotal+abilityDiff) < 0 ? -1 : 0);
|
||
}
|
||
if(/^t?ac_armor$/i.test(key)){
|
||
bTotal+=specificBonus.item*1||0;
|
||
}
|
||
}else{
|
||
abilityMax = attributeMod;//abilityMax defaults to attributeMod if not moddable
|
||
}
|
||
//assemble the numerical values of the attribute
|
||
let memoNum = abilityMax//add the maximum ability score
|
||
+(affected[key].numAdds*1||0);//add any flat numbers that should be added to the attribute
|
||
memoNum+=_.reduce(_.range(affected[key].attrAdds.length),(m,add)=>{//iterate through all the attributes to add to the attribute and add their numerical values
|
||
let csMatch = affected[key].attrAdds[add].match('class_skill');
|
||
if(affected[key].attr==='dc' && affected[key].attrAdds[add]==='lvl'){//if the attribute is the dc, or attrAdds of the obj is "lvl"
|
||
if(affected[key].repeating==='ability'){//if the repeating section is "ability"
|
||
levelClass = _.reduce([1,2,3,4,5],(mem,n)=>{//iterate through all the classes
|
||
if(attributes['class_'+n+'_name'].toLowerCase()===attributes[id+'source'].toLowerCase()){//check if the name of the class is the same as the source of the section in question
|
||
mem=attributes['class_'+n+'_level']*1||0;//set the memo to the level of this class (There should only ever be one match, so there is no handling for multiple matches)
|
||
}
|
||
if(n===5 && mem===0){//check if all the classes have been iterated through already and no level has already been recognized (This should never be 0)
|
||
mem=attributes.character_level;//set mem to the total character_level
|
||
}
|
||
return mem;
|
||
},0);
|
||
}
|
||
}
|
||
if(attributes.sheet_type==='npc' && affected[key].isSkill){//handling for npc skills
|
||
if(!attributes[affected[key].attrAdds[add]]*1){//if the attribute doesn't resolve to a number, set it to 0
|
||
return m;
|
||
}else{//otherwise add it to m
|
||
return m+(attributes[affected[key].attrAdds[add]]*1||0)-(rpAbility*1||0);
|
||
}
|
||
}else if(!csMatch || attributes[affected[key].attrAdds[add].replace(/class_skill/,'ranks')]*1>0){//if the attribute being added is either not a class skill attribute or the skill's ranks are at least 1
|
||
if(affected[key].attrAdds[add].match(/(?:strength|dexterity|constitution|intelligence|wisdom|charisma)_(?:penalty|drain)/)){//special calculation for penalty/drain
|
||
return m-Math.abs(Math.floor((attributes[affected[key].attrAdds[add]]*1||levelClass||0)*(affected[key].multAdds[add]*1||attributes[affected[key].multAdds[add]]*1||1)));
|
||
}else{//otherwise add the value to m
|
||
return m+Math.floor((attributes[affected[key].attrAdds[add]]*1||levelClass||0)*(affected[key].multAdds[add]*1||attributes[affected[key].multAdds[add]]*1||1));
|
||
}
|
||
}else{
|
||
return m;
|
||
}
|
||
},0);
|
||
memoNum+=_.reduce(affected[key].repeatAdds,(m,add)=>{//iterate through all of the attributes internal to the repeating section to add
|
||
m+=(attributes[add]*1||0);
|
||
return m;
|
||
},0)
|
||
+bTotal//add the total numerical value of the bonus for the attribute
|
||
+_.reduce(affected[key].addlBonus,(m,add)=>{//add any additional bonuses to the attribute (bonuses not specifically called out to this attribute)
|
||
return m+(specificBonus[add]*1||0);
|
||
},0);
|
||
//assembles the text values of the attribute
|
||
let memoText;
|
||
if(key.match(/_filter/) && affected[key].repeating==='spell'){//handling for the filtering attribute for spells
|
||
setObj[key]=Math.min(Math.max(attributes[key]*1||0,0),9);//set the filter attribute to the level of the spell or to 0 if no level parsed
|
||
setObj[key]=attributes[key]*1===0 ?'cantrip' : attributes[key];
|
||
}else if(/repeating_attack_[^_]+_(?:damage_)?total/.test(key)){
|
||
if(attributes.sheet_type==='pc'){
|
||
if(/damage/.test(key)){
|
||
|
||
}else{
|
||
memoNum += _.max([attributes[key.replace(/total/,'quality')]*1||0,attributes[key.replace(/total/,'potency_rune')]*1||0]);
|
||
}
|
||
}else{
|
||
}
|
||
}
|
||
memoNum=memoNum || 0;
|
||
if(key==='dexterity_mod' && (attributes.helpless*1===1 || attributes.paralyzed*1===1)){
|
||
memoNum=-5;
|
||
}else if(/intelligence/.test(key)){
|
||
let intelligence_tracks = _.filter(_.keys(attributes),(cond)=>{
|
||
return /_track_status$/.test(cond) && attributes[cond.replace(/_status/,'')]==='intelligence_track';
|
||
});
|
||
if(_.every(intelligence_tracks,(track)=>{return /healthy|weakened|impaired/.test(attributes[track])})){
|
||
setObj.intelligence_change = setObj.intelligence_change||0;
|
||
}else{
|
||
if(key==='intelligence' && attributes.sheet_type==='pc'){
|
||
memoNum = 1;
|
||
setObj.intelligence_change = -1;
|
||
}else if(key==='intelligence_mod' && attributes.sheet_type==='npc'){
|
||
memoNum = -5;
|
||
setObj.intelligence_change = -1;
|
||
}
|
||
}
|
||
}
|
||
memoText=_.reduce(affected[key].repeatTextAdds,(m,add)=>{//iterate through all of the attributes within the repeating item that should hold text
|
||
if(/repeating_attack_[^_]+_damage_dice_num/.test(add)){
|
||
return m+((attributes[add]*1||0)+(attributes[id+'potency_rune']*1||0));
|
||
}else if(/^(?:d|\+)$/.test(add)){
|
||
return m+add;
|
||
}
|
||
return m+(attributes[add]||'')
|
||
},'')+_.reduce(affected[key].textAdds,(m,add)=>{//iterate through all of the attributes within the repeating item that should hold text
|
||
return m+(attributes[add]||'')
|
||
},'');
|
||
memoText=memoText || '';
|
||
setObj[key]=(memoText+' +'+memoNum).replace(/(.+)\s+\+\s*0/,'$1');
|
||
if(!/_total$/.test(key)||affected[key].repeating!=='attack'){
|
||
setObj[key]=setObj[key].replace(/^\s*\+/,'').replace(/\+\s*\+/,'+');
|
||
}
|
||
setObj[key]=setObj[key].replace(/\+\-/g,'-').replace(/\+\s*\+/,'+').replace(/\+\s*$/,'');
|
||
if(!/(?:rp|sp|hp)_max/.test(key)){
|
||
attributes[key]=setObj[key];
|
||
}
|
||
});
|
||
if(attributes.sheet_type==='pc'){
|
||
//calculates the skill points used and available
|
||
_.each(['hp','temp_hp'],(p)=>{
|
||
if(setObj[p+'_max'] || setObj[p+'_max']===0){
|
||
setObj[p]=Math.max(Math.min((attributes[p]*1||0)+((setObj[p+'_max']*1||0)-(attributes[p+'_max']||0)),(setObj[p+'_max']*1||0)),0);
|
||
}
|
||
});
|
||
}
|
||
//setObj=buildMenus(attributes,setObj);//build the menus
|
||
TAS.log(`setObj: ${JSON.stringify(setObj)}`);
|
||
setAttrs(setObj,{silent:true});
|
||
},
|
||
|
||
statblockParse = function(event){//Was originally going to be a switcher function for import/export of statblocks. The export functionality was
|
||
// never implemented, and I decided not to pursue it.
|
||
if(event.sourceType==='sheetworker'){
|
||
return;
|
||
}
|
||
if(event.sourceAttribute==='import'){
|
||
getID(JSON.parse(JSON.stringify(repeatingAttributes)),removeRows);
|
||
}
|
||
},
|
||
|
||
removeRows = function(rows){//removes all repeating rows
|
||
_.each(rows,(r)=>{
|
||
_.each(r.id,(id)=>{
|
||
removeRepeatingRow('repeating_'+r.section+'_'+id);
|
||
});
|
||
});
|
||
beginImport();//then begins the import of a statblock
|
||
},
|
||
|
||
bootup = function(){
|
||
//Only purpose is to log the character sheet version in the console log at start
|
||
version.replace(/(\d+\.\d{2})(.+)/,(match,ver,buildDate)=>{
|
||
TAS.log(`Pathfinder Playtest Character Sheet v${ver}, build Date:${buildDate} loaded`);
|
||
});
|
||
/*var selectItem = _.reduce(equipment,(m,e)=>{
|
||
return m+='<option value="'+e.name+'" data-i18n="'+e.name.replace(/\s+/g,'_')+'">'+e.name.toUpperCase()+'</option>';
|
||
},'<select title='@{equipment_compendium}' name="attr_equipment_compendium">');
|
||
selectItem+='</select>';
|
||
TAS.log(JSON.stringify(selectItem));*/
|
||
/*const newObj = {};
|
||
_.each(attributeObjs,(ak)=>{
|
||
newObj[(ak.repeating ? ak.repeating+'|' : '')+ak.attr]=ak;
|
||
});
|
||
TAS.log(JSON.stringify(newObj));*/
|
||
};
|
||
return {
|
||
Bootup: bootup,
|
||
RegisterEventHandlers: RegisterEventHandlers
|
||
};
|
||
}());
|
||
sheet.Bootup();
|
||
sheet.RegisterEventHandlers();
|
||
/*end of starfinder.js*/
|
||
</script>
|