mirror of
https://github.com/Nighthawk42/roll20-character-sheets.git
synced 2026-08-30 19:52:29 +00:00
1090 lines
67 KiB
HTML
1090 lines
67 KiB
HTML
<!--<div class="sheet-container">-->
|
|
<input type="hidden" name="attr_version">
|
|
<input name="attr_SetupDone" style="display: none;" type="text" value="">
|
|
<input type="radio" class="sheet-page1" name="attr_page" value="1" checked="checked" id="sheet-page1">
|
|
<label for="sheet-page1" data-i18n="pageone-c">Page One</label>
|
|
<input type="radio" class="sheet-page2" name="attr_page" value="2" id="sheet-page2">
|
|
<label for="sheet-page2" data-i18n="pagetwo-c">Page Two</label>
|
|
<div style="padding-left: 700px;">
|
|
<input type="hidden" name="attr_isDL" value="?{#(Weals - Woes)|0}">
|
|
<input id="DL" type="checkbox" name="attr_suppressDL" value="1"><label style='margin: 0px 0px -4px 20px;' title="When DarkRed: Request DL for roll. When Black: Don't" for="DL" data-i18n="suppressDL-c">Suppress DL?</label>
|
|
</div>
|
|
<br />
|
|
<br />
|
|
|
|
<div class="sheet-page1">
|
|
<div class="sheet-container1">
|
|
<!-- Banner -->
|
|
<div class="sheet-banner" style="height: 64px; border: 0px solid Purple;">
|
|
<!-- Requires Publisher Permission RPP
|
|
<img
|
|
src="https://github.com/Roll20/roll20-character-sheets/blob/master/Thorgal/ThorgalHeader_820px.png?raw=true"
|
|
style="width: 820px; height: 64px; max-height: 220px; margin: 0px 0px 0px 0px;">
|
|
-->
|
|
<label style="width: 100%; font-family: 'Gasoek One'; font-size: 40px; text-align: center; color: Black; padding: 16px 0px 0px 0px;" title="Replaces Logo until Publisher Permission obtained" data-i18n="thorgal-u">THORGAL</label>
|
|
<label style="width: 100%; font-family: 'Caesar Dressing'; font-size: 16px; text-align: center" data-i18n="subtitle-u">ROLEPLAYING GAME</label>
|
|
|
|
</div>
|
|
<div class="sheet-description" style="height: 141px">
|
|
<input class="sheet-desc" type="text" style="padding: 4px 3px 1px 3px;" name="attr_feature1">
|
|
<input class="sheet-desc" type="text" name="attr_feature2">
|
|
<input class="sheet-desc" type="text" name="attr_feature3">
|
|
<input class="sheet-desc" type="text" name="attr_feature4">
|
|
<input class="sheet-desc" type="text" style="border-bottom: 0px solid Black;" name="attr_feature5">
|
|
</div>
|
|
<div class="sheet-derivedA">
|
|
<div style="display: inline-block; vertical-align: top; width: 200px; margin-top: 10px; border: 0px solid black">
|
|
<input type="text" name="attr_graceBase" class="sheet-levelDS" value="" data-i18n-title="grace-defn">
|
|
<label class="sheet-derivedStat" title="1 x VER" data-i18n="godsGrace-u">GODS' GRACE</label>
|
|
<input type="text" name="attr_grace" class="sheet-levelCur" style= "margin: 0px 0px 0px -4px;" value="" data-i18n-title="grace-defn">
|
|
</div>
|
|
|
|
<div style="display: inline-block; vertical-align: top; width: 200px; margin-top: 10px; border: 0px solid black">
|
|
<input type="text" name="attr_shiftsBase" class="sheet-levelDS" value="" data-i18n-title="shifts-defn">
|
|
<label class="sheet-derivedStat" title="1 x CP" data-i18n="shifts-u">SHIFTS</label>
|
|
<input type="text" name="attr_shifts" class="sheet-levelCur" style= "margin: 0px 0px 0px -4px;" value="" data-i18n-title="shifts-defn">
|
|
</div>
|
|
|
|
</div>
|
|
<div class="sheet-derivedB">
|
|
|
|
<div style="display: inline-block; vertical-align: top; width: 200px; margin-top: -8px; border: 0px solid black">
|
|
<input type="text" name="attr_vitalityBase" class="sheet-levelDS" value="" data-i18n-title="vitality-defn">
|
|
<label class="sheet-derivedStatGray" title="12 + 5 x CON" data-i18n="vitality-u">VITALITY</label>
|
|
<input type="text" name="attr_vitality" class="sheet-levelCur" style= "margin: 0px 0px 0px -4px;" value="" data-i18n-title="vitality-defn">
|
|
</div>
|
|
|
|
<div style="display: inline-block; vertical-align: top; width: 200px; margin-top: 10px; border: 0px solid black">
|
|
<input type="text" name="attr_focusBase" class="sheet-levelDS" value="" data-i18n-title="focus-defn">
|
|
<label class="sheet-derivedStatGray" title="INT x 5" data-i18n="focus-u">FOCUS</label>
|
|
<input type="text" name="attr_focus" class="sheet-levelCur" style="margin: 0px 0px 0px -4px;" value="" data-i18n-title="focus-defn">
|
|
</div>
|
|
|
|
<div style="display: inline-block; vertical-align: top; width: 200px; margin-top: 10px; border: 0px solid black">
|
|
<input type="text" name="attr_athleticismBase" class="sheet-levelDS" value="" data-i18n-title="athleticism-defn">
|
|
<label class="sheet-derivedStatGray" title="CON + AG" style="border-right: 3px solid Black;" data-i18n="athleticism-u">ATHLETICISM</label>
|
|
</div>
|
|
|
|
<div style="width: 196px; height: 72px; margin-top: 16px; border: 3px solid black">
|
|
<label class="sheet-derivedStat" style="text-align: center; width: 196px; margin: -2px 0px 0px 0px;" data-i18n="experiencePoints-u">EXPERIENCE POINTS</label>
|
|
<input type="text" name="attr_experiencePoints" style="display: inline-block; vertical-align: top; text-align: center; width: 196px; margin: 0px 0px 0px 0px; border: 0px solid transparent;" class="sheet-level" value="">
|
|
</div>
|
|
|
|
</div>
|
|
<div class="sheet-derivedC">
|
|
<div style="width: 196px; height: 160px; margin-top: 2px; border: 3px solid black">
|
|
<!-- Requires Publisher Permission RPP
|
|
<label class="sheet-jinx" data-i18n="jinxedDefn-c">Characters cannot use Shifts, Gods' Grace or Re-Rolls to modify check results.</label>
|
|
<label class="sheet-jinx" style="border-top: 4px Black solid;" data-i18n="bonusTargetSizeTitle-u">BONUS (TARGET'S SIZE)</label>
|
|
<label class="sheet-jinx" data-i18n="bonusTargetLarge-u">LARGE +2</label>
|
|
<label class="sheet-jinx" data-i18n="bonusTargetHuge-u">HUGE + 4</label>
|
|
<label class="sheet-jinx" data-i18n="bonusTargetGigantic-u">GIGANTIC + 8</label>
|
|
-->
|
|
<label class="sheet-jinx" style="color: LightGray;" data-i18n="tba-c">Text Requires Publisher Permission</label>
|
|
<label class="sheet-jinx" style="border-top: 4px Black solid;" data-i18n="bonusTargetSizeTitle-u">BONUS (TARGET'S SIZE)</label>
|
|
<label class="sheet-jinx" style="color: LightGray;" data-i18n="tba-c">Table Requires Publisher Permission</label>
|
|
</div>
|
|
|
|
<div style="width: 196px; height: 190px; margin-top: 20px; border: 2px solid black">
|
|
<label class="sheet-DLTitle" data-i18n="checkDL-u">CHECK DL</label>
|
|
<!-- Requires Publisher Permission RPP
|
|
<label class="sheet-DLName" data-i18n="easy-u">EASY</label>
|
|
<label class="sheet-DLName" style="width: 20px; text-align: right;">10</label>
|
|
|
|
<label class="sheet-DLName" data-i18n="standard-u">STANDARD</label>
|
|
<label class="sheet-DLName" style="width: 20px; text-align: right;">15</label>
|
|
|
|
<label class="sheet-DLName" data-i18n="hard-u">HARD</label>
|
|
<label class="sheet-DLName" style="width: 20px; text-align: right;">20</label>
|
|
|
|
<label class="sheet-DLName" data-i18n="veryHard-u">VERY HARD</label>
|
|
<label class="sheet-DLName" style="width: 20px; text-align: right;">25</label>
|
|
|
|
<label class="sheet-DLName" data-i18n="extreme-u">EXTREME</label>
|
|
<label class="sheet-DLName" style="width: 20px; text-align: right;">30</label>
|
|
|
|
<label class="sheet-DLName" data-i18n="legendary-u">LEGENDARY</label>
|
|
<label class="sheet-DLName" style="width: 20px; text-align: right;">35</label>
|
|
|
|
<label class="sheet-DLName" data-i18n="godlike-u">GODLIKE</label>
|
|
<label class="sheet-DLName" style="width: 20px; text-align: right;">40</label>
|
|
-->
|
|
<label class="sheet-jinx" style="color: LightGray;" data-i18n="tba-c">Table Requires Publisher Permission</label>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
<input type='hidden' name='attr_attributePool' value="1">
|
|
<input type='hidden' name='attr_attributeBase' value="0">
|
|
<input type='hidden' name='attr_attributeRollFlag' value="0">
|
|
<input type="hidden" name="attr_attributeRolled" value="Strength">
|
|
<input type="hidden" name="attr_attributeName" value="None">
|
|
<input type='hidden' name='attr_giftRollFlag' value="0">
|
|
|
|
<div class="sheet-statsA">
|
|
|
|
<div style="width: 196px; height: 140px; margin-top: 2px; border: 2px solid black">
|
|
<label class="sheet-stat" data-i18n="constitution-u">CONSTITUTION</label>
|
|
<input type="text" name="attr_constitution" style="display: inline-block; vertical-align: top; margin: -34px 0px 0px 170px;" class="sheet-level" value="">
|
|
<button type='action' name='act_bruteForce-action' class="sheet-buttonSkill" value='@{bruteForce_action}'><label class="sheet-skill" data-i18n="bruteForce-u">BRUTE FORCE</label></button>
|
|
<input type="text" name="attr_bruteForceBase" class="sheet-level" style="margin: -28px 0px 0px 0px;" value="" data-i18n-title="bruteForce-defn">
|
|
<input type="text" name="attr_bruteForce" class="sheet-levelTotal" style="margin: -28px 0px 0px -4px;" value="" data-i18n-title="bruteForceTotal-defn">
|
|
|
|
<button type='action' name='act_unarmedCombat-action' class="sheet-buttonSkill" style="margin: 0px 0px 0px -2px;" value='@{unarmedCombat_action}'><label class="sheet-skill" data-i18n="unarmedCombat-u">UNARMED COMBAT</label></button>
|
|
<input type="text" name="attr_unarmedCombatBase" class="sheet-level" style="margin: -4px 0px 0px 0px;" value="" data-i18n-title="unarmedCombat-defn">
|
|
<input type="text" name="attr_unarmedCombat" class="sheet-levelTotal" style="margin: -4px 0px 0px -4px;" value="" data-i18n-title="unarmedCombatTotal-defn">
|
|
|
|
<button type='action' name='act_toughness-action' class="sheet-buttonSkill" style="margin: 0px 0px 0px -2px; border-bottom: 0px solid Black;" value='@{toughness_action}'><label class="sheet-skill" data-i18n="toughness-u">TOUGHNESS</label></button>
|
|
<input type="text" name="attr_toughnessBase" class="sheet-level" style="margin: -4px 0px 0px 0px;" value="" data-i18n-title="toughness-defn">
|
|
<input type="text" name="attr_toughness" class="sheet-levelTotal" style="margin: -4px 0px 0px -4px;" value="" data-i18n-title="toughnessTotal-defn">
|
|
</div>
|
|
|
|
<div style="width: 196px; height: 140px; margin-top: 6px; border: 2px solid black">
|
|
<label class="sheet-stat" data-i18n="intelligence-u">INTELLIGENCE</label>
|
|
<input type="text" name="attr_intelligence" style="display: inline-block; vertical-align: top; margin: -34px 0px 0px 170px;" class="sheet-level" value="">
|
|
|
|
<button type='action' name='act_crafting-action' class="sheet-buttonSkill" value='@{crafting_action}'><label class="sheet-skill" data-i18n="crafting-u">CRAFTING</label></button>
|
|
<input type="text" name="attr_craftingBase" class="sheet-level" style="margin: -28px 0px 0px 0px;" value="" data-i18n-title="crafting-defn">
|
|
<input type="text" name="attr_crafting" class="sheet-levelTotal" style="margin: -28px 0px 0px -4px;" value="" data-i18n-title="craftingTotal-defn">
|
|
|
|
<button type='action' name='act_generalKnowledge-action' class="sheet-buttonSkill" style="margin: 0px 0px 0px -2px;" value='@{generalKnowledge_action}'><label class="sheet-skill" data-i18n="generalKnowledge-u">GENERAL KNOWLEDGE</label></button>
|
|
<input type="text" name="attr_generalKnowledgeBase" class="sheet-level" style="margin: -4px 0px 0px 0px;" value="" data-i18n-title="generalKnowledge-defn">
|
|
<input type="text" name="attr_generalKnowledge" class="sheet-levelTotal" style="margin: -4px 0px 0px -4px;" value="" data-i18n-title="generalKnowledgeTotal-defn">
|
|
|
|
<button type='action' name='act_arcaneKnowledge-action' class="sheet-buttonSkill" style="margin: 0px 0px 0px -2px; border-bottom: 0px solid Black;" value='@{arcaneKnowledge_action}'><label class="sheet-skill" data-i18n="arcaneKnowledge-u">ARCANE KNOWLEDGE</label></button>
|
|
<input type="text" name="attr_arcaneKnowledgeBase" class="sheet-level" style="margin: -4px 0px 0px 0px;" value="" data-i18n-title="arcaneKnowledge-defn">
|
|
<input type="text" name="attr_arcaneKnowledge" class="sheet-levelTotal" style="margin: -4px 0px 0px -4px;" value="" data-i18n-title="arcaneKnowledgeTotal-defn">
|
|
</div>
|
|
</div>
|
|
<div class="sheet-statsB">
|
|
<div style="width: 196px; height: 140px; margin-top: 2px; border: 2px solid black">
|
|
<label class="sheet-stat" data-i18n="agility-u">AGILITY</label>
|
|
<input type="text" name="attr_agility" style="display: inline-block; vertical-align: top; margin: -34px 0px 0px 170px;" class="sheet-level" value="">
|
|
|
|
<button type='action' name='act_vehicleHandling-action' class="sheet-buttonSkill" value='@{vehicleHandling_action}'><label class="sheet-skill" data-i18n="vehicleHandling-u">VEHICLE HANDLING</label></button>
|
|
<input type="text" name="attr_vehicleHandlingBase" class="sheet-level" style="margin: -28px 0px 0px 0px;" value="" data-i18n-title="vehicleHandling-defn">
|
|
<input type="text" name="attr_vehicleHandling" class="sheet-levelTotal" style="margin: -28px 0px 0px -4px;" value="" data-i18n-title="vehicleHandlingTotal-defn">
|
|
|
|
<button type='action' name='act_reflex-action' class="sheet-buttonSkill" style="margin: 0px 0px 0px -2px;" value='@{reflex_action}'><label class="sheet-skill" data-i18n="reflex-u">REFLEX</label></button>
|
|
<input type="text" name="attr_reflexBase" class="sheet-level" style="margin: -4px 0px 0px 0px;" value="" data-i18n-title="reflex-defn">
|
|
<input type="text" name="attr_reflex" class="sheet-levelTotal" style="margin: -4px 0px 0px -4px;" value="" data-i18n-title="reflexTotal-defn">
|
|
|
|
<button type='action' name='act_finesse-action' class="sheet-buttonSkill" style="margin: 0px 0px 0px -2px; border-bottom: 0px solid Black;" value='@{finesse_action}'><label class="sheet-skill" data-i18n="finesse-u">FINESSE</label></button>
|
|
<input type="text" name="attr_finesseBase" class="sheet-level" style="margin: -4px 0px 0px 0px;" value="" data-i18n-title="finesse-defn">
|
|
<input type="text" name="attr_finesse" class="sheet-levelTotal" style="margin: -4px 0px 0px -4px;" value="" data-i18n-title="finesseTotal-defn">
|
|
</div>
|
|
|
|
<div style="width: 196px; height: 140px; margin-top: 6px; border: 2px solid black">
|
|
<label class="sheet-stat" data-i18n="composure-u">COMPOSURE</label>
|
|
<input type="text" name="attr_composure" style="display: inline-block; vertical-align: top; margin: -34px 0px 0px 170px;" class="sheet-level" value="">
|
|
|
|
<button type='action' name='act_stealth-action' class="sheet-buttonSkill" value='@{stealth_action}'><label class="sheet-skill" data-i18n="stealth-u">STEALTH</label></button>
|
|
<input type="text" name="attr_stealthBase" class="sheet-level" style="margin: -28px 0px 0px 0px;" value="" data-i18n-title="stealth-defn">
|
|
<input type="text" name="attr_stealth" class="sheet-levelTotal" style="margin: -28px 0px 0px -4px;" value="" data-i18n-title="stealthTotal-defn">
|
|
|
|
<button type='action' name='act_contacts-action' class="sheet-buttonSkill" style="margin: 0px 0px 0px -2px;" value='@{contacts_action}'><label class="sheet-skill" data-i18n="contacts-u">CONTACTS</label></button>
|
|
<input type="text" name="attr_contactsBase" class="sheet-level" style="margin: -4px 0px 0px 0px;" value="" data-i18n-title="contacts-defn">
|
|
<input type="text" name="attr_contacts" class="sheet-levelTotal" style="margin: -4px 0px 0px -4px;" value="" data-i18n-title="contactsTotal-defn">
|
|
|
|
<button type='action' name='act_trickery-action' class="sheet-buttonSkill" style="margin: 0px 0px 0px -2px; border-bottom: 0px solid Black;" value='@{trickery_action}'><label class="sheet-skill" data-i18n="trickery-u">TRICKERY</label></button>
|
|
<input type="text" name="attr_trickeryBase" class="sheet-level" style="margin: -4px 0px 0px 0px;" value="" data-i18n-title="trickery-defn">
|
|
<input type="text" name="attr_trickery" class="sheet-levelTotal" style="margin: -4px 0px 0px -4px;" value="" data-i18n-title="trickeryTotal-defn">
|
|
</div>
|
|
</div>
|
|
<div class="sheet-statsC">
|
|
<div style="width: 196px; height: 140px; margin-top: 2px; border: 2px solid black">
|
|
<label class="sheet-stat" data-i18n="perception-u">PERCEPTION</label>
|
|
<input type="text" name="attr_perception" style="display: inline-block; vertical-align: top; margin: -34px 0px 0px 170px;" class="sheet-level" value="">
|
|
|
|
<button type='action' name='act_stealth-action' class="sheet-buttonSkill" value='@{stealth_action}'><label class="sheet-skill" data-i18n="stealth-u">SURVIVAL</label></button>
|
|
<input type="text" name="attr_stealthBase" class="sheet-level" style="margin: -28px 0px 0px 0px;" value="" data-i18n-title="stealth-defn">
|
|
<input type="text" name="attr_stealth" class="sheet-levelTotal" style="margin: -28px 0px 0px -4px;" value="" data-i18n-title="stealthTotal-defn">
|
|
|
|
<button type='action' name='act_rangedCombat-action' class="sheet-buttonSkill" style="margin: 0px 0px 0px -2px;" value='@{rangedCombat_action}'><label class="sheet-skill" data-i18n="rangedCombat-u">RANGED COMBAT</label></button>
|
|
<input type="text" name="attr_rangedCombatBase" class="sheet-level" style="margin: -4px 0px 0px 0px;" value="" data-i18n-title="rangedCombat-defn">
|
|
<input type="text" name="attr_rangedCombat" class="sheet-levelTotal" style="margin: -4px 0px 0px -4px;" value="" data-i18n-title="rangedCombatTotal-defn">
|
|
|
|
<button type='action' name='act_sharpSenses-action' class="sheet-buttonSkill" style="margin: 0px 0px 0px -2px; border-bottom: 0px solid Black;" value='@{sharpSenses_action}'><label class="sheet-skill" data-i18n="sharpSenses-u">SHARP SENSES</label></button>
|
|
<input type="text" name="attr_sharpSensesBase" class="sheet-level" style="margin: -4px 0px 0px 0px;" value="" data-i18n-title="sharpSenses-defn">
|
|
<input type="text" name="attr_sharpSenses" class="sheet-levelTotal" style="margin: -4px 0px 0px -4px;" value="" data-i18n-title="sharpSensesTotal-defn">
|
|
</div>
|
|
|
|
<div style="width: 196px; height: 140px; margin-top: 6px; border: 2px solid black">
|
|
<label class="sheet-stat" data-i18n="verve-u">VERVE</label>
|
|
<input type="text" name="attr_verve" style="display: inline-block; vertical-align: top; margin: -34px 0px 0px 170px;" class="sheet-level" value="">
|
|
|
|
<button type='action' name='act_charisma-action' class="sheet-buttonSkill" value='@{charisma_action}'><label class="sheet-skill" data-i18n="charisma-u">CHARISMA</label></button>
|
|
<input type="text" name="attr_charismaBase" class="sheet-level" style="margin: -28px 0px 0px 0px;" value="" data-i18n-title="charisma-defn">
|
|
<input type="text" name="attr_charisma" class="sheet-levelTotal" style="margin: -28px 0px 0px -4px;" value="" data-i18n-title="charismaTotal-defn">
|
|
|
|
<button type='action' name='act_starHeritage-action' class="sheet-buttonSkill" style="margin: 0px 0px 0px -2px;" value='@{starHeritage_action}'><label class="sheet-skill" data-i18n="starHeritage-u">STAR HERITAGE</label></button>
|
|
<input type="text" name="attr_starHeritageBase" class="sheet-level" style="margin: -4px 0px 0px 0px;" value="" data-i18n-title="starHeritage-defn">
|
|
<input type="text" name="attr_starHeritage" class="sheet-levelTotal" style="margin: -4px 0px 0px -4px;" value="" data-i18n-title="starHeritageTotal-defn">
|
|
|
|
<button type='action' name='act_willpower-action' class="sheet-buttonSkill" style="margin: 0px 0px 0px -2px; border-bottom: 0px solid Black;" value='@{willpower_action}'><label class="sheet-skill" data-i18n="willpower-u">WILLPOWER</label></button>
|
|
<input type="text" name="attr_willpowerBase" class="sheet-level" style="margin: -4px 0px 0px 0px;" value="" data-i18n-title="willpower-defn">
|
|
<input type="text" name="attr_willpower" class="sheet-levelTotal" style="margin: -4px 0px 0px -4px;" value="" data-i18n-title="willpowerTotal-defn">
|
|
</div>
|
|
</div>
|
|
<div class="sheet-edges" style="border: 3px solid Black">
|
|
<input class="sheet-edge" style="width: 34%; border-bottom: 0px solid Black;" type="text" name="attr_edge1">
|
|
<label class="sheet-derivedStat" style="text-align: center; width: 28%; height: 28px; margin: -8px 1px 0px 1px; border: 3px solid Black;" data-i18n="edges-u">EDGES</label>
|
|
<input class="sheet-edge" style="width: 34%; border-bottom: 0px solid Black;" type="text" name="attr_edge2">
|
|
<div class="sheet-description" style="display: inline-block; vertical-align: top; width: 49.5%; height: 170px; margin: 0px 0px 0px -3px; border-bottom: 0px solid Black;">
|
|
<input class="sheet-edge" type="text" name="attr_edge1a">
|
|
<input class="sheet-edge" type="text" name="attr_edge2a">
|
|
<input class="sheet-edge" type="text" name="attr_edge3a">
|
|
<input class="sheet-edge" type="text" name="attr_edge4a">
|
|
<input class="sheet-edge" type="text" name="attr_edge5a">
|
|
</div>
|
|
<div class="sheet-description" style="display: inline-block; vertical-align: top; width: 49.6%; height: 170px; margin: 0px 0px 0px -6px; border-right: 0px solid Black; border-bottom: 0px solid Black;">
|
|
<input class="sheet-edge" type="text" name="attr_edge1b">
|
|
<input class="sheet-edge" type="text" name="attr_edge2b">
|
|
<input class="sheet-edge" type="text" name="attr_edge3b">
|
|
<input class="sheet-edge" type="text" name="attr_edge4b">
|
|
<input class="sheet-edge" type="text" name="attr_edge5b">
|
|
</div>
|
|
|
|
</div>
|
|
<div class="sheet-defense">
|
|
<label class="sheet-sectionTitle" data-i18n="defense-u">DEFENSE</label>
|
|
<label class="sheet-sectionLine" style="width: 130px; margin-left: 0px;" data-i18n="initialValue-u">INITIAL VALUE</label>
|
|
<label class="sheet-sectionLine" style="width: 90px;" data-i18n="ag-u">AG</label>
|
|
<label class="sheet-sectionLine" data-i18n="per-u">PER</label>
|
|
<label class="sheet-sectionLine" data-i18n="feats-u">FEATS</label>
|
|
<label class="sheet-sectionLine" data-i18n="bonuses-u">BONUSES</label>
|
|
<label class="sheet-sectionLine" style="background-color: Gray; width: 100px;" data-i18n="total-u">TOTAL</label>
|
|
|
|
<input name="attr_dInitValue1" type="text" class="sheet-sectionRow" style="width: 128px;"/>
|
|
<input name="attr_dAg1" type="text" class="sheet-sectionRow" style="width: 86px;"/>
|
|
<input name="attr_dPer1" type="text" class="sheet-sectionRow" style="width: 95px;"/>
|
|
<input name="attr_dFeats1" type="text" class="sheet-sectionRow" style="width: 95px;"/>
|
|
<input name="attr_dBonuses1" type="text" class="sheet-sectionRow" style="width: 95px;"/>
|
|
<input name="attr_dTotal1" type="text" class="sheet-sectionRow" style="width: 98px;"/>
|
|
|
|
<input name="attr_dInitValue2" type="text" class="sheet-sectionRow" style="width: 128px;"/>
|
|
<input name="attr_dAg2" type="text" class="sheet-sectionRow" style="width: 86px;"/>
|
|
<input name="attr_dPer2" type="text" class="sheet-sectionRow" style="width: 95px;"/>
|
|
<input name="attr_dFeats2" type="text" class="sheet-sectionRow" style="width: 95px;"/>
|
|
<input name="attr_dBonuses2" type="text" class="sheet-sectionRow" style="width: 95px;"/>
|
|
<input name="attr_dTotal2" type="text" class="sheet-sectionRow" style="width: 98px;"/>
|
|
|
|
</div>
|
|
<div class="sheet-melee">
|
|
<label class="sheet-sectionTitle" data-i18n="meleeCombat-u">MELEE COMBAT</label>
|
|
<label class="sheet-sectionLine" style="width: 138px; margin-left: 0px;" data-i18n="weaponName-u">WEAPON NAME</label>
|
|
<label class="sheet-sectionLine" style="width: 68px;" data-i18n="type-u">TYPE</label>
|
|
<label class="sheet-sectionLine" style="width: 68px;" data-i18n="attacks-u">ATTACKS</label>
|
|
<label class="sheet-sectionLine" style="width: 96px;" data-i18n="bFFUc-u">BF/F/UC</label>
|
|
<label class="sheet-sectionLine" style="width: 83px;" data-i18n="accuracy-u">ACCURACY</label>
|
|
<label class="sheet-sectionLine" style="width: 78px; background-color: Gray;" data-i18n="hit-u">HIT</label>
|
|
<label class="sheet-sectionLine" style="width: 87px;" data-i18n="damage-u">DAMAGE</label>
|
|
|
|
<button type='action' name='act_melee1-action' style="box-sizing: content-box; width: 18px; heigth: 28px; border: 0px solid black; padding: 4px 1px 1px 1px;" value='@{melee1_action}'><label class="sheet-attack-button">j</label></button>
|
|
|
|
<input name="attr_mWeaponName1" type="text" class="sheet-sectionRow" style="width: 114px;"/>
|
|
<input name="attr_mType1" type="text" class="sheet-sectionRow" style="width: 64px;"/>
|
|
<input name="attr_mAttacks1" type="text" class="sheet-sectionRow" style="width: 64px;"/>
|
|
<input name="attr_mBFFUc1" type="text" class="sheet-sectionRow" style="width: 92px;"/>
|
|
<input name="attr_mAccuracy1" type="text" class="sheet-sectionRow" style="width: 78px;"/>
|
|
<input name="attr_mHit1" type="text" class="sheet-sectionRow" style="width: 74px;"/>
|
|
<input name="attr_mDamage1" type="text" class="sheet-sectionRow" style="width: 84px;"/>
|
|
|
|
<button type='action' name='act_melee2-action' style="box-sizing: content-box; width: 18px; heigth: 28px; border: 0px solid black; padding: 4px 1px 1px 1px;" value='@{melee2_action}'><label class="sheet-attack-button">j</label></button>
|
|
|
|
<!-- <button class="sheet-attack-button" type="roll" name="roll_attackroll" value="&{template:meleeRoll} {{name=@{character_name} *attacks with* @{mWeaponName2}}} {{Roll=[[1d20+@{mBFFUc2}+@{mAccuracy2}+?{Weapon Bonus?|0}]]}} {{Damage=[[@{mDamage2}]]}} {{DL=[[?{DL?|10}]]}} {{Luck=[[1d20]]}} {{Check=[[1]]}}"></button> -->
|
|
<input name="attr_mWeaponName2" type="text" class="sheet-sectionRow" style="width: 114px;"/>
|
|
<input name="attr_mType2" type="text" class="sheet-sectionRow" style="width: 64px;"/>
|
|
<input name="attr_mAttacks2" type="text" class="sheet-sectionRow" style="width: 64px;"/>
|
|
<input name="attr_mBFFUc2" type="text" class="sheet-sectionRow" style="width: 92px;"/>
|
|
<input name="attr_mAccuracy2" type="text" class="sheet-sectionRow" style="width: 78px;"/>
|
|
<input name="attr_mHit2" type="text" class="sheet-sectionRow" style="width: 74px;"/>
|
|
<input name="attr_mDamage2" type="text" class="sheet-sectionRow" style="width: 84px;"/>
|
|
</div>
|
|
<div class="sheet-ranged">
|
|
<label class="sheet-sectionTitle" data-i18n="rangedCombat-u">RANGED COMBAT</label>
|
|
|
|
<label class="sheet-sectionLine" style="width: 138px; margin-left: 0px;" data-i18n="weaponName-u">WEAPON NAME</label>
|
|
<label class="sheet-sectionLine" style="width: 68px;" data-i18n="type-u">TYPE</label>
|
|
<label class="sheet-sectionLine" style="width: 72px;" data-i18n="attacks-u">ATTACKS</label>
|
|
<label class="sheet-sectionLine" style="width: 98px;" data-i18n="ranged-u">RANGED</label>
|
|
<label class="sheet-sectionLine" style="width: 83px; background-color: Gray;" data-i18n="short-u">SHORT</label>
|
|
<label class="sheet-sectionLine" style="width: 83px; background-color: Gray;" data-i18n="medium-u">MEDIUM</label>
|
|
<label class="sheet-sectionLine" style="width: 83px; background-color: Gray;" data-i18n="long-u">LONG</label>
|
|
<label class="sheet-sectionLine" style="width: 83px; background-color: Gray;" data-i18n="extreme-u">EXTREME</label>
|
|
<label class="sheet-sectionLine" style="width: 117px;" data-i18n="damage-u">DAMAGE</label>
|
|
|
|
<button type='action' name='act_range1-action' style="box-sizing: content-box; width: 18px; heigth: 28px; border: 0px solid black; padding: 4px 1px 1px 1px;" value='@{range1_action}'><label class="sheet-attack-button">j</label></button>
|
|
<input name="attr_rWeaponName1" type="text" class="sheet-sectionRow" style="width: 112px;"/>
|
|
<input name="attr_rType1" type="text" class="sheet-sectionRow" style="width: 64px;"/>
|
|
<input name="attr_rAttacks1" type="text" class="sheet-sectionRow" style="width: 68px;"/>
|
|
<input name="attr_rRangedCombat1" type="text" class="sheet-sectionRow" style="width: 94px;"/>
|
|
<input name="attr_rShort1" type="text" class="sheet-sectionRow" style="width: 79px;"/>
|
|
<input name="attr_rMedium1" type="text" class="sheet-sectionRow" style="width: 79px;"/>
|
|
<input name="attr_rLong1" type="text" class="sheet-sectionRow" style="width: 79px;"/>
|
|
<input name="attr_rExtreme1" type="text" class="sheet-sectionRow" style="width: 79px;"/>
|
|
<input name="attr_rDamage1" type="text" class="sheet-sectionRow" style="width: 115px;"/>
|
|
|
|
<button type='action' name='act_range2-action' style="box-sizing: content-box; width: 18px; heigth: 28px; border: 0px solid black; padding: 4px 1px 1px 1px;" value='@{range2_action}'><label class="sheet-attack-button">j</label></button>
|
|
<input name="attr_rWeaponName2" type="text" class="sheet-sectionRow" style="width: 112px;"/>
|
|
<input name="attr_rType2" type="text" class="sheet-sectionRow" style="width: 64px;"/>
|
|
<input name="attr_rAttacks2" type="text" class="sheet-sectionRow" style="width: 68px;"/>
|
|
<input name="attr_rRangedCombat2" type="text" class="sheet-sectionRow" style="width: 94px;"/>
|
|
<input name="attr_rShort2" type="text" class="sheet-sectionRow" style="width: 79px;"/>
|
|
<input name="attr_rMedium2" type="text" class="sheet-sectionRow" style="width: 79px;"/>
|
|
<input name="attr_rLong2" type="text" class="sheet-sectionRow" style="width: 79px;"/>
|
|
<input name="attr_rExtreme2" type="text" class="sheet-sectionRow" style="width: 79px;"/>
|
|
<input name="attr_rDamage2" type="text" class="sheet-sectionRow" style="width: 115px;"/>
|
|
</div>
|
|
<div class="sheet-armor">
|
|
<label class="sheet-sectionTitle" data-i18n="armor-u">ARMOR</label>
|
|
<label class="sheet-sectionLine" style="width: 118px; margin-left: 0px;" data-i18n="name-u">NAME</label>
|
|
<label class="sheet-sectionLine" style="width: 118px;" data-i18n="protection-u">PROTECTION</label>
|
|
<label class="sheet-sectionLine" style="width: 173px;" data-i18n="specialRules-u">SPECIAL RULES</label>
|
|
|
|
<input name="attr_aName1" type="text" class="sheet-sectionRow" style="width: 116px;"/>
|
|
<input name="attr_aProtection1" type="text" class="sheet-sectionRow" style="width: 114px;"/>
|
|
<input name="attr_aSpecialRules1a" type="text" class="sheet-sectionRow" style="width: 170px;"/>
|
|
<input name="attr_aSpecialRules1b" type="text" class="sheet-sectionRow" style="width: 170px; margin-left: 236px;"/>
|
|
<input name="attr_aSpecialRules1c" type="text" class="sheet-sectionRow" style="width: 170px; margin-left: 236px;"/>
|
|
|
|
<input name="attr_aName2" type="text" class="sheet-sectionRow" style="width: 116px;"/>
|
|
<input name="attr_aProtection2" type="text" class="sheet-sectionRow" style="width: 114px;"/>
|
|
<input name="attr_aSpecialRules2a" type="text" class="sheet-sectionRow" style="width: 170px;"/>
|
|
<input name="attr_aSpecialRules2b" type="text" class="sheet-sectionRow" style="width: 170px; margin-left: 236px;"/>
|
|
<input name="attr_aSpecialRules2c" type="text" class="sheet-sectionRow" style="width: 170px; margin-left: 236px;"/>
|
|
|
|
</div>
|
|
<div class="sheet-shield">
|
|
<label class="sheet-sectionTitle" data-i18n="shield-u">SHIELD</label>
|
|
<label class="sheet-sectionLine" style="width: 210px; margin-left: 0px;" data-i18n="name-u">NAME</label>
|
|
<label class="sheet-sectionLine" style="width: 198px;" data-i18n="specialRules-u">SPECIAL RULES</label>
|
|
|
|
<input name="attr_sName1" type="text" class="sheet-sectionRow" style="width: 208px;"/>
|
|
<input name="attr_sSpecialRules1a" type="text" class="sheet-sectionRow" style="width: 196px;"/>
|
|
<input name="attr_sSpecialRules1b" type="text" class="sheet-sectionRow" style="width: 196px; margin-left: 211px;"/>
|
|
|
|
<div style="display: inline-block; vertical-align: top; width: 200px; margin-top: -20px; border: 0px solid black">
|
|
<input type="text" name="attr_shieldBase" class="sheet-levelDS" value="" data-i18n-title="shield-defn">
|
|
<label class="sheet-derivedStat" title="Shield Title" data-i18n="uses-u">USES</label>
|
|
<input type="text" name="attr_shieldUses" class="sheet-levelCur" style= "margin: 0px 0px 0px -4px;" value="" data-i18n-title="grace-defn">
|
|
</div>
|
|
<input name="attr_sSpecialRules1c" type="text" class="sheet-sectionRow" style="width: 196px; margin-left: 8px;"/>
|
|
<label class="sheet-repair" title="Repair DL" data-i18n="repair-u">REPAIR</label>
|
|
<input name="attr_repairDL" type="text" class="sheet-repair" style="width: 90px; height: 32px; font-size: 22px; text-align: center; margin: -3px 0px 0px -4px"/>
|
|
|
|
<input name="attr_sSpecialRules1d" type="text" class="sheet-sectionRow" style="width: 196px; margin-left: 59px;"/>
|
|
<input name="attr_sSpecialRules1e" type="text" class="sheet-sectionRow" style="width: 196px; margin-left: 211px;"/>
|
|
<input name="attr_sSpecialRules1f" type="text" class="sheet-sectionRow" style="width: 196px; margin-left: 211px;"/>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="sheet-page2">
|
|
<div class="sheet-container2">
|
|
<div class="sheet-feats">
|
|
<label class="sheet-sectionTitle" data-i18n="feats-u">FEATS</label>
|
|
<input class="sheet-desc2" type="text" name="attr_feat1a" style="width: 98%; margin-left: 0px;" data-i18n-title="feat1a-c"/>
|
|
<input class="sheet-desc2" type="text" name="attr_feat1b" style="width: 98%; margin-left: 0px;" data-i18n-title="feat1b-c"/>
|
|
<input class="sheet-desc2" type="text" name="attr_feat1c" style="width: 98%; margin-left: 0px;" data-i18n-title="feat1c-c"/>
|
|
<label class="sheet-desc2" style="width: 99%; border:none;"></label>
|
|
<input class="sheet-desc2" type="text" name="attr_feat2a" style="width: 98%; margin-left: 0px;" data-i18n-title="feat2b-c"/>
|
|
<input class="sheet-desc2" type="text" name="attr_feat2b" style="width: 98%; margin-left: 0px;" data-i18n-title="feat2b-c"/>
|
|
<input class="sheet-desc2" type="text" name="attr_feat2c" style="width: 98%; margin-left: 0px;" data-i18n-title="feat2c-c"/>
|
|
<label class="sheet-desc2" style="width: 99%; border:none;"></label>
|
|
<input class="sheet-desc2" type="text" name="attr_feat3a" style="width: 98%; margin-left: 0px;" data-i18n-title="feat3b-c"/>
|
|
<input class="sheet-desc2" type="text" name="attr_feat3b" style="width: 98%; margin-left: 0px;" data-i18n-title="feat3b-c"/>
|
|
<input class="sheet-desc2" type="text" name="attr_feat3c" style="width: 98%; margin-left: 0px;" data-i18n-title="feat3c-c"/>
|
|
<label class="sheet-desc2" style="width: 99%; border:none;"></label>
|
|
<input class="sheet-desc2" type="text" name="attr_feat4a" style="width: 98%; margin-left: 0px;" data-i18n-title="feat4b-c"/>
|
|
<input class="sheet-desc2" type="text" name="attr_feat4b" style="width: 98%; margin-left: 0px;" data-i18n-title="feat4b-c"/>
|
|
<input class="sheet-desc2" type="text" name="attr_feat4c" style="width: 98%; margin-left: 0px;" data-i18n-title="feat4c-c"/>
|
|
|
|
</div>
|
|
<div class="sheet-equipment">
|
|
<label class="sheet-sectionTitle" data-i18n="equipment-u">EQUIPMENT</label>
|
|
<input class="sheet-desc2" type="text" name="attr_equip1" style="width: 94%;" data-i18n-title="equip1-c"/>
|
|
<input class="sheet-desc2" type="text" name="attr_equip2" style="width: 94%;" data-i18n-title="equip2-c"/>
|
|
<input class="sheet-desc2" type="text" name="attr_equip3" style="width: 94%;" data-i18n-title="equip3-c"/>
|
|
<input class="sheet-desc2" type="text" name="attr_equip4" style="width: 95%;" data-i18n-title="equip4-c"/>
|
|
<input class="sheet-desc2" type="text" name="attr_equip5" style="width: 95%;" data-i18n-title="equip5-c"/>
|
|
<input class="sheet-desc2" type="text" name="attr_equip6" style="width: 95%;" data-i18n-title="equip6-c"/>
|
|
<input class="sheet-desc2" type="text" name="attr_equip7" style="width: 96%;" data-i18n-title="equip7-c"/>
|
|
<input class="sheet-desc2" type="text" name="attr_equip8" style="width: 96%;" data-i18n-title="equip8-c"/>
|
|
<input class="sheet-desc2" type="text" name="attr_equip9" style="width: 96%;" data-i18n-title="equip9-c"/>
|
|
</div>
|
|
<div class="sheet-soulmate">
|
|
<label class="sheet-sectionTitle" data-i18n="soulmate-u">SOULMATE</label>
|
|
<input class="sheet-desc2" type="text" name="attr_soulmate1" style="width: 94%;" data-i18n-title="soulmate1-c"/>
|
|
<input class="sheet-desc2" type="text" name="attr_soulmate2" style="width: 94%;" data-i18n-title="soulmate2-c"/>
|
|
</div>
|
|
<div class="sheet-notes">
|
|
<label class="sheet-sectionTitle" data-i18n="notesCharacterBackstory-u">NOTES/CHARACTER BACKSTORY</label>
|
|
<input class="sheet-desc2" type="text" name="attr_note1" style="width: 96%;" data-i18n-title="note1-c"/>
|
|
<input class="sheet-desc2" type="text" name="attr_note2" style="width: 96%;" data-i18n-title="note2-c"/>
|
|
<input class="sheet-desc2" type="text" name="attr_note3" style="width: 96%;" data-i18n-title="note3-c"/>
|
|
<input class="sheet-desc2" type="text" name="attr_note4" style="width: 96%;" data-i18n-title="note4-c"/>
|
|
<input class="sheet-desc2" type="text" name="attr_note5" style="width: 96%;" data-i18n-title="note5-c"/>
|
|
<input class="sheet-desc2" type="text" name="attr_note6" style="width: 96%;" data-i18n-title="note6-c"/>
|
|
<input class="sheet-desc2" type="text" name="attr_note7" style="width: 96%;" data-i18n-title="note7-c"/>
|
|
<input class="sheet-desc2" type="text" name="attr_note8" style="width: 96%; border-bottom: 0px solid Black;" data-i18n-title="note8-c"/>
|
|
</div>
|
|
<div class="sheet-powers">
|
|
<label class="sheet-sectionTitle" data-i18n="powers-u">POWERS</label>
|
|
<label class="sheet-sectionLine" style="width: 150px; margin-left: 0px;" data-i18n="name-u">NAME</label>
|
|
<label class="sheet-sectionLine" style="width: 100px;" data-i18n="type-u">TYPE</label>
|
|
<label class="sheet-sectionLine" style="width: 68px; background-color: Gray;" data-i18n="DL-u">DL</label>
|
|
<label class="sheet-sectionLine" style="width: 68px;" data-i18n="cost-u">COST</label>
|
|
<label class="sheet-sectionLine" style="width: 90px;" data-i18n="range-u">RANGE</label>
|
|
<label class="sheet-sectionLine" style="width: 328px; border-right: 0px solid Black;" data-i18n="effect-u">EFFECT</label>
|
|
|
|
<button type='action' name='act_power1-action' style="box-sizing: content-box; width: 18px; heigth: 28px; border: 0px solid black; padding: 4px 1px 1px 4px;" value='@{power1_action}'><label class="sheet-attack-button">j</label></button>
|
|
<input name="attr_pName1" type="text" class="sheet-sectionRow" style="width: 122px;"/>
|
|
<input name="attr_pType1" type="text" class="sheet-sectionRow" style="width: 96px;"/>
|
|
<input name="attr_pDL1" type="text" class="sheet-sectionRow" style="width: 64px;"/>
|
|
<input name="attr_pCost1" type="text" class="sheet-sectionRow" style="width: 64px;"/>
|
|
<input name="attr_pRange1" type="text" class="sheet-sectionRow" style="width: 86px;"/>
|
|
<input name="attr_pEffect1a" type="text" class="sheet-sectionRow" style="width: 324px;"/>
|
|
<input name="attr_pEffect1b" type="text" class="sheet-sectionRow" style="width: 324px; margin: 0px 0px 0px 474px;"/>
|
|
<input name="attr_pEffect1c" type="text" class="sheet-sectionRow" style="width: 324px; margin: 0px 0px 0px 474px;"/>
|
|
|
|
<button type='action' name='act_power2-action' style="box-sizing: content-box; width: 18px; heigth: 28px; border: 0px solid black; padding: 4px 1px 1px 4px;" value='@{power2_action}'><label class="sheet-attack-button">j</label></button>
|
|
<input name="attr_pName2" type="text" class="sheet-sectionRow" style="width: 122px;"/>
|
|
<input name="attr_pType2" type="text" class="sheet-sectionRow" style="width: 96px;"/>
|
|
<input name="attr_pDL2" type="text" class="sheet-sectionRow" style="width: 64px;"/>
|
|
<input name="attr_pCost2" type="text" class="sheet-sectionRow" style="width: 64px;"/>
|
|
<input name="attr_pRange2" type="text" class="sheet-sectionRow" style="width: 86px;"/>
|
|
<input name="attr_pEffect2a" type="text" class="sheet-sectionRow" style="width: 324px;"/>
|
|
<input name="attr_pEffect2b" type="text" class="sheet-sectionRow" style="width: 324px; margin: 0px 0px 0px 474px;"/>
|
|
<input name="attr_pEffect2c" type="text" class="sheet-sectionRow" style="width: 324px; margin: 0px 0px 0px 474px;"/>
|
|
|
|
<button type='action' name='act_power3-action' style="box-sizing: content-box; width: 18px; heigth: 28px; border: 0px solid black; padding: 4px 1px 1px 4px;" value='@{power3_action}'><label class="sheet-attack-button">j</label></button>
|
|
<input name="attr_pName3" type="text" class="sheet-sectionRow" style="width: 122px;"/>
|
|
<input name="attr_pType3" type="text" class="sheet-sectionRow" style="width: 96px;"/>
|
|
<input name="attr_pDL3" type="text" class="sheet-sectionRow" style="width: 64px;"/>
|
|
<input name="attr_pCost3" type="text" class="sheet-sectionRow" style="width: 64px;"/>
|
|
<input name="attr_pRange3" type="text" class="sheet-sectionRow" style="width: 86px;"/>
|
|
<input name="attr_pEffect3a" type="text" class="sheet-sectionRow" style="width: 324px;"/>
|
|
<input name="attr_pEffect3b" type="text" class="sheet-sectionRow" style="width: 324px; margin: 0px 0px 0px 474px;"/>
|
|
<input name="attr_pEffect3c" type="text" class="sheet-sectionRow" style="width: 324px; margin: 0px 0px 0px 474px;"/>
|
|
|
|
<button type='action' name='act_power4-action' style="box-sizing: content-box; width: 18px; heigth: 28px; border: 0px solid black; padding: 4px 1px 1px 4px;" value='@{power4_action}'><label class="sheet-attack-button">j</label></button>
|
|
<input name="attr_pName4" type="text" class="sheet-sectionRow" style="width: 122px;"/>
|
|
<input name="attr_pType4" type="text" class="sheet-sectionRow" style="width: 96px;"/>
|
|
<input name="attr_pDL4" type="text" class="sheet-sectionRow" style="width: 64px;"/>
|
|
<input name="attr_pCost4" type="text" class="sheet-sectionRow" style="width: 64px;"/>
|
|
<input name="attr_pRange4" type="text" class="sheet-sectionRow" style="width: 86px;"/>
|
|
<input name="attr_pEffect4a" type="text" class="sheet-sectionRow" style="width: 324px;"/>
|
|
<input name="attr_pEffect4b" type="text" class="sheet-sectionRow" style="width: 324px; margin: 0px 0px 0px 474px;"/>
|
|
<input name="attr_pEffect4c" type="text" class="sheet-sectionRow" style="width: 324px; margin: 0px 0px 0px 474px;"/>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
<!-- Roll Templates -->
|
|
<rolltemplate class="sheet-rolltemplate-initiative">
|
|
<div class="container">
|
|
<div><h1>Initiative *for* {{name}}</h1></div>
|
|
<div class="arrow-container"><div class="arrow-right"></div></div>
|
|
<div class="rowcolor"><span class="tcat">Rolled: </span>{{computed::roll1}}</div>
|
|
</div>
|
|
</rolltemplate>
|
|
|
|
<rolltemplate class="sheet-rolltemplate-check">
|
|
<div class="container">
|
|
<div><h1>{{name}}{{#SkillName}} *for* {{SkillName}}{{/SkillName}}</h1></div>
|
|
<div class="arrow-container"><div class="arrow-right"></div></div>
|
|
{{#Check}}
|
|
<div class="rowcolor"><span class="tcat">Check: </span>{{computed::Roll}}</div>
|
|
{{/Check}}
|
|
{{#DL}}
|
|
<div class="rowcolor"><span class="tcat">DL: </span>{{DL}}</div>
|
|
{{#rollLess() computed::Roll DL }}
|
|
<div class="rowcolor"><span class="tcat">Result: </span>Failure</div>
|
|
{{/rollLess() computed::Roll DL }}
|
|
{{#^rollLess() computed::Roll DL }}
|
|
<div class="rowcolor"><span class="tcat">Result: </span>Success!</div>
|
|
{{/^rollLess() computed::Roll DL }}
|
|
{{/DL}}
|
|
{{#Destiny}}
|
|
<div class="rowcolor"><span class="tcat">Destiny: </span>{{Destiny}}</div>
|
|
{{/Destiny}}
|
|
{{#Luck}}
|
|
<div class="rowcolor"><span class="tcat">Luck: </span>{{Luck}}</div>
|
|
{{/Luck}}
|
|
|
|
{{#Location}}
|
|
<div class="rowcolor"><span class="tcat">Location: </span>{{Roll}}</div>
|
|
{{#rollTotal() Roll 2 }}
|
|
<div class="rowcolor"><span class="tcat">Location: </span>Head or Vital Location</div>
|
|
{{/rollTotal() Roll 2 }}
|
|
{{#rollBetween() Roll 3 4 }}
|
|
<div class="rowcolor"><span class="tcat">Location: </span>Left arm</div>
|
|
{{/rollBetween() Roll 3 4 }}
|
|
{{#rollBetween() Roll 5 7 }}
|
|
<div class="rowcolor"><span class="tcat">Location: </span>Left leg</div>
|
|
{{/rollBetween() Roll 5 7 }}
|
|
{{#rollBetween() Roll 8 14 }}
|
|
<div class="rowcolor"><span class="tcat">Location: </span>Torso</div>
|
|
{{/rollBetween() Roll 8 14 }}
|
|
{{#rollBetween() Roll 15 17 }}
|
|
<div class="rowcolor"><span class="tcat">Location: </span>Right leg</div>
|
|
{{/rollBetween() Roll 15 17 }}
|
|
{{#rollBetween() Roll 18 19 }}
|
|
<div class="rowcolor"><span class="tcat">Location: </span>Right arm</div>
|
|
{{/rollBetween() Roll 18 19 }}
|
|
{{#rollTotal() Roll 20 }}
|
|
<div class="rowcolor"><span class="tcat">Location: </span>Head or Vital Location</div>
|
|
{{/rollTotal() Roll 20 }}
|
|
{{/Location}}
|
|
{{#Damage}}
|
|
<div class="rowcolor"><span class="tcat" data-i18n-title="possible damage">Damage: </span>{{Damage}}</div>
|
|
{{/Damage}}
|
|
</div>
|
|
</rolltemplate>
|
|
|
|
<rolltemplate class="sheet-rolltemplate-melee">
|
|
<div class="container">
|
|
<div><h1>{{name}}</h1></div>
|
|
<div class="arrow-container"><div class="arrow-right"></div></div>
|
|
{{#Check}}
|
|
<div class="rowcolor"><span class="tcat">Check: </span>{{computed::Roll}}</div>
|
|
{{/Check}}
|
|
{{#DL}}
|
|
<div class="rowcolor"><span class="tcat">DL: </span>{{DL}}</div>
|
|
{{#rollLess() computed::Roll DL }}
|
|
<div class="rowcolor"><span class="tcat">Result: </span>Failure</div>
|
|
{{/rollLess() computed::Roll DL }}
|
|
{{#^rollLess() computed::Roll DL }}
|
|
<div class="rowcolor"><span class="tcat">Result: </span>Success!</div>
|
|
{{/^rollLess() computed::Roll DL }}
|
|
{{/DL}}
|
|
{{#Destiny}}
|
|
<div class="rowcolor"><span class="tcat">Destiny: </span>{{Destiny}}</div>
|
|
{{/Destiny}}
|
|
{{#Luck}}
|
|
<div class="rowcolor"><span class="tcat">Luck: </span>{{Luck}}</div>
|
|
{{/Luck}}
|
|
{{#Damage}}
|
|
<div class="rowcolor"><span class="tcat">Damage: </span>{{Damage}}</div>
|
|
{{/Damage}}
|
|
</div>
|
|
</rolltemplate>
|
|
|
|
<rolltemplate class="sheet-rolltemplate-meleeRoll">
|
|
<div class="container">
|
|
<div><h1>{{name}}</h1></div>
|
|
<div class="arrow-container"><div class="arrow-right"></div></div>
|
|
{{#Check}}
|
|
<div class="rowcolor"><span class="tcat">Check: </span>{{Roll}}</div>
|
|
{{/Check}}
|
|
{{#DL}}
|
|
<div class="rowcolor"><span class="tcat">DL: </span>{{DL}}</div>
|
|
{{#rollLess() Roll DL }}
|
|
<div class="rowcolor"><span class="tcat">Result: </span>Failure</div>
|
|
{{/rollLess() Roll DL }}
|
|
{{#^rollLess() Roll DL }}
|
|
<div class="rowcolor"><span class="tcat">Result: </span>Success!</div>
|
|
{{/^rollLess() Roll DL }}
|
|
{{/DL}}
|
|
{{#Destiny}}
|
|
<div class="rowcolor"><span class="tcat">Destiny: </span>{{Destiny}}</div>
|
|
{{/Destiny}}
|
|
{{#Luck}}
|
|
<div class="rowcolor"><span class="tcat">Luck: </span>{{Luck}}</div>
|
|
{{/Luck}}
|
|
{{#Damage}}
|
|
<div class="rowcolor"><span class="tcat">Damage: </span>{{Damage}}</div>
|
|
{{/Damage}}
|
|
</div>
|
|
</rolltemplate>
|
|
|
|
<script type="text/worker">
|
|
|
|
on("sheet:opened", function(eventInfo){
|
|
|
|
|
|
getAttrs(["setupDone"], function(pvalue) {
|
|
console.log("Hello there");
|
|
|
|
let SetupDone=parseInt(pvalue.setupDone);
|
|
console.log("setupdone: "+SetupDone );
|
|
|
|
if (SetupDone==0){
|
|
console.log("Do setup");
|
|
|
|
incSkill("repeating_skills-left"," ","");
|
|
incSkill("repeating_skills-left"," ","");
|
|
incSkill("repeating_skills-left"," ","");
|
|
incSkill("repeating_skills-right"," ","");
|
|
incSkill("repeating_skills-right"," ","");
|
|
incSkill("repeating_skills-right"," ","");
|
|
|
|
setAttrs({setupDone:1});
|
|
}
|
|
});
|
|
});
|
|
|
|
|
|
function incSkill(section,skill,value){
|
|
getSectionIDs(section, function(idArray) {
|
|
var found = false;
|
|
if (idArray.length > 0) {
|
|
var fields = [];
|
|
_.each(idArray, function(currentID) {
|
|
fields.push(section+"_" + currentID + "_skill");
|
|
fields.push(section+"_" + currentID + "_skillValue");
|
|
});
|
|
getAttrs(fields, function(values) {
|
|
_.each(idArray, function(currentID, i) {
|
|
var curSkill = values[section+"_" + idArray[i] + "_skill"];
|
|
if (curSkill === skill){
|
|
found = true;
|
|
}
|
|
});
|
|
if (!found) {
|
|
//console.log(skill+""+section+" add !!!!!!!!!!!");
|
|
addSkill(section,skill,value);
|
|
}
|
|
});
|
|
}
|
|
else{
|
|
addSkill(section,skill,value);
|
|
}
|
|
|
|
});
|
|
}
|
|
|
|
|
|
function addSkill(section,skill,value){
|
|
var id=getId();
|
|
var setObj = {};
|
|
setObj[section+"_"+id+'_skill']=skill;
|
|
setAttrs(setObj);
|
|
setObj[section+"_"+id+'_skillValue']=value;
|
|
//console.log("!!!!!!!!! skill value: "+value);
|
|
setAttrs(setObj);
|
|
}
|
|
|
|
|
|
function getId(){
|
|
const sattrs = {};
|
|
const createdIDs = [];
|
|
var retId = 0;
|
|
if (createdIDs.length==0){
|
|
retId = generateRowID();
|
|
createdIDs.push(retId);
|
|
}
|
|
var checkit = true;
|
|
while (checkit==true) {
|
|
let newID = generateRowID();
|
|
//console.log("Newid "+newID);
|
|
if (!createdIDs.includes(newID)) {
|
|
newrowid = newID;
|
|
//console.log("newrowid "+newID);
|
|
createdIDs.push(newrowid);
|
|
checkit=false;
|
|
}
|
|
}
|
|
retId = newrowid;
|
|
|
|
return retId;
|
|
}
|
|
|
|
// Change Constitution, Brute Force, Unarmed Combat, or Toughness
|
|
on("change:constitution change:agility change:bruteForceBase change:unarmedCombatBase change:toughnessBase", function(eventInfo) {
|
|
let NewAttribute = eventInfo.newValue;
|
|
let OldAttribute = eventInfo.previousValue;
|
|
let SourceAttribute = eventInfo.sourceAttribute;
|
|
|
|
getAttrs(["constitution","agility","bruteForceBase","unarmedCombatBase","toughnessBase"], function(values) {
|
|
let Constitution = parseInt(values.constitution)||0;
|
|
let Agility = parseInt(values.agility)||0;
|
|
let BruteForceBase = parseInt(values.bruteForceBase)||0;
|
|
let UnarmedCombatBase = parseInt(values.unarmedCombatBase)||0;
|
|
let ToughnessBase = parseInt(values.toughnessBase)||0;
|
|
let BruteForceTotal = Constitution + BruteForceBase;
|
|
let UnarmedCombatTotal = Constitution + UnarmedCombatBase;
|
|
let ToughnessTotal = Constitution + ToughnessBase;
|
|
|
|
console.log(" Constitution: " + Constitution + " BruteForceTotal " + BruteForceTotal + " UnarmedCombatTotal " + UnarmedCombatTotal + " ToughnessTotal " + ToughnessTotal);
|
|
setAttrs({
|
|
bruteForce: BruteForceTotal, unarmedCombat: UnarmedCombatTotal, toughness: ToughnessTotal, vitalityBase: Constitution * 5 + 15, athleticismBase: Constitution + Agility
|
|
});
|
|
});
|
|
});
|
|
|
|
|
|
|
|
// Change Agility, Vehicle Handling, Reflex, or Finesse
|
|
on("change:agility change:vehicleHandlingBase change:reflexBase change:finesseBase", function(eventInfo) {
|
|
let NewAttribute = eventInfo.newValue;
|
|
let OldAttribute = eventInfo.previousValue;
|
|
let SourceAttribute = eventInfo.sourceAttribute;
|
|
|
|
getAttrs(["agility", "vehicleHandlingBase","reflexBase","finesseBase"], function(values) {
|
|
let Agility = parseInt(values.agility)||0;
|
|
let VehicleHandlingBase = parseInt(values.vehicleHandlingBase)||0;
|
|
let ReflexBase = parseInt(values.reflexBase)||0;
|
|
let FinesseBase = parseInt(values.finesseBase)||0;
|
|
let VehicleHandlingTotal = Agility + VehicleHandlingBase;
|
|
let ReflexTotal = Agility + ReflexBase;
|
|
let FinesseTotal = Agility + FinesseBase;
|
|
|
|
console.log(" Agility: " + Agility + " VehicleHandlingTotal " + VehicleHandlingTotal + " ReflexTotal " + ReflexTotal + " FinesseTotal " + FinesseTotal);
|
|
setAttrs({
|
|
vehicleHandling: VehicleHandlingTotal, reflex: ReflexTotal, finesse: FinesseTotal
|
|
});
|
|
});
|
|
});
|
|
|
|
// Change Perception, Survival, Range Combat, or Sharp Senses
|
|
on("change:perception change:survivalBase change:RangedCombatBase change:SharpSensesBase", function(eventInfo) {
|
|
let NewAttribute = eventInfo.newValue;
|
|
let OldAttribute = eventInfo.previousValue;
|
|
let SourceAttribute = eventInfo.sourceAttribute;
|
|
|
|
getAttrs(["perception", "survivalBase","reflexBase","finesseBase"], function(values) {
|
|
let Perception = parseInt(values.perception)||0;
|
|
let SurvivalBase = parseInt(values.survivalBase)||0;
|
|
let RangedCombatBase = parseInt(values.rangedCombatBase)||0;
|
|
let SharpSensesBase = parseInt(values.sharpSensesBase)||0;
|
|
let SurvivalTotal = Perception + SurvivalBase;
|
|
let RangedCombatTotal = Perception + RangedCombatBase;
|
|
let SharpSensesTotal = Perception + SharpSensesBase;
|
|
|
|
console.log(" Perception: " + Perception + " SurvivalTotal " + SurvivalTotal + " RangedCombatTotal " + RangedCombatTotal + " SharpSensesTotal " + SharpSensesTotal);
|
|
setAttrs({
|
|
survival: SurvivalTotal, rangedCombat: RangedCombatTotal, sharpSenses: SharpSensesTotal
|
|
});
|
|
});
|
|
});
|
|
|
|
|
|
|
|
// Change Intelligence, Crafting, General Knowledge or Arcane Knowledge
|
|
on("change:intelligence change:craftingBase change:generalKnowledgeBase change:arcaneKnowledgeBase", function(eventInfo) {
|
|
let NewAttribute = eventInfo.newValue;
|
|
let OldAttribute = eventInfo.previousValue;
|
|
let SourceAttribute = eventInfo.sourceAttribute;
|
|
|
|
getAttrs(["intelligence","craftingBase","generalKnowledgeBase","arcaneKnowledgeBase"], function(values) {
|
|
let Intelligence = parseInt(values.intelligence)||0;
|
|
let CraftingBase = parseInt(values.craftingBase)||0;
|
|
let GeneralKnowledgeBase = parseInt(values.generalKnowledgeBase)||0;
|
|
let ArcaneKnowledgeBase = parseInt(values.arcaneKnowledgeBase)||0;
|
|
let CraftingTotal = Intelligence + CraftingBase;
|
|
let GeneralKnowledgeTotal = Intelligence + GeneralKnowledgeBase;
|
|
let ArcaneKnowledgeTotal = Intelligence + ArcaneKnowledgeBase;
|
|
|
|
console.log(" Intelligence: " + Intelligence + " CraftingTotal " + CraftingTotal + " GeneralKnowledgeTotal " + GeneralKnowledgeTotal + " ArcaneKnowledgeTotal " + ArcaneKnowledgeTotal);
|
|
setAttrs({
|
|
crafting: CraftingTotal, generalKnowledge: GeneralKnowledgeTotal, arcaneKnowledge: ArcaneKnowledgeTotal, focusBase: Intelligence * 5
|
|
});
|
|
});
|
|
});
|
|
|
|
// Change Composure, Stealth, Contacts, or Trickery
|
|
on("change:composure change:stealthBase change:contactsBase change:trickeryBase", function(eventInfo) {
|
|
let NewAttribute = eventInfo.newValue;
|
|
let OldAttribute = eventInfo.previousValue;
|
|
let SourceAttribute = eventInfo.sourceAttribute;
|
|
|
|
getAttrs(["composure","stealthBase","contactsBase","trickeryBase"], function(values) {
|
|
let Composure = parseInt(values.composure)||0;
|
|
let StealthBase = parseInt(values.stealthBase)||0;
|
|
let ContactsBase = parseInt(values.contactsBase)||0;
|
|
let TrickeryBase = parseInt(values.trickeryBase)||0;
|
|
let StealthTotal = Composure + StealthBase;
|
|
let ContactsTotal = Composure + ContactsBase;
|
|
let TrickeryTotal = Composure + TrickeryBase;
|
|
|
|
console.log(" Composure: " + Composure + " StealthTotal " + StealthTotal + " ContactsTotal " + ContactsTotal + " TrickeryTotal " + TrickeryTotal);
|
|
setAttrs({
|
|
stealth: StealthTotal, contacts: ContactsTotal, trickery: TrickeryTotal, shiftsBase: Composure
|
|
});
|
|
});
|
|
});
|
|
|
|
// Change Verve,: Charisma, Star Heritage, or Willpower
|
|
on("change:verve change:charismaBase change:starHeritageBase change:willpowerBase", function(eventInfo) {
|
|
let NewAttribute = eventInfo.newValue;
|
|
let OldAttribute = eventInfo.previousValue;
|
|
let SourceAttribute = eventInfo.sourceAttribute;
|
|
|
|
getAttrs(["verve","charismaBase","starHeritageBase","willpowerBase"], function(values) {
|
|
let Verve = parseInt(values.verve)||0;
|
|
let CharismaBase = parseInt(values.charismaBase)||0;
|
|
let StarHeritageBase = parseInt(values.starHeritageBase)||0;
|
|
let WillpowerBase = parseInt(values.willpowerBase)||0;
|
|
let CharismaTotal = Verve + CharismaBase;
|
|
let StarHeritageTotal = Verve + StarHeritageBase;
|
|
let WillpowerTotal = Verve + WillpowerBase;
|
|
|
|
console.log(" Verve: " + Verve + " CharismaTotal " + CharismaTotal + " StarHeritageTotal " + StarHeritageTotal + " WillpowerTotal " + WillpowerTotal);
|
|
setAttrs({
|
|
charisma: CharismaTotal, starHeritage: StarHeritageTotal, willpower: WillpowerTotal, graceBase: Verve
|
|
});
|
|
});
|
|
});
|
|
|
|
|
|
|
|
|
|
on('clicked:initiative', (info) => {
|
|
startRoll("&{template:initiative} {{name=@{character_name}}} {{roll1=[[2d10+@{prowess} &{tracker}]]}}", (results) => {
|
|
const total = results.results.roll1.result;
|
|
const computed = total;
|
|
/* console.log(" *** Action Initiative: ");
|
|
console.log(" roll1Dice " + results.results.roll1.dice );
|
|
console.log(" roll1Result " + results.results.roll1.result );
|
|
console.log(" roll1Expression " + results.results.roll1.expression );
|
|
*/
|
|
|
|
setAttrs({ initiative: computed });
|
|
|
|
finishRoll(
|
|
results.rollId,
|
|
{
|
|
roll1: computed
|
|
}
|
|
);
|
|
});
|
|
});
|
|
|
|
|
|
// Set isRangeWeapon and isNotRangeWeapon based on weapon_range
|
|
on('change:repeating_weapons:weapon_range', function(eventInfo) {
|
|
let NewRange = eventInfo.newValue;
|
|
let Range = parseInt(NewRange)||0;
|
|
let NotRange = 1;
|
|
if (Range != 0)
|
|
{ Range = 1; NotRange = 0; }
|
|
|
|
let OldRange = eventInfo.previousValue;
|
|
let Source = eventInfo.sourceAttribute;
|
|
console.log(" +-+-+-+-+- Change repeating_weapons: Range[0 or 1]: " + Range + " New Range " + NewRange + " from " + OldRange + " source " + Source);
|
|
|
|
setAttrs({
|
|
repeating_weapons_isRangeWeapon: Range, repeating_weapons_isNotRangeWeapon: NotRange
|
|
});
|
|
});
|
|
|
|
|
|
// Set Prowess = Coordination + Wits
|
|
on("change:coordination_base change:wit_base ", function(eventInfo) {
|
|
let NewAttribute = eventInfo.newValue;
|
|
let OldAttribute = eventInfo.previousValue;
|
|
let SourceAttribute = eventInfo.sourceAttribute;
|
|
|
|
getAttrs(["coordination_base","wit_base"], function(values) {
|
|
let Coordination = parseInt(values.coordination_base)||0;
|
|
let Wit = parseInt(values.wit_base)||0;
|
|
let Prowess = Coordination + Wit;
|
|
let Actions = 1;
|
|
if (Prowess > 12) {
|
|
Actions = 4;
|
|
} else if (Prowess > 8) {
|
|
Actions = 3;
|
|
} else if (Prowess > 4) {
|
|
Actions = 2;
|
|
}
|
|
console.log(" Coordination: " + Coordination + " Wit " + Wit + " therefore Prowess = " + Prowess);
|
|
setAttrs({
|
|
prowess: Prowess, actions: Actions
|
|
});
|
|
});
|
|
});
|
|
|
|
|
|
on('clicked:bruteForce-action clicked:unarmedCombat-action clicked:toughness-action clicked:crafting-action clicked:generalKnowledge-action clicked:arcaneKnowledge-action clicked:vehicleHandling-action clicked:reflex-action clicked:finesse-action clicked:stealth-action clicked:contacts-action clicked:trickery-action clicked:survival-action clicked:rangedCombat-action clicked:sharpSenses-action clicked:charisma-action clicked:starHeritage-action clicked:willpower-action', async (eventInfo) => {
|
|
console.log(" Clicked ---action");
|
|
console.log(" triggerName " + eventInfo.triggerName);
|
|
|
|
let Attribute = "";
|
|
let AttributeBase = "";
|
|
let AttributeName = "";
|
|
|
|
switch (eventInfo.triggerName) {
|
|
case "clicked:bruteforce-action": Attribute = "bruteforce"; AttributeName = "Brute Force"; AttributeBase = "bruteForceBase"; break;
|
|
case "clicked:unarmedcombat-action": Attribute = "unarmedcombat"; AttributeName = "Unarmed Combat"; AttributeBase = "unarmedCombatBase"; break;
|
|
case "clicked:toughness-action": Attribute = "toughness"; AttributeName = "Toughness"; AttributeBase = "bruteForceBase"; break;
|
|
case "clicked:crafting-action": Attribute = "crafting"; AttributeName = "Crafting"; AttributeBase = "craftingBase"; break;
|
|
case "clicked:generalknowledge-action": Attribute = "generalKnowledge"; AttributeName = "General Knowledge"; AttributeBase = "generalKnowledgeBase"; break;
|
|
case "clicked:arcaneknowledge-action": Attribute = "arcaneKnowledge"; AttributeName = "Arcane Knowledge"; AttributeBase = "arcaneKnowledgeBase"; break;
|
|
case "clicked:vehiclehandling-action": Attribute = "vehicleHandling"; AttributeName = "Vehicle Handling"; AttributeBase = "vehicleHandlingBase"; break;
|
|
case "clicked:reflex-action": Attribute = "reflex"; AttributeName = "Reflex"; AttributeBase = "reflexBase"; break;
|
|
case "clicked:finesse-action": Attribute = "finesse"; AttributeName = "Finesse"; AttributeBase = "finesseBase"; break;
|
|
case "clicked:stealth-action": Attribute = "stealth"; AttributeName = "Stealth"; AttributeBase = "stealthBase"; break;
|
|
case "clicked:contacts-action": Attribute = "contacts"; AttributeName = "Contacts"; AttributeBase = "contactsBase"; break;
|
|
case "clicked:trickery-action": Attribute = "trickery"; AttributeName = "Trickery"; AttributeBase = "trickeryBase"; break;
|
|
case "clicked:survival-action": Attribute = "survival"; AttributeName = "Survival"; AttributeBase = "survivalBase"; break;
|
|
case "clicked:rangedcombat-action": Attribute = "rangedCombat"; AttributeName = "Ranged Combat"; AttributeBase = "rangedCombatBase"; break;
|
|
case "clicked:sharpsenses-action": Attribute = "sharpSenses"; AttributeName = "Sharp Senses"; AttributeBase = "sharpSensesBase"; break;
|
|
case "clicked:charisma-action": Attribute = "charisma"; AttributeName = "Charisma"; AttributeBase = "charismaBase"; break;
|
|
case "clicked:starheritage-action": Attribute = "starHeritage"; AttributeName = "Star Heritage"; AttributeBase = "starHeritageBase"; break;
|
|
case "clicked:willpower-action": Attribute = "willpower"; AttributeName = "Willpower"; AttributeBase = "willpowerBase"; break;
|
|
default:
|
|
Attribute = "None";
|
|
}
|
|
console.log(" Attribute: " + Attribute);
|
|
getAttrs([Attribute, AttributeBase, "suppressDL"], function(v){
|
|
let attributePool = parseInt(v[Attribute])||0;
|
|
let attributeBase = parseInt(v[AttributeBase])||0;
|
|
let SuppressDL = parseInt(v.suppressDL)||0;
|
|
let derivedStat = attributePool - attributeBase;
|
|
console.log("attributeRolled " + Attribute + " attributePool " + attributePool + " attributeBase: " + attributeBase + " derivedStat " + derivedStat + " SuppressDL " + SuppressDL);
|
|
let DicePool = String(attributePool);
|
|
console.log(" new DicePool " + DicePool );
|
|
DLrequest = "";
|
|
if ( SuppressDL != 1 ) {
|
|
DLrequest = " {{DL=[[?{Difficulty Level|10}]]}} " ;
|
|
}
|
|
console.log(" SuppressDL " + SuppressDL + " DLrequest: " + DLrequest);
|
|
|
|
const rollString = "&{template:check} {{name=@{character_name}}} {{SkillName="+ AttributeName +"}} {{Check=[[1]]}} {{Luck=[[1d20]]}} {{Destiny=[[1d20]]}} {{Base=[["+ String(attributeBase) +"]]}} "+ DLrequest +" {{Modifier=[[?{Modifiers|0})]]}} {{Roll=[["+ String(attributePool) +"]]}}";
|
|
// const rollString = "&{template:check} {{name=@{character_name}}} {{SkillName="+ AttributeName +"}} {{Check=[[1]]}} {{Luck=[[1d20]]}} {{Destiny=[[1d20]]}} {{Base=[["+ String(attributeBase) +"]]}} {{DL=[[?{Difficulty Level|10}]]}} {{Modifier=[[?{Modifiers|0})]]}} {{Roll=[["+ String(attributePool) +"]]}}";
|
|
|
|
startRoll(rollString, (results) => {
|
|
|
|
console.log(" Destiny Dice " + results.results.Destiny.dice );
|
|
console.log(" Destiny Result " + results.results.Destiny.result );
|
|
console.log(" Destiny Expression " + results.results.Destiny.expression );
|
|
console.log(" Luck Dice " + results.results.Luck.result );
|
|
console.log(" Base " + results.results.Base.result );
|
|
|
|
let Double = 0;
|
|
if (results.results.Destiny.result === results.results.Luck.result) {
|
|
console.log(" DOUBLES found: Destiny " + results.results.Destiny.result + " Luck " + results.results.Luck.result );
|
|
Double = 1;
|
|
}
|
|
|
|
let Result = results.results.Roll.result + results.results.Destiny.result + Double * results.results.Base.result;
|
|
|
|
console.log(" RollDice " + results.results.Roll.dice );
|
|
console.log(" RollResult " + results.results.Roll.result );
|
|
console.log(" RollExpression " + results.results.Roll.expression );
|
|
console.log(" Result " + Result );
|
|
|
|
const computed = Result;
|
|
console.log(" Roll " + results.results.Roll );
|
|
|
|
console.log(" computed " + computed );
|
|
|
|
finishRoll(
|
|
results.rollId,
|
|
{
|
|
/* Roll: computed, Crits: numCrits, Rage: brutals, */
|
|
Roll: computed
|
|
}
|
|
);
|
|
});
|
|
});
|
|
});
|
|
|
|
|
|
|
|
on('clicked:melee1-action clicked:melee2-action clicked:range1-action clicked:range2-action clicked:power1-action clicked:power2-action clicked:power3-action clicked:power4-action', async (eventInfo) => {
|
|
console.log(" Clicked Melee|Range|Powers-action");
|
|
console.log(" triggerName " + eventInfo.triggerName);
|
|
|
|
//value="&{template:melee} {{name=@{character_name} *attacks with* @{mWeaponName1}}} {{Roll=[[1d20+@{mBFFUc1}+@{mAccuracy1}+?{Weapon Bonus?|0}]]}} {{Damage=[[@{mDamage1}]]}} {{DL=[[@{mHit1}]]}} {{Luck=[[1d20]]}} {{Check=[[1]]}}"></button>
|
|
|
|
|
|
let Skill = "";
|
|
let Bonus = "0";
|
|
let WeaponName = "";
|
|
let Damage = "";
|
|
let DLrequest = "";
|
|
switch (eventInfo.triggerName) {
|
|
case "clicked:melee1-action": WeaponName = "@{mWeaponName1}"; Skill = "@{mBFFUc1}"; Bonus = "@{mAccuracy1}"; Damage = "mDamage1"; DLrequest = " {{DL=[[?{Difficulty Level|10}]]}} "; break;
|
|
case "clicked:melee2-action": WeaponName = "@{mWeaponName2}"; Skill = "@{mBFFUc2}"; Bonus = "@{mAccuracy2}"; Damage = "mDamage2"; DLrequest = " {{DL=[[?{Difficulty Level|10}]]}} "; break;
|
|
case "clicked:range1-action": WeaponName = "@{rWeaponName1}"; Skill = "@{rRangedCombat1}"; Bonus = "0" ; Damage = "rDamage1"; DLrequest = " {{DL=[[?{Difficulty Level|10}]]}} "; break;
|
|
case "clicked:range2-action": WeaponName = "@{rWeaponName2}"; Skill = "@{rRangedCombat2}"; Bonus = "0" ; Damage = "rDamage2"; DLrequest = " {{DL=[[?{Difficulty Level|10}]]}} "; break;
|
|
case "clicked:power1-action": WeaponName = "@{pName1}"; Skill = "@{starHeritage}"; Bonus = "0"; Damage = "starHeritage"; DLrequest = " {{DL=[[@{pDL1}]]}}"; break;
|
|
case "clicked:power2-action": WeaponName = "@{pName2}"; Skill = "@{starHeritage}"; Bonus = "0"; Damage = "starHeritage"; DLrequest = " {{DL=[[@{pDL2}]]}}"; break;
|
|
case "clicked:power3-action": WeaponName = "@{pName3}"; Skill = "@{starHeritage}"; Bonus = "0"; Damage = "starHeritage"; DLrequest = " {{DL=[[@{pDL3}]]}}"; break;
|
|
case "clicked:power4-action": WeaponName = "@{pName4}"; Skill = "@{starHeritage}"; Bonus = "0"; Damage = "starHeritage"; DLrequest = " {{DL=[[@{pDL4}]]}}"; break;
|
|
default:
|
|
WeaponName = "None";
|
|
}
|
|
console.log(" WeaponName: " + WeaponName + " Damage: " + Damage);
|
|
|
|
getAttrs([Damage, "suppressDL"], function(v){
|
|
let damageStr = v[Damage];
|
|
let dieSize = "0";
|
|
console.log(" damageStr: " + damageStr );
|
|
let SuppressDL = parseInt(v.suppressDL)||0;
|
|
|
|
console.log(" SuppressDL " + SuppressDL + " DLrequest: " + DLrequest);
|
|
|
|
if (eventInfo.triggerName != "clicked:power1-action" && eventInfo.triggerName != "clicked:power2-action" && eventInfo.triggerName != "clicked:power3-action" && eventInfo.triggerName != "clicked:power4-action"){
|
|
let idx = damageStr.toLowerCase().indexOf("d");
|
|
let length = damageStr.length;
|
|
let addition = damageStr.indexOf("+");
|
|
let subtraction = damageStr.indexOf("-");
|
|
if (addition != -1 && subtraction == -1) { length = addition };
|
|
if (addition == -1 && subtraction != -1) { length = subtraction };
|
|
if (addition != -1 && subtraction != -1) { length = addition < subtraction ? addition : subtraction };
|
|
dieSize = damageStr.substring(idx+1,length);
|
|
console.log("damageStr " + damageStr + " idx " + idx + " length " + length + " addition " + addition + " subtraction " + subtraction);
|
|
if ( SuppressDL == 1 ) {
|
|
DLrequest = "" ;
|
|
}
|
|
} else {
|
|
dieSize = damageStr;
|
|
}
|
|
|
|
console.log(" dieSize " + dieSize);
|
|
console.log(" WeaponName " + WeaponName);
|
|
console.log(" Skill " + Skill);
|
|
console.log(" Bonus " + Bonus);
|
|
console.log(" Damage " + Damage);
|
|
console.log(" DLrequest " + DLrequest);
|
|
|
|
const rollString ="&{template:melee} {{name=@{character_name} *attacks with* "+ WeaponName +"}} {{Roll=[["+Skill+"+"+Bonus+"+?{Weapon Bonus?|0}]]}} {{Damage=[[@{"+Damage+"}]]}}"+DLrequest+"{{Destiny=[[1d20]]}} {{Luck=[[1d20]]}} {{Check=[[1]]}}";
|
|
|
|
console.log(" rollString: " + rollString);
|
|
|
|
startRoll(rollString, (results) => {
|
|
|
|
console.log(" Destiny Dice " + results.results.Destiny.dice );
|
|
console.log(" Destiny Result " + results.results.Destiny.result );
|
|
console.log(" Destiny Expression " + results.results.Destiny.expression );
|
|
console.log(" Luck Dice " + results.results.Luck.result );
|
|
console.log(" Roll Result " + results.results.Roll.result );
|
|
|
|
let Critical = 0;
|
|
if (results.results.Destiny.result == "20") {
|
|
console.log(" CRITICAL: Destiny " + results.results.Destiny.result );
|
|
Critical = 1;
|
|
}
|
|
|
|
let Result = results.results.Roll.result + results.results.Destiny.result;
|
|
|
|
console.log(" RollDice " + results.results.Roll.dice );
|
|
console.log(" RollResult " + results.results.Roll.result );
|
|
console.log(" RollExpression " + results.results.Roll.expression );
|
|
console.log(" Result " + Result );
|
|
|
|
const computed = Result;
|
|
console.log(" Roll " + JSON.stringify(results.results.Roll) );
|
|
|
|
console.log(" computed " + computed );
|
|
|
|
finishRoll(
|
|
results.rollId,
|
|
{
|
|
Roll: computed
|
|
}
|
|
);
|
|
});
|
|
|
|
});
|
|
|
|
});
|
|
|
|
</script>
|