mirror of
https://github.com/Nighthawk42/roll20-character-sheets.git
synced 2026-08-30 03:40:32 +00:00
6334 lines
342 KiB
HTML
6334 lines
342 KiB
HTML
<datalist id="classlist">
|
||
<option data-i18n="Adept">Adept</option>
|
||
<option data-i18n="Bard">Bard</option>
|
||
<option data-i18n="Berserker">Berserker</option>
|
||
<option data-i18n="Cleric">Cleric</option>
|
||
<option data-i18n="Druid">Druid</option>
|
||
<option data-i18n="Fighter">Fighter</option>
|
||
<option data-i18n="Herald">Herald</option>
|
||
<option data-i18n="Marshal">Marshal</option>
|
||
<option data-i18n="Ranger">Ranger</option>
|
||
<option data-i18n="Rogue">Rogue</option>
|
||
<option data-i18n="Sorcerer">Sorcerer</option>
|
||
<option data-i18n="Warlock">Warlock</option>
|
||
<option data-i18n="Wizard">Wizard</option>
|
||
</datalist>
|
||
<datalist id="heritagelist">
|
||
<option data-i18n="Dragonborn">Dragonborn</option>
|
||
<option data-i18n="Dwarf">Dwarf</option>
|
||
<option data-i18n="Elf">Elf</option>
|
||
<option data-i18n="Gnome">Gnome</option>
|
||
<option data-i18n="Halfling">Halfling</option>
|
||
<option data-i18n="Human">Human</option>
|
||
<option data-i18n="Mixed Heritage">Mixed Heritage</option>
|
||
<option data-i18n="Orc">Orc</option>
|
||
<option data-i18n="Planetouched">Planetouched</option>
|
||
</datalist>
|
||
<datalist id="culturelist">
|
||
<option data-i18n="Caravanner">Caravanner</option>
|
||
<option data-i18n="Circusfolk">Circusfolk</option>
|
||
<option data-i18n="Collegiate">Collegiate</option>
|
||
<option data-i18n="Cosmopolitan">Cosmopolitan</option>
|
||
<option data-i18n="Deep Dwarf">Deep Dwarf</option>
|
||
<option data-i18n="Deep Gnome">Deep Gnome</option>
|
||
<option data-i18n="Dragoncult">Dragoncult</option>
|
||
<option data-i18n="Dragonbound">Dragonbound</option>
|
||
<option data-i18n="Eladrin">Eladrin</option>
|
||
<option data-i18n="Forest Gnome">Forest Gnome</option>
|
||
<option data-i18n="Forgotten Folx">Forgotten Folx</option>
|
||
<option data-i18n="Forsaken">Forsaken</option>
|
||
<option data-i18n="Godbound">Godbound</option>
|
||
<option data-i18n="Imperial">Imperial</option>
|
||
<option data-i18n="High Elf">High Elf</option>
|
||
<option data-i18n="Hill Dwarf">Hill Dwarf</option>
|
||
<option data-i18n="Kithbáin Halfling">Kithbáin Halfling</option>
|
||
<option data-i18n="Lone Wanderer">Lone Wanderer</option>
|
||
<option data-i18n="Mountain Dwarf">Mountain Dwarf</option>
|
||
<option data-i18n="Mustbairn Halfling">Mustbairn Halfling</option>
|
||
<option data-i18n="Nomad">Nomad</option>
|
||
<option data-i18n="Settler">Settler</option>
|
||
<option data-i18n="Shadow Elf">Shadow Elf</option>
|
||
<option data-i18n="Steamforged">Steamforged</option>
|
||
<option data-i18n="Stoic Orc">Stoic Orc</option>
|
||
<option data-i18n="Stout Halfling">Stout Halfling</option>
|
||
<option data-i18n="Stoneworthy">Stoneworthy</option>
|
||
<option data-i18n="Tinker Gnome">Tinker Gnome</option>
|
||
<option data-i18n="Tunnel Halfling">Tunnel Halfling</option>
|
||
<option data-i18n="Tyrannized">Tyrannized</option>
|
||
<option data-i18n="Villager">Villager</option>
|
||
<option data-i18n="Warhordling">Warhordling</option>
|
||
<option data-i18n="Wildling">Wildling</option>
|
||
<option data-i18n="Wood Elf">Wood Elf</option>
|
||
</datalist>
|
||
<datalist id="backgroundlist">
|
||
<option data-i18n="Acolyte">Acolyte</option>
|
||
<option data-i18n="Artisan">Artisan</option>
|
||
<option data-i18n="Charlatan">Charlatan</option>
|
||
<option data-i18n="Criminal">Criminal</option>
|
||
<option data-i18n="Cultist">Cultist</option>
|
||
<option data-i18n="Entertainer">Entertainer</option>
|
||
<option data-i18n="Exile">Exile</option>
|
||
<option data-i18n="Farmer">Farmer</option>
|
||
<option data-i18n="Folk Hero">Folk Hero</option>
|
||
<option data-i18n="Gambler">Gambler</option>
|
||
<option data-i18n="Guard">Guard</option>
|
||
<option data-i18n="Guildmember">Guildmember</option>
|
||
<option data-i18n="Hermit">Hermit</option>
|
||
<option data-i18n="Marauder">Marauder</option>
|
||
<option data-i18n="Noble">Noble</option>
|
||
<option data-i18n="Outlander">Outlander</option>
|
||
<option data-i18n="Sage">Sage</option>
|
||
<option data-i18n="Sailor">Sailor</option>
|
||
<option data-i18n="Soldier">Soldier</option>
|
||
<option data-i18n="Trader">Trader</option>
|
||
<option data-i18n="Urchin">Urchin</option>
|
||
</datalist>
|
||
<datalist id="archtypelist">
|
||
<option data-i18n="Brawler">Brawler</option>
|
||
<option data-i18n="Exalted Athlete">Exalted Athlete</option>
|
||
<option data-i18n="Warrior Monk">Warrior Monk</option>
|
||
<option data-i18n="Dreadnought">Dreadnought</option>
|
||
<option data-i18n="Rager">Rager</option>
|
||
<option data-i18n="Tempest">Tempest</option>
|
||
<option data-i18n="Healer">Healer</option>
|
||
<option data-i18n="Oracle">Oracle</option>
|
||
<option data-i18n="Sun Priest">Sun Priest</option>
|
||
<option data-i18n="Warpriest">Warpriest</option>
|
||
<option data-i18n="Loremaster">Loremaster</option>
|
||
<option data-i18n="Minstrel">Minstrel</option>
|
||
<option data-i18n="Mountebank">Mountebank</option>
|
||
<option data-i18n="Warchanter">Warchanter</option>
|
||
<option data-i18n="Guardian">Guardian</option>
|
||
<option data-i18n="Skinchanger">Skinchanger</option>
|
||
<option data-i18n="Treespeaker">Treespeaker</option>
|
||
<option data-i18n="Brute">Brute</option>
|
||
<option data-i18n="Gladiator">Gladiator</option>
|
||
<option data-i18n="Knight">Knight</option>
|
||
<option data-i18n="Sharpshooter">Sharpshooter</option>
|
||
<option data-i18n="Green Knight">Green Knight</option>
|
||
<option data-i18n="Holy Champion">Holy Champion</option>
|
||
<option data-i18n="Inquisitor">Inquisitor</option>
|
||
<option data-i18n="Gambling General">Gambling General</option>
|
||
<option data-i18n="Swift Strategist">Swift Strategist</option>
|
||
<option data-i18n="Talented Tachician">Talented Tachician</option>
|
||
<option data-i18n="Beastmaster">Beastmaster</option>
|
||
<option data-i18n="Warden">Warden</option>
|
||
<option data-i18n="Wildborn">Wildborn</option>
|
||
<option data-i18n="Burglar">Burglar</option>
|
||
<option data-i18n="Cutthroat">Cutthroat</option>
|
||
<option data-i18n="Investigator">Investigator</option>
|
||
<option data-i18n="Trapsmith">Trapsmith</option>
|
||
<option data-i18n="Draconist">Draconist</option>
|
||
<option data-i18n="Enigma">Enigma</option>
|
||
<option data-i18n="Traveller">Traveller</option>
|
||
<option data-i18n="Alienist">Alienist</option>
|
||
<option data-i18n="Diabolist">Diabolist</option>
|
||
<option data-i18n="Spellbound">Spellbound</option>
|
||
<option data-i18n="Arcanist">Arcanist</option>
|
||
<option data-i18n="Mage">Mage</option>
|
||
<option data-i18n="Pyromancer">Pyromancer</option>
|
||
</datalist>
|
||
<datalist id="adeptlist">
|
||
<option data-i18n="Brawler">Brawler</option>
|
||
<option data-i18n="Exalted Athlete">Exalted Athlete</option>
|
||
<option data-i18n="Warrior Monk">Warrior Monk</option>
|
||
</datalist>
|
||
<datalist id="bardlist">
|
||
<option data-i18n="Loremaster">Loremaster</option>
|
||
<option data-i18n="Minstrel">Minstrel</option>
|
||
<option data-i18n="Mountebank">Mountebank</option>
|
||
<option data-i18n="Warchanter">Warchanter</option>
|
||
</datalist>
|
||
<datalist id="berserkerlist">
|
||
<option data-i18n="Dreadnought">Dreadnought</option>
|
||
<option data-i18n="Rager">Rager</option>
|
||
<option data-i18n="Tempest">Tempest</option>
|
||
</datalist>
|
||
<datalist id="clericlist">
|
||
<option data-i18n="Healer">Healer</option>
|
||
<option data-i18n="Oracle">Oracle</option>
|
||
<option data-i18n="Sun Priest">Sun Priest</option>
|
||
<option data-i18n="Warpriest">Warpriest</option>
|
||
</datalist>
|
||
<datalist id="druidlist">
|
||
<option data-i18n="Guardian">Guardian</option>
|
||
<option data-i18n="Skinchanger">Skinchanger</option>
|
||
<option data-i18n="Treespeaker">Treespeaker</option>
|
||
</datalist>
|
||
<datalist id="fighterlist">
|
||
<option data-i18n="Brute">Brute</option>
|
||
<option data-i18n="Gladiator">Gladiator</option>
|
||
<option data-i18n="Knight">Knight</option>
|
||
<option data-i18n="Sharpshooter">Sharpshooter</option>
|
||
</datalist>
|
||
<datalist id="heraldlist">
|
||
<option data-i18n="Green Knight">Green Knight</option>
|
||
<option data-i18n="Holy Champion">Holy Champion</option>
|
||
<option data-i18n="Inquisitor">Inquisitor</option>
|
||
</datalist>
|
||
<datalist id="marshallist">
|
||
<option data-i18n="Gambling General">Gambling General</option>
|
||
<option data-i18n="Swift Strategist">Swift Strategist</option>
|
||
<option data-i18n="Talented Tachician">Talented Tachician</option>
|
||
</datalist>
|
||
<datalist id="rangerlist">
|
||
<option data-i18n="Beastmaster">Beastmaster</option>
|
||
<option data-i18n="Warden">Warden</option>
|
||
<option data-i18n="Wildborn">Wildborn</option>
|
||
</datalist>
|
||
<datalist id="roguelist">
|
||
<option data-i18n="Burglar">Burglar</option>
|
||
<option data-i18n="Cutthroat">Cutthroat</option>
|
||
<option data-i18n="Investigator">Investigator</option>
|
||
<option data-i18n="Trapsmith">Trapsmith</option>
|
||
</datalist>
|
||
<datalist id="sorcererlist">
|
||
<option data-i18n="Draconist">Draconist</option>
|
||
<option data-i18n="Enigma">Enigma</option>
|
||
<option data-i18n="Traveller">Traveller</option>
|
||
</datalist>
|
||
<datalist id="warlocklist">
|
||
<option data-i18n="Alienist">Alienist</option>
|
||
<option data-i18n="Diabolist">Diabolist</option>
|
||
<option data-i18n="Spellbound">Spellbound</option>
|
||
</datalist>
|
||
<datalist id="wizardlist">
|
||
<option data-i18n="Arcanist">Arcanist</option>
|
||
<option data-i18n="Mage">Mage</option>
|
||
<option data-i18n="Pyromancer">Pyromancer</option>
|
||
</datalist>
|
||
<datalist id="dicelist">
|
||
<option>1d4</option>
|
||
<option>1d6</option>
|
||
<option>1d8</option>
|
||
<option>1d10</option>
|
||
<option>1d12</option>
|
||
</datalist>
|
||
<datalist id="statlist">
|
||
<option data-i18n="strength">strength</option>
|
||
<option data-i18n="dexterity">dexterity</option>
|
||
<option data-i18n="constitution">constitution</option>
|
||
<option data-i18n="intelligence">intelligence</option>
|
||
<option data-i18n="wisdom">wisdom</option>
|
||
<option data-i18n="charisma">charisma</option>
|
||
</datalist>
|
||
<datalist id="destinylist">
|
||
<option data-i18n="chaos">chaos</option>
|
||
<option data-i18n="comingofage">comingofage</option>
|
||
<option data-i18n="devotion">devotion</option>
|
||
<option data-i18n="dominion">dominion</option>
|
||
<option data-i18n="excellence">excellence</option>
|
||
<option data-i18n="knowledge">knowledge</option>
|
||
<option data-i18n="metamorphosis">metamorphosis</option>
|
||
<option data-i18n="revenge">revenge</option>
|
||
<option data-i18n="underdog">underdog</option>
|
||
<option data-i18n="wealth">wealth</option>
|
||
</datalist>
|
||
<datalist id="damagetypelist">
|
||
<option data-i18n="acid">acid</option>
|
||
<option data-i18n="bludgeoning">bludgeoning</option>
|
||
<option data-i18n="cold">cold</option>
|
||
<option data-i18n="fire">fire</option>
|
||
<option data-i18n="force">force</option>
|
||
<option data-i18n="lightning">lightning</option>
|
||
<option data-i18n="necrotic">necrotic</option>
|
||
<option data-i18n="piercing">piercing</option>
|
||
<option data-i18n="poison">poison</option>
|
||
<option data-i18n="psychic">psychic</option>
|
||
<option data-i18n="radiant">radiant</option>
|
||
<option data-i18n="slashing">slashing</option>
|
||
<option data-i18n="thunder">thunder</option>
|
||
</datalist>
|
||
<datalist id="sizelist">
|
||
<option data-i18n="fine">fine</option>
|
||
<option data-i18n="diminutive">diminutive</option>
|
||
<option data-i18n="tiny">tiny</option>
|
||
<option data-i18n="small">small</option>
|
||
<option data-i18n="medium">medium</option>
|
||
<option data-i18n="large">large</option>
|
||
<option data-i18n="huge">huge</option>
|
||
<option data-i18n="garantuan">garantuan</option>
|
||
<option data-i18n="colossal">colossal</option>
|
||
</datalist>
|
||
<datalist id="creaturetypelist">
|
||
<option data-i18n="aberration">aberration</option>
|
||
<option data-i18n="beast">beast</option>
|
||
<option data-i18n="celestial">celestial</option>
|
||
<option data-i18n="construct">construct</option>
|
||
<option data-i18n="dragon">dragon</option>
|
||
<option data-i18n="elemental">elemental</option>
|
||
<option data-i18n="fey">fey</option>
|
||
<option data-i18n="fiend">fiend</option>
|
||
<option data-i18n="giant">giant</option>
|
||
<option data-i18n="humanoid">humanoid</option>
|
||
<option data-i18n="monstrosity">monstrosity</option>
|
||
<option data-i18n="ooze">ooze</option>
|
||
<option data-i18n="plant">plant</option>
|
||
<option data-i18n="undead">undead</option>
|
||
<option data-i18n="vermin">vermin</option>
|
||
</datalist>
|
||
|
||
<input type="hidden" class="sheet-npctoggle" name="attr_pcnpcTab" value="pc"/>
|
||
<input type="hidden" class="sheet-statsinfotoggle" name="attr_statsinfoTab" value="stats"/>
|
||
<input type="hidden" class="sheet-tabstoggle" name="attr_sheetTab" value="Character"/>
|
||
<input type="hidden" name="attr_perception_init"/>
|
||
<input type="hidden" name="attr_athletics_init"/>
|
||
<input type="hidden" name="attr_deception_init"/>
|
||
<input type="hidden" name="attr_insight_init"/>
|
||
<input type="hidden" name="attr_vehicle_init"/>
|
||
<input type="hidden" name="attr_dexterity_init"/>
|
||
<input type="hidden" name="attr_migratev5" value="no"/>
|
||
|
||
|
||
<div class="sheet-pcnpc">
|
||
<label data-i18n-title="pc" title="pc">
|
||
<input name="attr_pcnpc_type" type="radio" value="pc"><span data-i18n="pc"></span></input>
|
||
</label>
|
||
<label data-i18n-title="npc" title="npc">
|
||
<input name="attr_pcnpc_type" type="radio" value="npc"><span data-i18n="npc"></span></input>
|
||
</label>
|
||
<label data-i18n-title="npc1" title="npc1">
|
||
</label>
|
||
<label data-i18n-title="gm" title="gm">
|
||
<input name="attr_rollgmnormal" type="radio" value="gm"><span data-i18n="gm"></span></input>
|
||
</label>
|
||
<label data-i18n-title="normal" title="normal">
|
||
<input name="attr_rollgmnormal" type="radio" value="normal"><span data-i18n="normal"></span></input>
|
||
</label>
|
||
<label data-i18n-title="normal1" title="normal1">
|
||
</label>
|
||
<label data-i18n-title="standard" title="standard">
|
||
<input name="attr_rolladvdis" type="radio" value="sta"><span data-i18n="standard"></span></input>
|
||
</label>
|
||
<label data-i18n-title="advantage" title="advantage">
|
||
<input name="attr_rolladvdis" type="radio" value="adv"><span data-i18n="advantage"></span></input>
|
||
</label>
|
||
<label data-i18n-title="disadvantage" title="disadvantage">
|
||
<input name="attr_rolladvdis" type="radio" value="dis"><span data-i18n="disadvantage"></span></input>
|
||
</label>
|
||
|
||
</div>
|
||
|
||
<div class='sheet-PC'>
|
||
<div class='sheet-header'>
|
||
<div class="sheet-character-name">
|
||
<img alt='LevelUp Logo' src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Level%20Up%20-%20Advanced%205th%20Edition/levelup-logo.jpg">
|
||
<label data-i18n-title="character_name" title="character name">
|
||
<input data-i18n-placeholder="character_name" name="attr_character_name" placeholder="character name" spellcheck="false" title="@{character_name}" type="text" value="" />
|
||
<span data-i18n="character_name">character name</span>
|
||
</label>
|
||
</div>
|
||
<div class="sheet-character-info">
|
||
<label data-i18n-title="classlevelarchtype" title="classlevelarchtype">
|
||
<span data-i18n="classlevelarchtype">Class, Level & Archtype</span>
|
||
<input type="hidden" name="attr_totallevel"/>
|
||
<div class="sheet-classlist">
|
||
<fieldset class="repeating_class">
|
||
<label data-i18n-title="repeatingclass" title="repeatingclass">
|
||
<input data-i18n-placeholder="class" name="attr_class" placeholder="class" spellcheck="false" title="@{class}" type="text" list="classlist"/>
|
||
<div class="archetypeslist">
|
||
<input type="hidden" class="sheet-archetypetoggle" name="attr_class" value="fighter" />
|
||
<div class="sheet-archtypefull">
|
||
<input data-i18n-placeholder="archtype" name="attr_archtype" placeholder="archtype" spellcheck="false" title="@{archtype}" type="text" list="archtypelist"/>
|
||
</div>
|
||
<div class="sheet-adept">
|
||
<input data-i18n-placeholder="archtype" name="attr_archtype" placeholder="archtype" spellcheck="false" title="@{archtype}" type="text" list="adeptlist"/>
|
||
</div>
|
||
<div class="sheet-bard">
|
||
<input data-i18n-placeholder="archtype" name="attr_archtype" placeholder="archtype" spellcheck="false" title="@{archtype}" type="text" list="bardlist"/>
|
||
</div>
|
||
<div class="sheet-berserker">
|
||
<input data-i18n-placeholder="archtype" name="attr_archtype" placeholder="archtype" spellcheck="false" title="@{archtype}" type="text" list="berserkerlist"/>
|
||
</div>
|
||
<div class="sheet-cleric">
|
||
<input data-i18n-placeholder="archtype" name="attr_archtype" placeholder="archtype" spellcheck="false" title="@{archtype}" type="text" list="clericlist"/>
|
||
</div>
|
||
<div class="sheet-druid">
|
||
<input data-i18n-placeholder="archtype" name="attr_archtype" placeholder="archtype" spellcheck="false" title="@{archtype}" type="text" list="druidlist"/>
|
||
</div>
|
||
<div class="sheet-fighter">
|
||
<input data-i18n-placeholder="archtype" name="attr_archtype" placeholder="archtype" spellcheck="false" title="@{archtype}" type="text" list="fighterlist"/>
|
||
</div>
|
||
<div class="sheet-herald">
|
||
<input data-i18n-placeholder="archtype" name="attr_archtype" placeholder="archtype" spellcheck="false" title="@{archtype}" type="text" list="heraldlist"/>
|
||
</div>
|
||
<div class="sheet-ranger">
|
||
<input data-i18n-placeholder="archtype" name="attr_archtype" placeholder="archtype" spellcheck="false" title="@{archtype}" type="text" list="rangerlist"/>
|
||
</div>
|
||
<div class="sheet-rogue">
|
||
<input data-i18n-placeholder="archtype" name="attr_archtype" placeholder="archtype" spellcheck="false" title="@{archtype}" type="text" list="roguelist"/>
|
||
</div>
|
||
<div class="sheet-sorcerer">
|
||
<input data-i18n-placeholder="archtype" name="attr_archtype" placeholder="archtype" spellcheck="false" title="@{archtype}" type="text" list="sorcererlist"/>
|
||
</div>
|
||
<div class="sheet-warlock">
|
||
<input data-i18n-placeholder="archtype" name="attr_archtype" placeholder="archtype" spellcheck="false" title="@{archtype}" type="text" list="warlocklist"/>
|
||
</div>
|
||
<div class="sheet-wizard">
|
||
<input data-i18n-placeholder="archtype" name="attr_archtype" placeholder="archtype" spellcheck="false" title="@{archtype}" type="text" list="wizardlist"/>
|
||
</div>
|
||
</div>
|
||
<input data-i18n-placeholder="level" name="attr_level" placeholder="level" spellcheck="false" title="@{level}" type="number"/>
|
||
</label>
|
||
</fieldset>
|
||
</div>
|
||
</label>
|
||
<label data-i18n-title="experience_points_xp" title="experienced points">
|
||
<span data-i18n="experience_points_xp">experienced points</span>
|
||
<input data-i18n-placeholder="xp" name="attr_xp" placeholder="xp" spellcheck="false" title="@{xp}" type="text" value="" />
|
||
</label>
|
||
<label data-i18n-title="heritage" title="heritage">
|
||
<span data-i18n="heritage">Heritage</span>
|
||
<input data-i18n-placeholder="heritage" name="attr_heritage" placeholder="heritage" spellcheck="false" title="@{heritage}" type="text" list="heritagelist"//>
|
||
</label>
|
||
<label data-i18n-title="culture" title="culture">
|
||
<span data-i18n="culture">culture</span>
|
||
<input data-i18n-placeholder="culture" name="attr_culture" placeholder="culture" spellcheck="false" title="@{culture}" type="text" list="culturelist"/>
|
||
</label>
|
||
<label data-i18n-title="background" title="background">
|
||
<span data-i18n="background">background</span>
|
||
<input data-i18n-placeholder="background" name="attr_background" placeholder="background" spellcheck="false" title="@{background}" type="text" list="backgroundlist"/>
|
||
</label>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="sheet-tabs">
|
||
<label data-i18n-title="character" title="character">
|
||
<input name="attr_sheet_type" type="radio" value="character"><span data-i18n="character"></span></input>
|
||
</label>
|
||
<label data-i18n-title="features" title="features">
|
||
<input name="attr_sheet_type" type="radio" value="features"><span data-i18n="features"></span></input>
|
||
</label>
|
||
<label data-i18n-title="backgrounds" title="backgrounds">
|
||
<input name="attr_sheet_type" type="radio" value="backgrounds"><span data-i18n="backgrounds"></span></input>
|
||
</label>
|
||
<label data-i18n-title="inventory" title="inventory">
|
||
<input name="attr_sheet_type" type="radio" value="inventory"><span data-i18n="inventory"></span></input>
|
||
</label>
|
||
<label data-i18n-title="spells" title="spells">
|
||
<input name="attr_sheet_type" type="radio" value="spells"><span data-i18n="spells"></span></input>
|
||
</label>
|
||
<label data-i18n-title="notes" title="notes">
|
||
<input name="attr_sheet_type" type="radio" value="notes"><span data-i18n="notes"></span></input>
|
||
</label>
|
||
</div>
|
||
<div class="sheet-character">
|
||
<div class="sheet-charactermiddle">
|
||
<div class="sheet-abilityscores">
|
||
<div class="sheet-abilityscore-title" data-i18n='ability_scores'>ability scores</div>
|
||
<div class='sheet-display-strength'>
|
||
<label data-i18n-title="strength" title="strength">
|
||
<span data-i18n="strength">strength</span>
|
||
</label>
|
||
<label data-i18n-title="strengthstat" title="strengthstat">
|
||
<input data-i18n-placeholder="strength" name="attr_strength" placeholder="strength" spellcheck="false" title="@{strength}" type="number" value="" />
|
||
</label>
|
||
<label data-i18n-title="strength_mod" title="strength_mod">
|
||
<input data-i18n-placeholder="strength_mod" name="attr_strength_mod" placeholder="0" spellcheck="false" title="@{strength_mod}" type="number"/>
|
||
</label>
|
||
<label data-i18n-title="strengthroll" title="strengthroll">
|
||
<button type="roll" name="act_strength_roll" value="@{strength-action}"></button>
|
||
<button type="action" name="act_strength-button" class="hidden"></button>
|
||
<input type="hidden" name="attr_strength-action" value="">
|
||
</label>
|
||
<label data-i18n-title="strength_save_roll" title="strength_save_roll">
|
||
<button type="roll" name="act_strength_save_roll" value="@{strengthsave-action}"></button>
|
||
<button type="action" name="act_strengthsave-button" class="hidden"></button>
|
||
<input type="hidden" name="attr_strengthsave-action" value="">
|
||
</label>
|
||
<label data-i18n-title="strength_save_mod" title="strength_save_mod">
|
||
<span data-i18n="save">save</span>
|
||
<input data-i18n-placeholder="strength_save_mod" name="attr_strength_save_mod" placeholder="0" spellcheck="false" title="@{strength_save_mod}" type="number"/>
|
||
</label>
|
||
<label data-i18n-title="strength_save_prof" title="strength_save_prof">
|
||
<a href="#popupStrength"><span style="font-family:Pictos;">y</span></a>
|
||
</label>
|
||
<div id="popupStrength" class="overlay">
|
||
<div class="popup">
|
||
<h3>Strength Settings</h3>
|
||
<a class="close" href="#">×</a>
|
||
<div class="content">
|
||
<input data-i18n-placeholder="strength_save_prof" name="attr_strength_save_prof" title="@{strength_save_prof}" type="checkbox" value="1"/>
|
||
<span data-i18n="proficient">Proficient</span><br>
|
||
<span data-i18n="strength_save_bonus">Strength Save Bonus</span><br>
|
||
<input data-i18n-placeholder="strength_save_bonus" name="attr_strength_save_bonus" placeholder="strength_save_bonus" spellcheck="false" title="@{strength_save_bonus}" type="number" value="0"/><br>
|
||
<span data-i18n="global_save_bonus">Global Save Bonus</span><br>
|
||
<input data-i18n-placeholder="globalsavebonus" name="attr_globalsavebonus" placeholder="globalsavebonus" spellcheck="false" title="@{globalsavebonus}" type="number" value="0" /><br>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class='sheet-display-dexterity'>
|
||
<label data-i18n-title="dexterity" title="dexterity">
|
||
<span data-i18n="dexterity">dexterity</span>
|
||
</label>
|
||
<label data-i18n-title="dexteritystat" title="dexteritystat">
|
||
<input data-i18n-placeholder="dexterity" name="attr_dexterity" placeholder="dexterity" spellcheck="false" title="@{dexterity}" type="number" value="" />
|
||
</label>
|
||
<label data-i18n-title="dexterity_mod" title="dexterity_mod">
|
||
<input data-i18n-placeholder="dexterity_mod" name="attr_dexterity_mod" placeholder="0" spellcheck="false" title="@{dexterity_mod}" type="number"/>
|
||
</label>
|
||
<label data-i18n-title="dexterityroll" title="dexterityroll">
|
||
<button type="roll" name="act_dexterity_roll" value="@{dexterity-action}"></button>
|
||
<button type="action" name="act_dexterity-button" class="hidden"></button>
|
||
<input type="hidden" name="attr_dexterity-action" value="">
|
||
</label>
|
||
<label data-i18n-title="dexterity_save_roll" title="dexterity_save_roll">
|
||
<button type="roll" name="act_dexterity_save_roll" value="@{dexteritysave-action}"></button>
|
||
<button type="action" name="act_dexteritysave-button" class="hidden"></button>
|
||
<input type="hidden" name="attr_dexteritysave-action" value="">
|
||
</label>
|
||
<label data-i18n-title="dexterity_save_mod" title="dexterity_save_mod">
|
||
<span data-i18n="save">save</span>
|
||
<input data-i18n-placeholder="dexterity_save_mod" name="attr_dexterity_save_mod" placeholder="0" spellcheck="false" title="@{dexterity_save_mod}" type="number"/>
|
||
</label>
|
||
<label data-i18n-title="dexterity_save_prof" title="dexterity_save_prof">
|
||
<a href="#popupdexterity"><span style="font-family:Pictos;">y</span></a>
|
||
</label>
|
||
<div id="popupdexterity" class="overlay">
|
||
<div class="popup">
|
||
<h3>Dexterity Settings</h3>
|
||
<a class="close" href="#">×</a>
|
||
<div class="content">
|
||
<input data-i18n-placeholder="dexterity_save_prof" name="attr_dexterity_save_prof" title="@{dexterity_save_prof}" type="checkbox" value="1"/>
|
||
<span data-i18n="proficient">Proficient</span><br>
|
||
<span data-i18n="dexterity_save_bonus">Dexterity Save Bonus</span><br>
|
||
<input data-i18n-placeholder="dexterity_save_bonus" name="attr_dexterity_save_bonus" placeholder="dexterity_save_bonus" spellcheck="false" title="@{dexterity_save_bonus}" type="number" value="0"/><br>
|
||
<span data-i18n="global_save_bonus">Global Save Bonus</span><br>
|
||
<input data-i18n-placeholder="globalsavebonus" name="attr_globalsavebonus" placeholder="globalsavebonus" spellcheck="false" title="@{globalsavebonus}" type="number" value="0" /><br>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class='sheet-display-constitution'>
|
||
<label data-i18n-title="constitution" title="constitution">
|
||
<span data-i18n="constitution">constitution</span>
|
||
</label>
|
||
<label data-i18n-title="constitutionstat" title="constitutionstat">
|
||
<input data-i18n-placeholder="constitution" name="attr_constitution" placeholder="constitution" spellcheck="false" title="@{constitution}" type="number" value="" />
|
||
</label>
|
||
<label data-i18n-title="constitution_mod" title="constitution_mod">
|
||
<input data-i18n-placeholder="constitution_mod" name="attr_constitution_mod" placeholder="0" spellcheck="false" title="@{constitution_mod}" type="number"/>
|
||
</label>
|
||
<label data-i18n-title="constitutionroll" title="constitutionroll">
|
||
<button type="roll" name="act_constitution_roll" value="@{constitution-action}"></button>
|
||
<button type="action" name="act_constitution-button" class="hidden"></button>
|
||
<input type="hidden" name="attr_constitution-action" value="">
|
||
</label>
|
||
<label data-i18n-title="constitution_save_roll" title="constitution_save_roll">
|
||
<button type="roll" name="act_constitution_save_roll" value="@{constitutionsave-action}"></button>
|
||
<button type="action" name="act_constitutionsave-button" class="hidden"></button>
|
||
<input type="hidden" name="attr_constitutionsave-action" value="">
|
||
</label>
|
||
<label data-i18n-title="constitution_save_mod" title="constitution_save_mod">
|
||
<span data-i18n="save"> save</span>
|
||
<input data-i18n-placeholder="constitution_save_mod" name="attr_constitution_save_mod" placeholder="0" spellcheck="false" title="@{constitution_save_mod}" type="number"/>
|
||
</label>
|
||
<label data-i18n-title="constitution_save_prof" title="constitution_save_prof">
|
||
<a href="#popupconstitution"><span style="font-family:Pictos;">y</span></a>
|
||
</label>
|
||
<div id="popupconstitution" class="overlay">
|
||
<div class="popup">
|
||
<h3>Constitution Settings</h3>
|
||
<a class="close" href="#">×</a>
|
||
<div class="content">
|
||
<input data-i18n-placeholder="constitution_save_prof" name="attr_constitution_save_prof" title="@{constitution_save_prof}" type="checkbox" value="1"/>
|
||
<span data-i18n="proficient">Proficient</span><br>
|
||
<span data-i18n="constitution_save_bonus">Constitution Save Bonus</span><br>
|
||
<input data-i18n-placeholder="constitution_save_bonus" name="attr_constitution_save_bonus" placeholder="constitution_save_bonus" spellcheck="false" title="@{constitution_save_bonus}" type="number" value="0"/><br>
|
||
<span data-i18n="global_save_bonus">Global Save Bonus</span><br>
|
||
<input data-i18n-placeholder="globalsavebonus" name="attr_globalsavebonus" placeholder="globalsavebonus" spellcheck="false" title="@{globalsavebonus}" type="number" value="0" /><br>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class='sheet-display-intelligence'>
|
||
<label data-i18n-title="intelligence" title="intelligence">
|
||
<span data-i18n="intelligence">intelligence</span>
|
||
</label>
|
||
<label data-i18n-title="intelligencestat" title="intelligencestat">
|
||
<input data-i18n-placeholder="intelligence" name="attr_intelligence" placeholder="intelligence" spellcheck="false" title="@{intelligence}" type="number" value="" />
|
||
</label>
|
||
<label data-i18n-title="intelligence_mod" title="intelligence_mod">
|
||
<input data-i18n-placeholder="intelligence_mod" name="attr_intelligence_mod" placeholder="0" spellcheck="false" title="@{intelligence_mod}" type="number"/>
|
||
</label>
|
||
<label data-i18n-title="intelligenceroll" title="intelligenceroll">
|
||
<button type="roll" name="act_intelligence_roll" value="@{intelligence-action}"></button>
|
||
<button type="action" name="act_intelligence-button" class="hidden"></button>
|
||
<input type="hidden" name="attr_intelligence-action" value="">
|
||
</label>
|
||
<label data-i18n-title="intelligence_save_roll" title="intelligence_save_roll">
|
||
<button type="roll" name="act_intelligence_save_roll" value="@{intelligencesave-action}"></button>
|
||
<button type="action" name="act_intelligencesave-button" class="hidden"></button>
|
||
<input type="hidden" name="attr_intelligencesave-action" value="">
|
||
</label>
|
||
<label data-i18n-title="intelligence_save_mod" title="intelligence_save_mod">
|
||
<span data-i18n="save"> save</span>
|
||
<input data-i18n-placeholder="intelligence_save_mod" name="attr_intelligence_save_mod" placeholder="0" spellcheck="false" title="@{intelligence_save_mod}" type="number"/>
|
||
</label>
|
||
<label data-i18n-title="intelligence_save_prof" title="intelligence_save_prof">
|
||
<a href="#popupintelligence"><span style="font-family:Pictos;">y</span></a>
|
||
</label>
|
||
<div id="popupintelligence" class="overlay">
|
||
<div class="popup">
|
||
<h3>Intelligence Settings</h3>
|
||
<a class="close" href="#">×</a>
|
||
<div class="content">
|
||
<input data-i18n-placeholder="intelligence_save_prof" name="attr_intelligence_save_prof" title="@{intelligence_save_prof}" type="checkbox" value="1"/>
|
||
<span data-i18n="proficient">Proficient</span><br>
|
||
<span data-i18n="intelligence_save_bonus">Intelligence Save Bonus</span><br>
|
||
<input data-i18n-placeholder="intelligence_save_bonus" name="attr_intelligence_save_bonus" placeholder="intelligence_save_bonus" spellcheck="false" title="@{intelligence_save_bonus}" type="number" value="0"/><br>
|
||
<span data-i18n="global_save_bonus">Global Save Bonus</span><br>
|
||
<input data-i18n-placeholder="globalsavebonus" name="attr_globalsavebonus" placeholder="globalsavebonus" spellcheck="false" title="@{globalsavebonus}" type="number" value="0" /><br>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class='sheet-display-wisdom'>
|
||
<label data-i18n-title="wisdom" title="wisdom">
|
||
<span data-i18n="wisdom">wisdom</span>
|
||
</label>
|
||
<label data-i18n-title="wisdomstat" title="wisdomstat">
|
||
<input data-i18n-placeholder="wisdom" name="attr_wisdom" placeholder="wisdom" spellcheck="false" title="@{wisdom}" type="number" value="" />
|
||
</label>
|
||
<label data-i18n-title="wisdom_mod" title="wisdom_mod">
|
||
<input data-i18n-placeholder="wisdom_mod" name="attr_wisdom_mod" placeholder="0" spellcheck="false" title="@{wisdom_mod}" type="number"/>
|
||
</label>
|
||
<label data-i18n-title="wisdomroll" title="wisdomroll">
|
||
<button type="roll" name="act_wisdom_roll" value="@{wisdom-action}"></button>
|
||
<button type="action" name="act_wisdom-button" class="hidden"></button>
|
||
<input type="hidden" name="attr_wisdom-action" value="">
|
||
</label>
|
||
<label data-i18n-title="wisdom_save_roll" title="wisdom_save_roll">
|
||
<button type="roll" name="act_wisdom_save_roll" value="@{wisdomsave-action}"></button>
|
||
<button type="action" name="act_wisdomsave-button" class="hidden"></button>
|
||
<input type="hidden" name="attr_wisdomsave-action" value="">
|
||
</label>
|
||
<label data-i18n-title="wisdom_save_mod" title="wisdom_save_mod">
|
||
<span data-i18n="save"> save</span>
|
||
<input data-i18n-placeholder="wisdom_save_mod" name="attr_wisdom_save_mod" placeholder="0" spellcheck="false" title="@{wisdom_save_mod}" type="number"/>
|
||
</label>
|
||
<label data-i18n-title="wisdom_save_prof" title="wisdom_save_prof">
|
||
<a href="#popupwisdom"><span style="font-family:Pictos;">y</span></a>
|
||
</label>
|
||
<div id="popupwisdom" class="overlay">
|
||
<div class="popup">
|
||
<h3>Wisdom Settings</h3>
|
||
<a class="close" href="#">×</a>
|
||
<div class="content">
|
||
<input data-i18n-placeholder="wisdom_save_prof" name="attr_wisdom_save_prof" title="@{wisdom_save_prof}" type="checkbox" value="1"/>
|
||
<span data-i18n="proficient">Proficient</span><br>
|
||
<span data-i18n="wisdom_save_bonus">Wisdom Save Bonus</span><br>
|
||
<input data-i18n-placeholder="wisdom_save_bonus" name="attr_wisdom_save_bonus" placeholder="wisdom_save_bonus" spellcheck="false" title="@{wisdom_save_bonus}" type="number" value="0"/><br>
|
||
<span data-i18n="global_save_bonus">Global Save Bonus</span><br>
|
||
<input data-i18n-placeholder="globalsavebonus" name="attr_globalsavebonus" placeholder="globalsavebonus" spellcheck="false" title="@{globalsavebonus}" type="number" value="0" /><br>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class='sheet-display-charisma'>
|
||
<label data-i18n-title="charisma" title="charisma">
|
||
<span data-i18n="charisma">charisma</span>
|
||
</label>
|
||
<label data-i18n-title="charismastat" title="charismastat">
|
||
<input data-i18n-placeholder="charisma" name="attr_charisma" placeholder="charisma" spellcheck="false" title="@{charisma}" type="number" value="" />
|
||
</label>
|
||
<label data-i18n-title="charisma_mod" title="charisma_mod">
|
||
<input data-i18n-placeholder="charisma_mod" name="attr_charisma_mod" placeholder="0" spellcheck="false" title="@{charisma_mod}" type="number"/>
|
||
</label>
|
||
<label data-i18n-title="charismaroll" title="charismaroll">
|
||
<button type="roll" name="act_charisma_roll" value="@{charisma-action}"></button>
|
||
<button type="action" name="act_charisma-button" class="hidden"></button>
|
||
<input type="hidden" name="attr_charisma-action" value="">
|
||
</label>
|
||
<label data-i18n-title="charisma_save_roll" title="charisma_save_roll">
|
||
<button type="roll" name="act_charisma_save_roll" value="@{charismasave-action}"></button>
|
||
<button type="action" name="act_charismasave-button" class="hidden"></button>
|
||
<input type="hidden" name="attr_charismasave-action" value="">
|
||
</label>
|
||
<label data-i18n-title="charisma_save_mod" title="charisma_save_mod">
|
||
<span data-i18n="save"> save</span>
|
||
<input data-i18n-placeholder="charisma_save_mod" name="attr_charisma_save_mod" placeholder="0" spellcheck="false" title="@{charisma_save_mod}" type="number"/>
|
||
</label>
|
||
<label data-i18n-title="charisma_save_prof" title="charisma_save_prof">
|
||
<a href="#popupcharisma"><span style="font-family:Pictos;">y</span></a>
|
||
</label>
|
||
<div id="popupcharisma" class="overlay">
|
||
<div class="popup">
|
||
<h3>Charisma Settings</h3>
|
||
<a class="close" href="#">×</a>
|
||
<div class="content">
|
||
<input data-i18n-placeholder="charisma_save_prof" name="attr_charisma_save_prof" title="@{charisma_save_prof}" type="checkbox" value="1"/>
|
||
<span data-i18n="proficient">Proficient</span><br>
|
||
<span data-i18n="charisma_save_bonus">Charisma Save Bonus</span><br>
|
||
<input data-i18n-placeholder="charisma_save_bonus" name="attr_charisma_save_bonus" placeholder="charisma_save_bonus" spellcheck="false" title="@{charisma_save_bonus}" type="number" value="0"/><br>
|
||
<span data-i18n="global_save_bonus">Global Save Bonus</span><br>
|
||
<input data-i18n-placeholder="globalsavebonus" name="attr_globalsavebonus" placeholder="globalsavebonus" spellcheck="false" title="@{globalsavebonus}" type="number" value="0" /><br>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="sheet-miscscores">
|
||
<div class='sheet-display-profbonus'>
|
||
<label data-i18n-title="proficiencybonusstat" title="proficiencybonusstat">
|
||
<input data-i18n-placeholder="proficiencybonusstat" name="attr_PB" placeholder="proficiencybonus" spellcheck="false" title="@{proficiencybonus}" type="number" value="" />
|
||
</label>
|
||
<label data-i18n-title="proficiencybonus" title="proficiencybonus">
|
||
<span data-i18n="proficiencybonus">proficiencybonus</span>
|
||
</label>
|
||
</div>
|
||
<div class='sheet-display-initiative'>
|
||
<label data-i18n-title="initiative" title="initiative">
|
||
<span data-i18n="initiative">initiative</span>
|
||
<input data-i18n-placeholder="initiativebonus" name="attr_initiativebonus" placeholder="initiativebonus" spellcheck="false" title="@{initiativebonus}" type="number" value="" />
|
||
</label>
|
||
<label data-i18n-title="initiative" title="initiative">
|
||
<span data-i18n="initiative">bonus</span>
|
||
<input data-i18n-placeholder="initiativebonus" name="attr_initiativebonus" placeholder="initiativebonus" spellcheck="false" title="@{initiativebonus}" type="number" value="" />
|
||
</label>
|
||
<label data-i18n-title="initiativeroll" title="initiativeroll">
|
||
<!-- The visible and draggable button for the macro bar -->
|
||
<button type="roll" name="act_roll_initiative" value="@{initiative-action}"></button>
|
||
<!-- The invisible button allowing the use of custom roll parsing -->
|
||
<button type="action" name="act_initiative-button" class="hidden"></button>
|
||
<!-- The invisible field for the attribute which contains the ability call -->
|
||
<input type="hidden" name="attr_initiative-action" value="">
|
||
</label>
|
||
<label data-i18n-title="initiative2nd" title="initiative2nd">
|
||
<select data-i18n-placeholder="Ability_skill" name="attr_initiativetype" placeholder="Ability_skill" spellcheck="false" title="@{initiativetype}" value="">
|
||
<option value="1">Wisdom (Perception)</option>
|
||
<option value="2">Strength (Athletics)</option>
|
||
<option value="3">Charisma (Deception)</option>
|
||
<option value="4">Wisdom (Insight)</option>
|
||
<option value="5">Dexterity (Vehicles)</option>
|
||
<option value="6">Dexterity (Base)</option>
|
||
</select>
|
||
</label>
|
||
</div>
|
||
<div class='sheet-display-acsizespeed'>
|
||
<div class='sheet-display-armour_class'>
|
||
<label data-i18n-title="armour_classstat" title="armour_classstat">
|
||
<input data-i18n-placeholder="armour_class" name="attr_AC" placeholder="armour_class" spellcheck="false" title="@{armour_class}" type="number" value="" />
|
||
</label>
|
||
<label data-i18n-title="armour_class" title="armour_class">
|
||
<span data-i18n="armour_class">armour_class</span>
|
||
</label>
|
||
</div>
|
||
<div class='sheet-display-sizespeed'>
|
||
<div class='sheet-display-size'>
|
||
<label data-i18n-title="size" title="size">
|
||
<span data-i18n="size">size</span>
|
||
</label>
|
||
<label data-i18n-title="sizestat" title="sizestat">
|
||
<input data-i18n-placeholder="size" name="attr_size" placeholder="size" spellcheck="false" title="@{size}" type="text" value="" list="sizelist"/>
|
||
</label>
|
||
</div>
|
||
<div class='sheet-display-speed'>
|
||
<label data-i18n-title="speed" title="speed">
|
||
<span data-i18n="speed">speed</span>
|
||
</label>
|
||
<label data-i18n-title="speedstat" title="speedstat">
|
||
<input data-i18n-placeholder="speed" name="attr_speed" placeholder="speed" spellcheck="false" title="@{speed}" type="text" value="" />
|
||
</label>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class='sheet-display-hpsupply'>
|
||
<div class='sheet-display-hp'>
|
||
<label data-i18n-title="hit_points_current" title="hit_points_current">
|
||
<span data-i18n="hit_points_current">hit_points_current</span>
|
||
<input data-i18n-placeholder="hit_points_current" name="attr_HP" placeholder="hit_points_current" spellcheck="false" title="@{HP}" type="number" value="" />
|
||
</label>
|
||
</div>
|
||
<div class='sheet-display-hdhpmax'>
|
||
<div class="sheet-display-hd">
|
||
<label data-i18n-title="hit_dice" title="hit_dice">
|
||
<button type="roll" name="act_roll_hitdice" value="@{hitdice-action}" data-i18n="hit_dice">hit_dice</button>
|
||
<button type="action" name="act_hitdice-button" class="hidden"></button>
|
||
<input type="hidden" name="attr_hitdice-action" value="">
|
||
<input data-i18n-placeholder="hit_dice" name="attr_hit_dice" placeholder="hit_dice" spellcheck="false" title="@{hit_dice}" type="number" value="" />
|
||
</label>
|
||
<label data-i18n-title="hit_dice_total" title="hit_dice_total">
|
||
<span data-i18n="hit_dice_total">total</span>
|
||
<input data-i18n-placeholder="hit_dice_total" name="attr_hit_dice_total" placeholder="hit_dice_total" spellcheck="false" title="@{hit_dice_total}" type="number" value="" />
|
||
</label>
|
||
</div>
|
||
<div class="sheet-display-hpmax">
|
||
<label data-i18n-title="hit_points_maximum" title="hit_points_maximum">
|
||
<span data-i18n="hit_points_maximum">hit_points_maximum</span>
|
||
<input data-i18n-placeholder="hit_points_maximum" name="attr_HP_max" placeholder="hit_points_maximum" spellcheck="false" title="@{HP_max}" type="number" value="" />
|
||
</label>
|
||
</div>
|
||
</div>
|
||
<div class='sheet-display-hptemp'>
|
||
<label data-i18n-title="hit_points_temp" title="hit_points_temp">
|
||
<span data-i18n="hit_points_temp">temporary_hit_points</span>
|
||
<input data-i18n-placeholder="hit_points_temp" name="attr_temp_HP" placeholder="hit_points_temp" spellcheck="false" title="@{temp_HP}" type="number" value="" />
|
||
</label>
|
||
</div>
|
||
<div class='sheet-display-death_saves'>
|
||
<label data-i18n-title="death_saves" title="death_saves">
|
||
<button type="roll" name="act_roll_deathsave" value="@{deathsave-action}" data-i18n="death_saves">death_saves</button>
|
||
<button type="action" name="act_deathsave-button" class="hidden"></button>
|
||
<input type="hidden" name="attr_deathsave-action" value="">
|
||
</label>
|
||
<label data-i18n-title="death_saves_success" title="death_saves_success">
|
||
<span data-i18n="death_saves_success">successes</span>
|
||
</label>
|
||
<label data-i18n-title="death_saves_successes" title="death_saves_successes">
|
||
<div class="sheet-dots">
|
||
<input type="radio" data-i18n-placeholder="death_saves_success" name="attr_death_saves_success" placeholder="death_saves_success" title="@{death_saves_success}" value="0" checked="checked" /><span></span>
|
||
<input type="radio" data-i18n-placeholder="death_saves_success" name="attr_death_saves_success" placeholder="death_saves_success" title="@{death_saves_success}" value="1" /><span></span>
|
||
<input type="radio" data-i18n-placeholder="death_saves_success" name="attr_death_saves_success" placeholder="death_saves_success" title="@{death_saves_success}" value="2" /><span></span>
|
||
<input type="radio" data-i18n-placeholder="death_saves_success" name="attr_death_saves_success" placeholder="death_saves_success" title="@{death_saves_success}" value="3" /><span></span>
|
||
</div>
|
||
</label>
|
||
<label data-i18n-title="death_saves_fail" title="death_saves_fail">
|
||
<span data-i18n="death_saves_fail">failures</span>
|
||
</label>
|
||
<label data-i18n-title="death_saves_fails" title="death_saves_fails">
|
||
<div class="sheet-dots">
|
||
<input type="radio" data-i18n-placeholder="death_saves_fail" name="attr_death_saves_fail" placeholder="death_saves_fail" title="@{death_saves_fail}" value="0" checked="checked" /><span></span>
|
||
<input type="radio" data-i18n-placeholder="death_saves_fail" name="attr_death_saves_fail" placeholder="death_saves_fail" title="@{death_saves_fail}" value="1" /><span></span>
|
||
<input type="radio" data-i18n-placeholder="death_saves_fail" name="attr_death_saves_fail" placeholder="death_saves_fail" title="@{death_saves_fail}" value="2" /><span></span>
|
||
<input type="radio" data-i18n-placeholder="death_saves_fail" name="attr_death_saves_fail" placeholder="death_saves_fail" title="@{death_saves_fail}" value="3" /><span></span>
|
||
</div>
|
||
</label>
|
||
</div>
|
||
<div class='sheet-display-fatigue_strife'>
|
||
<label data-i18n-title="fatigue" title="fatigue">
|
||
<span data-i18n="fatigue">fatigue</span>
|
||
</label>
|
||
<label data-i18n-title="fatigues" title="fatigues">
|
||
<div class="sheet-dots">
|
||
<input type="radio" data-i18n-placeholder="death_fatigue" name="attr_death_fatigue" placeholder="death_fatigue" title="@{death_fatigue}" value="0" checked="checked" /><span></span>
|
||
<input type="radio" data-i18n-placeholder="death_fatigue" name="attr_death_fatigue" placeholder="death_fatigue" title="@{death_fatigue}" value="1" /><span></span>
|
||
<input type="radio" data-i18n-placeholder="death_fatigue" name="attr_death_fatigue" placeholder="death_fatigue" title="@{death_fatigue}" value="2" /><span></span>
|
||
<input type="radio" data-i18n-placeholder="death_fatigue" name="attr_death_fatigue" placeholder="death_fatigue" title="@{death_fatigue}" value="3" /><span></span>
|
||
<input type="radio" data-i18n-placeholder="death_fatigue" name="attr_death_fatigue" placeholder="death_fatigue" title="@{death_fatigue}" value="4" /><span></span>
|
||
<input type="radio" data-i18n-placeholder="death_fatigue" name="attr_death_fatigue" placeholder="death_fatigue" title="@{death_fatigue}" value="5" /><span></span>
|
||
<input type="radio" data-i18n-placeholder="death_fatigue" name="attr_death_fatigue" placeholder="death_fatigue" title="@{death_fatigue}" value="6" /><span></span>
|
||
<input type="radio" data-i18n-placeholder="death_fatigue" name="attr_death_fatigue" placeholder="death_fatigue" title="@{death_fatigue}" value="7" /><span></span>
|
||
</div>
|
||
</label>
|
||
<label data-i18n-title="strife" title="strife">
|
||
<span data-i18n="strife">strife</span>
|
||
</label>
|
||
<label data-i18n-title="strifes" title="strifes">
|
||
<div class="sheet-dots">
|
||
<input type="radio" data-i18n-placeholder="death_strife" name="attr_death_strife" placeholder="death_strife" title="@{death_strife}" value="0" checked="checked" /><span></span>
|
||
<input type="radio" data-i18n-placeholder="death_strife" name="attr_death_strife" placeholder="death_strife" title="@{death_strife}" value="1" /><span></span>
|
||
<input type="radio" data-i18n-placeholder="death_strife" name="attr_death_strife" placeholder="death_strife" title="@{death_strife}" value="2" /><span></span>
|
||
<input type="radio" data-i18n-placeholder="death_strife" name="attr_death_strife" placeholder="death_strife" title="@{death_strife}" value="3" /><span></span>
|
||
<input type="radio" data-i18n-placeholder="death_strife" name="attr_death_strife" placeholder="death_strife" title="@{death_strife}" value="4" /><span></span>
|
||
<input type="radio" data-i18n-placeholder="death_strife" name="attr_death_strife" placeholder="death_strife" title="@{death_strife}" value="5" /><span></span>
|
||
<input type="radio" data-i18n-placeholder="death_strife" name="attr_death_strife" placeholder="death_strife" title="@{death_strife}" value="6" /><span></span>
|
||
<input type="radio" data-i18n-placeholder="death_strife" name="attr_death_strife" placeholder="death_strife" title="@{death_strife}" value="7" /><span></span>
|
||
</div>
|
||
</label>
|
||
</div>
|
||
<div class='sheet-display-supply'>
|
||
<label data-i18n-title="supply" title="supply">
|
||
<span data-i18n="supply">supply</span>
|
||
<input data-i18n-placeholder="supply" name="attr_supply" placeholder="supply" spellcheck="false" title="@{supply}" type="number" value="" />
|
||
</label>
|
||
<label data-i18n-title="supply_max" title="supply_max">
|
||
<span data-i18n="supply_max">supply_max</span>
|
||
<input data-i18n-placeholder="supply_max" name="attr_supply_max" placeholder="supply_max" spellcheck="false" title="@{supply_max}" type="number" value="" />
|
||
</label>
|
||
</div>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="sheet-destinyskill">
|
||
<div class='sheet-display-destiny'>
|
||
<label data-i18n-title="destiny" title="destiny">
|
||
<span data-i18n="destiny">destiny</span>
|
||
<input data-i18n-placeholder="destiny" name="attr_destiny" placeholder="destiny" spellcheck="false" title="@{destiny}" type="text" value="" list="destinylist"/>
|
||
</label>
|
||
<label data-i18n-title="destiny_source" title="destiny_source">
|
||
<span data-i18n="destiny_source">destiny_source</span>
|
||
<input data-i18n-placeholder="destiny_source" name="attr_destiny_source" placeholder="destiny_source" spellcheck="false" title="@{destiny_source}" type="text" value="" />
|
||
</label>
|
||
<label data-i18n-title="destiny_inspiration" title="destiny_inspiration">
|
||
<span data-i18n="destiny_inspiration">destiny_inspiration</span>
|
||
<input data-i18n-placeholder="destiny_inspiration" name="attr_destiny_inspiration" placeholder="destiny_inspiration" spellcheck="false" title="@{destiny_inspiration}" type="text" value="" />
|
||
</label>
|
||
<label data-i18n-title="destiny_fulfillment" title="destiny_fulfillment">
|
||
<span data-i18n="destiny_fulfillment">destiny_fulfillment</span>
|
||
<input data-i18n-placeholder="destiny_fulfillment" name="attr_destiny_fulfillment" placeholder="destiny_fulfillment" spellcheck="false" title="@{destiny_fulfillment}" type="text" value="" />
|
||
</label>
|
||
</div>
|
||
|
||
<div class='sheet-display-skill'>
|
||
<label data-i18n-title="skills" title="skills">
|
||
<span data-i18n="skills">skills</span>
|
||
</label>
|
||
<label data-i18n-title="passive_stealth" title="passive_stealth">
|
||
<span data-i18n="passive_stealth">passive_stealth</span>
|
||
</label>
|
||
<label data-i18n-title="passive_stealthx" title="passive_stealthx">
|
||
<input data-i18n-placeholder="passive_stealth" name="attr_passive_stealth" placeholder="passive_stealth" spellcheck="false" title="@{passive_stealth}" type="number" value="" />
|
||
</label>
|
||
<label data-i18n-title="passive_insight" title="passive_insight">
|
||
<span data-i18n="passive_insight">passive_insight</span>
|
||
</label>
|
||
<label data-i18n-title="passive_insightx" title="passive_insightx">
|
||
<input data-i18n-placeholder="passive_insight" name="attr_passive_insight" placeholder="passive_insight" spellcheck="false" title="@{passive_insight}" type="number" value="" />
|
||
</label>
|
||
<label data-i18n-title="passive_perception" title="passive_perception">
|
||
<span data-i18n="passive_perception">passive_perception</span>
|
||
</label>
|
||
<label data-i18n-title="passive_perceptionx" title="passive_perceptionx">
|
||
<input data-i18n-placeholder="passive_perception" name="attr_passive_perception" placeholder="passive_perception" spellcheck="false" title="@{passive_perception}" type="number" value="" />
|
||
</label>
|
||
<label data-i18n-title="passive_misc" title="passive_misc">
|
||
<span data-i18n="passive_misc">passive_misc</span>
|
||
<input data-i18n-placeholder="passive_misc_title" name="attr_passive_misc_title" placeholder="passive_misc_title" spellcheck="false" title="@{passive_misc_title}" type="text" value="" />
|
||
</label>
|
||
<label data-i18n-title="passive_miscx" title="passive_miscx">
|
||
<input data-i18n-placeholder="passive_misc" name="attr_passive_misc" placeholder="passive_misc" spellcheck="false" title="@{passive_misc}" type="number" value="" />
|
||
</label>
|
||
<label data-i18n-title="skillsettings" title="skillsettings">
|
||
<a href="#popupGobalSkills"><span style="font-family:Pictos;">y</span></a>
|
||
</label>
|
||
<div id="popupGobalSkills" class="overlay">
|
||
<div class="popup">
|
||
<h3>Skill Settings</h3>
|
||
<a class="close" href="#">×</a>
|
||
<div class="content">
|
||
<input data-i18n-placeholder="jackofalltrades_check" name="attr_jackofalltrades_check" placeholder="jackofalltrades_check" spellcheck="false" title="@{jackofalltrades_check}" type="checkbox" value="1" />
|
||
<span data-i18n="jackofalltrades">jackofalltrades</span><br>
|
||
<span data-i18n="global_skill_bonus">Global Skill Bonus</span><br>
|
||
<input data-i18n-placeholder="globalskillbonus" name="attr_globalskillbonus" placeholder="globalskillbonus" spellcheck="false" title="@{globalskillbonus}" type="number" value="0" /><br>
|
||
<span data-i18n="global_ability_check_bonus">Global Ability Check Bonus</span><br>
|
||
<input data-i18n-placeholder="globalabilitycheckbonus" name="attr_globalabilitycheckbonus" placeholder="globalabilitycheckbonus" spellcheck="false" title="@{globalabilitycheckbonus}" type="number" value="0" /><br>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<label data-i18n-title="skill" title="skill">
|
||
<span data-i18n="skill">Skill</span>
|
||
</label>
|
||
<label data-i18n-title="specialty" title="specialty">
|
||
<span data-i18n="specialty">Specialty</span>
|
||
</label>
|
||
<label data-i18n-title="bonus" title="bonus">
|
||
<span data-i18n="bonus">Bonus</span>
|
||
</label>
|
||
<label data-i18n-title="skill2" title="skill2">
|
||
<span data-i18n="skill">Skill</span>
|
||
</label>
|
||
<label data-i18n-title="specialty2" title="specialty2">
|
||
<span data-i18n="specialty">Specialty</span>
|
||
</label>
|
||
<label data-i18n-title="bonus2" title="bonus2">
|
||
<span data-i18n="bonus">Bonus</span>
|
||
</label>
|
||
<label data-i18n-title="acrobatics_toggle" title="acrobatics_toggle">
|
||
<a href="#popupAcrobatics"><span style="font-family:Pictos;">y</span></a>
|
||
</label>
|
||
<label data-i18n-title="acrobatics_button" title="acrobatics_button">
|
||
<!-- The visible and draggable button for the macro bar -->
|
||
<button type="roll" name="act_roll_acrobatics" value="@{acrobatics-action}"></button>
|
||
<!-- The invisible button allowing the use of custom roll parsing -->
|
||
<button type="action" name="act_acrobatics-button" class="hidden"></button>
|
||
<!-- The invisible field for the attribute which contains the ability call -->
|
||
<input type="hidden" name="attr_acrobatics-action" value="">
|
||
</label>
|
||
<label data-i18n-title="acrobatics" title="acrobatics">
|
||
<span data-i18n="acrobatics">acrobatics</span>
|
||
</label>
|
||
<label data-i18n-title="acrobatics_specialty" title="acrobatics_specialty">
|
||
<input data-i18n-placeholder="acrobatics_specialty" name="attr_acrobatics_specialty" placeholder="acrobatics_specialty" spellcheck="false" title="@{acrobatics_specialty}" type="text" value="" /><br>
|
||
</label>
|
||
<label data-i18n-title="acrobatics_bonus" title="acrobatics_bonus">
|
||
<input data-i18n-placeholder="acrobatics_bonus" name="attr_acrobatics_bonus" spellcheck="false" title="@{acrobatics_bonus}" type="number" value=""/>
|
||
</label>
|
||
<div id="popupAcrobatics" class="overlay">
|
||
<div class="popup">
|
||
<h3>Acrobatics Settings</h3>
|
||
<a class="close" href="#">×</a>
|
||
<div class="content">
|
||
<input data-i18n-placeholder="acrobatics_check" name="attr_acrobatics_check" placeholder="acrobatics_check" spellcheck="false" title="@{acrobatics_check}" type="checkbox" value="1"/>
|
||
<span data-i18n="proficient">Proficient</span><br>
|
||
<span data-i18n="specialties">Specialties</span><br>
|
||
<input data-i18n-placeholder="acrobatics_specialty" name="attr_acrobatics_specialty" placeholder="acrobatics_specialty" spellcheck="false" title="@{acrobatics_specialty}" type="text" value="" /><br>
|
||
<span data-i18n="expertise_dice">Expertise Dice</span><br>
|
||
<select data-i18n-placeholder="acrobatics_exdice" name="attr_acrobatics_exdice" placeholder="acrobatics_exdice" spellcheck="false" title="@{acrobatics_exdice}"><option></option><option>1d4</option><option>1d6</option><option>1d8</option><option>1d10</option><option>1d12</option></select><br>
|
||
<span data-i18n="acrobatics_check_bonus">Acrobatics Check Bonus</span><br>
|
||
<input data-i18n-placeholder="acrobatics_check_bonus" name="attr_acrobatics_check_bonus" placeholder="acrobatics_check_bonus" spellcheck="false" title="@{acrobatics_check_bonus}" type="number" value="0"/><br>
|
||
<span data-i18n="passive_acrobatics_bonus">Passive Acrobatics Bonus</span><br>
|
||
<input data-i18n-placeholder="passive_acrobatics_bonus" name="attr_passive_acrobatics_bonus" placeholder="passive_acrobatics_bonus" spellcheck="false" title="@{passive_acrobatics_bonus}" type="number" value="0" /><br>
|
||
<span data-i18n="global_skill_bonus">Global Skill Bonus</span><br>
|
||
<input data-i18n-placeholder="globalskillbonus" name="attr_globalskillbonus" placeholder="globalskillbonus" spellcheck="false" title="@{globalskillbonus}" type="number" value="0" /><br>
|
||
<span data-i18n="global_ability_check_bonus">Global Ability Check Bonus</span><br>
|
||
<input data-i18n-placeholder="globalabilitycheckbonus" name="attr_globalabilitycheckbonus" placeholder="globalabilitycheckbonus" spellcheck="false" title="@{globalabilitycheckbonus}" type="number" value="0" /><br>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<label data-i18n-title="animalhandling_toggle" title="animalhandling_toggle">
|
||
<a href="#popupanimalhandling"><span style="font-family:Pictos;">y</span></a>
|
||
</label>
|
||
<label data-i18n-title="animalhandling_button" title="animalhandling_button">
|
||
<!-- The visible and draggable button for the macro bar -->
|
||
<button type="roll" name="act_roll_animalhandling" value="@{animalhandling-action}"></button>
|
||
<!-- The invisible button allowing the use of custom roll parsing -->
|
||
<button type="action" name="act_animalhandling-button" class="hidden"></button>
|
||
<!-- The invisible field for the attribute which contains the ability call -->
|
||
<input type="hidden" name="attr_animalhandling-action" value="">
|
||
</label>
|
||
<label data-i18n-title="animalhandling" title="animalhandling">
|
||
<span data-i18n="animalhandling">Animal Handling</span>
|
||
</label>
|
||
<label data-i18n-title="animalhandling_specialty" title="animalhandling_specialty">
|
||
<input data-i18n-placeholder="animalhandling_specialty" name="attr_animalhandling_specialty" placeholder="animalhandling_specialty" spellcheck="false" title="@{animalhandling_specialty}" type="text" value="" /><br>
|
||
</label>
|
||
<label data-i18n-title="animalhandling_bonus" title="animalhandling_bonus">
|
||
<input data-i18n-placeholder="animalhandling_bonus" name="attr_animalhandling_bonus" spellcheck="false" title="@{animalhandling_bonus}" type="number" value=""/>
|
||
</label>
|
||
<div id="popupanimalhandling" class="overlay">
|
||
<div class="popup">
|
||
<h3>Animal Handling Settings</h3>
|
||
<a class="close" href="#">×</a>
|
||
<div class="content">
|
||
<input data-i18n-placeholder="animalhandling_check" name="attr_animalhandling_check" placeholder="animalhandling_check" spellcheck="false" title="@{animalhandling_check}" type="checkbox" value="1"/>
|
||
<span data-i18n="proficient">Proficient</span><br>
|
||
<span data-i18n="specialties">Specialties</span><br>
|
||
<input data-i18n-placeholder="animalhandling_specialty" name="attr_animalhandling_specialty" placeholder="animalhandling_specialty" spellcheck="false" title="@{animalhandling_specialty}" type="text" value="" /><br>
|
||
<span data-i18n="expertise_dice">Expertise Dice</span><br>
|
||
<select data-i18n-placeholder="animalhandling_exdice" name="attr_animalhandling_exdice" placeholder="animalhandling_exdice" spellcheck="false" title="@{animalhandling_exdice}"><option></option><option>1d4</option><option>1d6</option><option>1d8</option><option>1d10</option><option>1d12</option></select><br>
|
||
<span data-i18n="animalhandling_check_bonus">Animal Handling Check Bonus</span><br>
|
||
<input data-i18n-placeholder="animalhandling_check_bonus" name="attr_animalhandling_check_bonus" placeholder="animalhandling_check_bonus" spellcheck="false" title="@{animalhandling_check_bonus}" type="number" value="0"/><br>
|
||
<span data-i18n="passive_animalhandling_bonus">Passive Animal Handling Bonus</span><br>
|
||
<input data-i18n-placeholder="passive_animalhandling_bonus" name="attr_passive_animalhandling_bonus" placeholder="passive_animalhandling_bonus" spellcheck="false" title="@{passive_animalhandling_bonus}" type="number" value="0" /><br>
|
||
<span data-i18n="global_skill_bonus">Global Skill Bonus</span><br>
|
||
<input data-i18n-placeholder="globalskillbonus" name="attr_globalskillbonus" placeholder="globalskillbonus" spellcheck="false" title="@{globalskillbonus}" type="number" value="0" /><br>
|
||
<span data-i18n="global_ability_check_bonus">Global Ability Check Bonus</span><br>
|
||
<input data-i18n-placeholder="globalabilitycheckbonus" name="attr_globalabilitycheckbonus" placeholder="globalabilitycheckbonus" spellcheck="false" title="@{globalabilitycheckbonus}" type="number" value="0" /><br>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<label data-i18n-title="arcana_toggle" title="arcana_toggle">
|
||
<a href="#popuparcana"><span style="font-family:Pictos;">y</span></a>
|
||
</label>
|
||
<label data-i18n-title="arcana_button" title="arcana_button">
|
||
<!-- The visible and draggable button for the macro bar -->
|
||
<button type="roll" name="act_roll_arcana" value="@{arcana-action}"></button>
|
||
<!-- The invisible button allowing the use of custom roll parsing -->
|
||
<button type="action" name="act_arcana-button" class="hidden"></button>
|
||
<!-- The invisible field for the attribute which contains the ability call -->
|
||
<input type="hidden" name="attr_arcana-action" value="">
|
||
</label>
|
||
<label data-i18n-title="arcana" title="arcana">
|
||
<span data-i18n="arcana">Arcana</span>
|
||
</label>
|
||
<label data-i18n-title="arcana_specialty" title="arcana_specialty">
|
||
<input data-i18n-placeholder="arcana_specialty" name="attr_arcana_specialty" placeholder="arcana_specialty" spellcheck="false" title="@{arcana_specialty}" type="text" value="" /><br>
|
||
</label>
|
||
<label data-i18n-title="arcana_bonus" title="arcana_bonus">
|
||
<input data-i18n-placeholder="arcana_bonus" name="attr_arcana_bonus" spellcheck="false" title="@{arcana_bonus}" type="number" value=""/>
|
||
</label>
|
||
<div id="popuparcana" class="overlay">
|
||
<div class="popup">
|
||
<h3>Arcana Settings</h3>
|
||
<a class="close" href="#">×</a>
|
||
<div class="content">
|
||
<input data-i18n-placeholder="arcana_check" name="attr_arcana_check" placeholder="arcana_check" spellcheck="false" title="@{arcana_check}" type="checkbox" value="1"/>
|
||
<span data-i18n="proficient">Proficient</span><br>
|
||
<span data-i18n="specialties">Specialties</span><br>
|
||
<input data-i18n-placeholder="arcana_specialty" name="attr_arcana_specialty" placeholder="arcana_specialty" spellcheck="false" title="@{arcana_specialty}" type="text" value="" /><br>
|
||
<span data-i18n="expertise_dice">Expertise Dice</span><br>
|
||
<select data-i18n-placeholder="arcana_exdice" name="attr_arcana_exdice" placeholder="arcana_exdice" spellcheck="false" title="@{arcana_exdice}"><option></option><option>1d4</option><option>1d6</option><option>1d8</option><option>1d10</option><option>1d12</option></select><br>
|
||
<span data-i18n="arcana_check_bonus">Arcana Check Bonus</span><br>
|
||
<input data-i18n-placeholder="arcana_check_bonus" name="attr_arcana_check_bonus" placeholder="arcana_check_bonus" spellcheck="false" title="@{arcana_check_bonus}" type="number" value="0"/><br>
|
||
<span data-i18n="passive_arcana_bonus">Passive Arcana Bonus</span><br>
|
||
<input data-i18n-placeholder="passive_arcana_bonus" name="attr_passive_arcana_bonus" placeholder="passive_arcana_bonus" spellcheck="false" title="@{passive_arcana_bonus}" type="number" value="0" /><br>
|
||
<span data-i18n="global_skill_bonus">Global Skill Bonus</span><br>
|
||
<input data-i18n-placeholder="globalskillbonus" name="attr_globalskillbonus" placeholder="globalskillbonus" spellcheck="false" title="@{globalskillbonus}" type="number" value="0" /><br>
|
||
<span data-i18n="global_ability_check_bonus">Global Ability Check Bonus</span><br>
|
||
<input data-i18n-placeholder="globalabilitycheckbonus" name="attr_globalabilitycheckbonus" placeholder="globalabilitycheckbonus" spellcheck="false" title="@{globalabilitycheckbonus}" type="number" value="0" /><br>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<label data-i18n-title="athletics_toggle" title="athletics_toggle">
|
||
<a href="#popupathletics"><span style="font-family:Pictos;">y</span></a>
|
||
</label>
|
||
<label data-i18n-title="athletics_button" title="athletics_button">
|
||
<!-- The visible and draggable button for the macro bar -->
|
||
<button type="roll" name="act_roll_athletics" value="@{athletics-action}"></button>
|
||
<!-- The invisible button allowing the use of custom roll parsing -->
|
||
<button type="action" name="act_athletics-button" class="hidden"></button>
|
||
<!-- The invisible field for the attribute which contains the ability call -->
|
||
<input type="hidden" name="attr_athletics-action" value="">
|
||
</label>
|
||
<label data-i18n-title="athletics" title="athletics">
|
||
<span data-i18n="athletics">Athletics</span>
|
||
</label>
|
||
<label data-i18n-title="athletics_specialty" title="athletics_specialty">
|
||
<input data-i18n-placeholder="athletics_specialty" name="attr_athletics_specialty" placeholder="athletics_specialty" spellcheck="false" title="@{athletics_specialty}" type="text" value="" /><br>
|
||
</label>
|
||
<label data-i18n-title="athletics_bonus" title="athletics_bonus">
|
||
<input data-i18n-placeholder="athletics_bonus" name="attr_athletics_bonus" spellcheck="false" title="@{athletics_bonus}" type="number" value=""/>
|
||
</label>
|
||
<div id="popupathletics" class="overlay">
|
||
<div class="popup">
|
||
<h3>Athletics Settings</h3>
|
||
<a class="close" href="#">×</a>
|
||
<div class="content">
|
||
<input data-i18n-placeholder="athletics_check" name="attr_athletics_check" placeholder="athletics_check" spellcheck="false" title="@{athletics_check}" type="checkbox" value="1"/>
|
||
<span data-i18n="proficient">Proficient</span><br>
|
||
<span data-i18n="specialties">Specialties</span><br>
|
||
<input data-i18n-placeholder="athletics_specialty" name="attr_athletics_specialty" placeholder="athletics_specialty" spellcheck="false" title="@{athletics_specialty}" type="text" value="" /><br>
|
||
<span data-i18n="expertise_dice">Expertise Dice</span><br>
|
||
<select data-i18n-placeholder="athletics_exdice" name="attr_athletics_exdice" placeholder="athletics_exdice" spellcheck="false" title="@{athletics_exdice}"><option></option><option>1d4</option><option>1d6</option><option>1d8</option><option>1d10</option><option>1d12</option></select><br>
|
||
<span data-i18n="athletics_check_bonus">Athletics Check Bonus</span><br>
|
||
<input data-i18n-placeholder="athletics_check_bonus" name="attr_athletics_check_bonus" placeholder="athletics_check_bonus" spellcheck="false" title="@{athletics_check_bonus}" type="number" value="0"/><br>
|
||
<span data-i18n="passive_athletics_bonus">Passive Athletics Bonus</span><br>
|
||
<input data-i18n-placeholder="passive_athletics_bonus" name="attr_passive_athletics_bonus" placeholder="passive_athletics_bonus" spellcheck="false" title="@{passive_athletics_bonus}" type="number" value="0" /><br>
|
||
<span data-i18n="global_skill_bonus">Global Skill Bonus</span><br>
|
||
<input data-i18n-placeholder="globalskillbonus" name="attr_globalskillbonus" placeholder="globalskillbonus" spellcheck="false" title="@{globalskillbonus}" type="number" value="0" /><br>
|
||
<span data-i18n="global_ability_check_bonus">Global Ability Check Bonus</span><br>
|
||
<input data-i18n-placeholder="globalabilitycheckbonus" name="attr_globalabilitycheckbonus" placeholder="globalabilitycheckbonus" spellcheck="false" title="@{globalabilitycheckbonus}" type="number" value="0" /><br>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<label data-i18n-title="culture_toggle" title="culture_toggle">
|
||
<a href="#popupculture"><span style="font-family:Pictos;">y</span></a>
|
||
</label>
|
||
<label data-i18n-title="culture_button" title="culture_button">
|
||
<!-- The visible and draggable button for the macro bar -->
|
||
<button type="roll" name="act_roll_culture" value="@{culture-action}"></button>
|
||
<!-- The invisible button allowing the use of custom roll parsing -->
|
||
<button type="action" name="act_culture-button" class="hidden"></button>
|
||
<!-- The invisible field for the attribute which contains the ability call -->
|
||
<input type="hidden" name="attr_culture-action" value="">
|
||
</label>
|
||
<label data-i18n-title="culture" title="culture">
|
||
<span data-i18n="culture">Culture</span>
|
||
</label>
|
||
<label data-i18n-title="culture_specialty" title="culture_specialty">
|
||
<input data-i18n-placeholder="culture_specialty" name="attr_culture_specialty" placeholder="culture_specialty" spellcheck="false" title="@{culture_specialty}" type="text" value="" /><br>
|
||
</label>
|
||
<label data-i18n-title="culture_bonus" title="culture_bonus">
|
||
<input data-i18n-placeholder="culture_bonus" name="attr_culture_bonus" spellcheck="false" title="@{culture_bonus}" type="number" value=""/>
|
||
</label>
|
||
<div id="popupculture" class="overlay">
|
||
<div class="popup">
|
||
<h3>Culture Settings</h3>
|
||
<a class="close" href="#">×</a>
|
||
<div class="content">
|
||
<input data-i18n-placeholder="culture_check" name="attr_culture_check" placeholder="culture_check" spellcheck="false" title="@{culture_check}" type="checkbox" value="1"/>
|
||
<span data-i18n="proficient">Proficient</span><br>
|
||
<span data-i18n="specialties">Specialties</span><br>
|
||
<input data-i18n-placeholder="culture_specialty" name="attr_culture_specialty" placeholder="culture_specialty" spellcheck="false" title="@{culture_specialty}" type="text" value="" /><br>
|
||
<span data-i18n="expertise_dice">Expertise Dice</span><br>
|
||
<select data-i18n-placeholder="culture_exdice" name="attr_culture_exdice" placeholder="culture_exdice" spellcheck="false" title="@{culture_exdice}"><option></option><option>1d4</option><option>1d6</option><option>1d8</option><option>1d10</option><option>1d12</option></select><br>
|
||
<span data-i18n="culture_check_bonus">Culture Check Bonus</span><br>
|
||
<input data-i18n-placeholder="culture_check_bonus" name="attr_culture_check_bonus" placeholder="culture_check_bonus" spellcheck="false" title="@{culture_check_bonus}" type="number" value="0"/><br>
|
||
<span data-i18n="passive_culture_bonus">Passive Culture Bonus</span><br>
|
||
<input data-i18n-placeholder="passive_culture_bonus" name="attr_passive_culture_bonus" placeholder="passive_culture_bonus" spellcheck="false" title="@{passive_culture_bonus}" type="number" value="0" /><br>
|
||
<span data-i18n="global_skill_bonus">Global Skill Bonus</span><br>
|
||
<input data-i18n-placeholder="globalskillbonus" name="attr_globalskillbonus" placeholder="globalskillbonus" spellcheck="false" title="@{globalskillbonus}" type="number" value="0" /><br>
|
||
<span data-i18n="global_ability_check_bonus">Global Ability Check Bonus</span><br>
|
||
<input data-i18n-placeholder="globalabilitycheckbonus" name="attr_globalabilitycheckbonus" placeholder="globalabilitycheckbonus" spellcheck="false" title="@{globalabilitycheckbonus}" type="number" value="0" /><br>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<label data-i18n-title="deception_toggle" title="deception_toggle">
|
||
<a href="#popupdeception"><span style="font-family:Pictos;">y</span></a>
|
||
</label>
|
||
<label data-i18n-title="deception_button" title="deception_button">
|
||
<!-- The visible and draggable button for the macro bar -->
|
||
<button type="roll" name="act_roll_deception" value="@{deception-action}"></button>
|
||
<!-- The invisible button allowing the use of custom roll parsing -->
|
||
<button type="action" name="act_deception-button" class="hidden"></button>
|
||
<!-- The invisible field for the attribute which contains the ability call -->
|
||
<input type="hidden" name="attr_deception-action" value="">
|
||
</label>
|
||
<label data-i18n-title="deception" title="deception">
|
||
<span data-i18n="deception">Deception</span>
|
||
</label>
|
||
<label data-i18n-title="deception_specialty" title="deception_specialty">
|
||
<input data-i18n-placeholder="deception_specialty" name="attr_deception_specialty" placeholder="deception_specialty" spellcheck="false" title="@{deception_specialty}" type="text" value="" /><br>
|
||
</label>
|
||
<label data-i18n-title="deception_bonus" title="deception_bonus">
|
||
<input data-i18n-placeholder="deception_bonus" name="attr_deception_bonus" spellcheck="false" title="@{deception_bonus}" type="number" value=""/>
|
||
</label>
|
||
<div id="popupdeception" class="overlay">
|
||
<div class="popup">
|
||
<h3>Deception Settings</h3>
|
||
<a class="close" href="#">×</a>
|
||
<div class="content">
|
||
<input data-i18n-placeholder="deception_check" name="attr_deception_check" placeholder="deception_check" spellcheck="false" title="@{deception_check}" type="checkbox" value="1"/>
|
||
<span data-i18n="proficient">Proficient</span><br>
|
||
<span data-i18n="specialties">Specialties</span><br>
|
||
<input data-i18n-placeholder="deception_specialty" name="attr_deception_specialty" placeholder="deception_specialty" spellcheck="false" title="@{deception_specialty}" type="text" value="" /><br>
|
||
<span data-i18n="expertise_dice">Expertise Dice</span><br>
|
||
<select data-i18n-placeholder="deception_exdice" name="attr_deception_exdice" placeholder="deception_exdice" spellcheck="false" title="@{deception_exdice}"><option></option><option>1d4</option><option>1d6</option><option>1d8</option><option>1d10</option><option>1d12</option></select><br>
|
||
<span data-i18n="deception_check_bonus">Deception Check Bonus</span><br>
|
||
<input data-i18n-placeholder="deception_check_bonus" name="attr_deception_check_bonus" placeholder="deception_check_bonus" spellcheck="false" title="@{deception_check_bonus}" type="number" value="0"/><br>
|
||
<span data-i18n="passive_deception_bonus">Passive Deception Bonus</span><br>
|
||
<input data-i18n-placeholder="passive_deception_bonus" name="attr_passive_deception_bonus" placeholder="passive_deception_bonus" spellcheck="false" title="@{passive_deception_bonus}" type="number" value="0" /><br>
|
||
<span data-i18n="global_skill_bonus">Global Skill Bonus</span><br>
|
||
<input data-i18n-placeholder="globalskillbonus" name="attr_globalskillbonus" placeholder="globalskillbonus" spellcheck="false" title="@{globalskillbonus}" type="number" value="0" /><br>
|
||
<span data-i18n="global_ability_check_bonus">Global Ability Check Bonus</span><br>
|
||
<input data-i18n-placeholder="globalabilitycheckbonus" name="attr_globalabilitycheckbonus" placeholder="globalabilitycheckbonus" spellcheck="false" title="@{globalabilitycheckbonus}" type="number" value="0" /><br>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<label data-i18n-title="engineering_toggle" title="engineering_toggle">
|
||
<a href="#popupengineering"><span style="font-family:Pictos;">y</span></a>
|
||
</label>
|
||
<label data-i18n-title="engineering_button" title="engineering_button">
|
||
<!-- The visible and draggable button for the macro bar -->
|
||
<button type="roll" name="act_roll_engineering" value="@{engineering-action}"></button>
|
||
<!-- The invisible button allowing the use of custom roll parsing -->
|
||
<button type="action" name="act_engineering-button" class="hidden"></button>
|
||
<!-- The invisible field for the attribute which contains the ability call -->
|
||
<input type="hidden" name="attr_engineering-action" value="">
|
||
</label>
|
||
<label data-i18n-title="engineering" title="engineering">
|
||
<span data-i18n="engineering">Engineering</span>
|
||
</label>
|
||
<label data-i18n-title="engineering_specialty" title="engineering_specialty">
|
||
<input data-i18n-placeholder="engineering_specialty" name="attr_engineering_specialty" placeholder="engineering_specialty" spellcheck="false" title="@{engineering_specialty}" type="text" value="" /><br>
|
||
</label>
|
||
<label data-i18n-title="engineering_bonus" title="engineering_bonus">
|
||
<input data-i18n-placeholder="engineering_bonus" name="attr_engineering_bonus" spellcheck="false" title="@{engineering_bonus}" type="number" value=""/>
|
||
</label>
|
||
<div id="popupengineering" class="overlay">
|
||
<div class="popup">
|
||
<h3>Engineering Settings</h3>
|
||
<a class="close" href="#">×</a>
|
||
<div class="content">
|
||
<input data-i18n-placeholder="engineering_check" name="attr_engineering_check" placeholder="engineering_check" spellcheck="false" title="@{engineering_check}" type="checkbox" value="1"/>
|
||
<span data-i18n="proficient">Proficient</span><br>
|
||
<span data-i18n="specialties">Specialties</span><br>
|
||
<input data-i18n-placeholder="engineering_specialty" name="attr_engineering_specialty" placeholder="engineering_specialty" spellcheck="false" title="@{engineering_specialty}" type="text" value="" /><br>
|
||
<span data-i18n="expertise_dice">Expertise Dice</span><br>
|
||
<select data-i18n-placeholder="engineering_exdice" name="attr_engineering_exdice" placeholder="engineering_exdice" spellcheck="false" title="@{engineering_exdice}"><option></option><option>1d4</option><option>1d6</option><option>1d8</option><option>1d10</option><option>1d12</option></select><br>
|
||
<span data-i18n="engineering_check_bonus">Engineering Check Bonus</span><br>
|
||
<input data-i18n-placeholder="engineering_check_bonus" name="attr_engineering_check_bonus" placeholder="engineering_check_bonus" spellcheck="false" title="@{engineering_check_bonus}" type="number" value="0"/><br>
|
||
<span data-i18n="passive_engineering_bonus">Passive Engineering Bonus</span><br>
|
||
<input data-i18n-placeholder="passive_engineering_bonus" name="attr_passive_engineering_bonus" placeholder="passive_engineering_bonus" spellcheck="false" title="@{passive_engineering_bonus}" type="number" value="0" /><br>
|
||
<span data-i18n="global_skill_bonus">Global Skill Bonus</span><br>
|
||
<input data-i18n-placeholder="globalskillbonus" name="attr_globalskillbonus" placeholder="globalskillbonus" spellcheck="false" title="@{globalskillbonus}" type="number" value="0" /><br>
|
||
<span data-i18n="global_ability_check_bonus">Global Ability Check Bonus</span><br>
|
||
<input data-i18n-placeholder="globalabilitycheckbonus" name="attr_globalabilitycheckbonus" placeholder="globalabilitycheckbonus" spellcheck="false" title="@{globalabilitycheckbonus}" type="number" value="0" /><br>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<label data-i18n-title="history_toggle" title="history_toggle">
|
||
<a href="#popuphistory"><span style="font-family:Pictos;">y</span></a>
|
||
</label>
|
||
<label data-i18n-title="history_button" title="history_button">
|
||
<!-- The visible and draggable button for the macro bar -->
|
||
<button type="roll" name="act_roll_history" value="@{history-action}"></button>
|
||
<!-- The invisible button allowing the use of custom roll parsing -->
|
||
<button type="action" name="act_history-button" class="hidden"></button>
|
||
<!-- The invisible field for the attribute which contains the ability call -->
|
||
<input type="hidden" name="attr_history-action" value="">
|
||
</label>
|
||
<label data-i18n-title="history" title="history">
|
||
<span data-i18n="history">History</span>
|
||
</label>
|
||
<label data-i18n-title="history_specialty" title="history_specialty">
|
||
<input data-i18n-placeholder="history_specialty" name="attr_history_specialty" placeholder="history_specialty" spellcheck="false" title="@{history_specialty}" type="text" value="" /><br>
|
||
</label>
|
||
<label data-i18n-title="history_bonus" title="history_bonus">
|
||
<input data-i18n-placeholder="history_bonus" name="attr_history_bonus" spellcheck="false" title="@{history_bonus}" type="number" value=""/>
|
||
</label>
|
||
<div id="popuphistory" class="overlay">
|
||
<div class="popup">
|
||
<h3>History Settings</h3>
|
||
<a class="close" href="#">×</a>
|
||
<div class="content">
|
||
<input data-i18n-placeholder="history_check" name="attr_history_check" placeholder="history_check" spellcheck="false" title="@{history_check}" type="checkbox" value="1"/>
|
||
<span data-i18n="proficient">Proficient</span><br>
|
||
<span data-i18n="specialties">Specialties</span><br>
|
||
<input data-i18n-placeholder="history_specialty" name="attr_history_specialty" placeholder="history_specialty" spellcheck="false" title="@{history_specialty}" type="text" value="" /><br>
|
||
<span data-i18n="expertise_dice">Expertise Dice</span><br>
|
||
<select data-i18n-placeholder="history_exdice" name="attr_history_exdice" placeholder="history_exdice" spellcheck="false" title="@{history_exdice}"><option></option><option>1d4</option><option>1d6</option><option>1d8</option><option>1d10</option><option>1d12</option></select><br>
|
||
<span data-i18n="history_check_bonus">History Check Bonus</span><br>
|
||
<input data-i18n-placeholder="history_check_bonus" name="attr_history_check_bonus" placeholder="history_check_bonus" spellcheck="false" title="@{history_check_bonus}" type="number" value="0"/><br>
|
||
<span data-i18n="passive_history_bonus">Passive History Bonus</span><br>
|
||
<input data-i18n-placeholder="passive_history_bonus" name="attr_passive_history_bonus" placeholder="passive_history_bonus" spellcheck="false" title="@{passive_history_bonus}" type="number" value="0" /><br>
|
||
<span data-i18n="global_skill_bonus">Global Skill Bonus</span><br>
|
||
<input data-i18n-placeholder="globalskillbonus" name="attr_globalskillbonus" placeholder="globalskillbonus" spellcheck="false" title="@{globalskillbonus}" type="number" value="0" /><br>
|
||
<span data-i18n="global_ability_check_bonus">Global Ability Check Bonus</span><br>
|
||
<input data-i18n-placeholder="globalabilitycheckbonus" name="attr_globalabilitycheckbonus" placeholder="globalabilitycheckbonus" spellcheck="false" title="@{globalabilitycheckbonus}" type="number" value="0" /><br>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<label data-i18n-title="insight_toggle" title="insight_toggle">
|
||
<a href="#popupinsight"><span style="font-family:Pictos;">y</span></a>
|
||
</label>
|
||
<label data-i18n-title="insight_button" title="insight_button">
|
||
<!-- The visible and draggable button for the macro bar -->
|
||
<button type="roll" name="act_roll_insight" value="@{insight-action}"></button>
|
||
<!-- The invisible button allowing the use of custom roll parsing -->
|
||
<button type="action" name="act_insight-button" class="hidden"></button>
|
||
<!-- The invisible field for the attribute which contains the ability call -->
|
||
<input type="hidden" name="attr_insight-action" value="">
|
||
</label>
|
||
<label data-i18n-title="insight" title="insight">
|
||
<span data-i18n="insight">Insight</span>
|
||
</label>
|
||
<label data-i18n-title="insight_specialty" title="insight_specialty">
|
||
<input data-i18n-placeholder="insight_specialty" name="attr_insight_specialty" placeholder="insight_specialty" spellcheck="false" title="@{insight_specialty}" type="text" value="" /><br>
|
||
</label>
|
||
<label data-i18n-title="insight_bonus" title="insight_bonus">
|
||
<input data-i18n-placeholder="insight_bonus" name="attr_insight_bonus" spellcheck="false" title="@{insight_bonus}" type="number" value=""/>
|
||
</label>
|
||
<div id="popupinsight" class="overlay">
|
||
<div class="popup">
|
||
<h3>Insight Settings</h3>
|
||
<a class="close" href="#">×</a>
|
||
<div class="content">
|
||
<input data-i18n-placeholder="insight_check" name="attr_insight_check" placeholder="insight_check" spellcheck="false" title="@{insight_check}" type="checkbox" value="1"/>
|
||
<span data-i18n="proficient">Proficient</span><br>
|
||
<span data-i18n="specialties">Specialties</span><br>
|
||
<input data-i18n-placeholder="insight_specialty" name="attr_insight_specialty" placeholder="insight_specialty" spellcheck="false" title="@{insight_specialty}" type="text" value="" /><br>
|
||
<span data-i18n="expertise_dice">Expertise Dice</span><br>
|
||
<select data-i18n-placeholder="insight_exdice" name="attr_insight_exdice" placeholder="insight_exdice" spellcheck="false" title="@{insight_exdice}"><option></option><option>1d4</option><option>1d6</option><option>1d8</option><option>1d10</option><option>1d12</option></select><br>
|
||
<span data-i18n="insight_check_bonus">Insight Check Bonus</span><br>
|
||
<input data-i18n-placeholder="insight_check_bonus" name="attr_insight_check_bonus" placeholder="insight_check_bonus" spellcheck="false" title="@{insight_check_bonus}" type="number" value="0"/><br>
|
||
<span data-i18n="passive_insight_bonus">Passive Insight Bonus</span><br>
|
||
<input data-i18n-placeholder="passive_insight_bonus" name="attr_passive_insight_bonus" placeholder="passive_insight_bonus" spellcheck="false" title="@{passive_insight_bonus}" type="number" value="0" /><br>
|
||
<span data-i18n="global_skill_bonus">Global Skill Bonus</span><br>
|
||
<input data-i18n-placeholder="globalskillbonus" name="attr_globalskillbonus" placeholder="globalskillbonus" spellcheck="false" title="@{globalskillbonus}" type="number" value="0" /><br>
|
||
<span data-i18n="global_ability_check_bonus">Global Ability Check Bonus</span><br>
|
||
<input data-i18n-placeholder="globalabilitycheckbonus" name="attr_globalabilitycheckbonus" placeholder="globalabilitycheckbonus" spellcheck="false" title="@{globalabilitycheckbonus}" type="number" value="0" /><br>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<label data-i18n-title="intimidation_toggle" title="intimidation_toggle">
|
||
<a href="#popupintimidation"><span style="font-family:Pictos;">y</span></a>
|
||
</label>
|
||
<label data-i18n-title="intimidation_button" title="intimidation_button">
|
||
<!-- The visible and draggable button for the macro bar -->
|
||
<button type="roll" name="act_roll_intimidation" value="@{intimidation-action}"></button>
|
||
<!-- The invisible button allowing the use of custom roll parsing -->
|
||
<button type="action" name="act_intimidation-button" class="hidden"></button>
|
||
<!-- The invisible field for the attribute which contains the ability call -->
|
||
<input type="hidden" name="attr_intimidation-action" value="">
|
||
</label>
|
||
<label data-i18n-title="intimidation" title="intimidation">
|
||
<span data-i18n="intimidation">Intimidation</span>
|
||
</label>
|
||
<label data-i18n-title="intimidation_specialty" title="intimidation_specialty">
|
||
<input data-i18n-placeholder="intimidation_specialty" name="attr_intimidation_specialty" placeholder="intimidation_specialty" spellcheck="false" title="@{intimidation_specialty}" type="text" value="" /><br>
|
||
</label>
|
||
<label data-i18n-title="intimidation_bonus" title="intimidation_bonus">
|
||
<input data-i18n-placeholder="intimidation_bonus" name="attr_intimidation_bonus" spellcheck="false" title="@{intimidation_bonus}" type="number" value=""/>
|
||
</label>
|
||
<div id="popupintimidation" class="overlay">
|
||
<div class="popup">
|
||
<h3>Intimidation Settings</h3>
|
||
<a class="close" href="#">×</a>
|
||
<div class="content">
|
||
<input data-i18n-placeholder="intimidation_check" name="attr_intimidation_check" placeholder="intimidation_check" spellcheck="false" title="@{intimidation_check}" type="checkbox" value="1"/>
|
||
<span data-i18n="proficient">Proficient</span><br>
|
||
<span data-i18n="specialties">Specialties</span><br>
|
||
<input data-i18n-placeholder="intimidation_specialty" name="attr_intimidation_specialty" placeholder="intimidation_specialty" spellcheck="false" title="@{intimidation_specialty}" type="text" value="" /><br>
|
||
<span data-i18n="expertise_dice">Expertise Dice</span><br>
|
||
<select data-i18n-placeholder="intimidation_exdice" name="attr_intimidation_exdice" placeholder="intimidation_exdice" spellcheck="false" title="@{intimidation_exdice}"><option></option><option>1d4</option><option>1d6</option><option>1d8</option><option>1d10</option><option>1d12</option></select><br>
|
||
<span data-i18n="intimidation_check_bonus">Intimidation Check Bonus</span><br>
|
||
<input data-i18n-placeholder="intimidation_check_bonus" name="attr_intimidation_check_bonus" placeholder="intimidation_check_bonus" spellcheck="false" title="@{intimidation_check_bonus}" type="number" value="0"/><br>
|
||
<span data-i18n="passive_intimidation_bonus">Passive Intimidation Bonus</span><br>
|
||
<input data-i18n-placeholder="passive_intimidation_bonus" name="attr_passive_intimidation_bonus" placeholder="passive_intimidation_bonus" spellcheck="false" title="@{passive_intimidation_bonus}" type="number" value="0" /><br>
|
||
<span data-i18n="global_skill_bonus">Global Skill Bonus</span><br>
|
||
<input data-i18n-placeholder="globalskillbonus" name="attr_globalskillbonus" placeholder="globalskillbonus" spellcheck="false" title="@{globalskillbonus}" type="number" value="0" /><br>
|
||
<span data-i18n="global_ability_check_bonus">Global Ability Check Bonus</span><br>
|
||
<input data-i18n-placeholder="globalabilitycheckbonus" name="attr_globalabilitycheckbonus" placeholder="globalabilitycheckbonus" spellcheck="false" title="@{globalabilitycheckbonus}" type="number" value="0" /><br>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<label data-i18n-title="investigation_toggle" title="investigation_toggle">
|
||
<a href="#popupinvestigation"><span style="font-family:Pictos;">y</span></a>
|
||
</label>
|
||
<label data-i18n-title="investigation_button" title="investigation_button">
|
||
<!-- The visible and draggable button for the macro bar -->
|
||
<button type="roll" name="act_roll_investigation" value="@{investigation-action}"></button>
|
||
<!-- The invisible button allowing the use of custom roll parsing -->
|
||
<button type="action" name="act_investigation-button" class="hidden"></button>
|
||
<!-- The invisible field for the attribute which contains the ability call -->
|
||
<input type="hidden" name="attr_investigation-action" value="">
|
||
</label>
|
||
<label data-i18n-title="investigation" title="investigation">
|
||
<span data-i18n="investigation">Investigation</span>
|
||
</label>
|
||
<label data-i18n-title="investigation_specialty" title="investigation_specialty">
|
||
<input data-i18n-placeholder="investigation_specialty" name="attr_investigation_specialty" placeholder="investigation_specialty" spellcheck="false" title="@{investigation_specialty}" type="text" value="" /><br>
|
||
</label>
|
||
<label data-i18n-title="investigation_bonus" title="investigation_bonus">
|
||
<input data-i18n-placeholder="investigation_bonus" name="attr_investigation_bonus" spellcheck="false" title="@{investigation_bonus}" type="number" value=""/>
|
||
</label>
|
||
<div id="popupinvestigation" class="overlay">
|
||
<div class="popup">
|
||
<h3>Investigation Settings</h3>
|
||
<a class="close" href="#">×</a>
|
||
<div class="content">
|
||
<input data-i18n-placeholder="investigation_check" name="attr_investigation_check" placeholder="investigation_check" spellcheck="false" title="@{investigation_check}" type="checkbox" value="1"/>
|
||
<span data-i18n="proficient">Proficient</span><br>
|
||
<span data-i18n="specialties">Specialties</span><br>
|
||
<input data-i18n-placeholder="investigation_specialty" name="attr_investigation_specialty" placeholder="investigation_specialty" spellcheck="false" title="@{investigation_specialty}" type="text" value="" /><br>
|
||
<span data-i18n="expertise_dice">Expertise Dice</span><br>
|
||
<select data-i18n-placeholder="investigation_exdice" name="attr_investigation_exdice" placeholder="investigation_exdice" spellcheck="false" title="@{investigation_exdice}"><option></option><option>1d4</option><option>1d6</option><option>1d8</option><option>1d10</option><option>1d12</option></select><br>
|
||
<span data-i18n="investigation_check_bonus">Investigation Check Bonus</span><br>
|
||
<input data-i18n-placeholder="investigation_check_bonus" name="attr_investigation_check_bonus" placeholder="investigation_check_bonus" spellcheck="false" title="@{investigation_check_bonus}" type="number" value="0"/><br>
|
||
<span data-i18n="passive_investigation_bonus">Passive Investigation Bonus</span><br>
|
||
<input data-i18n-placeholder="passive_investigation_bonus" name="attr_passive_investigation_bonus" placeholder="passive_investigation_bonus" spellcheck="false" title="@{passive_investigation_bonus}" type="number" value="0" /><br>
|
||
<span data-i18n="global_skill_bonus">Global Skill Bonus</span><br>
|
||
<input data-i18n-placeholder="globalskillbonus" name="attr_globalskillbonus" placeholder="globalskillbonus" spellcheck="false" title="@{globalskillbonus}" type="number" value="0" /><br>
|
||
<span data-i18n="global_ability_check_bonus">Global Ability Check Bonus</span><br>
|
||
<input data-i18n-placeholder="globalabilitycheckbonus" name="attr_globalabilitycheckbonus" placeholder="globalabilitycheckbonus" spellcheck="false" title="@{globalabilitycheckbonus}" type="number" value="0" /><br>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<label data-i18n-title="medicine_toggle" title="medicine_toggle">
|
||
<a href="#popupmedicine"><span style="font-family:Pictos;">y</span></a>
|
||
</label>
|
||
<label data-i18n-title="medicine_button" title="medicine_button">
|
||
<!-- The visible and draggable button for the macro bar -->
|
||
<button type="roll" name="act_roll_medicine" value="@{medicine-action}"></button>
|
||
<!-- The invisible button allowing the use of custom roll parsing -->
|
||
<button type="action" name="act_medicine-button" class="hidden"></button>
|
||
<!-- The invisible field for the attribute which contains the ability call -->
|
||
<input type="hidden" name="attr_medicine-action" value="">
|
||
</label>
|
||
<label data-i18n-title="medicine" title="medicine">
|
||
<span data-i18n="medicine">Medicine</span>
|
||
</label>
|
||
<label data-i18n-title="medicine_specialty" title="medicine_specialty">
|
||
<input data-i18n-placeholder="medicine_specialty" name="attr_medicine_specialty" placeholder="medicine_specialty" spellcheck="false" title="@{medicine_specialty}" type="text" value="" /><br>
|
||
</label>
|
||
<label data-i18n-title="medicine_bonus" title="medicine_bonus">
|
||
<input data-i18n-placeholder="medicine_bonus" name="attr_medicine_bonus" spellcheck="false" title="@{medicine_bonus}" type="number" value=""/>
|
||
</label>
|
||
<div id="popupmedicine" class="overlay">
|
||
<div class="popup">
|
||
<h3>Medicine Settings</h3>
|
||
<a class="close" href="#">×</a>
|
||
<div class="content">
|
||
<input data-i18n-placeholder="medicine_check" name="attr_medicine_check" placeholder="medicine_check" spellcheck="false" title="@{medicine_check}" type="checkbox" value="1"/>
|
||
<span data-i18n="proficient">Proficient</span><br>
|
||
<span data-i18n="specialties">Specialties</span><br>
|
||
<input data-i18n-placeholder="medicine_specialty" name="attr_medicine_specialty" placeholder="medicine_specialty" spellcheck="false" title="@{medicine_specialty}" type="text" value="" /><br>
|
||
<span data-i18n="expertise_dice">Expertise Dice</span><br>
|
||
<select data-i18n-placeholder="medicine_exdice" name="attr_medicine_exdice" placeholder="medicine_exdice" spellcheck="false" title="@{medicine_exdice}"><option></option><option>1d4</option><option>1d6</option><option>1d8</option><option>1d10</option><option>1d12</option></select><br>
|
||
<span data-i18n="medicine_check_bonus">Medicine Check Bonus</span><br>
|
||
<input data-i18n-placeholder="medicine_check_bonus" name="attr_medicine_check_bonus" placeholder="medicine_check_bonus" spellcheck="false" title="@{medicine_check_bonus}" type="number" value="0"/><br>
|
||
<span data-i18n="passive_medicine_bonus">Passive Medicine Bonus</span><br>
|
||
<input data-i18n-placeholder="passive_medicine_bonus" name="attr_passive_medicine_bonus" placeholder="passive_medicine_bonus" spellcheck="false" title="@{passive_medicine_bonus}" type="number" value="0" /><br>
|
||
<span data-i18n="global_skill_bonus">Global Skill Bonus</span><br>
|
||
<input data-i18n-placeholder="globalskillbonus" name="attr_globalskillbonus" placeholder="globalskillbonus" spellcheck="false" title="@{globalskillbonus}" type="number" value="0" /><br>
|
||
<span data-i18n="global_ability_check_bonus">Global Ability Check Bonus</span><br>
|
||
<input data-i18n-placeholder="globalabilitycheckbonus" name="attr_globalabilitycheckbonus" placeholder="globalabilitycheckbonus" spellcheck="false" title="@{globalabilitycheckbonus}" type="number" value="0" /><br>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<label data-i18n-title="nature_toggle" title="nature_toggle">
|
||
<a href="#popupnature"><span style="font-family:Pictos;">y</span></a>
|
||
</label>
|
||
<label data-i18n-title="nature_button" title="nature_button">
|
||
<!-- The visible and draggable button for the macro bar -->
|
||
<button type="roll" name="act_roll_nature" value="@{nature-action}"></button>
|
||
<!-- The invisible button allowing the use of custom roll parsing -->
|
||
<button type="action" name="act_nature-button" class="hidden"></button>
|
||
<!-- The invisible field for the attribute which contains the ability call -->
|
||
<input type="hidden" name="attr_nature-action" value="">
|
||
</label>
|
||
<label data-i18n-title="nature" title="nature">
|
||
<span data-i18n="nature">Nature</span>
|
||
</label>
|
||
<label data-i18n-title="nature_specialty" title="nature_specialty">
|
||
<input data-i18n-placeholder="nature_specialty" name="attr_nature_specialty" placeholder="nature_specialty" spellcheck="false" title="@{nature_specialty}" type="text" value="" /><br>
|
||
</label>
|
||
<label data-i18n-title="nature_bonus" title="nature_bonus">
|
||
<input data-i18n-placeholder="nature_bonus" name="attr_nature_bonus" spellcheck="false" title="@{nature_bonus}" type="number" value=""/>
|
||
</label>
|
||
<div id="popupnature" class="overlay">
|
||
<div class="popup">
|
||
<h3>Nature Settings</h3>
|
||
<a class="close" href="#">×</a>
|
||
<div class="content">
|
||
<input data-i18n-placeholder="nature_check" name="attr_nature_check" placeholder="nature_check" spellcheck="false" title="@{nature_check}" type="checkbox" value="1"/>
|
||
<span data-i18n="proficient">Proficient</span><br>
|
||
<span data-i18n="specialties">Specialties</span><br>
|
||
<input data-i18n-placeholder="nature_specialty" name="attr_nature_specialty" placeholder="nature_specialty" spellcheck="false" title="@{nature_specialty}" type="text" value="" /><br>
|
||
<span data-i18n="expertise_dice">Expertise Dice</span><br>
|
||
<select data-i18n-placeholder="nature_exdice" name="attr_nature_exdice" placeholder="nature_exdice" spellcheck="false" title="@{nature_exdice}"><option></option><option>1d4</option><option>1d6</option><option>1d8</option><option>1d10</option><option>1d12</option></select><br>
|
||
<span data-i18n="nature_check_bonus">Nature Check Bonus</span><br>
|
||
<input data-i18n-placeholder="nature_check_bonus" name="attr_nature_check_bonus" placeholder="nature_check_bonus" spellcheck="false" title="@{nature_check_bonus}" type="number" value="0"/><br>
|
||
<span data-i18n="passive_nature_bonus">Passive Nature Bonus</span><br>
|
||
<input data-i18n-placeholder="passive_nature_bonus" name="attr_passive_nature_bonus" placeholder="passive_nature_bonus" spellcheck="false" title="@{passive_nature_bonus}" type="number" value="0" /><br>
|
||
<span data-i18n="global_skill_bonus">Global Skill Bonus</span><br>
|
||
<input data-i18n-placeholder="globalskillbonus" name="attr_globalskillbonus" placeholder="globalskillbonus" spellcheck="false" title="@{globalskillbonus}" type="number" value="0" /><br>
|
||
<span data-i18n="global_ability_check_bonus">Global Ability Check Bonus</span><br>
|
||
<input data-i18n-placeholder="globalabilitycheckbonus" name="attr_globalabilitycheckbonus" placeholder="globalabilitycheckbonus" spellcheck="false" title="@{globalabilitycheckbonus}" type="number" value="0" /><br>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<label data-i18n-title="perception_toggle" title="perception_toggle">
|
||
<a href="#popupperception"><span style="font-family:Pictos;">y</span></a>
|
||
</label>
|
||
<label data-i18n-title="perception_button" title="perception_button">
|
||
<!-- The visible and draggable button for the macro bar -->
|
||
<button type="roll" name="act_roll_perception" value="@{perception-action}"></button>
|
||
<!-- The invisible button allowing the use of custom roll parsing -->
|
||
<button type="action" name="act_perception-button" class="hidden"></button>
|
||
<!-- The invisible field for the attribute which contains the ability call -->
|
||
<input type="hidden" name="attr_perception-action" value="">
|
||
</label>
|
||
<label data-i18n-title="perception" title="perception">
|
||
<span data-i18n="perception">Perception</span>
|
||
</label>
|
||
<label data-i18n-title="perception_specialty" title="perception_specialty">
|
||
<input data-i18n-placeholder="perception_specialty" name="attr_perception_specialty" placeholder="perception_specialty" spellcheck="false" title="@{perception_specialty}" type="text" value="" /><br>
|
||
</label>
|
||
<label data-i18n-title="perception_bonus" title="perception_bonus">
|
||
<input data-i18n-placeholder="perception_bonus" name="attr_perception_bonus" spellcheck="false" title="@{perception_bonus}" type="number" value=""/>
|
||
</label>
|
||
<div id="popupperception" class="overlay">
|
||
<div class="popup">
|
||
<h3>Perception Settings</h3>
|
||
<a class="close" href="#">×</a>
|
||
<div class="content">
|
||
<input data-i18n-placeholder="perception_check" name="attr_perception_check" placeholder="perception_check" spellcheck="false" title="@{perception_check}" type="checkbox" value="1"/>
|
||
<span data-i18n="proficient">Proficient</span><br>
|
||
<span data-i18n="specialties">Specialties</span><br>
|
||
<input data-i18n-placeholder="perception_specialty" name="attr_perception_specialty" placeholder="perception_specialty" spellcheck="false" title="@{perception_specialty}" type="text" value="" /><br>
|
||
<span data-i18n="expertise_dice">Expertise Dice</span><br>
|
||
<select data-i18n-placeholder="perception_exdice" name="attr_perception_exdice" placeholder="perception_exdice" spellcheck="false" title="@{perception_exdice}"><option></option><option>1d4</option><option>1d6</option><option>1d8</option><option>1d10</option><option>1d12</option></select><br>
|
||
<span data-i18n="perception_check_bonus">Perception Check Bonus</span><br>
|
||
<input data-i18n-placeholder="perception_check_bonus" name="attr_perception_check_bonus" placeholder="perception_check_bonus" spellcheck="false" title="@{perception_check_bonus}" type="number" value="0"/><br>
|
||
<span data-i18n="passive_perception_bonus">Passive Perception Bonus</span><br>
|
||
<input data-i18n-placeholder="passive_perception_bonus" name="attr_passive_perception_bonus" placeholder="passive_perception_bonus" spellcheck="false" title="@{passive_perception_bonus}" type="number" value="0" /><br>
|
||
<span data-i18n="global_skill_bonus">Global Skill Bonus</span><br>
|
||
<input data-i18n-placeholder="globalskillbonus" name="attr_globalskillbonus" placeholder="globalskillbonus" spellcheck="false" title="@{globalskillbonus}" type="number" value="0" /><br>
|
||
<span data-i18n="global_ability_check_bonus">Global Ability Check Bonus</span><br>
|
||
<input data-i18n-placeholder="globalabilitycheckbonus" name="attr_globalabilitycheckbonus" placeholder="globalabilitycheckbonus" spellcheck="false" title="@{globalabilitycheckbonus}" type="number" value="0" /><br>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<label data-i18n-title="performance_toggle" title="performance_toggle">
|
||
<a href="#popupperformance"><span style="font-family:Pictos;">y</span></a>
|
||
</label>
|
||
<label data-i18n-title="performance_button" title="performance_button">
|
||
<!-- The visible and draggable button for the macro bar -->
|
||
<button type="roll" name="act_roll_performance" value="@{performance-action}"></button>
|
||
<!-- The invisible button allowing the use of custom roll parsing -->
|
||
<button type="action" name="act_performance-button" class="hidden"></button>
|
||
<!-- The invisible field for the attribute which contains the ability call -->
|
||
<input type="hidden" name="attr_performance-action" value="">
|
||
</label>
|
||
<label data-i18n-title="performance" title="performance">
|
||
<span data-i18n="performance">Performance</span>
|
||
</label>
|
||
<label data-i18n-title="performance_specialty" title="performance_specialty">
|
||
<input data-i18n-placeholder="performance_specialty" name="attr_performance_specialty" placeholder="performance_specialty" spellcheck="false" title="@{performance_specialty}" type="text" value="" /><br>
|
||
</label>
|
||
<label data-i18n-title="performance_bonus" title="performance_bonus">
|
||
<input data-i18n-placeholder="performance_bonus" name="attr_performance_bonus" spellcheck="false" title="@{performance_bonus}" type="number" value=""/>
|
||
</label>
|
||
<div id="popupperformance" class="overlay">
|
||
<div class="popup">
|
||
<h3>Performance Settings</h3>
|
||
<a class="close" href="#">×</a>
|
||
<div class="content">
|
||
<input data-i18n-placeholder="performance_check" name="attr_performance_check" placeholder="performance_check" spellcheck="false" title="@{performance_check}" type="checkbox" value="1"/>
|
||
<span data-i18n="proficient">Proficient</span><br>
|
||
<span data-i18n="specialties">Specialties</span><br>
|
||
<input data-i18n-placeholder="performance_specialty" name="attr_performance_specialty" placeholder="performance_specialty" spellcheck="false" title="@{performance_specialty}" type="text" value="" /><br>
|
||
<span data-i18n="expertise_dice">Expertise Dice</span><br>
|
||
<select data-i18n-placeholder="performance_exdice" name="attr_performance_exdice" placeholder="performance_exdice" spellcheck="false" title="@{performance_exdice}"><option></option><option>1d4</option><option>1d6</option><option>1d8</option><option>1d10</option><option>1d12</option></select><br>
|
||
<span data-i18n="performance_check_bonus">Performance Check Bonus</span><br>
|
||
<input data-i18n-placeholder="performance_check_bonus" name="attr_performance_check_bonus" placeholder="performance_check_bonus" spellcheck="false" title="@{performance_check_bonus}" type="number" value="0"/><br>
|
||
<span data-i18n="passive_performance_bonus">Passive Performance Bonus</span><br>
|
||
<input data-i18n-placeholder="passive_performance_bonus" name="attr_passive_performance_bonus" placeholder="passive_performance_bonus" spellcheck="false" title="@{passive_performance_bonus}" type="number" value="0" /><br>
|
||
<span data-i18n="global_skill_bonus">Global Skill Bonus</span><br>
|
||
<input data-i18n-placeholder="globalskillbonus" name="attr_globalskillbonus" placeholder="globalskillbonus" spellcheck="false" title="@{globalskillbonus}" type="number" value="0" /><br>
|
||
<span data-i18n="global_ability_check_bonus">Global Ability Check Bonus</span><br>
|
||
<input data-i18n-placeholder="globalabilitycheckbonus" name="attr_globalabilitycheckbonus" placeholder="globalabilitycheckbonus" spellcheck="false" title="@{globalabilitycheckbonus}" type="number" value="0" /><br>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<label data-i18n-title="persuasion_toggle" title="persuasion_toggle">
|
||
<a href="#popuppersuasion"><span style="font-family:Pictos;">y</span></a>
|
||
</label>
|
||
<label data-i18n-title="persuasion_button" title="persuasion_button">
|
||
<!-- The visible and draggable button for the macro bar -->
|
||
<button type="roll" name="act_roll_persuasion" value="@{persuasion-action}"></button>
|
||
<!-- The invisible button allowing the use of custom roll parsing -->
|
||
<button type="action" name="act_persuasion-button" class="hidden"></button>
|
||
<!-- The invisible field for the attribute which contains the ability call -->
|
||
<input type="hidden" name="attr_persuasion-action" value="">
|
||
</label>
|
||
<label data-i18n-title="persuasion" title="persuasion">
|
||
<span data-i18n="persuasion">Persuasion</span>
|
||
</label>
|
||
<label data-i18n-title="persuasion_specialty" title="persuasion_specialty">
|
||
<input data-i18n-placeholder="persuasion_specialty" name="attr_persuasion_specialty" placeholder="persuasion_specialty" spellcheck="false" title="@{persuasion_specialty}" type="text" value="" /><br>
|
||
</label>
|
||
<label data-i18n-title="persuasion_bonus" title="persuasion_bonus">
|
||
<input data-i18n-placeholder="persuasion_bonus" name="attr_persuasion_bonus" spellcheck="false" title="@{persuasion_bonus}" type="number" value=""/>
|
||
</label>
|
||
<div id="popuppersuasion" class="overlay">
|
||
<div class="popup">
|
||
<h3>Persuasion Settings</h3>
|
||
<a class="close" href="#">×</a>
|
||
<div class="content">
|
||
<input data-i18n-placeholder="persuasion_check" name="attr_persuasion_check" placeholder="persuasion_check" spellcheck="false" title="@{persuasion_check}" type="checkbox" value="1"/>
|
||
<span data-i18n="proficient">Proficient</span><br>
|
||
<span data-i18n="specialties">Specialties</span><br>
|
||
<input data-i18n-placeholder="persuasion_specialty" name="attr_persuasion_specialty" placeholder="persuasion_specialty" spellcheck="false" title="@{persuasion_specialty}" type="text" value="" /><br>
|
||
<span data-i18n="expertise_dice">Expertise Dice</span><br>
|
||
<select data-i18n-placeholder="persuasion_exdice" name="attr_persuasion_exdice" placeholder="persuasion_exdice" spellcheck="false" title="@{persuasion_exdice}"><option></option><option>1d4</option><option>1d6</option><option>1d8</option><option>1d10</option><option>1d12</option></select><br>
|
||
<span data-i18n="persuasion_check_bonus">Persuasion Check Bonus</span><br>
|
||
<input data-i18n-placeholder="persuasion_check_bonus" name="attr_persuasion_check_bonus" placeholder="persuasion_check_bonus" spellcheck="false" title="@{persuasion_check_bonus}" type="number" value="0"/><br>
|
||
<span data-i18n="passive_persuasion_bonus">Passive Persuasion Bonus</span><br>
|
||
<input data-i18n-placeholder="passive_persuasion_bonus" name="attr_passive_persuasion_bonus" placeholder="passive_persuasion_bonus" spellcheck="false" title="@{passive_persuasion_bonus}" type="number" value="0" /><br>
|
||
<span data-i18n="global_skill_bonus">Global Skill Bonus</span><br>
|
||
<input data-i18n-placeholder="globalskillbonus" name="attr_globalskillbonus" placeholder="globalskillbonus" spellcheck="false" title="@{globalskillbonus}" type="number" value="0" /><br>
|
||
<span data-i18n="global_ability_check_bonus">Global Ability Check Bonus</span><br>
|
||
<input data-i18n-placeholder="globalabilitycheckbonus" name="attr_globalabilitycheckbonus" placeholder="globalabilitycheckbonus" spellcheck="false" title="@{globalabilitycheckbonus}" type="number" value="0" /><br>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<label data-i18n-title="religion_toggle" title="religion_toggle">
|
||
<a href="#popupreligion"><span style="font-family:Pictos;">y</span></a>
|
||
</label>
|
||
<label data-i18n-title="religion_button" title="religion_button">
|
||
<!-- The visible and draggable button for the macro bar -->
|
||
<button type="roll" name="act_roll_religion" value="@{religion-action}"></button>
|
||
<!-- The invisible button allowing the use of custom roll parsing -->
|
||
<button type="action" name="act_religion-button" class="hidden"></button>
|
||
<!-- The invisible field for the attribute which contains the ability call -->
|
||
<input type="hidden" name="attr_religion-action" value="">
|
||
</label>
|
||
<label data-i18n-title="religion" title="religion">
|
||
<span data-i18n="religion">Religion</span>
|
||
</label>
|
||
<label data-i18n-title="religion_specialty" title="religion_specialty">
|
||
<input data-i18n-placeholder="religion_specialty" name="attr_religion_specialty" placeholder="religion_specialty" spellcheck="false" title="@{religion_specialty}" type="text" value="" /><br>
|
||
</label>
|
||
<label data-i18n-title="religion_bonus" title="religion_bonus">
|
||
<input data-i18n-placeholder="religion_bonus" name="attr_religion_bonus" spellcheck="false" title="@{religion_bonus}" type="number" value=""/>
|
||
</label>
|
||
<div id="popupreligion" class="overlay">
|
||
<div class="popup">
|
||
<h3>Religion Settings</h3>
|
||
<a class="close" href="#">×</a>
|
||
<div class="content">
|
||
<input data-i18n-placeholder="religion_check" name="attr_religion_check" placeholder="religion_check" spellcheck="false" title="@{religion_check}" type="checkbox" value="1"/>
|
||
<span data-i18n="proficient">Proficient</span><br>
|
||
<span data-i18n="specialties">Specialties</span><br>
|
||
<input data-i18n-placeholder="religion_specialty" name="attr_religion_specialty" placeholder="religion_specialty" spellcheck="false" title="@{religion_specialty}" type="text" value="" /><br>
|
||
<span data-i18n="expertise_dice">Expertise Dice</span><br>
|
||
<select data-i18n-placeholder="religion_exdice" name="attr_religion_exdice" placeholder="religion_exdice" spellcheck="false" title="@{religion_exdice}"><option></option><option>1d4</option><option>1d6</option><option>1d8</option><option>1d10</option><option>1d12</option></select><br>
|
||
<span data-i18n="religion_check_bonus">Religion Check Bonus</span><br>
|
||
<input data-i18n-placeholder="religion_check_bonus" name="attr_religion_check_bonus" placeholder="religion_check_bonus" spellcheck="false" title="@{religion_check_bonus}" type="number" value="0"/><br>
|
||
<span data-i18n="passive_religion_bonus">Passive Religion Bonus</span><br>
|
||
<input data-i18n-placeholder="passive_religion_bonus" name="attr_passive_religion_bonus" placeholder="passive_religion_bonus" spellcheck="false" title="@{passive_religion_bonus}" type="number" value="0" /><br>
|
||
<span data-i18n="global_skill_bonus">Global Skill Bonus</span><br>
|
||
<input data-i18n-placeholder="globalskillbonus" name="attr_globalskillbonus" placeholder="globalskillbonus" spellcheck="false" title="@{globalskillbonus}" type="number" value="0" /><br>
|
||
<span data-i18n="global_ability_check_bonus">Global Ability Check Bonus</span><br>
|
||
<input data-i18n-placeholder="globalabilitycheckbonus" name="attr_globalabilitycheckbonus" placeholder="globalabilitycheckbonus" spellcheck="false" title="@{globalabilitycheckbonus}" type="number" value="0" /><br>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<label data-i18n-title="sleightofhand_toggle" title="sleightofhand_toggle">
|
||
<a href="#popupsleightofhand"><span style="font-family:Pictos;">y</span></a>
|
||
</label>
|
||
<label data-i18n-title="sleightofhand_button" title="sleightofhand_button">
|
||
<!-- The visible and draggable button for the macro bar -->
|
||
<button type="roll" name="act_roll_sleightofhand" value="@{sleightofhand-action}"></button>
|
||
<!-- The invisible button allowing the use of custom roll parsing -->
|
||
<button type="action" name="act_sleightofhand-button" class="hidden"></button>
|
||
<!-- The invisible field for the attribute which contains the ability call -->
|
||
<input type="hidden" name="attr_sleightofhand-action" value="">
|
||
</label>
|
||
<label data-i18n-title="sleightofhand" title="sleightofhand">
|
||
<span data-i18n="sleightofhand">Sleight of Hand</span>
|
||
</label>
|
||
<label data-i18n-title="sleightofhand_specialty" title="sleightofhand_specialty">
|
||
<input data-i18n-placeholder="sleightofhand_specialty" name="attr_sleightofhand_specialty" placeholder="sleightofhand_specialty" spellcheck="false" title="@{sleightofhand_specialty}" type="text" value="" /><br>
|
||
</label>
|
||
<label data-i18n-title="sleightofhand_bonus" title="sleightofhand_bonus">
|
||
<input data-i18n-placeholder="sleightofhand_bonus" name="attr_sleightofhand_bonus" spellcheck="false" title="@{sleightofhand_bonus}" type="number" value=""/>
|
||
</label>
|
||
<div id="popupsleightofhand" class="overlay">
|
||
<div class="popup">
|
||
<h3>Sleight of Hand Settings</h3>
|
||
<a class="close" href="#">×</a>
|
||
<div class="content">
|
||
<input data-i18n-placeholder="sleightofhand_check" name="attr_sleightofhand_check" placeholder="sleightofhand_check" spellcheck="false" title="@{sleightofhand_check}" type="checkbox" value="1"/>
|
||
<span data-i18n="proficient">Proficient</span><br>
|
||
<span data-i18n="specialties">Specialties</span><br>
|
||
<input data-i18n-placeholder="sleightofhand_specialty" name="attr_sleightofhand_specialty" placeholder="sleightofhand_specialty" spellcheck="false" title="@{sleightofhand_specialty}" type="text" value="" /><br>
|
||
<span data-i18n="expertise_dice">Expertise Dice</span><br>
|
||
<select data-i18n-placeholder="sleightofhand_exdice" name="attr_sleightofhand_exdice" placeholder="sleightofhand_exdice" spellcheck="false" title="@{sleightofhand_exdice}"><option></option><option>1d4</option><option>1d6</option><option>1d8</option><option>1d10</option><option>1d12</option></select><br>
|
||
<span data-i18n="sleightofhand_check_bonus">Sleight of Hand Check Bonus</span><br>
|
||
<input data-i18n-placeholder="sleightofhand_check_bonus" name="attr_sleightofhand_check_bonus" placeholder="sleightofhand_check_bonus" spellcheck="false" title="@{sleightofhand_check_bonus}" type="number" value="0"/><br>
|
||
<span data-i18n="passive_sleightofhand_bonus">Passive Sleight of Hand Bonus</span><br>
|
||
<input data-i18n-placeholder="passive_sleightofhand_bonus" name="attr_passive_sleightofhand_bonus" placeholder="passive_sleightofhand_bonus" spellcheck="false" title="@{passive_sleightofhand_bonus}" type="number" value="0" /><br>
|
||
<span data-i18n="global_skill_bonus">Global Skill Bonus</span><br>
|
||
<input data-i18n-placeholder="globalskillbonus" name="attr_globalskillbonus" placeholder="globalskillbonus" spellcheck="false" title="@{globalskillbonus}" type="number" value="0" /><br>
|
||
<span data-i18n="global_ability_check_bonus">Global Ability Check Bonus</span><br>
|
||
<input data-i18n-placeholder="globalabilitycheckbonus" name="attr_globalabilitycheckbonus" placeholder="globalabilitycheckbonus" spellcheck="false" title="@{globalabilitycheckbonus}" type="number" value="0" /><br>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<label data-i18n-title="stealth_toggle" title="stealth_toggle">
|
||
<a href="#popupstealth"><span style="font-family:Pictos;">y</span></a>
|
||
</label>
|
||
<label data-i18n-title="stealth_button" title="stealth_button">
|
||
<!-- The visible and draggable button for the macro bar -->
|
||
<button type="roll" name="act_roll_stealth" value="@{stealth-action}"></button>
|
||
<!-- The invisible button allowing the use of custom roll parsing -->
|
||
<button type="action" name="act_stealth-button" class="hidden"></button>
|
||
<!-- The invisible field for the attribute which contains the ability call -->
|
||
<input type="hidden" name="attr_stealth-action" value="">
|
||
</label>
|
||
<label data-i18n-title="stealth" title="stealth">
|
||
<span data-i18n="stealth">Stealth</span>
|
||
</label>
|
||
<label data-i18n-title="stealth_specialty" title="stealth_specialty">
|
||
<input data-i18n-placeholder="stealth_specialty" name="attr_stealth_specialty" placeholder="stealth_specialty" spellcheck="false" title="@{stealth_specialty}" type="text" value="" /><br>
|
||
</label>
|
||
<label data-i18n-title="stealth_bonus" title="stealth_bonus">
|
||
<input data-i18n-placeholder="stealth_bonus" name="attr_stealth_bonus" spellcheck="false" title="@{stealth_bonus}" type="number" value=""/>
|
||
</label>
|
||
<div id="popupstealth" class="overlay">
|
||
<div class="popup">
|
||
<h3>Stealth Settings</h3>
|
||
<a class="close" href="#">×</a>
|
||
<div class="content">
|
||
<input data-i18n-placeholder="stealth_check" name="attr_stealth_check" placeholder="stealth_check" spellcheck="false" title="@{stealth_check}" type="checkbox" value="1"/>
|
||
<span data-i18n="proficient">Proficient</span><br>
|
||
<span data-i18n="specialties">Specialties</span><br>
|
||
<input data-i18n-placeholder="stealth_specialty" name="attr_stealth_specialty" placeholder="stealth_specialty" spellcheck="false" title="@{stealth_specialty}" type="text" value="" /><br>
|
||
<span data-i18n="expertise_dice">Expertise Dice</span><br>
|
||
<select data-i18n-placeholder="stealth_exdice" name="attr_stealth_exdice" placeholder="stealth_exdice" spellcheck="false" title="@{stealth_exdice}"><option></option><option>1d4</option><option>1d6</option><option>1d8</option><option>1d10</option><option>1d12</option></select><br>
|
||
<span data-i18n="stealth_check_bonus">Stealth Check Bonus</span><br>
|
||
<input data-i18n-placeholder="stealth_check_bonus" name="attr_stealth_check_bonus" placeholder="stealth_check_bonus" spellcheck="false" title="@{stealth_check_bonus}" type="number" value="0"/><br>
|
||
<span data-i18n="passive_stealth_bonus">Passive Stealth Bonus</span><br>
|
||
<input data-i18n-placeholder="passive_stealth_bonus" name="attr_passive_stealth_bonus" placeholder="passive_stealth_bonus" spellcheck="false" title="@{passive_stealth_bonus}" type="number" value="0" /><br>
|
||
<span data-i18n="global_skill_bonus">Global Skill Bonus</span><br>
|
||
<input data-i18n-placeholder="globalskillbonus" name="attr_globalskillbonus" placeholder="globalskillbonus" spellcheck="false" title="@{globalskillbonus}" type="number" value="0" /><br>
|
||
<span data-i18n="global_ability_check_bonus">Global Ability Check Bonus</span><br>
|
||
<input data-i18n-placeholder="globalabilitycheckbonus" name="attr_globalabilitycheckbonus" placeholder="globalabilitycheckbonus" spellcheck="false" title="@{globalabilitycheckbonus}" type="number" value="0" /><br>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<label data-i18n-title="survival_toggle" title="survival_toggle">
|
||
<a href="#popupsurvival"><span style="font-family:Pictos;">y</span></a>
|
||
</label>
|
||
<label data-i18n-title="survival_button" title="survival_button">
|
||
<!-- The visible and draggable button for the macro bar -->
|
||
<button type="roll" name="act_roll_survival" value="@{survival-action}"></button>
|
||
<!-- The invisible button allowing the use of custom roll parsing -->
|
||
<button type="action" name="act_survival-button" class="hidden"></button>
|
||
<!-- The invisible field for the attribute which contains the ability call -->
|
||
<input type="hidden" name="attr_survival-action" value="">
|
||
</label>
|
||
<label data-i18n-title="survival" title="survival">
|
||
<span data-i18n="survival">Survival</span>
|
||
</label>
|
||
<label data-i18n-title="survival_specialty" title="survival_specialty">
|
||
<input data-i18n-placeholder="survival_specialty" name="attr_survival_specialty" placeholder="survival_specialty" spellcheck="false" title="@{survival_specialty}" type="text" value="" /><br>
|
||
</label>
|
||
<label data-i18n-title="survival_bonus" title="survival_bonus">
|
||
<input data-i18n-placeholder="survival_bonus" name="attr_survival_bonus" spellcheck="false" title="@{survival_bonus}" type="number" value=""/>
|
||
</label>
|
||
<div id="popupsurvival" class="overlay">
|
||
<div class="popup">
|
||
<h3>Survival Settings</h3>
|
||
<a class="close" href="#">×</a>
|
||
<div class="content">
|
||
<input data-i18n-placeholder="survival_check" name="attr_survival_check" placeholder="survival_check" spellcheck="false" title="@{survival_check}" type="checkbox" value="1"/>
|
||
<span data-i18n="proficient">Proficient</span><br>
|
||
<span data-i18n="specialties">Specialties</span><br>
|
||
<input data-i18n-placeholder="survival_specialty" name="attr_survival_specialty" placeholder="survival_specialty" spellcheck="false" title="@{survival_specialty}" type="text" value="" /><br>
|
||
<span data-i18n="expertise_dice">Expertise Dice</span><br>
|
||
<select data-i18n-placeholder="survival_exdice" name="attr_survival_exdice" placeholder="survival_exdice" spellcheck="false" title="@{survival_exdice}"><option></option><option>1d4</option><option>1d6</option><option>1d8</option><option>1d10</option><option>1d12</option></select><br>
|
||
<span data-i18n="survival_check_bonus">Survival Check Bonus</span><br>
|
||
<input data-i18n-placeholder="survival_check_bonus" name="attr_survival_check_bonus" placeholder="survival_check_bonus" spellcheck="false" title="@{survival_check_bonus}" type="number" value="0"/><br>
|
||
<span data-i18n="passive_survival_bonus">Passive Survival Bonus</span><br>
|
||
<input data-i18n-placeholder="passive_survival_bonus" name="attr_passive_survival_bonus" placeholder="passive_survival_bonus" spellcheck="false" title="@{passive_survival_bonus}" type="number" value="0" /><br>
|
||
<span data-i18n="global_skill_bonus">Global Skill Bonus</span><br>
|
||
<input data-i18n-placeholder="globalskillbonus" name="attr_globalskillbonus" placeholder="globalskillbonus" spellcheck="false" title="@{globalskillbonus}" type="number" value="0" /><br>
|
||
<span data-i18n="global_ability_check_bonus">Global Ability Check Bonus</span><br>
|
||
<input data-i18n-placeholder="globalabilitycheckbonus" name="attr_globalabilitycheckbonus" placeholder="globalabilitycheckbonus" spellcheck="false" title="@{globalabilitycheckbonus}" type="number" value="0" /><br>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<label data-i18n-title="vehicles_toggle" title="vehicles_toggle">
|
||
<a href="#popupvehicles"><span style="font-family:Pictos;">y</span></a>
|
||
</label>
|
||
<label data-i18n-title="vehicles_button" title="vehicles_button">
|
||
<!-- The visible and draggable button for the macro bar -->
|
||
<button type="roll" name="act_roll_vehicles" value="@{vehicles-action}"></button>
|
||
<!-- The invisible button allowing the use of custom roll parsing -->
|
||
<button type="action" name="act_vehicles-button" class="hidden"></button>
|
||
<!-- The invisible field for the attribute which contains the ability call -->
|
||
<input type="hidden" name="attr_vehicles-action" value="">
|
||
</label>
|
||
<label data-i18n-title="vehicles" title="vehicles">
|
||
<span data-i18n="vehicles">Vehicles</span>
|
||
</label>
|
||
<label data-i18n-title="vehicles_specialty" title="vehicles_specialty">
|
||
<input data-i18n-placeholder="vehicles_specialty" name="attr_vehicles_specialty" placeholder="vehicles_specialty" spellcheck="false" title="@{vehicles_specialty}" type="text" value="" /><br>
|
||
</label>
|
||
<label data-i18n-title="vehicles_bonus" title="vehicles_bonus">
|
||
<input data-i18n-placeholder="vehicles_bonus" name="attr_vehicles_bonus" spellcheck="false" title="@{vehicles_bonus}" type="number" value=""/>
|
||
</label>
|
||
<div id="popupvehicles" class="overlay">
|
||
<div class="popup">
|
||
<h3>Vehicles Settings</h3>
|
||
<a class="close" href="#">×</a>
|
||
<div class="content">
|
||
<input data-i18n-placeholder="vehicles_check" name="attr_vehicles_check" placeholder="vehicles_check" spellcheck="false" title="@{vehicles_check}" type="checkbox" value="1"/>
|
||
<span data-i18n="proficient">Proficient</span><br>
|
||
<span data-i18n="specialties">Specialties</span><br>
|
||
<input data-i18n-placeholder="vehicles_specialty" name="attr_vehicles_specialty" placeholder="vehicles_specialty" spellcheck="false" title="@{vehicles_specialty}" type="text" value="" /><br>
|
||
<span data-i18n="expertise_dice">Expertise Dice</span><br>
|
||
<select data-i18n-placeholder="vehicles_exdice" name="attr_vehicles_exdice" placeholder="vehicles_exdice" spellcheck="false" title="@{vehicles_exdice}"><option></option><option>1d4</option><option>1d6</option><option>1d8</option><option>1d10</option><option>1d12</option></select><br>
|
||
<span data-i18n="vehicles_check_bonus">Vehicles Check Bonus</span><br>
|
||
<input data-i18n-placeholder="vehicles_check_bonus" name="attr_vehicles_check_bonus" placeholder="vehicles_check_bonus" spellcheck="false" title="@{vehicles_check_bonus}" type="number" value="0"/><br>
|
||
<span data-i18n="passive_vehicles_bonus">Passive Vehicles Bonus</span><br>
|
||
<input data-i18n-placeholder="passive_vehicles_bonus" name="attr_passive_vehicles_bonus" placeholder="passive_vehicles_bonus" spellcheck="false" title="@{passive_vehicles_bonus}" type="number" value="0" /><br>
|
||
<span data-i18n="global_skill_bonus">Global Skill Bonus</span><br>
|
||
<input data-i18n-placeholder="globalskillbonus" name="attr_globalskillbonus" placeholder="globalskillbonus" spellcheck="false" title="@{globalskillbonus}" type="number" value="0" /><br>
|
||
<span data-i18n="global_ability_check_bonus">Global Ability Check Bonus</span><br>
|
||
<input data-i18n-placeholder="globalabilitycheckbonus" name="attr_globalabilitycheckbonus" placeholder="globalabilitycheckbonus" spellcheck="false" title="@{globalabilitycheckbonus}" type="number" value="0" /><br>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<label data-i18n-title="misc1_toggle" title="misc1_toggle">
|
||
<a href="#popupmisc1"><span style="font-family:Pictos;">y</span></a>
|
||
</label>
|
||
<label data-i18n-title="misc1_button" title="misc1_button">
|
||
<!-- The visible and draggable button for the macro bar -->
|
||
<button type="roll" name="act_roll_misc1" value="@{misc1-action}"></button>
|
||
<!-- The invisible button allowing the use of custom roll parsing -->
|
||
<button type="action" name="act_misc1-button" class="hidden"></button>
|
||
<!-- The invisible field for the attribute which contains the ability call -->
|
||
<input type="hidden" name="attr_misc1-action" value="">
|
||
</label>
|
||
<label data-i18n-title="misc1" title="misc1">
|
||
<input data-i18n-placeholder="misc1" name="attr_misc1" spellcheck="false" title="@{misc1}" type="text" value=""/>
|
||
</label>
|
||
<label data-i18n-title="misc1_bonus" title="misc1_bonus">
|
||
<input data-i18n-placeholder="misc1_bonus" name="attr_misc1_bonus" spellcheck="false" title="@{misc1_bonus}" type="number" value=""/>
|
||
</label>
|
||
<div id="popupmisc1" class="overlay">
|
||
<div class="popup">
|
||
<h3>Skill Settings</h3>
|
||
<a class="close" href="#">×</a>
|
||
<div class="content">
|
||
<input data-i18n-placeholder="misc1_check" name="attr_misc1_check" placeholder="misc1_check" spellcheck="false" title="@{misc1_check}" type="checkbox" value="1"/>
|
||
<span data-i18n="proficient">Proficient</span><br>
|
||
<span data-i18n="expertise_dice">Expertise Dice</span><br>
|
||
<select data-i18n-placeholder="misc1_exdice" name="attr_misc1_exdice" placeholder="misc1_exdice" spellcheck="false" title="@{misc1_exdice}"><option></option><option>1d4</option><option>1d6</option><option>1d8</option><option>1d10</option><option>1d12</option></select><br>
|
||
<span data-i18n="misc1_check_bonus">Skill Check Bonus</span><br>
|
||
<input data-i18n-placeholder="misc1_check_bonus" name="attr_misc1_check_bonus" placeholder="misc1_check_bonus" spellcheck="false" title="@{misc1_check_bonus}" type="number" value="0"/><br>
|
||
<span data-i18n="passive_misc1_bonus">Passive Skill Bonus</span><br>
|
||
<input data-i18n-placeholder="passive_misc1_bonus" name="attr_passive_misc1_bonus" placeholder="passive_misc1_bonus" spellcheck="false" title="@{passive_misc1_bonus}" type="number" value="0" /><br>
|
||
<span data-i18n="global_skill_bonus">Global Skill Bonus</span><br>
|
||
<input data-i18n-placeholder="globalskillbonus" name="attr_globalskillbonus" placeholder="globalskillbonus" spellcheck="false" title="@{globalskillbonus}" type="number" value="0" /><br>
|
||
<span data-i18n="global_ability_check_bonus">Global Ability Check Bonus</span><br>
|
||
<input data-i18n-placeholder="globalabilitycheckbonus" name="attr_globalabilitycheckbonus" placeholder="globalabilitycheckbonus" spellcheck="false" title="@{globalabilitycheckbonus}" type="number" value="0" /><br>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<label data-i18n-title="misc2_toggle" title="misc2_toggle">
|
||
<a href="#popupmisc2"><span style="font-family:Pictos;">y</span></a>
|
||
</label>
|
||
<label data-i18n-title="misc2_button" title="misc2_button">
|
||
<!-- The visible and draggable button for the macro bar -->
|
||
<button type="roll" name="act_roll_misc2" value="@{misc2-action}"></button>
|
||
<!-- The invisible button allowing the use of custom roll parsing -->
|
||
<button type="action" name="act_misc2-button" class="hidden"></button>
|
||
<!-- The invisible field for the attribute which contains the ability call -->
|
||
<input type="hidden" name="attr_misc2-action" value="">
|
||
</label>
|
||
<label data-i18n-title="misc2" title="misc2">
|
||
<input data-i18n-placeholder="misc2" name="attr_misc2" placeholder="misc2" spellcheck="false" title="@{misc2}" type="text" value="" /><br>
|
||
</label>
|
||
<label data-i18n-title="misc2_bonus" title="misc2_bonus">
|
||
<input data-i18n-placeholder="misc2_bonus" name="attr_misc2_bonus" spellcheck="false" title="@{misc2_bonus}" type="number" value=""/>
|
||
</label>
|
||
<div id="popupmisc2" class="overlay">
|
||
<div class="popup">
|
||
<h3>Skill Settings</h3>
|
||
<a class="close" href="#">×</a>
|
||
<div class="content">
|
||
<input data-i18n-placeholder="misc2_check" name="attr_misc2_check" placeholder="misc2_check" spellcheck="false" title="@{misc2_check}" type="checkbox" value="1"/>
|
||
<span data-i18n="proficient">Proficient</span><br>
|
||
<span data-i18n="expertise_dice">Expertise Dice</span><br>
|
||
<select data-i18n-placeholder="misc2_exdice" name="attr_misc2_exdice" placeholder="misc2_exdice" spellcheck="false" title="@{misc2_exdice}"><option></option><option>1d4</option><option>1d6</option><option>1d8</option><option>1d10</option><option>1d12</option></select><br>
|
||
<span data-i18n="misc2_check_bonus">Skill Check Bonus</span><br>
|
||
<input data-i18n-placeholder="misc2_check_bonus" name="attr_misc2_check_bonus" placeholder="misc2_check_bonus" spellcheck="false" title="@{misc2_check_bonus}" type="number" value="0"/><br>
|
||
<span data-i18n="passive_misc2_bonus">Passive Skill Bonus</span><br>
|
||
<input data-i18n-placeholder="passive_misc2_bonus" name="attr_passive_misc2_bonus" placeholder="passive_misc2_bonus" spellcheck="false" title="@{passive_misc2_bonus}" type="number" value="0" /><br>
|
||
<span data-i18n="global_skill_bonus">Global Skill Bonus</span><br>
|
||
<input data-i18n-placeholder="globalskillbonus" name="attr_globalskillbonus" placeholder="globalskillbonus" spellcheck="false" title="@{globalskillbonus}" type="number" value="0" /><br>
|
||
<span data-i18n="global_ability_check_bonus">Global Ability Check Bonus</span><br>
|
||
<input data-i18n-placeholder="globalabilitycheckbonus" name="attr_globalabilitycheckbonus" placeholder="globalabilitycheckbonus" spellcheck="false" title="@{globalabilitycheckbonus}" type="number" value="0" /><br>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
|
||
<label data-i18n-title="toolprofs" title="toolprofs">
|
||
<span data-i18n="toolprofs">toolprofs</span>
|
||
</label>
|
||
<label data-i18n-title="tool" title="tool">
|
||
<span data-i18n="tool">Tool</span>
|
||
</label>
|
||
<label data-i18n-title="toolbonus" title="toolbonus">
|
||
<span data-i18n="bonus">Bonus</span>
|
||
</label>
|
||
<div class="sheet-toollist">
|
||
<fieldset class="repeating_tools">
|
||
<label data-i18n-title="repeatingtools" title="repeatingtools">
|
||
<button data-i18n-placeholder="toolroll" type="action" name="attr_tool-button"></button>
|
||
<input data-i18n-placeholder="toolname" name="attr_toolname" placeholder="toolname" spellcheck="false" title="@{toolname}" type="text" value="" />
|
||
<input data-i18n-placeholder="toolbonus" name="attr_toolbonus" spellcheck="false" title="@{toolbonus}" type="number" value=""/>
|
||
</label>
|
||
</fieldset>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="sheet-attacks">
|
||
<label data-i18n-title="attacks_and_spellcasting" title="attacks_and_spellcasting">
|
||
<span data-i18n="attacks_and_spellcasting">attacks_and_spellcasting</span>
|
||
</label>
|
||
<label data-i18n-title="name" title="name">
|
||
<span data-i18n="name">name</span>
|
||
</label>
|
||
<label data-i18n-title="atk_bonus" title="atk_bonus">
|
||
<span data-i18n="atk_bonus">atk_bonus</span>
|
||
</label>
|
||
<label data-i18n-title="damage" title="damage">
|
||
<span data-i18n="damage">damage</span>
|
||
</label>
|
||
<label data-i18n-title="type" title="type">
|
||
<span data-i18n="type">type</span>
|
||
</label>
|
||
<label data-i18n-title="range" title="range">
|
||
<span data-i18n="range">range</span>
|
||
</label>
|
||
<label data-i18n-title="notes" title="notes">
|
||
<span data-i18n="notes">notes</span>
|
||
</label>
|
||
<div class="sheet-attacklist">
|
||
<fieldset class="repeating_attacks">
|
||
<label data-i18n-title="repeatingattacks" title="repeatingattacks">
|
||
<button data-i18n-placeholder="attackbutton" type="action" name="attr_attack-button"></button>
|
||
<input data-i18n-placeholder="attackname" name="attr_attackname" placeholder="attackname" spellcheck="false" title="@{attackname}" type="text" value="" />
|
||
<input data-i18n-placeholder="attackbonus" name="attr_attackbonus" placeholder="attackbonus" spellcheck="false" title="@{attackbonus}" type="text" value="" />
|
||
<input data-i18n-placeholder="attackdamage" name="attr_attackdamage" placeholder="attackdamage" spellcheck="false" title="@{attackdamage}" type="text" value="" />
|
||
<input data-i18n-placeholder="attackdamagetype" name="attr_attackdamagetype" placeholder="attackdamagetype" spellcheck="false" title="@{attackdamagetype}" type="text" value="" list="damagetypelist"/>
|
||
<input data-i18n-placeholder="attackrange" name="attr_attackrange" placeholder="attackrange" spellcheck="false" title="@{attackrange}" type="text" value="" />
|
||
<input data-i18n-placeholder="attacknotes" name="attr_attacknotes" placeholder="attacknotes" spellcheck="false" title="@{attacknotes}" type="text" value="" />
|
||
</label>
|
||
</fieldset>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
</div>
|
||
<div class="sheet-features">
|
||
<div class="sheet-display-featandtraits">
|
||
<label data-i18n-title="featandtraits" title="featandtraits">
|
||
<span data-i18n="featandtraits">featandtraits</span>
|
||
<div class="sheet-featslist">
|
||
<fieldset class="repeating_feats">
|
||
<label data-i18n-title="repeatingfeats" title="repeatingfeats">
|
||
<input data-i18n-placeholder="featsname" name="attr_featsname" placeholder="featsname" spellcheck="false" title="@{featsname}" type="text" value="" /><br>
|
||
<textarea data-i18n-placeholder="featsinfo" name="attr_featsinfo" placeholder="featsinfo" spellcheck="false" title="@{featsinfo}" type="text" value="" />
|
||
</label>
|
||
</fieldset>
|
||
</div>
|
||
<textarea data-i18n-placeholder="featandtraits" name="attr_featandtraits" placeholder="featandtraits" spellcheck="false" title="@{featandtraits}" type="text" value="" />
|
||
</label>
|
||
</div>
|
||
<div class='sheet-display-langprofs'>
|
||
<label data-i18n-title="langprofs" title="langprofs">
|
||
<span data-i18n="langprofs">langprofs</span>
|
||
<textarea data-i18n-placeholder="langprofs" name="attr_langprofs" placeholder="langprofs" spellcheck="false" title="@{langprofs}" type="text" value="" />
|
||
</label>
|
||
</div>
|
||
<div class="sheet-combatmaneuvers">
|
||
<label data-i18n-title="combat_maneuvers" title="combat_maneuvers">
|
||
<span data-i18n="combat_maneuvers">combat_maneuvers</span>
|
||
</label>
|
||
<label data-i18n-title="maneuvers_known_title" title="maneuvers_known_title">
|
||
<span data-i18n="maneuvers_known">maneuvers_known</span>
|
||
</label>
|
||
<label data-i18n-title="maneuvers_known" title="maneuvers_known">
|
||
<input data-i18n-placeholder="maneuvers_known" name="attr_maneuvers_known" placeholder="maneuvers_known" spellcheck="false" title="@{maneuvers_known}" type="number" value="" />
|
||
</label>
|
||
<label data-i18n-title="traditions_known_title" title="traditions_known_title">
|
||
<span data-i18n="traditions_known">traditions_known</span>
|
||
</label>
|
||
<label data-i18n-title="traditions_known" title="traditions_known">
|
||
<input data-i18n-placeholder="traditions_known" name="attr_traditions_known" placeholder="traditions_known" spellcheck="false" title="@{traditions_known}" type="text" value="" />
|
||
</label>
|
||
<label data-i18n-title="maneuver_savedc" title="maneuver_savedc">
|
||
<span data-i18n="maneuver_savedc">maneuver_savedc</span>
|
||
<span data-i18n="maneuver_saveform">maneuver_saveform</span>
|
||
<input data-i18n-placeholder="maneuver_savedc" name="attr_maneuver_savedc" placeholder="maneuver_savedc" spellcheck="false" title="@{maneuver_savedc}" type="number" value="" />
|
||
</label>
|
||
<label data-i18n-title="exertion_points" title="exertion_points">
|
||
<span data-i18n="exertion_points">exertion_points</span>
|
||
<span data-i18n="exertion_form">exertion_form</span>
|
||
<input data-i18n-placeholder="current_exertion_points" data-i18n="current_exertion_points" name="attr_curr_exertion_points" placeholder="current_exertion_points" spellcheck="false" title="@{curr_exertion_points}" type="number" value="" />
|
||
<input data-i18n-placeholder="exertion_points" data-i18n="exertion_points" name="attr_exertion_points" placeholder="exertion_points" spellcheck="false" title="@{exertion_points}" type="number" value="" />
|
||
</label>
|
||
<label data-i18n-title="maneuversettings" title="maneuversettings">
|
||
<a href="#popupmaneuversettings"><span style="font-family:Pictos;">y</span></a>
|
||
</label>
|
||
<div id="popupmaneuversettings" class="overlay">
|
||
<div class="popup">
|
||
<h3>Maneuver Settings</h3>
|
||
<a class="close" href="#">×</a>
|
||
<div class="content">
|
||
<span data-i18n="maneuver_save_bonus">Maneuver Save DC Bonus</span><br>
|
||
<input data-i18n-placeholder="maneuver_save_bonus" name="attr_maneuver_save_bonus" placeholder="maneuver_save_bonus" spellcheck="false" title="@{maneuver_save_bonus}" type="number" value="0"/><br>
|
||
<span data-i18n="exertion_points_bonus">Exertion Points Bonus</span><br>
|
||
<input data-i18n-placeholder="exertion_points_bonus" name="attr_exertion_points_bonus" placeholder="exertion_points_bonus" spellcheck="false" title="@{exertion_points_bonus}" type="number" value="0"/><br>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<label data-i18n-title="maneuver" title="maneuver">
|
||
<span data-i18n="maneuver">maneuver</span>
|
||
</label>
|
||
<label data-i18n-title="exertion_cost" title="exertion_cost">
|
||
<span data-i18n="exertion_cost">exertion_cost</span>
|
||
</label>
|
||
<label data-i18n-title="activation" title="activation">
|
||
<span data-i18n="activation">activation</span>
|
||
</label>
|
||
<label data-i18n-title="pg" title="pg">
|
||
<span data-i18n="pg">pg#</span>
|
||
</label>
|
||
<div class="sheet-maneuverlist">
|
||
<fieldset class="repeating_maneuvers">
|
||
<label data-i18n-title="repeatingmaneuvers" title="repeatingmaneuvers">
|
||
<input data-i18n-placeholder="maneuvername" name="attr_maneuvername" placeholder="maneuvername" spellcheck="false" title="@{maneuvername}" type="text" value="" />
|
||
<input data-i18n-placeholder="maneuvercost" name="attr_maneuvercost" placeholder="maneuvercost" spellcheck="false" title="@{maneuvercost}" type="text" value="" />
|
||
<input data-i18n-placeholder="maneuveractivation" name="attr_maneuveractivation" placeholder="maneuveractivation" spellcheck="false" title="@{maneuveractivation}" type="text" value="" />
|
||
<input data-i18n-placeholder="maneuverpg" name="attr_maneuverpg" placeholder="maneuverpg" spellcheck="false" title="@{maneuverpg}" type="text" value="" />
|
||
<input class="sheet-maneuvernotetoggle" data-i18n-placeholder="maneuvernotetoggle" placeholder="maneuvernotetoggle" spellcheck="false" title="@{maneuvernotetoggle}" type="checkbox" name="attr_maneuvernotetoggle" value="1" />
|
||
<div class="sheet-maneuvernotes">
|
||
<textarea data-i18n-placeholder="maneuvernotes" name="attr_maneuvernotes" placeholder="maneuvernotes" spellcheck="false" title="@{maneuvernotes}" type="text" value="" />
|
||
</div>
|
||
</label>
|
||
</fieldset>
|
||
</div>
|
||
</div>
|
||
|
||
<div class='sheet-display-explorationknacks'>
|
||
<label data-i18n-title="explorationknacks" title="explorationknacks">
|
||
<span data-i18n="explorationknacks">explorationknacks</span>
|
||
<div class="sheet-explorationknackslist">
|
||
<fieldset class="repeating_explorationknacks">
|
||
<label data-i18n-title="repeatingexplorationknacks" title="repeatingexplorationknacks">
|
||
<input data-i18n-placeholder="explorationknacksname" name="attr_explorationknacksname" placeholder="explorationknacksname" spellcheck="false" title="@{explorationknacksname}" type="text" value="" /><br>
|
||
<textarea data-i18n-placeholder="explorationknacksinfo" name="attr_explorationknacksinfo" placeholder="explorationknacksinfo" spellcheck="false" title="@{explorationknacksinfo}" type="text" value="" />
|
||
</label>
|
||
</fieldset>
|
||
</div>
|
||
<textarea data-i18n-placeholder="explorationknacks" name="attr_explorationknacks" placeholder="explorationknacks" spellcheck="false" title="@{explorationknacks}" type="text" value="" />
|
||
</label>
|
||
</div>
|
||
</div>
|
||
<div class="sheet-backgrounds">
|
||
<div class="sheet-appearance">
|
||
<div class='sheet-display-character_appearance'>
|
||
<label data-i18n-title="character_appearance" title="character_appearance">
|
||
<span data-i18n="character_appearance">character_appearance</span>
|
||
<textarea data-i18n-placeholder="character_appearance" name="attr_character_appearance" placeholder="character_appearance" spellcheck="false" title="@{character_appearance}" type="text" value="" />
|
||
</label>
|
||
</div>
|
||
<div class="sheet-display-character_description">
|
||
<label data-i18n-title="age" title="age">
|
||
<span data-i18n="age">Age</span>
|
||
<input data-i18n-placeholder="age" name="attr_age" placeholder="class level archtype" spellcheck="false" title="@{age}" type="text" value="" />
|
||
</label>
|
||
<label data-i18n-title="height" title="height">
|
||
<span data-i18n="height">height</span>
|
||
<input data-i18n-placeholder="height" name="attr_height" placeholder="height" spellcheck="false" title="@{height}" type="text" value="" />
|
||
</label>
|
||
<label data-i18n-title="weight" title="weight">
|
||
<span data-i18n="weight">weight</span>
|
||
<input data-i18n-placeholder="weight" name="attr_weight" placeholder="weight" spellcheck="false" title="@{weight}" type="text" value="" />
|
||
</label>
|
||
<label data-i18n-title="eyes" title="eyes">
|
||
<span data-i18n="eyes">eyes</span>
|
||
<input data-i18n-placeholder="eyes" name="attr_eyes" placeholder="eyes" spellcheck="false" title="@{eyes}" type="text" value="" />
|
||
</label>
|
||
<label data-i18n-title="skin" title="skin">
|
||
<span data-i18n="skin">skin</span>
|
||
<input data-i18n-placeholder="skin" name="attr_skin" placeholder="skin" spellcheck="false" title="@{skin}" type="text" value="" />
|
||
</label>
|
||
<label data-i18n-title="hair" title="hair">
|
||
<span data-i18n="hair">hair</span>
|
||
<input data-i18n-placeholder="hair" name="attr_hair" placeholder="hair" spellcheck="false" title="@{hair}" type="text" value="" />
|
||
</label>
|
||
</div>
|
||
</div>
|
||
<div class="sheet-background">
|
||
<div class='sheet-display-character_background'>
|
||
<label data-i18n-title="character_background" title="character_background">
|
||
<span data-i18n="character_background">character_background</span>
|
||
<textarea data-i18n-placeholder="character_background" name="attr_character_background" placeholder="character_background" spellcheck="false" title="@{character_background}" type="text" value="" />
|
||
</label>
|
||
</div>
|
||
<div class='sheet-display-character_allies_and_org'>
|
||
<label data-i18n-title="character_allies_and_org" title="character_allies_and_org">
|
||
<span data-i18n="character_allies_and_org">character_allies_and_org</span>
|
||
<textarea data-i18n-placeholder="character_allies_and_org" name="attr_character_allies_and_org" placeholder="character_allies_and_org" spellcheck="false" title="@{character_allies_and_org}" type="text" value="" />
|
||
</label>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="sheet-inventory">
|
||
<div class="sheet-followers">
|
||
<label data-i18n-title="followers_and_strongholds" title="followers_and_strongholds">
|
||
<span data-i18n="followers_and_strongholds">followers_and_strongholds</span>
|
||
</label>
|
||
<label data-i18n-title="name" title="name">
|
||
<span data-i18n="name">name</span>
|
||
</label>
|
||
<label data-i18n-title="type" title="type">
|
||
<span data-i18n="type">type</span>
|
||
</label>
|
||
<label data-i18n-title="ability" title="ability">
|
||
<span data-i18n="ability">ability</span>
|
||
</label>
|
||
<div class="sheet-followerlist">
|
||
<fieldset class="repeating_followers">
|
||
<label data-i18n-title="repeatingfollowers" title="repeatingfollowers">
|
||
<input data-i18n-placeholder="followername" name="attr_followername" placeholder="followername" spellcheck="false" title="@{followername}" type="text" value="" />
|
||
<input data-i18n-placeholder="followertype" name="attr_followertype" placeholder="followertype" spellcheck="false" title="@{followertype}" type="text" value="" />
|
||
<input data-i18n-placeholder="followerability" name="attr_followerability" placeholder="followerability" spellcheck="false" title="@{followerability}" type="text" value="" />
|
||
</label>
|
||
</fieldset>
|
||
</div>
|
||
</div>
|
||
<div class="sheet-equipment_and_treasure">
|
||
<div class="sheet-equipment">
|
||
<label data-i18n-title="equipment" title="equipment">
|
||
<span data-i18n="equipment">equipment</span>
|
||
</label>
|
||
<label data-i18n-title="total_wt" title="total_wt">
|
||
<span data-i18n="total_wt">total_wt</span>
|
||
<input data-i18n-placeholder="total_wt" name="attr_total_wt" placeholder="total_wt" spellcheck="false" title="@{total_wt}" type="number" value="" />
|
||
</label>
|
||
<label data-i18n-title="wt" title="wt">
|
||
<span data-i18n="wt">wt</span>
|
||
</label>
|
||
<label data-i18n-title="item" title="item">
|
||
<span data-i18n="item">item</span>
|
||
</label>
|
||
<label data-i18n-title="properties" title="properties">
|
||
<span data-i18n="properties">properties</span>
|
||
</label>
|
||
<div class="sheet-equipmentlist">
|
||
<fieldset class="repeating_equipment">
|
||
<label data-i18n-title="repeatingequipment" title="repeatingequipment">
|
||
<input data-i18n-placeholder="equipmentwt" name="attr_equipmentwt" placeholder="equipmentwt" spellcheck="false" title="@{equipmentwt}" type="number" value="" />
|
||
<input data-i18n-placeholder="equipmentitem" name="attr_equipmentitem" placeholder="equipmentitem" spellcheck="false" title="@{equipmentitem}" type="text" value="" />
|
||
<input data-i18n-placeholder="equipmentproperties" name="attr_equipmentproperties" placeholder="equipmentproperties" spellcheck="false" title="@{equipmentproperties}" type="text" value="" />
|
||
<input class="sheet-equipmentnotetoggle" data-i18n-placeholder="equipmentnotetoggle" placeholder="equipmentnotetoggle" spellcheck="false" title="@{equipmentnotetoggle}" type="checkbox" name="attr_equipmentnotetoggle" value="1" />
|
||
<div class="sheet-equipmentnotes">
|
||
<textarea data-i18n-placeholder="equipmentnotes" name="attr_equipmentnotes" placeholder="equipmentnotes" spellcheck="false" title="@{equipmentnotes}" type="text" value="" />
|
||
</div>
|
||
</label>
|
||
</fieldset>
|
||
</div>
|
||
<label data-i18n-title="bulky_items" title="bulky_items">
|
||
<span data-i18n="bulky_items">bulky_items</span>
|
||
</label>
|
||
<label data-i18n-title="bulky_items_max" title="bulky_items_max">
|
||
<span data-i18n="bulky_items_max">bulky_items_max</span>
|
||
<input data-i18n-placeholder="bulky_items_max" name="attr_bulky_items_max" placeholder="bulky_items_max" spellcheck="false" title="@{bulky_items_max}" type="number" value="" />
|
||
</label>
|
||
<div class="sheet-bulkylist">
|
||
<fieldset class="repeating_bulky">
|
||
<label data-i18n-title="repeatingbulky" title="repeatingbulky">
|
||
<input data-i18n-placeholder="bulkyname" name="attr_bulkyname" placeholder="bulkyname" spellcheck="false" title="@{bulkyname}" type="text" value="" />
|
||
</label>
|
||
</fieldset>
|
||
</div>
|
||
</div>
|
||
<div class="sheet-display-treasure">
|
||
<label data-i18n-title="treasure" title="treasure">
|
||
<span data-i18n="treasure">treasure</span>
|
||
<textarea data-i18n-placeholder="treasure" name="attr_treasure" placeholder="treasure" spellcheck="false" title="@{treasure}" type="text" value="" />
|
||
</label>
|
||
</div>
|
||
</div>
|
||
<div class="sheet-display-coins">
|
||
<label data-i18n-title="cp" title="cp">
|
||
<span data-i18n="cp">cp</span>
|
||
<input data-i18n-placeholder="cp" name="attr_cp" placeholder="cp" spellcheck="false" title="@{cp}" type="number" value="" />
|
||
</label>
|
||
<label data-i18n-title="sp" title="sp">
|
||
<span data-i18n="sp">sp</span>
|
||
<input data-i18n-placeholder="sp" name="attr_sp" placeholder="sp" spellcheck="false" title="@{sp}" type="number" value="" />
|
||
</label>
|
||
<label data-i18n-title="ep" title="ep">
|
||
<span data-i18n="ep">ep</span>
|
||
<input data-i18n-placeholder="ep" name="attr_ep" placeholder="ep" spellcheck="false" title="@{ep}" type="number" value="" />
|
||
</label>
|
||
<label data-i18n-title="gp" title="gp">
|
||
<span data-i18n="gp">gp</span>
|
||
<input data-i18n-placeholder="gp" name="attr_gp" placeholder="gp" spellcheck="false" title="@{gp}" type="number" value="" />
|
||
</label>
|
||
<label data-i18n-title="pp" title="pp">
|
||
<span data-i18n="pp">pp</span>
|
||
<input data-i18n-placeholder="pp" name="attr_pp" placeholder="pp" spellcheck="false" title="@{pp}" type="number" value="" />
|
||
</label>
|
||
</div>
|
||
</div>
|
||
<div class="sheet-spells">
|
||
<div class="sheet-spellcasting_class">
|
||
<label data-i18n-title="spellcasting_class" title="spellcasting_class">
|
||
<span data-i18n="spellcasting_class">spellcasting_class</span>
|
||
</label>
|
||
<label data-i18n-title="spellcasting_ability" title="spellcasting_ability">
|
||
<span data-i18n="spellcasting_ability">spellcasting_ability</span>
|
||
</label>
|
||
<label data-i18n-title="spellsave_dc" title="spellsave_dc">
|
||
<span data-i18n="spellsave_dc">spellsave_dc</span>
|
||
</label>
|
||
<label data-i18n-title="spellsave_form" title="spellsave_form">
|
||
<span data-i18n="spellsave_form">spellsave_form</span>
|
||
</label>
|
||
<label data-i18n-title="spellattack_bonus" title="spellattack_bonus">
|
||
<span data-i18n="spellattack_bonus">spellattack_bonus</span>
|
||
</label>
|
||
<label data-i18n-title="spellattack_form" title="spellattack_form">
|
||
<span data-i18n="spellattack_form">spellattack_form</span>
|
||
</label>
|
||
<label data-i18n-title="sorcerer_warlock" title="sorcerer_warlock">
|
||
<span data-i18n="sorcerer_warlock">sorcerer_warlock</span>
|
||
</label>
|
||
<label data-i18n-title="spell_points" title="spell_points">
|
||
<span data-i18n="spell_points">spell_points</span>
|
||
</label>
|
||
<div class="sheet-spellclasslist">
|
||
<fieldset class="repeating_spellclass">
|
||
<label data-i18n-title="repeatingspellclass" title="repeatingspellclass">
|
||
<input data-i18n-placeholder="spellclassname" name="attr_spellclassname" placeholder="spellclassname" spellcheck="false" title="@{spellclassname}" type="text" value="" />
|
||
<input data-i18n-placeholder="spellclassability" name="attr_spellclassability" placeholder="spellclassability" spellcheck="false" title="@{spellclassability}" type="text" value="" list="statlist"/>
|
||
<input data-i18n-placeholder="spellclassdc" name="attr_spellclassdc" placeholder="spellclassdc" spellcheck="false" title="@{spellclassdc}" type="number" value="" />
|
||
<input data-i18n-placeholder="spellclassattack" name="attr_spellclassattack" placeholder="spellclassattack" spellcheck="false" title="@{spellclassattack}" type="number" value="" />
|
||
<input data-i18n-placeholder="spellclasspoints" name="attr_spellclasspoints" placeholder="spellclasspoints" spellcheck="false" title="@{spellclasspoints}" type="number" value="" />
|
||
</label>
|
||
</fieldset>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="sheet-display-spells">
|
||
<div class="sheet-display-cantrips">
|
||
<div class="sheet-lvl">
|
||
<label data-i18n-title="lvl" title="lvl">
|
||
<span data-i18n="lvl">lvl</span>
|
||
</label>
|
||
<label data-i18n-title="0" title="0">
|
||
<span data-i18n="0">0</span>
|
||
</label>
|
||
</div>
|
||
<label data-i18n-title="cantrips" title="cantrips">
|
||
<span data-i18n="cantrips">cantrips</span>
|
||
</label>
|
||
<label data-i18n-title="pg" title="pg">
|
||
<span data-i18n="pg">pg</span>
|
||
</label>
|
||
<div class="sheet-cantriplist">
|
||
<fieldset class="repeating_cantrips">
|
||
<label data-i18n-title="repeatingcantrips" title="repeatingcantrips">
|
||
<input data-i18n-placeholder="spellname" name="attr_spellname" placeholder="spellname" spellcheck="false" title="@{spellname}" type="text" value="" />
|
||
<input data-i18n-placeholder="spellpg" name="attr_spellpg" placeholder="spellpg" spellcheck="false" title="@{spellpg}" type="number" value="" />
|
||
<input class="sheet-cantripnotetoggle" data-i18n-placeholder="spellnotetoggle" placeholder="spellnotetoggle" spellcheck="false" title="@{spellnotetoggle}" type="checkbox" name="attr_spellnotetoggle" value="1" />
|
||
<div class="sheet-cantripnotes">
|
||
<textarea data-i18n-placeholder="spellnotes" name="attr_spellnotes" placeholder="spellnotes" spellcheck="false" title="@{spellnotes}" type="text" value="" />
|
||
</div>
|
||
</label>
|
||
</fieldset>
|
||
</div>
|
||
</div>
|
||
<div class="sheet-display-level1">
|
||
<div class="sheet-lvl">
|
||
<label data-i18n-title="lvl" title="lvl">
|
||
<span data-i18n="lvl">lvl</span>
|
||
</label>
|
||
<label data-i18n-title="1" title="1">
|
||
<span data-i18n="1">1</span>
|
||
</label>
|
||
</div>
|
||
<label data-i18n-title="known" title="known">
|
||
<span data-i18n="known">known</span>
|
||
<input data-i18n-placeholder="0" name="attr_spellknown1" placeholder="0" spellcheck="false" title="@{spellknown1}" type="number" value="" />
|
||
</label>
|
||
<label data-i18n-title="slots" title="slots">
|
||
<span data-i18n="slots">slots</span>
|
||
<input data-i18n-placeholder="0" name="attr_spellslots1" placeholder="0" spellcheck="false" title="@{spellslots1}" type="number" value="" />
|
||
</label>
|
||
<label data-i18n-title="expended" title="expended">
|
||
<span data-i18n="expended">expended</span>
|
||
<input data-i18n-placeholder="0" name="attr_spellexpended1" placeholder="0" spellcheck="false" title="@{spellexpended1}" type="number" value="" />
|
||
</label>
|
||
<label data-i18n-title="sp2" title="sp2">
|
||
<span data-i18n="sp2">sp2</span>
|
||
</label>
|
||
<label data-i18n-title="pg" title="pg">
|
||
<span data-i18n="pg">pg</span>
|
||
</label>
|
||
<div class="sheet-lvl1list">
|
||
<fieldset class="repeating_lvl1">
|
||
<label data-i18n-title="repeatinglvl1" title="repeatinglvl1">
|
||
<input data-i18n-placeholder="spellname" name="attr_spellname" placeholder="spellname" spellcheck="false" title="@{spellname}" type="text" value="" />
|
||
<input data-i18n-placeholder="spellpg" name="attr_spellpg" placeholder="spellpg" spellcheck="false" title="@{spellpg}" type="number" value="" />
|
||
<input class="sheet-level1notetoggle" data-i18n-placeholder="spellnotetoggle" placeholder="spellnotetoggle" spellcheck="false" title="@{spellnotetoggle}" type="checkbox" name="attr_spellnotetoggle" value="1" />
|
||
<div class="sheet-level1notes">
|
||
<textarea data-i18n-placeholder="spellnotes" name="attr_spellnotes" placeholder="spellnotes" spellcheck="false" title="@{spellnotes}" type="text" value="" />
|
||
</div>
|
||
</label>
|
||
</fieldset>
|
||
</div>
|
||
</div>
|
||
<div class="sheet-display-level2">
|
||
<div class="sheet-lvl">
|
||
<label data-i18n-title="lvl" title="lvl">
|
||
<span data-i18n="lvl">lvl</span>
|
||
</label>
|
||
<label data-i18n-title="2" title="2">
|
||
<span data-i18n="2">2</span>
|
||
</label>
|
||
</div>
|
||
<label data-i18n-title="known" title="known">
|
||
<span data-i18n="known">known</span>
|
||
<input data-i18n-placeholder="0" name="attr_spellknown2" placeholder="0" spellcheck="false" title="@{spellknown2}" type="number" value="" />
|
||
</label>
|
||
<label data-i18n-title="slots" title="slots">
|
||
<span data-i18n="slots">slots</span>
|
||
<input data-i18n-placeholder="0" name="attr_spellslots2" placeholder="0" spellcheck="false" title="@{spellslots2}" type="number" value="" />
|
||
</label>
|
||
<label data-i18n-title="expended" title="expended">
|
||
<span data-i18n="expended">expended</span>
|
||
<input data-i18n-placeholder="0" name="attr_spellexpended2" placeholder="0" spellcheck="false" title="@{spellexpended2}" type="number" value="" />
|
||
</label>
|
||
<label data-i18n-title="sp3" title="sp3">
|
||
<span data-i18n="sp3">sp3</span>
|
||
</label>
|
||
<label data-i18n-title="pg" title="pg">
|
||
<span data-i18n="pg">pg</span>
|
||
</label>
|
||
<div class="sheet-lvl2list">
|
||
<fieldset class="repeating_lvl2">
|
||
<label data-i18n-title="repeatinglvl2" title="repeatinglvl2">
|
||
<input data-i18n-placeholder="spellname" name="attr_spellname" placeholder="spellname" spellcheck="false" title="@{spellname}" type="text" value="" />
|
||
<input data-i18n-placeholder="spellpg" name="attr_spellpg" placeholder="spellpg" spellcheck="false" title="@{spellpg}" type="number" value="" />
|
||
<input class="sheet-level2notetoggle" data-i18n-placeholder="spellnotetoggle" placeholder="spellnotetoggle" spellcheck="false" title="@{spellnotetoggle}" type="checkbox" name="attr_spellnotetoggle" value="1" />
|
||
<div class="sheet-level2notes">
|
||
<textarea data-i18n-placeholder="spellnotes" name="attr_spellnotes" placeholder="spellnotes" spellcheck="false" title="@{spellnotes}" type="text" value="" />
|
||
</div>
|
||
</label>
|
||
</fieldset>
|
||
</div>
|
||
</div>
|
||
<div class="sheet-display-level3">
|
||
<div class="sheet-lvl">
|
||
<label data-i18n-title="lvl" title="lvl">
|
||
<span data-i18n="lvl">lvl</span>
|
||
</label>
|
||
<label data-i18n-title="3" title="3">
|
||
<span data-i18n="3">3</span>
|
||
</label>
|
||
</div>
|
||
<label data-i18n-title="known" title="known">
|
||
<span data-i18n="known">known</span>
|
||
<input data-i18n-placeholder="0" name="attr_spellknown3" placeholder="0" spellcheck="false" title="@{spellknown3}" type="number" value="" />
|
||
</label>
|
||
<label data-i18n-title="slots" title="slots">
|
||
<span data-i18n="slots">slots</span>
|
||
<input data-i18n-placeholder="0" name="attr_spellslots3" placeholder="0" spellcheck="false" title="@{spellslots3}" type="number" value="" />
|
||
</label>
|
||
<label data-i18n-title="expended" title="expended">
|
||
<span data-i18n="expended">expended</span>
|
||
<input data-i18n-placeholder="0" name="attr_spellexpended3" placeholder="0" spellcheck="false" title="@{spellexpended3}" type="number" value="" />
|
||
</label>
|
||
<label data-i18n-title="sp5" title="sp5">
|
||
<span data-i18n="sp5">sp5</span>
|
||
</label>
|
||
<label data-i18n-title="pg" title="pg">
|
||
<span data-i18n="pg">pg</span>
|
||
</label>
|
||
<div class="sheet-lvl3list">
|
||
<fieldset class="repeating_lvl3">
|
||
<label data-i18n-title="repeatinglvl3" title="repeatinglvl3">
|
||
<input data-i18n-placeholder="spellname" name="attr_spellname" placeholder="spellname" spellcheck="false" title="@{spellname}" type="text" value="" />
|
||
<input data-i18n-placeholder="spellpg" name="attr_spellpg" placeholder="spellpg" spellcheck="false" title="@{spellpg}" type="number" value="" />
|
||
<input class="sheet-level3notetoggle" data-i18n-placeholder="spellnotetoggle" placeholder="spellnotetoggle" spellcheck="false" title="@{spellnotetoggle}" type="checkbox" name="attr_spellnotetoggle" value="1" />
|
||
<div class="sheet-level3notes">
|
||
<textarea data-i18n-placeholder="spellnotes" name="attr_spellnotes" placeholder="spellnotes" spellcheck="false" title="@{spellnotes}" type="text" value="" />
|
||
</div>
|
||
</label>
|
||
</fieldset>
|
||
</div>
|
||
</div>
|
||
<div class="sheet-display-level4">
|
||
<div class="sheet-lvl">
|
||
<label data-i18n-title="lvl" title="lvl">
|
||
<span data-i18n="lvl">lvl</span>
|
||
</label>
|
||
<label data-i18n-title="4" title="4">
|
||
<span data-i18n="4">4</span>
|
||
</label>
|
||
</div>
|
||
<label data-i18n-title="known" title="known">
|
||
<span data-i18n="known">known</span>
|
||
<input data-i18n-placeholder="0" name="attr_spellknown4" placeholder="0" spellcheck="false" title="@{spellknown4}" type="number" value="" />
|
||
</label>
|
||
<label data-i18n-title="slots" title="slots">
|
||
<span data-i18n="slots">slots</span>
|
||
<input data-i18n-placeholder="0" name="attr_spellslots4" placeholder="0" spellcheck="false" title="@{spellslots4}" type="number" value="" />
|
||
</label>
|
||
<label data-i18n-title="expended" title="expended">
|
||
<span data-i18n="expended">expended</span>
|
||
<input data-i18n-placeholder="0" name="attr_spellexpended4" placeholder="0" spellcheck="false" title="@{spellexpended4}" type="number" value="" />
|
||
</label>
|
||
<label data-i18n-title="sp6" title="sp6">
|
||
<span data-i18n="sp6">sp6</span>
|
||
</label>
|
||
<label data-i18n-title="pg" title="pg">
|
||
<span data-i18n="pg">pg</span>
|
||
</label>
|
||
<div class="sheet-lvl4list">
|
||
<fieldset class="repeating_lvl4">
|
||
<label data-i18n-title="repeatinglvl4" title="repeatinglvl4s">
|
||
<input data-i18n-placeholder="spellname" name="attr_spellname" placeholder="spellname" spellcheck="false" title="@{spellname}" type="text" value="" />
|
||
<input data-i18n-placeholder="spellpg" name="attr_spellpg" placeholder="spellpg" spellcheck="false" title="@{spellpg}" type="number" value="" />
|
||
<input class="sheet-level4notetoggle" data-i18n-placeholder="spellnotetoggle" placeholder="spellnotetoggle" spellcheck="false" title="@{spellnotetoggle}" type="checkbox" name="attr_spellnotetoggle" value="1" />
|
||
<div class="sheet-level4notes">
|
||
<textarea data-i18n-placeholder="spellnotes" name="attr_spellnotes" placeholder="spellnotes" spellcheck="false" title="@{spellnotes}" type="text" value="" />
|
||
</div>
|
||
</label>
|
||
</fieldset>
|
||
</div>
|
||
</div>
|
||
<div class="sheet-display-level5">
|
||
<div class="sheet-lvl">
|
||
<label data-i18n-title="lvl" title="lvl">
|
||
<span data-i18n="lvl">lvl</span>
|
||
</label>
|
||
<label data-i18n-title="5" title="5">
|
||
<span data-i18n="5">5</span>
|
||
</label>
|
||
</div>
|
||
<label data-i18n-title="known" title="known">
|
||
<span data-i18n="known">known</span>
|
||
<input data-i18n-placeholder="0" name="attr_spellknown5" placeholder="0" spellcheck="false" title="@{spellknown5}" type="number" value="" />
|
||
</label>
|
||
<label data-i18n-title="slots" title="slots">
|
||
<span data-i18n="slots">slots</span>
|
||
<input data-i18n-placeholder="0" name="attr_spellslots5" placeholder="0" spellcheck="false" title="@{spellslots5}" type="number" value="" />
|
||
</label>
|
||
<label data-i18n-title="expended" title="expended">
|
||
<span data-i18n="expended">expended</span>
|
||
<input data-i18n-placeholder="0" name="attr_spellexpended5" placeholder="0" spellcheck="false" title="@{spellexpended5}" type="number" value="" />
|
||
</label>
|
||
<label data-i18n-title="sp7" title="sp7">
|
||
<span data-i18n="sp7">sp7</span>
|
||
</label>
|
||
<label data-i18n-title="pg" title="pg">
|
||
<span data-i18n="pg">pg</span>
|
||
</label>
|
||
<div class="sheet-lvl5list">
|
||
<fieldset class="repeating_lvl5">
|
||
<label data-i18n-title="repeatinglvl5" title="repeatinglvl5">
|
||
<input data-i18n-placeholder="spellname" name="attr_spellname" placeholder="spellname" spellcheck="false" title="@{spellname}" type="text" value="" />
|
||
<input data-i18n-placeholder="spellpg" name="attr_spellpg" placeholder="spellpg" spellcheck="false" title="@{spellpg}" type="number" value="" />
|
||
<input class="sheet-level5notetoggle" data-i18n-placeholder="spellnotetoggle" placeholder="spellnotetoggle" spellcheck="false" title="@{spellnotetoggle}" type="checkbox" name="attr_spellnotetoggle" value="1" />
|
||
<div class="sheet-level5notes">
|
||
<textarea data-i18n-placeholder="spellnotes" name="attr_spellnotes" placeholder="spellnotes" spellcheck="false" title="@{spellnotes}" type="text" value="" />
|
||
</div>
|
||
</label>
|
||
</fieldset>
|
||
</div>
|
||
</div>
|
||
<div class="sheet-display-level6">
|
||
<div class="sheet-lvl">
|
||
<label data-i18n-title="lvl" title="lvl">
|
||
<span data-i18n="lvl">lvl</span>
|
||
</label>
|
||
<label data-i18n-title="6" title="6">
|
||
<span data-i18n="6">6</span>
|
||
</label>
|
||
</div>
|
||
<label data-i18n-title="known" title="known">
|
||
<span data-i18n="known">known</span>
|
||
<input data-i18n-placeholder="0" name="attr_spellknown6" placeholder="0" spellcheck="false" title="@{spellknown6}" type="number" value="" />
|
||
</label>
|
||
<label data-i18n-title="slots" title="slots">
|
||
<span data-i18n="slots">slots</span>
|
||
<input data-i18n-placeholder="0" name="attr_spellslots6" placeholder="0" spellcheck="false" title="@{spellslots6}" type="number" value="" />
|
||
</label>
|
||
<label data-i18n-title="expended" title="expended">
|
||
<span data-i18n="expended">expended</span>
|
||
<input data-i18n-placeholder="0" name="attr_spellexpended6" placeholder="0" spellcheck="false" title="@{spellexpended6}" type="number" value="" />
|
||
</label>
|
||
<label data-i18n-title="pg" title="pg">
|
||
<span data-i18n="pg">pg</span>
|
||
</label>
|
||
<div class="sheet-lvl6list">
|
||
<fieldset class="repeating_lvl6">
|
||
<label data-i18n-title="repeatinglvl6" title="repeatinglvl6">
|
||
<input data-i18n-placeholder="spellname" name="attr_spellname" placeholder="spellname" spellcheck="false" title="@{spellname}" type="text" value="" />
|
||
<input data-i18n-placeholder="spellpg" name="attr_spellpg" placeholder="spellpg" spellcheck="false" title="@{spellpg}" type="number" value="" />
|
||
<input class="sheet-level6notetoggle" data-i18n-placeholder="spellnotetoggle" placeholder="spellnotetoggle" spellcheck="false" title="@{spellnotetoggle}" type="checkbox" name="attr_spellnotetoggle" value="1" />
|
||
<div class="sheet-level6notes">
|
||
<textarea data-i18n-placeholder="spellnotes" name="attr_spellnotes" placeholder="spellnotes" spellcheck="false" title="@{spellnotes}" type="text" value="" />
|
||
</div>
|
||
</label>
|
||
</fieldset>
|
||
</div>
|
||
</div>
|
||
<div class="sheet-display-level7">
|
||
<div class="sheet-lvl">
|
||
<label data-i18n-title="lvl" title="lvl">
|
||
<span data-i18n="lvl">lvl</span>
|
||
</label>
|
||
<label data-i18n-title="7" title="7">
|
||
<span data-i18n="7">7</span>
|
||
</label>
|
||
</div>
|
||
<label data-i18n-title="known" title="known">
|
||
<span data-i18n="known">known</span>
|
||
<input data-i18n-placeholder="0" name="attr_spellknown7" placeholder="0" spellcheck="false" title="@{spellknown7}" type="number" value="" />
|
||
</label>
|
||
<label data-i18n-title="slots" title="slots">
|
||
<span data-i18n="slots">slots</span>
|
||
<input data-i18n-placeholder="0" name="attr_spellslots7" placeholder="0" spellcheck="false" title="@{spellslots7}" type="number" value="" />
|
||
</label>
|
||
<label data-i18n-title="expended" title="expended">
|
||
<span data-i18n="expended">expended</span>
|
||
<input data-i18n-placeholder="0" name="attr_spellexpended7" placeholder="0" spellcheck="false" title="@{spellexpended7}" type="number" value="" />
|
||
</label>
|
||
<label data-i18n-title="pg" title="pg">
|
||
<span data-i18n="pg">pg</span>
|
||
</label>
|
||
<div class="sheet-lvl7list">
|
||
<fieldset class="repeating_lvl7">
|
||
<label data-i18n-title="repeatinglvl7" title="repeatinglvl7">
|
||
<input data-i18n-placeholder="spellname" name="attr_spellname" placeholder="spellname" spellcheck="false" title="@{spellname}" type="text" value="" />
|
||
<input data-i18n-placeholder="spellpg" name="attr_spellpg" placeholder="spellpg" spellcheck="false" title="@{spellpg}" type="number" value="" />
|
||
<input class="sheet-level7notetoggle" data-i18n-placeholder="spellnotetoggle" placeholder="spellnotetoggle" spellcheck="false" title="@{spellnotetoggle}" type="checkbox" name="attr_spellnotetoggle" value="1" />
|
||
<div class="sheet-level7notes">
|
||
<textarea data-i18n-placeholder="spellnotes" name="attr_spellnotes" placeholder="spellnotes" spellcheck="false" title="@{spellnotes}" type="text" value="" />
|
||
</div>
|
||
</label>
|
||
</fieldset>
|
||
</div>
|
||
</div>
|
||
<div class="sheet-display-level8">
|
||
<div class="sheet-lvl">
|
||
<label data-i18n-title="lvl" title="lvl">
|
||
<span data-i18n="lvl">lvl</span>
|
||
</label>
|
||
<label data-i18n-title="8" title="8">
|
||
<span data-i18n="8">8</span>
|
||
</label>
|
||
</div>
|
||
<label data-i18n-title="known" title="known">
|
||
<span data-i18n="known">known</span>
|
||
<input data-i18n-placeholder="0" name="attr_spellknown8" placeholder="0" spellcheck="false" title="@{spellknown8}" type="number" value="" />
|
||
</label>
|
||
<label data-i18n-title="slots" title="slots">
|
||
<span data-i18n="slots">slots</span>
|
||
<input data-i18n-placeholder="0" name="attr_spellslots8" placeholder="0" spellcheck="false" title="@{spellslots8}" type="number" value="" />
|
||
</label>
|
||
<label data-i18n-title="expended" title="expended">
|
||
<span data-i18n="expended">expended</span>
|
||
<input data-i18n-placeholder="0" name="attr_spellexpended8" placeholder="0" spellcheck="false" title="@{spellexpended8}" type="number" value="" />
|
||
</label>
|
||
<label data-i18n-title="pg" title="pg">
|
||
<span data-i18n="pg">pg</span>
|
||
</label>
|
||
<div class="sheet-lvl8list">
|
||
<fieldset class="repeating_lvl8">
|
||
<label data-i18n-title="repeatinglvl8" title="repeatinglvl8">
|
||
<input data-i18n-placeholder="spellname" name="attr_spellname" placeholder="spellname" spellcheck="false" title="@{spellname}" type="text" value="" />
|
||
<input data-i18n-placeholder="spellpg" name="attr_spellpg" placeholder="spellpg" spellcheck="false" title="@{spellpg}" type="number" value="" />
|
||
<input class="sheet-level8notetoggle" data-i18n-placeholder="spellnotetoggle" placeholder="spellnotetoggle" spellcheck="false" title="@{spellnotetoggle}" type="checkbox" name="attr_spellnotetoggle" value="1" />
|
||
<div class="sheet-level8notes">
|
||
<textarea data-i18n-placeholder="spellnotes" name="attr_spellnotes" placeholder="spellnotes" spellcheck="false" title="@{spellnotes}" type="text" value="" />
|
||
</div>
|
||
</label>
|
||
</fieldset>
|
||
</div>
|
||
</div>
|
||
<div class="sheet-display-level9">
|
||
<div class="sheet-lvl">
|
||
<label data-i18n-title="lvl" title="lvl">
|
||
<span data-i18n="lvl">lvl</span>
|
||
</label>
|
||
<label data-i18n-title="9" title="9">
|
||
<span data-i18n="9">9</span>
|
||
</label>
|
||
</div>
|
||
<label data-i18n-title="known" title="known">
|
||
<span data-i18n="known">known</span>
|
||
<input data-i18n-placeholder="0" name="attr_spellknown9" placeholder="0" spellcheck="false" title="@{spellknown9}" type="number" value="" />
|
||
</label>
|
||
<label data-i18n-title="slots" title="slots">
|
||
<span data-i18n="slots">slots</span>
|
||
<input data-i18n-placeholder="0" name="attr_spellslots9" placeholder="0" spellcheck="false" title="@{spellslots9}" type="number" value="" />
|
||
</label>
|
||
<label data-i18n-title="expended" title="expended">
|
||
<span data-i18n="expended">expended</span>
|
||
<input data-i18n-placeholder="0" name="attr_spellexpended9" placeholder="0" spellcheck="false" title="@{spellexpended9}" type="number" value="" />
|
||
</label>
|
||
<label data-i18n-title="pg" title="pg">
|
||
<span data-i18n="pg">pg</span>
|
||
</label>
|
||
<div class="sheet-lvl9list">
|
||
<fieldset class="repeating_lvl9">
|
||
<label data-i18n-title="repeatinglvl9" title="repeatinglvl9">
|
||
<input data-i18n-placeholder="spellname" name="attr_spellname" placeholder="spellname" spellcheck="false" title="@{spellname}" type="text" value="" />
|
||
<input data-i18n-placeholder="spellpg" name="attr_spellpg" placeholder="spellpg" spellcheck="false" title="@{spellpg}" type="number" value="" />
|
||
<input class="sheet-level9notetoggle" data-i18n-placeholder="spellnotetoggle" placeholder="spellnotetoggle" spellcheck="false" title="@{spellnotetoggle}" type="checkbox" name="attr_spellnotetoggle" value="1" />
|
||
<div class="sheet-level9notes">
|
||
<textarea data-i18n-placeholder="spellnotes" name="attr_spellnotes" placeholder="spellnotes" spellcheck="false" title="@{spellnotes}" type="text" value="" />
|
||
</div>
|
||
</label>
|
||
</fieldset>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
</div>
|
||
<div class="sheet-notes">
|
||
<div class="sheet-note">
|
||
<label data-i18n-title="notes" title="notes">
|
||
<span data-i18n="notes">notes</span>
|
||
<textarea data-i18n-placeholder="notes" name="attr_notes" placeholder="notes" spellcheck="false" title="@{notes}" type="text" value="" />
|
||
</label>
|
||
</div>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class='sheet-NPC'>
|
||
<div class="sheet-npc-header">
|
||
<label data-i18n-title="npc_name" title="npc name">
|
||
<input data-i18n-placeholder="character_name" name="attr_character_name" placeholder="character name" spellcheck="false" title="@{character_name}" type="text" value="" />
|
||
</label>
|
||
<label data-i18n-title="ChallengeRating" title="ChallengeRating">
|
||
<span data-i18n="challenge">challenge</span>
|
||
<input data-i18n-placeholder="challenge" name="attr_CR" placeholder="challenge" spellcheck="false" title="@{challenge}" type="text"/>
|
||
</label>
|
||
<label data-i18n-title="CreatureSizeType" title="CreatureSizeType">
|
||
<input data-i18n-placeholder="creaturesize" name="attr_creaturesize" placeholder="creaturesize" spellcheck="false" title="@{creaturesize}" type="text" list="sizelist"/>
|
||
<input data-i18n-placeholder="creaturetype" name="attr_creaturetype" placeholder="creaturetype" spellcheck="false" title="@{creaturetype}" type="text" list="creaturetypelist"/>
|
||
</label>
|
||
<label data-i18n-title="XPReward" title="XPReward">
|
||
<input data-i18n-placeholder="xpreward" name="attr_xpreward" placeholder="xpreward" spellcheck="false" title="@{xpreward}" type="text"/>
|
||
<span data-i18n="xp">xp</span>
|
||
</label>
|
||
</div>
|
||
|
||
<div class="sheet-statsinfo">
|
||
<label data-i18n-title="stats" title="stats">
|
||
<input name="attr_statsinfo_type" type="radio" value="stats"><span data-i18n="stats"></span></input>
|
||
</label>
|
||
<label data-i18n-title="info" title="info">
|
||
<input name="attr_statsinfo_type" type="radio" value="info"><span data-i18n="info"></span></input>
|
||
</label>
|
||
<label data-i18n-title="info1" title="info1">
|
||
</label>
|
||
<label data-i18n-title="info2" title="info2">
|
||
</label>
|
||
<label data-i18n-title="info3" title="info3">
|
||
</label>
|
||
<label data-i18n-title="info4" title="info4">
|
||
</label>
|
||
<label data-i18n-title="info5" title="info5">
|
||
</label>
|
||
<label data-i18n-title="info6" title="info6">
|
||
</label>
|
||
</div>
|
||
|
||
<div class="sheet-npcstats">
|
||
<div class="sheet-npcstat">
|
||
<label data-i18n-title="armourclass" title="armourclass">
|
||
<span data-i18n="armour_class">armour_class</span>
|
||
<input data-i18n-placeholder="armour_class" name="attr_AC" placeholder="armour_class" spellcheck="false" title="@{armour_class}" type="text" value="" />
|
||
</label>
|
||
<label data-i18n-title="hit_points" title="hit_points">
|
||
<span data-i18n="hit_points">hit_points</span>
|
||
<input data-i18n-placeholder="hit_points" name="attr_HP" placeholder="hit_points" spellcheck="false" title="@{HP}" type="number" value="" />
|
||
<span data-i18n="hit_points_maximum">hit_points_maximum</span>
|
||
<input data-i18n-placeholder="hit_points_maximum" name="attr_HP_max" placeholder="hit_points_maximum" spellcheck="false" title="@{hit_points_maximum}" type="number" value="" />
|
||
<span data-i18n="bloodiedHP">bloodiedHP</span>
|
||
<input data-i18n-placeholder="bloodiedHP" name="attr_HP_bloodied" placeholder="bloodiedHP" spellcheck="false" title="@{bloodiedHP}" type="number" value="" />
|
||
<input data-i18n-placeholder="hit_dice" name="attr_hit_dice" placeholder="hit_dice" spellcheck="false" title="@{hit_dice}" type="text" value="" />
|
||
</label>
|
||
<label data-i18n-title="speed" title="speed">
|
||
<span data-i18n="speed">speed</span>
|
||
<input data-i18n-placeholder="speed" name="attr_speed" placeholder="speed" spellcheck="false" title="@{speed}" type="text" value="" />
|
||
</label>
|
||
<div class='sheet-display-npcinitiative'>
|
||
<label data-i18n-title="initiative" title="initiative">
|
||
<span data-i18n="initiative">initiative</span>
|
||
<input data-i18n-placeholder="initiative" name="attr_npcinitiative" placeholder="initiative" spellcheck="false" title="@{npcinitiative}" type="number" value="0" />
|
||
<button type="action" name="act_npcinitiative-button"></button>
|
||
</label>
|
||
</div>
|
||
</div>
|
||
<div class="sheet-statblock">
|
||
<label data-i18n-title="str" title="str">
|
||
<span data-i18n="str">str</span>
|
||
<button type="roll" name="act_strength_roll" value="@{strength-action}"></button>
|
||
</label>
|
||
<label data-i18n-title="dex" title="dex">
|
||
<span data-i18n="dex">dex</span>
|
||
<button type="roll" name="act_dexterity_roll" value="@{dexterity-action}"></button>
|
||
</label>
|
||
<label data-i18n-title="con" title="con">
|
||
<span data-i18n="con">con</span>
|
||
<button type="roll" name="act_constitution_roll" value="@{constitution-action}"></button>
|
||
</label>
|
||
<label data-i18n-title="int" title="int">
|
||
<span data-i18n="int">int</span>
|
||
<button type="roll" name="act_intelligence_roll" value="@{intelligence-action}"></button>
|
||
</label>
|
||
<label data-i18n-title="wis" title="wis">
|
||
<span data-i18n="wis">wis</span>
|
||
<button type="roll" name="act_wisdom_roll" value="@{wisdom-action}"></button>
|
||
</label>
|
||
<label data-i18n-title="cha" title="cha">
|
||
<span data-i18n="cha">cha</span>
|
||
<button type="roll" name="act_charisma_roll" value="@{charisma-action}"></button>
|
||
</label>
|
||
<label data-i18n-title="save" title="save">
|
||
<span data-i18n="save">saves</span>
|
||
</label>
|
||
<label data-i18n-title="strengthstat" title="strengthstat">
|
||
<input data-i18n-placeholder="strength" name="attr_strength" placeholder="strength" spellcheck="false" title="@{strength}" type="number" value="" />
|
||
</label>
|
||
<label data-i18n-title="strength_mod" title="strength_mod">
|
||
(<input data-i18n-placeholder="strength_mod" name="attr_strength_mod" placeholder="0" spellcheck="false" title="@{strength_mod}" type="number"/>)
|
||
</label>
|
||
<label data-i18n-title="strength_save_mod" title="strength_save_mod">
|
||
(<input data-i18n-placeholder="strength_save_mod" name="attr_strength_save_mod" placeholder="0" spellcheck="false" title="@{strength_save_mod}" type="number"/>)
|
||
<button type="roll" name="act_strength_save_roll" value="@{strengthsave-action}"></button>
|
||
<input data-i18n-placeholder="strength_save_prof" name="attr_strength_save_prof" title="@{strength_save_prof}" type="checkbox" value="1"/>
|
||
</label>
|
||
<label data-i18n-title="dexteritystat" title="dexteritystat">
|
||
<input data-i18n-placeholder="dexterity" name="attr_dexterity" placeholder="dexterity" spellcheck="false" title="@{dexterity}" type="number" value="" />
|
||
</label>
|
||
<label data-i18n-title="dexterity_mod" title="dexterity_mod">
|
||
(<input data-i18n-placeholder="dexterity_mod" name="attr_dexterity_mod" placeholder="0" spellcheck="false" title="@{dexterity_mod}" type="number"/>)
|
||
</label>
|
||
<label data-i18n-title="dexterity_save_mod" title="dexterity_save_mod">
|
||
(<input data-i18n-placeholder="dexterity_save_mod" name="attr_dexterity_save_mod" placeholder="0" spellcheck="false" title="@{dexterity_save_mod}" type="number"/>)
|
||
<button type="roll" name="act_dexterity_save_roll" value="@{dexteritysave-action}"></button>
|
||
<input data-i18n-placeholder="dexterity_save_prof" name="attr_dexterity_save_prof" title="@{dexterity_save_prof}" type="checkbox" value="1"/>
|
||
</label>
|
||
<label data-i18n-title="constitutionstat" title="constitutionstat">
|
||
<input data-i18n-placeholder="constitution" name="attr_constitution" placeholder="constitution" spellcheck="false" title="@{constitution}" type="number" value="" />
|
||
</label>
|
||
<label data-i18n-title="constitution_mod" title="constitution_mod">
|
||
(<input data-i18n-placeholder="constitution_mod" name="attr_constitution_mod" placeholder="0" spellcheck="false" title="@{constitution_mod}" type="number"/>)
|
||
</label>
|
||
<label data-i18n-title="constitution_save_mod" title="constitution_save_mod">
|
||
(<input data-i18n-placeholder="constitution_save_mod" name="attr_constitution_save_mod" placeholder="0" spellcheck="false" title="@{constitution_save_mod}" type="number"/>)
|
||
<button type="roll" name="act_constitution_save_roll" value="@{constitutionsave-action}"></button>
|
||
<input data-i18n-placeholder="constitution_save_prof" name="attr_constitution_save_prof" title="@{constitution_save_prof}" type="checkbox" value="1"/>
|
||
</label>
|
||
<label data-i18n-title="intelligencestat" title="intelligencestat">
|
||
<input data-i18n-placeholder="intelligence" name="attr_intelligence" placeholder="intelligence" spellcheck="false" title="@{intelligence}" type="number" value="" />
|
||
</label>
|
||
<label data-i18n-title="intelligence_mod" title="intelligence_mod">
|
||
(<input data-i18n-placeholder="intelligence_mod" name="attr_intelligence_mod" placeholder="0" spellcheck="false" title="@{intelligence_mod}" type="number"/>)
|
||
</label>
|
||
<label data-i18n-title="intelligence_save_mod" title="intelligence_save_mod">
|
||
(<input data-i18n-placeholder="intelligence_save_mod" name="attr_intelligence_save_mod" placeholder="0" spellcheck="false" title="@{intelligence_save_mod}" type="number"/>)
|
||
<button type="roll" name="act_intelligence_save_roll" value="@{intelligencesave-action}"></button>
|
||
<input data-i18n-placeholder="intelligence_save_prof" name="attr_intelligence_save_prof" title="@{intelligence_save_prof}" type="checkbox" value="1"/>
|
||
</label>
|
||
<label data-i18n-title="wisdomstat" title="wisdomstat">
|
||
<input data-i18n-placeholder="wisdom" name="attr_wisdom" placeholder="wisdom" spellcheck="false" title="@{wisdom}" type="number" value="" />
|
||
</label>
|
||
<label data-i18n-title="wisdom_mod" title="wisdom_mod">
|
||
(<input data-i18n-placeholder="wisdom_mod" name="attr_wisdom_mod" placeholder="0" spellcheck="false" title="@{wisdom_mod}" type="number"/>)
|
||
</label>
|
||
<label data-i18n-title="wisdom_save_mod" title="wisdom_save_mod">
|
||
(<input data-i18n-placeholder="wisdom_save_mod" name="attr_wisdom_save_mod" placeholder="0" spellcheck="false" title="@{wisdom_save_mod}" type="number"/>)
|
||
<button type="roll" name="act_wisdom_save_roll" value="@{wisdomsave-action}"></button>
|
||
<input data-i18n-placeholder="wisdom_save_prof" name="attr_wisdom_save_prof" title="@{wisdom_save_prof}" type="checkbox" value="1"/>
|
||
</label>
|
||
<label data-i18n-title="charismastat" title="charismastat">
|
||
<input data-i18n-placeholder="charisma" name="attr_charisma" placeholder="charisma" spellcheck="false" title="@{charisma}" type="number" value="" />
|
||
</label>
|
||
<label data-i18n-title="charisma_mod" title="charisma_mod">
|
||
(<input data-i18n-placeholder="charisma_mod" name="attr_charisma_mod" placeholder="0" spellcheck="false" title="@{charisma_mod}" type="number"/>)
|
||
</label>
|
||
<label data-i18n-title="charisma_save_mod" title="charisma_save_mod">
|
||
(<input data-i18n-placeholder="charisma_save_mod" name="attr_charisma_save_mod" placeholder="0" spellcheck="false" title="@{charisma_save_mod}" type="number"/>)
|
||
<button type="roll" name="act_charisma_save_roll" value="@{charismasave-action}"></button>
|
||
<input data-i18n-placeholder="charisma_save_prof" name="attr_charisma_save_prof" title="@{charisma_save_prof}" type="checkbox" value="1"/>
|
||
</label>
|
||
</div>
|
||
<div class="sheet-profman">
|
||
<label data-i18n-title="prof" title="prof">
|
||
<span data-i18n="prof">prof</span>
|
||
<input data-i18n-placeholder="prof" name="attr_PB" placeholder="prof" spellcheck="false" title="@{PB}" type="number" value="" />
|
||
</label>
|
||
<label data-i18n-title="maneuverdc" title="maneuverdc">
|
||
<span data-i18n="maneuverdc">maneuverdc</span>
|
||
<input data-i18n-placeholder="maneuverdc" name="attr_maneuverdc" placeholder="maneuverdc" spellcheck="false" title="@{maneuverdc}" type="number" value="" />
|
||
</label>
|
||
</div>
|
||
<div class="sheet-skills">
|
||
<label data-i18n-title="skills" title="skills">
|
||
<span data-i18n="skills">skills</span>
|
||
</label>
|
||
<label data-i18n-title="skill" title="skill">
|
||
<span data-i18n="skill">skill</span>
|
||
</label>
|
||
<label data-i18n-title="skill_bonus" title="skill_bonus">
|
||
<span data-i18n="skill_bonus">skill_bonus</span>
|
||
</label>
|
||
<label data-i18n-title="expertise_dice" title="expertise_dice">
|
||
<span data-i18n="expertise_dice">expertise_dice</span>
|
||
</label>
|
||
<div class="sheet-skilllist">
|
||
<fieldset class="repeating_skills">
|
||
<label data-i18n-title="repeatingskills" title="repeatingskills">
|
||
<button data-i18n-placeholder="skill-button" type="action" name="attr_skill-button"></button>
|
||
<input data-i18n-placeholder="skillname" name="attr_skillname" placeholder="skillname" spellcheck="false" title="@{skillname}" type="text" value="" />
|
||
<input data-i18n-placeholder="skillbonus" name="attr_skillbonus" placeholder="skillbonus" spellcheck="false" title="@{skillbonus}" type="number" />
|
||
<input data-i18n-placeholder="skillexdice" name="attr_skillexdice" placeholder="skillexdice" spellcheck="false" title="@{skillexdice}" type="text" list="dicelist" />
|
||
</label>
|
||
</fieldset>
|
||
</div>
|
||
</div>
|
||
<div class="sheet-vulresinn">
|
||
<label data-i18n-title="damage vulnerabilities" title="damage vulnerabilities">
|
||
<span data-i18n="damage vulnerabilities">damage vulnerabilities</span>
|
||
<input data-i18n-placeholder="damage vulnerabilities" name="attr_damage vulnerabilities" placeholder="damage vulnerabilities" spellcheck="false" title="@{damage vulnerabilities}" type="text" value="" />
|
||
</label>
|
||
<label data-i18n-title="damage resistances" title="damage resistances">
|
||
<span data-i18n="damage resistances">damage resistances</span>
|
||
<input data-i18n-placeholder="damage resistances" name="attr_damage resistances" placeholder="damage resistances" spellcheck="false" title="@{damage resistances}" type="text" value="" />
|
||
</label>
|
||
<label data-i18n-title="damage immunities" title="damage immunities">
|
||
<span data-i18n="damage immunities">damage immunities</span>
|
||
<input data-i18n-placeholder="damage immunities" name="attr_damage immunities" placeholder="damage immunities" spellcheck="false" title="@{damage immunities}" type="text" value="" />
|
||
</label>
|
||
<label data-i18n-title="condition immunities" title="condition immunities">
|
||
<span data-i18n="condition immunities">condition immunities</span>
|
||
<input data-i18n-placeholder="condition immunities" name="attr_condition immunities" placeholder="condition immunities" spellcheck="false" title="@{condition immunities}" type="text" value="" />
|
||
</label>
|
||
</div>
|
||
<div class="sheet-senlang">
|
||
<label data-i18n-title="senses" title="senses">
|
||
<span data-i18n="senses">senses</span>
|
||
<input data-i18n-placeholder="senses" name="attr_senses" placeholder="senses" spellcheck="false" title="@{senses}" type="text" value="" />
|
||
</label>
|
||
<label data-i18n-title="languages" title="languages">
|
||
<span data-i18n="languages">languages</span>
|
||
<input data-i18n-placeholder="languages" name="attr_languages" placeholder="languages" spellcheck="false" title="@{languages}" type="text" value="" />
|
||
</label>
|
||
</div>
|
||
<div class="sheet-abilities_and_powers">
|
||
<label data-i18n-title="abilities_and_powers" title="abilities_and_powers">
|
||
<span data-i18n="abilities_and_powers">abilities_and_powers</span>
|
||
<textarea data-i18n-placeholder="abilities_and_powers" name="attr_abilities_and_powers" placeholder="abilities_and_powers" spellcheck="false" title="@{abilities_and_powers}" />
|
||
</label>
|
||
</div>
|
||
<div class="sheet-attacks">
|
||
<label data-i18n-title="attacks_and_spellcasting" title="attacks_and_spellcasting">
|
||
<span data-i18n="attacks_and_spellcasting">attacks_and_spellcasting</span>
|
||
</label>
|
||
<label data-i18n-title="name" title="name">
|
||
<span data-i18n="name">name</span>
|
||
</label>
|
||
<label data-i18n-title="atk_bonus" title="atk_bonus">
|
||
<span data-i18n="atk_bonus">atk_bonus</span>
|
||
</label>
|
||
<label data-i18n-title="damage" title="damage">
|
||
<span data-i18n="damage">damage</span>
|
||
</label>
|
||
<label data-i18n-title="type" title="type">
|
||
<span data-i18n="type">type</span>
|
||
</label>
|
||
<label data-i18n-title="range" title="range">
|
||
<span data-i18n="range">range</span>
|
||
</label>
|
||
<label data-i18n-title="notes" title="notes">
|
||
<span data-i18n="notes">notes</span>
|
||
</label>
|
||
<div class="sheet-attacklist">
|
||
<fieldset class="repeating_attacks">
|
||
<label data-i18n-title="repeatingattacks" title="repeatingattacks">
|
||
<button data-i18n-placeholder="attack-button" type="action" name="attr_attack-button"></button>
|
||
<input data-i18n-placeholder="attackname" name="attr_attackname" placeholder="attackname" spellcheck="false" title="@{attackname}" type="text" value="" />
|
||
<input data-i18n-placeholder="attackbonus" name="attr_attackbonus" placeholder="attackbonus" spellcheck="false" title="@{attackbonus}" type="text" value="" />
|
||
<input data-i18n-placeholder="attackdamage" name="attr_attackdamage" placeholder="attackdamage" spellcheck="false" title="@{attackdamage}" type="text" value="" />
|
||
<input data-i18n-placeholder="attackdamagetype" name="attr_attackdamagetype" placeholder="attackdamagetype" spellcheck="false" title="@{attackdamagetype}" type="text" value="" list="damagetypelist"/>
|
||
<input data-i18n-placeholder="attackrange" name="attr_attackrange" placeholder="attackrange" spellcheck="false" title="@{attackrange}" type="text" value="" />
|
||
<input data-i18n-placeholder="attacknotes" name="attr_attacknotes" placeholder="attacknotes" spellcheck="false" title="@{attacknotes}" type="text" value="" />
|
||
</label>
|
||
</fieldset>
|
||
</div>
|
||
</div>
|
||
<div class="sheet-actions">
|
||
<label data-i18n-title="actions" title="actions">
|
||
<span data-i18n="actions">actions</span>
|
||
</label>
|
||
<label data-i18n-title="name" title="name">
|
||
<span data-i18n="name">name</span>
|
||
</label>
|
||
<label data-i18n-title="description" title="description">
|
||
<span data-i18n="description">description</span>
|
||
</label>
|
||
<div class="sheet-actionlist">
|
||
<fieldset class="repeating_actions">
|
||
<label data-i18n-title="repeatingactions" title="repeatingactionss">
|
||
<input data-i18n-placeholder="actionname" name="attr_actionname" placeholder="actionname" spellcheck="false" title="@{actionname}" type="text" value="" />
|
||
<input data-i18n-placeholder="actionnotes" name="attr_actionnotes" placeholder="actionnotes" spellcheck="false" title="@{actionnotes}" type="text" value="" />
|
||
</label>
|
||
</fieldset>
|
||
</div>
|
||
</div>
|
||
<div class="sheet-bonusactions">
|
||
<label data-i18n-title="bonusactions" title="bonusactions">
|
||
<span data-i18n="bonusactions">bonusactions</span>
|
||
</label>
|
||
<label data-i18n-title="name" title="name">
|
||
<span data-i18n="name">name</span>
|
||
</label>
|
||
<label data-i18n-title="description" title="description">
|
||
<span data-i18n="description">description</span>
|
||
</label>
|
||
<div class="sheet-bonuslist">
|
||
<fieldset class="repeating_bonusactions">
|
||
<label data-i18n-title="repeatingbonusactions" title="repeatingbonusactionss">
|
||
<input data-i18n-placeholder="bonusname" name="attr_bonusname" placeholder="bonusname" spellcheck="false" title="@{bonusname}" type="text" value="" />
|
||
<input data-i18n-placeholder="bonusnotes" name="attr_bonusnotes" placeholder="bonusnotes" spellcheck="false" title="@{bonusnotes}" type="text" value="" />
|
||
</label>
|
||
</fieldset>
|
||
</div>
|
||
</div>
|
||
<div class="sheet-reactions">
|
||
<label data-i18n-title="reactions" title="reactions">
|
||
<span data-i18n="reactions">reactions</span>
|
||
</label>
|
||
<label data-i18n-title="name" title="name">
|
||
<span data-i18n="name">name</span>
|
||
</label>
|
||
<label data-i18n-title="description" title="description">
|
||
<span data-i18n="description">description</span>
|
||
</label>
|
||
<div class="sheet-reactionslist">
|
||
<fieldset class="repeating_reactions">
|
||
<label data-i18n-title="repeatingreactions" title="repeatingreactions">
|
||
<input data-i18n-placeholder="reactionsname" name="attr_reactionsname" placeholder="reactionsname" spellcheck="false" title="@{reactionsname}" type="text" value="" />
|
||
<input data-i18n-placeholder="reactionsnotes" name="attr_reactionsnotes" placeholder="reactionsnotes" spellcheck="false" title="@{reactionsnotes}" type="text" value="" />
|
||
</label>
|
||
</fieldset>
|
||
</div>
|
||
</div>
|
||
<div class="sheet-legendaryactions">
|
||
<label data-i18n-title="legendaryactions" title="legendaryactions">
|
||
<span data-i18n="legendaryactions">legendaryactions</span>
|
||
</label>
|
||
<label data-i18n-title="name" title="name">
|
||
<span data-i18n="name">name</span>
|
||
</label>
|
||
<label data-i18n-title="description" title="description">
|
||
<span data-i18n="description">description</span>
|
||
</label>
|
||
<div class="sheet-legendarylist">
|
||
<fieldset class="repeating_legendaryactions">
|
||
<label data-i18n-title="repeatinglegendaryactions" title="repeatinglegendaryactionss">
|
||
<input data-i18n-placeholder="legendaryname" name="attr_legendaryname" placeholder="legendaryname" spellcheck="false" title="@{legendaryname}" type="text" value="" />
|
||
<input data-i18n-placeholder="legendarynotes" name="attr_legendarynotes" placeholder="legendarynotes" spellcheck="false" title="@{legendarynotes}" type="text" value="" />
|
||
</label>
|
||
</fieldset>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="sheet-npcinfo">
|
||
<div class="sheet-NPCNotes">
|
||
<label data-i18n-title="NPCNotes" title="NPCNotes">
|
||
<textarea data-i18n-placeholder="npcnotes" name="attr_npcnotes" placeholder="npcnotes" spellcheck="false" title="@{npcnotes}" />
|
||
</label>
|
||
</div>
|
||
<div class="sheet-NPClegend_and_lore">
|
||
<label data-i18n-title="NPClegend_and_lore" title="NPClegend_and_lore">
|
||
<span data-i18n="legend_and_lore">legend_and_lore</span>
|
||
<textarea data-i18n-placeholder="legend_and_lore" name="attr_legend_and_lore" placeholder="legend_and_lore" spellcheck="false" title="@{legend_and_lore}" />
|
||
</label>
|
||
</div>
|
||
<div class="sheet-NPCEncounters">
|
||
<label data-i18n-title="NPCEncounters" title="NPCEncounters">
|
||
<span data-i18n="encounters">encounters</span>
|
||
<textarea data-i18n-placeholder="encounters" name="attr_encounters" placeholder="encounters" spellcheck="false" title="@{encounters}" />
|
||
</label>
|
||
</div>
|
||
<div class="sheet-NPCRules">
|
||
<label data-i18n-title="NPCRules" title="NPCRules">
|
||
<span data-i18n="rules">rules</span>
|
||
<textarea data-i18n-placeholder="rules" name="attr_rules" placeholder="rules" spellcheck="false" title="@{rules}" />
|
||
</label>
|
||
</div>
|
||
<div class="sheet-NPCSigns">
|
||
<label data-i18n-title="NPCSigns" title="NPCSigns">
|
||
<span data-i18n="signs">signs</span>
|
||
<textarea data-i18n-placeholder="signs" name="attr_signs" placeholder="signs" spellcheck="false" title="@{signs}" />
|
||
</label>
|
||
</div>
|
||
<div class="sheet-NPCBehaviour">
|
||
<label data-i18n-title="NPCBehaviour" title="NPCBehaviour">
|
||
<span data-i18n="behaviour">behaviour</span>
|
||
<textarea data-i18n-placeholder="behaviour" name="attr_behaviour" placeholder="behaviour" spellcheck="false" title="@{behaviour}" />
|
||
</label>
|
||
</div>
|
||
<div class="sheet-NPCCombat">
|
||
<label data-i18n-title="NPCCombat" title="NPCCombat">
|
||
<span data-i18n="combat">combat</span>
|
||
<textarea data-i18n-placeholder="combat" name="attr_combat" placeholder="combat" spellcheck="false" title="@{combat}" />
|
||
</label>
|
||
</div>
|
||
<div class="sheet-NPCNames">
|
||
<label data-i18n-title="NPCNames" title="NPCNames">
|
||
<span data-i18n="names">names</span>
|
||
<textarea data-i18n-placeholder="names" name="attr_names" placeholder="names" spellcheck="false" title="@{names}" />
|
||
</label>
|
||
</div>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<rolltemplate class="sheet-rolltemplate-test">
|
||
<div class="sheet-template-container">
|
||
<h1>{{name}}</h1>
|
||
<div class="sheet-results">
|
||
<h4>Result = {{roll1}}</h4>
|
||
<h4>Custom Result = {{computed::roll1}}</h4>
|
||
</div>
|
||
</div>
|
||
</rolltemplate>
|
||
|
||
<script type="text/worker">
|
||
|
||
/* ---- BEGIN: TheAaronSheet.js ---- */
|
||
// Github: https://github.com/shdwjk/TheAaronSheet/blob/master/TheAaronSheet.js
|
||
// By: The Aaron, Arcane Scriptomancer
|
||
// Contact: https://app.roll20.net/users/104025/the-aaron
|
||
|
||
var TAS = TAS || (function(){
|
||
'use strict';
|
||
|
||
var version = '0.2.5',
|
||
lastUpdate = 1504710542,
|
||
|
||
loggingSettings = {
|
||
debug: {
|
||
key: 'debug',
|
||
title: 'DEBUG',
|
||
color: {
|
||
bgLabel: '#7732A2',
|
||
label: '#F2EF40',
|
||
bgText: '#FFFEB7',
|
||
text: '#7732A2'
|
||
}
|
||
},
|
||
error: {
|
||
key: 'error',
|
||
title: 'Error',
|
||
color: {
|
||
bgLabel: '#C11713',
|
||
label: 'white',
|
||
bgText: '#C11713',
|
||
text: 'white'
|
||
}
|
||
},
|
||
warn: {
|
||
key: 'warn',
|
||
title: 'Warning',
|
||
color: {
|
||
bgLabel: '#F29140',
|
||
label: 'white',
|
||
bgText: '#FFD8B7',
|
||
text: 'black'
|
||
}
|
||
},
|
||
info: {
|
||
key: 'info',
|
||
title: 'Info',
|
||
color: {
|
||
bgLabel: '#413FA9',
|
||
label: 'white',
|
||
bgText: '#B3B2EB',
|
||
text: 'black'
|
||
}
|
||
},
|
||
notice: {
|
||
key: 'notice',
|
||
title: 'Notice',
|
||
color: {
|
||
bgLabel: '#33C133',
|
||
label: 'white',
|
||
bgText: '#ADF1AD',
|
||
text: 'black'
|
||
}
|
||
},
|
||
log: {
|
||
key: 'log',
|
||
title: 'Log',
|
||
color: {
|
||
bgLabel: '#f2f240',
|
||
label: 'black',
|
||
bgText: '#ffff90',
|
||
text: 'black'
|
||
}
|
||
},
|
||
callstack: {
|
||
key: 'TAS',
|
||
title: 'function',
|
||
color: {
|
||
bgLabel: '#413FA9',
|
||
label: 'white',
|
||
bgText: '#B3B2EB',
|
||
text: 'black'
|
||
}
|
||
},
|
||
callstack_async: {
|
||
key: 'TAS',
|
||
title: 'ASYNC CALL',
|
||
color: {
|
||
bgLabel: '#413FA9',
|
||
label: 'white',
|
||
bgText: '#413FA9',
|
||
text: 'white'
|
||
}
|
||
},
|
||
TAS: {
|
||
key: 'TAS',
|
||
title: 'TAS',
|
||
color: {
|
||
bgLabel: 'grey',
|
||
label: 'black;background:linear-gradient(#304352,#d7d2cc,#d7d2cc,#d7d2cc,#304352)',
|
||
bgText: 'grey',
|
||
text: 'black;background:linear-gradient(#304352,#d7d2cc,#d7d2cc,#d7d2cc,#304352)'
|
||
}
|
||
}
|
||
},
|
||
|
||
|
||
config = {
|
||
debugMode: false,
|
||
logging: {
|
||
log: true,
|
||
notice: true,
|
||
info: true,
|
||
warn: true,
|
||
error: true,
|
||
debug: false
|
||
}
|
||
},
|
||
|
||
callstackRegistry = [],
|
||
queuedUpdates = {}, //< Used for delaying saves till the last moment.
|
||
|
||
complexType = function(o){
|
||
switch(typeof o){
|
||
case 'string':
|
||
return 'string';
|
||
case 'boolean':
|
||
return 'boolean';
|
||
case 'number':
|
||
return (_.isNaN(o) ? 'NaN' : (o.toString().match(/\./) ? 'decimal' : 'integer'));
|
||
case 'function':
|
||
return 'function: '+(o.name ? o.name+'()' : '(anonymous)');
|
||
case 'object':
|
||
return (_.isArray(o) ? 'array' : (_.isArguments(o) ? 'arguments' : ( _.isNull(o) ? 'null' : 'object')));
|
||
default:
|
||
return typeof o;
|
||
}
|
||
},
|
||
|
||
dataLogger = function(primaryLogger,secondaryLogger,data){
|
||
_.each(data,function(m){
|
||
var type = complexType(m);
|
||
switch(type){
|
||
case 'string':
|
||
primaryLogger(m);
|
||
break;
|
||
case 'undefined':
|
||
case 'null':
|
||
case 'NaN':
|
||
primaryLogger('['+type+']');
|
||
break;
|
||
case 'number':
|
||
case 'not a number':
|
||
case 'integer':
|
||
case 'decimal':
|
||
case 'boolean':
|
||
primaryLogger('['+type+']: '+m);
|
||
break;
|
||
default:
|
||
primaryLogger('['+type+']:=========================================');
|
||
secondaryLogger(m);
|
||
primaryLogger('=========================================================');
|
||
break;
|
||
}
|
||
});
|
||
},
|
||
|
||
|
||
colorLog = function(options){
|
||
var coloredLoggerFunction,
|
||
key = options.key,
|
||
label = options.title || 'TAS',
|
||
lBGColor = (options.color && options.color.bgLabel) || 'blue',
|
||
lTxtColor = (options.color && options.color.label) || 'white',
|
||
mBGColor = (options.color && options.color.bgText) || 'blue',
|
||
mTxtColor = (options.color && options.color.text) || 'white';
|
||
|
||
coloredLoggerFunction = function(message){
|
||
/* eslint-disable no-console */
|
||
console.log(
|
||
'%c '+label+': %c '+message + ' ',
|
||
'background-color: '+lBGColor+';color: '+lTxtColor+'; font-weight:bold;',
|
||
'background-color: '+mBGColor+';color: '+mTxtColor+';'
|
||
);
|
||
/* eslint-enable no-console */
|
||
};
|
||
return function(){
|
||
if('TAS'===key || config.logging[key]){
|
||
/* eslint-disable no-console */
|
||
dataLogger(coloredLoggerFunction,function(m){console.log(m);},_.toArray(arguments));
|
||
/* eslint-enable no-console */
|
||
}
|
||
};
|
||
},
|
||
|
||
logDebug = colorLog(loggingSettings.debug),
|
||
logError = colorLog(loggingSettings.error),
|
||
logWarn = colorLog(loggingSettings.warn),
|
||
logInfo = colorLog(loggingSettings.info),
|
||
logNotice = colorLog(loggingSettings.notice),
|
||
logLog = colorLog(loggingSettings.log),
|
||
log = colorLog(loggingSettings.TAS),
|
||
logCS = colorLog(loggingSettings.callstack),
|
||
logCSA = colorLog(loggingSettings.callstack_async),
|
||
|
||
registerCallstack = function(callstack,label){
|
||
var idx=_.findIndex(callstackRegistry,function(o){
|
||
return (_.difference(o.stack,callstack).length === _.difference(callstack,o.stack).length) &&
|
||
_.difference(o.stack,callstack).length === 0 &&
|
||
o.label === label;
|
||
});
|
||
if(-1 === idx){
|
||
idx=callstackRegistry.length;
|
||
callstackRegistry.push({
|
||
stack: callstack,
|
||
label: label
|
||
});
|
||
}
|
||
return idx;
|
||
},
|
||
|
||
setConfigOption = function(options){
|
||
var newconf =_.defaults(options,config);
|
||
newconf.logging=_.defaults(
|
||
(options && options.logging)||{},
|
||
config.logging
|
||
);
|
||
config=newconf;
|
||
},
|
||
|
||
isDebugMode = function(){
|
||
return config.debugMode;
|
||
},
|
||
|
||
debugMode = function(){
|
||
config.logging.debug=true;
|
||
config.debugMode = true;
|
||
},
|
||
|
||
getCallstack = function(){
|
||
var e = new Error('dummy'),
|
||
stack = _.map(_.rest(e.stack.replace(/^[^(]+?[\n$]/gm, '')
|
||
.replace(/^\s+at\s+/gm, '')
|
||
.replace(/^Object.<anonymous>\s*\(/gm, '{anonymous}()@')
|
||
.split('\n')),function(l){
|
||
return l.replace(/\s+.*$/,'');
|
||
});
|
||
return stack;
|
||
},
|
||
logCallstackSub = function(cs){
|
||
var matches, csa;
|
||
_.find(cs,function(line){
|
||
matches = line.match(/TAS_CALLSTACK_(\d+)/);
|
||
if(matches){
|
||
csa=callstackRegistry[matches[1]];
|
||
logCSA( '===================='+(csa.label ? '> '+csa.label+' <' : '')+'====================');
|
||
logCallstackSub(csa.stack);
|
||
return true;
|
||
}
|
||
logCS(line);
|
||
return false;
|
||
});
|
||
},
|
||
logCallstack = function(){
|
||
var cs;
|
||
if(config.debugMode){
|
||
cs = getCallstack();
|
||
cs.shift();
|
||
log('==============================> CALLSTACK <==============================');
|
||
logCallstackSub(cs);
|
||
log('=========================================================================');
|
||
}
|
||
},
|
||
|
||
|
||
wrapCallback = function (label, callback, context){
|
||
var callstack;
|
||
if('function' === typeof label){
|
||
context=callback;
|
||
callback=label;
|
||
label=undefined;
|
||
}
|
||
if(!config.debugMode){
|
||
return (function(cb,ctx){
|
||
return function(){
|
||
cb.apply(ctx||{},arguments);
|
||
};
|
||
}(callback,context));
|
||
}
|
||
|
||
callstack = getCallstack();
|
||
callstack.shift();
|
||
|
||
return (function(cb,ctx,cs,lbl){
|
||
var ctxref=registerCallstack(cs,lbl);
|
||
|
||
/*jshint -W054 */
|
||
return new Function('cb','ctx','TASlog',
|
||
"return function TAS_CALLSTACK_"+ctxref+"(){"+
|
||
"var start,end;"+
|
||
"TASlog('Entering: '+(cb.name||'(anonymous function)'));"+
|
||
"start=_.now();"+
|
||
"cb.apply(ctx||{},arguments);"+
|
||
"end=_.now();"+
|
||
"TASlog('Exiting: '+(cb.name||'(anonymous function)')+' :: '+(end-start)+'ms elapsed');"+
|
||
"};")(cb,ctx,log);
|
||
/*jshint +W054 */
|
||
}(callback,context,callstack,label));
|
||
},
|
||
|
||
|
||
prepareUpdate = function( attribute, value ){
|
||
queuedUpdates[attribute]=value;
|
||
},
|
||
|
||
applyQueuedUpdates = function() {
|
||
setAttrs(queuedUpdates);
|
||
queuedUpdates = {};
|
||
},
|
||
|
||
namesFromArgs = function(args,base){
|
||
return _.chain(args)
|
||
.reduce(function(memo,attr){
|
||
if('string' === typeof attr) {
|
||
memo.push(attr);
|
||
} else if(_.isArray(args) || _.isArguments(args)){
|
||
memo = namesFromArgs(attr,memo);
|
||
}
|
||
return memo;
|
||
},(_.isArray(base) && base) || [])
|
||
.uniq()
|
||
.value();
|
||
},
|
||
|
||
addId = function(obj,value){
|
||
Object.defineProperty(obj,'id',{
|
||
value: value,
|
||
writable: false,
|
||
enumerable: false
|
||
});
|
||
},
|
||
|
||
addProp = function(obj,prop,value,fullname){
|
||
(function(){
|
||
var pname=(_.contains(['S','F','I','D'],prop) ? '_'+prop : prop),
|
||
full_pname = fullname || prop,
|
||
pvalue=value;
|
||
|
||
_.each(['S','I','F'],function(p){
|
||
if( !_.has(obj,p)){
|
||
Object.defineProperty(obj, p, {
|
||
value: {},
|
||
enumerable: false,
|
||
readonly: true
|
||
});
|
||
}
|
||
});
|
||
if( !_.has(obj,'D')){
|
||
Object.defineProperty(obj, 'D', {
|
||
value: _.reduce(_.range(10),function(m,d){
|
||
Object.defineProperty(m, d, {
|
||
value: {},
|
||
enumerable: true,
|
||
readonly: true
|
||
});
|
||
return m;
|
||
},{}),
|
||
enumerable: false,
|
||
readonly: true
|
||
});
|
||
}
|
||
|
||
|
||
// Raw value
|
||
Object.defineProperty(obj, pname, {
|
||
enumerable: true,
|
||
set: function(v){
|
||
if(v!==pvalue) {
|
||
pvalue=v;
|
||
prepareUpdate(full_pname,v);
|
||
}
|
||
},
|
||
get: function(){
|
||
return pvalue;
|
||
}
|
||
});
|
||
|
||
// string value
|
||
Object.defineProperty(obj.S, pname, {
|
||
enumerable: true,
|
||
set: function(v){
|
||
var val=v.toString();
|
||
if(val !== pvalue) {
|
||
pvalue=val;
|
||
prepareUpdate(full_pname,val);
|
||
}
|
||
},
|
||
get: function(){
|
||
return pvalue.toString();
|
||
}
|
||
});
|
||
|
||
// int value
|
||
Object.defineProperty(obj.I, pname, {
|
||
enumerable: true,
|
||
set: function(v){
|
||
var val=parseInt(v,10) || 0;
|
||
if(val !== pvalue){
|
||
pvalue=val;
|
||
prepareUpdate(full_pname,val);
|
||
}
|
||
},
|
||
get: function(){
|
||
return parseInt(pvalue,10) || 0;
|
||
}
|
||
});
|
||
|
||
// float value
|
||
Object.defineProperty(obj.F, pname, {
|
||
enumerable: true,
|
||
set: function(v){
|
||
var val=parseFloat(v) || 0;
|
||
if(val !== pvalue) {
|
||
pvalue=val;
|
||
prepareUpdate(full_pname,val);
|
||
}
|
||
},
|
||
get: function(){
|
||
return parseFloat(pvalue) || 0;
|
||
}
|
||
});
|
||
_.each(_.range(10),function(d){
|
||
Object.defineProperty(obj.D[d], pname, {
|
||
enumerable: true,
|
||
set: function(v){
|
||
var val=(parseFloat(v) || 0).toFixed(d);
|
||
if(val !== pvalue){
|
||
pvalue=val;
|
||
prepareUpdate(full_pname,val);
|
||
}
|
||
},
|
||
get: function(){
|
||
return (parseFloat(pvalue) || 0).toFixed(d);
|
||
}
|
||
});
|
||
});
|
||
|
||
}());
|
||
},
|
||
|
||
repeating = function( section ) {
|
||
return (function(s){
|
||
var sectionName = s,
|
||
attrNames = [],
|
||
fieldNames = [],
|
||
operations = [],
|
||
after = [],
|
||
|
||
repAttrs = function TAS_Repeating_Attrs(){
|
||
attrNames = namesFromArgs(arguments,attrNames);
|
||
return this;
|
||
},
|
||
repFields = function TAS_Repeating_Fields(){
|
||
fieldNames = namesFromArgs(arguments,fieldNames);
|
||
return this;
|
||
},
|
||
repReduce = function TAS_Repeating_Reduce(func, initial, final, context) {
|
||
operations.push({
|
||
type: 'reduce',
|
||
func: (func && _.isFunction(func) && func) || _.noop,
|
||
memo: (_.isUndefined(initial) && 0) || initial,
|
||
final: (final && _.isFunction(final) && final) || _.noop,
|
||
context: context || {}
|
||
});
|
||
return this;
|
||
},
|
||
repMap = function TAS_Repeating_Map(func, final, context) {
|
||
operations.push({
|
||
type: 'map',
|
||
func: (func && _.isFunction(func) && func) || _.noop,
|
||
final: (final && _.isFunction(final) && final) || _.noop,
|
||
context: context || {}
|
||
});
|
||
return this;
|
||
},
|
||
repEach = function TAS_Repeating_Each(func, final, context) {
|
||
operations.push({
|
||
type: 'each',
|
||
func: (func && _.isFunction(func) && func) || _.noop,
|
||
final: (final && _.isFunction(final) && final) || _.noop,
|
||
context: context || {}
|
||
});
|
||
return this;
|
||
},
|
||
repTap = function TAS_Repeating_Tap(final, context) {
|
||
operations.push({
|
||
type: 'tap',
|
||
final: (final && _.isFunction(final) && final) || _.noop,
|
||
context: context || {}
|
||
});
|
||
return this;
|
||
},
|
||
repAfter = function TAS_Repeating_After(callback,context) {
|
||
after.push({
|
||
callback: (callback && _.isFunction(callback) && callback) || _.noop,
|
||
context: context || {}
|
||
});
|
||
return this;
|
||
},
|
||
repExecute = function TAS_Repeating_Execute(callback,context){
|
||
var rowSet = {},
|
||
attrSet = {},
|
||
fieldIds = [],
|
||
fullFieldNames = [];
|
||
|
||
repAfter(callback,context);
|
||
|
||
// call each operation per row.
|
||
// call each operation's final
|
||
getSectionIDs("repeating_"+sectionName,function(ids){
|
||
fieldIds = ids;
|
||
fullFieldNames = _.reduce(fieldIds,function(memo,id){
|
||
return memo.concat(_.map(fieldNames,function(name){
|
||
return 'repeating_'+sectionName+'_'+id+'_'+name;
|
||
}));
|
||
},[]);
|
||
getAttrs( _.uniq(attrNames.concat(fullFieldNames)), function(values){
|
||
_.each(attrNames,function(aname){
|
||
if(values.hasOwnProperty(aname)){
|
||
addProp(attrSet,aname,values[aname]);
|
||
}
|
||
});
|
||
|
||
rowSet = _.reduce(fieldIds,function(memo,id){
|
||
var r={};
|
||
addId(r,id);
|
||
_.each(fieldNames,function(name){
|
||
var fn = 'repeating_'+sectionName+'_'+id+'_'+name;
|
||
addProp(r,name,values[fn],fn);
|
||
});
|
||
|
||
memo[id]=r;
|
||
|
||
return memo;
|
||
},{});
|
||
|
||
_.each(operations,function(op){
|
||
var res;
|
||
switch(op.type){
|
||
case 'tap':
|
||
_.bind(op.final,op.context,rowSet,attrSet)();
|
||
break;
|
||
|
||
case 'each':
|
||
_.each(rowSet,function(r){
|
||
_.bind(op.func,op.context,r,attrSet,r.id,rowSet)();
|
||
});
|
||
_.bind(op.final,op.context,rowSet,attrSet)();
|
||
break;
|
||
|
||
case 'map':
|
||
res = _.map(rowSet,function(r){
|
||
return _.bind(op.func,op.context,r,attrSet,r.id,rowSet)();
|
||
});
|
||
_.bind(op.final,op.context,res,rowSet,attrSet)();
|
||
break;
|
||
|
||
case 'reduce':
|
||
res = op.memo;
|
||
_.each(rowSet,function(r){
|
||
res = _.bind(op.func,op.context,res,r,attrSet,r.id,rowSet)();
|
||
});
|
||
_.bind(op.final,op.context,res,rowSet,attrSet)();
|
||
break;
|
||
}
|
||
});
|
||
|
||
// finalize attrs
|
||
applyQueuedUpdates();
|
||
_.each(after,function(op){
|
||
_.bind(op.callback,op.context)();
|
||
});
|
||
});
|
||
});
|
||
};
|
||
|
||
return {
|
||
attrs: repAttrs,
|
||
attr: repAttrs,
|
||
|
||
column: repFields,
|
||
columns: repFields,
|
||
field: repFields,
|
||
fields: repFields,
|
||
|
||
reduce: repReduce,
|
||
inject: repReduce,
|
||
foldl: repReduce,
|
||
|
||
map: repMap,
|
||
collect: repMap,
|
||
|
||
each: repEach,
|
||
forEach: repEach,
|
||
|
||
tap: repTap,
|
||
'do': repTap,
|
||
|
||
after: repAfter,
|
||
last: repAfter,
|
||
done: repAfter,
|
||
|
||
execute: repExecute,
|
||
go: repExecute,
|
||
run: repExecute
|
||
};
|
||
}(section));
|
||
},
|
||
|
||
|
||
repeatingSimpleSum = function(section, field, destination){
|
||
repeating(section)
|
||
.attr(destination)
|
||
.field(field)
|
||
.reduce(function(m,r){
|
||
return m + (r.F[field]);
|
||
},0,function(t,r,a){
|
||
a.S[destination]=t;
|
||
})
|
||
.execute();
|
||
};
|
||
|
||
/* eslint-disable no-console */
|
||
console.log('%c•.¸¸.•*´¨`*•.¸¸.•*´¨`*•.¸ The Aaron Sheet v'+version+' ¸.•*´¨`*•.¸¸.•*´¨`*•.¸¸.•','background: linear-gradient(to right,green,white,white,green); color:black;text-shadow: 0 0 8px white;');
|
||
console.log('%c•.¸¸.•*´¨`*•.¸¸.•*´¨`*•.¸ Last update: '+(new Date(lastUpdate*1000))+' ¸.•*´¨`*•.¸¸.•*´¨`*•.¸¸.•','background: linear-gradient(to right,green,white,white,green); color:black;text-shadow: 0 0 8px white;');
|
||
/* eslint-enable no-console */
|
||
|
||
|
||
return {
|
||
/* Repeating Sections */
|
||
repeatingSimpleSum: repeatingSimpleSum,
|
||
repeating: repeating,
|
||
|
||
/* Configuration */
|
||
config: setConfigOption,
|
||
|
||
/* Debugging */
|
||
callback: wrapCallback,
|
||
callstack: logCallstack,
|
||
debugMode: debugMode,
|
||
isDebugMode: isDebugMode,
|
||
_fn: wrapCallback,
|
||
|
||
/* Logging */
|
||
debug: logDebug,
|
||
error: logError,
|
||
warn: logWarn,
|
||
info: logInfo,
|
||
notice: logNotice,
|
||
log: logLog
|
||
};
|
||
}());
|
||
|
||
/* ---- END: TheAaronSheet.js ---- */
|
||
|
||
/*Onxy rings functions they are wonderful*/
|
||
function setActiveCharacterId(charId){
|
||
var oldAcid=getActiveCharacterId();
|
||
var ev = new CustomEvent("message");
|
||
ev.data={"id":"0", "type":"setActiveCharacter", "data":charId};
|
||
self.dispatchEvent(ev);
|
||
return oldAcid;
|
||
}
|
||
var _sIn=setInterval;
|
||
setInterval=function(callback, timeout){
|
||
var acid=getActiveCharacterId();
|
||
_sIn(
|
||
function(){
|
||
var prevAcid=setActiveCharacterId(acid);
|
||
callback();
|
||
setActiveCharacterId(prevAcid);
|
||
}
|
||
,timeout);
|
||
}
|
||
var _sto=setTimeout
|
||
setTimeout=function(callback, timeout){
|
||
var acid=getActiveCharacterId();
|
||
_sto(
|
||
function(){
|
||
var prevAcid=setActiveCharacterId(acid);
|
||
callback();
|
||
setActiveCharacterId(prevAcid);
|
||
}
|
||
,timeout);
|
||
}
|
||
function getAttrsAsync(props){
|
||
var acid=getActiveCharacterId(); //save the current activeCharacterID in case it has changed when the promise runs
|
||
var prevAcid=null; //local variable defined here, because it needs to be shared across the promise callbacks defined below
|
||
return new Promise((resolve,reject)=>{
|
||
prevAcid=setActiveCharacterId(acid); //in case the activeCharacterId has changed, restore it to what we were expecting and save the current value to restore later
|
||
try{
|
||
getAttrs(props,(values)=>{ resolve(values); });
|
||
}
|
||
catch{ reject(); }
|
||
}).finally(()=>{
|
||
setActiveCharacterId(prevAcid); //restore activeCharcterId to what it was when the promise first ran
|
||
});
|
||
}
|
||
//use the same pattern for each of the following...
|
||
function setAttrsAsync(propObj, options){
|
||
var acid=getActiveCharacterId();
|
||
var prevAcid=null;
|
||
return new Promise((resolve,reject)=>{
|
||
prevAcid=setActiveCharacterId(acid);
|
||
try{
|
||
setAttrs(propObj,options,(values)=>{ resolve(values); });
|
||
}
|
||
catch{ reject(); }
|
||
}).finally(()=>{
|
||
setActiveCharacterId(prevAcid);
|
||
});
|
||
}
|
||
|
||
function getSectionIDsAsync(sectionName){
|
||
var acid=getActiveCharacterId();
|
||
var prevAcid=null;
|
||
return new Promise((resolve,reject)=>{
|
||
prevAcid=setActiveCharacterId(acid);
|
||
try{
|
||
getSectionIDs(sectionName,(values)=>{ resolve(values); });
|
||
}
|
||
catch{ reject(); }
|
||
}).finally(()=>{
|
||
setActiveCharacterId(prevAcid);
|
||
});
|
||
}
|
||
function getSingleAttrAsync(prop){
|
||
var acid=getActiveCharacterId();
|
||
var prevAcid=null;
|
||
return new Promise((resolve,reject)=>{
|
||
prevAcid=setActiveCharacterId(acid);
|
||
try{
|
||
getAttrs([prop],(values)=>{ resolve(values[prop]); });
|
||
}
|
||
catch{ reject(); }
|
||
}).finally(()=>{
|
||
setActiveCharacterId(prevAcid);
|
||
});
|
||
}
|
||
|
||
|
||
on("change:repeating_class remove:repeating_class", function(){
|
||
TAS.repeatingSimpleSum('class','level','totallevel');
|
||
});
|
||
|
||
on("change:repeating_equipment remove:repeating_equipment", function(){
|
||
TAS.repeatingSimpleSum('equipment','equipmentwt','total_wt');
|
||
});
|
||
|
||
on("sheet:opened change:character_name", function(eventInfo) {
|
||
getAttrs(["character_name","acrobatics-action","animalhandling-action","arcana-action","athletics-action","culture-action","deception-action","engineering-action","history-action","insight-action","intimidation-action","investigation-action","medicine-action","nature-action","perception-action","performance-action","persuasion-action","religion-action","sleightofhand-action","stealth-action","survival-action","vehicles-action","misc1-action","misc2-action"], function(v) {
|
||
var attrsToChange = {};
|
||
attrsToChange["acrobatics-action"] = "%{" + v["character_name"] + "|acrobatics-button}";
|
||
attrsToChange["animalhandling-action"] = "%{" + v["character_name"] + "|animalhandling-button}";
|
||
attrsToChange["arcana-action"] = "%{" + v["character_name"] + "|arcana-button}";
|
||
attrsToChange["athletics-action"] = "%{" + v["character_name"] + "|athletics-button}";
|
||
attrsToChange["culture-action"] = "%{" + v["character_name"] + "|culture-button}";
|
||
attrsToChange["deception-action"] = "%{" + v["character_name"] + "|deception-button}";
|
||
attrsToChange["engineering-action"] = "%{" + v["character_name"] + "|engineering-button}";
|
||
attrsToChange["history-action"] = "%{" + v["character_name"] + "|history-button}";
|
||
attrsToChange["insight-action"] = "%{" + v["character_name"] + "|insight-button}";
|
||
attrsToChange["intimidation-action"] = "%{" + v["character_name"] + "|intimidation-button}";
|
||
attrsToChange["investigation-action"] = "%{" + v["character_name"] + "|investigation-button}";
|
||
attrsToChange["medicine-action"] = "%{" + v["character_name"] + "|medicine-button}";
|
||
attrsToChange["nature-action"] = "%{" + v["character_name"] + "|nature-button}";
|
||
attrsToChange["perception-action"] = "%{" + v["character_name"] + "|perception-button}";
|
||
attrsToChange["performance-action"] = "%{" + v["character_name"] + "|performance-button}";
|
||
attrsToChange["persuasion-action"] = "%{" + v["character_name"] + "|persuasion-button}";
|
||
attrsToChange["religion-action"] = "%{" + v["character_name"] + "|religion-button}";
|
||
attrsToChange["sleightofhand-action"] = "%{" + v["character_name"] + "|sleightofhand-button}";
|
||
attrsToChange["stealth-action"] = "%{" + v["character_name"] + "|stealth-button}";
|
||
attrsToChange["survival-action"] = "%{" + v["character_name"] + "|survival-button}";
|
||
attrsToChange["vehicles-action"] = "%{" + v["character_name"] + "|vehicles-button}";
|
||
attrsToChange["misc1-action"] = "%{" + v["character_name"] + "|misc1-button}";
|
||
attrsToChange["misc2-action"] = "%{" + v["character_name"] + "|misc2-button}";
|
||
attrsToChange["initiative-action"] = "%{" + v["character_name"] + "|initiative-button}";
|
||
attrsToChange["hitdice-action"] = "%{" + v["character_name"] + "|hitdice-button}";
|
||
attrsToChange["deathsave-action"] = "%{" + v["character_name"] + "|deathsave-button}";
|
||
attrsToChange["strength-action"] = "%{" + v["character_name"] + "|strength-button}";
|
||
attrsToChange["dexterity-action"] = "%{" + v["character_name"] + "|dexterity-button}";
|
||
attrsToChange["constitution-action"] = "%{" + v["character_name"] + "|constitution-button}";
|
||
attrsToChange["intelligence-action"] = "%{" + v["character_name"] + "|intelligence-button}";
|
||
attrsToChange["wisdom-action"] = "%{" + v["character_name"] + "|wisdom-button}";
|
||
attrsToChange["charisma-action"] = "%{" + v["character_name"] + "|charisma-button}";
|
||
attrsToChange["strengthsave-action"] = "%{" + v["character_name"] + "|strengthsave-button}";
|
||
attrsToChange["dexteritysave-action"] = "%{" + v["character_name"] + "|dexteritysave-button}";
|
||
attrsToChange["constitutionsave-action"] = "%{" + v["character_name"] + "|constitutionsave-button}";
|
||
attrsToChange["intelligencesave-action"] = "%{" + v["character_name"] + "|intelligencesave-button}";
|
||
attrsToChange["wisdomsave-action"] = "%{" + v["character_name"] + "|wisdomsave-button}";
|
||
attrsToChange["charismasave-action"] = "%{" + v["character_name"] + "|charismasave-button}";
|
||
setAttrs(attrsToChange);
|
||
});
|
||
});
|
||
|
||
on("change:sheet_type", function() {
|
||
getAttrs(["sheet_type"], function(values) {
|
||
var sheet_type = values["sheet_type"]||"";
|
||
setAttrs({
|
||
"sheetTab": sheet_type,
|
||
});
|
||
});
|
||
});
|
||
|
||
on("change:pcnpc_type", function() {
|
||
getAttrs(["pcnpc_type"], function(values) {
|
||
var pcnpc_type = values["pcnpc_type"]||"";
|
||
setAttrs({
|
||
"pcnpcTab": pcnpc_type,
|
||
});
|
||
});
|
||
});
|
||
|
||
on("change:statsinfo_type", function() {
|
||
getAttrs(["statsinfo_type"], function(values) {
|
||
var statsinfo_type = values["statsinfo_type"]||"";
|
||
setAttrs({
|
||
"statsinfoTab": statsinfo_type,
|
||
});
|
||
});
|
||
});
|
||
on("change:repeating_class:class", function() {
|
||
getAttrs(["repeating_class_class"], function(values) {
|
||
var cclass = values["repeating_class_class"]||"";
|
||
var archtype = "archtype";
|
||
if (cclass == "Adept") { archtype = "adept" ;};
|
||
if (cclass == "Bard") { archtype = "bard" ;};
|
||
if (cclass == "Berserker") { archtype = "berserker" ;};
|
||
if (cclass == "Cleric") { archtype = "cleric" ;};
|
||
if (cclass == "Druid") { archtype = "druid" ;};
|
||
if (cclass == "Fighter") { archtype = "fighter" ;};
|
||
if (cclass == "Herald") { archtype = "herald" ;};
|
||
if (cclass == "Ranger") { archtype = "ranger" ;};
|
||
if (cclass == "Rogue") { archtype = "rogue" ;};
|
||
if (cclass == "Sorcerer") { archtype = "sorcerer" ;};
|
||
if (cclass == "Warlock") { archtype = "warlock" ;};
|
||
if (cclass == "Wizard") { archtype = "wizard" ;};
|
||
|
||
setAttrs({
|
||
"repeating_class_archtypeclass": archtype,
|
||
});
|
||
});
|
||
});
|
||
on("change:totallevel sheet:opened", function () {
|
||
getAttrs(["totallevel"], function (values) {
|
||
const level = parseInt(values['totallevel'], 10)||0;
|
||
var prof = level;
|
||
switch (level) {
|
||
case 1 : prof = 2;
|
||
break;
|
||
case 2 : prof = 2;
|
||
break;
|
||
case 3 : prof = 2;
|
||
break;
|
||
case 4 : prof = 2;
|
||
break;
|
||
case 5 : prof = 3;
|
||
break;
|
||
case 6 : prof = 3;
|
||
break;
|
||
case 7 : prof = 3;
|
||
break;
|
||
case 8 : prof = 3;
|
||
break;
|
||
case 9 : prof = 4;
|
||
break;
|
||
case 10 : prof = 4;
|
||
break;
|
||
case 11 : prof = 4;
|
||
break;
|
||
case 12 : prof = 4;
|
||
break;
|
||
case 13 : prof = 5;
|
||
break;
|
||
case 14 : prof = 5;
|
||
break;
|
||
case 15 : prof = 5;
|
||
break;
|
||
case 16 : prof = 5;
|
||
break;
|
||
case 17 : prof = 6;
|
||
break;
|
||
case 18 : prof = 6;
|
||
break;
|
||
case 19 : prof = 6;
|
||
break;
|
||
case 20 : prof = 6;
|
||
break;
|
||
default: prof = 2
|
||
};
|
||
setAttrs({
|
||
PB: prof,
|
||
});
|
||
});
|
||
});
|
||
on("change:strength change:PB change:strength_save_prof sheet:opened", function () {
|
||
getAttrs(["strength","strength_save_prof","PB"], function (values) {
|
||
const strength = parseInt(values['strength'], 10)||0;
|
||
const prof = parseInt(values['PB'])||0;
|
||
var saveprof = values["strength_save_prof"]||0;
|
||
const modifier = Math.floor(strength/2) -5;
|
||
var savemod = modifier;
|
||
if (saveprof == 1) {
|
||
savemod = savemod + prof;
|
||
};
|
||
setAttrs({
|
||
strength_mod: modifier,
|
||
strength_save_mod: savemod,
|
||
});
|
||
});
|
||
});
|
||
on("change:dexterity change:PB change:dexterity_save_prof sheet:opened", function () {
|
||
getAttrs(["dexterity","dexterity_save_prof","PB"], function (values) {
|
||
const dexterity = parseInt(values['dexterity'], 10)||0;
|
||
const prof = parseInt(values['PB'])||0;
|
||
var saveprof = values["dexterity_save_prof"]||0;
|
||
const modifier = Math.floor(dexterity/2) -5;
|
||
var savemod = modifier;
|
||
if (saveprof == 1) {
|
||
savemod = savemod + prof;
|
||
};
|
||
|
||
setAttrs({
|
||
dexterity_mod: modifier,
|
||
dexterity_save_mod: savemod,
|
||
});
|
||
});
|
||
});
|
||
on("change:constitution change:PB change:constitution_save_prof sheet:opened", function () {
|
||
getAttrs(["constitution","constitution_save_prof","PB"], function (values) {
|
||
const constitution = parseInt(values['constitution'], 10)||0;
|
||
const prof = parseInt(values['PB'])||0;
|
||
var saveprof = values["constitution_save_prof"]||0;
|
||
const modifier = Math.floor(constitution/2) -5;
|
||
var savemod = modifier;
|
||
if (saveprof == 1) {
|
||
savemod = savemod + prof;
|
||
};
|
||
setAttrs({
|
||
constitution_mod: modifier,
|
||
constitution_save_mod: savemod,
|
||
});
|
||
});
|
||
});
|
||
on("change:intelligence change:PB change:intelligence_save_prof sheet:opened", function () {
|
||
getAttrs(["intelligence","intelligence_save_prof","PB"], function (values) {
|
||
const intelligence = parseInt(values['intelligence'], 10)||0;
|
||
const prof = parseInt(values['PB'])||0;
|
||
var saveprof = values["intelligence_save_prof"]||0;
|
||
const modifier = Math.floor(intelligence/2) -5;
|
||
var savemod = modifier;
|
||
if (saveprof == 1) {
|
||
savemod = savemod + prof;
|
||
};
|
||
setAttrs({
|
||
intelligence_mod: modifier,
|
||
intelligence_save_mod: savemod,
|
||
});
|
||
});
|
||
});
|
||
on("change:wisdom change:PB change:wisdom_save_prof sheet:opened", function () {
|
||
getAttrs(["wisdom","wisdom_save_prof","PB"], function (values) {
|
||
const wisdom = parseInt(values['wisdom'], 10)||0;
|
||
const prof = parseInt(values['PB'])||0;
|
||
var saveprof = values["wisdom_save_prof"]||0;
|
||
const modifier = Math.floor(wisdom/2) -5;
|
||
var savemod = modifier;
|
||
if (saveprof == 1) {
|
||
savemod = savemod + prof;
|
||
};
|
||
setAttrs({
|
||
wisdom_mod: modifier,
|
||
wisdom_save_mod: savemod,
|
||
});
|
||
});
|
||
});
|
||
on("change:charisma change:PB change:charisma_save_prof sheet:opened", function () {
|
||
getAttrs(["charisma","charisma_save_prof","PB","rolladvdis"], function (values) {
|
||
const charisma = parseInt(values['charisma'], 10)||0;
|
||
const prof = parseInt(values['PB'])||0;
|
||
var saveprof = values["charisma_save_prof"]||0;
|
||
const modifier = Math.floor(charisma/2) -5;
|
||
var savemod = modifier;
|
||
if (saveprof == 1) {
|
||
savemod = savemod + prof;
|
||
};
|
||
setAttrs({
|
||
charisma_mod: modifier,
|
||
charisma_save_mod: savemod,
|
||
});
|
||
});
|
||
});
|
||
|
||
on('clicked:strength-button', async (info) => {
|
||
const values = await getAttrsAsync(['character_name','strength_mod','rolladvdis','rollgmnormal']);
|
||
const bonus = parseInt(values.strength_mod)||0;
|
||
const charname = values.character_name || "";
|
||
const rolladvdis = values.rolladvdis||"sta";
|
||
const rollgmnormal = values.rollgmnormal||"normal";
|
||
|
||
var diceroll = "1d20";
|
||
if (rolladvdis == "adv") {diceroll = "2d20kh1";};
|
||
if (rolladvdis == "dis") {diceroll = "2d20dh1";};
|
||
|
||
var gmroll = "";
|
||
if (rollgmnormal == "gm") { gmroll = "/w gm ";}
|
||
const results = await startRoll( gmroll+"&{template:default} {{name="+charname+" Strength Roll}}{{roll=[["+diceroll+"+"+bonus+"]]}}");
|
||
finishRoll(results.rollId);
|
||
});
|
||
on('clicked:strengthsave-button', async (info) => {
|
||
const values = await getAttrsAsync(['character_name','strength_save_mod','strength_save_bonus','globalsavebonus','rolladvdis','rollgmnormal']);
|
||
const savemod = parseInt(values.strength_save_mod)||0;
|
||
const savebonus = parseInt(values.strength_save_bonus)||0;
|
||
const charname = values.character_name || "";
|
||
const globalsavebonus = parseInt(values.globalsavebonus)||0;
|
||
const rolladvdis = values.rolladvdis||"sta";
|
||
const rollgmnormal = values.rollgmnormal||"normal";
|
||
|
||
const bonus = savemod+savebonus+globalsavebonus;
|
||
|
||
var diceroll = "1d20";
|
||
if (rolladvdis == "adv") {diceroll = "2d20kh1";};
|
||
if (rolladvdis == "dis") {diceroll = "2d20dh1";};
|
||
|
||
var gmroll = "";
|
||
if (rollgmnormal == "gm") { gmroll = "/w gm ";}
|
||
const results = await startRoll( gmroll+"&{template:default} {{name="+charname+" Strength Save}}{{save=[["+diceroll+"+"+bonus+"]]}}");
|
||
finishRoll(results.rollId);
|
||
});
|
||
on('clicked:dexterity-button', async (info) => {
|
||
const values = await getAttrsAsync(['character_name','dexterity_mod','rolladvdis','rollgmnormal']);
|
||
const bonus = parseInt(values.dexterity_mod)||0;
|
||
const charname = values.character_name || "";
|
||
const rolladvdis = values.rolladvdis||"sta";
|
||
const rollgmnormal = values.rollgmnormal||"normal";
|
||
|
||
var diceroll = "1d20";
|
||
if (rolladvdis == "adv") {diceroll = "2d20kh1";};
|
||
if (rolladvdis == "dis") {diceroll = "2d20dh1";};
|
||
|
||
var gmroll = "";
|
||
if (rollgmnormal == "gm") { gmroll = "/w gm ";}
|
||
const results = await startRoll( gmroll+"&{template:default} {{name="+charname+" Dexterity Roll}}{{roll=[["+diceroll+"+"+bonus+"]]}}");
|
||
finishRoll(results.rollId);
|
||
});
|
||
on('clicked:dexteritysave-button', async (info) => {
|
||
const values = await getAttrsAsync(['character_name','dexterity_save_mod','dexterity_save_bonus','globalsavebonus','rolladvdis','rollgmnormal']);
|
||
const savemod = parseInt(values.dexterity_save_mod)||0;
|
||
const savebonus = parseInt(values.dexterity_save_bonus)||0;
|
||
const charname = values.character_name || "";
|
||
const globalsavebonus = parseInt(values.globalsavebonus)||0;
|
||
const rolladvdis = values.rolladvdis||"sta";
|
||
const rollgmnormal = values.rollgmnormal||"normal";
|
||
|
||
const bonus = savemod+savebonus+globalsavebonus;
|
||
|
||
var diceroll = "1d20";
|
||
if (rolladvdis == "adv") {diceroll = "2d20kh1";};
|
||
if (rolladvdis == "dis") {diceroll = "2d20dh1";};
|
||
|
||
var gmroll = "";
|
||
if (rollgmnormal == "gm") { gmroll = "/w gm ";}
|
||
const results = await startRoll( gmroll+"&{template:default} {{name="+charname+" Dexterity Save}}{{save=[["+diceroll+"+"+bonus+"]]}}");
|
||
finishRoll(results.rollId);
|
||
});
|
||
on('clicked:constitution-button', async (info) => {
|
||
const values = await getAttrsAsync(['character_name','constitution_mod','rolladvdis','rollgmnormal']);
|
||
const bonus = parseInt(values.constitution_mod)||0;
|
||
const charname = values.character_name || "";
|
||
const rolladvdis = values.rolladvdis||"sta";
|
||
const rollgmnormal = values.rollgmnormal||"normal";
|
||
|
||
var diceroll = "1d20";
|
||
if (rolladvdis == "adv") {diceroll = "2d20kh1";};
|
||
if (rolladvdis == "dis") {diceroll = "2d20dh1";};
|
||
|
||
var gmroll = "";
|
||
if (rollgmnormal == "gm") { gmroll = "/w gm ";}
|
||
const results = await startRoll( gmroll+"&{template:default} {{name="+charname+" Constitution Roll}}{{roll=[["+diceroll+"+"+bonus+"]]}}");
|
||
finishRoll(results.rollId);
|
||
});
|
||
on('clicked:constitutionsave-button', async (info) => {
|
||
const values = await getAttrsAsync(['character_name','constitution_save_mod','constitution_save_bonus','globalsavebonus','rolladvdis','rollgmnormal']);
|
||
const savemod = parseInt(values.constitution_save_mod)||0;
|
||
const savebonus = parseInt(values.constitution_save_bonus)||0;
|
||
const charname = values.character_name || "";
|
||
const globalsavebonus = parseInt(values.globalsavebonus)||0;
|
||
const rolladvdis = values.rolladvdis||"sta";
|
||
const rollgmnormal = values.rollgmnormal||"normal";
|
||
|
||
const bonus = savemod+savebonus+globalsavebonus;
|
||
|
||
var diceroll = "1d20";
|
||
if (rolladvdis == "adv") {diceroll = "2d20kh1";};
|
||
if (rolladvdis == "dis") {diceroll = "2d20dh1";};
|
||
|
||
var gmroll = "";
|
||
if (rollgmnormal == "gm") { gmroll = "/w gm ";}
|
||
const results = await startRoll( gmroll+"&{template:default} {{name="+charname+" Constitution Save}}{{save=[["+diceroll+"+"+bonus+"]]}}");
|
||
finishRoll(results.rollId);
|
||
});
|
||
on('clicked:intelligence-button', async (info) => {
|
||
const values = await getAttrsAsync(['character_name','intelligence_mod','rolladvdis','rollgmnormal']);
|
||
const bonus = parseInt(values.intelligence_mod)||0;
|
||
const charname = values.character_name || "";
|
||
const rolladvdis = values.rolladvdis||"sta";
|
||
const rollgmnormal = values.rollgmnormal||"normal";
|
||
|
||
var diceroll = "1d20";
|
||
if (rolladvdis == "adv") {diceroll = "2d20kh1";};
|
||
if (rolladvdis == "dis") {diceroll = "2d20dh1";};
|
||
|
||
var gmroll = "";
|
||
if (rollgmnormal == "gm") { gmroll = "/w gm ";}
|
||
const results = await startRoll( gmroll+"&{template:default} {{name="+charname+" Intelligence Roll}}{{roll=[["+diceroll+"+"+bonus+"]]}}");
|
||
finishRoll(results.rollId);
|
||
});
|
||
on('clicked:intelligencesave-button', async (info) => {
|
||
const values = await getAttrsAsync(['character_name','intelligence_save_mod','intelligence_save_bonus','globalsavebonus','rolladvdis','rollgmnormal']);
|
||
const savemod = parseInt(values.intelligence_save_mod)||0;
|
||
const savebonus = parseInt(values.intelligence_save_bonus)||0;
|
||
const charname = values.character_name || "";
|
||
const globalsavebonus = parseInt(values.globalsavebonus)||0;
|
||
const rolladvdis = values.rolladvdis||"sta";
|
||
const rollgmnormal = values.rollgmnormal||"normal";
|
||
|
||
const bonus = savemod+savebonus+globalsavebonus;
|
||
|
||
var diceroll = "1d20";
|
||
if (rolladvdis == "adv") {diceroll = "2d20kh1";};
|
||
if (rolladvdis == "dis") {diceroll = "2d20dh1";};
|
||
|
||
var gmroll = "";
|
||
if (rollgmnormal == "gm") { gmroll = "/w gm ";}
|
||
const results = await startRoll( gmroll+"&{template:default} {{name="+charname+" Intelligence Save}}{{save=[["+diceroll+"+"+bonus+"]]}}");
|
||
finishRoll(results.rollId);
|
||
});
|
||
on('clicked:wisdom-button', async (info) => {
|
||
const values = await getAttrsAsync(['character_name','wisdom_mod','rolladvdis','rollgmnormal']);
|
||
const bonus = parseInt(values.wisdom_mod)||0;
|
||
const charname = values.character_name || "";
|
||
const rolladvdis = values.rolladvdis||"sta";
|
||
const rollgmnormal = values.rollgmnormal||"normal";
|
||
|
||
var diceroll = "1d20";
|
||
if (rolladvdis == "adv") {diceroll = "2d20kh1";};
|
||
if (rolladvdis == "dis") {diceroll = "2d20dh1";};
|
||
|
||
var gmroll = "";
|
||
if (rollgmnormal == "gm") { gmroll = "/w gm ";}
|
||
const results = await startRoll( gmroll+"&{template:default} {{name="+charname+" Wisdom Roll}}{{roll=[["+diceroll+"+"+bonus+"]]}}");
|
||
finishRoll(results.rollId);
|
||
});
|
||
on('clicked:wisdomsave-button', async (info) => {
|
||
const values = await getAttrsAsync(['character_name','wisdom_save_mod','wisdom_save_bonus','globalsavebonus','rolladvdis','rollgmnormal']);
|
||
const savemod = parseInt(values.wisdom_save_mod)||0;
|
||
const savebonus = parseInt(values.wisdom_save_bonus)||0;
|
||
const charname = values.character_name || "";
|
||
const globalsavebonus = parseInt(values.globalsavebonus)||0;
|
||
const rolladvdis = values.rolladvdis||"sta";
|
||
const rollgmnormal = values.rollgmnormal||"normal";
|
||
|
||
const bonus = savemod+savebonus+globalsavebonus;
|
||
|
||
var diceroll = "1d20";
|
||
if (rolladvdis == "adv") {diceroll = "2d20kh1";};
|
||
if (rolladvdis == "dis") {diceroll = "2d20dh1";};
|
||
|
||
var gmroll = "";
|
||
if (rollgmnormal == "gm") { gmroll = "/w gm ";}
|
||
const results = await startRoll( gmroll+"&{template:default} {{name="+charname+" Wisdom Save}}{{save=[["+diceroll+"+"+bonus+"]]}}");
|
||
finishRoll(results.rollId);
|
||
});
|
||
on('clicked:charisma-button', async (info) => {
|
||
const values = await getAttrsAsync(['character_name','charisma_mod','rolladvdis','rollgmnormal']);
|
||
const bonus = parseInt(values.charisma_mod)||0;
|
||
const charname = values.character_name || "";
|
||
const rolladvdis = values.rolladvdis||"sta";
|
||
const rollgmnormal = values.rollgmnormal||"normal";
|
||
|
||
var diceroll = "1d20";
|
||
if (rolladvdis == "adv") {diceroll = "2d20kh1";};
|
||
if (rolladvdis == "dis") {diceroll = "2d20dh1";};
|
||
|
||
var gmroll = "";
|
||
if (rollgmnormal == "gm") { gmroll = "/w gm ";}
|
||
const results = await startRoll( gmroll+"&{template:default} {{name="+charname+" Charisma Roll}}{{roll=[["+diceroll+"+"+bonus+"]]}}");
|
||
finishRoll(results.rollId);
|
||
});
|
||
on('clicked:charismasave-button', async (info) => {
|
||
const values = await getAttrsAsync(['character_name','charisma_save_mod','charisma_save_bonus','globalsavebonus','rolladvdis','rollgmnormal']);
|
||
const savemod = parseInt(values.charisma_save_mod)||0;
|
||
const savebonus = parseInt(values.charisma_save_bonus)||0;
|
||
const charname = values.character_name || "";
|
||
const globalsavebonus = parseInt(values.globalsavebonus)||0;
|
||
const rolladvdis = values.rolladvdis||"sta";
|
||
const rollgmnormal = values.rollgmnormal||"normal";
|
||
|
||
const bonus = savemod+savebonus+globalsavebonus;
|
||
|
||
var diceroll = "1d20";
|
||
if (rolladvdis == "adv") {diceroll = "2d20kh1";};
|
||
if (rolladvdis == "dis") {diceroll = "2d20dh1";};
|
||
|
||
var gmroll = "";
|
||
if (rollgmnormal == "gm") { gmroll = "/w gm ";}
|
||
const results = await startRoll( gmroll+"&{template:default} {{name="+charname+" Charisma Save}}{{save=[["+diceroll+"+"+bonus+"]]}}");
|
||
finishRoll(results.rollId);
|
||
});
|
||
|
||
|
||
|
||
on('clicked:acrobatics-button', async (info) => {
|
||
const values = await getAttrsAsync(['character_name','acrobatics_exdice','acrobatics_specialty','acrobatics_check','acrobatics_check_bonus','passive_acrobatics_bonus','globalskillbonus','globalabilitycheckbonus','rolladvdis','rollgmnormal','PB','strength_mod','intelligence_mod','wisdom_mod','dexterity_mod','constitution_mod','charisma_mod','jackofalltrades_check']);
|
||
const prof = parseInt(values.acrobatics_check)||0;
|
||
const exdice = values.acrobatics_exdice||"0d6";
|
||
const specialty = values.acrobatics_specialty||"";
|
||
const checkbonus = parseInt(values.acrobatics_check_bonus)||0;
|
||
const passivebonus = parseInt(values.passive_acrobatics_bonus)||0;
|
||
const charname = values.character_name || "";
|
||
const jot = parseInt(values.jackofalltrades_check)||0;
|
||
const str = parseInt(values.strength_mod)||0;
|
||
const intel = parseInt(values.intelligence_mod)||0;
|
||
const dex = parseInt(values.dexterity_mod)||0;
|
||
const wis = parseInt(values.wisdom_mod)||0;
|
||
const con = parseInt(values.constitution_mod)||0;
|
||
const cha = parseInt(values.charisma_mod)||0;
|
||
const profbonus = parseInt(values.PB)||0;
|
||
const globalskillbonus = parseInt(values.globalskillbonus)||0;
|
||
const globalabilitybonus = parseInt(values.globalabilitycheckbonus)||0;
|
||
const rolladvdis = values.rolladvdis||"sta";
|
||
const rollgmnormal = values.rollgmnormal||"normal";
|
||
const jotbonus = Math.floor(profbonus/2);
|
||
|
||
const bonus = checkbonus+passivebonus+globalskillbonus+globalabilitybonus;
|
||
|
||
var specdice = "1d4";
|
||
if (exdice == "") {specdice = "1d4";};
|
||
if (exdice == "1d4") {specdice = "1d6";};
|
||
if (exdice == "1d6") {specdice = "1d8";};
|
||
if (exdice == "1d8") {specdice = "1d8";};
|
||
if (exdice == "1d10") {specdice = "1d10";};
|
||
if (exdice == "1d12") {specdice = "1d12";};
|
||
|
||
var finalbonus = bonus;
|
||
if (jot == 1) {finalbonus = jotbonus+bonus;};
|
||
if (prof == 1) {finalbonus = profbonus+bonus;};
|
||
|
||
var diceroll = "1d20";
|
||
if (rolladvdis == "adv") {diceroll = "2d20kh1";};
|
||
if (rolladvdis == "dis") {diceroll = "2d20dh1";};
|
||
|
||
var specialtyText = "";
|
||
if (specialty != ""){
|
||
specialtyText = "("+specialty+")";
|
||
}
|
||
|
||
var gmroll = "";
|
||
if (rollgmnormal == "gm") { gmroll = "/w gm ";}
|
||
const results = await startRoll( gmroll+"&{template:default} !?{Stat|Dexterity, "+dex+"|Strength, "+str+"|Constitution, "+con+"|Intelligence, "+intel+"|Wisdom, "+wis+"|Charisma, "+cha+"} ?{IncludeSpecialty|No, "+exdice+"|Yes, "+specdice+" } {{name="+charname+" Acrobatics "+specialtyText+" Roll}}{{roll=[["+diceroll+"+?{Stat}+"+finalbonus+"+?{IncludeSpecialty}cf<0cs>101]]}}");
|
||
finishRoll(results.rollId);
|
||
});
|
||
on('clicked:animalhandling-button', async (info) => {
|
||
const values = await getAttrsAsync(['character_name','animalhandling_exdice','animalhandling_specialty','animalhandling_check','animalhandling_check_bonus','passive_animalhandling_bonus','globalskillbonus','globalabilitycheckbonus','rolladvdis','rollgmnormal','PB','strength_mod','intelligence_mod','wisdom_mod','dexterity_mod','constitution_mod','charisma_mod','jackofalltrades_check']);
|
||
const prof = parseInt(values.animalhandling_check)||0;
|
||
const exdice = values.animalhandling_exdice||"0d6";
|
||
const specialty = values.animalhandling_specialty||"";
|
||
const checkbonus = parseInt(values.animalhandling_check_bonus)||0;
|
||
const passivebonus = parseInt(values.passive_animalhandling_bonus)||0;
|
||
const charname = values.character_name || "";
|
||
const jot = parseInt(values.jackofalltrades_check)||0;
|
||
const str = parseInt(values.strength_mod)||0;
|
||
const intel = parseInt(values.intelligence_mod)||0;
|
||
const dex = parseInt(values.dexterity_mod)||0;
|
||
const wis = parseInt(values.wisdom_mod)||0;
|
||
const con = parseInt(values.constitution_mod)||0;
|
||
const cha = parseInt(values.charisma_mod)||0;
|
||
const profbonus = parseInt(values.PB)||0;
|
||
const globalskillbonus = parseInt(values.globalskillbonus)||0;
|
||
const globalabilitybonus = parseInt(values.globalabilitycheckbonus)||0;
|
||
const rolladvdis = values.rolladvdis||"sta";
|
||
const rollgmnormal = values.rollgmnormal||"normal";
|
||
const jotbonus = Math.floor(profbonus/2);
|
||
|
||
const bonus = checkbonus+passivebonus+globalskillbonus+globalabilitybonus;
|
||
|
||
var specdice = "1d4";
|
||
if (exdice == "") {specdice = "1d4";};
|
||
if (exdice == "1d4") {specdice = "1d6";};
|
||
if (exdice == "1d6") {specdice = "1d8";};
|
||
if (exdice == "1d8") {specdice = "1d8";};
|
||
if (exdice == "1d10") {specdice = "1d10";};
|
||
if (exdice == "1d12") {specdice = "1d12";};
|
||
|
||
var finalbonus = bonus;
|
||
if (jot == 1) {finalbonus = jotbonus+bonus;};
|
||
if (prof == 1) {finalbonus = profbonus+bonus;};
|
||
|
||
var diceroll = "1d20";
|
||
if (rolladvdis == "adv") {diceroll = "2d20kh1";};
|
||
if (rolladvdis == "dis") {diceroll = "2d20dh1";};
|
||
|
||
var specialtyText = "";
|
||
if (specialty != ""){
|
||
specialtyText = "("+specialty+")";
|
||
}
|
||
|
||
var gmroll = "";
|
||
if (rollgmnormal == "gm") { gmroll = "/w gm ";}
|
||
const results = await startRoll( gmroll+"&{template:default} !?{Stat|Wisdom, "+wis+"|Dexterity, "+dex+"|Strength, "+str+"|Constitution, "+con+"|Intelligence, "+intel+"|Charisma, "+cha+"} ?{IncludeSpecialty|No, "+exdice+"|Yes, "+specdice+" } {{name="+charname+" Animal Handling "+specialtyText+" Roll}} {{roll=[["+diceroll+"+?{Stat}+"+finalbonus+"+?{IncludeSpecialty}cf<0cs>101]]}}");
|
||
finishRoll(results.rollId);
|
||
});
|
||
on('clicked:arcana-button', async (info) => {
|
||
const values = await getAttrsAsync(['character_name','arcana_exdice','arcana_specialty','arcana_check_bonus','passive_arcana','passive_arcana_bonus','globalskillbonus','globalabilitycheckbonus','rolladvdis','rollgmnormal','PB','strength_mod','intelligence_mod','wisdom_mod','dexterity_mod','constitution_mod','charisma_mod','jackofalltrades_check']);
|
||
const prof = parseInt(values.arcana_check)||0;
|
||
const exdice = values.arcana_exdice||"0d6";
|
||
const specialty = values.arcana_specialty||"";
|
||
const checkbonus = parseInt(values.arcana_check_bonus)||0;
|
||
const passivebonus = parseInt(values.passive_arcana_bonus)||0;
|
||
const charname = values.character_name || "";
|
||
const jot = parseInt(values.jackofalltrades_check)||0;
|
||
const str = parseInt(values.strength_mod)||0;
|
||
const intel = parseInt(values.intelligence_mod)||0;
|
||
const dex = parseInt(values.dexterity_mod)||0;
|
||
const wis = parseInt(values.wisdom_mod)||0;
|
||
const con = parseInt(values.constitution_mod)||0;
|
||
const cha = parseInt(values.charisma_mod)||0;
|
||
const profbonus = parseInt(values.PB)||0;
|
||
const globalskillbonus = parseInt(values.globalskillbonus)||0;
|
||
const globalabilitybonus = parseInt(values.globalabilitycheckbonus)||0;
|
||
const rolladvdis = values.rolladvdis||"sta";
|
||
const rollgmnormal = values.rollgmnormal||"normal";
|
||
const jotbonus = Math.floor(profbonus/2);
|
||
|
||
const bonus = checkbonus+passivebonus+globalskillbonus+globalabilitybonus;
|
||
|
||
var specdice = "1d4";
|
||
if (exdice == "") {specdice = "1d4";};
|
||
if (exdice == "1d4") {specdice = "1d6";};
|
||
if (exdice == "1d6") {specdice = "1d8";};
|
||
if (exdice == "1d8") {specdice = "1d8";};
|
||
if (exdice == "1d10") {specdice = "1d10";};
|
||
if (exdice == "1d12") {specdice = "1d12";};
|
||
|
||
var finalbonus = bonus;
|
||
if (jot == 1) {finalbonus = jotbonus+bonus;};
|
||
if (prof == 1) {finalbonus = profbonus+bonus;};
|
||
|
||
var diceroll = "1d20";
|
||
if (rolladvdis == "adv") {diceroll = "2d20kh1";};
|
||
if (rolladvdis == "dis") {diceroll = "2d20dh1";};
|
||
|
||
var specialtyText = "";
|
||
if (specialty != ""){
|
||
specialtyText = "("+specialty+")";
|
||
}
|
||
|
||
var gmroll = "";
|
||
if (rollgmnormal == "gm") { gmroll = "/w gm ";}
|
||
const results = await startRoll( gmroll+"&{template:default} !?{Stat|Intelligence, "+intel+"|Dexterity, "+dex+"|Strength, "+str+"|Constitution, "+con+"|Wisdom, "+wis+"|Charisma, "+cha+"} ?{IncludeSpecialty|No, "+exdice+"|Yes, "+specdice+" } {{name="+charname+" Arcana "+specialtyText+" Roll}}{{roll=[["+diceroll+"+?{Stat}+"+finalbonus+"+?{IncludeSpecialty}cf<0cs>101]]}}");
|
||
finishRoll(results.rollId);
|
||
});
|
||
on('clicked:athletics-button', async (info) => {
|
||
const values = await getAttrsAsync(['character_name','athletics_exdice','athletics_specialty','athletics_check','athletics_check_bonus','passive_athletics_bonus','globalskillbonus','globalabilitycheckbonus','rolladvdis','rollgmnormal','PB','strength_mod','intelligence_mod','wisdom_mod','dexterity_mod','constitution_mod','charisma_mod','jackofalltrades_check']);
|
||
const prof = parseInt(values.athletics_check)||0;
|
||
const exdice = values.athletics_exdice||"0d6";
|
||
const specialty = values.athletics_specialty||"";
|
||
const checkbonus = parseInt(values.athletics_check_bonus)||0;
|
||
const passivebonus = parseInt(values.passive_athletics_bonus)||0;
|
||
const charname = values.character_name || "";
|
||
const jot = values.jackofalltrades_check||0;
|
||
const str = parseInt(values.strength_mod)||0;
|
||
const intel = parseInt(values.intelligence_mod)||0;
|
||
const dex = parseInt(values.dexterity_mod)||0;
|
||
const wis = parseInt(values.wisdom_mod)||0;
|
||
const con = parseInt(values.constitution_mod)||0;
|
||
const cha = parseInt(values.charisma_mod)||0;
|
||
const profbonus = parseInt(values.PB)||0;
|
||
const globalskillbonus = parseInt(values.globalskillbonus)||0;
|
||
const globalabilitybonus = parseInt(values.globalabilitycheckbonus)||0;
|
||
const rolladvdis = values.rolladvdis||"sta";
|
||
const rollgmnormal = values.rollgmnormal||"normal";
|
||
const jotbonus = Math.floor(profbonus/2);
|
||
|
||
const bonus = checkbonus+passivebonus+globalskillbonus+globalabilitybonus;
|
||
|
||
var specdice = "1d4";
|
||
if (exdice == "") {specdice = "1d4";};
|
||
if (exdice == "1d4") {specdice = "1d6";};
|
||
if (exdice == "1d6") {specdice = "1d8";};
|
||
if (exdice == "1d8") {specdice = "1d8";};
|
||
if (exdice == "1d10") {specdice = "1d10";};
|
||
if (exdice == "1d12") {specdice = "1d12";};
|
||
|
||
var finalbonus = bonus;
|
||
if (jot == 1) {finalbonus = jotbonus+bonus;};
|
||
if (prof == 1) {finalbonus = profbonus+bonus;};
|
||
|
||
var diceroll = "1d20";
|
||
if (rolladvdis == "adv") {diceroll = "2d20kh1";};
|
||
if (rolladvdis == "dis") {diceroll = "2d20dh1";};
|
||
|
||
var specialtyText = "";
|
||
if (specialty != ""){
|
||
specialtyText = "("+specialty+")";
|
||
}
|
||
|
||
var gmroll = "";
|
||
if (rollgmnormal == "gm") { gmroll = "/w gm ";}
|
||
const results = await startRoll( gmroll+"&{template:default} !?{Stat|Strength, "+str+"|Dexterity, "+dex+"|Constitution, "+con+"|Intelligence, "+intel+"|Wisdom, "+wis+"|Charisma, "+cha+"} ?{IncludeSpecialty|No, "+exdice+"|Yes, "+specdice+" } {{name="+charname+" Athletics "+specialtyText+" Roll}} {{roll=[["+diceroll+"+?{Stat}+"+finalbonus+"+?{IncludeSpecialty}cf<0cs>101]]}}");
|
||
finishRoll(results.rollId);
|
||
});
|
||
on('clicked:culture-button', async (info) => {
|
||
const values = await getAttrsAsync(['character_name','culture_exdice','culture_specialty','culture_check','culture_check_bonus','passive_culture_bonus','globalskillbonus','globalabilitycheckbonus','rolladvdis','rollgmnormal','PB','strength_mod','intelligence_mod','wisdom_mod','dexterity_mod','constitution_mod','charisma_mod','jackofalltrades_check']);
|
||
const prof = parseInt(values.culture_check)||0;
|
||
const exdice = values.culture_exdice||"0d6";
|
||
const specialty = values.culture_specialty||"";
|
||
const checkbonus = parseInt(values.culture_check_bonus)||0;
|
||
const passivebonus = parseInt(values.passive_culture_bonus)||0;
|
||
const charname = values.character_name || "";
|
||
const jot = parseInt(values.jackofalltrades_check)||0;
|
||
const str = parseInt(values.strength_mod)||0;
|
||
const intel = parseInt(values.intelligence_mod)||0;
|
||
const dex = parseInt(values.dexterity_mod)||0;
|
||
const wis = parseInt(values.wisdom_mod)||0;
|
||
const con = parseInt(values.constitution_mod)||0;
|
||
const cha = parseInt(values.charisma_mod)||0;
|
||
const profbonus = parseInt(values.PB)||0;
|
||
const globalskillbonus = parseInt(values.globalskillbonus)||0;
|
||
const globalabilitybonus = parseInt(values.globalabilitycheckbonus)||0;
|
||
const rolladvdis = values.rolladvdis||"sta";
|
||
const rollgmnormal = values.rollgmnormal||"normal";
|
||
const jotbonus = Math.floor(profbonus/2);
|
||
|
||
const bonus = checkbonus+passivebonus+globalskillbonus+globalabilitybonus;
|
||
|
||
var specdice = "1d4";
|
||
if (exdice == "") {specdice = "1d4";};
|
||
if (exdice == "1d4") {specdice = "1d6";};
|
||
if (exdice == "1d6") {specdice = "1d8";};
|
||
if (exdice == "1d8") {specdice = "1d8";};
|
||
if (exdice == "1d10") {specdice = "1d10";};
|
||
if (exdice == "1d12") {specdice = "1d12";};
|
||
|
||
var finalbonus = bonus;
|
||
if (jot == 1) {finalbonus = jotbonus+bonus;};
|
||
if (prof == 1) {finalbonus = profbonus+bonus;};
|
||
|
||
var diceroll = "1d20";
|
||
if (rolladvdis == "adv") {diceroll = "2d20kh1";};
|
||
if (rolladvdis == "dis") {diceroll = "2d20dh1";};
|
||
|
||
var specialtyText = "";
|
||
if (specialty != ""){
|
||
specialtyText = "("+specialty+")";
|
||
}
|
||
|
||
var gmroll = "";
|
||
if (rollgmnormal == "gm") { gmroll = "/w gm ";}
|
||
const results = await startRoll( gmroll+"&{template:default} !?{Stat|Intelligence, "+intel+"|Dexterity, "+dex+"|Strength, "+str+"|Constitution, "+con+"|Wisdom, "+wis+"|Charisma, "+cha+"} ?{IncludeSpecialty|No, "+exdice+"|Yes, "+specdice+" } {{name="+charname+" Culture "+specialtyText+" Roll}}{{roll=[["+diceroll+"+?{Stat}+"+finalbonus+"+?{IncludeSpecialty}cf<0cs>101]]}}");
|
||
finishRoll(results.rollId);
|
||
});
|
||
on('clicked:deception-button', async (info) => {
|
||
const values = await getAttrsAsync(['character_name','deception_exdice','deception_specialty','deception_check','deception_check_bonus','passive_deception_bonus','globalskillbonus','globalabilitycheckbonus','rolladvdis','rollgmnormal','PB','strength_mod','intelligence_mod','wisdom_mod','dexterity_mod','constitution_mod','charisma_mod','jackofalltrades_check']);
|
||
const prof = parseInt(values.deception_check)||0;
|
||
const exdice = values.deception_exdice||"0d6";
|
||
const specialty = values.deception_specialty||"";
|
||
const checkbonus = parseInt(values.deception_check_bonus)||0;
|
||
const passivebonus = parseInt(values.passive_deception_bonus)||0;
|
||
const charname = values.character_name || "";
|
||
const jot = parseInt(values.jackofalltrades_check)||0;
|
||
const str = parseInt(values.strength_mod)||0;
|
||
const intel = parseInt(values.intelligence_mod)||0;
|
||
const dex = parseInt(values.dexterity_mod)||0;
|
||
const wis = parseInt(values.wisdom_mod)||0;
|
||
const con = parseInt(values.constitution_mod)||0;
|
||
const cha = parseInt(values.charisma_mod)||0;
|
||
const profbonus = parseInt(values.PB)||0;
|
||
const globalskillbonus = parseInt(values.globalskillbonus)||0;
|
||
const globalabilitybonus = parseInt(values.globalabilitycheckbonus)||0;
|
||
const rolladvdis = values.rolladvdis||"sta";
|
||
const rollgmnormal = values.rollgmnormal||"normal";
|
||
const jotbonus = Math.floor(profbonus/2);
|
||
|
||
const bonus = checkbonus+passivebonus+globalskillbonus+globalabilitybonus;
|
||
|
||
var specdice = "1d4";
|
||
if (exdice == "") {specdice = "1d4";};
|
||
if (exdice == "1d4") {specdice = "1d6";};
|
||
if (exdice == "1d6") {specdice = "1d8";};
|
||
if (exdice == "1d8") {specdice = "1d8";};
|
||
if (exdice == "1d10") {specdice = "1d10";};
|
||
if (exdice == "1d12") {specdice = "1d12";};
|
||
|
||
var finalbonus = bonus;
|
||
if (jot == 1) {finalbonus = jotbonus+bonus;};
|
||
if (prof == 1) {finalbonus = profbonus+bonus;};
|
||
|
||
var diceroll = "1d20";
|
||
if (rolladvdis == "adv") {diceroll = "2d20kh1";};
|
||
if (rolladvdis == "dis") {diceroll = "2d20dh1";};
|
||
|
||
var specialtyText = "";
|
||
if (specialty != ""){
|
||
specialtyText = "("+specialty+")";
|
||
}
|
||
|
||
var gmroll = "";
|
||
if (rollgmnormal == "gm") { gmroll = "/w gm ";}
|
||
const results = await startRoll( gmroll+"&{template:default} !?{Stat|Charisma, "+cha+"|Dexterity, "+dex+"|Strength, "+str+"|Constitution, "+con+"|Intelligence, "+intel+"|Wisdom, "+wis+"} ?{IncludeSpecialty|No, "+exdice+"|Yes, "+specdice+" } {{name="+charname+" Deception "+specialtyText+" Roll}} {{roll=[["+diceroll+"+?{Stat}+"+finalbonus+"+?{IncludeSpecialty}cf<0cs>101]]}}");
|
||
finishRoll(results.rollId);
|
||
});
|
||
on('clicked:engineering-button', async (info) => {
|
||
const values = await getAttrsAsync(['character_name','engineering_exdice','engineering_specialty','engineering_check','engineering_check_bonus','passive_engineering_bonus','globalskillbonus','globalabilitycheckbonus','rolladvdis','rollgmnormal','PB','strength_mod','intelligence_mod','wisdom_mod','dexterity_mod','constitution_mod','charisma_mod','jackofalltrades_check']);
|
||
const prof = parseInt(values.engineering_check)||0;
|
||
const exdice = values.engineering_exdice||"0d6";
|
||
const specialty = values.engineering_specialty||"";
|
||
const checkbonus = parseInt(values.engineering_check_bonus)||0;
|
||
const passivebonus = parseInt(values.passive_engineering_bonus)||0;
|
||
const charname = values.character_name || "";
|
||
const jot = parseInt(values.jackofalltrades_check)||0;
|
||
const str = parseInt(values.strength_mod)||0;
|
||
const intel = parseInt(values.intelligence_mod)||0;
|
||
const dex = parseInt(values.dexterity_mod)||0;
|
||
const wis = parseInt(values.wisdom_mod)||0;
|
||
const con = parseInt(values.constitution_mod)||0;
|
||
const cha = parseInt(values.charisma_mod)||0;
|
||
const profbonus = parseInt(values.PB)||0;
|
||
const globalskillbonus = parseInt(values.globalskillbonus)||0;
|
||
const globalabilitybonus = parseInt(values.globalabilitycheckbonus)||0;
|
||
const rolladvdis = values.rolladvdis||"sta";
|
||
const rollgmnormal = values.rollgmnormal||"normal";
|
||
const jotbonus = Math.floor(profbonus/2);
|
||
|
||
const bonus = checkbonus+passivebonus+globalskillbonus+globalabilitybonus;
|
||
|
||
var specdice = "1d4";
|
||
if (exdice == "") {specdice = "1d4";};
|
||
if (exdice == "1d4") {specdice = "1d6";};
|
||
if (exdice == "1d6") {specdice = "1d8";};
|
||
if (exdice == "1d8") {specdice = "1d8";};
|
||
if (exdice == "1d10") {specdice = "1d10";};
|
||
if (exdice == "1d12") {specdice = "1d12";};
|
||
|
||
var finalbonus = bonus;
|
||
if (jot == 1) {finalbonus = jotbonus+bonus;};
|
||
if (prof == 1) {finalbonus = profbonus+bonus;};
|
||
|
||
var diceroll = "1d20";
|
||
if (rolladvdis == "adv") {diceroll = "2d20kh1";};
|
||
if (rolladvdis == "dis") {diceroll = "2d20dh1";};
|
||
|
||
var specialtyText = "";
|
||
if (specialty != ""){
|
||
specialtyText = "("+specialty+")";
|
||
}
|
||
|
||
var gmroll = "";
|
||
if (rollgmnormal == "gm") { gmroll = "/w gm ";}
|
||
const results = await startRoll( gmroll+"&{template:default} !?{Stat|Intelligence, "+intel+"|Dexterity, "+dex+"|Strength, "+str+"|Constitution, "+con+"|Wisdom, "+wis+"|Charisma, "+cha+"} ?{IncludeSpecialty|No, "+exdice+"|Yes, "+specdice+" } {{name="+charname+" Engineering "+specialtyText+" Roll}} {{roll=[["+diceroll+"+?{Stat}+"+finalbonus+"+?{IncludeSpecialty}cf<0cs>101]]}}");
|
||
finishRoll(results.rollId);
|
||
});
|
||
on('clicked:history-button', async (info) => {
|
||
const values = await getAttrsAsync(['character_name','history_exdice','history_specialty','history_check','history_check_bonus','passive_history_bonus','globalskillbonus','globalabilitycheckbonus','rolladvdis','rollgmnormal','PB','strength_mod','intelligence_mod','wisdom_mod','dexterity_mod','constitution_mod','charisma_mod','jackofalltrades_check']);
|
||
const prof = parseInt(values.history_check)||0;
|
||
const exdice = values.history_exdice||"0d6";
|
||
const specialty = values.history_specialty||"";
|
||
const checkbonus = parseInt(values.history_check_bonus)||0;
|
||
const passivebonus = parseInt(values.passive_history_bonus)||0;
|
||
const charname = values.character_name || "";
|
||
const jot = parseInt(values.jackofalltrades_check)||0;
|
||
const str = parseInt(values.strength_mod)||0;
|
||
const intel = parseInt(values.intelligence_mod)||0;
|
||
const dex = parseInt(values.dexterity_mod)||0;
|
||
const wis = parseInt(values.wisdom_mod)||0;
|
||
const con = parseInt(values.constitution_mod)||0;
|
||
const cha = parseInt(values.charisma_mod)||0;
|
||
const profbonus = parseInt(values.PB)||0;
|
||
const globalskillbonus = parseInt(values.globalskillbonus)||0;
|
||
const globalabilitybonus = parseInt(values.globalabilitycheckbonus)||0;
|
||
const rolladvdis = values.rolladvdis||"sta";
|
||
const rollgmnormal = values.rollgmnormal||"normal";
|
||
const jotbonus = Math.floor(profbonus/2);
|
||
|
||
const bonus = checkbonus+passivebonus+globalskillbonus+globalabilitybonus;
|
||
|
||
var specdice = "1d4";
|
||
if (exdice == "") {specdice = "1d4";};
|
||
if (exdice == "1d4") {specdice = "1d6";};
|
||
if (exdice == "1d6") {specdice = "1d8";};
|
||
if (exdice == "1d8") {specdice = "1d8";};
|
||
if (exdice == "1d10") {specdice = "1d10";};
|
||
if (exdice == "1d12") {specdice = "1d12";};
|
||
|
||
var finalbonus = bonus;
|
||
if (jot == 1) {finalbonus = jotbonus+bonus;};
|
||
if (prof == 1) {finalbonus = profbonus+bonus;};
|
||
|
||
var diceroll = "1d20";
|
||
if (rolladvdis == "adv") {diceroll = "2d20kh1";};
|
||
if (rolladvdis == "dis") {diceroll = "2d20dh1";};
|
||
|
||
var specialtyText = "";
|
||
if (specialty != ""){
|
||
specialtyText = "("+specialty+")";
|
||
}
|
||
|
||
var gmroll = "";
|
||
if (rollgmnormal == "gm") { gmroll = "/w gm ";}
|
||
const results = await startRoll( gmroll+"&{template:default} !?{Stat|Intelligence, "+intel+"|Dexterity, "+dex+"|Strength, "+str+"|Constitution, "+con+"|Wisdom, "+wis+"|Charisma, "+cha+"} ?{IncludeSpecialty|No, "+exdice+"|Yes, "+specdice+" } {{name="+charname+" History "+specialtyText+" Roll}} {{roll=[["+diceroll+"+?{Stat}+"+finalbonus+"+?{IncludeSpecialty}cf<0cs>101]]}}");
|
||
finishRoll(results.rollId);
|
||
});
|
||
on('clicked:insight-button', async (info) => {
|
||
const values = await getAttrsAsync(['character_name','insight_exdice','insight_specialty','insight_check','insight_check_bonus','passive_insight_bonus','globalskillbonus','globalabilitycheckbonus','rolladvdis','rollgmnormal','PB','strength_mod','intelligence_mod','wisdom_mod','dexterity_mod','constitution_mod','charisma_mod','jackofalltrades_check']);
|
||
const prof = parseInt(values.insight_check)||0;
|
||
const exdice = values.insight_exdice||"0d6";
|
||
const specialty = values.insight_specialty||"";
|
||
const checkbonus = parseInt(values.insight_check_bonus)||0;
|
||
const passivebonus = parseInt(values.passive_insight_bonus)||0;
|
||
const charname = values.character_name || "";
|
||
const jot = parseInt(values.jackofalltrades_check)||0;
|
||
const str = parseInt(values.strength_mod)||0;
|
||
const intel = parseInt(values.intelligence_mod)||0;
|
||
const dex = parseInt(values.dexterity_mod)||0;
|
||
const wis = parseInt(values.wisdom_mod)||0;
|
||
const con = parseInt(values.constitution_mod)||0;
|
||
const cha = parseInt(values.charisma_mod)||0;
|
||
const profbonus = parseInt(values.PB)||0;
|
||
const globalskillbonus = parseInt(values.globalskillbonus)||0;
|
||
const globalabilitybonus = parseInt(values.globalabilitycheckbonus)||0;
|
||
const rolladvdis = values.rolladvdis||"sta";
|
||
const rollgmnormal = values.rollgmnormal||"normal";
|
||
const jotbonus = Math.floor(profbonus/2);
|
||
|
||
const bonus = checkbonus+passivebonus+globalskillbonus+globalabilitybonus;
|
||
|
||
var specdice = "1d4";
|
||
if (exdice == "1d4") {specdice = "1d6";};
|
||
if (exdice == "1d6") {specdice = "1d8";};
|
||
if (exdice == "1d8") {specdice = "1d8";};
|
||
if (exdice == "1d10") {specdice = "1d10";};
|
||
if (exdice == "1d12") {specdice = "1d12";};
|
||
|
||
var finalbonus = bonus;
|
||
if (jot == 1) {finalbonus = jotbonus+bonus;};
|
||
if (prof == 1) {finalbonus = profbonus+bonus;};
|
||
|
||
var diceroll = "1d20";
|
||
if (rolladvdis == "adv") {diceroll = "2d20kh1";};
|
||
if (rolladvdis == "dis") {diceroll = "2d20dh1";};
|
||
|
||
var specialtyText = "";
|
||
if (specialty != ""){
|
||
specialtyText = "("+specialty+")";
|
||
}
|
||
|
||
var gmroll = "";
|
||
if (rollgmnormal == "gm") { gmroll = "/w gm ";}
|
||
const results = await startRoll( gmroll+"&{template:default} !?{Stat|Wisdom, "+wis+"|Dexterity, "+dex+"|Strength, "+str+"|Constitution, "+con+"|Intelligence, "+intel+"|Charisma, "+cha+"} ?{IncludeSpecialty|No, "+exdice+"|Yes, "+specdice+" } {{name="+charname+" Insight "+specialtyText+" Roll}}{{roll=[["+diceroll+"+?{Stat}+"+finalbonus+"+?{IncludeSpecialty}cf<0cs>101]]}}");
|
||
finishRoll(results.rollId);
|
||
});
|
||
on('clicked:intimidation-button', async (info) => {
|
||
const values = await getAttrsAsync(['character_name','intimidation_exdice','intimidation_specialty','intimidation_check','intimidation_check_bonus','passive_intimidation_bonus','globalskillbonus','globalabilitycheckbonus','rolladvdis','rollgmnormal','PB','strength_mod','intelligence_mod','wisdom_mod','dexterity_mod','constitution_mod','charisma_mod','jackofalltrades_check']);
|
||
const prof = parseInt(values.intimidation_check)||0;
|
||
const exdice = values.intimidation_exdice||"0d6";
|
||
const specialty = values.intimidation_specialty||"";
|
||
const checkbonus = parseInt(values.intimidation_check_bonus)||0;
|
||
const passivebonus = parseInt(values.passive_intimidation_bonus)||0;
|
||
const charname = values.character_name || "";
|
||
const jot = parseInt(values.jackofalltrades_check)||0;
|
||
const str = parseInt(values.strength_mod)||0;
|
||
const intel = parseInt(values.intelligence_mod)||0;
|
||
const dex = parseInt(values.dexterity_mod)||0;
|
||
const wis = parseInt(values.wisdom_mod)||0;
|
||
const con = parseInt(values.constitution_mod)||0;
|
||
const cha = parseInt(values.charisma_mod)||0;
|
||
const profbonus = parseInt(values.PB)||0;
|
||
const globalskillbonus = parseInt(values.globalskillbonus)||0;
|
||
const globalabilitybonus = parseInt(values.globalabilitycheckbonus)||0;
|
||
const rolladvdis = values.rolladvdis||"sta";
|
||
const rollgmnormal = values.rollgmnormal||"normal";
|
||
const jotbonus = Math.floor(profbonus/2);
|
||
|
||
const bonus = checkbonus+passivebonus+globalskillbonus+globalabilitybonus;
|
||
|
||
var specdice = "1d4";
|
||
if (exdice == "") {specdice = "1d4";};
|
||
if (exdice == "1d4") {specdice = "1d6";};
|
||
if (exdice == "1d6") {specdice = "1d8";};
|
||
if (exdice == "1d8") {specdice = "1d8";};
|
||
if (exdice == "1d10") {specdice = "1d10";};
|
||
if (exdice == "1d12") {specdice = "1d12";};
|
||
|
||
var finalbonus = bonus;
|
||
if (jot == 1) {finalbonus = jotbonus+bonus;};
|
||
if (prof == 1) {finalbonus = profbonus+bonus;};
|
||
|
||
var diceroll = "1d20";
|
||
if (rolladvdis == "adv") {diceroll = "2d20kh1";};
|
||
if (rolladvdis == "dis") {diceroll = "2d20dh1";};
|
||
|
||
var specialtyText = "";
|
||
if (specialty != ""){
|
||
specialtyText = "("+specialty+")";
|
||
}
|
||
|
||
var gmroll = "";
|
||
if (rollgmnormal == "gm") { gmroll = "/w gm ";}
|
||
const results = await startRoll( gmroll+"&{template:default} !?{Stat|Charisma, "+cha+"|Dexterity, "+dex+"|Strength, "+str+"|Constitution, "+con+"|Intelligence, "+intel+"|Wisdom, "+wis+"} ?{IncludeSpecialty|No, "+exdice+"|Yes, "+specdice+" } {{name="+charname+" Intimidation "+specialtyText+" Roll}}{{roll=[["+diceroll+"+?{Stat}+"+finalbonus+"+?{IncludeSpecialty}cf<0cs>101]]}}");
|
||
finishRoll(results.rollId);
|
||
});
|
||
on('clicked:investigation-button', async (info) => {
|
||
const values = await getAttrsAsync(['character_name','investigation_exdice','investigation_specialty','investigation_check','investigation_check_bonus','passive_investigation_bonus','globalskillbonus','globalabilitycheckbonus','rolladvdis','rollgmnormal','PB','strength_mod','intelligence_mod','wisdom_mod','dexterity_mod','constitution_mod','charisma_mod','jackofalltrades_check']);
|
||
const prof = parseInt(values.investigation_check)||0;
|
||
const exdice = values.investigation_exdice||"0d6";
|
||
const specialty = values.investigation_specialty||"";
|
||
const checkbonus = parseInt(values.investigation_check_bonus)||0;
|
||
const passivebonus = parseInt(values.passive_investigation_bonus)||0;
|
||
const charname = values.character_name || "";
|
||
const jot = parseInt(values.jackofalltrades_check)||0;
|
||
const str = parseInt(values.strength_mod)||0;
|
||
const intel = parseInt(values.intelligence_mod)||0;
|
||
const dex = parseInt(values.dexterity_mod)||0;
|
||
const wis = parseInt(values.wisdom_mod)||0;
|
||
const con = parseInt(values.constitution_mod)||0;
|
||
const cha = parseInt(values.charisma_mod)||0;
|
||
const profbonus = parseInt(values.PB)||0;
|
||
const globalskillbonus = parseInt(values.globalskillbonus)||0;
|
||
const globalabilitybonus = parseInt(values.globalabilitycheckbonus)||0;
|
||
const rolladvdis = values.rolladvdis||"sta";
|
||
const rollgmnormal = values.rollgmnormal||"normal";
|
||
const jotbonus = Math.floor(profbonus/2);
|
||
|
||
const bonus = checkbonus+passivebonus+globalskillbonus+globalabilitybonus;
|
||
|
||
var specdice = "1d4";
|
||
if (exdice == "") {specdice = "1d4";};
|
||
if (exdice == "1d4") {specdice = "1d6";};
|
||
if (exdice == "1d6") {specdice = "1d8";};
|
||
if (exdice == "1d8") {specdice = "1d8";};
|
||
if (exdice == "1d10") {specdice = "1d10";};
|
||
if (exdice == "1d12") {specdice = "1d12";};
|
||
|
||
var finalbonus = bonus;
|
||
if (jot == 1) {finalbonus = jotbonus+bonus;};
|
||
if (prof == 1) {finalbonus = profbonus+bonus;};
|
||
|
||
var diceroll = "1d20";
|
||
if (rolladvdis == "adv") {diceroll = "2d20kh1";};
|
||
if (rolladvdis == "dis") {diceroll = "2d20dh1";};
|
||
|
||
var specialtyText = "";
|
||
if (specialty != ""){
|
||
specialtyText = "("+specialty+")";
|
||
}
|
||
|
||
var gmroll = "";
|
||
if (rollgmnormal == "gm") { gmroll = "/w gm ";}
|
||
const results = await startRoll( gmroll+"&{template:default} !?{Stat|Intelligence, "+intel+"|Dexterity, "+dex+"|Strength, "+str+"|Constitution, "+con+"|Wisdom, "+wis+"|Charisma, "+cha+"} ?{IncludeSpecialty|No, "+exdice+"|Yes, "+specdice+" } {{name="+charname+" Investigation "+specialtyText+" Roll}} {{roll=[["+diceroll+"+?{Stat}+"+finalbonus+"+?{IncludeSpecialty}cf<0cs>101]]}}");
|
||
finishRoll(results.rollId);
|
||
});
|
||
on('clicked:medicine-button', async (info) => {
|
||
const values = await getAttrsAsync(['character_name','medicine_exdice','medicine_specialty','medicine_check','medicine_check_bonus','passive_medicine_bonus','globalskillbonus','globalabilitycheckbonus','rolladvdis','rollgmnormal','PB','strength_mod','intelligence_mod','wisdom_mod','dexterity_mod','constitution_mod','charisma_mod','jackofalltrades_check']);
|
||
const prof = parseInt(values.medicine_check)||0;
|
||
const exdice = values.medicine_exdice||"0d6";
|
||
const specialty = values.medicine_specialty||"";
|
||
const checkbonus = parseInt(values.medicine_check_bonus)||0;
|
||
const passivebonus = parseInt(values.passive_medicine_bonus)||0;
|
||
const charname = values.character_name || "";
|
||
const jot = parseInt(values.jackofalltrades_check)||0;
|
||
const str = parseInt(values.strength_mod)||0;
|
||
const intel = parseInt(values.intelligence_mod)||0;
|
||
const dex = parseInt(values.dexterity_mod)||0;
|
||
const wis = parseInt(values.wisdom_mod)||0;
|
||
const con = parseInt(values.constitution_mod)||0;
|
||
const cha = parseInt(values.charisma_mod)||0;
|
||
const profbonus = parseInt(values.PB)||0;
|
||
const globalskillbonus = parseInt(values.globalskillbonus)||0;
|
||
const globalabilitybonus = parseInt(values.globalabilitycheckbonus)||0;
|
||
const rolladvdis = values.rolladvdis||"sta";
|
||
const rollgmnormal = values.rollgmnormal||"normal";
|
||
const jotbonus = Math.floor(profbonus/2);
|
||
|
||
const bonus = checkbonus+passivebonus+globalskillbonus+globalabilitybonus;
|
||
|
||
var specdice = "1d4";
|
||
if (exdice == "") {specdice = "1d4";};
|
||
if (exdice == "1d4") {specdice = "1d6";};
|
||
if (exdice == "1d6") {specdice = "1d8";};
|
||
if (exdice == "1d8") {specdice = "1d8";};
|
||
if (exdice == "1d10") {specdice = "1d10";};
|
||
if (exdice == "1d12") {specdice = "1d12";};
|
||
|
||
var finalbonus = bonus;
|
||
if (jot == 1) {finalbonus = jotbonus+bonus;};
|
||
if (prof == 1) {finalbonus = profbonus+bonus;};
|
||
|
||
var diceroll = "1d20";
|
||
if (rolladvdis == "adv") {diceroll = "2d20kh1";};
|
||
if (rolladvdis == "dis") {diceroll = "2d20dh1";};
|
||
|
||
var specialtyText = "";
|
||
if (specialty != ""){
|
||
specialtyText = "("+specialty+")";
|
||
}
|
||
|
||
var gmroll = "";
|
||
if (rollgmnormal == "gm") { gmroll = "/w gm ";}
|
||
const results = await startRoll( gmroll+"&{template:default} !?{Stat|Wisdom, "+wis+"|Dexterity, "+dex+"|Strength, "+str+"|Constitution, "+con+"|Intelligence, "+intel+"|Charisma, "+cha+"} ?{IncludeSpecialty|No, "+exdice+"|Yes, "+specdice+" } {{name="+charname+" Medicine "+specialtyText+" Roll}} {{roll=[["+diceroll+"+?{Stat}+"+finalbonus+"+?{IncludeSpecialty}cf<0cs>101]]}}");
|
||
finishRoll(results.rollId);
|
||
});
|
||
on('clicked:nature-button', async (info) => {
|
||
const values = await getAttrsAsync(['character_name','nature_exdice','nature_specialty','nature_check','nature_check_bonus','passive_nature_bonus','globalskillbonus','globalabilitycheckbonus','rolladvdis','rollgmnormal','PB','strength_mod','intelligence_mod','wisdom_mod','dexterity_mod','constitution_mod','charisma_mod','jackofalltrades_check']);
|
||
const prof = parseInt(values.nature_check)||0;
|
||
const exdice = values.nature_exdice||"0d6";
|
||
const specialty = values.nature_specialty||"";
|
||
const checkbonus = parseInt(values.nature_check_bonus)||0;
|
||
const passivebonus = parseInt(values.passive_nature_bonus)||0;
|
||
const charname = values.character_name || "";
|
||
const jot = parseInt(values.jackofalltrades_check)||0;
|
||
const str = parseInt(values.strength_mod)||0;
|
||
const intel = parseInt(values.intelligence_mod)||0;
|
||
const dex = parseInt(values.dexterity_mod)||0;
|
||
const wis = parseInt(values.wisdom_mod)||0;
|
||
const con = parseInt(values.constitution_mod)||0;
|
||
const cha = parseInt(values.charisma_mod)||0;
|
||
const profbonus = parseInt(values.PB)||0;
|
||
const globalskillbonus = parseInt(values.globalskillbonus)||0;
|
||
const globalabilitybonus = parseInt(values.globalabilitycheckbonus)||0;
|
||
const rolladvdis = values.rolladvdis||"sta";
|
||
const rollgmnormal = values.rollgmnormal||"normal";
|
||
const jotbonus = Math.floor(profbonus/2);
|
||
|
||
const bonus = checkbonus+passivebonus+globalskillbonus+globalabilitybonus;
|
||
|
||
var specdice = "1d4";
|
||
if (exdice == "") {specdice = "1d4";};
|
||
if (exdice == "1d4") {specdice = "1d6";};
|
||
if (exdice == "1d6") {specdice = "1d8";};
|
||
if (exdice == "1d8") {specdice = "1d8";};
|
||
if (exdice == "1d10") {specdice = "1d10";};
|
||
if (exdice == "1d12") {specdice = "1d12";};
|
||
|
||
var finalbonus = bonus;
|
||
if (jot == 1) {finalbonus = jotbonus+bonus;};
|
||
if (prof == 1) {finalbonus = profbonus+bonus;};
|
||
|
||
var diceroll = "1d20";
|
||
if (rolladvdis == "adv") {diceroll = "2d20kh1";};
|
||
if (rolladvdis == "dis") {diceroll = "2d20dh1";};
|
||
|
||
var specialtyText = "";
|
||
if (specialty != ""){
|
||
specialtyText = "("+specialty+")";
|
||
}
|
||
|
||
var gmroll = "";
|
||
if (rollgmnormal == "gm") { gmroll = "/w gm ";}
|
||
const results = await startRoll( gmroll+"&{template:default} !?{Stat|Intelligence, "+intel+"|Dexterity, "+dex+"|Strength, "+str+"|Constitution, "+con+"|Wisdom, "+wis+"|Charisma, "+cha+"} ?{IncludeSpecialty|No, "+exdice+"|Yes, "+specdice+" } {{name="+charname+" Nature "+specialtyText+" Roll}} {{roll=[["+diceroll+"+?{Stat}+"+finalbonus+"+?{IncludeSpecialty}cf<0cs>101]]}}");
|
||
finishRoll(results.rollId);
|
||
});
|
||
on('clicked:perception-button', async (info) => {
|
||
const values = await getAttrsAsync(['character_name','perception_exdice','perception_specialty','perception_check','perception_check_bonus','passive_perception_bonus','globalskillbonus','globalabilitycheckbonus','rolladvdis','rollgmnormal','PB','strength_mod','intelligence_mod','wisdom_mod','dexterity_mod','constitution_mod','charisma_mod','jackofalltrades_check']);
|
||
const prof = parseInt(values.perception_check)||0;
|
||
const exdice = values.perception_exdice||"0d6";
|
||
const specialty = values.perception_specialty||"";
|
||
const checkbonus = parseInt(values.perception_check_bonus)||0;
|
||
const passivebonus = parseInt(values.passive_perception_bonus)||0;
|
||
const charname = values.character_name || "";
|
||
const jot = parseInt(values.jackofalltrades_check)||0;
|
||
const str = parseInt(values.strength_mod)||0;
|
||
const intel = parseInt(values.intelligence_mod)||0;
|
||
const dex = parseInt(values.dexterity_mod)||0;
|
||
const wis = parseInt(values.wisdom_mod)||0;
|
||
const con = parseInt(values.constitution_mod)||0;
|
||
const cha = parseInt(values.charisma_mod)||0;
|
||
const profbonus = parseInt(values.PB)||0;
|
||
const globalskillbonus = parseInt(values.globalskillbonus)||0;
|
||
const globalabilitybonus = parseInt(values.globalabilitycheckbonus)||0;
|
||
const rolladvdis = values.rolladvdis||"sta";
|
||
const rollgmnormal = values.rollgmnormal||"normal";
|
||
const jotbonus = Math.floor(profbonus/2);
|
||
|
||
const bonus = checkbonus+passivebonus+globalskillbonus+globalabilitybonus;
|
||
|
||
var specdice = "1d4";
|
||
if (exdice == "") {specdice = "1d4";};
|
||
if (exdice == "1d4") {specdice = "1d6";};
|
||
if (exdice == "1d6") {specdice = "1d8";};
|
||
if (exdice == "1d8") {specdice = "1d8";};
|
||
if (exdice == "1d10") {specdice = "1d10";};
|
||
if (exdice == "1d12") {specdice = "1d12";};
|
||
|
||
var finalbonus = bonus;
|
||
if (jot == 1) {finalbonus = jotbonus+bonus;};
|
||
if (prof == 1) {finalbonus = profbonus+bonus;};
|
||
|
||
var diceroll = "1d20";
|
||
if (rolladvdis == "adv") {diceroll = "2d20kh1";};
|
||
if (rolladvdis == "dis") {diceroll = "2d20dh1";};
|
||
|
||
var specialtyText = "";
|
||
if (specialty != ""){
|
||
specialtyText = "("+specialty+")";
|
||
}
|
||
|
||
var gmroll = "";
|
||
if (rollgmnormal == "gm") { gmroll = "/w gm ";}
|
||
const results = await startRoll( gmroll+"&{template:default} !?{Stat|Wisdom, "+wis+"|Dexterity, "+dex+"|Strength, "+str+"|Constitution, "+con+"|Intelligence, "+intel+"|Charisma, "+cha+"} ?{IncludeSpecialty|No, "+exdice+"|Yes, "+specdice+" } {{name="+charname+" Perception "+specialtyText+" Roll}} {{roll=[["+diceroll+"+?{Stat}+"+finalbonus+"+?{IncludeSpecialty}cf<0cs>101]]}}");
|
||
finishRoll(results.rollId);
|
||
});
|
||
on('clicked:performance-button', async (info) => {
|
||
const values = await getAttrsAsync(['character_name','performance_exdice','performance_specialty','performance_check','performance_check_bonus','passive_performance_bonus','globalskillbonus','globalabilitycheckbonus','rolladvdis','rollgmnormal','PB','strength_mod','intelligence_mod','wisdom_mod','dexterity_mod','constitution_mod','charisma_mod','jackofalltrades_check']);
|
||
const prof = parseInt(values.performance_check)||0;
|
||
const exdice = values.performance_exdice||"0d6";
|
||
const specialty = values.performance_specialty||"";
|
||
const checkbonus = parseInt(values.performance_check_bonus)||0;
|
||
const passivebonus = parseInt(values.passive_performance_bonus)||0;
|
||
const charname = values.character_name || "";
|
||
const jot = parseInt(values.jackofalltrades_check)||0;
|
||
const str = parseInt(values.strength_mod)||0;
|
||
const intel = parseInt(values.intelligence_mod)||0;
|
||
const dex = parseInt(values.dexterity_mod)||0;
|
||
const wis = parseInt(values.wisdom_mod)||0;
|
||
const con = parseInt(values.constitution_mod)||0;
|
||
const cha = parseInt(values.charisma_mod)||0;
|
||
const profbonus = parseInt(values.PB)||0;
|
||
const globalskillbonus = parseInt(values.globalskillbonus)||0;
|
||
const globalabilitybonus = parseInt(values.globalabilitycheckbonus)||0;
|
||
const rolladvdis = values.rolladvdis||"sta";
|
||
const rollgmnormal = values.rollgmnormal||"normal";
|
||
const jotbonus = Math.floor(profbonus/2);
|
||
|
||
const bonus = checkbonus+passivebonus+globalskillbonus+globalabilitybonus;
|
||
|
||
var specdice = "1d4";
|
||
if (exdice == "") {specdice = "1d4";};
|
||
if (exdice == "1d4") {specdice = "1d6";};
|
||
if (exdice == "1d6") {specdice = "1d8";};
|
||
if (exdice == "1d8") {specdice = "1d8";};
|
||
if (exdice == "1d10") {specdice = "1d10";};
|
||
if (exdice == "1d12") {specdice = "1d12";};
|
||
|
||
var finalbonus = bonus;
|
||
if (jot == 1) {finalbonus = jotbonus+bonus;};
|
||
if (prof == 1) {finalbonus = profbonus+bonus;};
|
||
|
||
var diceroll = "1d20";
|
||
if (rolladvdis == "adv") {diceroll = "2d20kh1";};
|
||
if (rolladvdis == "dis") {diceroll = "2d20dh1";};
|
||
|
||
var specialtyText = "";
|
||
if (specialty != ""){
|
||
specialtyText = "("+specialty+")";
|
||
}
|
||
|
||
var gmroll = "";
|
||
if (rollgmnormal == "gm") { gmroll = "/w gm ";}
|
||
const results = await startRoll( gmroll+"&{template:default} !?{Stat|Charisma, "+cha+"|Dexterity, "+dex+"|Strength, "+str+"|Constitution, "+con+"|Intelligence, "+intel+"|Wisdom, "+wis+"} ?{IncludeSpecialty|No, "+exdice+"|Yes, "+specdice+" } {{name="+charname+" Performance "+specialtyText+" Roll}} {{roll=[["+diceroll+"+?{Stat}+"+finalbonus+"+?{IncludeSpecialty}cf<0cs>101]]}}");
|
||
finishRoll(results.rollId);
|
||
});
|
||
on('clicked:persuasion-button', async (info) => {
|
||
const values = await getAttrsAsync(['character_name','persuasion_exdice','persuasion_specialty','persuasion_check','persuasion_check_bonus','passive_persuasion_bonus','globalskillbonus','globalabilitycheckbonus','rolladvdis','rollgmnormal','PB','strength_mod','intelligence_mod','wisdom_mod','dexterity_mod','constitution_mod','charisma_mod','jackofalltrades_check']);
|
||
const prof = parseInt(values.persuasion_check)||0;
|
||
const exdice = values.persuasion_exdice||"0d6";
|
||
const specialty = values.persuasion_specialty||"";
|
||
const checkbonus = parseInt(values.persuasion_check_bonus)||0;
|
||
const passivebonus = parseInt(values.passive_persuasion_bonus)||0;
|
||
const charname = values.character_name || "";
|
||
const jot = parseInt(values.jackofalltrades_check)||0;
|
||
const str = parseInt(values.strength_mod)||0;
|
||
const intel = parseInt(values.intelligence_mod)||0;
|
||
const dex = parseInt(values.dexterity_mod)||0;
|
||
const wis = parseInt(values.wisdom_mod)||0;
|
||
const con = parseInt(values.constitution_mod)||0;
|
||
const cha = parseInt(values.charisma_mod)||0;
|
||
const profbonus = parseInt(values.PB)||0;
|
||
const globalskillbonus = parseInt(values.globalskillbonus)||0;
|
||
const globalabilitybonus = parseInt(values.globalabilitycheckbonus)||0;
|
||
const rolladvdis = values.rolladvdis||"sta";
|
||
const rollgmnormal = values.rollgmnormal||"normal";
|
||
const jotbonus = Math.floor(profbonus/2);
|
||
|
||
const bonus = checkbonus+passivebonus+globalskillbonus+globalabilitybonus;
|
||
|
||
var specdice = "1d4";
|
||
if (exdice == "") {specdice = "1d4";};
|
||
if (exdice == "1d4") {specdice = "1d6";};
|
||
if (exdice == "1d6") {specdice = "1d8";};
|
||
if (exdice == "1d8") {specdice = "1d8";};
|
||
if (exdice == "1d10") {specdice = "1d10";};
|
||
if (exdice == "1d12") {specdice = "1d12";};
|
||
|
||
var finalbonus = bonus;
|
||
if (jot == 1) {finalbonus = jotbonus+bonus;};
|
||
if (prof == 1) {finalbonus = profbonus+bonus;};
|
||
|
||
var diceroll = "1d20";
|
||
if (rolladvdis == "adv") {diceroll = "2d20kh1";};
|
||
if (rolladvdis == "dis") {diceroll = "2d20dh1";};
|
||
|
||
var specialtyText = "";
|
||
if (specialty != ""){
|
||
specialtyText = "("+specialty+")";
|
||
}
|
||
|
||
var gmroll = "";
|
||
if (rollgmnormal == "gm") { gmroll = "/w gm ";}
|
||
const results = await startRoll( gmroll+"&{template:default} !?{Stat|Charisma, "+cha+"|Dexterity, "+dex+"|Strength, "+str+"|Constitution, "+con+"|Intelligence, "+intel+"|Wisdom, "+wis+"} ?{IncludeSpecialty|No, "+exdice+"|Yes, "+specdice+" } {{name="+charname+" Persuasion "+specialtyText+" Roll}} {{roll=[["+diceroll+"+?{Stat}+"+finalbonus+"+?{IncludeSpecialty}cf<0cs>101]]}}");
|
||
finishRoll(results.rollId);
|
||
});
|
||
on('clicked:religion-button', async (info) => {
|
||
const values = await getAttrsAsync(['character_name','religion_exdice','religion_specialty','religion_check','religion_check_bonus','passive_religion_bonus','globalskillbonus','globalabilitycheckbonus','rolladvdis','rollgmnormal','PB','strength_mod','intelligence_mod','wisdom_mod','dexterity_mod','constitution_mod','charisma_mod','jackofalltrades_check']);
|
||
const prof = parseInt(values.religion_check)||0;
|
||
const exdice = values.religion_exdice||"0d6";
|
||
const specialty = values.religion_specialty||"";
|
||
const checkbonus = parseInt(values.religion_check_bonus)||0;
|
||
const passivebonus = parseInt(values.passive_religion_bonus)||0;
|
||
const charname = values.character_name || "";
|
||
const jot = parseInt(values.jackofalltrades_check)||0;
|
||
const str = parseInt(values.strength_mod)||0;
|
||
const intel = parseInt(values.intelligence_mod)||0;
|
||
const dex = parseInt(values.dexterity_mod)||0;
|
||
const wis = parseInt(values.wisdom_mod)||0;
|
||
const con = parseInt(values.constitution_mod)||0;
|
||
const cha = parseInt(values.charisma_mod)||0;
|
||
const profbonus = parseInt(values.PB)||0;
|
||
const globalskillbonus = parseInt(values.globalskillbonus)||0;
|
||
const globalabilitybonus = parseInt(values.globalabilitycheckbonus)||0;
|
||
const rolladvdis = values.rolladvdis||"sta";
|
||
const rollgmnormal = values.rollgmnormal||"normal";
|
||
const jotbonus = Math.floor(profbonus/2);
|
||
|
||
const bonus = checkbonus+passivebonus+globalskillbonus+globalabilitybonus;
|
||
|
||
var specdice = "1d4";
|
||
if (exdice == "") {specdice = "1d4";};
|
||
if (exdice == "1d4") {specdice = "1d6";};
|
||
if (exdice == "1d6") {specdice = "1d8";};
|
||
if (exdice == "1d8") {specdice = "1d8";};
|
||
if (exdice == "1d10") {specdice = "1d10";};
|
||
if (exdice == "1d12") {specdice = "1d12";};
|
||
|
||
var finalbonus = bonus;
|
||
if (jot == 1) {finalbonus = jotbonus+bonus;};
|
||
if (prof == 1) {finalbonus = profbonus+bonus;};
|
||
|
||
var diceroll = "1d20";
|
||
if (rolladvdis == "adv") {diceroll = "2d20kh1";};
|
||
if (rolladvdis == "dis") {diceroll = "2d20dh1";};
|
||
|
||
var specialtyText = "";
|
||
if (specialty != ""){
|
||
specialtyText = "("+specialty+")";
|
||
}
|
||
|
||
var gmroll = "";
|
||
if (rollgmnormal == "gm") { gmroll = "/w gm ";}
|
||
const results = await startRoll( gmroll+"&{template:default} !?{Stat|Intelligence, "+intel+"|Dexterity, "+dex+"|Strength, "+str+"|Constitution, "+con+"|Wisdom, "+wis+"|Charisma, "+cha+"} ?{IncludeSpecialty|No, "+exdice+"|Yes, "+specdice+" } {{name="+charname+" Religion "+specialtyText+" Roll}} {{roll=[["+diceroll+"+?{Stat}+"+finalbonus+"+?{IncludeSpecialty}cf<0cs>101]]}}");
|
||
finishRoll(results.rollId);
|
||
});
|
||
on('clicked:sleightofhand-button', async (info) => {
|
||
const values = await getAttrsAsync(['character_name','sleightofhand_exdice','sleightofhand_specialty','sleightofhand_check','sleightofhand_check_bonus','passive_sleightofhand_bonus','globalskillbonus','globalabilitycheckbonus','rolladvdis','rollgmnormal','PB','strength_mod','intelligence_mod','wisdom_mod','dexterity_mod','constitution_mod','charisma_mod','jackofalltrades_check']);
|
||
const prof = parseInt(values.sleightofhand_check)||0;
|
||
const exdice = values.sleightofhand_exdice||"0d6";
|
||
const specialty = values.sleightofhand_specialty||"";
|
||
const checkbonus = parseInt(values.sleightofhand_check_bonus)||0;
|
||
const passivebonus = parseInt(values.passive_sleightofhand_bonus)||0;
|
||
const charname = values.character_name || "";
|
||
const jot = parseInt(values.jackofalltrades_check)||0;
|
||
const str = parseInt(values.strength_mod)||0;
|
||
const intel = parseInt(values.intelligence_mod)||0;
|
||
const dex = parseInt(values.dexterity_mod)||0;
|
||
const wis = parseInt(values.wisdom_mod)||0;
|
||
const con = parseInt(values.constitution_mod)||0;
|
||
const cha = parseInt(values.charisma_mod)||0;
|
||
const profbonus = parseInt(values.PB)||0;
|
||
const globalskillbonus = parseInt(values.globalskillbonus)||0;
|
||
const globalabilitybonus = parseInt(values.globalabilitycheckbonus)||0;
|
||
const rolladvdis = values.rolladvdis||"sta";
|
||
const rollgmnormal = values.rollgmnormal||"normal";
|
||
const jotbonus = Math.floor(profbonus/2);
|
||
|
||
const bonus = checkbonus+passivebonus+globalskillbonus+globalabilitybonus;
|
||
|
||
var specdice = "1d4";
|
||
if (exdice == "") {specdice = "1d4";};
|
||
if (exdice == "1d4") {specdice = "1d6";};
|
||
if (exdice == "1d6") {specdice = "1d8";};
|
||
if (exdice == "1d8") {specdice = "1d8";};
|
||
if (exdice == "1d10") {specdice = "1d10";};
|
||
if (exdice == "1d12") {specdice = "1d12";};
|
||
|
||
var finalbonus = bonus;
|
||
if (jot == 1) {finalbonus = jotbonus+bonus;};
|
||
if (prof == 1) {finalbonus = profbonus+bonus;};
|
||
|
||
var diceroll = "1d20";
|
||
if (rolladvdis == "adv") {diceroll = "2d20kh1";};
|
||
if (rolladvdis == "dis") {diceroll = "2d20dh1";};
|
||
|
||
var specialtyText = "";
|
||
if (specialty != ""){
|
||
specialtyText = "("+specialty+")";
|
||
}
|
||
|
||
var gmroll = "";
|
||
if (rollgmnormal == "gm") { gmroll = "/w gm ";}
|
||
const results = await startRoll( gmroll+"&{template:default} !?{Stat|Dexterity, "+dex+"|Strength, "+str+"|Constitution, "+con+"|Intelligence, "+intel+"|Wisdom, "+wis+"|Charisma, "+cha+"} ?{IncludeSpecialty|No, "+exdice+"|Yes, "+specdice+" } {{name="+charname+" Sleight of Hand "+specialtyText+" Roll}} {{roll=[["+diceroll+"+?{Stat}+"+finalbonus+"+?{IncludeSpecialty}cf<0cs>101]]}}");
|
||
finishRoll(results.rollId);
|
||
});
|
||
on('clicked:stealth-button', async (info) => {
|
||
const values = await getAttrsAsync(['character_name','stealth_exdice','stealth_specialty','stealth_check','stealth_check_bonus','passive_stealth_bonus','globalskillbonus','globalabilitycheckbonus','rolladvdis','rollgmnormal','PB','strength_mod','intelligence_mod','wisdom_mod','dexterity_mod','constitution_mod','charisma_mod','jackofalltrades_check']);
|
||
const prof = parseInt(values.stealth_check)||0;
|
||
const exdice = values.stealth_exdice||"0d6";
|
||
const specialty = values.stealth_specialty||"";
|
||
const checkbonus = parseInt(values.stealth_check_bonus)||0;
|
||
const passivebonus = parseInt(values.passive_stealth_bonus)||0;
|
||
const charname = values.character_name || "";
|
||
const jot = parseInt(values.jackofalltrades_check)||0;
|
||
const str = parseInt(values.strength_mod)||0;
|
||
const intel = parseInt(values.intelligence_mod)||0;
|
||
const dex = parseInt(values.dexterity_mod)||0;
|
||
const wis = parseInt(values.wisdom_mod)||0;
|
||
const con = parseInt(values.constitution_mod)||0;
|
||
const cha = parseInt(values.charisma_mod)||0;
|
||
const profbonus = parseInt(values.PB)||0;
|
||
const globalskillbonus = parseInt(values.globalskillbonus)||0;
|
||
const globalabilitybonus = parseInt(values.globalabilitycheckbonus)||0;
|
||
const rolladvdis = values.rolladvdis||"sta";
|
||
const rollgmnormal = values.rollgmnormal||"normal";
|
||
const jotbonus = Math.floor(profbonus/2);
|
||
|
||
const bonus = checkbonus+passivebonus+globalskillbonus+globalabilitybonus;
|
||
|
||
var specdice = "1d4";
|
||
if (exdice == "") {specdice = "1d4";};
|
||
if (exdice == "1d4") {specdice = "1d6";};
|
||
if (exdice == "1d6") {specdice = "1d8";};
|
||
if (exdice == "1d8") {specdice = "1d8";};
|
||
if (exdice == "1d10") {specdice = "1d10";};
|
||
if (exdice == "1d12") {specdice = "1d12";};
|
||
|
||
var finalbonus = bonus;
|
||
if (jot == 1) {finalbonus = jotbonus+bonus;};
|
||
if (prof == 1) {finalbonus = profbonus+bonus;};
|
||
|
||
var diceroll = "1d20";
|
||
if (rolladvdis == "adv") {diceroll = "2d20kh1";};
|
||
if (rolladvdis == "dis") {diceroll = "2d20dh1";};
|
||
|
||
var specialtyText = "";
|
||
if (specialty != ""){
|
||
specialtyText = "("+specialty+")";
|
||
}
|
||
|
||
var gmroll = "";
|
||
if (rollgmnormal == "gm") { gmroll = "/w gm ";}
|
||
const results = await startRoll( gmroll+"&{template:default} !?{Stat|Dexterity, "+dex+"|Strength, "+str+"|Constitution, "+con+"|Intelligence, "+intel+"|Wisdom, "+wis+"|Charisma, "+cha+"} ?{IncludeSpecialty|No, "+exdice+"|Yes, "+specdice+" } {{name="+charname+" Stealth "+specialtyText+" Roll}} {{roll=[["+diceroll+"+?{Stat}+"+finalbonus+"+?{IncludeSpecialty}cf<0cs>101]]}}");
|
||
finishRoll(results.rollId);
|
||
});
|
||
on('clicked:survival-button', async (info) => {
|
||
const values = await getAttrsAsync(['character_name','survival_exdice','survival_specialty','survival_check','survival_check_bonus','passive_survival_bonus','globalskillbonus','globalabilitycheckbonus','rolladvdis','rollgmnormal','PB','strength_mod','intelligence_mod','wisdom_mod','dexterity_mod','constitution_mod','charisma_mod','jackofalltrades_check']);
|
||
const prof = parseInt(values.survival_check)||0;
|
||
const exdice = values.survival_exdice||"0d6";
|
||
const specialty = values.survival_specialty||"";
|
||
const checkbonus = parseInt(values.survival_check_bonus)||0;
|
||
const passivebonus = parseInt(values.passive_survival_bonus)||0;
|
||
const charname = values.character_name || "";
|
||
const jot = parseInt(values.jackofalltrades_check)||0;
|
||
const str = parseInt(values.strength_mod)||0;
|
||
const intel = parseInt(values.intelligence_mod)||0;
|
||
const dex = parseInt(values.dexterity_mod)||0;
|
||
const wis = parseInt(values.wisdom_mod)||0;
|
||
const con = parseInt(values.constitution_mod)||0;
|
||
const cha = parseInt(values.charisma_mod)||0;
|
||
const profbonus = parseInt(values.PB)||0;
|
||
const globalskillbonus = parseInt(values.globalskillbonus)||0;
|
||
const globalabilitybonus = parseInt(values.globalabilitycheckbonus)||0;
|
||
const rolladvdis = values.rolladvdis||"sta";
|
||
const rollgmnormal = values.rollgmnormal||"normal";
|
||
const jotbonus = Math.floor(profbonus/2);
|
||
|
||
const bonus = checkbonus+passivebonus+globalskillbonus+globalabilitybonus;
|
||
|
||
var specdice = "1d4";
|
||
if (exdice == "") {specdice = "1d4";};
|
||
if (exdice == "1d4") {specdice = "1d6";};
|
||
if (exdice == "1d6") {specdice = "1d8";};
|
||
if (exdice == "1d8") {specdice = "1d8";};
|
||
if (exdice == "1d10") {specdice = "1d10";};
|
||
if (exdice == "1d12") {specdice = "1d12";};
|
||
|
||
var finalbonus = bonus;
|
||
if (jot == 1) {finalbonus = jotbonus+bonus;};
|
||
if (prof == 1) {finalbonus = profbonus+bonus;};
|
||
|
||
var diceroll = "1d20";
|
||
if (rolladvdis == "adv") {diceroll = "2d20kh1";};
|
||
if (rolladvdis == "dis") {diceroll = "2d20dh1";};
|
||
|
||
var specialtyText = "";
|
||
if (specialty != ""){
|
||
specialtyText = "("+specialty+")";
|
||
}
|
||
|
||
var gmroll = "";
|
||
if (rollgmnormal == "gm") { gmroll = "/w gm ";}
|
||
const results = await startRoll( gmroll+"&{template:default} !?{Stat|Wisdom, "+wis+"|Dexterity, "+dex+"|Strength, "+str+"|Constitution, "+con+"|Intelligence, "+intel+"|Charisma, "+cha+"} ?{IncludeSpecialty|No, "+exdice+"|Yes, "+specdice+" } {{name="+charname+" Survival "+specialtyText+" Roll}} {{roll=[["+diceroll+"+?{Stat}+"+finalbonus+"+?{IncludeSpecialty}cf<0cs>101]]}}");
|
||
finishRoll(results.rollId);
|
||
});
|
||
on('clicked:vehicles-button', async (info) => {
|
||
const values = await getAttrsAsync(['character_name','vehicles_exdice','vehicles_specialty','vehicles_check','vehicles_check_bonus','passive_vehicles_bonus','globalskillbonus','globalabilitycheckbonus','rolladvdis','rollgmnormal','PB','strength_mod','intelligence_mod','wisdom_mod','dexterity_mod','constitution_mod','charisma_mod','jackofalltrades_check']);
|
||
const prof = parseInt(values.vehicles_check)||0;
|
||
const exdice = values.vehicles_exdice||"0d6";
|
||
const specialty = values.vehicles_specialty||"";
|
||
const checkbonus = parseInt(values.vehicles_check_bonus)||0;
|
||
const passivebonus = parseInt(values.passive_vehicles_bonus)||0;
|
||
const charname = values.character_name || "";
|
||
const jot = parseInt(values.jackofalltrades_check)||0;
|
||
const str = parseInt(values.strength_mod)||0;
|
||
const intel = parseInt(values.intelligence_mod)||0;
|
||
const dex = parseInt(values.dexterity_mod)||0;
|
||
const wis = parseInt(values.wisdom_mod)||0;
|
||
const con = parseInt(values.constitution_mod)||0;
|
||
const cha = parseInt(values.charisma_mod)||0;
|
||
const profbonus = parseInt(values.PB)||0;
|
||
const globalskillbonus = parseInt(values.globalskillbonus)||0;
|
||
const globalabilitybonus = parseInt(values.globalabilitycheckbonus)||0;
|
||
const rolladvdis = values.rolladvdis||"sta";
|
||
const rollgmnormal = values.rollgmnormal||"normal";
|
||
const jotbonus = Math.floor(profbonus/2);
|
||
|
||
const bonus = checkbonus+passivebonus+globalskillbonus+globalabilitybonus;
|
||
|
||
var specdice = "1d4";
|
||
if (exdice == "") {specdice = "1d4";};
|
||
if (exdice == "1d4") {specdice = "1d6";};
|
||
if (exdice == "1d6") {specdice = "1d8";};
|
||
if (exdice == "1d8") {specdice = "1d8";};
|
||
if (exdice == "1d10") {specdice = "1d10";};
|
||
if (exdice == "1d12") {specdice = "1d12";};
|
||
|
||
var finalbonus = bonus;
|
||
if (jot == 1) {finalbonus = jotbonus+bonus;};
|
||
if (prof == 1) {finalbonus = profbonus+bonus;};
|
||
|
||
var diceroll = "1d20";
|
||
if (rolladvdis == "adv") {diceroll = "2d20kh1";};
|
||
if (rolladvdis == "dis") {diceroll = "2d20dh1";};
|
||
|
||
var specialtyText = "";
|
||
if (specialty != ""){
|
||
specialtyText = "("+specialty+")";
|
||
}
|
||
|
||
var gmroll = "";
|
||
if (rollgmnormal == "gm") { gmroll = "/w gm ";}
|
||
const results = await startRoll( gmroll+"&{template:default} !?{Stat|Dexterity, "+dex+"|Strength, "+str+"|Constitution, "+con+"|Intelligence, "+intel+"|Wisdom, "+wis+"|Charisma, "+cha+"} ?{IncludeSpecialty|No, "+exdice+"|Yes, "+specdice+" } {{name="+charname+" Vehicles "+specialtyText+" Roll}} {{roll=[["+diceroll+"+?{Stat}+"+finalbonus+"+?{IncludeSpecialty}cf<0cs>101]]}}");
|
||
finishRoll(results.rollId);
|
||
});
|
||
on('clicked:misc1-button', async (info) => {
|
||
const values = await getAttrsAsync(['character_name','misc1_exdice','misc1_specialty','misc1_check','misc1_check_bonus','passive_misc1_bonus','globalskillbonus','globalabilitycheckbonus','rolladvdis','rollgmnormal','PB','strength_mod','intelligence_mod','wisdom_mod','dexterity_mod','constitution_mod','charisma_mod','jackofalltrades_check']);
|
||
const prof = parseInt(values.misc1_check)||0;
|
||
const exdice = values.misc1_exdice||"0d6";
|
||
const specialty = values.misc1_specialty||"";
|
||
const checkbonus = parseInt(values.misc1_check_bonus)||0;
|
||
const passivebonus = parseInt(values.passive_misc1_bonus)||0;
|
||
const charname = values.character_name || "";
|
||
const jot = parseInt(values.jackofalltrades_check)||0;
|
||
const str = parseInt(values.strength_mod)||0;
|
||
const intel = parseInt(values.intelligence_mod)||0;
|
||
const dex = parseInt(values.dexterity_mod)||0;
|
||
const wis = parseInt(values.wisdom_mod)||0;
|
||
const con = parseInt(values.constitution_mod)||0;
|
||
const cha = parseInt(values.charisma_mod)||0;
|
||
const profbonus = parseInt(values.PB)||0;
|
||
const globalskillbonus = parseInt(values.globalskillbonus)||0;
|
||
const globalabilitybonus = parseInt(values.globalabilitycheckbonus)||0;
|
||
const rolladvdis = values.rolladvdis||"sta";
|
||
const rollgmnormal = values.rollgmnormal||"normal";
|
||
const jotbonus = Math.floor(profbonus/2);
|
||
|
||
const bonus = checkbonus+passivebonus+globalskillbonus+globalabilitybonus;
|
||
|
||
var specdice = "1d4";
|
||
if (exdice == "") {specdice = "1d4";};
|
||
if (exdice == "1d4") {specdice = "1d6";};
|
||
if (exdice == "1d6") {specdice = "1d8";};
|
||
if (exdice == "1d8") {specdice = "1d8";};
|
||
if (exdice == "1d10") {specdice = "1d10";};
|
||
if (exdice == "1d12") {specdice = "1d12";};
|
||
|
||
var finalbonus = bonus;
|
||
if (jot == 1) {finalbonus = jotbonus+bonus;};
|
||
if (prof == 1) {finalbonus = profbonus+bonus;};
|
||
|
||
var diceroll = "1d20";
|
||
if (rolladvdis == "adv") {diceroll = "2d20kh1";};
|
||
if (rolladvdis == "dis") {diceroll = "2d20dh1";};
|
||
|
||
var specialtyText = "";
|
||
if (specialty != ""){
|
||
specialtyText = "("+specialty+")";
|
||
}
|
||
|
||
var gmroll = "";
|
||
if (rollgmnormal == "gm") { gmroll = "/w gm ";}
|
||
const results = await startRoll( gmroll+"&{template:default} !?{Stat|Dexterity, "+dex+"|Strength, "+str+"|Constitution, "+con+"|Intelligence, "+intel+"|Wisdom, "+wis+"|Charisma, "+cha+"} ?{IncludeSpecialty|No, "+exdice+"|Yes, "+specdice+" } {{name="+charname+" Misc1 "+specialtyText+" Roll}} {{roll=[["+diceroll+"+?{Stat}+"+finalbonus+"+?{IncludeSpecialty}cf<0cs>101]]}}");
|
||
finishRoll(results.rollId);
|
||
});
|
||
on('clicked:misc2-button', async (info) => {
|
||
const values = await getAttrsAsync(['character_name','misc2_exdice','misc2_specialty','misc2_check','misc2_check_bonus','passive_misc2_bonus','globalskillbonus','globalabilitycheckbonus','rolladvdis','rollgmnormal','PB','strength_mod','intelligence_mod','wisdom_mod','dexterity_mod','constitution_mod','charisma_mod','jackofalltrades_check']);
|
||
const prof = parseInt(values.misc2_check)||0;
|
||
const exdice = values.misc2_exdice||"0d6";
|
||
const specialty = values.misc2_specialty||"";
|
||
const checkbonus = parseInt(values.misc2_check_bonus)||0;
|
||
const passivebonus = parseInt(values.passive_misc2_bonus)||0;
|
||
const charname = values.character_name || "";
|
||
const jot = parseInt(values.jackofalltrades_check)||0;
|
||
const str = parseInt(values.strength_mod)||0;
|
||
const intel = parseInt(values.intelligence_mod)||0;
|
||
const dex = parseInt(values.dexterity_mod)||0;
|
||
const wis = parseInt(values.wisdom_mod)||0;
|
||
const con = parseInt(values.constitution_mod)||0;
|
||
const cha = parseInt(values.charisma_mod)||0;
|
||
const profbonus = parseInt(values.PB)||0;
|
||
const globalskillbonus = parseInt(values.globalskillbonus)||0;
|
||
const globalabilitybonus = parseInt(values.globalabilitycheckbonus)||0;
|
||
const rolladvdis = values.rolladvdis||"sta";
|
||
const rollgmnormal = values.rollgmnormal||"normal";
|
||
const jotbonus = Math.floor(profbonus/2);
|
||
|
||
const bonus = checkbonus+passivebonus+globalskillbonus+globalabilitybonus;
|
||
|
||
var specdice = "1d4";
|
||
if (exdice == "") {specdice = "1d4";};
|
||
if (exdice == "1d4") {specdice = "1d6";};
|
||
if (exdice == "1d6") {specdice = "1d8";};
|
||
if (exdice == "1d8") {specdice = "1d8";};
|
||
if (exdice == "1d10") {specdice = "1d10";};
|
||
if (exdice == "1d12") {specdice = "1d12";};
|
||
|
||
var finalbonus = bonus;
|
||
if (jot == 1) {finalbonus = jotbonus+bonus;};
|
||
if (prof == 1) {finalbonus = profbonus+bonus;};
|
||
|
||
var diceroll = "1d20";
|
||
if (rolladvdis == "adv") {diceroll = "2d20kh1";};
|
||
if (rolladvdis == "dis") {diceroll = "2d20dh1";};
|
||
|
||
var specialtyText = "";
|
||
if (specialty != ""){
|
||
specialtyText = "("+specialty+")";
|
||
}
|
||
|
||
var gmroll = "";
|
||
if (rollgmnormal == "gm") { gmroll = "/w gm ";}
|
||
const results = await startRoll( gmroll+"&{template:default} !?{Stat|Dexterity, "+dex+"|Strength, "+str+"|Constitution, "+con+"|Intelligence, "+intel+"|Wisdom, "+wis+"|Charisma, "+cha+"} ?{IncludeSpecialty|No, "+exdice+"|Yes, "+specdice+" } {{name="+charname+" Misc 2 "+specialtyText+" Roll}} {{roll=[["+diceroll+"+?{Stat}+"+finalbonus+"+?{IncludeSpecialty}cf<0cs>101]]}}");
|
||
finishRoll(results.rollId);
|
||
});
|
||
|
||
on("change:acrobatics_check change:acrobatics_check_bonus change:passive_acrobatics_bonus change:globalskillbonus change:globalabilitycheckbonus change:PB change:jackofalltrades_check sheet:opened", function() {
|
||
getAttrs(["acrobatics_check","acrobatics_check_bonus","passive_acrobatics_bonus","globalskillbonus","globalabilitycheckbonus","PB","jackofalltrades_check"], function(values) {
|
||
var prof = values["acrobatics_check"]||0;
|
||
var jot = values["jackofalltrades_check"]||0;
|
||
var profbonus = parseInt(values["PB"])||0;
|
||
var checkbonus = parseInt(values["acrobatics_check_bonus"])||0;
|
||
var passivebonus = parseInt(values["passive_acrobatics_bonus"])||0;
|
||
var globalskillbonus = parseInt(values["globalskillbonus"])||0;
|
||
var globalabilitybonus = parseInt(values["globalabilitycheckbonus"])||0;
|
||
var jotbonus = Math.floor(profbonus/2);
|
||
|
||
var bonus = checkbonus+passivebonus+globalskillbonus+globalabilitybonus;
|
||
var finalbonus = bonus;
|
||
if (jot == 1) {finalbonus = jotbonus+bonus;};
|
||
if (prof == 1) {finalbonus = profbonus+bonus;};
|
||
|
||
setAttrs({
|
||
"acrobatics_bonus": finalbonus,
|
||
});
|
||
});
|
||
});
|
||
on("change:animalhandling_check change:animalhandling_check_bonus change:passive_animalhandling_bonus change:globalskillbonus change:globalabilitycheckbonus change:PB change:jackofalltrades_check sheet:opened", function() {
|
||
getAttrs(["animalhandling_check","animalhandling_check_bonus","passive_animalhandling_bonus","globalskillbonus","globalabilitycheckbonus","PB","jackofalltrades_check"], function(values) {
|
||
var prof = values["animalhandling_check"]||0;
|
||
var jot = values["jackofalltrades_check"]||0;
|
||
var profbonus = parseInt(values["PB"])||0;
|
||
var checkbonus = parseInt(values["animalhandling_check_bonus"])||0;
|
||
var passivebonus = parseInt(values["passive_animalhandling_bonus"])||0;
|
||
var globalskillbonus = parseInt(values["globalskillbonus"])||0;
|
||
var globalabilitybonus = parseInt(values["globalabilitycheckbonus"])||0;
|
||
var jotbonus = Math.floor(profbonus/2);
|
||
|
||
var bonus = checkbonus+passivebonus+globalskillbonus+globalabilitybonus;
|
||
var finalbonus = bonus;
|
||
if (jot == 1) {finalbonus = jotbonus+bonus;};
|
||
if (prof == 1) {finalbonus = profbonus+bonus;};
|
||
|
||
setAttrs({
|
||
"animalhandling_bonus": finalbonus,
|
||
});
|
||
});
|
||
});
|
||
on("change:arcana_check change:arcana_check_bonus change:passive_arcana_bonus change:globalskillbonus change:globalabilitycheckbonus change:PB change:jackofalltrades_check sheet:opened", function() {
|
||
getAttrs(["arcana_check","arcana_check_bonus","passive_arcana_bonus","globalskillbonus","globalabilitycheckbonus","PB","jackofalltrades_check"], function(values) {
|
||
var prof = values["arcana_check"]||0;
|
||
var jot = values["jackofalltrades_check"]||0;
|
||
var profbonus = parseInt(values["PB"])||0;
|
||
var checkbonus = parseInt(values["arcana_check_bonus"])||0;
|
||
var passivebonus = parseInt(values["passive_arcana_bonus"])||0;
|
||
var globalskillbonus = parseInt(values["globalskillbonus"])||0;
|
||
var globalabilitybonus = parseInt(values["globalabilitycheckbonus"])||0;
|
||
var jotbonus = Math.floor(profbonus/2);
|
||
|
||
var bonus = checkbonus+passivebonus+globalskillbonus+globalabilitybonus;
|
||
|
||
var finalbonus = bonus;
|
||
if (jot == 1) {finalbonus = jotbonus+bonus;};
|
||
if (prof == 1) {finalbonus = profbonus+bonus;};
|
||
|
||
setAttrs({
|
||
"arcana_bonus": finalbonus,
|
||
});
|
||
});
|
||
});
|
||
on("change:athletics_check change:athletics_check_bonus change:passive_athletics_bonus change:globalskillbonus change:globalabilitycheckbonus change:PB change:jackofalltrades_check sheet:opened", function() {
|
||
getAttrs(["athletics_check","athletics_check_bonus","passive_athletics_bonus","globalskillbonus","globalabilitycheckbonus","PB","jackofalltrades_check"], function(values) {
|
||
var prof = values["athletics_check"]||0;
|
||
var jot = values["jackofalltrades_check"]||0;
|
||
var profbonus = parseInt(values["PB"])||0;
|
||
var checkbonus = parseInt(values["athletics_check_bonus"])||0;
|
||
var passivebonus = parseInt(values["passive_athletics_bonus"])||0;
|
||
var globalskillbonus = parseInt(values["globalskillbonus"])||0;
|
||
var globalabilitybonus = parseInt(values["globalabilitycheckbonus"])||0;
|
||
var jotbonus = Math.floor(profbonus/2);
|
||
|
||
var bonus = checkbonus+passivebonus+globalskillbonus+globalabilitybonus;
|
||
var finalbonus = bonus;
|
||
if (jot == 1) {finalbonus = jotbonus+bonus;};
|
||
if (prof == 1) {finalbonus = profbonus+bonus;};
|
||
|
||
setAttrs({
|
||
"athletics_bonus": finalbonus,
|
||
});
|
||
});
|
||
});
|
||
on("change:culture_check change:culture_check_bonus change:passive_culture_bonus change:globalskillbonus change:globalabilitycheckbonus change:PB change:jackofalltrades_check sheet:opened", function() {
|
||
getAttrs(["culture_check","culture_check_bonus","passive_culture_bonus","globalskillbonus","globalabilitycheckbonus","PB","jackofalltrades_check"], function(values) {
|
||
var prof = values["culture_check"]||0;
|
||
var jot = values["jackofalltrades_check"]||0;
|
||
var profbonus = parseInt(values["PB"])||0;
|
||
var checkbonus = parseInt(values["culture_check_bonus"])||0;
|
||
var passivebonus = parseInt(values["passive_culture_bonus"])||0;
|
||
var globalskillbonus = parseInt(values["globalskillbonus"])||0;
|
||
var globalabilitybonus = parseInt(values["globalabilitycheckbonus"])||0;
|
||
var jotbonus = Math.floor(profbonus/2);
|
||
|
||
var bonus = checkbonus+passivebonus+globalskillbonus+globalabilitybonus;
|
||
var finalbonus = bonus;
|
||
if (jot == 1) {finalbonus = jotbonus+bonus;};
|
||
if (prof == 1) {finalbonus = profbonus+bonus;};
|
||
|
||
setAttrs({
|
||
"culture_bonus": finalbonus,
|
||
});
|
||
});
|
||
});
|
||
on("change:deception_check change:deception_check_bonus change:passive_deception_bonus change:globalskillbonus change:globalabilitycheckbonus change:PB change:jackofalltrades_check sheet:opened", function() {
|
||
getAttrs(["deception_check","deception_check_bonus","passive_deception_bonus","globalskillbonus","globalabilitycheckbonus","PB","jackofalltrades_check"], function(values) {
|
||
var prof = values["deception_check"]||0;
|
||
var jot = values["jackofalltrades_check"]||0;
|
||
var profbonus = parseInt(values["PB"])||0;
|
||
var checkbonus = parseInt(values["deception_check_bonus"])||0;
|
||
var passivebonus = parseInt(values["passive_deception_bonus"])||0;
|
||
var globalskillbonus = parseInt(values["globalskillbonus"])||0;
|
||
var globalabilitybonus = parseInt(values["globalabilitycheckbonus"])||0;
|
||
var jotbonus = Math.floor(profbonus/2);
|
||
|
||
var bonus = checkbonus+passivebonus+globalskillbonus+globalabilitybonus;
|
||
var finalbonus = bonus;
|
||
if (jot == 1) {finalbonus = jotbonus+bonus;};
|
||
if (prof == 1) {finalbonus = profbonus+bonus;};
|
||
|
||
setAttrs({
|
||
"deception_bonus": finalbonus,
|
||
});
|
||
});
|
||
});
|
||
on("change:engineering_check change:engineering_check_bonus change:passive_engineering_bonus change:globalskillbonus change:globalabilitycheckbonus change:PB change:jackofalltrades_check sheet:opened", function() {
|
||
getAttrs(["engineering_check","engineering_check_bonus","passive_engineering_bonus","globalskillbonus","globalabilitycheckbonus","PB","jackofalltrades_check"], function(values) {
|
||
var prof = values["engineering_check"]||0;
|
||
var jot = values["jackofalltrades_check"]||0;
|
||
var profbonus = parseInt(values["PB"])||0;
|
||
var checkbonus = parseInt(values["engineering_check_bonus"])||0;
|
||
var passivebonus = parseInt(values["passive_engineering_bonus"])||0;
|
||
var globalskillbonus = parseInt(values["globalskillbonus"])||0;
|
||
var globalabilitybonus = parseInt(values["globalabilitycheckbonus"])||0;
|
||
var jotbonus = Math.floor(profbonus/2);
|
||
|
||
var bonus = checkbonus+passivebonus+globalskillbonus+globalabilitybonus;
|
||
var finalbonus = bonus;
|
||
if (jot == 1) {finalbonus = jotbonus+bonus;};
|
||
if (prof == 1) {finalbonus = profbonus+bonus;};
|
||
|
||
setAttrs({
|
||
"engineering_bonus": finalbonus,
|
||
});
|
||
});
|
||
});
|
||
on("change:history_check change:history_check_bonus change:passive_history_bonus change:globalskillbonus change:globalabilitycheckbonus change:PB change:jackofalltrades_check sheet:opened", function() {
|
||
getAttrs(["history_check","history_check_bonus","passive_history_bonus","globalskillbonus","globalabilitycheckbonus","PB","jackofalltrades_check"], function(values) {
|
||
var prof = values["history_check"]||0;
|
||
var jot = values["jackofalltrades_check"]||0;
|
||
var profbonus = parseInt(values["PB"])||0;
|
||
var checkbonus = parseInt(values["history_check_bonus"])||0;
|
||
var passivebonus = parseInt(values["passive_history_bonus"])||0;
|
||
var globalskillbonus = parseInt(values["globalskillbonus"])||0;
|
||
var globalabilitybonus = parseInt(values["globalabilitycheckbonus"])||0;
|
||
var jotbonus = Math.floor(profbonus/2);
|
||
|
||
var bonus = checkbonus+passivebonus+globalskillbonus+globalabilitybonus;
|
||
var finalbonus = bonus;
|
||
if (jot == 1) {finalbonus = jotbonus+bonus;};
|
||
if (prof == 1) {finalbonus = profbonus+bonus;};
|
||
|
||
setAttrs({
|
||
"history_bonus": finalbonus,
|
||
});
|
||
});
|
||
});
|
||
on("change:insight_check change:insight_check_bonus change:insight_exdice change:passive_insight_bonus change:globalskillbonus change:globalabilitycheckbonus change:PB change:jackofalltrades_check change:wisdom sheet:opened", function() {
|
||
getAttrs(["insight_check","insight_check_bonus","insight_exdice","passive_insight_bonus","globalskillbonus","globalabilitycheckbonus","PB","jackofalltrades_check","wisdom_mod"], function(values) {
|
||
var prof = values["insight_check"]||0;
|
||
var jot = values["jackofalltrades_check"]||0;
|
||
var profbonus = parseInt(values["PB"])||0;
|
||
var exdice = values["insight_exdice"]||"";
|
||
var checkbonus = parseInt(values["insight_check_bonus"])||0;
|
||
var passivebonus = parseInt(values["passive_insight_bonus"])||0;
|
||
var globalskillbonus = parseInt(values["globalskillbonus"])||0;
|
||
var globalabilitybonus = parseInt(values["globalabilitycheckbonus"])||0;
|
||
var wis = parseInt(values["wisdom_mod"])||0;
|
||
var jotbonus = Math.floor(profbonus/2);
|
||
|
||
var exbonus = 0;
|
||
if (exdice != "") {exbonus = 3;};
|
||
var bonus = checkbonus+passivebonus+globalskillbonus+globalabilitybonus;
|
||
var finalbonus = bonus;
|
||
if (jot == 1) {finalbonus = jotbonus+bonus;};
|
||
if (prof == 1) {finalbonus = profbonus+bonus;};
|
||
|
||
setAttrs({
|
||
"insight_bonus": finalbonus,
|
||
"passive_insight": finalbonus+wis+10+exbonus,
|
||
});
|
||
});
|
||
});
|
||
on("change:intimidation_check change:intimidation_check_bonus change:passive_intimidation_bonus change:globalskillbonus change:globalabilitycheckbonus change:PB change:jackofalltrades_check sheet:opened", function() {
|
||
getAttrs(["intimidation_check","intimidation_check_bonus","passive_intimidation_bonus","globalskillbonus","globalabilitycheckbonus","PB","jackofalltrades_check"], function(values) {
|
||
var prof = values["intimidation_check"]||0;
|
||
var jot = values["jackofalltrades_check"]||0;
|
||
var profbonus = parseInt(values["PB"])||0;
|
||
var checkbonus = parseInt(values["intimidation_check_bonus"])||0;
|
||
var passivebonus = parseInt(values["passive_intimidation_bonus"])||0;
|
||
var globalskillbonus = parseInt(values["globalskillbonus"])||0;
|
||
var globalabilitybonus = parseInt(values["globalabilitycheckbonus"])||0;
|
||
var jotbonus = Math.floor(profbonus/2);
|
||
|
||
var bonus = checkbonus+passivebonus+globalskillbonus+globalabilitybonus;
|
||
var finalbonus = bonus;
|
||
if (jot == 1) {finalbonus = jotbonus+bonus;};
|
||
if (prof == 1) {finalbonus = profbonus+bonus;};
|
||
|
||
setAttrs({
|
||
"intimidation_bonus": finalbonus,
|
||
});
|
||
});
|
||
});
|
||
on("change:investigation_check change:investigation_check_bonus change:passive_investigation_bonus change:globalskillbonus change:globalabilitycheckbonus change:PB change:jackofalltrades_check sheet:opened", function() {
|
||
getAttrs(["investigation_check","investigation_check_bonus","passive_investigation_bonus","globalskillbonus","globalabilitycheckbonus","PB","jackofalltrades_check"], function(values) {
|
||
var prof = values["investigation_check"]||0;
|
||
var jot = values["jackofalltrades_check"]||0;
|
||
var profbonus = parseInt(values["PB"])||0;
|
||
var checkbonus = parseInt(values["investigation_check_bonus"])||0;
|
||
var passivebonus = parseInt(values["passive_investigation_bonus"])||0;
|
||
var globalskillbonus = parseInt(values["globalskillbonus"])||0;
|
||
var globalabilitybonus = parseInt(values["globalabilitycheckbonus"])||0;
|
||
var jotbonus = Math.floor(profbonus/2);
|
||
|
||
var bonus = checkbonus+passivebonus+globalskillbonus+globalabilitybonus;
|
||
var finalbonus = bonus;
|
||
if (jot == 1) {finalbonus = jotbonus+bonus;};
|
||
if (prof == 1) {finalbonus = profbonus+bonus;};
|
||
|
||
setAttrs({
|
||
"investigation_bonus": finalbonus,
|
||
});
|
||
});
|
||
});
|
||
on("change:medicine_check change:medicine_check_bonus change:passive_medicine_bonus change:globalskillbonus change:globalabilitycheckbonus change:PB change:jackofalltrades_check sheet:opened", function() {
|
||
getAttrs(["medicine_check","medicine_check_bonus","passive_medicine_bonus","globalskillbonus","globalabilitycheckbonus","PB","jackofalltrades_check"], function(values) {
|
||
var prof = values["medicine_check"]||0;
|
||
var jot = values["jackofalltrades_check"]||0;
|
||
var profbonus = parseInt(values["PB"])||0;
|
||
var checkbonus = parseInt(values["medicine_check_bonus"])||0;
|
||
var passivebonus = parseInt(values["passive_medicine_bonus"])||0;
|
||
var globalskillbonus = parseInt(values["globalskillbonus"])||0;
|
||
var globalabilitybonus = parseInt(values["globalabilitycheckbonus"])||0;
|
||
var jotbonus = Math.floor(profbonus/2);
|
||
|
||
var bonus = checkbonus+passivebonus+globalskillbonus+globalabilitybonus;
|
||
var finalbonus = bonus;
|
||
if (jot == 1) {finalbonus = jotbonus+bonus;};
|
||
if (prof == 1) {finalbonus = profbonus+bonus;};
|
||
|
||
setAttrs({
|
||
"medicine_bonus": finalbonus,
|
||
});
|
||
});
|
||
});
|
||
on("change:nature_check change:nature_check_bonus change:passive_nature_bonus change:globalskillbonus change:globalabilitycheckbonus change:PB change:jackofalltrades_check sheet:opened", function() {
|
||
getAttrs(["nature_check","nature_check_bonus","passive_nature_bonus","globalskillbonus","globalabilitycheckbonus","PB","jackofalltrades_check"], function(values) {
|
||
var prof = values["nature_check"]||0;
|
||
var jot = values["jackofalltrades_check"]||0;
|
||
var profbonus = parseInt(values["PB"])||0;
|
||
var checkbonus = parseInt(values["nature_check_bonus"])||0;
|
||
var passivebonus = parseInt(values["passive_nature_bonus"])||0;
|
||
var globalskillbonus = parseInt(values["globalskillbonus"])||0;
|
||
var globalabilitybonus = parseInt(values["globalabilitycheckbonus"])||0;
|
||
var jotbonus = Math.floor(profbonus/2);
|
||
|
||
var bonus = checkbonus+passivebonus+globalskillbonus+globalabilitybonus;
|
||
var finalbonus = bonus;
|
||
if (jot == 1) {finalbonus = jotbonus+bonus;};
|
||
if (prof == 1) {finalbonus = profbonus+bonus;};
|
||
|
||
setAttrs({
|
||
"nature_bonus": finalbonus,
|
||
});
|
||
});
|
||
});
|
||
on("change:perception_check change:perception_check_bonus change:perception_exdice change:passive_perception_bonus change:globalskillbonus change:globalabilitycheckbonus change:PB change:jackofalltrades_check change:wisdom sheet:opened", function() {
|
||
getAttrs(["perception_check","perception_check_bonus","perception_exdice","passive_perception_bonus","globalskillbonus","globalabilitycheckbonus","PB","jackofalltrades_check","wisdom_mod"], function(values) {
|
||
var prof = values["perception_check"]||0;
|
||
var jot = values["jackofalltrades_check"]||0;
|
||
var profbonus = parseInt(values["PB"])||0;
|
||
var exdice = values["perception_exdice"]||"";
|
||
var checkbonus = parseInt(values["perception_check_bonus"])||0;
|
||
var passivebonus = parseInt(values["passive_perception_bonus"])||0;
|
||
var globalskillbonus = parseInt(values["globalskillbonus"])||0;
|
||
var globalabilitybonus = parseInt(values["globalabilitycheckbonus"])||0;
|
||
var wis = parseInt(values["wisdom_mod"])||0;
|
||
var jotbonus = Math.floor(profbonus/2);
|
||
|
||
var exbonus = 0;
|
||
if (exdice != "") {exbonus = 3;};
|
||
var bonus = checkbonus+passivebonus+globalskillbonus+globalabilitybonus;
|
||
var finalbonus = bonus;
|
||
if (jot == 1) {finalbonus = jotbonus+bonus;};
|
||
if (prof == 1) {finalbonus = profbonus+bonus;};
|
||
|
||
setAttrs({
|
||
"perception_bonus": finalbonus,
|
||
"passive_perception": finalbonus+wis+10+exbonus,
|
||
});
|
||
});
|
||
});
|
||
on("change:performance_check change:performance_check_bonus change:passive_performance_bonus change:globalskillbonus change:globalabilitycheckbonus change:PB change:jackofalltrades_check sheet:opened", function() {
|
||
getAttrs(["performance_check","performance_check_bonus","passive_performance_bonus","globalskillbonus","globalabilitycheckbonus","PB","jackofalltrades_check"], function(values) {
|
||
var prof = values["performance_check"]||0;
|
||
var jot = values["jackofalltrades_check"]||0;
|
||
var profbonus = parseInt(values["PB"])||0;
|
||
var checkbonus = parseInt(values["performance_check_bonus"])||0;
|
||
var passivebonus = parseInt(values["passive_performance_bonus"])||0;
|
||
var globalskillbonus = parseInt(values["globalskillbonus"])||0;
|
||
var globalabilitybonus = parseInt(values["globalabilitycheckbonus"])||0;
|
||
var jotbonus = Math.floor(profbonus/2);
|
||
|
||
var bonus = checkbonus+passivebonus+globalskillbonus+globalabilitybonus;
|
||
var finalbonus = bonus;
|
||
if (jot == 1) {finalbonus = jotbonus+bonus;};
|
||
if (prof == 1) {finalbonus = profbonus+bonus;};
|
||
|
||
setAttrs({
|
||
"performance_bonus": finalbonus,
|
||
});
|
||
});
|
||
});
|
||
on("change:persuasion_check change:persuasion_check_bonus change:passive_persuasion_bonus change:globalskillbonus change:globalabilitycheckbonus change:PB change:jackofalltrades_check sheet:opened", function() {
|
||
getAttrs(["persuasion_check","persuasion_check_bonus","passive_persuasion_bonus","globalskillbonus","globalabilitycheckbonus","PB","jackofalltrades_check"], function(values) {
|
||
var prof = values["persuasion_check"]||0;
|
||
var jot = values["jackofalltrades_check"]||0;
|
||
var profbonus = parseInt(values["PB"])||0;
|
||
var checkbonus = parseInt(values["persuasion_check_bonus"])||0;
|
||
var passivebonus = parseInt(values["passive_persuasion_bonus"])||0;
|
||
var globalskillbonus = parseInt(values["globalskillbonus"])||0;
|
||
var globalabilitybonus = parseInt(values["globalabilitycheckbonus"])||0;
|
||
var jotbonus = Math.floor(profbonus/2);
|
||
|
||
var bonus = checkbonus+passivebonus+globalskillbonus+globalabilitybonus;
|
||
var finalbonus = bonus;
|
||
if (jot == 1) {finalbonus = jotbonus+bonus;};
|
||
if (prof == 1) {finalbonus = profbonus+bonus;};
|
||
|
||
setAttrs({
|
||
"persuasion_bonus": finalbonus,
|
||
});
|
||
});
|
||
});
|
||
on("change:religion_check change:religion_check_bonus change:passive_religion_bonus change:globalskillbonus change:globalabilitycheckbonus change:PB change:jackofalltrades_check sheet:opened", function() {
|
||
getAttrs(["religion_check","religion_check_bonus","passive_religion_bonus","globalskillbonus","globalabilitycheckbonus","PB","jackofalltrades_check"], function(values) {
|
||
var prof = values["religion_check"]||0;
|
||
var jot = values["jackofalltrades_check"]||0;
|
||
var profbonus = parseInt(values["PB"])||0;
|
||
var checkbonus = parseInt(values["religion_check_bonus"])||0;
|
||
var passivebonus = parseInt(values["passive_religion_bonus"])||0;
|
||
var globalskillbonus = parseInt(values["globalskillbonus"])||0;
|
||
var globalabilitybonus = parseInt(values["globalabilitycheckbonus"])||0;
|
||
var jotbonus = Math.floor(profbonus/2);
|
||
|
||
var bonus = checkbonus+passivebonus+globalskillbonus+globalabilitybonus;
|
||
var finalbonus = bonus;
|
||
if (jot == 1) {finalbonus = jotbonus+bonus;};
|
||
if (prof == 1) {finalbonus = profbonus+bonus;};
|
||
|
||
setAttrs({
|
||
"religion_bonus": finalbonus,
|
||
});
|
||
});
|
||
});
|
||
on("change:sleightofhand_check change:sleightofhand_check_bonus change:passive_sleightofhand_bonus change:globalskillbonus change:globalabilitycheckbonus change:PB change:jackofalltrades_check sheet:opened", function() {
|
||
getAttrs(["sleightofhand_check","sleightofhand_check_bonus","passive_sleightofhand_bonus","globalskillbonus","globalabilitycheckbonus","PB","jackofalltrades_check"], function(values) {
|
||
var prof = values["sleightofhand_check"]||0;
|
||
var jot = values["jackofalltrades_check"]||0;
|
||
var profbonus = parseInt(values["PB"])||0;
|
||
var checkbonus = parseInt(values["sleightofhand_check_bonus"])||0;
|
||
var passivebonus = parseInt(values["passive_sleightofhand_bonus"])||0;
|
||
var globalskillbonus = parseInt(values["globalskillbonus"])||0;
|
||
var globalabilitybonus = parseInt(values["globalabilitycheckbonus"])||0;
|
||
var jotbonus = Math.floor(profbonus/2);
|
||
|
||
var bonus = checkbonus+passivebonus+globalskillbonus+globalabilitybonus;
|
||
var finalbonus = bonus;
|
||
if (jot == 1) {finalbonus = jotbonus+bonus;};
|
||
if (prof == 1) {finalbonus = profbonus+bonus;};
|
||
|
||
setAttrs({
|
||
"sleightofhand_bonus": finalbonus,
|
||
});
|
||
});
|
||
});
|
||
on("change:stealth_check change:stealth_specialty change:stealth_exdice change:stealth_check_bonus change:passive_stealth_bonus change:globalskillbonus change:globalabilitycheckbonus change:PB change:jackofalltrades_check change:dexterity sheet:opened", function() {
|
||
getAttrs(["stealth_check","stealth_exdice","stealth_specialty","stealth_check_bonus","passive_stealth_bonus","globalskillbonus","globalabilitycheckbonus","PB","jackofalltrades_check","dexterity_mod"], function(values) {
|
||
var prof = values["stealth_check"]||0;
|
||
var jot = values["jackofalltrades_check"]||0;
|
||
var profbonus = parseInt(values["PB"])||0;
|
||
var exdice = values["stealth_exdice"]||"";
|
||
var checkbonus = parseInt(values["stealth_check_bonus"])||0;
|
||
var passivebonus = parseInt(values["passive_stealth_bonus"])||0;
|
||
var globalskillbonus = parseInt(values["globalskillbonus"])||0;
|
||
var globalabilitybonus = parseInt(values["globalabilitycheckbonus"])||0;
|
||
var dex = parseInt(values["dexterity_mod"])||0;
|
||
var jotbonus = Math.floor(profbonus/2);
|
||
|
||
var exbonus = 0;
|
||
if (exdice != "") {exbonus = 3;};
|
||
var bonus = checkbonus+passivebonus+globalskillbonus+globalabilitybonus;
|
||
var finalbonus = bonus;
|
||
if (jot == 1) {finalbonus = jotbonus+bonus;};
|
||
if (prof == 1) {finalbonus = profbonus+bonus;};
|
||
|
||
setAttrs({
|
||
"stealth_bonus": finalbonus,
|
||
"passive_stealth": dex+finalbonus+10+exbonus,
|
||
});
|
||
});
|
||
});
|
||
on("change:survival_check change:survival_check_bonus change:passive_survival_bonus change:globalskillbonus change:globalabilitycheckbonus change:PB change:jackofalltrades_check sheet:opened", function() {
|
||
getAttrs(["survival_check","survival_check_bonus","passive_survival_bonus","globalskillbonus","globalabilitycheckbonus","PB","jackofalltrades_check"], function(values) {
|
||
var prof = values["survival_check"]||0;
|
||
var jot = values["jackofalltrades_check"]||0;
|
||
var profbonus = parseInt(values["PB"])||0;
|
||
var checkbonus = parseInt(values["survival_check_bonus"])||0;
|
||
var passivebonus = parseInt(values["passive_survival_bonus"])||0;
|
||
var globalskillbonus = parseInt(values["globalskillbonus"])||0;
|
||
var globalabilitybonus = parseInt(values["globalabilitycheckbonus"])||0;
|
||
var jotbonus = Math.floor(profbonus/2);
|
||
|
||
var bonus = checkbonus+passivebonus+globalskillbonus+globalabilitybonus;
|
||
var finalbonus = bonus;
|
||
if (jot == 1) {finalbonus = jotbonus+bonus;};
|
||
if (prof == 1) {finalbonus = profbonus+bonus;};
|
||
|
||
setAttrs({
|
||
"survival_bonus": finalbonus,
|
||
});
|
||
});
|
||
});
|
||
on("change:misc1_check change:misc1_check_bonus change:passive_misc1_bonus change:globalskillbonus change:globalabilitycheckbonus change:PB change:jackofalltrades_check sheet:opened", function() {
|
||
getAttrs(["misc1_check","misc1_check_bonus","passive_misc1_bonus","globalskillbonus","globalabilitycheckbonus","PB","jackofalltrades_check"], function(values) {
|
||
var prof = values["misc1_check"]||0;
|
||
var jot = values["jackofalltrades_check"]||0;
|
||
var profbonus = parseInt(values["PB"])||0;
|
||
var checkbonus = parseInt(values["misc1_check_bonus"])||0;
|
||
var passivebonus = parseInt(values["passive_misc1_bonus"])||0;
|
||
var globalskillbonus = parseInt(values["globalskillbonus"])||0;
|
||
var globalabilitybonus = parseInt(values["globalabilitycheckbonus"])||0;
|
||
var jotbonus = Math.floor(profbonus/2);
|
||
|
||
var bonus = checkbonus+passivebonus+globalskillbonus+globalabilitybonus;
|
||
var finalbonus = bonus;
|
||
if (jot == 1) {finalbonus = jotbonus+bonus;};
|
||
if (prof == 1) {finalbonus = profbonus+bonus;};
|
||
|
||
setAttrs({
|
||
"misc1_bonus": finalbonus,
|
||
});
|
||
});
|
||
});
|
||
on("change:misc2_check change:misc2_check_bonus change:passive_misc2_bonus change:globalskillbonus change:globalabilitycheckbonus change:PB change:jackofalltrades_check sheet:opened", function() {
|
||
getAttrs(["misc2_check","misc2_check_bonus","passive_misc2_bonus","globalskillbonus","globalabilitycheckbonus","PB","jackofalltrades_check"], function(values) {
|
||
var prof = values["misc2_check"]||0;
|
||
var jot = values["jackofalltrades_check"]||0;
|
||
var profbonus = parseInt(values["PB"])||0;
|
||
var checkbonus = parseInt(values["misc2_check_bonus"])||0;
|
||
var passivebonus = parseInt(values["passive_misc2_bonus"])||0;
|
||
var globalskillbonus = parseInt(values["globalskillbonus"])||0;
|
||
var globalabilitybonus = parseInt(values["globalabilitycheckbonus"])||0;
|
||
var jotbonus = Math.floor(profbonus/2);
|
||
|
||
var bonus = checkbonus+passivebonus+globalskillbonus+globalabilitybonus;
|
||
var finalbonus = bonus;
|
||
if (jot == 1) {finalbonus = jotbonus+bonus;};
|
||
if (prof == 1) {finalbonus = profbonus+bonus;};
|
||
|
||
setAttrs({
|
||
"misc2_bonus": finalbonus,
|
||
});
|
||
});
|
||
});
|
||
on("change:vehicles_check change:vehicles_check_bonus change:passive_vehicles_bonus change:globalskillbonus change:globalabilitycheckbonus change:PB change:jackofalltrades_check sheet:opened", function() {
|
||
getAttrs(["vehicles_check","vehicles_check_bonus","passive_vehicles_bonus","globalskillbonus","globalabilitycheckbonus","PB","jackofalltrades_check"], function(values) {
|
||
var prof = values["vehicles_check"]||0;
|
||
var jot = values["jackofalltrades_check"]||0;
|
||
var profbonus = parseInt(values["PB"])||0;
|
||
var checkbonus = parseInt(values["vehicles_check_bonus"])||0;
|
||
var passivebonus = parseInt(values["passive_vehicles_bonus"])||0;
|
||
var globalskillbonus = parseInt(values["globalskillbonus"])||0;
|
||
var globalabilitybonus = parseInt(values["globalabilitycheckbonus"])||0;
|
||
var jotbonus = Math.floor(profbonus/2);
|
||
|
||
var bonus = checkbonus+passivebonus+globalskillbonus+globalabilitybonus;
|
||
var finalbonus = bonus;
|
||
if (jot == 1) {finalbonus = jotbonus+bonus;};
|
||
if (prof == 1) {finalbonus = profbonus+bonus;};
|
||
|
||
setAttrs({
|
||
"vehicles_bonus": finalbonus,
|
||
});
|
||
});
|
||
});
|
||
|
||
|
||
on('clicked:initiative-button', async (info) => {
|
||
const values = await getAttrsAsync(['character_name','initiativetype','athletics_check','athletics_check_bonus','passive_athletics_bonus','deception_check','deception_check_bonus','passive_deception_bonus','insight_check','insight_check_bonus','passive_insight_bonus','perception_check','perception_check_bonus','passive_perception_bonus','vehicles_check','vehicles_check_bonus','passive_vehicles_bonus','globalskillbonus','globalabilitycheckbonus','rolladvdis','rollgmnormal','PB','strength_mod','wisdom_mod','dexterity_mod','charisma_mod','jackofalltrades_check','initiativebonus']);
|
||
const itype = values.initiativetype||"";
|
||
const athprof = parseInt(values.athletics_check)||0;
|
||
const athcheckbonus = parseInt(values.athletics_check_bonus)||0;
|
||
const athpassivebonus = parseInt(values.passive_athletics_bonus)||0;
|
||
const decprof = parseInt(values.deception_check)||0;
|
||
const deccheckbonus = parseInt(values.deception_check_bonus)||0;
|
||
const decpassivebonus = parseInt(values.passive_deception_bonus)||0;
|
||
const insprof = parseInt(values.insight_check)||0;
|
||
const inscheckbonus = parseInt(values.insight_check_bonus)||0;
|
||
const inspassivebonus = parseInt(values.passive_insight_bonus)||0;
|
||
const perprof = parseInt(values.perception_check)||0;
|
||
const percheckbonus = parseInt(values.perception_check_bonus)||0;
|
||
const perpassivebonus = parseInt(values.passive_perception_bonus)||0;
|
||
const vehprof = parseInt(values.vehicles_check)||0;
|
||
const vehcheckbonus = parseInt(values.vehicles_check_bonus)||0;
|
||
const vehpassivebonus = parseInt(values.passive_vehicles_bonus)||0;
|
||
const charname = values.character_name || "";
|
||
const jot = parseInt(values.jackofalltrades_check)||0;
|
||
const str = parseInt(values.strength_mod)||0;
|
||
const dex = parseInt(values.dexterity_mod)||0;
|
||
const wis = parseInt(values.wisdom_mod)||0;
|
||
const cha = parseInt(values.charisma_mod)||0;
|
||
const profbonus = parseInt(values.PB)||0;
|
||
const globalskillbonus = parseInt(values.globalskillbonus)||0;
|
||
const globalabilitybonus = parseInt(values.globalabilitycheckbonus)||0;
|
||
const rolladvdis = values.rolladvdis||"sta";
|
||
const rollgmnormal = values.rollgmnormal||"normal";
|
||
const jotbonus = Math.floor(profbonus/2);
|
||
const initbonus = parseInt(values.initiativebonus)||0;
|
||
|
||
var prof=0;
|
||
var checkbonus=0;
|
||
var passivebonus=0;
|
||
var name = "";
|
||
var statbonus=0;
|
||
|
||
var jotprofbonus = 0;
|
||
if (jot == 1) {jotprofbonus = jotbonus;};
|
||
|
||
if (itype == "1") {
|
||
if (perprof == 1) {jotprofbonus = profbonus;};
|
||
name = "Wisdom (Perception)";
|
||
bonus = wis+perpassivebonus+percheckbonus+globalskillbonus+globalabilitybonus+jotprofbonus+initbonus;
|
||
}
|
||
if (itype == "2") {
|
||
if (athprof == 1) {jotprofbonus = profbonus;};
|
||
name = "Strength (Athletics)";
|
||
bonus = str+athpassivebonus+athcheckbonus+globalskillbonus+globalabilitybonus+jotprofbonus+initbonus;
|
||
}
|
||
if (itype == "3") {
|
||
if (decprof == 1) {jotprofbonus = profbonus;};
|
||
name = "Charisma (Deception)";
|
||
bonus = cha+decpassivebonus+deccheckbonus+globalskillbonus+globalabilitybonus+jotprofbonus+initbonus;
|
||
}
|
||
if (itype == "4") {
|
||
if (insprof == 1) {jotprofbonus = profbonus;};
|
||
name = "Wisdom (Insight)";
|
||
bonus = wis+inspassivebonus+inscheckbonus+globalskillbonus+globalabilitybonus+jotprofbonus+initbonus;
|
||
}
|
||
if (itype == "5") {
|
||
if (vehprof == 1) {jotprofbonus = profbonus;};
|
||
name = "Dexterity (Vehicles)";
|
||
bonus = dex+vehpassivebonus+vehcheckbonus+globalskillbonus+globalabilitybonus+jotprofbonus+initbonus;
|
||
}
|
||
if (itype == "6") {
|
||
name = "Dexterity (Base)";
|
||
bonus = dex+initbonus;
|
||
}
|
||
|
||
var diceroll = "1d20";
|
||
if (rolladvdis == "adv") {diceroll = "2d20kh1";};
|
||
if (rolladvdis == "dis") {diceroll = "2d20dh1";};
|
||
|
||
var gmroll = "";
|
||
if (rollgmnormal == "gm") { gmroll = "/w gm ";}
|
||
const results = await startRoll( gmroll+"&{template:default} !{{name="+name+" Initiative}}{{roll=[["+diceroll+"+"+bonus+" &{tracker}]]}}");
|
||
finishRoll(results.rollId);
|
||
|
||
});
|
||
|
||
on('clicked:hitdice-button', async (info) => {
|
||
const values = await getAttrsAsync(['character_name','HP','HP_max','hit_dice']);
|
||
const charname = values.character_name || "";
|
||
const hp = parseInt(values.HP)||0;
|
||
const maxhp = parseInt(values.HP_max)||0;
|
||
const hitdice = parseInt(values.hit_dice)||0;
|
||
|
||
var numofDice="1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20";
|
||
if (hitdice==1) { numofDice = "1";}
|
||
if (hitdice==2) { numofDice = "1|2"; }
|
||
if (hitdice==3) { numofDice = "1|2|3"; }
|
||
if (hitdice==4) { numofDice = "1|2|3|4"; }
|
||
if (hitdice==5) { numofDice = "1|2|3|4|5"; }
|
||
if (hitdice==6) { numofDice = "1|2|3|4|5|6"; }
|
||
if (hitdice==7) { numofDice = "1|2|3|4|5|6|7"; }
|
||
if (hitdice==8) { numofDice = "1|2|3|4|5|6|7|8"; }
|
||
if (hitdice==9) { numofDice = "1|2|3|4|5|6|7|8|9"; }
|
||
if (hitdice==10) { numofDice = "1|2|3|4|5|6|7|8|9|10"; }
|
||
if (hitdice==11) { numofDice = "1|2|3|4|5|6|7|8|9|10|11"; }
|
||
if (hitdice==12) { numofDice = "1|2|3|4|5|6|7|8|9|10|11|12"; }
|
||
if (hitdice==13) { numofDice = "1|2|3|4|5|6|7|8|9|10|11|12|13"; }
|
||
if (hitdice==14) { numofDice = "1|2|3|4|5|6|7|8|9|10|11|12|13|14"; }
|
||
if (hitdice==15) { numofDice = "1|2|3|4|5|6|7|8|9|10|11|12|13|14|15"; }
|
||
if (hitdice==16) { numofDice = "1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16"; }
|
||
if (hitdice==17) { numofDice = "1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17"; }
|
||
if (hitdice==18) { numofDice = "1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18"; }
|
||
if (hitdice==19) { numofDice = "1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19"; }
|
||
if (hitdice==20) { numofDice = "1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20"; }
|
||
|
||
const results = await startRoll( "&{template:default} !?{NumberOfDice|"+numofDice+"}?{dicetype|d6|d8|d10|d12}{{name="+charname+" Hit Dice Roll}}{{roll=[[?{NumberOfDice}?{dicetype}]]}}");
|
||
|
||
const successes = results.results.roll.result;
|
||
const rolled = results.results.roll.dice.length;
|
||
const newhd = hitdice-rolled;
|
||
var newhp = hp+successes;
|
||
if (newhp > maxhp) {newhp = maxhp;}
|
||
var attrsToChange = {};
|
||
attrsToChange["HP"] = newhp;
|
||
attrsToChange["hit_dice"] = newhd;
|
||
setAttrs(attrsToChange);
|
||
finishRoll(results.rollId);
|
||
});
|
||
|
||
on('clicked:deathsave-button', async (info) => {
|
||
const values = await getAttrsAsync(['character_name','death_saves_success','death_saves_fail']);
|
||
const charname = values.character_name || "";
|
||
const succ = parseInt(values.death_saves_success)||0;
|
||
const fail = parseInt(values.death_saves_fail)||0;
|
||
|
||
const results = await startRoll( "&{template:default} !{{name="+charname+" Death Save}}{{roll=[[1d20]]}}");
|
||
|
||
const successes = results.results.roll.result;
|
||
|
||
var newsucc = succ;
|
||
var newfail= fail;
|
||
if (successes > 9) { newsucc = succ+1;}
|
||
if (successes < 10) { newfail=fail+1; }
|
||
var attrsToChange = {};
|
||
attrsToChange["death_saves_success"] = newsucc;
|
||
attrsToChange["death_saves_fail"] = newfail;
|
||
setAttrs(attrsToChange);
|
||
finishRoll(results.rollId);
|
||
});
|
||
|
||
on("change:PB change:strength_mod change:dexterity_mod change:maneuver_save_bonus change:exertion_points_bonus sheet:opened", function() {
|
||
getAttrs(["PB","strength_mod","dexterity_mod","maneuver_save_bonus","exertion_points_bonus"], function(values) {
|
||
var str = parseInt(values["strength_mod"])||0;
|
||
var dex = parseInt(values["dexterity_mod"])||0;
|
||
var profbonus = parseInt(values["PB"])||0;
|
||
var manbonus = parseInt(values["maneuver_save_bonus"])||0;
|
||
var exebonus = parseInt(values["exertion_points_bonus"])||0;
|
||
var stat = str;
|
||
|
||
if (str < dex) {
|
||
stat = dex;
|
||
};
|
||
setAttrs({
|
||
"maneuver_savedc": 8 + stat + profbonus + manbonus,
|
||
"exertion_points": (2 * profbonus) + exebonus,
|
||
});
|
||
});
|
||
});
|
||
|
||
on("change:repeating_spellclass:spellclassability change:PB change:strength_mod change:intelligence_mod change:wisdom_mod change:dexterity_mod change:constitution_mod change:charisma_mod sheet:opened", function() {
|
||
getAttrs(["PB","strength_mod","intelligence_mod","wisdom_mod","dexterity_mod","constitution_mod","charisma_mod"],
|
||
function(values) {
|
||
var str = parseInt(values["strength_mod"])||0;
|
||
var intel = parseInt(values["intelligence_mod"])||0;
|
||
var dex = parseInt(values["dexterity_mod"])||0;
|
||
var wis = parseInt(values["wisdom_mod"])||0;
|
||
var con = parseInt(values["constitution_mod"])||0;
|
||
var cha = parseInt(values["charisma_mod"])||0;
|
||
var profbonus = parseInt(values["PB"])||0;
|
||
var statbonus = 0;
|
||
|
||
TAS.repeating("spellclass")
|
||
.attrs("spellclassdc","spellclassattack")
|
||
.fields("spellclassdc","spellclassattack","spellclassability")
|
||
.each(function(r){
|
||
var stat = r.spellclassability;
|
||
if (stat == "Strength") {
|
||
statbonus = str;
|
||
};
|
||
if (stat == "Dexterity") {
|
||
statbonus = dex;
|
||
};
|
||
if (stat == "Constitution") {
|
||
statbonus = con;
|
||
};
|
||
if (stat == "Intelligence") {
|
||
statbonus = intel;
|
||
};
|
||
if (stat == "Wisdom") {
|
||
statbonus = wis;
|
||
};
|
||
if (stat == "Charisma") {
|
||
statbonus = cha;
|
||
};
|
||
|
||
r.spellclassattack=statbonus+profbonus;
|
||
r.spellclassdc=statbonus+profbonus+8;
|
||
})
|
||
.execute(); //< begin executing the above operations
|
||
});
|
||
});
|
||
|
||
|
||
on("clicked:repeating_attacks:attack-button", async (info) => {
|
||
const values = await getAttrsAsync(['character_name','repeating_attacks_attackname','repeating_attacks_attackbonus','repeating_attacks_attackdamage','repeating_attacks_attackdamagetype','repeating_attacks_attacknotes','rolladvdis','rollgmnormal']);
|
||
const charname = values.character_name || "";
|
||
const name = values.repeating_attacks_attackname || "";
|
||
const bonus = values.repeating_attacks_attackbonus || "";
|
||
const dam = values.repeating_attacks_attackdamage || "";
|
||
const damtype = values.repeating_attacks_attackdamagetype || "";
|
||
const notes = values.repeating_attacks_attacknotes || "";
|
||
const rolladvdis = values.rolladvdis || "";
|
||
const rollgmnormal = values.rollgmnormal||"normal";
|
||
|
||
var diceroll = "1d20";
|
||
if (rolladvdis == "adv") {
|
||
diceroll = "2d20kh1";
|
||
};
|
||
if (rolladvdis == "dis") {
|
||
diceroll = "2d20dh1";
|
||
};
|
||
|
||
var gmroll = "";
|
||
if (rollgmnormal == "gm") { gmroll = "/w gm ";}
|
||
const results = await startRoll( gmroll+"&{template:default} {{name="+charname+" : "+name+" Roll}}{{roll=[["+diceroll+"+"+bonus+"]]}}{{"+damtype+" damage=[["+dam+"]]}}{{Notes="+notes+"}}");
|
||
finishRoll(results.rollId);
|
||
|
||
});
|
||
on("clicked:repeating_tools:tool-button", async (info) => {
|
||
const values = await getAttrsAsync(['character_name','repeating_tools_toolname','repeating_tools_toolbonus','rolladvdis','rollgmnormal']);
|
||
const charname = values.character_name || "";
|
||
const name = values.repeating_tools_toolname || "";
|
||
const bonus = parseInt(values.repeating_tools_toolbonus) || 0;
|
||
const rolladvdis = values.rolladvdis || "";
|
||
const rollgmnormal = values.rollgmnormal||"normal";
|
||
|
||
var diceroll = "1d20";
|
||
if (rolladvdis == "adv") {
|
||
diceroll = "2d20kh1";
|
||
};
|
||
if (rolladvdis == "dis") {
|
||
diceroll = "2d20dh1";
|
||
};
|
||
|
||
var gmroll = "";
|
||
if (rollgmnormal == "gm") { gmroll = "/w gm ";}
|
||
const results = await startRoll( gmroll+"&{template:default} {{name="+charname+" : "+name+" Roll}}{{roll=[["+diceroll+"+"+bonus+"]]}}");
|
||
finishRoll(results.rollId);
|
||
|
||
});
|
||
|
||
on("clicked:repeating_skills:skill-button", async (info) => {
|
||
const values = await getAttrsAsync(['character_name','repeating_skills_skillname','repeating_skills_skillbonus','repeating_skills_skillexdice','rolladvdis','rollgmnormal']);
|
||
const charname = values.character_name || "";
|
||
const name = values.repeating_skills_skillname || "";
|
||
const bonus = parseInt(values.repeating_skills_skillbonus) || 0;
|
||
const exdice = values.repeating_skills_skillexdice || "";
|
||
const rolladvdis = values.rolladvdis || "";
|
||
const rollgmnormal = values.rollgmnormal||"normal";
|
||
|
||
var diceroll = "1d20";
|
||
if (rolladvdis == "adv") {
|
||
diceroll = "2d20kh1";
|
||
};
|
||
if (rolladvdis == "dis") {
|
||
diceroll = "2d20dh1";
|
||
};
|
||
|
||
var gmroll = "";
|
||
if (rollgmnormal == "gm") { gmroll = "/w gm ";}
|
||
const results = await startRoll( gmroll+"&{template:default} {{name="+charname+" : "+name+" Roll}}{{roll=[["+diceroll+"+"+bonus+"+"+exdice+"]]}}");
|
||
finishRoll(results.rollId);
|
||
|
||
});
|
||
on('clicked:npcinitiative-button', async (info) => {
|
||
const values = await getAttrsAsync(['character_name','npcinitiative','rolladvdis','rollgmnormal']);
|
||
const charname = values.character_name || "";
|
||
const initbonus = parseInt(values.npcinitiative)||0;
|
||
const rolladvdis = values.rolladvdis||"sta";
|
||
const rollgmnormal = values.rollgmnormal||"normal";
|
||
|
||
var diceroll = "1d20";
|
||
if (rolladvdis == "adv") {diceroll = "2d20kh1";};
|
||
if (rolladvdis == "dis") {diceroll = "2d20dh1";};
|
||
|
||
var gmroll = "";
|
||
if (rollgmnormal == "gm") { gmroll = "/w gm ";}
|
||
const results = await startRoll( gmroll+"&{template:default} !{{name="+name+" Initiative}}{{roll=[["+diceroll+"+"+initbonus+" &{tracker}]]}}");
|
||
finishRoll(results.rollId);
|
||
|
||
});
|
||
|
||
|
||
on("change:repeating_skills:skillname change:repeating_skills:skillbonus change:repeating_skills:skillexdice change:rolladvdis sheet:opened", function() {
|
||
getAttrs([
|
||
"repeating_skills_skillname","repeating_skills_skillbonus","repeating_skills_skillexdice","rolladvdis"
|
||
], function(values) {
|
||
var skillname = values["repeating_skills_skillname"]||"";
|
||
var bonus = values["repeating_skills_skillbonus"]||"";
|
||
var exdice = values["repeating_skills_skillexdice"]||"";
|
||
if (exdice == "") {
|
||
exdice = "0";
|
||
};
|
||
|
||
var diceroll = "1d20"
|
||
if (rolladvdis == "adv") {
|
||
diceroll = "2d20kh1";
|
||
};
|
||
if (rolladvdis == "dis") {
|
||
diceroll = "2d20dh1";
|
||
};
|
||
|
||
var setroll = "&{template:default} {{name="+skillname+" Roll}}{{roll=[["+diceroll+"+"+bonus+"+"+exdice+"]]}}";
|
||
|
||
setAttrs({
|
||
"repeating_skills_skillroll": setroll,
|
||
});
|
||
});
|
||
});
|
||
|
||
|
||
on('change:destiny', event => {
|
||
const destinydetails = {
|
||
"Chaos": {destiny_source: 'Chaos', destiny_inspiration: 'Ingenious Doubletalk', destiny_fulfillment: 'Agent of Chaos'},
|
||
"Coming of Age": {destiny_source: 'Finding Yourself', destiny_inspiration: 'Yes to Adventure', destiny_fulfillment: 'Ready to Learn'},
|
||
"Devotion": {destiny_source: 'Its Own Reward', destiny_inspiration: 'Selfless Aid', destiny_fulfillment: 'Miraculous Revival'},
|
||
"Dominion": {destiny_source: 'Leadership', destiny_inspiration: 'Studied Deliberation', destiny_fulfillment: 'Studied Deliberation'},
|
||
"Excellence": {destiny_source: 'Failure', destiny_inspiration: 'Practiced Edge', destiny_fulfillment: 'A Technique Perfected'},
|
||
"Knowledge": {destiny_source: 'Learning', destiny_inspiration: 'Critical Evaluation', destiny_fulfillment: 'Converging Theories'},
|
||
"Metamorphosis": {destiny_source: 'Unburdening', destiny_inspiration: 'Unearthly Diplomacy', destiny_fulfillment: 'Forever Changed'},
|
||
"Revenge": {destiny_source: 'Served Cold', destiny_inspiration: 'Cloak and Dagger', destiny_fulfillment: 'Retaliatory Reputation'},
|
||
"Underdog": {destiny_source: 'Defiance', destiny_inspiration: 'A Nose for Trouble', destiny_fulfillment: 'Expendable and Invulnerable'},
|
||
"Wealth": {destiny_source: 'Profits', destiny_inspiration: 'Everyone Has a Price', destiny_fulfillment: 'Wise Investments'},
|
||
}
|
||
getAttrs(['destiny'], values => {
|
||
let name = values.destiny;
|
||
let output = destinydetails[name] || '';
|
||
if(output) setAttrs(output);
|
||
});
|
||
});
|
||
|
||
on("change:initiativetype change:perception_init change:athletics_init change:deception_init change:insight_init change:vehicle_init change:dexterity_init sheet:opened", function() {
|
||
getAttrs([
|
||
"initiativetype","perception_init","athletics_init","deception_init","insight_init","vehicle_init","dexterity_init"
|
||
], function(values) {
|
||
var itype = values["initiativetype"]||"";
|
||
var perception_init = values["perception_init"]||"";
|
||
var athletics_init = values["athletics_init"]||"";
|
||
var deception_init = values["deception_init"]||"";
|
||
var insight_init = values["insight_init"]||"";
|
||
var vehicle_init = values["vehicle_init"]||"";
|
||
var dexterity_init = values["dexterity_init"]||"";
|
||
|
||
var setroll = "";
|
||
|
||
if (itype == "1") {
|
||
setroll = perception_init;
|
||
}
|
||
if (itype == "2") {
|
||
setroll = athletics_init;
|
||
}
|
||
if (itype == "3") {
|
||
setroll = deception_init;
|
||
}
|
||
if (itype == "4") {
|
||
setroll = insight_init;
|
||
}
|
||
if (itype == "5") {
|
||
setroll = vehicle_init;
|
||
}
|
||
if (itype == "6") {
|
||
setroll = dexterity_init;
|
||
}
|
||
|
||
setAttrs({
|
||
"initiativeroll": setroll,
|
||
});
|
||
});
|
||
});
|
||
|
||
on("change:HP_max change:HP_bloodied sheet:opened", function () {
|
||
getAttrs(["HP_max"], function (values) {
|
||
var HPMax = parseInt(values['HP_max'], 10)||0;
|
||
var Bloodied = Math.floor(HPMax/2);
|
||
setAttrs({
|
||
HP_bloodied: Bloodied,
|
||
});
|
||
});
|
||
});
|
||
|
||
</script>
|
||
|
||
|
||
|
||
|
||
|