Files
roll20-character-sheets/Mork Borg/morkborgsheet.html
T

815 lines
43 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<main class="image-bg">
<div class="flex-container">
<div class="col transparent-bg">
<div class="section white-bg yellow-border">
<label class="inline">
<span data-i18n="name-u" class="unifraktur">Name</span>
</label>
<input type="text" name="attr_char_name" class="mediumwidth inline" />
<input type="text" name="attr_character_name" value="" class="no-display" />
</div>
<div class="section white-bg yellow-border">
<label>
<span class="monospace" data-i18n="description-u">Description</span>
</label>
<textarea name="attr_description"></textarea>
</div>
<div class="section white-bg yellow-border">
<label class="inline">
<span class="monospace" data-i18n="class-u">Class<span>
</label>
<input type=text name="attr_class" class="mediumwidth" />
<label>
<span class="note monospace" data-i18n="class-abilities-u">Class Abilities</span>
</label>
<textarea name="attr_class_abilities"></textarea>
</div>
<div class="section white-bg yellow-border">
<label class="transform3 inline">
<span class="lacquer" data-i18n="powers-u" style="font-size: 1.25em;">POWERS</span>
</label>
<span class="note lacquer" data-i18n="powers-note-u">Presence+d4 times per day</span>
<div class="old-2colrow white-bg">
<div class="col white-bg aligns-left">
<label>
<span class="note monospace" data-i18n="powers-left-u">Remaining</span>
</label>
<input type="number" name="attr_power_total" value="0" />
</div>
<div class="col white-bg">
<button type="roll" name="roll_powers" value="/em : @{char_name} %NEWLINE% @{labelrolls} @{labeldailypowers}: [[1d4 + @{presence}]]"></button>
</div>
</div>
<fieldset class="repeating_powers">
<textarea type="text" name="attr_power" class="shorttextarea"></textarea>
</fieldset>
<label class="inline">
<span data-i18n="use-power-u">Use Power</span>
</label>
<button type="roll" value="/em : @{char_name} %NEWLINE% @{labelrolls} @{labelpower}: [[1d20 + @{presence}]]"></button>
<br>
<span class="note monospace" data-i18n="powers-note2-u">Presence DR12, or -d2 HP and no Powers for 1 hr.</span>
</div>
</div>
<div class="col col-middle transparent-bg" style="position: relative;">
<div class="transparent-bg centered section" style="border:none; position: absolute; width: 100%;">
<img src="https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Mork%20Borg/images/mork-borg-logo-purple.png" alt="Mörk Borg RPG logo" />
<button type="roll" value="https://scvmbirther.makedatanotlore.dev/"><span class="monospace note" data-i18n="scvmbirther-u">SCVMBIRTHER</span></button>
</div>
<div class="transparent-bg white-text hit-points">
<label class="centered largewidth">
<span class="monospace all-caps" data-i18n="hit-points-u" style="position: relative;top: -1em;left: -1em;">Hit Points</span>
</label>
<div class="old-2colrow transparent-bg">
<div class="col-custom transparent-bg">
<label class="centered current-hit-points">
<input name="attr_hp_curr" type="number" class="num" value="0" />
<span class="monospace note" data-i18n="current-hit-points-u">Current</span>
</label>
</div>
<div class="col-custom transparent-bg">
<label class="centered max-hit-points">
<input name="attr_hp_max" type="number" class="num" value="0" />
<!-- sync with sheetworker for token progress bar for hp_curr -->
<input name="attr_hp_curr_max" type="hidden" value="0" />
<span class="monospace note" data-i18n="max-hit-points-u">Max</span>
</label>
</div>
</div>
</div>
<div class="section white-bg">
<div class="old-2colrow flex-container white-bg">
<div class="col white-bg">
<label class="transform2">
<span class="lacquer" data-i18n="strength-u">STRENGTH</span>
</label>
</div>
<div class="col white-bg">
<input type=number name="attr_strength" class="num" value="0" />
<button type="roll" value="/em : @{char_name} %NEWLINE% @{labelrolls} @{labelstrength}: [[1d20 + @{strength}]]" name="roll_strength"></button>
</div>
</div>
</div>
<div class="section white-bg">
<div class="old-2colrow flex-container white-bg">
<div class="col white-bg">
<label class="transform2">
<span class="lacquer" data-i18n="agility-u">AGILITY</span>
</label>
</div>
<div class="col white-bg">
<input type=number name="attr_agility" class="num" value="0" />
<button type="roll" value="/em : @{char_name} %NEWLINE% @{labelrolls} @{labelagility}: [[1d20 + @{agility}]] (DR+@{agidr})" name="roll_agility"></button>
</div>
</div>
<div class="old-2colrow flex-container white-bg aligns-right">
<div class="col white-bg">
<label>
<span class="note" data-i18n="defense-u">Defense</span>
</label>
</div>
<div class="col white-bg">
<!--
<button type="roll" value="&{template:default} {{name=@{char_name} @{labelrolls} @{labeldefense}}} {{Defend:=[[1d20 + @{agility}]] (DR +@{defdr})}} {{@{labelifhit}:=[[?{Enemy Damage|1d6} - 1d@{armortier} - @{shield}]] damage}} {{@{labelifcrit}:=@{labelcritmsg}.}} {{@{labeliffumble}:=@{labelfumblemsg} (@{labelcurrently} [[@{armortier}/2]]).}}" name="roll_defense2"></button>
-->
<button type="roll" value="&{template:defense} {{name=@{char_name} @{labelrolls} @{labeldefense}}} {{defend=@{labeldefense}: [[1d20 + @{agility}]] (DR +@{defdr})}} {{damage=@{labeldamage}: [[?{Enemy Damage|1d6} - 1d@{armortier} - @{shield}]]}} {{critmsg=@{labelcritmsg}.}} {{fumblemsg=@{labelfumblemsg} (@{labelcurrently} [[@{armortier}/2]]).}}" name="roll_defense2"></button>
</div>
</div>
<div class="old-2colrow flex-container white-bg aligns-right">
<div class="col white-bg">
<label>
<span class="note" data-i18n="initiative-u">Initiative</span>
</label>
<span class="note" data-i18n="initiative-note-u" style="margin-right: 1em;">Agility + d6</span>
</div>
<div class="col white-bg">
<button type="roll" value="/em : @{char_name} %NEWLINE% @{labelrolls} @{labelinitiative}: [[@{agility} + 1d6 &{tracker}]]"></button>
</div>
</div>
</div>
<div class="section white-bg">
<div class="old-2colrow flex-container white-bg">
<div class="col white-bg">
<label class="transform1">
<span class="lacquer" data-i18n="presence-u">PRESENCE</span>
</label>
</div>
<div class="col white-bg">
<input type=number name="attr_presence" class="num" value="0" />
<button type="roll" value="/em : @{char_name} %NEWLINE% @{labelrolls} @{labelpresence}: [[1d20 + @{presence}]]" name="roll_presence"></button>
</div>
</div>
</div>
<div class="section white-bg">
<div class="old-2colrow flex-container white-bg">
<div class="col white-bg">
<label class="transform2">
<span class="lacquer" data-i18n="toughness-u">TOUGHNESS</span>
</label>
</div>
<div class="col white-bg">
<input type=number name="attr_toughness" class="num" value="0" />
<button type="roll" value="/em : @{char_name} %NEWLINE% @{labelrolls} @{labeltoughness}: [[1d20 + @{toughness}]]" name="roll_toughness"></button>
</div>
</div>
</div>
<div class="section transparent-bg omens">
<label>
<span class="unifraktur" data-i18n="omens-u">Omens</span>
</label>
<br>
<input name="attr_omens_curr" type="number" class="short" value="0" />
<select name="attr_omens" class="short">
<option value="2" selected="selected">d2</option>
<option value="3">d3</option>
<option value="4">d4</option>
<option value="6">d6</option>
<option value="8">d8</option>
<option value="10">d10</option>
</select>
<button type="roll" value="/em : @{char_name} %NEWLINE% @{labelrolls} [[1d@{omens}]] @{labelomens}"></button>
<div class="omens-note">
<span class="note monospace" data-i18n="omens-note-u">Maximum damage, Reroll, -d6 damage, DR-4, No Crit/Fumble</span>
</div>
<div class="transparent-bg">
<label class="inline">
<span class="white-bg" data-i18n="rest-u">Getting Rest</span>
</label>
<select name="attr_hp_rest" class="mediumwidth">
<option value="+ 1d4" selected="selected">Catch your breath, have a drink (d4)</option>
<option value="+ 1d6">Get a full night's sleep (d6)</option>
<option value="- 1d4">Starve without food or drink (-d4)</option>
<option value="- 1d6">Suffer infection (-d6)</option>
</select>
<button type="roll" value="/em : @{char_name} %NEWLINE% @{labelrests}: [[0 @{hp_rest}]] HP"></button>
</div>
<div class="transparent-bg">
<label class="inline">
<span class="white-bg" data-i18n="getting-better-u">Getting Better</span>
</label>
<!-- <button type="roll" name="roll_gettingbetter" value="&{template:general} {{name=@{char_name} @{labelrolls} @{labelgettingbetter}}} {{@{labelhpcheck}:=[[6d10cs>@{hp|max}]]}} {{@{labelhpgain}:=[[1d6]]}} {{@{labeldebris}:=[[1d6]]}} {{@{labelstrinc}=[[1d6 > @{strength}]]}} {{@{labelagiinc}=[[1d6 > @{agility}]]}} {{@{labelpreinc}=[[1d6 > @{presence}]]}} {{@{labeltouinc}=[[1d6 > @{toughness}]]}}"></button> -->
<button type="roll" name="roll_gettingbetter" value="&{template:general} {{name=@{char_name} @{labelrolls} @{labelgettingbetter}}} {{labelhpcheck=[[ 6d10cs>@{hp|max} ]]}} {{labelhpgain=[[ 1d6 ]]}} {{labeldebris=[[ 1d6 ]]}} {{labelstrinc=[[ 1d6 > @{strength} ]]}} {{labelagiinc=[[ 1d6 > @{agility} ]]}} {{labelpreinc=[[ 1d6 > @{presence} ]]}} {{labeltouinc=[[ 1d6 > @{toughness} ]]}} {{targethp=[[ @{hp|max} ]]}} {{targetstr=[[ @{strength} ]]}} {{targetagi=[[ @{agility} ]]}} {{targetpre=[[ @{presence} ]]}} {{targettou=[[ @{toughness} ]]}} {{silver=[[ 3d10 ]]}}"></button>
</div>
</div>
</div>
<div class="col transparent-bg" style="margin-bottom: 5em;">
<div class="section yellow-border white-bg">
<label class="inline">
<span class="monospace" data-i18n="weapons-u">Weapons</span>
</label>
<div class="old-2colrow flex-container">
<div class="col white-bg">
<label>
<span class="note" data-i18n="weapons-type-u">Type</span>
</label>
</div>
<div class="col white-bg">
<label>
<span class="note" data-i18n="weapons-damage-u">Dmg Die</span>
</label>
</div>
</div>
<fieldset class="repeating_weapons">
<input type=text name="attr_weaponname" />
<select name="attr_attacktype">
<option value="@{strength}">Melee</option>
<option value="@{presence}">Ranged</option>
</select>
<select name="attr_weapondamage">
<option value="1d2" selected="selected">d2</option>
<option value="1d4">d4</option>
<option value="1d6">d6</option>
<option value="1d8">d8</option>
<option value="1d10">d10</option>
<option value="1d12">d12</option>
<option value="?{Damage die|1d2}">Special</option>
</select>
<!--
<button type="roll" value="&{template:default} {{name=@{char_name} @{labelattacks} @{labelwith} @{weaponname}}} {{@{labelattack}:=[[1d20 + @{attacktype}]]}} {{@{labeldamage}:=[[@{weapondamage} - ?{Enemy Armor|1d0} - ?{Enemy Shield?|no,0|yes,1}]]}} {{@{labelifcrit}:=@{labelfumblemsg}.}} {{@{labeliffumble}:=@{labelattackfumble}.}}" name="roll_strength2"></button>
-->
<button type="roll" value="&{template:attack} {{name=@{char_name} @{labelattacks} @{labelwith} @{weaponname}}} {{attack=@{labelattack}: [[1d20 + @{attacktype}]]}} {{damage=@{labeldamage}: [[@{weapondamage}]]}} {{critdmg=[[@{weapondamage}*2]]}} {{critmsg=@{labelfumblemsg}.}} {{dmgfumble=@{labelattackfumble}.}}" name="roll_strength2"></button>
</fieldset>
</div>
<div class="section white-bg yellow-border">
<span class="inline largewidth" style="padding-bottom: 1em;">
<label><span data-i18n="armor-u" class="unifraktur">Armor</span></label>
<input name="attr_armor" type="text">
</span>
<div role="radiogroup" class="armor-tier white-bg" style="margin-right: 0;">
<label class="inline"><span data-i18n="armor-tier-u">Tier</span></label>
<label><input name="attr_armortier" type="radio" value="0" checked><span>0</span></label>
<label><input name="attr_armortier" type="radio" value="2"><span>1</span></label>
<label><input name="attr_armortier" type="radio" value="4"><span>2</span></label>
<label><input name="attr_armortier" type="radio" value="6"><span>3</span></label>
<span>&nbsp;</span>
<span>&nbsp;---&nbsp;</span>
<span>-d2</span>
<span>-d4</span>
<span>-d6</span>
</div>
<label class="inline">
<span data-i18n="shield-u">Shield</span>
</label>
<span>
<input name="attr_shield" type="checkbox" value="0" checked>
<label data-i18n="no-u">No</label>
<input name="attr_shield" type="checkbox" value="1">
<label data-i18n="yes-u">Yes</label>
</span>
</div>
<div class="section white-bg yellow-border">
<label class="inline">
<span class="unifraktur" data-i18n="equipment-u">Equipment</span>
</label>
<span class="monospace italic note" data-i18n="equipment-note-u">Strength+8 items or DR+2 on Agility/Strength tests</span>
<br>
<label>
<span class="note">Items carried</span>
</label>
<label>
<input name="attr_items_carried" type="number" value="0" />
</label>
<div class="old-2colrow">
<div class="col white-bg">
<label>
<span class="note" data-i18n="equipment-item-u">Item</span>
</label>
</div>
<div class="col aligns-right white-bg">
<label>
<span class="note" data-i18n="equipment-item-large-u">Large?</span>
</label>
</div>
</div>
<fieldset class="repeating_equipment">
<textarea type=text name="attr_equipment" class="shorttextarea"></textarea>
<span>
<input name="attr_equipment_large" type="checkbox" value="large">
</span>
</fieldset>
</div>
<div class="section white-bg yellow-border">
<label class="inline">
<span class="unifraktur" data-i18n="silver-u">Silver</span>
</label>
<input type="number" name="attr_silver" value="0" class="medium" />
</div>
<div class="section white-bg yellow-border">
<label>
<span class="monospace" data-i18n="miseries-u">Miseries</span>
</label>
<div role="radiogroup" class="miseries white-bg">
<label><input name="attr_miseries" type="radio" value="0" checked><span>-</span></label>
<label><input name="attr_miseries" type="radio" value="1"><span>1</span></label>
<label><input name="attr_miseries" type="radio" value="2"><span>2</span></label>
<label><input name="attr_miseries" type="radio" value="3"><span>3</span></label>
<label><input name="attr_miseries" type="radio" value="4"><span>4</span></label>
<label><input name="attr_miseries" type="radio" value="5"><span>5</span></label>
<label><input name="attr_miseries" type="radio" value="6"><span>6</span></label>
<label><input name="attr_miseries" type="radio" value="7"><span>7</span></label>
</div>
<!-- Disabled by playtester request but retained in case it gets reimplemented in the future
<div>
<label class="inline">
<span class="" data-i18n="dawn-misery-u">Dawn Roll</span>
</label>
<select name="attr_daily" class="short">
<option value="2" selected="selected">t2</option>
<option value="6">t6</option>
<option value="10">t10</option>
<option value="20">t20</option>
<option value="100">t100</option>
</select>
<button type="roll" value="/em : @{char_name} %NEWLINE% @{labelrolls} @{labeldailymisery}: [[1d@{daily}]]" name="roll_dailymisery"></button>
</div>
<div>
<label class="inline">
<span data-i18n="psalm-u">Psalm Roll</span>
</label>
<button type="roll" value="/em : @{char_name} %NEWLINE% @{labelrolls} @{labelpsalm}: [[1d6]]:[[1d6]]" name="roll_psalm"></button>
</div>
-->
</div>
</div>
</div>
<rolltemplate class="sheet-rolltemplate-attack">
<div class="sheet-container sheet-yellow-bg">
<div>
<h1>{{name}}</h1>
</div>
<div>
<span>{{attack}}</span>
{{#rollWasCrit() attack}}
<span data-i18n="crit-template" class="sheet-bold-text">CRIT</span>
{{/rollWasCrit() attack}}
{{#rollWasFumble() attack}}
<span data-i18n="fumble-template" class="sheet-bold-text">FUMBLE</span>
{{/rollWasFumble() attack}}
</div>
{{#^rollWasCrit() attack}}
<div>
<span>{{damage}}</span>
</div>
{{/^rollWasCrit() attack}}
{{#rollWasCrit() attack}}
<div>
<span><span data-i18n="crit-damage-template">Crit Damage</span>: {{critdmg}}</span>
</div>
<div class="sheet-crit">
<span>{{critmsg}}</span>
</div>
{{/rollWasCrit() attack}}
{{#rollWasFumble() attack}}
<div class="sheet-crit-black">
<span class="lacquer"><b>{{dmgfumble}}</b></span>
</div>
{{/rollWasFumble() attack}}
</div>
</rolltemplate>
<rolltemplate class="sheet-rolltemplate-defense">
<div class="sheet-container sheet-yellow-bg">
<div>
<h1>{{name}}</h1>
</div>
<div>
<span>{{defend}}</span>
{{#rollWasCrit() defend}}
<span data-i18n="crit-template" class="sheet-bold-text">CRIT</span>
{{/rollWasCrit() defend}}
{{#rollWasFumble() defend}}
<span data-i18n="fumble-template" class="sheet-bold-text">FUMBLE</span>
{{/rollWasFumble() defend}}
</div>
{{#damage}}
<div>
<span>{{damage}}</span>
</div>
{{/damage}}
{{#rollWasCrit() defend}}
<div class="sheet-crit">
<span>{{critmsg}}</span>
</div>
{{/rollWasCrit() defend}}
{{#rollWasFumble() defend}}
<div class="sheet-crit-black">
<span>{{fumblemsg}}</span>
</div>
{{/rollWasFumble() defend}}
</div>
</rolltemplate>
<rolltemplate class="sheet-rolltemplate-general">
<div class="sheet-container sheet-yellow-bg">
<div>
<h1>{{name}}</h1>
</div>
<!-- Getting Better HP -->
<!-- IF 6d10 ≥ current max HP → BETTER -->
{{#^rollLess() labelhpcheck targethp}}
{{#labelhpcheck}}
<div class="sheet-aligns-right"><span class="sheet-bold-text" data-i18n="labelhpcheck"></span>:<span>{{labelhpcheck}}</span></div>
<div><span class="sheet-bold-text" data-i18n="getting-better-better-u">BETTER...</span><span data-i18n="labelhpgain"></span>:<span>{{labelhpgain}}</span></div>
{{/labelhpcheck}}
{{/^rollLess() labelhpcheck targethp}}
<!-- ELSE the roll of 6d10 is less than current max hp, so No Change -->
{{#rollLess() labelhpcheck targethp}}
{{#labelhpcheck}}
<div class="sheet-aligns-right"><span class="sheet-bold-text" data-i18n="labelhpcheck"></span>:<span>{{labelhpcheck}}</span></div>
<div><span class="sheet-bold-text" data-i18n="getting-better-same-u">NO CHANGE...</span></div>
{{/labelhpcheck}}
{{/rollLess() labelhpcheck targethp}}
<!-- Getting Better DEBRIS -->
{{#rollGreater() labeldebris 3}}
{{#rollTotal() labeldebris 4}}
{{#labeldebris}}
<div class="sheet-aligns-right"><span class="sheet-bold-text" data-i18n="labeldebris"></span>:<span>{{labeldebris}}</span></div>
<div><span class="sheet-bold-text" data-i18n="getting-better-better-u">BETTER...</span><span data-i18n="silver-u">Silver</span>(3d10):&nbsp;{{silver}}</div>
{{/labeldebris}}
{{/rollTotal() labeldebris 4}}
{{#rollTotal() labeldebris 5}}
{{#labeldebris}}
<div class="sheet-aligns-right"><span class="sheet-bold-text" data-i18n="labeldebris"></span>:<span>{{labeldebris}}</span></div>
<div><span class="sheet-bold-text" data-i18n="getting-better-better-u">BETTER...</span><span data-i18n="scroll-unclean">Unclean Scroll</span></div>
{{/labeldebris}}
{{/rollTotal() labeldebris 5}}
{{#rollTotal() labeldebris 6}}
{{#labeldebris}}
<div class="sheet-aligns-right"><span class="sheet-bold-text" data-i18n="labeldebris"></span>:<span>{{labeldebris}}</span></div>
<div><span class="sheet-bold-text" data-i18n="getting-better-better-u">BETTER...</span><span data-i18n="scroll-sacred">Sacred Scroll</span></div>
{{/labeldebris}}
{{/rollTotal() labeldebris 6}}
{{/rollGreater() labeldebris 3}}
{{#^rollGreater() labeldebris 3}}
{{#labeldebris}}
<div class="sheet-aligns-right"><span class="sheet-bold-text" data-i18n="labeldebris"></span>:<span>{{labeldebris}}</span></div>
<div><span class="sheet-bold-text" data-i18n="getting-better-nothing-u">NOTHING</span></div>
{{/labeldebris}}
{{/^rollGreater() labeldebris 3}}
<!-- Getting Better ABILITIES -->
<!-- Inputs:
target*** = current ability modifier (3..+6)
label***inc = d6 roll result (16)
Rules:
If target*** > 1 (i.e., +2..+6):
• If roll < target*** → WORSE (1)
• If roll ≥ target***:
If target*** < +6 → BETTER (+1)
Else (target*** ≥ +6) → MAXED OUT, NO CHANGE
If 3 ≤ target*** ≤ +1:
• If roll ≥ 2 → BETTER (+1)
• If roll = 1:
If target*** > 3 → WORSE (1)
Else (target*** ≤ 3) → CAPPED AT -3, NO CHANGE
Helper notes used here:
rollGreater(A,B) = A > B
rollLess(A,B) = A < B
^rollLess(A,B) = A ≥ B (inverted)
^rollGreater(A,B) = A ≤ B (inverted)
-->
<!-- STRENGTH -->
<!-- IF current ability > 1 -->
{{#rollGreater() targetstr 1}}
<!-- IF roll < current ability → WORSE (1) -->
{{#rollLess() labelstrinc targetstr}}
<div class="sheet-aligns-right"><span class="sheet-bold-text" data-i18n="labelstrinc"></span>:<span>{{labelstrinc}}</span></div>
<div><span class="sheet-bold-text" data-i18n="getting-better-worse-u">WORSE...</span><span data-i18n="decrease">Decrease by</span><strong> -1</strong></div>
{{/rollLess() labelstrinc targetstr}}
<!-- ELSE (roll ≥ current ability) -->
{{#^rollLess() labelstrinc targetstr}}
<!-- IF current ability < +6 → BETTER (+1) -->
{{#rollLess() targetstr 6}}
<div class="sheet-aligns-right"><span class="sheet-bold-text" data-i18n="labelstrinc"></span>:<span>{{labelstrinc}}</span></div>
<div><span class="sheet-bold-text" data-i18n="getting-better-better-u">BETTER...</span><span data-i18n="increase">Increase by</span><strong> +1</strong></div>
{{/rollLess() targetstr 6}}
<!-- ELSE (current ability ≥ +6) → NO CHANGE -->
{{#^rollLess() targetstr 6}}
<div class="sheet-aligns-right"><span class="sheet-bold-text" data-i18n="labelstrinc"></span>:<span>{{labelstrinc}}</span></div>
<div><span class="sheet-bold-text" data-i18n="getting-better-same-u">NO CHANGE...</span><span data-i18n="ability-maximum-abbrv">Max +6</span></div>
{{/^rollLess() targetstr 6}}
{{/^rollLess() labelstrinc targetstr}}
{{/rollGreater() targetstr 1}}
<!-- ELSE (current ability ≤ 1) -->
{{#^rollGreater() targetstr 1}}
<!-- IF roll ≥ 2 → BETTER (+1) -->
{{#rollGreater() labelstrinc 1}}
<div class="sheet-aligns-right"><span class="sheet-bold-text" data-i18n="labelstrinc"></span>:<span>{{labelstrinc}}</span></div>
<div><span class="sheet-bold-text" data-i18n="getting-better-better-u">BETTER...</span><span data-i18n="increase">Increase by</span><strong> +1</strong></div>
{{/rollGreater() labelstrinc 1}}
<!-- ELSE (roll = 1) → use Not Greater Than to catch ≤1 on a d6 -->
{{#^rollGreater() labelstrinc 1}}
<!-- IF current ability > 3 → WORSE (1) -->
{{#rollGreater() targetstr -3}}
<div class="sheet-aligns-right"><span class="sheet-bold-text" data-i18n="labelstrinc"></span>:<span>{{labelstrinc}}</span></div>
<div><span class="sheet-bold-text" data-i18n="getting-better-worse-u">WORSE...</span><span data-i18n="decrease">Decrease by</span><strong> -1</strong></div>
{{/rollGreater() targetstr -3}}
<!-- ELSE (current ability ≤ 3) → CAPPED AT -3, NO CHANGE -->
{{#^rollGreater() targetstr -3}}
<div class="sheet-aligns-right"><span class="sheet-bold-text" data-i18n="labelstrinc"></span>:<span>{{labelstrinc}}</span></div>
<div><span class="sheet-bold-text" data-i18n="getting-better-same-u">NO CHANGE...</span><span data-i18n="ability-minimum-abbrv">Min -3</span></div>
{{/^rollGreater() targetstr -3}}
{{/^rollGreater() labelstrinc 1}}
{{/^rollGreater() targetstr 1}}
<!-- AGILITY -->
<!-- IF current ability > 1 -->
{{#rollGreater() targetagi 1}}
<!-- IF roll < current ability → WORSE (1) -->
{{#rollLess() labelagiinc targetagi}}
<div class="sheet-aligns-right"><span class="sheet-bold-text" data-i18n="labelagiinc"></span>:<span>{{labelagiinc}}</span></div>
<div><span class="sheet-bold-text" data-i18n="getting-better-worse-u">WORSE...</span><span data-i18n="decrease">Decrease by</span><strong> -1</strong></div>
{{/rollLess() labelagiinc targetagi}}
<!-- ELSE (roll ≥ current ability) -->
{{#^rollLess() labelagiinc targetagi}}
<!-- IF current ability < +6 → BETTER (+1) -->
{{#rollLess() targetagi 6}}
<div class="sheet-aligns-right"><span class="sheet-bold-text" data-i18n="labelagiinc"></span>:<span>{{labelagiinc}}</span></div>
<div><span class="sheet-bold-text" data-i18n="getting-better-better-u">BETTER...</span><span data-i18n="increase">Increase by</span><strong> +1</strong></div>
{{/rollLess() targetagi 6}}
<!-- ELSE (current ability ≥ +6) → NO CHANGE -->
{{#^rollLess() targetagi 6}}
<div class="sheet-aligns-right"><span class="sheet-bold-text" data-i18n="labelagiinc"></span>:<span>{{labelagiinc}}</span></div>
<div><span class="sheet-bold-text" data-i18n="getting-better-same-u">NO CHANGE...</span><span data-i18n="ability-maximum-abbrv">Max +6</span></div>
{{/^rollLess() targetagi 6}}
{{/^rollLess() labelagiinc targetagi}}
{{/rollGreater() targetagi 1}}
<!-- ELSE (current ability ≤ 1) -->
{{#^rollGreater() targetagi 1}}
<!-- IF roll ≥ 2 → BETTER (+1) -->
{{#rollGreater() labelagiinc 1}}
<div class="sheet-aligns-right"><span class="sheet-bold-text" data-i18n="labelagiinc"></span>:<span>{{labelagiinc}}</span></div>
<div><span class="sheet-bold-text" data-i18n="getting-better-better-u">BETTER...</span><span data-i18n="increase">Increase by</span><strong> +1</strong></div>
{{/rollGreater() labelagiinc 1}}
<!-- ELSE (roll = 1) -->
{{#^rollGreater() labelagiinc 1}}
<!-- IF current ability > 3 → WORSE (1) -->
{{#rollGreater() targetagi -3}}
<div class="sheet-aligns-right"><span class="sheet-bold-text" data-i18n="labelagiinc"></span>:<span>{{labelagiinc}}</span></div>
<div><span class="sheet-bold-text" data-i18n="getting-better-worse-u">WORSE...</span><span data-i18n="decrease">Decrease by</span><strong> -1</strong></div>
{{/rollGreater() targetagi -3}}
<!-- ELSE (current ability ≤ 3) → NO CHANGE -->
{{#^rollGreater() targetagi -3}}
<div class="sheet-aligns-right"><span class="sheet-bold-text" data-i18n="labelagiinc"></span>:<span>{{labelagiinc}}</span></div>
<div><span class="sheet-bold-text" data-i18n="getting-better-same-u">NO CHANGE...</span><span data-i18n="ability-minimum-abbrv">Min -3</span></div>
{{/^rollGreater() targetagi -3}}
{{/^rollGreater() labelagiinc 1}}
{{/^rollGreater() targetagi 1}}
<!-- PRESENCE -->
<!-- IF current ability > 1 -->
{{#rollGreater() targetpre 1}}
<!-- IF roll < current ability → WORSE (1) -->
{{#rollLess() labelpreinc targetpre}}
<div class="sheet-aligns-right"><span class="sheet-bold-text" data-i18n="labelpreinc"></span>:<span>{{labelpreinc}}</span></div>
<div><span class="sheet-bold-text" data-i18n="getting-better-worse-u">WORSE...</span><span data-i18n="decrease">Decrease by</span><strong> -1</strong></div>
{{/rollLess() labelpreinc targetpre}}
<!-- ELSE (roll ≥ current ability) -->
{{#^rollLess() labelpreinc targetpre}}
<!-- IF current ability < +6 → BETTER (+1) -->
{{#rollLess() targetpre 6}}
<div class="sheet-aligns-right"><span class="sheet-bold-text" data-i18n="labelpreinc"></span>:<span>{{labelpreinc}}</span></div>
<div><span class="sheet-bold-text" data-i18n="getting-better-better-u">BETTER...</span><span data-i18n="increase">Increase by</span><strong> +1</strong></div>
{{/rollLess() targetpre 6}}
<!-- ELSE (current ability ≥ +6) → NO CHANGE -->
{{#^rollLess() targetpre 6}}
<div class="sheet-aligns-right"><span class="sheet-bold-text" data-i18n="labelpreinc"></span>:<span>{{labelpreinc}}</span></div>
<div><span class="sheet-bold-text" data-i18n="getting-better-same-u">NO CHANGE...</span><span data-i18n="ability-maximum-abbrv">Max +6</span></div>
{{/^rollLess() targetpre 6}}
{{/^rollLess() labelpreinc targetpre}}
{{/rollGreater() targetpre 1}}
<!-- ELSE (current ability ≤ 1) -->
{{#^rollGreater() targetpre 1}}
<!-- IF roll ≥ 2 → BETTER (+1) -->
{{#rollGreater() labelpreinc 1}}
<div class="sheet-aligns-right"><span class="sheet-bold-text" data-i18n="labelpreinc"></span>:<span>{{labelpreinc}}</span></div>
<div><span class="sheet-bold-text" data-i18n="getting-better-better-u">BETTER...</span><span data-i18n="increase">Increase by</span><strong> +1</strong></div>
{{/rollGreater() labelpreinc 1}}
<!-- ELSE (roll = 1) -->
{{#^rollGreater() labelpreinc 1}}
<!-- IF current ability > 3 → WORSE (1) -->
{{#rollGreater() targetpre -3}}
<div class="sheet-aligns-right"><span class="sheet-bold-text" data-i18n="labelpreinc"></span>:<span>{{labelpreinc}}</span></div>
<div><span class="sheet-bold-text" data-i18n="getting-better-worse-u">WORSE...</span><span data-i18n="decrease">Decrease by</span><strong> -1</strong></div>
{{/rollGreater() targetpre -3}}
<!-- ELSE (current ability ≤ 3) → NO CHANGE -->
{{#^rollGreater() targetpre -3}}
<div class="sheet-aligns-right"><span class="sheet-bold-text" data-i18n="labelpreinc"></span>:<span>{{labelpreinc}}</span></div>
<div><span class="sheet-bold-text" data-i18n="getting-better-same-u">NO CHANGE...</span><span data-i18n="ability-minimum-abbrv">Min -3</span></div>
{{/^rollGreater() targetpre -3}}
{{/^rollGreater() labelpreinc 1}}
{{/^rollGreater() targetpre 1}}
<!-- TOUGHNESS -->
<!-- IF current ability > 1 -->
{{#rollGreater() targettou 1}}
<!-- IF roll < current ability → WORSE (1) -->
{{#rollLess() labeltouinc targettou}}
<div class="sheet-aligns-right"><span class="sheet-bold-text" data-i18n="labeltouinc"></span>:<span>{{labeltouinc}}</span></div>
<div><span class="sheet-bold-text" data-i18n="getting-better-worse-u">WORSE...</span><span data-i18n="decrease">Decrease by</span><strong> -1</strong></div>
{{/rollLess() labeltouinc targettou}}
<!-- ELSE (roll ≥ current ability) -->
{{#^rollLess() labeltouinc targettou}}
<!-- IF current ability < +6 → BETTER (+1) -->
{{#rollLess() targettou 6}}
<div class="sheet-aligns-right"><span class="sheet-bold-text" data-i18n="labeltouinc"></span>:<span>{{labeltouinc}}</span></div>
<div><span class="sheet-bold-text" data-i18n="getting-better-better-u">BETTER...</span><span data-i18n="increase">Increase by</span><strong> +1</strong></div>
{{/rollLess() targettou 6}}
<!-- ELSE (current ability ≥ +6) → NO CHANGE -->
{{#^rollLess() targettou 6}}
<div class="sheet-aligns-right"><span class="sheet-bold-text" data-i18n="labeltouinc"></span>:<span>{{labeltouinc}}</span></div>
<div><span class="sheet-bold-text" data-i18n="getting-better-same-u">NO CHANGE...</span><span data-i18n="ability-maximum-abbrv">Max +6</span></div>
{{/^rollLess() targettou 6}}
{{/^rollLess() labeltouinc targettou}}
{{/rollGreater() targettou 1}}
<!-- ELSE (current ability ≤ 1) -->
{{#^rollGreater() targettou 1}}
<!-- IF roll ≥ 2 → BETTER (+1) -->
{{#rollGreater() labeltouinc 1}}
<div class="sheet-aligns-right"><span class="sheet-bold-text" data-i18n="labeltouinc"></span>:<span>{{labeltouinc}}</span></div>
<div><span class="sheet-bold-text" data-i18n="getting-better-better-u">BETTER...</span><span data-i18n="increase">Increase by</span><strong> +1</strong></div>
{{/rollGreater() labeltouinc 1}}
<!-- ELSE (roll = 1) -->
{{#^rollGreater() labeltouinc 1}}
<!-- IF current ability > 3 → WORSE (1) -->
{{#rollGreater() targettou -3}}
<div class="sheet-aligns-right"><span class="sheet-bold-text" data-i18n="labeltouinc"></span>:<span>{{labeltouinc}}</span></div>
<div><span class="sheet-bold-text" data-i18n="getting-better-worse-u">WORSE...</span><span data-i18n="decrease">Decrease by</span><strong> -1</strong></div>
{{/rollGreater() targettou -3}}
<!-- ELSE (current ability ≤ 3) → NO CHANGE -->
{{#^rollGreater() targettou -3}}
<div class="sheet-aligns-right"><span class="sheet-bold-text" data-i18n="labeltouinc"></span>:<span>{{labeltouinc}}</span></div>
<div><span class="sheet-bold-text" data-i18n="getting-better-same-u">NO CHANGE...</span><span data-i18n="ability-minimum-abbrv">Min -3</span></div>
{{/^rollGreater() targettou -3}}
{{/^rollGreater() labeltouinc 1}}
{{/^rollGreater() targettou 1}}
{{#allprops() name labelhpcheck labelhpgain labeldebris labelstrinc labelagiinc labelpreinc labeltouinc targethp targetstr targetagi targetpre targettou silver}}
<div>
<span>{{key}}</span>
<span>{{value}}</span>
</div>
{{/allprops() name labelhpcheck labelhpgain labeldebris labelstrinc labelagiinc labelpreinc labeltouinc targethp targetstr targetagi targetpre targettou silver}}
</div>
</rolltemplate>
<div class="no-display">
<span class="no-display" data-i18n="labeldailypowers">daily powers</span>
<span class="no-display" data-i18n="labelpower">Power</span>
<span class="no-display" data-i18n="labelstrength">Strength</span>
<span class="no-display" data-i18n="labelagility">Agility</span>
<span class="no-display" data-i18n="labeldefense">Defense</span>
<span class="no-display" data-i18n="labelinitiative">Initiative</span>
<span class="no-display" data-i18n="labelpresence">Presence</span>
<span class="no-display" data-i18n="labeltoughness">Toughness</span>
<span class="no-display" data-i18n="labelomens">Omens</span>
<span class="no-display" data-i18n="labelrests">rests</span>
<span class="no-display" data-i18n="labelgettingbetter">Getting Better</span>
<span class="no-display" data-i18n="labelhpcheck">HP check</span>
<span class="no-display" data-i18n="labelhpgain">HP gain</span>
<span class="no-display" data-i18n="labeldebris">Debris roll</span>
<span class="no-display" data-i18n="labelstrinc">Strength increase?</span>
<span class="no-display" data-i18n="labelagiinc">Agility increase?</span>
<span class="no-display" data-i18n="labelpreinc">Presence increase?</span>
<span class="no-display" data-i18n="labeltouinc">Toughness increase?</span>
<span class="no-display" data-i18n="labelrolls">rolls</span>
<span class="no-display" data-i18n="labelattacks">attacks</span>
<span class="no-display" data-i18n="labelwith">with</span>
<span class="no-display" data-i18n="labelifhit">If hit</span>
<span class="no-display" data-i18n="labelifcrit">If crit</span>
<span class="no-display" data-i18n="labelcritmsg">PC gains a free attack</span>
<span class="no-display" data-i18n="labeliffumble">If fumble</span>
<span class="no-display" data-i18n="labelfumblemsg">Double damage, armor/protection reduced one tier</span>
<span class="no-display" data-i18n="labelattack">Attack</span>
<span class="no-display" data-i18n="labelattackfumble">Weapon breaks or is lost</span>
<span class="no-display" data-i18n="labeldamage">Damage</span>
<span class="no-display" data-i18n="labelcurrently">currently</span>
<span class="no-display" data-i18n="labeldailymisery">for the day's potential misery</span>
<span class="no-display" data-i18n="labelpsalm">a psalm</span>
<span class="no-display" data-i18n="ability-maximum-abbrv">Max +6</span>
<span class="no-display" data-i18n="ability-minimum-abbrv">Min at -3</span>
<span class="no-display" data-i18n="decrease">Decrease by</span>
<span class="no-display" data-i18n="getting-better-better-u">BETTER...</span>
<span class="no-display" data-i18n="getting-better-nothing-u">NOTHING</span>
<span class="no-display" data-i18n="getting-better-same-u">NO CHANGE...</span>
<span class="no-display" data-i18n="getting-better-worse-u">WORSE...</span>
<span class="no-display" data-i18n="increase">Increase by</span>
<span class="no-display" data-i18n="scroll-unclean">Unclean Scroll</span>
<span class="no-display" data-i18n="scroll-sacred">Sacred Scroll</span>
</div>
</main>
<script type="text/worker">
/* When I can figure out how to successfully automate the below, I will. For the time being, it seems to elude me--which I know is just due to some JS-related mental hiccup on my part. */
on('sheet:opened', function (eventInfo) {
setAttrs({
['labeldailypowers']: getTranslationByKey('labeldailypowers'),
['labelpower']: getTranslationByKey('labelpower'),
['labelstrength']: getTranslationByKey('labelstrength'),
['labelagility']: getTranslationByKey('labelagility'),
['labeldefense']: getTranslationByKey('labeldefense'),
['labelinitiative']: getTranslationByKey('labelinitiative'),
['labelpresence']: getTranslationByKey('labelpresence'),
['labeltoughness']: getTranslationByKey('labeltoughness'),
['labelomens']: getTranslationByKey('labelomens'),
['labelrests']: getTranslationByKey('labelrests'),
['labelgettingbetter']: getTranslationByKey('labelgettingbetter'),
['labelhpcheck']: getTranslationByKey('labelhpcheck'),
['labelhpgain']: getTranslationByKey('labelhpgain'),
['labeldebris']: getTranslationByKey('labeldebris'),
['labelstrinc']: getTranslationByKey('labelstrinc'),
['labelagiinc']: getTranslationByKey('labelagiinc'),
['labelpreinc']: getTranslationByKey('labelpreinc'),
['labeltouinc']: getTranslationByKey('labeltouinc'),
['labelrolls']: getTranslationByKey('labelrolls'),
['labelattacks']: getTranslationByKey('labelattacks'),
['labelwith']: getTranslationByKey('labelwith'),
['labelifhit']: getTranslationByKey('labelifhit'),
['labelifcrit']: getTranslationByKey('labelifcrit'),
['labelcritmsg']: getTranslationByKey('labelcritmsg'),
['labeliffumble']: getTranslationByKey('labeliffumble'),
['labelfumblemsg']: getTranslationByKey('labelfumblemsg'),
['labelattack']: getTranslationByKey('labelattack'),
['labelattackfumble']: getTranslationByKey('labelattackfumble'),
['labeldamage']: getTranslationByKey('labeldamage'),
['labelcurrently']: getTranslationByKey('labelcurrently'),
['labeldailymisery']: getTranslationByKey('labeldailymisery'),
['labelpsalm']: getTranslationByKey('labelpsalm'),
['ability-maximum-abbrv']: getTranslationByKey('ability-maximum-abbrv'),
['ability-minimum-abbrv']: getTranslationByKey('ability-minimum-abbrv'),
['decrease']: getTranslationByKey('decrease'),
['getting-better-better-u']: getTranslationByKey('getting-better-better-u'),
['getting-better-nothing-u']: getTranslationByKey('getting-better-nothing-u'),
['getting-better-same-u']: getTranslationByKey('getting-better-same-u'),
['getting-better-worse-u']: getTranslationByKey('getting-better-worse-u'),
['increase']: getTranslationByKey('increase'),
['scroll-unclean']: getTranslationByKey('scroll-unclean'),
['scroll-sacred']: getTranslationByKey('scroll-sacred'),
});
});
on('change:armortier sheet:opened', function () {
getAttrs(['armortier'], function (values) {
const armorstat_score = parseInt(values['armortier'], 10) || 0;
var armor_agi_modifier = 0;
var armor_def_modifier = 0;
if (armorstat_score == 6) {
armor_agi_modifier = 4;
armor_def_modifier = 2;
} else if (armorstat_score == 4) {
armor_def_modifier = 2;
armor_agi_modifier = 2;
} else {
armor_agi_modifier = 0;
armor_def_modifier = 0;
}
setAttrs({
['agidr']: armor_agi_modifier,
['defdr']: armor_def_modifier,
});
});
});
// sync name change to character_name
// enables token name nameplate
on('change:char_name', (eventInfo) => {
setAttrs({
character_name: eventInfo.newValue,
silent: true,
});
});
// sync hp_curr_max to hp_max
// enables token progress bar
on('sheet:opened change:hp_max', (eventInfo) => {
getAttrs(['hp_max'], (v) => {
const output = {};
const hpMax = +v['hp_max'] || 0;
output.hp_curr_max = hpMax;
setAttrs(output, {silent: true});
});
});
</script>