mirror of
https://github.com/Nighthawk42/roll20-character-sheets.git
synced 2026-08-30 03:40:32 +00:00
1296 lines
76 KiB
HTML
1296 lines
76 KiB
HTML
<div class="main-wrapper">
|
||
|
||
<input type="radio" name="attr_tab_selector" class="sheet-tab-input sheet-tab1" value="1" checked />
|
||
<span class="sheet-tab-visual">DATOS Y HABILIDADES</span>
|
||
|
||
<span class="sheet-spacer"></span>
|
||
|
||
<input type="radio" name="attr_tab_selector" class="sheet-tab-input sheet-tab2" value="2" />
|
||
<span class="sheet-tab-visual">ESTADO Y EQUIPO</span>
|
||
|
||
<br><br><hr>
|
||
|
||
<div class="sheet-page-container sheet-page-1">
|
||
|
||
<h3 class="sheet-full-width-title">DATOS PERSONALES</h3>
|
||
<div class="sheet-personal-data-row">
|
||
<div class="sheet-data-box"><label>Nombre:</label> <input type="text" name="attr_character_name" style="width: 150px;"></div>
|
||
<div class="sheet-data-box"><label>Nacionalidad:</label> <input type="text" name="attr_nacionalidad" style="width: 100px;"></div>
|
||
<div class="sheet-data-box"><label>Nivel Social:</label> <input type="text" name="attr_nivel_social" style="width: 40px;"></div>
|
||
<div class="sheet-data-box"><label>Edad:</label> <input type="number" name="attr_edad"></div>
|
||
<div class="sheet-data-box"><label>Sexo:</label> <input type="text" name="attr_sexo" style="width: 60px;"></div>
|
||
<div class="sheet-data-box"><label>Altura:</label> <input type="text" name="attr_altura" style="width: 60px;"></div>
|
||
<div class="sheet-data-box"><label>Peso:</label> <input type="number" name="attr_peso"></div>
|
||
|
||
<div class="sheet-data-box" style="display: flex; align-items: flex-end; padding-bottom: 2px;">
|
||
<button type="action" name="act_roll_sombra" class="sheet-btn-tirada_sombra">Tirada Sombra</button>
|
||
</div>
|
||
</div>
|
||
<hr>
|
||
|
||
<div class="sheet-four-column-layout">
|
||
|
||
<div class="sheet-column">
|
||
<h3>CARACTERÍSTICAS</h3>
|
||
<div class="sheet-atributos-compact">
|
||
<div class="sheet-atributo-grupo">
|
||
<div class="sheet-header-with-input">
|
||
<h4>CUERPO</h4> <input type="number" name="attr_cuerpo" value="5" class="sheet-characteristic-input">
|
||
</div>
|
||
<div class="sheet-sub-row">
|
||
<span></span><button type="action" name="act_roll_fue" class="sheet-skill-roll-btn">t</button>
|
||
<label>Fuerza:</label> <input type="number" name="attr_fue" value="5"></div>
|
||
<div class="sheet-sub-row">
|
||
<span></span><button type="action" name="act_roll_vit" class="sheet-skill-roll-btn">t</button>
|
||
<label>Vitalidad:</label> <input type="number" name="attr_vit" value="5"></div>
|
||
<div class="sheet-sub-row">
|
||
<span></span><button type="action" name="act_roll_res" class="sheet-skill-roll-btn">t</button>
|
||
<label>Resistencia:</label> <input type="number" name="attr_res" value="5"></div>
|
||
</div>
|
||
<div class="sheet-atributo-grupo">
|
||
<div class="sheet-header-with-input">
|
||
<h4>DESTREZA</h4> <input type="number" name="attr_destreza" value="5" class="sheet-characteristic-input">
|
||
</div>
|
||
<div class="sheet-sub-row">
|
||
<span></span><button type="action" name="act_roll_agi" class="sheet-skill-roll-btn">t</button>
|
||
<label>Agilidad:</label> <input type="number" name="attr_agi" value="5"></div>
|
||
<div class="sheet-sub-row">
|
||
<span></span><button type="action" name="act_roll_coo" class="sheet-skill-roll-btn">t</button>
|
||
<label>Coordinación:</label> <input type="number" name="attr_coo" value="5"></div>
|
||
<div class="sheet-sub-row">
|
||
<span></span><button type="action" name="act_roll_vel" class="sheet-skill-roll-btn">t</button>
|
||
<label>Velocidad:</label> <input type="number" name="attr_vel" value="5"></div>
|
||
</div>
|
||
<div class="sheet-atributo-grupo">
|
||
<div class="sheet-header-with-input">
|
||
<h4>INTELIGENCIA</h4> <input type="number" name="attr_inteligencia" value="5" class="sheet-characteristic-input">
|
||
</div>
|
||
<div class="sheet-sub-row">
|
||
<span></span><button type="action" name="act_roll_mem" class="sheet-skill-roll-btn">t</button>
|
||
<label>Memoria:</label> <input type="number" name="attr_mem" value="5"></div>
|
||
<div class="sheet-sub-row">
|
||
<span></span><button type="action" name="act_roll_log" class="sheet-skill-roll-btn">t</button>
|
||
<label>Lógica:</label> <input type="number" name="attr_log" value="5"></div>
|
||
<div class="sheet-sub-row">
|
||
<span></span><button type="action" name="act_roll_inv" class="sheet-skill-roll-btn">t</button>
|
||
<label>Inventiva:</label> <input type="number" name="attr_inv" value="5"></div>
|
||
</div>
|
||
<div class="sheet-atributo-grupo">
|
||
<div class="sheet-header-with-input">
|
||
<h4>PRESENCIA</h4> <input type="number" name="attr_presencia" value="5" class="sheet-characteristic-input">
|
||
</div>
|
||
<div class="sheet-sub-row">
|
||
<span></span><button type="action" name="act_roll_car" class="sheet-skill-roll-btn">t</button>
|
||
<label>Carisma:</label> <input type="number" name="attr_car" value="5"></div>
|
||
<div class="sheet-sub-row">
|
||
<span></span><button type="action" name="act_roll_vol" class="sheet-skill-roll-btn">t</button>
|
||
<label>Voluntad:</label> <input type="number" name="attr_vol" value="5"></div>
|
||
<div class="sheet-sub-row">
|
||
<span></span><button type="action" name="act_roll_apa" class="sheet-skill-roll-btn">t</button>
|
||
<label>Apariencia:</label> <input type="number" name="attr_apa" value="5"></div>
|
||
</div>
|
||
<div class="sheet-atributo-grupo">
|
||
<div class="sheet-header-with-input">
|
||
<h4>INSTINTO</h4> <input type="number" name="attr_instinto" value="5" class="sheet-characteristic-input">
|
||
</div>
|
||
<div class="sheet-sub-row">
|
||
<span></span><button type="action" name="act_roll_per" class="sheet-skill-roll-btn">t</button>
|
||
<label>Percepción:</label> <input type="number" name="attr_per" value="5"></div>
|
||
<div class="sheet-sub-row">
|
||
<span></span><button type="action" name="act_roll_int" class="sheet-skill-roll-btn">t</button>
|
||
<label>Intuición:</label> <input type="number" name="attr_int" value="5"></div>
|
||
<div class="sheet-sub-row">
|
||
<span></span><button type="action" name="act_roll_con" class="sheet-skill-roll-btn">t</button>
|
||
<label>Concentración:</label> <input type="number" name="attr_con" value="5"></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
|
||
|
||
<div class="sheet-column">
|
||
<h3>GENERALES</h3>
|
||
<div class="sheet-skills-container">
|
||
<div class="sheet-skill-row sheet-skill-header">
|
||
|
||
<span></span> <!-- Espacio para el botón -->
|
||
<span>Hab.</span> <span>At.</span> <span>Bs</span> <span>Nv</span> <span>Tot</span>
|
||
</div>
|
||
<div class="sheet-skill-row">
|
||
<button type="action" name="act_roll_arriero" class="sheet-skill-roll-btn">t</button>
|
||
<span>Arriero</span>
|
||
<span class="sheet-attr-ref">COO</span>
|
||
<input type="number" name="attr_arriero_base" readonly>
|
||
<input type="number" name="attr_arriero_nivel">
|
||
<input type="number" name="attr_arriero_total" readonly class="sheet-total-box">
|
||
</div>
|
||
|
||
|
||
<div class="sheet-skill-row">
|
||
<button type="action" name="act_roll_chusma" class="sheet-skill-roll-btn">t</button>
|
||
<span>Chusma</span>
|
||
<span class="sheet-attr-ref">INT</span>
|
||
<input type="number" name="attr_chusma_base" readonly>
|
||
<input type="number" name="attr_chusma_nivel">
|
||
<input type="number" name="attr_chusma_total" readonly class="sheet-total-box">
|
||
</div>
|
||
|
||
<div class="sheet-skill-row">
|
||
<button type="action" name="act_roll_correr" class="sheet-skill-roll-btn">t</button>
|
||
<span>Correr</span>
|
||
<span class="sheet-attr-ref">VIT</span>
|
||
<input type="number" name="attr_correr_base" readonly>
|
||
<input type="number" name="attr_correr_nivel">
|
||
<input type="number" name="attr_correr_total" readonly class="sheet-total-box">
|
||
</div>
|
||
|
||
<div class="sheet-skill-row">
|
||
<button type="action" name="act_roll_dialectica" class="sheet-skill-roll-btn">t</button>
|
||
<span>Dialéctica</span>
|
||
<span class="sheet-attr-ref">CAR</span>
|
||
<input type="number" name="attr_dialectica_base" readonly>
|
||
<input type="number" name="attr_dialectica_nivel">
|
||
<input type="number" name="attr_dialectica_total" readonly class="sheet-total-box">
|
||
</div>
|
||
|
||
<div class="sheet-skill-row">
|
||
<button type="action" name="act_roll_disfraz" class="sheet-skill-roll-btn">t</button>
|
||
<span>Disfraz</span>
|
||
<span class="sheet-attr-ref">INV</span>
|
||
<input type="number" name="attr_disfraz_base" readonly>
|
||
<input type="number" name="attr_disfraz_nivel">
|
||
<input type="number" name="attr_disfraz_total" readonly class="sheet-total-box">
|
||
</div>
|
||
|
||
<div class="sheet-skill-row">
|
||
<button type="action" name="act_roll_don_gentes" class="sheet-skill-roll-btn">t</button>
|
||
<span>Don Gentes</span>
|
||
<span class="sheet-attr-ref">INT</span>
|
||
<input type="number" name="attr_don_gentes_base" readonly>
|
||
<input type="number" name="attr_don_gentes_nivel">
|
||
<input type="number" name="attr_don_gentes_total" readonly class="sheet-total-box">
|
||
</div>
|
||
<div class="sheet-skill-row">
|
||
<button type="action" name="act_roll_escamotear" class="sheet-skill-roll-btn">t</button>
|
||
<span>Escamotear</span>
|
||
<span class="sheet-attr-ref">COO</span>
|
||
<input type="number" name="attr_escamotear_base" readonly>
|
||
<input type="number" name="attr_escamotear_nivel">
|
||
<input type="number" name="attr_escamotear_total" readonly class="sheet-total-box">
|
||
</div>
|
||
<div class="sheet-skill-row">
|
||
<button type="action" name="act_roll_intimidar" class="sheet-skill-roll-btn">t</button>
|
||
<span>Intimidar</span>
|
||
<span class="sheet-attr-ref">CAR</span>
|
||
<input type="number" name="attr_intimidar_base" readonly>
|
||
<input type="number" name="attr_intimidar_nivel">
|
||
<input type="number" name="attr_intimidar_total" readonly class="sheet-total-box">
|
||
</div>
|
||
<div class="sheet-skill-row">
|
||
<button type="action" name="act_roll_observacion" class="sheet-skill-roll-btn">t</button>
|
||
<span>Observación</span>
|
||
<span class="sheet-attr-ref">PER</span>
|
||
<input type="number" name="attr_observacion_base" readonly>
|
||
<input type="number" name="attr_observacion_nivel">
|
||
<input type="number" name="attr_observacion_total" readonly class="sheet-total-box">
|
||
</div>
|
||
<div class="sheet-skill-row">
|
||
<button type="action" name="act_roll_ocultar" class="sheet-skill-roll-btn">t</button>
|
||
<span>Ocultar</span>
|
||
<span class="sheet-attr-ref">INV</span>
|
||
<input type="number" name="attr_ocultar_base" readonly>
|
||
<input type="number" name="attr_ocultar_nivel">
|
||
<input type="number" name="attr_ocultar_total" readonly class="sheet-total-box">
|
||
</div>
|
||
<div class="sheet-skill-row">
|
||
<button type="action" name="act_roll_protocolo" class="sheet-skill-roll-btn">t</button>
|
||
<span>Protocolo</span>
|
||
<span class="sheet-attr-ref">MEM</span>
|
||
<input type="number" name="attr_protocolo_base" readonly>
|
||
<input type="number" name="attr_protocolo_nivel">
|
||
<input type="number" name="attr_protocolo_total" readonly class="sheet-total-box">
|
||
</div>
|
||
<div class="sheet-skill-row">
|
||
<button type="action" name="act_roll_sigilo" class="sheet-skill-roll-btn">t</button>
|
||
<span>Sigilo</span>
|
||
<span class="sheet-attr-ref">CON</span>
|
||
<input type="number" name="attr_sigilo_base" readonly>
|
||
<input type="number" name="attr_sigilo_nivel">
|
||
<input type="number" name="attr_sigilo_total" readonly class="sheet-total-box">
|
||
</div>
|
||
<div class="sheet-skill-row">
|
||
<button type="action" name="act_roll_saltar" class="sheet-skill-roll-btn">t</button>
|
||
<span>Saltar</span>
|
||
<span class="sheet-attr-ref">AGI</span>
|
||
<input type="number" name="attr_saltar_base" readonly>
|
||
<input type="number" name="attr_saltar_nivel">
|
||
<input type="number" name="attr_saltar_total" readonly class="sheet-total-box">
|
||
</div>
|
||
<div class="sheet-skill-row">
|
||
<button type="action" name="act_roll_sanar" class="sheet-skill-roll-btn">t</button>
|
||
<span>Sanar</span>
|
||
<span class="sheet-attr-ref">INT</span>
|
||
<input type="number" name="attr_sanar_base" readonly>
|
||
<input type="number" name="attr_sanar_nivel">
|
||
<input type="number" name="attr_sanar_total" readonly class="sheet-total-box">
|
||
</div>
|
||
<div class="sheet-skill-row">
|
||
<button type="action" name="act_roll_seduccion" class="sheet-skill-roll-btn">t</button>
|
||
<span>Seducción</span>
|
||
<span class="sheet-attr-ref">CAR</span>
|
||
<input type="number" name="attr_seduccion_base" readonly>
|
||
<input type="number" name="attr_seduccion_nivel">
|
||
<input type="number" name="attr_seduccion_total" readonly class="sheet-total-box">
|
||
</div>
|
||
<div class="sheet-skill-row">
|
||
<button type="action" name="act_roll_supervivencia" class="sheet-skill-roll-btn">t</button>
|
||
<span>Superviv.</span>
|
||
<span class="sheet-attr-ref">LOG</span>
|
||
<input type="number" name="attr_supervivencia_base" readonly>
|
||
<input type="number" name="attr_supervivencia_nivel">
|
||
<input type="number" name="attr_supervivencia_total" readonly class="sheet-total-box">
|
||
</div>
|
||
<div class="sheet-skill-row">
|
||
<button type="action" name="act_roll_trepar" class="sheet-skill-roll-btn">t</button>
|
||
<span>Trepar</span>
|
||
<span class="sheet-attr-ref">AGI</span>
|
||
<input type="number" name="attr_trepar_base" readonly>
|
||
<input type="number" name="attr_trepar_nivel">
|
||
<input type="number" name="attr_trepar_total" readonly class="sheet-total-box">
|
||
</div>
|
||
</div>
|
||
|
||
<h3>INFLUENCIA</h3>
|
||
<div class="sheet-skills-container">
|
||
<div class="sheet-skill-row sheet-skill-header">
|
||
<span></span> <!-- Espacio para el botón -->
|
||
<span>Ámbito</span> <span>At.</span> <span>Bs</span> <span>Nv</span> <span>Tot</span></div>
|
||
|
||
<div class="sheet-skill-row">
|
||
<button type="action" name="act_roll_influencia_1" class="sheet-skill-roll-btn">t</button>
|
||
<span><input type="text" name="attr_influencia_1_nombre" placeholder="Inf..." class="sheet-text-line"></span>
|
||
<span class="sheet-attr-ref">NIV</span>
|
||
<input type="number" name="attr_influencia_1_base" readonly>
|
||
<input type="number" name="attr_influencia_1_nivel">
|
||
<input type="number" name="attr_influencia_1_total" readonly class="sheet-total-box">
|
||
</div>
|
||
<div class="sheet-skill-row">
|
||
<button type="action" name="act_roll_influencia_2" class="sheet-skill-roll-btn">t</button>
|
||
<span><input type="text" name="attr_influencia_2_nombre" placeholder="Inf..." class="sheet-text-line"></span>
|
||
<span class="sheet-attr-ref">NIV</span>
|
||
<input type="number" name="attr_influencia_2_base" readonly>
|
||
<input type="number" name="attr_influencia_2_nivel">
|
||
<input type="number" name="attr_influencia_2_total" readonly class="sheet-total-box">
|
||
</div>
|
||
<div class="sheet-skill-row">
|
||
<button type="action" name="act_roll_influencia_3" class="sheet-skill-roll-btn">t</button>
|
||
<span><input type="text" name="attr_influencia_3_nombre" placeholder="Inf..." class="sheet-text-line"></span>
|
||
<span class="sheet-attr-ref">NIV</span>
|
||
<input type="number" name="attr_influencia_3_base" readonly>
|
||
<input type="number" name="attr_influencia_3_nivel">
|
||
<input type="number" name="attr_influencia_3_total" readonly class="sheet-total-box">
|
||
</div>
|
||
<div class="sheet-skill-row">
|
||
<button type="action" name="act_roll_influencia_4" class="sheet-skill-roll-btn">t</button>
|
||
<span><input type="text" name="attr_influencia_4_nombre" placeholder="Inf..." class="sheet-text-line"></span>
|
||
<span class="sheet-attr-ref">NIV</span>
|
||
<input type="number" name="attr_influencia_4_base" readonly>
|
||
<input type="number" name="attr_influencia_4_nivel">
|
||
<input type="number" name="attr_influencia_4_total" readonly class="sheet-total-box">
|
||
</div>
|
||
<div class="sheet-skill-row">
|
||
<button type="action" name="act_roll_influencia_5" class="sheet-skill-roll-btn">t</button>
|
||
<span><input type="text" name="attr_influencia_5_nombre" placeholder="Inf..." class="sheet-text-line"></span>
|
||
<span class="sheet-attr-ref">NIV</span>
|
||
<input type="number" name="attr_influencia_5_base" readonly>
|
||
<input type="number" name="attr_influencia_5_nivel">
|
||
<input type="number" name="attr_influencia_5_total" readonly class="sheet-total-box">
|
||
</div>
|
||
<div class="sheet-skill-row">
|
||
<button type="action" name="act_roll_influencia_6" class="sheet-skill-roll-btn">t</button>
|
||
<span><input type="text" name="attr_influencia_6_nombre" placeholder="Inf..." class="sheet-text-line"></span>
|
||
<span class="sheet-attr-ref">NIV</span>
|
||
<input type="number" name="attr_influencia_6_base" readonly>
|
||
<input type="number" name="attr_influencia_6_nivel">
|
||
<input type="number" name="attr_influencia_6_total" readonly class="sheet-total-box">
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="sheet-column">
|
||
<h3>RESTRINGIDAS</h3>
|
||
<div class="sheet-skills-container">
|
||
<div class="sheet-skill-row sheet-skill-header"><span>Hab.</span> <span>At.</span> <span>Bs</span> <span>Nv</span> <span>Tot</span></div>
|
||
|
||
<div class="sheet-skill-row">
|
||
<button type="action" name="act_roll_cerraduras" class="sheet-skill-roll-btn">t</button>
|
||
<span>Cerraduras</span>
|
||
<span class="sheet-attr-ref">COO</span>
|
||
<input type="number" name="attr_cerraduras_base" readonly>
|
||
<input type="number" name="attr_cerraduras_nivel">
|
||
<input type="number" name="attr_cerraduras_total" readonly class="sheet-total-box">
|
||
</div>
|
||
<div class="sheet-skill-row">
|
||
<button type="action" name="act_roll_equitacion" class="sheet-skill-roll-btn">t</button>
|
||
<span>Equitación</span>
|
||
<span class="sheet-attr-ref">COO</span>
|
||
<input type="number" name="attr_equitacion_base" readonly>
|
||
<input type="number" name="attr_equitacion_nivel">
|
||
<input type="number" name="attr_equitacion_total" readonly class="sheet-total-box">
|
||
</div>
|
||
<div class="sheet-skill-row">
|
||
<button type="action" name="act_roll_falsificar" class="sheet-skill-roll-btn">t</button>
|
||
<span>Falsificar</span>
|
||
<span class="sheet-attr-ref">COO</span>
|
||
<input type="number" name="attr_falsificar_base" readonly>
|
||
<input type="number" name="attr_falsificar_nivel">
|
||
<input type="number" name="attr_falsificar_total" readonly class="sheet-total-box">
|
||
</div>
|
||
<div class="sheet-skill-row sheet-root-skill">
|
||
<button type="action" name="act_roll_artesania" class="sheet-skill-roll-btn">t</button>
|
||
<span><b>ARTESANÍA</b></span>
|
||
<span class="sheet-attr-ref">COO</span>
|
||
<input type="number" name="attr_artesania_base" readonly>
|
||
<input type="number" name="attr_artesania_nivel">
|
||
<input type="number" name="attr_artesania_total" readonly class="sheet-total-box">
|
||
</div>
|
||
<div class="sheet-skill-row sheet-child-skill">
|
||
<button type="action" name="act_roll_artesania_spec1" class="sheet-skill-roll-btn">t</button>
|
||
<span><input type="text" name="attr_artesania_spec1_nombre" placeholder="Esp. 1"></span>
|
||
<span class="sheet-attr-ref"></span>
|
||
<input type="hidden">
|
||
<input type="number" name="attr_artesania_spec1_nivel">
|
||
<input type="number" name="attr_artesania_spec1_total" readonly class="sheet-total-box">
|
||
</div>
|
||
<div class="sheet-skill-row sheet-child-skill">
|
||
<button type="action" name="act_roll_artesania_spec2" class="sheet-skill-roll-btn">t</button>
|
||
<span><input type="text" name="attr_artesania_spec2_nombre" placeholder="Esp. 2"></span>
|
||
<span class="sheet-attr-ref"></span>
|
||
<input type="hidden">
|
||
<input type="number" name="attr_artesania_spec2_nivel">
|
||
<input type="number" name="attr_artesania_spec2_total" readonly class="sheet-total-box">
|
||
</div>
|
||
<div class="sheet-skill-row sheet-child-skill">
|
||
<button type="action" name="act_roll_artesania_spec3" class="sheet-skill-roll-btn">t</button>
|
||
<span><input type="text" name="attr_artesania_spec3_nombre" placeholder="Esp. 3"></span>
|
||
<span class="sheet-attr-ref"></span>
|
||
<input type="hidden"><input type="number" name="attr_artesania_spec3_nivel">
|
||
<input type="number" name="attr_artesania_spec3_total" readonly class="sheet-total-box">
|
||
</div>
|
||
|
||
<div class="sheet-skill-row sheet-root-skill">
|
||
<button type="action" name="act_roll_con_academico" class="sheet-skill-roll-btn">t</button>
|
||
<span><b>ACADÉMICO</b></span>
|
||
<span class="sheet-attr-ref">MEM</span>
|
||
<input type="number" name="attr_con_academico_base" readonly>
|
||
<input type="number" name="attr_con_academico_nivel">
|
||
<input type="number" name="attr_con_academico_total" readonly class="sheet-total-box">
|
||
</div>
|
||
<div class="sheet-skill-row sheet-child-skill">
|
||
<button type="action" name="act_roll_con_academico_spec1" class="sheet-skill-roll-btn">t</button>
|
||
<span><input type="text" name="attr_con_academico_spec1_nombre" placeholder="Esp. 1"></span>
|
||
<span class="sheet-attr-ref"></span> <input type="hidden">
|
||
<input type="number" name="attr_con_academico_spec1_nivel">
|
||
<input type="number" name="attr_con_academico_spec1_total" readonly class="sheet-total-box">
|
||
</div>
|
||
<div class="sheet-skill-row sheet-child-skill">
|
||
<button type="action" name="act_roll_con_academico_spec2" class="sheet-skill-roll-btn">t</button>
|
||
<span><input type="text" name="attr_con_academico_spec2_nombre" placeholder="Esp. 2"></span>
|
||
<span class="sheet-attr-ref"></span>
|
||
<input type="hidden"><input type="number" name="attr_con_academico_spec2_nivel">
|
||
<input type="number" name="attr_con_academico_spec2_total" readonly class="sheet-total-box">
|
||
</div>
|
||
<div class="sheet-skill-row sheet-root-skill">
|
||
<button type="action" name="act_roll_con_cientifico" class="sheet-skill-roll-btn">t</button>
|
||
<span><b>CIENTÍFICO</b></span>
|
||
<span class="sheet-attr-ref">MEM</span>
|
||
<input type="number" name="attr_con_cientifico_base" readonly>
|
||
<input type="number" name="attr_con_cientifico_nivel">
|
||
<input type="number" name="attr_con_cientifico_total" readonly class="sheet-total-box">
|
||
</div>
|
||
<div class="sheet-skill-row sheet-child-skill">
|
||
<button type="action" name="act_roll_con_cientifico_spec1" class="sheet-skill-roll-btn">t</button>
|
||
<span><input type="text" name="attr_con_cientifico_spec1_nombre" placeholder="Esp. 1"></span>
|
||
<span class="sheet-attr-ref"></span> <input type="hidden">
|
||
<input type="number" name="attr_con_cientifico_spec1_nivel">
|
||
<input type="number" name="attr_con_cientifico_spec1_total" readonly class="sheet-total-box">
|
||
</div>
|
||
<div class="sheet-skill-row sheet-child-skill">
|
||
<button type="action" name="act_roll_con_cientifico_spec2" class="sheet-skill-roll-btn">t</button>
|
||
<span><input type="text" name="attr_con_cientifico_spec2_nombre" placeholder="Esp. 2"></span>
|
||
<span class="sheet-attr-ref"></span> <input type="hidden">
|
||
<input type="number" name="attr_con_cientifico_spec2_nivel">
|
||
<input type="number" name="attr_con_cientifico_spec2_total" readonly class="sheet-total-box">
|
||
</div>
|
||
<div class="sheet-skill-row sheet-root-skill">
|
||
<button type="action" name="act_roll_con_militar" class="sheet-skill-roll-btn">t</button>
|
||
<span><b>MILITAR</b></span>
|
||
<span class="sheet-attr-ref">LOG</span>
|
||
<input type="number" name="attr_con_militar_base" readonly>
|
||
<input type="number" name="attr_con_militar_nivel">
|
||
<input type="number" name="attr_con_militar_total" readonly class="sheet-total-box">
|
||
</div>
|
||
<div class="sheet-skill-row sheet-child-skill">
|
||
<button type="action" name="act_roll_con_militar_spec1" class="sheet-skill-roll-btn">t</button>
|
||
<span><input type="text" name="attr_con_militar_spec1_nombre" placeholder="Esp. 1"></span>
|
||
<span class="sheet-attr-ref"></span> <input type="hidden">
|
||
<input type="number" name="attr_con_militar_spec1_nivel">
|
||
<input type="number" name="attr_con_militar_spec1_total" readonly class="sheet-total-box">
|
||
</div>
|
||
<div class="sheet-skill-row sheet-child-skill">
|
||
<button type="action" name="act_roll_con_militar_spec2" class="sheet-skill-roll-btn">t</button>
|
||
<span><input type="text" name="attr_con_militar_spec2_nombre" placeholder="Esp. 2"></span>
|
||
<span class="sheet-attr-ref"></span> <input type="hidden">
|
||
<input type="number" name="attr_con_militar_spec2_nivel">
|
||
<input type="number" name="attr_con_militar_spec2_total" readonly class="sheet-total-box">
|
||
</div>
|
||
<div class="sheet-skill-row sheet-root-skill">
|
||
<button type="action" name="act_roll_hab_escenicas" class="sheet-skill-roll-btn">t</button>
|
||
<span><b>ESCÉNICAS</b></span>
|
||
<span class="sheet-attr-ref">CAR</span>
|
||
<input type="number" name="attr_hab_escenicas_base" readonly>
|
||
<input type="number" name="attr_hab_escenicas_nivel">
|
||
<input type="number" name="attr_hab_escenicas_total" readonly class="sheet-total-box">
|
||
</div>
|
||
<div class="sheet-skill-row sheet-child-skill">
|
||
<button type="action" name="act_roll_hab_escenicas_spec1" class="sheet-skill-roll-btn">t</button>
|
||
<span><input type="text" name="attr_hab_escenicas_spec1_nombre" placeholder="Esp. 1"></span>
|
||
<span class="sheet-attr-ref"></span> <input type="hidden">
|
||
<input type="number" name="attr_hab_escenicas_spec1_nivel">
|
||
<input type="number" name="attr_hab_escenicas_spec1_total" readonly class="sheet-total-box">
|
||
</div>
|
||
<div class="sheet-skill-row sheet-child-skill">
|
||
<button type="action" name="act_roll_hab_escenicas_spec2" class="sheet-skill-roll-btn">t</button>
|
||
<span><input type="text" name="attr_hab_escenicas_spec2_nombre" placeholder="Esp. 2"></span>
|
||
<span class="sheet-attr-ref"></span> <input type="hidden">
|
||
<input type="number" name="attr_hab_escenicas_spec2_nivel">
|
||
<input type="number" name="attr_hab_escenicas_spec2_total" readonly class="sheet-total-box">
|
||
</div>
|
||
<div class="sheet-skill-row sheet-root-skill">
|
||
<button type="action" name="act_roll_hab_plasticas" class="sheet-skill-roll-btn">t</button>
|
||
<span><b>PLÁSTICAS</b></span>
|
||
<span class="sheet-attr-ref">INV</span>
|
||
<input type="number" name="attr_hab_plasticas_base" readonly>
|
||
<input type="number" name="attr_hab_plasticas_nivel">
|
||
<input type="number" name="attr_hab_plasticas_total" readonly class="sheet-total-box">
|
||
</div>
|
||
<div class="sheet-skill-row sheet-child-skill">
|
||
<button type="action" name="act_roll_hab_plasticas_spec1" class="sheet-skill-roll-btn">t</button>
|
||
<span><input type="text" name="attr_hab_plasticas_spec1_nombre" placeholder="Esp. 1"></span>
|
||
<span class="sheet-attr-ref"></span> <input type="hidden">
|
||
<input type="number" name="attr_hab_plasticas_spec1_nivel">
|
||
<input type="number" name="attr_hab_plasticas_spec1_total" readonly class="sheet-total-box">
|
||
</div>
|
||
<div class="sheet-skill-row sheet-child-skill">
|
||
<button type="action" name="act_roll_hab_plasticas_spec2" class="sheet-skill-roll-btn">t</button>
|
||
<span><input type="text" name="attr_hab_plasticas_spec2_nombre" placeholder="Esp. 2"></span>
|
||
<span class="sheet-attr-ref"></span> <input type="hidden">
|
||
<input type="number" name="attr_hab_plasticas_spec2_nivel">
|
||
<input type="number" name="attr_hab_plasticas_spec2_total" readonly class="sheet-total-box">
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="sheet-column">
|
||
<h3>COMBATE</h3>
|
||
<div class="sheet-skills-container">
|
||
<div class="sheet-skill-row sheet-skill-header">
|
||
<span>Hab.</span> <span>At.</span> <span>Bs</span> <span>Nv</span> <span>Tot</span></div>
|
||
<div class="sheet-skill-row sheet-root-skill">
|
||
<button type="action" name="act_roll_arma_blanca" class="sheet-skill-roll-btn">t</button>
|
||
<span><b>A.BLANCA</b></span>
|
||
<span class="sheet-attr-ref">AGI</span>
|
||
<input type="number" name="attr_arma_blanca_base" readonly>
|
||
<input type="number" name="attr_arma_blanca_nivel">
|
||
<input type="number" name="attr_arma_blanca_total" readonly class="sheet-total-box">
|
||
</div>
|
||
<div class="sheet-skill-row sheet-child-skill">
|
||
<button type="action" name="act_roll_asta" class="sheet-skill-roll-btn">t</button>
|
||
<span>Asta</span>
|
||
<span class="sheet-attr-ref"></span> <input type="hidden">
|
||
<input type="number" name="attr_asta_nivel">
|
||
<input type="number" name="attr_asta_total" readonly class="sheet-total-box">
|
||
</div>
|
||
<div class="sheet-skill-row sheet-child-skill">
|
||
<button type="action" name="act_roll_cuchillo" class="sheet-skill-roll-btn">t</button>
|
||
<span>Cuchillo</span>
|
||
<span class="sheet-attr-ref"></span> <input type="hidden">
|
||
<input type="number" name="attr_cuchillo_nivel">
|
||
<input type="number" name="attr_cuchillo_total" readonly class="sheet-total-box">
|
||
</div>
|
||
<div class="sheet-skill-row sheet-child-skill">
|
||
<button type="action" name="act_roll_esgrima" class="sheet-skill-roll-btn">t</button>
|
||
<span>Esgrima</span>
|
||
<span class="sheet-attr-ref"></span> <input type="hidden">
|
||
<input type="number" name="attr_esgrima_nivel">
|
||
<input type="number" name="attr_esgrima_total" readonly class="sheet-total-box">
|
||
</div>
|
||
<div class="sheet-skill-row sheet-child-skill">
|
||
<button type="action" name="act_roll_contundentes" class="sheet-skill-roll-btn">t</button>
|
||
<span>Contun.</span>
|
||
<span class="sheet-attr-ref"></span> <input type="hidden">
|
||
<input type="number" name="attr_contundentes_nivel">
|
||
<input type="number" name="attr_contundentes_total" readonly class="sheet-total-box">
|
||
</div>
|
||
<div class="sheet-skill-row sheet-root-skill">
|
||
<button type="action" name="act_roll_arma_corta" class="sheet-skill-roll-btn">t</button>
|
||
<span><b>A.CORTA</b></span>
|
||
<span class="sheet-attr-ref">COO</span>
|
||
<input type="number" name="attr_arma_corta_base" readonly>
|
||
<input type="number" name="attr_arma_corta_nivel">
|
||
<input type="number" name="attr_arma_corta_total" readonly class="sheet-total-box">
|
||
</div>
|
||
<div class="sheet-skill-row sheet-child-skill">
|
||
<button type="action" name="act_roll_pistola" class="sheet-skill-roll-btn">t</button>
|
||
<span>Pistola</span>
|
||
<span class="sheet-attr-ref"></span> <input type="hidden">
|
||
<input type="number" name="attr_pistola_nivel">
|
||
<input type="number" name="attr_pistola_total" readonly class="sheet-total-box">
|
||
</div>
|
||
<div class="sheet-skill-row sheet-child-skill">
|
||
<button type="action" name="act_roll_trabuco_corto" class="sheet-skill-roll-btn">t</button>
|
||
<span>Trabubo</span>
|
||
<span class="sheet-attr-ref"></span> <input type="hidden">
|
||
<input type="number" name="attr_trabuco_corto_nivel">
|
||
<input type="number" name="attr_trabuco_corto_total" readonly class="sheet-total-box">
|
||
</div>
|
||
<div class="sheet-skill-row sheet-root-skill">
|
||
<button type="action" name="act_roll_arma_larga" class="sheet-skill-roll-btn">t</button>
|
||
<span><b>A.LARGA</b></span>
|
||
<span class="sheet-attr-ref">COO</span>
|
||
<input type="number" name="attr_arma_larga_base" readonly>
|
||
<input type="number" name="attr_arma_larga_nivel">
|
||
<input type="number" name="attr_arma_larga_total" readonly class="sheet-total-box">
|
||
</div>
|
||
<div class="sheet-skill-row sheet-child-skill">
|
||
<button type="action" name="act_roll_fusil" class="sheet-skill-roll-btn">t</button>
|
||
<span>Fusil</span>
|
||
<span class="sheet-attr-ref"></span> <input type="hidden">
|
||
<input type="number" name="attr_fusil_nivel">
|
||
<input type="number" name="attr_fusil_total" readonly class="sheet-total-box">
|
||
</div>
|
||
<div class="sheet-skill-row sheet-child-skill">
|
||
<button type="action" name="act_roll_trabuco_largo" class="sheet-skill-roll-btn">t</button>
|
||
<span>Trabuco</span>
|
||
<span class="sheet-attr-ref"></span> <input type="hidden">
|
||
<input type="number" name="attr_trabuco_largo_nivel">
|
||
<input type="number" name="attr_trabuco_largo_total" readonly class="sheet-total-box">
|
||
</div>
|
||
<div class="sheet-skill-row sheet-root-skill">
|
||
<button type="action" name="act_roll_pelea" class="sheet-skill-roll-btn">t</button>
|
||
<span><b>PELEA</b></span>
|
||
<span class="sheet-attr-ref">AGI</span>
|
||
<input type="number" name="attr_pelea_base" readonly>
|
||
<input type="number" name="attr_pelea_nivel">
|
||
<input type="number" name="attr_pelea_total" readonly class="sheet-total-box">
|
||
</div>
|
||
<div class="sheet-skill-row sheet-child-skill">
|
||
<button type="action" name="act_roll_desarmado" class="sheet-skill-roll-btn">t</button>
|
||
<span>Desarm.</span>
|
||
<span class="sheet-attr-ref"></span> <input type="hidden">
|
||
<input type="number" name="attr_desarmado_nivel">
|
||
<input type="number" name="attr_desarmado_total" readonly class="sheet-total-box">
|
||
</div>
|
||
<div class="sheet-skill-row sheet-child-skill">
|
||
<button type="action" name="act_roll_cuchillo_pelea" class="sheet-skill-roll-btn">t</button>
|
||
<span>Cuchillo</span>
|
||
<span class="sheet-attr-ref"></span> <input type="hidden">
|
||
<input type="number" name="attr_cuchillo_pelea_nivel">
|
||
<input type="number" name="attr_cuchillo_pelea_total" readonly class="sheet-total-box">
|
||
</div>
|
||
<div class="sheet-skill-row sheet-root-skill">
|
||
<button type="action" name="act_roll_lanzar" class="sheet-skill-roll-btn">t</button>
|
||
<span><b>LANZAR</b></span>
|
||
<span class="sheet-attr-ref">AGI</span>
|
||
<input type="number" name="attr_lanzar_base" readonly>
|
||
<input type="number" name="attr_lanzar_nivel">
|
||
<input type="number" name="attr_lanzar_total" readonly class="sheet-total-box">
|
||
</div>
|
||
<div class="sheet-skill-row sheet-child-skill">
|
||
<button type="action" name="act_roll_arrojadiza" class="sheet-skill-roll-btn">t</button>
|
||
<span>Arrojad.</span>
|
||
<span class="sheet-attr-ref"></span> <input type="hidden">
|
||
<input type="number" name="attr_arrojadiza_nivel">
|
||
<input type="number" name="attr_arrojadiza_total" readonly class="sheet-total-box">
|
||
</div>
|
||
<div class="sheet-skill-row sheet-child-skill">
|
||
<button type="action" name="act_roll_granada" class="sheet-skill-roll-btn">t</button>
|
||
<span>Granada</span>
|
||
<span class="sheet-attr-ref"></span> <input type="hidden">
|
||
<input type="number" name="attr_granada_nivel">
|
||
<input type="number" name="attr_granada_total" readonly class="sheet-total-box">
|
||
</div>
|
||
<div class="sheet-skill-row sheet-root-skill">
|
||
<button type="action" name="act_roll_zapador" class="sheet-skill-roll-btn">t</button>
|
||
<span><b>ZAPADOR</b></span>
|
||
<span class="sheet-attr-ref">LOG</span>
|
||
<input type="number" name="attr_zapador_base" readonly>
|
||
<input type="number" name="attr_zapador_nivel">
|
||
<input type="number" name="attr_zapador_total" readonly class="sheet-total-box">
|
||
</div>
|
||
<div class="sheet-skill-row sheet-child-skill">
|
||
<button type="action" name="act_roll_artilleria" class="sheet-skill-roll-btn">t</button>
|
||
<span>Artillería</span>
|
||
<span class="sheet-attr-ref"></span> <input type="hidden">
|
||
<input type="number" name="attr_artilleria_nivel">
|
||
<input type="number" name="attr_artilleria_total" readonly class="sheet-total-box">
|
||
</div>
|
||
<div class="sheet-skill-row sheet-child-skill">
|
||
<button type="action" name="act_roll_minado" class="sheet-skill-roll-btn">t</button>
|
||
<span>Minado</span>
|
||
<span class="sheet-attr-ref"></span> <input type="hidden">
|
||
<input type="number" name="attr_minado_nivel">
|
||
<input type="number" name="attr_minado_total" readonly class="sheet-total-box">
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<h3>IDIOMAS</h3>
|
||
<div class="sheet-skills-container">
|
||
<div class="sheet-skill-row sheet-skill-header">
|
||
<span></span> <!-- Espacio para el botón -->
|
||
<span>Idioma</span> <span>At.</span> <span>Bs</span> <span>Nv</span> <span>Tot</span></div>
|
||
|
||
<div class="sheet-skill-row sheet-root-skill">
|
||
<button type="action" name="act_roll_idioma_1" class="sheet-skill-roll-btn">t</button>
|
||
<span><input type="text" name="attr_idioma_1_nombre" placeholder="Idioma..." class="sheet-text-line"></span>
|
||
<span class="sheet-attr-ref">MEM</span>
|
||
<input type="number" name="attr_idioma_1_base" readonly>
|
||
<input type="number" name="attr_idioma_1_nivel">
|
||
<input type="number" name="attr_idioma_1_total" readonly class="sheet-total-box">
|
||
</div>
|
||
<div class="sheet-skill-row sheet-root-skill">
|
||
<button type="action" name="act_roll_idioma_2" class="sheet-skill-roll-btn">t</button>
|
||
<span><input type="text" name="attr_idioma_2_nombre" placeholder="Idioma..." class="sheet-text-line"></span>
|
||
<span class="sheet-attr-ref">MEM</span>
|
||
<input type="number" name="attr_idioma_2_base" readonly>
|
||
<input type="number" name="attr_idioma_2_nivel">
|
||
<input type="number" name="attr_idioma_2_total" readonly class="sheet-total-box">
|
||
</div>
|
||
<div class="sheet-skill-row sheet-root-skill">
|
||
<button type="action" name="act_roll_idioma_3" class="sheet-skill-roll-btn">t</button>
|
||
<span><input type="text" name="attr_idioma_3_nombre" placeholder="Idioma..." class="sheet-text-line"></span>
|
||
<span class="sheet-attr-ref">MEM</span>
|
||
<input type="number" name="attr_idioma_3_base" readonly>
|
||
<input type="number" name="attr_idioma_3_nivel">
|
||
<input type="number" name="attr_idioma_3_total" readonly class="sheet-total-box">
|
||
</div>
|
||
<div class="sheet-skill-row sheet-root-skill">
|
||
<button type="action" name="act_roll_idioma_4" class="sheet-skill-roll-btn">t</button>
|
||
<span><input type="text" name="attr_idioma_4_nombre" placeholder="Idioma..." class="sheet-text-line"></span>
|
||
<span class="sheet-attr-ref">MEM</span>
|
||
<input type="number" name="attr_idioma_4_base" readonly>
|
||
<input type="number" name="attr_idioma_4_nivel">
|
||
<input type="number" name="attr_idioma_4_total" readonly class="sheet-total-box">
|
||
</div>
|
||
<div class="sheet-skill-row sheet-root-skill">
|
||
<button type="action" name="act_roll_idioma_5" class="sheet-skill-roll-btn">t</button>
|
||
<span><input type="text" name="attr_idioma_5_nombre" placeholder="Idioma..." class="sheet-text-line"></span>
|
||
<span class="sheet-attr-ref">MEM</span>
|
||
<input type="number" name="attr_idioma_5_base" readonly>
|
||
<input type="number" name="attr_idioma_5_nivel">
|
||
<input type="number" name="attr_idioma_5_total" readonly class="sheet-total-box">
|
||
</div>
|
||
<div class="sheet-skill-row sheet-root-skill">
|
||
<button type="action" name="act_roll_idioma_6" class="sheet-skill-roll-btn">t</button>
|
||
<span><input type="text" name="attr_idioma_6_nombre" placeholder="Idioma..." class="sheet-text-line"></span>
|
||
<span class="sheet-attr-ref">MEM</span>
|
||
<input type="number" name="attr_idioma_6_base" readonly>
|
||
<input type="number" name="attr_idioma_6_nivel">
|
||
<input type="number" name="attr_idioma_6_total" readonly class="sheet-total-box">
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
</div> </div>
|
||
|
||
<div class="sheet-page-container sheet-page-2">
|
||
|
||
<div class="sheet-page2-grid">
|
||
|
||
<div class="sheet-armamento-col">
|
||
|
||
<div class="sheet-rasgos-row">
|
||
|
||
<div class="sheet-rasgo-container">
|
||
<h3 class="sheet-full-width-title" style="text-align: center; margin-top: 0;">VIRTUDES</h3>
|
||
<fieldset class="repeating_virtudes">
|
||
<div class="sheet-rasgo-row">
|
||
<input type="text" name="attr_virtud_nombre" placeholder="Virtud...">
|
||
</div>
|
||
</fieldset>
|
||
</div>
|
||
|
||
<div class="sheet-rasgo-container">
|
||
<h3 class="sheet-full-width-title" style="text-align: center; margin-top: 0;">DEFECTOS</h3>
|
||
<fieldset class="repeating_defectos">
|
||
<div class="sheet-rasgo-row">
|
||
<input type="text" name="attr_defecto_nombre" placeholder="Defecto...">
|
||
</div>
|
||
</fieldset>
|
||
</div>
|
||
|
||
<div class="sheet-rasgo-container">
|
||
<h3 class="sheet-full-width-title" style="text-align: center; margin-top: 0;">CAP. ESPECIALES</h3>
|
||
<fieldset class="repeating_capespeciales">
|
||
<div class="sheet-rasgo-row">
|
||
<input type="text" name="attr_capespecial_nombre" placeholder="Capacidad...">
|
||
</div>
|
||
</fieldset>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
|
||
|
||
<h3 class="sheet-full-width-title" style="text-align: center; margin-top: 0;">ARMAMENTO</h3>
|
||
<div class="sheet-armamento-container">
|
||
|
||
<div class="sheet-armamento-header">
|
||
<span style="text-align: left;">Nombre</span>
|
||
<span>Valor</span>
|
||
<span>Daño</span>
|
||
<span>Parada</span>
|
||
<span>Rt.</span>
|
||
<span>Res.</span>
|
||
<span>Alcance</span>
|
||
<span>Peso</span>
|
||
<span>Precio</span>
|
||
</div>
|
||
|
||
<fieldset class="repeating_armamento">
|
||
<div class="sheet-armamento-row">
|
||
<input type="text" name="attr_arma_nombre" class="sheet-arma-nombre" placeholder="Ej: Fusil">
|
||
<input type="number" name="attr_arma_valor">
|
||
<input type="text" name="attr_arma_dano">
|
||
<input type="text" name="attr_arma_parada">
|
||
<input type="text" name="attr_arma_rt">
|
||
<input type="text" name="attr_arma_res">
|
||
<div class="sheet-alcance-inputs">
|
||
<input type="text" name="attr_arma_alcance_1"> <span>/</span>
|
||
<input type="text" name="attr_arma_alcance_2"> <span>/</span>
|
||
<input type="text" name="attr_arma_alcance_3"> <span>/</span>
|
||
<input type="text" name="attr_arma_alcance_4">
|
||
</div>
|
||
<input type="number" name="attr_arma_peso" step="0.1">
|
||
<input type="text" name="attr_arma_precio">
|
||
</div>
|
||
</fieldset>
|
||
</div> <div class="sheet-contactos-equipo-row">
|
||
|
||
<div class="sheet-contactos-container">
|
||
<h3 class="sheet-full-width-title" style="text-align: center;">CONTACTOS</h3>
|
||
<div class="sheet-contactos-header">
|
||
<span style="text-align: left;">Nombre</span>
|
||
<span>Influencia</span>
|
||
</div>
|
||
<fieldset class="repeating_contactos">
|
||
<div class="sheet-contactos-row">
|
||
<input type="text" name="attr_contacto_nombre" class="sheet-text-left">
|
||
<input type="text" name="attr_contacto_influencia">
|
||
</div>
|
||
</fieldset>
|
||
</div>
|
||
|
||
<div class="sheet-equipo-container">
|
||
<h3 class="sheet-full-width-title" style="text-align: center;">EQUIPO</h3>
|
||
<div class="sheet-equipo-header">
|
||
<span style="text-align: left;">Nombre</span>
|
||
<span>Cant.</span>
|
||
<span>Peso</span>
|
||
<span>Precio</span>
|
||
</div>
|
||
<fieldset class="repeating_equipo">
|
||
<div class="sheet-equipo-row">
|
||
<input type="text" name="attr_equipo_nombre" class="sheet-text-left">
|
||
<input type="number" name="attr_equipo_cantidad">
|
||
<input type="number" name="attr_equipo_peso" step="0.1">
|
||
<input type="number" name="attr_equipo_precio">
|
||
</div>
|
||
</fieldset>
|
||
|
||
</div>
|
||
|
||
</div>
|
||
<div class="sheet-notas-container">
|
||
<h4 class="sheet-notas-title">NOTAS</h4>
|
||
<textarea name="attr_notas_libres" class="sheet-notas-textarea"></textarea>
|
||
</div>
|
||
</div>
|
||
<div class="sheet-estado-col">
|
||
<div class="sheet-status-box">
|
||
<h4>PUNTOS DE VIDA</h4>
|
||
<div class="sheet-row"> <label>Heridas:</label> <input type="number" name="attr_hp_heridas" value="0"> </div>
|
||
<div class="sheet-row"> <label>Golpes:</label> <input type="number" name="attr_hp_golpes" value="0"> </div>
|
||
<div class="sheet-row total"> <label>Máximo:</label> <input type="number" name="attr_hp_max" value="0" readonly style="background:#eee;"> </div>
|
||
</div>
|
||
|
||
<div class="sheet-status-box sheet-localizaciones-box">
|
||
|
||
<div class="sheet-loc-zone"><strong>0 Cabeza</strong></div>
|
||
<div class="sheet-loc-row"><label>Daño total</label> <input type="number" name="attr_loc_cabeza_dan"></div>
|
||
<div class="sheet-loc-row"><label>Heridas</label> <input type="text" name="attr_loc_cabeza_heridas" style="width: 60px;"></div>
|
||
|
||
<div class="sheet-loc-zone"><strong>1 2 3 Pecho</strong></div>
|
||
<div class="sheet-loc-row"><label>Daño total</label> <input type="number" name="attr_loc_pecho_dan"></div>
|
||
<div class="sheet-loc-row"><label>Heridas</label> <input type="text" name="attr_loc_pecho_heridas" style="width: 60px;"></div>
|
||
|
||
<div class="sheet-loc-zone"><strong>4 Brazo Dch.</strong></div>
|
||
<div class="sheet-loc-row"><label>Daño total</label> <input type="number" name="attr_loc_brazod_dan"></div>
|
||
<div class="sheet-loc-row"><label>Heridas</label> <input type="text" name="attr_loc_brazod_heridas" style="width: 60px;"></div>
|
||
|
||
<div class="sheet-loc-zone"><strong>5 Brazo Izq.</strong></div>
|
||
<div class="sheet-loc-row"><label>Daño total</label> <input type="number" name="attr_loc_brazoi_dan"></div>
|
||
<div class="sheet-loc-row"><label>Heridas</label> <input type="text" name="attr_loc_brazoi_heridas" style="width: 60px;"></div>
|
||
|
||
<div class="sheet-loc-zone"><strong>6 7 Abdomen</strong></div>
|
||
<div class="sheet-loc-row"><label>Daño total</label> <input type="number" name="attr_loc_abdomen_dan"></div>
|
||
<div class="sheet-loc-row"><label>Heridas</label> <input type="text" name="attr_loc_abdomen_heridas" style="width: 60px;"></div>
|
||
|
||
<div class="sheet-loc-zone"><strong>8 Pierna Izq.</strong></div>
|
||
<div class="sheet-loc-row"><label>Daño total</label> <input type="number" name="attr_loc_piernai_dan"></div>
|
||
<div class="sheet-loc-row"><label>Heridas</label> <input type="text" name="attr_loc_piernai_heridas" style="width: 60px;"></div>
|
||
|
||
<div class="sheet-loc-zone"><strong>9 Pierna Dch.</strong></div>
|
||
<div class="sheet-loc-row"><label>Daño total</label> <input type="number" name="attr_loc_piernad_dan"></div>
|
||
<div class="sheet-loc-row"><label>Heridas</label> <input type="text" name="attr_loc_piernad_heridas" style="width: 60px;"></div>
|
||
|
||
</div>
|
||
</div>
|
||
|
||
<div class="sheet-estado-col2">
|
||
<div class="sheet-status-box">
|
||
<h4>ENTEREZA</h4>
|
||
<div class="sheet-row"> <label>Actual:</label> <input type="number" name="attr_entereza_actual" value="0"> </div>
|
||
<div class="sheet-row total"> <label>Máximo:</label> <input type="number" name="attr_entereza_max" value="0" readonly style="background:#eee;"> </div>
|
||
</div>
|
||
|
||
<div class="sheet-status-box sheet-capacidades-box">
|
||
<h4>CAPACIDADES</h4>
|
||
|
||
<div class="sheet-cap-row"><label>Ajuste por Fuerza (fue-5)</label> <input type="number" name="attr_cap_ajuste_fue" readonly></div>
|
||
<div class="sheet-cap-row"><label>Ajuste Inventiva (inv-5)</label> <input type="number" name="attr_cap_ajuste_inv" readonly></div>
|
||
<div class="sheet-cap-row"><span></span>
|
||
<button type="action" name="act_roll_cap_alerta" class="sheet-skill-roll-btn">t</button>
|
||
<label>Alerta (3per)</label> <input type="number" name="attr_cap_alerta_total" readonly></div>
|
||
|
||
<div class="sheet-cap-row"><label>Andar (agi)</label> <span>m/as: <input type="number" name="attr_cap_andar" readonly></span></div>
|
||
<div class="sheet-cap-row"><label>Carga (7fue)</label> <span>Kg: <input type="number" name="attr_cap_carga" readonly></span></div>
|
||
|
||
<div class="sheet-cap-row"><label>Correr (agi+2vel)</label> <span>m/as: <input type="number" name="attr_cap_correr" readonly></span></div>
|
||
<div class="sheet-cap-row sheet-cap-sub"><label>Duración Correr (10vit)</label> <span>as: <input type="number" name="attr_cap_duracion_correr" readonly></span></div>
|
||
|
||
<div class="sheet-cap-row"><span></span>
|
||
<button type="action" name="act_roll_cap_esquivar" class="sheet-skill-roll-btn">t</button>
|
||
<label>Esquivar (2×agi + vel)</label> <input type="number" name="attr_cap_esquivar_total" readonly></div>
|
||
|
||
<div class="sheet-cap-row"><label>Esprintar (agi+3vel)</label> <span>m/as: <input type="number" name="attr_cap_esprintar" readonly></span></div>
|
||
<div class="sheet-cap-row sheet-cap-sub"><label>Duración esprintar (vit)</label> <span>as: <input type="number" name="attr_cap_duracion_esprintar" readonly></span></div>
|
||
|
||
<div class="sheet-cap-row"><label>Iniciativa (vel,agi)</label> <span class="sheet-multi-input"><input type="number" name="attr_cap_iniciativa_1" readonly> , <input type="number" name="attr_cap_iniciativa_2" readonly></span></div>
|
||
|
||
<div class="sheet-cap-row"><label>Marchar (agi + vel)</label> <input type="number" name="attr_cap_marchar" readonly></div>
|
||
<div class="sheet-cap-row sheet-cap-sub"><label>Duración marchar (10vit)</label> <input type="number" name="attr_cap_duracion_marchar" readonly></div>
|
||
|
||
<div class="sheet-cap-row"><label>Resistir Dolor (vol/2)</label> <input type="number" name="attr_cap_resistir_dolor" readonly></div>
|
||
|
||
<div class="sheet-cap-row"><label>Salto H. (fue+vel/5)</label> <input type="number" name="attr_cap_salto_h" step="0.1" readonly></div>
|
||
<div class="sheet-cap-row sheet-cap-sub"><label>arr. (fue/5), abj. (agi/3)</label> <span class="sheet-multi-input"><input type="number" name="attr_cap_salto_arr" step="0.1" readonly> , <input type="number" name="attr_cap_salto_abj" step="0.1" readonly></span></div>
|
||
|
||
<div class="sheet-cap-row"><label>Umbral Mortal (vit)</label> <input type="number" name="attr_cap_umbral_mortal" readonly></div>
|
||
</div>
|
||
|
||
<div class="sheet-status-box sheet-dinero-box">
|
||
<h4 style="font-family: 'Georgia', serif; font-size: 1.1em; letter-spacing: 2px;">DINERO</h4>
|
||
|
||
<div class="sheet-dinero-row">
|
||
<label>Ingresos:</label>
|
||
<input type="number" name="attr_dinero_ingresos">
|
||
<span>reales</span>
|
||
</div>
|
||
|
||
<div class="sheet-dinero-row">
|
||
<label>Ahorros:</label>
|
||
<input type="number" name="attr_dinero_ahorros">
|
||
<span>reales</span>
|
||
</div>
|
||
|
||
<div class="sheet-dinero-row">
|
||
<label>De bolsillo:</label>
|
||
<input type="number" name="attr_dinero_bolsillo">
|
||
<span>reales</span>
|
||
</div>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
</div>
|
||
|
||
</div>
|
||
|
||
|
||
</div>
|
||
|
||
<script type="text/worker">
|
||
const charHierarchy = {"cuerpo": ["fue", "vit", "res"],"destreza": ["agi", "coo", "vel"],"inteligencia": ["mem", "log", "inv"],"presencia": ["car", "vol", "apa"],"instinto": ["per", "int", "con"]};
|
||
const normalSkillMap = {"arriero": "coo", "chusma": "int", "correr": "vit", "dialectica": "car", "disfraz": "inv", "don_gentes": "int", "intimidar": "car", "escamotear": "coo", "observacion": "per", "ocultar": "inv", "protocolo": "mem", "sigilo": "con", "saltar": "agi", "sanar": "int", "seduccion": "car", "supervivencia": "log", "trepar": "agi", "cerraduras": "coo", "equitacion": "coo", "falsificar": "coo", "idioma_1": "mem", "idioma_2": "mem", "idioma_3": "mem", "idioma_4": "mem", "idioma_5": "mem", "idioma_6": "mem"};
|
||
const specialTree = {"arma_blanca": { attr: "agi", children: ["asta", "contundentes", "cuchillo", "esgrima"] }, "arma_corta": { attr: "coo", children: ["pistola", "trabuco_corto"] }, "arma_larga": { attr: "coo", children: ["fusil", "trabuco_largo"] }, "lanzar": { attr: "agi", children: ["arrojadiza", "granada"] }, "pelea": { attr: "agi", children: ["cuchillo_pelea", "desarmado"] }, "zapador": { attr: "log", children: ["artilleria", "minado"] }, "artesania": { attr: "coo", children: ["artesania_spec1", "artesania_spec2", "artesania_spec3"] }, "con_academico": { attr: "mem", children: ["con_academico_spec1", "con_academico_spec2", "con_academico_spec3"] }, "con_cientifico": { attr: "mem", children: ["con_cientifico_spec1", "con_cientifico_spec2", "con_cientifico_spec3"] }, "con_militar": { attr: "log", children: ["con_militar_spec1", "con_militar_spec2", "con_militar_spec3"] }, "hab_escenicas": { attr: "car", children: ["hab_escenicas_spec1", "hab_escenicas_spec2", "hab_escenicas_spec3"] }, "hab_plasticas": { attr: "inv", children: ["hab_plasticas_spec1", "hab_plasticas_spec2", "hab_plasticas_spec3"] }};
|
||
const influenceList = ["influencia_1", "influencia_2", "influencia_3", "influencia_4", "influencia_5", "influencia_6"];
|
||
const characteristics = Object.keys(charHierarchy);
|
||
const attributes = Object.values(charHierarchy).flat();
|
||
const normalSkills = Object.keys(normalSkillMap);
|
||
const rootSkills = Object.keys(specialTree);
|
||
|
||
let childSkills = [];
|
||
rootSkills.forEach(root => {
|
||
childSkills = [...childSkills, ...specialTree[root].children];
|
||
});
|
||
|
||
const charEvents = characteristics.map(c => `change:${c}`).join(" ");
|
||
const attrEvents = attributes.map(a => `change:${a}`).join(" ");
|
||
const normalSkillEvents = normalSkills.map(s => `change:${s}_nivel`).join(" ");
|
||
const rootSkillEvents = rootSkills.map(r => `change:${r}_nivel`).join(" ");
|
||
const childSkillEvents = childSkills.map(c => `change:${c}_nivel`).join(" ");
|
||
const influenceEvents = influenceList.map(i => `change:${i}_nivel`).join(" ");
|
||
const socialEvent = "change:nivel_social";
|
||
|
||
// === CÁLCULOS AUTOMÁTICOS AL CAMBIAR ATRIBUTOS/HABILIDADES ===
|
||
on(`${charEvents} ${attrEvents} ${normalSkillEvents} ${rootSkillEvents} ${childSkillEvents} ${influenceEvents} ${socialEvent} sheet:opened`, () => {
|
||
|
||
const attrsToGet = [
|
||
"nivel_social",
|
||
...characteristics,
|
||
...attributes,
|
||
...normalSkills.map(s => `${s}_nivel`),
|
||
...rootSkills.map(r => `${r}_nivel`),
|
||
...childSkills.map(c => `${c}_nivel`),
|
||
...influenceList.map(i => `${i}_nivel`)
|
||
];
|
||
|
||
getAttrs(attrsToGet, (values) => {
|
||
const update = {};
|
||
const finalAttrs = {};
|
||
|
||
// 1. Límite de Características sobre los Atributos
|
||
characteristics.forEach(charName => {
|
||
const charValue = parseInt(values[charName], 10) || 5;
|
||
const children = charHierarchy[charName];
|
||
|
||
children.forEach(attrName => {
|
||
let attrValue = parseInt(values[attrName], 10) || 5;
|
||
if (attrValue > charValue) {
|
||
attrValue = charValue;
|
||
update[attrName] = charValue;
|
||
}
|
||
finalAttrs[attrName] = attrValue;
|
||
});
|
||
});
|
||
|
||
// 2. Barras de estado (Vida, Entereza, Fatiga)
|
||
update["hp_max"] = (finalAttrs.res || 0) * 3;
|
||
update["entereza_max"] = (finalAttrs.con || 0) + (2 * (finalAttrs.vol || 0));
|
||
update["fatiga_max"] = (finalAttrs.vit || 0) * 3;
|
||
|
||
// 3. Habilidades Normales
|
||
normalSkills.forEach(skillName => {
|
||
const governingAttrName = normalSkillMap[skillName];
|
||
const governingAttrValue = finalAttrs[governingAttrName] || 0;
|
||
let skillLevel = parseInt(values[`${skillName}_nivel`], 10) || 0;
|
||
|
||
if (skillLevel < 0) {
|
||
skillLevel = 0;
|
||
update[`${skillName}_nivel`] = 0;
|
||
}
|
||
|
||
update[`${skillName}_base`] = governingAttrValue;
|
||
update[`${skillName}_total`] = governingAttrValue + skillLevel;
|
||
});
|
||
|
||
// 4. Habilidades Especiales (Raíces y sub-habilidades)
|
||
rootSkills.forEach(rootName => {
|
||
const rootData = specialTree[rootName];
|
||
const governingAttrName = rootData.attr;
|
||
const governingAttrValue = finalAttrs[governingAttrName] || 0;
|
||
|
||
let rootLevel = parseInt(values[`${rootName}_nivel`], 10) || 0;
|
||
if (rootLevel > governingAttrValue) {
|
||
rootLevel = governingAttrValue;
|
||
update[`${rootName}_nivel`] = rootLevel;
|
||
}
|
||
if (rootLevel < 0) rootLevel = 0;
|
||
|
||
update[`${rootName}_base`] = governingAttrValue;
|
||
update[`${rootName}_total`] = governingAttrValue + rootLevel;
|
||
|
||
rootData.children.forEach(childName => {
|
||
let childLevel = parseInt(values[`${childName}_nivel`], 10) || 0;
|
||
if (childLevel < rootLevel) {
|
||
childLevel = rootLevel;
|
||
update[`${childName}_nivel`] = childLevel;
|
||
}
|
||
update[`${childName}_base`] = governingAttrValue;
|
||
update[`${childName}_total`] = governingAttrValue + childLevel;
|
||
});
|
||
});
|
||
|
||
// 5. Influencia y Social
|
||
let nivelSocial = parseInt(values.nivel_social, 10) || 0;
|
||
let carisma = finalAttrs.car || 0;
|
||
let baseInfluencia = nivelSocial + carisma;
|
||
|
||
influenceList.forEach(inflName => {
|
||
let inflLevel = parseInt(values[`${inflName}_nivel`], 10) || 0;
|
||
if (inflLevel < 0) {
|
||
inflLevel = 0;
|
||
update[`${inflName}_nivel`] = 0;
|
||
}
|
||
update[`${inflName}_base`] = baseInfluencia;
|
||
update[`${inflName}_total`] = baseInfluencia + inflLevel;
|
||
});
|
||
|
||
|
||
// --- CÁLCULO DE CAPACIDADES ---
|
||
|
||
// 1. Extraemos los atributos necesarios (si no existen, valen 0)
|
||
let fue = finalAttrs.fue || 0;
|
||
let inv = finalAttrs.inv || 0;
|
||
let per = finalAttrs.per || 0;
|
||
let agi = finalAttrs.agi || 0;
|
||
let vel = finalAttrs.vel || 0;
|
||
let vit = finalAttrs.vit || 0;
|
||
let vol = finalAttrs.vol || 0;
|
||
|
||
// 2. Aplicamos las fórmulas
|
||
|
||
update["cap_ajuste_fue"] = fue - 5;
|
||
update["cap_ajuste_inv"] = inv - 5;
|
||
update["cap_alerta_total"] = 3 * per;
|
||
|
||
update["cap_andar"] = agi;
|
||
update["cap_carga"] = 7 * fue;
|
||
|
||
update["cap_correr"] = agi + (2 * vel);
|
||
update["cap_duracion_correr"] = 10 * vit;
|
||
|
||
update["cap_esquivar_total"] = (2 * agi) + vel;
|
||
|
||
update["cap_esprintar"] = agi + (3 * vel);
|
||
update["cap_duracion_esprintar"] = vit;
|
||
|
||
update["cap_iniciativa_1"] = vel;
|
||
update["cap_iniciativa_2"] = agi;
|
||
|
||
update["cap_marchar"] = agi + vel;
|
||
update["cap_duracion_marchar"] = 10 * vit;
|
||
|
||
// Redondeo hacia abajo para Resistir Dolor (lo habitual en manuales)
|
||
update["cap_resistir_dolor"] = Math.floor(vol / 2);
|
||
|
||
// Saltos: Permitimos un decimal (ej: 2.4) para mayor precisión al dividir
|
||
update["cap_salto_h"] = parseFloat(((fue + vel) / 5).toFixed(1));
|
||
update["cap_salto_arr"] = parseFloat((fue / 5).toFixed(1));
|
||
update["cap_salto_abj"] = parseFloat((agi / 3).toFixed(1));
|
||
|
||
update["cap_umbral_mortal"] = vit;
|
||
setAttrs(update, {silent: true});
|
||
});
|
||
});
|
||
|
||
// === TIRADA SOMBRA ACTUALIZADA CON CRÍTICOS Y ESPECIALES ===
|
||
|
||
|
||
// LISTA DE HABILIDADES (Asegúrate de que los nombres coincidan con los de tus botones act_roll_XXX)
|
||
const skillsWithButtons = [
|
||
"arriero", "chusma", "correr", "dialectica", "disfraz", "don_gentes",
|
||
"escamotear", "intimidar", "observacion", "ocultar", "protocolo",
|
||
"sigilo", "saltar", "sanar", "seduccion", "supervivencia", "trepar","influencia_1","influencia_2","influencia_3","influencia_4","influencia_5","influencia_6","cerraduras","falsificar","equitacion","artesania","artesania_spec1","artesania_spec2","artesania_spec3","con_academico","con_academico_spec1","con_academico_spec2","con_cientifico","con_cientifico_spec1","con_cientifico_spec2","con_militar","con_militar_spec1","con_militar_spec2","hab_escenicas","hab_escenicas_spec1","hab_escenicas_spec2","hab_plasticas","hab_plasticas_spec1","hab_plasticas_spec2","arma_blanca","asta","cuchillo","esgrima","contundentes","arma_corta","pistola","trabuco_corto","arma_larga","fusil","trabuco_largo","pelea","desarmado","cuchillo_pelea","lanzar","arrojadiza","granada","zapador","artilleria","minado","idioma_1","idioma_2","idioma_3","idioma_4","idioma_5","idioma_6","cap_alerta","cap_esquivar"
|
||
];
|
||
|
||
const attrsWithButtons = ["fue", "vit", "res", "agi", "coo", "vel", "mem", "log", "inv", "car", "vol", "apa", "per", "int", "con"];
|
||
|
||
/* --- LISTENERS (MANTENER IGUAL) --- */
|
||
skillsWithButtons.forEach(skill => {
|
||
on(`clicked:roll_${skill}`, () => {
|
||
getAttrs([`${skill}_total`], (v) => {
|
||
const val = parseInt(v[`${skill}_total`]) || 0;
|
||
executeShadowRoll(val, skill.toUpperCase());
|
||
});
|
||
});
|
||
});
|
||
|
||
attrsWithButtons.forEach(attr => {
|
||
on(`clicked:roll_${attr}`, () => {
|
||
getAttrs([attr], (v) => {
|
||
const val = (parseInt(v[attr]) || 0) * 3;
|
||
executeShadowRoll(val, attr.toUpperCase());
|
||
});
|
||
});
|
||
});
|
||
|
||
on('clicked:roll_sombra', () => {
|
||
executeShadowRoll(null, "MANUAL");
|
||
});
|
||
|
||
/* --- FUNCIÓN executeShadowRoll ACTUALIZADA CON TÍTULO DINÁMICO --- */
|
||
|
||
function executeShadowRoll(skillValue, label) {
|
||
const habValue = (skillValue === null) ? "?{Valor de la Habilidad|10}" : skillValue;
|
||
|
||
// Si la etiqueta llega vacía por algún motivo, usamos un texto por defecto
|
||
const titulo = label ? label.toUpperCase() : "TIRADA SOMBRA";
|
||
|
||
// Añadimos {{nombre_tirada=${titulo}}} al principio del comando
|
||
const rollCmd = `&{template:tirada_sombra} {{nombre_tirada=${titulo}}} {{habilidad_valor=[[${habValue}]]}} {{modificador=[[?{Modificador a la Tirada|0}]]}} {{mostrar_dano=[[?{¿Mostrar daño?|No,0|Tipo 0,1|Tipo I,2|Tipo II,3|Tipo III,4|Tipo IV (Área/Metralla),5|Tipo V (Fragmentación),6}]]}} {{modificador_dano=[[?{Modificador al Daño (+ sumar, - restar)|0}]]}} {{dsombra=[[1d10]]}} {{d1=[[1d10]]}} {{d2=[[1d10]]}} {{total_final=[[0]]}} {{sombra=[[0]]}} {{mayor=[[0]]}} {{menor=[[0]]}} {{tipo_resultado=[[0]]}} {{dano_titulo=[[0]]}} {{num_hits=[[0]]}} {{dano_total_suma=[[0]]}} {{l0_n=[[0]]}} {{l0_d=[[0]]}} {{l1_n=[[0]]}} {{l1_d=[[0]]}} {{l2_n=[[0]]}} {{l2_d=[[0]]}} {{l3_n=[[0]]}} {{l3_d=[[0]]}} {{l4_n=[[0]]}} {{l4_d=[[0]]}} {{l5_n=[[0]]}} {{l5_d=[[0]]}} {{l6_n=[[0]]}} {{l6_d=[[0]]}} {{l7_n=[[0]]}} {{l7_d=[[0]]}} {{l8_n=[[0]]}} {{l8_d=[[0]]}} {{l9_n=[[0]]}} {{l9_d=[[0]]}}`;
|
||
|
||
|
||
startRoll(rollCmd, (results) => {
|
||
const vSombraRaw = results.results.dsombra.result;
|
||
const v1 = results.results.d1.result;
|
||
const v2 = results.results.d2.result;
|
||
const vHab = results.results.habilidad_valor.result;
|
||
const vMod = results.results.modificador.result;
|
||
|
||
const choiceDano = results.results.mostrar_dano.result;
|
||
const vModDano = results.results.modificador_dano.result;
|
||
|
||
const dL = vSombraRaw === 10 ? 0 : vSombraRaw;
|
||
const normD1 = v1 === 10 ? 0 : v1;
|
||
const normD2 = v2 === 10 ? 0 : v2;
|
||
|
||
const vMayor = Math.max(v1, v2);
|
||
const vMenor = Math.min(v1, v2);
|
||
const tSum = vMayor + vMenor;
|
||
const totalConMod = vSombraRaw + v1 + v2 + vMod;
|
||
|
||
const esExito = totalConMod <= vHab;
|
||
const triple = (vSombraRaw === v1 && v1 === v2);
|
||
const doble = (v1 === v2);
|
||
let status = esExito ? (triple ? 2 : (doble ? 4 : 1)) : (triple ? 3 : (doble ? 5 : 0));
|
||
|
||
const getLocName = (v) => {
|
||
if (v === 0) return "CABEZA";
|
||
if (v >= 1 && v <= 3) return "PECHO";
|
||
if (v === 4) return "BRAZO DCH.";
|
||
if (v === 5) return "BRAZO IZQ.";
|
||
if (v >= 6 && v <= 7) return "ABDOMEN";
|
||
if (v === 8) return "PIERNA IZQ.";
|
||
if (v === 9) return "PIERNA DCH.";
|
||
return "CUERPO";
|
||
};
|
||
|
||
const calcDano = (baseDmg) => Math.max(0, baseDmg + vModDano);
|
||
|
||
let finishData = {
|
||
total_final: totalConMod, sombra: vSombraRaw, mayor: vMayor, menor: vMenor,
|
||
tipo_resultado: status, dano_titulo: " ", num_hits: 0, dano_total_suma: 0
|
||
};
|
||
for(let i=0; i<10; i++) { finishData[`l${i}_n`] = " "; finishData[`l${i}_d`] = 0; }
|
||
|
||
if (choiceDano > 0) {
|
||
let locs = [];
|
||
|
||
if (choiceDano === 1) { finishData.dano_titulo = "TIPO 0"; locs.push({n: getLocName(dL), d: calcDano(vMenor)}); }
|
||
else if (choiceDano === 2) { finishData.dano_titulo = "TIPO I"; locs.push({n: getLocName(dL), d: calcDano(vMayor)}); }
|
||
else if (choiceDano === 3) { finishData.dano_titulo = "TIPO II"; locs.push({n: getLocName(dL), d: calcDano(tSum)}); }
|
||
else if (choiceDano === 4) { finishData.dano_titulo = "TIPO III"; locs.push({n: getLocName(dL), d: calcDano(tSum * 2)}); }
|
||
|
||
else if (choiceDano === 5) {
|
||
finishData.dano_titulo = `TIPO IV (Área - ${vMenor} locs)`;
|
||
let secuencia = [0, 1, -1, 2, -2, 3, -3, 4, -4, 5, -5, 6, -6, 7, -7, 8, -8, 9, -9];
|
||
let hits = [];
|
||
for (let i = 0; i < secuencia.length; i++) {
|
||
let locCandidata = dL + secuencia[i];
|
||
if (locCandidata >= 0 && locCandidata <= 9) {
|
||
if (!hits.includes(locCandidata)) hits.push(locCandidata);
|
||
}
|
||
if (hits.length === vMenor) break;
|
||
}
|
||
hits.forEach((l, index) => {
|
||
let baseD = (index === 0) ? tSum : (index < 3 ? vMayor : vMenor);
|
||
locs.push({n: getLocName(l), d: calcDano(baseD)});
|
||
});
|
||
}
|
||
|
||
else if (choiceDano === 6) {
|
||
finishData.dano_titulo = "TIPO V (Fragmentación)";
|
||
[dL, normD1, normD2].forEach(l => {
|
||
locs.push({n: getLocName(l), d: calcDano(tSum)});
|
||
});
|
||
}
|
||
|
||
// Guardamos localizaciones e instanciamos la suma total
|
||
finishData.num_hits = locs.length;
|
||
let sumaTemporal = 0;
|
||
|
||
locs.forEach((loc, index) => {
|
||
finishData[`l${index}_n`] = loc.n;
|
||
finishData[`l${index}_d`] = loc.d;
|
||
sumaTemporal += loc.d;
|
||
});
|
||
|
||
// Si es un daño múltiple (IV o V), pasamos la suma total a la plantilla
|
||
if (choiceDano === 5 || choiceDano === 6) {
|
||
finishData.dano_total_suma = sumaTemporal;
|
||
}
|
||
}
|
||
|
||
// 2. FINALIZACIÓN
|
||
finishRoll(results.rollId, finishData);
|
||
});
|
||
}
|
||
|
||
</script>
|
||
|
||
<!-- PLANTILLA TIRADA PRINCIPAL -->
|
||
<rolltemplate class="sheet-rolltemplate-tirada_sombra">
|
||
<div class="sheet-rt-card">
|
||
<div class="sheet-rt-header">{{nombre_tirada}}</div>
|
||
|
||
<div class="sheet-rt-row"><span>Habilidad:</span><span>{{habilidad_valor}}</span></div>
|
||
<div class="sheet-rt-row"><span>Modificador:</span><span>{{modificador}}</span></div>
|
||
<div class="sheet-rt-row sheet-shadow-row"><span>Total:</span><span class="sheet-value sheet-main-value">{{computed::total_final}}</span></div>
|
||
|
||
<div class="sheet-rt-row"><span>Dado Sombra:</span><span>{{computed::sombra}}</span></div>
|
||
<div class="sheet-rt-row"><span>Dado D+:</span><span>{{computed::mayor}}</span></div>
|
||
<div class="sheet-rt-row"><span>Dado D-:</span><span>{{computed::menor}}</span></div>
|
||
|
||
<div class="sheet-rt-result-box">
|
||
{{#rollTotal() computed::tipo_resultado 1}}<div class="sheet-rt-msg-exito">ÉXITO</div>{{/rollTotal() computed::tipo_resultado 1}}
|
||
{{#rollTotal() computed::tipo_resultado 2}}<div class="sheet-rt-msg-critico">¡ÉXITO CRÍTICO!</div>{{/rollTotal() computed::tipo_resultado 2}}
|
||
{{#rollTotal() computed::tipo_resultado 3}}<div class="sheet-rt-msg-pifia">¡PÍFIA!</div>{{/rollTotal() computed::tipo_resultado 3}}
|
||
{{#rollTotal() computed::tipo_resultado 4}}<div class="sheet-rt-msg-especial-exito">ÉXITO ESPECIAL</div>{{/rollTotal() computed::tipo_resultado 4}}
|
||
{{#rollTotal() computed::tipo_resultado 5}}<div class="sheet-rt-msg-especial-fallo">FALLO ESPECIAL</div>{{/rollTotal() computed::tipo_resultado 5}}
|
||
{{#rollTotal() computed::tipo_resultado 0}}<div class="sheet-rt-msg-fallo">FALLO</div>{{/rollTotal() computed::tipo_resultado 0}}
|
||
</div>
|
||
|
||
{{#rollGreater() mostrar_dano 0}}
|
||
<div style="border-top: 2px solid #2c3e50; margin-top: 5px; background: #fdfaf4;">
|
||
|
||
<div style="background: #630d0d; color: white; text-align: center; font-weight: bold; padding: 4px; font-size: 0.9em; letter-spacing: 1px;">
|
||
IMPACTO: {{computed::dano_titulo}}
|
||
</div>
|
||
|
||
{{#rollGreater() computed::num_hits 0}}<div class="sheet-rt-row" style="background: #ece0d1;"><span>{{computed::l0_n}}</span><span class="sheet-value" style="color: #630d0d;">{{computed::l0_d}}</span></div>{{/rollGreater() computed::num_hits 0}}
|
||
{{#rollGreater() computed::num_hits 1}}<div class="sheet-rt-row"><span>{{computed::l1_n}}</span><span class="sheet-value" style="color: #630d0d;">{{computed::l1_d}}</span></div>{{/rollGreater() computed::num_hits 1}}
|
||
{{#rollGreater() computed::num_hits 2}}<div class="sheet-rt-row"><span>{{computed::l2_n}}</span><span class="sheet-value" style="color: #630d0d;">{{computed::l2_d}}</span></div>{{/rollGreater() computed::num_hits 2}}
|
||
{{#rollGreater() computed::num_hits 3}}<div class="sheet-rt-row"><span>{{computed::l3_n}}</span><span class="sheet-value" style="color: #630d0d;">{{computed::l3_d}}</span></div>{{/rollGreater() computed::num_hits 3}}
|
||
{{#rollGreater() computed::num_hits 4}}<div class="sheet-rt-row"><span>{{computed::l4_n}}</span><span class="sheet-value" style="color: #630d0d;">{{computed::l4_d}}</span></div>{{/rollGreater() computed::num_hits 4}}
|
||
{{#rollGreater() computed::num_hits 5}}<div class="sheet-rt-row"><span>{{computed::l5_n}}</span><span class="sheet-value" style="color: #630d0d;">{{computed::l5_d}}</span></div>{{/rollGreater() computed::num_hits 5}}
|
||
{{#rollGreater() computed::num_hits 6}}<div class="sheet-rt-row"><span>{{computed::l6_n}}</span><span class="sheet-value" style="color: #630d0d;">{{computed::l6_d}}</span></div>{{/rollGreater() computed::num_hits 6}}
|
||
{{#rollGreater() computed::num_hits 7}}<div class="sheet-rt-row"><span>{{computed::l7_n}}</span><span class="sheet-value" style="color: #630d0d;">{{computed::l7_d}}</span></div>{{/rollGreater() computed::num_hits 7}}
|
||
{{#rollGreater() computed::num_hits 8}}<div class="sheet-rt-row"><span>{{computed::l8_n}}</span><span class="sheet-value" style="color: #630d0d;">{{computed::l8_d}}</span></div>{{/rollGreater() computed::num_hits 8}}
|
||
{{#rollGreater() computed::num_hits 9}}<div class="sheet-rt-row"><span>{{computed::l9_n}}</span><span class="sheet-value" style="color: #630d0d;">{{computed::l9_d}}</span></div>{{/rollGreater() computed::num_hits 9}}
|
||
|
||
{{#rollGreater() computed::dano_total_suma 0}}
|
||
<div class="sheet-rt-row" style="background: #e6b8b8; border-top: 1px solid #630d0d;">
|
||
<span style="font-weight: bold; color: #630d0d;">DAÑO TOTAL:</span>
|
||
<span class="sheet-value" style="color: #630d0d; font-weight: bold; font-size: 1.2em;">{{computed::dano_total_suma}}</span>
|
||
</div>
|
||
{{/rollGreater() computed::dano_total_suma 0}}
|
||
|
||
</div>
|
||
{{/rollGreater() mostrar_dano 0}}
|
||
|
||
</div>
|
||
</rolltemplate>
|