mirror of
https://github.com/Nighthawk42/roll20-character-sheets.git
synced 2026-08-31 04:02:29 +00:00
1625 lines
105 KiB
HTML
1625 lines
105 KiB
HTML
<link rel="stylesheet" href="skyfall.css">
|
|
<div class="sheet-main">
|
|
<div class="sheet-header-global">
|
|
<div class="sheet-header-left">
|
|
<span class="sheet-header-name">NOME DA PERSONAGEM</span>
|
|
<input class="sheet-header-name-input" name="attr_character_name" type="text" spellcheck="false" placeholder="" value="">
|
|
<span class="sheet-header-pronoums">PRONOMES
|
|
<input class="sheet-header-pronoums-input" name="attr_character_pronoum" type="text" spellcheck="false" placeholder="" value="">
|
|
</span>
|
|
</div>
|
|
<div class="sheet-header-middle">
|
|
<div class="sheet-header-line-inputs">
|
|
<input class="sheet-header-middle-input-level" name="attr_character_level" type="text" spellcheck="false" placeholder="1" value="1">
|
|
<input class="sheet-header-middle-input-class" name="attr_character_class" type="text" spellcheck="false" placeholder="" value="">
|
|
<input class="sheet-header-middle-input" name="attr_character_legacy" type="text" spellcheck="false" placeholder="" value="">
|
|
<input class="sheet-header-middle-last-input" name="attr_character_heritage" type="text" spellcheck="false" placeholder="" value="">
|
|
</div>
|
|
<div class="sheet-header-line-label">
|
|
<span>NÍVEL/CLASSE</span>
|
|
<span>LEGADO</span>
|
|
<span class="sheet-header-line-last-label">HERANÇA</span>
|
|
</div>
|
|
<div class="sheet-header-line-inputs">
|
|
<input class="sheet-header-middle-input" name="attr_character_antecedent" type="text" spellcheck="false" placeholder="" value="">
|
|
<input class="sheet-header-middle-input" name="attr_character_curse" type="text" spellcheck="false" placeholder="" value="">
|
|
<input class="sheet-header-middle-last-input" name="attr_character_player" type="text" spellcheck="false" placeholder="" value="">
|
|
</div>
|
|
<div class="sheet-header-line-label">
|
|
<span>ANTECEDENTE</span>
|
|
<span>MALDIÇÃO</span>
|
|
<span class="sheet-header-line-last-label">JOGADORE</span>
|
|
</div>
|
|
<div class="sheet-header-line-inputs">
|
|
<input class="sheet-header-total-input" name="attr_character_trilha" type="text" spellcheck="false" placeholder="" value="">
|
|
</div>
|
|
<div class="sheet-header-line-label-total">
|
|
<span>TRILHA</span>
|
|
</div>
|
|
</div>
|
|
<div class="sheet-header-right">
|
|
<div>
|
|
<div>
|
|
<div>
|
|
<span>PONTOS DE CATARSE</span>
|
|
</div>
|
|
<div>
|
|
<input class="sheet-header-right-input" name="attr_character_catarse" type="text" spellcheck="false" placeholder="" value="">
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<div>
|
|
<span>PONTOS DE ENFASE</span>
|
|
</div>
|
|
<div class="sheet-header-right-stats">
|
|
<div>
|
|
<input class="sheet-header-right-input" name="attr_character_enfase_atual" type="text" spellcheck="false" placeholder="" value="">
|
|
<br>
|
|
<span>ATUAIS</span>
|
|
</div>
|
|
<div>
|
|
<input class="sheet-header-right-input" name="attr_character_enfase_final" type="text" spellcheck="false" placeholder="" value="">
|
|
<br>
|
|
<span>TOTAIS</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="sheet-navigation-tabs">
|
|
<label class="sheet-switch sheet-character-attributes-tab">
|
|
<input id="cstype" class="sheet-hiddenelement" type="radio" name="attr_cstype" value="0" checked>
|
|
<span class="slider round">Face</span>
|
|
</label>
|
|
<label class="sheet-switch sheet-character-characteristics-tab">
|
|
<input id="cstype" class="sheet-hiddenelement" type="radio" name="attr_cstype" value="4">
|
|
<span class="slider round">Características</span>
|
|
</label>
|
|
<label class="sheet-switch sheet-character-equipment-tab">
|
|
<input id="cstype" class="sheet-hiddenelement" type="radio" name="attr_cstype" value="3">
|
|
<span class="slider round">Equipamento</span>
|
|
</label>
|
|
<label class="sheet-switch sheet-character-actions-tab">
|
|
<input id="cstype" class="sheet-hiddenelement" type="radio" name="attr_cstype" value="1">
|
|
<span class="slider round">Habilidades</span>
|
|
</label>
|
|
<label class="sheet-switch sheet-character-spells-tab">
|
|
<input id="cstype" class="sheet-hiddenelement" type="radio" name="attr_cstype" value="2">
|
|
<span class="slider round">Magias</span>
|
|
</label>
|
|
</div>
|
|
<div class="sheet-character-attributes">
|
|
<div class="sheet-main-column">
|
|
<div class="sheet-attributes">
|
|
<div class="sheet-attribute-name">
|
|
<label>
|
|
<button type="action" name="act_setstrengthroll">
|
|
<span class="sheet-attr-span-strength">FOR</span>
|
|
</button>
|
|
</label>
|
|
<label>
|
|
<button type="action" name="act_setdexterityroll">
|
|
<span class="sheet-attr-span-dexterity">DES</span>
|
|
</button>
|
|
</label>
|
|
<label>
|
|
<button type="action" name="act_setconstitutionroll">
|
|
<span class="sheet-attr-span-constitution">CON</span>
|
|
</button>
|
|
</label>
|
|
<label>
|
|
<button type="action" name="act_setintelligenceroll">
|
|
<span class="sheet-attr-span-intelligence">INT</span>
|
|
</button>
|
|
</label>
|
|
<label>
|
|
<button type="action" name="act_setwisdomroll">
|
|
<span class="sheet-attr-span-wisdom">SAB</span>
|
|
</button>
|
|
</label>
|
|
<label class="sheet-attribute-name-last">
|
|
<button type="action" name="act_setcharismaroll">
|
|
<span class="sheet-attr-span-charisma">CAR</span>
|
|
</button>
|
|
</label>
|
|
</div>
|
|
<div class="sheet-attribute-value">
|
|
<input class="sheet-attribute-input" name="attr_character_strength" type="text" spellcheck="false" placeholder="" value="" type="number">
|
|
<input class="sheet-attribute-input" name="attr_character_dexterity" type="text" spellcheck="false" placeholder="" value="" type="number">
|
|
<input class="sheet-attribute-input" name="attr_character_constitution" type="text" spellcheck="false" placeholder="" value="" type="number">
|
|
<input class="sheet-attribute-input" name="attr_character_intelligence" type="text" spellcheck="false" placeholder="" value="" type="number">
|
|
<input class="sheet-attribute-input" name="attr_character_wisdom" type="text" spellcheck="false" placeholder="" value="" type="number">
|
|
<input class="sheet-attribute-input sheet-attribute-last-input" name="attr_character_charisma" type="text" spellcheck="false" placeholder="" value="" type="number">
|
|
</div>
|
|
<div class="sheet-attribute-save-checks">
|
|
<input class="sheet-attribute-save-check" type="checkbox" id="attr_save_strength_check" name="attr_save_strength_check" value="1" spellcheck="false"/>
|
|
<input class="sheet-attribute-save-check" type="checkbox" id="attr_save_dexterity_check" name="attr_save_dexterity_check" value="1" spellcheck="false"/>
|
|
<input class="sheet-attribute-save-check" type="checkbox" id="attr_save_constitution_check" name="attr_save_constitution_check" value="1" spellcheck="false"/>
|
|
<input class="sheet-attribute-save-check" type="checkbox" id="attr_save_intelligence_check" name="attr_save_intelligence_check" value="1" spellcheck="false"/>
|
|
<input class="sheet-attribute-save-check" type="checkbox" id="attr_save_wisdom_check" name="attr_save_wisdom_check" value="1" spellcheck="false"/>
|
|
<input class="sheet-attribute-save-check sheet-attribute-save-last-check" type="checkbox" id="attr_save_charisma_check" name="attr_save_charisma_check" value="1" spellcheck="false"/>
|
|
</div>
|
|
<div class="sheet-attribute-save-values">
|
|
<input class="sheet-attribute-save-value" name="attr_save_strength_value" type="text" spellcheck="false" placeholder="" value="" type="number">
|
|
<input class="sheet-attribute-save-value" name="attr_save_dexterity_value" type="text" spellcheck="false" placeholder="" value="" type="number">
|
|
<input class="sheet-attribute-save-value" name="attr_save_constitution_value" type="text" spellcheck="false" placeholder="" value="" type="number">
|
|
<input class="sheet-attribute-save-value" name="attr_save_intelligence_value" type="text" spellcheck="false" placeholder="" value="" type="number">
|
|
<input class="sheet-attribute-save-value" name="attr_save_wisdom_value" type="text" spellcheck="false" placeholder="" value="" type="number">
|
|
<input class="sheet-attribute-save-value sheet-attribute-save-last-value" name="attr_save_charisma_value" type="text" spellcheck="false" placeholder="" value="" type="number">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="sheet-face-skills">
|
|
<div class="sheet-shadow-death">
|
|
<div>
|
|
<span>PONTOS DE SOMBRA</span><br>
|
|
<input type="checkbox" name="attr_shadowcheck_um"><input type="checkbox" name="attr_shadowcheck_dois"><input type="checkbox" name="attr_shadowcheck_tres"><br>
|
|
<input type="checkbox" name="attr_shadowcheck_quatro"><input type="checkbox" name="attr_shadowcheck_cinco">
|
|
</div>
|
|
<div>
|
|
<span>TESTES DE MORTE</span><br>
|
|
<input type="checkbox" class="sheet-death-input-margin" name="attr_deathcheck_um">
|
|
<input type="checkbox" class="sheet-death-input-margin" name="attr_deathcheck_dois">
|
|
<input type="checkbox" class="sheet-death-input-margin" name="attr_deathcheck_tres">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="sheet-attributes-secound-part">
|
|
<div class="sheet-collumn-skills">
|
|
<div class="sheet-skills-and-languages">
|
|
<div class="sheet-skills">
|
|
<div class="sheet-skills-header">
|
|
<input class="sheet-header-middle-input sheet-proficiency" name="attr_proficient_bonus" type="text" spellcheck="false" placeholder="" value="">
|
|
<span>BÔNUS DE PROFICIÊNCIA</span>
|
|
</div>
|
|
<div class="sheet-skills-body">
|
|
<!--APRESENTAÇÃO-->
|
|
<div>
|
|
<input type="checkbox" value="1" name="attr_apresentacao_especialization">
|
|
<input type="checkbox" class="sheet-big-check" value="1" name="attr_apresentacao_proficiency">
|
|
<input class="sheet-rolls-flag" type="checkbox" name="attr_apresentacao_checkbox"><span>APRESENTAÇÃO</span>
|
|
<div class="sheet-rolls">
|
|
<button title="@{Simples}" type="action" name="act_skillroll" value="apresentacao-simples">t</button>
|
|
<button title="@{Vantagem}" type="action" name="act_skillroll" value="apresentacao-vantagem">tt</button>
|
|
<button title="@{Desvantagem}" type="action" name="act_skillroll" value="apresentacao-desvantagem">TT</button>
|
|
<span>+</span>
|
|
<input type="number" name="attr_mod_apresentacao" spellcheck="false" placeholder="0" value="0">
|
|
</div>
|
|
</div>
|
|
<!--APTIDÃO-->
|
|
<div>
|
|
<input type="checkbox" value="1" name="attr_aptidaoum_especialization">
|
|
<input type="checkbox" class="sheet-big-check" value="1" name="attr_aptidaoum_proficiency">
|
|
<input class="sheet-rolls-flag sheet-rolls-small" type="checkbox" name="attr_aptidaoum_checkbox"><span>APTIDÃO</span>
|
|
<select name="attr_apidaoum_selectbox">
|
|
<option></option>
|
|
<option>Forja</option>
|
|
<option>Veneno</option>
|
|
<option>Pescaria</option>
|
|
<option>Alquimia</option>
|
|
<option>Destilação</option>
|
|
<option>Cartografia</option>
|
|
<option>Alfaiataria</option>
|
|
<option>Culinária</option>
|
|
<option>Pintura</option>
|
|
<option>Artesanato</option>
|
|
<option>Navegação</option>
|
|
<option>Instrumentos Musicais</option>
|
|
</select>
|
|
<div class="sheet-rolls">
|
|
<button title="@{Simples}" type="action" name="act_skillroll" value="aptidaoum-simples">t</button>
|
|
<button title="@{Vantagem}" type="action" name="act_skillroll" value="aptidaoum-vantagem">tt</button>
|
|
<button title="@{Desvantagem}" type="action" name="act_skillroll" value="aptidaoum-desvantagem">TT</button>
|
|
<span>+</span>
|
|
<input type="number" name="attr_mod_aptidaoum" spellcheck="false" placeholder="0" value="0">
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<input type="checkbox" value="1" name="attr_aptidaodois_especialization">
|
|
<input type="checkbox" class="sheet-big-check" value="1" name="attr_aptidaodois_proficiency">
|
|
<input class="sheet-rolls-flag sheet-rolls-small" type="checkbox" name="attr_aptidaodois_checkbox"><span>APTIDÃO</span>
|
|
<select name="attr_apidaodois_selectbox">
|
|
<option></option>
|
|
<option>Forja</option>
|
|
<option>Veneno</option>
|
|
<option>Pescaria</option>
|
|
<option>Alquimia</option>
|
|
<option>Destilação</option>
|
|
<option>Cartografia</option>
|
|
<option>Alfaiataria</option>
|
|
<option>Culinária</option>
|
|
<option>Pintura</option>
|
|
<option>Artesanato</option>
|
|
<option>Navegação</option>
|
|
<option>Instrumentos Musicais</option>
|
|
</select>
|
|
<div class="sheet-rolls">
|
|
<button title="@{Simples}" type="action" name="act_skillroll" value="aptidaodois-simples">t</button>
|
|
<button title="@{Vantagem}" type="action" name="act_skillroll" value="aptidaodois-vantagem">tt</button>
|
|
<button title="@{Desvantagem}" type="action" name="act_skillroll" value="aptidaodois-desvantagem">TT</button>
|
|
<span>+</span>
|
|
<input type="number" name="attr_mod_aptidaodois" spellcheck="false" placeholder="0" value="0">
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<input type="checkbox" value="1" name="attr_aptidaotres_especialization">
|
|
<input type="checkbox" class="sheet-big-check" value="1" name="attr_aptidaotres_proficiency">
|
|
<input class="sheet-rolls-flag sheet-rolls-small" type="checkbox" name="attr_aptidaotres_checkbox"><span>APTIDÃO</span>
|
|
<select name="attr_apidaotres_selectbox">
|
|
<option></option>
|
|
<option>Forja</option>
|
|
<option>Veneno</option>
|
|
<option>Pescaria</option>
|
|
<option>Alquimia</option>
|
|
<option>Destilação</option>
|
|
<option>Cartografia</option>
|
|
<option>Alfaiataria</option>
|
|
<option>Culinária</option>
|
|
<option>Pintura</option>
|
|
<option>Artesanato</option>
|
|
<option>Navegação</option>
|
|
<option>Instrumentos Musicais</option>
|
|
</select>
|
|
<div class="sheet-rolls">
|
|
<button title="@{Simples}" type="action" name="act_skillroll" value="aptidaotres-simples">t</button>
|
|
<button title="@{Vantagem}" type="action" name="act_skillroll" value="aptidaotres-vantagem">tt</button>
|
|
<button title="@{Desvantagem}" type="action" name="act_skillroll" value="aptidaotres-desvantagem">TT</button>
|
|
<span>+</span>
|
|
<input type="number" name="attr_mod_aptidaotres" spellcheck="false" placeholder="0" value="0">
|
|
</div>
|
|
</div>
|
|
<!--ARCANISMO-->
|
|
<div>
|
|
<input type="checkbox" value="1" name="attr_arcanismo_especialization">
|
|
<input type="checkbox" class="sheet-big-check" value="1" name="attr_arcanismo_proficiency">
|
|
<input class="sheet-rolls-flag" type="checkbox" name="attr_arcanismo_checkbox"><span>ARCANISMO</span>
|
|
<div class="sheet-rolls">
|
|
<button title="@{Simples}" type="action" name="act_skillroll" value="arcanismo-simples">t</button>
|
|
<button title="@{Vantagem}" type="action" name="act_skillroll" value="arcanismo-vantagem">tt</button>
|
|
<button title="@{Desvantagem}" type="action" name="act_skillroll" value="arcanismo-desvantagem">TT</button>
|
|
<span>+</span>
|
|
<input type="number" name="attr_mod_arcanismo" spellcheck="false" placeholder="0" value="0">
|
|
</div>
|
|
</div>
|
|
<!--CULTURA-->
|
|
<div>
|
|
<input type="checkbox" value="1" name="attr_cultura_especialization">
|
|
<input type="checkbox" class="sheet-big-check" value="1" name="attr_cultura_proficiency">
|
|
<input class="sheet-rolls-flag" type="checkbox" name="attr_cultura_checkbox"><span>CULTURA</span>
|
|
<div class="sheet-rolls">
|
|
<button title="@{Simples}" type="action" name="act_skillroll" value="cultura-simples">t</button>
|
|
<button title="@{Vantagem}" type="action" name="act_skillroll" value="cultura-vantagem">tt</button>
|
|
<button title="@{Desvantagem}" type="action" name="act_skillroll" value="cultura-desvantagem">TT</button>
|
|
<span>+</span>
|
|
<input type="number" name="attr_mod_cultura" spellcheck="false" placeholder="0" value="0">
|
|
</div>
|
|
</div>
|
|
<!--DOUTRINAS-->
|
|
<div>
|
|
<input type="checkbox" value="1" name="attr_doutrinas_especialization">
|
|
<input type="checkbox" class="sheet-big-check" value="1" name="attr_doutrinas_proficiency">
|
|
<input class="sheet-rolls-flag" type="checkbox" name="attr_doutrinas_checkbox"><span>DOUTRINAS</span>
|
|
<div class="sheet-rolls">
|
|
<button title="@{Simples}" type="action" name="act_skillroll" value="doutrinas-simples">t</button>
|
|
<button title="@{Vantagem}" type="action" name="act_skillroll" value="doutrinas-vantagem">tt</button>
|
|
<button title="@{Desvantagem}" type="action" name="act_skillroll" value="doutrinas-desvantagem">TT</button>
|
|
<span>+</span>
|
|
<input type="number" name="attr_mod_doutrinas" spellcheck="false" placeholder="0" value="0">
|
|
</div>
|
|
</div>
|
|
<!--DIPLOMACIA-->
|
|
<div>
|
|
<input type="checkbox" value="1" name="attr_diplomacia_especialization">
|
|
<input type="checkbox" class="sheet-big-check" value="1" name="attr_diplomacia_proficiency">
|
|
<input class="sheet-rolls-flag" type="checkbox" name="attr_diplomacia_checkbox"><span>DIPLOMACIA</span>
|
|
<div class="sheet-rolls">
|
|
<button title="@{Simples}" type="action" name="act_skillroll" value="diplomacia-simples">t</button>
|
|
<button title="@{Vantagem}" type="action" name="act_skillroll" value="diplomacia-vantagem">tt</button>
|
|
<button title="@{Desvantagem}" type="action" name="act_skillroll" value="diplomacia-desvantagem">TT</button>
|
|
<span>+</span>
|
|
<input type="number" name="attr_mod_diplomacia" spellcheck="false" placeholder="0" value="0">
|
|
</div>
|
|
</div>
|
|
<!--FURTIVIDADE-->
|
|
<div>
|
|
<input type="checkbox" value="1" name="attr_furtividade_especialization">
|
|
<input type="checkbox" class="sheet-big-check" value="1" name="attr_furtividade_proficiency">
|
|
<input class="sheet-rolls-flag" type="checkbox" name="attr_furtividade_checkbox"><span>FURTIVIDADE</span>
|
|
<div class="sheet-rolls">
|
|
<button title="@{Simples}" type="action" name="act_skillroll" value="furtividade-simples">t</button>
|
|
<button title="@{Vantagem}" type="action" name="act_skillroll" value="furtividade-vantagem">tt</button>
|
|
<button title="@{Desvantagem}" type="action" name="act_skillroll" value="furtividade-desvantagem">TT</button>
|
|
<span>+</span>
|
|
<input type="number" name="attr_mod_furtividade" spellcheck="false" placeholder="0" value="0">
|
|
</div>
|
|
</div>
|
|
<!--INTIMIDAÇÃO-->
|
|
<div>
|
|
<input type="checkbox" value="1" name="attr_intimidacao_especialization">
|
|
<input type="checkbox" class="sheet-big-check" value="1" name="attr_intimidacao_proficiency">
|
|
<input class="sheet-rolls-flag" type="checkbox" name="attr_intimidacao_checkbox"><span>INTIMIDAÇÃO</span>
|
|
<div class="sheet-rolls">
|
|
<button title="@{Simples}" type="action" name="act_skillroll" value="intimidacao-simples">t</button>
|
|
<button title="@{Vantagem}" type="action" name="act_skillroll" value="intimidacao-vantagem">tt</button>
|
|
<button title="@{Desvantagem}" type="action" name="act_skillroll" value="intimidacao-desvantagem">TT</button>
|
|
<span>+</span>
|
|
<input type="number" name="attr_mod_intimidacao" spellcheck="false" placeholder="0" value="0">
|
|
</div>
|
|
</div>
|
|
<!--INTUIÇÃO-->
|
|
<div>
|
|
<input type="checkbox" value="1" name="attr_intuicao_especialization">
|
|
<input type="checkbox" class="sheet-big-check" value="1" name="attr_intuicao_proficiency">
|
|
<input class="sheet-rolls-flag" type="checkbox" name="attr_intuicao_checkbox"><span>INTUIÇÃO</span>
|
|
<div class="sheet-rolls">
|
|
<button title="@{Simples}" type="action" name="act_skillroll" value="intuicao-simples">t</button>
|
|
<button title="@{Vantagem}" type="action" name="act_skillroll" value="intuicao-vantagem">tt</button>
|
|
<button title="@{Desvantagem}" type="action" name="act_skillroll" value="intuicao-desvantagem">TT</button>
|
|
<span>+</span>
|
|
<input type="number" name="attr_mod_intuicao" spellcheck="false" placeholder="0" value="0">
|
|
</div>
|
|
</div>
|
|
<!--MEDICINA-->
|
|
<div>
|
|
<input type="checkbox" value="1" name="attr_medicina_especialization">
|
|
<input type="checkbox" class="sheet-big-check" value="1" name="attr_medicina_proficiency">
|
|
<input class="sheet-rolls-flag" type="checkbox" name="attr_medicina_checkbox"><span>MEDICINA</span>
|
|
<div class="sheet-rolls">
|
|
<button title="@{Simples}" type="action" name="act_skillroll" value="medicina-simples">t</button>
|
|
<button title="@{Vantagem}" type="action" name="act_skillroll" value="medicina-vantagem">tt</button>
|
|
<button title="@{Desvantagem}" type="action" name="act_skillroll" value="medicina-desvantagem">TT</button>
|
|
<span>+</span>
|
|
<input type="number" name="attr_mod_medicina" spellcheck="false" placeholder="0" value="0">
|
|
</div>
|
|
</div>
|
|
<!--MAGITEC-->
|
|
<div>
|
|
<input type="checkbox" value="1" name="attr_magitec_especialization">
|
|
<input type="checkbox" class="sheet-big-check" value="1" name="attr_magitec_proficiency">
|
|
<input class="sheet-rolls-flag" type="checkbox" name="attr_magitec_checkbox"><span>MAGITEC</span>
|
|
<div class="sheet-rolls">
|
|
<button title="@{Simples}" type="action" name="act_skillroll" value="magitec-simples">t</button>
|
|
<button title="@{Vantagem}" type="action" name="act_skillroll" value="magitec-vantagem">tt</button>
|
|
<button title="@{Desvantagem}" type="action" name="act_skillroll" value="magitec-desvantagem">TT</button>
|
|
<span>+</span>
|
|
<input type="number" name="attr_mod_magitec" spellcheck="false" placeholder="0" value="0">
|
|
</div>
|
|
</div>
|
|
<!--MALANDRAGEM-->
|
|
<div>
|
|
<input type="checkbox" value="1" name="attr_malandragem_especialization">
|
|
<input type="checkbox" class="sheet-big-check" value="1" name="attr_malandragem_proficiency">
|
|
<input class="sheet-rolls-flag" type="checkbox" name="attr_malandragem_checkbox"><span>MALANDRAGEM</span>
|
|
<div class="sheet-rolls">
|
|
<button title="@{Simples}" type="action" name="act_skillroll" value="malandragem-simples">t</button>
|
|
<button title="@{Vantagem}" type="action" name="act_skillroll" value="malandragem-vantagem">tt</button>
|
|
<button title="@{Desvantagem}" type="action" name="act_skillroll" value="malandragem-desvantagem">TT</button>
|
|
<span>+</span>
|
|
<input type="number" name="attr_mod_malandragem" spellcheck="false" placeholder="0" value="0">
|
|
</div>
|
|
</div>
|
|
<!--MANIPULAÇÃO-->
|
|
<div>
|
|
<input type="checkbox" value="1" name="attr_manipulacao_especialization">
|
|
<input type="checkbox" class="sheet-big-check" value="1" name="attr_manipulacao_proficiency">
|
|
<input class="sheet-rolls-flag" type="checkbox" name="attr_manipulacao_checkbox"><span>MANIPULAÇÃO</span>
|
|
<div class="sheet-rolls">
|
|
<button title="@{Simples}" type="action" name="act_skillroll" value="manipulacao-simples">t</button>
|
|
<button title="@{Vantagem}" type="action" name="act_skillroll" value="manipulacao-vantagem">tt</button>
|
|
<button title="@{Desvantagem}" type="action" name="act_skillroll" value="manipulacao-desvantagem">TT</button>
|
|
<span>+</span>
|
|
<input type="number" name="attr_mod_manipulacao" spellcheck="false" placeholder="0" value="0">
|
|
</div>
|
|
</div>
|
|
<!--NATUREZA-->
|
|
<div>
|
|
<input type="checkbox" value="1" name="attr_natureza_especialization">
|
|
<input type="checkbox" class="sheet-big-check" value="1" name="attr_natureza_proficiency">
|
|
<input class="sheet-rolls-flag" type="checkbox" name="attr_natureza_checkbox"><span>NATUREZA</span>
|
|
<div class="sheet-rolls">
|
|
<button title="@{Simples}" type="action" name="act_skillroll" value="natureza-simples">t</button>
|
|
<button title="@{Vantagem}" type="action" name="act_skillroll" value="natureza-vantagem">tt</button>
|
|
<button title="@{Desvantagem}" type="action" name="act_skillroll" value="natureza-desvantagem">TT</button>
|
|
<span>+</span>
|
|
<input type="number" name="attr_mod_natureza" spellcheck="false" placeholder="0" value="0">
|
|
</div>
|
|
</div>
|
|
<!--PERCEPÇÃO-->
|
|
<div>
|
|
<input type="checkbox" value="1" name="attr_percepcao_especialization">
|
|
<input type="checkbox" class="sheet-big-check" value="1" name="attr_percepcao_proficiency">
|
|
<input class="sheet-rolls-flag" type="checkbox" name="attr_percepcao_checkbox"><span>PERCEPÇÃO</span>
|
|
<div class="sheet-rolls">
|
|
<button title="@{Simples}" type="action" name="act_skillroll" value="percepcao-simples">t</button>
|
|
<button title="@{Vantagem}" type="action" name="act_skillroll" value="percepcao-vantagem">tt</button>
|
|
<button title="@{Desvantagem}" type="action" name="act_skillroll" value="percepcao-desvantagem">TT</button>
|
|
<span>+</span>
|
|
<input type="number" name="attr_mod_percepcao" spellcheck="false" placeholder="0" value="0">
|
|
</div>
|
|
</div>
|
|
<!--PREPARO FÍSICO-->
|
|
<div>
|
|
<input type="checkbox" value="1" name="attr_preparofisico_especialization">
|
|
<input type="checkbox" class="sheet-big-check" value="1" name="attr_preparofisico_proficiency">
|
|
<input class="sheet-rolls-flag" type="checkbox" name="attr_preparofisico_checkbox"><span>PREPARO FÍSICO</span>
|
|
<div class="sheet-rolls">
|
|
<button title="@{Simples}" type="action" name="act_skillroll" value="preparofisico-simples">t</button>
|
|
<button title="@{Vantagem}" type="action" name="act_skillroll" value="preparofisico-vantagem">tt</button>
|
|
<button title="@{Desvantagem}" type="action" name="act_skillroll" value="preparofisico-desvantagem">TT</button>
|
|
<span>+</span>
|
|
<input type="number" name="attr_mod_preparofisico" spellcheck="false" placeholder="0" value="0">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="sheet-collumn-initiative">
|
|
<div class="sheet-init-health">
|
|
<div class="sheet-initiative">
|
|
<div>
|
|
<span>INICIATIVA</span>
|
|
<input type="text" name="attr_iniciativa" class="sheet-big-box">
|
|
</div>
|
|
<div>
|
|
<span>REDUÇÃO DE DANO</span>
|
|
<input type="text" name="attr_reducaodedano" class="sheet-big-box">
|
|
</div>
|
|
<div>
|
|
<div>
|
|
<span>DESLOCAMENTO</span>
|
|
<input type="text" name="attr_deslocamento" class="sheet-small-box">
|
|
</div>
|
|
<div>
|
|
<span>TAMANHO</span>
|
|
<input type="text" name="attr_tamanho" class="sheet-small-box">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="sheet-health-and-dices">
|
|
<div>
|
|
<div>
|
|
<input type="text" name="attr_pontosdevida" class="sheet-big-box">
|
|
<span>PONTOS DE VIDA TOTAIS</span>
|
|
</div>
|
|
<div>
|
|
<input type="text" name="attr_pvtemporario" class="sheet-small-box">
|
|
<span>PV TEMP.</span>
|
|
</div>
|
|
<div>
|
|
<input type="text" name="attr_pvatuais" class="sheet-big-box">
|
|
<span>PONTOS DE VIDA ATUAIS</span>
|
|
</div>
|
|
</div>
|
|
<div class="sheet-bottom-box">
|
|
<div>
|
|
<input type="text" name="attr_dadosdevidatotais" class="sheet-big-box">
|
|
<span>DADOS DE VIDA TOTAIS</span>
|
|
</div>
|
|
<div>
|
|
<input type="text" name="attr_dadosdevidatotais" class="sheet-small-box">
|
|
<span>DADO DE VIDA</span>
|
|
</div>
|
|
<div>
|
|
<input type="text" name="attr_dadosdevidaatuais" class="sheet-big-box">
|
|
<span>DADOS DE VIDA ATUAIS</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="sheet-collumn-language">
|
|
<div class="sheet-language">
|
|
<div class="sheet-language-intern">
|
|
<span>IDIOMAS E OUTRAS PROFICIÊNCIAS</span>
|
|
<textarea name="attr_languages"></textarea>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="sheet-collumn-attack">
|
|
<div class="sheet-all-actions">
|
|
<div class="sheet-attacks">
|
|
<div class="sheet-top">
|
|
<div class="sheet-attacks-name">
|
|
<span>ATAQUE</span>
|
|
</div>
|
|
<div class="sheet-attacks-bonus">
|
|
<span>BÔNUS</span>
|
|
</div>
|
|
<div class="sheet-attacks-damage">
|
|
<span>DANO</span>
|
|
</div>
|
|
</div>
|
|
<!-- Ataques -->
|
|
<fieldset class="repeating_attacks">
|
|
<div class="sheet-attacksgrid">
|
|
<input class="sheet-options-flag" type="checkbox" name="attr_options-flag" checked="checked"><span>y</span>
|
|
<div class="sheet-options">
|
|
<div class="sheet-row">
|
|
<span style="width: 65px; text-align: right;">NOME:</span> <input type="text" name="attr_atkname" style="width: 170px;">
|
|
<input type="checkbox" name="attr_atkflag" value="{{attack=1}}" checked="checked" style="margin-left: 5px;"><span style="margin-left: 2px;">ATAQUE:</span>
|
|
<select style="margin-left: 2px;" name="attr_atkattr_base">
|
|
<option value="@{character_strength}" selected="selected">FOR</option>
|
|
<option value="@{character_dexterity}">DES</option>
|
|
<option value="@{character_constitution}">CON</option>
|
|
<option value="@{character_intelligence}">INT</option>
|
|
<option value="@{character_wisdom}">SAB</option>
|
|
<option value="@{character_charisma}">CAR</option>
|
|
<option value="@{spellcasting_attribute}">MAGIA</option>
|
|
<option value="0">-</option>
|
|
</select><span style="margin-left: 5px; font-size: 20px;">+</span>
|
|
<input class="num" type="text" name="attr_atkmod" placeholder="0" style="width: 30px; margin-left: 2px;">
|
|
<span style="margin-left: 5px; font-size: 20px;">+</span>
|
|
<input type="checkbox" name="attr_atkprofflag" value="(@{proficient_bonus})" checked="checked" style="margin-left: 3px;">
|
|
<span style="margin-left: 5px;">PROFICIENCIA</span>
|
|
</div>
|
|
<div class="sheet-row">
|
|
<span style="width: 65px; text-align: right;">DISTÂNCIA:</span>
|
|
<input type="text" name="attr_atkrange" style="width: 170px;">
|
|
<span style="margin-left: 6px;">BÔNUS MÁGICO:</span>
|
|
<input class="num" type="text" name="attr_atkmagic" placeholder="0" style="width:30px;">
|
|
<span style="margin-left: 5px;">CRÍTICO:</span>
|
|
<input class="num" type="text" name="attr_atkcritrange" value="20" placeholder="20" style="width:30px;">
|
|
</div>
|
|
<div class="sheet-row">
|
|
<input type="checkbox" name="attr_dmgflag" value="{{damage=1}} {{dmg1flag=1}}" checked="checked">
|
|
<span style="width: 49px; text-align:right;">DANO:</span>
|
|
<input type="text" name="attr_dmgbase" placeholder="1d6" style="width: 50px;">
|
|
<span style="font-size: 20px">+</span>
|
|
<select name="attr_dmgattr">
|
|
<option value="@{character_strength}" selected="selected">FOR</option>
|
|
<option value="@{character_dexterity}">DES</option>
|
|
<option value="@{character_constitution}">CON</option>
|
|
<option value="@{character_intelligence}">INT</option>
|
|
<option value="@{character_wisdom}">SAB</option>
|
|
<option value="@{character_charisma}">CAR</option>
|
|
<option value="@{spellcasting_attribute}">MAGIA</option>
|
|
<option value="0">-</option>
|
|
</select>
|
|
<span style="font-size: 20px">+</span>
|
|
<input class="num" type="text" name="attr_dmgmod" placeholder="0" style="width: 30px;">
|
|
|
|
<span style="margin-left: 17px;">TIPO:</span>
|
|
<input type="text" name="attr_dmgtype" placeholder="Corte" style="width: 100px;">
|
|
<span>CRIT:</span>
|
|
<input type="text" name="attr_dmgcustcrit" placeholder="1d6" style="width: 50px;">
|
|
</div>
|
|
<div class="sheet-row">
|
|
<input type="checkbox" name="attr_dmg2flag" value="{{damage=1}} {{dmg2flag=1}}"><span style="width: 52px; text-align:right;">DANO 2:</span>
|
|
<input type="text" name="attr_dmg2base" placeholder="1d6" style="width: 50px;">
|
|
<span style="font-size: 20px">+</span>
|
|
<select name="attr_dmg2attr">
|
|
<option value="@{character_strength}" selected="selected">FOR</option>
|
|
<option value="@{character_dexterity}">DES</option>
|
|
<option value="@{character_constitution}">CON</option>
|
|
<option value="@{character_intelligence}">INT</option>
|
|
<option value="@{character_wisdom">SAB</option>
|
|
<option value="@{character_charisma}">CAR</option>
|
|
<option value="@{spellcasting_attribute}">MAGIA</option>
|
|
<option value="0">-</option>
|
|
</select>
|
|
<span style="font-size: 20px">+</span>
|
|
<input class="num" type="text" name="attr_dmg2mod" placeholder="0" style="width: 30px;">
|
|
<span style="margin-left: 17px;">TIPO:</span>
|
|
<input type="text" name="attr_dmg2type" placeholder="Slashing" style="width: 100px;">
|
|
<span>CRIT:</span>
|
|
<input type="text" name="attr_dmg2custcrit" placeholder="1d6" style="width: 50px;">
|
|
</div>
|
|
<div class="sheet-row">
|
|
<span>MUNIÇÃO:</span>
|
|
<input type="text" name="attr_ammo" placeholder="Flechas" style="width: 160px;">
|
|
</div>
|
|
<div class="sheet-row">
|
|
<span>DESCRIÇÃO:</span>
|
|
<textarea name="attr_atk_desc" placeholder="Descrição"></textarea>
|
|
</div>
|
|
|
|
</div>
|
|
<div class="sheet-display sheet-display-attack" style="display: grid; grid-template-columns: 1fr 90px; grid-template-columns: 1fr 78px; gap: 5px;">
|
|
<button type="roll" name="roll_attack" value="@{rollbase}">
|
|
<span name="attr_atkname" style="width: 230px; text-align: left;"></span>
|
|
<input type="text" name="attr_atkbonus" style="width: 60px; text-align: center;" value="">
|
|
<input type="text" name="attr_atkdmgtype" style="width: 300px;" value="">
|
|
</button>
|
|
</div>
|
|
<input type="hidden" name="attr_rollbase">
|
|
<input type="hidden" name="attr_rollbase_dmg">
|
|
<input type="hidden" name="attr_rollbase_crit">
|
|
<input type="hidden" name="attr_hldmg">
|
|
<input type="hidden" name="attr_spelllevel">
|
|
<input type="hidden" name="attr_itemid">
|
|
<input type="hidden" name="attr_spellid">
|
|
<input type="hidden" name="attr_spell_innate">
|
|
<input type="hidden" name="attr_versatile_alt">
|
|
<input type="hidden" name="attr_spelldesc_link">
|
|
<button type="roll" name="roll_spelldesc_link" style="display: none;" value="@{spelldesc_link}" class="btn ui-draggable"></button>
|
|
<button type="roll" name="roll_attack_dmg" style="display: none;" value="@{rollbase_dmg}" class="btn ui-draggable"></button>
|
|
<button type="roll" name="roll_attack_crit" style="display: none;" value="@{rollbase_crit}" class="btn ui-draggable"></button>
|
|
</div>
|
|
</fieldset>
|
|
<!-- Ataques -->
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!--div>
|
|
<div class="sheet-main-column-right-collumn">
|
|
|
|
|
|
<!--/div>
|
|
</div>
|
|
<div class="sheet-face-skills">
|
|
|
|
</div>
|
|
<div class="sheet-all-actions">
|
|
<div class="sheet-attacks">
|
|
</div>
|
|
</div-->
|
|
</div>
|
|
<div class="sheet-characteristics">
|
|
<div class="sheet-character-background">
|
|
<div class="sheet-characteristics-base">
|
|
<div class="sheet-textbox-div">
|
|
<div>
|
|
<span>LEGADO</span>
|
|
<input name="attr_character_legacy" type="text" spellcheck="false" placeholder="" value="">
|
|
</div>
|
|
<textarea name="attr_descriptionlegacy"></textarea>
|
|
</div>
|
|
<div class="sheet-textbox-div">
|
|
<div>
|
|
<span>HERANÇAS</span>
|
|
<input name="attr_character_heritage" type="text" spellcheck="false" placeholder="" value="">
|
|
</div>
|
|
<textarea name="attr_descriptionheritage"></textarea>
|
|
</div>
|
|
<div class="sheet-textbox-div">
|
|
<div>
|
|
<span>ANTECEDENTE</span>
|
|
<input name="attr_character_antecedent" type="text" spellcheck="false" placeholder="" value="">
|
|
</div>
|
|
<textarea name="attr_descriptionantecedent"></textarea>
|
|
</div>
|
|
<div class="sheet-textbox-div">
|
|
<div>
|
|
<span>MALDIÇÃO</span>
|
|
<input name="attr_character_curse" type="text" spellcheck="false" placeholder="" value="">
|
|
</div>
|
|
<textarea name="attr_descriptioncurse"></textarea>
|
|
</div>
|
|
<div class="sheet-textbox-div">
|
|
<div>
|
|
<span>MELANCOLIA</span>
|
|
<input name="attr_character_melancholy" type="text" spellcheck="false" placeholder="" value="">
|
|
</div>
|
|
<textarea name="attr_descriptionmelancholy"></textarea>
|
|
</div>
|
|
<div class="sheet-textbox-div">
|
|
<div>
|
|
<span>Classe</span>
|
|
<input name="attr_character_class" type="text" spellcheck="false" placeholder="" value="">
|
|
</div>
|
|
<textarea name="attr_descriptionclass"></textarea>
|
|
</div>
|
|
</div>
|
|
<fieldset class="repeating_characteristics">
|
|
<div class="sheet-textbox-div">
|
|
<div>
|
|
<span>NOME:</span>
|
|
<input name="attr_nomecharacteristics" type="text" spellcheck="false" class="" value="">
|
|
</div>
|
|
<textarea name="attr_descriptioncharacteristics"></textarea>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
|
|
</div>
|
|
<div class="sheet-character-equipment">
|
|
<div class="sheet-equipment">
|
|
<fieldset class="repeating_equipment">
|
|
<div class="sheet-textbox-div">
|
|
<div>
|
|
<span>NOME:</span>
|
|
<input name="attr_nomeequipamento" type="text" spellcheck="false" class="" value="">
|
|
</div>
|
|
<textarea name="attr_descriptionequipamento"></textarea>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
<div class="sheet-money-others">
|
|
<div class="sheet-money">
|
|
<div>
|
|
<span>T$</span><input name="attr_trocado" type="text" spellcheck="false">
|
|
</div>
|
|
<div>
|
|
<span>P$</span><input name="attr_pila" type="text" spellcheck="false">
|
|
</div>
|
|
<div>
|
|
<span>K$</span><input name="attr_kilo" type="text" spellcheck="false">
|
|
</div>
|
|
</div>
|
|
<!--<div class="sheet-number-slots">
|
|
<div>
|
|
<div>
|
|
<span>CURRENT</span>
|
|
</div>
|
|
<div>
|
|
<span>MAXIMO</span>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<div>
|
|
<input>
|
|
</div>
|
|
<div>
|
|
<input>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<span>INVENTORY SLOTS</span>
|
|
</div>
|
|
</div>
|
|
<div class="sheet-other-items">
|
|
|
|
</div>
|
|
<div class="sheet-magic-volumes">
|
|
|
|
</div>-->
|
|
</div>
|
|
</div>
|
|
<div class="sheet-character-actions">
|
|
<div class="sheet-actions">
|
|
<fieldset class="repeating_actions">
|
|
<div class="sheet-container-single-spell">
|
|
<button type="roll" name="roll_spell1" class="buttonspell" value="&{template:actspell} {{character_name=@{character_name}}} {{tipoacao=@{tipoacao}}} {{nameaction=@{nameaction}}} {{custoacao=@{custoacao}}} {{info_actions=@{info_actions}}} {{descritores_actions=@{descritores_actions}}} {{alcance_actions=@{alcance_actions}}} {{alvo_actions=@{alvo_actions}}} {{duracao_actions=@{duracao_actions}}} {{component_actions=@{component_actions}}} {{gatilho_actions=@{gatilho_actions}}} {{ataque_actions=@{ataque_actions}}} {{acerto_actions=@{acerto_actions}}} {{erro_actions=@{erro_actions}}} {{efeito_actions=@{efeito_actions}}} {{especial_actions=@{especial_actions}}} {{customod_actions=@{customod_actions}}} {{tipomod_actions=@{tipomod_actions}}} {{description_actions=@{description_actions}}} {{modificacoes=@{customod_actions}@{tipomod_actions}@{description_actions}}}"></button>
|
|
<select class="sheet-tipoacao" name="attr_tipoacao">
|
|
<option value="Ação">Ação</option>
|
|
<option value="Bônus">Bônus</option>
|
|
<option value="Livre">Livre</option>
|
|
<option value="Passiva">Passiva</option>
|
|
<option value="Reção">Reação</option>
|
|
</select>
|
|
<input class="sheet-nomeacao" name="attr_nameaction" type="text" spellcheck="false" value="" placeholder="Nome do Poder"/>
|
|
<select class="sheet-custoacao" name="attr_custoacao">
|
|
<option value="-" selected>-</option>
|
|
<option value="rep">Rep</option>
|
|
<option value="1pe">1 PE</option>
|
|
<option value="2pe">2 PE</option>
|
|
<option value="3pe">3 PE</option>
|
|
<option value="4pe">4 PE</option>
|
|
<option value="5pe">5 PE</option>
|
|
</select>
|
|
<input type="checkbox" class="sheet-hiddencheckbox">
|
|
<span class="sheet-hiddencheckboxcover">y</span>
|
|
|
|
<div class="sheet-extra">
|
|
<div class="sheet-even">
|
|
<span>Informações</span>
|
|
<input type="text" name="attr_info_actions">
|
|
</div>
|
|
<div class="sheet-odd">
|
|
<span>Descritores:</span>
|
|
<input type="text" class="sheet-descriptor-input" name="attr_descritores_actions">
|
|
</div>
|
|
<div class="sheet-even">
|
|
<div><span>Alcance:</span> <input name="attr_alcance_actions" type="text" spellcheck="false" value=""></div>
|
|
<div><span>Alvo:</span> <input name="attr_alvo_actions" type="text" spellcheck="false" value=""></div>
|
|
<div><span>Duração:</span> <input name="attr_duracao_actions" type="text" spellcheck="false" value=""></div>
|
|
<div><span>Componentes:</span> <input name="attr_component_actions" type="text" spellcheck="false" value=""></div>
|
|
</div>
|
|
<div class="sheet-odd">
|
|
<div><span>Gatilho:</span> <input name="attr_gatilho_actions" type="text" spellcheck="false" value=""></div>
|
|
</div>
|
|
<div class="sheet-even"><span>Ataque:</span> <input name="attr_ataque_actions" type="text" spellcheck="false" value=""></div>
|
|
<div class="sheet-odd"><span>Acerto:</span> <input name="attr_acerto_actions" type="text" spellcheck="false" value=""></div>
|
|
<div class="sheet-even"><span>Erro:</span> <input name="attr_erro_actions" type="text" spellcheck="false" value=""></div>
|
|
<div class="sheet-odd"><span>Efeito:</span> <textarea class="sheet-effect-textarea" name="attr_efeito_actions" type="text" spellcheck="false" value=""></textarea></div>
|
|
<div class="sheet-odd"><span>Especial:</span> <input name="attr_especial_actions" type="text" spellcheck="false" value=""></div>
|
|
<div class="sheet-even">
|
|
<span>Modificações:</span><br>
|
|
<span>Custo da Modificação</span> <input name="attr_customod_actions" type="text" spellcheck="false" value="">
|
|
<span>Tipo de Modificação</span> <input name="attr_tipomod_actions" type="text" spellcheck="false" value="">
|
|
<textarea class="sheet-modificator-textarea" name="attr_description_actions"></textarea>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<input type="hidden" value="" name="attr_rollaction">
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
<div class="sheet-character-spells">
|
|
<div class="sheet-spells">
|
|
<div class="sheet-spells-atributes">
|
|
<div>
|
|
<span>ATRIBUTO CHAVE</span>
|
|
<select class="sheet-camada" name="attr_spellcasting_attribute">
|
|
<option value="@{character_strength}">Força</option>
|
|
<option value="@{character_dexterity}">Destreza</option>
|
|
<option value="@{character_constitution}">Constituição</option>
|
|
<option value="@{character_intelligence}">Inteligência</option>
|
|
<option value="@{character_wisdom}">Sabedoria</option>
|
|
<option value="@{character_charisma}">Carisma</option>
|
|
</select>
|
|
</div>
|
|
<div>
|
|
<span>BÔNUS DE ATAQUE</span>
|
|
<input class="singleline" name="attr_bonusataquemagia" type="text" spellcheck="false" value=""/>
|
|
</div>
|
|
</div>
|
|
<div class="sheet-spells-container">
|
|
<fieldset class="repeating_spells">
|
|
<div class="sheet-container-single-spell">
|
|
<button type="roll" name="roll_spell1" class="buttonspell" value="&{template:actspell} {{character_name=@{character_name}}} {{tipoacao=@{tipospells}}} {{nameaction=@{namespells}}} {{custoacao=@{custospells}}} {{info_actions=@{info_spells}}} {{descritores_actions=@{descritores_actions}}} {{alcance_actions=@{alcance_spells}}} {{alvo_actions=@{alvo_spells}}} {{duracao_actions=@{duracao_spells}}} {{component_actions=@{component_spells}}} {{gatilho_actions=@{gatilho_spells}}} {{ataque_actions=@{ataque_spells}}} {{acerto_actions=@{acerto_spells}}} {{erro_actions=@{erro_spells}}} {{efeito_actions=@{efeito_spells}}} {{especial_actions=@{especial_actions}}} {{customod_actions=@{customod_actions}}} {{tipomod_actions=@{tipomod_actions}}} {{description_actions=@{description_actions}}} {{modificacoes=@{customod_actions}@{tipomod_actions}@{description_actions}}}"></button>
|
|
<select class="sheet-tipoacao" name="attr_tipospells">
|
|
<option value="Ação">Ação</option>
|
|
<option value="Bônus">Bônus</option>
|
|
<option value="Livre">Livre</option>
|
|
<option value="Passiva">Passiva</option>
|
|
<option value="Reação">Reação</option>
|
|
</select>
|
|
<input class="sheet-nomeacao" name="attr_namespells" type="text" spellcheck="false" value="" placeholder="Nome da Magia"/>
|
|
<select class="sheet-custoacao" name="attr_custospells">
|
|
<option value="-" selected>-</option>
|
|
<option value="rep">Rep</option>
|
|
<option value="1pe">1 PE</option>
|
|
<option value="2pe">2 PE</option>
|
|
<option value="3pe">3 PE</option>
|
|
<option value="4pe">4 PE</option>
|
|
<option value="5pe">5 PE</option>
|
|
</select>
|
|
<input type="checkbox" class="sheet-hiddencheckbox">
|
|
<span class="sheet-hiddencheckboxcover">y</span>
|
|
|
|
<div class="sheet-extra">
|
|
<div class="sheet-even">
|
|
<span>Informações</span>
|
|
<input type="text" name="attr_info_spells">
|
|
</div>
|
|
<div class="sheet-odd">
|
|
<span>Descritores:</span>
|
|
<input type="text" class="sheet-descriptor-input" name="attr_descritores_actions">
|
|
</div>
|
|
<div class="sheet-even">
|
|
<div><span>Alcance:</span> <input name="attr_alcance_spells" type="text" spellcheck="false" value=""></div>
|
|
<div><span>Alvo:</span> <input name="attr_alvo_spells" type="text" spellcheck="false" value=""></div>
|
|
<div><span>Duração:</span> <input name="attr_duracao_spells" type="text" spellcheck="false" value=""></div>
|
|
<div><span>Componentes:</span> <input name="attr_component_spells" type="text" spellcheck="false" value=""></div>
|
|
</div>
|
|
<div class="sheet-odd">
|
|
<div><span>Gatilho:</span> <input name="attr_gatilho_spells" type="text" spellcheck="false" value=""></div>
|
|
</div>
|
|
<div class="sheet-even"><span>Ataque:</span> <input name="attr_ataque_spells" type="text" spellcheck="false" value=""></div>
|
|
<div class="sheet-odd"><span>Acerto:</span> <input name="attr_acerto_spells" type="text" spellcheck="false" value=""></div>
|
|
<div class="sheet-even"><span>Erro:</span> <input name="attr_erro_spells" type="text" spellcheck="false" value=""></div>
|
|
<div class="sheet-odd"><span>Efeito:</span> <textarea class="sheet-effect-textarea" name="attr_efeito_spells" type="text" spellcheck="false" value=""></textarea></div>
|
|
<div class="sheet-odd"><span>Especial:</span> <input name="attr_especial_actions" type="text" spellcheck="false" value=""></div>
|
|
<div class="sheet-even">
|
|
<span>Modificações:</span><br>
|
|
<span>Custo da Modificação</span> <input name="attr_customod_actions" type="text" spellcheck="false" value="">
|
|
<span>Tipo de Modificação</span> <input name="attr_tipomod_actions" type="text" spellcheck="false" value="">
|
|
<textarea class="sheet-modificator-textarea" name="attr_description_actions"></textarea>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<input type="hidden" name="attr_selectedattribute" value="" readonly="1">
|
|
<input type="hidden" name="attr_selectedrawvalue" value="" readonly="1">
|
|
<input type="hidden" name="attr_rawattribute" value="" readonly="1">
|
|
|
|
<script type="text/worker">
|
|
let calc_proficiency = function() {
|
|
getAttrs(["character_level","proficient_bonus"], function(v){
|
|
let proficiency = 2;
|
|
|
|
if(v.character_level > 4){
|
|
proficiency = +3;
|
|
}
|
|
if(v.character_level > 8){
|
|
proficiency = +4;
|
|
}
|
|
|
|
setAttrs({["proficient_bonus"]:proficiency})
|
|
|
|
update_attacks("all");
|
|
});
|
|
}
|
|
|
|
let convert_to_int = (value) => isNaN(parseInt(value)) ? 0 : parseInt(value);
|
|
|
|
let calc_protection = function(){
|
|
// Stat mods
|
|
['strength', 'dexterity', 'constitution', 'intelligence', 'wisdom', 'charisma'].forEach(stat => {
|
|
console.log(stat);
|
|
|
|
let base_stat = `character_${stat}`;
|
|
let check_stat = `save_${stat}_check`;
|
|
let save_value = `save_${stat}_value`;
|
|
|
|
getAttrs([base_stat, check_stat, save_value, "proficient_bonus"], function(v){
|
|
let save = 10 + convert_to_int(v[base_stat]);
|
|
|
|
console.log(v[base_stat], v[check_stat], v[save_value]);
|
|
|
|
if(convert_to_int(v[check_stat]) == 1){
|
|
save += convert_to_int(v["proficient_bonus"]);
|
|
}
|
|
|
|
setAttrs({[`save_${stat}_value`]: save });
|
|
});
|
|
|
|
update_attacks("all");
|
|
|
|
});
|
|
}
|
|
|
|
let setattribute_roll = function(attribute){
|
|
getAttrs(["selectedattribute", "character_name", "selectedrawvalue", `character_${attribute}`], function(v){
|
|
if(v.selectedattribute != `character_${attribute}`){
|
|
['strength', 'dexterity', 'constitution', 'intelligence', 'wisdom', 'charisma'].forEach(stat => {
|
|
$20(`.sheet-attr-span-${stat}`).removeClass("sheet-active-element");
|
|
});
|
|
|
|
$20(`.sheet-attr-span-${attribute}`).addClass("sheet-active-element");
|
|
$20(`.sheet-skills-body`).addClass("sheet-skills-active");
|
|
|
|
|
|
setAttrs({[`selectedattribute`]: `character_${attribute}` });
|
|
setAttrs({[`selectedrawvalue`]: v[`character_${attribute}`] });
|
|
setAttrs({[`rawattribute`]: attribute});
|
|
} else {
|
|
//let formated_attribute = `character_${attribute}`;
|
|
const atribute_name = {
|
|
"strength": "Força", "dexterity": "Destreza", "constitution": "Constituição", "intelligence": "Inteligência", "wisdom": "Sabedoria", "charisma": "Carisma"
|
|
}
|
|
startRoll(`&{template:skillroll} {{character=${v.character_name}}} {{pericia=${atribute_name[attribute]}}} {{rolagem=[[1d20+${v["selectedrawvalue"]}]]}}`, diceroll => {
|
|
});
|
|
|
|
$20(`.sheet-attr-span-${attribute}`).removeClass("sheet-active-element");
|
|
$20(`.sheet-skills-body`).removeClass("sheet-skills-active");
|
|
|
|
setAttrs({[`selectedattribute`]: "" });
|
|
setAttrs({[`selectedrawvalue`]: "" });
|
|
setAttrs({[`rawattribute`]: ""});
|
|
}
|
|
});
|
|
}
|
|
|
|
on("clicked:skillroll", function(e){
|
|
console.log(e);
|
|
let arr_skill = e.htmlAttributes.value.split('-');
|
|
|
|
const skills_name = {
|
|
"apresentacao": "Apresentação", "aptidaoum": "Aptidão", "aptidaodois": "Aptidão", "aptidaotres": "Aptidão",
|
|
"arcanismo": "Arcanismo", "cultura": "Cultura", "doutrinas": "Doutrinas", "diplomacia": "Diplomacia",
|
|
"furtividade": "Furtividade", "intimidacao": "Intimidação", "intuicao": "Intuição", "medicina": "Medicina",
|
|
"magitec": "Magitec", "malandragem": "Malandragem", "manipulacao": "Manipulação", "natureza": "Natureza",
|
|
"percepcao": "Percepção", "preparofisico": "Preparo Físico"
|
|
}
|
|
|
|
const atribute_name = {
|
|
"strength": "Força", "dexterity": "Destreza", "constitution": "Constituição", "intelligence": "Inteligência", "wisdom": "Sabedoria", "charisma": "Carisma"
|
|
}
|
|
|
|
getAttrs(["apidaoum_selectbox", "apidaodois_selectbox", "apidaotres_selectbox", "selectedattribute","selectedrawvalue", "rawattribute", `${arr_skill[0]}_checkbox`, `${arr_skill[0]}_proficiency`, "proficient_bonus", `${arr_skill[0]}_especialization`, `mod_${arr_skill[0]}`], function(v){
|
|
|
|
let pericia_name = skills_name[arr_skill[0]];
|
|
|
|
if(arr_skill[0] == "aptidaoum"){ pericia_name = pericia_name +" " + v.apidaoum_selectbox; }
|
|
if(arr_skill[0] == "aptidaodois"){ pericia_name = pericia_name + " " + v.apidaodois_selectbox; }
|
|
if(arr_skill[0] == "aptidaotres"){ pericia_name = pericia_name + " " + v.apidaotres_selectbox; }
|
|
|
|
if(arr_skill[1] == "simples"){
|
|
startRoll(`&{template:skillroll}{{character=@{character_name}}}{{pericia=${pericia_name}(${atribute_name[v.rawattribute]})}}{{rolagem=[[1d20+@{selectedrawvalue}+(@{${arr_skill[0]}_proficiency} * @{proficient_bonus} * (1 + @{${arr_skill[0]}_especialization})) + @{mod_${arr_skill[0]}}]]}}`, diceroll => {});
|
|
}
|
|
if(arr_skill[1] == "vantagem"){
|
|
startRoll(`&{template:skillroll}{{character=@{character_name}}}{{pericia=${pericia_name}(${atribute_name[v.rawattribute]})}}{{rolagem=[[2d20kh1+@{selectedrawvalue}+(@{${arr_skill[0]}_proficiency} * @{proficient_bonus} * (1 + @{${arr_skill[0]}_especialization})) + @{mod_${arr_skill[0]}}]]}}`, diceroll => {});
|
|
}
|
|
if(arr_skill[1] == "desvantagem"){
|
|
startRoll(`&{template:skillroll}{{character=@{character_name}}}{{pericia=${pericia_name}(${atribute_name[v.rawattribute]})}}{{rolagem=[[2d20kl1+@{selectedrawvalue}+(@{${arr_skill[0]}_proficiency} * @{proficient_bonus} * (1 + @{${arr_skill[0]}_especialization})) + @{mod_${arr_skill[0]}}]]}}`, diceroll => {});
|
|
}
|
|
|
|
['strength', 'dexterity', 'constitution', 'intelligence', 'wisdom', 'charisma'].forEach(stat => {
|
|
$20(`.sheet-attr-span-${stat}`).removeClass("sheet-active-element");
|
|
});
|
|
$20(`.sheet-skills-body`).removeClass("sheet-skills-active");
|
|
|
|
setAttrs({[`selectedattribute`]: "" });
|
|
setAttrs({[`selectedrawvalue`]: "" });
|
|
setAttrs({[`${arr_skill[0]}_checkbox`]: 0})
|
|
|
|
});
|
|
|
|
});
|
|
|
|
['strength','dexterity','constitution','intelligence','wisdom','charisma'].forEach(attr => {
|
|
on(`clicked:set${attr}roll`, function(){
|
|
setattribute_roll(attr);
|
|
update_attacks(`${attr}`);
|
|
});
|
|
|
|
on(`change:character_${attr}`, function() {
|
|
update_attacks(`${attr}`);
|
|
});
|
|
});
|
|
|
|
|
|
on(`change:character_strength change:character_dexterity change:character_constitution change:character_intelligence change:character_wisdom change:character_charisma change:save_strength_check change:save_dexterity_check change:save_constitution_check change:save_intelligence_check change:save_wisdom_check change:save_charisma_check`, function(){
|
|
calc_protection();
|
|
});
|
|
|
|
on("change:character_level", function(e){
|
|
calc_proficiency();
|
|
});
|
|
|
|
on("sheet:opened", function(e){
|
|
calc_proficiency();
|
|
getAttrs(["selectedattribute"], function(v){
|
|
setAttrs({["selectedattribute"]: "" });
|
|
});
|
|
});
|
|
|
|
//Troca entre as abas
|
|
on("sheet:opened change:cstype", function(e){
|
|
getAttrs(["cstype"], function(v){
|
|
let switch_selector = 'sheet-switch-selected';
|
|
|
|
if (v.cstype == 0) {
|
|
$20('.sheet-character-attributes-tab').addClass(switch_selector);
|
|
$20('.sheet-character-actions-tab').removeClass(switch_selector);
|
|
$20('.sheet-character-spells-tab').removeClass(switch_selector);
|
|
$20('.sheet-character-equipment-tab').removeClass(switch_selector);
|
|
$20('.sheet-character-characteristics-tab').removeClass(switch_selector);
|
|
|
|
$20('.sheet-character-attributes').removeClass('sheet-hiddenelement');
|
|
$20('.sheet-character-actions').addClass('sheet-hiddenelement');
|
|
$20('.sheet-character-spells').addClass('sheet-hiddenelement');
|
|
$20('.sheet-character-equipment').addClass('sheet-hiddenelement');
|
|
$20('.sheet-characteristics').addClass('sheet-hiddenelement');
|
|
}
|
|
|
|
if (v.cstype == 1){
|
|
$20('.sheet-character-actions-tab').addClass(switch_selector);
|
|
$20('.sheet-character-attributes-tab').removeClass(switch_selector);
|
|
$20('.sheet-character-spells-tab').removeClass(switch_selector);
|
|
$20('.sheet-character-equipment-tab').removeClass(switch_selector);
|
|
$20('.sheet-character-characteristics-tab').removeClass(switch_selector);
|
|
|
|
$20('.sheet-character-actions').removeClass('sheet-hiddenelement');
|
|
$20('.sheet-character-attributes').addClass('sheet-hiddenelement');
|
|
$20('.sheet-character-spells').addClass('sheet-hiddenelement');
|
|
$20('.sheet-character-equipment').addClass('sheet-hiddenelement');
|
|
$20('.sheet-characteristics').addClass('sheet-hiddenelement');
|
|
}
|
|
|
|
if (v.cstype == 2){
|
|
$20('.sheet-character-spells-tab').addClass(switch_selector);
|
|
$20('.sheet-character-actions-tab').removeClass(switch_selector);
|
|
$20('.sheet-character-attributes-tab').removeClass(switch_selector);
|
|
$20('.sheet-character-equipment-tab').removeClass(switch_selector);
|
|
$20('.sheet-character-characteristics-tab').removeClass(switch_selector);
|
|
|
|
$20('.sheet-character-spells').removeClass('sheet-hiddenelement');
|
|
$20('.sheet-character-actions').addClass('sheet-hiddenelement');
|
|
$20('.sheet-character-attributes').addClass('sheet-hiddenelement');
|
|
$20('.sheet-character-equipment').addClass('sheet-hiddenelement');
|
|
$20('.sheet-characteristics').addClass('sheet-hiddenelement');
|
|
}
|
|
|
|
if (v.cstype == 3){
|
|
$20('.sheet-character-equipment-tab').addClass(switch_selector);
|
|
$20('.sheet-character-spells-tab').removeClass(switch_selector);
|
|
$20('.sheet-character-actions-tab').removeClass(switch_selector);
|
|
$20('.sheet-character-attributes-tab').removeClass(switch_selector);
|
|
$20('.sheet-character-characteristics-tab').removeClass(switch_selector);
|
|
|
|
$20('.sheet-character-equipment').removeClass('sheet-hiddenelement');
|
|
$20('.sheet-character-spells').addClass('sheet-hiddenelement');
|
|
$20('.sheet-character-actions').addClass('sheet-hiddenelement');
|
|
$20('.sheet-character-attributes').addClass('sheet-hiddenelement');
|
|
$20('.sheet-characteristics').addClass('sheet-hiddenelement');
|
|
}
|
|
|
|
if (v.cstype == 4){
|
|
$20('.sheet-character-characteristics-tab').addClass(switch_selector);
|
|
$20('.sheet-character-equipment-tab').removeClass(switch_selector);
|
|
$20('.sheet-character-spells-tab').removeClass(switch_selector);
|
|
$20('.sheet-character-actions-tab').removeClass(switch_selector);
|
|
$20('.sheet-character-attributes-tab').removeClass(switch_selector);
|
|
|
|
$20('.sheet-characteristics').removeClass('sheet-hiddenelement');
|
|
$20('.sheet-character-equipment').addClass('sheet-hiddenelement');
|
|
$20('.sheet-character-spells').addClass('sheet-hiddenelement');
|
|
$20('.sheet-character-actions').addClass('sheet-hiddenelement');
|
|
$20('.sheet-character-attributes').addClass('sheet-hiddenelement');
|
|
}
|
|
|
|
});
|
|
});
|
|
|
|
on("change:repeating_attacks:atkname change:repeating_attacks:atkflag change:repeating_attacks:atkattr_base change:repeating_attacks:atkmod change:repeating_attacks:atkmagic change:repeating_attacks:atkprofflag change:repeating_attacks:dmgflag change:repeating_attacks:dmgbase change:repeating_attacks:dmgattr change:repeating_attacks:dmgmod change:repeating_attacks:dmgtype change:repeating_attacks:dmg2flag change:repeating_attacks:dmg2base change:repeating_attacks:dmg2attr change:repeating_attacks:dmg2mod change:repeating_attacks:dmg2type change:repeating_attacks:saveflag change:repeating_attacks:savedc change:repeating_attacks:saveflat change:repeating_attacks:dmgcustcrit change:repeating_attacks:dmg2custcrit change:repeating_attacks:ammo change:repeating_attacks:saveattr change:repeating_attacks:atkrange", function(eventinfo) {
|
|
update_attacks("all");
|
|
});
|
|
|
|
|
|
const update_attacks = (update_id, source) => {
|
|
if (update_id.substring(0,1) === "-" && update_id.length === 20) {
|
|
do_update_attack([update_id], source);
|
|
} else if (["strength","dexterity","constitution","intelligence","wisdom","charisma","spells","all"].indexOf(update_id) > -1) {
|
|
getSectionIDs("repeating_attacks", (idarray) => {
|
|
if (update_id === "all") {
|
|
do_update_attack(idarray);
|
|
} else if (update_id === "spells") {
|
|
let attack_attribs = [];
|
|
_.each(idarray, (id) => {
|
|
attack_attribs.push(`repeating_attacks_${id}_spellid`, `repeating_attacks_${id}_spelllevel`);
|
|
});
|
|
getAttrs(attack_attribs, (v) => {
|
|
const filteredIds = _.filter(idarray, (id) => {
|
|
return v[`repeating_attacks_${id}_spellid`] && v[`repeating_attacks_${id}_spellid`] != "";
|
|
});
|
|
let spell_attacks = {};
|
|
_.each(filteredIds, (attack_id) => {
|
|
spell_attacks[attack_id] = {
|
|
spell_id: v[`repeating_attacks_${attack_id}_spellid`],
|
|
spell_lvl: v[`repeating_attacks_${attack_id}_spelllevel`]
|
|
};
|
|
});
|
|
_.each(spell_attacks, (data, attack_id) => { update_attack_from_spell(data.spell_lvl, data.spell_id, attack_id); });
|
|
});
|
|
} else {
|
|
let attack_attribs = ["spellcasting_ability"];
|
|
_.each(idarray, (id) => {
|
|
attack_attribs.push(`repeating_attacks_${id}_atkattr_base`);
|
|
attack_attribs.push(`repeating_attacks_${id}_dmgattr`);
|
|
attack_attribs.push(`repeating_attacks_${id}_dmg2attr`);
|
|
attack_attribs.push(`repeating_attacks_${id}_savedc`);
|
|
});
|
|
getAttrs(attack_attribs, (v) => {
|
|
let attr_attack_ids = [];
|
|
_.each(idarray, (id) => {
|
|
if ((v[`repeating_attacks_${id}_atkattr_base`] && v[`repeating_attacks_${id}_atkattr_base`].indexOf(update_id) > -1) || (v[`repeating_attacks_${id}_dmgattr`] && v[`repeating_attacks_${id}_dmgattr`].indexOf(update_id) > -1) || (v[`repeating_attacks_${id}_dmg2attr`] && v[`repeating_attacks_${id}_dmg2attr`].indexOf(update_id) > -1) || (v[`repeating_attacks_${id}_savedc`] && v[`repeating_attacks_${id}_savedc`].indexOf(update_id) > -1) || (v[`repeating_attacks_${id}_savedc`] && v[`repeating_attacks_${id}_savedc`] === "(@{spell_save_dc})" && v["spellcasting_ability"] && v["spellcasting_ability"].indexOf(update_id) > -1)) {
|
|
attr_attack_ids.push(id);
|
|
}
|
|
});
|
|
if (attr_attack_ids.length > 0) {
|
|
do_update_attack(attr_attack_ids);
|
|
}
|
|
});
|
|
};
|
|
});
|
|
};
|
|
};
|
|
|
|
const do_update_attack = (attack_array, source) => {
|
|
let attack_attribs = ["character_level","proficient_bonus", "globalmagicmod","character_strength","character_dexterity","character_constitution","character_intelligence","character_wisdom","character_charisma","spellcasting_attribute","bonusataquemagia", "global_damage_mod_roll", "global_damage_mod_crit", "character_name"];
|
|
_.each(attack_array, (attackid) => {
|
|
["atkflag","atkname","atkattr_base","atkmod","atkprofflag","atkmagic","dmgflag","dmgbase","dmgattr","dmgmod","dmgtype","dmg2flag","dmg2base","dmg2attr","dmg2mod","dmg2type","dmgcustcrit","dmg2custcrit","saveflag","savedc","saveeffect","saveflat","hldmg","spellid","spelllevel","atkrange","itemid","ammo",].forEach((attr) => {
|
|
attack_attribs.push(`repeating_attacks_${attackid}_${attr}`)
|
|
});
|
|
});
|
|
|
|
getAttrs(attack_attribs, (v) => {
|
|
_.each(attack_array, (attackid) => {
|
|
const repeating_attacks = `repeating_attacks_${attackid}`;
|
|
let callbacks = [];
|
|
let update = {};
|
|
let hbonus = "";
|
|
let hdmg1 = "";
|
|
let hdmg2 = "";
|
|
let dmg = "";
|
|
let dmg2 = "";
|
|
let rollbase = "";
|
|
let spellattack = false;
|
|
let magicattackmod = 0;
|
|
let magicsavemod = 0;
|
|
let atkattr_abrev = "";
|
|
let dmgattr_abrev = "";
|
|
let dmg2attr_abrev = "";
|
|
//PROFICIENCY BONUS select in Settings.
|
|
//const pbd_safe = v["pbd_safe"] || "";
|
|
|
|
//HIGHER LVL CAST DMG found in Spells for spells like Fireball
|
|
|
|
//ATTACK select inside settings for the repeating attack
|
|
if (!v[`${repeating_attacks}_atkattr_base`] || v[`${repeating_attacks}_atkattr_base`] === "0") {
|
|
atkattr_base = 0
|
|
} else if (v[`${repeating_attacks}_atkattr_base`] && v[`${repeating_attacks}_atkattr_base`] === "spell") {
|
|
atkattr_base = parseInt(v[v["spellcasting_attribute"].substring(2, v["spellcasting_attribute"].length - 2)], 10);
|
|
atkattr_abrev = v["spellcasting_attribute"].substring(2, 5).toUpperCase();
|
|
} else {
|
|
atkattr_base = parseInt(v[v[`${repeating_attacks}_atkattr_base`].substring(2, v[`${repeating_attacks}_atkattr_base`].length - 1)], 10);
|
|
atkattr_abrev = v[`${repeating_attacks}_atkattr_base`].substring(2, 5).toUpperCase();
|
|
};
|
|
|
|
console.log("AtkBase", atkattr_base);
|
|
|
|
//DAMAGE 1 ability select inside settings for the repeating attack
|
|
if (!v[`${repeating_attacks}_dmgattr`] || v[`${repeating_attacks}_dmgattr`] === "0") {
|
|
dmgattr = 0;
|
|
} else if (v[`${repeating_attacks}_dmgattr`] && v[`${repeating_attacks}_dmgattr`] === "spell") {
|
|
dmgattr = parseInt(v[v["spellcasting_attribute"].substring(2, v["spellcasting_attribute"].length - 2)], 10);
|
|
dmgattr_abrev = v["spellcasting_attribute"].substring(2, 5).toUpperCase();
|
|
} else {
|
|
dmgattr = parseInt(v[v[`${repeating_attacks}_dmgattr`].substring(2, v[`${repeating_attacks}_dmgattr`].length - 1)], 10);
|
|
dmgattr_abrev = v[`${repeating_attacks}_dmgattr`].substring(2, 5).toUpperCase();
|
|
};
|
|
|
|
//DAMAGE 2 ability select inside settings for the repeating attack
|
|
if (!v[`${repeating_attacks}_dmg2attr`] || v[`${repeating_attacks}_dmg2attr`] === "0") {
|
|
dmg2attr = 0;
|
|
} else if (v[`${repeating_attacks}_dmg2attr`] && v[`${repeating_attacks}_dmg2attr`] === "spell") {
|
|
dmg2attr = parseInt(v[v["spellcasting_attribute"].substring(2, v["spellcasting_attribute"].length - 2)], 10);
|
|
dmg2attr_abrev = v["spellcasting_attribute"].substring(2, 5).toUpperCase();
|
|
} else {
|
|
dmg2attr = parseInt(v[v[`${repeating_attacks}_dmg2attr`].substring(2, v[`${repeating_attacks}_dmg2attr`].length - 1)], 10);
|
|
dmg2attr_abrev =v[`${repeating_attacks}_dmg2attr`].substring(2, 5).toUpperCase();
|
|
};
|
|
|
|
//DAMAGE first input inside settings for the repeating attack
|
|
const dmgbase = v[`${repeating_attacks}_dmgbase`] || 0;
|
|
const dmg2base = v[`${repeating_attacks}_dmg2base`] || 0;
|
|
//DAMAGE 1 second input inside settings for the repeating attack
|
|
const dmgmod = parseInt(v[`${repeating_attacks}_dmgmod`],10) || 0;
|
|
//DAMAGE 2 second input inside settings for the repeating attack
|
|
const dmg2mod = parseInt(v[`${repeating_attacks}_dmg2mod`],10) || 0;
|
|
//DAMAGE 1 TYPE input inside settings for the repeating attack
|
|
const dmgtype = v[`${repeating_attacks}_dmgtype`] || "";
|
|
//DAMAGE 2 TYPE input inside settings for the repeating attack
|
|
const dmg2type = v[`${repeating_attacks}_dmg2type`] || "";
|
|
|
|
//PROFICIENT flag inside settings for the repeating attack && PROFICIENCY BONUS from Settings
|
|
const atkprofflag = v[`${repeating_attacks}_atkprofflag`] || 0;
|
|
const proficient_bonus = (atkprofflag != 0 && v.proficient_bonus) ? v.proficient_bonus : 0;
|
|
|
|
//ATTACK input inside settings for the repeating attack
|
|
const atkmod = parseInt(v[`${repeating_attacks}_atkmod`],10) || 0;
|
|
//MAGIC BONUS input inside settings for the repeating attack
|
|
const atkmag = parseInt(v[`${repeating_attacks}_atkmagic`],10) || 0;
|
|
|
|
//used in _atkdmgtype display
|
|
const dmgmag = (isNaN(atkmag) === false && atkmag != 0 && ((v[`${repeating_attacks}_dmgflag`] && v[`${repeating_attacks}_dmgflag`] != 0) || (v[`${repeating_attacks}_dmg2flag`] && v[`${repeating_attacks}_dmg2flag`] != 0))) ? `+ ${atkmag} Magic Bonus` : "";
|
|
|
|
//ATTACK checkbox inside settings for the repeating attack
|
|
const atkflag = v[`${repeating_attacks}_atkflag`] || 0;
|
|
if (atkflag != 0) {
|
|
bonus_mod = atkattr_base + atkmod + atkmag + magicattackmod;
|
|
console.log("variaveis:", atkattr_base, atkmod, atkmag, magicattackmod, bonus_mod);
|
|
plus_minus = (bonus_mod > -1) ? "+" : "";
|
|
//pb_type is PROFICIENCY BONUS select in Settings
|
|
if (v["pb_type"] && v["pb_type"] === "die") {
|
|
bonus = `${bonus_mod}+${proficient_bonus}`;
|
|
} else {
|
|
bonus_mod = bonus_mod + parseInt(proficient_bonus, 10);
|
|
bonus = plus_minus + bonus_mod;
|
|
};
|
|
//SAVING THROW checkbox inside settings for the repeating attack
|
|
} else if (v[`${repeating_attacks}_saveflag`] && v[`${repeating_attacks}_saveflag`] != 0) {
|
|
const saveDC = v[`${repeating_attacks}_savedc`] || "";
|
|
//SAVING THROW VS DC select "Spell" inside settings for the repeating attack
|
|
if (!saveDC || saveDC === "(@{spell_save_dc})") {
|
|
const tempdc = v["spell_save_dc"];
|
|
bonus = "DC" + tempdc;
|
|
//SAVING THROW VS DC select "FLAT" inside settings for the repeating attack
|
|
} else if (saveDC === "(@{saveflat})") {
|
|
const tempdc = parseInt(v[`${repeating_attacks}_saveflat`]) || 0;
|
|
bonus = "DC" + tempdc;
|
|
//SAVING THROW VS DC select ability score inside settings for the repeating attack
|
|
} else {
|
|
const savedcattr = v[`${repeating_attacks}_savedc`].split("_mod")[0].slice(3);
|
|
const safe_pb = v["pb_type"] && v["pb_type"] === "die" ? parseInt(proficient_bonus.substring(1), 10) / 2 : parseInt(proficient_bonus,10);
|
|
const safe_attr = v[`${savedcattr}_mod`] ? parseInt(v[`${savedcattr}_mod`],10) : 0;
|
|
const tempdc = 8 + safe_attr + safe_pb + magicsavemod;
|
|
bonus = "DC" + tempdc;
|
|
};
|
|
} else {
|
|
bonus = "-";
|
|
}
|
|
|
|
//DAMAGE checkbox inside settings for the repeating attack
|
|
const dmgflag1 = v[`${repeating_attacks}_dmgflag`] || 0;
|
|
const dmgflag2 = v[`${repeating_attacks}_dmg2flag`] || 0;
|
|
if (dmgflag1 != 0) {
|
|
if (spellattack === true && dmgbase.indexOf("[[round((@{level} + 1) / 6 + 0.5)]]") > -1) {
|
|
// SPECIAL CANTRIP DAMAGE
|
|
dmgdiestring = Math.round(((parseInt(v["level"], 10) + 1) / 6) + 0.5).toString();
|
|
dmg = dmgdiestring + dmgbase.substring(dmgbase.lastIndexOf("d"));
|
|
//select & input to the right of damage
|
|
if (dmgattr + dmgmod != 0) {
|
|
dmg += `+${(dmgattr + dmgmod)}`;
|
|
}
|
|
dmg += ` ${dmgtype}`;
|
|
} else {
|
|
if (dmgbase === 0 && (dmgattr + dmgmod === 0)) {
|
|
dmg = 0;
|
|
}
|
|
if (dmgbase != 0) {
|
|
dmg = dmgbase;
|
|
}
|
|
if (dmgbase != 0 && (dmgattr + dmgmod != 0)) {
|
|
dmg = (dmgattr + dmgmod > 0) ? dmg + "+" : dmg;
|
|
}
|
|
if (dmgattr + dmgmod != 0) {
|
|
dmg = dmg + (dmgattr + dmgmod);
|
|
}
|
|
dmg = dmg + " " + dmgtype;
|
|
}
|
|
};
|
|
if (dmgflag2 != 0) {
|
|
if (dmg2base === 0 && (dmg2attr + dmg2mod === 0)) {
|
|
dmg2 = 0;
|
|
}
|
|
if (dmg2base != 0) {
|
|
dmg2 = dmg2base;
|
|
}
|
|
if (dmg2base != 0 && (dmg2attr + dmg2mod != 0)) {
|
|
dmg2 = (dmg2attr + dmg2mod > 0) ? dmg2 + "+" : dmg2;
|
|
}
|
|
if (dmg2attr + dmg2mod != 0) {
|
|
dmg2 = dmg2 + (dmg2attr + dmg2mod);
|
|
}
|
|
dmg2 = dmg2 + " " + dmg2type;
|
|
};
|
|
update[`${repeating_attacks}_atkdmgtype`] = (dmgflag1 != 0 && dmgflag2 != 0) ? `${dmg} + ${dmg2}${dmgmag} `:`${dmg}${dmg2}${dmgmag} `;
|
|
|
|
//Build ROLL TEMPLATE with below variables
|
|
//ATTACK checkbox inside settings for the repeating attack
|
|
if (atkflag != 0) {
|
|
if (atkattr_base != 0) {hbonus += ` + ${atkattr_base}[${atkattr_abrev}]`};
|
|
if (atkmod != 0) {hbonus += ` + ${atkmod}[MOD]`};
|
|
if (proficient_bonus != 0) {hbonus += ` + ${proficient_bonus}[PROF]`};
|
|
if (atkmag != 0) {hbonus += ` + ${atkmag}[MAGIC]`};
|
|
if (magicattackmod != 0) {hbonus += ` + ${magicattackmod}[SPELLATK]`};
|
|
}
|
|
//DAMAGE 1 checkbox inside settings for the repeating attack
|
|
if (dmgflag1 != 0) {
|
|
hdmg1 += dmgbase;
|
|
if (dmgattr != 0) {hdmg1 += ` + ${dmgattr}[${dmgattr_abrev}]`};
|
|
if (dmgmod != 0) {hdmg1 += ` + ${dmgmod}[MOD]`};
|
|
if (atkmag != 0) {hdmg1 += ` + ${atkmag}[MAGIC]`};
|
|
} else {
|
|
hdmg1 += "0";
|
|
}
|
|
//DAMAGE 2 checkbox inside settings for the repeating attack
|
|
if (dmgflag2 != 0) {
|
|
hdmg2 += dmg2base
|
|
if (dmg2attr != 0) {hdmg2 += ` + ${dmg2attr}[${dmg2attr_abrev}]`};
|
|
if (dmg2mod != 0) {hdmg2 += ` + ${dmg2mod}[MOD]`};
|
|
} else {
|
|
hdmg2 += "0";
|
|
}
|
|
//CRIT input inside settings for the repeating attack
|
|
let crit1 = v[`${repeating_attacks}_dmgcustcrit`] || 0;
|
|
let crit2 = v[`${repeating_attacks}_dmg2custcrit`] || 0;
|
|
crit1 = (crit1 != 0) ? v[`${repeating_attacks}_dmgcustcrit`] : dmgbase;
|
|
crit2 = (crit2 != 0) ? v[`${repeating_attacks}_dmg2custcrit`] : dmg2base;
|
|
r1 = "1d20";
|
|
r2 = "{{r2=[[0d20";
|
|
//set in the GLOBAL DAMAGE MODIFIER section
|
|
let globaldamage = `[[${v.global_damage_mod_roll || 0}]]`;
|
|
let globaldamagecrit = `[[${v.global_damage_mod_crit || 0}]]`;
|
|
let saveflag = 0;
|
|
|
|
//Assamble Roll Templates
|
|
//if (v.dtype === "full") {
|
|
rollbase = `&{template:atkdmg} {{character_name=@{character_name}}} {{mod=@{atkbonus}}} {{rname=@{atkname}}} {{r1=[[1d20cs>@{atkcritrange}${hbonus}]]}} ${r2}cs>@{atkcritrange}${hbonus}]]}} @{atkflag} {{range=@{atkrange}}} @{dmgflag} {{dmg1=[[${hdmg1}]]}} {{dmg1type=${dmgtype}}} @{dmg2flag} {{dmg2=[[${hdmg2}]]}} {{dmg2type=${dmg2type}}} {{crit1=[[${crit1}[CRIT]]]}} {{crit2=[[${crit2}[CRIT]]]}} {{desc=@{atk_desc}}} @{hldmg} {{spelllevel=@{spelllevel}}} {{innate=@{spell_innate}}} } {{globaldamage=${globaldamage}}} {{globaldamagecrit=${globaldamagecrit}}} ammo=@{ammo}`;
|
|
/*} else if (atkflag != 0) {
|
|
rollbase = `&{template:atk} {{mod=@{atkbonus}}} {{rname=[@{atkname}](~repeating_attacks_attack_dmg)}} {{rnamec=[@{atkname}](~repeating_attacks_attack_crit)}} {{r1=[[1d20cs>@{atkcritrange}${hbonus}]]}} ${r2}cs>@{atkcritrange}${hbonus}]]}} {{range=@{atkrange}}} {{desc=@{atk_desc}}} {{spelllevel=@{spelllevel}}} {{innate=@{spell_innate}}} } ammo=@{ammo} `;
|
|
} else if (dmgflag1 != 0) {
|
|
rollbase = `&{template:dmg} {{rname=@{atkname}}} @{atkflag} {{range=@{atkrange}}} @{dmgflag} {{dmg1=[[${hdmg1}]]}} {{dmg1type=${dmgtype}}} @{dmg2flag} {{dmg2=[[${hdmg2}]]}} {{dmg2type=${dmg2type}}} {{desc=@{atk_desc}}} @{hldmg} {{spelllevel=@{spelllevel}}} {{innate=@{spell_innate}}} {{globaldamage=${globaldamage}}} ammo=@{ammo} `;
|
|
} else {
|
|
rollbase = `&{template:dmg} {{rname=@{atkname}}} @{atkflag} {{range=@{atkrange}}} {{desc=@{atk_desc}}} {{spelllevel=@{spelllevel}}} {{innate=@{spell_innate}}} ammo=@{ammo} `;
|
|
}*/
|
|
|
|
update[`${repeating_attacks}_rollbase_dmg`] = `&{template:dmg} {{rname=@{atkname}}} @{atkflag} {{range=@{atkrange}}} @{dmgflag} {{dmg1=[[${hdmg1}]]}} {{dmg1type=${dmgtype}}} @{dmg2flag} {{dmg2=[[${hdmg2}]]}} {{dmg2type=${dmg2type}}} {{desc=@{atk_desc}}} @{hldmg} {{spelllevel=@{spelllevel}}} {{innate=@{spell_innate}}} {{globaldamage=${globaldamage}}} `;
|
|
update[`${repeating_attacks}_rollbase_crit`] = `&{template:dmg} {{crit=1}} {{rname=@{atkname}}} @{atkflag} {{range=@{atkrange}}} @{dmgflag} {{dmg1=[[${hdmg1}]]}} {{dmg1type=${dmgtype}}} @{dmg2flag} {{dmg2=[[${hdmg2}]]}} {{dmg2type=${dmg2type}}} {{crit1=[[${crit1}]]}} {{crit2=[[${crit2}]]}} {{desc=@{atk_desc}}} @{hldmg} {{spelllevel=@{spelllevel}}} {{innate=@{spell_innate}}} {{globaldamage=${globaldamage}}} {{globaldamagecrit=${globaldamagecrit}}} `;
|
|
update[`${repeating_attacks}_atkbonus`] = bonus;
|
|
update[`${repeating_attacks}_rollbase`] = rollbase;
|
|
|
|
|
|
setAttrs(update, {silent: true}, () => {
|
|
callbacks.forEach((callback) => {
|
|
callback();
|
|
});
|
|
});
|
|
});
|
|
});
|
|
};
|
|
</script>
|
|
|
|
<rolltemplate class="sheet-rolltemplate-actspell">
|
|
<div class="container-actspell">
|
|
<div class="charname">
|
|
<span>{{character_name}}</span>
|
|
</div>
|
|
<div class="sheet-actionspell-header">
|
|
<span>{{{tipoacao}}}</span> |
|
|
<span>{{{nameaction}}}</span> |
|
|
<span>{{custoacao}}</span>
|
|
</div>
|
|
{{#info_actions}}
|
|
<div class="sheet-actionspell-info">
|
|
<span class="sheet-span-info">Informações</span><span>{{info_actions}}</span>
|
|
</div>
|
|
{{/info_actions}}
|
|
{{#descritores_actions}}
|
|
<div class="sheet-actionspell-descriptor">
|
|
<span class="sheet-span-info">{{descritores_actions}}</span>
|
|
</div>
|
|
{{/descritores_actions}}
|
|
<div class="sheet-actionspell-white">
|
|
{{#alcance_actions}}
|
|
<span class="sheet-span-info">Alcance:</span><span>{{alcance_actions}}</span><br>
|
|
{{/alcance_actions}}
|
|
{{#alvo_actions}}
|
|
<span class="sheet-span-info">Alvo:</span><span>{{alvo_actions}}</span><br>
|
|
{{/alvo_actions}}
|
|
{{#duracao_actions}}
|
|
<span class="sheet-span-info">Duração:</span><span>{{duracao_actions}}</span><br>
|
|
{{/duracao_actions}}
|
|
{{#component_actions}}
|
|
<span class="sheet-span-info">Componente:</span><span>{{component_actions}}</span><br>
|
|
{{/component_actions}}
|
|
</div>
|
|
{{#gatilho_actions}}
|
|
<div class="sheet-actionspell-black">
|
|
<span class="sheet-span-info">Gatilho:</span><span>{{gatilho_actions}}</span>
|
|
</div>
|
|
{{/gatilho_actions}}
|
|
{{#ataque_actions}}
|
|
<div class="sheet-actionspell-white">
|
|
<span class="sheet-span-info">Ataque:</span><span>{{ataque_actions}}</span>
|
|
</div>
|
|
{{/ataque_actions}}
|
|
{{#acerto_actions}}
|
|
<div class="sheet-actionspell-black">
|
|
<span class="sheet-span-info">Acerto:</span><span>{{acerto_actions}}</span>
|
|
</div>
|
|
{{/acerto_actions}}
|
|
{{#erro_actions}}
|
|
<div class="sheet-actionspell-white">
|
|
<span class="sheet-span-info">Erro:</span><span>{{erro_actions}}</span>
|
|
</div>
|
|
{{/erro_actions}}
|
|
{{#efeito_actions}}
|
|
<div class="sheet-actionspell-black">
|
|
<span class="sheet-span-info">Efeito:</span><span>{{efeito_actions}}</span>
|
|
</div>
|
|
{{/efeito_actions}}
|
|
{{#especial_actions}}
|
|
<div class="sheet-actionspell-black">
|
|
<span class="sheet-span-info">Especial:</span><span>{{especial_actions}}</span>
|
|
</div>
|
|
{{/especial_actions}}
|
|
{{#modificacoes}}
|
|
<div class="sheet-actionspell-white">
|
|
<span class="sheet-span-info-header">Modificações:</span><br>
|
|
<span class="sheet-span-info">Custo:</span><span>{{customod_actions}}</span><br>
|
|
<span class="sheet-span-info">Tipo:</span><span>{{tipomod_actions}}</span><br>
|
|
<span class="sheet-span-info">Descrição:</span><span>{{description_actions}}</span>
|
|
</div>
|
|
{{/modificacoes}}
|
|
</div>
|
|
</rolltemplate>
|
|
|
|
<rolltemplate class="sheet-rolltemplate-atkdmg">
|
|
{{#attack}}
|
|
<div class="container atk">
|
|
<div class="charname">
|
|
<span>{{character_name}}</span>
|
|
</div>
|
|
<div class="result">
|
|
<div class="solo">
|
|
<span>Ataque:</span><span>{{r1}}{{#globalattack}} + {{globalattack}}{{/globalattack}}</span>
|
|
</div>
|
|
</div>
|
|
{{#range}}
|
|
<div class="sublabel">
|
|
<span>Distância:</span><span>{{range}}</span>
|
|
</div>
|
|
{{/range}}
|
|
<div class="label">
|
|
<span>{{rname}}{{#innate}}<span class="grey">, {{innate}}</span>{{/innate}}{{#attack}} <span>({{mod}})</span>{{/attack}}</span>
|
|
</div>
|
|
</div>
|
|
{{/attack}}
|
|
|
|
{{#desc}}
|
|
<div class="desc info">
|
|
<span>
|
|
<span class="top"></span><span class="middle">{{desc}}</span><span class="bottom"></span>
|
|
</span>
|
|
</div>
|
|
{{/desc}}
|
|
|
|
{{#^rollTotal() globaldamage 0}}
|
|
<div class="desc">
|
|
<span>
|
|
{{globaldamage}}
|
|
{{#attack}}
|
|
{{#rollWasCrit() r1}}<span class="plus"> + </span>{{globaldamagecrit}}{{/rollWasCrit() r1}}
|
|
{{/attack}}
|
|
</span>
|
|
<span class="sublabel">{{globaldamagetype}}</span>
|
|
</div>
|
|
{{/^rollTotal() globaldamage 0}}
|
|
|
|
{{#damage}}
|
|
<div class="container damagetemplate">
|
|
<div class="result">
|
|
{{#dmg1flag}}
|
|
{{^dmg2flag}}
|
|
<div class="solo">
|
|
<span>Dano:</span>
|
|
<span class="damage">
|
|
{{dmg1}}
|
|
{{#attack}}
|
|
{{#rollWasCrit() r1}}+ {{crit1}}{{/rollWasCrit() r1}}
|
|
{{/attack}}
|
|
</span>
|
|
<span class="sublabel">{{dmg1type}}</span>
|
|
</div>
|
|
{{/dmg2flag}}
|
|
{{/dmg1flag}}
|
|
{{#dmg2flag}}
|
|
{{^dmg1flag}}
|
|
<div class="solo">
|
|
<span>Dano 2:</span>
|
|
<span class="damage">
|
|
{{dmg2}}
|
|
{{#attack}}
|
|
{{#rollWasCrit() r1}}+ {{crit2}}{{/rollWasCrit() r1}}
|
|
{{/attack}}
|
|
</span>
|
|
<span class="sublabel">{{dmg2type}}</span>
|
|
</div>
|
|
{{/dmg1flag}}
|
|
{{/dmg2flag}}
|
|
{{#dmg1flag}}
|
|
{{#dmg2flag}}
|
|
<div class="adv">
|
|
<span class="damage">
|
|
{{dmg1}}
|
|
{{#attack}}
|
|
{{#rollWasCrit() r1}}+ {{crit1}}{{/rollWasCrit() r1}}
|
|
{{/attack}}
|
|
</span>
|
|
<span class="sublabel">{{dmg1type}}</span>
|
|
</div>
|
|
<div class="advspacer"></div>
|
|
<div class="adv">
|
|
<span>
|
|
{{dmg2}}
|
|
{{#attack}}
|
|
{{#rollWasCrit() r1}}+ {{crit2}}{{/rollWasCrit() r1}}
|
|
{{/attack}}
|
|
</span>
|
|
<span class="sublabel">{{dmg2type}}</span>
|
|
</div>
|
|
{{/dmg2flag}}
|
|
{{/dmg1flag}}
|
|
</div>
|
|
|
|
</div>
|
|
{{/damage}}
|
|
</rolltemplate>
|
|
|
|
<rolltemplate class="sheet-rolltemplate-skillroll">
|
|
<div class="container-actspell">
|
|
<div class="charname">
|
|
<span>{{character}}</span>
|
|
</div>
|
|
<div class="sheet-actionspell-header">
|
|
<span>{{{pericia}}}</span>
|
|
</div>
|
|
<div class="sheet-actionspell-info">
|
|
<span class="sheet-span-info">Rolagem</span><span>{{rolagem}}</span>
|
|
</div>
|
|
</div>
|
|
</rolltemplate>
|