mirror of
https://github.com/Nighthawk42/roll20-character-sheets.git
synced 2026-08-30 19:52:29 +00:00
4064 lines
207 KiB
HTML
4064 lines
207 KiB
HTML
<input type='hidden' class='sheet-tabstoggle' name='attr_sheetTab' value='main' />
|
|
<div>
|
|
<button class="sheet-tabbutton-main" type="action" name="act_main">Main</button>
|
|
<button class="sheet-tabbutton-stats" type="action" name="act_stats">Stats</button>
|
|
<button class="sheet-tabbutton-combat" type="action" name="act_combat">Combat</button>
|
|
<button class="sheet-tabbutton-abilities" type="action" name="act_abilities">Abilities</button>
|
|
<button class="sheet-tabbutton-equipment" type="action" name="act_equipment">Equipment</button>
|
|
<button class="sheet-tabbutton-mu" type="action" name="act_mu">MU</button>
|
|
<button class="sheet-tabbutton-cleric" type="action" name="act_cleric">Cleric</button>
|
|
<button class="sheet-tabbutton-thief" type="action" name="act_thief">Thief</button>
|
|
<button class="sheet-tabbutton-ep" type="action" name="act_ep">Eps</button>
|
|
<button class="sheet-tabbutton-death" type="action" name="act_death">Death</button>
|
|
</div>
|
|
|
|
<div class='sheet-main background'>
|
|
<div class="background-hf"></div>
|
|
<div class="background-left">
|
|
|
|
<div class="basic">
|
|
<div class="three-column">
|
|
<div class="tcleft row1"><input type="text" name="attr_player_name" />
|
|
</div>
|
|
<div class="tcleft row2 minor-label">Player Name</div>
|
|
<div class="tcleft row3"><input type="text" name="attr_character_date" />
|
|
</div>
|
|
<div class="tcleft row4 minor-label">Date Character Began</div>
|
|
|
|
<div class="tccenter titlesection">
|
|
<div class="titles">HackMaster 4e</div>
|
|
<div class="subtitles">Player Character Record</div>
|
|
</div>
|
|
|
|
<div class="tcright row1"><input type="text" name="attr_player_campaign" />
|
|
</div>
|
|
<div class="tcright row2 minor-label">Campaign</div>
|
|
<div class="tcright row3">#<input type="text" name="attr_player_number" /></div>
|
|
|
|
<div class="tcleft row5 inputsize"><img src="https://ARGHive.net/wp-content/uploads/2020/05/HM4E_BCharacterName.png" /></div>
|
|
<div class="tcleft row5 indented"><input type="text" name="attr_character_name" />
|
|
</div>
|
|
<div class="tcleft row6 minor-label">Character Name</div>
|
|
|
|
</div>
|
|
|
|
<div class="two-column">
|
|
<div class="tcleft row1"><span class="fixedwidthlabel">Class(es): </span><input type="text" name="attr_character_class" /></div>
|
|
<div class="tcleft row2"><span class="fixedwidthlabel">Class Level(s): </span><input type="text" name="attr_character_level" /></div>
|
|
<div class="tcleft row3"><span class="fixedwidthlabel">Patron Gawd: </span><input type="text" name="attr_patron_diety" /></div>
|
|
<div class="tcleft row4"><span class="fixedwidthlabel">Religion: </span><input type="text" name="attr_religion" /></div>
|
|
<div class="tcright row1"><span class="fixedwidthlabel">Total Level: </span><input type="number" min="0" max="20" name="attr_total_level" /></div>
|
|
<div class="tcright row2"><span class="fixedwidthlabel">Race: </span>
|
|
<select class="select-standard" name="attr_character_race">
|
|
<option value=""></option>
|
|
<option value="Aardvarkian">Aardvarkian</option>
|
|
<option value="Darkman">Darkman</option>
|
|
<option value="Dwarf">Dwarf</option>
|
|
<option value="High Elf">High Elf</option>
|
|
<option value="Sylvan Elf">Sylvan Elf</option>
|
|
<option value="Grey Elf">Grey Elf</option>
|
|
<option value="Grunge Elf">Grunge Elf</option>
|
|
<option value="Dark Elf">Dark Elf</option>
|
|
<option value="Gnome">Gnome</option>
|
|
<option value="Gnome Titan">Gnome Titan</option>
|
|
<option value="Gnomeling">Gnomeling</option>
|
|
<option value="Half-elf">Half-elf</option>
|
|
<option value="Halfling">Halfling</option>
|
|
<option value="Thug Halfling">Thug Halfling</option>
|
|
<option value="Half-Orc">Half-Orc</option>
|
|
<option value="Half-Ogre">Half-Ogre</option>
|
|
<option value="Human">Human</option>
|
|
<option value="Pixie Fairy">Pixie Fairy</option>
|
|
<option value="Elvariel">Elvariel</option>
|
|
<option value="Fae-born">Fae-born</option>
|
|
<option value="Grixie">Grixie</option>
|
|
<option value="Pixie Brownie">Pixie Brownie</option>
|
|
<option value="Pixie Leprechaun">Pixie Leprechaun</option>
|
|
<option value="Pixie Nixie">Pixie Nixie</option>
|
|
<option value="Pixie Sprite">Pixie Sprite</option>
|
|
<option value="Orutan">Orutan</option>
|
|
<option value="Pantrog">Pantrog</option>
|
|
<option value="Pithengi">Pithengi</option>
|
|
<option value="Rillan">Rillan</option>
|
|
<option value="Dracon">Dracon</option>
|
|
<option value="Giff">Giff</option>
|
|
<option value="Lizard Man">Lizard Man</option>
|
|
<option value="Orc">Orc</option>
|
|
</select>
|
|
</div>
|
|
<div class="tcright row3"><span class="fixedwidthlabel">Alignment: </span><input type="text" name="attr_character_alignment" /></div>
|
|
<div class="tcright row4"><span class="fixedwidthlabel">Handedness: </span>
|
|
<select class="select-standard" name="attr_handedness">
|
|
<option value=""></option>
|
|
<option value="Left">Left</option>
|
|
<option value="Right">Right</option>
|
|
<option value="Ambi">Ambidextrous</option>
|
|
</select>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="sub-section">
|
|
<div class="subtitles">Background</div>
|
|
<div class="four-column">
|
|
<div class="tcleft row1"><span class="fixedwidthlabel">Place of Origin: </span><input type="text" name="attr_place_of_origin" class="mediumPlusInput" /></div>
|
|
<div class="tcleft row2"><span class="fixedwidthlabel">Social Class: </span><input type="text" name="attr_socialclass" class="mediumPlusInput" /></div>
|
|
<div class="tcleft row3"><span class="fixedwidthlabel">Looks: </span><input type="text" name="attr_looks" class="mediumPlusInput" /></div>
|
|
|
|
<div class="tccleft row1"><span class="backgroundlabel">Birth Date: </span><input type="text" name="attr_birthdate" class="backgroundinput" /></div>
|
|
<div class="tccleft row2"><span class="backgroundlabel">Birth Rank: </span><input type="text" name="attr_birthrank" class="backgroundinput" /></div>
|
|
<div class="tccleft row3"><span class="backgroundlabel">#Siblings: </span><input type="text" name="attr_siblings" class="backgroundinput" /></div>
|
|
|
|
<div class="tccleft row4"><span class="backgroundlabel">Gender: </span><input type="text" name="attr_gender" class="backgroundinput" /></div>
|
|
|
|
<div class="tccleft row5"><span class="backgroundlabel">Age: </span><input type="text" name="attr_age" class="backgroundinput" /></div>
|
|
|
|
<div class="tcright row1"><span class="backgroundlabel">Height: </span><input type="text" name="attr_height" class="backgroundinput" /></div>
|
|
<div class="tcright row2"><span class="backgroundlabel">Weight: </span><input type="text" name="attr_weight" class="backgroundinput" /></div>
|
|
<div class="tcright row3"><span class="backgroundlabel">Hair: </span><input type="text" name="attr_hair" class="backgroundinput" /></div>
|
|
<div class="tcright row4"><span class="backgroundlabel">Facial Hair: </span><input type="text" name="attr_facialhair" class="backgroundinput" /></div>
|
|
<div class="tcright row5"><span class="backgroundlabel">Eyes: </span><input type="text" name="attr_eyes" class="backgroundinput" /></div>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
<div class="sub-section">
|
|
<div class="subtitles">Movement</div>
|
|
<div class="two-column13">
|
|
<div class="tcleft row1"><span class="fixedwidthlabel">Armor Bulk: </span><input class="smallInput readonly" readonly type="text" name="attr_armor_bulk" /></div>
|
|
<div class="tcleft row2"><span class="fixedwidthlabel">Clever Packer: </span>
|
|
<input type="checkbox" class="checkbox-standard" name="attr_clever_packer" value="X" />
|
|
</div>
|
|
<div class="tcleft row3"><span class="fixedwidthlabel">Wgt Allowance: </span><input class="smallInput readonly" readonly type="text" name="attr_str_wgt_allow" /></div>
|
|
<div class="tcleft row4"><span class="fixedwidthlabel">Encumberance: </span><input class="smallInput" type="text" readonly name="attr_character_encumberance" /></div>
|
|
<div class="tcleft row5"><span class="fixedwidthlabel">Base Move: </span><input class="smallInput" type="text" readonly name="attr_base_move" /></div>
|
|
<div class="tcleft row6"><span class="fixedwidthlabel">Armor Move Adj: </span><input class="smallInput readonly" readonly type="text" name="attr_armor_adjustment" /></div>
|
|
<div class="tcleft row7"><span class="fixedwidthlabel">Enc. Move Adj: </span><input class="smallInput readonly" readonly type="text" name="attr_encumberance_adjustment" />
|
|
</div>
|
|
<div class="tcright row1 biggroup">
|
|
<div>
|
|
<div class="moveicon"><img src="https://ARGHive.net/wp-content/uploads/2020/05/Icon_Walk.png" /></div>
|
|
<span class="fixedwidthlabelnarrow">Walk: </span><input class="reallySmallInput" type="text" name="attr_move_walk" />
|
|
</div>
|
|
<div>
|
|
<div class="moveicon"><img src="https://ARGHive.net/wp-content/uploads/2020/05/Icon_Running.png" /></div>
|
|
<span class="fixedwidthlabelnarrow">Run: </span><input class="reallySmallInput" type="text" name="attr_move_run" />
|
|
</div>
|
|
<div>
|
|
<div class="moveicon"><img src="https://ARGHive.net/wp-content/uploads/2020/12/icon_Charge2.png" />
|
|
</div>
|
|
<span class="fixedwidthlabelnarrow">Charge: </span><input class="reallySmallInput" type="text" name="attr_move_charge" />
|
|
</div>
|
|
<div>
|
|
<div class="moveicon"><img src="https://arghive.net/wp-content/uploads/2020/05/Icon_Climb.png" /></div>
|
|
<span class="fixedwidthlabelnarrow">Climb: </span><input class="reallySmallInput" type="text" name="attr_move_climb" />
|
|
</div>
|
|
<div>
|
|
<div class="moveicon"><img src="https://arghive.net/wp-content/uploads/2020/05/Icon_Swimming.png" />
|
|
</div>
|
|
<span class="fixedwidthlabelnarrow">Swim: </span><input class="reallySmallInput" type="text" name="attr_move_swim" />
|
|
</div>
|
|
<div>
|
|
<div class="moveicon"><img src="https://arghive.net/wp-content/uploads/2020/05/Icon_Crawl.png" /></div>
|
|
<span class="fixedwidthlabelnarrow">Crawl: </span><input class="reallySmallInput" type="text" name="attr_move_crawl" />
|
|
</div>
|
|
<div>
|
|
<div class="moveicon"><img src="https://arghive.net/wp-content/uploads/2020/05/Icon_Brachiate.png" /></div>
|
|
<span class="fixedwidthlabelnarrow">Brachiate: </span><input class="reallySmallInput" type="text" name="attr_move_brachiate" />
|
|
</div>
|
|
<div>
|
|
<div class="moveicon"><img src="https://arghive.net/wp-content/uploads/2020/05/Icon_Fly.png" /></div>
|
|
<span class="fixedwidthlabelnarrow">Fly: </span><input class="reallySmallInput" type="text" name="attr_move_fly" />
|
|
</div>
|
|
<div>
|
|
<div class="moveicon"><img src="https://ARGHive.net/wp-content/uploads/2020/05/Icon_Falling-1.png" />
|
|
</div>
|
|
<span class="fixedwidthlabelnarrow">Fall: </span><input class="reallySmallInput" type="text" name="attr_move_fall" />
|
|
</div>
|
|
</div>
|
|
<div class="tcright row10">
|
|
<div class="subtitles">Encumberance Levels</div>
|
|
</div>
|
|
<div class="tcright encumberancelevels">
|
|
<div>
|
|
<span class="">Non: </span><input class="reallySmallInput readonly" readonly type="text" name="attr_enc_non" />
|
|
</div>
|
|
<div>
|
|
<span class="">Light: </span><input class="reallySmallInput readonly" readonly type="text" name="attr_enc_light" />
|
|
</div>
|
|
<div>
|
|
<span class="">Moderate: </span><input class="reallySmallInput readonly" readonly type="text" name="attr_enc_moderate" />
|
|
</div>
|
|
<div>
|
|
<span class="">Heavy: </span><input class="reallySmallInput readonly" readonly type="text" name="attr_enc_heavy" />
|
|
</div>
|
|
<div>
|
|
<span class="">Severe: </span><input class="reallySmallInput readonly" readonly type="text" name="attr_enc_severe" />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="minor-label center">Visit https://arghive.net/image-sources to see image credits</div>
|
|
<div class="background-hf"></div>
|
|
</div>
|
|
<div class='sheet-stats background'>
|
|
<div class="background-hf"></div>
|
|
<div class="background-left">
|
|
<div class="basic">
|
|
<div class="one-column">
|
|
<div class="tcleft">
|
|
<div><span class="fixedwidthlabelverynarrow">STR</span><input class="tinyInput" type="text" name="attr_strength" />/<input class="tinyInput" type="text" name="attr_strength_pct" />
|
|
<span class="attributebox boxed">
|
|
<p>Hit<br />Prob</p><input class="tinyInput boxed" type="text" readonly
|
|
name="attr_str_hit_prob" />
|
|
</span>
|
|
<span class="attributebox boxed">
|
|
<p>Dam<br />Adj</p><input class="tinyInput boxed" type="text" readonly
|
|
name="attr_str_dam_adj" />
|
|
</span>
|
|
<span class="attributebox boxed">
|
|
<p>Open<br />Doors</p><input class="reallySmallInput boxed" type="text" readonly
|
|
name="attr_str_open_door" />
|
|
</span>
|
|
<span class="attributebox boxed">
|
|
<p>Bend<br />Bars</p><input class="tinyInput boxed" type="text" readonly
|
|
name="attr_str_bend_bars" />
|
|
</span>
|
|
<span class="attributebox boxed">
|
|
<p>Wgt<br />Allow</p><input class="reallySmallInput boxed" type="text" readonly
|
|
name="attr_str_wgt_allow" />
|
|
</span>
|
|
<span class="attributebox boxed">
|
|
<p>Max<br />Press</p><input class="reallySmallInput boxed" type="text" readonly
|
|
name="attr_str_max_press" />
|
|
</span>
|
|
</div>
|
|
<div><span class="fixedwidthlabelverynarrow">INT</span><input class="tinyInput" type="text" name="attr_intelligence" />/<input class="tinyInput" type="text" name="attr_intelligence_pct" />
|
|
<span class="attributebox boxed">
|
|
<p># of<br />Lang</p><input class="tinyInput boxed" type="text" readonly
|
|
name="attr_int_no_lang" />
|
|
</span>
|
|
<span class="attributebox boxed">
|
|
<p>Spell<br />Level</p><input class="tinyInput boxed" type="text" readonly
|
|
name="attr_int_spell_lvl" />
|
|
</span>
|
|
<span class="attributebox boxed">
|
|
<p>Learn<br />Ability</p><input class="tinyInput boxed" type="text" readonly
|
|
name="attr_int_learn_ability" />
|
|
</span>
|
|
<span class="attributebox boxed">
|
|
<p>Max<br />Spells</p><input class="tinyInput boxed" type="text" readonly
|
|
name="attr_int_max_spells" />
|
|
</span>
|
|
<span class="attributebox boxed">
|
|
<p>Illusion<br />Immune</p><input class="tinyInput boxed" type="text" readonly
|
|
name="attr_int_illusion_immunity" />
|
|
</span>
|
|
<span class="attributebox boxed">
|
|
<p>% Spell<br />Mishap</p><input class="tinyInput boxed" type="text" readonly
|
|
name="attr_int_spell_mishap" />
|
|
</span>
|
|
</div>
|
|
<div><span class="fixedwidthlabelverynarrow">WIS</span><input class="tinyInput" type="text" name="attr_wisdom" />/<input class="tinyInput" type="text" name="attr_wisdom_pct" />
|
|
<span class="attributebox boxed">
|
|
<p>Mag Def<br />Adjust</p><input class="tinyInput boxed" type="text" readonly
|
|
name="attr_wis_magdef_adjust" />
|
|
</span>
|
|
<span class="attributebox boxed">
|
|
<p>Bonus<br />Spells</p><input class="reallySmallInput boxed" type="text" readonly
|
|
name="attr_wis_bonus_spells" />
|
|
</span>
|
|
<span class="attributebox boxed">
|
|
<p>% Spell<br />Failure</p><input class="tinyInput boxed" type="text" readonly
|
|
name="attr_wis_chance_spellfail" />
|
|
</span>
|
|
<span class="attributebox boxed">
|
|
<p>Improve<br />Skill %</p><input class="tinyInput boxed" type="text" readonly
|
|
name="attr_wis_improve_skill" />
|
|
</span>
|
|
<span class="attributebox boxed">
|
|
<p>Spell<br />Immunity</p><input class="smallInput boxed tinyText select-standard"
|
|
type="text" readonly name="attr_wis_spell_immunity" />
|
|
</span>
|
|
</div>
|
|
<div><span class="fixedwidthlabelverynarrow">DEX</span><input class="tinyInput" type="text" name="attr_dexterity" />/<input class="tinyInput" type="text" name="attr_dexterity_pct" />
|
|
<span class="attributebox boxed">
|
|
<p>Defense<br />Adjust</p><input class="tinyInput boxed" type="text" readonly
|
|
name="attr_dex_defense_adjust" />
|
|
</span>
|
|
<span class="attributebox boxed">
|
|
<p>Reaction<br />Adjust</p><input class="tinyInput boxed" type="text" readonly
|
|
name="attr_dex_reaction_adjust" />
|
|
</span>
|
|
<span class="attributebox boxed">
|
|
<p>Missile<br />Adjust</p><input class="tinyInput boxed" type="text" readonly
|
|
name="attr_dex_missile_adjust" />
|
|
</span>
|
|
</div>
|
|
<div><span class="fixedwidthlabelverynarrow">CON</span><input class="tinyInput" type="text" name="attr_constitution" />/<input class="tinyInput" type="text" name="attr_constitution_pct" />
|
|
<span class="attributebox boxed">
|
|
<p>Hit Pt<br />Adjust</p><input class="tinyInput boxed" type="text" readonly
|
|
name="attr_con_hitpoint_adjust" />
|
|
</span>
|
|
<span class="attributebox boxed">
|
|
<p>System<br />Shock</p><input class="tinyInput boxed" type="text" readonly
|
|
name="attr_con_system_shock" />
|
|
</span>
|
|
<span class="attributebox boxed">
|
|
<p>Resurrect<br />Survival</p><input class="tinyInput boxed" type="text" readonly
|
|
name="attr_con_resurrect_survival" />
|
|
</span>
|
|
<span class="attributebox boxed">
|
|
<p>Poison<br />Save</p><input class="tinyInput boxed" type="text" readonly
|
|
name="attr_con_poison_save" />
|
|
</span>
|
|
<span class="attributebox boxed">
|
|
<p>Immunity<br />Disease/Alcohol</p><input class="tinyInput boxed" type="text" readonly
|
|
name="attr_con_immunity_disease" />
|
|
</span>
|
|
<span class="attributebox boxed">
|
|
<p>Healing<br />Regen</p><input class="smallInput boxed" type="text" readonly
|
|
name="attr_con_regen_healing" />
|
|
</span>
|
|
</div>
|
|
<div><span class="fixedwidthlabelverynarrow">CHR</span><input class="tinyInput" type="text" name="attr_charisma" />/<input class="tinyInput" type="text" name="attr_charisma_pct" />
|
|
<span class="attributebox boxed">
|
|
<p>Max #<br />Henchmen</p><input class="tinyInput boxed" type="text" readonly
|
|
name="attr_chr_max_henchmen" />
|
|
</span>
|
|
<span class="attributebox boxed">
|
|
<p>Loyalty<br />Base</p><input class="tinyInput boxed" type="text" readonly
|
|
name="attr_chr_loyalty_base" />
|
|
</span>
|
|
<span class="attributebox boxed">
|
|
<p>Reaction<br />Adjust</p><input class="tinyInput boxed" type="text" readonly
|
|
name="attr_chr_reaction_adjust" />
|
|
</span>
|
|
<span class="attributebox boxed">
|
|
<p>Comeliness<br />Mod</p><input class="tinyInput boxed" type="text" readonly
|
|
name="attr_chr_comeliness_mod" />
|
|
</span>
|
|
<span class="attributebox boxed">
|
|
<p>Start<br />Honor Mod</p><input class="tinyInput boxed" type="text" readonly
|
|
name="attr_chr_start_honormod" />
|
|
</span>
|
|
</div>
|
|
<div><span class="fixedwidthlabelverynarrow">COM</span><input class="tinyInput" type="text" name="attr_comliness" />/<input class="tinyInput" type="text" name="attr_comliness_pct" />
|
|
<span class="attributebox boxed">
|
|
<p>Effect</p>
|
|
</span><textarea class="textareafix" name="attr_com_effect"></textarea>
|
|
</div>
|
|
<div><span>Honor</span><input class="tinyInput spacer" type="text" name="attr_honor" />
|
|
<button type="roll" name="roll_honor_die" title="honorroll" value="/roll @{honor_die} @{honor_bonus} Honor Roll" style="width: 20px" class="btn ui-draggable"> </button>
|
|
<span class="attributebox boxed">
|
|
<p>Honor<br />Die</p><input class="reallySmallInput boxed" type="text" readonly
|
|
name="attr_honor_die" />
|
|
</span>
|
|
<span class="attributebox boxed">
|
|
<p>Level</p><input class="mediumInput boxed" type="text" readonly
|
|
name="attr_honor_level" />
|
|
</span>
|
|
<span class="attributebox boxed">
|
|
<p>Die<br />Bonus</p><input class="tinyInput boxed" type="text" readonly
|
|
name="attr_honor_bonus" />
|
|
</span>
|
|
<span class="attributebox boxed">
|
|
<p>Check<br />Mod</p><input class="tinyInput boxed" type="text" readonly
|
|
name="attr_honor_checkmod" />
|
|
</span>
|
|
<span class="attributebox boxed">
|
|
<p>Penalty<br /></p><input class="tinyInput boxed" type="text" readonly
|
|
name="attr_honor_penalty" />
|
|
</span>
|
|
<span class="attributebox boxed">
|
|
<p>Honor<br />Window</p><input class="mediumInput boxed" type="text" readonly
|
|
name="attr_honor_honorwindow" />
|
|
</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="sub-section">
|
|
<div class="subtitles">Fame</div>
|
|
<div class="four-column">
|
|
<div class="tcleft row1" style="padding-left: 10px;">Enemy Morale Penalty</div>
|
|
<div class="tcleft row2" style="padding-left: 10px;"><input class="mediumInput boxed" type="text" readonly name="attr_enemy_morale_penalty" /></div>
|
|
|
|
<div class="tccleft row1">Total Fame</div>
|
|
<div class="tccleft row2"><input class="mediumInput boxed" type="text" readonly name="attr_total_fame" /></div>
|
|
|
|
<div class="tccright row1">From Honor</div>
|
|
<div class="tccright row2"><input class="mediumInput boxed" type="text" readonly name="attr_fame_from_honor" /></div>
|
|
|
|
<div class="tcright row1">Additional Fame</div>
|
|
<div class="tcright row2"><input class="mediumInput boxed" type="text" name="attr_additional_fame" /></div>
|
|
</div>
|
|
</div>
|
|
<div class="sub-section">
|
|
<div class="subtitles">Saving Throws</div>
|
|
<div class="three-columnX">
|
|
<div class="tcleft row1"></div>
|
|
<div class="tccenter row1">Save</div>
|
|
<div class="tcright row1">Modifiers</div>
|
|
<div class="tcleft row2">Paralyzation</div>
|
|
<div class="tcleft row3">Poison</div>
|
|
<div class="tcleft row4">Death Magic</div>
|
|
<div class="tcleft row5">Rod, Staff, Wand</div>
|
|
<div class="tcleft row6">Petrification</div>
|
|
<div class="tcleft row7">Hack Lust/Frenzy</div>
|
|
<div class="tcleft row8">Breath Weapon</div>
|
|
<div class="tcleft row9">Apology</div>
|
|
<div class="tcleft row10">Spells</div>
|
|
|
|
<div class="tccenter row2">
|
|
<input class="tinyInput" type="text" name="attr_st_paralyzation" />
|
|
<button type="roll" name="roll_st_paralyzation" title="st_roll_paralyzation" style="width: 20px" class="btn ui-draggable"
|
|
value="&{template:save} {{savevs=Paralyzation}} {{honor=@{honor_bonus}}} {{save=[[[[1d20]]@{honor_bonus}+?{Modifier|0}]]}} {{raw_roll=$[[0]]}} {{mods=?{Modifier|0}}} {{character=@{character_name}}} {{target=[[@{st_paralyzation}]]}}"></button>
|
|
</div>
|
|
<div class="tccenter row3">
|
|
<input class="tinyInput" type="text" name="attr_st_poison" />
|
|
<button type="roll" name="roll_st_poison" title="st_roll_poison" style="width: 20px" class="btn ui-draggable" value="&{template:save} {{savevs=Poison}} {{honor=@{honor_bonus}}} {{save=[[[[1d20]]@{honor_bonus}+?{Modifier|0}]]}} {{raw_roll=$[[0]]}} {{mods=?{Modifier}}} {{character=@{character_name}}} {{target=[[@{st_poison}]]}}"></button>
|
|
</div>
|
|
<div class="tccenter row4">
|
|
<input class="tinyInput" type="text" name="attr_st_death" />
|
|
<button type="roll" name="roll_st_death" title="st_roll_death" style="width: 20px" class="btn ui-draggable" value="&{template:save} {{savevs=Death Magic}} {{honor=@{honor_bonus}}} {{save=[[[[1d20]]@{honor_bonus}+?{Modifier|0}]]}} {{raw_roll=$[[0]]}} {{mods=?{Modifier}}} {{character=@{character_name}}} {{target=[[@{st_death}]]}}"></button>
|
|
</div>
|
|
<div class="tccenter row5">
|
|
<input class="tinyInput" type="text" name="attr_st_rod" />
|
|
<button type="roll" name="roll_st_rod" title="st_roll_rod" style="width: 20px" class="btn ui-draggable" value="&{template:save} {{savevs=Rod/Staff/Wand}} {{honor=@{honor_bonus}}} {{save=[[[[1d20]]@{honor_bonus}+?{Modifier|0}]]}} {{raw_roll=$[[0]]}} {{mods=?{Modifier}}} {{character=@{character_name}}} {{target=[[@{st_rod}]]}}"></button>
|
|
</div>
|
|
<div class="tccenter row6">
|
|
<input class="tinyInput" type="text" name="attr_st_petrify" />
|
|
<button type="roll" name="roll_st_petrify" title="st_roll_petrify" style="width: 20px" class="btn ui-draggable" value="&{template:save} {{savevs=Petrify}} {{honor=@{honor_bonus}}} {{save=[[[[1d20]]@{honor_bonus}+?{Modifier|0}]]}} {{raw_roll=$[[0]]}} {{mods=?{Modifier}}} {{character=@{character_name}}} {{target=[[@{st_petrify}]]}}"></button>
|
|
</div>
|
|
<div class="tccenter row7">
|
|
<input class="tinyInput" type="text" name="attr_st_hack" />
|
|
<button type="roll" name="roll_st_hack" title="st_roll_hack" style="width: 20px" class="btn ui-draggable" value="&{template:save} {{savevs=Hack Lust/Frenzy}} {{honor=@{honor_bonus}}} {{save=[[[[1d20]]@{honor_bonus}+?{Modifier|0}]]}} {{raw_roll=$[[0]]}} {{mods=?{Modifier}}} {{character=@{character_name}}} {{target=[[@{st_hack}]]}}"></button>
|
|
</div>
|
|
<div class="tccenter row8">
|
|
<input class="tinyInput" type="text" name="attr_st_breath" />
|
|
<button type="roll" name="roll_st_breath" title="st_roll_breath" style="width: 20px" class="btn ui-draggable" value="&{template:save} {{savevs=Breath Weapon}} {{honor=@{honor_bonus}}} {{save=[[[[1d20]]@{honor_bonus}+?{Modifier|0}]]}} {{raw_roll=$[[0]]}} {{mods=?{Modifier}}} {{character=@{character_name}}} {{target=[[@{st_breath}]]}}"></button>
|
|
</div>
|
|
<div class="tccenter row9">
|
|
<input class="tinyInput" type="text" name="attr_st_apology" />
|
|
<button type="roll" name="roll_st_apology" title="st_roll_apology" style="width: 20px" class="btn ui-draggable" value="&{template:save} {{savevs=Apology}} {{honor=@{honor_bonus}}} {{save=[[[[1d20]]@{honor_bonus}+?{Modifier|0}]]}} {{raw_roll=$[[0]]}} {{mods=?{Modifier}}} {{character=@{character_name}}} {{target=[[@{st_apology}]]}}"></button>
|
|
</div>
|
|
<div class="tccenter row10">
|
|
<input class="tinyInput" type="text" name="attr_st_spell" />
|
|
<button type="roll" name="roll_st_spell" title="st_roll_spell" style="width: 20px" class="btn ui-draggable" value="&{template:save} {{savevs=Spell}} {{honor=@{honor_bonus}}} {{save=[[[[1d20]]@{honor_bonus}+?{Modifier|0}]]}} {{raw_roll=$[[0]]}} {{mods=?{Modifier}}} {{character=@{character_name}}} {{target=[[@{st_spell}]]}}"></button>
|
|
</div>
|
|
|
|
<div class="tcright row2"><textarea class="textareafix textareaenterable" name="attr_st_paralyzation_mods"></textarea></div>
|
|
<div class="tcright row3"><textarea class="textareafix textareaenterable" name="attr_st_poison_mods"></textarea></div>
|
|
<div class="tcright row4"><textarea class="textareafix textareaenterable" name="attr_st_death_mods"></textarea></div>
|
|
<div class="tcright row5"><textarea class="textareafix textareaenterable" name="attr_st_rod_mods"></textarea></div>
|
|
<div class="tcright row6"><textarea class="textareafix textareaenterable" name="attr_st_petrify_mods"></textarea></div>
|
|
<div class="tcright row7"><textarea class="textareafix textareaenterable" name="attr_st_hack_mods"></textarea></div>
|
|
<div class="tcright row8"><textarea class="textareafix textareaenterable" name="attr_st_breath_mods"></textarea></div>
|
|
<div class="tcright row9"><textarea class="textareafix textareaenterable" name="attr_st_apology_mods"></textarea></div>
|
|
<div class="tcright row10"><textarea class="textareafix textareaenterable" name="attr_st_spell_mods"></textarea></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="minor-label center">Visit https://arghive.net/image-sources to see image credits</div>
|
|
<div class="background-hf"></div>
|
|
</div>
|
|
<div class='sheet-combat background'>
|
|
<div class="background-hf"></div>
|
|
<div class="background-left">
|
|
<div class="basic">
|
|
<div class="sub-section">
|
|
<div class="subtitles">Hit Points / Fatigue</div>
|
|
<div class="three-column">
|
|
|
|
<div class="tcleft row1">
|
|
<span class="headingitem heading">Current:</span>
|
|
<input class="tinyInput boxed" type="text" name="attr_hit_points" />
|
|
</div>
|
|
|
|
<div class="tcleft row2">
|
|
<span class="headingitem heading">Max:</span>
|
|
<input class="tinyInput boxed" type="text" name="attr_hit_points_max" />
|
|
</div>
|
|
|
|
<div class="tcleft row3">
|
|
<span class="headingitem heading">TOP Multiplier:</span>
|
|
<input class="tinyInput boxed" type="text" name="attr_TOP_adjust" />
|
|
</div>
|
|
|
|
<div class="tcleft row4">
|
|
<span class="headingitem heading">TOP:</span>
|
|
<input class="tinyInput boxed" type="text" readonly name="attr_TOP" />
|
|
</div>
|
|
|
|
<div class="tccenter row1">
|
|
<span class="headingitem heading">Fatigue: </span>
|
|
<input class="tinyInput boxed" type="text" name="attr_fatigue_factor" />
|
|
</div>
|
|
|
|
<div class="tccenter row2">
|
|
<span class="headingitem heading">Fatigue Factor: </span>
|
|
<input class="tinyInput boxed" type="text" readonly name="attr_fatigue_factor_max" />
|
|
</div>
|
|
|
|
<div class="tcright row1">
|
|
<span class="headingitem heading">Fatigue Check:</span>
|
|
<input class="tinyInput boxed" type="text" readonly name="attr_fatigue_check" />
|
|
</div>
|
|
<div class="tcright row2">
|
|
<span class="headingitem heading">Fatigue Adjust:</span>
|
|
<input class="tinyInput boxed" type="text" name="attr_fatigue_adjust" /><br />
|
|
<span style="font-size: xx-small;">Enter percentage to adjust fatigue factor by</span>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="sub-section">
|
|
<div class="subtitles">Armor Class</div>
|
|
<div>
|
|
<span class="headingitem heading">Armor Class:</span>
|
|
<input class="tinyInput boxed" type="text" readonly name="attr_armor_class" />
|
|
<span class="headingitem heading">Shieldless AC:</span>
|
|
<input class="tinyInput boxed" type="text" readonly name="attr_shieldless_armor_class" />
|
|
<span class="headingitem heading">Rear AC:</span>
|
|
<input class="tinyInput boxed" type="text" readonly name="attr_rear_armor_class" />
|
|
</div>
|
|
<div>
|
|
<span class="fixedwidthlabelnarrow heading">Armor:</span>
|
|
|
|
<select class="mediumPlusInput name=" name="attr_armor_type">
|
|
<option value="None">None</option>
|
|
<option value="Heavy Cloth">Heavy Cloth</option>
|
|
<option value="Leather">Leather</option>
|
|
<option value="Padded">Padded</option>
|
|
<option value="Stud.Leather">Stud.Leather</option>
|
|
<option value="Ring Mail">Ring Mail</option>
|
|
<option value="Tinker's Armor">Tinker's Armor</option>
|
|
<option value="Hide">Hide</option>
|
|
<option value="Brigandine">Brigandine</option>
|
|
<option value="Scale Mail">Scale Mail</option>
|
|
<option value="Chain Shirt">Chain Shirt</option>
|
|
<option value="Chain Mail">Chain Mail</option>
|
|
<option value="Stud. Hide">Stud. Hide</option>
|
|
<option value="Splint Mail">Splint Mail</option>
|
|
<option value="Heavy Chain">Heavy Chain</option>
|
|
<option value="Banded Mail">Banded Mail</option>
|
|
<option value="Plate Mail">Plate Mail</option>
|
|
<option value="Bronze Plate Mail">Bronze Plate Mail</option>
|
|
<option value="Half-Plate">Half-Plate</option>
|
|
<option value="Field Plate">Field Plate</option>
|
|
<option value="Full Plate">Full Plate</option>
|
|
<option value="Elven Chain">Elven Chain</option>
|
|
</select>
|
|
<span class="attributebox">
|
|
<p>Base<br />AC</p><input class="tinyInput boxed" type="text" readonly name="attr_armor_base_ac"/>
|
|
</span>
|
|
<span class="attributebox">
|
|
<p>Magic<br />+'s</p><input class="tinyInput boxed" type="text" name="attr_armor_plus"/>
|
|
</span>
|
|
<span class="attributebox">
|
|
<p>Damage<br />Taken</p><input class="tinyInput boxed" type="text" name="attr_armor_damage"/>
|
|
</span>
|
|
<span class="attributebox">
|
|
<p>Current<br />AC</p><input class="tinyInput boxed" type="text" readonly name="attr_armor_current_ac"/>
|
|
</span>
|
|
<span class="attributebox">
|
|
<p>Hits<br />per AC</p><input class="regularInput boxed" type="text" readonly name="attr_armor_hits"/>
|
|
</span>
|
|
|
|
</div>
|
|
|
|
<div>
|
|
<span class="fixedwidthlabelnarrow heading">Shield:</span>
|
|
<select class="mediumPlusInput name=" name="attr_shield_type">
|
|
<option value="None">None</option>
|
|
<option value="Buckler">Buckler</option>
|
|
<option value="Small Shield">Small Shield</option>
|
|
<option value="Medium Shield">Medium Shield</option>
|
|
<option value="Body Shield">Body Shield</option>
|
|
<option value="Wood Buckler">Wood Buckler</option>
|
|
<option value="Wood Small">Wood Small</option>
|
|
<option value="Wood Medium">Wood Medium</option>
|
|
<option value="Wood Body">Wood Body</option>
|
|
</select>
|
|
<span class="attributebox">
|
|
<p>Base<br />AC Bonus</p><input class="tinyInput boxed" type="text" readonly name="attr_shield_base_ac"/>
|
|
</span>
|
|
<span class="attributebox">
|
|
<p>Magic<br />+'s</p><input class="tinyInput boxed" type="text" name="attr_shield_plus"/>
|
|
</span>
|
|
<span class="attributebox">
|
|
<p>Damage<br />Taken</p><input class="tinyInput boxed" type="text" name="attr_shield_damage"/>
|
|
</span>
|
|
<span class="attributebox">
|
|
<p>Current<br />AC Bonus</p><input class="tinyInput boxed" type="text" readonly name="attr_shield_current_ac"/>
|
|
</span>
|
|
<span class="attributebox">
|
|
<p>Hits<br />per AC</p><input class="regularInput boxed" type="text" readonly name="attr_shield_hits"/>
|
|
</span>
|
|
|
|
</div>
|
|
|
|
<div>
|
|
<span class="headingitem heading">Misc AC Bonus:</span>
|
|
<input class="tinyInput boxed" type="text" name="attr_misc_ac_bonus" />
|
|
<span class="headingitem heading">Acrobatics Skill?</span>
|
|
<input class="tinyInput boxed" type="checkbox" name="attr_acrobatics" />
|
|
</div>
|
|
|
|
</div>
|
|
<div class="sub-section">
|
|
|
|
<div>
|
|
<div class="melee-weapons">
|
|
<span style="width:75%;display: inline-block;" class="subtitles">Melee Weapons</span>
|
|
<span style="width:25%;display: inline-block;" class="subtitles">Damage Versus</span>
|
|
</div>
|
|
</div>
|
|
<fieldset class="repeating_meleeweapons">
|
|
<div class="melee-weapons">
|
|
<div style="width: 10%;">
|
|
<hr/>
|
|
<div><br/>
|
|
<button type="roll" name="roll_initmw" title="Initiative" value="/roll d10 + @{mwspeed}[Speed] -@{dex_reaction_adjust}[Dex] + @{mwinitmod}[Wpn Init] - (@{honor_bonus}[Honor])" style="width: 40px" class="btn ui-draggable">Init</button><br/>
|
|
<button type="roll" name="roll_tohitmw" title="Hit"
|
|
value="&{template:combat} {{tohit=[[[[1d20]]@{honor_bonus} @{str_hit_prob}+ (@{mwplushit})+(?{Modifier|0})]]}} {{raw_roll=$[[0]]}} {{statname=Str Bonus}} {{statplus=@{str_hit_prob}}} {{weaponname=@{mweaponname}}} {{honor=@{honor_bonus}}} {{mods=?{Modifier}}} {{character=@{character_name}}} {{bonus=@{mwplushit}}} }}">
|
|
Hit</button>
|
|
</div>
|
|
</div>
|
|
<div style="width:60%;">
|
|
<hr/>
|
|
<div class="entry2Line"><span><label class="mediumPlusInput" >Weapon Name</label><input type="text" class="mediumPlusInput" name="attr_mweaponname" /></span></div>
|
|
<div class="entry2Line"><span><label class="reallySmallInput" >Size</label><select class="reallySmallInput" name="attr_mwsize">
|
|
<option value="T">T</option>
|
|
<option value="S">S</option>
|
|
<option value="M">M</option>
|
|
<option value="L">L</option>
|
|
<option value="H">H</option>
|
|
<option value="G">G</option>
|
|
</select></span></div>
|
|
<div class="entry2Line"><span><label class="reallySmallInput" >DamType</label><select class="reallySmallInput" name="attr_mwdamagetype">
|
|
<option value="C">C</option>
|
|
<option value="H">H</option>
|
|
<option value="P">P</option>
|
|
<option value="CP">C/P</option>
|
|
<option value="HP">H/P</option>
|
|
<option value="CH">C/H</option>
|
|
</select></span></div>
|
|
<div class="entry2Line"><span><label class="reallySmallInput" >Init Mod</label><input class="reallySmallInput" type="text" name="attr_mwinitmod" /></span></div>
|
|
<div class="entry2Line"><span><label class="reallySmallInput" >To Hit</label><input class="reallySmallInput" type="text" name="attr_mwplushit" /></span></div>
|
|
<div class="entry2Line"><span><label class="reallySmallInput" >To Dam</label><input class="reallySmallInput" type="text" name="attr_mwplusdam" /></span></div>
|
|
<div class="entry2Line"><span><label class="reallySmallInput" >Crit Rng</label><select class="reallySmallInput" type="text" name="attr_mwcritrange" >
|
|
<option value="20">20</option>
|
|
<option value="19">19+</option>
|
|
<option value="18">18+</option>
|
|
<option value="17">17+</option>
|
|
<option value="16">16+</option>
|
|
<option value="15">15+</option>
|
|
<option value="14">14+</option>
|
|
</select></span></div>
|
|
<div class="entry2Line"><span><label class="reallySmallInput" >Speed</label><input class="reallySmallInput" type="text" name="attr_mwspeed" /></span></div>
|
|
<div class="entry2Line"><span><label class="mediumPlusInput" >Skill</label><select class="mediumPlusInput" name="attr_mwskill">
|
|
<option value="P">Proficient</option>
|
|
<option value="N">Non-Proficient</option>
|
|
<option value="S">Specialized</option>
|
|
<option value="M">Master</option>
|
|
<option value="H">High Master</option>
|
|
<option value="G">Grand Master</option>
|
|
</select></span></div>
|
|
<div class="entry2Line"><span><label class="reallySmallInput" >#Att/Rnd</label><input class="reallySmallInput" type="text" name="attr_mwattrnd" /></span></div>
|
|
</div>
|
|
<div style="width:30%;">
|
|
<hr/>
|
|
<div class="entrywDice"><span>
|
|
<label class="reallySmallInput" >
|
|
<button type="roll" name="roll_mdt" title="Roll Damage"
|
|
value="&{template:mwdamage} {{damage=[[[[{@{mwdamt},1+0d0}d1]] + ([[@{honor_bonus}*{@{mwdicet}+0d0|1}]]) @{str_dam_adj} + @{mwplusdam} + (?{Other Modifiers|0})]]}} {{weaponname=@{mweaponname}}} {{raw_roll=$[[0]]}} {{statbonus=@{str_dam_adj}}} {{weaponbonus=@{mwplusdam}}} {{honor=$[[1]]}} {{character=@{character_name}}} {{mods=?{Other Modifiers}}} {{size=Tiny}}"
|
|
style="width: 20px" class="btn ui-draggable">T</button></label>
|
|
<input class="teenyInput" type="text" name="attr_mwdicet" title="# of dice done by damage, for 1d2 or less, make sure to enter 0." />
|
|
<input class="reallySmallInput" type="text" name="attr_mwdamt" title="Damage, don't forget the '!p' for penetration! Damage roll will never be < 1."/></span></div>
|
|
<div class="entrywDice"><span>
|
|
<label class="reallySmallInput">
|
|
<button type="roll" name="roll_mds" title="Roll Damage"
|
|
value="&{template:mwdamage} {{damage=[[[[{@{mwdams},1+0d0}d1]] + ([[@{honor_bonus}*{@{mwdices}+0d0|1}]]) @{str_dam_adj} + @{mwplusdam} + (?{Other Modifiers|0})]]}} {{weaponname=@{mweaponname}}} {{raw_roll=$[[0]]}} {{statbonus=@{str_dam_adj}}} {{weaponbonus=@{mwplusdam}}} {{honor=$[[1]]}} {{character=@{character_name}}} {{mods=?{Other Modifiers}}} {{size=Small}}"
|
|
style="width: 20px" class="btn ui-draggable">S</button></label>
|
|
<input class="teenyInput" type="text" name="attr_mwdices" title="# of dice done by damage, for 1d2 or less, make sure to enter 0." />
|
|
<input class="reallySmallInput" type="text" name="attr_mwdams" title="Damage, don't forget the '!p' for penetration! Damage roll will never be < 1."/></span></div>
|
|
<div class="entrywDice"><span>
|
|
<label class="reallySmallInput">
|
|
<button type="roll" name="roll_mdm" title="Roll Damage"
|
|
value="&{template:mwdamage} {{damage=[[[[{@{mwdamm},1+0d0}d1]] + ([[@{honor_bonus}*{@{mwdicem}+0d0|1}]]) @{str_dam_adj} + @{mwplusdam} + (?{Other Modifiers|0})]]}} {{weaponname=@{mweaponname}}} {{raw_roll=$[[0]]}} {{statbonus=@{str_dam_adj}}} {{weaponbonus=@{mwplusdam}}} {{honor=$[[1]]}} {{character=@{character_name}}} {{mods=?{Other Modifiers}}} {{size=Medium}}"
|
|
style="width: 20px" class="btn ui-draggable">M</button></label>
|
|
<input class="teenyInput" type="text" name="attr_mwdicem" title="# of dice done by damage, for 1d2 or less, make sure to enter 0." />
|
|
<input class="reallySmallInput" type="text" name="attr_mwdamm" title="Damage, don't forget the '!p' for penetration! Damage roll will never be < 1."/></span></div>
|
|
<div class="entrywDice"><span>
|
|
<label class="reallySmallInput">
|
|
<button type="roll" name="roll_mdl" title="Roll Damage"
|
|
value="&{template:mwdamage} {{damage=[[[[{@{mwdaml},1+0d0}d1]] + ([[@{honor_bonus}*{@{mwdicel}+0d0|1}]]) @{str_dam_adj} + @{mwplusdam} + (?{Other Modifiers|0})]]}} {{weaponname=@{mweaponname}}} {{raw_roll=$[[0]]}} {{statbonus=@{str_dam_adj}}} {{weaponbonus=@{mwplusdam}}} {{honor=$[[1]]}} {{character=@{character_name}}} {{mods=?{Other Modifiers}}} {{size=Large}}"
|
|
style="width: 20px" class="btn ui-draggable">L</button></label>
|
|
<input class="teenyInput" type="text" name="attr_mwdicel" title="# of dice done by damage, for 1d2 or less, make sure to enter 0." />
|
|
<input class="reallySmallInput" type="text" name="attr_mwdaml" title="Damage, don't forget the '!p' for penetration! Damage roll will never be < 1."/></span></div>
|
|
<div class="entrywDice"><span>
|
|
<label class="reallySmallInput">
|
|
<button type="roll" name="roll_mdh" title="Roll Damage"
|
|
value="&{template:mwdamage} {{damage=[[[[{@{mwdamh},1+0d0}d1]] + ([[@{honor_bonus}*{@{mwdiceh}+0d0|1}]]) @{str_dam_adj} + @{mwplusdam} + (?{Other Modifiers|0})]]}} {{weaponname=@{mweaponname}}} {{raw_roll=$[[0]]}} {{statbonus=@{str_dam_adj}}} {{weaponbonus=@{mwplusdam}}} {{honor=$[[1]]}} {{character=@{character_name}}} {{mods=?{Other Modifiers}}} {{size=Huge}}"
|
|
style="width: 20px" class="btn ui-draggable">H</button></label>
|
|
<input class="teenyInput" type="text" name="attr_mwdiceh" title="# of dice done by damage, for 1d2 or less, make sure to enter 0." />
|
|
<input class="reallySmallInput" type="text" name="attr_mwdamh" title="Damage, don't forget the '!p' for penetration! Damage roll will never be < 1."/></span></div>
|
|
<div class="entrywDice"><span>
|
|
<label class="reallySmallInput">
|
|
<button type="roll" name="roll_mdg" title="Roll Damage"
|
|
value="&{template:mwdamage} {{damage=[[[[{@{mwdamg},1+0d0}d1]] + ([[@{honor_bonus}*{@{mwdiceg}+0d0|1}]]) @{str_dam_adj} + @{mwplusdam} + (?{Other Modifiers|0})]]}} {{weaponname=@{mweaponname}}} {{raw_roll=$[[0]]}} {{statbonus=@{str_dam_adj}}} {{weaponbonus=@{mwplusdam}}} {{honor=$[[1]]}} {{character=@{character_name}}} {{mods=?{Other Modifiers}}} {{size=Gargantuan}}"
|
|
style="width: 20px" class="btn ui-draggable">G</button></label>
|
|
<input class="teenyInput" type="text" name="attr_mwdiceg" title="# of dice done by damage, for 1d2 or less, make sure to enter 0." />
|
|
<input class="reallySmallInput" type="text" name="attr_mwdamg" title="Damage, don't forget the '!p' for penetration! Damage roll will never be < 1."/></span></div>
|
|
</div>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
|
|
<div class="sub-section">
|
|
<div>
|
|
<div class="melee-weapons">
|
|
<span style="width:75%;display: inline-block;" class="subtitles">Missile Weapons</span>
|
|
<span style="width:25%;display: inline-block;" class="subtitles">Damage Versus</span>
|
|
</div>
|
|
</div>
|
|
<fieldset class="repeating_missileweapons">
|
|
<div class="melee-weapons">
|
|
<div style="width: 10%;">
|
|
<hr/>
|
|
<div><br/>
|
|
<button type="roll" name="roll_tohitms" title="Hit" style="width: 40px" class="btn ui-draggable"
|
|
value="&{template:combat} {{tohit=[[[[1d20]]@{honor_bonus} @{dex_missile_adjust}+ (@{msplushit})+(?{Range|Short, [[0]]|Medium, [[-2]]|Long, [[-5]]})]]}} {{raw_roll=$[[0]]}} {{statname=Dex Bonus}} {{statplus=@{dex_missile_adjust}}} {{weaponname=@{msweaponname}}} {{honor=@{honor_bonus}}} {{mods=?{Range}}} {{character=@{character_name}}} {{bonus=@{msplushit}}} }}">
|
|
Hit</button>
|
|
</div>
|
|
</div>
|
|
<div style="width: 60%;">
|
|
<hr/>
|
|
<div class="entry2Line"><span><label class="mediumPlusInput" >Weapon Name</label><input type="text" class="mediumPlusInput" name="attr_msweaponname" /></span></div>
|
|
<div class="entry2Line"><span><label class="reallySmallInput" >Size</label><select class="reallySmallInput" name="attr_mssize">
|
|
<option value="T">T</option>
|
|
<option value="S">S</option>
|
|
<option value="M">M</option>
|
|
<option value="L">L</option>
|
|
<option value="H">H</option>
|
|
<option value="G">G</option>
|
|
</select></span></div>
|
|
<div class="entry2Line"><span><label class="reallySmallInput" >DamType</label><select class="reallySmallInput" name="attr_msdamagetype">
|
|
<option value="C">C</option>
|
|
<option value="H">H</option>
|
|
<option value="P">P</option>
|
|
<option value="CP">C/P</option>
|
|
<option value="HP">H/P</option>
|
|
<option value="CH">C/H</option>
|
|
</select></span></div>
|
|
<div class="entry2Line"><span><label class="reallySmallInput" >To Hit</label><input class="reallySmallInput" type="text" name="attr_msplushit" /></span></div>
|
|
<div class="entry2Line"><span><label class="reallySmallInput" >To Dam</label><input class="reallySmallInput" type="text" name="attr_msplusdam" /></span></div>
|
|
<div class="entry2Line"><span><label class="reallySmallInput" >Crit Rng</label><select class="reallySmallInput" type="text" name="attr_mwcritrange" >
|
|
<option value="20">20</option>
|
|
<option value="19">19+</option>
|
|
<option value="18">18+</option>
|
|
<option value="17">17+</option>
|
|
<option value="16">16+</option>
|
|
<option value="15">15+</option>
|
|
<option value="14">14+</option>
|
|
</select></span></div>
|
|
<div class="entry2Line"><span><label class="mediumPlusInput" >Skill</label><select class="mediumPlusInput" name="attr_msskill">
|
|
<option value="P">Proficient</option>
|
|
<option value="N">Non-Proficient</option>
|
|
<option value="S">Specialized</option>
|
|
<option value="M">Master</option>
|
|
<option value="H">High Master</option>
|
|
<option value="G">Grand Master</option>
|
|
</select></span></div>
|
|
<div class="entry2Line"><span><label class="reallySmallInput" >ROF</label><input class="reallySmallInput" type="text" name="attr_msattrnd" /></span></div>
|
|
<div class="entry2Line"><span><label class="reallySmallInput" >Short</label><input class="reallySmallInput" type="text" name="attr_msshort" /></span></div>
|
|
<div class="entry2Line"><span><label class="reallySmallInput" >Medium</label><input class="reallySmallInput" type="text" name="attr_msmedium" /></span></div>
|
|
<div class="entry2Line"><span><label class="reallySmallInput" >Long</label><input class="reallySmallInput" type="text" name="attr_mslong" /></span></div>
|
|
<div class="entry2Line"><span><label class="reallySmallInput" >Strength</label><input class="reallySmallInput" type="checkbox" value="1" name="attr_msstr" title="Include Strength Bonus on Damage?"/></span></div>
|
|
</div>
|
|
<div style="width:30%;">
|
|
<hr/>
|
|
<div class="entrywDice"><span>
|
|
<label class="reallySmallInput" >
|
|
<button type="roll" name="roll_msdt" title="Roll Damage"
|
|
value="&{template:mwdamage} {{damage=[[[[{@{msdamt},1+0d0}d1]] + ([[@{honor_bonus}*{@{msdicet}+0d0|1}]]) + ([[@{msstr}*@{str_dam_adj}]]) + @{msplusdam} + (?{Other Modifiers|0})]]}} {{weaponname=@{msweaponname}}} {{raw_roll=$[[0]]}} {{statbonus=$[[2]]}} {{weaponbonus=@{msplusdam}}} {{honor=$[[1]]}} {{character=@{character_name}}} {{mods=?{Other Modifiers}}} {{size=Tiny}}"
|
|
style="width: 20px" class="btn ui-draggable">T</button></label>
|
|
<input class="teenyInput" type="text" name="attr_msdicet" title="# of dice done by damage, for 1d2 or less, make sure to enter 0." />
|
|
<input class="reallySmallInput" type="text" name="attr_msdamt" title="Damage, don't forget the '!p' for penetration! Damage roll will never be < 1."/></span></div>
|
|
<div class="entrywDice"><span>
|
|
<label class="reallySmallInput" >
|
|
<button type="roll" name="roll_msds" title="Roll Damage"
|
|
value="&{template:mwdamage} {{damage=[[[[{@{msdams},1+0d0}d1]] + ([[@{honor_bonus}*{@{msdices}+0d0|1}]]) + ([[@{msstr}*@{str_dam_adj}]]) + @{msplusdam} + (?{Other Modifiers|0})]]}} {{weaponname=@{msweaponname}}} {{raw_roll=$[[0]]}} {{statbonus=$[[2]]}} {{weaponbonus=@{msplusdam}}} {{honor=$[[1]]}} {{character=@{character_name}}} {{mods=?{Other Modifiers}}} {{size=Small}}"
|
|
style="width: 20px" class="btn ui-draggable">S</button></label>
|
|
<input class="teenyInput" type="text" name="attr_msdices" title="# of dice done by damage, for 1d2 or less, make sure to enter 0." />
|
|
<input class="reallySmallInput" type="text" name="attr_msdams" title="Damage, don't forget the '!p' for penetration! Damage roll will never be < 1."/></span></div>
|
|
<div class="entrywDice"><span>
|
|
<label class="reallySmallInput" >
|
|
<button type="roll" name="roll_msdm" title="Roll Damage"
|
|
value="&{template:mwdamage} {{damage=[[[[{@{msdamm},1+0d0}d1]] + ([[@{honor_bonus}*{@{msdicem}+0d0|1}]]) + ([[@{msstr}*@{str_dam_adj}]]) + @{msplusdam} + (?{Other Modifiers|0})]]}} {{weaponname=@{msweaponname}}} {{raw_roll=$[[0]]}} {{statbonus=$[[2]]}} {{weaponbonus=@{msplusdam}}} {{honor=$[[1]]}} {{character=@{character_name}}} {{mods=?{Other Modifiers}}} {{size=Medium}}"
|
|
style="width: 20px" class="btn ui-draggable">M</button></label>
|
|
<input class="teenyInput" type="text" name="attr_msdicem" title="# of dice done by damage, for 1d2 or less, make sure to enter 0." />
|
|
<input class="reallySmallInput" type="text" name="attr_msdamm" title="Damage, don't forget the '!p' for penetration! Damage roll will never be < 1."/></span></div>
|
|
<div class="entrywDice"><span>
|
|
<label class="reallySmallInput" >
|
|
<button type="roll" name="roll_msdl" title="Roll Damage"
|
|
value="&{template:mwdamage} {{damage=[[[[{@{msdaml},1+0d0}d1]] + ([[@{honor_bonus}*{@{msdicel}+0d0|1}]]) + ([[@{msstr}*@{str_dam_adj}]]) + @{msplusdam} + (?{Other Modifiers|0})]]}} {{weaponname=@{msweaponname}}} {{raw_roll=$[[0]]}} {{statbonus=$[[2]]}} {{weaponbonus=@{msplusdam}}} {{honor=$[[1]]}} {{character=@{character_name}}} {{mods=?{Other Modifiers}}} {{size=Large}}"
|
|
style="width: 20px" class="btn ui-draggable">L</button></label>
|
|
<input class="teenyInput" type="text" name="attr_msdicel" title="# of dice done by damage, for 1d2 or less, make sure to enter 0." />
|
|
<input class="reallySmallInput" type="text" name="attr_msdaml" title="Damage, don't forget the '!p' for penetration! Damage roll will never be < 1."/></span></div>
|
|
<div class="entrywDice"><span>
|
|
<label class="reallySmallInput" >
|
|
<button type="roll" name="roll_msdh" title="Roll Damage"
|
|
value="&{template:mwdamage} {{damage=[[[[{@{msdamh},1+0d0}d1]] + ([[@{honor_bonus}*{@{msdiceh}+0d0|1}]]) + ([[@{msstr}*@{str_dam_adj}]]) + @{msplusdam} + (?{Other Modifiers|0})]]}} {{weaponname=@{msweaponname}}} {{raw_roll=$[[0]]}} {{statbonus=$[[2]]}} {{weaponbonus=@{msplusdam}}} {{honor=$[[1]]}} {{character=@{character_name}}} {{mods=?{Other Modifiers}}} {{size=Huge}}"
|
|
style="width: 20px" class="btn ui-draggable">H</button></label>
|
|
<input class="teenyInput" type="text" name="attr_msdiceh" title="# of dice done by damage, for 1d2 or less, make sure to enter 0." />
|
|
<input class="reallySmallInput" type="text" name="attr_msdamh" title="Damage, don't forget the '!p' for penetration! Damage roll will never be < 1."/></span></div>
|
|
<div class="entrywDice"><span>
|
|
<label class="reallySmallInput" >
|
|
<button type="roll" name="roll_msdg" title="Roll Damage"
|
|
value="&{template:mwdamage} {{damage=[[[[{@{msdamg},1+0d0}d1]] + ([[@{honor_bonus}*{@{msdiceg}+0d0|1}]]) + ([[@{msstr}*@{str_dam_adj}]]) + @{msplusdam} + (?{Other Modifiers|0})]]}} {{weaponname=@{msweaponname}}} {{raw_roll=$[[0]]}} {{statbonus=$[[2]]}} {{weaponbonus=@{msplusdam}}} {{honor=$[[1]]}} {{character=@{character_name}}} {{mods=?{Other Modifiers}}} {{size=Gargantuan}}"
|
|
style="width: 20px" class="btn ui-draggable">G</button></label>
|
|
<input class="teenyInput" type="text" name="attr_msdiceg" title="# of dice done by damage, for 1d2 or less, make sure to enter 0." />
|
|
<input class="reallySmallInput" type="text" name="attr_msdamg" title="Damage, don't forget the '!p' for penetration! Damage roll will never be < 1."/></span></div>
|
|
</div>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="minor-label center">Visit https://arghive.net/image-sources to see image credits</div>
|
|
<div class="background-hf"></div>
|
|
</div>
|
|
<div class="sheet-abilities background">
|
|
<div class="background-hf"></div>
|
|
<div class="background-left">
|
|
<div class="basic">
|
|
<div class="sub-section">
|
|
<div class="subtitles">Talents</div>
|
|
<div>
|
|
<span class="headingitem heading" style="width: 25%;text-align: left;">Talent</span>
|
|
<span class="headingitem heading">Description</span>
|
|
</div>
|
|
<fieldset class="repeating_talents">
|
|
<div>
|
|
<input class="smallInput" style="width: 25%" type="text" name="attr_talentname" />
|
|
<input class="largeInput" style="width: 70%" type="text" name="attr_talentdesc" />
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
<div class="sub-section">
|
|
<div class="subtitles">Quirks / Flaws</div>
|
|
<div>
|
|
<span class="headingitem heading" style="width: 25%;text-align: left;">Quirk/Flaw</span>
|
|
<span class="headingitem heading">Description</span>
|
|
</div>
|
|
<fieldset class="repeating_quirks">
|
|
<div>
|
|
<input class="smallInput" style="width: 25%" type="text" name="attr_quirkname" />
|
|
<input class="largeInput" style="width: 70%" type="text" name="attr_quirkdesc" />
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
<div class="sub-section">
|
|
<div class="subtitles">Racial Abilities</div>
|
|
<div>
|
|
<span class="headingitem heading" style="width: 25%;text-align: left;">Racial Ability</span>
|
|
<span class="headingitem heading">Description</span>
|
|
</div>
|
|
<fieldset class="repeating_racial">
|
|
<div>
|
|
<input class="smallInput" style="width: 25%" type="text" name="attr_racialname" />
|
|
<input class="largeInput" style="width: 70%" type="text" name="attr_racialdesc" />
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
<div class="sub-section">
|
|
<div class="subtitles">Skills</div>
|
|
<div>
|
|
<span class="headingitem heading" style="padding:0px;width:32px;"></span>
|
|
<span class="headingitem heading" style="padding:0px;width:32px;">%</span>
|
|
<span class="largeInput headingitem heading" style="padding:0px;width:298px;">Skill</span>
|
|
<span class="smallInput headingitem heading" style="padding:0px;width:100px;">Page</span>
|
|
<span class="smallInput headingitem heading" style="padding:0px;width:100px;">Mastery<br/>Die</span>
|
|
<span class="regularInput headingitem heading" style="padding:0px;width:175px;">Skill Type</span>
|
|
</div>
|
|
<fieldset class="repeating_skills">
|
|
<div>
|
|
<button type="roll" name="roll_skill" title="roll_skill" style="width:20px" class="btn ui-draggable"
|
|
value="&{template:skill} {{skillroll=[[[[1d100]]-5*@{honor_bonus}-(?{Modifier|0})]]}} {{skillis=@{skillname}}} {{honor=[[-5*@{honor_bonus}]]}} {{raw_roll=$[[0]]}} {{mods=[[-1*?{Modifier}]]}} {{character=@{character_name}}} {{target=[[@{skillpct}]]}}"></button>
|
|
<input class="tinyInput" type="text" name="attr_skillpct" />
|
|
<input class="largeInput" type="text" name="attr_skillname" />
|
|
<input class="smallInput" type="text" name="attr_skillpage" />
|
|
<input class="smallInput" type="text" name="attr_skillmasterydie" />
|
|
<select class="regularMinusInput" name="attr_skillType">
|
|
<option value="Academia">Academia</option>
|
|
<option value="Arcane">Arcane</option>
|
|
<option value="Artisan">Artisan</option>
|
|
<option value="Barbarian">Barbarian</option>
|
|
<option value="Combat Procedure">Combat Procedure</option>
|
|
<option value="Language">Language</option>
|
|
<option value="Martial Arts">Martial Arts</option>
|
|
<option value="Mundane">Mundane</option>
|
|
<option value="Musical">Musical</option>
|
|
<option value="Named Fighting">Named Fighting</option>
|
|
<option value="Proficiency">Proficiency</option>
|
|
<option value="Social Interaction">Social Interaction</option>
|
|
<option value="Sophisticated">Sophisticated</option>
|
|
<option value="Tool Skill">Tool Skill</option>
|
|
<option value="Skill Suite">Skill Suite</option>
|
|
</select>
|
|
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="minor-label center">Visit https://arghive.net/image-sources to see image credits</div>
|
|
<div class="background-hf"></div>
|
|
</div>
|
|
|
|
<div class="sheet-equipment background">
|
|
<div class="background-hf"></div>
|
|
<div class="background-left">
|
|
<div class="basic">
|
|
<div class="sub-section">
|
|
<div class="subtitles">Encumberance Summary</div>
|
|
<div class="four-column">
|
|
|
|
<div class="tcleft row1">Carried/Worn Total:</div>
|
|
<div class="tccleft row1"><input class="smallInput" type="text" readonly name="attr_enc_carried" /></div>
|
|
<div class="tcleft row2">Carried-Packable Total:</div>
|
|
<div class="tccleft row2"><input class="smallInput" type="text" readonly name="attr_enc_packable" /></div>
|
|
<div class="tcleft row3">
|
|
<hr style="margin-left:0px;" />Carried Encumberance:</div>
|
|
<div class="tccleft row3">
|
|
<hr class="smallInput" style="margin-left:0px;" /><input class="smallInput" type="text" readonly name="attr_character_encumberance" /></div>
|
|
<div class="tcleft row4">
|
|
<hr style="margin-left:0px;" />Total Wealth:</div>
|
|
<div class="tccleft row4">
|
|
<hr class="smallInput" style="margin-left:0px;" /><input class="smallInput" type="text" readonly name="attr_wealth" /></div>
|
|
|
|
<div class="tccright row1">Clever Packer:</div>
|
|
<div class="tcright row1"><input type="checkbox" name="attr_clever_packer" value="X" /></div>
|
|
<div class="tccright row2">Mount Total:</div>
|
|
<div class="tcright row2"><input class="smallInput" type="text" readonly name="attr_enc_mount" /></div>
|
|
<div class="tccright row3">In Town/Not Carried Total:</div>
|
|
<div class="tcright row3"><input class="smallInput" type="text" readonly name="attr_enc_intown" /></div>
|
|
|
|
<div class="tccright row4">Style Points Worn:</div>
|
|
<div class="tcright row4"><input class="smallInput" type="text" readonly name="attr_style_total" /></div>
|
|
</div>
|
|
</div>
|
|
<div class="sub-section">
|
|
<div class="subtitles">Wealth
|
|
<div style="float:right;"><button type="action" name="act_wealth_defaults" title="btn_wealth_defaults" style="height:14px;">Add Defaults</button></div>
|
|
</div>
|
|
<div>
|
|
<span class="mediumPlusInput headingitem heading" style="padding:0px;width:120px;">Location</span>
|
|
<span class="regularMinusInput headingitem heading" style="padding:0px;width:175px;">Item</span>
|
|
<span class="tinyInput headingitem heading" style="padding:0px;width:55px;">Qty</span>
|
|
<span class="reallySmallInput headingitem heading" style="padding:0px;width:55px;">Wgt<br/>Each</span>
|
|
<span class="reallySmallInput headingitem heading" style="padding:0px;width:55px;">Enc.</span>
|
|
<span class="reallySmallInput headingitem heading" style="padding:0px;width:55px;">Value<br/>Each</span>
|
|
<span class="reallySmallInput headingitem heading" style="padding:0px;width:55px;">Value<br/>Total</span>
|
|
</div>
|
|
|
|
<fieldset class="repeating_wealth">
|
|
<div class="repeating_wealth">
|
|
<div>
|
|
<select class="mediumPlusInput" name="attr_wLocation">
|
|
<option value="Packable">Carried-Packable</option>
|
|
<option value="Mount">Mount</option>
|
|
<option value="Town">In Town/Not Carried</option>
|
|
</select>
|
|
<input class="regularMinusInput" type="text" name="attr_wItem" />
|
|
<input class="reallySmallInputRight" type="text" name="attr_wItemQty" />
|
|
<input class="reallySmallInputRight" type="text" name="attr_wItemWgt" />
|
|
<input class="reallySmallInputRight" type="text" readonly name="attr_wItemEnc" />
|
|
<input class="reallySmallInputRight" type="text" name="attr_wValueEach" />
|
|
<input class="reallySmallInputRight" type="text" readonly name="attr_wValueTotal" />
|
|
</div>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
|
|
<div class="sub-section">
|
|
<div class="subtitles">Possessions</div>
|
|
<div>
|
|
<span class="mediumPlusInput headingitem heading" style="padding:0px;width:120px;">Location</span>
|
|
<span class="largeInput headingitem heading" style="padding:0px;width:298px;">Item</span>
|
|
<span class="tinyInput headingitem heading" style="padding:0px;width:32px;">Style</span>
|
|
<span class="tinyInput headingitem heading" style="padding:0px;width:32px;">Qty</span>
|
|
<span class="reallySmallInput headingitem heading" style="padding:0px;width:55px;">Wgt<br/>Each</span>
|
|
<span class="reallySmallInput headingitem heading" style="padding:0px;width:55px;">Enc.</span>
|
|
</div>
|
|
<fieldset class="repeating_inventory">
|
|
<div>
|
|
<select class="mediumPlusInput" name="attr_location">
|
|
<option value="Carried">Carried/Worn</option>
|
|
<option value="Packable">Carried-Packable</option>
|
|
<option value="Mount">Mount</option>
|
|
<option value="Town">In Town/Not Carried</option>
|
|
</select>
|
|
<input class="largeInput" type="text" name="attr_item" />
|
|
<input class="tinyInput" type="text" name="attr_stylePoints" />
|
|
<input class="tinyInput" type="text" name="attr_itemQty" />
|
|
<input class="reallySmallInputRight" type="text" name="attr_itemWgt" />
|
|
<input class="reallySmallInputRight" type="text" readonly name="attr_itemEnc" />
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="minor-label center">Visit https://arghive.net/image-sources to see image credits</div>
|
|
<div class="background-hf"></div>
|
|
</div>
|
|
|
|
<div class="sheet-mu background">
|
|
<div class="background-hf"></div>
|
|
<div class="background-left">
|
|
<div class="basic">
|
|
<div class="spell-grid">
|
|
<div class="spellleft sub-section">
|
|
<div class="subtitles">Spell Summary</div>
|
|
<div class="spellByLevel row1">
|
|
<div class="spell-by-level">
|
|
<div class="tcleft row1 smallInput"></div>
|
|
<div class="l0 row1" style="text-align: center;">0</div>
|
|
<div class="l1 row1" style="text-align: center;">1</div>
|
|
<div class="l2 row1" style="text-align: center;">2</div>
|
|
<div class="l3 row1" style="text-align: center;">3</div>
|
|
<div class="l4 row1" style="text-align: center;">4</div>
|
|
<div class="l5 row1" style="text-align: center;">5</div>
|
|
<div class="l6 row1" style="text-align: center;">6</div>
|
|
<div class="l7 row1" style="text-align: center;">7</div>
|
|
<div class="l8 row1" style="text-align: center;">8</div>
|
|
<div class="l9 row1" style="text-align: center;">9</div>
|
|
|
|
<div class="tcleft row2 sallInput">Base</div>
|
|
<input class="l0 row2 tinyInput" type="text" name="attr_mubase0" />
|
|
<input class="l1 row2 tinyInput" type="text" name="attr_mubase1" />
|
|
<input class="l2 row2 tinyInput" type="text" name="attr_mubase2" />
|
|
<input class="l3 row2 tinyInput" type="text" name="attr_mubase3" />
|
|
<input class="l4 row2 tinyInput" type="text" name="attr_mubase4" />
|
|
<input class="l5 row2 tinyInput" type="text" name="attr_mubase5" />
|
|
<input class="l6 row2 tinyInput" type="text" name="attr_mubase6" />
|
|
<input class="l7 row2 tinyInput" type="text" name="attr_mubase7" />
|
|
<input class="l8 row2 tinyInput" type="text" name="attr_mubase8" />
|
|
<input class="l9 row2 tinyInput" type="text" name="attr_mubase9" />
|
|
|
|
<div class="tcleft row3 smallInput">Bonus</div>
|
|
<input class="l0 row3 tinyInput" type="text" name="attr_mubonus0" />
|
|
<input class="l1 row3 tinyInput" type="text" name="attr_mubonus1" />
|
|
<input class="l2 row3 tinyInput" type="text" name="attr_mubonus2" />
|
|
<input class="l3 row3 tinyInput" type="text" name="attr_mubonus3" />
|
|
<input class="l4 row3 tinyInput" type="text" name="attr_mubonus4" />
|
|
<input class="l5 row3 tinyInput" type="text" name="attr_mubonus5" />
|
|
<input class="l6 row3 tinyInput" type="text" name="attr_mubonus6" />
|
|
<input class="l7 row3 tinyInput" type="text" name="attr_mubonus7" />
|
|
<input class="l8 row3 tinyInput" type="text" name="attr_mubonus8" />
|
|
<input class="l9 row3 tinyInput" type="text" name="attr_mubonus9" />
|
|
|
|
<div class="tcleft row4 smallInput">Spell Jack</div>
|
|
<input class="l0 row4 tinyInput" type="text" readonly name="attr_mujack0" />
|
|
<input class="l1 row4 tinyInput" type="text" readonly name="attr_mujack1" />
|
|
<input class="l2 row4 tinyInput" type="text" readonly name="attr_mujack2" />
|
|
<input class="l3 row4 tinyInput" type="text" readonly name="attr_mujack3" />
|
|
<input class="l4 row4 tinyInput" type="text" readonly name="attr_mujack4" />
|
|
<input class="l5 row4 tinyInput" type="text" readonly name="attr_mujack5" />
|
|
<input class="l6 row4 tinyInput" type="text" readonly name="attr_mujack6" />
|
|
<input class="l7 row4 tinyInput" type="text" readonly name="attr_mujack7" />
|
|
<input class="l8 row4 tinyInput" type="text" readonly name="attr_mujack8" />
|
|
<input class="l9 row4 tinyInput" type="text" readonly name="attr_mujack9" />
|
|
|
|
<div class="tcleft row5 smallInput totalrow">Total</div>
|
|
<input class="l0 row5 tinyInput totalrow" type="text" readonly name="attr_mutotal0" />
|
|
<input class="l1 row5 tinyInput totalrow" type="text" readonly name="attr_mutotal1" />
|
|
<input class="l2 row5 tinyInput totalrow" type="text" readonly name="attr_mutotal2" />
|
|
<input class="l3 row5 tinyInput totalrow" type="text" readonly name="attr_mutotal3" />
|
|
<input class="l4 row5 tinyInput totalrow" type="text" readonly name="attr_mutotal4" />
|
|
<input class="l5 row5 tinyInput totalrow" type="text" readonly name="attr_mutotal5" />
|
|
<input class="l6 row5 tinyInput totalrow" type="text" readonly name="attr_mutotal6" />
|
|
<input class="l7 row5 tinyInput totalrow" type="text" readonly name="attr_mutotal7" />
|
|
<input class="l8 row5 tinyInput totalrow" type="text" readonly name="attr_mutotal8" />
|
|
<input class="l9 row5 tinyInput totalrow" type="text" readonly name="attr_mutotal9" />
|
|
|
|
<div class="option row2 smallInput" style="padding-left: 15px;">Battlemage?</div><input type="checkbox" class="optionValue row2 tinyInput" name="attr_battlemage" value="X" />
|
|
<div class="option row3 smallInput" style="padding-left: 15px;">Spell Jack?</div><input type="checkbox" class="optionValue row3 tinyInput" name="attr_spelljack" value="X" />
|
|
<div class="option row4 smallInput" style="padding-left: 15px;">Jack Level</div><input type="text" class="optionValue row4 tinyInput" name="attr_spelljacklevel" value="0" />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="spellright sub-section">
|
|
<div class="subtitles">Spell Failure</div>
|
|
<div class="spell-fail-grid">
|
|
<div class="smallInput tcleft row1">Low Intelligence:</div><input class="tinyInput tcright row1" type="text" readonly name="attr_sf_low_int" />
|
|
<div class="smallInput tcleft row2">Misc Modifier:</div><input class="tinyInput tcright row2" type="text" name="attr_sf_misc_mod" />
|
|
<div class="smallInput tcleft row3">Armor/Shield:</div><input class="tinyInput tcright row3" type="text" name="attr_sf_armor_shield" />
|
|
<div class="smallInput tcleft row4">Battle Mage:</div><input class="tinyInput tcright row4" readonly type="text" name="attr_sf_battlemage" />
|
|
<div class="smallInput tcleft row5">Spell Jack:</div><input class="tinyInput tcright row5" readonly type="text" name="attr_sf_spelljacked" />
|
|
<div class="smallInput tcleft row6 totalrow">Total:<button type="roll" name="roll_sf" title="roll_spell_failure" style="width:20px" class="btn ui-draggable"
|
|
value="&{template:spellfail} {{diceroll=[[[[1d100]]+5*@{honor_bonus}]]}} {{honor=[[5*@{honor_bonus}]]}} {{raw_roll=$[[0]]}} {{character=@{character_name}}} {{target=[[@{sf_spellFailure}]]}}"></button>
|
|
</div>
|
|
<input class="tinyInput tcright row6 totalrow" readonly type="text" name="attr_sf_spellFailure" />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="sub-section">
|
|
<div class="subtitles">Spell Books</div>
|
|
<fieldset class="repeating_spellbooks">
|
|
<div class="spellbooks">
|
|
<div class="tcleft row1"><span class="fixedwidthlabel">Book ID:</span></div>
|
|
<div class="tcleft row2"><input class="tinyInput" style="margin-left:20px;" type="text" name="attr_book_id" /></div>
|
|
|
|
<div class="tccleft2 row1">
|
|
<span class="fixedwidthlabel">Book Format:</span>
|
|
<select class="regularInput" name="attr_book_format">
|
|
<option value="leather-vellum">Leather Cover, vellum pages</option>
|
|
<option value="leather-parchment">Leather Cover, parchment pages</option>
|
|
<option value="animal-vellum">Animal Hide Cover, vellum pages</option>
|
|
<option value="animal-parchment">Animal Hide Cover, parchment pages</option>
|
|
<option value="monster-vellum">Monster Hide Cover, vellum pages</option>
|
|
<option value="monster-parchment">Monster Hide Cover, parchment pages</option>
|
|
<option value="dragon-vellum">Dragon Hide cover, vellum pages</option>
|
|
<option value="animal-bones">Animal Bones</option>
|
|
<option value="stone-tablets">Stone Tablets</option>
|
|
<option value="papyrus-scrolls">Papyrus Scrolls</option>
|
|
<option value="silk-ribbons">Silk Ribbons</option>
|
|
<option value="tanned-hides">Tanned Hides</option>
|
|
<option value="dried-bark">Dried Bark</option>
|
|
<option value="wooden-sticks">Wooden Sticks</option>
|
|
<option value="woven-cloth">Woven Cloth</option>
|
|
<option value="silk-rope">Silk Rope</option>
|
|
</select>
|
|
</div>
|
|
|
|
<div class="tcright row1"><span class="fixedwidthlabel">Travelling?:</span>
|
|
<input type="checkbox" name="attr_travelling_spellbook" value="X" />
|
|
</div>
|
|
|
|
<div class="tcright row2">
|
|
<span class="fixedwidthlabel">Spell Levels:</span>
|
|
<select class="smallInput" name="attr_spelllevels">
|
|
<option value="Cantrips">Cantrips</option>
|
|
<option value="L1-3">Level 1-3</option>
|
|
<option value="L4-6">Level 4-6</option>
|
|
<option value="L7-9">Level 7-9</option>
|
|
</select>
|
|
</div>
|
|
|
|
<div class="tccleft2 row2">
|
|
<span class="fixedwidthlabel">Location:</span>
|
|
<select class="regularInput" name="attr_booklocation">
|
|
<option value="Packable">Carried-Packable</option>
|
|
<option value="Carried">Carried/Worn</option>
|
|
<option value="Mount">Mount</option>
|
|
<option value="Town">In Town/Not Carried</option>
|
|
</select>
|
|
</div>
|
|
|
|
<div class="tccleft row3">
|
|
<span class="fixedwidthlabel">Weight:</span>
|
|
<input class="mediumInput" type="text" name="attr_bookweight" />
|
|
</div>
|
|
<div class="tccright row3">
|
|
<span class="fixedwidthlabel">Enc. Mod:</span>
|
|
<input class="mediumInput" type="text" name="attr_bookencmod" />
|
|
</div>
|
|
<div class="tcright row3">
|
|
<span class="fixedwidthlabel">Encumberance:</span>
|
|
<input class="mediumInput" readonly type="text" name="attr_bookenc" />
|
|
</div>
|
|
|
|
<div class="tccleft row4">
|
|
<span class="fixedwidthlabel">Page Count:</span>
|
|
<input class="tinyInput" readonly type="text" name="attr_pagesused" /> Of
|
|
<select class="reallySmallInput" name="attr_pagecount">
|
|
<option value="24">24</option>
|
|
<option value="28">28</option>
|
|
<option value="32">32</option>
|
|
<option value="36">36</option>
|
|
<option value="40">40</option>
|
|
<option value="44">44</option>
|
|
<option value="48">48</option>
|
|
<option value="52">52</option>
|
|
<option value="64">64</option>
|
|
<option value="68">68</option>
|
|
<option value="72">72</option>
|
|
<option value="76">76</option>
|
|
<option value="80">80</option>
|
|
<option value="84">84</option>
|
|
<option value="88">88</option>
|
|
<option value="92">92</option>
|
|
<option value="96">96</option>
|
|
<option value="100">100</option>
|
|
<option value="104">104</option>
|
|
<option value="108">108</option>
|
|
<option value="112">112</option>
|
|
<option value="NA">N/A</option>
|
|
</select>
|
|
</div>
|
|
|
|
<div class="tccright row4">
|
|
<span class="fixedwidthlabel">Thickness:</span>
|
|
<select class="mediumInput" name="attr_bookthickness">
|
|
<option value="1">1"</option>
|
|
<option value="2">2"</option>
|
|
<option value="6">6"</option>
|
|
<option value="7">7"</option>
|
|
<option value="8">8"</option>
|
|
<option value="9">9"</option>
|
|
<option value="10">10"</option>
|
|
<option value="NA">N/A</option>
|
|
</select>
|
|
</div>
|
|
|
|
<div class="tcright row4">
|
|
<span class="fixedwidthlabel">Size:</span>
|
|
<select class="smallInput" name="attr_book_size">
|
|
<option value="12x12">12"x12"</option>
|
|
<option value="13x12">13"x12"</option>
|
|
<option value="14x12">14"x12"</option>
|
|
<option value="15x12">15"x12"</option>
|
|
<option value="16x12">16"x12"</option>
|
|
<option value="17x12">17"x12"</option>
|
|
<option value="18x12">18"x12"</option>
|
|
<option value="9x6">9"x6"</option>
|
|
<option value="9x7">9"x7"</option>
|
|
<option value="9x8">9"x8"</option>
|
|
<option value="9x9">9"x9"</option>
|
|
<option value="10x6">10"x6"</option>
|
|
<option value="10x7">10"x7"</option>
|
|
<option value="10x8">10"x8"</option>
|
|
<option value="10x9">10"x9"</option>
|
|
<option value="11x6">11"x6"</option>
|
|
<option value="11x7">11"x7"</option>
|
|
<option value="11x8">11"x8"</option>
|
|
<option value="11x9">11"x9"</option>
|
|
<option value="12x6">12"x6"</option>
|
|
<option value="12x7">12"x7"</option>
|
|
<option value="12x8">12"x8"</option>
|
|
<option value="12x9">12"x9"</option>
|
|
</select>
|
|
</div>
|
|
|
|
</div>
|
|
<hr/>
|
|
</fieldset>
|
|
|
|
</div>
|
|
<div class="sub-section">
|
|
<div class="subtitles">Spells</div>
|
|
<div>
|
|
<span class="tinyInput headingitem heading" style="padding:0px;width:32px;"># Cast</span>
|
|
<span class="tinyInput headingitem heading" style="padding:0px;width:32px;"># Mem</span>
|
|
<span class="tinyInput headingitem heading" style="padding:0px;width:32px;">Level</span>
|
|
<span class="regularInput headingitem heading" style="padding:0px;width:250px;">Spell Name</span>
|
|
<span class="tinyInput headingitem heading" style="padding:0px;width:32px;">Book Id</span>
|
|
<span class="tinyInput headingitem heading" style="padding:0px;width:32px;"># Pages</span>
|
|
<span class="mediumPlusInput headingitem heading" style="padding:0px;width:120px;">Schools</span>
|
|
<span class="mediumInput headingitem heading" style="padding:0px;width:75px;">Page Ref</span>
|
|
<span class="mediumPlusInput headingitem heading" style="padding:0px;width:120px;">Spell Notes</span>
|
|
|
|
</div>
|
|
<fieldset class="repeating_spells">
|
|
<div>
|
|
<input class="tinyInput" type="text" name="attr_memorized" />
|
|
<input class="tinyInput" type="text" name="attr_memorized_max" />
|
|
<input class="tinyInput" type="text" name="attr_spelllevel" />
|
|
<input class="regularInput" type="text" name="attr_spellname" />
|
|
<input class="tinyInput" type="text" name="attr_bookid" />
|
|
<input class="tinyInput" type="text" name="attr_numpages" />
|
|
<select class="mediumPlusInput" name="attr_schools">
|
|
<option value="Abjuration">Abjuration</option>
|
|
<option value="Abj./Alt.">Abj./Alt.</option>
|
|
<option value="Abj./Conj.">Abj./Conj.</option>
|
|
<option value="Abj./Ench.">Abj./Ench.</option>
|
|
<option value="Abj./Evoc.">Abj./Evoc.</option>
|
|
<option value="Abj./Ill.">Abj./Ill.</option>
|
|
<option value="Abj./Nec.">Abj./Nec.</option>
|
|
<option value="Alteration">Alteration</option>
|
|
<option value="Alt./Charm/Ench./Evoc.">Alt./Charm/Ench./Evoc.</option>
|
|
<option value="Alt./Conj.">Alt./Conj.</option>
|
|
<option value="Alt./Ench.">Alt./Ench.</option>
|
|
<option value="Alt./Evoc.">Alt./Evoc.</option>
|
|
<option value="Alt./Ill.">Alt./Ill.</option>
|
|
<option value="Charm/Ench./Evoc.">Charm/Ench./Evoc.</option>
|
|
<option value="Conjuration">Conjuration</option>
|
|
<option value="Conj./Div.">Conj./Div.</option>
|
|
<option value="Conj./Evoc.">Conj./Evoc.</option>
|
|
<option value="Conj./Ill.">Conj./Ill.</option>
|
|
<option value="Conj./Nec.">Conj./Nec.</option>
|
|
<option value="Divination">Divination</option>
|
|
<option value="Div./Ench.">Div./Ench.</option>
|
|
<option value="Div./Nec.">Div./Nec.</option>
|
|
<option value="Enchantment">Enchantment</option>
|
|
<option value="Ench./Evoc.">Ench./Evoc.</option>
|
|
<option value="Evocation">Evocation</option>
|
|
<option value="Evoc./Ill.">Evoc./Ill.</option>
|
|
<option value="Evoc./Nec.">Evoc./Nec.</option>
|
|
<option value="Illusion">Illusion</option>
|
|
<option value="Ill./Nec.">Ill./Nec.</option>
|
|
<option value="Necromancy">Necromancy</option>
|
|
</select>
|
|
<input class="mediumInput" type="text" name="attr_bookreference" />
|
|
<input class="mediumPlusInput" type="text" name="attr_spellnotes" />
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="minor-label center">Visit https://arghive.net/image-sources to see image credits</div>
|
|
<div class="background-hf"></div>
|
|
</div>
|
|
|
|
<div class="sheet-cleric background">
|
|
<div class="background-hf"></div>
|
|
<div class="background-left">
|
|
<div class="basic">
|
|
<div class="spell-grid">
|
|
<div class="spellleft sub-section">
|
|
<div class="subtitles">Spell Summary</div>
|
|
<div class="spellByLevel row1">
|
|
<div class="clericspell-by-level">
|
|
<div class="tcleft row1 smallInput"></div>
|
|
<div class="l1 row1" style="text-align: center;">1</div>
|
|
<div class="l2 row1" style="text-align: center;">2</div>
|
|
<div class="l3 row1" style="text-align: center;">3</div>
|
|
<div class="l4 row1" style="text-align: center;">4</div>
|
|
<div class="l5 row1" style="text-align: center;">5</div>
|
|
<div class="l6 row1" style="text-align: center;">6</div>
|
|
<div class="l7 row1" style="text-align: center;">7</div>
|
|
|
|
<div class="tcleft row2 sallInput">Base</div>
|
|
<input class="l1 row2 tinyInput" type="text" name="attr_clbase1" />
|
|
<input class="l2 row2 tinyInput" type="text" name="attr_clbase2" />
|
|
<input class="l3 row2 tinyInput" type="text" name="attr_clbase3" />
|
|
<input class="l4 row2 tinyInput" type="text" name="attr_clbase4" />
|
|
<input class="l5 row2 tinyInput" type="text" name="attr_clbase5" />
|
|
<input class="l6 row2 tinyInput" type="text" name="attr_clbase6" />
|
|
<input class="l7 row2 tinyInput" type="text" name="attr_clbase7" />
|
|
|
|
<div class="tcleft row3 smallInput">Bonus</div>
|
|
<input class="l1 row3 tinyInput" type="text" readonly name="attr_clbonus1" />
|
|
<input class="l2 row3 tinyInput" type="text" readonly name="attr_clbonus2" />
|
|
<input class="l3 row3 tinyInput" type="text" readonly name="attr_clbonus3" />
|
|
<input class="l4 row3 tinyInput" type="text" readonly name="attr_clbonus4" />
|
|
<input class="l5 row3 tinyInput" type="text" readonly name="attr_clbonus5" />
|
|
<input class="l6 row3 tinyInput" type="text" readonly name="attr_clbonus6" />
|
|
<input class="l7 row3 tinyInput" type="text" readonly name="attr_clbonus7" />
|
|
|
|
<div class="tcleft row4 smallInput">Spell Jack</div>
|
|
<input class="l1 row4 tinyInput" type="text" readonly name="attr_cljack1" />
|
|
<input class="l2 row4 tinyInput" type="text" readonly name="attr_cljack2" />
|
|
<input class="l3 row4 tinyInput" type="text" readonly name="attr_cljack3" />
|
|
<input class="l4 row4 tinyInput" type="text" readonly name="attr_cljack4" />
|
|
<input class="l5 row4 tinyInput" type="text" readonly name="attr_cljack5" />
|
|
<input class="l6 row4 tinyInput" type="text" readonly name="attr_cljack6" />
|
|
<input class="l7 row4 tinyInput" type="text" readonly name="attr_cljack7" />
|
|
|
|
<div class="tcleft row5 smallInput totalrow">Total</div>
|
|
<input class="l1 row5 tinyInput totalrow" type="text" readonly name="attr_cltotal1" />
|
|
<input class="l2 row5 tinyInput totalrow" type="text" readonly name="attr_cltotal2" />
|
|
<input class="l3 row5 tinyInput totalrow" type="text" readonly name="attr_cltotal3" />
|
|
<input class="l4 row5 tinyInput totalrow" type="text" readonly name="attr_cltotal4" />
|
|
<input class="l5 row5 tinyInput totalrow" type="text" readonly name="attr_cltotal5" />
|
|
<input class="l6 row5 tinyInput totalrow" type="text" readonly name="attr_cltotal6" />
|
|
<input class="l7 row5 tinyInput totalrow" type="text" readonly name="attr_cltotal7" />
|
|
|
|
<div class="option row3 smallInput" style="padding-left: 15px;">Spell Jack?</div><input type="checkbox" class="optionValue row3 tinyInput" name="attr_clericspelljack" value="X" />
|
|
<div class="option row4 smallInput" style="padding-left: 15px;">Jack Level</div><input type="text" class="optionValue row4 tinyInput" name="attr_clericspelljacklevel" value="0" />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="spellright sub-section">
|
|
<div class="subtitles">Cleric Spell Failure</div>
|
|
<div class="spell-fail-grid">
|
|
<div class="smallInput tcleft row1">Low Wisdom:</div><input class="tinyInput tcright row1" type="text" readonly name="attr_wis_chance_spellfail" />
|
|
<div class="smallInput tcleft row2">Misc Modifier:</div><input class="tinyInput tcright row2" type="text" name="attr_sf_misc_clericmod" />
|
|
<div class="smallInput tcleft row5">Spell Jack:</div><input class="tinyInput tcright row5" readonly type="text" name="attr_sf_spelljacked" />
|
|
<div class="smallInput tcleft row6 totalrow">Total:<button type="roll" name="roll_sf" title="roll_cleric_spell_failure" style="width:20px" class="btn ui-draggable"
|
|
value="&{template:spellfail} {{honor=@{honor_bonus}}} {{diceroll=[[1d100+5*@{honor_bonus}]]}} {{character=@{character_name}}} {{target=[[@{sf_clericspellFailure}]]}}"></button>
|
|
</div>
|
|
<input class="tinyInput tcright row6 totalrow" readonly type="text" name="attr_sf_clericspellFailure" />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="sub-section">
|
|
<div class="subtitles">Spells</div>
|
|
<div>
|
|
<span class="tinyInput headingitem heading" style="padding:0px;width:32px;"># Cast</span>
|
|
<span class="tinyInput headingitem heading" style="padding:0px;width:32px;"># Mem</span>
|
|
<span class="tinyInput headingitem heading" style="padding:0px;width:32px;">Level</span>
|
|
<span class="tinyInput headingitem heading" style="padding:0px;width:32px;">Cast Time</span>
|
|
<span class="regularInput headingitem heading" style="padding:0px;width:250px;">Spell Name</span>
|
|
<span class="mediumPlusInput headingitem heading" style="padding:0px;width:120px;">Schools</span>
|
|
<span class="mediumInput headingitem heading" style="padding:0px;width:75px;">Page Ref</span>
|
|
<span class="mediumPlusInput headingitem heading" style="padding:0px;width:120px;">Spell Notes</span>
|
|
</div>
|
|
<fieldset class="repeating_clspells">
|
|
<div>
|
|
<input class="tinyInput" type="text" name="attr_clmemorized" />
|
|
<input class="tinyInput" type="text" name="attr_clmemorized_max" />
|
|
<input class="tinyInput" type="text" name="attr_clspelllevel" />
|
|
<input class="tinyInput" type="text" name="attr_clcasttime" />
|
|
<input class="regularInput" type="text" name="attr_clspellname" />
|
|
<select class="mediumPlusInput" name="attr_clschools">
|
|
<option value="Abj./Alteration">Abj./Alteration</option>
|
|
<option value="Abj./Enchant.">Abj./Enchant.</option>
|
|
<option value="Abj./Evocation">Abj./Evocation</option>
|
|
<option value="Abjuration">Abjuration</option>
|
|
<option value="Alt./Enchantment">Alt./Enchantment</option>
|
|
<option value="Alt./Evocation">Alt./Evocation</option>
|
|
<option value="Alteration">Alteration</option>
|
|
<option value="Conj./Summoning">Conj./Summoning</option>
|
|
<option value="Divination">Divination</option>
|
|
<option value="Enchant/Charm">Enchant/Charm</option>
|
|
<option value="Enchantment">Enchantment</option>
|
|
<option value="Evoc./Illus./Phant.">Evoc./Illus./Phant.</option>
|
|
<option value="Evocation">Evocation</option>
|
|
<option value="Evoc./Alteration">Evoc./Alteration</option>
|
|
<option value="Evoc./Enchantment">Evoc./Enchantment</option>
|
|
<option value="Illusion/Phant.">Illusion/Phant.</option>
|
|
<option value="Invocation">Invocation</option>
|
|
<option value="Necromancy">Necromancy</option>
|
|
<option value="Necromancy/Conj.">Necromancy/Conj.</option>
|
|
</select>
|
|
<input class="mediumInput" type="text" name="attr_clbookreference" />
|
|
<input class="mediumPlusInput" type="text" name="attr_clspellnotes" />
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="minor-label center">Visit https://arghive.net/image-sources to see image credits</div>
|
|
<div class="background-hf"></div>
|
|
</div>
|
|
|
|
<div class="sheet-thief background">
|
|
|
|
<div class="background-hf"></div>
|
|
<div class="background-left">
|
|
<div class="basic">
|
|
<div class="sub-section">
|
|
<div class="subtitles">Thieving</div>
|
|
<div class="thief-grid">
|
|
<div class="thiefskill row1 heading" style="text-align: left;"><br/>Skill</div>
|
|
<div class="tinyInput row1 heading"><br/>Total</div>
|
|
<div class="tinyInput row1 heading"><br/>Base</div>
|
|
<div class="tinyInput row1 heading">Alloc-<br/>ated</div>
|
|
<div class="tinyInput row1 heading">Racial<br/>Adjust</div>
|
|
<div class="tinyInput row1 heading">Dex<br/>Adjust</div>
|
|
<div class="tinyInput row1 heading">Armor<br/>Adjust</div>
|
|
<div class="tinyInput row1 heading">Misc<br/>Adjust</div>
|
|
<div class="tinyInput row1 heading">Other<br/>Adjust</div>
|
|
|
|
<div class="thiefskill row2"><button type="roll" name="roll_pp" title="roll_pp" style="width:20px" class="btn ui-draggable"
|
|
value="&{template:thief} {{diceroll=[[[[1d100]]-5*@{honor_bonus}-(?{Modifier|0})]]}} {{raw_roll=$[[0]]}} {{thiefskill=Pick Pockets}} {{honor=[[@{honor_bonus}*5]]}} {{mods=[[?{Modifier}*-1]]}} {{character=@{character_name}}} {{target=[[@{pptotal}]]}}"></button>
|
|
Pick Pockets
|
|
</div>
|
|
<input class="row2 tinyInput" readonly type="text" name="attr_pptotal" />
|
|
<input class="row2 tinyInput" readonly type="text" name="attr_ppbase" value="15" />
|
|
<input class="row2 tinyInput" type="text" name="attr_ppallocated" />
|
|
<input class="row2 tinyInput" readonly type="text" name="attr_ppracial" />
|
|
<input class="row2 tinyInput" readonly type="text" name="attr_ppdexadjust" />
|
|
<input class="row2 tinyInput" readonly type="text" name="attr_pparmoradjust" />
|
|
<input class="row2 tinyInput" type="text" name="attr_ppadjust" />
|
|
<input class="row2 tinyInput" type="text" name="attr_ppotheradjust" />
|
|
|
|
<div class="thiefskill row3"><button type="roll" name="roll_ol" title="roll_ol" style="width:20px" class="btn ui-draggable"
|
|
value="&{template:thief} {{diceroll=[[[[1d100]]-5*@{honor_bonus}-(?{Modifier|0})]]}} {{raw_roll=$[[0]]}} {{thiefskill=Open Locks}} {{honor=[[@{honor_bonus}*5]]}} {{mods=[[?{Modifier}*-1]]}} {{character=@{character_name}}} {{target=[[@{oltotal}]]}}"></button>
|
|
Open Locks
|
|
</div>
|
|
<input class="row3 tinyInput" readonly type="text" name="attr_oltotal" />
|
|
<input class="row3 tinyInput" readonly type="text" name="attr_olbase" value="10" />
|
|
<input class="row3 tinyInput" type="text" name="attr_olallocated" />
|
|
<input class="row3 tinyInput" readonly type="text" name="attr_olracial" />
|
|
<input class="row3 tinyInput" readonly type="text" name="attr_oldexadjust" />
|
|
<input class="row3 tinyInput" readonly type="text" name="attr_olarmoradjust" />
|
|
<input class="row3 tinyInput" type="text" name="attr_oladjust" />
|
|
<input class="row3 tinyInput" type="text" name="attr_olotheradjust" />
|
|
|
|
<div class="thiefskill row4"><button type="roll" name="roll_ft" title="roll_ft" style="width:20px" class="btn ui-draggable"
|
|
value="&{template:thief} {{diceroll=[[[[1d100]]-5*@{honor_bonus}-(?{Modifier|0})]]}} {{raw_roll=$[[0]]}} {{thiefskill=Find Traps}} {{honor=[[@{honor_bonus}*5]]}} {{mods=[[?{Modifier}*-1]]}} {{character=@{character_name}}} {{target=[[@{fttotal}]]}}"></button>
|
|
Find Traps
|
|
</div>
|
|
<input class="row4 tinyInput" readonly type="text" name="attr_fttotal" />
|
|
<input class="row4 tinyInput" readonly type="text" name="attr_ftbase" value="5" />
|
|
<input class="row4 tinyInput" type="text" name="attr_ftallocated" />
|
|
<input class="row4 tinyInput" readonly type="text" name="attr_ftracial" />
|
|
<input class="row4 tinyInput" readonly type="text" name="attr_ftdexadjust" />
|
|
<input class="row4 tinyInput" readonly type="text" name="attr_ftarmoradjust" />
|
|
<input class="row4 tinyInput" type="text" name="attr_ftadjust" />
|
|
<input class="row4 tinyInput" type="text" name="attr_ftotheradjust" />
|
|
|
|
<div class="thiefskill row5"><button type="roll" name="roll_rt" title="roll_rt" style="width:20px" class="btn ui-draggable"
|
|
value="&{template:thief} {{diceroll=[[[[1d100]]-5*@{honor_bonus}-(?{Modifier|0})]]}} {{raw_roll=$[[0]]}} {{thiefskill=Remove Traps}} {{honor=[[@{honor_bonus}*5]]}} {{mods=[[?{Modifier}*-1]]}} {{character=@{character_name}}} {{target=[[@{rttotal}]]}}"></button>
|
|
Remove Traps
|
|
</div>
|
|
<input class="row5 tinyInput" readonly type="text" name="attr_rttotal" />
|
|
<input class="row5 tinyInput" readonly type="text" name="attr_rtbase" value="5" />
|
|
<input class="row5 tinyInput" type="text" name="attr_rtallocated" />
|
|
<input class="row5 tinyInput" readonly type="text" name="attr_rtracial" />
|
|
<input class="row5 tinyInput" readonly type="text" name="attr_rtdexadjust" />
|
|
<input class="row5 tinyInput" readonly type="text" name="attr_rtarmoradjust" />
|
|
<input class="row5 tinyInput" type="text" name="attr_rtadjust" />
|
|
<input class="row5 tinyInput" type="text" name="attr_rtotheradjust" />
|
|
|
|
<div class="thiefskill row6"><button type="roll" name="roll_ms" title="roll_ms" style="width:20px" class="btn ui-draggable"
|
|
value="&{template:thief} {{diceroll=[[[[1d100]]-5*@{honor_bonus}-(?{Modifier|0})]]}} {{raw_roll=$[[0]]}} {{thiefskill=Move Silently}} {{honor=[[@{honor_bonus}*5]]}} {{mods=[[?{Modifier}*-1]]}} {{character=@{character_name}}} {{target=[[@{mstotal}]]}}"></button>
|
|
Move Silently
|
|
</div>
|
|
<input class="row6 tinyInput" readonly type="text" name="attr_mstotal" />
|
|
<input class="row6 tinyInput" readonly type="text" name="attr_msbase" value="10" />
|
|
<input class="row6 tinyInput" type="text" name="attr_msallocated" />
|
|
<input class="row6 tinyInput" readonly type="text" name="attr_msracial" />
|
|
<input class="row6 tinyInput" readonly type="text" name="attr_msdexadjust" />
|
|
<input class="row6 tinyInput" readonly type="text" name="attr_msarmoradjust" />
|
|
<input class="row6 tinyInput" type="text" name="attr_msadjust" />
|
|
<input class="row6 tinyInput" type="text" name="attr_msotheradjust" />
|
|
|
|
<div class="thiefskill row7"><button type="roll" name="roll_hs" title="roll_hs" style="width:20px" class="btn ui-draggable"
|
|
value="&{template:thief} {{diceroll=[[[[1d100]]-5*@{honor_bonus}-(?{Modifier|0})]]}} {{raw_roll=$[[0]]}} {{thiefskill=Hide In Shadows}} {{honor=[[@{honor_bonus}*5]]}} {{mods=[[?{Modifier}*-1]]}} {{character=@{character_name}}} {{target=[[@{hstotal}]]}}"></button>
|
|
Hide in Shadows
|
|
</div>
|
|
<input class="row7 tinyInput" readonly type="text" name="attr_hstotal" />
|
|
<input class="row7 tinyInput" readonly type="text" name="attr_hsbase" value="5" />
|
|
<input class="row7 tinyInput" type="text" name="attr_hsallocated" />
|
|
<input class="row7 tinyInput" readonly type="text" name="attr_hsracial" />
|
|
<input class="row7 tinyInput" readonly type="text" name="attr_hsdexadjust" />
|
|
<input class="row7 tinyInput" readonly type="text" name="attr_hsarmoradjust" />
|
|
<input class="row7 tinyInput" type="text" name="attr_hsadjust" />
|
|
<input class="row7 tinyInput" type="text" name="attr_hsotheradjust" />
|
|
|
|
<div class="thiefskill row8"><button type="roll" name="roll_dn" title="roll_dn" style="width:20px" class="btn ui-draggable"
|
|
value="&{template:thief} {{diceroll=[[[[1d100]]-5*@{honor_bonus}-(?{Modifier|0})]]}} {{raw_roll=$[[0]]}} {{thiefskill=Detect Noise}} {{honor=[[@{honor_bonus}*5]]}} {{mods=[[?{Modifier}*-1]]}} {{character=@{character_name}}} {{target=[[@{dntotal}]]}}"></button>
|
|
Detect Noise
|
|
</div>
|
|
<input class="row8 tinyInput" readonly type="text" name="attr_dntotal" />
|
|
<input class="row8 tinyInput" readonly type="text" name="attr_dnbase" value="15" />
|
|
<input class="row8 tinyInput" type="text" name="attr_dnallocated" />
|
|
<input class="row8 tinyInput" readonly type="text" name="attr_dnracial" />
|
|
<input class="row8 tinyInput" readonly type="text" name="attr_dndexadjust" value="N/A" />
|
|
<input class="row8 tinyInput" readonly type="text" name="attr_dnarmoradjust" />
|
|
<input class="row8 tinyInput" type="text" name="attr_dnadjust" />
|
|
<input class="row8 tinyInput" type="text" name="attr_dnotheradjust" />
|
|
|
|
<div class="thiefskill row9"><button type="roll" name="roll_cw" title="roll_cw" style="width:20px" class="btn ui-draggable"
|
|
value="&{template:thief} {{diceroll=[[[[1d100]]-5*@{honor_bonus}-(?{Modifier|0})]]}} {{raw_roll=$[[0]]}} {{thiefskill=Climb Walls}} {{honor=[[@{honor_bonus}*5]]}} {{mods=[[?{Modifier}*-1]]}} {{character=@{character_name}}} {{target=[[@{cwtotal}]]}}"></button>
|
|
Climb Walls
|
|
</div>
|
|
<input class="row9 tinyInput" readonly type="text" name="attr_cwtotal" />
|
|
<input class="row9 tinyInput" readonly type="text" name="attr_cwbase" value="60" />
|
|
<input class="row9 tinyInput" type="text" name="attr_cwallocated" />
|
|
<input class="row9 tinyInput" readonly type="text" name="attr_cwracial" />
|
|
<input class="row9 tinyInput" readonly type="text" name="attr_cwdexadjust" value="N/A" />
|
|
<input class="row9 tinyInput" readonly type="text" name="attr_cwarmoradjust" />
|
|
<input class="row9 tinyInput" type="text" name="attr_cwadjust" />
|
|
<input class="row9 tinyInput" type="text" name="attr_cwotheradjust" />
|
|
|
|
<div class="thiefskill row10"><button type="roll" name="roll_rl" title="roll_rl" style="width:20px" class="btn ui-draggable"
|
|
value="&{template:thief} {{diceroll=[[[[1d100]]-5*@{honor_bonus}-(?{Modifier|0})]]}} {{raw_roll=$[[0]]}} {{thiefskill=Read Languages}} {{honor=[[@{honor_bonus}*5]]}} {{mods=[[?{Modifier}*-1]]}} {{character=@{character_name}}} {{target=[[@{rltotal}]]}}"></button>
|
|
Read Languages
|
|
</div>
|
|
<input class="row10 tinyInput" readonly type="text" name="attr_rltotal" />
|
|
<input class="row10 tinyInput" readonly type="text" name="attr_rlbase" value="0" />
|
|
<input class="row10 tinyInput" type="text" name="attr_rlallocated" />
|
|
<input class="row10 tinyInput" readonly type="text" name="attr_rlracial" />
|
|
<input class="row10 tinyInput" readonly type="text" name="attr_rldexadjust" value="N/A" />
|
|
<input class="row10 tinyInput" readonly type="text" name="attr_rlarmoradjust" value="N/A" />
|
|
<input class="row10 tinyInput" type="text" name="attr_rladjust" />
|
|
<input class="row10 tinyInput" type="text" name="attr_rlotheradjust" />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="minor-label center">Visit https://arghive.net/image-sources to see image credits</div>
|
|
<div class="background-hf"></div>
|
|
</div>
|
|
|
|
<div class="sheet-ep background">
|
|
<div class="background-hf"></div>
|
|
<div class="background-left">
|
|
<div class="basic">
|
|
<div class="sub-section">
|
|
<div class="subtitles">Experience Points</div>
|
|
<div class="three-column">
|
|
<div class="col1">
|
|
<div class="heading">EPs: </div><input type="text" name="attr_eps" class="mediumInputRight" />
|
|
</div>
|
|
<div class="col2">
|
|
<div class="heading">Next Level: </div><input type="text" name="attr_eps_next" class="mediumInputRight" />
|
|
</div>
|
|
<div class="col3">
|
|
<div class="heading">Bonus %: </div><input type="text" name="attr_ep_bonus" class="mediumInputRight" />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="sub-section">
|
|
<div class="subtitles">Level Tracking</div>
|
|
<div class="level-grid">
|
|
<div class="level-gridcol">
|
|
<div class="heading"> </div>
|
|
<div class="heading">STR</div>
|
|
<div class="heading">DEX</div>
|
|
<div class="heading">CON</div>
|
|
<div class="heading">INT</div>
|
|
<div class="heading">WIS</div>
|
|
<div class="heading">CHR</div>
|
|
<div class="heading">COM</div>
|
|
<div class="heading">HP</div>
|
|
</div>
|
|
<div class="level-gridcol">
|
|
<div class="heading">Die</div>
|
|
<input type="text" name="attr_lvl_str_die" />
|
|
<input type="text" name="attr_lvl_dex_die" />
|
|
<input type="text" name="attr_lvl_con_die" />
|
|
<input type="text" name="attr_lvl_int_die" />
|
|
<input type="text" name="attr_lvl_wis_die" />
|
|
<input type="text" name="attr_lvl_chr_die" />
|
|
<input type="text" name="attr_lvl_com_die" />
|
|
<input type="text" name="attr_lvl_hp_die" />
|
|
</div>
|
|
<div class="level-gridcol">
|
|
<div class="heading">2nd</div>
|
|
<input type="text" name="attr_lvl02_str" />
|
|
<input type="text" name="attr_lvl02_dex" />
|
|
<input type="text" name="attr_lvl02_con" />
|
|
<input type="text" name="attr_lvl02_int" />
|
|
<input type="text" name="attr_lvl02_wis" />
|
|
<input type="text" name="attr_lvl02_chr" />
|
|
<input type="text" name="attr_lvl02_com" />
|
|
<input type="text" name="attr_lvl02_hp" />
|
|
</div>
|
|
<div class="level-gridcol">
|
|
<div class="heading">3rd</div>
|
|
<input type="text" name="attr_lvl03_str" />
|
|
<input type="text" name="attr_lvl03_dex" />
|
|
<input type="text" name="attr_lvl03_con" />
|
|
<input type="text" name="attr_lvl03_int" />
|
|
<input type="text" name="attr_lvl03_wis" />
|
|
<input type="text" name="attr_lvl03_chr" />
|
|
<input type="text" name="attr_lvl03_com" />
|
|
<input type="text" name="attr_lvl03_hp" />
|
|
</div>
|
|
<div class="level-gridcol">
|
|
<div class="heading">4th</div>
|
|
<input type="text" name="attr_lvl04_str" />
|
|
<input type="text" name="attr_lvl04_dex" />
|
|
<input type="text" name="attr_lvl04_con" />
|
|
<input type="text" name="attr_lvl04_int" />
|
|
<input type="text" name="attr_lvl04_wis" />
|
|
<input type="text" name="attr_lvl04_chr" />
|
|
<input type="text" name="attr_lvl04_com" />
|
|
<input type="text" name="attr_lvl04_hp" />
|
|
</div>
|
|
<div class="level-gridcol">
|
|
<div class="heading">5th</div>
|
|
<input type="text" name="attr_lvl05_str" />
|
|
<input type="text" name="attr_lvl05_dex" />
|
|
<input type="text" name="attr_lvl05_con" />
|
|
<input type="text" name="attr_lvl05_int" />
|
|
<input type="text" name="attr_lvl05_wis" />
|
|
<input type="text" name="attr_lvl05_chr" />
|
|
<input type="text" name="attr_lvl05_com" />
|
|
<input type="text" name="attr_lvl05_hp" />
|
|
</div>
|
|
<div class="level-gridcol">
|
|
<div class="heading">6th</div>
|
|
<input type="text" name="attr_lvl06_str" />
|
|
<input type="text" name="attr_lvl06_dex" />
|
|
<input type="text" name="attr_lvl06_con" />
|
|
<input type="text" name="attr_lvl06_int" />
|
|
<input type="text" name="attr_lvl06_wis" />
|
|
<input type="text" name="attr_lvl06_chr" />
|
|
<input type="text" name="attr_lvl06_com" />
|
|
<input type="text" name="attr_lvl06_hp" />
|
|
</div>
|
|
<div class="level-gridcol">
|
|
<div class="heading">7th</div>
|
|
<input type="text" name="attr_lvl07_str" />
|
|
<input type="text" name="attr_lvl07_dex" />
|
|
<input type="text" name="attr_lvl07_con" />
|
|
<input type="text" name="attr_lvl07_int" />
|
|
<input type="text" name="attr_lvl07_wis" />
|
|
<input type="text" name="attr_lvl07_chr" />
|
|
<input type="text" name="attr_lvl07_com" />
|
|
<input type="text" name="attr_lvl07_hp" />
|
|
</div>
|
|
<div class="level-gridcol">
|
|
<div class="heading">8th</div>
|
|
<input type="text" name="attr_lvl08_str" />
|
|
<input type="text" name="attr_lvl08_dex" />
|
|
<input type="text" name="attr_lvl08_con" />
|
|
<input type="text" name="attr_lvl08_int" />
|
|
<input type="text" name="attr_lvl08_wis" />
|
|
<input type="text" name="attr_lvl08_chr" />
|
|
<input type="text" name="attr_lvl08_com" />
|
|
<input type="text" name="attr_lvl08_hp" />
|
|
</div>
|
|
<div class="level-gridcol">
|
|
<div class="heading">9th</div>
|
|
<input type="text" name="attr_lvl09_str" />
|
|
<input type="text" name="attr_lvl09_dex" />
|
|
<input type="text" name="attr_lvl09_con" />
|
|
<input type="text" name="attr_lvl09_int" />
|
|
<input type="text" name="attr_lvl09_wis" />
|
|
<input type="text" name="attr_lvl09_chr" />
|
|
<input type="text" name="attr_lvl09_com" />
|
|
<input type="text" name="attr_lvl09_hp" />
|
|
</div>
|
|
<div class="level-gridcol">
|
|
<div class="heading">10th</div>
|
|
<input type="text" name="attr_lvl10_str" />
|
|
<input type="text" name="attr_lvl10_dex" />
|
|
<input type="text" name="attr_lvl10_con" />
|
|
<input type="text" name="attr_lvl10_int" />
|
|
<input type="text" name="attr_lvl10_wis" />
|
|
<input type="text" name="attr_lvl10_chr" />
|
|
<input type="text" name="attr_lvl10_com" />
|
|
<input type="text" name="attr_lvl10_hp" />
|
|
</div>
|
|
<div class="level-gridcol">
|
|
<div class="heading">11th</div>
|
|
<input type="text" name="attr_lvl11_str" />
|
|
<input type="text" name="attr_lvl11_dex" />
|
|
<input type="text" name="attr_lvl11_con" />
|
|
<input type="text" name="attr_lvl11_int" />
|
|
<input type="text" name="attr_lvl11_wis" />
|
|
<input type="text" name="attr_lvl11_chr" />
|
|
<input type="text" name="attr_lvl11_com" />
|
|
<input type="text" name="attr_lvl11_hp" />
|
|
</div>
|
|
<div class="level-gridcol">
|
|
<div class="heading">12th</div>
|
|
<input type="text" name="attr_lvl12_str" />
|
|
<input type="text" name="attr_lvl12_dex" />
|
|
<input type="text" name="attr_lvl12_con" />
|
|
<input type="text" name="attr_lvl12_int" />
|
|
<input type="text" name="attr_lvl12_wis" />
|
|
<input type="text" name="attr_lvl12_chr" />
|
|
<input type="text" name="attr_lvl12_com" />
|
|
<input type="text" name="attr_lvl12_hp" />
|
|
</div>
|
|
<div class="level-gridcol">
|
|
<div class="heading">13th</div>
|
|
<input type="text" name="attr_lvl13_str" />
|
|
<input type="text" name="attr_lvl13_dex" />
|
|
<input type="text" name="attr_lvl13_con" />
|
|
<input type="text" name="attr_lvl13_int" />
|
|
<input type="text" name="attr_lvl13_wis" />
|
|
<input type="text" name="attr_lvl13_chr" />
|
|
<input type="text" name="attr_lvl13_com" />
|
|
<input type="text" name="attr_lvl13_hp" />
|
|
</div>
|
|
<div class="level-gridcol">
|
|
<div class="heading">14th</div>
|
|
<input type="text" name="attr_lvl14_str" />
|
|
<input type="text" name="attr_lvl14_dex" />
|
|
<input type="text" name="attr_lvl14_con" />
|
|
<input type="text" name="attr_lvl14_int" />
|
|
<input type="text" name="attr_lvl14_wis" />
|
|
<input type="text" name="attr_lvl14_chr" />
|
|
<input type="text" name="attr_lvl14_com" />
|
|
<input type="text" name="attr_lvl14_hp" />
|
|
</div>
|
|
<div class="level-gridcol">
|
|
<div class="heading">15th</div>
|
|
<input type="text" name="attr_lvl15_str" />
|
|
<input type="text" name="attr_lvl15_dex" />
|
|
<input type="text" name="attr_lvl15_con" />
|
|
<input type="text" name="attr_lvl15_int" />
|
|
<input type="text" name="attr_lvl15_wis" />
|
|
<input type="text" name="attr_lvl15_chr" />
|
|
<input type="text" name="attr_lvl15_com" />
|
|
<input type="text" name="attr_lvl15_hp" />
|
|
</div>
|
|
<div class="level-gridcol">
|
|
<div class="heading">16th</div>
|
|
<input type="text" name="attr_lvl16_str" />
|
|
<input type="text" name="attr_lvl16_dex" />
|
|
<input type="text" name="attr_lvl16_con" />
|
|
<input type="text" name="attr_lvl16_int" />
|
|
<input type="text" name="attr_lvl16_wis" />
|
|
<input type="text" name="attr_lvl16_chr" />
|
|
<input type="text" name="attr_lvl16_com" />
|
|
<input type="text" name="attr_lvl16_hp" />
|
|
</div>
|
|
<div class="level-gridcol">
|
|
<div class="heading">17th</div>
|
|
<input type="text" name="attr_lvl17_str" />
|
|
<input type="text" name="attr_lvl17_dex" />
|
|
<input type="text" name="attr_lvl17_con" />
|
|
<input type="text" name="attr_lvl17_int" />
|
|
<input type="text" name="attr_lvl17_wis" />
|
|
<input type="text" name="attr_lvl17_chr" />
|
|
<input type="text" name="attr_lvl17_com" />
|
|
<input type="text" name="attr_lvl17_hp" />
|
|
</div>
|
|
<div class="level-gridcol">
|
|
<div class="heading">18th</div>
|
|
<input type="text" name="attr_lvl18_str" />
|
|
<input type="text" name="attr_lvl18_dex" />
|
|
<input type="text" name="attr_lvl18_con" />
|
|
<input type="text" name="attr_lvl18_int" />
|
|
<input type="text" name="attr_lvl18_wis" />
|
|
<input type="text" name="attr_lvl18_chr" />
|
|
<input type="text" name="attr_lvl18_com" />
|
|
<input type="text" name="attr_lvl18_hp" />
|
|
</div>
|
|
<div class="level-gridcol">
|
|
<div class="heading">19th</div>
|
|
<input type="text" name="attr_lvl19_str" />
|
|
<input type="text" name="attr_lvl19_dex" />
|
|
<input type="text" name="attr_lvl19_con" />
|
|
<input type="text" name="attr_lvl19_int" />
|
|
<input type="text" name="attr_lvl19_wis" />
|
|
<input type="text" name="attr_lvl19_chr" />
|
|
<input type="text" name="attr_lvl19_com" />
|
|
<input type="text" name="attr_lvl19_hp" />
|
|
</div>
|
|
<div class="level-gridcol">
|
|
<div class="heading">20th</div>
|
|
<input type="text" name="attr_lvl20_str" />
|
|
<input type="text" name="attr_lvl20_dex" />
|
|
<input type="text" name="attr_lvl20_con" />
|
|
<input type="text" name="attr_lvl20_int" />
|
|
<input type="text" name="attr_lvl20_wis" />
|
|
<input type="text" name="attr_lvl20_chr" />
|
|
<input type="text" name="attr_lvl20_com" />
|
|
<input type="text" name="attr_lvl20_hp" />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="minor-label center">Visit https://arghive.net/image-sources to see image credits</div>
|
|
<div class="background-hf"></div>
|
|
</div>
|
|
|
|
<div class="sheet-death background">
|
|
<div class="background-hf"></div>
|
|
<div class="background-left">
|
|
<div class="basic">
|
|
<div class="sub-section">
|
|
<div class="subtitles">Raises</div>
|
|
<div class="three-column">
|
|
<div>
|
|
<div class="fixedwidthlabel" style="width: 150px;">Original Constitution: </div><input class="tinyInput" type="text" name="attr_orig_con" /></div>
|
|
<div>
|
|
<div class="fixedwidthlabel" style="width: 150px;"># Times Raised: </div><input class="tinyInput" type="text" name="attr_raised" /></div>
|
|
<div>
|
|
<div class="fixedwidthlabel" style="width: 150px;">Remaining Raises: </div><input readonly class="tinyInput" type="text" name="attr_raisesremaining" /></div>
|
|
</div>
|
|
</div>
|
|
<div class="sub-section">
|
|
<div class="subtitles">Last Will & Testament</div>
|
|
<div style="margin: 10px;margin-bottom:0px;">I, <input readonly type="text" name="attr_character_name" /> do Hereby: </div>
|
|
<textarea style="width: 95%;margin:10px;margin-top:0px;" name="attr_last_will"></textarea>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="minor-label center">Visit https://arghive.net/image-sources to see image credits</div>
|
|
<div class="background-hf"></div>
|
|
</div>
|
|
|
|
<rolltemplate class="sheet-rolltemplate-thief">
|
|
<div class="sheet-rolltemplate-container">
|
|
<div class="sheet-rolltemplate-header">
|
|
<div class="sheet-template-header">{{character}}</div>
|
|
<div class="sheet-template-header">Roll for {{thiefskill}}</div>
|
|
</div>
|
|
<div class="sheet-rolltemplate-body">
|
|
<div class="sheet-rolltemplate-row"><span class="sheet-rolltemplate-rowhead">Honor: </span><span
|
|
class="sheet-rolltemplate-item">-{{honor}}</span></div>
|
|
<div class="sheet-rolltemplate-row"><span class="sheet-rolltemplate-rowhead">Modifiers: </span><span
|
|
class="sheet-rolltemplate-item">{{mods}}</span></div>
|
|
<div class="sheet-rolltemplate-row"><span class="sheet-rolltemplate-rowhead">% Roll: </span><span
|
|
class="sheet-rolltemplate-item">{{raw_roll}}</span></div>
|
|
<div class="sheet-rolltemplate-row"><span class="sheet-rolltemplate-rowhead"></span><span
|
|
class="sheet-rolltemplate-item">----------</span></div>
|
|
<div class="sheet-rolltemplate-row"><span class="sheet-rolltemplate-rowhead">Roll Total: </span><span
|
|
class="sheet-rolltemplate-item">{{diceroll}}</span></div>
|
|
<div class="sheet-rolltemplate-row"><span class="sheet-rolltemplate-rowhead">Target: </span><span
|
|
class="sheet-rolltemplate-item"><= {{target}}</span></div>
|
|
<span class="sheet-rolltemplate-result">
|
|
{{#^rollGreater() diceroll target}}<span class="sheet-rolltemplate-succeed">{{thiefskill}} Success!</span>{{/^rollGreater() diceroll target}}
|
|
{{#rollGreater() diceroll target}}<span class="sheet-rolltemplate-fail">{{thiefskill}} Failure</span>{{/rollGreater() diceroll target}}
|
|
</span>
|
|
</div>
|
|
</div>
|
|
</rolltemplate>
|
|
|
|
<rolltemplate class="sheet-rolltemplate-spellfail">
|
|
<div class="sheet-rolltemplate-container">
|
|
<div class="sheet-rolltemplate-header">
|
|
<div class="sheet-template-header">{{character}}</div>
|
|
<div class="sheet-template-header">Roll for Spell Failure</div>
|
|
</div>
|
|
<div class="sheet-rolltemplate-body">
|
|
<div class="sheet-rolltemplate-row"><span class="sheet-rolltemplate-rowhead">Honor: </span><span
|
|
class="sheet-rolltemplate-item">{{honor}}</span></div>
|
|
<div class="sheet-rolltemplate-row"><span class="sheet-rolltemplate-rowhead">% Roll: </span><span
|
|
class="sheet-rolltemplate-item">{{raw_roll}}</span></div>
|
|
<div class="sheet-rolltemplate-row"><span class="sheet-rolltemplate-rowhead"></span><span
|
|
class="sheet-rolltemplate-item">----------</span></div>
|
|
<div class="sheet-rolltemplate-row"><span class="sheet-rolltemplate-rowhead">Roll Total: </span><span
|
|
class="sheet-rolltemplate-item">{{diceroll}}</span></div>
|
|
<div class="sheet-rolltemplate-row"><span class="sheet-rolltemplate-rowhead">Target: </span><span
|
|
class="sheet-rolltemplate-item">> {{target}}</span></div>
|
|
<span class="sheet-rolltemplate-result">
|
|
{{#^rollGreater() diceroll target}}<span class="rolltemplate-fail">Spell Failure</span>{{/^rollGreater() diceroll target}}
|
|
{{#rollGreater() diceroll target}}<span class="rolltemplate-succeed">No Spell Failure</span>{{/rollGreater() diceroll target}}
|
|
</span>
|
|
</div>
|
|
</div>
|
|
</rolltemplate>
|
|
|
|
<rolltemplate class="sheet-rolltemplate-skill">
|
|
<div class="sheet-rolltemplate-container">
|
|
<div class="sheet-rolltemplate-header">
|
|
<div class="sheet-template-header">{{character}}</div>
|
|
<div class="sheet-template-header">Skill roll for {{skillis}}</div>
|
|
</div>
|
|
<div class="sheet-rolltemplate-body">
|
|
<div class="sheet-rolltemplate-row">
|
|
<span class="sheet-rolltemplate-rowhead">Honor: </span><span class="sheet-rolltemplate-item">{{honor}}</span>
|
|
</div>
|
|
<div class="sheet-rolltemplate-row">
|
|
<span class="sheet-rolltemplate-rowhead">Mods: </span><span class="sheet-rolltemplate-item">{{mods}}</span>
|
|
</div>
|
|
<div class="sheet-rolltemplate-row"><span class="sheet-rolltemplate-rowhead">% Roll: </span><span
|
|
class="sheet-rolltemplate-item">{{raw_roll}}</span></div>
|
|
<div class="sheet-rolltemplate-row"><span class="sheet-rolltemplate-rowhead"></span><span
|
|
class="sheet-rolltemplate-item">----------</span></div>
|
|
<div><span class="sheet-rolltemplate-rowhead">Total: </span><span class="sheet-rolltemplate-item">{{skillroll}}</span></div>
|
|
<div class="sheet-rolltemplate-row">
|
|
<span class="sheet-rolltemplate-rowhead">Skill:</span><span class="sheet-rolltemplate-item"><= {{target}}</span>
|
|
</div>
|
|
<div class="sheet-rolltemplate-row">
|
|
<span class="sheet-rolltemplate-result">
|
|
{{#^rollGreater() skillroll target}}<span class="sheet-rolltemplate-succeed">Success!</span>{{/^rollGreater() skillroll target}}
|
|
{{#rollGreater() skillroll target}}<span class="sheet-rolltemplate-fail">Skill attempt failed.</span>{{/rollGreater() skillroll target}}
|
|
</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</rolltemplate>
|
|
|
|
<rolltemplate class="sheet-rolltemplate-save">
|
|
<div class="sheet-rolltemplate-container">
|
|
<div class="sheet-rolltemplate-header">
|
|
<div class="sheet-template-header">{{character}}</div>
|
|
<div class="sheet-template-header">Save vs {{savevs}}</div>
|
|
</div>
|
|
<div class="sheet-rolltemplate-body">
|
|
<div class="sheet-rolltemplate-row"><span class="sheet-rolltemplate-rowhead">Honor: </span><span class="sheet-rolltemplate-item">{{honor}}</span></div>
|
|
<div class="sheet-rolltemplate-row"><span class="sheet-rolltemplate-rowhead">Mods: </span><span class="sheet-rolltemplate-item">{{mods}}</span></div>
|
|
<div class="sheet-rolltemplate-row"><span class="sheet-rolltemplate-rowhead">Roll: </span><span
|
|
class="sheet-rolltemplate-item">{{raw_roll}}</span></div>
|
|
<div class="sheet-rolltemplate-row"><span class="sheet-rolltemplate-rowhead"></span><span
|
|
class="sheet-rolltemplate-item">----------</span></div>
|
|
|
|
<div class="sheet-rolltemplate-row"><span class="sheet-rolltemplate-rowhead">Total: </span><span class="sheet-rolltemplate-item">{{save}}</span>
|
|
<div class="sheet-rolltemplate-row"><span class="sheet-rolltemplate-rowhead">Target: </span><span class="sheet-rolltemplate-item">>= {{target}}</span>
|
|
<span class="sheet-rolltemplate-result">
|
|
{{#rollLess() save target}}<span class="sheet-rolltemplate-fail">FAIL!</span>{{/rollLess() save target}}
|
|
{{#^rollLess() save target}}<span class="sheet-rolltemplate-succeed">SAVED!</span>{{/^rollLess() save target}}
|
|
</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</rolltemplate>
|
|
|
|
<rolltemplate class="sheet-rolltemplate-combat">
|
|
<div class="sheet-rolltemplate-container">
|
|
<div class="sheet-rolltemplate-header">
|
|
<div class="sheet-template-header">{{character}}</div>
|
|
<div class="sheet-template-header">Attacks With {{weaponname}}</div>
|
|
</div>
|
|
<div class="sheet-rolltemplate-body">
|
|
<div class="sheet-rolltemplate-row"><span class="sheet-rolltemplate-rowhead">Honor: </span><span class="sheet-rolltemplate-item">{{honor}}</span></div>
|
|
<div class="sheet-rolltemplate-row"><span class="sheet-rolltemplate-rowhead">Hit Bonus: </span><span class="sheet-rolltemplate-item">{{bonus}}</span></div>
|
|
<div class="sheet-rolltemplate-row"><span class="sheet-rolltemplate-rowhead">{{statname}}:</span><span class="sheet-rolltemplate-item">{{statplus}}</span></div>
|
|
<div class="sheet-rolltemplate-row"><span class="sheet-rolltemplate-rowhead">Mods: </span><span class="sheet-rolltemplate-item">{{mods}}</span></div>
|
|
<div class="sheet-rolltemplate-row"><span class="sheet-rolltemplate-rowhead">Roll: </span><span class="sheet-rolltemplate-item">{{raw_roll}}</span></div>
|
|
<div class="sheet-rolltemplate-row"><span class="sheet-rolltemplate-rowhead"></span><span class="sheet-rolltemplate-item">----------</span></div>
|
|
<div class="sheet-rolltemplate-row"><span class="sheet-rolltemplate-rowhead">Total Roll: </span><span class="sheet-rolltemplate-item">{{tohit}}</span></div>
|
|
</div>
|
|
</div>
|
|
</rolltemplate>
|
|
|
|
<rolltemplate class="sheet-rolltemplate-mwdamage">
|
|
<div class="sheet-rolltemplate-container">
|
|
<div class="sheet-rolltemplate-header">
|
|
<div class="sheet-template-header">{{character}}</div>
|
|
<div class="sheet-template-header">Rolls {{size}} Damage for {{weaponname}}</div>
|
|
</div>
|
|
<div class="sheet-rolltemplate-body">
|
|
<div class="sheet-rolltemplate-row"><span class="sheet-rolltemplate-rowhead">Roll: </span><span class="sheet-rolltemplate-item">{{raw_roll}}</span></div>
|
|
<div class="sheet-rolltemplate-row"><span class="sheet-rolltemplate-rowhead">To Dam: </span><span class="sheet-rolltemplate-item">{{weaponbonus}}</span></div>
|
|
<div class="sheet-rolltemplate-row"><span class="sheet-rolltemplate-rowhead">Str Bonus:</span><span class="sheet-rolltemplate-item">{{statbonus}}</span></div>
|
|
<div class="sheet-rolltemplate-row"><span class="sheet-rolltemplate-rowhead">Honor: </span><span class="sheet-rolltemplate-item">{{honor}}</span></div>
|
|
<div class="sheet-rolltemplate-row"><span class="sheet-rolltemplate-rowhead">Mods: </span><span class="sheet-rolltemplate-item">{{mods}}</span></div>
|
|
<div class="sheet-rolltemplate-row"><span class="sheet-rolltemplate-rowhead"></span><span class="sheet-rolltemplate-item">----------</span></div>
|
|
<div class="sheet-rolltemplate-row"><span class="sheet-rolltemplate-rowhead">Damage: </span><span class="sheet-rolltemplate-item">{{damage}}</span></div>
|
|
</div>
|
|
</div>
|
|
</rolltemplate>
|
|
|
|
<script type="text/worker">
|
|
const buttonlist = ["main","stats","combat","abilities","equipment","mu","cleric","thief","ep","death"];
|
|
buttonlist.forEach(button => { on(`clicked:${button}`, function()
|
|
{ setAttrs({ sheetTab: button }); }); });
|
|
|
|
|
|
on ("change:mubase9 change:mubase8 change:mubase7 change:mubase6 change:mubase5 change:mubase4 change:mubase3 change:mubase2 change:mubase1 change:mubase0 change:mubonus0 change:mubonus1 change:mubonus2 change:mubonus3 change:mubonus4 change:mubonus5 change:mubonus6 change:mubonus7 change:mubonus8 change:mubonus9 change:battlemage change:spelljack change:spelljacklevel", function() {
|
|
getAttrs(["mubase0", "mubase1", "mubase2","mubase3","mubase4","mubase5","mubase6","mubase7","mubase8","mubase9",
|
|
"mubonus0", "mubonus1","mubonus2","mubonus3","mubonus4","mubonus5","mubonus6","mubonus7","mubonus8","mubonus9",
|
|
"battlemage","spelljack","spelljacklevel"], function(v) {
|
|
var isSJ = (v.spelljack == 'X')? 1 : 0 ;
|
|
var sj = parseValue(v.spelljacklevel, 'float') - 1;
|
|
if (sj < 1 ) sj = 0.0;
|
|
var t0 = (parseValue(v.mubase0) + parseValue(v.mubonus0)) ;
|
|
var t1 = (parseValue(v.mubase1) + parseValue(v.mubonus1)) ;
|
|
var t2 = (parseValue(v.mubase2) + parseValue(v.mubonus2)) ;
|
|
var t3 = (parseValue(v.mubase3) + parseValue(v.mubonus3)) ;
|
|
var t4 = (parseValue(v.mubase4) + parseValue(v.mubonus4)) ;
|
|
var t5 = (parseValue(v.mubase5) + parseValue(v.mubonus5)) ;
|
|
var t6 = (parseValue(v.mubase6) + parseValue(v.mubonus6)) ;
|
|
var t7 = (parseValue(v.mubase7) + parseValue(v.mubonus7)) ;
|
|
var t8 = (parseValue(v.mubase8) + parseValue(v.mubonus8)) ;
|
|
var t9 = (parseValue(v.mubase9) + parseValue(v.mubonus9)) ;
|
|
var j0 = 0; // Cantrips don't jack
|
|
var j1 = Math.floor(sj * t1) ;
|
|
var j2 = Math.floor(sj * t2) ;
|
|
var j3 = Math.floor(sj * t3) ;
|
|
var j4 = Math.floor(sj * t4) ;
|
|
var j5 = Math.floor(sj * t5) ;
|
|
var j6 = Math.floor(sj * t6) ;
|
|
var j7 = Math.floor(sj * t7) ;
|
|
var j8 = Math.floor(sj * t8) ;
|
|
var j9 = Math.floor(sj * t9) ;
|
|
setAttrs({
|
|
mujack0 : "N/A",
|
|
mujack1 : j1,
|
|
mujack2 : j2,
|
|
mujack3 : j3,
|
|
mujack4 : j4,
|
|
mujack5 : j5,
|
|
mujack6 : j6,
|
|
mujack7 : j7,
|
|
mujack8 : j8,
|
|
mujack9 : j9,
|
|
mutotal0 : (t0 > 0) ? t0 : "",
|
|
mutotal1 : (t1 > 0) ? j1*isSJ + t1 : "",
|
|
mutotal2 : (t2 > 0) ? j2*isSJ + t2 : "",
|
|
mutotal3 : (t3 > 0) ? j3*isSJ + t3 : "",
|
|
mutotal4 : (t4 > 0) ? j4*isSJ + t4 : "",
|
|
mutotal5 : (t5 > 0) ? j5*isSJ + t5 : "",
|
|
mutotal6 : (t6 > 0) ? j6*isSJ + t6 : "",
|
|
mutotal7 : (t7 > 0) ? j7*isSJ + t7 : "",
|
|
mutotal8 : (t8 > 0) ? j8*isSJ + t8 : "",
|
|
mutotal9 : (t9 > 0) ? j9*isSJ + t9 : ""
|
|
});
|
|
});
|
|
});
|
|
|
|
|
|
var noop = function () {};
|
|
|
|
const parseValue = (thevalue, type='int') => {
|
|
if(type === 'int') return parseInt(thevalue,10)||0;
|
|
else if(type === 'float') return parseFloat(thevalue,10)||0;
|
|
else if(type === 'str') return thevalue;
|
|
};
|
|
|
|
on ("change:orig_con change:raised", function() {
|
|
getAttrs(["orig_con", "raised"], function(v) {
|
|
var r = parseValue(v.orig_con) - parseValue(v.raised) ;
|
|
setAttrs ({
|
|
raisesremaining : r
|
|
});
|
|
});
|
|
});
|
|
|
|
function CalcThiefSkills() {
|
|
getAttrs([
|
|
"ppbase", "ppallocated" , "ppracial" , "ppdexadjust", "pparmoradjust", "ppadjust", "ppotheradjust",
|
|
"olbase", "olallocated" , "olracial" , "oldexadjust", "olarmoradjust", "oladjust", "olotheradjust",
|
|
"ftbase", "ftallocated" , "ftracial" , "ftdexadjust", "ftarmoradjust", "ftadjust", "ftotheradjust",
|
|
"rtbase", "rtallocated" , "rtracial" , "rtdexadjust", "rtarmoradjust", "rtadjust", "rtotheradjust",
|
|
"msbase", "msallocated" , "msracial" , "msdexadjust", "msarmoradjust", "msadjust", "msotheradjust",
|
|
"hsbase", "hsallocated" , "hsracial" , "hsdexadjust", "hsarmoradjust", "hsadjust", "hsotheradjust",
|
|
"dnbase", "dnallocated" , "dnracial" , "dndexadjust", "dnarmoradjust", "dnadjust", "dnotheradjust",
|
|
"cwbase", "cwallocated" , "cwracial" , "cwdexadjust", "cwarmoradjust", "cwadjust", "cwotheradjust",
|
|
"rlbase", "rlallocated" , "rlracial" , "rldexadjust", "rlarmoradjust", "rladjust", "rlotheradjust"
|
|
], function (v) {
|
|
var pp = parseValue(v.ppbase) + parseValue(v.ppallocated) + parseValue (v.ppracial) + parseValue(v.ppdexadjust) + parseValue(v.pparmoradjust) + parseValue(v.ppadjust) + parseValue(v.ppotheradjust) ;
|
|
var ol = parseValue(v.olbase) + parseValue(v.olallocated) + parseValue (v.olracial) + parseValue(v.oldexadjust) + parseValue(v.olarmoradjust) + parseValue(v.oladjust) + parseValue(v.olotheradjust) ;
|
|
var ft = parseValue(v.ftbase) + parseValue(v.ftallocated) + parseValue (v.ftracial) + parseValue(v.ftdexadjust) + parseValue(v.ftarmoradjust) + parseValue(v.ftadjust) + parseValue(v.ftotheradjust) ;
|
|
var rt = parseValue(v.rtbase) + parseValue(v.rtallocated) + parseValue (v.rtracial) + parseValue(v.rtdexadjust) + parseValue(v.rtarmoradjust) + parseValue(v.rtadjust) + parseValue(v.rtotheradjust) ;
|
|
var ms = parseValue(v.msbase) + parseValue(v.msallocated) + parseValue (v.msracial) + parseValue(v.msdexadjust) + parseValue(v.msarmoradjust) + parseValue(v.msadjust) + parseValue(v.msotheradjust) ;
|
|
var hs = parseValue(v.hsbase) + parseValue(v.hsallocated) + parseValue (v.hsracial) + parseValue(v.hsdexadjust) + parseValue(v.hsarmoradjust) + parseValue(v.hsadjust) + parseValue(v.hsotheradjust) ;
|
|
var dn = parseValue(v.dnbase) + parseValue(v.dnallocated) + parseValue (v.dnracial) + parseValue(v.dnarmoradjust) + parseValue(v.dnadjust) + parseValue(v.dnotheradjust) ;
|
|
var cw = parseValue(v.cwbase) + parseValue(v.cwallocated) + parseValue (v.cwracial) + parseValue(v.cwarmoradjust) + parseValue(v.cwadjust) + parseValue(v.cwotheradjust) ;
|
|
var rl = parseValue(v.rlbase) + parseValue(v.rlallocated) + parseValue (v.rlracial) + parseValue(v.rladjust) + parseValue(v.rlotheradjust) ;
|
|
setAttrs ({
|
|
ppTotal : pp,
|
|
olTotal : ol,
|
|
ftTotal : ft,
|
|
rtTotal : rt,
|
|
msTotal : ms,
|
|
hsTotal : hs,
|
|
dnTotal : dn,
|
|
cwTotal : cw,
|
|
rlTotal : rl
|
|
});
|
|
});
|
|
};
|
|
|
|
on("change:ppallocated change:pparmoradjust change:ppadjust change:ppotheradjust", function() { CalcThiefSkills(); });
|
|
on("change:olallocated change:olarmoradjust change:oladjust change:olotheradjust", function() { CalcThiefSkills(); });
|
|
on("change:ftallocated change:ftarmoradjust change:ftadjust change:ftotheradjust", function() { CalcThiefSkills(); });
|
|
on("change:rtallocated change:rtarmoradjust change:rtadjust change:rtotheradjust", function() { CalcThiefSkills(); });
|
|
on("change:msallocated change:msarmoradjust change:msadjust change:msotheradjust", function() { CalcThiefSkills(); });
|
|
on("change:hsallocated change:hsarmoradjust change:hsadjust change:hsotheradjust", function() { CalcThiefSkills(); });
|
|
on("change:dnallocated change:dnarmoradjust change:dnadjust change:dnotheradjust", function() { CalcThiefSkills(); });
|
|
on("change:cwallocated change:cwarmoradjust change:cwadjust change:cwotheradjust", function() { CalcThiefSkills(); });
|
|
on("change:rlallocated change:rladjust change:rlotheradjust", function() { CalcThiefSkills(); });
|
|
|
|
on ("change:character_race", function() {
|
|
getAttrs(["character_race"], function(v) {
|
|
var pp = 0;
|
|
var ol = 0;
|
|
var ft = 0;
|
|
var rt = 0;
|
|
var ms = 0;
|
|
var hs = 0;
|
|
var dn = 0;
|
|
var cw = 0;
|
|
var rl = 0;
|
|
switch (v.character_race) {
|
|
case "Aardvarkian":
|
|
pp = -5;ol=-5;ms=5;hs=10;dn=10;rl=-15;
|
|
break;
|
|
case "Dwarf":
|
|
ol = 10; ft=10;rt=15;ms=-10;hs=-5;cw=5;
|
|
break;
|
|
case "High Elf":
|
|
case "Sylvan Elf":
|
|
case "Grey Elf":
|
|
case "Grunge Elf":
|
|
pp = 5; ol=-5;ft=5;ms=5;hs=10;dn=5;
|
|
break;
|
|
case "Gnome":
|
|
ol=5;ft=10;rt=10;ms=5;hs=5;dn=10;cw=-15;
|
|
break;
|
|
case "Gnome Titan":
|
|
pp = 0;
|
|
break;
|
|
case "Gnomeling":
|
|
ol=5;ft=5;rt=5;ms=5;hs=10;dn=5;cw=-15;
|
|
break;
|
|
case "Darkman": // per the Errata, Dark elves are like 1/2 elves where not specified otherwise
|
|
case "Half-elf":
|
|
case "Elvariel" : // per Errata, Elvariels use 1/2 elf mods
|
|
pp = 5; hs=5;
|
|
break;
|
|
case "Halfling":
|
|
case "Thug Halfling":
|
|
pp = 5;ol=5;ft=10;ms=10;hs=15;dn=5;cw=-15;rl=-5;
|
|
break;
|
|
case "Half-Orc":
|
|
pp = -5;ol=5;rt=5;dn=5;cw=5;rl=-10;
|
|
break;
|
|
case "Half-Ogre":
|
|
pp = -10;ol=5;ft=5;rt=5;ms=-5;hs=-20;dn=10;cw=20;rl=-20;
|
|
break;
|
|
case "Human":
|
|
break;
|
|
case "Pixie Fairy":
|
|
case "Fae-born" :
|
|
case "Grixie" :
|
|
case "Pixie Brownie" :
|
|
case "Pixie Leprechaun" :
|
|
case "Pixie Nixie" :
|
|
case "Pixie Sprite" :
|
|
pp = 10;ol=-15;ft=-15;rt=-15;ms=20;hs=30;dn=10;cw=-50;rl=-10;
|
|
break;
|
|
case "Orutan":
|
|
pp = 10;hs=5;
|
|
break;
|
|
case "Pantrog":
|
|
pp = 5;hs=5;cw=5;
|
|
break;
|
|
case "Pithengi":
|
|
ms = 5;hs=-5;cw=-10;
|
|
break;
|
|
case "Rillan":
|
|
hs=5;cw=-5;
|
|
break;
|
|
case "Giff":
|
|
ol=5;ft=10;ms=-5;hs=-5;cw=-20;rl=5;
|
|
break;
|
|
case "Lizard Man":
|
|
pp=-5;ol=-5;ms=5;hs=5;dn=5;cw=-5;rl=-5;
|
|
break;
|
|
case "Orc":
|
|
pp=5;ft=5;hs=10;dn=-5;cw=-5;rl=-10;
|
|
break;
|
|
};
|
|
setAttrs ({
|
|
ppracial : pp,
|
|
olracial : ol,
|
|
ftracial : ft,
|
|
rtracial : rt,
|
|
msracial : ms,
|
|
hsracial : hs,
|
|
dnracial : dn,
|
|
cwracial : cw,
|
|
rlracial : rl
|
|
});
|
|
CalcThiefSkills();
|
|
});
|
|
});
|
|
|
|
// Gets the relevent values from the sheet and calculates your AC
|
|
function CalcClericSpells() {
|
|
getAttrs(["clbase1", "clbase2","clbase3","clbase4","clbase5","clbase6","clbase7"
|
|
,"clericspelljack","clericspelljacklevel", "wisdom", "wisdom_pct", "wis_chance_spellfail", "sf_misc_clericmod"], function(v) {
|
|
var wis = v.wisdom;
|
|
var wispct = v.wisdom_pct;
|
|
var clb1 = 0; var clb2 = 0; var clb3= 0; var clb4 = 0; var clb5 = 0; var clb6 = 0; var clb7 = 0;
|
|
if (wis==13) { clb1 = 1;}
|
|
if (wis==14) { clb1 = 2;}
|
|
if (wis==15) { clb1 = 2; clb2 = 1;}
|
|
if (wis==16) { clb1 = 2; clb2 = 2;}
|
|
if (wis==17) { clb1 = 2; clb2 = 2; clb3 = 1;}
|
|
if (wis==18 && wispct < 51) { clb1 =2 ; clb2 = 2; clb3 =1; clb4 = 1; }
|
|
if (wis==18 && wispct > 50) { clb1 = 2; clb2 = 2; clb3 = 1 ; clb4 =1 ;clb5 = 1;}
|
|
if (wis==19) {clb1 = 3; clb2 = 2; clb3 = 2 ; clb4 =1 ;clb5 = 1;}
|
|
if (wis==20) {clb1 = 3; clb2 = 3; clb3 = 2 ; clb4 =2 ;clb5 = 1;}
|
|
if (wis==21) {clb1 = 3; clb2 = 3; clb3 = 3 ; clb4 =2 ;clb5 = 2;}
|
|
if (wis==22) {clb1 = 3; clb2 = 3; clb3 = 3 ; clb4 =3 ;clb5 = 3;}
|
|
if (wis==23) {clb1 = 4; clb2 = 3; clb3 = 3 ; clb4 =3 ;clb5 = 3; clb6 = 1;}
|
|
if (wis==24) {clb1 = 4; clb2 = 3; clb3 = 3 ; clb4 =3 ;clb5 = 3; clb6 = 2;}
|
|
if (wis==25) {clb1 = 4; clb2 = 3; clb3 = 3 ; clb4 =3 ;clb5 = 4; clb6 = 3; clb7 = 1;}
|
|
var isSJ = (v.clericspelljack == 'X')? 1 : 0 ;
|
|
var sj = parseValue(v.clericspelljacklevel, 'float') - 1;
|
|
if (sj < 1 ) sj = 0.0;
|
|
var b1 = parseValue(v.clbase1) ;
|
|
var b2 = parseValue(v.clbase2) ;
|
|
var b3 = parseValue(v.clbase3) ;
|
|
var b4 = parseValue(v.clbase4) ;
|
|
var b5 = parseValue(v.clbase5) ;
|
|
var b6 = parseValue(v.clbase6) ;
|
|
var b7 = parseValue(v.clbase7) ;
|
|
|
|
var t1 = (b1 + clb1) ;
|
|
var t2 = (b2 + clb2) ;
|
|
var t3 = (b3 + clb3) ;
|
|
var t4 = (b4 + clb4) ;
|
|
var t5 = (b5 + clb5) ;
|
|
var t6 = (b6 + clb6) ;
|
|
var t7 = (b7 + clb7) ;
|
|
var j1 = Math.floor(sj * t1) ;
|
|
var j2 = Math.floor(sj * t2) ;
|
|
var j3 = Math.floor(sj * t3) ;
|
|
var j4 = Math.floor(sj * t4) ;
|
|
var j5 = Math.floor(sj * t5) ;
|
|
var j6 = Math.floor(sj * t6) ;
|
|
var j7 = Math.floor(sj * t7) ;
|
|
|
|
var sjMinus = (isSJ) ? 10 : 0;
|
|
var sf = parseValue(v.wis_chance_spellfail) + parseValue(v.sf_misc_clericmod) + sjMinus;
|
|
setAttrs ({
|
|
clbonus1 : clb1,
|
|
clbonus2 : clb2,
|
|
clbonus3 : clb3,
|
|
clbonus4 : clb4,
|
|
clbonus5 : clb5,
|
|
clbonus6 : clb6,
|
|
clbonus7 : clb7,
|
|
cljack1 : j1,
|
|
cljack2 : j2,
|
|
cljack3 : j3,
|
|
cljack4 : j4,
|
|
cljack5 : j5,
|
|
cljack6 : j6,
|
|
cljack7 : j7,
|
|
cltotal1 : (b1 > 0) ? j1*isSJ + t1 : "",
|
|
cltotal2 : (b2 > 0) ? j2*isSJ + t2 : "",
|
|
cltotal3 : (b3 > 0) ? j3*isSJ + t3 : "",
|
|
cltotal4 : (b4 > 0) ? j4*isSJ + t4 : "",
|
|
cltotal5 : (b5 > 0) ? j5*isSJ + t5 : "",
|
|
cltotal6 : (b6 > 0) ? j6*isSJ + t6 : "",
|
|
cltotal7 : (b7 > 0) ? j7*isSJ + t7 : "",
|
|
sf_spelljacked : sjMinus,
|
|
sf_clericspellFailure : sf
|
|
});
|
|
});
|
|
};
|
|
|
|
on ("change:clbase7 change:clbase6 change:clbase5 change:clbase4 change:clbase3 change:clbase2 change:clbase1 change:clericspelljack change:clericspelljacklevel change:sf_misc_clericmod", function() {
|
|
CalcClericSpells();
|
|
});
|
|
|
|
// Gets the relevent values from the sheet and calculates your AC
|
|
function CalcSpellFailure() {
|
|
getAttrs(["battlemage", "sf_armor_shield","sf_misc_mod","spelljack","int_spell_mishap"], function(v) {
|
|
var sm = (v.int_spell_mishap=="--") ? 0 : parseValue (v.int_spell_mishap) ;
|
|
var ar = parseValue(v.sf_armor_shield) ;
|
|
var bm = (v.battlemage == "X" && ar > 0) ? ((ar - 40 < 0) ? -ar : -40) : 0; // Battlemages get 40% off armor failure
|
|
var mm = parseValue (v.sf_misc_mod) ;
|
|
var sj = (v.spelljack == "X") ? 10 : 0 ;
|
|
var total = sm + ar + bm + mm + sj ;
|
|
setAttrs ({
|
|
sf_low_int : sm,
|
|
sf_battlemage : bm,
|
|
sf_spelljacked : sj,
|
|
sf_spellFailure : total
|
|
});
|
|
});
|
|
};
|
|
|
|
on ("change:battlemage change:sf_armor_shield change:sf_misc_mod change:spelljack", function() {
|
|
CalcSpellFailure();
|
|
});
|
|
|
|
|
|
|
|
const getHonorDie = (level, honor) => {
|
|
let honortable = [
|
|
{"key": 10010,"die": "1"},
|
|
{"key": 10015,"die": "d3"},
|
|
{"key": 10020,"die": "d4"},
|
|
{"key": 10030,"die": "d3"},
|
|
{"key": 19999,"die": "1"},
|
|
{"key": 20010,"die": "1"},
|
|
{"key": 20015,"die": "d3"},
|
|
{"key": 20020,"die": "d4"},
|
|
{"key": 20025,"die": "d4+1"},
|
|
{"key": 20030,"die": "d6"},
|
|
{"key": 20035,"die": "d4+1"},
|
|
{"key": 20040,"die": "d4"},
|
|
{"key": 20050,"die": "d3"},
|
|
{"key": 29999,"die": "1"},
|
|
{"key": 30010,"die": "1"},
|
|
{"key": 30015,"die": "d3"},
|
|
{"key": 30020,"die": "d4"},
|
|
{"key": 30025,"die": "d4+1"},
|
|
{"key": 30035,"die": "d6"},
|
|
{"key": 30040,"die": "d6+1"},
|
|
{"key": 30045,"die": "d6"},
|
|
{"key": 30055,"die": "d4+1"},
|
|
{"key": 30065,"die": "d4"},
|
|
{"key": 30080,"die": "d3"},
|
|
{"key": 39999,"die": "1"},
|
|
{"key": 40010,"die": "1"},
|
|
{"key": 40015,"die": "d3"},
|
|
{"key": 40020,"die": "d4"},
|
|
{"key": 40025,"die": "d4+1"},
|
|
{"key": 40035,"die": "d6"},
|
|
{"key": 40045,"die": "d6+1"},
|
|
{"key": 40050,"die": "d8"},
|
|
{"key": 40055,"die": "d6+1"},
|
|
{"key": 40060,"die": "d6"},
|
|
{"key": 40070,"die": "d4+1"},
|
|
{"key": 40080,"die": "d4"},
|
|
{"key": 40095,"die": "d3"},
|
|
{"key": 49999,"die": "1"},
|
|
{"key": 50010,"die": "1"},
|
|
{"key": 50015,"die": "d3"},
|
|
{"key": 50020,"die": "d4"},
|
|
{"key": 50025,"die": "d4+1"},
|
|
{"key": 50030,"die": "d6"},
|
|
{"key": 50045,"die": "d6+1"},
|
|
{"key": 50055,"die": "d8"},
|
|
{"key": 50060,"die": "d8+1"},
|
|
{"key": 50065,"die": "d8"},
|
|
{"key": 50075,"die": "d6+1"},
|
|
{"key": 50085,"die": "d6"},
|
|
{"key": 50100,"die": "d4+1"},
|
|
{"key": 50115,"die": "d4"},
|
|
{"key": 50135,"die": "d3"},
|
|
{"key": 59999,"die": "1"},
|
|
{"key": 60010,"die": "1"},
|
|
{"key": 60015,"die": "d3"},
|
|
{"key": 60020,"die": "d4"},
|
|
{"key": 60025,"die": "d4+1"},
|
|
{"key": 60030,"die": "d6"},
|
|
{"key": 60035,"die": "d6+1"},
|
|
{"key": 60050,"die": "d8"},
|
|
{"key": 60065,"die": "d8+1"},
|
|
{"key": 60070,"die": "d10"},
|
|
{"key": 60075,"die": "d8+1"},
|
|
{"key": 60080,"die": "d8"},
|
|
{"key": 60090,"die": "d6+1"},
|
|
{"key": 60100,"die": "d6"},
|
|
{"key": 60115,"die": "d4+1"},
|
|
{"key": 60130,"die": "d4"},
|
|
{"key": 60150,"die": "d3"},
|
|
{"key": 69999,"die": "1"},
|
|
{"key": 70010,"die": "1"},
|
|
{"key": 70015,"die": "d3"},
|
|
{"key": 70020,"die": "d4"},
|
|
{"key": 70025,"die": "d4+1"},
|
|
{"key": 70030,"die": "d6"},
|
|
{"key": 70035,"die": "d6+1"},
|
|
{"key": 70040,"die": "d8"},
|
|
{"key": 70060,"die": "d8+1"},
|
|
{"key": 70075,"die": "d10"},
|
|
{"key": 70080,"die": "d10+1"},
|
|
{"key": 70085,"die": "d10"},
|
|
{"key": 70095,"die": "d8+1"},
|
|
{"key": 70105,"die": "d8"},
|
|
{"key": 70120,"die": "d6+1"},
|
|
{"key": 70135,"die": "d6"},
|
|
{"key": 70155,"die": "d4+1"},
|
|
{"key": 70175,"die": "d4"},
|
|
{"key": 70215,"die": "d3"},
|
|
{"key": 79999,"die": "1"},
|
|
{"key": 80010,"die": "1"},
|
|
{"key": 80015,"die": "d3"},
|
|
{"key": 80020,"die": "d4"},
|
|
{"key": 80025,"die": "d4+1"},
|
|
{"key": 80030,"die": "d6"},
|
|
{"key": 80035,"die": "d6+1"},
|
|
{"key": 80040,"die": "d8"},
|
|
{"key": 80045,"die": "d8+1"},
|
|
{"key": 80065,"die": "d10"},
|
|
{"key": 80085,"die": "d10+1"},
|
|
{"key": 80090,"die": "d12"},
|
|
{"key": 80095,"die": "d10+1"},
|
|
{"key": 80100,"die": "d10"},
|
|
{"key": 80110,"die": "d8+1"},
|
|
{"key": 80120,"die": "d8"},
|
|
{"key": 80135,"die": "d6+1"},
|
|
{"key": 80150,"die": "d6"},
|
|
{"key": 80170,"die": "d4+1"},
|
|
{"key": 80190,"die": "d4"},
|
|
{"key": 80215,"die": "d3"},
|
|
{"key": 89999,"die": "1"},
|
|
{"key": 90010,"die": "1"},
|
|
{"key": 90015,"die": "d3"},
|
|
{"key": 90020,"die": "d4"},
|
|
{"key": 90025,"die": "d4+1"},
|
|
{"key": 90030,"die": "d6"},
|
|
{"key": 90035,"die": "d6+1"},
|
|
{"key": 90040,"die": "d8"},
|
|
{"key": 90045,"die": "d8+1"},
|
|
{"key": 90050,"die": "d10"},
|
|
{"key": 90075,"die": "d10+1"},
|
|
{"key": 90095,"die": "d12"},
|
|
{"key": 90100,"die": "d12+1"},
|
|
{"key": 90105,"die": "d12"},
|
|
{"key": 90115,"die": "d10+1"},
|
|
{"key": 90125,"die": "d10"},
|
|
{"key": 90140,"die": "d8+1"},
|
|
{"key": 90155,"die": "d8"},
|
|
{"key": 90175,"die": "d6+1"},
|
|
{"key": 90195,"die": "d6"},
|
|
{"key": 90220,"die": "d4+1"},
|
|
{"key": 90245,"die": "d4"},
|
|
{"key": 90270,"die": "d3"},
|
|
{"key": 99999,"die": "1"},
|
|
{"key": 100010,"die": "1"},
|
|
{"key": 100015,"die": "d3"},
|
|
{"key": 100020,"die": "d4"},
|
|
{"key": 100025,"die": "d4+1"},
|
|
{"key": 100030,"die": "d6"},
|
|
{"key": 100035,"die": "d6+1"},
|
|
{"key": 100040,"die": "d8"},
|
|
{"key": 100045,"die": "d8+1"},
|
|
{"key": 100050,"die": "d10"},
|
|
{"key": 100055,"die": "d10+1"},
|
|
{"key": 100080,"die": "d12"},
|
|
{"key": 100105,"die": "d12+1"},
|
|
{"key": 100110,"die": "d12+2"},
|
|
{"key": 100115,"die": "d12+1"},
|
|
{"key": 100120,"die": "d12"},
|
|
{"key": 100130,"die": "d10+1"},
|
|
{"key": 100140,"die": "d10"},
|
|
{"key": 100155,"die": "d8+1"},
|
|
{"key": 100170,"die": "d8"},
|
|
{"key": 100190,"die": "d6+1"},
|
|
{"key": 100210,"die": "d6"},
|
|
{"key": 100235,"die": "d4+1"},
|
|
{"key": 100260,"die": "d4"},
|
|
{"key": 100285,"die": "d3"},
|
|
{"key": 109999,"die": "1"},
|
|
{"key": 110010,"die": "1"},
|
|
{"key": 110015,"die": "d3"},
|
|
{"key": 110020,"die": "d4"},
|
|
{"key": 110025,"die": "d4+1"},
|
|
{"key": 110030,"die": "d6"},
|
|
{"key": 110035,"die": "d6+1"},
|
|
{"key": 110040,"die": "d8"},
|
|
{"key": 110045,"die": "d8+1"},
|
|
{"key": 110050,"die": "d10"},
|
|
{"key": 110055,"die": "d10+1"},
|
|
{"key": 110060,"die": "d12"},
|
|
{"key": 110090,"die": "d12+1"},
|
|
{"key": 110115,"die": "d12+2"},
|
|
{"key": 110120,"die": "d20"},
|
|
{"key": 110125,"die": "d12+2"},
|
|
{"key": 110130,"die": "d12+1"},
|
|
{"key": 110135,"die": "d12"},
|
|
{"key": 110145,"die": "d10+1"},
|
|
{"key": 110155,"die": "d10"},
|
|
{"key": 110170,"die": "d8+1"},
|
|
{"key": 110185,"die": "d8"},
|
|
{"key": 110205,"die": "d6+1"},
|
|
{"key": 110225,"die": "d6"},
|
|
{"key": 110250,"die": "d4+1"},
|
|
{"key": 110285,"die": "d4"},
|
|
{"key": 110310,"die": "d3"},
|
|
{"key": 119999,"die": "1"},
|
|
{"key": 120010,"die": "1"},
|
|
{"key": 120015,"die": "d3"},
|
|
{"key": 120020,"die": "d4"},
|
|
{"key": 120025,"die": "d4+1"},
|
|
{"key": 120030,"die": "d6"},
|
|
{"key": 120035,"die": "d6+1"},
|
|
{"key": 120040,"die": "d8"},
|
|
{"key": 120045,"die": "d8+1"},
|
|
{"key": 120050,"die": "d10"},
|
|
{"key": 120055,"die": "d10+1"},
|
|
{"key": 120060,"die": "d12"},
|
|
{"key": 120085,"die": "d12+1"},
|
|
{"key": 120115,"die": "d12+2"},
|
|
{"key": 120130,"die": "d20"},
|
|
{"key": 120135,"die": "d12+2"},
|
|
{"key": 120140,"die": "d12+1"},
|
|
{"key": 120145,"die": "d12"},
|
|
{"key": 120155,"die": "d10+1"},
|
|
{"key": 120165,"die": "d10"},
|
|
{"key": 120180,"die": "d8+1"},
|
|
{"key": 120195,"die": "d8"},
|
|
{"key": 120215,"die": "d6+1"},
|
|
{"key": 120235,"die": "d6"},
|
|
{"key": 120260,"die": "d4+1"},
|
|
{"key": 120295,"die": "d4"},
|
|
{"key": 120320,"die": "d3"},
|
|
{"key": 129999,"die": "1"},
|
|
{"key": 130010,"die": "1"},
|
|
{"key": 130015,"die": "d3"},
|
|
{"key": 130020,"die": "d4"},
|
|
{"key": 130025,"die": "d4+1"},
|
|
{"key": 130030,"die": "d6"},
|
|
{"key": 130035,"die": "d6+1"},
|
|
{"key": 130040,"die": "d8"},
|
|
{"key": 130045,"die": "d8+1"},
|
|
{"key": 130050,"die": "d10"},
|
|
{"key": 130055,"die": "d10+1"},
|
|
{"key": 130060,"die": "d12"},
|
|
{"key": 130070,"die": "d12+1"},
|
|
{"key": 130105,"die": "d12+2"},
|
|
{"key": 130140,"die": "d20"},
|
|
{"key": 130145,"die": "d12+2"},
|
|
{"key": 130150,"die": "d12+1"},
|
|
{"key": 130155,"die": "d12"},
|
|
{"key": 130165,"die": "d10+1"},
|
|
{"key": 130175,"die": "d10"},
|
|
{"key": 130190,"die": "d8+1"},
|
|
{"key": 130205,"die": "d8"},
|
|
{"key": 130225,"die": "d6+1"},
|
|
{"key": 130245,"die": "d6"},
|
|
{"key": 130270,"die": "d4+1"},
|
|
{"key": 130305,"die": "d4"},
|
|
{"key": 130330,"die": "d3"},
|
|
{"key": 139999,"die": "1"},
|
|
{"key": 140010,"die": "1"},
|
|
{"key": 140015,"die": "d3"},
|
|
{"key": 140020,"die": "d4"},
|
|
{"key": 140025,"die": "d4+1"},
|
|
{"key": 140030,"die": "d6"},
|
|
{"key": 140035,"die": "d6+1"},
|
|
{"key": 140040,"die": "d8"},
|
|
{"key": 140045,"die": "d8+1"},
|
|
{"key": 140050,"die": "d10"},
|
|
{"key": 140055,"die": "d10+1"},
|
|
{"key": 140060,"die": "d12"},
|
|
{"key": 140070,"die": "d12+1"},
|
|
{"key": 140090,"die": "d12+2"},
|
|
{"key": 140150,"die": "d20"},
|
|
{"key": 140155,"die": "d12+2"},
|
|
{"key": 140160,"die": "d12+1"},
|
|
{"key": 140165,"die": "d12"},
|
|
{"key": 140175,"die": "d10+1"},
|
|
{"key": 140185,"die": "d10"},
|
|
{"key": 140200,"die": "d8+1"},
|
|
{"key": 140215,"die": "d8"},
|
|
{"key": 140235,"die": "d6+1"},
|
|
{"key": 140255,"die": "d6"},
|
|
{"key": 140280,"die": "d4+1"},
|
|
{"key": 140315,"die": "d4"},
|
|
{"key": 140340,"die": "d3"},
|
|
{"key": 149999,"die": "1"},
|
|
{"key": 150010,"die": "1"},
|
|
{"key": 150015,"die": "d3"},
|
|
{"key": 150020,"die": "d4"},
|
|
{"key": 150025,"die": "d4+1"},
|
|
{"key": 150030,"die": "d6"},
|
|
{"key": 150035,"die": "d6+1"},
|
|
{"key": 150040,"die": "d8"},
|
|
{"key": 150045,"die": "d8+1"},
|
|
{"key": 150050,"die": "d10"},
|
|
{"key": 150055,"die": "d10+1"},
|
|
{"key": 150060,"die": "d12"},
|
|
{"key": 150070,"die": "d12+1"},
|
|
{"key": 150080,"die": "d12+2"},
|
|
{"key": 150160,"die": "d20"},
|
|
{"key": 150165,"die": "d12+2"},
|
|
{"key": 150170,"die": "d12+1"},
|
|
{"key": 150175,"die": "d12"},
|
|
{"key": 150185,"die": "d10+1"},
|
|
{"key": 150195,"die": "d10"},
|
|
{"key": 150210,"die": "d8+1"},
|
|
{"key": 150225,"die": "d8"},
|
|
{"key": 150245,"die": "d6+1"},
|
|
{"key": 150265,"die": "d6"},
|
|
{"key": 150290,"die": "d4+1"},
|
|
{"key": 150325,"die": "d4"},
|
|
{"key": 150350,"die": "d3"},
|
|
{"key": 159999,"die": "1"},
|
|
{"key": 160010,"die": "1"},
|
|
{"key": 160015,"die": "d3"},
|
|
{"key": 160020,"die": "d4"},
|
|
{"key": 160025,"die": "d4+1"},
|
|
{"key": 160030,"die": "d6"},
|
|
{"key": 160035,"die": "d6+1"},
|
|
{"key": 160040,"die": "d8"},
|
|
{"key": 160045,"die": "d8+1"},
|
|
{"key": 160050,"die": "d10"},
|
|
{"key": 160055,"die": "d10+1"},
|
|
{"key": 160060,"die": "d12"},
|
|
{"key": 160070,"die": "d12+1"},
|
|
{"key": 160080,"die": "d12+2"},
|
|
{"key": 160170,"die": "d20"},
|
|
{"key": 160175,"die": "d12+2"},
|
|
{"key": 160180,"die": "d12+1"},
|
|
{"key": 160185,"die": "d12"},
|
|
{"key": 160195,"die": "d10+1"},
|
|
{"key": 160205,"die": "d10"},
|
|
{"key": 160220,"die": "d8+1"},
|
|
{"key": 160235,"die": "d8"},
|
|
{"key": 160255,"die": "d6+1"},
|
|
{"key": 160275,"die": "d6"},
|
|
{"key": 160300,"die": "d4+1"},
|
|
{"key": 160335,"die": "d4"},
|
|
{"key": 160360,"die": "d3"},
|
|
{"key": 169999,"die": "1"},
|
|
{"key": 170010,"die": "1"},
|
|
{"key": 170015,"die": "d3"},
|
|
{"key": 170020,"die": "d4"},
|
|
{"key": 170025,"die": "d4+1"},
|
|
{"key": 170030,"die": "d6"},
|
|
{"key": 170035,"die": "d6+1"},
|
|
{"key": 170040,"die": "d8"},
|
|
{"key": 170045,"die": "d8+1"},
|
|
{"key": 170050,"die": "d10"},
|
|
{"key": 170055,"die": "d10+1"},
|
|
{"key": 170060,"die": "d12"},
|
|
{"key": 170070,"die": "d12+1"},
|
|
{"key": 170080,"die": "d12+2"},
|
|
{"key": 170180,"die": "d20"},
|
|
{"key": 170185,"die": "d12+2"},
|
|
{"key": 170190,"die": "d12+1"},
|
|
{"key": 170195,"die": "d12"},
|
|
{"key": 170205,"die": "d10+1"},
|
|
{"key": 170215,"die": "d10"},
|
|
{"key": 170230,"die": "d8+1"},
|
|
{"key": 170245,"die": "d8"},
|
|
{"key": 170265,"die": "d6+1"},
|
|
{"key": 170285,"die": "d6"},
|
|
{"key": 170310,"die": "d4+1"},
|
|
{"key": 170345,"die": "d4"},
|
|
{"key": 170370,"die": "d3"},
|
|
{"key": 179999,"die": "1"},
|
|
{"key": 180010,"die": "1"},
|
|
{"key": 180015,"die": "d3"},
|
|
{"key": 180020,"die": "d4"},
|
|
{"key": 180025,"die": "d4+1"},
|
|
{"key": 180030,"die": "d6"},
|
|
{"key": 180035,"die": "d6+1"},
|
|
{"key": 180040,"die": "d8"},
|
|
{"key": 180045,"die": "d8+1"},
|
|
{"key": 180050,"die": "d10"},
|
|
{"key": 180055,"die": "d10+1"},
|
|
{"key": 180060,"die": "d12"},
|
|
{"key": 180070,"die": "d12+1"},
|
|
{"key": 180080,"die": "d12+2"},
|
|
{"key": 180190,"die": "d20"},
|
|
{"key": 180195,"die": "d12+2"},
|
|
{"key": 180200,"die": "d12+1"},
|
|
{"key": 180205,"die": "d12"},
|
|
{"key": 180215,"die": "d10+1"},
|
|
{"key": 180225,"die": "d10"},
|
|
{"key": 180240,"die": "d8+1"},
|
|
{"key": 180255,"die": "d8"},
|
|
{"key": 180275,"die": "d6+1"},
|
|
{"key": 180295,"die": "d6"},
|
|
{"key": 180320,"die": "d4+1"},
|
|
{"key": 180355,"die": "d4"},
|
|
{"key": 180380,"die": "d3"},
|
|
{"key": 189999,"die": "1"},
|
|
{"key": 190010,"die": "1"},
|
|
{"key": 190015,"die": "d3"},
|
|
{"key": 190020,"die": "d4"},
|
|
{"key": 190025,"die": "d4+1"},
|
|
{"key": 190030,"die": "d6"},
|
|
{"key": 190035,"die": "d6+1"},
|
|
{"key": 190040,"die": "d8"},
|
|
{"key": 190045,"die": "d8+1"},
|
|
{"key": 190050,"die": "d10"},
|
|
{"key": 190055,"die": "d10+1"},
|
|
{"key": 190060,"die": "d12"},
|
|
{"key": 190070,"die": "d12+1"},
|
|
{"key": 190075,"die": "d12+2"},
|
|
{"key": 190200,"die": "d20"},
|
|
{"key": 190205,"die": "d12+2"},
|
|
{"key": 190210,"die": "d12+1"},
|
|
{"key": 190215,"die": "d12"},
|
|
{"key": 190225,"die": "d10+1"},
|
|
{"key": 190235,"die": "d10"},
|
|
{"key": 190250,"die": "d8+1"},
|
|
{"key": 190265,"die": "d8"},
|
|
{"key": 190285,"die": "d6+1"},
|
|
{"key": 190305,"die": "d6"},
|
|
{"key": 190330,"die": "d4+1"},
|
|
{"key": 190365,"die": "d4"},
|
|
{"key": 190390,"die": "d3"},
|
|
{"key": 199999,"die": "1"},
|
|
{"key": 200010,"die": "1"},
|
|
{"key": 200015,"die": "d3"},
|
|
{"key": 200020,"die": "d4"},
|
|
{"key": 200025,"die": "d4+1"},
|
|
{"key": 200030,"die": "d6"},
|
|
{"key": 200035,"die": "d6+1"},
|
|
{"key": 200040,"die": "d8"},
|
|
{"key": 200045,"die": "d8+1"},
|
|
{"key": 200050,"die": "d10"},
|
|
{"key": 200055,"die": "d10+1"},
|
|
{"key": 200060,"die": "d12"},
|
|
{"key": 200065,"die": "d12+1"},
|
|
{"key": 200070,"die": "d12+2"},
|
|
{"key": 200210,"die": "d20"},
|
|
{"key": 200215,"die": "d12+2"},
|
|
{"key": 200220,"die": "d12+1"},
|
|
{"key": 200225,"die": "d12"},
|
|
{"key": 200235,"die": "d10+1"},
|
|
{"key": 200245,"die": "d10"},
|
|
{"key": 200260,"die": "d8+1"},
|
|
{"key": 200275,"die": "d8"},
|
|
{"key": 200295,"die": "d6+1"},
|
|
{"key": 200315,"die": "d6"},
|
|
{"key": 200340,"die": "d4+1"},
|
|
{"key": 200375,"die": "d4"},
|
|
{"key": 200400,"die": "d3"},
|
|
{"key": 209999,"die": "1"}
|
|
] ;
|
|
var myKey = level * 10000 + honor;
|
|
var die = honortable.find( item => item.key >= myKey);
|
|
return die.die ;
|
|
}
|
|
|
|
const getArmorInfo = (armorName) => {
|
|
let armortable = [
|
|
{key:"None","AC": 10, "HP": [0,0,0,0,0,0,0,0,0], "PP": 5, "OL": 0, "FRT": 0, "MS": 10, "HIS": 5, "DN": 0, "CW": 10, "SF": 0},
|
|
{key:"Heavy Cloth","AC": 9, "HP": [1,0,0,0,0,0,0,0,0], "PP": 5, "OL": 0, "FRT": 0, "MS": 10, "HIS": 5, "DN": 0, "CW": 10, "SF": 0},
|
|
{key:"Leather","AC": 8, "HP": [2,1,0,0,0,0,0,0,0], "PP": 5, "OL": 0, "FRT": 0, "MS": 10, "HIS": 5, "DN": 0, "CW": 10, "SF": 25},
|
|
{key:"Padded","AC": 8, "HP": [2,1,0,0,0,0,0,0,0], "PP": -25, "OL": -10, "FRT": -10, "MS": -15, "HIS": -15, "DN": -5, "CW": -25, "SF": 20},
|
|
{key:"Stud.Leather","AC": 7, "HP": [4,2,1,0,0,0,0,0,0], "PP": -25, "OL": -10, "FRT": -10, "MS": -15, "HIS": -15, "DN": -5, "CW": -25, "SF": 30},
|
|
{key:"Ring Mail","AC": 7, "HP": [6,2,1,0,0,0,0,0,0], "PP": -25, "OL": -10, "FRT": -10, "MS": -15, "HIS": -15, "DN": -5, "CW": -25, "SF": 40},
|
|
{key:"Tinker's Armor ","AC ": 7, "HP ": [4,2,1,0,0,0,0,0,0], "PP ": -25, "OL ": -10, "FRT ": -10, "MS ": -15, "HIS ": -15, "DN ": -5, "CW ": -25, "SF ": 25},
|
|
{key:"Hide ","AC ": 6, "HP ": [5,4,2,1,0,0,0,0,0], "PP ": -999, "OL ": -999, "FRT ": -999, "MS ": -999, "HIS ": -999, "DN ": -999, "CW ": -999, "SF ": 40},
|
|
{key:"Brigandine ","AC ": 6, "HP ": [6,4,2,1,0,0,0,0,0], "PP ": -999, "OL ": -999, "FRT ": -999, "MS ": -999, "HIS ": -999, "DN ": -999, "CW ": -999, "SF ": 35},
|
|
{key:"Scale Mail ","AC ": 6, "HP ": [7,4,2,1,0,0,0,0,0], "PP ": -999, "OL ": -999, "FRT ": -999, "MS ": -999, "HIS ": -999, "DN ": -999, "CW ": -999, "SF ": 35},
|
|
{key:"Chain Shirt ","AC ": 6, "HP ": [6,4,2,1,0,0,0,0,0], "PP ": -999, "OL ": -999, "FRT ": -999, "MS ": -999, "HIS ": -999, "DN ": -999, "CW ": -999, "SF ": 40},
|
|
{key:"Chain Mail ","AC ": 5, "HP ": [8,6,4,2,1,0,0,0,0], "PP ": -25, "OL ": -10, "FRT ": -10, "MS ": -15, "HIS ": -15, "DN ": -10, "CW ": -25, "SF ": 50},
|
|
{key:"Stud. Hide ","AC ": 5, "HP ": [7,6,4,2,1,0,0,0,0], "PP ": -999, "OL ": -999, "FRT ": -999, "MS ": -999, "HIS ": -999, "DN ": -999, "CW ": -999, "SF ": 45},
|
|
{key:"Splint Mail ","AC ": 4, "HP ": [8,8,6,4,2,1,0,0,0], "PP ": -999, "OL ": -999, "FRT ": -999, "MS ": -999, "HIS ": -999, "DN ": -999, "CW ": -999, "SF ": 60},
|
|
{key:"Heavy Chain ","AC ": 4, "HP ": [9,8,6,4,2,1,0,0,0], "PP ": -999, "OL ": -999, "FRT ": -999, "MS ": -999, "HIS ": -999, "DN ": -999, "CW ": -999, "SF ": 60},
|
|
{key:"Banded Mail ","AC ": 4, "HP ": [9,8,6,4,2,1,0,0,0], "PP ": -999, "OL ": -999, "FRT ": -999, "MS ": -999, "HIS ": -999, "DN ": -999, "CW ": -999, "SF ": 80},
|
|
{key:"Plate Mail ","AC ": 3, "HP ": [12,10,8,6,4,2,1,0,0], "PP ": -999, "OL ": -999, "FRT ": -999, "MS ": -999, "HIS ": -999, "DN ": -999, "CW ": -999, "SF ": 100},
|
|
{key:"Bronze Plate Mail ","AC ": 4, "HP ": [12,10,8,6,4,2,1,0,0], "PP ": -999, "OL ": -999, "FRT ": -999, "MS ": -999, "HIS ": -999, "DN ": -999, "CW ": -999, "SF ": 100},
|
|
{key:"Half-Plate ","AC ": 3, "HP ": [18,12,10,8,4,2,1,0,0], "PP ": -999, "OL ": -999, "FRT ": -999, "MS ": -999, "HIS ": -999, "DN ": -999, "CW ": -999, "SF ": 110},
|
|
{key:"Field Plate ","AC ": 2, "HP ": [24,12,10,8,6,4,2,1,0], "PP ": -999, "OL ": -999, "FRT ": -999, "MS ": -999, "HIS ": -999, "DN ": -999, "CW ": -999, "SF ": 120},
|
|
{key:"Full Plate ","AC ": 1, "HP ": [36,24,12,10,8,6,4,2,1], "PP ": -999, "OL ": -999, "FRT ": -999, "MS ": -999, "HIS ": -999, "DN ": -999, "CW ": -999, "SF ": 150},
|
|
{key:"Elven Chain ","AC ": 5, "HP ": [8,6,4,2,1,0,0,0,0], "PP ": -20, "OL ": -5, "FRT ": -5, "MS ": -10, "HIS ": -10, "DN ": -5, "CW ": -20, "SF ": 20}
|
|
] ;
|
|
var armor = armortable.find (i => i.key == armorName) ;
|
|
return armor;
|
|
}
|
|
const getShieldInfo = (shieldName) => {
|
|
let shieldtable = [
|
|
{key:"None","AC": 0,"HP": [0,0,0,0,0],"SF": 0},
|
|
{key:"Buckler","AC": 1,"HP": [3,1,0,0,0],"SF": 5},
|
|
{key:"Small Shield","AC": 2,"HP": [4,3,1,0,0],"SF": 10},
|
|
{key:"Medium Shield","AC": 3,"HP": [5,4,3,1,0],"SF": 15},
|
|
{key:"Body Shield","AC": 4,"HP": [6,5,4,3,1],"SF": 55},
|
|
{key:"Wood Buckler","AC": 1,"HP": [2,1,0,0,0],"SF": 0},
|
|
{key:"Wood Small","AC": 2,"HP": [3,2,1,0,0],"SF": 5},
|
|
{key:"Wood Medium","AC": 3,"HP": [3,2,2,1,0],"SF": 10},
|
|
{key:"Wood Body","AC": 4,"HP": [3,3,2,2,1],"SF": 15}
|
|
];
|
|
var shield = shieldtable.find (i => i.key == shieldName) ;
|
|
return shield;
|
|
}
|
|
|
|
function removeItemAll(arr, value) {
|
|
var i = 0;
|
|
while (i < arr.length) {
|
|
if (arr[i] === value) {
|
|
arr.splice(i, 1);
|
|
} else {
|
|
++i;
|
|
}
|
|
}
|
|
return arr;
|
|
}
|
|
|
|
// Gets the relevent values from the sheet and calculates your AC
|
|
function CalculateAC() {
|
|
getAttrs(["armor_current_ac","shield_current_ac","dex_defense_adjust","misc_ac_bonus","acrobatics"], function(v) {
|
|
var armor_ac = parseValue(v.armor_current_ac);
|
|
var shield_ac = parseValue(v.shield_current_ac);
|
|
var dex_amt = parseValue (v.dex_defense_adjust);
|
|
var misc_amt = parseValue (v.misc_ac_bonus);
|
|
//var acrobatics = 0;
|
|
var acrobatics = (v.acrobatics=="on") ? 1 : 0;
|
|
var ac = armor_ac - shield_ac + dex_amt - misc_amt - acrobatics;
|
|
var rear = armor_ac - misc_amt;
|
|
var shieldless = armor_ac + dex_amt - misc_amt - acrobatics;
|
|
setAttrs ({
|
|
armor_class : ac ,
|
|
shieldless_armor_class : shieldless,
|
|
rear_armor_class : rear
|
|
});
|
|
});
|
|
}
|
|
|
|
on ("change:acrobatics change:misc_ac_bonus" , function() {
|
|
CalculateAC();
|
|
});
|
|
|
|
on ("change:shield_type change:shield_plus change:shield_damage" , function() {
|
|
getAttrs(["shield_type" ,"shield_plus","shield_damage"], function (v) {
|
|
let shieldPlus = parseValue (v.shield_plus) ;
|
|
let shield = getShieldInfo(v.shield_type) ;
|
|
let shieldDamage = parseValue(v.shield_damage);
|
|
var abac= shield.AC ;
|
|
var acac = shield.AC + shieldPlus;
|
|
|
|
// Now calculate the hits for each level of the armor
|
|
var ahp = shield.HP;
|
|
for (var i = 0 ; i < v.shield_plus ; i++) { ahp.unshift (ahp[0]);}
|
|
removeItemAll(ahp, 0) ;
|
|
var ah = ahp.join("/") ;
|
|
|
|
// Reduce the current AC based on the damage taken to the armor:
|
|
for (var j = 0; j < ahp.length; j++) {
|
|
shieldDamage -= ahp[j];
|
|
if (shieldDamage < 0) break;
|
|
acac --; // Lose an armor class!
|
|
}
|
|
|
|
setAttrs ({
|
|
shield_current_ac : acac,
|
|
shield_hits : ah,
|
|
shield_base_ac : abac
|
|
}) ;
|
|
CalculateAC();
|
|
}) ;
|
|
});
|
|
|
|
|
|
on ("change:armor_type change:armor_plus change:armor_damage" , function() {
|
|
getAttrs(["armor_type" ,"armor_plus","armor_damage"], function (v) {
|
|
let armorPlus = parseValue (v.armor_plus) ;
|
|
let armor = getArmorInfo(v.armor_type) ;
|
|
let armorDamage = parseValue(v.armor_damage);
|
|
var abac= armor.AC ;
|
|
var acac = armor.AC - armorPlus;
|
|
|
|
// Now calculate the hits for each level of the armor
|
|
var ahp = armor.HP;
|
|
for (var i = 0 ; i < v.armor_plus ; i++) { ahp.unshift (ahp[0]);}
|
|
removeItemAll(ahp, 0) ;
|
|
var ah = ahp.join("/") ;
|
|
|
|
// Reduce the current AC based on the damage taken to the armor:
|
|
for (var j = 0; j < ahp.length; j++) {
|
|
armorDamage -= ahp[j];
|
|
if (armorDamage < 0) break;
|
|
acac ++; // Lose an armor class!
|
|
}
|
|
|
|
setAttrs ({
|
|
armor_current_ac : acac,
|
|
armor_hits : ah,
|
|
armor_base_ac : abac,
|
|
pparmoradjust : armor.PP,
|
|
olarmoradjust : armor.OL,
|
|
ftarmoradjust : armor.FRT,
|
|
rtarmoradjust : armor.FRT,
|
|
msarmoradjust : armor.MS,
|
|
hsarmoradjust : armor.HIS,
|
|
dnarmoradjust : armor.DN,
|
|
cwarmoradjust : armor.CW
|
|
}) ;
|
|
CalculateAC();
|
|
CalcThiefSkills();
|
|
}) ;
|
|
});
|
|
|
|
on ("change:hit_points_max change:TOP_adjust", function() {
|
|
getAttrs(["hit_points_max","TOP_adjust"], function(v) {
|
|
var m = parseValue(v.TOP_adjust,"float");
|
|
if (m <= 0) m = 1;
|
|
setAttrs({
|
|
TOP : Math.round(v.hit_points_max / 2.0 * m)
|
|
});
|
|
});
|
|
});
|
|
|
|
function CalculateMove() {
|
|
getAttrs(["character_race","armor_type","armor_plus","str_wgt_allow","character_encumberance"], function(v) {
|
|
var armorBulk ="Fairly";
|
|
switch (v.armor_type) {
|
|
case "None" : case "Heavy Cloth" : case "Leather" :
|
|
armorBulk = "Non";
|
|
break;
|
|
case "Splint Mail" : case "Heavy Chain" : case "Banded Mail" : case "Plate Mail" : case "Bronze Plate Mail" :case "Half-Plate" : case "Field Plate" : case "Full Plate" :
|
|
armorBulk ="Bulky" ;
|
|
break;
|
|
}
|
|
var armorPlus = parseValue(v.armor_plus);
|
|
if (armorPlus > 0 && armorBulk=="Fairly ") armorBulk = "Non" ;
|
|
if (armorPlus > 0 && armorBulk=="Bulky ") armorBulk = "Fairly" ;
|
|
|
|
var bm = 12;
|
|
var fly = 0;
|
|
var brachiate = 0;
|
|
var baseSwim = 2;
|
|
if (encum > 20) baseSwim="n/a"; // TODO: allow 1 extra pound per point of strength bonus to damage.
|
|
switch (v.character_race) {
|
|
case "Dwarf": case "Gnome" : case "Gnome Titan" : case "Halfling" : case "Thug Halfling" :
|
|
bm = 6;
|
|
break;
|
|
case "Gnomeling" :
|
|
bm = 4;
|
|
break;
|
|
case "Pixie Fairy" :
|
|
bm = 4; fly = 18;
|
|
break;
|
|
case "Half-Ogre" :
|
|
bm = 13;
|
|
break;
|
|
case "Orutan": case "Pantrog" : case "Pithengi": case "Rillan":
|
|
brachiate=12;
|
|
break;
|
|
case "Dracon":
|
|
bm = 18;
|
|
break;
|
|
case "Lizard Man":
|
|
baseSwim = 12;bm=6;
|
|
break;
|
|
case "Elvariel" :
|
|
bm = 12; fly = 18;
|
|
break;
|
|
case "Fae-born" :
|
|
bm = 9; fly = 18;
|
|
break;
|
|
case "Grixie" :
|
|
bm = 4; fly = 16;
|
|
break;
|
|
case "Pixie Brownie" :
|
|
bm = 9; fly = 12;
|
|
break;
|
|
case "Pixie Leprechaun" :
|
|
bm = 12; fly = 12;
|
|
break;
|
|
case "Pixie Nixie" :
|
|
bm = 4; fly =12; baseSwim = 12;
|
|
break;
|
|
case "Pixie Sprite" :
|
|
bm = 6; fly = 18;
|
|
break;
|
|
}
|
|
var ab = 1;
|
|
var abtext = "" ;
|
|
switch (armorBulk){
|
|
case "Fairly":
|
|
ab = 0.66667;
|
|
abtext = "2/3" ;
|
|
baseSwim= 0;
|
|
break;
|
|
case "Bulky":
|
|
ab = 0.5;
|
|
abtext = "1/2";
|
|
baseSwim= 0;
|
|
break;
|
|
}
|
|
var wgtAllow = parseValue(v.str_wgt_allow);
|
|
var encum =parseValue(v.character_encumberance);
|
|
var wan = wgtAllow ;
|
|
var wal = Math.ceil(Math.max (wan * 1.25 , wan + 2)) ;
|
|
var wam = Math.ceil(Math.max (wan * 1.50 , wal + 2)) ;
|
|
var wah = Math.ceil(Math.max (wan * 2.00 , wam + 2)) ;
|
|
var was = Math.ceil(Math.max (wan * 3.00 , wah + 2)) ;
|
|
var ema = 0; // Encumberance Move Adjustment - this is beyond severe
|
|
var ematext = "n/a" ;
|
|
if (encum < was) {ema = -1; ematext ="Always 1" }; // Move rate will always be 1
|
|
if (encum < wah) {ema = 0.33333; ematext="1/3"};
|
|
if (encum < wam) {ema = 0.5; ematext="1/2"};
|
|
if (encum < wal) {ema = 0.66667; ematext="2/3"};
|
|
if (encum < wan) {ema = 1.0; ematext = "1"} ;
|
|
|
|
var moveAdjust = ema * ab;
|
|
var walks = Math.round(Math.max (0, bm * moveAdjust)) ;
|
|
var runs = Math.round(Math.max (0, 2.0 * bm * moveAdjust)) ;
|
|
var charges = Math.round(Math.max (0, 1.5 * bm * moveAdjust)) ;
|
|
var brachiates = Math.round(Math.max (0, brachiate * moveAdjust)) ;
|
|
var flys = (fly > 0) ? Math.round(Math.max (0, fly * moveAdjust)) : "n/a" ;
|
|
var crawls = 2;
|
|
var climbs = walks / 10;
|
|
var swims = Math.round(Math.max (0, baseSwim * moveAdjust)) ;
|
|
setAttrs ({
|
|
base_move: bm,
|
|
enc_non : wgtAllow,
|
|
enc_light: wal,
|
|
enc_moderate: wam,
|
|
enc_heavy : wah,
|
|
enc_severe: was,
|
|
encumberance_adjustment: ematext,
|
|
move_walk: walks,
|
|
move_run: runs,
|
|
move_charge: charges,
|
|
move_fly: flys,
|
|
move_crawl: crawls,
|
|
move_fall: 58,
|
|
move_climb: climbs,
|
|
move_swim: swims,
|
|
move_brachiate: brachiates,
|
|
armor_adjustment : abtext,
|
|
armor_bulk : armorBulk
|
|
}) ;
|
|
});
|
|
};
|
|
|
|
function CalculateSpellBookPages() {
|
|
getSectionIDs('spellbooks', function (bids) {
|
|
getSectionIDs('spells', function (sids){
|
|
if (bids.length === 0) { // No books, no need to calc
|
|
return;
|
|
}
|
|
const fieldArray = [];
|
|
sids.forEach(id => fieldArray.push(`repeating_spells_${id}_bookid`, `repeating_spells_${id}_numpages`));
|
|
bids.forEach(bid => fieldArray.push(`repeating_spellbooks_${bid}_book_id`)) ;
|
|
|
|
getAttrs(fieldArray, function (v) {
|
|
//const setFields = [] ;
|
|
bids.forEach(id => {
|
|
var bookId = (v[`repeating_spellbooks_${id}_book_id`]);
|
|
if (!bookId || 0 === bookId.length) return; // Look for next book
|
|
var pageCount = 0;
|
|
sids.forEach(spId => {
|
|
var sBookId = (v[`repeating_spells_${spId}_bookid`]);
|
|
if (!sBookId || 0 === sBookId.length) return; // Look for next spell
|
|
if (sBookId != bookId) return;
|
|
var sPages = (+v[`repeating_spells_${spId}_numpages`]) ;
|
|
pageCount += sPages;
|
|
});
|
|
setAttrs({
|
|
[`repeating_spellbooks_${id}_pagesused`] : pageCount
|
|
});
|
|
//setFields.concat([`repeating_spellbooks_${id}_book_id`])
|
|
});
|
|
|
|
|
|
}); // getAttrs
|
|
});
|
|
});
|
|
};
|
|
|
|
on("remove:repeating_spells", function(eventinfo) {
|
|
CalculateSpellBookPages();
|
|
});
|
|
|
|
on("change:repeating_spells:bookId change:repeating_spells:numPages", function() {
|
|
CalculateSpellBookPages();
|
|
});
|
|
|
|
const CoinTable = [
|
|
{key:"Copper Pieces","GPValue": 0.01},
|
|
{key:"Silver Pieces","GPValue": 0.1},
|
|
{key:"Electrum Pieces","GPValue": 0.5},
|
|
{key:"Gold Pieces","GPValue": 1.0},
|
|
{key:"Hard Silver Pieces","GPValue": 2.0},
|
|
{key:"Platinum Pieces","GPValue": 5.0},
|
|
];
|
|
|
|
on('clicked:wealth_defaults', function() {
|
|
|
|
for (var j = 0; j < CoinTable.length; j++) {
|
|
var newrowid = generateRowID();
|
|
var newrowattrs = {};
|
|
newrowattrs["repeating_wealth_" + newrowid + "_wLocation"] = "Packable";
|
|
newrowattrs["repeating_wealth_" + newrowid + "_wItem"] = CoinTable[j].key;
|
|
newrowattrs["repeating_wealth_" + newrowid + "_wItemQty"] = "0";
|
|
newrowattrs["repeating_wealth_" + newrowid + "_wItemWgt"] = "0.1";
|
|
newrowattrs["repeating_wealth_" + newrowid + "_wItemEnc"] = "0";
|
|
newrowattrs["repeating_wealth_" + newrowid + "_wValueEach"] = CoinTable[j].GPValue;
|
|
newrowattrs["repeating_wealth_" + newrowid + "_wValueTotal"] = "0";
|
|
setAttrs(newrowattrs);
|
|
}
|
|
});
|
|
|
|
on ("change:repeating_wealth:wItemQty change:repeating_wealth:wItemWgt change:repeating_wealth:wValueEach change:repeating_wealth:wLocation", function() {
|
|
getAttrs(["repeating_wealth_wItemQty","repeating_wealth_wItemWgt","repeating_wealth_wValueEach"], function(v){
|
|
var q = parseValue(v.repeating_wealth_wItemQty,"float") ;
|
|
var w = parseValue(v.repeating_wealth_wItemWgt,"float") ;
|
|
var v = parseValue(v.repeating_wealth_wValueEach,"float") ;
|
|
setAttrs({
|
|
repeating_wealth_wItemEnc: (q * w).toFixed(2),
|
|
repeating_wealth_wValueTotal: (q * v).toFixed(2)
|
|
});
|
|
CalculateWealthTotal();
|
|
CalculateEncumberanceTotals();
|
|
});
|
|
});
|
|
|
|
on ("change:total_level change:additional_fame change:honor", function(){
|
|
getAttrs(["total_level", "additional_fame", "honor"], function(v){
|
|
var ffh =Math.round(parseValue(v.total_level) * parseValue(v.honor) / 10.0);
|
|
var tf = parseValue(v.additional_fame) + ffh ;
|
|
var emp = Math.floor(tf / 60.0) ;
|
|
setAttrs({
|
|
enemy_morale_penalty: emp,
|
|
total_fame: tf,
|
|
fame_from_honor: ffh
|
|
});
|
|
});
|
|
});
|
|
|
|
function CalculateWealthTotal() {
|
|
getSectionIDs('wealth', function (ids){
|
|
const fieldArray = [];
|
|
ids.forEach(id => fieldArray.push(
|
|
`repeating_wealth_${id}_wValueTotal`
|
|
));
|
|
getAttrs(fieldArray, function (v) {
|
|
var tot = 0;
|
|
ids.forEach(id => {
|
|
var v1 = (+v[`repeating_wealth_${id}_wValueTotal`]) ;
|
|
tot += v1;
|
|
});
|
|
setAttrs({
|
|
wealth : tot.toFixed(2)
|
|
});
|
|
});
|
|
});
|
|
}
|
|
|
|
function CalculateEncumberanceTotals() {
|
|
getSectionIDs('inventory', function (ids) {
|
|
getSectionIDs('spellbooks', function (sids){
|
|
getSectionIDs('wealth', function (wids) {
|
|
|
|
if (ids.length === 0) {
|
|
return;
|
|
}
|
|
// need to get an array of all the attributes used in the repeating_items calculations, for getAttrs
|
|
const fieldArray = [];
|
|
ids.forEach(id => fieldArray.push(
|
|
`repeating_inventory_${id}_itemQty`, `repeating_inventory_${id}_itemWgt`,
|
|
`repeating_inventory_${id}_itemEnc`, `repeating_inventory_${id}_location`,
|
|
`repeating_inventory_${id}_stylePoints`
|
|
));
|
|
sids.forEach(sid => fieldArray.push(
|
|
`repeating_spellbooks_${sid}_bookenc`,
|
|
`repeating_spellbooks_${sid}_booklocation`
|
|
));
|
|
wids.forEach(wid => fieldArray.push(
|
|
`repeating_wealth_${wid}_wItemEnc`,
|
|
`repeating_wealth_${wid}_wLocation`
|
|
));
|
|
|
|
getAttrs(fieldArray.concat(['clever_packer']), function (v) {
|
|
var carried = 0;
|
|
var packable = 0;
|
|
var mount = 0;
|
|
var intown = 0;
|
|
var tot = 0;
|
|
var styletot = 0;
|
|
|
|
ids.forEach(id => {
|
|
// for each row of the table, calculate the total weight and cost
|
|
var weight = (+v[`repeating_inventory_${id}_itemEnc`]) ;
|
|
var loc = (v[`repeating_inventory_${id}_location`]);
|
|
var style = (+v[`repeating_inventory_${id}_stylePoints`]);
|
|
var qty = (+v[`repeating_inventory_${id}_itemQty`]);
|
|
|
|
switch (loc)
|
|
{
|
|
case "Carried":
|
|
carried += weight;
|
|
styletot += style * qty;
|
|
break;
|
|
case "Packable":
|
|
packable += weight;
|
|
break;
|
|
case "Mount":
|
|
mount += weight;
|
|
break;
|
|
case "Town":
|
|
intown += weight;
|
|
break;
|
|
}
|
|
});
|
|
sids.forEach(id => {
|
|
var w = (+v[`repeating_spellbooks_${id}_bookenc`]) ;
|
|
var l = (v[`repeating_spellbooks_${id}_booklocation`]);
|
|
switch (l)
|
|
{
|
|
case "Carried":
|
|
carried += w;
|
|
break;
|
|
case "Packable":
|
|
packable += w;
|
|
break;
|
|
case "Mount":
|
|
mount += w;
|
|
break;
|
|
case "Town":
|
|
intown += w;
|
|
break;
|
|
}
|
|
});
|
|
wids.forEach(id => {
|
|
var w1 = (+v[`repeating_wealth_${id}_wItemEnc`]) ;
|
|
var l1 = (v[`repeating_wealth_${id}_wLocation`]);
|
|
switch (l1)
|
|
{
|
|
case "Carried":
|
|
carried += w1;
|
|
break;
|
|
case "Packable":
|
|
packable += w1;
|
|
break;
|
|
case "Mount":
|
|
mount += w1;
|
|
break;
|
|
case "Town":
|
|
intown += w1;
|
|
break;
|
|
}
|
|
});
|
|
var tot = carried + packable * (v.clever_packer == 'X' ? 0.9 : 1.0) ;
|
|
setAttrs({
|
|
enc_carried : carried,
|
|
enc_packable: packable,
|
|
character_encumberance: tot,
|
|
enc_mount: mount,
|
|
enc_intown: intown,
|
|
style_total: styletot
|
|
});
|
|
CalculateMove() ;
|
|
});
|
|
});
|
|
});
|
|
});
|
|
};
|
|
|
|
on("change:repeating_spellbooks:bookweight change:repeating_spellbooks:bookencmod change:repeating_spellbooks:booklocation", function() {
|
|
getAttrs(["repeating_spellbooks_bookweight", "repeating_spellbooks_bookencmod"], function(v){
|
|
var totWgt = (parseFloat(v.repeating_spellbooks_bookweight) * parseFloat(v.repeating_spellbooks_bookencmod)).toFixed(2) ;
|
|
setAttrs({
|
|
repeating_spellbooks_bookenc : totWgt
|
|
});
|
|
CalculateEncumberanceTotals();
|
|
}) ;
|
|
});
|
|
|
|
on("remove:repeating_inventory remove:repeating_spellbooks", function(eventinfo) {
|
|
CalculateEncumberanceTotals();
|
|
});
|
|
|
|
on ("change:clever_packer", function() {
|
|
CalculateEncumberanceTotals();
|
|
});
|
|
|
|
on("change:character_race change:armor_type change:armor_plus change:str_wgt_allow", function() {
|
|
CalculateMove();
|
|
});
|
|
|
|
on ("change:repeating_inventory:itemQty change:repeating_inventory:itemWgt change:repeating_inventory:stylePoints change:repeating_inventory:location", function() {
|
|
getAttrs(["repeating_inventory_itemQty", "repeating_inventory_itemWgt", "repeating_inventory_location"], function(v){
|
|
var totWgt = (parseFloat(v.repeating_inventory_itemQty) * parseFloat(v.repeating_inventory_itemWgt)).toFixed(2) ;
|
|
setAttrs({
|
|
repeating_inventory_itemEnc : totWgt
|
|
});
|
|
CalculateEncumberanceTotals();
|
|
}) ;
|
|
});
|
|
|
|
on ("change:fatigue_adjust change:constitution change:constitution_pct change:wisdom change:wisdom_pct", function() {
|
|
getAttrs(["fatigue_adjust", "constitution", "constitution_pct", "wisdom", "wisdom_pct"], function(v) {
|
|
var m = 1.0 + parseValue(v.fatigue_adjust) *1.0 / (( parseValue(v.fatigue_adjust) > 1) ? 100.0 : 1.0);
|
|
setAttrs({
|
|
fatigue_factor_max : Math.round ( v.constitution / 2.0 * m - 0.5),
|
|
fatigue_check : Math.round ( ((parseValue(v.constitution) + parseValue(v.wisdom)) +
|
|
(parseValue(v.constitution_pct) + parseValue(v.wisdom_pct))/100.0 ) /2.0 - 0.5)
|
|
});
|
|
});
|
|
});
|
|
|
|
on ("change:honor change:total_level" , function() {
|
|
getAttrs(["honor", "total_level"], function (v) {
|
|
var l = parseValue (v.total_level) ;
|
|
var h = parseValue (v.honor) ;
|
|
var hd = getHonorDie (l, h);
|
|
var gh_low = l * 8 + 9;
|
|
var gh_high = l * 10 + 10;
|
|
var dishonor = l * 3 + 3;
|
|
var hl = "Honorable"; // Honor level
|
|
var hc = "+3" ;
|
|
hb = "+0 ";
|
|
if (h < dishonor) {hl = "Dishonor";hc="-5";hb="-1";}
|
|
if (h > gh_high) {hl = "Too Much" ;hc="+5";}
|
|
if (h >= gh_low && h <= gh_high) {hl = "Great" ;hc="+5";hb="+1";}
|
|
|
|
setAttrs ({
|
|
honor_level : hl,
|
|
honor_die: hd,
|
|
honor_checkmod: hc,
|
|
honor_penalty: "<" +dishonor,
|
|
honor_honorwindow: "" + gh_low + "-" + gh_high,
|
|
honor_bonus : hb
|
|
}) ;
|
|
}) ;
|
|
});
|
|
|
|
on ("change:comliness", function() {
|
|
getAttrs(["comliness", "comliness_pct"], function (v) {
|
|
var c = parseValue(v.comliness) ;
|
|
var effect = "?" ;
|
|
if (c <= -16)
|
|
{
|
|
effect = "Those viewing a character with Comeliness this low are repulsed and horrified, so as " +
|
|
" to turn away or attempt to destroy the creature that is so offensive to the sight. If the "+
|
|
"individual with low Comeliness is powerful, his appearance will make others tend to want to escape, " +
|
|
"or they will experience a reinforcement of a previously determined awe (horror) reaction. " +
|
|
"If both viewer and creature are of evil alignment, the effect is that of a positive Comeliness of the same total. " ;
|
|
}
|
|
if (c > -16 && c <= -9)
|
|
{
|
|
effect = "Those viewing creatures with Comeliness in this range display disgust, evidenced by a tendency to look away. " +
|
|
"They will revile the individual, and act hostile in general. Under no circumstances will the viewers accept this " +
|
|
"character unless all are of evil alignment, so htat the negative Comeliness can be regarded as positive. ";
|
|
}
|
|
if (c > -9 && c <= 0)
|
|
{
|
|
effect = "All viewers will evidence an aversion and a desire to be away from so ugly a creature. If given an excuse, those " +
|
|
"near the individual will be hostile and openly aggressive; otherwise they will merely tend toward rejection. " ;
|
|
}
|
|
if (c > 0 && c <= 6)
|
|
{
|
|
effect = "Such an individual is simply ugly. The reaction evidenced will tend toward unease and a desire to get away "+
|
|
"from such brutishness as quickly as possible. If given the opportunity, the character 's Charisma can offset ugliness, " +
|
|
"but this requires a fair amount of conversation and interaction to take place." ;
|
|
}
|
|
if (c > 6 && c <= 9)
|
|
{
|
|
effect = "The homeliness of the individual will be such that initial contact will be of a negative sort. This negative " +
|
|
"feeling will not be strongly evidenced. High Charisma will quickly overcome it if any conversation and interpersonal " +
|
|
"interaction transpires.";
|
|
}
|
|
if (c > 9 && c <= 13)
|
|
{
|
|
effect = "Plain to average Comeliness; no effect on the viewer." ;
|
|
}
|
|
if (c > 13 && c <= 17)
|
|
{
|
|
effect = "Interest in viewing the individual is evidenced by those in contact, as he is good-looking. The reaction adjustment " +
|
|
"is increased by a percentage equal to the Comeliness score of the character. Individuals of the opposite sex will seek " +
|
|
"out such characters, and they will be affected as if under a Fascinate spell unless the Wisdom of such individuals exceeds " +
|
|
"50% of the characters's Comeliness total. ";
|
|
}
|
|
if (c > 17 && c <= 21)
|
|
{
|
|
effect = "The beauty of the character will cause heads to turn and hearts to race. Reaction for initial contact is at a percent " +
|
|
"equal to 150% of the Comeliness score. Individuals of the opposite sex will be affected as if under a Fascinate spell unless " +
|
|
"their Wisdom exceeds two-thirds of the character 's Comeliness total. Individuals of the same sex will do likewise unless " +
|
|
"Wisdom totals at least 50% of the other character's Comeliness score. Reaction of harsh nature can cause the individual rejected " +
|
|
"to have a reaction as if the character had a negative Comeliness of half the actual (positive) score. " ;
|
|
}
|
|
if (c > 21 && c <= 25)
|
|
{
|
|
effect = "The stunning beauty and gorgeous looks of a character with so high a Comeliness will be similar to that of those of lesser " +
|
|
"beauty (18-21). However, individuals will actually flock around the character, follow him and generally behave foolishly or in " +
|
|
"some manner so as to attract the attention of the character. The reaction adjustment is double the score of Comeliness. Fascinate- " +
|
|
"like power will affect all those with Wisdom of less than two-thirds the Comeliness score of the character. If an individual of " +
|
|
"the opposite sex is actually consciously sought by a character with Comeliness of 22-25 that individual will be effectively Fascinated "+
|
|
"unless his Wisdom is 18 or higher. Rejection is as 18-21 Comeliness. ";
|
|
}
|
|
if (c > 25 && c <= 30)
|
|
{
|
|
effect = "Only creatures from other planes - demi-gawds, demi-gawddesses and other-worldly beings of unusual sort, can possess unearthly " +
|
|
"beauty of this sort. Reaction adjustment is double the Comeliness score. Fascinated-like power affects all except those with " +
|
|
"Wisdom equal to at least 75% of Comeliness, except that 19 or higher Wisdom always allows a saving throw versus the power. An " +
|
|
"individual of the opposite sex who is consciously sought by the possessor of such unearthly beauty and Comeliness will always be " +
|
|
"under the 'spell' of the individual with such beauty unless he has Wisdom of 20 or more. " ;
|
|
}
|
|
if (c > 30) {
|
|
effect = "Invalid Comeliness. max is 30. " ;
|
|
}
|
|
setAttrs ({
|
|
com_effect : effect
|
|
}) ;
|
|
}) ; // getAttrs
|
|
}) ; // on change of comliness
|
|
|
|
on ("change:charisma change:charisma_pct", function() {
|
|
getAttrs(["charisma", "charisma_pct"], function (v) {
|
|
var mh=0;lb=0;ra=0;cm=0;sh=0;
|
|
var over50 = (parseValue(v.charisma_pct) > 50) ;
|
|
switch (parseValue(v.charisma)) {
|
|
case 1:
|
|
mh=0;lb=-8;ra=-7;cm=-8;sh=-9;
|
|
break;
|
|
case 2:
|
|
mh=1;lb=-7;ra=-6;cm=-8;sh=-8;
|
|
break;
|
|
case 3:
|
|
mh=1;lb=-6;ra=-5;cm=-5;sh=-7;
|
|
break;
|
|
case 4:
|
|
mh=1;lb=-5;ra=-4;cm=-3;sh=-6;
|
|
break;
|
|
case 5:
|
|
mh=2;lb=-4;ra=-3;cm=-3;sh=-5;
|
|
break;
|
|
case 6:
|
|
mh=2;lb=-3;ra=-2;cm=-1;sh=-4;
|
|
break;
|
|
case 7:
|
|
mh=3;lb=-2;ra=-1;cm=-1;sh=-3;
|
|
break;
|
|
case 8:
|
|
mh=3;lb=-1;ra=0;cm=-1;sh=-2;
|
|
break;
|
|
case 9:
|
|
mh=4;lb=0;ra=0;cm=0;sh=-1;
|
|
break;
|
|
case 10:
|
|
case 11:
|
|
mh=4;lb=0;ra=0;cm=0;sh=0;
|
|
break;
|
|
case 12:
|
|
mh=5;lb=0;ra=0;cm=0;sh=1;
|
|
break;
|
|
case 13:
|
|
mh=5;lb=0;ra=1;cm=1;sh=2;
|
|
break;
|
|
case 14:
|
|
mh=6;lb=1;ra=2;cm=1;sh=3;
|
|
break;
|
|
case 15:
|
|
mh=7;lb=3;ra=3;cm=1;sh=4;
|
|
break;
|
|
case 16:
|
|
mh=8;lb=4;ra=5;cm=2;sh=5;
|
|
break;
|
|
case 17:
|
|
mh=10;lb=6;ra=6;cm=2;sh=6;
|
|
break;
|
|
case 18:
|
|
mh=15;lb=8;ra=7;cm=3;sh=7;
|
|
break;
|
|
case 19:
|
|
mh=18;lb=10;ra=8;cm=4;sh=8;
|
|
break;
|
|
case 20:
|
|
mh=20;lb=12;ra=9;cm=4;sh=9;
|
|
break;
|
|
case 21:
|
|
mh=25;lb=14;ra=10;cm=5;sh=10;
|
|
break;
|
|
case 22:
|
|
mh=30;lb=16;ra=11;cm=5;sh=11;
|
|
break;
|
|
case 23:
|
|
mh=35;lb=18;ra=12;cm=6;sh=12;
|
|
break;
|
|
case 24:
|
|
mh=40;lb=20;ra=13;cm=7;sh=13;
|
|
break;
|
|
case 24:
|
|
mh=45;lb=20;ra=14;cm=8;sh=14;
|
|
break;
|
|
};
|
|
setAttrs ({
|
|
chr_max_henchmen : mh,
|
|
chr_loyalty_base : lb,
|
|
chr_reaction_adjust : ra,
|
|
chr_comeliness_mod : cm,
|
|
chr_start_honormod : sh
|
|
}) ;
|
|
}) ; // getAttrs
|
|
}) ; // on
|
|
|
|
|
|
on ("change:constitution change:constitution_pct", function() {
|
|
getAttrs(["constitution", "constitution_pct"], function (v) {
|
|
var hpa=0;ss=0;rs=0;ps=0;id=0;rh="";
|
|
var over50 = (parseValue(v.constitution_pct) > 50) ;
|
|
switch (parseValue(v.constitution)) {
|
|
case 1:
|
|
hpa=-5;ss=25;rs=30;ps=-2;id=30;rh="Nil//1 hp/2 wks";
|
|
break;
|
|
case 2:
|
|
hpa=-4;ss=30;rs=35;ps=-1;id=25;rh="Nil//1 hp/1 wks";
|
|
break;
|
|
case 3:
|
|
hpa=-4;ss=35;rs=40;ps=0;id=20;rh="Nil//1 hp/2 days";
|
|
break;
|
|
case 4:
|
|
hpa=-3;ss=40;rs=45;ps=0;id=15;rh="Nil//1 hp/2 days";
|
|
break;
|
|
case 5:
|
|
hpa=-3;ss=45;rs=50;ps=0;id=10;rh="Nil//1 hp/2 days";
|
|
break;
|
|
case 6:
|
|
hpa=-2;ss=50;rs=55;ps=0;id=5;rh="Nil//1 hp/2 days";
|
|
break;
|
|
case 7:
|
|
hpa=-2;ss=55;rs=60;ps=0;id=0;rh="Nil//1 hp/day";
|
|
break;
|
|
case 8:
|
|
hpa=-1;ss=60;rs=65;ps=0;id=-5;rh="Nil//1 hp/day";
|
|
break;
|
|
case 9:
|
|
hpa=-1;ss=65;rs=70;ps=0;id=-10;rh="Nil//1 hp/day";
|
|
break;
|
|
case 10:
|
|
hpa=0;ss=70;rs=75;ps=0;id=-20;rh="Nil//1 hp/day";
|
|
break;
|
|
case 11:
|
|
hpa=0;ss=75;rs=80;ps=0;id=-25;rh="Nil//1 hp/day";
|
|
break;
|
|
case 12:
|
|
hpa=1;ss=80;rs=85;ps=0;id=-30;rh="Nil//1 hp/day";
|
|
break;
|
|
case 13:
|
|
hpa=1;ss=85;rs=90;ps=0;id=-35;rh="Nil//1 hp/day";
|
|
break;
|
|
case 14:
|
|
hpa=2;ss=88;rs=92;ps=0;id=-40;rh="Nil//1 hp/day";
|
|
break;
|
|
case 15:
|
|
hpa=2;ss=90;rs=94;ps=0;id=-45;rh="Nil//1 hp/day";
|
|
break;
|
|
case 16:
|
|
hpa=3;ss=95;rs=96;ps=0;id=-50;rh="Nil//1 hp/day";
|
|
break;
|
|
case 17:
|
|
hpa=3;ss=97;rs=98;ps=0;id=-55;rh="Nil//1 hp/day";
|
|
break;
|
|
case 18:
|
|
hpa=4;ss=99;rs=100;ps=0;id=-60;rh="Nil//1 hp/18 hrs";
|
|
break;
|
|
case 19:
|
|
hpa=4;ss=99;rs=100;ps=1;id=-65;rh="1 hp/12 hrs";
|
|
break;
|
|
case 20:
|
|
hpa=5;ss=99;rs=100;ps=1;id=-70;rh="1 hp/6 turns";
|
|
break;
|
|
case 21:
|
|
hpa=5;ss=99;rs=100;ps=2;id=-75;rh="1 hp/5 turns";
|
|
break;
|
|
case 22:
|
|
hpa=6;ss=99;rs=100;ps=2;id=-85;rh="1 hp/4 turns";
|
|
break;
|
|
case 23:
|
|
hpa=6;ss=99;rs=100;ps=3;id=-90;rh="1 hp/3 turns";
|
|
break;
|
|
case 24:
|
|
hpa=7;ss=99;rs=100;ps=3;id=-95;rh="1 hp/2 turns";
|
|
break;
|
|
case 25:
|
|
hpa=7;ss=100;rs=100;ps=4;id=-99;rh="1 hp/1 turn";
|
|
break;
|
|
};
|
|
setAttrs ({
|
|
con_hitpoint_adjust : hpa,
|
|
con_system_shock : ss,
|
|
con_resurrect_survival : rs,
|
|
con_poison_save : ps,
|
|
con_immunity_disease : id,
|
|
con_regen_healing : rh
|
|
}) ;
|
|
}) ; // getAttrs
|
|
}) ; // on
|
|
|
|
on ("change:dexterity change:dexterity_pct", function() {
|
|
getAttrs(["dexterity", "dexterity_pct"], function (v) {
|
|
var ra = 0; da = 0; ma = 0;
|
|
var pp = 0; ol = 0; rt = 0; ms = 0; hs = 0;
|
|
var over50 = (parseValue(v.dexterity_pct) > 50) ;
|
|
switch (parseValue(v.dexterity)) {
|
|
case 1:
|
|
da=5;ra=-5;ma=-6;
|
|
if (over50) {ma=-5;};
|
|
break;
|
|
case 2:
|
|
da= 4;ra=-5 ;ma=-5 ;
|
|
if (over50) {ra=-4;};
|
|
break;
|
|
case 3:
|
|
da=4 ;ra=-4 ;ma=-4 ;
|
|
if (over50) {da=3;};
|
|
break;
|
|
case 4:
|
|
da=3 ;ra=-3 ;ma=-4 ;
|
|
if (over50) {ma=-3;};
|
|
break;
|
|
case 5:
|
|
da=2 ;ra=-3 ;ma=-3 ;
|
|
if (over50) {ra=-2;};
|
|
break;
|
|
case 6:
|
|
da=2 ;ra=-2 ;ma=-2 ;
|
|
if (over50) {da=1;};
|
|
break;
|
|
case 7:
|
|
da=1 ;ra=-1 ;ma=-2 ;
|
|
pp = -25; ol = -20; rt = -20; ms = -30; hs = -20;
|
|
if (over50) {ma=-1;};
|
|
break;
|
|
case 8:
|
|
da=0 ;ra=-1 ;ma=-1 ;
|
|
pp = -20; ol = -15; rt = -15; ms = -25; hs = -15;
|
|
if (over50) {ra=0;};
|
|
break;
|
|
case 9:
|
|
pp = -15; ol = -10; rt = -10; ms = -20; hs = -10;
|
|
break;
|
|
case 10:
|
|
pp = -10; ol = -5; rt = -10; ms = -15; hs = -5;
|
|
break;
|
|
case 11:
|
|
pp = -5; rt=-5;ms=-10;
|
|
break;
|
|
case 12:
|
|
ms = -5;
|
|
break;
|
|
case 13:
|
|
da=0 ;ra=1 ;ma=1 ;
|
|
if (over50) {da=-1;};
|
|
break;
|
|
case 14:
|
|
da=-1 ;ra=1 ;ma=2 ;
|
|
if (over50) {ra=2;};
|
|
break;
|
|
case 15:
|
|
da=-2 ;ra=2 ;ma=2 ;
|
|
if (over50) {ma=3;};
|
|
break;
|
|
case 16:
|
|
da=-2 ;ra=3 ;ma=3 ;
|
|
ol= 5;
|
|
if (over50) {da=-3;};
|
|
break;
|
|
case 17:
|
|
da=-3 ;ra=3 ;ma=4 ;
|
|
pp = 5; ol = 10; rt = 0; ms = 5; hs = 5;
|
|
if (over50) {ra=4;};
|
|
break;
|
|
case 18:
|
|
da=-4 ;ra=4 ;ma=4 ;
|
|
pp = 10; ol = 15; rt = 5; ms = 10; hs = 10;
|
|
if (over50) {ma=5;};
|
|
break;
|
|
case 19:
|
|
da=-4 ;ra=5 ;ma=5 ;
|
|
pp = 15; ol = 20; rt = 10; ms = 15; hs = 15;
|
|
if (over50) {da=-5;};
|
|
break;
|
|
case 20:
|
|
da=-5 ;ra=5 ;ma=6 ;
|
|
pp = 20; ol = 25; rt = 15; ms = 20; hs = 20;
|
|
if (over50) {ra=6;};
|
|
break;
|
|
case 21:
|
|
da=-6 ;ra=6 ;ma=6 ;
|
|
pp = 25; ol = 30; rt = 20; ms = 25; hs = 25;
|
|
if (over50) {ma=7;};
|
|
break;
|
|
case 22:
|
|
da=-6 ;ra=7 ;ma=7 ;
|
|
pp = 30; ol = 35; rt = 25; ms = 25; hs = 30;
|
|
if (over50) {da=-7;};
|
|
break;
|
|
case 23:
|
|
da=-7 ;ra=7 ;ma=8 ;
|
|
pp = 35; ol = 40; rt = 30; ms = 30; hs = 35;
|
|
if (over50) {ra=8;};
|
|
break;
|
|
case 24:
|
|
da=-8 ;ra=8 ;ma=8 ;
|
|
pp = 40; ol = 45; rt = 35; ms = 35; hs = 40;
|
|
if (over50) {ma=9;};
|
|
break;
|
|
case 25:
|
|
da=-8 ;ra=9 ;ma=9 ;
|
|
pp = 45; ol = 50; rt = 40; ms = 40; hs = 45;
|
|
break;
|
|
};
|
|
setAttrs ({
|
|
dex_defense_adjust : da,
|
|
dex_reaction_adjust : ra,
|
|
dex_missile_adjust : ma,
|
|
ppdexadjust : pp,
|
|
oldexadjust : ol,
|
|
rtdexadjust : rt,
|
|
ftdexadjust : rt,
|
|
msdexadjust : ms,
|
|
hsdexadjust : hs
|
|
}) ;
|
|
CalculateAC();
|
|
CalcThiefSkills();
|
|
}) ; // getAttrs
|
|
}) ; // on
|
|
|
|
on ("change:wisdom change:wisdom_pct", function() {
|
|
getAttrs(["wisdom", "wisdom_pct"], function (v) {
|
|
var magdef = 0;
|
|
var bonusspells = 0;
|
|
var spellfail = 0;
|
|
var improveskill = 0;
|
|
var spellimmunity = 0;
|
|
var over50 = (parseValue(v.wisdom_pct) > 50) ;
|
|
switch (parseValue(v.wisdom)) {
|
|
case 1:
|
|
magdef = -6;bonusspells="--";spellfail=80;spellimmunity="--"; improveskill="--" ;
|
|
break;
|
|
case 2:
|
|
magdef = -4;bonusspells="--";spellfail=60;spellimmunity="--"; improveskill="--" ;
|
|
break;
|
|
case 3:
|
|
magdef = -3;bonusspells="--";spellfail=50;spellimmunity="--"; improveskill="1" ;
|
|
break;
|
|
case 4:
|
|
magdef = -2;bonusspells="--";spellfail=45;spellimmunity="--"; improveskill="2" ;
|
|
break;
|
|
case 5:
|
|
magdef = -1;bonusspells="--";spellfail=40;spellimmunity="--"; improveskill="3" ;
|
|
break;
|
|
case 6:
|
|
magdef = -1;bonusspells="--";spellfail=35;spellimmunity="--"; improveskill="3" ;
|
|
break;
|
|
case 7:
|
|
magdef = -1;bonusspells="--";spellfail=30;spellimmunity="--"; improveskill="4" ;
|
|
break;
|
|
case 8:
|
|
magdef = 0;bonusspells="--";spellfail=25;spellimmunity="--"; improveskill="4" ;
|
|
break;
|
|
case 9:
|
|
magdef = 0;bonusspells="0";spellfail=20;spellimmunity="--"; improveskill="5" ;
|
|
break;
|
|
case 10:
|
|
magdef = 0;bonusspells="0";spellfail=15;spellimmunity="--"; improveskill="5" ;
|
|
break;
|
|
case 11:
|
|
magdef = 0;bonusspells="0";spellfail=10;spellimmunity="--"; improveskill="5" ;
|
|
break;
|
|
case 12:
|
|
magdef = 0;bonusspells="0";spellfail=5;spellimmunity="--"; improveskill="5" ;
|
|
break;
|
|
case 13:
|
|
magdef = 0;bonusspells="1st";spellfail=0;spellimmunity="--"; improveskill="5" ;
|
|
break;
|
|
case 14:
|
|
magdef = 0;bonusspells="1st";spellfail=0;spellimmunity="--"; improveskill="6" ;
|
|
break;
|
|
case 15:
|
|
magdef = 1;bonusspells="2nd";spellfail=0;spellimmunity="--"; improveskill="7" ;
|
|
break;
|
|
case 16:
|
|
magdef = 2;bonusspells="2nd";spellfail=0;spellimmunity="--"; improveskill="8" ;
|
|
break;
|
|
case 17:
|
|
magdef = 3;bonusspells="3rd";spellfail=0;spellimmunity="--"; improveskill="9" ;
|
|
break;
|
|
case 18:
|
|
magdef = 4;bonusspells="4th";spellfail=0;spellimmunity="--"; improveskill="10" ;
|
|
if (over50) {bonusspells="5th";spellimmunity="Befriend";improveskill="11";}
|
|
break;
|
|
case 19:
|
|
magdef = 4;bonusspells="1st,3rd";spellfail=0;spellimmunity="Cause Fear, Charm Person, Command, Hypnotism"; improveskill="12" ;
|
|
break;
|
|
case 20:
|
|
magdef = 4;bonusspells="2nd,4th";spellfail=0;spellimmunity="Forget, Hold Personn, Ray of Enfeeblement, Scare"; improveskill="13" ;
|
|
break;
|
|
case 21:
|
|
magdef = 4;bonusspells="3rd,5th";spellfail=0;spellimmunity="Fear"; improveskill="14" ;
|
|
break;
|
|
case 22:
|
|
magdef = 4;bonusspells="4th,5th";spellfail=0;spellimmunity="Charm Monster, Confusion, Emotion, Fumble, Suggestion"; improveskill="15" ;
|
|
break;
|
|
case 23:
|
|
magdef = 4;bonusspells="1st,6th";spellfail=0;spellimmunity="Chaos, Feeblemind, Hold Monster, Magic Jar, Quest"; improveskill="16" ;
|
|
break;
|
|
case 24:
|
|
magdef = 4;bonusspells="5th,6th";spellfail=0;spellimmunity="Geas, Mass Suggestion, Rod of Rulership"; improveskill="18" ;
|
|
break;
|
|
case 25:
|
|
magdef = 4;bonusspells="6th,7th";spellfail=0;spellimmunity="Antipathy/Sympath, Death Spell, Mass Charm"; improveskill="20" ;
|
|
break;
|
|
};
|
|
setAttrs ({
|
|
wis_magdef_adjust : magdef,
|
|
wis_bonus_spells : bonusspells,
|
|
wis_chance_spellfail : spellfail,
|
|
wis_improve_skill : improveskill,
|
|
wis_spell_immunity : spellimmunity
|
|
}) ;
|
|
CalcClericSpells();
|
|
}) ; // getAttrs
|
|
}) ; // on
|
|
|
|
|
|
on ("change:intelligence change:intelligence_pct", function() {
|
|
getAttrs(["intelligence", "intelligence_pct"], function (v) {
|
|
var nolang = 0;
|
|
var spelllvl = 0;
|
|
var learnability = 0;
|
|
var maxspells = 0;
|
|
var illusionimmunity = 0;
|
|
var spellmishap = 0;
|
|
var over50 = (parseValue(v.intelligence_pct) > 50) ;
|
|
switch (parseValue(v.intelligence)) {
|
|
case 1:
|
|
nolang =0;spelllvl="--";learnability=1;maxspells="--";illusionimmunity="--";spellmishap="--" ;
|
|
break;
|
|
case 2:
|
|
nolang =1;spelllvl="--";learnability=5;maxspells="--";illusionimmunity="--";spellmishap="--" ;
|
|
break;
|
|
case 3:
|
|
nolang =1;spelllvl="--";learnability=10;maxspells="--";illusionimmunity="--";spellmishap="--" ;
|
|
break;
|
|
case 4:
|
|
nolang =1;spelllvl="--";learnability=15;maxspells="--";illusionimmunity="--";spellmishap="--" ;
|
|
break;
|
|
case 5:
|
|
nolang =1;spelllvl="--";learnability=20;maxspells="--";illusionimmunity="--";spellmishap="--" ;
|
|
break;
|
|
case 6:
|
|
nolang =1;spelllvl="--";learnability=25;maxspells="--";illusionimmunity="--";spellmishap="--" ;
|
|
break;
|
|
case 7:
|
|
nolang =1;spelllvl="--";learnability=30;maxspells="--";illusionimmunity="--";spellmishap="--" ;
|
|
break;
|
|
case 8:
|
|
nolang =1;spelllvl="Cantrips";learnability=30;maxspells=5;illusionimmunity="--";spellmishap="35" ;
|
|
break;
|
|
case 9:
|
|
nolang =2;spelllvl="4th";learnability=35;maxspells=6;illusionimmunity="--";spellmishap="20" ;
|
|
break;
|
|
case 10:
|
|
nolang =2;spelllvl="5th";learnability=40;maxspells=7;illusionimmunity="--";spellmishap="15" ;
|
|
break;
|
|
case 11:
|
|
nolang =2;spelllvl="5th";learnability=45;maxspells=7;illusionimmunity="--";spellmishap="10" ;
|
|
break;
|
|
case 12:
|
|
nolang =3;spelllvl="6th";learnability=50;maxspells=7;illusionimmunity="--";spellmishap="5" ;
|
|
break;
|
|
case 13:
|
|
nolang =3;spelllvl="6th";learnability=55;maxspells=9;illusionimmunity="--";spellmishap="0" ;
|
|
break;
|
|
case 14:
|
|
nolang =4;spelllvl="7th";learnability=60;maxspells=9;illusionimmunity="--";spellmishap="0" ;
|
|
break;
|
|
case 15:
|
|
nolang =4;spelllvl="7th";learnability=65;maxspells=11;illusionimmunity="--";spellmishap="0" ;
|
|
break;
|
|
case 16:
|
|
nolang =5;spelllvl="8th";learnability=70;maxspells=11;illusionimmunity="--";spellmishap="0" ;
|
|
break;
|
|
case 17:
|
|
nolang =6;spelllvl="8th";learnability=75;maxspells=14;illusionimmunity="--";spellmishap="0" ;
|
|
break;
|
|
case 18:
|
|
nolang =7;spelllvl="9th";learnability=85;maxspells=18;illusionimmunity="Cantrips";spellmishap="0" ;
|
|
if (over50) {learnability=90;maxspells=20;}
|
|
break;
|
|
case 19:
|
|
nolang =8;spelllvl="9th";learnability=95;maxspells="All";illusionimmunity="1st-level";spellmishap="0" ;
|
|
break;
|
|
case 20:
|
|
nolang =9;spelllvl="9th";learnability=96;maxspells="All";illusionimmunity="2nd-level";spellmishap="0" ;
|
|
break;
|
|
case 21:
|
|
nolang =10;spelllvl="9th";learnability=97;maxspells="All";illusionimmunity="3rd-level";spellmishap="0" ;
|
|
break;
|
|
case 22:
|
|
nolang =11;spelllvl="9th";learnability=98;maxspells="All";illusionimmunity="4th-level";spellmishap="0" ;
|
|
break;
|
|
case 23:
|
|
nolang =12;spelllvl="9th";learnability=99;maxspells="All";illusionimmunity="5th-level";spellmishap="0" ;
|
|
break;
|
|
case 24:
|
|
nolang =15;spelllvl="9th";learnability=100;maxspells="All";illusionimmunity="6th-level";spellmishap="0" ;
|
|
break;
|
|
case 25:
|
|
nolang =20;spelllvl="9th";learnability=100;maxspells="All";illusionimmunity="7th-level";spellmishap="0" ;
|
|
break;
|
|
};
|
|
setAttrs ({
|
|
int_no_lang : nolang,
|
|
int_spell_lvl : spelllvl,
|
|
int_learn_ability : learnability,
|
|
int_max_spells : maxspells,
|
|
int_illusion_immunity : illusionimmunity,
|
|
int_spell_mishap : spellmishap
|
|
}) ;
|
|
CalcSpellFailure() ;
|
|
}) ; // getAttrs
|
|
}) ; // on
|
|
|
|
on ("change:strength change:strength_pct", function() {
|
|
getAttrs(["strength", "strength_pct"], function (v) {
|
|
var hitprob = 0;
|
|
var damadj = 0;
|
|
var opendoor = 0;
|
|
var bendbars = 0;
|
|
var wgtallow = 0;
|
|
var wgtpress = 0;
|
|
var over50 = (parseValue(v.strength_pct) > 50) ;
|
|
switch (parseValue(v.strength)) {
|
|
case 1:
|
|
hitprob=-3;damadj=-8;opendoor=1;bendbars=0;wgtallow=1;wgtpress=3;
|
|
if (over50) {wgtAllow=2;wgtpress=4;}
|
|
break;
|
|
case 2:
|
|
hitprob=-3;damadj=-7;wgtallow=3;wgtpress=5;opendoor=1;bendbars=0;
|
|
if (over50) {wgtAllow=4;wgtpress=7;}
|
|
break;
|
|
case 3:
|
|
hitprob=-3;damadj=-6;wgtallow=5;wgtpress=10;opendoor=2;bendbars=0;
|
|
if (over50) {wgtAllow=7;wgtpress=20;}
|
|
break;
|
|
case 4:
|
|
hitprob=-2;damadj=-5;wgtallow=9;wgtpress=25;opendoor=3;bendbars=0;
|
|
if (over50) {wgtAllow=11;wgtpress=30;}
|
|
break;
|
|
case 5:
|
|
hitprob=-2;damadj=-4;wgtallow=13;wgtpress=35;opendoor=3;bendbars=0;
|
|
if (over50) {wgtAllow=15;wgtpress=40;opendoor=4;}
|
|
break;
|
|
case 6:
|
|
hitprob=-2;damadj=-3;wgtallow=18;wgtpress=55;opendoor=4;bendbars=0;
|
|
if (over50) {wgtAllow=21;wgtpress=60;}
|
|
break;
|
|
case 7:
|
|
hitprob=-1;damadj=-2;wgtallow=24;wgtpress=70;opendoor=4;bendbars=0;
|
|
if (over50) {wgtAllow=27;wgtpress=80;opendoor=5;}
|
|
break;
|
|
case 8:
|
|
hitprob=-1;damadj=-1;wgtallow=30;wgtpress=90;opendoor=5;bendbars=1;
|
|
if (over50) {wgtAllow=33;wgtpress=95;opendoor=5;}
|
|
break;
|
|
case 9:
|
|
hitprob=0;damadj=-1;wgtallow=36;wgtpress=100;opendoor=5;bendbars=1;
|
|
if (over50) {wgtAllow=39;wgtpress=110;opendoor=6;}
|
|
break;
|
|
case 10:
|
|
hitprob=0;damadj=0;wgtallow=43;wgtpress=115;opendoor=6;bendbars=2;
|
|
if (over50) {wgtAllow=47;wgtpress=125;bendbars=3;}
|
|
break;
|
|
case 11:
|
|
hitprob=0;damadj=0;wgtallow=51;wgtpress=130;opendoor=6;bendbars=4;
|
|
if (over50) {wgtAllow=55;wgtpress=135;opendoor=7;}
|
|
break;
|
|
case 12:
|
|
hitprob=0;damadj=1;wgtallow=59;wgtpress=140;opendoor=7;bendbars=5;
|
|
if (over50) {wgtAllow=63;wgtpress=145;}
|
|
break;
|
|
case 13:
|
|
hitprob=1;damadj=1;wgtallow=67;wgtpress=150;opendoor=7;bendbars=6;
|
|
if (over50) {wgtAllow=71;wgtpress=160;opendoor=8;}
|
|
break;
|
|
case 14:
|
|
hitprob=1;damadj=2;wgtallow=76;wgtpress=170;opendoor=8;bendbars=7;
|
|
if (over50) {wgtAllow=81;wgtpress=175;bendbars=8;}
|
|
break;
|
|
case 15:
|
|
hitprob=1;damadj=3;wgtallow=86;wgtpress=185;opendoor=9;bendbars=9;
|
|
if (over50) {wgtAllow=91;wgtpress=190;bendbars=10;}
|
|
break;
|
|
case 16:
|
|
hitprob=2;damadj=4;wgtallow=97;wgtpress=195;opendoor=10;bendbars=11;
|
|
if (over50) {wgtAllow=103;wgtpress=220;bendbars=12;}
|
|
break;
|
|
case 17:
|
|
hitprob=2;damadj=5;wgtallow=109;wgtpress=255;opendoor=11;bendbars=15;
|
|
if (over50) {wgtAllow=115;wgtpress=290;bendbars=20;}
|
|
break;
|
|
case 18:
|
|
hitprob=3;damadj=6;wgtallow=130;wgtpress=350;opendoor="12(3)";bendbars=25;
|
|
if (over50) {wgtAllow=160;wgtpress=480;opendoor="14(6)";bendbars=35;}
|
|
break;
|
|
case 19:
|
|
hitprob=3;damadj=7;wgtallow=200;wgtpress=640;opendoor="15(8)";bendbars=50;
|
|
if (over50) {wgtAllow=300;wgtpress=660;opendoor="16(9)";bendbars=55;}
|
|
break;
|
|
case 20:
|
|
hitprob=3;damadj=8;wgtallow=400;wgtpress=700;opendoor="17(10)";bendbars=60;
|
|
if (over50) {wgtAllow=500;wgtpress=725;opendoor="17(11)";bendbars=65;}
|
|
break;
|
|
case 21:
|
|
hitprob=4;damadj=9;wgtallow=600;wgtpress=810;opendoor="17(12)";bendbars=70;
|
|
if (over50) {wgtAllow=700;wgtpress=865;opendoor="18(13)";bendbars=75;}
|
|
break;
|
|
case 22:
|
|
hitprob=4;damadj=10;wgtallow=800;wgtpress=970;opendoor="18(14)";bendbars=80;
|
|
if (over50) {wgtAllow=900;wgtpress=1050;opendoor="18(15)";bendbars=85;}
|
|
break;
|
|
case 23:
|
|
hitprob=5;damadj=11;wgtallow=1000;wgtpress=1130;opendoor="18(16)";bendbars=90;
|
|
if (over50) {wgtAllow=1100;wgtpress=1320;opendoor="19(16)";bendbars=95;}
|
|
break;
|
|
case 24:
|
|
hitprob=6;damadj=12;wgtallow=1200;wgtpress=1440;opendoor="19(16)";bendbars=97;
|
|
if (over50) {wgtAllow=1300;wgtpress=1540;opendoor="19(17)";bendbars=98;}
|
|
break;
|
|
case 25:
|
|
hitprob=7;damadj=14;wgtallow=1500;wgtpress=1750;opendoor="19(18)";bendbars=99;
|
|
break;
|
|
};
|
|
if (hitprob > -1) hitprob = "+" + hitprob;
|
|
if (damadj > -1) damadj = "+" + damadj;
|
|
setAttrs ({
|
|
str_hit_prob : hitprob,
|
|
str_dam_adj : damadj,
|
|
str_open_door : opendoor,
|
|
str_bend_bars : bendbars,
|
|
str_wgt_allow : wgtallow,
|
|
str_max_press : wgtpress
|
|
}) ;
|
|
}) ; // getAttrs
|
|
}) ; // on
|
|
|
|
</script> |