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

530 lines
25 KiB
HTML

<div class="3colrow image-bg">
<div class="transparent-bg">
<div class="col transparent-bg">
<div class="section white-bg yellow-border">
<label class="inline">
<span data-i18n="name-u" class="unifraktur">Name</span> <input type=text name="attr_char_name" class="mediumwidth" />
</label>
</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" />
<br />
<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>
<span class="lacquer" data-i18n="powers-u">Powers</span>
</label>
<div class="2colrow">
<div class="col">
<span class="note lacquer" data-i18n="powers-note-u">Presence+d4 times per day</span>
</div>
<div class="col">
<button type="roll" name="roll_powers" value="/em (@{char_name}) @{labelrolls} @{labeldailypowers}: [[1d4 + @{presence}]]"></button>
</div>
</div>
<label class="inline">
<span class="note monospace" data-i18n="powers-left-u">Remaining</span>
</label>
<input type="number" name="attr_power_total" value="0" />
<br />
<br />
<fieldset class="repeating_powers" name="repeating_powers">
<textarea type="text" name="attr_power" class="shorttextarea"></textarea>
</fieldset>
<br />
<label class="inline">
<span data-i18n="use-power-u">Use Power</span>
</label>
<button type="roll" value="/em (@{char_name}) @{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">
<div class="transparent-bg centered section">
<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" />
<br />
<button type="roll" value="https://scvmbirther.makedatanotlore.dev/"><span class="monospace note" data-i18n="scvmbirther-u">SCVMBIRTHER</span></button>
</div>
<div class="transparent-bg">
<div class="transparent-bg">
<label class="centered">
<span class="monospace all-caps" data-i18n="hit-points-u">Hit Points</span>
</label>
</div>
<div class="2colrow-custom transparent-bg">
<div class="col-custom transparent-bg col-right">
<label class="aligns-right">
<span class="monospace note" data-i18n="current-hit-points-u">Current<span>
</label>
<br />
<input name="attr_hp_curr" type="number" class="num" value="0" />
</div>
<div class="col-custom transparent-bg">
<label>
<span class="monospace note" data-i18n="max-hit-points-u">Max</span>
</label>
<br />
<input name="attr_hp_max" type="number" class="num" value="0" />
</div>
</div>
</div>
<div class="2colrow section white-bg">
<div class="col">
<label class="transform1">
<span class="lacquer" data-i18n="strength-u">Strength</span>
</label>
</div>
<div class="col">
<input type=number name="attr_strength" class="num" value="0" />
<button type="roll" value="/em (@{char_name}) @{labelrolls} @{labelstrength}: [[1d20 + @{strength}]]" name="roll_strength"></button>
</div>
</div>
<div class="section white-bg">
<div class="2colrow">
<div class="col">
<label class="transform2">
<span class="lacquer" data-i18n="agility-u">Agility</span>
</label>
</div>
<div class="col">
<input type=number name="attr_agility" class="num" value="0" />
<button type="roll" value="/em (@{char_name}) @{labelrolls} @{labelagility}: [[1d20 + @{agility}]] (DR+@{agidr})" name="roll_agility"></button>
</div>
</div>
<div class="2colrow">
<div class="col">
<label>
<span class="note" data-i18n="defense-u">Defense</span>
</label>
</div>
<div class="col">
<!--
<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="2colrow">
<div class="col">
<label>
<span class="note" data-i18n="initiative-u">Initiative</span>
</label>
<br />
<span class="note" data-i18n="initiative-note-u">Agility + d6</span>
</div>
<div class="col">
<button type="roll" value="/em (@{char_name}) @{labelrolls} @{labelinitiative}: [[@{agility} + 1d6 &{tracker}]]"></button>
</div>
</div>
</div>
<div class="2colrow section white-bg">
<div class="col">
<label class="transform3">
<span class="lacquer" data-i18n="presence-u">Presence</span>
</label>
</div>
<div class="col">
<input type=number name="attr_presence" class="num" value="0" />
<button type="roll" value="/em (@{char_name}) @{labelrolls} @{labelpresence}: [[1d20 + @{presence}]]" name="roll_presence"></button>
</div>
</div>
<div class="2colrow section white-bg">
<div class="col">
<label class="transform1">
<span class="lacquer" data-i18n="toughness-u">Toughness</span>
</label>
</div>
<div class="col">
<input type=number name="attr_toughness" class="num" value="0" />
<button type="roll" value="/em (@{char_name}) @{labelrolls} @{labeltoughness}: [[1d20 + @{toughness}]]" name="roll_toughness"></button>
</div>
</div>
<div class="section white-bg">
<label class="inline">
<span class="unifraktur" data-i18n="omens-u">Omens</span>
</label>
<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}) @{labelrolls} [[1d@{omens}]] @{labelomens}"></button>
<br />
<span class="note" data-i18n="omens-note-u">Maximum damage, Reroll, -d6 damage, DR-4, No Crit/Fumble</span>
</div>
<div class="section transparent-bg">
<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}) @{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" value="&{template:default} {{name=@{char_name} @{labelrolls} @{labelgettingbetter}}} {{@{labelhpcheck}:=[[6d10 > @{hp_max}]]}} {{@{labelhpgain}:=[[1d6]]}} {{@{labeldebris}:=[[1d6]]}} {{@{labelstrinc}=[[1d6 > @{strength}]]}} {{@{labelagiinc}=[[1d6 > @{agility}]]}} {{@{labelpreinc}=[[1d6 > @{presence}]]}} {{@{labeltouinc}=[[1d6 > @{toughness}]]}}" name="roll_gettingbetter"></button>
</div>
</div>
</div>
<div class="col transparent-bg">
<div class="section yellow-border white-bg">
<div>
<label>
<span class="monospace" data-i18n="weapons-u">Weapons</span>
</label>
</div>
<div class="2colrow">
<div class="col">
<label>
<span class="note" data-i18n="weapons-type-u">Type</span>
</label>
</div>
<div class="col">
<label>
<span class="note" data-i18n="weapons-damage-u">Dmg Die</span>
</label>
</div>
</div>
<div>
<fieldset class="repeating_weapons" name="repeating_weapons">
<input type=text name="attr_weaponname" class="short" />
<select name="attr_attacktype" class="short">
<option value="@{strength}">Melee</option>
<option value="@{presence}">Ranged</option>
</select>
<select name="attr_weapondamage" class="short">
<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>
<div class="section white-bg yellow-border">
<label>
<span data-i18n="armor-u" class="unifraktur">Armor</span>
</label>
<input name="attr_armor" class="inline-block" type="text" />
<br />
<label class="inline">
<span data-i18n="armor-tier-u">Tier</span>
</label>
<form class="inline-block" name="armortier">
<input name="attr_armortier" type="radio" value="0" checked>
<label for="0">0</label>
<input name="attr_armortier" type="radio" value="2">
<label for="2">1<br />-d2</label>
<input name="attr_armortier" type="radio" value="4">
<label for="4">2<br />-d4</label>
<input name="attr_armortier" type="radio" value="6">
<label for="6">3<br />-d6</label>
</form>
<label>
<span data-i18n="shield-u">Shield</span>
</label>
<form name="shield">
<input name="attr_shield" type="checkbox" value="0" checked>
<label for="0" data-i18n="no-u">No</label>
<input name="attr_shield" type="checkbox" value="1">
<label for="1" data-i18n="yes-u">Yes</label>
</form>
</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 class="inline">
<span class="note">Items carried</span>
</label>
<input name="attr_items_carried" type="number" value="0" />
<br />
<div class="2colrow">
<div class="col">
<label>
<span class="note" data-i18n="equipment-item-u">Item</span>
</label>
</div>
<div class="col">
<label>
<span class="note" data-i18n="equipment-item-large-u">Large?</span>
</label>
</div>
</div>
<fieldset class="repeating_equipment" name="repeating_equipment">
<textarea type=text name="attr_equipment" class="shorttextarea mediumwidth"></textarea>
<input name="attr_equipment_large" type="checkbox" value="large">
</fieldset>
</div>
<div class="section white-bg yellow-border">
<label><span class="unifraktur" data-i18n="silver-u">Silver</span> <input type="number" name="attr_silver" value="0" class="widenumber" /></label>
</div>
<div class="section white-bg">
<label class="centered">
<span class="monospace" data-i18n="miseries-u">Miseries</span>
</label>
<form>
<input name="attr_miseries" type="checkbox" value="1">
<label for="1">1</label>
<input name="attr_miseries" type="checkbox" value="2">
<label for="2">2</label>
<input name="attr_miseries" type="checkbox" value="3">
<label for="3">3</label>
<input name="attr_miseries" type="checkbox" value="4">
<label for="4">4</label>
<input name="attr_miseries" type="checkbox" value="5">
<label for="5">5</label>
<input name="attr_miseries" type="checkbox" value="6">
<label for="6">6</label>
<input name="attr_miseries" type="checkbox" value="7">
<label for="7">7</label>
</form>
<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}) @{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}) @{labelrolls} @{labelpsalm}: [[1d6]]:[[1d6]]" name="roll_psalm"></button>
</div>
-->
</div>
</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>
<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>
</div>
<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")
});
});
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
});
});
});
</script>