mirror of
https://github.com/Nighthawk42/roll20-character-sheets.git
synced 2026-08-30 11:42:29 +00:00
2003 lines
125 KiB
HTML
2003 lines
125 KiB
HTML
<datalist id="classlist">
|
|
<option>Assassin</option>
|
|
<option>Barbarian</option>
|
|
<option>Bard</option>
|
|
<option>Cleric</option>
|
|
<option>Druid</option>
|
|
<option>Fighter</option>
|
|
<option>Illusionist</option>
|
|
<option>Knight</option>
|
|
<option>Monk</option>
|
|
<option>Paladin</option>
|
|
<option>Ranger</option>
|
|
<option>Rogue</option>
|
|
<option>Wizard</option>
|
|
</datalist>
|
|
<datalist id="racelist">
|
|
<option>Dwarf</option>
|
|
<option>Elf</option>
|
|
<option>Gnome</option>
|
|
<option>Half-Elf</option>
|
|
<option>Halfling</option>
|
|
<option>Half-Orc</option>
|
|
<option>Human</option>
|
|
</datalist>
|
|
<datalist id="attributelist">
|
|
<option>Strength</option>
|
|
<option>Dexterity</option>
|
|
<option>Constitution</option>
|
|
<option>Intelligence</option>
|
|
<option>Wisdow</option>
|
|
<option>Charisma</option>
|
|
</datalist>
|
|
<datalist id="alignmentlist">
|
|
<option value="Lawful Good">Lawful Good</option>
|
|
<option value="Neutral Good">Neutral Good</option>
|
|
<option value="Chaotic Good">Chaotic Good</option>
|
|
<option value="Lawful Neutral">Lawful Neutral</option>
|
|
<option value="Neutral" selected="selected">Neutral</option>
|
|
<option value="Chaotic Neutral">Chaotic Neutral</option>
|
|
<option value="Lawful Evil">Lawful Evil</option>
|
|
<option value="Neutral Evil">Neutral Evil</option>
|
|
<option value="Chaotic Evil">Chaotic Evil</option>
|
|
</datalist>
|
|
|
|
<input type="hidden" class="sheet-tabstoggle" name="attr_sheetTab" value="character"/>
|
|
|
|
<div class="sheet-tabstoggle">
|
|
<label data-i18n-title="character" title="character">
|
|
<input name="attr_sheetType" type="radio" value="character"><span data-i18n="character"></span></input>
|
|
</label>
|
|
<label data-i18n-title="spells" title="spells">
|
|
<input name="attr_sheetType" type="radio" value="spells"><span data-i18n="Spells"></span></input>
|
|
</label>
|
|
<label data-i18n-title="journal" title="journal">
|
|
<input name="attr_sheetType" type="radio" value="journal"><span data-i18n="journal"></span></input>
|
|
</label>
|
|
<label data-i18n-title="monster" title="monster">
|
|
<input name="attr_sheetType" type="radio" value="monster"><span data-i18n="monster"></span></input>
|
|
</label>
|
|
<label data-i18n-title="settings" title="settings">
|
|
<input name="attr_sheetType" type="radio" value="settings"><span data-i18n="settings"></span></input>
|
|
</label>
|
|
<label data-i18n-title="npc1" title="npc1">
|
|
</label>
|
|
<label data-i18n-title="npc1" title="npc1">
|
|
</label>
|
|
<label data-i18n-title="npc1" title="npc1">
|
|
</label>
|
|
<label data-i18n-title="npc1" title="npc1">
|
|
</label>
|
|
<label data-i18n-title="npc1" title="npc1">
|
|
</label>
|
|
</div>
|
|
|
|
|
|
<div class="sheet-character">
|
|
<h2><span data-i18n="character"></span></h2>
|
|
<div class="sheet-charactermain">
|
|
<div class="sheet-charactercol1">
|
|
<span data-i18n="name">name</span>
|
|
<span data-i18n="class">class</span>
|
|
<span data-i18n="race">race</span>
|
|
<span data-i18n="alignment">alignment</span>
|
|
<span data-i18n="hair">hair</span>
|
|
<span data-i18n="eyes">eyes</span>
|
|
<span data-i18n="age">age</span>
|
|
</div>
|
|
<div class="sheet-charactercol2">
|
|
<input data-i18n-placeholder="charactername" name="attr_CharacterName" placeholder="charactername" spellcheck="false" title="@{CharacterName}" type="text" value="" class="long" />
|
|
<input data-i18n-placeholder="class" name="attr_Class" placeholder="class" spellcheck="false" title="@{Class}" type="text" value="" list="classlist" class="long"/>
|
|
<input data-i18n-placeholder="race" name="attr_Race" placeholder="race" spellcheck="false" title="@{Race}" type="text" value="" list="racelist" class="long"/>
|
|
<input data-i18n-placeholder="alignment" name="attr_Alignment" placeholder="alignment" spellcheck="false" title="@{Alignment}" type="text" value="" list="alignmentlist" class="long"/>
|
|
<input data-i18n-placeholder="hair" name="attr_Hair" placeholder="hair" spellcheck="false" title="@{hair}" type="text" value="" class="long"/>
|
|
<input data-i18n-placeholder="eyes" name="attr_Eyes" placeholder="eyes" spellcheck="false" title="@{eyes}" type="text" value="" class="long"/>
|
|
<input data-i18n-placeholder="age" name="attr_Age" placeholder="age" spellcheck="false" title="@{age}" type="text" value="" class="long"/>
|
|
</div>
|
|
<div class="sheet-charactercol3">
|
|
<span data-i18n="level">level</span>
|
|
<span data-i18n="experience">experience</span>
|
|
<span data-i18n="nextlevel">nextlevel</span>
|
|
<span data-i18n="movement">movement</span>
|
|
<span data-i18n="height">height</span>
|
|
<span data-i18n="weight">weight</span>
|
|
<span data-i18n="deity">deity</span>
|
|
</div>
|
|
<div class="sheet-charactercol4">
|
|
<input data-i18n-placeholder="level" name="attr_Level" placeholder="level" spellcheck="false" title="@{Level}" type="number" value="" class="short"/>
|
|
<input data-i18n-placeholder="experience" name="attr_Experience" placeholder="experience" spellcheck="false" title="@{Experience}" type="number" value="" class="medium"/>
|
|
<input data-i18n-placeholder="nextlevel" name="attr_NextLevel" placeholder="nextlevel" spellcheck="false" title="@{NextLevel}" type="number" value="" class="medium" />
|
|
<input data-i18n-placeholder="movement" name="attr_movement" placeholder="movement" spellcheck="false" title="@{movement}" type="number" value="" class="short" />
|
|
<input data-i18n-placeholder="height" name="attr_height" placeholder="height" spellcheck="false" title="@{height}" type="text" value="" class="short" />
|
|
<input data-i18n-placeholder="weight" name="attr_weight" placeholder="weight" spellcheck="false" title="@{weight}" type="text" value="" class="short" />
|
|
<input data-i18n-placeholder="deity" name="attr_deity" placeholder="deity" spellcheck="false" title="@{deity}" type="text" value="" class="medium" />
|
|
</div>
|
|
<div class="sheet-Languages">
|
|
<span data-i18n="Languages">Languages</span>
|
|
<input type="text" name="attr_Languages" class="long" value="Common" spellcheck="false" title="@{Languages}"/>
|
|
</div>
|
|
<div class="sheet-TurnUndeadTitle">
|
|
<span data-i18n="Turn Undead">Turn Undead</span>
|
|
</div>
|
|
<div class="sheet-TurnUndeadTitles">
|
|
<span data-i18n="Turning Check">Turning Check</span>
|
|
<span data-i18n="Success Roll">Success Roll</span>
|
|
<span data-i18n="# Turned"># Turned</span>
|
|
<span data-i18n="blank"> </span>
|
|
<span data-i18n="blank2"> </span>
|
|
</div>
|
|
<div class="sheet-TurnUndead">
|
|
<input type="text" name="attr_TurnUndeadCheck" class="undead" value="WIS (12 + Monster Level)" data-i18n-placeholder="WIS (12 + Monster Level)" placeholder="WIS (12 + Monster Level)" disabled="true"/>
|
|
<button type="roll" value="&{template:custom} {{title=@{CharacterName} Turning Undead}} {{Result=[[1d20+@{Level}+@{WisdomMod}+@{RollMod}]]}}" name="Turning Undead"/>
|
|
<button type="roll" value="&{template:custom} {{title=@{CharacterName} Common Undead}} {{Result=[[1d12+@{CharismaMod}]] common undead turned}}" name="Common Undead"/>
|
|
</div>
|
|
<div class="sheet-Initiative">
|
|
<span data-i18n="Roll For Initiative">Roll For Initiative</span>
|
|
<button type="roll" value="&{template:custom} {{title=@{CharacterName} Initiative Roll}} {{Result=[[1d10+@{RollMod} &{tracker}]]}}" />
|
|
</div>
|
|
<div class="sheet-ArmorTitle">
|
|
<span data-i18n="Armor">Armor</span>
|
|
<span data-i18n="Hit Points">Hit Points</span>
|
|
</div>
|
|
<div class="sheet-Armor">
|
|
<span data-i18n="Armor">Armor</span>
|
|
<input type="text" name="attr_ArmorWorn" value="" data-i18n-placeholder="Armor Worn" placeholder="Armor Worn" spellcheck="false" title="@{ArmorWorn}" />
|
|
<input type="number" name="attr_HP" class="short" value="10" data-i18n-placeholder="HP" placeholder="HP" spellcheck="false" title="@{HP}" />
|
|
<span data-i18n="/">/</span>
|
|
<input type="number" name="attr_HPmax" class="short" value="10" data-i18n-placeholder="HPmax" placeholder="HPmax" spellcheck="false" title="@{HPmax}"/>
|
|
</div>
|
|
<div class="sheet-Shield">
|
|
<span data-i18n="Shield">Shield</span>
|
|
<input type="text" name="attr_ShieldWorn" value="" data-i18n-placeholder="ShieldWorn" placeholder="ShieldWorn" spellcheck="false" title="@{ShieldWorn}"/>
|
|
</div>
|
|
<div class="sheet-Helm">
|
|
<span data-i18n="Helm">Helm</span>
|
|
<input type="text" name="attr_HelmWorn" value="" data-i18n-placeholder="HelmWorn" placeholder="HelmWorn" spellcheck="false" title="@{HelmWorn}"/>
|
|
</div>
|
|
<div class="sheet-ACTitle">
|
|
<span data-i18n="AC">AC</span>
|
|
<span data-i18n="Armor">Armor</span>
|
|
<span data-i18n="Shield">Shield</span>
|
|
<span data-i18n="mod">mod</span>
|
|
<span data-i18n="Magic">Magic</span>
|
|
<span data-i18n="Misc">Misc</span>
|
|
</div>
|
|
<div class="sheet-AC">
|
|
<input type="number" name="attr_AC" class="short" value="" title="@{AC}"/>
|
|
<span data-i18n="= 10 +">= 10 +</span>
|
|
<input type="number" name="attr_ArmorAC" class="short" value="0" data-i18n-placeholder="ArmorAC" placeholder="ArmorAC" spellcheck="false" title="@{ArmorAC}"/>
|
|
<input type="number" name="attr_ShieldAC" class="short" value="0" data-i18n-placeholder="ShieldAC" placeholder="ShieldAC" spellcheck="false" title="@{ShieldAC}"/>
|
|
<input type="number" name="attr_ModAC" class="short" value="0" data-i18n-placeholder="ModAC" placeholder="ModAC" spellcheck="false" title="@{ModAC}"/>
|
|
<input type="number" name="attr_MagicAC" class="short" value="0" data-i18n-placeholder="MagicAC" placeholder="MagicAC" spellcheck="false" title="@{MagicAC}"/>
|
|
<input type="number" name="attr_MiscAC" class="short" value="0" data-i18n-placeholder="MiscAC" placeholder="MiscAC" spellcheck="false" title="@{MiscAC}"/>
|
|
</div>
|
|
|
|
<div class="sheet-characterlogo">
|
|
<label data-i18n-title="characterlogo">
|
|
<img src="https://i.imgur.com/vFk5U7m.png"></img>
|
|
</label>
|
|
<span data-i18n="attributes">attributes</span>
|
|
<span data-i18n="(attribute check: d20 + lvl + mod)">(Attribute check: d20 + lvl + mod)</span>
|
|
</div>
|
|
<div class="sheet-characterheading">
|
|
<span data-i18n="check">check</span>
|
|
<span data-i18n="pri sec ter">pri sec ter</span>
|
|
<span data-i18n="score">score</span>
|
|
<span data-i18n="mod">mod</span>
|
|
</div>
|
|
<div class="sheet-PhysicalStats">
|
|
<label data-i18n-title="physical">
|
|
<span data-i18n="physical">physical</span>
|
|
</label>
|
|
</div>
|
|
<div class="sheet-constitution">
|
|
<button type="roll" value="&{template:stats} {{title=@{CharacterName} Constitution Check}} {{Result=[[1d20+@{Level}+@{constitutionMod}+@{RollMod}]]}} {{Target=@{constitutionTarget}}}" name='Constitution Check' title="Constitution Test"/>
|
|
<input type="hidden" title='@{constitutionTarget}' name="attr_constitutionTarget" value="18" />
|
|
<label data-i18n-title="constitutionpri">
|
|
<input type="checkbox" title='@{constitutionPri}' data-i18n="constitutionpri" name="attr_constitutionPri" class="supertiny" value="1" />
|
|
</label>
|
|
<label data-i18n-title="constitutionsec">
|
|
<input type="checkbox" title='@{constitutionSec}' data-i18n="constitutionsec" name="attr_constitutionSec" class="supertiny" value="1" />
|
|
</label>
|
|
<label data-i18n-title="constitutionter">
|
|
<input type="checkbox" title='@{constitutionTer}' data-i18n="constitutionter" name="attr_constitutionTer" class="supertiny" value="1" />
|
|
</label>
|
|
<label data-i18n-title="constitution">
|
|
<span data-i18n="constitution">constitution</span>
|
|
<input data-i18n-placeholder="constitution" type="number" name="attr_Constitution" class="attrtext" title="@{Constitution}" />
|
|
</label>
|
|
<label data-i18n-title="constitutionmod">
|
|
<input data-i18n-placeholder="conmod" type="number" name="attr_ConstitutionMod" class="attrtext" title="@{ConstitutionMod}" />
|
|
</label>
|
|
</div>
|
|
<div class="sheet-strength">
|
|
<button type="roll" value="&{template:stats} {{title=@{CharacterName} Strength Check}} {{Result=[[1d20+@{Level}+@{StrengthMod}+@{RollMod}]]}} {{Target=@{strengthTarget}}}" name='Strength Check' title="Strength Test"/>
|
|
<input type="hidden" title='@{strengthTarget}' name="attr_strengthTarget" value="18" />
|
|
<label data-i18n-title="strengthpri">
|
|
<input type="checkbox" title='@{StrengthPri}' data-i18n="strengthpri" name="attr_StrengthPri" class="supertiny" value="1" />
|
|
</label>
|
|
<label data-i18n-title="strengthsec">
|
|
<input type="checkbox" title='@{StrengthSec}' data-i18n="strengthsec" name="attr_StrengthSec" class="supertiny" value="1" />
|
|
</label>
|
|
<label data-i18n-title="strengthter">
|
|
<input type="checkbox" title='@{StrengthTer}' data-i18n="strengthter" name="attr_StrengthTer" class="supertiny" value="1" />
|
|
</label>
|
|
<label data-i18n-title="strength">
|
|
<span data-i18n="strength">strength</span>
|
|
<input data-i18n-placeholder="strength" type="number" name="attr_Strength" class="attrtext" title="@{Strength}" />
|
|
</label>
|
|
<label data-i18n-title="strengthmod">
|
|
<input data-i18n-placeholder="strmod" type="number" name="attr_StrengthMod" class="attrtext" title="@{StrengthMod}" />
|
|
</label>
|
|
</div>
|
|
<div class="sheet-dexterity">
|
|
<button type="roll" value="&{template:stats} {{title=@{CharacterName} Dexterity Check}} {{Result=[[1d20+@{Level}+@{dexterityMod}+@{RollMod}]]}} {{Target=@{dexterityTarget}}}" name='Dexterity Check' title="Dexterity Test"/>
|
|
<input type="hidden" title='@{dexterityTarget}' name="attr_dexterityTarget" value="18" />
|
|
<label data-i18n-title="dexteritypri">
|
|
<input type="checkbox" title='@{dexterityPri}' data-i18n="dexteritypri" name="attr_dexterityPri" class="supertiny" value="1" />
|
|
</label>
|
|
<label data-i18n-title="dexteritysec">
|
|
<input type="checkbox" title='@{dexteritySec}' data-i18n="dexteritysec" name="attr_dexteritySec" class="supertiny" value="1" />
|
|
</label>
|
|
<label data-i18n-title="dexterityter">
|
|
<input type="checkbox" title='@{dexterityTer}' data-i18n="dexterityter" name="attr_dexterityTer" class="supertiny" value="1" />
|
|
</label>
|
|
<label data-i18n-title="dexterity">
|
|
<span data-i18n="dexterity">dexterity</span>
|
|
<input data-i18n-placeholder="dexterity" type="number" name="attr_Dexterity" class="attrtext" title="@{Dexterity}" />
|
|
</label>
|
|
<label data-i18n-title="dexteritymod">
|
|
<input data-i18n-placeholder="dexmod" type="number" name="attr_DexterityMod" class="attrtext" title="@{DexterityMod}" />
|
|
</label>
|
|
</div>
|
|
<div class="sheet-MentalStats">
|
|
<label data-i18n-title="mental">
|
|
<span data-i18n="mental">mental</span>
|
|
</label>
|
|
</div>
|
|
<div class="sheet-charisma">
|
|
<button type="roll" value="&{template:stats} {{title=@{CharacterName} Charisma Check}} {{Result=[[1d20+@{Level}+@{charismaMod}+@{RollMod}]]}} {{Target=@{charismaTarget}}}" name='Charisma Check' title="Charisma Test"/>
|
|
<input type="hidden" title='@{charismaTarget}' name="attr_charismaTarget" value="18" />
|
|
<label data-i18n-title="charismapri">
|
|
<input type="checkbox" title='@{charismaPri}' data-i18n="charismapri" name="attr_charismaPri" class="supertiny" value="1" />
|
|
</label>
|
|
<label data-i18n-title="charismasec">
|
|
<input type="checkbox" title='@{charismaSec}' data-i18n="charismasec" name="attr_charismaSec" class="supertiny" value="1" />
|
|
</label>
|
|
<label data-i18n-title="charismater">
|
|
<input type="checkbox" title='@{charismaTer}' data-i18n="charismater" name="attr_charismaTer" class="supertiny" value="1" />
|
|
</label>
|
|
<label data-i18n-title="charisma">
|
|
<span data-i18n="charisma">charisma</span>
|
|
<input data-i18n-placeholder="charisma" type="number" name="attr_Charisma" class="attrtext" title="@{Charisma}" />
|
|
</label>
|
|
<label data-i18n-title="charismamod">
|
|
<input data-i18n-placeholder="chamod" type="number" name="attr_CharismaMod" class="attrtext" title="@{CharismaMod}" />
|
|
</label>
|
|
</div>
|
|
<div class="sheet-intelligence">
|
|
<button type="roll" value="&{template:stats} {{title=@{CharacterName} Intelligence Check}} {{Result=[[1d20+@{Level}+@{intelligenceMod}+@{RollMod}]]}} {{Target=@{intelligenceTarget}}}" name='Intelligence Check' title="Intelligence Test"/>
|
|
<input type="hidden" title='@{intelligenceTarget}' name="attr_intelligenceTarget" value="18" />
|
|
<label data-i18n-title="intelligencepri">
|
|
<input type="checkbox" title='@{intelligencePri}' data-i18n="intelligencepri" name="attr_intelligencePri" class="supertiny" value="1" />
|
|
</label>
|
|
<label data-i18n-title="intelligencesec">
|
|
<input type="checkbox" title='@{intelligenceSec}' data-i18n="intelligencesec" name="attr_intelligenceSec" class="supertiny" value="1" />
|
|
</label>
|
|
<label data-i18n-title="intelligenceter">
|
|
<input type="checkbox" title='@{intelligenceTer}' data-i18n="intelligenceter" name="attr_intelligenceTer" class="supertiny" value="1" />
|
|
</label>
|
|
<label data-i18n-title="intelligence">
|
|
<span data-i18n="intelligence">intelligence</span>
|
|
<input data-i18n-placeholder="intelligence" type="number" name="attr_Intelligence" class="attrtext" title="@{Intelligence}" />
|
|
</label>
|
|
<label data-i18n-title="intelligencemod">
|
|
<input data-i18n-placeholder="intmod" type="number" name="attr_IntelligenceMod" class="attrtext" title="@{IntelligenceMod}" />
|
|
</label>
|
|
</div>
|
|
<div class="sheet-wisdom">
|
|
<button type="roll" value="&{template:stats} {{title=@{CharacterName} Wisdom Check}} {{Result=[[1d20+@{Level}+@{wisdomMod}+@{RollMod}]]}} {{Target=@{wisdomTarget}}}" name='Wisdom Check' title="Wisdom Test"/>
|
|
<input type="hidden" title='@{wisdomTarget}' name="attr_wisdomTarget" value="18" />
|
|
<label data-i18n-title="wisdompri">
|
|
<input type="checkbox" title='@{wisdomPri}' data-i18n="wisdompri" name="attr_wisdomPri" class="supertiny" value="1" />
|
|
</label>
|
|
<label data-i18n-title="wisdomsec">
|
|
<input type="checkbox" title='@{wisdomSec}' data-i18n="wisdomsec" name="attr_wisdomSec" class="supertiny" value="1" />
|
|
</label>
|
|
<label data-i18n-title="wisdomter">
|
|
<input type="checkbox" title='@{wisdomTer}' data-i18n="wisdomter" name="attr_wisdomTer" class="supertiny" value="1" />
|
|
</label>
|
|
<label data-i18n-title="wisdom">
|
|
<span data-i18n="wisdom">wisdom</span>
|
|
<input data-i18n-placeholder="wisdom" type="number" name="attr_Wisdom" class="attrtext" title="@{Wisdom}" />
|
|
</label>
|
|
<label data-i18n-title="wisdommod">
|
|
<input data-i18n-placeholder="wismod" type="number" name="attr_WisdomMod" class="attrtext" title="@{WisdomMod}" />
|
|
</label>
|
|
</div>
|
|
<div class="sheet-charactersaves">
|
|
<span data-i18n="savingthrows">saving throws</span>
|
|
<span data-i18n="(attribute check: d20 + lvl + mod)">(Attribute check: d20 + lvl + mod)</span>
|
|
</div>
|
|
<div class="sheet-charactersaveheading">
|
|
<span data-i18n="check">check</span>
|
|
<span data-i18n="save type">save type</span>
|
|
<span data-i18n="mod">mod</span>
|
|
<span data-i18n="check2">check</span>
|
|
<span data-i18n="save type2">save type</span>
|
|
<span data-i18n="mod2">mod</span>
|
|
</div>
|
|
<div class="sheet-paralysissave">
|
|
<button type="roll" value="&{template:stats} {{title=@{CharacterName} Save Vs Paralysis}} {{Result=[[1d20+@{Level}+@{StrengthMod}+@{SaveParalysisSaveMod}+@{RollMod}]]}} {{Target=@{strengthTarget}}}" />
|
|
<span data-i18n="Paralysis">Paralysis</span>
|
|
<input type="number" name="attr_SaveParalysisSaveMod" class="attrtext" value="0" />
|
|
</div>
|
|
<div class="sheet-constrictionsave">
|
|
<button type="roll" value="&{template:stats} {{title=@{CharacterName} Save Vs Constriction}} {{Result=[[1d20+@{Level}+@{StrengthMod}+@{SaveConstrictionSaveMod}+@{RollMod}]]}} {{Target=@{strengthTarget}}}" />
|
|
<span data-i18n="Constriction">Constriction</span>
|
|
<input type="number" name="attr_SaveConstrictionSaveMod" class="attrtext" value="0" data-i18n-placeholder="savemod" title="@{SaveConstrictionSaveMod}"/>
|
|
</div>
|
|
<div class="sheet-breathweaponsave">
|
|
<button type="roll" value="&{template:stats} {{title=@{CharacterName} Save Vs Breath Weapon}} {{Result=[[1d20+@{Level}+@{DexterityMod}+@{SaveBreathWeaponSaveMod}+@{RollMod}]]}} {{Target=@{dexterityTarget}}}" />
|
|
<span data-i18n="Breath Weapon">Breath Weapon</span>
|
|
<input type="number" name="attr_SaveBreathWeaponSaveMod" class="attrtext" value="0" data-i18n-placeholder="savemod" title="@{SaveBreathWeaponSaveMod}"/>
|
|
</div>
|
|
<div class="sheet-trapssave">
|
|
<button type="roll" value="&{template:stats} {{title=@{CharacterName} Save Vs Traps}} {{Result=[[1d20+@{Level}+@{DexterityMod}+@{SaveTrapsSaveMod}+@{RollMod}]]}} {{Target=@{dexterityTarget}}}" />
|
|
<span data-i18n="Traps">Traps</span>
|
|
<input type="number" name="attr_SaveTrapsSaveMod" class="attrtext" value="0" data-i18n-placeholder="savemod" title="@{SaveTrapSaveMod}"/>
|
|
</div>
|
|
<div class="sheet-diseasesave">
|
|
<button type="roll" value="&{template:stats} {{title=@{CharacterName} Save Vs Disease}} {{Result=[[1d20+@{Level}+@{ConstitutionMod}+@{SaveDiseaseSaveMod}+@{RollMod}]]}} {{Target=@{constitutionTarget}}}" />
|
|
<span data-i18n="Disease">Disease</span>
|
|
<input type="number" name="attr_SaveDiseaseSaveMod" class="attrtext" value="0" data-i18n-placeholder="savemod" title="@{SaveDiseaseSaveMod}"/>
|
|
</div>
|
|
<div class="sheet-poisonsave">
|
|
<button type="roll" value="&{template:stats} {{title=@{CharacterName} Save Vs Poison}} {{Result=[[1d20+@{Level}+@{ConstitutionMod}+@{SavePoisonSaveMod}+@{RollMod}]]}} {{Target=@{constitutionTarget}}}" />
|
|
<span data-i18n="Poison">Poison</span>
|
|
<input type="number" name="attr_SavePoisonSaveMod" class="attrtext" value="0" data-i18n-placeholder="savemod" title="@{SavePoisonSaveMod}"/>
|
|
</div>
|
|
<div class="sheet-arcanemagicsave">
|
|
<button type="roll" value="&{template:stats} {{title=@{CharacterName} Save Vs Arcane Magic}} {{Result=[[1d20+@{Level}+@{IntelligenceMod}+@{SaveArcaneMagicSaveMod}+@{RollMod}]]}} {{Target=@{intelligenceTarget}}}" />
|
|
<span data-i18n="Arcane Magic">Arcane Magic</span>
|
|
<input type="number" name="attr_SaveArcaneMagicSaveMod" class="attrtext" value="0" data-i18n-placeholder="savemod" title="@{SaveArcaneMagicSaveMod}"/>
|
|
</div>
|
|
<div class="sheet-illusionsave">
|
|
<button type="roll" value="&{template:stats} {{title=@{CharacterName} Save Vs Illusion}} {{Result=[[1d20+@{Level}+@{IntelligenceMod}+@{SaveIllusionSaveMod}+@{RollMod}]]}} {{Target=@{intelligenceTarget}}}" />
|
|
<span data-i18n="Illusion">Illusion</span>
|
|
<input type="number" name="attr_SaveIllusionSaveMod" class="attrtext" value="0" data-i18n-placeholder="savemod" title="@{SaveIllusionSaveMod}"/>
|
|
</div>
|
|
<div class="sheet-confusionsave">
|
|
<button type="roll" value="&{template:stats} {{title=@{CharacterName} Save Vs Confusion}} {{Result=[[1d20+@{Level}+@{WisdomMod}+@{SaveConfusionSaveMod}+@{RollMod}]]}} {{Target=@{wisdomTarget}}}" />
|
|
<span data-i18n="Confusion">Confusion</span>
|
|
<input type="number" name="attr_SaveConfusionSaveMod" class="attrtext" value="0" data-i18n-placeholder="savemod" title="@{SaveConfusionSaveMod}"/>
|
|
</div>
|
|
<div class="sheet-divinemagicsave">
|
|
<button type="roll" value="&{template:stats} {{title=@{CharacterName} Save Vs Divine Magic}} {{Result=[[1d20+@{Level}+@{WisdomMod}+@{SaveDivineMagicSaveMod}+@{RollMod}]]}} {{Target=@{wisdomTarget}}}" />
|
|
<span data-i18n="Divine Magic">Divine Magic</span>
|
|
<input type="number" name="attr_SaveDivineMagicSaveMod" class="attrtext" value="0" data-i18n-placeholder="savemod" title="@{SaveDivineMagicSaveMod}"/>
|
|
</div>
|
|
<div class="sheet-gazeattacksave">
|
|
<button type="roll" value="&{template:stats} {{title=@{CharacterName} Save Vs Gaze Attack}} {{Result=[[1d20+@{Level}+@{WisdomMod}+@{SaveGazeAttackSaveMod}+@{RollMod}]]}} {{Target=@{wisdomTarget}}}" />
|
|
<span data-i18n="Gaze Attack">Gaze Attack</span>
|
|
<input type="number" name="attr_SaveGazeAttackSaveMod" class="attrtext" value="0" data-i18n-placeholder="savemod" title="@{SaveGazeAttackSaveMod}"/>
|
|
</div>
|
|
<div class="sheet-petrificationsave">
|
|
<button type="roll" value="&{template:stats} {{title=@{CharacterName} Save Vs Petrification}} {{Result=[[1d20+@{Level}+@{WisdomMod}+@{SavePetrificationSaveMod}+@{RollMod}]]}} {{Target=@{wisdomTarget}}}" />
|
|
<span data-i18n="Petrification">Petrification</span>
|
|
<input type="number" name="attr_SavePetrificationSaveMod" class="attrtext" value="0" data-i18n-placeholder="savemod" title="@{SavePetrificationSaveMod}"/>
|
|
</div>
|
|
<div class="sheet-deathattacksave">
|
|
<button type="roll" value="&{template:stats} {{title=@{CharacterName} Save Vs Death Attack}} {{Result=[[1d20+@{Level}+@{CharismaMod}+@{SaveDeathAttackSaveMod}+@{RollMod}]]}} {{Target=@{charismaTarget}}}" />
|
|
<span data-i18n="Death Attack">Death Attack</span>
|
|
<input type="number" name="attr_SaveDeathAttackSaveMod" class="attrtext" value="0" data-i18n-placeholder="savemod" title="@{SaveDeathAttackSaveMod}"/>
|
|
</div>
|
|
<div class="sheet-charmsave">
|
|
<button type="roll" value="&{template:stats} {{title=@{CharacterName} Save Vs Charm}} {{Result=[[1d20+@{Level}+@{CharismaMod}+@{SaveCharmSaveMod}+@{RollMod}]]}} {{Target=@{charismaTarget}}}" />
|
|
<span data-i18n="Charm">Charm</span>
|
|
<input type="number" name="attr_SaveCharmSaveMod" class="attrtext" value="0" data-i18n-placeholder="savemod" title="@{SaveCharmSaveMod}"/>
|
|
</div>
|
|
<div class="sheet-fearsave">
|
|
<button type="roll" value="&{template:stats} {{title=@{CharacterName} Save Vs Fear}} {{Result=[[1d20+@{Level}+@{CharismaMod}+@{SaveFearSaveMod}+@{RollMod}]]}} {{Target=@{charismaTarget}}}" />
|
|
<span data-i18n="Fear">Fear</span>
|
|
<input type="number" name="attr_SaveFearSaveMod" class="attrtext" value="0" data-i18n-placeholder="savemod" title="@{SaveFearSaveMod}"/>
|
|
</div>
|
|
<div class="sheet-energydrainsave">
|
|
<button type="roll" value="&{template:stats} {{title=@{CharacterName} Save Vs Energy Drain}} {{Result=[[1d20+@{Level}+@{ConstitutionMod}+@{SaveEnergyDrainSaveMod}+@{RollMod}]]}} {{Target=@{constitutionTarget}}}" />
|
|
<span data-i18n="Energy Drain">Energy Drain</span>
|
|
<input type="number" name="attr_SaveEnergyDrainSaveMod" class="attrtext" value="0" data-i18n-placeholder="savemod" title="@{SaveEnergyDrainSaveMod}"/>
|
|
</div>
|
|
<div class="sheet-polymorphsave">
|
|
<button type="roll" value="&{template:stats} {{title=@{CharacterName} Save Vs Polymorph}} {{Result=[[1d20+@{Level}+@{WisdomMod}+@{SavePolymorphSaveMod}+@{RollMod}]]}} {{Target=@{wisdomTarget}}}" />
|
|
<span data-i18n="Polymorph">Polymorph</span>
|
|
<input type="number" name="attr_SavePolymorphSaveMod" class="attrtext" value="0" data-i18n-placeholder="savemod" title="@{SavePolymorphSaveMod}"/>
|
|
</div>
|
|
<div class="sheet-spellssave">
|
|
<button type="roll" value="&{template:stats} {{title=@{CharacterName} Save Vs Spells}} {{Result=[[1d20+@{Level}+?{Stat|Constitution,@{ConstitutionMod}|Strength, @{StrengthMod}|Dexterity, @{DexterityMod}|Charisma, @{CharismaMod}|Intelligence, @{IntelligenceMod}|Wisdom,@{WisdomMod}}+@{SaveSpellsSaveMod}+@{RollMod}]]}} {{Target=?{Base|Primary,@{pritarget}|Secondary, @{sectarget}|Tertiary, @{tertarget}}}}" title="Rolls d20+level+stat+mod"/>
|
|
<span data-i18n="Spells">Spells</span>
|
|
<input type="number" name="attr_SaveSpellsSaveMod" class="attrtext" value="0" data-i18n-placeholder="savemod" title="@{SaveSpellsSaveMod}"/>
|
|
</div>
|
|
</div>
|
|
<div class="sheet-characterweapons">
|
|
<div class="sheet-characterweaponheading">
|
|
<span data-i18n="Weapons">Weapons</span>
|
|
<span data-i18n="HitDmg">HitDmg</span>
|
|
<span data-i18n="name">Name</span>
|
|
<span data-i18n="BtH">BtH</span>
|
|
<span data-i18n="mod">Mod</span>
|
|
<span data-i18n="Misc">Misc</span>
|
|
<span data-i18n="Magic">Magic</span>
|
|
<span data-i18n="Total">Total</span>
|
|
<span data-i18n="|">|</span>
|
|
<span data-i18n="Dmg">Dmg</span>
|
|
<span data-i18n="mod2">Mod</span>
|
|
<span data-i18n="Misc2">Misc</span>
|
|
<span data-i18n="Magic2">Magic</span>
|
|
<span data-i18n="Total2">Total</span>
|
|
</div>
|
|
<div class="sheet-characterweapon1">
|
|
<div class="compendium-drop-target">
|
|
<!-- The visible and draggable button for the macro bar -->
|
|
<button type="roll" name="roll_WeaponOne" value="@{WeaponOne_action}"></button>
|
|
<!-- The invisible button allowing the use of custom roll parsing -->
|
|
<button type="action" name="act_WeaponOne-action" class="hidden"/>
|
|
<!-- The invisible field for the attribute which contains the ability call -->
|
|
<input type="hidden" name="attr_WeaponOne_action" value="">
|
|
<input type="text" name="attr_WeaponName_1" class="medium" value="Empty" data-i18n-placeholder="WeaponName" placeholder="WeaponName" title="@{WeaponName_1}" accept="Name"/>
|
|
<input type="number" name="attr_WeaponBth_1" class="short" value="0" data-i18n-placeholder="WeaponBth" placeholder="WeaponBth" title="@{WeaponBth_1}" />
|
|
<span data-i18n="+">+</span>
|
|
<input type="number" name="attr_WeaponHitMod_1" class="short" value="0" data-i18n-placeholder="WeaponHitMod" placeholder="WeaponHitMod" title="@{WeaponHitMod_1}" />
|
|
<span data-i18n="+2">+</span>
|
|
<input type="number" name="attr_WeaponHitMisc_1" class="short" value="0" data-i18n-placeholder="WeaponHitMisc" placeholder="WeaponHitMisc" title="@{WeaponHitMisc_1}" />
|
|
<span data-i18n="+3">+</span>
|
|
<input type="number" name="attr_WeaponHitMagic_1" class="short" value="0" data-i18n-placeholder="WeaponHitMagic" placeholder="WeaponHitMagic" title="@{WeaponHitMagic_1}" />
|
|
<span data-i18n="=">=</span>
|
|
<input type="number" name="attr_WeaponHitTotal_1" class="short" value="@{WeaponBth_1}+@{WeaponHitMod_1}+@{WeaponHitMisc_1}+@{WeaponHitMagic_1}" disabled="true" data-i18n-placeholder="WeaponHitTotal" title="@{WeaponHitTotal_1}" />
|
|
<span data-i18n="|">|</span>
|
|
<input type="text" name="attr_WeaponDmg_1" class="short" value="1d0" data-i18n-placeholder="WeaponDmg" placeholder="WeaponDmg" title="@{WeaponDmg_1}" accept="data-Damage" />
|
|
<span data-i18n="+4">+</span>
|
|
<input type="number" name="attr_WeaponDmgMod_1" class="short" value="0" data-i18n-placeholder="WeaponMod" placeholder="WeaponMod" title="@{WeaponDmgMod_1}" />
|
|
<span data-i18n="+5">+</span>
|
|
<input type="number" name="attr_WeaponDmgMisc_1" class="short" value="0" data-i18n-placeholder="WeaponMisc" placeholder="WeaponMisc" title="@{WeaponDmgMisc_1}" />
|
|
<span data-i18n="+6">+</span>
|
|
<input type="number" name="attr_WeaponDmgMagic_1" class="short" value="0" data-i18n-placeholder="WeaponMagic" placeholder="WeaponMagic" title="@{WeaponDmgMagic_1}" />
|
|
<span data-i18n="=2">=</span>
|
|
<input type="number" name="attr_WeaponDmgTotal_1" class="short" value="@{WeaponDmgMod_1}+@{WeaponDmgMisc_1}+@{WeaponDmgMagic_1}" disabled="true" data-i18n-placeholder="WeaponTotal" title="@{WeaponDmgTotal_1}" />
|
|
</div>
|
|
</div>
|
|
<div class="sheet-characterweapon2">
|
|
<div class="compendium-drop-target">
|
|
<!-- The visible and draggable button for the macro bar -->
|
|
<button type="roll" name="roll_WeaponTwo" value="@{WeaponTwo_action}"></button>
|
|
<!-- The invisible button allowing the use of custom roll parsing -->
|
|
<button type="action" name="act_WeaponTwo-action" class="hidden"/>
|
|
<!-- The invisible field for the attribute which contains the ability call -->
|
|
<input type="hidden" name="attr_WeaponTwo_action" value="">
|
|
<input type="text" name="attr_WeaponName_2" class="medium" value="Empty" data-i18n-placeholder="WeaponName" placeholder="WeaponName" title="@{WeaponName_2}" accept="Name"/>
|
|
<input type="number" name="attr_WeaponBth_2" class="short" value="0" data-i18n-placeholder="WeaponBth" placeholder="WeaponBth" title="@{WeaponBth_2}" />
|
|
<span data-i18n="+">+</span>
|
|
<input type="number" name="attr_WeaponHitMod_2" class="short" value="0" data-i18n-placeholder="WeaponHitMod" placeholder="WeaponHitMod" title="@{WeaponHitMod_2}" />
|
|
<span data-i18n="+2">+</span>
|
|
<input type="number" name="attr_WeaponHitMisc_2" class="short" value="0" data-i18n-placeholder="WeaponHitMisc" placeholder="WeaponHitMisc" title="@{WeaponHitMisc_2}" />
|
|
<span data-i18n="+3">+</span>
|
|
<input type="number" name="attr_WeaponHitMagic_2" class="short" value="0" data-i18n-placeholder="WeaponHitMagic" placeholder="WeaponHitMagic" title="@{WeaponHitMagic_2}" />
|
|
<span data-i18n="=">=</span>
|
|
<input type="number" name="attr_WeaponHitTotal_2" class="short" value="@{WeaponBth_2}+@{WeaponHitMod_2}+@{WeaponHitMisc_2}+@{WeaponHitMagic_2}" disabled="true" data-i18n-placeholder="WeaponHitTotal" title="@{WeaponHitTotal_2}" />
|
|
<span data-i18n="|">|</span>
|
|
<input type="text" name="attr_WeaponDmg_2" class="short" value="1d0" data-i18n-placeholder="WeaponDmg" placeholder="WeaponDmg" title="@{WeaponDmg_2}" accept="data-Damage" />
|
|
<span data-i18n="+4">+</span>
|
|
<input type="number" name="attr_WeaponDmgMod_2" class="short" value="0" data-i18n-placeholder="WeaponMod" placeholder="WeaponMod" title="@{WeaponDmgMod_2}" />
|
|
<span data-i18n="+5">+</span>
|
|
<input type="number" name="attr_WeaponDmgMisc_2" class="short" value="0" data-i18n-placeholder="WeaponMisc" placeholder="WeaponMisc" title="@{WeaponDmgMisc_2}" />
|
|
<span data-i18n="+6">+</span>
|
|
<input type="number" name="attr_WeaponDmgMagic_2" class="short" value="0" data-i18n-placeholder="WeaponMagic" placeholder="WeaponMagic" title="@{WeaponDmgMagic_2}" />
|
|
<span data-i18n="=2">=</span>
|
|
<input type="number" name="attr_WeaponDmgTotal_2" class="short" value="@{WeaponDmgMod_2}+@{WeaponDmgMisc_2}+@{WeaponDmgMagic_2}" disabled="true" data-i18n-placeholder="WeaponTotal" title="@{WeaponDmgTotal_2}" />
|
|
</div>
|
|
</div>
|
|
<div class="sheet-characterweapon3">
|
|
<div class="compendium-drop-target">
|
|
<!-- The visible and draggable button for the macro bar -->
|
|
<button type="roll" name="roll_WeaponThree" value="@{WeaponThree_action}"></button>
|
|
<!-- The invisible button allowing the use of custom roll parsing -->
|
|
<button type="action" name="act_WeaponThree-action" class="hidden"/>
|
|
<!-- The invisible field for the attribute which contains the ability call -->
|
|
<input type="hidden" name="attr_WeaponThree_action" value="">
|
|
<input type="text" name="attr_WeaponName_3" class="medium" value="Empty" data-i18n-placeholder="WeaponName" placeholder="WeaponName" title="@{WeaponName_3}" accept="Name"/>
|
|
<input type="number" name="attr_WeaponBth_3" class="short" value="0" data-i18n-placeholder="WeaponBth" placeholder="WeaponBth" title="@{WeaponBth_3}" />
|
|
<span data-i18n="+">+</span>
|
|
<input type="number" name="attr_WeaponHitMod_3" class="short" value="0" data-i18n-placeholder="WeaponHitMod" placeholder="WeaponHitMod" title="@{WeaponHitMod_3}" />
|
|
<span data-i18n="+2">+</span>
|
|
<input type="number" name="attr_WeaponHitMisc_3" class="short" value="0" data-i18n-placeholder="WeaponHitMisc" placeholder="WeaponHitMisc" title="@{WeaponHitMisc_3}" />
|
|
<span data-i18n="+3">+</span>
|
|
<input type="number" name="attr_WeaponHitMagic_3" class="short" value="0" data-i18n-placeholder="WeaponHitMagic" placeholder="WeaponHitMagic" title="@{WeaponHitMagic_3}" />
|
|
<span data-i18n="=">=</span>
|
|
<input type="number" name="attr_WeaponHitTotal_3" class="short" value="@{WeaponBth_3}+@{WeaponHitMod_3}+@{WeaponHitMisc_3}+@{WeaponHitMagic_3}" disabled="true" data-i18n-placeholder="WeaponHitTotal" title="@{WeaponHitTotal_3}" />
|
|
<span data-i18n="|">|</span>
|
|
<input type="text" name="attr_WeaponDmg_3" class="short" value="1d0" data-i18n-placeholder="WeaponDmg" placeholder="WeaponDmg" title="@{WeaponDmg_3}" accept="data-Damage" />
|
|
<span data-i18n="+4">+</span>
|
|
<input type="number" name="attr_WeaponDmgMod_3" class="short" value="0" data-i18n-placeholder="WeaponMod" placeholder="WeaponMod" title="@{WeaponDmgMod_3}" />
|
|
<span data-i18n="+5">+</span>
|
|
<input type="number" name="attr_WeaponDmgMisc_3" class="short" value="0" data-i18n-placeholder="WeaponMisc" placeholder="WeaponMisc" title="@{WeaponDmgMisc_3}" />
|
|
<span data-i18n="+6">+</span>
|
|
<input type="number" name="attr_WeaponDmgMagic_3" class="short" value="0" data-i18n-placeholder="WeaponMagic" placeholder="WeaponMagic" title="@{WeaponDmgMagic_3}" />
|
|
<span data-i18n="=2">=</span>
|
|
<input type="number" name="attr_WeaponDmgTotal_3" class="short" value="@{WeaponDmgMod_3}+@{WeaponDmgMisc_3}+@{WeaponDmgMagic_3}" disabled="true" data-i18n-placeholder="WeaponTotal" title="@{WeaponDmgTotal_3}" />
|
|
</div>
|
|
</div>
|
|
<div class="sheet-characterweapon4">
|
|
<div class="compendium-drop-target">
|
|
<!-- The visible and draggable button for the macro bar -->
|
|
<button type="roll" name="roll_WeaponFour" value="@{WeaponFour_action}"></button>
|
|
<!-- The invisible button allowing the use of custom roll parsing -->
|
|
<button type="action" name="act_WeaponFour-action" class="hidden"/>
|
|
<!-- The invisible field for the attribute which contains the ability call -->
|
|
<input type="hidden" name="attr_WeaponFour_action" value="">
|
|
<input type="text" name="attr_WeaponName_4" class="medium" value="Empty" data-i18n-placeholder="WeaponName" placeholder="WeaponName" title="@{WeaponName_4}" accept="Name" />
|
|
<input type="number" name="attr_WeaponBth_4" class="short" value="0" data-i18n-placeholder="WeaponBth" placeholder="WeaponBth" title="@{WeaponBth_4}" />
|
|
<span data-i18n="+">+</span>
|
|
<input type="number" name="attr_WeaponHitMod_4" class="short" value="0" data-i18n-placeholder="WeaponHitMod" placeholder="WeaponHitMod" title="@{WeaponHitMod_4}" />
|
|
<span data-i18n="+2">+</span>
|
|
<input type="number" name="attr_WeaponHitMisc_4" class="short" value="0" data-i18n-placeholder="WeaponHitMisc" placeholder="WeaponHitMisc" title="@{WeaponHitMisc_4}" />
|
|
<span data-i18n="+3">+</span>
|
|
<input type="number" name="attr_WeaponHitMagic_4" class="short" value="0" data-i18n-placeholder="WeaponHitMagic" placeholder="WeaponHitMagic" title="@{WeaponHitMagic_4}" />
|
|
<span data-i18n="=">=</span>
|
|
<input type="number" name="attr_WeaponHitTotal_4" class="short" value="@{WeaponBth_4}+@{WeaponHitMod_4}+@{WeaponHitMisc_4}+@{WeaponHitMagic_4}" disabled="true" data-i18n-placeholder="WeaponHitTotal" title="@{WeaponHitTotal_4}" />
|
|
<span data-i18n="|">|</span>
|
|
<input type="text" name="attr_WeaponDmg_4" class="short" value="1d0" data-i18n-placeholder="WeaponDmg" placeholder="WeaponDmg" title="@{WeaponDmg_4}" accept="data-Damage" />
|
|
<span data-i18n="+4">+</span>
|
|
<input type="number" name="attr_WeaponDmgMod_4" class="short" value="0" data-i18n-placeholder="WeaponMod" placeholder="WeaponMod" title="@{WeaponDmgMod_4}" />
|
|
<span data-i18n="+5">+</span>
|
|
<input type="number" name="attr_WeaponDmgMisc_4" class="short" value="0" data-i18n-placeholder="WeaponMisc" placeholder="WeaponMisc" title="@{WeaponDmgMisc_4}" />
|
|
<span data-i18n="+6">+</span>
|
|
<input type="number" name="attr_WeaponDmgMagic_4" class="short" value="0" data-i18n-placeholder="WeaponMagic" placeholder="WeaponMagic" title="@{WeaponDmgMagic_4}" />
|
|
<span data-i18n="=2">=</span>
|
|
<input type="number" name="attr_WeaponDmgTotal_4" class="short" value="@{WeaponDmgMod_4}+@{WeaponDmgMisc_4}+@{WeaponDmgMagic_4}" disabled="true" data-i18n-placeholder="WeaponTotal" title="@{WeaponDmgTotal_4}" />
|
|
</div>
|
|
</div>
|
|
<div class="sheet-characterweapon5">
|
|
<div class="compendium-drop-target">
|
|
<!-- The visible and draggable button for the macro bar -->
|
|
<button type="roll" name="roll_WeaponFive" value="@{WeaponFive_action}"></button>
|
|
<!-- The invisible button allowing the use of custom roll parsing -->
|
|
<button type="action" name="act_WeaponFive-action" class="hidden"/>
|
|
<!-- The invisible field for the attribute which contains the ability call -->
|
|
<input type="hidden" name="attr_WeaponFive_action" value="">
|
|
<input type="text" name="attr_WeaponName_5" class="medium" value="Empty" data-i18n-placeholder="WeaponName" placeholder="WeaponName" title="@{WeaponName_5}" accept="Name" />
|
|
<input type="number" name="attr_WeaponBth_5" class="short" value="0" data-i18n-placeholder="WeaponBth" placeholder="WeaponBth" title="@{WeaponBth_5}" />
|
|
<span data-i18n="+">+</span>
|
|
<input type="number" name="attr_WeaponHitMod_5" class="short" value="0" data-i18n-placeholder="WeaponHitMod" placeholder="WeaponHitMod" title="@{WeaponHitMod_5}" />
|
|
<span data-i18n="+2">+</span>
|
|
<input type="number" name="attr_WeaponHitMisc_5" class="short" value="0" data-i18n-placeholder="WeaponHitMisc" placeholder="WeaponHitMisc" title="@{WeaponHitMisc_5}" />
|
|
<span data-i18n="+3">+</span>
|
|
<input type="number" name="attr_WeaponHitMagic_5" class="short" value="0" data-i18n-placeholder="WeaponHitMagic" placeholder="WeaponHitMagic" title="@{WeaponHitMagic_5}" />
|
|
<span data-i18n="=">=</span>
|
|
<input type="number" name="attr_WeaponHitTotal_5" class="short" value="@{WeaponBth_5}+@{WeaponHitMod_5}+@{WeaponHitMisc_5}+@{WeaponHitMagic_5}" disabled="true" data-i18n-placeholder="WeaponHitTotal" title="@{WeaponHitTotal_5}" />
|
|
<span data-i18n="|">|</span>
|
|
<input type="text" name="attr_WeaponDmg_5" class="short" value="1d0" data-i18n-placeholder="WeaponDmg" placeholder="WeaponDmg" title="@{WeaponDmg_5}" accept="data-Damage" />
|
|
<span data-i18n="+4">+</span>
|
|
<input type="number" name="attr_WeaponDmgMod_5" class="short" value="0" data-i18n-placeholder="WeaponMod" placeholder="WeaponMod" title="@{WeaponDmgMod_5}" />
|
|
<span data-i18n="+5">+</span>
|
|
<input type="number" name="attr_WeaponDmgMisc_5" class="short" value="0" data-i18n-placeholder="WeaponMisc" placeholder="WeaponMisc" title="@{WeaponDmgMisc_5}" />
|
|
<span data-i18n="+6">+</span>
|
|
<input type="number" name="attr_WeaponDmgMagic_5" class="short" value="0" data-i18n-placeholder="WeaponMagic" placeholder="WeaponMagic" title="@{WeaponDmgMagic_5}" />
|
|
<span data-i18n="=2">=</span>
|
|
<input type="number" name="attr_WeaponDmgTotal_5" class="short" value="@{WeaponDmgMod_5}+@{WeaponDmgMisc_5}+@{WeaponDmgMagic_5}" disabled="true" data-i18n-placeholder="WeaponTotal" title="@{WeaponDmgTotal_5}" />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="sheet-characterskills">
|
|
<div class="sheet-characterskillsheading">
|
|
<span data-i18n="Class and Race Skills">Class and Race Skills</span>
|
|
<span data-i18n="Roll">Roll</span>
|
|
<span data-i18n="name">Name</span>
|
|
<span data-i18n="Attr">Attr</span>
|
|
<span data-i18n="AttrBonus">AttrBonus</span>
|
|
<span data-i18n="Misc">Misc</span>
|
|
<span data-i18n="Magic">Magic</span>
|
|
<span data-i18n="Total">Total</span>
|
|
</div>
|
|
<div class="sheet-characterskills1">
|
|
<button type="roll" value="&{template:stats} {{title=@{CharacterName} Attempt with @{Skill_Name1}}} {{Result=[[1d20+@{SkillCheckTotal_1}+@{RollMod}]]}} {{Target=@{Attribute1Target}}}" name="roll_SkillCheckOne"/>
|
|
<input type="text" name="attr_Skill_Name1" class="long" value="Empty" data-i18n-placeholder="SkillName" placeholder="SkillName" title="@{Skill_Name1}" />
|
|
<select name="attr_Attribute1" data-i18n-placeholder="Attribute" placeholder="Attribute" title="@{Attribute1}">
|
|
<option value="Strength">Strength</option>
|
|
<option value="Dexterity">Dexterity</option>
|
|
<option value="Constitution">Constitution</option>
|
|
<option value="Intelligence">Intelligence</option>
|
|
<option value="Wisdom">Wisdom</option>
|
|
<option value="Charisma">Charisma</option>
|
|
</select>
|
|
<input type="hidden" title='@{Attribute1Target}' name="attr_Attribute1Target" value="18" />
|
|
<input type="number" name="attr_AttrBonus1" class="short" value="0" data-i18n-placeholder="AttrBonus" placeholder="AttrBonus" title="@{AttrBonus1}" />
|
|
<span data-i18n="+">+</span>
|
|
<input type="number" name="attr_SkillBonusMisc_1" class="short" value="0" data-i18n-placeholder="MiscBonus" placeholder="MiscBonus" title="@{SkillBonusMisc_1}" />
|
|
<span data-i18n="+2">+</span>
|
|
<input type="number" name="attr_SkillBonusMagic_1" class="short" value="0" data-i18n-placeholder="MagicBonus" placeholder="MagicBonus" title="@{SkillBonusMagic_1}" />
|
|
<span data-i18n="=">=</span>
|
|
<input type="number" name="attr_SkillCheckTotal_1" class="short" value="@{level}+@{AttrBonus1}+@{SkillBonusMisc_1}+@{SkillBonusMagic_1}" disabled="true" data-i18n-placeholder="Total" placeholder="Total" title="@{SkillCheckTotal_1}" />
|
|
</div>
|
|
<div class="sheet-characterskills2">
|
|
<button type="roll" value="&{template:stats} {{title=@{CharacterName} Attempt with @{Skill_Name2}}} {{Result=[[1d20+@{SkillCheckTotal_2}+@{RollMod}]]}} {{Target=@{Attribute2Target}}}" name="roll_SkillCheckTwo"/>
|
|
<input type="text" name="attr_Skill_Name2" class="long" value="Empty" data-i18n-placeholder="SkillName" placeholder="SkillName" title="@{Skill_Name2}" />
|
|
<select name="attr_Attribute2" data-i18n-placeholder="Attribute" placeholder="Attribute" title="@{Attribute2}">
|
|
<option value="Strength">Strength</option>
|
|
<option value="Dexterity">Dexterity</option>
|
|
<option value="Constitution">Constitution</option>
|
|
<option value="Intelligence">Intelligence</option>
|
|
<option value="Wisdom">Wisdom</option>
|
|
<option value="Charisma">Charisma</option>
|
|
</select>
|
|
<input type="hidden" title='@{Attribute2Target}' name="attr_Attribute2Target" value="18" />
|
|
<input type="number" name="attr_AttrBonus2" class="short" value="0" data-i18n-placeholder="AttrBonus" placeholder="AttrBonus" title="@{AttrBonus2}" />
|
|
<span data-i18n="+">+</span>
|
|
<input type="number" name="attr_SkillBonusMisc_2" class="short" value="0" data-i18n-placeholder="MiscBonus" placeholder="MiscBonus" title="@{SkillBonusMisc_2}" />
|
|
<span data-i18n="+2">+</span>
|
|
<input type="number" name="attr_SkillBonusMagic_2" class="short" value="0" data-i18n-placeholder="MagicBonus" placeholder="MagicBonus" title="@{SkillBonusMagic_2}" />
|
|
<span data-i18n="=">=</span>
|
|
<input type="number" name="attr_SkillCheckTotal_2" class="short" value="@{level}+@{AttrBonus2}+@{SkillBonusMisc_2}+@{SkillBonusMagic_2}" disabled="true" data-i18n-placeholder="Total" placeholder="Total" title="@{SkillCheckTotal_2}" />
|
|
</div>
|
|
<div class="sheet-characterskills3">
|
|
<button type="roll" value="&{template:stats} {{title=@{CharacterName} Attempt with @{Skill_Name3}}} {{Result=[[1d20+@{SkillCheckTotal_3}+@{RollMod}]]}} {{Target=@{Attribute3Target}}}" name="roll_SkillCheckThree"/>
|
|
<input type="text" name="attr_Skill_Name3" class="long" value="Empty" data-i18n-placeholder="SkillName" placeholder="SkillName" title="@{Skill_Name3}" />
|
|
<select name="attr_Attribute3" data-i18n-placeholder="Attribute" placeholder="Attribute" title="@{Attribute3}">
|
|
<option value="Strength">Strength</option>
|
|
<option value="Dexterity">Dexterity</option>
|
|
<option value="Constitution">Constitution</option>
|
|
<option value="Intelligence">Intelligence</option>
|
|
<option value="Wisdom">Wisdom</option>
|
|
<option value="Charisma">Charisma</option>
|
|
</select>
|
|
<input type="hidden" title='@{Attribute3Target}' name="attr_Attribute3Target" value="18" />
|
|
<input type="number" name="attr_AttrBonus3" class="short" value="0" data-i18n-placeholder="AttrBonus" placeholder="AttrBonus" title="@{AttrBonus3}" />
|
|
<span data-i18n="+">+</span>
|
|
<input type="number" name="attr_SkillBonusMisc_3" class="short" value="0" data-i18n-placeholder="MiscBonus" placeholder="MiscBonus" title="@{SkillBonusMisc_3}" />
|
|
<span data-i18n="+2">+</span>
|
|
<input type="number" name="attr_SkillBonusMagic_3" class="short" value="0" data-i18n-placeholder="MagicBonus" placeholder="MagicBonus" title="@{SkillBonusMagic_3}" />
|
|
<span data-i18n="=">=</span>
|
|
<input type="number" name="attr_SkillCheckTotal_3" class="short" value="@{level}+@{AttrBonus3}+@{SkillBonusMisc_3}+@{SkillBonusMagic_3}" disabled="true" data-i18n-placeholder="Total" placeholder="Total" title="@{SkillCheckTotal_3}" />
|
|
</div>
|
|
<div class="sheet-characterskills4">
|
|
<button type="roll" value="&{template:stats} {{title=@{CharacterName} Attempt with @{Skill_Name4}}} {{Result=[[1d20+@{SkillCheckTotal_4}+@{RollMod}]]}} {{Target=@{Attribute4Target}}}" name="roll_SkillCheckFour"/>
|
|
<input type="text" name="attr_Skill_Name4" class="long" value="Empty" data-i18n-placeholder="SkillName" placeholder="SkillName" title="@{Skill_Name4}" />
|
|
<select name="attr_Attribute4" data-i18n-placeholder="Attribute" placeholder="Attribute" title="@{Attribute4}">
|
|
<option value="Strength">Strength</option>
|
|
<option value="Dexterity">Dexterity</option>
|
|
<option value="Constitution">Constitution</option>
|
|
<option value="Intelligence">Intelligence</option>
|
|
<option value="Wisdom">Wisdom</option>
|
|
<option value="Charisma">Charisma</option>
|
|
</select>
|
|
<input type="hidden" title='@{Attribute4Target}' name="attr_Attribute4Target" value="18" />
|
|
<input type="number" name="attr_AttrBonus4" class="short" value="0" data-i18n-placeholder="AttrBonus" placeholder="AttrBonus" title="@{AttrBonus4}" />
|
|
<span data-i18n="+">+</span>
|
|
<input type="number" name="attr_SkillBonusMisc_4" class="short" value="0" data-i18n-placeholder="MiscBonus" placeholder="MiscBonus" title="@{SkillBonusMisc_4}" />
|
|
<span data-i18n="+2">+</span>
|
|
<input type="number" name="attr_SkillBonusMagic_4" class="short" value="0" data-i18n-placeholder="MagicBonus" placeholder="MagicBonus" title="@{SkillBonusMagic_4}" />
|
|
<span data-i18n="=">=</span>
|
|
<input type="number" name="attr_SkillCheckTotal_4" class="short" value="@{level}+@{AttrBonus4}+@{SkillBonusMisc_4}+@{SkillBonusMagic_4}" disabled="true" data-i18n-placeholder="Total" placeholder="Total" title="@{SkillCheckTotal_4}" />
|
|
</div>
|
|
<div class="sheet-characterskills5">
|
|
<button type="roll" value="&{template:stats} {{title=@{CharacterName} Attempt with @{Skill_Name5}}} {{Result=[[1d20+@{SkillCheckTotal_5}+@{RollMod}]]}} {{Target=@{Attribute5Target}}}" name="roll_SkillCheckFive"/>
|
|
<input type="text" name="attr_Skill_Name5" class="long" value="Empty" data-i18n-placeholder="SkillName" placeholder="SkillName" title="@{Skill_Name5}" />
|
|
<select name="attr_Attribute5" data-i18n-placeholder="Attribute" placeholder="Attribute" title="@{Attribute5}">
|
|
<option value="Strength">Strength</option>
|
|
<option value="Dexterity">Dexterity</option>
|
|
<option value="Constitution">Constitution</option>
|
|
<option value="Intelligence">Intelligence</option>
|
|
<option value="Wisdom">Wisdom</option>
|
|
<option value="Charisma">Charisma</option>
|
|
</select>
|
|
<input type="hidden" title='@{Attribute5Target}' name="attr_Attribute5Target" value="18" />
|
|
<input type="number" name="attr_AttrBonus5" class="short" value="0" data-i18n-placeholder="AttrBonus" placeholder="AttrBonus" title="@{AttrBonus5}" />
|
|
<span data-i18n="+">+</span>
|
|
<input type="number" name="attr_SkillBonusMisc_5" class="short" value="0" data-i18n-placeholder="MiscBonus" placeholder="MiscBonus" title="@{SkillBonusMisc_5}" />
|
|
<span data-i18n="+2">+</span>
|
|
<input type="number" name="attr_SkillBonusMagic_5" class="short" value="0" data-i18n-placeholder="MagicBonus" placeholder="MagicBonus" title="@{SkillBonusMagic_5}" />
|
|
<span data-i18n="=">=</span>
|
|
<input type="number" name="attr_SkillCheckTotal_5" class="short" value="@{level}+@{AttrBonus5}+@{SkillBonusMisc_5}+@{SkillBonusMagic_5}" disabled="true" data-i18n-placeholder="Total" placeholder="Total" title="@{SkillCheckTotal_5}" />
|
|
</div>
|
|
<div class="sheet-characterskills6">
|
|
<button type="roll" value="&{template:stats} {{title=@{CharacterName} Attempt with @{Skill_Name6}}} {{Result=[[1d20+@{SkillCheckTotal_6}+@{RollMod}]]}} {{Target=@{Attribute6Target}}}" name="roll_SkillCheckSix"/>
|
|
<input type="text" name="attr_Skill_Name6" class="long" value="Empty" data-i18n-placeholder="SkillName" placeholder="SkillName" title="@{Skill_Name6}" />
|
|
<select name="attr_Attribute6" data-i18n-placeholder="Attribute" placeholder="Attribute" title="@{Attribute6}">
|
|
<option value="Strength">Strength</option>
|
|
<option value="Dexterity">Dexterity</option>
|
|
<option value="Constitution">Constitution</option>
|
|
<option value="Intelligence">Intelligence</option>
|
|
<option value="Wisdom">Wisdom</option>
|
|
<option value="Charisma">Charisma</option>
|
|
</select>
|
|
<input type="hidden" title='@{Attribute6Target}' name="attr_Attribute6Target" value="18" />
|
|
<input type="number" name="attr_AttrBonus6" class="short" value="0" data-i18n-placeholder="AttrBonus" placeholder="AttrBonus" title="@{AttrBonus6}" />
|
|
<span data-i18n="+">+</span>
|
|
<input type="number" name="attr_SkillBonusMisc_6" class="short" value="0" data-i18n-placeholder="MiscBonus" placeholder="MiscBonus" title="@{SkillBonusMisc_6}" />
|
|
<span data-i18n="+2">+</span>
|
|
<input type="number" name="attr_SkillBonusMagic_6" class="short" value="0" data-i18n-placeholder="MagicBonus" placeholder="MagicBonus" title="@{SkillBonusMagic_6}" />
|
|
<span data-i18n="=">=</span>
|
|
<input type="number" name="attr_SkillCheckTotal_6" class="short" value="@{level}+@{AttrBonus6}+@{SkillBonusMisc_6}+@{SkillBonusMagic_6}" disabled="true" data-i18n-placeholder="Total" placeholder="Total" title="@{SkillCheckTotal_6}" />
|
|
</div>
|
|
<div class="sheet-characterskills7">
|
|
<button type="roll" value="&{template:stats} {{title=@{CharacterName} Attempt with @{Skill_Name7}}} {{Result=[[1d20+@{SkillCheckTotal_7}+@{RollMod}]]}} {{Target=@{Attribute7Target}}}" name="roll_SkillCheckSeven"/>
|
|
<input type="text" name="attr_Skill_Name7" class="long" value="Empty" data-i18n-placeholder="SkillName" placeholder="SkillName" title="@{Skill_Name7}" />
|
|
<select name="attr_Attribute7" data-i18n-placeholder="Attribute" placeholder="Attribute" title="@{Attribute7}">
|
|
<option value="Strength">Strength</option>
|
|
<option value="Dexterity">Dexterity</option>
|
|
<option value="Constitution">Constitution</option>
|
|
<option value="Intelligence">Intelligence</option>
|
|
<option value="Wisdom">Wisdom</option>
|
|
<option value="Charisma">Charisma</option>
|
|
</select>
|
|
<input type="hidden" title='@{Attribute7Target}' name="attr_Attribute7Target" value="18" />
|
|
<input type="number" name="attr_AttrBonus7" class="short" value="0" data-i18n-placeholder="AttrBonus" placeholder="AttrBonus" title="@{AttrBonus7}" />
|
|
<span data-i18n="+">+</span>
|
|
<input type="number" name="attr_SkillBonusMisc_7" class="short" value="0" data-i18n-placeholder="MiscBonus" placeholder="MiscBonus" title="@{SkillBonusMisc_7}" />
|
|
<span data-i18n="+2">+</span>
|
|
<input type="number" name="attr_SkillBonusMagic_7" class="short" value="0" data-i18n-placeholder="MagicBonus" placeholder="MagicBonus" title="@{SkillBonusMagic_7}" />
|
|
<span data-i18n="=">=</span>
|
|
<input type="number" name="attr_SkillCheckTotal_7" class="short" value="@{level}+@{AttrBonus7}+@{SkillBonusMisc_7}+@{SkillBonusMagic_7}" disabled="true" data-i18n-placeholder="Total" placeholder="Total" title="@{SkillCheckTotal_7}" />
|
|
</div>
|
|
<div class="sheet-characterskills8">
|
|
<button type="roll" value="&{template:stats} {{title=@{CharacterName} Attempt with @{Skill_Name8}}} {{Result=[[1d20+@{SkillCheckTotal_8}+@{RollMod}]]}} {{Target=@{Attribute8Target}}}" name="roll_SkillCheckEight"/>
|
|
<input type="text" name="attr_Skill_Name8" class="long" value="Empty" data-i18n-placeholder="SkillName" placeholder="SkillName" title="@{Skill_Name8}" />
|
|
<select name="attr_Attribute8" data-i18n-placeholder="Attribute" placeholder="Attribute" title="@{Attribute8}">
|
|
<option value="Strength">Strength</option>
|
|
<option value="Dexterity">Dexterity</option>
|
|
<option value="Constitution">Constitution</option>
|
|
<option value="Intelligence">Intelligence</option>
|
|
<option value="Wisdom">Wisdom</option>
|
|
<option value="Charisma">Charisma</option>
|
|
</select>
|
|
<input type="hidden" title='@{Attribute8Target}' name="attr_Attribute8Target" value="18" />
|
|
<input type="number" name="attr_AttrBonus8" class="short" value="0" data-i18n-placeholder="AttrBonus" placeholder="AttrBonus" title="@{AttrBonus8}" />
|
|
<span data-i18n="+">+</span>
|
|
<input type="number" name="attr_SkillBonusMisc_8" class="short" value="0" data-i18n-placeholder="MiscBonus" placeholder="MiscBonus" title="@{SkillBonusMisc_8}" />
|
|
<span data-i18n="+2">+</span>
|
|
<input type="number" name="attr_SkillBonusMagic_8" class="short" value="0" data-i18n-placeholder="MagicBonus" placeholder="MagicBonus" title="@{SkillBonusMagic_8}" />
|
|
<span data-i18n="=">=</span>
|
|
<input type="number" name="attr_SkillCheckTotal_8" class="short" value="@{level}+@{AttrBonus8}+@{SkillBonusMisc_8}+@{SkillBonusMagic_8}" disabled="true" data-i18n-placeholder="Total" placeholder="Total" title="@{SkillCheckTotal_8}" />
|
|
</div>
|
|
</div>
|
|
<div class="sheet-characterabilities">
|
|
<div class="sheet-classabilities">
|
|
<span data-i18n="Class Abilities">Class Abilities</span>
|
|
<fieldset class="repeating_classabilities">
|
|
<label data-i18n-title="repeatingclassability" title="repeatingclassability">
|
|
<input type="text" name="attr_ClassAbility" data-i18n-placeholder="Class Ability" placeholder="Class Ability" title="@{ClassAbility}" class="long"/>
|
|
</label>
|
|
</fieldset>
|
|
<span data-i18n="Inventory">Inventory</span>
|
|
<fieldset class="repeating_inventory">
|
|
<label data-i18n-title="repeatingclassability" title="repeatingclassability">
|
|
<input type="text" name="attr_Inventory" data-i18n-placeholder="Inventory" placeholder="Inventory" title="@{Inventory}" />
|
|
</label>
|
|
</fieldset>
|
|
<span data-i18n="Misc Inventory">Misc Inventory</span>
|
|
<textarea name="attr_inv_my-text"></textarea>
|
|
</div>
|
|
<div class="sheet-racialspell">
|
|
<span data-i18n="Racial Abilities">Racial Abilities</span>
|
|
<fieldset class="repeating_raceabilities">
|
|
<label data-i18n-title="repeatingraceability" title="repeatingraceability">
|
|
<input type="text" name="attr_RaceAbility" data-i18n-placeholder="Race Ability" placeholder="Race Ability" title="@{RaceAbility}" class="long" />
|
|
</label>
|
|
</fieldset>
|
|
<span data-i18n="Spellbook">Spellbook</span>
|
|
<span data-i18n="Spell / Level / Memorize">Spell / Level / Memorize</span>
|
|
<fieldset class="repeating_Spells">
|
|
<label data-i18n-title="repeatingspells" title="repeatingspells">
|
|
<input type="text" name="attr_Spells" class="long" data-i18n-placeholder="Spells" placeholder="Spells" title="@{Spells}" />
|
|
<input type="number" name="attr_spelllevel" class="short" value="0" data-i18n-placeholder="spelllevel" placeholder="spelllevel" title="@{spelllevel}" />
|
|
<input type="number" name="attr_numbermemorized" class="short" value="0" data-i18n-placeholder="numbermemorized" placeholder="numbermemorized" title="@{numbermemorized}" />
|
|
</label>
|
|
</fieldset>
|
|
</div>
|
|
<div class="sheet-spelltitles">
|
|
<span data-i18n="Spells">Spells</span>
|
|
</div>
|
|
<div class="sheet-spellsubtitles">
|
|
<span data-i18n="level">Level</span>
|
|
<span data-i18n="#Spells">#Spells</span>
|
|
<span data-i18n="Bonus Spells">Bonus Spells</span>
|
|
<span data-i18n="Total">Total</span>
|
|
</div>
|
|
<div class="sheet-spell0">
|
|
<span data-i18n="0th">0th</span>
|
|
<input type="number" name="attr_numspells_0" class="short" value="0" data-i18n-placeholder="numspells_0" placeholder="numspells_0" title="@{numspells_0}"/>
|
|
<span data-i18n="+">+</span>
|
|
<input type="number" name="attr_bonusspells_0" class="short" value="0" data-i18n-placeholder="bonusspells_0" placeholder="bonusspells_0" title="@{bonusspells_0}"/>
|
|
<span data-i18n="=">=</span>
|
|
<input type="number" name="attr_total_spells_0" class="short" value="@{numspells_0}+@{bonusspells_0}" disabled="true" data-i18n-placeholder="total_spells_0" placeholder="total_spells_0" title="@{total_spells_0}" />
|
|
</div>
|
|
<div class="sheet-spell1">
|
|
<span data-i18n="1st">1st</span>
|
|
<input type="number" name="attr_numspells_1" class="short" value="0" data-i18n-placeholder="numspells_1" placeholder="numspells_1" title="@{numspells_1}" />
|
|
<span data-i18n="+">+</span>
|
|
<input type="number" name="attr_bonusspells_1" class="short" value="0" data-i18n-placeholder="bonusspells_1" placeholder="bonusspells_1" title="@{bonusspells_1}" />
|
|
<span data-i18n="=">=</span>
|
|
<input type="number" name="attr_total_spells_1" class="short" value="@{numspells_1}+@{bonusspells_1}" disabled="true" data-i18n-placeholder="total_spells_1" placeholder="total_spells_1" title="@{total_spells_1}" />
|
|
</div>
|
|
<div class="sheet-spell2">
|
|
<span data-i18n="2nd">2nd</span>
|
|
<input type="number" name="attr_numspells_2" class="short" value="0" data-i18n-placeholder="numspells_2" placeholder="numspells_2" title="@{numspells_2}" />
|
|
<span data-i18n="+">+</span>
|
|
<input type="number" name="attr_bonusspells_2" class="short" value="0" data-i18n-placeholder="bonusspells_2" placeholder="bonusspells_2" title="@{bonusspells_2}" />
|
|
<span data-i18n="=">=</span>
|
|
<input type="number" name="attr_total_spells_2" class="short" value="@{numspells_2}+@{bonusspells_2}" disabled="true" data-i18n-placeholder="total_spells_2" placeholder="total_spells_2" title="@{total_spells_2}" />
|
|
</div>
|
|
<div class="sheet-spell3">
|
|
<span data-i18n="3rd">3rd</span>
|
|
<input type="number" name="attr_numspells_3" class="short" value="0" data-i18n-placeholder="numspells_3" placeholder="numspells_3" title="@{numspells_3}" />
|
|
<span data-i18n="+">+</span>
|
|
<input type="number" name="attr_bonusspells_3" class="short" value="0" data-i18n-placeholder="bonusspells_3" placeholder="bonusspells_3" title="@{bonusspells_3}" />
|
|
<span data-i18n="=">=</span>
|
|
<input type="number" name="attr_total_spells_3" class="short" value="@{numspells_3}+@{bonusspells_3}" disabled="true" data-i18n-placeholder="total_spells_3" placeholder="total_spells_3" title="@{total_spells_3}" />
|
|
</div>
|
|
<div class="sheet-spell4">
|
|
<span data-i18n="4th">4th</span>
|
|
<input type="number" name="attr_numspells_4" class="short" value="0" data-i18n-placeholder="numspells_4" placeholder="numspells_4" title="@{numspells_4}" />
|
|
<span data-i18n="+">+</span>
|
|
<input type="number" name="attr_bonusspells_4" class="short" value="0" data-i18n-placeholder="bonusspells_4" placeholder="bonusspells_4" title="@{bonusspells_4}" />
|
|
<span data-i18n="=">=</span>
|
|
<input type="number" name="attr_total_spells_4" class="short" value="@{numspells_4}+@{bonusspells_4}" disabled="true" data-i18n-placeholder="total_spells_4" placeholder="total_spells_4" title="@{total_spells_4}" />
|
|
</div>
|
|
<div class="sheet-spell5">
|
|
<span data-i18n="5th">5th</span>
|
|
<input type="number" name="attr_numspells_5" class="short" value="0" data-i18n-placeholder="numspells_5" placeholder="numspells_5" title="@{numspells_5}" />
|
|
<span data-i18n="+">+</span>
|
|
<input type="number" name="attr_bonusspells_5" class="short" value="0" data-i18n-placeholder="bonusspells_5" placeholder="bonusspells_5" title="@{bonusspells_5}" />
|
|
<span data-i18n="=">=</span>
|
|
<input type="number" name="attr_total_spells_5" class="short" value="@{numspells_5}+@{bonusspells_5}" disabled="true" data-i18n-placeholder="total_spells_5" placeholder="total_spells_5" title="@{total_spells_5}" />
|
|
</div>
|
|
<div class="sheet-spell6">
|
|
<span data-i18n="6th">6th</span>
|
|
<input type="number" name="attr_numspells_6" class="short" value="0" data-i18n-placeholder="numspells_6" placeholder="numspells_6" title="@{numspells_6}" />
|
|
<span data-i18n="+">+</span>
|
|
<input type="number" name="attr_bonusspells_6" class="short" value="0" data-i18n-placeholder="bonusspells_6" placeholder="bonusspells_6" title="@{bonusspells_6}" />
|
|
<span data-i18n="=">=</span>
|
|
<input type="number" name="attr_total_spells_6" class="short" value="@{numspells_6}+@{bonusspells_6}" disabled="true" data-i18n-placeholder="total_spells_6" placeholder="total_spells_6" title="@{total_spells_6}" />
|
|
</div>
|
|
<div class="sheet-spell7">
|
|
<span data-i18n="7th">7th</span>
|
|
<input type="number" name="attr_numspells_7" class="short" value="0" data-i18n-placeholder="numspells_7" placeholder="numspells_7" title="@{numspells_7}" />
|
|
<span data-i18n="+">+</span>
|
|
<input type="number" name="attr_bonusspells_7" class="short" value="0" data-i18n-placeholder="bonusspells_7" placeholder="bonusspells_7" title="@{bonusspells_7}" />
|
|
<span data-i18n="=">=</span>
|
|
<input type="number" name="attr_total_spells_7" class="short" value="@{numspells_7}+@{bonusspells_7}" disabled="true" data-i18n-placeholder="total_spells_7" placeholder="total_spells_7" title="@{total_spells_7}" />
|
|
</div>
|
|
<div class="sheet-spell8">
|
|
<span data-i18n="8th">8th</span>
|
|
<input type="number" name="attr_numspells_8" class="short" value="0" data-i18n-placeholder="numspells_8" placeholder="numspells_8" title="@{numspells_8}" />
|
|
<span data-i18n="+">+</span>
|
|
<input type="number" name="attr_bonusspells_8" class="short" value="0" data-i18n-placeholder="bonusspells_8" placeholder="bonusspells_8" title="@{bonusspells_8}" />
|
|
<span data-i18n="=">=</span>
|
|
<input type="number" name="attr_total_spells_8" class="short" value="@{numspells_8}+@{bonusspells_8}" disabled="true" data-i18n-placeholder="total_spells_8" placeholder="total_spells_8" title="@{total_spells_8}" />
|
|
</div>
|
|
<div class="sheet-spell9">
|
|
<span data-i18n="9th">9th</span>
|
|
<input type="number" name="attr_numspells_9" class="short" value="0" data-i18n-placeholder="numspells_9" placeholder="numspells_9" title="@{numspells_9}" />
|
|
<span data-i18n="+">+</span>
|
|
<input type="number" name="attr_bonusspells_9" class="short" value="0" data-i18n-placeholder="bonusspells_9" placeholder="bonusspells_9" title="@{bonusspells_9}" />
|
|
<span data-i18n="=">=</span>
|
|
<input type="number" name="attr_total_spells_9" class="short" value="@{numspells_9}+@{bonusspells_9}" disabled="true" data-i18n-placeholder="total_spells_9" placeholder="total_spells_9" title="@{total_spells_9}" />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="sheet-spells">
|
|
<h2><span data-i18n="Spells"></span></h2>
|
|
<div class="sheet-spellmain">
|
|
<div class="sheet-spelllisttitles">
|
|
<span data-i18n="name">name</span>
|
|
<span data-i18n="csl">csl</span>
|
|
<span data-i18n="ct">ct</span>
|
|
<span data-i18n="r">r</span>
|
|
<span data-i18n="t/aoe">t/aoe</span>
|
|
<span data-i18n="d">d</span>
|
|
<span data-i18n="sv">sv</span>
|
|
<span data-i18n="sr">sr</span>
|
|
<span data-i18n="comp">comp</span>
|
|
</div>
|
|
<div class="sheet-spellinfo">
|
|
<fieldset class="repeating_spells">
|
|
<div class="compendium-drop-target">
|
|
<input type="text" name="attr_SpellName" accept="Name" data-i18n="name"/>
|
|
<input type="text" name="attr_SpellCaster-Spell_Lvl" accept="data-Caster-Spell_Lvl" data-i18n="csl"/>
|
|
<input type="text" name="attr_SpellCasting-Time" accept="data-Casting-Time" data-i18n="ct"/>
|
|
<input type="text" name="attr_SpellRange" accept="data-Range" data-i18n="r"/>
|
|
<input type="text" name="attr_SpellTarget-Area-Of-Effect" accept="data-Target-Area-Of-Effect" data-i18n="t/aoe"/>
|
|
<input type="text" name="attr_SpellDuration" accept="data-Duration" data-i18n="d"/>
|
|
<input type="text" name="attr_SpellSaving-Throw" accept="data-Saving-Throw" data-i18n="sv"/>
|
|
<input type="text" name="attr_SpellSpell-Resistance" accept="data-Spell-Resistance" data-i18n="sr"/>
|
|
<input type="text" name="attr_SpellComponents" accept="data-Components" data-i18n="comp"/>
|
|
<input type="hidden" name="attr_SpellDamage" accept="data-Damage" data-i18n="spellDam" value="0" class=""/>
|
|
<input type="hidden" name="attr_SpellDamageperlevel" accept="data-Damage_per_level" data-i18n="spellDamperlevel" value="0" class=""/>
|
|
<span data-i18n="Info">Info</span>
|
|
<button type="roll" value="&{template:spells} {{name=@{CharacterName} @{SpellName} Info}} {{casterspelllvl=@{SpellCaster-Spell_Lvl}}} {{casttime=@{SpellCasting-Time}}} {{range=@{SpellRange}}} {{targetaoe=@{SpellTarget-Area-Of-Effect}}} {{duration=@{SpellDuration}}} {{savingthrow=@{SpellSaving-Throw}}} {{spellresistance=@{SpellSpell-Resistance}}} {{components=@{SpellComponents}}} {{description=@{SpellDescription}}}" name="Spell Info"/>
|
|
<span data-i18n="Roll">Roll</span>
|
|
<button type="roll" value="&{template:custom} {{title=@{CharacterName} @{SpellName} Damage}} {{Result=[[@{SpellDamage}+@{Level}@{SpellDamageperlevel}]]}}" name="Spell Damage"/>
|
|
<textarea type="text" name="attr_SpellDescription" accept="data-Description" data-i18n="desc">description</textarea>
|
|
</div>
|
|
</fieldset>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="sheet-journal">
|
|
<h2><span data-i18n="journalnotes"></span></h2>
|
|
<span><span data-i18n="journalnotes"></span></span>
|
|
<textarea name="attr_my-text1"></textarea>
|
|
<textarea name="attr_my-text2"></textarea>
|
|
<textarea name="attr_my-text3"></textarea>
|
|
</div>
|
|
<div class="sheet-monster">
|
|
<h2><span data-i18n="monster"></span></h2>
|
|
<span data-i18n="monster goes here"></span>
|
|
<div class="sheet-charactermain">
|
|
<div class="sheet-moncol1">
|
|
<span data-i18n="name">name</span>
|
|
<span data-i18n="Int">Int</span>
|
|
<span data-i18n="Type">Type</span>
|
|
<span data-i18n="alignment">alignment</span>
|
|
<span data-i18n="size">size</span>
|
|
<span data-i18n="Roll For">roll for</span>
|
|
<span data-i18n="Initiative">initiative</span>
|
|
</div>
|
|
<div class="sheet-moncol2">
|
|
<input data-i18n-placeholder="MonsterName" name="attr_MonsterName" placeholder="MonsterName" spellcheck="false" title="@{MonsterName}" type="text" value="" class="long" />
|
|
<input data-i18n-placeholder="MonsterInt" name="attr_MonsterInt" placeholder="MonsterInt" spellcheck="false" title="@{MonsterInt}" type="text" value="" class="long"/>
|
|
<input data-i18n-placeholder="MonRace" name="attr_MonRace" placeholder="MonRace" spellcheck="false" title="@{MonRace}" type="text" value="" class="long"/>
|
|
<input data-i18n-placeholder="MonAlignment" name="attr_MonAlignment" placeholder="MonAlignment" spellcheck="false" title="@{MonAlignment}" type="text" value="" list="alignmentlist" class="long"/>
|
|
<input data-i18n-placeholder="MonsterSize" name="attr_MonsterSize" placeholder="MonsterSize" spellcheck="false" title="@{MonsterSize}" type="text" value="" class="long"/>
|
|
<button type="roll" value="&{template:custom} {{title=@{MonsterName} Initiative Roll}} {{Result=[[1d10+@{RollMod} &{tracker}]]}}" />
|
|
</div>
|
|
<div class="sheet-moncol3">
|
|
<span data-i18n="level">level</span>
|
|
<span data-i18n="Saves">Saves</span>
|
|
<span data-i18n="ArmorClass">ArmorClass</span>
|
|
<span data-i18n="movement">movement</span>
|
|
<span data-i18n="No.">No.</span>
|
|
<span data-i18n="Encountered">Encountered</span>
|
|
</div>
|
|
<div class="sheet-moncol4">
|
|
<input data-i18n-placeholder="Level" name="attr_Level" placeholder="Level" spellcheck="false" title="@{Level}" type="number" value="" class="short"/>
|
|
<input data-i18n-placeholder="MonsterHD" name="attr_MonsterHD" placeholder="MonsterHD" spellcheck="false" title="@{MonsterHD}" type="text" value="" class="short"/>
|
|
<input data-i18n-placeholder="MonsterSave" name="attr_MonsterSave" placeholder="MonsterSave" spellcheck="false" title="@{MonsterSave}" type="number" value="" class="short"/>
|
|
<input data-i18n-placeholder="MonsterAC" name="attr_MonsterAC" placeholder="MonsterAC" spellcheck="false" title="@{MonsterAC}" type="number" value="" class="short"/>
|
|
<input data-i18n-placeholder="MonsterMovement" name="attr_MonsterMovement" placeholder="MonsterMovement" spellcheck="false" title="@{MonsterMovement}" type="number" value="" class="short" />
|
|
<input data-i18n-placeholder="MonsterEncountered" name="attr_MonsterEncountered" placeholder="MonsterEncountered" spellcheck="false" title="@{MonsterEncountered}" type="number" value="" class="short" />
|
|
</div>
|
|
<div class="sheet-SpecialHitPoints">
|
|
<span data-i18n="Special Attacks">Special Attacks</span>
|
|
<span data-i18n="Hit Points">Hit Points</span>
|
|
</div>
|
|
<div class="sheet-Hitpoints">
|
|
<input type="number" name="attr_MonHP" class="short" value="10" data-i18n-placeholder="MonHP" placeholder="level" spellcheck="false" title="@{MonHP}"/>
|
|
<span data-i18n="/">/</span>
|
|
<input type="number" name="attr_MonHPmax" class="short" value="10" data-i18n-placeholder="MonHPmax" placeholder="level" spellcheck="false" title="@{MonHPmax}"/>
|
|
</div>
|
|
<div class="sheet-SpecialAttack1">
|
|
<span data-i18n="Special">Special</span>
|
|
<span data-i18n="Attack">Attack</span>
|
|
<input type="text" name="attr_MonsSpec1" class="long" value="" data-i18n-placeholder="MonsSpec1" placeholder="level" spellcheck="false" title="@{MonsSpec1}"/>
|
|
<input type="text" name="attr_MonSA1" class="short" value="1d6" data-i18n-placeholder="MonSA1" placeholder="level" spellcheck="false" title="@{MonSA1}"/>
|
|
<button type="roll" value="&{template:custom} {{title=@{MonsterName} @{MonsSpec1}}} {{Result=[[@{MonSA1}]]}}" />
|
|
</div>
|
|
<div class="sheet-SpecialAttack2">
|
|
<span data-i18n="Special">Special</span>
|
|
<span data-i18n="Attack">Attack</span>
|
|
<input type="text" name="attr_MonsSpec2" class="long" value="" data-i18n-placeholder="MonsSpec2" placeholder="level" spellcheck="false" title="@{MonsSpec2}"/>
|
|
<input type="text" name="attr_MonSA2" class="short" value="1d6" data-i18n-placeholder="MonSA2" placeholder="level" spellcheck="false" title="@{MonSA2}"/>
|
|
<button type="roll" value="&{template:custom} {{title=@{MonsterName} @{MonsSpec2}}} {{Result=[[@{MonSA2}]]}}" />
|
|
</div>
|
|
<div class="sheet-SpecialDefense">
|
|
<span data-i18n="Special">Special</span>
|
|
<span data-i18n="Defenses">Defenses</span>
|
|
<input type="text" name="attr_MonSpec3" value="" class="long" data-i18n-placeholder="MonsSpec3" placeholder="MonsSpec3" spellcheck="false" title="@{MonsSpec3}"/>
|
|
</div>
|
|
|
|
<div class="sheet-characterlogo">
|
|
<label data-i18n-title="characterlogo">
|
|
<img src="https://i.imgur.com/vFk5U7m.png"></img>
|
|
</label>
|
|
<span data-i18n="attributes">attributes</span>
|
|
<span data-i18n="(attribute check: d20 + lvl + mod)">(Attribute check: d20 + lvl + mod)</span>
|
|
</div>
|
|
<div class="sheet-characterheading">
|
|
<span data-i18n="check">check</span>
|
|
<span data-i18n="pri sec ter">pri sec ter</span>
|
|
<span data-i18n="score">score</span>
|
|
<span data-i18n="mod">mod</span>
|
|
</div>
|
|
|
|
<div class="sheet-PhysicalStats">
|
|
<label data-i18n-title="physical">
|
|
<span data-i18n="physical">physical</span>
|
|
</label>
|
|
</div>
|
|
<div class="sheet-moncon">
|
|
<button type="roll" value="&{template:stats} {{title=@{MonsterName} Constitution Check}} {{Result=[[1d20+@{Level}+@{monconMod}+@{RollMod}]]}} {{Target=@{monconTarget}}}" name='Constitution Check' title="Constitution Test"/>
|
|
<input type="hidden" title='@{monconTarget}' name="attr_monconTarget" value="18" />
|
|
<label data-i18n-title="monconpri">
|
|
<input type="checkbox" title='@{monconPri}' data-i18n="monconpri" name="attr_monconPri" class="supertiny" value="1" />
|
|
</label>
|
|
<label data-i18n-title="monconsec">
|
|
<input type="checkbox" title='@{monconSec}' data-i18n="monconsec" name="attr_monconSec" class="supertiny" value="1" />
|
|
</label>
|
|
<label data-i18n-title="monconter">
|
|
<input type="checkbox" title='@{monconTer}' data-i18n="monconter" name="attr_monconTer" class="supertiny" value="1" />
|
|
</label>
|
|
<label data-i18n-title="moncon">
|
|
<span data-i18n="constitution">constitution</span>
|
|
<input data-i18n-placeholder="moncon" type="number" name="attr_moncon" class="attrtext" title="@{moncon}" />
|
|
</label>
|
|
<label data-i18n-title="monconmod">
|
|
<input data-i18n-placeholder="monconmod" type="number" name="attr_monconMod" class="attrtext" title="@{monconMod}" />
|
|
</label>
|
|
</div>
|
|
<div class="sheet-monstr">
|
|
<button type="roll" value="&{template:stats} {{title=@{MonsterName} Strength Check}} {{Result=[[1d20+@{Level}+@{MonStrMod}+@{RollMod}]]}} {{Target=@{monstrTarget}}}" name='Strength Check' title="Strength Test"/>
|
|
<input type="hidden" title='@{monstrTarget}' name="attr_monstrTarget" value="18" />
|
|
<label data-i18n-title="monstrpri">
|
|
<input type="checkbox" title='@{MonStrPri}' data-i18n="monstrpri" name="attr_MonStrPri" class="supertiny" value="1" />
|
|
</label>
|
|
<label data-i18n-title="monstrsec">
|
|
<input type="checkbox" title='@{MonStrSec}' data-i18n="monstrsec" name="attr_MonStrSec" class="supertiny" value="1" />
|
|
</label>
|
|
<label data-i18n-title="monstrter">
|
|
<input type="checkbox" title='@{MonStrTer}' data-i18n="monstrter" name="attr_MonStrTer" class="supertiny" value="1" />
|
|
</label>
|
|
<label data-i18n-title="monstr">
|
|
<span data-i18n="strength">strength</span>
|
|
<input data-i18n-placeholder="monstr" type="number" name="attr_MonStr" class="attrtext" title="@{MonStr}" />
|
|
</label>
|
|
<label data-i18n-title="monstrmod">
|
|
<input data-i18n-placeholder="monstrmod" type="number" name="attr_MonStrMod" class="attrtext" title="@{MonStrMod}" />
|
|
</label>
|
|
</div>
|
|
<div class="sheet-mondex">
|
|
<button type="roll" value="&{template:stats} {{title=@{MonsterName} Dexterity Check}} {{Result=[[1d20+@{Level}+@{mondexMod}+@{RollMod}]]}} {{Target=@{mondexTarget}}}" name='Dexterity Check' title="Dexterity Test"/>
|
|
<input type="hidden" title='@{mondexTarget}' name="attr_mondexTarget" value="18" />
|
|
<label data-i18n-title="mondexpri">
|
|
<input type="checkbox" title='@{mondexPri}' data-i18n="mondexpri" name="attr_mondexPri" class="supertiny" value="1" />
|
|
</label>
|
|
<label data-i18n-title="mondexsec">
|
|
<input type="checkbox" title='@{mondexSec}' data-i18n="mondexsec" name="attr_mondexSec" class="supertiny" value="1" />
|
|
</label>
|
|
<label data-i18n-title="mondexter">
|
|
<input type="checkbox" title='@{mondexTer}' data-i18n="mondexter" name="attr_mondexTer" class="supertiny" value="1" />
|
|
</label>
|
|
<label data-i18n-title="mondex">
|
|
<span data-i18n="dexterity">dexterity</span>
|
|
<input data-i18n-placeholder="mondex" type="number" name="attr_mondex" class="attrtext" title="@{mondex}" />
|
|
</label>
|
|
<label data-i18n-title="mondexmod">
|
|
<input data-i18n-placeholder="mondexmod" type="number" name="attr_mondexMod" class="attrtext" title="@{mondexMod}" />
|
|
</label>
|
|
</div>
|
|
<div class="sheet-MentalStats">
|
|
<label data-i18n-title="mental">
|
|
<span data-i18n="mental">mental</span>
|
|
</label>
|
|
</div>
|
|
<div class="sheet-moncha">
|
|
<button type="roll" value="&{template:stats} {{title=@{MonsterName} Charisma Check}} {{Result=[[1d20+@{Level}+@{monchaMod}+@{RollMod}]]}} {{Target=@{monchaTarget}}}" name='Charisma Check' title="Charisma Test"/>
|
|
<input type="hidden" title='@{monchaTarget}' name="attr_monchaTarget" value="18" />
|
|
<label data-i18n-title="monchapri">
|
|
<input type="checkbox" title='@{monchaPri}' data-i18n="monchapri" name="attr_monchaPri" class="supertiny" value="1" />
|
|
</label>
|
|
<label data-i18n-title="monchasec">
|
|
<input type="checkbox" title='@{monchaSec}' data-i18n="monchasec" name="attr_monchaSec" class="supertiny" value="1" />
|
|
</label>
|
|
<label data-i18n-title="monchater">
|
|
<input type="checkbox" title='@{monchaTer}' data-i18n="monchater" name="attr_monchaTer" class="supertiny" value="1" />
|
|
</label>
|
|
<label data-i18n-title="moncha">
|
|
<span data-i18n="charisma">charisma</span>
|
|
<input data-i18n-placeholder="moncha" type="number" name="attr_moncha" class="attrtext" title="@{moncha}" />
|
|
</label>
|
|
<label data-i18n-title="monchamod">
|
|
<input data-i18n-placeholder="monchamod" type="number" name="attr_monchaMod" class="attrtext" title="@{monChaMod}" />
|
|
</label>
|
|
</div>
|
|
<div class="sheet-monint">
|
|
<button type="roll" value="&{template:stats} {{title=@{MonsterName} Intelligence Check}} {{Result=[[1d20+@{Level}+@{monintMod}+@{RollMod}]]}} {{Target=@{monintTarget}}}" name='Intelligence Check' title="Intelligence Test"/>
|
|
<input type="hidden" title='@{monintTarget}' name="attr_monintTarget" value="18" />
|
|
<label data-i18n-title="monintpri">
|
|
<input type="checkbox" title='@{monintPri}' data-i18n="monintpri" name="attr_monintPri" class="supertiny" value="1" />
|
|
</label>
|
|
<label data-i18n-title="monintsec">
|
|
<input type="checkbox" title='@{monintSec}' data-i18n="monintsec" name="attr_monintSec" class="supertiny" value="1" />
|
|
</label>
|
|
<label data-i18n-title="monintter">
|
|
<input type="checkbox" title='@{monintTer}' data-i18n="monintter" name="attr_monintTer" class="supertiny" value="1" />
|
|
</label>
|
|
<label data-i18n-title="monint">
|
|
<span data-i18n="intelligence">intelligence</span>
|
|
<input data-i18n-placeholder="monint" type="number" name="attr_monint" class="attrtext" title="@{monint}" />
|
|
</label>
|
|
<label data-i18n-title="monintmod">
|
|
<input data-i18n-placeholder="monintmod" type="number" name="attr_monintMod" class="attrtext" title="@{monintMod}" />
|
|
</label>
|
|
</div>
|
|
<div class="sheet-monwis">
|
|
<button type="roll" value="&{template:stats} {{title=@{MonsterName} Wisdom Check}} {{Result=[[1d20+@{Level}+@{monwisMod}+@{RollMod}]]}} {{Target=@{monwisTarget}}}" name='Wisdom Check' title="Wisdom Test"/>
|
|
<input type="hidden" title='@{monwisTarget}' name="attr_monwisTarget" value="18" />
|
|
<label data-i18n-title="monwispri">
|
|
<input type="checkbox" title='@{monwisPri}' data-i18n="monwispri" name="attr_monwisPri" class="supertiny" value="1" />
|
|
</label>
|
|
<label data-i18n-title="monwissec">
|
|
<input type="checkbox" title='@{monwisSec}' data-i18n="monwissec" name="attr_monwisSec" class="supertiny" value="1" />
|
|
</label>
|
|
<label data-i18n-title="monwister">
|
|
<input type="checkbox" title='@{monwisTer}' data-i18n="monwister" name="attr_monwisTer" class="supertiny" value="1" />
|
|
</label>
|
|
<label data-i18n-title="monwis">
|
|
<span data-i18n="wisdom">wisdom</span>
|
|
<input data-i18n-placeholder="monwis" type="number" name="attr_monwis" class="attrtext" title="@{monwis}" />
|
|
</label>
|
|
<label data-i18n-title="monwismod">
|
|
<input data-i18n-placeholder="monwismod" type="number" name="attr_monwisMod" class="attrtext" title="@{monwisMod}" />
|
|
</label>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="sheet-monweapons">
|
|
<div class="sheet-monweaponheading">
|
|
<span data-i18n="Weapons">Weapons</span>
|
|
<span data-i18n="HitDmg">HitDmg</span>
|
|
<span data-i18n="name">Name</span>
|
|
<span data-i18n="BtH">BtH</span>
|
|
<span data-i18n="mod">Mod</span>
|
|
<span data-i18n="Misc">Misc</span>
|
|
<span data-i18n="Magic">Magic</span>
|
|
<span data-i18n="Total">Total</span>
|
|
<span data-i18n="|">|</span>
|
|
<span data-i18n="Dmg">Dmg</span>
|
|
<span data-i18n="mod2">Mod</span>
|
|
<span data-i18n="Misc2">Misc</span>
|
|
<span data-i18n="Magic2">Magic</span>
|
|
<span data-i18n="Total2">Total</span>
|
|
</div>
|
|
<div class="sheet-MonWeapon1">
|
|
<!-- The visible and draggable button for the macro bar -->
|
|
<button type="roll" name="roll_MonWeaponOne" value="@{MonWeaponOne_action}"></button>
|
|
<!-- The invisible button allowing the use of custom roll parsing -->
|
|
<button type="action" name="act_MonWeaponOne-action" class="hidden"/>
|
|
<!-- The invisible field for the attribute which contains the ability call -->
|
|
<input type="hidden" name="attr_MonWeaponOne_action" value="">
|
|
<input type="text" name="attr_MonWeaponName_1" class="medium" value="Empty" data-i18n-placeholder="MonWeaponName" placeholder="MonWeaponName" title="@{MonWeaponName_1}" />
|
|
<input type="number" name="attr_MonWeaponBth_1" class="short" value="0" data-i18n-placeholder="MonWeaponBth" placeholder="MonWeaponBth" title="@{MonWeaponBth_1}" />
|
|
<span data-i18n="+">+</span>
|
|
<input type="number" name="attr_MonWeaponHitMod_1" class="short" value="0" data-i18n-placeholder="MonWeaponHitMod" placeholder="MonWeaponHitMod" title="@{MonWeaponHitMod_1}" />
|
|
<span data-i18n="+2">+</span>
|
|
<input type="number" name="attr_MonWeaponHitMisc_1" class="short" value="0" data-i18n-placeholder="MonWeaponHitMisc" placeholder="MonWeaponHitMisc" title="@{MonWeaponHitMisc_1}" />
|
|
<span data-i18n="+3">+</span>
|
|
<input type="number" name="attr_MonWeaponHitMagic_1" class="short" value="0" data-i18n-placeholder="MonWeaponHitMagic" placeholder="MonWeaponHitMagic" title="@{MonWeaponHitMagic_1}" />
|
|
<span data-i18n="=">=</span>
|
|
<input type="number" name="attr_MonWeaponHitTotal_1" class="short" value="@{MonWeaponBth_1}+@{MonWeaponHitMod_1}+@{MonWeaponHitMisc_1}+@{MonWeaponHitMagic_1}" disabled="true" data-i18n-placeholder="MonWeaponHitTotal" title="@{MonWeaponHitTotal_1}" />
|
|
<span data-i18n="|">|</span>
|
|
<input type="text" name="attr_MonWeaponDmg_1" class="short" value="1d0" data-i18n-placeholder="MonWeaponDmg" placeholder="MonWeaponDmg" title="@{MonWeaponDmg_1}" />
|
|
<span data-i18n="+4">+</span>
|
|
<input type="number" name="attr_MonWeaponDmgMod_1" class="short" value="0" data-i18n-placeholder="MonWeaponMod" placeholder="MonWeaponMod" title="@{MonWeaponDmgMod_1}" />
|
|
<span data-i18n="+5">+</span>
|
|
<input type="number" name="attr_MonWeaponDmgMisc_1" class="short" value="0" data-i18n-placeholder="MonWeaponMisc" placeholder="MonWeaponMisc" title="@{MonWeaponDmgMisc_1}" />
|
|
<span data-i18n="+6">+</span>
|
|
<input type="number" name="attr_MonWeaponDmgMagic_1" class="short" value="0" data-i18n-placeholder="MonWeaponMagic" placeholder="MonWeaponMagic" title="@{MonWeaponDmgMagic_1}" />
|
|
<span data-i18n="=2">=</span>
|
|
<input type="number" name="attr_MonWeaponDmgTotal_1" class="short" value="@{MonWeaponDmgMod_1}+@{MonWeaponDmgMisc_1}+@{MonWeaponDmgMagic_1}" disabled="true" data-i18n-placeholder="MonWeaponTotal" title="@{MonWeaponDmgTotal_1}" />
|
|
</div>
|
|
<div class="sheet-MonWeapon2">
|
|
<!-- The visible and draggable button for the macro bar -->
|
|
<button type="roll" name="roll_MonWeaponTwo" value="@{MonWeaponTwo_action}"></button>
|
|
<!-- The invisible button allowing the use of custom roll parsing -->
|
|
<button type="action" name="act_MonWeaponTwo-action" class="hidden"/>
|
|
<!-- The invisible field for the attribute which contains the ability call -->
|
|
<input type="hidden" name="attr_MonWeaponTwo_action" value="">
|
|
<input type="text" name="attr_MonWeaponName_2" class="medium" value="Empty" data-i18n-placeholder="MonWeaponName" placeholder="MonWeaponName" title="@{MonWeaponName_2}" />
|
|
<input type="number" name="attr_MonWeaponBth_2" class="short" value="0" data-i18n-placeholder="MonWeaponBth" placeholder="MonWeaponBth" title="@{MonWeaponBth_2}" />
|
|
<span data-i18n="+">+</span>
|
|
<input type="number" name="attr_MonWeaponHitMod_2" class="short" value="0" data-i18n-placeholder="MonWeaponHitMod" placeholder="MonWeaponHitMod" title="@{MonWeaponHitMod_2}" />
|
|
<span data-i18n="+2">+</span>
|
|
<input type="number" name="attr_MonWeaponHitMisc_2" class="short" value="0" data-i18n-placeholder="MonWeaponHitMisc" placeholder="MonWeaponHitMisc" title="@{MonWeaponHitMisc_2}" />
|
|
<span data-i18n="+3">+</span>
|
|
<input type="number" name="attr_MonWeaponHitMagic_2" class="short" value="0" data-i18n-placeholder="MonWeaponHitMagic" placeholder="MonWeaponHitMagic" title="@{MonWeaponHitMagic_2}" />
|
|
<span data-i18n="=">=</span>
|
|
<input type="number" name="attr_MonWeaponHitTotal_2" class="short" value="@{MonWeaponBth_2}+@{MonWeaponHitMod_2}+@{MonWeaponHitMisc_2}+@{MonWeaponHitMagic_2}" disabled="true" data-i18n-placeholder="MonWeaponHitTotal" title="@{MonWeaponHitTotal_2}" />
|
|
<span data-i18n="|">|</span>
|
|
<input type="text" name="attr_MonWeaponDmg_2" class="short" value="1d0" data-i18n-placeholder="MonWeaponDmg" placeholder="MonWeaponDmg" title="@{MonWeaponDmg_2}" />
|
|
<span data-i18n="+4">+</span>
|
|
<input type="number" name="attr_MonWeaponDmgMod_2" class="short" value="0" data-i18n-placeholder="MonWeaponMod" placeholder="MonWeaponMod" title="@{MonWeaponDmgMod_2}" />
|
|
<span data-i18n="+5">+</span>
|
|
<input type="number" name="attr_MonWeaponDmgMisc_2" class="short" value="0" data-i18n-placeholder="MonWeaponMisc" placeholder="MonWeaponMisc" title="@{MonWeaponDmgMisc_2}" />
|
|
<span data-i18n="+6">+</span>
|
|
<input type="number" name="attr_MonWeaponDmgMagic_2" class="short" value="0" data-i18n-placeholder="MonWeaponMagic" placeholder="MonWeaponMagic" title="@{MonWeaponDmgMagic_2}" />
|
|
<span data-i18n="=2">=</span>
|
|
<input type="number" name="attr_MonWeaponDmgTotal_2" class="short" value="@{MonWeaponDmgMod_2}+@{MonWeaponDmgMisc_2}+@{MonWeaponDmgMagic_2}" disabled="true" data-i18n-placeholder="MonWeaponTotal" title="@{MonWeaponDmgTotal_2}" />
|
|
</div>
|
|
<div class="sheet-MonWeapon3">
|
|
<!-- The visible and draggable button for the macro bar -->
|
|
<button type="roll" name="roll_MonWeaponThree" value="@{MonWeaponThree_action}"></button>
|
|
<!-- The invisible button allowing the use of custom roll parsing -->
|
|
<button type="action" name="act_MonWeaponThree-action" class="hidden"/>
|
|
<!-- The invisible field for the attribute which contains the ability call -->
|
|
<input type="hidden" name="attr_MonWeaponThree_action" value="">
|
|
<input type="text" name="attr_MonWeaponName_3" class="medium" value="Empty" data-i18n-placeholder="MonWeaponName" placeholder="MonWeaponName" title="@{MonWeaponName_3}" />
|
|
<input type="number" name="attr_MonWeaponBth_3" class="short" value="0" data-i18n-placeholder="MonWeaponBth" placeholder="MonWeaponBth" title="@{MonWeaponBth_3}" />
|
|
<span data-i18n="+">+</span>
|
|
<input type="number" name="attr_MonWeaponHitMod_3" class="short" value="0" data-i18n-placeholder="MonWeaponHitMod" placeholder="MonWeaponHitMod" title="@{MonWeaponHitMod_3}" />
|
|
<span data-i18n="+2">+</span>
|
|
<input type="number" name="attr_MonWeaponHitMisc_3" class="short" value="0" data-i18n-placeholder="MonWeaponHitMisc" placeholder="MonWeaponHitMisc" title="@{MonWeaponHitMisc_3}" />
|
|
<span data-i18n="+3">+</span>
|
|
<input type="number" name="attr_MonWeaponHitMagic_3" class="short" value="0" data-i18n-placeholder="MonWeaponHitMagic" placeholder="MonWeaponHitMagic" title="@{MonWeaponHitMagic_3}" />
|
|
<span data-i18n="=">=</span>
|
|
<input type="number" name="attr_MonWeaponHitTotal_3" class="short" value="@{MonWeaponBth_3}+@{MonWeaponHitMod_3}+@{MonWeaponHitMisc_3}+@{MonWeaponHitMagic_3}" disabled="true" data-i18n-placeholder="MonWeaponHitTotal" title="@{MonWeaponHitTotal_3}" />
|
|
<span data-i18n="|">|</span>
|
|
<input type="text" name="attr_MonWeaponDmg_3" class="short" value="1d0" data-i18n-placeholder="MonWeaponDmg" placeholder="MonWeaponDmg" title="@{MonWeaponDmg_3}" />
|
|
<span data-i18n="+4">+</span>
|
|
<input type="number" name="attr_MonWeaponDmgMod_3" class="short" value="0" data-i18n-placeholder="MonWeaponMod" placeholder="MonWeaponMod" title="@{MonWeaponDmgMod_3}" />
|
|
<span data-i18n="+5">+</span>
|
|
<input type="number" name="attr_MonWeaponDmgMisc_3" class="short" value="0" data-i18n-placeholder="MonWeaponMisc" placeholder="MonWeaponMisc" title="@{MonWeaponDmgMisc_3}" />
|
|
<span data-i18n="+6">+</span>
|
|
<input type="number" name="attr_MonWeaponDmgMagic_3" class="short" value="0" data-i18n-placeholder="MonWeaponMagic" placeholder="MonWeaponMagic" title="@{MonWeaponDmgMagic_3}" />
|
|
<span data-i18n="=2">=</span>
|
|
<input type="number" name="attr_MonWeaponDmgTotal_3" class="short" value="@{MonWeaponDmgMod_3}+@{MonWeaponDmgMisc_3}+@{MonWeaponDmgMagic_3}" disabled="true" data-i18n-placeholder="MonWeaponTotal" title="@{MonWeaponDmgTotal_3}" />
|
|
</div>
|
|
<div class="sheet-MonWeapon4">
|
|
<!-- The visible and draggable button for the macro bar -->
|
|
<button type="roll" name="roll_MonWeaponFour" value="@{MonWeaponFour_action}"></button>
|
|
<!-- The invisible button allowing the use of custom roll parsing -->
|
|
<button type="action" name="act_MonWeaponFour-action" class="hidden"/>
|
|
<!-- The invisible field for the attribute which contains the ability call -->
|
|
<input type="hidden" name="attr_MonWeaponFour_action" value="">
|
|
<input type="text" name="attr_MonWeaponName_4" class="medium" value="Empty" data-i18n-placeholder="MonWeaponName" placeholder="MonWeaponName" title="@{MonWeaponName_4}" />
|
|
<input type="number" name="attr_MonWeaponBth_4" class="short" value="0" data-i18n-placeholder="MonWeaponBth" placeholder="MonWeaponBth" title="@{MonWeaponBth_4}" />
|
|
<span data-i18n="+">+</span>
|
|
<input type="number" name="attr_MonWeaponHitMod_4" class="short" value="0" data-i18n-placeholder="MonWeaponHitMod" placeholder="MonWeaponHitMod" title="@{MonWeaponHitMod_4}" />
|
|
<span data-i18n="+2">+</span>
|
|
<input type="number" name="attr_MonWeaponHitMisc_4" class="short" value="0" data-i18n-placeholder="MonWeaponHitMisc" placeholder="MonWeaponHitMisc" title="@{MonWeaponHitMisc_4}" />
|
|
<span data-i18n="+3">+</span>
|
|
<input type="number" name="attr_MonWeaponHitMagic_4" class="short" value="0" data-i18n-placeholder="MonWeaponHitMagic" placeholder="MonWeaponHitMagic" title="@{MonWeaponHitMagic_4}" />
|
|
<span data-i18n="=">=</span>
|
|
<input type="number" name="attr_MonWeaponHitTotal_4" class="short" value="@{MonWeaponBth_4}+@{MonWeaponHitMod_4}+@{MonWeaponHitMisc_4}+@{MonWeaponHitMagic_4}" disabled="true" data-i18n-placeholder="MonWeaponHitTotal" title="@{MonWeaponHitTotal_4}" />
|
|
<span data-i18n="|">|</span>
|
|
<input type="text" name="attr_MonWeaponDmg_4" class="short" value="1d0" data-i18n-placeholder="MonWeaponDmg" placeholder="MonWeaponDmg" title="@{MonWeaponDmg_4}" />
|
|
<span data-i18n="+4">+</span>
|
|
<input type="number" name="attr_MonWeaponDmgMod_4" class="short" value="0" data-i18n-placeholder="MonWeaponMod" placeholder="MonWeaponMod" title="@{MonWeaponDmgMod_4}" />
|
|
<span data-i18n="+5">+</span>
|
|
<input type="number" name="attr_MonWeaponDmgMisc_4" class="short" value="0" data-i18n-placeholder="MonWeaponMisc" placeholder="MonWeaponMisc" title="@{MonWeaponDmgMisc_4}" />
|
|
<span data-i18n="+6">+</span>
|
|
<input type="number" name="attr_MonWeaponDmgMagic_4" class="short" value="0" data-i18n-placeholder="MonWeaponMagic" placeholder="MonWeaponMagic" title="@{MonWeaponDmgMagic_4}" />
|
|
<span data-i18n="=2">=</span>
|
|
<input type="number" name="attr_MonWeaponDmgTotal_4" class="short" value="@{MonWeaponDmgMod_4}+@{MonWeaponDmgMisc_4}+@{MonWeaponDmgMagic_4}" disabled="true" data-i18n-placeholder="MonWeaponTotal" title="@{MonWeaponDmgTotal_4}" />
|
|
</div>
|
|
</div>
|
|
<div class="sheet-monnotes">
|
|
<label data-i18n-title="monnotestitle">
|
|
<span data-i18n="Notes">Notes</span>
|
|
<textarea data-i18n-placeholder="Notes" name="attr_Monmy-text" title="@{Monmy-text}"></textarea>
|
|
</label>
|
|
</div>
|
|
</div>
|
|
<div class="sheet-settings">
|
|
<h2><span data-i18n="settings"></span></h2>
|
|
<span data-i18n="Use Critical Damage?">Use Critical Damage?</span>
|
|
<input data-i18n-placeholder="usecritical" name="attr_usecritical" placeholder="usecritical" spellcheck="false" title="@{usecritical}" type="checkbox" value="1" />
|
|
<span data-i18n="Modifiers on Rolls?">Modifiers on Rolls?</span>
|
|
<input data-i18n-placeholder="usemodifiers" name="attr_usemodifiers" placeholder="usemodifiers" spellcheck="false" title="@{usemodifiers}" type="checkbox" value="1" />
|
|
<input type="hidden" title='@{rollmod}' name="attr_rollmod" value="" />
|
|
<span data-i18n="Primary Target">Primary Target</span>
|
|
<input data-i18n-placeholder="pritarget" name="attr_pritarget" placeholder="pritarget" spellcheck="false" title="@{pritarget}" type="number" value="12" />
|
|
<span data-i18n="Secondary Target">Secondary Target</span>
|
|
<input data-i18n-placeholder="sectarget" name="attr_sectarget" placeholder="sectarget" spellcheck="false" title="@{sectarget}" type="number" value="15" />
|
|
<span data-i18n="Tertiary Target">Tertiary Target</span>
|
|
<input data-i18n-placeholder="tertarget" name="attr_tertarget" placeholder="tertarget" spellcheck="false" title="@{tertarget}" type="number" value="18" />
|
|
</div>
|
|
|
|
<rolltemplate class="sheet-rolltemplate-attack">
|
|
<div class="sheet-template-container">
|
|
<h1>{{name}}</h1>
|
|
<div class="sheet-results">
|
|
<h4>To Hit = {{computed::roll1}}</h4>
|
|
<h4>Damage = {{computed::roll2}}</h4>
|
|
</div>
|
|
</div>
|
|
</rolltemplate>
|
|
<rolltemplate class="sheet-rolltemplate-spells">
|
|
<div class="sheet-template-container">
|
|
<h1>{{name}}</h1>
|
|
<div class="sheet-results">
|
|
<h4 name="cs">Caster Spell Lvl = {{casterspelllvl}}</h4>
|
|
</div>
|
|
<div class="sheet-results">
|
|
<h4 name="ct">Casting Time = {{casttime}}</h4>
|
|
</div>
|
|
<div class="sheet-results">
|
|
<h4 name="r">Range = {{range}}</h4>
|
|
</div>
|
|
<div class="sheet-results">
|
|
<h4 name="t">Target/AOE = {{targetaoe}}</h4>
|
|
</div>
|
|
<div class="sheet-results">
|
|
<h4 name="d">Duration = {{duration}}</h4>
|
|
</div>
|
|
<div class="sheet-results">
|
|
<h4 name="st">Saving Throw = {{savingthrow}}</h4>
|
|
</div>
|
|
<div class="sheet-results">
|
|
<h4 name="sr">Spell Resistance = {{spellresistance}}</h4>
|
|
</div>
|
|
<div class="sheet-results">
|
|
<h4 name="c">Components = {{components}}</h4>
|
|
</div>
|
|
<div class="sheet-results">
|
|
<h4 name="de">Description = {{description}}</h4>
|
|
</div>
|
|
</div>
|
|
</rolltemplate>
|
|
<rolltemplate class="sheet-rolltemplate-custom">
|
|
<div class="sheet-template-container">
|
|
<h1>{{title}}</h1>
|
|
<div class="sheet-results">
|
|
<h4>Result = {{Result}}</h4>
|
|
</div>
|
|
</div>
|
|
</rolltemplate>
|
|
<rolltemplate class="sheet-rolltemplate-stats">
|
|
<div class="sheet-template-container">
|
|
<h1>{{title}}</h1>
|
|
<div class="sheet-results">
|
|
<h4>Result = {{Result}}</h4>
|
|
<h4>Challenge Base = {{Target}}</h4>
|
|
</div>
|
|
</div>
|
|
</rolltemplate>
|
|
|
|
<script type="text/worker">
|
|
|
|
on("change:usemodifiers sheet:opened", function () {
|
|
getAttrs(["usemodifiers"], function (values) {
|
|
const Mod = parseInt(values.usemodifiers)||0;
|
|
|
|
var dicemod = "";
|
|
if (Mod === 1 ) { dicemod = "?{Mod|0}"; } else { dicemod = "0"; }
|
|
|
|
setAttrs({
|
|
rollmod: dicemod,
|
|
});
|
|
});
|
|
});
|
|
|
|
on("sheet:opened change:character_name", function(eventInfo) {
|
|
getAttrs(["character_name", "WeaponOne_action", "WeaponTwo_action", "WeaponThree_action", "WeaponFour_action", "WeaponFive_action", "MonWeaponOne_action", "MonWeaponTwo_action", "MonWeaponThree_action", "MonWeaponFour_action"], function(v) {
|
|
var attrsToChange = {};
|
|
attrsToChange["WeaponOne_action"] = "%{" + v["character_name"] + "|WeaponOne-action}";
|
|
attrsToChange["WeaponTwo_action"] = "%{" + v["character_name"] + "|WeaponTwo-action}";
|
|
attrsToChange["WeaponThree_action"] = "%{" + v["character_name"] + "|WeaponThree-action}";
|
|
attrsToChange["WeaponFour_action"] = "%{" + v["character_name"] + "|WeaponFour-action}";
|
|
attrsToChange["WeaponFive_action"] = "%{" + v["character_name"] + "|WeaponFive-action}";
|
|
attrsToChange["MonWeaponOne_action"] = "%{" + v["character_name"] + "|MonWeaponOne-action}";
|
|
attrsToChange["MonWeaponTwo_action"] = "%{" + v["character_name"] + "|MonWeaponTwo-action}";
|
|
attrsToChange["MonWeaponThree_action"] = "%{" + v["character_name"] + "|MonWeaponThree-action}";
|
|
attrsToChange["MonWeaponFour_action"] = "%{" + v["character_name"] + "|MonWeaponFour-action}";
|
|
setAttrs(attrsToChange);
|
|
});
|
|
});
|
|
|
|
on("sheet:opened change:AC change:ArmorAC change:ShieldAC change:ModAC change:MagicAC change:MiscAC", async (info) => {
|
|
const values = await getAttrsAsync(["character_name", "AC", "ArmorAC", "ShieldAC", "ModAC", "MagicAC", "MiscAC"]);
|
|
const ArmorAC = parseInt(values.ArmorAC) || 0;
|
|
const ShieldAC = parseInt(values.ShieldAC) || 0;
|
|
const ModAC = parseInt(values.ModAC) || 0;
|
|
const MagicAC = parseInt(values.MagicAC) || 0;
|
|
const MiscAC = parseInt(values.MiscAC) || 0;
|
|
var attrsToChange = {};
|
|
attrsToChange["AC"] = 10 + ArmorAC + ShieldAC + ModAC + MagicAC + MiscAC;
|
|
setAttrs(attrsToChange);
|
|
});
|
|
|
|
|
|
const stats = ['Strength','Dexterity','Constitution','Intelligence','Wisdom','Charisma'];
|
|
stats.forEach(function (stat) {
|
|
on("change:" + stat + " sheet:opened", function () {
|
|
getAttrs([stat], function (values) {
|
|
const stat_score = parseInt(values[stat])||0;
|
|
var stat_modifier = 0;
|
|
if (stat_score == 1 ) { stat_modifier = -4;}
|
|
if ((stat_score >= 2 ) && (stat_score <= 3)) { stat_modifier = -3;}
|
|
if ((stat_score >= 4 ) && (stat_score <= 5)) { stat_modifier = -2;}
|
|
if ((stat_score >= 6 ) && (stat_score <= 8)) { stat_modifier = -1;}
|
|
if ((stat_score >= 9 ) && (stat_score <= 12)) { stat_modifier = 0;}
|
|
if ((stat_score >= 13 ) && (stat_score <= 15)) { stat_modifier = 1;}
|
|
if ((stat_score >= 16 ) && (stat_score <= 17)) { stat_modifier = 2;}
|
|
if ((stat_score >= 18 ) && (stat_score <= 19)) { stat_modifier = 3;}
|
|
setAttrs({
|
|
[stat + 'Mod']: stat_modifier
|
|
});
|
|
});
|
|
});
|
|
});
|
|
|
|
const subStats = ['pri','sec','ter'];
|
|
stats.forEach(function (stat) {
|
|
// Also switching this to iterate over the sub stat appends.
|
|
subStats.forEach(sub =>{
|
|
on(`change:${stat}${sub}`,(event)=>{
|
|
getAttrs([`${stat}pri`,`${stat}sec`,`${stat}ter`,"pritarget","sectarget","tertarget"], function (values) {
|
|
// Creating an empty object to accumulate our changes allows
|
|
// us to easily assemble the object to use in setAttrs
|
|
// This isn't absolutely required for this, but is good practice nonetheless.
|
|
const setObj = {};
|
|
const statTer = parseInt(values[`${stat}ter`])||0;
|
|
const statSec = parseInt(values[`${stat}sec`])||0;
|
|
const statPri = parseInt(values[`${stat}pri`])||0;
|
|
const PriTar = parseInt(values.pritarget) || 0;
|
|
const SecTar = parseInt(values.sectarget) || 0;
|
|
const TerTar = parseInt(values.tertarget) || 0;
|
|
// Because we created the setObj above, we can just apply the target
|
|
// directly to the object
|
|
setObj[`${stat}target`] = 18;
|
|
|
|
// These should be done as an else if to limit the logic that has to be run through
|
|
// I've also changed your equality check to use strict equality, rather than the type coercive equality.
|
|
if (statPri === 1 ) {
|
|
setObj[`${stat}target`] = PriTar;
|
|
} else if (statSec === 1 ) {
|
|
setObj[`${stat}target`] = SecTar;
|
|
} else if (statTer === 1 ) {
|
|
setObj[`${stat}target`] = TerTar;
|
|
}
|
|
setAttrs(setObj);
|
|
});
|
|
});
|
|
});
|
|
});
|
|
|
|
on("change:Attribute1 change:Attribute2 change:Attribute3 change:Attribute4 change:Attribute5 change:Attribute6 change:Attribute7 change:Attribute8 change:strengthTarget change:constitutionTarget change:dexterityTarget change:wisdomTarget change:intelligenceTarget change:charismaTarget sheet:opened", function () {
|
|
getAttrs(["Attribute1","Attribute2","Attribute3","Attribute4","Attribute5","Attribute6","Attribute7","Attribute8","strengthTarget","constitutionTarget","dexterityTarget","wisdomTarget","intelligenceTarget","charismaTarget","strengthMod","constitutionMod","dexterityMod","wisdomMod","intelligenceMod","charismaMod"], function (values) {
|
|
const StrTar = parseInt(values['strengthTarget'])||0;
|
|
const ConTar = parseInt(values['constitutionTarget'])||0;
|
|
const DexTar = parseInt(values['dexterityTarget'])||0;
|
|
const IntTar = parseInt(values['intelligenceTarget'])||0;
|
|
const WisTar = parseInt(values['wisdomTarget'])||0;
|
|
const ChaTar = parseInt(values['charismaTarget'])||0;
|
|
const StrBonus = parseInt(values['strengthMod'])||0;
|
|
const ConBonus = parseInt(values['constitutionMod'])||0;
|
|
const DexBonus = parseInt(values['dexterityMod'])||0;
|
|
const IntBonus = parseInt(values['intelligenceMod'])||0;
|
|
const WisBonus = parseInt(values['wisdomMod'])||0;
|
|
const ChaBonus = parseInt(values['charismaMod'])||0;
|
|
const Att1 = values["Attribute1"]||"";
|
|
const Att2 = values["Attribute2"]||"";
|
|
const Att3 = values["Attribute3"]||"";
|
|
const Att4 = values["Attribute4"]||"";
|
|
const Att5 = values["Attribute5"]||"";
|
|
const Att6 = values["Attribute6"]||"";
|
|
const Att7 = values["Attribute7"]||"";
|
|
const Att8 = values["Attribute8"]||"";
|
|
var Target1 = 18;
|
|
var Target2 = 18;
|
|
var Target3 = 18;
|
|
var Target4 = 18;
|
|
var Target5 = 18;
|
|
var Target6 = 18;
|
|
var Target7 = 18;
|
|
var Target8 = 18;
|
|
var Bonus1 = 0;
|
|
var Bonus2 = 0;
|
|
var Bonus3 = 0;
|
|
var Bonus4 = 0;
|
|
var Bonus5 = 0;
|
|
var Bonus6 = 0;
|
|
var Bonus7 = 0;
|
|
var Bonus8 = 0;
|
|
if (Att1 === "Strength") {Target1 = StrTar; Bonus1 = StrBonus;}
|
|
if (Att1 === "Constitution") {Target1 = ConTar; Bonus1 = ConBonus;}
|
|
if (Att1 === "Dexterity") {Target1 = DexTar; Bonus1 = DexBonus;}
|
|
if (Att1 === "Intelligence") {Target1 = IntTar; Bonus1 = IntBonus;}
|
|
if (Att1 === "Wisdom") {Target1 = WisTar; Bonus1 = WisBonus;}
|
|
if (Att1 === "Charisma") {Target1 = ChaTar; Bonus1 = ChaBonus;}
|
|
|
|
if (Att2 === "Strength") {Target2 = StrTar; Bonus2 = StrBonus;}
|
|
if (Att2 === "Constitution") {Target2 = ConTar; Bonus2 = ConBonus;}
|
|
if (Att2 === "Dexterity") {Target2 = DexTar; Bonus2 = DexBonus;}
|
|
if (Att2 === "Intelligence") {Target2 = IntTar; Bonus2 = IntBonus;}
|
|
if (Att2 === "Wisdom") {Target2 = WisTar; Bonus2 = WisBonus;}
|
|
if (Att2 === "Charisma") {Target2 = ChaTar; Bonus2 = ChaBonus;}
|
|
|
|
if (Att3 === "Strength") {Target3 = StrTar; Bonus3 = StrBonus;}
|
|
if (Att3 === "Constitution") {Target3 = ConTar; Bonus3 = ConBonus;}
|
|
if (Att3 === "Dexterity") {Target3 = DexTar; Bonus3 = DexBonus;}
|
|
if (Att3 === "Intelligence") {Target3 = IntTar; Bonus3 = IntBonus;}
|
|
if (Att3 === "Wisdom") {Target3 = WisTar; Bonus3 = WisBonus;}
|
|
if (Att3 === "Charisma") {Target3 = ChaTar; Bonus3 = ChaBonus;}
|
|
|
|
if (Att4 === "Strength") {Target4 = StrTar; Bonus4 = StrBonus;}
|
|
if (Att4 === "Constitution") {Target4 = ConTar; Bonus4 = ConBonus;}
|
|
if (Att4 === "Dexterity") {Target4 = DexTar; Bonus4 = DexBonus;}
|
|
if (Att4 === "Intelligence") {Target4 = IntTar; Bonus4 = IntBonus;}
|
|
if (Att4 === "Wisdom") {Target4 = WisTar; Bonus4 = WisBonus;}
|
|
if (Att4 === "Charisma") {Target4 = ChaTar; Bonus4 = ChaBonus;}
|
|
|
|
if (Att5 === "Strength") {Target5 = StrTar; Bonus5 = StrBonus;}
|
|
if (Att5 === "Constitution") {Target5 = ConTar; Bonus5 = ConBonus;}
|
|
if (Att5 === "Dexterity") {Target5 = DexTar; Bonus5 = DexBonus;}
|
|
if (Att5 === "Intelligence") {Target5 = IntTar; Bonus5 = IntBonus;}
|
|
if (Att5 === "Wisdom") {Target5 = WisTar; Bonus5 = WisBonus;}
|
|
if (Att5 === "Charisma") {Target5 = ChaTar; Bonus5 = ChaBonus;}
|
|
|
|
if (Att6 === "Strength") {Target6 = StrTar; Bonus6 = StrBonus;}
|
|
if (Att6 === "Constitution") {Target6 = ConTar; Bonus6 = ConBonus;}
|
|
if (Att6 === "Dexterity") {Target6 = DexTar; Bonus6 = DexBonus;}
|
|
if (Att6 === "Intelligence") {Target6 = IntTar; Bonus6 = IntBonus;}
|
|
if (Att6 === "Wisdom") {Target6 = WisTar; Bonus6 = WisBonus;}
|
|
if (Att6 === "Charisma") {Target6 = ChaTar; Bonus6 = ChaBonus;}
|
|
|
|
if (Att7 === "Strength") {Target7 = StrTar; Bonus7 = StrBonus;}
|
|
if (Att7 === "Constitution") {Target7 = ConTar; Bonus7 = ConBonus;}
|
|
if (Att7 === "Dexterity") {Target7 = DexTar; Bonus7 = DexBonus;}
|
|
if (Att7 === "Intelligence") {Target7 = IntTar; Bonus7 = IntBonus;}
|
|
if (Att7 === "Wisdom") {Target7 = WisTar; Bonus7 = WisBonus;}
|
|
if (Att7 === "Charisma") {Target7 = ChaTar; Bonus7 = ChaBonus;}
|
|
|
|
if (Att8 === "Strength") {Target8 = StrTar; Bonus8 = StrBonus;}
|
|
if (Att8 === "Constitution") {Target8 = ConTar; Bonus8 = ConBonus;}
|
|
if (Att8 === "Dexterity") {Target8 = DexTar; Bonus8 = DexBonus;}
|
|
if (Att8 === "Intelligence") {Target8 = IntTar; Bonus8 = IntBonus;}
|
|
if (Att8 === "Wisdom") {Target8 = WisTar; Bonus8 = WisBonus;}
|
|
if (Att8 === "Charisma") {Target8 = ChaTar; Bonus8 = ChaBonus;}
|
|
|
|
|
|
setAttrs({
|
|
Attribute1Target: Target1,
|
|
Attribute2Target: Target2,
|
|
Attribute3Target: Target3,
|
|
Attribute4Target: Target4,
|
|
Attribute5Target: Target5,
|
|
Attribute6Target: Target6,
|
|
Attribute7Target: Target7,
|
|
Attribute8Target: Target8,
|
|
AttrBonus1: Bonus1,
|
|
AttrBonus2: Bonus2,
|
|
AttrBonus3: Bonus3,
|
|
AttrBonus4: Bonus4,
|
|
AttrBonus5: Bonus5,
|
|
AttrBonus6: Bonus6,
|
|
AttrBonus7: Bonus7,
|
|
AttrBonus8: Bonus8,
|
|
});
|
|
});
|
|
});
|
|
|
|
//dictionary to convert sheet attribute name to compendium attribute name
|
|
const spellFields = {
|
|
name:'Name',
|
|
'caster-Spell_Lvl':'data-Caster-Spell_Lvl',
|
|
'casting-time':'data-Casting-Time',
|
|
range:'data-Range',
|
|
'target-area-of-effect':'data-Target-Area-Of-Effect',
|
|
duration:'data-Duration',
|
|
'saving-throw':'data-Saving-Throw',
|
|
'spell-resistance':'data-Spell-Resistance',
|
|
components:'data-Components',
|
|
damage:'data-Damage',
|
|
damageperlevel:'data-Damage_per_level',
|
|
description:'data-Description'
|
|
};
|
|
const processSpell = (attributes,data) => {
|
|
const rowID = generateRowID();
|
|
const setObj = {};
|
|
//Iterate over the dictionary. Assign attributes for each compendium key
|
|
return Object.entries(spellFields).reduce((obj,[sheetKey,compendiumKey]) => {
|
|
obj[`repeating_spells_${rowID}_spell${sheetKey}`] = data[compendiumKey];
|
|
return obj;
|
|
},{});
|
|
};
|
|
on('change:drop_data',(event)=>{
|
|
getAttrs(['drop_data'],(attributes) => {
|
|
try{
|
|
const data = JSON.parse(attributes.data);
|
|
const funcSwitch = {
|
|
//Switch the key here to whatever the category name for spells is in your compendium
|
|
Spells:processSpell
|
|
};
|
|
if(funcSwitch[data.Category]){
|
|
//Passing the attributes in case you need to use them for something else in another drop function.
|
|
const setObj = funcSwitch[data.Category](attributes,data);
|
|
setAttrs(setObj,{silent:true});
|
|
}
|
|
}catch{
|
|
//Do nothing if the thing fails. It means this wasn't a valid drop.
|
|
}
|
|
})
|
|
})
|
|
|
|
const monstats = ['monstr','mondex','moncon','monint','monwis','moncha'];
|
|
monstats.forEach(function (stat) {
|
|
on("change:" + stat + " sheet:opened", function () {
|
|
getAttrs([stat], function (values) {
|
|
const stat_score = parseInt(values[stat])||0;
|
|
var stat_modifier = 0;
|
|
if (stat_score == 1 ) { stat_modifier = -4;}
|
|
if ((stat_score >= 2 ) && (stat_score <= 3)) { stat_modifier = -3;}
|
|
if ((stat_score >= 4 ) && (stat_score <= 5)) { stat_modifier = -2;}
|
|
if ((stat_score >= 6 ) && (stat_score <= 8)) { stat_modifier = -1;}
|
|
if ((stat_score >= 9 ) && (stat_score <= 12)) { stat_modifier = 0;}
|
|
if ((stat_score >= 13 ) && (stat_score <= 15)) { stat_modifier = 1;}
|
|
if ((stat_score >= 16 ) && (stat_score <= 17)) { stat_modifier = 2;}
|
|
if ((stat_score >= 18 ) && (stat_score <= 19)) { stat_modifier = 3;}
|
|
setAttrs({
|
|
[stat + 'mod']: stat_modifier
|
|
});
|
|
});
|
|
});
|
|
});
|
|
|
|
const monsubStats = ['Pri','Sec','Ter'];
|
|
monstats.forEach(function (stat) {
|
|
// Also switching this to iterate over the sub stat appends.
|
|
monsubStats.forEach(sub =>{
|
|
on(`change:${stat}${sub}`,(event)=>{
|
|
getAttrs([`${stat}Pri`,`${stat}Sec`,`${stat}Ter`,"pritarget","sectarget","tertarget"], function (values) {
|
|
// Creating an empty object to accumulate our changes allows
|
|
// us to easily assemble the object to use in setAttrs
|
|
// This isn't absolutely required for this, but is good practice nonetheless.
|
|
const setObj = {};
|
|
const statPri = parseInt(values[`${stat}Pri`])||0;
|
|
const statSec = parseInt(values[`${stat}Sec`])||0;
|
|
const statTer = parseInt(values[`${stat}Ter`])||0;
|
|
const PriTar = parseInt(values.pritarget) || 0;
|
|
const SecTar = parseInt(values.sectarget) || 0;
|
|
const TerTar = parseInt(values.tertarget) || 0;
|
|
// Because we created the setObj above, we can just apply the target
|
|
// directly to the object
|
|
setObj[`${stat}Target`] = 18;
|
|
|
|
// These should be done as an else if to limit the logic that has to be run through
|
|
// I've also changed your equality check to use strict equality, rather than the type coercive equality.
|
|
if (statPri === 1 ) {
|
|
setObj[`${stat}Target`] = PriTar;
|
|
} else if (statSec === 1 ) {
|
|
setObj[`${stat}Target`] = SecTar;
|
|
} else if (statTer === 1 ) {
|
|
setObj[`${stat}Target`] = TerTar;
|
|
}
|
|
setAttrs(setObj);
|
|
});
|
|
});
|
|
});
|
|
});
|
|
|
|
|
|
on('clicked:WeaponOne-action', async (info) => {
|
|
const values = await getAttrsAsync(['WeaponBth_1','WeaponHitMod_1','WeaponHitMisc_1','WeaponHitMagic_1','WeaponDmgMod_1','WeaponDmgMisc_1','WeaponDmgMagic_1','WeaponDmg_1','WeaponName_1','usecritical','CharacterName','rollmod']);
|
|
const usecrit = values.usecritical || 0;
|
|
const WpnDmg = values.WeaponDmg_1 || "";
|
|
const WpnName = values.WeaponName_1 || "";
|
|
const HitTotal = parseInt(values.WeaponBth_1)+parseInt(values.WeaponHitMod_1)+parseInt(values.WeaponHitMisc_1)+parseInt(values.WeaponHitMagic_1) || 0;
|
|
const DmgTotal = parseInt(values.WeaponDmgMod_1)+parseInt(values.WeaponDmgMisc_1)+parseInt(values.WeaponDmgMagic_1) || 0;
|
|
const CharName = values.CharacterName||"";
|
|
const rollmod = values.rollmod||"0";
|
|
const results = await startRoll("&{template:attack} {{name="+CharName+" "+WpnName+"}} {{roll1=[[1d20+"+HitTotal+"+"+rollmod+"]]}} {{roll2=[["+WpnDmg+"+"+DmgTotal+"]]}}");
|
|
const tohit = results.results.roll1.result;
|
|
const totaldmg = results.results.roll2.result;
|
|
const thebasedice= results.results.roll1.dice;
|
|
var newdmg = totaldmg;
|
|
if ((usecrit == 1 ) && (tohit == (20 + HitTotal))) {
|
|
newdmg = totaldmg * 2;
|
|
}
|
|
finishRoll(
|
|
results.rollId,
|
|
{
|
|
roll1: tohit,
|
|
roll2: newdmg,
|
|
}
|
|
);
|
|
});
|
|
|
|
on('clicked:WeaponTwo-action', async (info) => {
|
|
const values = await getAttrsAsync(['WeaponBth_2','WeaponHitMod_2','WeaponHitMisc_2','WeaponHitMagic_2','WeaponDmgMod_2','WeaponDmgMisc_2','WeaponDmgMagic_2','WeaponDmg_2','WeaponName_2','usecritical','CharacterName','rollmod']);
|
|
const usecrit = values.usecritical || 0;
|
|
const WpnDmg = values.WeaponDmg_2 || "";
|
|
const WpnName = values.WeaponName_2 || "";
|
|
const HitTotal = parseInt(values.WeaponBth_2)+parseInt(values.WeaponHitMod_2)+parseInt(values.WeaponHitMisc_2)+parseInt(values.WeaponHitMagic_2) || 0;
|
|
const DmgTotal = parseInt(values.WeaponDmgMod_2)+parseInt(values.WeaponDmgMisc_2)+parseInt(values.WeaponDmgMagic_2) || 0;
|
|
const CharName = values.CharacterName||"";
|
|
const rollmod = values.rollmod||"0";
|
|
const results = await startRoll("&{template:attack} {{name="+CharName+" "+WpnName+"}} {{roll1=[[1d20+"+HitTotal+"+"+rollmod+"]]}} {{roll2=[["+WpnDmg+"+"+DmgTotal+"]]}}");
|
|
const tohit = results.results.roll1.result;
|
|
const totaldmg = results.results.roll2.result;
|
|
const thebasedice= results.results.roll1.dice;
|
|
var newdmg = totaldmg;
|
|
if ((usecrit == 1 ) && (tohit == (20 + HitTotal))) {
|
|
newdmg = totaldmg * 2;
|
|
}
|
|
finishRoll(
|
|
results.rollId,
|
|
{
|
|
roll1: tohit,
|
|
roll2: newdmg,
|
|
}
|
|
);
|
|
});
|
|
|
|
on('clicked:WeaponThree-action', async (info) => {
|
|
const values = await getAttrsAsync(['WeaponBth_3','WeaponHitMod_3','WeaponHitMisc_3','WeaponHitMagic_3','WeaponDmgMod_3','WeaponDmgMisc_3','WeaponDmgMagic_3','WeaponDmg_3','WeaponName_3','usecritical','CharacterName','rollmod']);
|
|
const usecrit = values.usecritical || 0;
|
|
const WpnDmg = values.WeaponDmg_3 || "";
|
|
const WpnName = values.WeaponName_3 || "";
|
|
const HitTotal = parseInt(values.WeaponBth_3)+parseInt(values.WeaponHitMod_3)+parseInt(values.WeaponHitMisc_3)+parseInt(values.WeaponHitMagic_3) || 0;
|
|
const DmgTotal = parseInt(values.WeaponDmgMod_3)+parseInt(values.WeaponDmgMisc_3)+parseInt(values.WeaponDmgMagic_3) || 0;
|
|
const CharName = values.CharacterName||"";
|
|
const rollmod = values.rollmod||"0";
|
|
const results = await startRoll("&{template:attack} {{name="+CharName+" "+WpnName+"}} {{roll1=[[1d20+"+HitTotal+"+"+rollmod+"]]}} {{roll2=[["+WpnDmg+"+"+DmgTotal+"]]}}");
|
|
const tohit = results.results.roll1.result;
|
|
const totaldmg = results.results.roll2.result;
|
|
const thebasedice= results.results.roll1.dice;
|
|
var newdmg = totaldmg;
|
|
if ((usecrit == 1 ) && (tohit == (20 + HitTotal))) {
|
|
newdmg = totaldmg * 2;
|
|
}
|
|
finishRoll(
|
|
results.rollId,
|
|
{
|
|
roll1: tohit,
|
|
roll2: newdmg,
|
|
}
|
|
);
|
|
});
|
|
|
|
on('clicked:WeaponFour-action', async (info) => {
|
|
const values = await getAttrsAsync(['WeaponBth_4','WeaponHitMod_4','WeaponHitMisc_4','WeaponHitMagic_4','WeaponDmgMod_4','WeaponDmgMisc_4','WeaponDmgMagic_4','WeaponDmg_4','WeaponName_4','usecritical','CharacterName','rollmod']);
|
|
const usecrit = values.usecritical || 0;
|
|
const WpnDmg = values.WeaponDmg_4 || "";
|
|
const WpnName = values.WeaponName_4 || "";
|
|
const HitTotal = parseInt(values.WeaponBth_4)+parseInt(values.WeaponHitMod_4)+parseInt(values.WeaponHitMisc_4)+parseInt(values.WeaponHitMagic_4) || 0;
|
|
const DmgTotal = parseInt(values.WeaponDmgMod_4)+parseInt(values.WeaponDmgMisc_4)+parseInt(values.WeaponDmgMagic_4) || 0;
|
|
const CharName = values.CharacterName||"";
|
|
const rollmod = values.rollmod||"0";
|
|
const results = await startRoll("&{template:attack} {{name="+CharName+" "+WpnName+"}} {{roll1=[[1d20+"+HitTotal+"+"+rollmod+"]]}} {{roll2=[["+WpnDmg+"+"+DmgTotal+"]]}}");
|
|
const tohit = results.results.roll1.result;
|
|
const totaldmg = results.results.roll2.result;
|
|
const thebasedice= results.results.roll1.dice;
|
|
var newdmg = totaldmg;
|
|
if ((usecrit == 1 ) && (tohit == (20 + HitTotal))) {
|
|
newdmg = totaldmg * 2;
|
|
}
|
|
finishRoll(
|
|
results.rollId,
|
|
{
|
|
roll1: tohit,
|
|
roll2: newdmg,
|
|
}
|
|
);
|
|
});
|
|
|
|
on('clicked:WeaponFive-action', async (info) => {
|
|
const values = await getAttrsAsync(['WeaponBth_5','WeaponHitMod_5','WeaponHitMisc_5','WeaponHitMagic_5','WeaponDmgMod_5','WeaponDmgMisc_5','WeaponDmgMagic_5','WeaponDmg_5','WeaponName_5','usecritical','CharacterName','rollmod']);
|
|
const usecrit = values.usecritical || 0;
|
|
const WpnDmg = values.WeaponDmg_5 || "";
|
|
const WpnName = values.WeaponName_5 || "";
|
|
const HitTotal = parseInt(values.WeaponBth_5)+parseInt(values.WeaponHitMod_5)+parseInt(values.WeaponHitMisc_5)+parseInt(values.WeaponHitMagic_5) || 0;
|
|
const DmgTotal = parseInt(values.WeaponDmgMod_5)+parseInt(values.WeaponDmgMisc_5)+parseInt(values.WeaponDmgMagic_5) || 0;
|
|
const CharName = values.CharacterName||"";
|
|
const rollmod = values.rollmod||"0";
|
|
const results = await startRoll("&{template:attack} {{name="+CharName+" "+WpnName+"}} {{roll1=[[1d20+"+HitTotal+"+"+rollmod+"]]}} {{roll2=[["+WpnDmg+"+"+DmgTotal+"]]}}");
|
|
const tohit = results.results.roll1.result;
|
|
const totaldmg = results.results.roll2.result;
|
|
const thebasedice= results.results.roll1.dice;
|
|
var newdmg = totaldmg;
|
|
if ((usecrit == 1 ) && (tohit == (20 + HitTotal))) {
|
|
newdmg = totaldmg * 2;
|
|
}
|
|
finishRoll(
|
|
results.rollId,
|
|
{
|
|
roll1: tohit,
|
|
roll2: newdmg,
|
|
}
|
|
);
|
|
});
|
|
|
|
on('clicked:MonWeaponOne-action', async (info) => {
|
|
const values = await getAttrsAsync(['MonWeaponBth_1','MonWeaponHitMod_1','MonWeaponHitMisc_1','MonWeaponHitMagic_1','MonWeaponDmgMod_1','MonWeaponDmgMisc_1','MonWeaponDmgMagic_1','MonWeaponDmg_1','MonWeaponName_1','usecritical','MonsterName','rollmod']);
|
|
const usecrit = values.usecritical || 0;
|
|
const WpnDmg = values.MonWeaponDmg_1 || "";
|
|
const WpnName = values.MonWeaponName_1 || "";
|
|
const HitTotal = parseInt(values.MonWeaponBth_1)+parseInt(values.MonWeaponHitMod_1)+parseInt(values.MonWeaponHitMisc_1)+parseInt(values.MonWeaponHitMagic_1) || 0;
|
|
const DmgTotal = parseInt(values.MonWeaponDmgMod_1)+parseInt(values.MonWeaponDmgMisc_1)+parseInt(values.MonWeaponDmgMagic_1) || 0;
|
|
const CharName = values.MonsterName||"";
|
|
const rollmod = values.rollmod||"0";
|
|
const results = await startRoll("&{template:attack} {{name="+CharName+" "+WpnName+"}} {{roll1=[[1d20+"+HitTotal+"+"+rollmod+"]]}} {{roll2=[["+WpnDmg+"+"+DmgTotal+"]]}}");
|
|
const tohit = results.results.roll1.result;
|
|
const totaldmg = results.results.roll2.result;
|
|
const thebasedice= results.results.roll1.dice;
|
|
var newdmg = totaldmg;
|
|
if ((usecrit == 1 ) && (tohit == (20 + HitTotal))) {
|
|
newdmg = totaldmg * 2;
|
|
}
|
|
finishRoll(
|
|
results.rollId,
|
|
{
|
|
roll1: tohit,
|
|
roll2: newdmg,
|
|
}
|
|
);
|
|
});
|
|
|
|
on('clicked:MonWeaponTwo-action', async (info) => {
|
|
const values = await getAttrsAsync(['MonWeaponBth_2','MonWeaponHitMod_2','MonWeaponHitMisc_2','MonWeaponHitMagic_2','MonWeaponDmgMod_2','MonWeaponDmgMisc_2','MonWeaponDmgMagic_2','MonWeaponDmg_2','MonWeaponName_2','usecritical','MonsterName','rollmod']);
|
|
const usecrit = values.usecritical || 0;
|
|
const WpnDmg = values.MonWeaponDmg_2 || "";
|
|
const WpnName = values.MonWeaponName_2 || "";
|
|
const HitTotal = parseInt(values.MonWeaponBth_2)+parseInt(values.MonWeaponHitMod_2)+parseInt(values.MonWeaponHitMisc_2)+parseInt(values.MonWeaponHitMagic_2) || 0;
|
|
const DmgTotal = parseInt(values.MonWeaponDmgMod_2)+parseInt(values.MonWeaponDmgMisc_2)+parseInt(values.MonWeaponDmgMagic_2) || 0;
|
|
const CharName = values.MonsterName||"";
|
|
const rollmod = values.rollmod||"0";
|
|
const results = await startRoll("&{template:attack} {{name="+CharName+" "+WpnName+"}} {{roll1=[[1d20+"+HitTotal+"+"+rollmod+"]]}} {{roll2=[["+WpnDmg+"+"+DmgTotal+"]]}}");
|
|
const tohit = results.results.roll1.result;
|
|
const totaldmg = results.results.roll2.result;
|
|
const thebasedice= results.results.roll1.dice;
|
|
var newdmg = totaldmg;
|
|
if ((usecrit == 1 ) && (tohit == (20 + HitTotal))) {
|
|
newdmg = totaldmg * 2;
|
|
}
|
|
finishRoll(
|
|
results.rollId,
|
|
{
|
|
roll1: tohit,
|
|
roll2: newdmg,
|
|
}
|
|
);
|
|
});
|
|
|
|
on('clicked:MonWeaponThree-action', async (info) => {
|
|
const values = await getAttrsAsync(['MonWeaponBth_3','MonWeaponHitMod_3','MonWeaponHitMisc_3','MonWeaponHitMagic_3','MonWeaponDmgMod_3','MonWeaponDmgMisc_3','MonWeaponDmgMagic_3','MonWeaponDmg_3','MonWeaponName_3','usecritical','MonsterName','rollmod']);
|
|
const usecrit = values.usecritical || 0;
|
|
const WpnDmg = values.MonWeaponDmg_3 || "";
|
|
const WpnName = values.MonWeaponName_3 || "";
|
|
const HitTotal = parseInt(values.MonWeaponBth_3)+parseInt(values.MonWeaponHitMod_3)+parseInt(values.MonWeaponHitMisc_3)+parseInt(values.MonWeaponHitMagic_3) || 0;
|
|
const DmgTotal = parseInt(values.MonWeaponDmgMod_3)+parseInt(values.MonWeaponDmgMisc_3)+parseInt(values.MonWeaponDmgMagic_3) || 0;
|
|
const CharName = values.MonsterName||"";
|
|
const rollmod = values.rollmod||"0";
|
|
const results = await startRoll("&{template:attack} {{name="+CharName+" "+WpnName+"}} {{roll1=[[1d20+"+HitTotal+"+"+rollmod+"]]}} {{roll2=[["+WpnDmg+"+"+DmgTotal+"]]}}");
|
|
const tohit = results.results.roll1.result;
|
|
const totaldmg = results.results.roll2.result;
|
|
const thebasedice= results.results.roll1.dice;
|
|
var newdmg = totaldmg;
|
|
if ((usecrit == 1 ) && (tohit == (20 + HitTotal))) {
|
|
newdmg = totaldmg * 2;
|
|
}
|
|
finishRoll(
|
|
results.rollId,
|
|
{
|
|
roll1: tohit,
|
|
roll2: newdmg,
|
|
}
|
|
);
|
|
});
|
|
|
|
on('clicked:MonWeaponFour-action', async (info) => {
|
|
const values = await getAttrsAsync(['MonWeaponBth_4','MonWeaponHitMod_4','MonWeaponHitMisc_4','MonWeaponHitMagic_4','MonWeaponDmgMod_4','MonWeaponDmgMisc_4','MonWeaponDmgMagic_4','MonWeaponDmg_4','MonWeaponName_4','usecritical','MonsterName','rollmod']);
|
|
const usecrit = values.usecritical || 0;
|
|
const WpnDmg = values.MonWeaponDmg_4 || "";
|
|
const WpnName = values.MonWeaponName_4 || "";
|
|
const HitTotal = parseInt(values.MonWeaponBth_4)+parseInt(values.MonWeaponHitMod_4)+parseInt(values.MonWeaponHitMisc_4)+parseInt(values.MonWeaponHitMagic_4) || 0;
|
|
const DmgTotal = parseInt(values.MonWeaponDmgMod_4)+parseInt(values.MonWeaponDmgMisc_4)+parseInt(values.MonWeaponDmgMagic_4) || 0;
|
|
const CharName = values.MonsterName||"";
|
|
const rollmod = values.rollmod||"0";
|
|
const results = await startRoll("&{template:attack} {{name="+CharName+" "+WpnName+"}} {{roll1=[[1d20+"+HitTotal+"+"+rollmod+"]]}} {{roll2=[["+WpnDmg+"+"+DmgTotal+"]]}}");
|
|
const tohit = results.results.roll1.result;
|
|
const totaldmg = results.results.roll2.result;
|
|
const thebasedice= results.results.roll1.dice;
|
|
var newdmg = totaldmg;
|
|
if ((usecrit == 1 ) && (tohit == (20 + HitTotal))) {
|
|
newdmg = totaldmg * 2;
|
|
}
|
|
finishRoll(
|
|
results.rollId,
|
|
{
|
|
roll1: tohit,
|
|
roll2: newdmg,
|
|
}
|
|
);
|
|
});
|
|
|
|
|
|
on("change:sheetType", function() {
|
|
getAttrs(["sheetType"], function(values) {
|
|
var sheetType = values["sheetType"]||"";
|
|
setAttrs({
|
|
"sheetTab": sheetType,
|
|
});
|
|
});
|
|
});
|
|
|
|
|
|
/*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);
|
|
});
|
|
}
|
|
|
|
</script>
|
|
|
|
|