mirror of
https://github.com/Nighthawk42/roll20-character-sheets.git
synced 2026-08-30 19:52:29 +00:00
Enables use of the Selective Initiative System, added Reactions and an "I'm Ready / I'm Done" button.
2206 lines
93 KiB
HTML
2206 lines
93 KiB
HTML
<!--
|
||
Logical Fantasy Gaming (LFG)
|
||
Official Roll20 Character Sheet
|
||
|
||
Author: Daniel Brillat
|
||
System: Logical Fantasy Gaming (LFG)
|
||
Repository: https://github.com/LogicalFantasyGaming/lfg-roll20-character-sheet
|
||
|
||
All game mechanics and system content © Logical Fantasy Gaming.
|
||
Character sheet code may be reused with attribution.
|
||
-->
|
||
|
||
<div class="lfg-sheet">
|
||
<!-- sheet359: Sheet header line with logo -->
|
||
<div class="lfg-sheet-titlebar">
|
||
<img class="lfg-sheet-logo" src="https://raw.githubusercontent.com/LogicalFantasyGaming/lfg-roll20-character-sheet/main/assets/lfg-logo-horizontal.png" alt="Logical Fantasy Gaming">
|
||
</div>
|
||
|
||
<!-- TAB STATE -->
|
||
<input id="tab-front" class="tabstate" type="radio" name="attr_sheetTab" value="front" checked>
|
||
<input id="tab-back" class="tabstate" type="radio" name="attr_sheetTab" value="back">
|
||
<input id="tab-magic" class="tabstate" type="radio" name="attr_sheetTab" value="magic">
|
||
|
||
<!-- TAB BUTTONS -->
|
||
<div class="tabs">
|
||
<label class="tabbtn" for="tab-front">Front</label>
|
||
<label class="tabbtn" for="tab-back">Back</label>
|
||
<label class="tabbtn" for="tab-magic">Spells & Magic</label>
|
||
</div>
|
||
|
||
<!-- ===================== FRONT ===================== -->
|
||
<div class="page page-front">
|
||
|
||
|
||
<!-- ===== Identity Strip (Paper-sheet order) ===== -->
|
||
<!-- Identity Strip Toggle -->
|
||
<input type="checkbox" class="id-toggle" name="attr_show_identity" id="show-identity">
|
||
<label class="id-toggle-btn" for="show-identity">Identity & XP</label>
|
||
|
||
<div class="identity-strip">
|
||
<div class="id-grid">
|
||
<!-- Row 1 -->
|
||
<div class="id-field id-name">
|
||
<label>Character Name</label>
|
||
<input type="text" name="attr_Name">
|
||
</div>
|
||
<div class="id-field id-class">
|
||
<label>Class</label>
|
||
<input type="text" name="attr_Class">
|
||
</div>
|
||
<div class="id-field id-level">
|
||
<label>Level</label>
|
||
<input type="text" name="attr_Level">
|
||
</div>
|
||
<div class="id-xp">
|
||
<label>Experience Points</label>
|
||
<input type="text" name="attr_XP" maxlength="4" class="xp4" placeholder="XP">
|
||
</div>
|
||
|
||
<!-- Row 2 -->
|
||
<div class="id-field id-age">
|
||
<label>Age</label>
|
||
<input type="text" name="attr_Age">
|
||
</div>
|
||
<div class="id-field id-sex">
|
||
<label>Sex</label>
|
||
<input type="text" name="attr_Sex">
|
||
</div>
|
||
<div class="id-field id-height">
|
||
<label>Height</label>
|
||
<input type="text" name="attr_Height">
|
||
</div>
|
||
<div class="id-field id-weight">
|
||
<label>Weight</label>
|
||
<input type="text" name="attr_Weight">
|
||
</div>
|
||
<div class="id-field id-hair">
|
||
<label>Hair</label>
|
||
<input type="text" name="attr_HairColor">
|
||
</div>
|
||
<div class="id-field id-eyes">
|
||
<label>Eyes</label>
|
||
<input type="text" name="attr_EyeColor">
|
||
</div>
|
||
<div class="id-field id-race">
|
||
<label>Race</label>
|
||
<input type="text" name="attr_Race">
|
||
</div>
|
||
|
||
<!-- Row 3 -->
|
||
<div class="id-field id-morality">
|
||
<label>Morality</label>
|
||
<input type="text" name="attr_Morality">
|
||
</div>
|
||
<div class="id-field id-motivation1">
|
||
<label>Motivation 1</label>
|
||
<input type="text" name="attr_Motivation_1">
|
||
</div>
|
||
<div class="id-field id-motivation2">
|
||
<label>Motivation 2</label>
|
||
<input type="text" name="attr_Motivation_2">
|
||
</div>
|
||
|
||
<div class="id-field id-moralitypoints">
|
||
<label>Morality Points</label>
|
||
<input type="text" name="attr_Morality_Points" class="mp3" placeholder="MP">
|
||
</div>
|
||
|
||
|
||
<div class="id-row id-row-vision">
|
||
<div class="id-field id-vision">
|
||
<label>Vision & Senses</label>
|
||
<input type="text" name="attr_Vision_Senses">
|
||
</div>
|
||
<div class="id-field id-languages">
|
||
<label>Languages</label>
|
||
<input type="text" name="attr_Languages">
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- (Front retained from v2 baseline) -->
|
||
<div class="grid top-two">
|
||
<div class="card core-stats-card">
|
||
<div class="card-title">Core Stats</div>
|
||
|
||
<div class="ability-block">
|
||
<div class="ability-header">
|
||
<div></div>
|
||
<div class="ability-col-title">Ability<br>Score</div>
|
||
<div class="ability-col-title">Ability<br>Mod</div>
|
||
</div>
|
||
|
||
<div class="ability-row">
|
||
<div class="ability-abbr">STR</div>
|
||
<input type="text" name="attr_STR" class="ability-box">
|
||
<input type="text" name="attr_STRMOD" class="ability-box" readonly>
|
||
</div>
|
||
<div class="ability-row">
|
||
<div class="ability-abbr">DEX</div>
|
||
<input type="text" name="attr_DEX" class="ability-box">
|
||
<input type="text" name="attr_DEXMOD" class="ability-box" readonly>
|
||
</div>
|
||
<div class="ability-row">
|
||
<div class="ability-abbr">CON</div>
|
||
<input type="text" name="attr_CON" class="ability-box">
|
||
<input type="text" name="attr_CONMOD" class="ability-box" readonly>
|
||
</div>
|
||
<div class="ability-row">
|
||
<div class="ability-abbr">INT</div>
|
||
<input type="text" name="attr_INT" class="ability-box">
|
||
<input type="text" name="attr_INTMOD" class="ability-box" readonly>
|
||
</div>
|
||
<div class="ability-row">
|
||
<div class="ability-abbr">WIS</div>
|
||
<input type="text" name="attr_WIS" class="ability-box">
|
||
<input type="text" name="attr_WISMOD" class="ability-box" readonly>
|
||
</div>
|
||
<div class="ability-row">
|
||
<div class="ability-abbr">CHA</div>
|
||
<input type="text" name="attr_CHA" class="ability-box">
|
||
<input type="text" name="attr_CHAMOD" class="ability-box" readonly>
|
||
</div>
|
||
|
||
<div class="ability-tokenline">
|
||
<div class="hp-drlabel">Confidence Tokens</div>
|
||
<input type="text" name="attr_Confidence_Tokens" class="hp-drbox ct-box">
|
||
</div>
|
||
</div>
|
||
|
||
<div class="hp-panel">
|
||
<div class="hp-panel-title">Hit Points</div>
|
||
|
||
<div class="hp-grid">
|
||
<div class="hp-cell">
|
||
<div class="hp-label">Max HP</div>
|
||
<input type="text" name="attr_HP" class="hp-box">
|
||
</div>
|
||
|
||
<div class="hp-cell">
|
||
<div class="hp-label">Current</div>
|
||
<input type="text" name="attr_Current_HP" class="hp-box">
|
||
</div>
|
||
|
||
<div class="hp-cell">
|
||
<div class="hp-label hp-label-small">Injured<br>Threshold</div>
|
||
<input type="text" name="attr_Injured_Threshold" class="hp-box" readonly>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="hp-drgrid">
|
||
<div class="hp-drlabel">Damage Resistance (DR)</div>
|
||
<input type="text" name="attr_DR" class="hp-drbox" placeholder="DR">
|
||
</div>
|
||
</div>
|
||
|
||
<div class="corestat-row hr-row" style="margin-top:6px; margin-bottom:-3px; ">
|
||
<div class="corestat-label">Hit Rating</div>
|
||
<input type="text" name="attr_HR" class="corestat-box" placeholder="HR">
|
||
</div>
|
||
<div class="corestat-row movespeed-row">
|
||
<div class="corestat-label">Move Speed</div>
|
||
<input type="text" name="attr_Move" class="corestat-box">
|
||
</div>
|
||
</div>
|
||
|
||
|
||
<div class="right-col">
|
||
<div class="card initiative-card">
|
||
<div class="initiative-row">
|
||
<div class="corestat-label corestat-label-initiative">Initiative
|
||
<div class="initiative-reactions">
|
||
<span class="initiative-reactions-label">Reactions:</span>
|
||
<input type="text" name="attr_Reactions" class="initiative-reactions-box">
|
||
</div>
|
||
</div>
|
||
<input type="text" name="attr_Initiative2" class="corestat-box">
|
||
|
||
<!-- Two-state toggle button (does not affect layout) -->
|
||
<input type="checkbox" id="init-ready-toggle" class="init-ready-toggle" name="attr_InitReadyToggle">
|
||
<label class="init-ready-btn" for="init-ready-toggle"></label>
|
||
</div>
|
||
|
||
<div class="sh sh-rating" style="margin:1px 0 8px 0; text-align:left;">
|
||
Initiative = IR+WISMod+DEXMod
|
||
</div>
|
||
</div>
|
||
|
||
<div class="card armor-saves-card">
|
||
<div class="card-title">AC & Saves</div>
|
||
|
||
<!-- Armor -->
|
||
<div class="armor-top">
|
||
<div class="armor-class-label">Armor Class</div>
|
||
<input type="text" name="attr_AC" class="armor-box armor-box-main" placeholder="AC">
|
||
|
||
<div class="temp-ac-block">
|
||
<div class="temp-ac-label">Temp AC</div>
|
||
<input type="text" name="attr_Temp_AC" class="armor-box armor-box-temp">
|
||
</div>
|
||
</div>
|
||
|
||
<div class="armor-lines">
|
||
<div class="armor-line">
|
||
<div class="armor-line-label">Flat-Footed AC</div>
|
||
<input type="text" name="attr_FFAC" class="armor-box armor-box-small" placeholder="FFAC">
|
||
</div>
|
||
|
||
<div class="armor-line">
|
||
<div class="armor-line-label">AC vs Critical</div>
|
||
<input type="text" name="attr_ACvsCrit" class="armor-box armor-box-small" placeholder="ACvC">
|
||
</div>
|
||
|
||
<div class="armor-line">
|
||
<div class="armor-line-label">Touch AC</div>
|
||
<input type="text" name="attr_TouchAC" class="armor-box armor-box-small" placeholder="Touch">
|
||
</div>
|
||
</div>
|
||
|
||
<!-- AC formula helper -->
|
||
<div class="ac-formula">AC = 10+AR+DEXMod+Other Modifiers</div>
|
||
|
||
<!-- Conditions -->
|
||
<div class="conditions-panel">
|
||
<div class="conditions-label">Conditions / Effects:</div>
|
||
<textarea name="attr_Conditions___Effects" class="conditions-text"></textarea>
|
||
</div>
|
||
|
||
<!-- Saves -->
|
||
<div class="saving-title">Saving Throws</div>
|
||
|
||
<div class="saving-header">
|
||
<div></div>
|
||
<div class="sh sh-total">Total<br>Save</div>
|
||
<div></div>
|
||
<div class="sh sh-rating">Save<br>Rating</div>
|
||
<div></div>
|
||
<div class="sh sh-ability">Ability<br>Mod</div>
|
||
<div></div>
|
||
<div class="sh sh-other">Other<br>Bonus</div>
|
||
</div>
|
||
|
||
<div class="save-row">
|
||
<button type="roll" class="save-name save-roll-btn" value="&{template:default} {{name=FORT Save}} {{Save Total=[[1d20 + @{FORT}]]}}">FORT</button>
|
||
<div class="save-cell">
|
||
<input type="text" name="attr_FORT" class="save-box save-total" readonly>
|
||
</div>
|
||
<div class="save-eq">=</div>
|
||
<div class="save-cell">
|
||
<input type="text" name="attr_FORT_Save_Rating" class="save-box">
|
||
</div>
|
||
<div class="save-plus">+</div>
|
||
<div class="save-cell">
|
||
<input type="text" name="attr_FORT_AbilityMod" class="save-box save-ability" placeholder="CON" readonly>
|
||
</div>
|
||
<div class="save-plus">+</div>
|
||
<div class="save-cell">
|
||
<input type="text" name="attr_FORT_OtherBonus" class="save-box">
|
||
</div>
|
||
</div>
|
||
|
||
<div class="save-row">
|
||
<button type="roll" class="save-name save-roll-btn" value="&{template:default} {{name=REF Save}} {{Save Total=[[1d20 + @{REF}]]}}">REF</button>
|
||
<div class="save-cell">
|
||
<input type="text" name="attr_REF" class="save-box save-total" readonly>
|
||
</div>
|
||
<div class="save-eq">=</div>
|
||
<div class="save-cell">
|
||
<input type="text" name="attr_REF_Save_Rating" class="save-box">
|
||
</div>
|
||
<div class="save-plus">+</div>
|
||
<div class="save-cell">
|
||
<input type="text" name="attr_REF_AbilityMod" class="save-box save-ability" placeholder="DEX" readonly>
|
||
</div>
|
||
<div class="save-plus">+</div>
|
||
<div class="save-cell">
|
||
<input type="text" name="attr_REF_OtherBonus" class="save-box">
|
||
</div>
|
||
</div>
|
||
|
||
<div class="save-row">
|
||
<button type="roll" class="save-name save-roll-btn" value="&{template:default} {{name=WILL Save}} {{Save Total=[[1d20 + @{WILL}]]}}">WILL</button>
|
||
<div class="save-cell">
|
||
<input type="text" name="attr_WILL" class="save-box save-total" readonly>
|
||
</div>
|
||
<div class="save-eq">=</div>
|
||
<div class="save-cell">
|
||
<input type="text" name="attr_WILL_Save_Rating" class="save-box">
|
||
</div>
|
||
<div class="save-plus">+</div>
|
||
<div class="save-cell">
|
||
<input type="text" name="attr_WILL_AbilityMod" class="save-box save-ability" placeholder="WIS" readonly>
|
||
</div>
|
||
<div class="save-plus">+</div>
|
||
<div class="save-cell">
|
||
<input type="text" name="attr_WILL_OtherBonus" class="save-box">
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
|
||
<div class="card armor-defenses-card">
|
||
<input type="checkbox" class="ad-card-toggle" name="attr_ui_armor_defenses_open" id="ad-card-toggle-armor-defenses" checked>
|
||
<label class="card-title ad-card-toggle-btn" for="ad-card-toggle-armor-defenses">Armor & Defenses</label>
|
||
<div class="ad-card-collapsible">
|
||
<div class="ad-body">
|
||
|
||
<!-- ARMOR -->
|
||
<div class="ad-block ad-armor">
|
||
<div class="ad-block-title">Armor:<input type="text" name="attr_Equipped_Armor" class="ad-input ad-title-input" placeholder="Equipped Armor"></div>
|
||
|
||
<div class="ad-row ad-row-two">
|
||
<div class="ad-field ar-field">
|
||
<div class="ad-label red nowrap">Armor Rating:</div>
|
||
<input type="text" name="attr_Armor_Rating" class="ad-input ad-box ad-box-ar" placeholder="AR">
|
||
</div>
|
||
<div class="ad-field">
|
||
<div class="ad-label arvc-black">ARvC:</div>
|
||
<input type="text" name="attr_ARvC" class="ad-input ad-box ad-box-secondary" placeholder="ARvC">
|
||
</div>
|
||
</div>
|
||
|
||
<div class="ad-row ad-armor-type">
|
||
<input type="text" name="attr_Armor_Type" class="ad-input ad-line armor-type-full" placeholder="Armor Type & Info (Simple / Light / Med / Heavy)">
|
||
</div>
|
||
|
||
|
||
<div class="ad-divider"></div>
|
||
|
||
<div class="ad-row ad-dr-row">
|
||
<div class="ad-label red">Damage Resistance:</div>
|
||
<input type="text" name="attr_Armor_DR" class="corestat-box" placeholder="DR">
|
||
</div>
|
||
|
||
<div class="ad-row ad-row-two">
|
||
<div class="ad-field">
|
||
<div class="ad-label">Time to Don:</div>
|
||
<input type="text" name="attr_Time_to_Don" class="ad-input ad-line" placeholder="">
|
||
</div>
|
||
<div class="ad-field">
|
||
<div class="ad-label">Weight:</div>
|
||
<input type="text" name="attr_Armor_Weight" class="ad-input ad-line" placeholder="">
|
||
</div>
|
||
</div>
|
||
|
||
<div class="ad-row ad-details">
|
||
<label class="ad-check">
|
||
<span class="ad-check-label">Tattered (-1AC)</span>
|
||
<input type="checkbox" name="attr_Armor_Tattered">
|
||
</label>
|
||
|
||
<div class="ad-label red nowrap">Attack Penalty</div>
|
||
<input type="text" name="attr_Attack_Penalty" class="ad-input ad-box" placeholder="0">
|
||
</div>
|
||
</div>
|
||
|
||
<!-- OTHER DEFENSES -->
|
||
<div class="ad-block ad-otherdef">
|
||
<div class="ad-table">
|
||
<div class="ad-th ad-th-left">Other Defenses</div>
|
||
<div class="ad-th ad-th-right">+ to AC</div>
|
||
|
||
<div class="ad-td ad-td-left"><input type="text" name="attr_OD_Name1" class="ad-input ad-td-input" placeholder="DEX Mod"></div>
|
||
<div class="ad-td ad-td-right"><input type="text" name="attr_OD_DEX_Mod" class="ad-input ad-tablebox"></div>
|
||
|
||
<div class="ad-td ad-td-left"><input type="text" name="attr_OD_Name2" class="ad-input ad-td-input" placeholder="Shield Rating (SR)"></div>
|
||
<div class="ad-td ad-td-right"><input type="text" name="attr_OD_Shield_Rating" class="ad-input ad-tablebox"></div>
|
||
|
||
<div class="ad-td ad-td-left"><input type="text" name="attr_OD_Name3" class="ad-input ad-td-input" placeholder="Natural Armor"></div>
|
||
<div class="ad-td ad-td-right"><input type="text" name="attr_OD_Natural_Armor" class="ad-input ad-tablebox"></div>
|
||
|
||
<div class="ad-td ad-td-left"><input type="text" name="attr_OD_Name4" class="ad-input ad-td-input" placeholder=""></div>
|
||
<div class="ad-td ad-td-right"><input type="text" name="attr_OD_Other1" class="ad-input ad-tablebox"></div>
|
||
|
||
<div class="ad-td ad-td-left"><input type="text" name="attr_OD_Name5" class="ad-input ad-td-input" placeholder=""></div>
|
||
<div class="ad-td ad-td-right"><input type="text" name="attr_OD_Other2" class="ad-input ad-tablebox"></div>
|
||
|
||
<div class="ad-td ad-td-left"><input type="text" name="attr_OD_Name6" class="ad-input ad-td-input" placeholder=""></div>
|
||
<div class="ad-td ad-td-right"><input type="text" name="attr_OD_Other3" class="ad-input ad-tablebox"></div>
|
||
|
||
<div class="ad-parry">
|
||
<div class="ad-parry-label">Active Parry Roll: <span class="ad-parry-fixed">1d20 +</span></div>
|
||
<input type="text" name="attr_Active_Parry_Bonus" class="corestat-box">
|
||
</div>
|
||
|
||
<div class="ad-resist">
|
||
<div class="ad-resist-label">Resistances:</div>
|
||
<textarea name="attr_Resistances" class="ad-textarea" rows="2"></textarea>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
</div>
|
||
</div>
|
||
|
||
|
||
<div class="grid two">
|
||
<!-- REPEATING WEAPONS --> </div>
|
||
<div class="card weapons-card-full">
|
||
<div class="card-title">Weapons & Attacks</div>
|
||
|
||
<fieldset class="repeating_weapons">
|
||
<div class="weapon-table">
|
||
<!-- Row 1 -->
|
||
<div class="wt-left wt-row1">
|
||
<div class="wt-weaponline">
|
||
<input type="text" name="attr_weapon_label" class="wt-weaponlabelbox" placeholder="Weapon">
|
||
|
||
</div>
|
||
<div class="wt-handline">
|
||
<div class="wt-handlabel">Hand:</div>
|
||
<input type="text" name="attr_weapon_hand" class="wt-hand" placeholder="R/L">
|
||
</div>
|
||
<div class="wt-bigaction">
|
||
<div class="wt-biglabel">Big Action Attack:</div>
|
||
|
||
</div>
|
||
</div>
|
||
|
||
<div class="wt-head wt-attackbonus"><div class="wt-headlabel">Attack Bonus</div><input type="text" name="attr_weapon_attack_top" class="wt-box wt-box-top" placeholder="Atk Bonus 1">
|
||
<button type="roll" class="wt-attackroll-btn" value="&{template:default} {{name=@{weapon_label} – Attack Roll}} {{Total=[[1d20 + @{weapon_attack_top}]]}}">Attack Roll</button></div>
|
||
<div class="wt-head wt-critical"><div class="wt-headlabel">Critical</div><input type="text" name="attr_weapon_critical_top" class="wt-box wt-box-top" placeholder="Critical 1"></div>
|
||
<div class="wt-head wt-damage"><div class="wt-headlabel">Damage</div><input type="text" name="attr_weapon_damage_top" class="wt-box wt-box-top" placeholder="Damage 1"></div>
|
||
|
||
<!-- Row 2 -->
|
||
<div class="wt-left wt-row2">
|
||
<input type="text" name="attr_weapon_otherattack" class="wt-otherattack" placeholder="Other Attack">
|
||
</div>
|
||
|
||
<div class="wt-cell">
|
||
<input type="text" name="attr_weapon_attack" class="wt-box wt-box-secondary" placeholder="Atk Bonus 2">
|
||
</div>
|
||
<div class="wt-cell">
|
||
<input type="text" name="attr_weapon_critical" class="wt-box wt-box-secondary" placeholder="Critical 2">
|
||
</div>
|
||
<div class="wt-cell">
|
||
<input type="text" name="attr_weapon_damage" class="wt-box wt-box-secondary" placeholder="Damage 2">
|
||
</div>
|
||
|
||
<!-- Row 3 -->
|
||
<div class="wt-otherinfo">
|
||
<div class="wt-otherlabel">Other Info:</div>
|
||
<textarea name="attr_weapon_notes" class="weapon-notes-text" placeholder="AP / Traits / Range / Ammo / Notes"></textarea>
|
||
</div>
|
||
</div>
|
||
|
||
<hr>
|
||
</fieldset>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="grid two">
|
||
<div class="card">
|
||
<div class="card-title">Feats & Abilities</div>
|
||
<div class="row"><textarea name="attr_Feat1" class="feats-notes-text" rows="1" placeholder="Feat 1"></textarea></div>
|
||
<div class="row"><textarea name="attr_Feat2" class="feats-notes-text" rows="1" placeholder="Feat 2"></textarea></div>
|
||
<div class="row"><textarea name="attr_Feat3" class="feats-notes-text" rows="1" placeholder="Feat 3"></textarea></div>
|
||
<div class="row"><textarea name="attr_Ability1" class="feats-notes-text" rows="1" placeholder="Ability 1"></textarea></div>
|
||
<div class="row"><textarea name="attr_Ability2" class="feats-notes-text" rows="1" placeholder="Ability 2"></textarea></div>
|
||
<div class="row"><textarea name="attr_Ability3" class="feats-notes-text" rows="1" placeholder="Ability 3"></textarea></div>
|
||
<!-- Optional extra rows -->
|
||
<fieldset class="repeating_featsabilities">
|
||
<div class="row"><textarea name="attr_name" class="feats-notes-text" rows="1" placeholder="Additional Feat / Ability"></textarea></div>
|
||
</fieldset>
|
||
</div>
|
||
|
||
<div class="card">
|
||
<div class="card-title">Story Notes</div>
|
||
<textarea name="attr_Note1"></textarea>
|
||
<textarea name="attr_Note2"></textarea>
|
||
<textarea name="attr_Note3"></textarea>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- ===================== BACK ===================== -->
|
||
<div class="page page-back">
|
||
<div class="grid two">
|
||
<div class="card skills-card">
|
||
<div class="card-title">Skills</div>
|
||
|
||
<div class="skill-header">
|
||
<div>Total</div>
|
||
<div>Skill</div>
|
||
<div>Ability Mod</div>
|
||
<div>Bonus1</div>
|
||
<div>Bonus2</div>
|
||
<div>RANKS</div>
|
||
</div>
|
||
|
||
|
||
<div class="skill-row">
|
||
<input type="text" name="attr_Acrobatics" placeholder="Total" readonly readonly>
|
||
<div class="skill-name">Acrobatics*</div>
|
||
<input type="text" name="attr_Acrobatics_AbilityMod" placeholder="DEX" readonly>
|
||
<input type="text" name="attr_AcroBonus1" placeholder="Bonus1">
|
||
<input type="text" name="attr_AcroBonus2" placeholder="Bonus2">
|
||
<input type="text" name="attr_Acro_Ranks" placeholder="RANKS">
|
||
</div>
|
||
|
||
|
||
<div class="skill-row">
|
||
<input type="text" name="attr_Bluff" placeholder="Total" readonly>
|
||
<div class="skill-name">Bluff</div>
|
||
<input type="text" name="attr_Bluff_AbilityMod" placeholder="CHA" readonly>
|
||
<input type="text" name="attr_BluffBonus1" placeholder="Bonus1">
|
||
<input type="text" name="attr_BluffBonus2" placeholder="Bonus2">
|
||
<input type="text" name="attr_Bluff_Ranks" placeholder="RANKS">
|
||
</div>
|
||
|
||
|
||
<div class="skill-row">
|
||
<input type="text" name="attr_Climb" placeholder="Total" readonly>
|
||
<div class="skill-name">Climb*</div>
|
||
<input type="text" name="attr_Climb_AbilityMod" placeholder="STR" readonly>
|
||
<input type="text" name="attr_ClimbBonus1" placeholder="Bonus1">
|
||
<input type="text" name="attr_ClimbBonus2" placeholder="Bonus2">
|
||
<input type="text" name="attr_Climb_Ranks" placeholder="RANKS">
|
||
</div>
|
||
|
||
|
||
<div class="skill-row">
|
||
<input type="text" name="attr_Academia" placeholder="Total" readonly>
|
||
<div class="skill-name">Craft (Academia)</div>
|
||
<input type="text" name="attr_Craft_Academia_AbilityMod" placeholder="INT" readonly>
|
||
<input type="text" name="attr_AcademiaBonus1" placeholder="Bonus1">
|
||
<input type="text" name="attr_AcademiaBonus2" placeholder="Bonus2">
|
||
<input type="text" name="attr_Academia_Ranks" placeholder="RANKS">
|
||
</div>
|
||
|
||
|
||
<div class="skill-row">
|
||
<input type="text" name="attr_Alchemy" placeholder="Total" readonly>
|
||
<div class="skill-name">Craft (Alchemy)</div>
|
||
<input type="text" name="attr_Craft_Alchemy_AbilityMod" placeholder="INT" readonly>
|
||
<input type="text" name="attr_AlchemyBonus1" placeholder="Bonus1">
|
||
<input type="text" name="attr_AlchemyBonus2" placeholder="Bonus2">
|
||
<input type="text" name="attr_Alchemy_Ranks" placeholder="RANKS">
|
||
</div>
|
||
|
||
|
||
<div class="skill-row">
|
||
<input type="text" name="attr_Blacksmith" placeholder="Total" readonly>
|
||
<div class="skill-name">Craft (Blacksmith)</div>
|
||
<input type="text" name="attr_Craft_Blacksmith_AbilityMod" placeholder="INT" readonly>
|
||
<input type="text" name="attr_BlacksmithBonus1" placeholder="Bonus1">
|
||
<input type="text" name="attr_BlacksmithBonus2" placeholder="Bonus2">
|
||
<input type="text" name="attr_Blacksmith_Ranks" placeholder="RANKS">
|
||
</div>
|
||
|
||
|
||
<div class="skill-row">
|
||
<input type="text" name="attr_Bow_Fletch" placeholder="Total" readonly>
|
||
<div class="skill-name">Craft (Bow/Fletch)</div>
|
||
<input type="text" name="attr_Craft_Bow_Fletch_AbilityMod" placeholder="INT" readonly>
|
||
<input type="text" name="attr_Bow_FletchBonus1" placeholder="Bonus1">
|
||
<input type="text" name="attr_Bow_FletchBonus2" placeholder="Bonus2">
|
||
<input type="text" name="attr_Bow_Fletch_Ranks" placeholder="RANKS">
|
||
</div>
|
||
|
||
|
||
<div class="skill-row">
|
||
<input type="text" name="attr_Fine_Arts" placeholder="Total" readonly>
|
||
<div class="skill-name">Craft (Fine Arts)*</div>
|
||
<input type="text" name="attr_Craft_Fine_Arts_AbilityMod" placeholder="IN/DX">
|
||
<input type="text" name="attr_FineArtsBonus1" placeholder="Bonus1">
|
||
<input type="text" name="attr_FineArtsBonus2" placeholder="Bonus2">
|
||
<input type="text" name="attr_Fine_Arts_Ranks" placeholder="RANKS">
|
||
</div>
|
||
|
||
|
||
<div class="skill-row">
|
||
<input type="text" name="attr_Jeweler" placeholder="Total" readonly>
|
||
<div class="skill-name">Craft (Jeweler)*</div>
|
||
<input type="text" name="attr_Craft_Jeweler_AbilityMod" placeholder="IN/DX">
|
||
<input type="text" name="attr_JewelerBonus1" placeholder="Bonus1">
|
||
<input type="text" name="attr_JewelerBonus2" placeholder="Bonus2">
|
||
<input type="text" name="attr_Jeweler_Ranks" placeholder="RANKS">
|
||
</div>
|
||
|
||
|
||
<div class="skill-row">
|
||
<input type="text" name="attr_Craft_Magic_Item" placeholder="Total" readonly>
|
||
<div class="skill-name">Craft (Magic Item)</div>
|
||
<input type="text" name="attr_Craft_Magic_Item_AbilityMod" placeholder="INT" readonly>
|
||
<input type="text" name="attr_CraftMagicItemBonus1" placeholder="Bonus1">
|
||
<input type="text" name="attr_CraftMagicItemBonus2" placeholder="Bonus2">
|
||
<input type="text" name="attr_Craft_Magic_Item_Ranks" placeholder="RANKS">
|
||
</div>
|
||
|
||
|
||
<div class="skill-row">
|
||
<input type="text" name="attr_Mechanisms" placeholder="Total" readonly>
|
||
<div class="skill-name">Craft (Mechanisms)*</div>
|
||
<input type="text" name="attr_Craft_Mechanisms_AbilityMod" placeholder="IN/DX">
|
||
<input type="text" name="attr_MechanismsBonus1" placeholder="Bonus1">
|
||
<input type="text" name="attr_MechanismsBonus2" placeholder="Bonus2">
|
||
<input type="text" name="attr_Mechanisms_Ranks" placeholder="RANKS">
|
||
</div>
|
||
|
||
|
||
<div class="skill-row">
|
||
<input type="text" name="attr_Stonework" placeholder="Total" readonly>
|
||
<div class="skill-name">Craft (Stonework)</div>
|
||
<input type="text" name="attr_Craft_Stonework_AbilityMod" placeholder="INT" readonly>
|
||
<input type="text" name="attr_StoneworkBonus1" placeholder="Bonus1">
|
||
<input type="text" name="attr_StoneworkBonus2" placeholder="Bonus2">
|
||
<input type="text" name="attr_Stonework_Ranks" placeholder="RANKS">
|
||
</div>
|
||
|
||
|
||
<div class="skill-row">
|
||
<input type="text" name="attr_Tailor" placeholder="Total" readonly>
|
||
<div class="skill-name">Craft (Tailor)</div>
|
||
<input type="text" name="attr_Craft_Tailor_AbilityMod" placeholder="INT" readonly>
|
||
<input type="text" name="attr_TailorBonus1" placeholder="Bonus1">
|
||
<input type="text" name="attr_TailorBonus2" placeholder="Bonus2">
|
||
<input type="text" name="attr_Tailor_Ranks" placeholder="RANKS">
|
||
</div>
|
||
|
||
|
||
<div class="skill-row">
|
||
<input type="text" name="attr_Woodwork" placeholder="Total" readonly>
|
||
<div class="skill-name">Craft (Woodwork)</div>
|
||
<input type="text" name="attr_Craft_Woodwork_AbilityMod" placeholder="INT" readonly>
|
||
<input type="text" name="attr_WoodworkBonus1" placeholder="Bonus1">
|
||
<input type="text" name="attr_WoodworkBonus2" placeholder="Bonus2">
|
||
<input type="text" name="attr_Woodwork_Ranks" placeholder="RANKS">
|
||
</div>
|
||
|
||
|
||
<div class="skill-row">
|
||
<input type="text" name="attr_Diplomacy" placeholder="Total" readonly>
|
||
<div class="skill-name">Diplomacy</div>
|
||
<input type="text" name="attr_Diplomacy_AbilityMod" placeholder="CHA" readonly>
|
||
<input type="text" name="attr_DiplomacyBonus1" placeholder="Bonus1">
|
||
<input type="text" name="attr_DiplomacyBonus2" placeholder="Bonus2">
|
||
<input type="text" name="attr_Diplomacy_Ranks" placeholder="RANKS">
|
||
</div>
|
||
|
||
|
||
<div class="skill-row">
|
||
<input type="text" name="attr_Handle_Animal" placeholder="Total" readonly>
|
||
<div class="skill-name">Handle Animal</div>
|
||
<input type="text" name="attr_Handle_Animal_AbilityMod" placeholder="WIS" readonly>
|
||
<input type="text" name="attr_HandleAnimalBonus1" placeholder="Bonus1">
|
||
<input type="text" name="attr_HandleAnimalBonus2" placeholder="Bonus2">
|
||
<input type="text" name="attr_Handle_Animal_Ranks" placeholder="RANKS">
|
||
</div>
|
||
|
||
|
||
<div class="skill-row">
|
||
<input type="text" name="attr_Heal" placeholder="Total" readonly>
|
||
<div class="skill-name">Heal</div>
|
||
<input type="text" name="attr_Heal_AbilityMod" placeholder="INT" readonly>
|
||
<input type="text" name="attr_HealBonus1" placeholder="Bonus1">
|
||
<input type="text" name="attr_HealBonus2" placeholder="Bonus2">
|
||
<input type="text" name="attr_Heal_Ranks" placeholder="RANKS">
|
||
</div>
|
||
|
||
|
||
<div class="skill-row">
|
||
<input type="text" name="attr_Hide" placeholder="Total" readonly>
|
||
<div class="skill-name">Hide</div>
|
||
<input type="text" name="attr_Hide_AbilityMod" placeholder="IN/WI">
|
||
<input type="text" name="attr_HideBonus1" placeholder="Bonus1">
|
||
<input type="text" name="attr_HideBonus2" placeholder="Bonus2">
|
||
<input type="text" name="attr_Hide_Ranks" placeholder="RANKS">
|
||
</div>
|
||
|
||
|
||
<div class="skill-row">
|
||
<input type="text" name="attr_Intimidate" placeholder="Total" readonly>
|
||
<div class="skill-name">Intimidate</div>
|
||
<input type="text" name="attr_Intimidate_AbilityMod" placeholder="CH/ST">
|
||
<input type="text" name="attr_IntimidateBonus1" placeholder="Bonus1">
|
||
<input type="text" name="attr_IntimidateBonus2" placeholder="Bonus2">
|
||
<input type="text" name="attr_Intimidate_Ranks" placeholder="RANKS">
|
||
</div>
|
||
|
||
|
||
<div class="skill-row">
|
||
<input type="text" name="attr_JumpandSprint" placeholder="Total" readonly>
|
||
<div class="skill-name">Jump & Sprint*</div>
|
||
<input type="text" name="attr_Jump_and_Sprint_AbilityMod" placeholder="STR" readonly>
|
||
<input type="text" name="attr_JumpandSprintBonus1" placeholder="Bonus1">
|
||
<input type="text" name="attr_JumpandSprintBonus2" placeholder="Bonus2">
|
||
<input type="text" name="attr_Jump_and_Sprint_Ranks" placeholder="RANKS">
|
||
</div>
|
||
|
||
|
||
<div class="skill-row">
|
||
<input type="text" name="attr_Arcana" placeholder="Total" readonly>
|
||
<div class="skill-name">Knowledge (Arcana)</div>
|
||
<input type="text" name="attr_Knowledge_Arcana_AbilityMod" placeholder="INT" readonly>
|
||
<input type="text" name="attr_ArcanaBonus1" placeholder="Bonus1">
|
||
<input type="text" name="attr_ArcanaBonus2" placeholder="Bonus2">
|
||
<input type="text" name="attr_Arcana_Ranks" placeholder="RANKS">
|
||
</div>
|
||
|
||
|
||
<div class="skill-row">
|
||
<input type="text" name="attr_Civilization" placeholder="Total" readonly>
|
||
<div class="skill-name">Knowledge (Civilization)</div>
|
||
<input type="text" name="attr_Knowledge_Civilization_AbilityMod" placeholder="INT" readonly>
|
||
<input type="text" name="attr_CivilizationBonus1" placeholder="Bonus1">
|
||
<input type="text" name="attr_CivilizationBonus2" placeholder="Bonus2">
|
||
<input type="text" name="attr_Civilization_Ranks" placeholder="RANKS">
|
||
</div>
|
||
|
||
|
||
<div class="skill-row">
|
||
<input type="text" name="attr_Dungeons" placeholder="Total" readonly>
|
||
<div class="skill-name">Knowledge (Dungeons)</div>
|
||
<input type="text" name="attr_Knowledge_Dungeons_AbilityMod" placeholder="INT" readonly>
|
||
<input type="text" name="attr_DungeonsBonus1" placeholder="Bonus1">
|
||
<input type="text" name="attr_DungeonsBonus2" placeholder="Bonus2">
|
||
<input type="text" name="attr_Dungeons_Ranks" placeholder="RANKS">
|
||
</div>
|
||
|
||
|
||
<div class="skill-row">
|
||
<input type="text" name="attr_Nature" placeholder="Total" readonly>
|
||
<div class="skill-name">Knowledge (Nature)</div>
|
||
<input type="text" name="attr_Knowledge_Nature_AbilityMod" placeholder="INT" readonly>
|
||
<input type="text" name="attr_NatureBonus1" placeholder="Bonus1">
|
||
<input type="text" name="attr_NatureBonus2" placeholder="Bonus2">
|
||
<input type="text" name="attr_Nature_Ranks" placeholder="RANKS">
|
||
</div>
|
||
|
||
|
||
<div class="skill-row">
|
||
<input type="text" name="attr_Planes" placeholder="Total" readonly>
|
||
<div class="skill-name">Knowledge (Planes)</div>
|
||
<input type="text" name="attr_Knowledge_Planes_AbilityMod" placeholder="INT" readonly>
|
||
<input type="text" name="attr_PlanesBonus1" placeholder="Bonus1">
|
||
<input type="text" name="attr_PlanesBonus2" placeholder="Bonus2">
|
||
<input type="text" name="attr_Planes_Ranks" placeholder="RANKS">
|
||
</div>
|
||
|
||
|
||
<div class="skill-row">
|
||
<input type="text" name="attr_Religion" placeholder="Total" readonly>
|
||
<div class="skill-name">Knowledge (Religion)</div>
|
||
<input type="text" name="attr_Knowledge_Religion_AbilityMod" placeholder="INT" readonly>
|
||
<input type="text" name="attr_ReligionBonus1" placeholder="Bonus1">
|
||
<input type="text" name="attr_ReligionBonus2" placeholder="Bonus2">
|
||
<input type="text" name="attr_Religion_Ranks" placeholder="RANKS">
|
||
</div>
|
||
|
||
|
||
<div class="skill-row">
|
||
<input type="text" name="attr_Linguistics" placeholder="Total" readonly>
|
||
<div class="skill-name">Linguistics</div>
|
||
<input type="text" name="attr_Linguistics_AbilityMod" placeholder="INT" readonly>
|
||
<input type="text" name="attr_LinguisticsBonus1" placeholder="Bonus1">
|
||
<input type="text" name="attr_LinguisticsBonus2" placeholder="Bonus2">
|
||
<input type="text" name="attr_Linguistics_Ranks" placeholder="RANKS">
|
||
</div>
|
||
|
||
|
||
<div class="skill-row">
|
||
<input type="text" name="attr_Listen" placeholder="Total" readonly>
|
||
<div class="skill-name">Listen</div>
|
||
<input type="text" name="attr_Listen_AbilityMod" placeholder="WIS" readonly>
|
||
<input type="text" name="attr_ListenBonus1" placeholder="Bonus1">
|
||
<input type="text" name="attr_ListenBonus2" placeholder="Bonus2">
|
||
<input type="text" name="attr_Listen_Ranks" placeholder="RANKS">
|
||
</div>
|
||
|
||
|
||
<div class="skill-row">
|
||
<input type="text" name="attr_Move_Silently" placeholder="Total" readonly>
|
||
<div class="skill-name">Move Silently*</div>
|
||
<input type="text" name="attr_Move_Silently_AbilityMod" placeholder="DEX" readonly>
|
||
<input type="text" name="attr_MoveSilentlyBonus1" placeholder="Bonus1">
|
||
<input type="text" name="attr_MoveSilentlyBonus2" placeholder="Bonus2">
|
||
<input type="text" name="attr_Move_Silently_Ranks" placeholder="RANKS">
|
||
</div>
|
||
|
||
|
||
<div class="skill-row">
|
||
<input type="text" name="attr_Comedy_and_Stories" placeholder="Total" readonly>
|
||
<div class="skill-name">Perform (Comedy & Stories)</div>
|
||
<input type="text" name="attr_Perform_Comedy_and_Stories_AbilityMod" placeholder="CHA" readonly>
|
||
<input type="text" name="attr_ComedyBonus1" placeholder="Bonus1">
|
||
<input type="text" name="attr_ComedyBonus2" placeholder="Bonus2">
|
||
<input type="text" name="attr_Comedy_and_Stories_Ranks" placeholder="RANKS">
|
||
</div>
|
||
|
||
|
||
<div class="skill-row">
|
||
<input type="text" name="attr_Dance_and_Motion" placeholder="Total" readonly>
|
||
<div class="skill-name">Perform (Dance & Motion)*</div>
|
||
<input type="text" name="attr_Perform_Dance_and_Motion_AbilityMod" placeholder="DEX" readonly>
|
||
<input type="text" name="attr_DanceBonus1" placeholder="Bonus1">
|
||
<input type="text" name="attr_DanceBonus2" placeholder="Bonus2">
|
||
<input type="text" name="attr_Dance_and_Motion_Ranks" placeholder="RANKS">
|
||
</div>
|
||
|
||
|
||
<div class="skill-row">
|
||
<input type="text" name="attr_Music_Aerobic" placeholder="Total" readonly>
|
||
<div class="skill-name">Perform (Music - Aerobic)</div>
|
||
<input type="text" name="attr_Perform_Music___Aerobic_AbilityMod" placeholder="CHA" readonly>
|
||
<input type="text" name="attr_MusicAerobicBonus1" placeholder="Bonus1">
|
||
<input type="text" name="attr_MusicAerobicBonus2" placeholder="Bonus2">
|
||
<input type="text" name="attr_Music_Aerobic_Ranks" placeholder="RANKS">
|
||
</div>
|
||
|
||
|
||
<div class="skill-row">
|
||
<input type="text" name="attr_Music_Manual" placeholder="Total" readonly>
|
||
<div class="skill-name">Perform (Music - Manual)</div>
|
||
<input type="text" name="attr_Perform_Music___Manual_AbilityMod" placeholder="CHA" readonly>
|
||
<input type="text" name="attr_MusicManualBonus1" placeholder="Bonus1">
|
||
<input type="text" name="attr_MusicManualBonus2" placeholder="Bonus2">
|
||
<input type="text" name="attr_Music_Manual_Ranks" placeholder="RANKS">
|
||
</div>
|
||
|
||
|
||
<div class="skill-row">
|
||
<input type="text" name="attr_Song_and_Poerty" placeholder="Total" readonly>
|
||
<div class="skill-name">Perform (Song & Poetry)</div>
|
||
<input type="text" name="attr_Perform_Song_and_Poetry_AbilityMod" placeholder="CHA" readonly>
|
||
<input type="text" name="attr_SongPoetryBonus1" placeholder="Bonus1">
|
||
<input type="text" name="attr_SongPoetryBonus2" placeholder="Bonus2">
|
||
<input type="text" name="attr_Song_and_Poetry_Ranks" placeholder="RANKS">
|
||
</div>
|
||
|
||
|
||
<div class="skill-row">
|
||
<input type="text" name="attr_Perseverance" placeholder="Total" readonly>
|
||
<div class="skill-name">Perseverance*</div>
|
||
<input type="text" name="attr_Perseverance_AbilityMod" placeholder="CO/WI">
|
||
<input type="text" name="attr_PerseveranceBonus1" placeholder="Bonus1">
|
||
<input type="text" name="attr_PerseveranceBonus2" placeholder="Bonus2">
|
||
<input type="text" name="attr_Perseverance_Ranks" placeholder="RANKS">
|
||
</div>
|
||
|
||
|
||
<div class="skill-row">
|
||
<input type="text" name="attr_Ride" placeholder="Total" readonly>
|
||
<div class="skill-name">Ride*</div>
|
||
<input type="text" name="attr_Ride_AbilityMod" placeholder="DEX" readonly>
|
||
<input type="text" name="attr_RideBonus1" placeholder="Bonus1">
|
||
<input type="text" name="attr_RideBonus2" placeholder="Bonus2">
|
||
<input type="text" name="attr_Ride_Ranks" placeholder="RANKS">
|
||
</div>
|
||
|
||
|
||
<div class="skill-row">
|
||
<input type="text" name="attr_Seafaring" placeholder="Total" readonly>
|
||
<div class="skill-name">Knowledge (Seafaring)</div>
|
||
<input type="text" name="attr_Knowledge_Seafaring_AbilityMod" placeholder="INT" readonly>
|
||
<input type="text" name="attr_SeafaringBonus1" placeholder="Bonus1">
|
||
<input type="text" name="attr_SeafaringBonus2" placeholder="Bonus2">
|
||
<input type="text" name="attr_Seafaring_Ranks" placeholder="RANKS">
|
||
</div>
|
||
|
||
|
||
<div class="skill-row">
|
||
<input type="text" name="attr_Sense_Motive" placeholder="Total" readonly>
|
||
<div class="skill-name">Sense Motive</div>
|
||
<input type="text" name="attr_Sense_Motive_AbilityMod" placeholder="WIS" readonly>
|
||
<input type="text" name="attr_SenseMotiveBonus1" placeholder="Bonus1">
|
||
<input type="text" name="attr_SenseMotiveBonus2" placeholder="Bonus2">
|
||
<input type="text" name="attr_Sense_Motive_Ranks" placeholder="RANKS">
|
||
</div>
|
||
|
||
|
||
<div class="skill-row">
|
||
<input type="text" name="attr_Sleight_of_Hand" placeholder="Total" readonly>
|
||
<div class="skill-name">Sleight of Hand*</div>
|
||
<input type="text" name="attr_Sleight_of_Hand_AbilityMod" placeholder="DEX" readonly>
|
||
<input type="text" name="attr_SleightofHandBonus1" placeholder="Bonus1">
|
||
<input type="text" name="attr_SleightofHandBonus2" placeholder="Bonus2">
|
||
<input type="text" name="attr_Sleight_of_Hand_Ranks" placeholder="RANKS">
|
||
</div>
|
||
|
||
|
||
<div class="skill-row">
|
||
<input type="text" name="attr_Spot" placeholder="Total" readonly>
|
||
<div class="skill-name">Spot</div>
|
||
<input type="text" name="attr_Spot_AbilityMod" placeholder="WIS" readonly>
|
||
<input type="text" name="attr_SpotBonus1" placeholder="Bonus1">
|
||
<input type="text" name="attr_SpotBonus2" placeholder="Bonus2">
|
||
<input type="text" name="attr_Spot_Ranks" placeholder="RANKS">
|
||
</div>
|
||
|
||
|
||
<div class="skill-row">
|
||
<input type="text" name="attr_Survival" placeholder="Total" readonly>
|
||
<div class="skill-name">Survival</div>
|
||
<input type="text" name="attr_Survival_AbilityMod" placeholder="WIS" readonly>
|
||
<input type="text" name="attr_SurvivalBonus1" placeholder="Bonus1">
|
||
<input type="text" name="attr_SurvivalBonus2" placeholder="Bonus2">
|
||
<input type="text" name="attr_Survival_Ranks" placeholder="RANKS">
|
||
</div>
|
||
|
||
|
||
<div class="skill-row">
|
||
<input type="text" name="attr_Swim" placeholder="Total" readonly>
|
||
<div class="skill-name">Swim*</div>
|
||
<input type="text" name="attr_Swim_AbilityMod" placeholder="STR" readonly>
|
||
<input type="text" name="attr_SwimBonus1" placeholder="Bonus1">
|
||
<input type="text" name="attr_SwimBonus2" placeholder="Bonus2">
|
||
<input type="text" name="attr_Swim_Ranks" placeholder="RANKS">
|
||
</div>
|
||
|
||
|
||
<div class="skill-row">
|
||
<input type="text" name="attr_Tactics" placeholder="Total" readonly>
|
||
<div class="skill-name">Knowledge (Tactics)</div>
|
||
<input type="text" name="attr_Knowledge_Tactics_AbilityMod" placeholder="INT" readonly>
|
||
<input type="text" name="attr_TacticsBonus1" placeholder="Bonus1">
|
||
<input type="text" name="attr_TacticsBonus2" placeholder="Bonus2">
|
||
<input type="text" name="attr_Tactics_Ranks" placeholder="RANKS">
|
||
</div>
|
||
|
||
|
||
<div class="skill-row">
|
||
<input type="text" name="attr_Under_Cover" placeholder="Total" readonly>
|
||
<div class="skill-name">Under Cover</div>
|
||
<input type="text" name="attr_Under_Cover_AbilityMod" placeholder="CHA" readonly>
|
||
<input type="text" name="attr_UnderCoverBonus1" placeholder="Bonus1">
|
||
<input type="text" name="attr_UnderCoverBonus2" placeholder="Bonus2">
|
||
<input type="text" name="attr_Under_Cover_Ranks" placeholder="RANKS">
|
||
</div>
|
||
|
||
|
||
<div class="skill-row">
|
||
<input type="text" name="attr_Wrestling" placeholder="Total" readonly>
|
||
<div class="skill-name">Wrestling</div>
|
||
<input type="text" name="attr_Wrestling_AbilityMod" placeholder="STR" readonly>
|
||
<input type="text" name="attr_WrestlingBonus1" placeholder="Bonus1">
|
||
<input type="text" name="attr_WrestlingBonus2" placeholder="Bonus2">
|
||
<input type="text" name="attr_Wrestling_Ranks" placeholder="RANKS">
|
||
</div>
|
||
|
||
<div class="skills-physnote">* indicates Physical Skills affected by your Mobility Penalty</div>
|
||
|
||
<div class="row skills-totalranks">
|
||
<label>Total Skill Ranks</label>
|
||
<input type="text" name="attr_Total_Skill_Ranks" placeholder="Total Skill Ranks">
|
||
</div>
|
||
<hr>
|
||
|
||
<div class="card-title">Custom Skills</div>
|
||
|
||
<div class="skill-header skill-header-custom">
|
||
<div>Total</div>
|
||
<div>Skill</div>
|
||
<div>Ability Mod</div>
|
||
<div>Bonus1</div>
|
||
<div>Bonus2</div>
|
||
<div>RANKS</div>
|
||
</div>
|
||
|
||
<fieldset class="repeating_customskills">
|
||
<div class="skill-row skill-row-custom">
|
||
<input type="text" name="attr_total" placeholder="Total" readonly>
|
||
<input type="text" name="attr_name" placeholder="Skill Name">
|
||
<input type="text" name="attr_abilitymod" placeholder="Ability Mod">
|
||
<input type="text" name="attr_bonus1" placeholder="Bonus1">
|
||
<input type="text" name="attr_bonus2" placeholder="Bonus2">
|
||
<input type="text" name="attr_ranks" placeholder="RANKS">
|
||
</div>
|
||
</fieldset>
|
||
|
||
</div>
|
||
|
||
|
||
|
||
<div class="card gear-equipment">
|
||
<div class="card-title">Gear & Equipment</div>
|
||
|
||
<div class="subcard gold-money-subcard">
|
||
<div class="subcard-title">Gold & Money</div>
|
||
|
||
<div class="equip-grid">
|
||
<div class="equip-row equip-header-row">
|
||
<div class="equip-col-header">Gems & Valuables</div>
|
||
<div class="equip-col-header">Gold</div>
|
||
</div>
|
||
|
||
<div class="equip-sep"></div>
|
||
|
||
<div class="equip-row">
|
||
<textarea type="text" name="attr_GemsValuables" placeholder="Gems & Valuables" class="gm-gems-text" rows="1" placeholder="Gems & Valuables"></textarea>
|
||
<input type="text" name="attr_Gold" placeholder="Gold (GP)">
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<div class="subcard equip-slots">
|
||
<div class="subcard-title">Equip Slots</div>
|
||
<div class="equip-grid">
|
||
|
||
<div class="equip-row equip-header-row">
|
||
<div class="equip-label"></div>
|
||
<div class="equip-col-header">Equipped Item</div>
|
||
<div class="equip-col-header">Weight</div>
|
||
</div>
|
||
|
||
|
||
<div class="equip-row">
|
||
<div class="equip-label">Head</div>
|
||
<input type="text" name="attr_Head_Equip" placeholder="Head Equip">
|
||
<input type="text" name="attr_HeadWeight" placeholder="Wt">
|
||
</div>
|
||
|
||
<div class="equip-row">
|
||
<div class="equip-label">Face</div>
|
||
<input type="text" name="attr_Face_Equip" placeholder="Face Equip">
|
||
<input type="text" name="attr_FaceWeight" placeholder="Wt">
|
||
</div>
|
||
|
||
<div class="equip-row">
|
||
<div class="equip-label">Neck</div>
|
||
<input type="text" name="attr_Neck_Equip" placeholder="Neck Equip">
|
||
<input type="text" name="attr_NeckWeight" placeholder="Wt">
|
||
</div>
|
||
|
||
<div class="equip-row">
|
||
<div class="equip-label">Torso-Under</div>
|
||
<input type="text" name="attr_Torso_Under_Equip" placeholder="Torso-Under Equip">
|
||
<input type="text" name="attr_TorsoUnderWeight" placeholder="Wt">
|
||
</div>
|
||
|
||
<div class="equip-row">
|
||
<div class="equip-label">Torso-Over</div>
|
||
<input type="text" name="attr_Torso_Over_Equip" placeholder="Torso-Over Equip">
|
||
<input type="text" name="attr_TorsoOverWeight" placeholder="Wt">
|
||
</div>
|
||
|
||
<div class="equip-row">
|
||
<div class="equip-label">Waist</div>
|
||
<input type="text" name="attr_Waist_Equip" placeholder="Waist Equip">
|
||
<input type="text" name="attr_WaistWeight" placeholder="Wt">
|
||
</div>
|
||
|
||
<div class="equip-row">
|
||
<div class="equip-label">Shoulders</div>
|
||
<input type="text" name="attr_Shoulders_Equip" placeholder="Shoulders Equip">
|
||
<input type="text" name="attr_ShouldersWeight" placeholder="Wt">
|
||
</div>
|
||
|
||
<div class="equip-row">
|
||
<div class="equip-label">Arm/Wrist</div>
|
||
<input type="text" name="attr_Arm_Wrist_Equip" placeholder="Arm/Wrist Equip">
|
||
<input type="text" name="attr_ArmsWeight" placeholder="Wt">
|
||
</div>
|
||
|
||
<div class="equip-row">
|
||
<div class="equip-label">Hands</div>
|
||
<input type="text" name="attr_Hands_Equip" placeholder="Hands Equip">
|
||
<input type="text" name="attr_HandsWeight" placeholder="Wt">
|
||
</div>
|
||
|
||
<div class="equip-row">
|
||
<div class="equip-label">Ring 1</div>
|
||
<input type="text" name="attr_Ring_1_Equip" placeholder="Ring 1 Equip">
|
||
<input type="text" name="attr_RingWeight1" placeholder="Wt">
|
||
</div>
|
||
|
||
<div class="equip-row">
|
||
<div class="equip-label">Ring 2</div>
|
||
<input type="text" name="attr_Ring_2_Equip" placeholder="Ring 2 Equip">
|
||
<input type="text" name="attr_RingWeight2" placeholder="Wt">
|
||
</div>
|
||
|
||
<div class="equip-row">
|
||
<div class="equip-label">Legs</div>
|
||
<input type="text" name="attr_Legs_Equip" placeholder="Legs Equip">
|
||
<input type="text" name="attr_LegsWeight" placeholder="Wt">
|
||
</div>
|
||
|
||
<div class="equip-row">
|
||
<div class="equip-label">Feet</div>
|
||
<input type="text" name="attr_Feet_Equip" placeholder="Feet Equip">
|
||
<input type="text" name="attr_FeetWeight" placeholder="Wt">
|
||
</div>
|
||
|
||
<div class="equip-row">
|
||
<div class="equip-label">Accessory</div>
|
||
<input type="text" name="attr_Accessory_Equip" placeholder="Accessory Equip">
|
||
<input type="text" name="attr_AccessoryWeight" placeholder="Wt">
|
||
</div>
|
||
|
||
|
||
<div class="equip-row">
|
||
<div class="equip-label">Carried Item 1</div>
|
||
<input type="text" name="attr_CarriedItem1_Equip" placeholder="Carried Item 1">
|
||
<input type="text" name="attr_CarriedItem1_Equip_Wt" placeholder="Wt">
|
||
</div>
|
||
<div class="equip-row">
|
||
<div class="equip-label">Carried Item 2</div>
|
||
<input type="text" name="attr_CarriedItem2_Equip" placeholder="Carried Item 2">
|
||
<input type="text" name="attr_CarriedItem2_Equip_Wt" placeholder="Wt">
|
||
</div>
|
||
<div class="equip-sep"></div>
|
||
|
||
<div class="equip-row equip-total-row">
|
||
<div class="equip-label">TOTAL EQUIPPED WEIGHT</div>
|
||
<input type="text" name="attr_TotalEquippedWeight" placeholder="TOTAL EQUIPPED WEIGHT" class="equip-total-weight" readonly>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="subcard backpack-test">
|
||
<div class="subcard-title">Backpack</div>
|
||
<div class="equip-grid">
|
||
<div class="equip-row equip-header-row">
|
||
<div class="equip-col-header">Backpack Item</div>
|
||
<div class="equip-col-header">Weight</div>
|
||
</div>
|
||
<div class="equip-sep"></div>
|
||
<div class="equip-row">
|
||
<input type="text" name="attr_BackpackTest_Item_1" placeholder="Backpack Item 1">
|
||
<input type="text" name="attr_BackpackTest_Wt_1" placeholder="Wt">
|
||
</div>
|
||
<div class="equip-row">
|
||
<input type="text" name="attr_BackpackTest_Item_2" placeholder="Backpack Item 2">
|
||
<input type="text" name="attr_BackpackTest_Wt_2" placeholder="Wt">
|
||
</div>
|
||
<div class="equip-row">
|
||
<input type="text" name="attr_BackpackTest_Item_3" placeholder="Backpack Item 3">
|
||
<input type="text" name="attr_BackpackTest_Wt_3" placeholder="Wt">
|
||
</div>
|
||
<div class="equip-row">
|
||
<input type="text" name="attr_BackpackTest_Item_4" placeholder="Backpack Item 4">
|
||
<input type="text" name="attr_BackpackTest_Wt_4" placeholder="Wt">
|
||
</div>
|
||
<div class="equip-row">
|
||
<input type="text" name="attr_BackpackTest_Item_5" placeholder="Backpack Item 5">
|
||
<input type="text" name="attr_BackpackTest_Wt_5" placeholder="Wt">
|
||
</div>
|
||
|
||
|
||
<!-- Additional Backpack rows (Roll20 repeating section) -->
|
||
<fieldset class="repeating_backpack">
|
||
<div class="equip-row">
|
||
<input type="text" name="attr_item" placeholder="Backpack Item">
|
||
<input type="text" name="attr_wt" placeholder="Wt">
|
||
</div>
|
||
</fieldset>
|
||
<div class="equip-sep"></div>
|
||
<div class="equip-row backpack-total-row">
|
||
<div class="equip-label backpack-total-label">TOTAL BACKPACK WEIGHT</div>
|
||
<input type="text" name="attr_BackpackTest_TotalWeight" placeholder="" class="backpack-total-weight" readonly>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
|
||
|
||
|
||
|
||
<div class="inv-sheaths">
|
||
|
||
|
||
|
||
|
||
<div class="subcard boot-sheath">
|
||
<div class="subcard-title">Sheaths & Bandoliers</div>
|
||
<div class="inv-grid inv-cols-1">
|
||
|
||
<div class="inv-row"><input type="text" name="attr_BootSheathSlot1" placeholder="Left Sheath">
|
||
<input type="text" name="attr_SheathWeight1" placeholder="Wt 1">
|
||
</div>
|
||
|
||
<div class="inv-row"><input type="text" name="attr_BootSheathSlot2" placeholder="Right Sheath">
|
||
<input type="text" name="attr_SheathWeight2" placeholder="Wt 2">
|
||
</div>
|
||
|
||
<div class="inv-row"><input type="text" name="attr_BootSheathSlot3" placeholder="Back/Bandolier 1">
|
||
<input type="text" name="attr_SheathWeight3" placeholder="Wt 3">
|
||
</div>
|
||
|
||
<div class="inv-row"><input type="text" name="attr_BootSheathSlot4" placeholder="Back/Bandolier 2">
|
||
<input type="text" name="attr_SheathWeight4" placeholder="Wt 4">
|
||
</div>
|
||
|
||
<fieldset class="repeating_sheathsbandoliers">
|
||
<div class="inv-row">
|
||
<input type="text" name="attr_other_sheath" placeholder="Other Sheath">
|
||
<input type="text" name="attr_other_sheath_weight" placeholder="Wt">
|
||
</div>
|
||
</fieldset>
|
||
|
||
<div class="equip-sep"></div>
|
||
<div class="sheath-total-row">
|
||
<div class="equip-label sheath-total-label">TOTAL SHEATH WEIGHT</div>
|
||
<input type="text" name="attr_TotalSheathWeight" placeholder="" class="sheath-total-weight" readonly>
|
||
</div>
|
||
|
||
</div>
|
||
</div>
|
||
|
||
|
||
<div class="subcard boot-sheath belt-pouches">
|
||
<div class="subcard-title">Belt Pouches</div>
|
||
<div class="inv-grid inv-cols-1">
|
||
|
||
<div class="inv-row"><input type="text" name="attr_BeltPouchSlot1" placeholder="Pouch Item 1">
|
||
<input type="text" name="attr_BeltPouchWeight1" placeholder="Wt 1">
|
||
</div>
|
||
|
||
<div class="inv-row"><input type="text" name="attr_BeltPouchSlot2" placeholder="Pouch Item 2">
|
||
<input type="text" name="attr_BeltPouchWeight2" placeholder="Wt 2">
|
||
</div>
|
||
|
||
<div class="inv-row"><input type="text" name="attr_BeltPouchSlot3" placeholder="Pouch Item 3">
|
||
<input type="text" name="attr_BeltPouchWeight3" placeholder="Wt 3">
|
||
</div>
|
||
|
||
<div class="inv-row"><input type="text" name="attr_BeltPouchSlot4" placeholder="Pouch Item 4">
|
||
<input type="text" name="attr_BeltPouchWeight4" placeholder="Wt 4">
|
||
</div>
|
||
|
||
<fieldset class="repeating_beltpouches">
|
||
<div class="inv-row">
|
||
<input type="text" name="attr_pouch_item" placeholder="Pouch Item">
|
||
<input type="text" name="attr_pouch_weight" placeholder="Wt">
|
||
</div>
|
||
</fieldset>
|
||
|
||
<div class="equip-sep"></div>
|
||
<div class="pouch-total-row">
|
||
<div class="equip-label pouch-total-label">TOTAL POUCH WEIGHT</div>
|
||
<input type="text" name="attr_TotalPouchWeight" placeholder="" class="pouch-total-weight" readonly>
|
||
</div>
|
||
|
||
</div>
|
||
</div>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
</div>
|
||
|
||
<div class="subcard capacity-encumbrance">
|
||
<div class="subcard-title">Capacity & Encumbrance</div>
|
||
|
||
|
||
<div class="cap-block">
|
||
<div class="cap-header">CARRYING CAPACITY & ENCUMBRANCE</div>
|
||
<div class="cap-grid">
|
||
<div class="cap-grid-head cap-grid-lefthead"><span class="cap-grid-note">Carrying Capacity is determined by STR & size. Some skills, races, & feats can impact this value.</span></div>
|
||
<div class="cap-grid-head cap-grid-right">Mobility<br>Penalty*</div>
|
||
|
||
<div class="cap-grid-label">Light Load (No Penalties)</div>
|
||
<input class="cap-grid-input" type="text" name="attr_CarryCapacity_Light" placeholder="Lt Weight">
|
||
<div class="cap-grid-penalty"> </div>
|
||
|
||
|
||
<div class="cap-grid-label mod-light">Modified Light Load (Size/Skills/etc)</div>
|
||
<input class="cap-grid-input" type="text" name="attr_CarryCapacity_Light_Modified" placeholder="Mod Lt Weight">
|
||
<div class="cap-grid-penalty"> </div>
|
||
<div class="cap-grid-label">Medium Load (Encumbered)</div>
|
||
<input class="cap-grid-input" type="text" name="attr_CarryCapacity_Moderate" placeholder="Md Weight">
|
||
<div class="cap-grid-penalty">-3</div>
|
||
|
||
<div class="cap-grid-label">Heavy Load (Heavily Encumbered)</div>
|
||
<input class="cap-grid-input" type="text" name="attr_CarryCapacity_Heavy" placeholder="Hvy Weight">
|
||
<div class="cap-grid-penalty">-6</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="cap-block cap-totals">
|
||
<div class="cap-totals-grid">
|
||
<div class="cap-totals-head cap-totals-left">TOTALS:</div>
|
||
<div class="cap-totals-head">GEAR WEIGHT</div>
|
||
<div class="cap-totals-head">MOBILITY PENALTY*</div>
|
||
|
||
<div class="cap-totals-sep"></div>
|
||
|
||
<div class="cap-totals-label">With Backpack</div>
|
||
<input type="number" name="attr_TotalGearWeight_WithBackpack" placeholder="Weight w/Bkpk" value="@{TotalEquippedWeight}+@{BackpackTest_TotalWeight}+@{TotalSheathWeight}+@{TotalPouchWeight}" disabled>
|
||
<input type="text" name="attr_TotalMobPenalty_WithBackpack" placeholder="Mob* w/Bkpk">
|
||
|
||
<div class="cap-totals-label">Without Backpack</div>
|
||
<input type="number" name="attr_TotalGearWeight_WithoutBackpack" placeholder="Weight NO Bkpk" value="@{TotalEquippedWeight}+@{TotalSheathWeight}+@{TotalPouchWeight}" disabled>
|
||
<input type="text" name="attr_TotalMobPenalty_WithoutBackpack" placeholder="Mob* NO Bkpk">
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
</div>
|
||
</div>
|
||
|
||
<div class="card">
|
||
<div class="card-title">Player Notes</div>
|
||
<textarea name="attr_PlayerNotes1"></textarea>
|
||
<textarea name="attr_PlayerNotes2"></textarea>
|
||
<textarea name="attr_PlayerNotes3"></textarea>
|
||
</div>
|
||
</div>
|
||
<!-- ===================== SPELLS & MAGIC ===================== -->
|
||
<div class="page page-magic">
|
||
<div class="card magic-card">
|
||
<div class="magic-subtitle">Spellcasting Information</div>
|
||
|
||
<div class="magic-row">
|
||
<div class="magic-pair">
|
||
<div class="magic-label">Perseverance</div>
|
||
<input type="text" name="attr_Spell_Perseverance" class="magic-box small">
|
||
</div>
|
||
|
||
<div class="magic-group">
|
||
<div class="magic-label">Touch Attacks:</div>
|
||
<div class="magic-inline">
|
||
<div class="magic-label">Ranged</div>
|
||
<input type="text" name="attr_TouchAtk_Ranged" class="magic-box small">
|
||
<div class="magic-label">Melee</div>
|
||
<input type="text" name="attr_TouchAtk_Melee" class="magic-box small">
|
||
</div>
|
||
</div>
|
||
|
||
<div class="magic-pair">
|
||
<div class="magic-label">Caster Level</div>
|
||
<input type="text" name="attr_CasterLevel" class="magic-box small">
|
||
</div>
|
||
|
||
<div class="magic-pair wide">
|
||
<div class="magic-label">Casting Ability Mod (CastingMod)</div>
|
||
<input type="text" name="attr_CastingMod" class="magic-box medium">
|
||
</div>
|
||
</div>
|
||
|
||
<div class="magic-notes">
|
||
<textarea name="attr_SpellcastingNotes1" class="magic-notes-box" placeholder="Important Spellcasting Notes"></textarea>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- ===================== SPELL LEVEL 0 (SL0) ===================== -->
|
||
<div class="card sl0-card">
|
||
<!-- Collapsible toggle (matches Identity & XP triangle indicator) -->
|
||
<input type="checkbox" class="sl0-toggle" name="attr_show_sl0" id="show-sl0" checked>
|
||
<label class="sl0-toggle-btn" for="show-sl0">Spell Level 0 (SL0)</label>
|
||
|
||
<div class="sl0-body">
|
||
|
||
<div class="sl0-toprow">
|
||
<div class="sl0-topitem">SL0 - Save DC: <input type="text" name="attr_SL0_SaveDC" class="sl0-box"></div>
|
||
<div class="sl0-topitem">SL0 - Spells per Day: <input type="text" name="attr_SL0_SpellsPerDay" class="sl0-box"></div>
|
||
<div class="sl0-topitem">SL0 - Spells Remaining: <input type="text" name="attr_SL0_SpellsRemaining" class="sl0-box"></div>
|
||
</div>
|
||
|
||
<div class="sl0-knownrow">
|
||
<div class="sl0-knownlabel">SL0 - Spells Known:</div>
|
||
<textarea name="attr_SL0_SpellsKnown" class="sl0-knownarea" placeholder=""></textarea>
|
||
</div>
|
||
|
||
<div class="sl0-sep"></div>
|
||
|
||
|
||
<div class="sl0-spellbox">
|
||
<div class="subcard-title">Spell Info</div>
|
||
|
||
<div class="sl0-spellrow sl0-spellrow-name">
|
||
<div class="sl0-spellpair namepair"><div class="sl0-spelllabel">Spell Name:</div>
|
||
<input type="text" name="attr_SL0_SpellName0" class="sl0-line short name">
|
||
</div>
|
||
<div class="sl0-spellpair timepair"><div class="sl0-spelllabel">Casting Time:</div>
|
||
<input type="text" name="attr_SL0_CastingTime0" class="sl0-line short time">
|
||
</div>
|
||
<div class="sl0-spellpair rangepair"><div class="sl0-spelllabel">Range:</div>
|
||
<input type="text" name="attr_SL0_Range0" class="sl0-line short range">
|
||
</div>
|
||
</div>
|
||
|
||
<div class="sl0-spellrow">
|
||
<div class="sl0-spelllabel">Spell Description:</div>
|
||
<textarea name="attr_SL0_SpellDesc0" class="sl0-descarea" placeholder=""></textarea>
|
||
</div>
|
||
|
||
|
||
<div class="sl0-spellinfo-repeat-note">Need more Spell Info cards? Use the <span class="sl0-addhint">+ Add</span> button (appears below) to create additional entries.</div>
|
||
|
||
<fieldset class="repeating_sl0spellinfo">
|
||
<div class="sl0-spellbox sl0-spellbox-repeat">
|
||
<div class="subcard-title">Spell Info</div>
|
||
|
||
<div class="sl0-spellrow sl0-spellrow-name">
|
||
<div class="sl0-spellpair namepair"><div class="sl0-spelllabel">Spell Name:</div>
|
||
<input type="text" name="attr_SpellName" class="sl0-line short name">
|
||
</div>
|
||
<div class="sl0-spellpair timepair"><div class="sl0-spelllabel">Casting Time:</div>
|
||
<input type="text" name="attr_CastingTime" class="sl0-line short time">
|
||
</div>
|
||
<div class="sl0-spellpair rangepair"><div class="sl0-spelllabel">Range:</div>
|
||
<input type="text" name="attr_Range" class="sl0-line short range">
|
||
</div>
|
||
</div>
|
||
|
||
<div class="sl0-spellrow">
|
||
<div class="sl0-spelllabel">Spell Description:</div>
|
||
<textarea name="attr_SpellDesc" class="sl0-descarea" placeholder=""></textarea>
|
||
</div>
|
||
</div>
|
||
</fieldset>
|
||
|
||
|
||
|
||
</div>
|
||
|
||
</div>
|
||
</div>
|
||
|
||
<div class="card sl1-card">
|
||
<!-- Collapsible toggle (matches Identity & XP triangle indicator) -->
|
||
<input type="checkbox" class="sl1-toggle" name="attr_show_sl1" id="show-sl1" checked>
|
||
<label class="sl1-toggle-btn" for="show-sl1">Spell Level 1 (SL1)</label>
|
||
|
||
<div class="sl1-body">
|
||
|
||
<div class="sl1-toprow">
|
||
<div class="sl1-topitem">SL1 - Save DC: <input type="text" name="attr_SL1_SaveDC" class="sl1-box"></div>
|
||
<div class="sl1-topitem">SL1 - Spells per Day: <input type="text" name="attr_SL1_SpellsPerDay" class="sl1-box"></div>
|
||
<div class="sl1-topitem">SL1 - Spells Remaining: <input type="text" name="attr_SL1_SpellsRemaining" class="sl1-box"></div>
|
||
</div>
|
||
|
||
<div class="sl1-knownrow">
|
||
<div class="sl1-knownlabel">SL1 - Spells Known:</div>
|
||
<textarea name="attr_SL1_SpellsKnown" class="sl1-knownarea" placeholder=""></textarea>
|
||
</div>
|
||
|
||
<div class="sl1-sep"></div>
|
||
|
||
|
||
<div class="sl1-spellbox">
|
||
<div class="subcard-title">Spell Info</div>
|
||
|
||
<div class="sl1-spellrow sl1-spellrow-name">
|
||
<div class="sl1-spellpair namepair"><div class="sl1-spelllabel">Spell Name:</div>
|
||
<input type="text" name="attr_SL1_SpellName0" class="sl1-line short name">
|
||
</div>
|
||
<div class="sl1-spellpair timepair"><div class="sl1-spelllabel">Casting Time:</div>
|
||
<input type="text" name="attr_SL1_CastingTime0" class="sl1-line short time">
|
||
</div>
|
||
<div class="sl1-spellpair rangepair"><div class="sl1-spelllabel">Range:</div>
|
||
<input type="text" name="attr_SL1_Range0" class="sl1-line short range">
|
||
</div>
|
||
</div>
|
||
|
||
<div class="sl1-spellrow">
|
||
<div class="sl1-spelllabel">Spell Description:</div>
|
||
<textarea name="attr_SL1_SpellDesc0" class="sl1-descarea" placeholder=""></textarea>
|
||
</div>
|
||
|
||
|
||
<div class="sl1-spellinfo-repeat-note">Need more Spell Info cards? Use the <span class="sl1-addhint">+ Add</span> button (appears below) to create additional entries.</div>
|
||
|
||
<fieldset class="repeating_sl1spellinfo">
|
||
<div class="sl1-spellbox sl1-spellbox-repeat">
|
||
<div class="subcard-title">Spell Info</div>
|
||
|
||
<div class="sl1-spellrow sl1-spellrow-name">
|
||
<div class="sl1-spellpair namepair"><div class="sl1-spelllabel">Spell Name:</div>
|
||
<input type="text" name="attr_SpellName" class="sl1-line short name">
|
||
</div>
|
||
<div class="sl1-spellpair timepair"><div class="sl1-spelllabel">Casting Time:</div>
|
||
<input type="text" name="attr_CastingTime" class="sl1-line short time">
|
||
</div>
|
||
<div class="sl1-spellpair rangepair"><div class="sl1-spelllabel">Range:</div>
|
||
<input type="text" name="attr_Range" class="sl1-line short range">
|
||
</div>
|
||
</div>
|
||
|
||
<div class="sl1-spellrow">
|
||
<div class="sl1-spelllabel">Spell Description:</div>
|
||
<textarea name="attr_SpellDesc" class="sl1-descarea" placeholder=""></textarea>
|
||
</div>
|
||
</div>
|
||
</fieldset>
|
||
|
||
|
||
|
||
</div>
|
||
|
||
</div>
|
||
</div>
|
||
|
||
<div class="card sl2-card">
|
||
<!-- Collapsible toggle (matches Identity & XP triangle indicator) -->
|
||
<input type="checkbox" class="sl2-toggle" name="attr_show_sl2" id="show-sl2" checked>
|
||
<label class="sl2-toggle-btn" for="show-sl2">Spell Level 2 (SL2)</label>
|
||
|
||
<div class="sl2-body">
|
||
|
||
<div class="sl2-toprow">
|
||
<div class="sl2-topitem">SL2 - Save DC: <input type="text" name="attr_SL2_SaveDC" class="sl2-box"></div>
|
||
<div class="sl2-topitem">SL2 - Spells per Day: <input type="text" name="attr_SL2_SpellsPerDay" class="sl2-box"></div>
|
||
<div class="sl2-topitem">SL2 - Spells Remaining: <input type="text" name="attr_SL2_SpellsRemaining" class="sl2-box"></div>
|
||
</div>
|
||
|
||
<div class="sl2-knownrow">
|
||
<div class="sl2-knownlabel">SL2 - Spells Known:</div>
|
||
<textarea name="attr_SL2_SpellsKnown" class="sl2-knownarea" placeholder=""></textarea>
|
||
</div>
|
||
|
||
<div class="sl2-sep"></div>
|
||
|
||
|
||
<div class="sl2-spellbox">
|
||
<div class="subcard-title">Spell Info</div>
|
||
|
||
<div class="sl2-spellrow sl2-spellrow-name">
|
||
<div class="sl2-spellpair namepair"><div class="sl2-spelllabel">Spell Name:</div>
|
||
<input type="text" name="attr_SL2_SpellName0" class="sl2-line short name">
|
||
</div>
|
||
<div class="sl2-spellpair timepair"><div class="sl2-spelllabel">Casting Time:</div>
|
||
<input type="text" name="attr_SL2_CastingTime0" class="sl2-line short time">
|
||
</div>
|
||
<div class="sl2-spellpair rangepair"><div class="sl2-spelllabel">Range:</div>
|
||
<input type="text" name="attr_SL2_Range0" class="sl2-line short range">
|
||
</div>
|
||
</div>
|
||
|
||
<div class="sl2-spellrow">
|
||
<div class="sl2-spelllabel">Spell Description:</div>
|
||
<textarea name="attr_SL2_SpellDesc0" class="sl2-descarea" placeholder=""></textarea>
|
||
</div>
|
||
|
||
|
||
<div class="sl2-spellinfo-repeat-note">Need more Spell Info cards? Use the <span class="sl2-addhint">+ Add</span> button (appears below) to create additional entries.</div>
|
||
|
||
<fieldset class="repeating_sl2spellinfo">
|
||
<div class="sl2-spellbox sl2-spellbox-repeat">
|
||
<div class="subcard-title">Spell Info</div>
|
||
|
||
<div class="sl2-spellrow sl2-spellrow-name">
|
||
<div class="sl2-spellpair namepair"><div class="sl2-spelllabel">Spell Name:</div>
|
||
<input type="text" name="attr_SpellName" class="sl2-line short name">
|
||
</div>
|
||
<div class="sl2-spellpair timepair"><div class="sl2-spelllabel">Casting Time:</div>
|
||
<input type="text" name="attr_CastingTime" class="sl2-line short time">
|
||
</div>
|
||
<div class="sl2-spellpair rangepair"><div class="sl2-spelllabel">Range:</div>
|
||
<input type="text" name="attr_Range" class="sl2-line short range">
|
||
</div>
|
||
</div>
|
||
|
||
<div class="sl2-spellrow">
|
||
<div class="sl2-spelllabel">Spell Description:</div>
|
||
<textarea name="attr_SpellDesc" class="sl2-descarea" placeholder=""></textarea>
|
||
</div>
|
||
</div>
|
||
</fieldset>
|
||
|
||
|
||
|
||
</div>
|
||
|
||
</div>
|
||
</div>
|
||
|
||
<div class="card sl3-card">
|
||
<!-- Collapsible toggle (matches Identity & XP triangle indicator) -->
|
||
<input type="checkbox" class="sl3-toggle" name="attr_show_sl3" id="show-sl3" checked>
|
||
<label class="sl3-toggle-btn" for="show-sl3">Spell Level 3 (SL3)</label>
|
||
|
||
<div class="sl3-body">
|
||
|
||
<div class="sl3-toprow">
|
||
<div class="sl3-topitem">SL3 - Save DC: <input type="text" name="attr_SL3_SaveDC" class="sl3-box"></div>
|
||
<div class="sl3-topitem">SL3 - Spells per Day: <input type="text" name="attr_SL3_SpellsPerDay" class="sl3-box"></div>
|
||
<div class="sl3-topitem">SL3 - Spells Remaining: <input type="text" name="attr_SL3_SpellsRemaining" class="sl3-box"></div>
|
||
</div>
|
||
|
||
<div class="sl3-knownrow">
|
||
<div class="sl3-knownlabel">SL3 - Spells Known:</div>
|
||
<textarea name="attr_SL3_SpellsKnown" class="sl3-knownarea" placeholder=""></textarea>
|
||
</div>
|
||
|
||
<div class="sl3-sep"></div>
|
||
|
||
|
||
<div class="sl3-spellbox">
|
||
<div class="subcard-title">Spell Info</div>
|
||
|
||
<div class="sl3-spellrow sl3-spellrow-name">
|
||
<div class="sl3-spellpair namepair"><div class="sl3-spelllabel">Spell Name:</div>
|
||
<input type="text" name="attr_SL3_SpellName0" class="sl3-line short name">
|
||
</div>
|
||
<div class="sl3-spellpair timepair"><div class="sl3-spelllabel">Casting Time:</div>
|
||
<input type="text" name="attr_SL3_CastingTime0" class="sl3-line short time">
|
||
</div>
|
||
<div class="sl3-spellpair rangepair"><div class="sl3-spelllabel">Range:</div>
|
||
<input type="text" name="attr_SL3_Range0" class="sl3-line short range">
|
||
</div>
|
||
</div>
|
||
|
||
<div class="sl3-spellrow">
|
||
<div class="sl3-spelllabel">Spell Description:</div>
|
||
<textarea name="attr_SL3_SpellDesc0" class="sl3-descarea" placeholder=""></textarea>
|
||
</div>
|
||
|
||
|
||
<div class="sl3-spellinfo-repeat-note">Need more Spell Info cards? Use the <span class="sl3-addhint">+ Add</span> button (appears below) to create additional entries.</div>
|
||
|
||
<fieldset class="repeating_sl3spellinfo">
|
||
<div class="sl3-spellbox sl3-spellbox-repeat">
|
||
<div class="subcard-title">Spell Info</div>
|
||
|
||
<div class="sl3-spellrow sl3-spellrow-name">
|
||
<div class="sl3-spellpair namepair"><div class="sl3-spelllabel">Spell Name:</div>
|
||
<input type="text" name="attr_SpellName" class="sl3-line short name">
|
||
</div>
|
||
<div class="sl3-spellpair timepair"><div class="sl3-spelllabel">Casting Time:</div>
|
||
<input type="text" name="attr_CastingTime" class="sl3-line short time">
|
||
</div>
|
||
<div class="sl3-spellpair rangepair"><div class="sl3-spelllabel">Range:</div>
|
||
<input type="text" name="attr_Range" class="sl3-line short range">
|
||
</div>
|
||
</div>
|
||
|
||
<div class="sl3-spellrow">
|
||
<div class="sl3-spelllabel">Spell Description:</div>
|
||
<textarea name="attr_SpellDesc" class="sl3-descarea" placeholder=""></textarea>
|
||
</div>
|
||
</div>
|
||
</fieldset>
|
||
|
||
|
||
|
||
</div>
|
||
|
||
</div>
|
||
</div>
|
||
|
||
<div class="card sl4-card">
|
||
<!-- Collapsible toggle (matches Identity & XP triangle indicator) -->
|
||
<input type="checkbox" class="sl4-toggle" name="attr_show_sl4" id="show-sl4" checked>
|
||
<label class="sl4-toggle-btn" for="show-sl4">Spell Level 4 (SL4)</label>
|
||
|
||
<div class="sl4-body">
|
||
|
||
<div class="sl4-toprow">
|
||
<div class="sl4-topitem">SL4 - Save DC: <input type="text" name="attr_SL4_SaveDC" class="sl4-box"></div>
|
||
<div class="sl4-topitem">SL4 - Spells per Day: <input type="text" name="attr_SL4_SpellsPerDay" class="sl4-box"></div>
|
||
<div class="sl4-topitem">SL4 - Spells Remaining: <input type="text" name="attr_SL4_SpellsRemaining" class="sl4-box"></div>
|
||
</div>
|
||
|
||
<div class="sl4-knownrow">
|
||
<div class="sl4-knownlabel">SL4 - Spells Known:</div>
|
||
<textarea name="attr_SL4_SpellsKnown" class="sl4-knownarea" placeholder=""></textarea>
|
||
</div>
|
||
|
||
<div class="sl4-sep"></div>
|
||
|
||
|
||
<div class="sl4-spellbox">
|
||
<div class="subcard-title">Spell Info</div>
|
||
|
||
<div class="sl4-spellrow sl4-spellrow-name">
|
||
<div class="sl4-spellpair namepair"><div class="sl4-spelllabel">Spell Name:</div>
|
||
<input type="text" name="attr_SL4_SpellName0" class="sl4-line short name">
|
||
</div>
|
||
<div class="sl4-spellpair timepair"><div class="sl4-spelllabel">Casting Time:</div>
|
||
<input type="text" name="attr_SL4_CastingTime0" class="sl4-line short time">
|
||
</div>
|
||
<div class="sl4-spellpair rangepair"><div class="sl4-spelllabel">Range:</div>
|
||
<input type="text" name="attr_SL4_Range0" class="sl4-line short range">
|
||
</div>
|
||
</div>
|
||
|
||
<div class="sl4-spellrow">
|
||
<div class="sl4-spelllabel">Spell Description:</div>
|
||
<textarea name="attr_SL4_SpellDesc0" class="sl4-descarea" placeholder=""></textarea>
|
||
</div>
|
||
|
||
|
||
<div class="sl4-spellinfo-repeat-note">Need more Spell Info cards? Use the <span class="sl4-addhint">+ Add</span> button (appears below) to create additional entries.</div>
|
||
|
||
<fieldset class="repeating_sl4spellinfo">
|
||
<div class="sl4-spellbox sl4-spellbox-repeat">
|
||
<div class="subcard-title">Spell Info</div>
|
||
|
||
<div class="sl4-spellrow sl4-spellrow-name">
|
||
<div class="sl4-spellpair namepair"><div class="sl4-spelllabel">Spell Name:</div>
|
||
<input type="text" name="attr_SpellName" class="sl4-line short name">
|
||
</div>
|
||
<div class="sl4-spellpair timepair"><div class="sl4-spelllabel">Casting Time:</div>
|
||
<input type="text" name="attr_CastingTime" class="sl4-line short time">
|
||
</div>
|
||
<div class="sl4-spellpair rangepair"><div class="sl4-spelllabel">Range:</div>
|
||
<input type="text" name="attr_Range" class="sl4-line short range">
|
||
</div>
|
||
</div>
|
||
|
||
<div class="sl4-spellrow">
|
||
<div class="sl4-spelllabel">Spell Description:</div>
|
||
<textarea name="attr_SpellDesc" class="sl4-descarea" placeholder=""></textarea>
|
||
</div>
|
||
</div>
|
||
</fieldset>
|
||
|
||
|
||
|
||
</div>
|
||
|
||
</div>
|
||
</div>
|
||
|
||
<div class="card sl5-card">
|
||
<!-- Collapsible toggle (matches Identity & XP triangle indicator) -->
|
||
<input type="checkbox" class="sl5-toggle" name="attr_show_sl5" id="show-sl5" checked>
|
||
<label class="sl5-toggle-btn" for="show-sl5">Spell Level 5 (SL5)</label>
|
||
|
||
<div class="sl5-body">
|
||
|
||
<div class="sl5-toprow">
|
||
<div class="sl5-topitem">SL5 - Save DC: <input type="text" name="attr_SL5_SaveDC" class="sl5-box"></div>
|
||
<div class="sl5-topitem">SL5 - Spells per Day: <input type="text" name="attr_SL5_SpellsPerDay" class="sl5-box"></div>
|
||
<div class="sl5-topitem">SL5 - Spells Remaining: <input type="text" name="attr_SL5_SpellsRemaining" class="sl5-box"></div>
|
||
</div>
|
||
|
||
<div class="sl5-knownrow">
|
||
<div class="sl5-knownlabel">SL5 - Spells Known:</div>
|
||
<textarea name="attr_SL5_SpellsKnown" class="sl5-knownarea" placeholder=""></textarea>
|
||
</div>
|
||
|
||
<div class="sl5-sep"></div>
|
||
|
||
|
||
<div class="sl5-spellbox">
|
||
<div class="subcard-title">Spell Info</div>
|
||
|
||
<div class="sl5-spellrow sl5-spellrow-name">
|
||
<div class="sl5-spellpair namepair"><div class="sl5-spelllabel">Spell Name:</div>
|
||
<input type="text" name="attr_SL5_SpellName0" class="sl5-line short name">
|
||
</div>
|
||
<div class="sl5-spellpair timepair"><div class="sl5-spelllabel">Casting Time:</div>
|
||
<input type="text" name="attr_SL5_CastingTime0" class="sl5-line short time">
|
||
</div>
|
||
<div class="sl5-spellpair rangepair"><div class="sl5-spelllabel">Range:</div>
|
||
<input type="text" name="attr_SL5_Range0" class="sl5-line short range">
|
||
</div>
|
||
</div>
|
||
|
||
<div class="sl5-spellrow">
|
||
<div class="sl5-spelllabel">Spell Description:</div>
|
||
<textarea name="attr_SL5_SpellDesc0" class="sl5-descarea" placeholder=""></textarea>
|
||
</div>
|
||
|
||
|
||
<div class="sl5-spellinfo-repeat-note">Need more Spell Info cards? Use the <span class="sl5-addhint">+ Add</span> button (appears below) to create additional entries.</div>
|
||
|
||
<fieldset class="repeating_sl5spellinfo">
|
||
<div class="sl5-spellbox sl5-spellbox-repeat">
|
||
<div class="subcard-title">Spell Info</div>
|
||
|
||
<div class="sl5-spellrow sl5-spellrow-name">
|
||
<div class="sl5-spellpair namepair"><div class="sl5-spelllabel">Spell Name:</div>
|
||
<input type="text" name="attr_SpellName" class="sl5-line short name">
|
||
</div>
|
||
<div class="sl5-spellpair timepair"><div class="sl5-spelllabel">Casting Time:</div>
|
||
<input type="text" name="attr_CastingTime" class="sl5-line short time">
|
||
</div>
|
||
<div class="sl5-spellpair rangepair"><div class="sl5-spelllabel">Range:</div>
|
||
<input type="text" name="attr_Range" class="sl5-line short range">
|
||
</div>
|
||
</div>
|
||
|
||
<div class="sl5-spellrow">
|
||
<div class="sl5-spelllabel">Spell Description:</div>
|
||
<textarea name="attr_SpellDesc" class="sl5-descarea" placeholder=""></textarea>
|
||
</div>
|
||
</div>
|
||
</fieldset>
|
||
|
||
|
||
|
||
</div>
|
||
|
||
</div>
|
||
</div>
|
||
|
||
<div class="card sl6-card">
|
||
<!-- Collapsible toggle (matches Identity & XP triangle indicator) -->
|
||
<input type="checkbox" class="sl6-toggle" name="attr_show_sl6" id="show-sl6" checked>
|
||
<label class="sl6-toggle-btn" for="show-sl6">Spell Level 6 (SL6)</label>
|
||
|
||
<div class="sl6-body">
|
||
|
||
<div class="sl6-toprow">
|
||
<div class="sl6-topitem">SL6 - Save DC: <input type="text" name="attr_SL6_SaveDC" class="sl6-box"></div>
|
||
<div class="sl6-topitem">SL6 - Spells per Day: <input type="text" name="attr_SL6_SpellsPerDay" class="sl6-box"></div>
|
||
<div class="sl6-topitem">SL6 - Spells Remaining: <input type="text" name="attr_SL6_SpellsRemaining" class="sl6-box"></div>
|
||
</div>
|
||
|
||
<div class="sl6-knownrow">
|
||
<div class="sl6-knownlabel">SL6 - Spells Known:</div>
|
||
<textarea name="attr_SL6_SpellsKnown" class="sl6-knownarea" placeholder=""></textarea>
|
||
</div>
|
||
|
||
<div class="sl6-sep"></div>
|
||
|
||
|
||
<div class="sl6-spellbox">
|
||
<div class="subcard-title">Spell Info</div>
|
||
|
||
<div class="sl6-spellrow sl6-spellrow-name">
|
||
<div class="sl6-spellpair namepair"><div class="sl6-spelllabel">Spell Name:</div>
|
||
<input type="text" name="attr_SL6_SpellName0" class="sl6-line short name">
|
||
</div>
|
||
<div class="sl6-spellpair timepair"><div class="sl6-spelllabel">Casting Time:</div>
|
||
<input type="text" name="attr_SL6_CastingTime0" class="sl6-line short time">
|
||
</div>
|
||
<div class="sl6-spellpair rangepair"><div class="sl6-spelllabel">Range:</div>
|
||
<input type="text" name="attr_SL6_Range0" class="sl6-line short range">
|
||
</div>
|
||
</div>
|
||
|
||
<div class="sl6-spellrow">
|
||
<div class="sl6-spelllabel">Spell Description:</div>
|
||
<textarea name="attr_SL6_SpellDesc0" class="sl6-descarea" placeholder=""></textarea>
|
||
</div>
|
||
|
||
|
||
<div class="sl6-spellinfo-repeat-note">Need more Spell Info cards? Use the <span class="sl6-addhint">+ Add</span> button (appears below) to create additional entries.</div>
|
||
|
||
<fieldset class="repeating_sl6spellinfo">
|
||
<div class="sl6-spellbox sl6-spellbox-repeat">
|
||
<div class="subcard-title">Spell Info</div>
|
||
|
||
<div class="sl6-spellrow sl6-spellrow-name">
|
||
<div class="sl6-spellpair namepair"><div class="sl6-spelllabel">Spell Name:</div>
|
||
<input type="text" name="attr_SpellName" class="sl6-line short name">
|
||
</div>
|
||
<div class="sl6-spellpair timepair"><div class="sl6-spelllabel">Casting Time:</div>
|
||
<input type="text" name="attr_CastingTime" class="sl6-line short time">
|
||
</div>
|
||
<div class="sl6-spellpair rangepair"><div class="sl6-spelllabel">Range:</div>
|
||
<input type="text" name="attr_Range" class="sl6-line short range">
|
||
</div>
|
||
</div>
|
||
|
||
<div class="sl6-spellrow">
|
||
<div class="sl6-spelllabel">Spell Description:</div>
|
||
<textarea name="attr_SpellDesc" class="sl6-descarea" placeholder=""></textarea>
|
||
</div>
|
||
</div>
|
||
</fieldset>
|
||
|
||
|
||
|
||
</div>
|
||
|
||
</div>
|
||
</div>
|
||
|
||
<div class="card sl7-card">
|
||
<!-- Collapsible toggle (matches Identity & XP triangle indicator) -->
|
||
<input type="checkbox" class="sl7-toggle" name="attr_show_sl7" id="show-sl7" checked>
|
||
<label class="sl7-toggle-btn" for="show-sl7">Spell Level 7 (SL7)</label>
|
||
|
||
<div class="sl7-body">
|
||
|
||
<div class="sl7-toprow">
|
||
<div class="sl7-topitem">SL7 - Save DC: <input type="text" name="attr_SL7_SaveDC" class="sl7-box"></div>
|
||
<div class="sl7-topitem">SL7 - Spells per Day: <input type="text" name="attr_SL7_SpellsPerDay" class="sl7-box"></div>
|
||
<div class="sl7-topitem">SL7 - Spells Remaining: <input type="text" name="attr_SL7_SpellsRemaining" class="sl7-box"></div>
|
||
</div>
|
||
|
||
<div class="sl7-knownrow">
|
||
<div class="sl7-knownlabel">SL7 - Spells Known:</div>
|
||
<textarea name="attr_SL7_SpellsKnown" class="sl7-knownarea" placeholder=""></textarea>
|
||
</div>
|
||
|
||
<div class="sl7-sep"></div>
|
||
|
||
|
||
<div class="sl7-spellbox">
|
||
<div class="subcard-title">Spell Info</div>
|
||
|
||
<div class="sl7-spellrow sl7-spellrow-name">
|
||
<div class="sl7-spellpair namepair"><div class="sl7-spelllabel">Spell Name:</div>
|
||
<input type="text" name="attr_SL7_SpellName0" class="sl7-line short name">
|
||
</div>
|
||
<div class="sl7-spellpair timepair"><div class="sl7-spelllabel">Casting Time:</div>
|
||
<input type="text" name="attr_SL7_CastingTime0" class="sl7-line short time">
|
||
</div>
|
||
<div class="sl7-spellpair rangepair"><div class="sl7-spelllabel">Range:</div>
|
||
<input type="text" name="attr_SL7_Range0" class="sl7-line short range">
|
||
</div>
|
||
</div>
|
||
|
||
<div class="sl7-spellrow">
|
||
<div class="sl7-spelllabel">Spell Description:</div>
|
||
<textarea name="attr_SL7_SpellDesc0" class="sl7-descarea" placeholder=""></textarea>
|
||
</div>
|
||
|
||
|
||
<div class="sl7-spellinfo-repeat-note">Need more Spell Info cards? Use the <span class="sl7-addhint">+ Add</span> button (appears below) to create additional entries.</div>
|
||
|
||
<fieldset class="repeating_sl7spellinfo">
|
||
<div class="sl7-spellbox sl7-spellbox-repeat">
|
||
<div class="subcard-title">Spell Info</div>
|
||
|
||
<div class="sl7-spellrow sl7-spellrow-name">
|
||
<div class="sl7-spellpair namepair"><div class="sl7-spelllabel">Spell Name:</div>
|
||
<input type="text" name="attr_SpellName" class="sl7-line short name">
|
||
</div>
|
||
<div class="sl7-spellpair timepair"><div class="sl7-spelllabel">Casting Time:</div>
|
||
<input type="text" name="attr_CastingTime" class="sl7-line short time">
|
||
</div>
|
||
<div class="sl7-spellpair rangepair"><div class="sl7-spelllabel">Range:</div>
|
||
<input type="text" name="attr_Range" class="sl7-line short range">
|
||
</div>
|
||
</div>
|
||
|
||
<div class="sl7-spellrow">
|
||
<div class="sl7-spelllabel">Spell Description:</div>
|
||
<textarea name="attr_SpellDesc" class="sl7-descarea" placeholder=""></textarea>
|
||
</div>
|
||
</div>
|
||
</fieldset>
|
||
|
||
|
||
|
||
</div>
|
||
|
||
</div>
|
||
</div>
|
||
|
||
<div class="card sl8-card">
|
||
<!-- Collapsible toggle (matches Identity & XP triangle indicator) -->
|
||
<input type="checkbox" class="sl8-toggle" name="attr_show_sl8" id="show-sl8" checked>
|
||
<label class="sl8-toggle-btn" for="show-sl8">Spell Level 8 (SL8)</label>
|
||
|
||
<div class="sl8-body">
|
||
|
||
<div class="sl8-toprow">
|
||
<div class="sl8-topitem">SL8 - Save DC: <input type="text" name="attr_SL8_SaveDC" class="sl8-box"></div>
|
||
<div class="sl8-topitem">SL8 - Spells per Day: <input type="text" name="attr_SL8_SpellsPerDay" class="sl8-box"></div>
|
||
<div class="sl8-topitem">SL8 - Spells Remaining: <input type="text" name="attr_SL8_SpellsRemaining" class="sl8-box"></div>
|
||
</div>
|
||
|
||
<div class="sl8-knownrow">
|
||
<div class="sl8-knownlabel">SL8 - Spells Known:</div>
|
||
<textarea name="attr_SL8_SpellsKnown" class="sl8-knownarea" placeholder=""></textarea>
|
||
</div>
|
||
|
||
<div class="sl8-sep"></div>
|
||
|
||
|
||
<div class="sl8-spellbox">
|
||
<div class="subcard-title">Spell Info</div>
|
||
|
||
<div class="sl8-spellrow sl8-spellrow-name">
|
||
<div class="sl8-spellpair namepair"><div class="sl8-spelllabel">Spell Name:</div>
|
||
<input type="text" name="attr_SL8_SpellName0" class="sl8-line short name">
|
||
</div>
|
||
<div class="sl8-spellpair timepair"><div class="sl8-spelllabel">Casting Time:</div>
|
||
<input type="text" name="attr_SL8_CastingTime0" class="sl8-line short time">
|
||
</div>
|
||
<div class="sl8-spellpair rangepair"><div class="sl8-spelllabel">Range:</div>
|
||
<input type="text" name="attr_SL8_Range0" class="sl8-line short range">
|
||
</div>
|
||
</div>
|
||
|
||
<div class="sl8-spellrow">
|
||
<div class="sl8-spelllabel">Spell Description:</div>
|
||
<textarea name="attr_SL8_SpellDesc0" class="sl8-descarea" placeholder=""></textarea>
|
||
</div>
|
||
|
||
|
||
<div class="sl8-spellinfo-repeat-note">Need more Spell Info cards? Use the <span class="sl8-addhint">+ Add</span> button (appears below) to create additional entries.</div>
|
||
|
||
<fieldset class="repeating_sl8spellinfo">
|
||
<div class="sl8-spellbox sl8-spellbox-repeat">
|
||
<div class="subcard-title">Spell Info</div>
|
||
|
||
<div class="sl8-spellrow sl8-spellrow-name">
|
||
<div class="sl8-spellpair namepair"><div class="sl8-spelllabel">Spell Name:</div>
|
||
<input type="text" name="attr_SpellName" class="sl8-line short name">
|
||
</div>
|
||
<div class="sl8-spellpair timepair"><div class="sl8-spelllabel">Casting Time:</div>
|
||
<input type="text" name="attr_CastingTime" class="sl8-line short time">
|
||
</div>
|
||
<div class="sl8-spellpair rangepair"><div class="sl8-spelllabel">Range:</div>
|
||
<input type="text" name="attr_Range" class="sl8-line short range">
|
||
</div>
|
||
</div>
|
||
|
||
<div class="sl8-spellrow">
|
||
<div class="sl8-spelllabel">Spell Description:</div>
|
||
<textarea name="attr_SpellDesc" class="sl8-descarea" placeholder=""></textarea>
|
||
</div>
|
||
</div>
|
||
</fieldset>
|
||
|
||
|
||
|
||
</div>
|
||
|
||
</div>
|
||
</div>
|
||
|
||
<div class="card sl9-card">
|
||
<!-- Collapsible toggle (matches Identity & XP triangle indicator) -->
|
||
<input type="checkbox" class="sl9-toggle" name="attr_show_sl9" id="show-sl9" checked>
|
||
<label class="sl9-toggle-btn" for="show-sl9">Spell Level 9 (SL9)</label>
|
||
|
||
<div class="sl9-body">
|
||
|
||
<div class="sl9-toprow">
|
||
<div class="sl9-topitem">SL9 - Save DC: <input type="text" name="attr_SL9_SaveDC" class="sl9-box"></div>
|
||
<div class="sl9-topitem">SL9 - Spells per Day: <input type="text" name="attr_SL9_SpellsPerDay" class="sl9-box"></div>
|
||
<div class="sl9-topitem">SL9 - Spells Remaining: <input type="text" name="attr_SL9_SpellsRemaining" class="sl9-box"></div>
|
||
</div>
|
||
|
||
<div class="sl9-knownrow">
|
||
<div class="sl9-knownlabel">SL9 - Spells Known:</div>
|
||
<textarea name="attr_SL9_SpellsKnown" class="sl9-knownarea" placeholder=""></textarea>
|
||
</div>
|
||
|
||
<div class="sl9-sep"></div>
|
||
|
||
|
||
<div class="sl9-spellbox">
|
||
<div class="subcard-title">Spell Info</div>
|
||
|
||
<div class="sl9-spellrow sl9-spellrow-name">
|
||
<div class="sl9-spellpair namepair"><div class="sl9-spelllabel">Spell Name:</div>
|
||
<input type="text" name="attr_SL9_SpellName0" class="sl9-line short name">
|
||
</div>
|
||
<div class="sl9-spellpair timepair"><div class="sl9-spelllabel">Casting Time:</div>
|
||
<input type="text" name="attr_SL9_CastingTime0" class="sl9-line short time">
|
||
</div>
|
||
<div class="sl9-spellpair rangepair"><div class="sl9-spelllabel">Range:</div>
|
||
<input type="text" name="attr_SL9_Range0" class="sl9-line short range">
|
||
</div>
|
||
</div>
|
||
|
||
<div class="sl9-spellrow">
|
||
<div class="sl9-spelllabel">Spell Description:</div>
|
||
<textarea name="attr_SL9_SpellDesc0" class="sl9-descarea" placeholder=""></textarea>
|
||
</div>
|
||
|
||
|
||
<div class="sl9-spellinfo-repeat-note">Need more Spell Info cards? Use the <span class="sl9-addhint">+ Add</span> button (appears below) to create additional entries.</div>
|
||
|
||
<fieldset class="repeating_sl9spellinfo">
|
||
<div class="sl9-spellbox sl9-spellbox-repeat">
|
||
<div class="subcard-title">Spell Info</div>
|
||
|
||
<div class="sl9-spellrow sl9-spellrow-name">
|
||
<div class="sl9-spellpair namepair"><div class="sl9-spelllabel">Spell Name:</div>
|
||
<input type="text" name="attr_SpellName" class="sl9-line short name">
|
||
</div>
|
||
<div class="sl9-spellpair timepair"><div class="sl9-spelllabel">Casting Time:</div>
|
||
<input type="text" name="attr_CastingTime" class="sl9-line short time">
|
||
</div>
|
||
<div class="sl9-spellpair rangepair"><div class="sl9-spelllabel">Range:</div>
|
||
<input type="text" name="attr_Range" class="sl9-line short range">
|
||
</div>
|
||
</div>
|
||
|
||
<div class="sl9-spellrow">
|
||
<div class="sl9-spelllabel">Spell Description:</div>
|
||
<textarea name="attr_SpellDesc" class="sl9-descarea" placeholder=""></textarea>
|
||
</div>
|
||
</div>
|
||
</fieldset>
|
||
|
||
|
||
|
||
</div>
|
||
|
||
</div>
|
||
</div>
|
||
|
||
|
||
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<script type="text/worker">
|
||
// sheet357: LFG Carrying Capacity with Modified Light Load override
|
||
const LFG_LIGHT_LOAD_BY_STR = {
|
||
1:3, 2:6, 3:10, 4:13, 5:16, 6:20, 7:25, 8:30, 9:35, 10:40,
|
||
11:45, 12:50, 13:55, 14:60, 15:70, 16:80, 17:90, 18:100, 19:120, 20:150,
|
||
21:180, 22:220, 23:260, 24:300, 25:350, 26:400, 27:450, 28:500, 29:600, 30:700
|
||
};
|
||
|
||
const updateCarryCapacitiesFromSTR = () => {
|
||
getAttrs(["STR", "CarryCapacity_Light_Modified"], (v) => {
|
||
const str = parseInt((v.STR ?? "").toString().trim(), 10);
|
||
const modRaw = (v.CarryCapacity_Light_Modified ?? "").toString().trim();
|
||
const modLight = modRaw === "" ? null : parseFloat(modRaw);
|
||
|
||
if (!Number.isFinite(str) || str < 1 || str > 30) {
|
||
setAttrs({
|
||
CarryCapacity_Light: "",
|
||
CarryCapacity_Moderate: "",
|
||
CarryCapacity_Heavy: ""
|
||
});
|
||
return;
|
||
}
|
||
|
||
const baseLight = LFG_LIGHT_LOAD_BY_STR[str];
|
||
const effectiveLight = Number.isFinite(modLight) ? modLight : baseLight;
|
||
|
||
setAttrs({
|
||
CarryCapacity_Light: baseLight,
|
||
CarryCapacity_Moderate: effectiveLight * 2,
|
||
CarryCapacity_Heavy: effectiveLight * 3
|
||
});
|
||
});
|
||
};
|
||
|
||
on("sheet:opened", updateCarryCapacitiesFromSTR);
|
||
on("change:STR", updateCarryCapacitiesFromSTR);
|
||
on("change:CarryCapacity_Light_Modified", updateCarryCapacitiesFromSTR);
|
||
|
||
// sheet354: LFG Carrying Capacity (Light Load) lookup from STR (1–30)
|
||
const LFG_LIGHT_LOAD_BY_STR = {
|
||
1:3, 2:6, 3:10, 4:13, 5:16, 6:20, 7:25, 8:30, 9:35, 10:40,
|
||
11:45, 12:50, 13:55, 14:60, 15:70, 16:80, 17:90, 18:100, 19:120, 20:150,
|
||
21:180, 22:220, 23:260, 24:300, 25:350, 26:400, 27:450, 28:500, 29:600, 30:700
|
||
};
|
||
|
||
const updateLightLoadFromSTR = () => {
|
||
getAttrs(["STR"], (v) => {
|
||
const raw = (v.STR ?? "").toString().trim();
|
||
const str = parseInt(raw, 10);
|
||
if (!Number.isFinite(str) || str < 1 || str > 30) {
|
||
// If STR is blank or out of range, clear the field rather than guessing.
|
||
setAttrs({ "CarryCapacity_Light": "" });
|
||
return;
|
||
}
|
||
const light = LFG_LIGHT_LOAD_BY_STR[str] ?? "";
|
||
setAttrs({ "CarryCapacity_Light": light });
|
||
});
|
||
};
|
||
|
||
on("sheet:opened", updateLightLoadFromSTR);
|
||
on("change:STR", updateLightLoadFromSTR);
|
||
</script>
|