Files
ignaciocoza 300829210f Update 1808.html
I have clear some code at a developer request
2026-03-17 22:19:18 +01:00

1296 lines
76 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<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>