mirror of
https://github.com/Nighthawk42/roll20-character-sheets.git
synced 2026-08-30 03:40:32 +00:00
1035 lines
43 KiB
HTML
1035 lines
43 KiB
HTML
<!-- This is the official character sheet for The Fade Tabletop 3rd Edition. Written by Jeremy Harris. -->
|
|
|
|
<img src="https://i.imgur.com/E0wA7Bv.png">
|
|
|
|
<table width="100%" style="background-color: #F05454; align: center; border: solid thin black">
|
|
|
|
<th colspan="10" style="text-align: center;">
|
|
<h3>Dice Rollerator</h3>
|
|
</th>
|
|
|
|
<tr>
|
|
<td width="10%"></td>
|
|
<th>Roll</th>
|
|
<th>Keep</th>
|
|
<th>+/-</th>
|
|
<th>Generic Roll</th>
|
|
<th>Calculate Damage</th>
|
|
<th>Roll Initiative</th>
|
|
<th>Attack Location</th>
|
|
<td width="5%"></td>
|
|
<td width="10%"></td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td style="background-color: #F05454;"></td>
|
|
<td><input type="text" name="attr_rollRoll" style="width: 40px; border-bottom: medium solid #404040"></td>
|
|
<td><input type="text" name="attr_rollKeep" style="width: 40px; border-bottom: medium solid #404040"></td>
|
|
<td><input type="text" name="attr_rollBonus" style="width: 40px; border-bottom: medium solid #404040"></td>
|
|
<td><button type="roll" value="/em rolls @{rollRoll}k@{rollKeep} with a bonus of @{rollBonus}, for [[@{rollRoll}d10?{Reroll this number and below. (Leave blank if none)|r<0}?{Explode this number and above. (Leave blank if none)|!!>11}sk@{rollKeep}+@{rollBonus}]]">ROLL</button></td>
|
|
<td><button type="roll" value="Damage dealt: [[floor((?{Damage|0} - ?{Deflection|0}) / (?{Soak|1}))]]">SOAK</button></td>
|
|
<td><button type="roll" value="/em rolls for Initiative and gets [[1d10+@{agility} &{tracker}]]">INIT</button></td>
|
|
<td><button type="roll" value="/em rolls for Attack Location! [[1d10]] {Head: 1, Body: 2 - 6, L. Arm: 7, R. Arm: 8, L. Leg: 9, R. Leg: 10}">LOCATION</button></td>
|
|
<td style="background-color: #F05454;"></td>
|
|
</tr>
|
|
</table>
|
|
|
|
<br>
|
|
|
|
<hr>
|
|
|
|
<input type="hidden" class="sheet-tabstoggle" name="attr_sheetTab" value="character" />
|
|
<div>
|
|
<button type="action" name="act_details" >Details</button>
|
|
<button type="action" name="act_attributes" >Attributes</button>
|
|
<button type="action" name="act_skills" >Skills</button>
|
|
<button type="action" name="act_equipment" >Equipment</button>
|
|
<button type="action" name="act_abilities" >Abilities</button>
|
|
</div>
|
|
|
|
<hr>
|
|
|
|
<br>
|
|
|
|
<!--Beginning of the Details section.-->
|
|
<div class="sheet-details">
|
|
<div align="center">
|
|
<h1>CHARACTER DETAILS</h1>
|
|
</div>
|
|
<br>
|
|
|
|
<b>Character Name: </b>
|
|
<input title="character_name" type="text" name="attr_character_name" placeholder="Character Name"><br><br>
|
|
|
|
<b>Player Name:</b>
|
|
<input title="player-name" type="text" name="attr_player-name" placeholder="Player Name"><br><br>
|
|
|
|
<b>Sex:</b>
|
|
<input title="Sex" type="text" name="attr_sex" placeholder="Sex"><br><br>
|
|
|
|
<b>Class:</b>
|
|
<input title="class" type="text" name="attr_class" placeholder="Class (Class Level)"> ||
|
|
<b>Total Level:</b>
|
|
<input title="level" type="number" name="attr_level" placeholder="Level" min="1" max="20" value="1"><br><br>
|
|
|
|
<b>Size:</b>
|
|
<input title="size" type="text" name="attr_size" placeholder="Size (4)"><br><br>
|
|
|
|
<b>Age:</b>
|
|
<input title="age" type="number" name="attr_age" placeholder="Age"> ||
|
|
<b>Age Category:</b>
|
|
<select name="attr_agecategory">
|
|
<option value="" disabled="disabled" selected="selected">Select age category</option>
|
|
<option value="1">Young</option>
|
|
<option value="2">Adult</option>
|
|
<option value="3">Old</option>
|
|
<option value="4">Ageless</option>
|
|
</select>
|
|
<br><br>
|
|
|
|
<b>Species:</b>
|
|
<input title="species" type="text" name="attr_species" placeholder="Species"><br><br>
|
|
|
|
<b>Religion:</b>
|
|
<input title="religion" type="text" name="attr_religion" placeholder="Religion"><br><br>
|
|
</div>
|
|
|
|
<!--Beginning of the Attributes section.-->
|
|
<div class="sheet-attributes">
|
|
<div class="row">
|
|
<div class="column" align="right">
|
|
<div class="sheet-col" align="center">
|
|
<h2>CORE ABILITIES</h2>
|
|
|
|
<b>Hit Points</b>:
|
|
<input title="HP" type="number" name="attr_HP" placeholder="current" style="width:12%"> /
|
|
<input title="HP2" type="number" name="attr_HPmax" placeholder="max" min="0" style="width:12%"><br><br>
|
|
|
|
<b>Soak</b>: <input title="Soak" type="number" name="attr_Soak" value="1" min="1"><br><br>
|
|
|
|
<b>Attacks Per Turn</b>: <input title="Attack Bonus" type="number" name="attr_Atkbns" value="1" min="1"><br><br>
|
|
|
|
<b>Magic Points (MP)</b>: <input title="Magic Points" type="number" name="attr_MP" value="0" min="0"><br><br>
|
|
|
|
<b>Sanity</b><input title="Sanity Current" type="number" name="attr_SanityC" value="0" min="0"> <b>/</b>
|
|
<input title="Sanity Total" type="number" name="attr_SanityT" value="floor(10+(@{smarts}))" disabled="true"><br><br>
|
|
|
|
<h2>MOVEMENT</h2>
|
|
<b>Land:</b> <input title="MOV_L" type="number" name="attr_MOV_L" value="6" min="0"> sq.<br>
|
|
<b>Fly:</b> <input title="MOV_F" type="number" name="attr_MOV_F" value="0" min="0"> sq.<br>
|
|
<b>Climb:</b> <input title="MOV_C" type="number" name="attr_MOV_C" value="0" min="0"> sq.<br>
|
|
<b>Swim:</b> <input title="MOV_S" type="number" name="attr_MOV_S" value="0" min="0"> sq.<br>
|
|
<b>Burrow:</b> <input title="MOV_B" type="number" name="attr_MOV_B" value="0" min="0"> sq.<br>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
<br>
|
|
<hr>
|
|
<br>
|
|
|
|
<div class="column">
|
|
<div class="sheet-col" align="center">
|
|
<h2>STATISTICS</h2>
|
|
|
|
<b>Strength</b>: <input type="number" name="attr_strength" value="1" min="0"><br><br>
|
|
<b>Endurance</b>: <input type="number" name="attr_endurance" value="1" min="0"><br><br>
|
|
<b>Smarts</b>: <input type="number" name="attr_smarts" value="1" min="0"><br><br>
|
|
<b>Agility</b>: <input type="number" name="attr_agility" value="1" min="0"><br><br>
|
|
<b>Charm</b>: <input type="number" name="attr_charm" value="1" min="0"><br><br>
|
|
|
|
<hr></hr>
|
|
|
|
<h2>Magic</h2>
|
|
<b>Magic</b>: <input type="number" name="attr_magic" value="0" min="0"><br><br>
|
|
<b>Spellcasting Attribute: </b>
|
|
<select name="attr_magic_stat">
|
|
<option value="" disabled="disabled" selected="selected">Select your spellcasting attribute</option>
|
|
<option value="1">Strength</option>
|
|
<option value="2">Endurance</option>
|
|
<option value="3">Agility</option>
|
|
<option value="4">Smarts</option>
|
|
<option value="5">Charm</option>
|
|
</select><br><br>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<hr></hr>
|
|
|
|
<div class="row">
|
|
<div class="column" align="right">
|
|
<div class="sheet-col" align="center">
|
|
<h2>DEFENSES</h2>
|
|
|
|
<h3><i>Base Defenses</i></h3>
|
|
<b>Avoid</b>: <input title="Avoid" type="number" name="attr_Avoid" value="floor(20+(@{agility})+((@{level})/4)+(@{MiscAvo}))" disabled>
|
|
+
|
|
<input title="Misc Avoid" type="number" name="attr_MiscAvo" value="0">
|
|
<br>
|
|
<b>Mind</b>: <input title="Avoid" type="number" name="attr_MenDef" value="floor(20+(@{smarts})+(@{level}/4)+(@{MiscMenDef}))" disabled>
|
|
+
|
|
<input title="Misc Mind" type="number" name="attr_MiscMenDef" value="0"><br>
|
|
<b>Resilience</b>: <input title="Resilience" type="number" name="attr_BodDef" value="floor(20+(@{endurance})+(@{level}/4)+(@{MiscBodDef}))" disabled>
|
|
+
|
|
<input title="Misc Resilience" type="number" name="attr_MiscBodDef" value="0"><br>
|
|
</div>
|
|
</div>
|
|
|
|
<hr>
|
|
|
|
<div class="column" align="center">
|
|
<div class="sheet-col" align="center">
|
|
<h2>CARRYING CAPACITY</h2>
|
|
|
|
<b>Light Limit</b><input title="LLimit" type="number" name="attr_LLimit" value="floor((5+(@{strength})+(@{endurance}))*5)" disabled="true"><br>
|
|
<b>Medium Limit</b><input title="MLimit" type="number" name="attr_MLimit" value="floor((5+(@{strength})+(@{endurance}))*10)" disabled="true"><br>
|
|
<b>Heavy Limit</b><input title="HLimit" type="number" name="attr_HLimit" value="floor((5+(@{strength})+(@{endurance}))*15)" disabled="true"><br>
|
|
<b>Over the Head</b><input title="OvtHe" type="number" name="attr_OvtHe" value="floor((@{HLimit})*1.5)" disabled="true"><br>
|
|
<b>Off the Ground</b><input title="OfftGro" type="number" name="attr_OfftGro" value="floor((@{HLimit})*3)" disabled="true"><br>
|
|
<b>Push/Drag</b><input title="PuDra" type="number" name="attr_PuDra" value="floor((@{HLimit})*5)" disabled="true">
|
|
</div>
|
|
</div>
|
|
|
|
<div class="column" align="left">
|
|
<div class="sheet-col" align="center">
|
|
<h2>Experience Points</h2>
|
|
<b>EXP</b>: <input title="experience" type="text" name="attr_experience" placeholder="Current exp" style="width:20%">
|
|
<b>/</b>
|
|
<input title="experience|max" type="text" name="attr_experience_max" placeholder="Exp to next level" style="width:20%">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!--Beginning of the Skills section.-->
|
|
|
|
<div class="sheet-skills">
|
|
|
|
<div align="center">
|
|
<h3>ROLEPLAY SKILLS</h3>
|
|
</div>
|
|
|
|
<div class="column" style="background-color:white">
|
|
<h3>Artisan (Repeating)</h3>
|
|
<fieldset class="repeating_artisan-s">
|
|
<div class="sheet-table-row">
|
|
<b>Artisan:</b> <input type="text" name="attr_ExArtisanS"><br><br>
|
|
<input type="checkbox" name="attr_ArtisanTrainedSmarts" value="5+@{level}">
|
|
<input type="number" name="attr_ExArtSrt" value="@{smarts}+@{ArtSrta}" disabled> k
|
|
<input type="number" name="attr_ExArtSrtk" value="floor((@{smarts})/2)+@{ArtSrtb}" min="1" disabled> +
|
|
<input type="number" name="attr_ExArttr" value="@{ArtisanTrainedSmarts}+@{ArtSrttra}" disabled>
|
|
<button type="roll" value="/em rolls @{ExArtSrt}k@{ExArtSrtk} with a bonus of @{ExArttr}, for [[@{ExArtSrt}d10?{Reroll this number and below. (Leave blank if none)|r<0}?{Explode this number and above. (Leave blank if none)|!!>11}sk@{ExArtSrtk}+@{ExArttr}]])"></button>
|
|
<br><b>Miscellaneous Bonuses</b>
|
|
<input type="number" name="attr_ArtSrta" value="0"> k
|
|
<input type="number" name="attr_ArtSrtb" value="0"> +
|
|
<input type="number" name="attr_ArtSrttra" value="0">
|
|
<br><br>
|
|
</div>
|
|
</fieldset>
|
|
|
|
<hr></hr>
|
|
|
|
<h3>Athletics</h3>
|
|
<input type="checkbox" name="attr_AthleticsTrained" value="5+@{level}">
|
|
<input type="number" name="attr_AcroStr" readonly> k
|
|
<input type="number" name="attr_AcroStrk" readonly> +
|
|
<input type="number" name="attr_AcroSTRTrained" value="@{AthleticsTrained}+@{AcroSTRtra}-@{ap}" disabled>
|
|
<button type="roll" value="/em rolls @{AcroStr}k@{AcroStrk} with a bonus of @{AcroSTRTrained}, for [[@{AcroStr}d10?{Reroll this number and below. (Leave blank if none)|r<0}?{Explode this number and above. (Leave blank if none)|!!>11}sk@{AcroStrk}+@{AcroSTRTrained}]])"></button>
|
|
<br><b>Miscellaneous Bonuses</b>
|
|
<input type="number" name="attr_AcroSTRa" value="0"> k
|
|
<input type="number" name="attr_AcroSTRb" value="0"> +
|
|
<input type="number" name="attr_AcroSTRtra" value="0">
|
|
|
|
<hr></hr>
|
|
|
|
<h3>Acrobatics</h3>
|
|
<input type="checkbox" name="attr_AcrobaticsTrained" value="5+@{level}">
|
|
<input type="number" name="attr_AcroAgi" readonly> k
|
|
<input type="number" name="attr_AcroAgik" readonly> +
|
|
<input type="number" name="attr_AcroAGITrained" value="(@{AcrobaticsTrained}+@{AcroAGItra}-@{ap})" disabled>
|
|
<button type="roll" value="/em rolls @{AcroAgi}k@{AcroAgik} with a bonus of @{AcroAGITrained}, for [[(@{AcroAgi})d10?{Reroll this number and below. (Leave blank if none)|r<0}?{Explode this number and above. (Leave blank if none)|!!>11}sk(@{AcroAgik})+(@{AcroAGITrained})]])"></button>
|
|
<br><b>Miscellaneous Bonuses</b>
|
|
<input type="number" name="attr_AcroAGIa" value="0"> k
|
|
<input type="number" name="attr_AcroAGIb" value="0"> +
|
|
<input type="number" name="attr_AcroAGItra" value="0">
|
|
|
|
<hr></hr>
|
|
|
|
<h3>Awareness</h3>
|
|
<input type="checkbox" name="attr_AwarenessTrained" value="5+@{level}">
|
|
<input type="number" name="attr_Aware1" readonly> k
|
|
<input type="number" name="attr_Aware2" readonly> +
|
|
<input type="number" name="attr_Awaretr" value="@{AwarenessTrained}+@{Awaretra}" disabled>
|
|
<button type="roll" value="/em rolls @{Aware1}k@{Aware2} with a bonus of @{Awaretr}, for [[@{Aware1}d10?{Reroll this number and below. (Leave blank if none)|r<0}?{Explode this number and above. (Leave blank if none)|!!>11}sk@{Aware2}+@{Awaretr}]])"></button>
|
|
<br><b>Miscellaneous Bonuses</b>
|
|
<input type="number" name="attr_Awarea" value="0"> k
|
|
<input type="number" name="attr_Awareb" value="0"> +
|
|
<input type="number" name="attr_Awaretra" value="0">
|
|
|
|
<hr></hr>
|
|
|
|
<h3>Deception</h3>
|
|
<input type="checkbox" name="attr_DeceptionTrained" value="5+@{level}">
|
|
<input type="number" name="attr_Decep1" readonly> k
|
|
<input type="number" name="attr_Decep2" readonly> +
|
|
<input type="number" name="attr_Deceptr" value="@{DeceptionTrained}+@{Deceptra}" disabled>
|
|
<button type="roll" value="/em rolls @{Decep1}k@{Decep2} with a bonus of @{Deceptr}, for [[@{Decep1}d10?{Reroll this number and below. (Leave blank if none)|r<0}?{Explode this number and above. (Leave blank if none)|!!>11}sk@{Decep2}+@{Deceptr}]])"></button>
|
|
<br><b>Miscellaneous Bonuses</b>
|
|
<input type="number" name="attr_Decepa" value="0"> k
|
|
<input type="number" name="attr_Decepb" value="0"> +
|
|
<input type="number" name="attr_Deceptra" value="0">
|
|
|
|
<hr></hr>
|
|
|
|
<h3>Drive</h3>
|
|
<input type="checkbox" name="attr_DriveTrained" value="5+@{level}">
|
|
<input type="number" name="attr_Drive1" readonly> k
|
|
<input type="number" name="attr_Drive2" readonly> +
|
|
<input type="number" name="attr_Drivetr" value="@{DriveTrained}+@{Drivetra}-@{ap}" disabled>
|
|
<button type="roll" value="/em rolls @{Drive1}k@{Drive2} with a bonus of @{Drivetr}, for [[@{Drive1}d10?{Reroll this number and below. (Leave blank if none)|r<0}?{Explode this number and above. (Leave blank if none)|!!>11}sk@{Drive2}+@{Drivetr}]])"></button>
|
|
<br><b>Miscellaneous Bonuses</b>
|
|
<input type="number" name="attr_Drivea" value="0"> k
|
|
<input type="number" name="attr_Driveb" value="0"> +
|
|
<input type="number" name="attr_Drivetra" value="0">
|
|
|
|
<hr></hr>
|
|
|
|
<h3>Feats of Strength</h3>
|
|
<input type="checkbox" name="attr_FeatsofStrengthTrained" value="5+@{level}">
|
|
<input type="number" name="attr_FoS1" readonly> k
|
|
<input type="number" name="attr_Fos2" readonly> +
|
|
<input type="number" name="attr_Fostr" value="@{FeatsofStrengthTrained}+@{Fostra}-@{ap}" disabled>
|
|
<button type="roll" value="/em rolls @{FoS1}k@{FoS2} with a bonus of @{Fostr}, for [[@{FoS1}d10?{Reroll this number and below. (Leave blank if none)|r<0}?{Explode this number and above. (Leave blank if none)|!!>11}sk@{FoS2}+@{Fostr}]])"></button>
|
|
<br><b>Miscellaneous Bonuses</b>
|
|
<input type="number" name="attr_Fosa" value="0"> k
|
|
<input type="number" name="attr_Fosb" value="0"> +
|
|
<input type="number" name="attr_Fostra" value="0">
|
|
|
|
<hr></hr>
|
|
|
|
<h3>Fortitude</h3>
|
|
<input type="checkbox" name="attr_FortitudeTrained" value="5+@{level}">
|
|
<input type="number" name="attr_Fort1" readonly> k
|
|
<input type="number" name="attr_Fort2" readonly> +
|
|
<input type="number" name="attr_Forttr" value="@{FortitudeTrained}+@{Forttra}-@{ap}" disabled>
|
|
<button type="roll" value="/em rolls @{Fort1}k@{Fort2} with a bonus of @{Forttr}, for [[@{Fort1}d10?{Reroll this number and below. (Leave blank if none)|r<0}?{Explode this number and above. (Leave blank if none)|!!>11}sk@{Fort2}+@{Forttr}]])"></button>
|
|
<br><b>Miscellaneous Bonuses</b>
|
|
<input type="number" name="attr_Forta" value="0"> k
|
|
<input type="number" name="attr_Fortb" value="0"> +
|
|
<input type="number" name="attr_Forttra" value="0">
|
|
|
|
<hr></hr>
|
|
|
|
<h3>Handle Animal</h3>
|
|
<input type="checkbox" name="attr_HandleAnimalTrained" value="5+@{level}">
|
|
<input type="number" name="attr_HanAn1" readonly> k
|
|
<input type="number" name="attr_HanAn2" readonly> +
|
|
<input type="number" name="attr_HanAntr" value="@{HandleAnimalTrained}+@{HanAntra}" disabled>
|
|
<button type="roll" value="/em rolls @{HanAn1}k@{HanAn2} with a bonus of @{HanAntr}, for [[@{HanAn1}d10?{Reroll this number and below. (Leave blank if none)|r<0}?{Explode this number and above. (Leave blank if none)|!!>11}sk@{HanAn2}+@{HanAntr}]])"></button>
|
|
<br><b>Miscellaneous Bonuses</b>
|
|
<input type="number" name="attr_HanAna" value="0"> k
|
|
<input type="number" name="attr_HanAnb" value="0"> +
|
|
<input type="number" name="attr_HanAntra" value="0">
|
|
</div>
|
|
|
|
<div class="column" style="background-color:lightgray">
|
|
<h3>Heal</h3>
|
|
<input type="checkbox" name="attr_HealTrained" value="5+@{level}">
|
|
<input type="number" name="attr_Heal1" readonly> k
|
|
<input type="number" name="attr_Heal2" readonly> +
|
|
<input type="number" name="attr_Healtr" value="@{HealTrained}+@{Healtra}" disabled>
|
|
<button type="roll" value="/em rolls @{Heal1}k@{Heal2} with a bonus of @{Healtr}, for [[@{Heal1}d10?{Reroll this number and below. (Leave blank if none)|r<0}?{Explode this number and above. (Leave blank if none)|!!>11}sk@{Heal2}+@{Healtr}]])"></button>
|
|
<br><b>Miscellaneous Bonuses</b>
|
|
<input type="number" name="attr_Heala" value="0"> k
|
|
<input type="number" name="attr_Healb" value="0"> +
|
|
<input type="number" name="attr_Healtra" value="0">
|
|
|
|
<hr></hr>
|
|
|
|
<h3>Knowledges</h3>
|
|
<fieldset class="repeating_knowledge">
|
|
<div class="sheet-table-row">
|
|
<b>Knowledge</b> <input type="text" name="attr_ExKnowledges"><br>
|
|
<input type="checkbox" name="attr_KnowledgeTrained" value="5+@{level}">
|
|
<input type="number" name="attr_Know1" value="@{Smarts}+@{Knowa}" disabled> k
|
|
<input type="number" name="attr_Know2" value="floor((@{Smarts})/2)+@{Knowb}" min="1" disabled> +
|
|
<input type="number" name="attr_Knowstr" value="@{KnowledgeTrained}+@{Knowtra}" disabled>
|
|
<button type="roll" value="/em rolls @{Know1}k@{Know2} with a bonus of @{Knowstr}, for [[@{Know1}d10?{Reroll this number and below. (Leave blank if none)|r<0}?{Explode this number and above. (Leave blank if none)|!!>11}sk@{Know2}+@{Knowstr}]])"></button>
|
|
<br><b>Miscellaneous Bonuses</b>
|
|
<input type="number" name="attr_Knowa" value="0"> k
|
|
<input type="number" name="attr_Knowb" value="0"> +
|
|
<input type="number" name="attr_Knowtra" value="0">
|
|
<br><br>
|
|
</div>
|
|
</fieldset>
|
|
|
|
<hr></hr>
|
|
|
|
<h3>Linguistics</h3>
|
|
<input type="checkbox" name="attr_LinguisticsTrained" value="5+@{level}">
|
|
<input type="number" name="attr_Ling1" readonly> k
|
|
<input type="number" name="attr_Ling2" readonly> +
|
|
<input type="number" name="attr_Lingtr" value="@{LinguisticsTrained}+@{Lingtra}" disabled>
|
|
<button type="roll" value="/em rolls @{Ling1}k@{Ling2} with a bonus of @{Lingtr}, for [[@{Ling1}d10?{Reroll this number and below. (Leave blank if none)|r<0}?{Explode this number and above. (Leave blank if none)|!!>11}sk@{Ling2}+@{Lingtr}]])"></button>
|
|
<br><b>Miscellaneous Bonuses</b>
|
|
<input type="number" name="attr_Linga" value="0"> k
|
|
<input type="number" name="attr_Lingb" value="0"> +
|
|
<input type="number" name="attr_Lingtra" value="0">
|
|
|
|
<hr></hr>
|
|
|
|
<h3>Stealth</h3>
|
|
<input type="checkbox" name="attr_StealthTrained" value="5+@{level}">
|
|
<input type="number" name="attr_Steal1" readonly> k
|
|
<input type="number" name="attr_Steal2" readonly> +
|
|
<input type="number" name="attr_Stealtr" value="@{StealthTrained}+@{Stealtra}-@{ap}" disabled>
|
|
<button type="roll" value="/em rolls @{Steal1}k@{Steal2} with a bonus of @{Stealtr}, for [[@{Steal1}d10?{Reroll this number and below. (Leave blank if none)|r<0}?{Explode this number and above. (Leave blank if none)|!!>11}sk@{Steal2}+@{Stealtr}]])"></button>
|
|
<br><b>Miscellaneous Bonuses</b>
|
|
<input type="number" name="attr_Steala" value="0"> k
|
|
<input type="number" name="attr_Stealb" value="0"> +
|
|
<input type="number" name="attr_Stealtra" value="0">
|
|
|
|
<hr></hr>
|
|
|
|
<h3>Persuasion</h3>
|
|
<input type="checkbox" name="attr_PersuasionTrained" value="5+@{level}">
|
|
<input type="number" name="attr_Per1" readonly> k
|
|
<input type="number" name="attr_Per2" readonly> +
|
|
<input type="number" name="attr_Pertr" value="@{PersuasionTrained}+@{Pertra}" disabled>
|
|
<button type="roll" value="/em rolls @{Per1}k@{Per2} with a bonus of @{Pertr}, for [[@{Per1}d10?{Reroll this number and below. (Leave blank if none)|r<0}?{Explode this number and above. (Leave blank if none)|!!>11}sk@{Per2}+@{Pertr}]])"></button>
|
|
<br><b>Miscellaneous Bonuses</b>
|
|
<input type="number" name="attr_Pera" value="0"> k
|
|
<input type="number" name="attr_Perb" value="0"> +
|
|
<input type="number" name="attr_Pertra" value="0">
|
|
|
|
<hr></hr>
|
|
|
|
<h3>Perform</h3>
|
|
<input type="checkbox" name="attr_PerformTrained" value="5+@{level}">
|
|
<input type="number" name="attr_Perf1" readonly> k
|
|
<input type="number" name="attr_Perf2" readonly> +
|
|
<input type="number" name="attr_Perftr" value="@{PerformTrained}+@{Perftra}" disabled>
|
|
<button type="roll" value="/em rolls @{Perf1}k@{Perf2} with a bonus of @{Perftr}, for [[@{Perf1}d10?{Reroll this number and below. (Leave blank if none)|r<0}?{Explode this number and above. (Leave blank if none)|!!>11}sk@{Perf2}+@{Perftr}]])"></button>
|
|
<br><b>Miscellaneous Bonuses</b>
|
|
<input type="number" name="attr_Perfa" value="0"> k
|
|
<input type="number" name="attr_Perfb" value="0"> +
|
|
<input type="number" name="attr_Perftra" value="0">
|
|
|
|
<hr></hr>
|
|
|
|
<h3>Ride</h3>
|
|
<input type="checkbox" name="attr_RideTrained" value="5+@{level}">
|
|
<input type="number" name="attr_Ride1" readonly> k
|
|
<input type="number" name="attr_Ride2" readonly> +
|
|
<input type="number" name="attr_Ridestr" value="@{RideTrained}+@{Ridetra}-@{ap}" disabled>
|
|
<button type="roll" value="/em rolls @{Ride1}k@{Ride2} with a bonus of @{Rideftr}, for [[@{Ride1}d10?{Reroll this number and below. (Leave blank if none)|r<0}?{Explode this number and above. (Leave blank if none)|!!>11}sk@{Ride2}+@{Ridetr}]])"></button>
|
|
<br><b>Miscellaneous Bonuses</b>
|
|
<input type="number" name="attr_Ridea" value="0"> k
|
|
<input type="number" name="attr_Rideb" value="0"> +
|
|
<input type="number" name="attr_Ridetra" value="0">
|
|
|
|
<hr></hr>
|
|
|
|
<h3>Spellcraft</h3>
|
|
<input type="checkbox" name="attr_SpellcraftTrained" value="5+@{level}">
|
|
<input type="number" name="attr_Spell1" readonly> k
|
|
<input type="number" name="attr_Spell2" readonly> +
|
|
<input type="number" name="attr_Spelltr" value="@{SpellcraftTrained}+@{Spelltra}" disabled>
|
|
<button type="roll" value="/em rolls @{Spell1}k@{Spell2} with a bonus of @{Spelltr}, for [[@{Spell1}d10?{Reroll this number and below. (Leave blank if none)|r<0}?{Explode this number and above. (Leave blank if none)|!!>11}sk@{Spell2}+@{Spelltr}]])"></button>
|
|
<br><b>Miscellaneous Bonuses</b>
|
|
<input type="number" name="attr_Spella" value="0"> k
|
|
<input type="number" name="attr_Spellb" value="0"> +
|
|
<input type="number" name="attr_Spelltra" value="0">
|
|
|
|
<hr></hr>
|
|
|
|
<h3>Use Magic Device</h3>
|
|
<input type="checkbox" name="attr_UMDTrained" value="5+@{level}">
|
|
<input type="number" name="attr_UMDM1" readonly> k
|
|
<input type="number" name="attr_UMDM2" readonly> +
|
|
<input type="number" name="attr_UMDMtr" value="@{UMDTrained}+@{UMDMtra}" disabled>
|
|
<button type="roll" value="/em rolls @{UMDM1}k@{UMDM2} with a bonus of @{UMDMtr}, for [[@{UMDM1}d10?{Reroll this number and below. (Leave blank if none)|r<0}?{Explode this number and above. (Leave blank if none)|!!>11}sk@{UMDM2}+@{UMDMtr}]])"></button>
|
|
<br><b>Miscellaneous Bonuses</b>
|
|
<input type="number" name="attr_UMDM1a" value="0"> k
|
|
<input type="number" name="attr_UMDM2a" value="0"> +
|
|
<input type="number" name="attr_UMDMtra" value="0">
|
|
</div>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
<div class="sheet-equipment">
|
|
|
|
<div align="center">
|
|
<h2>EQUIPMENT</h2>
|
|
</div>
|
|
|
|
<div align="center">
|
|
<h3>CURRENCY & EXPERIENCE</h3>
|
|
</div>
|
|
<b>Platinum</b>: <input title="Platinum" type="number" name="attr_Platinum" value="0" style="width:25%;"><br>
|
|
<b>Gold</b>: <input title="Gold" type="number" name="attr_Gold" value="0" style="width:25%;"><br>
|
|
<b>Silver</b>: <input title="Silver" type="number" name="attr_Silver" value="0" style="width:25%;">
|
|
<br>
|
|
<br>
|
|
<hr>
|
|
<br>
|
|
|
|
|
|
<h3>Weapons</h3>
|
|
<br>
|
|
<fieldset class="repeating_weapon">
|
|
<div class="sheet-col">
|
|
<b>Name</b>:
|
|
<input type="text" name="attr_wname" title="Weapon's Name" placeholder="Name"> ||
|
|
<button type="roll" value="/em rolls @{whit1}k@{whit2} with a bonus of @{whit3}, for [[@{whit1}d10?{Reroll this number and below. (Leave blank if none)|r<0}?{Explode this number and above. (Leave blank if none)|!!>11}sk@{whit2}+@{whit3}]] (Crit - all kept results must be 10, AKA total: [[@{whit2}*10]])">Attack</button>
|
|
||
|
|
<button type="roll" value="/em rolls @{wdamage1}k@{wdamage2} with a bonus of @{wdamage3}, for [[@{wdamage1}d10?{Reroll this number and below. (Leave blank if none)|r<0}?{Explode this number and above. (Leave blank if none)|!!>11}sk@{wdamage2}+@{wdamage3}]]">Damage</button>
|
|
<br><br>
|
|
|
|
<b>Attack Roll</b>:
|
|
<input type="number" name="attr_whit1" title="Weapon's HitDice" placeholder="Roll">
|
|
k
|
|
<input type="number" name="attr_whit2" title="Weapon's KeepDice" placeholder="Keep">
|
|
+
|
|
<input type="number" name="attr_whit3" title="Weapon's Misc" placeholder="Misc"><br><br>
|
|
|
|
<b>Damage Roll</b>:
|
|
<input type="number" name="attr_wdamage1" title="Damage" value="floor(((@{DamageAttribute})/2)+@{wbase1})" disabled>
|
|
<b>k</b>
|
|
<input type="number" name="attr_wdamage2" title="Damage" value="floor(((@{DamageAttribute})/4)+@{wbase2})" disabled> +
|
|
<input type="number" name="attr_wdamage3" title="Weapon's Damage" placeholder="Misc">
|
|
<br>
|
|
<select name="attr_DamageAttribute">
|
|
<option value="" disabled="disabled" selected="selected">Select which stat is used for damage.</option>
|
|
<option value="@{Strength}">Strength</option>
|
|
<option value="@{Endurance}">Endurance</option>
|
|
<option value="@{Agility}">Agility</option>
|
|
<option value="@{Magic}">Magic</option>
|
|
<option value="@{Smarts}">Smarts</option>
|
|
<option value="@{Charm}">Charm</option>
|
|
</select><br><br>
|
|
|
|
<b>Base Damage</b>:
|
|
<input type="number" name="attr_wbase1" value="0" min="0"> <b>k</b> <input type ="number" name="attr_wbase2" value="0" min="0">
|
|
<br><br>
|
|
|
|
<b>Penetration</b>:
|
|
<input type="number" name="attr_wpen" title="Weapon's Penetration" min="-2" value="0"><br><br>
|
|
|
|
<b>Range</b>:
|
|
<input type="text" name="attr_wrange" title="Weapon Range"><br><br>
|
|
|
|
<b>Weight</b>:
|
|
<input type="number" name="attr_wweight" title="Weapon Weight" value="1" step="any" min="1"><br><br>
|
|
|
|
<b>Type</b>:
|
|
<input type="text" name="attr_wtype" title="Weapon Type"><br><br>
|
|
|
|
<b>Qualities</b>:
|
|
<input type="text" name="attr_wnotes" title="Attack Notes" placeholder="Attack Notes"><br><br>
|
|
|
|
<br>
|
|
<hr>
|
|
<br>
|
|
</div>
|
|
</fieldset>
|
|
|
|
|
|
<hr>
|
|
|
|
<h3>Armor</h3>
|
|
<i>Head Armor:</i> <input type="text" name="attr_headname" title="Armor Name" placeholder="Name"> <input type="number" name="attr_headdef" title="Armor Bonus" placeholder="Head Def" value="0" min="0">Deflection<br>
|
|
<i>Body Armor:</i> <input type="text" name="attr_bodyname" title="Armor Name" placeholder="Name"> <input type="number" name="attr_bodydef" title="Armor Bonus" placeholder="Body Def" value="0" min="0">Deflection<br>
|
|
<i>Arm Armor:</i> <input type="text" name="attr_armname" title="Armor Name" placeholder="Name"> <input type="number" name="attr_armdef" title="Armor Bonus" placeholder="Arm Def" value="0" min="0">Deflection<br>
|
|
<i>Leg Armor:</i> <input type="text" name="attr_legname" title="Armor Name" placeholder="Name"> <input type="number" name="attr_legdef" title="Armor Bonus" placeholder="Leg Def" value="0" min="0">Deflection<br>
|
|
<i>Shield Armor:</i> <input type="text" name="attr_shieldname" title="Armor Name" placeholder="Name"> <input type="number" name="attr_shielddef" title="Armor Bonus" placeholder="Shield Def" value="0" min="0">Deflection<br><br>
|
|
<input type="number" name="attr_ap" title="Armor Penalty" placeholder="Armor Penalty" value="0">AP<br>
|
|
<input type="number" name="attr_speed" title="Speed" min="4" max="6">Speed<br>
|
|
<input type="number" name="attr_weight" title="Armor Weight" value="1" step="any" min="1">Weight<br>
|
|
<input type="text" name="attr_notes" title="Armor Notes" placeholder="Armor Notes">Notes<br><br>
|
|
|
|
<br>
|
|
<hr>
|
|
<br>
|
|
|
|
<div align="center">
|
|
<h3>Inventory</h3>
|
|
</div>
|
|
|
|
<fieldset class="repeating_item">
|
|
<div class="sheet-table-row">
|
|
<b>Name</b> <input title="repeating_item_X_name" type="text" name="attr_iname"><br>
|
|
<b>Uses</b> <input title="repeating_item_X_qty" type="number" name="attr_iqty" value="0"><br>
|
|
<b>Location</b>
|
|
<select name="attr_iloc">
|
|
<option value="" disabled="disabled" selected="selected">Select the item's location</option>
|
|
<option value="1">Head</option>
|
|
<option value="2">Neck</option>
|
|
<option value="3">Body</option>
|
|
<option value="4">Hands</option>
|
|
<option value="5">Ring</option>
|
|
<option value="6">Belt</option>
|
|
<option value="7">Boots</option>
|
|
<option value="8">Miscellaneous</option>
|
|
</select><br>
|
|
<b>Description</b> <input title="repeating_item_X_description" type="text" name="attr_idescription"><br><br>
|
|
</div>
|
|
</fieldset>
|
|
|
|
</div>
|
|
|
|
<div class="sheet-abilities">
|
|
|
|
<div align="center">
|
|
<h3>ABILITIES</h3>
|
|
</div>
|
|
|
|
<div align="center">
|
|
<h3>Weapon Proficiencies</h3>
|
|
</div>
|
|
<b>Simple:</b><input type="checkbox" name="attr_simpleprof" checked disabled>
|
|
<b>Sword:</b><input type="checkbox" name="attr_swordprof">
|
|
<b>Polearm:</b><input type="checkbox" name="attr_polearmprof">
|
|
<b>Axe:</b><input type="checkbox" name="attr_axeprof">
|
|
<b>Hammer:</b><input type="checkbox" name="attr_hammerprof">
|
|
<b>Bow:</b><input type="checkbox" name="attr_bowprof">
|
|
<b>Pistol:</b><input type="checkbox" name="attr_pistolprof">
|
|
<b>Rifle:</b><input type="checkbox" name="attr_rifleprof">
|
|
<b>Shotgun:</b><input type="checkbox" name="attr_shotgunprof">
|
|
<b>Siege:</b><input type="checkbox" name="attr_siegeprof"><br><br>
|
|
|
|
<hr>
|
|
|
|
<div align="center">
|
|
<h3>Species Abilities</h3>
|
|
</div>
|
|
|
|
|
|
<fieldset class="repeating_speciesabilities">
|
|
<div class="sheet-table-row">
|
|
<b>Name</b>: <input title="repeating_species_X_name" type="text" name="attr_speciesname"><br>
|
|
<details>
|
|
<summary>
|
|
<span>DESCRIPTION:</span>
|
|
</summary>
|
|
<textarea title="repeating_species_X_stuff" type="text" name="attr_speciesarea"></textarea>
|
|
</details>
|
|
</div>
|
|
</fieldset>
|
|
|
|
<hr>
|
|
|
|
<div align="center">
|
|
<h3>Class Abilities</h3>
|
|
</div>
|
|
|
|
<fieldset class="repeating_classabilities">
|
|
<div class="sheet-table-row">
|
|
<input title="repeating_class_X_name" type="text" placeholder="Class ability name here..." name="attr_classname"><br>
|
|
<details>
|
|
<summary>
|
|
<span>DESCRIPTION:</span>
|
|
</summary>
|
|
<textarea title="repeating_class_X_stuff" type="text" name="attr_classarea"></textarea>
|
|
</details>
|
|
</div>
|
|
</fieldset>
|
|
|
|
<hr>
|
|
|
|
<div align="center">
|
|
<h3>Spells</h3>
|
|
</div>
|
|
|
|
<fieldset class="repeating_spells">
|
|
<div class="sheet-table-row">
|
|
<button type="roll" value="/em spends @{spellSoC} to roll @{shit1}k@{shit2} with a bonus of @{shit3}, for [[@{shit1}d10?{Reroll this number and below. (Leave blank if none)|r<0}?{Explode this number and above. (Leave blank if none)|!!>11}sk@{shit2}+@{shit3}]] (Crit - all kept results must be 10, AKA total: [[@{shit2}*10]])">Attack Roll</button> ||
|
|
<button type="roll" value="/em rolls @{sdamage1}k@{sdamage2} with a bonus of @{sdamage3}, for [[@{sdamage1}d10?{Reroll this number and below. (Leave blank if none)|r<0}?{Explode this number and above. (Leave blank if none)|!!>11}sk@{sdamage2}+@{sdamage3}]]">Damage</button><br><br>
|
|
|
|
<b>Name</b>:
|
|
<input title="repeating_spell_X_name" type="text" name="attr_spellname"><br>
|
|
|
|
<b>To-Hit</b>:
|
|
<input type="number" name="attr_shit1" title="Weapon's HitDice" placeholder="Roll"> k
|
|
<input type="number" name="attr_shit2" title="Weapon's KeepDice" placeholder="Keep"> +
|
|
<input type="number" name="attr_shit3" title="Weapon's Misc" placeholder="Misc"><br><br>
|
|
|
|
<b>Damage</b>:
|
|
<input type="number" name="attr_sdamage1" title="Damage" value="floor(((@{MagicT})/2)+@{sbase1})" disabled>
|
|
<b>k</b>
|
|
<input type="number" name="attr_sdamage2" title="Damage" value="floor(((@{MagicT})/4)+@{sbase2})" disabled> +
|
|
<input type="number" name="attr_sdamage3" title="Damage" placeholder="Misc">
|
|
<br><br>
|
|
<b>Base Damage</b>:
|
|
<input type="number" name="attr_sbase1" value="0" min="0"> <b>k</b> <input type="number" name="attr_sbase2" value="0" min="0">
|
|
<b></b><br><br>
|
|
|
|
<b>MP Cost</b>: <input title="repeating_MP_X_cost" type="number" name="attr_spellSoC" value="1" min="0"><br><br>
|
|
|
|
<b>Spell Type</b>:
|
|
<select name="attr_spelltype">
|
|
<option value="" disabled="disabled" selected="selected">Select the spell's type</option>
|
|
<option value="1">Arcane</option>
|
|
<option value="2">Divine</option>
|
|
<option value="3">Psychic</option>
|
|
<option value="4">Nature</option>
|
|
<option value="5">Madness</option>
|
|
<option value="6">Rune</option>
|
|
<option value="7">Summoning</option>
|
|
<option value="8">Miscellaneous</option>
|
|
</select><br><br>
|
|
|
|
<details>
|
|
<summary>
|
|
<span>DESCRIPTION:</span>
|
|
</summary>
|
|
<textarea name="attr_spellarea" placeholder="Spell description goes here."></textarea>
|
|
</details>
|
|
</div>
|
|
</fieldset>
|
|
|
|
<hr>
|
|
|
|
<div align="center">
|
|
<h3>Feats</h3>
|
|
</div>
|
|
|
|
<fieldset class="repeating_feats">
|
|
<div class="sheet-table-row">
|
|
<input title="repeating_feat_X_name" type="text" placeholder="Feat name here..." name="attr_featname"><br>
|
|
<details>
|
|
<summary>
|
|
<span>DESCRIPTION:</span>
|
|
</summary>
|
|
<textarea name="attr_featarea" placeholder="Feat description goes here."></textarea>
|
|
</details>
|
|
</div>
|
|
</fieldset>
|
|
|
|
|
|
<hr>
|
|
|
|
<div align="center">
|
|
<h3>Traits</h3>
|
|
</div>
|
|
|
|
<fieldset class="repeating_traits">
|
|
<div class="sheet-table-row">
|
|
<input title="repeating_trait_X_name" type="text" placeholder="Trait name here..." name="attr_traitname"><br>
|
|
<details>
|
|
<summary>
|
|
<span>DESCRIPTION:</span>
|
|
</summary>
|
|
<textarea name="attr_traitarea" placeholder="Trait description goes here."></textarea>
|
|
</details>
|
|
</div>
|
|
</fieldset>
|
|
|
|
<hr>
|
|
|
|
<div align="center">
|
|
<h3>Language</h3>
|
|
</div>
|
|
|
|
<fieldset class="repeating_languages">
|
|
<div class="sheet-table-row">
|
|
<b>Language</b>: <input title="repeating_lang_X_name" type="text" name="attr_langname"><br>
|
|
</div>
|
|
</fieldset>
|
|
|
|
</div>
|
|
|
|
<script type="text/worker">
|
|
const buttonlist = ["details","attributes","skills","equipment","abilities"];
|
|
buttonlist.forEach(button => {
|
|
on(`clicked:${button}`, function() {
|
|
setAttrs({
|
|
sheetTab: button
|
|
});
|
|
});
|
|
});
|
|
|
|
// Athletics skill calculations
|
|
on("sheet:opened change:strength change:AcroStra change:AcroStrb", function() {
|
|
getAttrs(["AcroStr", "AcroStrk", "strength", "AcroStra", "AcroStrb"], function(values) {
|
|
let strength = parseInt(values.strength)||0;
|
|
let athleticsRollMisc = parseInt(values.AcroStra)||0;
|
|
let athleticsKeepMisc = parseInt(values.AcroStrb)||0;
|
|
|
|
let athleticsRoll = Math.max(strength + athleticsRollMisc, 1);
|
|
let athleticsKeep = Math.max(Math.floor(strength/2) + athleticsKeepMisc, 1);
|
|
|
|
setAttrs({
|
|
"AcroStr": athleticsRoll,
|
|
"AcroStrk": athleticsKeep
|
|
});
|
|
});
|
|
});
|
|
|
|
|
|
// Acrobatics skill calculations
|
|
on("sheet:opened change:agility change:AcroAgia change:AcroAgib", function() {
|
|
getAttrs(["AcroAgi", "AcroAgik", "agility", "AcroAgia", "AcroAgib"], function(values) {
|
|
let agility = parseInt(values.agility)||0;
|
|
let acrobaticsRollMisc = parseInt(values.AcroAgia)||0;
|
|
let acrobaticsKeepMisc = parseInt(values.AcroAgib)||0;
|
|
|
|
let acrobaticsRoll = Math.max(agility + acrobaticsRollMisc, 1);
|
|
let acrobaticsKeep = Math.max((Math.floor(agility/2) + acrobaticsKeepMisc), 1);
|
|
|
|
setAttrs({
|
|
"AcroAgi": acrobaticsRoll,
|
|
"AcroAgik": acrobaticsKeep
|
|
});
|
|
});
|
|
});
|
|
|
|
// Awareness skill calculations
|
|
on("sheet:opened change:smarts change:Awarea change:Awareb", function() {
|
|
getAttrs(["Aware1", "Aware2", "smarts", "Awarea", "Awareb"], function(values) {
|
|
let smarts = parseInt(values.smarts)||0;
|
|
let awarenessRollMisc = parseInt(values.Awarea)||0;
|
|
let awarenessKeepMisc = parseInt(values.Awareb)||0;
|
|
|
|
let awarenessRoll = Math.max(smarts + awarenessRollMisc, 1);
|
|
let awarenessKeep = Math.max((Math.floor(smarts/2) + awarenessKeepMisc), 1);
|
|
|
|
setAttrs({
|
|
"Aware1": awarenessRoll,
|
|
"Aware2": awarenessKeep
|
|
});
|
|
});
|
|
});
|
|
|
|
// Deception skill calculations
|
|
on("sheet:opened change:charm change:Decepa change:Decepb", function() {
|
|
getAttrs(["Decep1", "Decep2", "charm", "Decepa", "Decepb"], function(values) {
|
|
let charm = parseInt(values.charm)||0;
|
|
let deceptionRollMisc = parseInt(values.Decepa)||0;
|
|
let deceptionKeepMisc = parseInt(values.Decepb)||0;
|
|
|
|
let deceptionRoll = Math.max(charm + deceptionRollMisc, 1);
|
|
let deceptionKeep = Math.max((Math.floor(charm/2) + deceptionKeepMisc), 1);
|
|
|
|
setAttrs({
|
|
"Decep1": deceptionRoll,
|
|
"Decep2": deceptionKeep
|
|
});
|
|
});
|
|
});
|
|
|
|
// Drive skill calculations
|
|
on("sheet:opened change:agility change:Drivea change:Driveb", function() {
|
|
getAttrs(["Drive1", "Drive2", "agility", "Drivea", "Driveb"], function(values) {
|
|
let agility = parseInt(values.agility)||0;
|
|
let driveRollMisc = parseInt(values.Drivea)||0;
|
|
let driveKeepMisc = parseInt(values.Driveb)||0;
|
|
|
|
let driveRoll = Math.max(agility + driveRollMisc, 1);
|
|
let driveKeep = Math.max((Math.floor(agility/2) + driveKeepMisc), 1);
|
|
|
|
setAttrs({
|
|
"Drive1": driveRoll,
|
|
"Drive2": driveKeep
|
|
});
|
|
});
|
|
});
|
|
|
|
// Feats of Strength skill calculations
|
|
on("sheet:opened change:strength change:Fosa change:Fosb", function() {
|
|
getAttrs(["FoS1", "FoS2", "strength", "Fosa", "Fosb"], function(values) {
|
|
let strength = parseInt(values.strength)||0;
|
|
let featsOfStrengthRollMisc = parseInt(values.Fosa)||0;
|
|
let featsOfStrengthKeepMisc = parseInt(values.Fosb)||0;
|
|
|
|
let featsOfStrengthRoll = Math.max(strength + featsOfStrengthRollMisc, 1);
|
|
let featsOfStrengthKeep = Math.max((Math.floor(strength/2) + featsOfStrengthKeepMisc), 1);
|
|
|
|
setAttrs({
|
|
"FoS1": featsOfStrengthRoll,
|
|
"FoS2": featsOfStrengthKeep
|
|
});
|
|
});
|
|
});
|
|
|
|
// Fortitude skill calculations
|
|
on("sheet:opened change:endurance change:Forta change:Fortb", function() {
|
|
getAttrs(["Fort1", "Fort2", "endurance", "Forta", "Fortb"], function(values) {
|
|
let endurance = parseInt(values.endurance)||0;
|
|
let fortitudeRollMisc = parseInt(values.Forta)||0;
|
|
let fortitudeKeepMisc = parseInt(values.Fortb)||0;
|
|
|
|
let fortitudeRoll = Math.max(endurance + fortitudeRollMisc, 1);
|
|
let fortitudeKeep = Math.max((Math.floor(endurance/2) + fortitudeKeepMisc), 1);
|
|
|
|
setAttrs({
|
|
"Fort1": fortitudeRoll,
|
|
"Fort2": fortitudeKeep
|
|
});
|
|
});
|
|
});
|
|
|
|
// Handle Animal skill calculations
|
|
on("sheet:opened change:charm change:HanAna change:HanAnb", function() {
|
|
getAttrs(["HanAn1", "HanAn2", "charm", "HanAna", "HanAnb"], function(values) {
|
|
let charm = parseInt(values.charm)||0;
|
|
let handleAnimalRollMisc = parseInt(values.HanAna)||0;
|
|
let handleAnimalKeepMisc = parseInt(values.HanAnb)||0;
|
|
|
|
let handleAnimalRoll = Math.max(charm + handleAnimalRollMisc, 1);
|
|
let handleAnimalKeep = Math.max((Math.floor(charm/2) + handleAnimalKeepMisc), 1);
|
|
|
|
setAttrs({
|
|
"HanAn1": handleAnimalRoll,
|
|
"HanAn2": handleAnimalKeep
|
|
});
|
|
});
|
|
});
|
|
|
|
// Heal skill calculations
|
|
on("sheet:opened change:smarts change:Heala change:Healb", function() {
|
|
getAttrs(["Heal1", "Heal2", "smarts", "Heala", "Healb"], function(values) {
|
|
let smarts = parseInt(values.smarts)||0;
|
|
let healRollMisc = parseInt(values.Heala)||0;
|
|
let healKeepMisc = parseInt(values.Healb)||0;
|
|
|
|
let healRoll = Math.max(smarts + healRollMisc, 1);
|
|
let healKeep = Math.max((Math.floor(smarts/2) + healKeepMisc), 1);
|
|
|
|
setAttrs({
|
|
"Heal1": healRoll,
|
|
"Heal2": healKeep
|
|
});
|
|
});
|
|
});
|
|
|
|
// Linguistics skill calculations
|
|
on("sheet:opened change:smarts change:Linga change:Lingb", function() {
|
|
getAttrs(["Ling1", "Ling2", "smarts", "Linga", "Lingb"], function(values) {
|
|
let smarts = parseInt(values.smarts)||0;
|
|
let linguisticsRollMisc = parseInt(values.Linga)||0;
|
|
let linguisticsKeepMisc = parseInt(values.Lingb)||0;
|
|
|
|
let linguisticsRoll = Math.max(smarts + linguisticsRollMisc, 1);
|
|
let linguisticsKeep = Math.max((Math.floor(smarts/2) + linguisticsKeepMisc), 1);
|
|
|
|
setAttrs({
|
|
"Ling1": linguisticsRoll,
|
|
"Ling2": linguisticsKeep
|
|
});
|
|
});
|
|
});
|
|
|
|
// Stealth skill calculations
|
|
on("sheet:opened change:agility change:Steala change:Stealb", function() {
|
|
getAttrs(["Steal1", "Steal2", "agility", "Steala", "Stealb"], function(values) {
|
|
let agility = parseInt(values.agility)||0;
|
|
let stealthRollMisc = parseInt(values.Steala)||0;
|
|
let stealthKeepMisc = parseInt(values.Stealb)||0;
|
|
|
|
let stealthRoll = Math.max(agility + stealthRollMisc, 1);
|
|
let stealthKeep = Math.max((Math.floor(agility/2) + stealthKeepMisc), 1);
|
|
|
|
setAttrs({
|
|
"Steal1": stealthRoll,
|
|
"Steal2": stealthKeep
|
|
});
|
|
});
|
|
});
|
|
|
|
// Persuasion skill calculations
|
|
on("sheet:opened change:charm change:Pera change:Perb", function() {
|
|
getAttrs(["Per1", "Per2", "charm", "Pera", "Perb"], function(values) {
|
|
let charm = parseInt(values.charm)||0;
|
|
let persuasionRollMisc = parseInt(values.Pera)||0;
|
|
let persuasionKeepMisc = parseInt(values.Perb)||0;
|
|
|
|
let persuasionRoll = Math.max(charm + persuasionRollMisc, 1);
|
|
let persuasionKeep = Math.max((Math.floor(charm/2) + persuasionKeepMisc), 1);
|
|
|
|
setAttrs({
|
|
"Per1": persuasionRoll,
|
|
"Per2": persuasionKeep
|
|
});
|
|
});
|
|
});
|
|
|
|
// Perform skill calculations
|
|
on("sheet:opened change:charm change:Perfa change:Perfb", function() {
|
|
getAttrs(["Perf1", "Perf2", "charm", "Perfa", "Perfb"], function(values) {
|
|
let charm = parseInt(values.charm)||0;
|
|
let performRollMisc = parseInt(values.Perfa)||0;
|
|
let performKeepMisc = parseInt(values.Perfb)||0;
|
|
|
|
let performRoll = Math.max(charm + performRollMisc, 1);
|
|
let performKeep = Math.max((Math.floor(charm/2) + performKeepMisc), 1);
|
|
|
|
setAttrs({
|
|
"Perf1": performRoll,
|
|
"Perf2": performKeep
|
|
});
|
|
});
|
|
});
|
|
|
|
// Ride skill calculations
|
|
on("sheet:opened change:agility change:Ridea change:Rideb", function() {
|
|
getAttrs(["Ride1", "Ride2", "agility", "Ridea", "Rideb"], function(values) {
|
|
let agility = parseInt(values.agility)||0;
|
|
let rideRollMisc = parseInt(values.Ridea)||0;
|
|
let rideKeepMisc = parseInt(values.Rideb)||0;
|
|
|
|
let rideRoll = Math.max(agility + rideRollMisc, 1);
|
|
let rideKeep = Math.max((Math.floor(agility/2) + rideKeepMisc), 1);
|
|
|
|
setAttrs({
|
|
"Ride1": rideRoll,
|
|
"Ride2": rideKeep
|
|
});
|
|
});
|
|
});
|
|
|
|
// Spellcraft skill calculations
|
|
on("sheet:opened change:magic change:Spella change:Spellb", function() {
|
|
getAttrs(["Spell1", "Spell2", "magic", "Spella", "Spellb"], function(values) {
|
|
let magic = parseInt(values.magic)||0;
|
|
let spellcraftRollMisc = parseInt(values.Spella)||0;
|
|
let spellcraftKeepMisc = parseInt(values.Spellb)||0;
|
|
|
|
let spellcraftRoll = Math.max(magic + spellcraftRollMisc, 1);
|
|
let spellcraftKeep = Math.max((Math.floor(magic/2) + spellcraftKeepMisc), 1);
|
|
|
|
setAttrs({
|
|
"Spell1": spellcraftRoll,
|
|
"Spell2": spellcraftKeep
|
|
});
|
|
});
|
|
});
|
|
|
|
// Use Magic Device skill calculations
|
|
on("sheet:opened change:magic change:UMDMa change:UMDMb", function() {
|
|
getAttrs(["UMDM1", "UMDM2", "magic", "UMDMa", "UMDMb"], function(values) {
|
|
let magic = parseInt(values.magic)||0;
|
|
let UMDRollMisc = parseInt(values.UMDMa)||0;
|
|
let UMDKeepMisc = parseInt(values.UMDMb)||0;
|
|
|
|
let UMDRoll = Math.max(magic + UMDRollMisc, 1);
|
|
let UMDKeep = Math.max((Math.floor(magic/2) + UMDKeepMisc), 1);
|
|
|
|
setAttrs({
|
|
"UMDM1": UMDRoll,
|
|
"UMDM2": UMDKeep
|
|
});
|
|
});
|
|
});
|
|
|
|
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|