Files
roll20-character-sheets/Beacon/beacon.html
T
temitchell 8cca0c37ce Full redo of Beacon Sheet (#6471)
* New Beacon Character sheet

Create new copy of beacon branch without external sheet files.

* Update beacon.html

Fix Armor dex effects

* Update beacon.html

Final fixes.  Made more tweeks to fix behaviour of AC to Dex Bonuses, dex bonuses for light melee weapons, fix weapon calculations and make equip button refresh row values.

* update sheet footer and readme

Minor metadata fixes for the pull request
2020-05-18 14:07:28 -05:00

1117 lines
76 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!-- Beacon: Tabbed Character Sheet -->
<!-- Version 1 -->
<div class="sheet-overall-wrapper">
<div class="sheet-row">
<div class="sheet-col-1-1 sheet-padl sheet-margin-top sheet-center"><img src="http://i.imgur.com/IvwBoIM.png" alt="Beacon Character Record Sheet"></div>
<!-- <div class="sheet-col-1-1 sheet-margin-top sheet-center"><img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Beacon/Assets/logo.png" alt="Beacon Character Record Sheet"></div> -->
</div>
<hr/>
<!-- switch between play and update mode -->
<div class="sheet-col-1-3"><input class="sheet-underlined sheet-center" type="text" placeholder="Player Name" name="attr_playerName"></div>
<div class="sheet-col-1-4">&nbsp;</div>
<input type="radio" name="attr_maintab" class="sheet-maintab sheet-player" value="1" title="Use Play mode for regular play" checked="checked" />
<span class="sheet-maintab sheet-player">Play Mode</span>
<input type="radio" name="attr_maintab" class="sheet-maintab sheet-update" value="2" title="Use Update Mode to change your base stats, hp and level etc" />
<span class="sheet-maintab sheet-update">Update Mode</span>
<!-- BEACON CHARACTER SHEET -->
<div class="sheet-maintab-content sheet-player">
<input type="radio" name="attr_tab" class="sheet-tab sheet-tab1" value="1" checked="checked"/>
<span class="sheet-tab sheet-tab1">Stats</span>
<input type="radio" name="attr_tab" class="sheet-tab sheet-tab2" value="2"/>
<span class="sheet-tab sheet-tab2">Combat</span>
<input type="radio" name="attr_tab" class="sheet-tab sheet-tab3" value="3"/>
<span class="sheet-tab sheet-tab3">Spellbook</span>
<input type="radio" name="attr_tab" class="sheet-tab sheet-tab4" value="4"/>
<span class="sheet-tab sheet-tab4">Inventory</span>
<input type="radio" name="attr_tab" class="sheet-tab sheet-tab99" value="99"/>
<span class="sheet-tab sheet-tab99">Show All</span>
<span class="sheet-spacer"></span>
<!-- CORE STATS -->
<div class="sheet-section-core">
<div class="sheet-row">
<!-- Character Information -->
<div class="sheet-col-1-2 sheet-padr">
<h4 class="sheet-center">Character Information </h4>
<div class="sheet-row">
<div class="sheet-col-1-2 sheet-small-label sheet-center"><input class="sheet-underlined sheet-center" type="text" placeholder="Character Name" name="attr_character_name"><br/>Character Name</div>
<div class="sheet-col-1-2 sheet-small-label sheet-center"><input class="sheet-center sheet-underlined" type="text" placeholder="Title" name="attr_Title"><br/>Title</div>
</div>
<div class="sheet-row">
<div class="sheet-col-1-4 sheet-center"><input class="sheet-center" type="text" name="attr_showRace" value="@{Race}" disabled="disabled"><span class="sheet-small-label">Race</span></div>
<div class="sheet-col-1-4 sheet-padl sheet-center"><input class="sheet-center" type="text" name="attr_showClass" value="@{Class}" disabled="disabled"><span class="sheet-small-label">Class</span></div>
<div class="sheet-col-1-3 sheet-padl sheet-center"><input class="sheet-center" type="text" Placeholder="Experience" name="attr_XP"><span class="sheet-small-label">Experience</span></div>
<div class="sheet-col-1-8 sheet-padl sheet-center"><input class="sheet-center" type="number" name="attr_showlevel" value="@{Level}" disabled="disabled"><span class="sheet-small-label">Level</span></div>
</div>
<div class="sheet-row">
<div class="sheet-col-1-4 sheet-small-label sheet-center"><input class="sheet-underlined sheet-center" type="text" name="attr_gender"><br/>Gender</div>
<div class="sheet-col-1-6 sheet-small-label sheet-padl sheet-center"><input class="sheet-underlined sheet-center" type="number" min="0" name="attr_age"><br/>Age</div>
<div class="sheet-col-1-5 sheet-small-label sheet-padl sheet-center"><input class="sheet-underlined sheet-center" type="text" name="attr_height"><br/>Height</div>
<div class="sheet-col-1-5 sheet-small-label sheet-padl sheet-center"><input class="sheet-underlined sheet-center" type="text" name="attr_weight"><br/>Weight</div>
</div>
<div class="sheet-row">
<div class="sheet-col-1 sheet-center">&nbsp;</div>
</div>
<div class="sheet-row">
<div class="sheet-col-1 sheet-center"><input class="sheet-center" type="text" name="attr_raceSpecials" readonly="readonly"><span class="sheet-small-label">Racial Abilities</span></div>
</div>
<div class="sheet-row">
<div class="sheet-col-1 sheet-center">&nbsp;</div>
</div>
</div>
<!--Combat Basics -->
<div class="sheet-col-1-2 sheet-padr">
<h4 class="sheet-center">Combat Basics</h4>
<div class="sheet-row">
<div class="sheet-col-1-4">
<div class="sheet-ACBG">
<div class="sheet-col-1-4 sheet-center">&nbsp;</div>
<div class="sheet-col-1-3 sheet-center"><input class="sheet-AC" type="number" name="attr_AC" value="@{acCalc}" disabled="disabled"/><br/>.</div>
</div>
</div>
<div class="sheet-col-1-4">
<div class="sheet-HPBG">
<div class="sheet-col-1-4 sheet-center">&nbsp;</div>
<div class="sheet-col-1-3 sheet-center "><input class="sheet-HP" type="text" name="attr_CurrentHP" value="@{HP}-(@{UsedHP}+@{fatigue})" disabled="disabled"/><br/>.</div>
</div>
</div>
<div class="sheet-col-1-5 sheet-padl sheet-center"><input class="sheet-HP2 sheet-center" type="number" name="attr_UsedHP" value="0"/><span class="sheet-small-label">Damage<span></div>
<div class="sheet-col-1-5 sheet-padl sheet-center"><input class="sheet-HP2 sheet-center" type="number" name="attr_fatigue" value="0"/><span class="sheet-small-label">Spell Fatigue<span></div>
</div>
<div class="sheet-row">
<div class="sheet-col-1-4 sheet-center sheet-small-label">Armor Class</div>
<div class="sheet-col-1-4 sheet-center sheet-small-label">Current Hit Points</div>
</div>
<div class="sheet-col-1-1 sheet-center">&nbsp;</div>
<div class="sheet-row">
<div class="sheet-col-1-6 sheet-padl sheet-center" title="Racial Hit Die Type"><input class="sheet-center" type="text" name="attr_showRaceHD" value="@{RaceHD}" disabled="disabled"><span class="sheet-small-label">Hit Die</span></div>
<div class="sheet-col-1-7 sheet-padl sheet-center" title="Base Attack Bonus"><input class="sheet-center" type="number" name="attr_showATK" value="@{ATK}" disabled="disabled"><span class="sheet-small-label">Attack Bonus</span></div>
<div class="sheet-col-1-7 sheet-padl sheet-center" title="Base Damage Bonus"><input class="sheet-center" type="number" name="attr_showDAM" value="@{DAM}" disabled="disabled"><span class="sheet-small-label">Damage Bonus</span></div>
<div class="sheet-col-1-7 sheet-padl sheet-center" title="Number of Attacks"><input class="sheet-center" type="number" name="attr_shownumATK" value="@{numATK}" disabled="disabled"><span class="sheet-small-label"># Attacks</span></div>
<div class="sheet-col-1-6 sheet-padl sheet-center" title="Base Speed is based on your Race and Armour"><input class="sheet-center" type="number" name="attr_showSpeed" value="(@{Speed}+@{armorspeedTotal})" disabled="disabled"><span class="sheet-small-label">Base Speed</span></div>
</div>
</div>
<div class="sheet-row">
<!-- Core Stats -->
<div class="sheet-col-1-2 sheet-padr">
<h4 class="sheet-center">Stats</h4>
<div class="sheet-row sheet-sub-header">
<div class="sheet-col-1-3 sheet-center">&nbsp;</div>
<div class="sheet-col-1-8 sheet-center sheet-vert-bottom sheet-small-label">Base</div>
<div class="sheet-col-1-8 sheet-center sheet-vert-bottom sheet-small-label">Mod</div>
<div class="sheet-col-1-8 sheet-center sheet-vert-bottom sheet-small-label">Damage</div>
<div class="sheet-col-1-8 sheet-center sheet-vert-bottom sheet-small-label">Current</div>
<div class="sheet-col-1-8 sheet-center sheet-vert-bottom sheet-small-label">Bonus</div>
</div>
<div class="sheet-row">
<div class="sheet-col-1-3 sheet-core-stat-label">Strength</div>
<div class="sheet-col-1-8"><input type="number" name="attr_showstr" value="@{str}" disabled="disabled"/></div>
<div class="sheet-col-1-8 sheet-padl"><input type="number" name="attr_strMod" value="0"/></div>
<div class="sheet-col-1-8 sheet-padl"><input type="number" name="attr_strDam" value="0"/></div>
<div class="sheet-col-1-8 sheet-padl"><input class="sheet-center" type="number" name="attr_strCurrent" readonly="readonly"/></div>
<div class="sheet-col-1-8"><input class="sheet-center" type="number" name="attr_strBonus" readonly="readonly"></div>
</div>
<div class="sheet-row">
<div class="sheet-col-1-3 sheet-core-stat-label">Dexterity</div>
<div class="sheet-col-1-8"><input type="number" name="attr_showdex" value="@{dex}" disabled="disabled"/></div>
<div class="sheet-col-1-8 sheet-padl"><input type="number" name="attr_dexMod" value="0"/></div>
<div class="sheet-col-1-8 sheet-padl"><input type="number" name="attr_dexDam" value="0"/></div>
<div class="sheet-col-1-8 sheet-padl"><input class="sheet-center" type="number" name="attr_dexCurrent" readonly="readonly"/></div>
<div class="sheet-col-1-8"><input class="sheet-center" type="number" name="attr_dexBonus" readonly="readonly" ></div>
</div>
<div class="sheet-row">
<div class="sheet-col-1-3 sheet-core-stat-label">Mind</div>
<div class="sheet-col-1-8"><input type="number" name="attr_showmind" value="@{mind}" disabled="disabled"/></div>
<div class="sheet-col-1-8 sheet-padl"><input type="number" name="attr_mindMod" value="0"/></div>
<div class="sheet-col-1-8 sheet-padl"><input type="number" name="attr_mindDam" value="0"/></div>
<div class="sheet-col-1-8 sheet-padl"><input class="sheet-center" type="number" name="attr_mindCurrent" readonly="readonly"/></div>
<div class="sheet-col-1-8"><input class="sheet-center" type="number" name="attr_mindBonus" readonly="readonly" ></div>
</div>
<div class="sheet-row">
<div class="sheet-col-1-3 sheet-core-stat-label">Charisma</div>
<div class="sheet-col-1-8"><input type="number" name="attr_showcha" value="@{cha}" disabled="disabled"/></div>
<div class="sheet-col-1-8 sheet-padl"><input type="number" name="attr_chaMod" value="0"/></div>
<div class="sheet-col-1-8 sheet-padl"><input type="number" name="attr_chaDam" value="0"/></div>
<div class="sheet-col-1-8 sheet-padl"><input class="sheet-center" type="number" name="attr_chaCurrent" readonly="readonly"/></div>
<div class="sheet-col-1-8"><input class="sheet-center" type="number" name="attr_chaBonus" readonly="readonly" ></div>
</div>
<div class="sheet-row">&nbsp;</div>
<div class="sheet-row">
<div class="sheet-col-1-20 sheet-center">&nbsp;</div>
<div class="sheet-col-1-2 sheet-center"><input name="attr_Conditions" class="sheet-center" type="text"><span class="sheet-small-label">Conditions</span></div>
</div>
</div>
<!-- Skills, Movement -->
<div class="sheet-col-1-2 sheet-padr">
<h4 class="sheet-center">Skills</h4>
<div class="sheet-row sheet-sub-header">
<div class="sheet-col-1-3 sheet-center">&nbsp;</div>
<div class="sheet-col-1-8 sheet-center sheet-vert-bottom sheet-small-label">Base</div>
<div class="sheet-col-1-8 sheet-center sheet-vert-bottom sheet-small-label">Mod</div>
<div class="sheet-col-1-8 sheet-center sheet-vert-bottom sheet-small-label">Bonus</div>
<div class="sheet-col-1-8 sheet-center sheet-small-label"></div>
</div>
<div class="sheet-row">
<div class="sheet-col-1-3 sheet-core-stat-label">Physical</div>
<div class="sheet-col-1-8" title="Enter the base value listed in Class Advancement Table"><input type="number" name="attr_showphys" value="@{phys}" disabled="disabled"></div>
<div class="sheet-col-1-8 sheet-padl" title="Enter any additional bonus' ie. from spells or equipment"><input type="number" name="attr_physMod" value="0"></div>
<div class="sheet-col-1-8 sheet-padl"><input class="sheet-center" type="number" name="attr_physBonus" readonly="readonly" ></div>
</div>
<div class="sheet-row">
<div class="sheet-col-1-3 sheet-core-stat-label">Subterfuge</div>
<div class="sheet-col-1-8" title="Enter the base value listed in Class Advancement Table"><input type="number" name="attr_showsubt" value="@{subt}" disabled="disabled"></div>
<div class="sheet-col-1-8 sheet-padl" title="Enter any additional bonus' ie. from spells or equipment"><input type="number" name="attr_subtMod" value="0"></div>
<div class="sheet-col-1-8 sheet-padl"><input class="sheet-center" type="number" name="attr_subtBonus" readonly="readonly"></div>
</div>
<div class="sheet-row">
<div class="sheet-col-1-3 sheet-core-stat-label">Knowledge</div>
<div class="sheet-col-1-8" title="Enter the base value listed in Class Advancement Table"><input type="number" name="attr_showknow" value="@{know}" disabled="disabled"></div>
<div class="sheet-col-1-8 sheet-padl" title="Enter any additional bonus' ie. from spells or equipment"><input type="number" name="attr_knowMod" value="0"></div>
<div class="sheet-col-1-8 sheet-padl"><input class="sheet-center" type="number" name="attr_knowBonus" readonly="readonly"></div>
</div>
<div class="sheet-row">
<div class="sheet-col-1-3 sheet-core-stat-label">Communication</div>
<div class="sheet-col-1-8" title="Enter the base value listed in Class Advancement Table"><input type="number" name="attr_showcomm" value="@{comm}" disabled="disabled"></div>
<div class="sheet-col-1-8 sheet-padl" title="Enter any additional bonus' ie. from spells or equipment"><input type="number" name="attr_commMod" value="0"></div>
<div class="sheet-col-1-8 sheet-padl"><input class="sheet-center" type="number" name="attr_commBonus" readonly="readonly"></div>
</div>
<div class="sheet-row">
<div class="sheet-col-1-3 sheet-core-stat-label">Survival</div>
<div class="sheet-col-1-8" title="Enter the base value listed in Class Advancement Table"><input type="number" name="attr_showsurv" value="@{surv}" disabled="disabled"></div>
<div class="sheet-col-1-8 sheet-padl" title="Enter any additional bonus' ie. from spells or equipment"><input type="number" name="attr_survMod" value="0"></div>
<div class="sheet-col-1-8 sheet-padl"><input class="sheet-center" type="number" name="attr_survBonus" readonly="readonly"></div>
</div>
<div class="sheet-row">
<div class="sheet-col-1-3 sheet-core-stat-label">Crafting</div>
<div class="sheet-col-1-8" title="Enter the base value listed in Class Advancement Table"><input type="number" name="attr_showcraf" value="@{craf}" disabled="disabled"></div>
<div class="sheet-col-1-8 sheet-padl" title="Enter any additional bonus' ie. from spells or equipment"><input type="number" name="attr_crafMod" value="0"></div>
<div class="sheet-col-1-8 sheet-padl"><input class="sheet-center" type="number" name="attr_crafBonus" readonly="readonly"></div>
</div>
<div class="sheet-col-1-1 sheet-center">&nbsp;</div>
</div>
</div>
</div>
<!-- Misc -->
<div class="sheet-col-1-1">
<h4 class="sheet-center">Notes</h4>
<div class="sheet-row">
<div class="sheet-col-1"><textarea name="attr_miscNotes"></textarea></div>
</div>
</div>
</div>
<!-- COMBAT SECTION -->
<div class="sheet-section-combat">
<div class="sheet-col-1-6 sheet-center">&nbsp;</div>
<!-- BEGIN WEAPON SECTION -->
<h4 class="sheet-center">Melee Weapons </h4>
<div class="sheet-row sheet-sub-header">
<div class="sheet-col-1-11 sheet-center sheet-small-label sheet-vert-bottom">Equipped?</div>
<div class="sheet-col-1-4 sheet-center sheet-small-label sheet-vert-bottom">Weapon</div>
<div class="sheet-col-1-7 sheet-center sheet-small-label sheet-vert-bottom">Type</div>
<div class="sheet-col-1-20 sheet-center sheet-small-label sheet-vert-bottom">Magic or Bonus</div>
<div class="sheet-col-1-20 sheet-center sheet-small-label sheet-vert-bottom">To Hit Bonus</div>
<div class="sheet-col-1-20 sheet-center sheet-small-label sheet-vert-bottom">Damage</div>
<div class="sheet-col-1-20 sheet-center sheet-small-label sheet-vert-bottom">Dmg Bonus</div>
<div class="sheet-col-1-14 sheet-center sheet-small-label sheet-vert-bottom">Durability</div>
</div>
<!-- BEGIN MELEE weapon repeating row -->
<fieldset class="repeating_meleeweapon">
<div class="sheet-row">
<div class="sheet-col-1-11 sheet-vert-middle sheet-checkbox-row"><input type="checkbox" name="attr_meleeEquip"/></div>
<div class="sheet-col-1-4"><input type="text" name="attr_meleeWeaponName"></div>
<div class="sheet-col-1-7" title="Light Weapons do 1d6, heavy weapons do 1d8, Rogues can use DEXbonus to hit, Two-Handed give full STR Bonus.">
<select name="attr_meleeWeaponsize">
<option value="light" selected="selected">Light</option>
<option value="light-rogue">Light (Rogues)</option>
<option value="heavy">Heavy</option>
<option value="heavy-2hand">Heavy, Two Handed</option>
</select>
</div>
<div class="sheet-col-1-20" title="The magic bonus will be added as a bonus to BOTH the attack and damage rolls"><input class="sheet-center" type="number" name="attr_meleeMagic" value="0"></div>
<div class="sheet-col-1-20"><input class=" sheet-center" type="number" name="attr_meleeToHit" readonly="readonly"></div>
<div class="sheet-col-1-20"><input class="sheet-center" type="text" name="attr_meleeDam" readonly="readonly"></div>
<div class="sheet-col-1-20"><input class="sheet-center" type="number" name="attr_meleeDamBonus" readonly="readonly"></div>
<div class="sheet-col-1-9" title="Weapon Durability">
<select name="attr_weapondurable">
<option value="1">1-Poor</option>
<option value="2">2-Worn</option>
<option value="3" selected="selected">3-Good</option>
<option value="4">4-Excellent</option>
<option value="5">5-Superior</option>
</select>
</div>
</div>
</fieldset>
<h4 class="sheet-center">Ranged Weapons </h4>
<div class="sheet-row sheet-sub-header">
<div class="sheet-col-1-11 sheet-center sheet-small-label sheet-vert-bottom">Equipped?</div>
<div class="sheet-col-1-14 sheet-center sheet-small-label sheet-vert-bottom">Ammo</div>
<div class="sheet-col-1-10 sheet-center sheet-small-label sheet-vert-bottom">Missile or Thrown</div>
<div class="sheet-col-1-5 sheet-center sheet-small-label sheet-vert-bottom">Weapon</div>
<div class="sheet-col-1-12 sheet-center sheet-small-label sheet-vert-bottom">Size</div>
<div class="sheet-col-1-24 sheet-center sheet-small-label sheet-vert-bottom">Rng</div>
<div class="sheet-col-1-14 sheet-center sheet-small-label sheet-vert-bottom">max Range</div>
<div class="sheet-col-1-24 sheet-center sheet-small-label sheet-vert-bottom">Magic or Bonus</div>
<div class="sheet-col-1-24 sheet-center sheet-small-label sheet-vert-bottom">To Hit</div>
<div class="sheet-col-1-20 sheet-center sheet-small-label sheet-vert-bottom">Damage Type</div>
<div class="sheet-col-1-24 sheet-center sheet-small-label sheet-vert-bottom">Dmg Bonus</div>
<div class="sheet-col-1-12 sheet-center sheet-small-label sheet-vert-bottom">Durability</div>
</div>
<!-- BEGIN RANGED weapon repeating rows -->
<fieldset class="repeating_rangedweapon">
<div class="sheet-row">
<div class="sheet-col-1-11 sheet-vert-middle sheet-checkbox-row"><input type="checkbox" name="attr_rangedEquip"/></div>
<div class="sheet-col-1-14"><input class="sheet-center" type="number" name="attr_rangedAmmo" value="0" step="1"></div>
<div class="sheet-col-1-10" title="Select Thrown or Missile weapon">
<select name="attr_rangedWeaponType">
<option value="missile" selected="selected">Missile (5)</option>
<option value="thrown">Thrown (3)</option>
</select>
</div>
<div class="sheet-col-1-5"><input type="text" name="attr_rangedWeaponName"></div>
<div class="sheet-col-1-12" title="Light Weapons do 1d6, heavy weapons do 1d8">
<select name="attr_rangedWeaponsize">
<option value="light" selected="selected">Light</option>
<option value="heavy">Heavy</option>
</select>
</div>
<div class="sheet-col-1-24"title="Range Increment. Thrown weapons have 3 increments, projectiles have 5."><input class="sheet-center" type="text" name="attr_rangedDistance" value="0"></div>
<div class="sheet-col-1-14" title="Maximum Range."><input class="sheet-center" type="number" name="attr_rangedmax" readonly="readonly"></div>
<div class="sheet-col-1-24" title="The magic bonus will be added as a bonus to BOTH the attack and damage rolls."><input class="sheet-center" type="number" name="attr_rangedMagic" value="0"></div>
<div class="sheet-col-1-24"><input class="sheet-center" type="number" name="attr_rangedToHit" readonly="readonly"></div>
<div class="sheet-col-1-20"><input class="sheet-center" type="text" name="attr_rangedDam" readonly="readonly"></div>
<div class="sheet-col-1-24"><input class="sheet-center" type="number" name="attr_rangedDamBonus" readonly="readonly"></div>
<div class="sheet-col-1-9" title="Weapon Durability">
<select name="attr_weapondurable">
<option value="1">1-Poor</option>
<option value="2">2-Worn</option>
<option value="3" selected="selected">3-Good</option>
<option value="4">4-Excellent</option>
<option value="5">5-Superior</option>
</select>
</div>
</div>
</fieldset>
<!-- END WEAPON SECTION -->
<!-- ARMOR -->
<div class="sheet-row">
<div class="sheet-col-1">
<h4 class="sheet-center">Armor</h4>
<p class="sheet-small-note">Add any equipment, effects or items here that give a benefit to your Armor Class (AC). This includes Armor, shields and any magical items or spells. <br/> Use the checkboxes to indicate whether each row is is worn/equipped. If you have another feature that also modifies your AC then add that here too.</p>
</div>
</div>
<div class="sheet-row sheet-padb">
<div class="sheet-col-1-12 sheet-right sheet-small-label">&nbsp;</div>
<div class="sheet-col-1-8 sheet-small-label sheet-center"><input class="sheet-underlined sheet-center" type="number" name="attr_acCalc" readonly="readonly"><br/>AC (worn armor)</div>
<div class="sheet-col-1-9 sheet-right sheet-small-label">&nbsp;</div>
<div class="sheet-col-1-8 sheet-small-label sheet-center"><input class="sheet-underlined sheet-center" type="number" name="attr_armorCheck" readonly="readonly" ><br/>Arcane Magic Penalty</div>
<input type="hidden" name="attr_dexPenalty" readonly="readonly">
<div class="sheet-col-1-9 sheet-right sheet-small-label">&nbsp;</div>
<div class="sheet-col-1-6 sheet-small-label sheet-center"><input class="sheet-underlined sheet-center" type="text" name="attr_dexPenaltyText" readonly="readonly"><br/>Dexerity Penalty</div>
<div class="sheet-col-1-9 sheet-right sheet-small-label">&nbsp;</div>
<div class="sheet-col-1-8 sheet-small-label sheet-center"><input class="sheet-underlined sheet-center" type="number" name="attr_armorSpeedTotal" readonly="readonly"><br/>Total Speed Reduction</div>
<div class="sheet-col-1-9 sheet-right sheet-small-label">&nbsp;</div>
</div>
<div class="sheet-row">
<div class="sheet-col-1">
<div class="sheet-row sheet-sub-header">
<div class="sheet-col-1-11 sheet-center sheet-small-label sheet-vert-bottom">Worn?</div>
<div class="sheet-col-1-4 sheet-center sheet-small-label sheet-vert-bottom">Name</div>
<div class="sheet-col-1-7 sheet-center sheet-small-label sheet-vert-bottom">Type</div>
<!--<div class="sheet-col-1-14 sheet-center sheet-small-label sheet-vert-bottom">dexPen</div> -->
<div class="sheet-col-1-14 sheet-center sheet-small-label sheet-vert-bottom">Speed Mod</div>
<div class="sheet-col-1-14 sheet-center sheet-small-label sheet-vert-bottom">Base AC</div>
<div class="sheet-col-1-11 sheet-center sheet-small-label sheet-vert-bottom">Magic or Bonus</div>
<div class="sheet-col-1-11 sheet-center sheet-small-label sheet-vert-bottom">Total AC Bonus</div>
<div class="sheet-col-1-14 sheet-center sheet-small-label sheet-vert-bottom">Durability</div>
</div>
<!-- BEGIN ARMOR repeating rows -->
<fieldset class="repeating_armor">
<div class="sheet-row">
<div class="sheet-col-1-11 sheet-vert-middle sheet-checkbox-row"><input type="checkbox" name="attr_armorActive"/></div>
<div class="sheet-col-1-4"><input type="text" name="attr_armorName"></div>
<div class="sheet-col-1-7"><select name="attr_armorType">
<option value="s_buckler">Buckler</option>
<option value="s_small">small Shield</option>
<option value="s_woodsmall">Wood Shield</option>
<option value="s_large">Large Shield</option>
<option value="s_tower">Tower Shield</option>
<option value="padded">Padded</option>
<option value="leather">Leather</option>
<option value="st_leather">Studded Leather</option>
<option value="scale">Scale Mail</option>
<option value="splint">Splint Mail</option>
<option value="chain">Chain Mail</option>
<option value="banded">Banded Mail</option>
<option value="halfplate">Half Plate</option>
<option value="fullplate">Full Plate</option>
<option value="other">item or other</option>
</select>
</div>
<input type="hidden" name="attr_armorDexPen" readonly="readonly">
<div class="sheet-col-1-14"><input type="number" name="attr_armorSpeed" readonly="readonly"></div>
<div class="sheet-col-1-14"><input type="number" name="attr_armorAcBase" readonly="readonly"></div>
<div class="sheet-col-1-12"><input type="number" name="attr_armorMagicBonus" value="0" step="1"></div>
<div class="sheet-col-1-12"><input class="sheet-center" type="number" name="attr_armorTotalAc" value="@{armorAcBase} + @{armorMagicBonus}" disabled="disabled"></div>
<div class="sheet-col-1-9" title="Armour Durability">
<select name="attr_armordurable">
<option value="1">1-Poor</option>
<option value="2">2-Worn</option>
<option value="3" selected="selected">3-Good</option>
<option value="4">4-Excellent</option>
<option value="5">5-Superior</option>
</select>
</div>
</div>
</fieldset>
</div>
</div>
<hr/>
</div>
<!-- MAGIC -->
<div class="sheet-section-magic">
<div class="sheet-col-1-1 sheet-center">&nbsp;</div>
<h4 class="sheet-center">Magic Info.</h4>
<p class="sheet-small-note">Magic Attack = (level +MIND bonus) vs. target DC (usually 10). <br/>Spells that allow a save the target must match the Difficulty Class (DC) of 15 + Caster Level</p>
<div class="sheet-col-1-1 sheet-center">&nbsp;</div>
<div class="sheet-col-1-7 sheet-padl sheet-center" title="Spell Fatigue"><input class="sheet-center" type="number" name="attr_fatigue" value="0" step="1"><span class=sheet-small-label>Spell Fatigue</span></div>
<div class="sheet-col-1-7 sheet-small-label sheet-center"><input class="sheet-underlined sheet-center" type="number" name="attr_armorCheck" readonly="readonly" ><br/>Arcane Magic Penalty</div>
<!-- Caster Spellbooks -->
<div class="sheet-Caster">
<h4 class="sheet-center">Spell Book</h4>
<p class="sheet-small-note">Put in some text about spells here.</p>
<input type="radio" name="attr_spellpagetab" class="sheet-spellpagetab sheet-spelltab0" value="0" title="Level 0" checked="checked"/>
<span class="sheet-spellpagetab sheet-spelltab0">Level 0</span>
<input type="radio" name="attr_spellpagetab" class="sheet-spellpagetab sheet-spelltab1" value="1" title="Level 1"/>
<span class="sheet-spellpagetab sheet-spelltab1">Level 1</span>
<input type="radio" name="attr_spellpagetab" class="sheet-spellpagetab sheet-spelltab2" value="2" title="Level 2"/>
<span class="sheet-spellpagetab sheet-spelltab2">Level 2</span>
<input type="radio" name="attr_spellpagetab" class="sheet-spellpagetab sheet-spelltab3" value="3" title="Level 3"/>
<span class="sheet-spellpagetab sheet-spelltab3">Level 3</span>
<input type="radio" name="attr_spellpagetab" class="sheet-spellpagetab sheet-spelltab4" value="4" title="Level 4"/>
<span class="sheet-spellpagetab sheet-spelltab4">Level 4</span>
<input type="radio" name="attr_spellpagetab" class="sheet-spellpagetab sheet-spelltab5" value="5" title="Level 5"/>
<span class="sheet-spellpagetab sheet-spelltab5">Level 5</span>
<input type="radio" name="attr_spellpagetab" class="sheet-spellpagetab sheet-spelltab6" value="5" title="Level 6"/>
<span class="sheet-spellpagetab sheet-spelltab6">Level 6</span>
<input type="radio" name="attr_spellpagetab" class="sheet-spellpagetab sheet-spelltab99" value="99" title="Show All"/>
<span class="sheet-spellpagetab sheet-spelltab99">Show All</span>
<span class="sheet-spacer"></span>
<!-- BEGIN SPELL PAGES -->
<!-- BEGIN new spell page -->
<div class="sheet-spell-page0">
<div class="sheet-row sheet-spell-header">
<div class="sheet-col-1 sheet-vert-bottom sheet-center sheet-small-label">Level 0</div>
</div>
<!-- BEGIN spellbook 0 row -->
<fieldset class="repeating_spellbooklevel0">
<div class="sheet-margin-bottom sheet-padr sheet-padl">
<div class="sheet-row">
<div class="sheet-col-1-3 sheet-vert-bottom sheet-center sheet-small-label">Spell name</div>
<div class="sheet-col-1-8 sheet-vert-bottom sheet-center sheet-small-label">Range</div>
<div class="sheet-col-1-7 sheet-vert-bottom sheet-center sheet-small-label">Duration</div>
<div class="sheet-col-1-7 sheet-vert-bottom sheet-center sheet-small-label">Cost</div>
</div>
<div class="sheet-row">
<input type="hidden" name="attr_spellBaseLevel" value="0">
<input type="hidden" name="attr_spellFriendlyLevel" value="Level 0">
<div class="sheet-col-1-3 sheet-vert-middle"><input type="text" class=" sheet-center" name="attr_spellName"></div>
<div class="sheet-col-1-7 sheet-vert-middle"><input type="text" class="sheet-center" name="attr_spellRange"></div>
<div class="sheet-col-1-7 sheet-vert-middle"><input type="text" class="sheet-center" name="attr_spellDuration"></div>
<div class="sheet-col-1-9 sheet-vert-middle"><input type="number" class="sheet-center" name="attr_spellcost" value="1"></div>
<input type="checkbox" name="attr_spellTypeDescription" class="sheet-spelltypetab sheet-spelltypeDescription" value="1"/>
<span class="sheet-col-1-9 sheet-spelltypetab sheet-spelltypeDescription">Description</span>
<div class="sheet-spell-type-Description">
<div class="sheet-row">
<div class="sheet-col-1 sheet-vert-bottom sheet-center sheet-small-label">Spell Description and Notes</div>
</div>
<div class="sheet-row">
<div class="sheet-col-1 sheet-small-label sheet-center"><textarea class="sheet-medium" name="attr_spellDescription"></textarea></div>
<div class="sheet-col-1 sheet-vert-bottom sheet-center">&nbsp;</div>
</div>
</div>
</div>
</div>
<!-- END spellbook 0 row -->
</fieldset>
</div>
<!-- END spell page -->
<!-- BEGIN new spell page -->
<div class="sheet-spell-page1">
<div class="sheet-row sheet-spell-header">
<div class="sheet-col-1 sheet-vert-bottom sheet-center sheet-small-label">Level 1</div>
</div>
<!-- BEGIN spellbook 1 row -->
<fieldset class="repeating_spellbooklevel1">
<div class="sheet-margin-bottom sheet-padr sheet-padl">
<div class="sheet-row">
<div class="sheet-col-1-3 sheet-vert-bottom sheet-center sheet-small-label">Spell name</div>
<div class="sheet-col-1-8 sheet-vert-bottom sheet-center sheet-small-label">Range</div>
<div class="sheet-col-1-7 sheet-vert-bottom sheet-center sheet-small-label">Duration</div>
<div class="sheet-col-1-7 sheet-vert-bottom sheet-center sheet-small-label">Cost</div>
</div>
<div class="sheet-row">
<input type="hidden" name="attr_spellBaseLevel" value="1">
<input type="hidden" name="attr_spellFriendlyLevel" value="Level 1">
<div class="sheet-col-1-3 sheet-vert-middle"><input type="text" class=" sheet-center" name="attr_spellName"></div>
<div class="sheet-col-1-7 sheet-vert-middle"><input type="text" class="sheet-center" name="attr_spellRange"></div>
<div class="sheet-col-1-7 sheet-vert-middle"><input type="text" class="sheet-center" name="attr_spellDuration"></div>
<div class="sheet-col-1-9 sheet-vert-middle"><input type="number" class="sheet-center" name="attr_spellcost" value="3"></div>
<input type="checkbox" name="attr_spellTypeDescription" class="sheet-spelltypetab sheet-spelltypeDescription" value="1"/>
<span class="sheet-col-1-9 sheet-spelltypetab sheet-spelltypeDescription">Description</span>
<div class="sheet-spell-type-Description">
<div class="sheet-row">
<div class="sheet-col-1 sheet-vert-bottom sheet-center sheet-small-label">Spell Description and Notes</div>
</div>
<div class="sheet-row">
<div class="sheet-col-1 sheet-small-label sheet-center"><textarea class="sheet-medium" name="attr_spellDescription"></textarea></div>
<div class="sheet-col-1 sheet-vert-bottom sheet-center">&nbsp;</div>
</div>
</div>
</div>
</div>
<!-- END spellbook 1 row -->
</fieldset>
</div>
<!-- END spell page -->
<!-- BEGIN new spell page -->
<div class="sheet-spell-page2">
<div class="sheet-row sheet-spell-header">
<div class="sheet-col-1 sheet-vert-bottom sheet-center sheet-small-label">Level 2</div>
</div>
<!-- BEGIN spellbook 2 row -->
<fieldset class="repeating_spellbooklevel2">
<div class="sheet-margin-bottom sheet-padr sheet-padl">
<div class="sheet-row">
<div class="sheet-col-1-3 sheet-vert-bottom sheet-center sheet-small-label">Spell name</div>
<div class="sheet-col-1-8 sheet-vert-bottom sheet-center sheet-small-label">Range</div>
<div class="sheet-col-1-7 sheet-vert-bottom sheet-center sheet-small-label">Duration</div>
<div class="sheet-col-1-7 sheet-vert-bottom sheet-center sheet-small-label">Cost</div>
</div>
<div class="sheet-row">
<input type="hidden" name="attr_spellBaseLevel" value="2">
<input type="hidden" name="attr_spellFriendlyLevel" value="Level 2">
<div class="sheet-col-1-3 sheet-vert-middle"><input type="text" class=" sheet-center" name="attr_spellName"></div>
<div class="sheet-col-1-7 sheet-vert-middle"><input type="text" class="sheet-center" name="attr_spellRange"></div>
<div class="sheet-col-1-7 sheet-vert-middle"><input type="text" class="sheet-center" name="attr_spellDuration"></div>
<div class="sheet-col-1-9 sheet-vert-middle"><input type="number" class="sheet-center" name="attr_spellcost" value="5"></div>
<input type="checkbox" name="attr_spellTypeDescription" class="sheet-spelltypetab sheet-spelltypeDescription" value="1"/>
<span class="sheet-col-1-9 sheet-spelltypetab sheet-spelltypeDescription">Description</span>
<div class="sheet-spell-type-Description">
<div class="sheet-row">
<div class="sheet-col-1 sheet-vert-bottom sheet-center sheet-small-label">Spell Description and Notes</div>
</div>
<div class="sheet-row">
<div class="sheet-col-1 sheet-small-label sheet-center"><textarea class="sheet-medium" name="attr_spellDescription"></textarea></div>
<div class="sheet-col-1 sheet-vert-bottom sheet-center">&nbsp;</div>
</div>
</div>
</div>
</div>
<!-- END spellbook 2 row -->
</fieldset>
</div>
<!-- END spell page -->
<!-- BEGIN new spell page -->
<div class="sheet-spell-page3">
<div class="sheet-row sheet-spell-header">
<div class="sheet-col-1 sheet-vert-bottom sheet-center sheet-small-label">Level 3</div>
</div>
<!-- BEGIN spellbook 3 row -->
<fieldset class="repeating_spellbooklevel3">
<div class="sheet-margin-bottom sheet-padr sheet-padl">
<div class="sheet-row">
<div class="sheet-col-1-3 sheet-vert-bottom sheet-center sheet-small-label">Spell name</div>
<div class="sheet-col-1-8 sheet-vert-bottom sheet-center sheet-small-label">Range</div>
<div class="sheet-col-1-7 sheet-vert-bottom sheet-center sheet-small-label">Duration</div>
<div class="sheet-col-1-7 sheet-vert-bottom sheet-center sheet-small-label">Cost</div>
</div>
<div class="sheet-row">
<input type="hidden" name="attr_spellBaseLevel" value="3">
<input type="hidden" name="attr_spellFriendlyLevel" value="Level 3">
<div class="sheet-col-1-3 sheet-vert-middle"><input type="text" class=" sheet-center" name="attr_spellName"></div>
<div class="sheet-col-1-7 sheet-vert-middle"><input type="text" class="sheet-center" name="attr_spellRange"></div>
<div class="sheet-col-1-7 sheet-vert-middle"><input type="text" class="sheet-center" name="attr_spellDuration"></div>
<div class="sheet-col-1-9 sheet-vert-middle"><input type="number" class="sheet-center" name="attr_spellcost" value="7"></div>
<input type="checkbox" name="attr_spellTypeDescription" class="sheet-spelltypetab sheet-spelltypeDescription" value="1"/>
<span class="sheet-col-1-9 sheet-spelltypetab sheet-spelltypeDescription">Description</span>
<div class="sheet-spell-type-Description">
<div class="sheet-row">
<div class="sheet-col-1 sheet-vert-bottom sheet-center sheet-small-label">Spell Description and Notes</div>
</div>
<div class="sheet-row">
<div class="sheet-col-1 sheet-small-label sheet-center"><textarea class="sheet-medium" name="attr_spellDescription"></textarea></div>
<div class="sheet-col-1 sheet-vert-bottom sheet-center">&nbsp;</div>
</div>
</div>
</div>
</div>
<!-- END spellbook 3 row -->
</fieldset>
</div>
<!-- END spell page -->
<!-- BEGIN new spell page -->
<div class="sheet-spell-page4">
<div class="sheet-row sheet-spell-header">
<div class="sheet-col-1 sheet-vert-bottom sheet-center sheet-small-label">Level 4</div>
</div>
<!-- BEGIN spellbook 4 row -->
<fieldset class="repeating_spellbooklevel4">
<div class="sheet-margin-bottom sheet-padr sheet-padl">
<div class="sheet-row">
<div class="sheet-col-1-3 sheet-vert-bottom sheet-center sheet-small-label">Spell name</div>
<div class="sheet-col-1-8 sheet-vert-bottom sheet-center sheet-small-label">Range</div>
<div class="sheet-col-1-7 sheet-vert-bottom sheet-center sheet-small-label">Duration</div>
<div class="sheet-col-1-7 sheet-vert-bottom sheet-center sheet-small-label">Cost</div>
</div>
<div class="sheet-row">
<input type="hidden" name="attr_spellBaseLevel" value="4">
<input type="hidden" name="attr_spellFriendlyLevel" value="Level 4">
<div class="sheet-col-1-3 sheet-vert-middle"><input type="text" class=" sheet-center" name="attr_spellName"></div>
<div class="sheet-col-1-7 sheet-vert-middle"><input type="text" class="sheet-center" name="attr_spellRange"></div>
<div class="sheet-col-1-7 sheet-vert-middle"><input type="text" class="sheet-center" name="attr_spellDuration"></div>
<div class="sheet-col-1-9 sheet-vert-middle"><input type="number" class="sheet-center" name="attr_spellcost" value="9"></div>
<input type="checkbox" name="attr_spellTypeDescription" class="sheet-spelltypetab sheet-spelltypeDescription" value="1"/>
<span class="sheet-col-1-9 sheet-spelltypetab sheet-spelltypeDescription">Description</span>
<div class="sheet-spell-type-Description">
<div class="sheet-row">
<div class="sheet-col-1 sheet-vert-bottom sheet-center sheet-small-label">Spell Description and Notes</div>
</div>
<div class="sheet-row">
<div class="sheet-col-1 sheet-small-label sheet-center"><textarea class="sheet-medium" name="attr_spellDescription"></textarea></div>
<div class="sheet-col-1 sheet-vert-bottom sheet-center">&nbsp;</div>
</div>
</div>
</div>
</div>
<!-- END spellbook 4 row -->
</fieldset>
</div>
<!-- END spell page -->
<!-- BEGIN new spell page -->
<div class="sheet-spell-page5">
<div class="sheet-row sheet-spell-header">
<div class="sheet-col-1 sheet-vert-bottom sheet-center sheet-small-label">Level 5</div>
</div>
<!-- BEGIN spellbook 5 row -->
<fieldset class="repeating_spellbooklevel5">
<div class="sheet-margin-bottom sheet-padr sheet-padl">
<div class="sheet-row">
<div class="sheet-col-1-3 sheet-vert-bottom sheet-center sheet-small-label">Spell name</div>
<div class="sheet-col-1-8 sheet-vert-bottom sheet-center sheet-small-label">Range</div>
<div class="sheet-col-1-7 sheet-vert-bottom sheet-center sheet-small-label">Duration</div>
<div class="sheet-col-1-7 sheet-vert-bottom sheet-center sheet-small-label">Cost</div>
</div>
<div class="sheet-row">
<input type="hidden" name="attr_spellBaseLevel" value="5">
<input type="hidden" name="attr_spellFriendlyLevel" value="Level 5">
<div class="sheet-col-1-3 sheet-vert-middle"><input type="text" class=" sheet-center" name="attr_spellName"></div>
<div class="sheet-col-1-7 sheet-vert-middle"><input type="text" class="sheet-center" name="attr_spellRange"></div>
<div class="sheet-col-1-7 sheet-vert-middle"><input type="text" class="sheet-center" name="attr_spellDuration"></div>
<div class="sheet-col-1-9 sheet-vert-middle"><input type="number" class="sheet-center" name="attr_spellcost" value="11"></div>
<input type="checkbox" name="attr_spellTypeDescription" class="sheet-spelltypetab sheet-spelltypeDescription" value="1"/>
<span class="sheet-col-1-9 sheet-spelltypetab sheet-spelltypeDescription">Description</span>
<div class="sheet-spell-type-Description">
<div class="sheet-row">
<div class="sheet-col-1 sheet-vert-bottom sheet-center sheet-small-label">Spell Description and Notes</div>
</div>
<div class="sheet-row">
<div class="sheet-col-1 sheet-small-label sheet-center"><textarea class="sheet-medium" name="attr_spellDescription"></textarea></div>
<div class="sheet-col-1 sheet-vert-bottom sheet-center">&nbsp;</div>
</div>
</div>
</div>
</div>
<!-- END spellbook 5 row -->
</fieldset>
</div>
<!-- END spell page -->
<!-- BEGIN new spell page -->
<div class="sheet-spell-page6">
<div class="sheet-row sheet-spell-header">
<div class="sheet-col-1 sheet-vert-bottom sheet-center sheet-small-label">Level 6</div>
</div>
<!-- BEGIN spellbook 6 row -->
<fieldset class="repeating_spellbooklevel6">
<div class="sheet-margin-bottom sheet-padr sheet-padl">
<div class="sheet-row">
<div class="sheet-col-1-3 sheet-vert-bottom sheet-center sheet-small-label">Spell name</div>
<div class="sheet-col-1-8 sheet-vert-bottom sheet-center sheet-small-label">Range</div>
<div class="sheet-col-1-7 sheet-vert-bottom sheet-center sheet-small-label">Duration</div>
<div class="sheet-col-1-7 sheet-vert-bottom sheet-center sheet-small-label">Cost</div>
</div>
<div class="sheet-row">
<input type="hidden" name="attr_spellBaseLevel" value="6">
<input type="hidden" name="attr_spellFriendlyLevel" value="Level 6">
<div class="sheet-col-1-3 sheet-vert-middle"><input type="text" class=" sheet-center" name="attr_spellName"></div>
<div class="sheet-col-1-7 sheet-vert-middle"><input type="text" class="sheet-center" name="attr_spellRange"></div>
<div class="sheet-col-1-7 sheet-vert-middle"><input type="text" class="sheet-center" name="attr_spellDuration"></div>
<div class="sheet-col-1-9 sheet-vert-middle"><input type="number" class="sheet-center" name="attr_spellcost" value="13"></div>
<input type="checkbox" name="attr_spellTypeDescription" class="sheet-spelltypetab sheet-spelltypeDescription" value="1"/>
<span class="sheet-col-1-9 sheet-spelltypetab sheet-spelltypeDescription">Description</span>
<div class="sheet-spell-type-Description">
<div class="sheet-row">
<div class="sheet-col-1 sheet-vert-bottom sheet-center sheet-small-label">Spell Description and Notes</div>
</div>
<div class="sheet-row">
<div class="sheet-col-1 sheet-small-label sheet-center"><textarea class="sheet-medium" name="attr_spellDescription"></textarea></div>
<div class="sheet-col-1 sheet-vert-bottom sheet-center">&nbsp;</div>
</div>
</div>
</div>
</div>
<!-- END spellbook 6 row -->
</fieldset>
</div>
<!-- END spell book -->
</div>
</div>
<!--END MAGIC -->
<!-- INVENTORY -->
<div class="sheet-section-inventory">
<div class="sheet-row">
<div class="sheet-col-1">
<h4 class="sheet-center">Consumable Items</h4>
<fieldset class="repeating_items">
<div class="sheet-row sheet-center">
<div class="sheet-col-1-5 sheet-center sheet-small-label">Item Name</div>
<div class="sheet-col-1-17 sheet-center sheet-small-label">Amount</div>
<div class="sheet-col-1-17 sheet-center sheet-small-label">&nbsp;</div>
<div class="sheet-col-1-5 sheet-center sheet-small-label">Item Name</div>
<div class="sheet-col-1-17 sheet-center sheet-small-label">Amount</div>
<div class="sheet-col-1-17 sheet-center sheet-small-label">&nbsp;</div>
<div class="sheet-col-1-5 sheet-center sheet-small-label">Item Name</div>
<div class="sheet-col-1-17 sheet-center sheet-small-label">Amount</div>
</div>
<div class="sheet-row sheet-center">
<div class="sheet-col-1-5"><input type="text" name="attr_itemName"></div>
<div class="sheet-col-1-17"><input type="number" name="attr_itemCount"></div>
<div class="sheet-col-1-17" sheet-center sheet-small-label>&nbsp;</div>
<div class="sheet-col-1-5"><input type="text" name="attr_itemName2"></div>
<div class="sheet-col-1-17"><input type="number" name="attr_itemCount2"></div>
<div class="sheet-col-1-17" sheet-center sheet-small-label>&nbsp;</div>
<div class="sheet-col-1-5"><input type="text" name="attr_itemName3"></div>
<div class="sheet-col-1-17"><input type="number" name="attr_itemCount3"></div>
</div>
</fieldset>
</div>
</div>
<div class="sheet-col-1-1 sheet-center">&nbsp;</div>
<div class="sheet-row">
<div class="sheet-col-1">
<h4 class="sheet-center">Coins Carried </h4>
</div>
</div>
<div class="sheet-row">
<div class="sheet-col-1-1 sheet-padr">
<div class="sheet-row sheet-sub-header">
<div class="sheet-col-1-6 sheet-center sheet-small-label">CP</div>
<div class="sheet-col-1-6 sheet-center sheet-small-label">SP</div>
<div class="sheet-col-1-6 sheet-center sheet-small-label">GP</div>
<div class="sheet-col-1-6 sheet-center sheet-small-label">PP</div>
<div class="sheet-col-1-6 sheet-center sheet-small-label">Total GP</div>
<div class="sheet-col-1-6 sheet-center sheet-small-label">Weight (lb)</div>
</div>
<div class="sheet-row">
<div class="sheet-col-1-6" title="Copper Pieces"><input type="number" name="attr_CP" value="0" min="0" step="1"></div>
<div class="sheet-col-1-6" title="Silver Pieces"><input type="number" name="attr_SP" value="0" min="0" step="1"></div>
<div class="sheet-col-1-6" title="Gold Pieces"><input type="number" name="attr_GP" value="0" min="0" step="1"></div>
<div class="sheet-col-1-6" title="Platinum Pieces"><input type="number" name="attr_PP" value="0" min="0" step="1"></div>
<div class="sheet-col-1-6" title="Total (in Gold Pieces)"><input class="sheet-center" type="number" name="attr_moneyTotalGp" value="(@{CP} / 100) + (@{SP} / 10) + @{GP} + (@{PP} * 10) " disabled="disabled"></div>
<div class="sheet-col-1-6" title="Weight in Pounds"><input class="sheet-center" type="number" name="attr_moneyTotalweight" value="(@{CP} + @{SP} + @{GP} + @{PP})*0.01 " disabled="disabled"></div>
</div>
</div>
</div>
<h4 class="sheet-center">Other Inventory</h4>
<div class="sheet-col-1-1">
<div class="sheet-row sheet-sub-header">
<div class="sheet-col-1-3 sheet-center sheet-inspiration-label">Equipment</div>
<div class="sheet-col-1-3 sheet-center sheet-inspiration-label">Treasure</div>
<div class="sheet-col-1-3 sheet-center sheet-inspiration-label">Other</div>
</div>
<div class="sheet-row">
<div class="sheet-col-1-3"><textarea class="sheet-medium" name="attr_Equipment"></textarea></div>
<div class="sheet-col-1-3"><textarea class="sheet-medium" name="attr_Treasure"></textarea></div>
<div class="sheet-col-1-3"><textarea class="sheet-medium" name="attr_Other"></textarea></div>
</div>
</div>
<hr/>
<h4 class="sheet-center">Stuff Not Carried</h4>
<div class="sheet-col-1-1">
<div class="sheet-row">
<div class="sheet-col-1-3"><textarea class="sheet-medium" name="attr_Equipment2"></textarea></div>
<div class="sheet-col-1-3"><textarea class="sheet-medium" name="attr_Treasure2"></textarea></div>
<div class="sheet-col-1-3"><textarea class="sheet-medium" name="attr_Other2"></textarea></div>
</div>
</div>
</div>
</div>
<!-- END of Player Sheet -->
<!-- SHEET Update Mode -->
<div class="sheet-maintab-content sheet-update">
<div class="sheet-row">
<div class="sheet-col-1-3 sheet-padr">
<h4 class="sheet-center">Update Level and HP</h4>
<div class="sheet-row">
<div class="sheet-row sheet-sub-header">
<div class="sheet-col-1-2 sheet-center sheet-vert-bottom sheet-small-label">Class</div>
<div class="sheet-col-1-2 sheet-center sheet-vert-bottom sheet-small-label">Race</div>
</div>
<input type="hidden" name="attr_Speed">
<input type="hidden" name="attr_RaceHD">
<input type="hidden" name="attr_ATK">
<input type="hidden" name="attr_DAM">
<div class="sheet-row">
<div class="sheet-col-1-2 sheet-center"><select name="attr_Class">
<option value="Cleric">Cleric</option>
<option value="Druid">Druid</option>
<option value="Enchanter">Enchanter</option>
<option value="Fighter">Fighter</option>
<option value="Mage">Mage</option>
<option value="Rogue">Rogue</option>
<option value="Non-classed">Non-Classed</option>
</select>
</div>
<input name="attr_raceACbonus" type="hidden" value="0">
<div class="sheet-col-1-2 sheet-padl sheet-center"><select name="attr_Race">
<option value="Beastman">Beastman</option>
<option value="Dwarf">Dwarf</option>
<option value="Elf">Elf</option>
<option value="Halfling">Halfling</option>
<option value="Human" selected="selected">Human</option>
<option value="Other">Other</option>
</select>
</div>
</div>
<div class="sheet-row">
<div class="sheet-col-1-2 sheet-core-stat-label">Level</div>
<div class="sheet-col-1-4"><input type="number" name="attr_Level" value="1" min="1" step="1"></div>
</div>
<div class="sheet-row">
<div class="sheet-col-1-2 sheet-core-stat-label">Base HP</div>
<div class="sheet-col-1-4"><input type="number" name="attr_HP" value="1" min="1" step="1"></div>
</div>
</div>
<div class="sheet-row">
<div class="sheet-col-1 sheet-center">&nbsp;</div>
</div>
<div class="sheet-row">
<div class="sheet-col-1 sheet-center"><input class="sheet-center" type="text" name="attr_raceProg" readonly="readonly"><span class="sheet-small-label">Race Starting</span></div>
</div>
<div class="sheet-row">
<div class="sheet-col-1 sheet-center"><input class="sheet-center" type="text" name="attr_classStart" readonly="readonly"><span class="sheet-small-label">Class Starting</span></div>
</div>
<div class="sheet-row">
<div class="sheet-col-1 sheet-center"><input class="sheet-center" type="text" name="attr_classProg" readonly="readonly"><span class="sheet-small-label">Class Progression</span></div>
</div>
</div>
<div class="sheet-col-1-3 sheet-padr">
<h4 class="sheet-center">Modify Base Stats</h4>
<div class="sheet-row sheet-sub-header">
<div class="sheet-col-1-2 sheet-center sheet-vert-bottom sheet-small-label">Stat</div>
<div class="sheet-col-1-4 sheet-center sheet-vert-bottom sheet-small-label">Base</div>
<div class="sheet-col-1-4 sheet-center sheet-vert-bottom sheet-small-label">Bonus</div>
</div>
<div class="sheet-row">
<div class="sheet-col-1-2 sheet-core-stat-label">Strength</div>
<div class="sheet-col-1-4"><input type="number" name="attr_str" min="3" value="10" step="1"/></div>
<div class="sheet-col-1-4"><input class="sheet-center" type="number" name="attr_strBonus" readonly="readonly"></div>
</div>
<div class="sheet-row">
<div class="sheet-col-1-2 sheet-core-stat-label">Dexterity</div>
<div class="sheet-col-1-4"><input type="number" name="attr_dex" min="3" value="10" step="1"/></div>
<div class="sheet-col-1-4"><input class="sheet-center" type="number" name="attr_dexBonus" readonly="readonly"></div>
</div>
<div class="sheet-row">
<div class="sheet-col-1-2 sheet-core-stat-label">Mind</div>
<div class="sheet-col-1-4"><input type="number" name="attr_mind" min="3" value="10" step="1"/></div>
<div class="sheet-col-1-4"><input class="sheet-center" type="number" name="attr_mindBonus" readonly="readonly"></div>
</div>
<div class="sheet-row">
<div class="sheet-col-1-2 sheet-core-stat-label">Charisma</div>
<div class="sheet-col-1-4"><input type="number" name="attr_cha" min="3" value="10" step="1"/></div>
<div class="sheet-col-1-4"><input class="sheet-center" type="number" name="attr_chaBonus" readonly="readonly"></div>
</div>
</div>
<div class="sheet-col-1-3 sheet-padr">
<h4 class="sheet-center">Modify Base Skills</h4>
<div class="sheet-row sheet-sub-header">
<div class="sheet-col-1-2 sheet-center sheet-vert-bottom sheet-small-label">Skill</div>
<div class="sheet-col-1-4 sheet-center sheet-vert-bottom sheet-small-label">Base</div>
</div>
<div class="sheet-row">
<div class="sheet-col-1-2 sheet-core-stat-label">Physical</div>
<div class="sheet-col-1-4" title="Enter the base value listed in Class Advancement Table"><input type="number" name="attr_phys" value="0" min="0" step="1"></div>
</div>
<div class="sheet-row">
<div class="sheet-col-1-2 sheet-core-stat-label">Subterfuge</div>
<div class="sheet-col-1-4" title="Enter the base value listed in Class Advancement Table"><input type="number" name="attr_subt" value="0" min="0" step="1"></div>
</div>
<div class="sheet-row">
<div class="sheet-col-1-2 sheet-core-stat-label">Knowledge</div>
<div class="sheet-col-1-4" title="Enter the base value listed in Class Advancement Table"><input type="number" name="attr_know" value="0" min="0" step="1"></div>
</div>
<div class="sheet-row">
<div class="sheet-col-1-2 sheet-core-stat-label">Communication</div>
<div class="sheet-col-1-4" title="Enter the base value listed in Class Advancement Table"><input type="number" name="attr_comm" value="0" min="0" step="1"></div>
</div>
<div class="sheet-row">
<div class="sheet-col-1-2 sheet-core-stat-label">Survival</div>
<div class="sheet-col-1-4" title="Enter the base value listed in Class Advancement Table"><input type="number" name="attr_surv" value="0" min="0" step="1"></div>
</div>
<div class="sheet-row">
<div class="sheet-col-1-2 sheet-core-stat-label">Crafting</div>
<div class="sheet-col-1-4" title="Enter the base value listed in Class Advancement Table"><input type="number" name="attr_craf" value="0" min="0" step="1"></div>
</div>
</div>
</div>
</div>
<div class="sheet-row">
<div class="sheet-col-1-2 sheet-left sheet-margin-bottom"><p class="sheet-last-updated">Rules available at: https://beacond20.blogspot.com/p/get-beacon.html</p></div>
<div class="sheet-col-1-2 sheet-right sheet-margin-bottom"><p class="sheet-last-updated">Sheet last updated May 2020</p></div>
</div>
</div>
<script type="text/worker">
on("sheet:opened change:str change:mind change:dex change:cha change:strMod change:mindMod change:dexMod change:chaMod change:strDam change:mindDam change:dexDam change:chaDam change:dexPenalty change:phys change:subt change:know change:comm change:surv change:craf change:physMod change:subtMod change:knowMod change:commMod change:survMod change:crafMod", function() {
getAttrs(["str","mind","dex","dexPenalty","cha","strMod","mindMod","dexMod","chaMod","strDam","mindDam","dexDam","chaDam","phys","subt","know","comm","surv","craf","physMod","subtMod","knowMod","commMod","survMod","crafMod"], function(v) {
var Str = parseInt(v["str"])||0;
var SMod = parseInt(v["strMod"])||0;
var SDam = parseInt(v["strDam"])||0;
var Mind = parseInt(v["mind"])||0;
var MMod = parseInt(v["mindMod"])||0;
var MDam = parseInt(v["mindDam"])||0;
var Dex = parseInt(v["dex"])||0;
var DMod = parseInt(v["dexMod"])||0;
var DDam = parseInt(v["dexDam"])||0;
var DPen = parseInt(v["dexPenalty"])||0;
var dexbonus = Math.floor((Dex+DMod-DDam)/2)-5;
var dexpentext="Full Bonuses";
var Cha = parseInt(v["cha"])||0;
var CMod = parseInt(v["chaMod"])||0;
var CDam = parseInt(v["chaDam"])||0;
var Phys = parseInt(v["phys"])||0;
var PhysMod = parseInt(v["physMod"])||0;
var Subt = parseInt(v["subt"])||0;
var SubtMod = parseInt(v["subtMod"])||0;
var Know = parseInt(v["know"])||0;
var KnowMod = parseInt(v["knowMod"])||0;
var Comm = parseInt(v["comm"])||0;
var CommMod = parseInt(v["commMod"])||0;
var Surv = parseInt(v["surv"])||0;
var SurvMod = parseInt(v["survMod"])||0;
var Craf = parseInt(v["craf"])||0;
var CrafMod = parseInt(v["crafMod"])||0;
if (DPen >= 2 && dexbonus > 0) {dexbonus=0;}
else if (DPen >= 2 ) {dexpentext="No Dex Bonuses";}
else if (DPen >= 1 ) {dexpentext="No Dex Bonus to AC";}
else {dexpentext="Full Bonuses";}
setAttrs({
strCurrent : Str+SMod-SDam,
strBonus : Math.floor((Str+SMod-SDam)/2)-5,
mindCurrent : Mind+MMod-MDam,
mindBonus : Math.floor((Mind+MMod-MDam)/2)-5,
dexCurrent : Dex+DMod-DDam,
dexBonus : dexbonus,
dexPenaltyText : dexpentext,
chaCurrent : Cha+CMod-CDam,
chaBonus : Math.floor((Cha+CMod-CDam)/2)-5,
physBonus : Phys+PhysMod,
subtBonus : Subt+SubtMod,
knowBonus : Know+KnowMod,
commBonus : Comm+CommMod,
survBonus : Surv+SurvMod,
crafBonus : Craf+CrafMod
});
});
});
// set race abilities and HD
on("change:Race sheet:opened", function() {
getAttrs(["Race"], function(v) {
var RACE = v.Race;
var HD = "?";
var specials = "";
var skills = "";
var racespeed = parseInt(60);
var ACB = "0";
//race sets HD
switch (v.Race) {
case "Dwarf" : HD = "d8"; specials="Dark sight and direction finding, cannot swim."; skills="Starts with +2 Strength and +1 Crafting."; racespeed=50; break;
case "Human" : HD = "d8"; specials="Found everywhere. Adaptable"; skills="Starts with 1 point in 4 different skills."; break;
case "Elf" : HD = "d6"; specials="Excellent night vision, immune to charm and sleep effects."; skills="Starts with +1 Mind, Charisma and Knowledge."; racespeed=70; break;
case "Halfling" : HD = "d6"; ACB = "1"; specials="Small, quick and nimble"; skills="Starts with +2 Dexterity and +1 Subterfuge."; break;
case "Beastman" : HD = "d10"; specials = "Cannot cast spells, use scrolls."; skills="Starts with +2 Survival."; break;
case "Other" : HD = "?"; specials = "See Notes."; skills="Starts with +2 Survival."; break;
}
setAttrs({RaceHD : HD, RaceSpecials : specials, raceACbonus : ACB, raceProg : skills, Speed : racespeed});
});
});
//set base attack and damage bonus for class and level
on("change:Class change:Level sheet:opened", function() {
getAttrs(["Class","Level"], function(v) {
var level=parseInt(v.Level)||1;
var damage=parseInt(0);
var attack=parseInt(0);
var numAttacks=parseInt(1);
var skills = "";
switch (v.Class) {
case "Fighter" : attack=level; damage=Math.floor(level/3)+1; numAttacks=Math.floor(level/5)+1; skills1="Starts with +3 Physical."; skills2="+1 Physical at 3/6/9/12."; break;
case "Cleric" : attack=Math.floor(level/2); numAttacks=Math.floor(level/10)+1; skills1="Starts with +3 Communication."; skills2="+1 Communication at 4/8/12."; break;
case "Rogue" : attack=Math.floor(level/2); numAttacks=Math.floor(level/10)+1; skills1="Split 3 points between Subterfuge and Survival."; skills2="+1 Subterfuge or Survival at 3/6/9/12."; break;
case "Non-classed" : attack=Math.floor(level/2); numAttacks=Math.floor(level/10)+1; skills1="Starts with 4 points in at least 2 Stats."; skills2="+1 any skill at 2/4/6/8/10/12."; break;
case "Mage" : attack=Math.floor(level/3); skills1="Starts with +3 Knowledge."; skills2="+1 Knowledge at 4/8/12."; break;
case "Druid" : attack=Math.floor(level/3); skills1="Starts with +1 Knowledge, +2 Survival."; skills2="+1 Knowledge or Surival at 4/8/12."; break;
case "Enchanter" : attack=Math.floor(level/3); skills1="Starts with +1 Communication, +2 Subterfuge."; skills2="+1 Communication or Subterfuge at 4/8/12."; break;
}
setAttrs({ATK : attack, DAM : damage, numATK : numAttacks, classStart: skills1, classProg : skills2});
});
});
//calc fields on melee weapons
on("sheet:opened remove:repeating_meleeweapon change:repeating_meleeweapon:meleeEquip change:repeating_meleeweapon:meleeWeaponsize change:repeating_meleeweapon:meleeMagic change:dexPenalty change:dexBonus change:strCurrent change:ATK change:DAM change:Class", function() {
getAttrs(["repeating_meleeweapon_meleeWeaponsize","repeating_meleeweapon_meleeMagic","strCurrent","strBonus","dexBonus","ATK","DAM","Class"], function(v) {
var Dam = "d6";
var DamBonus = parseInt(0);
var STRBonus = parseInt(v.strBonus)||0;
var DEXBonus = parseInt(v.dexBonus)||0;
var magicBonus= parseInt(v.repeating_meleeweapon_meleeMagic)||0;
var Attack = parseInt(v.ATK)||0;
var Damage = parseInt(v.DAM)||0;
//var calcHitbonus = Attack + DEXBonus + magicBonus;
if (v.repeating_meleeweapon_meleeWeaponsize == "light-rogue") {calcHitbonus = Attack + DEXBonus + magicBonus;}
else {calcHitbonus = Attack + STRBonus + magicBonus;}
if (v.repeating_meleeweapon_meleeWeaponsize == "heavy-2hand") {DamBonus = STRBonus;}
else {DamBonus = Math.floor(STRBonus/2);}
if (v.repeating_meleeweapon_meleeWeaponsize == "heavy") {Dam = "d8";}
else {Dam = "d6";}
setAttrs({ repeating_meleeweapon_meleeDam : Dam,
repeating_meleeweapon_meleeToHit : calcHitbonus,
repeating_meleeweapon_meleeDamBonus : Damage + DamBonus + magicBonus
});
});
});
//calc fields on ranged weapons
on("sheet:opened remove:repeating_rangedweapon change:repeating_rangedweapon:rangedequip change:repeating_rangedweapon:rangedWeaponsize change:repeating_rangedweapon:rangedDistance change:dexBonus change:repeating_rangedweapon:rangedWeaponType change:repeating_rangedweapon:rangedMagic change:strCurrent change:ATK change:DAM change:Class", function() {
getAttrs(["repeating_rangedweapon_rangedWeaponsize","repeating_rangedweapon_rangedWeaponType","repeating_rangedweapon_rangedDistance","strCurrent","repeating_rangedweapon_rangedMagic","strBonus","dexBonus","ATK","DAM","Class"], function(v) {
var Dam = "d6";
var DamBonus = parseInt(0);
var maxrange = parseInt(3);
var DEXBonus = parseInt(v.dexBonus)||0;
var magicBonus= parseInt(v.repeating_rangedweapon_rangedMagic)||0;
var range= parseInt(v.repeating_rangedweapon_rangedDistance)||0;
var Attack = parseInt(v.ATK)||0;
var Damage = parseInt(v.DAM)||0;
if (v.repeating_rangedweapon_rangedWeaponType == "missile") {maxrange=5*range;}
else {maxrange=3*range;}
if (v.repeating_rangedweapon_rangedWeaponsize == "heavy") {Dam = "d8";}
else {Dam = "d6";}
var calcHitbonus = Attack + DEXBonus + magicBonus;
var calcDambonus = Damage + DamBonus + magicBonus;
setAttrs({ repeating_rangedweapon_rangedDam : Dam,
repeating_rangedweapon_rangedMax : maxrange,
repeating_rangedweapon_rangedToHit : calcHitbonus,
repeating_rangedweapon_rangedDamBonus : calcDambonus
});
});
});
/* ---- BEGIN: TheAaronSheet.js ---- */
// Github: https://github.com/shdwjk/TheAaronSheet/blob/master/TheAaronSheet.js
// By: The Aaron, Arcane Scriptomancer
// Contact: https://app.roll20.net/users/104025/the-aaron
// Minified with http://jscompress.com/
var TAS=TAS||function(){"use strict";var a="0.2.4",b=1457098091,c={debug:{key:"debug",title:"DEBUG",color:{bgLabel:"#7732A2",label:"#F2EF40",bgText:"#FFFEB7",text:"#7732A2"}},error:{key:"error",title:"Error",color:{bgLabel:"#C11713",label:"white",bgText:"#C11713",text:"white"}},warn:{key:"warn",title:"Warning",color:{bgLabel:"#F29140",label:"white",bgText:"#FFD8B7",text:"black"}},info:{key:"info",title:"Info",color:{bgLabel:"#413FA9",label:"white",bgText:"#B3B2EB",text:"black"}},notice:{key:"notice",title:"Notice",color:{bgLabel:"#33C133",label:"white",bgText:"#ADF1AD",text:"black"}},log:{key:"log",title:"Log",color:{bgLabel:"#f2f240",label:"black",bgText:"#ffff90",text:"black"}},callstack:{key:"TAS",title:"function",color:{bgLabel:"#413FA9",label:"white",bgText:"#B3B2EB",text:"black"}},callstack_async:{key:"TAS",title:"ASYNC CALL",color:{bgLabel:"#413FA9",label:"white",bgText:"#413FA9",text:"white"}},TAS:{key:"TAS",title:"TAS",color:{bgLabel:"grey",label:"black;background:linear-gradient(#304352,#d7d2cc,#d7d2cc,#d7d2cc,#304352)",bgText:"grey",text:"black;background:linear-gradient(#304352,#d7d2cc,#d7d2cc,#d7d2cc,#304352)"}}},d={debugMode:!1,logging:{log:!0,notice:!0,info:!0,warn:!0,error:!0,debug:!1}},e=[],f={},g=function(a){switch(typeof a){case"string":return"string";case"boolean":return"boolean";case"number":return _.isNaN(a)?"NaN":a.toString().match(/\./)?"decimal":"integer";case"function":return"function: "+(a.name?a.name+"()":"(anonymous)");case"object":return _.isArray(a)?"array":_.isArguments(a)?"arguments":_.isNull(a)?"null":"object";default:return typeof a}},h=function(a,b,c){_.each(c,function(c){var d=g(c);switch(d){case"string":a(c);break;case"undefined":case"null":case"NaN":a("["+d+"]");break;case"number":case"not a number":case"integer":case"decimal":case"boolean":a("["+d+"]: "+c);break;default:a("["+d+"]:========================================="),b(c),a("=========================================================")}})},i=function(a){var b,c=a.key,e=a.title||"TAS",f=a.color&&a.color.bgLabel||"blue",g=a.color&&a.color.label||"white",i=a.color&&a.color.bgText||"blue",j=a.color&&a.color.text||"white";return b=function(a){console.log("%c "+e+": %c "+a+" ","background-color: "+f+";color: "+g+"; font-weight:bold;","background-color: "+i+";color: "+j+";")},function(){("TAS"===c||d.logging[c])&&h(b,function(a){console.log(a)},_.toArray(arguments))}},j=i(c.debug),k=i(c.error),l=i(c.warn),m=i(c.info),n=i(c.notice),o=i(c.log),p=i(c.TAS),q=i(c.callstack),r=i(c.callstack_async),s=function(a,b){var c=_.findIndex(e,function(c){return _.difference(c.stack,a).length===_.difference(a,c.stack).length&&0===_.difference(c.stack,a).length&&c.label===b});return-1===c&&(c=e.length,e.push({stack:a,label:b})),c},t=function(a){var b=_.defaults(a,d);b.logging=_.defaults(a&&a.logging||{},d.logging),d=b},u=function(){d.logging.debug=!0,d.debugMode=!0},v=function(){var a=new Error("dummy"),b=_.map(_.rest(a.stack.replace(/^[^\(]+?[\n$]/gm,"").replace(/^\s+at\s+/gm,"").replace(/^Object.<anonymous>\s*\(/gm,"{anonymous}()@").split("\n")),function(a){return a.replace(/\s+.*$/,"")});return b},w=function(a){var b,c;_.find(a,function(a){return(b=a.match(/TAS_CALLSTACK_(\d+)/))?(c=e[b[1]],r("===================="+(c.label?"> "+c.label+" <":"")+"===================="),w(c.stack),!0):(q(a),!1)})},x=function(){var a;d.debugMode&&(a=v(),a.shift(),p("==============================> CALLSTACK <=============================="),w(a),p("========================================================================="))},y=function(a,b,c){var e;return"function"==typeof a&&(c=b,b=a,a=void 0),d.debugMode?(e=v(),e.shift(),function(a,b,c,d){var e=s(c,d);return new Function("cb","ctx","TASlog","return function TAS_CALLSTACK_"+e+"(){TASlog('Entering: '+(cb.name||'(anonymous function)'));cb.apply(ctx||{},arguments);TASlog('Exiting: '+(cb.name||'(anonymous function)'));};")(a,b,p)}(b,c,e,a)):function(a,b){return function(){a.apply(b||{},arguments)}}(b,c)},z=function(a,b){f[a]=b},A=function(){setAttrs(f),f={}},B=function(a,b){return _.chain(a).reduce(function(b,c){return"string"==typeof c?b.push(c):(_.isArray(a)||_.isArguments(a))&&(b=B(c,b)),b},_.isArray(b)&&b||[]).uniq().value()},C=function(a,b){Object.defineProperty(a,"id",{value:b,writeable:!1,enumerable:!1})},D=function(a,b,c,d){!function(){var e=_.contains(["S","F","I","D"],b)?"_"+b:b,f=d||b,g=c;_.each(["S","I","F"],function(b){_.has(a,b)||Object.defineProperty(a,b,{value:{},enumerable:!1,readonly:!0})}),_.has(a,"D")||Object.defineProperty(a,"D",{value:_.reduce(_.range(10),function(a,b){return Object.defineProperty(a,b,{value:{},enumerable:!0,readonly:!0}),a},{}),enumerable:!1,readonly:!0}),Object.defineProperty(a,e,{enumerable:!0,set:function(a){a!==g&&(g=a,z(f,a))},get:function(){return g}}),Object.defineProperty(a.S,e,{enumerable:!0,set:function(a){var b=a.toString();b!==g&&(g=b,z(f,b))},get:function(){return g.toString()}}),Object.defineProperty(a.I,e,{enumerable:!0,set:function(a){var b=parseInt(a,10)||0;b!==g&&(g=b,z(f,b))},get:function(){return parseInt(g,10)||0}}),Object.defineProperty(a.F,e,{enumerable:!0,set:function(a){var b=parseFloat(a)||0;b!==g&&(g=b,z(f,b))},get:function(){return parseFloat(g)||0}}),_.each(_.range(10),function(b){Object.defineProperty(a.D[b],e,{enumerable:!0,set:function(a){var c=(parseFloat(a)||0).toFixed(b);c!==g&&(g=c,z(f,c))},get:function(){return(parseFloat(g)||0).toFixed(b)}})})}()},E=function(a){return function(a){var b=a,c=[],d=[],e=[],f=[],g=function(){return c=B(arguments,c),this},h=function(){return d=B(arguments,d),this},i=function(b,c,d,f){return e.push({type:"reduce",func:b&&_.isFunction(b)&&b||_.noop,memo:_.isUndefined(c)&&0||c,final:d&&_.isFunction(d)&&d||_.noop,context:f||{}}),this},j=function(b,c,d){return e.push({type:"map",func:b&&_.isFunction(b)&&b||_.noop,final:c&&_.isFunction(c)&&c||_.noop,context:d||{}}),this},k=function(b,c,d){return e.push({type:"each",func:b&&_.isFunction(b)&&b||_.noop,final:c&&_.isFunction(c)&&c||_.noop,context:d||{}}),this},l=function(b,c){return e.push({type:"tap",final:b&&_.isFunction(b)&&b||_.noop,context:c||{}}),this},m=function(b,c){return f.push({callback:b&&_.isFunction(b)&&b||_.noop,context:c||{}}),this},n=function(g,h){var i={},j={},k=[],l=[];m(g,h),getSectionIDs("repeating_"+b,function(a){k=a,l=_.reduce(k,function(a,c){return a.concat(_.map(d,function(a){return"repeating_"+b+"_"+c+"_"+a}))},[]),getAttrs(_.uniq(c.concat(l)),function(a){_.each(c,function(b){a.hasOwnProperty(b)&&D(j,b,a[b])}),i=_.reduce(k,function(c,e){var f={};return C(f,e),_.each(d,function(c){var d="repeating_"+b+"_"+e+"_"+c;D(f,c,a[d],d)}),c[e]=f,c},{}),_.each(e,function(a){var b;switch(a.type){case"tap":_.bind(a.final,a.context,i,j)();break;case"each":_.each(i,function(b){_.bind(a.func,a.context,b,j,b.id,i)()}),_.bind(a.final,a.context,i,j)();break;case"map":b=_.map(i,function(b){return _.bind(a.func,a.context,b,j,b.id,i)()}),_.bind(a.final,a.context,b,i,j)();break;case"reduce":b=a.memo,_.each(i,function(c){b=_.bind(a.func,a.context,b,c,j,c.id,i)()}),_.bind(a.final,a.context,b,i,j)()}}),A(),_.each(f,function(a){_.bind(a.callback,a.context)()})})})};return{attrs:g,attr:g,column:h,columns:h,field:h,fields:h,reduce:i,inject:i,foldl:i,map:j,collect:j,each:k,forEach:k,tap:l,do:l,after:m,last:m,done:m,execute:n,go:n,run:n}}(a)},F=function(a,b,c){E(a).attr(c).field(b).reduce(function(a,c){return a+c.F[b]},0,function(a,b,d){d.S[c]=a}).execute()};return console.log("%c•.¸¸.•*´¨`*•.¸¸.•*´¨`*•.¸ The Aaron Sheet v"+a+" ¸.•*´¨`*•.¸¸.•*´¨`*•.¸¸.•","background: linear-gradient(to right,green,white,white,green); color:black;text-shadow: 0 0 8px white;"),console.log("%c•.¸¸.•*´¨`*•.¸¸.•*´¨`*•.¸ Last update: "+new Date(1e3*b)+" ¸.•*´¨`*•.¸¸.•*´¨`*•.¸¸.•","background: linear-gradient(to right,green,white,white,green); color:black;text-shadow: 0 0 8px white;"),{repeatingSimpleSum:F,repeating:E,config:t,callback:y,callstack:x,debugMode:u,_fn:y,debug:j,error:k,warn:l,info:m,notice:n,log:o}}();
/* ---- END: TheAaronSheet.js ---- */
on("sheet:opened remove:repeating_armor change:repeating_armor:armorType change:repeating_armor:armoractive change:dexPenaltyText change:dexBonus change:raceACbonus", function() {
getAttrs(["repeating_armor_armorType"], function(v) {
var acBase = parseInt(0);
var dpen = parseInt(0);
var speed = parseInt(0);
switch (v.repeating_armor_armorType) {
case "padded" : acBase=1; speed=0; dpen=0; break;
case "leather" : acBase=2; speed=0; dpen=0; break;
case "st_leather" : acBase=3; speed=0; dpen=0; break;
case "scale" : acBase=4; speed=-5; dpen=1; break;
case "splint" : acBase=5; speed=-5; dpen=1; break;
case "chain" : acBase=5; speed=-5; dpen=1; break;
case "banded" : acBase=6; speed=-10; dpen=2; break;
case "halfplate" : acBase=7; speed=-10; dpen=2; break;
case "fullplate" : acBase=8; speed=-15; dpen=2; break;
case "s_buckler" : acBase=0; speed=0; dpen=0; break;
case "s_small" : acBase=1; speed=0; dpen=1; break;
case "s_woodsmall" : acBase=1; speed=0; dpen=1; break;
case "s_large" : acBase=2; speed=0; dpen=1; break;
case "s_tower" : acBase=2; speed=-5; dpen=2; break;
}
setAttrs({ repeating_armor_armorAcBase : acBase,
repeating_armor_armorSpeed : speed,
repeating_armor_armorDexPen : dpen
});
});
getAttrs(["acCalc","armorCheck","armorSpeedTotal","dexPenalty","dexBonus","raceACbonus","Class"], function(values) {
var baseAc = parseInt(10);
var raceBonus = parseInt(values.raceACbonus)||0;
var agiAc = parseInt(values.dexBonus)||0;
var dexpen = parseInt(values.dexPenalty)||0;
if ((dexpen) > 1) {startAc = baseAc + raceBonus;}
else {startAc = baseAc + agiAc + raceBonus;}
setAttrs({
acCalc: startAc,
armorCheck: parseInt(0),
dexPenalty: parseInt(0),
armorSpeedTotal: parseInt(0)
});
});
TAS.repeating("armor")
.attrs("acCalc", "armorCheck", "armorSpeedTotal","dexPenalty")
.fields("armorAcBase","armorMagicBonus","armorCheck","armorSpeed","armorActive","armorDexPen")
.map(function(row, attrSet, id, rowSet) {
var speed = parseInt(row.armorSpeed)||0;
var checkArmor = (row.armorActive == 'on') ? true : false;
var acBase = parseInt(row.armorAcBase)||0;
var acBonus = parseInt(row.armorMagicBonus)||0;
var dexPenalty = parseInt(row.armorDexPen)||0;
if ((checkArmor) == true) {
console.log("1");
attrSet.acCalc += acBase + acBonus;
attrSet.armorCheck += acBase;
attrSet.armorSpeedTotal += speed;
attrSet.dexPenalty += dexPenalty;
console.log("Current Worn AC="+ attrSet.acCalc);
}
})
.execute();
});
</script>