Files
roll20-character-sheets/olddragon2e/olddragon2e.html
T
2024-06-03 13:15:14 -04:00

1025 lines
41 KiB
HTML

<!-- Old Dragon 2e Character Sheet -->
<div class="sheet-container">
<!-- Sidebar -->
<div class="sheet-sidebar">
<!-- Atributos -->
<div class="stats">
<!-- Força -->
<div class="stat">
<div class="stat-value">
<button type="roll" value="&{template:basicroll} {{character=@{character_name}}} {{rollname=Teste de Força}} {{rollformula= **Resultado:** [[1d20]] comparado a @{forca} (FOR) }} {{stat=[[@{forca}]]}}" name="roll_For" title="Rolar Teste de Força"><span class="font-bold">FOR</span></button>
<input type="number" name="attr_forca" value="">
</div>
<div class="stat-mod">
<div class="text-sm">M. FOR</div>
<span name="attr_mod_forca"></span>
</div>
</div>
<!-- Destreza -->
<div class="stat">
<div class="stat-value">
<button type="roll" value="&{template:basicroll} {{character=@{character_name}}} {{rollname=Teste de Destreza}} {{rollformula= **Resultado:** [[1d20]] comparado a @{destreza} (DES) }} {{stat=[[@{destreza}]]}}" name="roll_Des" title="Rolar Teste de Destreza"><span class="font-bold">DES</span></button>
<input type="number" name="attr_destreza" value="">
</div>
<div class="stat-mod">
<div class="text-sm">M. DES</div>
<span name="attr_mod_destreza"></span>
</div>
</div>
<!-- Constituição -->
<div class="stat">
<div class="stat-value">
<button type="roll" value="&{template:basicroll} {{character=@{character_name}}} {{rollname=Teste de Constituição}} {{rollformula= **Resultado:** [[1d20]] comparado a @{constituicao} (CON) }} {{stat=[[@{constituicao}]]}}" name="roll_Con" title="Rolar Teste de Constituição"><span class="font-bold">CON</span></button>
<input type="number" name="attr_constituicao" value="">
</div>
<div class="stat-mod">
<div class="text-sm">M. CON</div>
<span name="attr_mod_constituicao"></span>
</div>
</div>
<!-- Sabedoria -->
<div class="stat">
<div class="stat-value">
<button type="roll" value="&{template:basicroll} {{character=@{character_name}}} {{rollname=Teste de Sabedoria}} {{rollformula= **Resultado:** [[1d20]] comparado a @{sabedoria} (SAB) }} {{stat=[[@{sabedoria}]]}}" name="roll_Sab" title="Rolar Teste de Sabedoria"><span class="font-bold">SAB</span></button>
<input type="number" name="attr_sabedoria" value="">
</div>
<div class="stat-mod">
<div class="text-sm">M. SAB</div>
<span name="attr_mod_sabedoria"></span>
</div>
</div>
<!-- Inteligência -->
<div class="stat">
<div class="stat-value">
<button type="roll" value="&{template:basicroll} {{character=@{character_name}}} {{rollname=Teste de Inteligência}} {{rollformula= **Resultado:** [[1d20]] comparado a @{inteligencia} (INT) }} {{stat=[[@{inteligencia}]]}}" name="roll_Int" title="Rolar Teste de Inteligência"><span class="font-bold">INT</span></button>
<input type="number" name="attr_inteligencia" value="">
</div>
<div class="stat-mod">
<div class="text-sm">M. INT</div>
<span name="attr_mod_inteligencia"></span>
</div>
</div>
<!-- Carisma -->
<div class="stat">
<div class="stat-value">
<button type="roll" value="&{template:basicroll} {{character=@{character_name}}} {{rollname=Teste de Carisma}} {{rollformula= **Resultado:** [[1d20]] comparado a @{carisma} (CAR) }} {{stat=[[@{carisma}]]}}" name="roll_Car" title="Rolar Teste de Carisma"><span class="font-bold">CAR</span></button>
<input type="number" name="attr_carisma" value="">
</div>
<div class="stat-mod">
<div class="text-sm">M. CAR</div>
<span name="attr_mod_carisma"></span>
</div>
</div>
</div>
<!-- JP | Jogada de Proteção -->
<div class="jp">
<div class="font-bold">JP | Jogada de Proteção</div>
<!-- JPD (Jogada de Proteção de Destreza) -->
<div class="jp-group">
<!-- JPD -->
<div class="jpd">
<span name="attr_jpd" class="attr-value"></span>
<button type="roll" value="&{template:basicroll} {{character=@{character_name}}} {{rollname=Jogada de Proteção de Destreza}} {{rollformula= **Resultado:** [[1d20]] comparado a @{jpd} (JPD) }} {{stat=[[@{jpd}]]}}" name="roll_Jpd" title="Rolar Jogada de Proteção de Destreza" class="jp-roll"><span class="font-bold">JPD</span></button>
</div>
<div class="jp-values">
<!-- Base (Classe) -->
<div class="jp-value">
<input type="number" name="attr_jpd_class" value="">
<div class="text-xs">Classe</div>
</div>
<!-- Bônus (Raça) -->
<div class="jp-value">
<input type="number" name="attr_jpd_race" value="">
<div class="text-xs">Raça</div>
</div>
<!-- M. DES -->
<div class="jp-value">
<span name="attr_mod_destreza"></span>
<div class="text-xs">M. DES</div>
</div>
</div>
</div>
<!-- JPC (Jogada de Proteção de Constituição) -->
<div class="jp-group">
<!-- JPC -->
<div class="jpc">
<span name="attr_jpc" class="attr-value"></span>
<button type="roll" value="&{template:basicroll} {{character=@{character_name}}} {{rollname=Jogada de Proteção de Constituição}} {{rollformula= **Resultado:** [[1d20]] comparado a @{jpc} (JPC) }} {{stat=[[@{jpc}]]}}" name="roll_Jpc" title="Rolar Jogada de Proteção de Constituição" class="jp-roll"><span class="font-bold">JPC</span></button>
</div>
<div class="jp-values">
<!-- Base (Classe) -->
<div class="jp-value">
<input type="number" name="attr_jpc_class" value="">
<div class="text-xs">Classe</div>
</div>
<!-- Bônus (Raça) -->
<div class="jp-value">
<input type="number" name="attr_jpc_race" value="">
<div class="text-xs">Raça</div>
</div>
<!-- M. CON -->
<div class="jp-value">
<span name="attr_mod_constituicao"></span>
<div class="text-xs">M. CON</div>
</div>
</div>
</div>
<!-- JPS (Jogada de Proteção de Sabedoria) -->
<div class="jp-group">
<!-- JPS -->
<div class="jps">
<span name="attr_jps" class="attr-value"></span>
<button type="roll" value="&{template:basicroll} {{character=@{character_name}}} {{rollname=Jogada de Proteção de Sabedoria}} {{rollformula= **Resultado:** [[1d20]] comparado a @{jps} (JPS) }} {{stat=[[@{jps}]]}}" name="roll_Jps" title="Rolar Jogada de Proteção de Sabedoria" class="jp-roll"><span class="font-bold">JPS</span></button>
</div>
<div class="jp-values">
<!-- Base (Classe) -->
<div class="jp-value">
<input type="number" name="attr_jps_class" value="">
<div class="text-xs">Classe</div>
</div>
<!-- Bônus (Raça) -->
<div class="jp-value">
<input type="number" name="attr_jps_race" value="">
<div class="text-xs">Raça</div>
</div>
<!-- M. SAB -->
<div class="jp-value">
<span name="attr_mod_sabedoria"></span>
<div class="text-xs">M. SAB</div>
</div>
</div>
</div>
</div>
</div>
<!-- Body -->
<div class="sheet-body">
<div class="header">
<!-- Nome; Raça; Classe; Alinhamento; Nível -->
<div class="basic-info">
<!-- Nome -->
<div>
<input type="text" name="attr_character_name">
<div class="font-bold">Nome</div>
</div>
<!-- Raça -->
<div>
<input type="text" name="attr_race">
<div class="font-bold">Raça</div>
</div>
<!-- Classe -->
<div>
<input type="text" name="attr_class">
<div class="font-bold">Classe</div>
</div>
<!-- Nível -->
<div>
<select name="attr_level">
<option value="1" selected></option>
<option value="2"></option>
<option value="3"></option>
<option value="4"></option>
<option value="5"></option>
<option value="6"></option>
<option value="7"></option>
<option value="8"></option>
<option value="9"></option>
<option value="10">10º</option>
<option value="11">11º</option>
<option value="12">12º</option>
<option value="13">13º</option>
<option value="14">14º</option>
<option value="15">15º</option>
</select>
<div class="font-bold">Nível</div>
</div>
</div>
<hr>
<!-- Movimento; Pontos de Experiência; PV -->
<div class="additional-info">
<!-- Alinhamento -->
<div class="alignment">
<div class="font-bold">Alinhamento</div>
<select name="attr_alignment">
<option value="" selected></option>
<option value="ordeiro">Ordeiro</option>
<option value="neutro">Neutro</option>
<option value="caotico">Caotico</option>
</select>
</div>
<!-- Movimento -->
<div class="mv">
<div class="font-bold">Movimento</div>
<div class="mv-values">
<!-- Atual -->
<div class="mv-value">
<input type="number" name="attr_current_movement" value="">
<div class="text-sm">Atual</div>
</div>
<!-- Correr -->
<div class="mv-value">
<span name="attr_movement_run"></span>
<div class="text-sm">Correr</div>
</div>
<!-- Escalar -->
<div class="mv-value">
<span name="attr_movement_climb"></span>
<div class="text-sm">Escalar</div>
</div>
<!-- Nadar -->
<div class="mv-value">
<span name="attr_movement_swim"></span>
<div class="text-sm">Nadar</div>
</div>
</div>
</div>
<!-- Pontos de Experiência -->
<div class="xp">
<div class="font-bold">Pontos de Experiência</div>
<div class="xp-values">
<!-- Atual -->
<div class="xp-value">
<input type="text" name="attr_xp_current" value="">
<div class="text-sm">Atual</div>
</div>
<!-- Próx. Nível -->
<div class="xp-value">
<input type="text" name="attr_xp_next_level" value="">
<div class="text-sm">Próx. Nível</div>
</div>
</div>
</div>
<!-- PV | Pontos de Vida -->
<div class="hp">
<div class="font-bold">PV | Pontos de Vida</div>
<div class="hp-values">
<!-- Atual -->
<div class="hp-value">
<input type="number" name="attr_hp_current" value="">
<div class="text-sm font-bold">PV Atual</div>
</div>
<!-- Total -->
<div class="hp-value">
<input type="number" name="attr_hp_max" value="">
<div class="text-sm font-bold">PV Total</div>
</div>
</div>
</div>
</div>
<hr>
<!-- CA; BA; Economia -->
<div class="overview">
<!-- CA | Classe de Armadura -->
<div class="ca border">
<div class="font-bold">CA | Classe de Armadura</div>
<div class="ca-values">
<!-- CA -->
<div class="ca-total">
<span name="attr_ca"></span>
<div class="font-bold">CA</div>
</div>
<!-- Base -->
<div class="ca-value">
<input type="number" name="attr_ca_base" value="">
<div class="text-xs">Base</div>
</div>
<!-- M. DES -->
<div class="ca-value">
<span name="attr_mod_destreza"></span>
<div class="text-xs">M. DES</div>
</div>
<!-- Armadura -->
<div class="ca-value">
<input type="number" name="attr_ca_armor" value="">
<div class="text-xs">Armadura</div>
</div>
<!-- Escudo -->
<div class="ca-value">
<input type="number" name="attr_ca_shield" value="">
<div class="text-xs">Escudo</div>
</div>
<!-- Arma Mágica -->
<div class="ca-value">
<input type="number" name="attr_ca_magic_weapon" value="">
<div class="text-xs">Extra</div>
</div>
</div>
</div>
<!-- BA | Base de Ataque -->
<div class="ba border">
<div class="font-bold">BA | Base de Ataque</div>
<div class="ba-values">
<!-- BAC -->
<div class="bac">
<span name="attr_bac" class="attr-value"></span>
<button type="roll" value="&{template:bacroll} {{character=@{character_name}}} {{rollformula= **Resultado:** [[ [[1d20]] + @{bac} ]] contra CA do alvo %NEWLINE%%NEWLINE% *Detalhes: $[[0]] + @{bac} (BAC)*}}" name="roll_BacRoll" title="Rolar ataque corpo a corpo" class="ba-roll"><span class="font-bold">BAC</span></button>
</div>
<!-- M. FOR -->
<div class="ba-value">
<span name="attr_mod_forca"></span>
<div class="text-xs">M. FOR</div>
</div>
<!-- Base -->
<div class="ba-value">
<input type="number" name="attr_ba_base" value="">
<div class="text-xs">Base</div>
</div>
<!-- M. DES -->
<div class="ba-value">
<span name="attr_mod_destreza"></span>
<div class="text-xs">M. DES</div>
</div>
<!-- BAD -->
<div class="bad">
<span name="attr_bad" class="attr-value"></span>
<button type="roll" value="&{template:badroll} {{character=@{character_name}}} {{rollformula= **Resultado:** [[ [[1d20]] + @{bad} ]] contra CA do alvo %NEWLINE%%NEWLINE% *Detalhes: $[[0]] + @{bad} (BAD)*}}" name="roll_BadRoll" title="Rolar ataque à distância" class="ba-roll"><span class="font-bold">BAD</span></button>
</div>
</div>
</div>
<!-- Economia -->
<div class="economy border">
<div class="font-bold">Economia</div>
<div class="currency">
<!-- PO | Peças de Ouro -->
<div class="gp">
<input type="number" name="attr_gp" value="">
<div class="font-bold gp-label" title="Peças de Ouro"><span class="font-pictos">L</span> PO</div>
</div>
<!-- PP | Peças de Prata -->
<div class="sp">
<input type="number" name="attr_sp" value="">
<div class="font-bold sp-label" title="Peças de Prata"><span class="font-pictos">L</span> PP</div>
</div>
<!-- PC | Peças de Cobre -->
<div class="cp">
<input type="number" name="attr_cp" value="">
<div class="font-bold cp-label" title="Peças de Cobre"><span class="font-pictos">L</span> PC</div>
</div>
</div>
</div>
</div>
</div>
<div class="main">
<input type="hidden" class="sheet-tabstoggle" name="attr_sheetTab" value="attacks">
<div class="navigation-tabs">
<button type="action" name="act_attacks">Ataques</button>
<button type="action" name="act_skills">Habilidades Raça/Classe</button>
<button type="action" name="act_spells">Magias</button>
<button type="action" name="act_equipment">Equipamentos</button>
<button type="action" name="act_details">Detalhes</button>
<button type="action" name="act_notes">Anotações</button>
</div>
<!-- attacks tab (Ataques) -->
<div class="tab-attacks">
<div class="attack-list-header">
<div class="attack-name-label">Arma</div>
<div class="attack-range-label">Alcance</div>
<div class="attack-ba-label">BA <span style="font-family: 'Pictos';font-weight: 100;padding-left: 2px;cursor: help;" title="Apenas números inteiros positivos ou negativos (Ex: 4, -1)">i</span></div>
<div class="attack-bonus-ba-label">Bôn. BA <span style="font-family: 'Pictos';font-weight: 100;padding-left: 2px;cursor: help;" title="Apenas números inteiros positivos ou negativos (Ex: 4, -1)">i</span></div>
<div class="attack-damage-label">Dano <span style="font-family: 'Pictos';font-weight: 100;padding-left: 2px;cursor: help;" title="Apenas dados (Ex: 1d4, 2d6)">i</span></div>
<div class="attack-bonus-damage-label">Bôn. Dano <span style="font-family: 'Pictos';font-weight: 100;padding-left: 2px;cursor: help;" title="Apenas números inteiros positivos ou negativos (Ex: 4, -1)">i</span></div>
<div class="attack-properties-label">Propriedades</div>
<div class="attack-action-label">Ações</div>
</div>
<!-- Repeating Sections for attacks -->
<fieldset class="repeating_attacks">
<div class="attack-data">
<div class="attack-name">
<input type="text" name="attr_attack_name" placeholder="Nome do ataque">
</div>
<div class="attack-range">
<input type="text" name="attr_attack_range" placeholder="Alcance">
</div>
<div class="attack-ba">
<input type="number" name="attr_attack_ba" value="0" placeholder="BA">
</div>
<div class="attack-bonus-ba">
<input type="number" name="attr_attack_bonus_ba" value="0" placeholder="Bôn. BA">
</div>
<div class="attack-damage">
<input type="text" name="attr_attack_damage" value="1d0" placeholder="Dano">
</div>
<div class="attack-bonus-damage">
<input type="number" name="attr_attack_bonus_damage" value="0" placeholder="Bôn. Dano">
</div>
<div class="attack-properties">
<input type="text" name="attr_attack_properties" placeholder="Propriedades">
</div>
<div class="attack-action">
<button type="roll" value="&{template:attackroll} {{character=@{character_name}}} {{attack=@{attack_name}}} {{rollformula= **Resultado:** [[ [[1d20]] + @{attack_ba} + @{attack_bonus_ba} ]] contra CA do alvo %NEWLINE%%NEWLINE% *Detalhes: $[[0]] + @{attack_ba} (BA) + @{attack_bonus_ba} (Bônus na BA)* }}" name="roll_AttackRoll" title="Rolar ataque" class="attack-roll"><span style="font-family: 'dicefontd20'">0</span></button>
<button type="roll" value="&{template:damageroll} {{character=@{character_name}}} {{attack=@{attack_name}}} {{rollformula= **Resultado:** [[ [[@{attack_damage}]] + @{attack_bonus_damage} ]] de dano %NEWLINE%%NEWLINE% *Detalhes: $[[0]] + @{attack_bonus_damage} (Bônus no Dano)* }}" name="roll_DamageRoll" title="Rolar dano" class="damage-roll"><span style="font-family: 'Pictos Custom'">t</span></button>
</div>
</div>
<hr>
</fieldset>
</div>
<!-- skills tab (Habilidades Raça/Classe) -->
<div class="tab-skills">
<!-- Infravisão -->
<div class="infravision">
<div><span class="font-pictos">E</span> <span class="font-bold">Infravisão</span></div>
<input type="number" name="attr_infravision" value="">
</div>
<!-- Habilidades de Raça -->
<div class="race-skills">
<div class="tab-title">Habilidades de Raça</div>
<textarea name="attr_race_skills"></textarea>
</div>
<!-- Habilidades de Classe -->
<div class="class-skills">
<div class="tab-title">Habilidades de Classe</div>
<textarea name="attr_class_skills"></textarea>
</div>
</div>
<!-- spells tab (Magias) -->
<div class="tab-spells">
<div class="spell-list-header">
<div class="spell-name-label">Magia</div>
<div class="spell-school-label">Tipo</div>
<div class="spell-circle-label">Círculo</div>
<div class="spell-range-label">Alcance</div>
<div class="spell-duration-label">Duração</div>
<div class="spell-jp-label">JP</div>
<div class="spell-slot-label">Usos</div>
<div class="spell-roll-label">Conjurar</div>
</div>
<!-- Repeating Sections for spells -->
<fieldset class="repeating_spells">
<div class="spell-data">
<div class="spell-name">
<input type="text" name="attr_spell_name" placeholder="Nome da magia">
</div>
<div class="spell-school">
<input type="text" name="attr_spell_school" placeholder="Tipo">
</div>
<div class="spell-circle">
<input type="text" name="attr_spell_circle" placeholder="Círculo">
</div>
<div class="spell-range">
<input type="text" name="attr_spell_range" placeholder="Alcance">
</div>
<div class="spell-duration">
<input type="text" name="attr_spell_duration" placeholder="Duração">
</div>
<div class="spell-jp">
<input type="text" name="attr_spell_jp" placeholder="JP">
</div>
<div class="spell-slot">
<select name="attr_spell_slot">
<option value="9">9</option>
<option value="8">8</option>
<option value="7">7</option>
<option value="6">6</option>
<option value="5">5</option>
<option value="4">4</option>
<option value="3">3</option>
<option value="2">2</option>
<option value="1">1</option>
<option value="0" selected>0</option>
</select>
</div>
<div class="spell-roll">
<button type="roll" value="&{template:spellroll} {{character=@{character_name}}} {{spell=@{spell_name}}} {{school=@{spell_school}}} {{circle=@{spell_circle}}} {{range=@{spell_range}}} {{duration=@{spell_duration}}} {{jp=@{spell_jp}}} {{description=@{spell_description}}}" name="roll_SpellRoll" title="Conjurar magia" class="spell-roll"><span style="font-family: 'Pictos Three'">g</span></button>
</div>
</div>
<input type="checkbox" name="attr_spell_description_field" class="spell-description-input spell-description-header" value="0" title="Ocultar/Mostrar"><span class="spell-description-input spell-description-header">Descrição</span>
<div class="spell-description">
<textarea name="attr_spell_description" placeholder="Descrição da magia"></textarea>
</div>
<hr>
</fieldset>
</div>
<!-- equipment tab (Equipamentos) -->
<div class="tab-equipment">
<!-- Armas -->
<div class="equipment-list-header">
<div class="equipment-name-label">Armas</div>
<div class="equipment-quantity-label">Qtd</div>
<div class="equipment-weight-label">Peso/Carga</div>
<div class="equipment-cost-label">Valor</div>
<div class="equipment-description-label">Descrição</div>
</div>
<!-- Repeating Sections for weapon -->
<fieldset class="repeating_weapon">
<div class="equipment-data">
<div class="equipment-name">
<input type="text" name="attr_weapon_name" placeholder="Nome da equipamento">
</div>
<div class="equipment-quantity">
<input type="text" name="attr_weapon_quantity" placeholder="Qtd">
</div>
<div class="equipment-weight">
<input type="text" name="attr_weapon_weight" placeholder="Peso/Carga">
</div>
<div class="equipment-cost">
<input type="text" name="attr_weapon_cost" placeholder="Valor">
</div>
<div class="equipment-description">
<input type="text" name="attr_weapon_description" placeholder="Descrição">
</div>
</div>
<hr>
</fieldset>
<!-- Armaduras -->
<div class="equipment-list-header second-item">
<div class="equipment-name-label">Armaduras</div>
<div class="equipment-quantity-label">Qtd</div>
<div class="equipment-weight-label">Peso/Carga</div>
<div class="equipment-cost-label">Valor</div>
<div class="equipment-description-label">Descrição</div>
</div>
<!-- Repeating Sections for armor -->
<fieldset class="repeating_armor">
<div class="equipment-data">
<div class="equipment-name">
<input type="text" name="attr_armor_name" placeholder="Nome da equipamento">
</div>
<div class="equipment-quantity">
<input type="text" name="attr_armor_quantity" placeholder="Qtd">
</div>
<div class="equipment-weight">
<input type="text" name="attr_armor_weight" placeholder="Peso/Carga">
</div>
<div class="equipment-cost">
<input type="text" name="attr_armor_cost" placeholder="Valor">
</div>
<div class="equipment-description">
<input type="text" name="attr_armor_description" placeholder="Descrição">
</div>
</div>
<hr>
</fieldset>
<!-- Escudos -->
<div class="equipment-list-header second-item">
<div class="equipment-name-label">Escudos</div>
<div class="equipment-quantity-label">Qtd</div>
<div class="equipment-weight-label">Peso/Carga</div>
<div class="equipment-cost-label">Valor</div>
<div class="equipment-description-label">Descrição</div>
</div>
<!-- Repeating Sections for shield -->
<fieldset class="repeating_shield">
<div class="equipment-data">
<div class="equipment-name">
<input type="text" name="attr_shield_name" placeholder="Nome da equipamento">
</div>
<div class="equipment-quantity">
<input type="text" name="attr_shield_quantity" placeholder="Qtd">
</div>
<div class="equipment-weight">
<input type="text" name="attr_shield_weight" placeholder="Peso/Carga">
</div>
<div class="equipment-cost">
<input type="text" name="attr_shield_cost" placeholder="Valor">
</div>
<div class="equipment-description">
<input type="text" name="attr_shield_description" placeholder="Descrição">
</div>
</div>
<hr>
</fieldset>
<!-- Itens Gerais -->
<div class="equipment-list-header second-item">
<div class="equipment-name-label">Itens Gerais</div>
<div class="equipment-quantity-label">Qtd</div>
<div class="equipment-weight-label">Peso/Carga</div>
<div class="equipment-cost-label">Valor</div>
<div class="equipment-description-label">Descrição</div>
</div>
<!-- Repeating Sections for misc -->
<fieldset class="repeating_misc">
<div class="equipment-data">
<div class="equipment-name">
<input type="text" name="attr_misc_name" placeholder="Nome da equipamento">
</div>
<div class="equipment-quantity">
<input type="text" name="attr_misc_quantity" placeholder="Qtd">
</div>
<div class="equipment-weight">
<input type="text" name="attr_misc_weight" placeholder="Peso/Carga">
</div>
<div class="equipment-cost">
<input type="text" name="attr_misc_cost" placeholder="Valor">
</div>
<div class="equipment-description">
<input type="text" name="attr_misc_description" placeholder="Descrição">
</div>
</div>
<hr>
</fieldset>
<!-- Recipientes & Vasilhames -->
<div class="equipment-list-header second-item">
<div class="equipment-name-label">Recipientes & Vasilhames</div>
<div class="equipment-quantity-label">Qtd</div>
<div class="equipment-weight-label">Peso/Carga</div>
<div class="equipment-cost-label">Valor</div>
<div class="equipment-description-label">Descrição</div>
</div>
<!-- Repeating Sections for container -->
<fieldset class="repeating_container">
<div class="equipment-data">
<div class="equipment-name">
<input type="text" name="attr_container_name" placeholder="Nome da equipamento">
</div>
<div class="equipment-quantity">
<input type="text" name="attr_container_quantity" placeholder="Qtd">
</div>
<div class="equipment-weight">
<input type="text" name="attr_container_weight" placeholder="Peso/Carga">
</div>
<div class="equipment-cost">
<input type="text" name="attr_container_cost" placeholder="Valor">
</div>
<div class="equipment-description">
<input type="text" name="attr_container_description" placeholder="Descrição">
</div>
</div>
<hr>
</fieldset>
<!-- Montarias & Transportes -->
<div class="equipment-list-header second-item">
<div class="equipment-name-label">Montarias & Transportes</div>
<div class="equipment-quantity-label">Qtd</div>
<div class="equipment-weight-label">Peso/Carga</div>
<div class="equipment-cost-label">Valor</div>
<div class="equipment-description-label">Descrição</div>
</div>
<!-- Repeating Sections for vehicle -->
<fieldset class="repeating_vehicle">
<div class="equipment-data">
<div class="equipment-name">
<input type="text" name="attr_vehicle_name" placeholder="Nome da equipamento">
</div>
<div class="equipment-quantity">
<input type="text" name="attr_vehicle_quantity" placeholder="Qtd">
</div>
<div class="equipment-weight">
<input type="text" name="attr_vehicle_weight" placeholder="Peso/Carga">
</div>
<div class="equipment-cost">
<input type="text" name="attr_vehicle_cost" placeholder="Valor">
</div>
<div class="equipment-description">
<input type="text" name="attr_vehicle_description" placeholder="Descrição">
</div>
</div>
<hr>
</fieldset>
<!-- Carga -->
<div class="load-section">
<div class="load border">
<div class="font-bold">Carga</div>
<div class="load-values">
<!-- Carga Atual -->
<div class="current-load">
<input type="number" name="attr_current_load" value="">
<div>Atual</div>
</div>
<div class="max-load">
<input type="number" name="attr_max_load" value="">
<div>Máx.</div>
</div>
</div>
</div>
</div>
</div>
<!-- details tab (Detalhes) -->
<div class="tab-details">
<!-- Idiomas -->
<div class="languages">
<div class="tab-title">Idiomas</div>
<textarea class="languages-textarea" name="attr_languages"></textarea>
</div>
<!-- Reputação -->
<div class="reputation">
<div class="tab-title">Reputação</div>
<select name="attr_reputation">
<option value="0" selected>0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>
</div>
<!-- Aparência -->
<div class="appearance">
<div class="tab-title">Aparência</div>
<textarea name="attr_appearance"></textarea>
</div>
<!-- Personalidade -->
<div class="personality">
<div class="tab-title">Personalidade</div>
<textarea name="attr_personality"></textarea>
</div>
<!-- Histórico -->
<div class="background">
<div class="tab-title">Histórico</div>
<textarea name="attr_background"></textarea>
</div>
</div>
<!-- notes tab (Anotações) -->
<div class="tab-notes">
<!-- Anotações -->
<div class="notes">
<div class="tab-title">Anotações</div>
<textarea name="attr_notes"></textarea>
</div>
</div>
</div>
</div>
</div>
<!-- Old Dragon 2e Roll Templates -->
<!-- Basic Roll (FOR, DES, CON, SAB, INT, CAR, JPD, JPC, JPS rolls) -->
<rolltemplate class="sheet-rolltemplate-basicroll">
<div class="sheet-character-name">{{character}}</div>
<h3>{{rollname}}</h3>
{{#rollformula}}
{{#^rollGreater() rollformula stat}}
<h4 class="sheet-success">SUCESSO!</h4>
{{/^rollGreater() rollformula stat}}
{{#rollGreater() rollformula stat}}
<h4 class="sheet-fail">FALHA</h4>
{{/rollGreater() rollformula stat}}
<div class="sheet-rollresult">{{rollformula}}</div>
{{/rollformula}}
<hr>
</rolltemplate>
<!-- BAC Roll -->
<rolltemplate class="sheet-rolltemplate-bacroll">
<div class="sheet-character-name">{{character}}</div>
<h3>Ataque corpo a corpo</h3>
{{#rollformula}}
<div class="sheet-rollresult">{{rollformula}}</div>
{{/rollformula}}
<hr>
</rolltemplate>
<!-- BAD Roll -->
<rolltemplate class="sheet-rolltemplate-badroll">
<div class="sheet-character-name">{{character}}</div>
<h3>Ataque à distância</h3>
{{#rollformula}}
<div class="sheet-rollresult">{{rollformula}}</div>
{{/rollformula}}
<hr>
</rolltemplate>
<!-- Attack Roll -->
<rolltemplate class="sheet-rolltemplate-attackroll">
<div class="sheet-character-name">{{character}}</div>
<h3>Ataque com {{attack}}</h3>
{{#rollformula}}
<div class="sheet-rollresult">{{rollformula}}</div>
{{/rollformula}}
<hr>
</rolltemplate>
<!-- Damage Roll -->
<rolltemplate class="sheet-rolltemplate-damageroll">
<div class="sheet-character-name">{{character}}</div>
<h3>Dano com {{attack}}</h3>
{{#rollformula}}
<div class="sheet-rollresult">{{rollformula}}</div>
{{/rollformula}}
<hr>
</rolltemplate>
<!-- Spell Roll -->
<rolltemplate class="sheet-rolltemplate-spellroll">
<div class="sheet-character-name">{{character}}</div>
<h3>{{spell}}</h3>
<div class="sheet-school">
<span>{{school}}</span>
<span>({{circle}}º círculo)</span>
</div>
<div class="sheet-range">
<strong>Alcance:</strong>
<span>{{range}}</span>
</div>
<div class="sheet-duration">
<strong>Duração:</strong>
<span>{{duration}}</span>
</div>
<div class="sheet-jp">
<strong>JP:</strong>
<span>{{jp}}</span>
</div>
<div>{{description}}</div>
<hr>
</rolltemplate>
<!-- Old Dragon 2e Script -->
<script type="text/worker">
// Initialize attributes and modifiers
on("sheet:opened", () => {
const stats = ["forca", "destreza", "constituicao", "sabedoria", "inteligencia", "carisma"];
const additionalAttrs = ["jpd_class", "jpd_race", "jpc_class", "jpc_race", "jps_class", "jps_race", "ca_base", "ca_armor", "ca_shield", "ca_magic_weapon", "ba_base"];
const attrsToGet = stats.concat(stats.map(stat => `mod_${stat}`)).concat(additionalAttrs);
getAttrs(attrsToGet, values => {
const initialAttrs = {};
stats.forEach(stat => {
if (!values[stat]) {
initialAttrs[stat] = "10";
}
if (!values[`mod_${stat}`]) {
initialAttrs[`mod_${stat}`] = "+0";
}
});
additionalAttrs.forEach(attr => {
if (!values[attr]) {
initialAttrs[attr] = "0";
}
});
if (Object.keys(initialAttrs).length > 0) {
setAttrs(initialAttrs);
}
});
});
// Calculate modifiers
const int = score => parseInt(score, 10) || 0;
const stats = ["forca", "destreza", "constituicao", "sabedoria", "inteligencia", "carisma"];
stats.forEach(stat => {
on(`change:${stat}`, () => {
getAttrs([stat], values => {
const stat_base = int(values[stat]);
let stat_mod = 0;
if (stat_base < 2) stat_mod = "-4";
else if (stat_base < 4) stat_mod = "-3";
else if (stat_base < 6) stat_mod = "-2";
else if (stat_base < 9) stat_mod = "-1";
else if (stat_base < 13) stat_mod = "+0";
else if (stat_base < 15) stat_mod = "+1";
else if (stat_base < 17) stat_mod = "+2";
else if (stat_base < 19) stat_mod = "+3";
else stat_mod = "+4";
setAttrs({
[`mod_${stat}`]: stat_mod
});
});
});
});
// Calculate JPD
on("change:jpd change:jpd_class change:jpd_race change:mod_destreza", function() {
getAttrs(["jpd", "jpd_class", "jpd_race", "mod_destreza"], function(values) {
let jpd = int(values.jpd);
let jpd_class = int(values.jpd_class);
let jpd_race = int(values.jpd_race);
let mod_des = int(values.mod_destreza);
let jpd_total = jpd_class + jpd_race + mod_des;
setAttrs({
jpd: jpd_total
});
});
});
// Calculate JPC
on("change:jpc change:jpc_class change:jpc_race change:mod_constituicao", function() {
getAttrs(["jpc", "jpc_class", "jpc_race", "mod_constituicao"], function(values) {
let jpc = int(values.jpc);
let jpc_class = int(values.jpc_class);
let jpc_race = int(values.jpc_race);
let mod_cos = int(values.mod_constituicao);
let jpc_total = jpc_class + jpc_race + mod_cos;
setAttrs({
jpc: jpc_total
});
});
});
// Calculate JPS
on("change:jps change:jps_class change:jps_race change:mod_sabedoria", function() {
getAttrs(["jps", "jps_class", "jps_race", "mod_sabedoria"], function(values) {
let jps = int(values.jps);
let jps_class = int(values.jps_class);
let jps_race = int(values.jps_race);
let mod_sab = int(values.mod_sabedoria);
let jps_total = jps_class + jps_race + mod_sab;
setAttrs({
jps: jps_total
});
});
});
// Calculate CA
on("change:ca_base change:mod_destreza change:ca_armor change:ca_shield change:ca_magic_weapon", function() {
getAttrs(["ca_base", "mod_destreza", "ca_armor", "ca_shield", "ca_magic_weapon"], function(values) {
let ca_base = int(values.ca_base);
let mod_des = int(values.mod_destreza);
let ca_armor = int(values.ca_armor);
let ca_shield = int(values.ca_shield);
let ca_magic_weapon = int(values.ca_magic_weapon);
let ca_total = ca_base + mod_des + ca_armor + ca_shield + ca_magic_weapon;
setAttrs({
ca: ca_total
});
});
});
// Calculate BA
on("change:ba_base change:mod_forca change:mod_destreza", function() {
getAttrs(["ba_base", "mod_forca", "mod_destreza"], function(values) {
let ba_base = int(values.ba_base);
let mod_for = int(values.mod_forca);
let mod_des = int(values.mod_destreza);
let bac = ba_base + mod_for;
let bad = ba_base + mod_des;
setAttrs({
bac: bac,
bad: bad
});
});
});
// Calculate movement
on("change:current_movement", function() {
getAttrs(["current_movement"], function(values) {
let current_mv = values.current_movement;
let mv_run = Math.floor(current_mv * 2);
let mv_climb = Math.floor(current_mv - 2);
let mv_swim = Math.floor(current_mv / 2);
setAttrs({
movement_run: mv_run,
movement_climb: mv_climb,
movement_swim: mv_swim
});
});
});
// Tabs system
const buttonlist = ["attacks", "skills", "spells", "equipment", "details", "notes"];
buttonlist.forEach(button => {
on(`clicked:${button}`, function() {
setAttrs({
sheetTab: button
});
});
});
// Data validation
attack_stats = ["attack_ba", "attack_bonus_ba", "attack_bonus_damage"];
attack_stats.forEach(stat => {
on(`change:repeating_attacks:${stat}`, () => {
getAttrs([`repeating_attacks_${stat}`], values => {
const stat_value = values[`repeating_attacks_${stat}`];
pattern = /^-?\d*?\d+$/;
if (!pattern.test(stat_value)) {
setAttrs({
[`repeating_attacks_${stat}`]: ""
});
}
});
});
});
on("change:repeating_attacks:attack_damage", function() {
getAttrs(["repeating_attacks_attack_damage"], function(values) {
let attack_damage = values.repeating_attacks_attack_damage;
pattern = /^\d+d{1}\d+$/;
if (!pattern.test(attack_damage)) {
setAttrs({
repeating_attacks_attack_damage: ""
});
};
});
});
</script>