initial commit for Mörk Borg RPG community sheet (#6457)
* initial commit for Mork Borg RPG community sheet * revising initial commit to reflect community suggestions/improvements to sheet functionality
This commit is contained in:
Binary file not shown.
|
After Width: | Height: | Size: 15 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 227 KiB |
@@ -0,0 +1,453 @@
|
||||
<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 "/>
|
||||
<br />
|
||||
<br />
|
||||
<fieldset class="repeating_powers" name="repeating_powers">
|
||||
<input type="text" name="attr_power">
|
||||
</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 transparent-bg">
|
||||
|
||||
<div class="black-bg centered section">
|
||||
<img src="https://raw.githubusercontent.com/brocktopus/roll20-character-sheets/morkborg/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">
|
||||
<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">
|
||||
</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">
|
||||
</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" />
|
||||
<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"/>
|
||||
<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>
|
||||
</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]]"></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"/>
|
||||
<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"/>
|
||||
<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 type="number" class="short" />
|
||||
<select name="attr_omens" class="short">
|
||||
<option value="2" selected="selected">d2</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>
|
||||
<span data-i18n="rest-u">Getting Rest</span>
|
||||
</label>
|
||||
<br />
|
||||
<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 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}]]}} {{@{labelifcrit}:=@{labelfumblemsg}.}} {{@{labeliffumble}:=@{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" />
|
||||
<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 type="number" />
|
||||
<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">
|
||||
<input type=text name="attr_equipment" class="mediumwidth">
|
||||
<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" /></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>
|
||||
|
||||
<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>
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 316 KiB |
@@ -0,0 +1,303 @@
|
||||
@import url('https://fonts.googleapis.com/css?family=Kristi|Waiting+for+the+Sunrise|Loved+by+the+King|Lacquer|UnifrakturCook:wght@700|UnifrakturMaguntia&display=swap');
|
||||
|
||||
/* Taken & modified from https://github.com/Roll20/roll20-character-sheets/blob/master/kitchensink/kitchensink.css */
|
||||
|
||||
/* Set the min-width so that when the window is resized the look will stay consistant */
|
||||
|
||||
.charsheet {
|
||||
min-width: 800px;
|
||||
background-color: black;
|
||||
color: white;
|
||||
padding: 0;
|
||||
border: 10px solid black;
|
||||
}
|
||||
|
||||
/* Universal styling applied to all elements of these types */
|
||||
|
||||
h2 {
|
||||
font-size: 2em;
|
||||
margin-bottom: 10px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
a {
|
||||
color: yellow;
|
||||
}
|
||||
|
||||
button {
|
||||
color: black;
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
label {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
input {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
img {
|
||||
max-height: 75px;
|
||||
}
|
||||
|
||||
textarea {
|
||||
resize: vertical;
|
||||
overflow-y: auto;
|
||||
min-height: 5em;
|
||||
width: 95%;
|
||||
}
|
||||
|
||||
/* Targetted styling that only effects elements with these classes */
|
||||
input.sheet-short, select.sheet-short {
|
||||
min-width: 15%;
|
||||
max-width: 20%;
|
||||
}
|
||||
|
||||
select.sheet-dtype {
|
||||
vertical-align: top;
|
||||
width: 60px;
|
||||
}
|
||||
span.sheet-dee {
|
||||
font-size: 1.4em;
|
||||
font-weight: bold;
|
||||
left: -36%;
|
||||
padding-right: 4px;
|
||||
position: relative;
|
||||
top: 3px;
|
||||
}
|
||||
|
||||
/* Targetted styling that only effects elements contained within the stated class */
|
||||
.sheet-stats h3 {
|
||||
display: inline-block;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.sheet-stats h3:first-child {
|
||||
margin-left: 35%;
|
||||
margin-right: 15%;
|
||||
}
|
||||
|
||||
.sheet-stats input {
|
||||
margin-right: 8%;
|
||||
width: 17%;
|
||||
}
|
||||
|
||||
.sheet-rolltemplate-default caption {
|
||||
background-color: rgb(241, 66, 175);
|
||||
color: black;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
|
||||
/* end of kitchen sink template CSS */
|
||||
|
||||
.charsheet .sheet-3colrow {
|
||||
margin-right: 15px;
|
||||
}
|
||||
|
||||
|
||||
div.sheet-3colrow div.sheet-2colrow div.sheet-col {
|
||||
width: calc(50% - 20px);
|
||||
}
|
||||
|
||||
div.sheet-col.sheet-wide {
|
||||
width: 60%;
|
||||
}
|
||||
|
||||
label.sheet-inline {
|
||||
display: inline;
|
||||
}
|
||||
|
||||
input[type="text"] {
|
||||
max-width: 95%;
|
||||
}
|
||||
|
||||
input[type="text"].sheet-short {
|
||||
max-width: 35%;
|
||||
}
|
||||
|
||||
select.sheet-mediumwidth, input[type="text"].sheet-mediumwidth {
|
||||
max-width: 60%;
|
||||
}
|
||||
|
||||
.largedialog input[type="textarea"] {
|
||||
width: 95%;
|
||||
}
|
||||
|
||||
|
||||
/* div-related style */
|
||||
div {
|
||||
margin-bottom: 0.5em;
|
||||
background-color: #fde12e;
|
||||
color: black;
|
||||
}
|
||||
|
||||
div.sheet-transparent-bg {
|
||||
rgba(0,0,0,0);
|
||||
}
|
||||
|
||||
div.sheet-section {
|
||||
border: 7px solid black;
|
||||
background-color: #fde12e;
|
||||
margin: 0 0 10px 0;
|
||||
padding-top: 0.5em;
|
||||
padding-left: .25em;
|
||||
padding-right: .25em;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
div.sheet-yellow-border {
|
||||
border: 7px solid #fde12e;
|
||||
}
|
||||
|
||||
div.sheet-transform-clockwise {
|
||||
transform: rotate(2deg);
|
||||
}
|
||||
|
||||
div.sheet-transform-counterclockwise {
|
||||
transform: rotate(-3deg);
|
||||
}
|
||||
|
||||
div.sheet-black-bg {
|
||||
background-color: black;
|
||||
color: white;
|
||||
}
|
||||
|
||||
div.sheet-yellow-bg {
|
||||
background-color: #fde12e;
|
||||
color: black;
|
||||
}
|
||||
|
||||
div.sheet-transparent-bg {
|
||||
background: rgba(0,0,0,0);
|
||||
}
|
||||
|
||||
div.sheet-image-bg {
|
||||
background-color: black;
|
||||
background-image: url("https://raw.githubusercontent.com/brocktopus/roll20-character-sheets/morkborg/Mork%20Borg/images/mork-borg-sheet-column-bg.png");
|
||||
background-position: center 0;
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
|
||||
div.sheet-pink-bg {
|
||||
background-color: rgb(241, 66, 175);
|
||||
}
|
||||
|
||||
div.sheet-pink {
|
||||
color: rgb(241, 66, 175);
|
||||
background-color: black;
|
||||
}
|
||||
|
||||
div.sheet-white-bg, div.sheet-white-bg div {
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
.sheet-centered {
|
||||
text-align: center;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
.sheet-col-custom {
|
||||
width: 30%;
|
||||
margin-right: 2%;
|
||||
padding-left: 5%;
|
||||
float: left;
|
||||
}
|
||||
|
||||
.sheet-col-right {
|
||||
width: 50%;
|
||||
text-align: right;
|
||||
padding-right: 5%;
|
||||
border-right: 2px solid black;
|
||||
}
|
||||
|
||||
.sheet-aligns-right {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
|
||||
/* label, span, input styles */
|
||||
.sheet-floats {
|
||||
float: left;
|
||||
}
|
||||
|
||||
.sheet-inline {
|
||||
display: inline;
|
||||
}
|
||||
|
||||
span {
|
||||
margin-bottom: 0.5em;
|
||||
padding-bottom: 0.25em;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
input[type="radio"] + label, input[type="checkbox"] + label {
|
||||
display: inline-block;
|
||||
height: 10px;
|
||||
width: 10px;
|
||||
font-size: 10px;
|
||||
padding: .25em .25em 1em 0;
|
||||
vertical-align: top;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
||||
/* span-specific font families */
|
||||
span.sheet-monospace {
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
span.sheet-courier {
|
||||
font-family: "Courier New", monospace;
|
||||
font-weight: bolder;
|
||||
font-size: 1.25em;
|
||||
background-color: black;
|
||||
color: white;
|
||||
padding: .5em;
|
||||
margin-bottom: -.5em;
|
||||
}
|
||||
|
||||
span.sheet-unifraktur {
|
||||
/* font-family: 'UnifrakturCook', serif; */
|
||||
font-family: "UnifrakturMaguntia", serif;
|
||||
font-size: 1.5em;
|
||||
}
|
||||
|
||||
span.sheet-lacquer {
|
||||
font-family: "Lacquer";
|
||||
font-size: 1.5em;
|
||||
}
|
||||
|
||||
span.sheet-note {
|
||||
font-size: .9em;
|
||||
}
|
||||
|
||||
.sheet-transform1 {
|
||||
-webkit-transform: scale(0.95,1.5);
|
||||
transform: scale(0.95,1.5);
|
||||
}
|
||||
|
||||
.sheet-transform2 {
|
||||
-webkit-transform: scale(0.9,2.2);
|
||||
transform: scale(0.9,2.2);
|
||||
}
|
||||
|
||||
.sheet-transform3 {
|
||||
-webkit-transform: scale(0.77,1.9);
|
||||
transform: scale(0.77,1.9);
|
||||
}
|
||||
|
||||
.sheet-no-display {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* Span-specific text transformation, decoration, etc. */
|
||||
span.sheet-all-caps {
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
span.sheet-italic {
|
||||
font-style: italic;
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
# _Mörk Borg_ Character Sheet
|
||||
|
||||
This character sheet was developed for [_Mörk Borg_](http://www.morkborg.com).
|
||||
|
||||
The game's official character generator, [SCVMBIRTHER](https://scvmbirther.makedatanotlore.dev/), is recommended for quick PC creation.
|
||||
|
||||
To the best of my knowledge/ability, the sheet is set up for internationalization/translation of all text displayed in the sheet and outputted from sheet roll buttons.
|
||||
|
||||
|
||||
## Thanks / Credit
|
||||
|
||||
Several Roll20 players pitched in to offer feedback to the sheet as part of its development. Thank you very much:
|
||||
|
||||
* [Adam](https://app.roll20.net/users/1303592/)
|
||||
* [Alan B.](https://app.roll20.net/users/2038344/)
|
||||
* [Amael R.](https://app.roll20.net/users/1582307/)
|
||||
* [Brian F.](https://app.roll20.net/users/356583/)
|
||||
* [Grumpy Gargamel](https://app.roll20.net/users/5807198/)
|
||||
* [Hrvoje](https://app.roll20.net/users/749407/)
|
||||
* [Identityflux](https://app.roll20.net/users/259210/)
|
||||
* [Jason S.](https://app.roll20.net/users/3738061/)
|
||||
* [Johan N.](https://app.roll20.net/users/335164/)
|
||||
* [Johnny](https://app.roll20.net/users/1602210/)
|
||||
* [Kevin P.](https://app.roll20.net/users/2777612/)
|
||||
* [Michael H.](https://app.roll20.net/users/3219015/)
|
||||
* [Nico](https://app.roll20.net/users/184028/)
|
||||
* [Patrick B.](https://app.roll20.net/users/4605895/)
|
||||
* [Stor-Thomas](https://app.roll20.net/users/763588/)
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"html": "morkborgsheet.html",
|
||||
"css": "morkborgstyle.css",
|
||||
"authors": "Kevin B. (@brocktopus)",
|
||||
"roll20userid": "250192",
|
||||
"preview": "morkborgsheet.png",
|
||||
"instructions": "Sheet for Mörk Borg RPG. The game's official character generator, [SCVMBIRTHER](https://scvmbirther.makedatanotlore.dev/), is recommended for quick PC creation."
|
||||
}
|
||||
@@ -0,0 +1,77 @@
|
||||
{
|
||||
"scvmbirther-u":"SCVMBIRTHER",
|
||||
"name-u":"Name",
|
||||
"description-u":"Description",
|
||||
"class-u":"Class",
|
||||
"class-abilities-u":"Class Abilities",
|
||||
"powers-u":"Powers",
|
||||
"use-power-u":"Use Power",
|
||||
"powers-note-u":"Presence+d4 times per day",
|
||||
"powers-note2-u":"Presence DR12, or -d2 HP and no Powers for 1 hr.",
|
||||
"powers-left-u":"Remaining",
|
||||
"daily-power-roll":"rolls for daily powers",
|
||||
"base-dr-u": "Base DR",
|
||||
"hit-points-u":"Hit Points",
|
||||
"current-hit-points-u":"Current",
|
||||
"max-hit-points-u":"Max",
|
||||
"rest-u":"Getting Rest",
|
||||
"getting-better-u":"Getting Better",
|
||||
"strength-u":"Strength",
|
||||
"agility-u":"Agility",
|
||||
"dr-modifier-u": "DR Modifier",
|
||||
"defense-u":"Defense",
|
||||
"initiative-u":"Initiative",
|
||||
"initiative-note-u":"Agility + d6",
|
||||
"presence-u":"Presence",
|
||||
"toughness-u":"Toughness",
|
||||
"omens-u":"Omens",
|
||||
"omens-note-u":"Maximum damage, Reroll, -d6 damage, DR-4, No Crit/Fumble",
|
||||
"weapons-u":"Weapons",
|
||||
"weapons-type-u":"Type",
|
||||
"weapons-damage-u":"Dmg Die",
|
||||
"armor-u":"Armor",
|
||||
"armor-tier-u":"Tier",
|
||||
"shield-u":"Shield",
|
||||
"no-u":"No",
|
||||
"yes-u":"Yes",
|
||||
"equipment-u":"Equipment",
|
||||
"equipment-note-u":"Strength+8 items or DR+2 on Agility/Strength tests",
|
||||
"equipment-item-u":"Item",
|
||||
"equipment-item-large-u":"Large?",
|
||||
"silver-u":"Silver",
|
||||
"miseries-u":"Miseries",
|
||||
"dawn-misery-u":"Dawn Roll",
|
||||
"psalm-u":"Psalm Roll",
|
||||
"labeldailypowers":"daily powers",
|
||||
"labelpower":"Power",
|
||||
"labelstrength":"Strength",
|
||||
"labelagility":"Agility",
|
||||
"labeldefense":"Defense",
|
||||
"labelinitiative":"Initiative",
|
||||
"labelpresence":"Presence",
|
||||
"labeltoughness":"Toughness",
|
||||
"labelomens":"Omens",
|
||||
"labelrests":"rests",
|
||||
"labelgettingbetter":"Getting Better",
|
||||
"labelhpcheck":"HP check",
|
||||
"labelhpgain":"HP gain",
|
||||
"labeldebris":"Debris roll",
|
||||
"labelstrinc":"Strength increase?",
|
||||
"labelagiinc":"Agility increase?",
|
||||
"labelpreinc":"Presence increase?",
|
||||
"labeltouinc":"Toughness increase?",
|
||||
"labelrolls":"rolls",
|
||||
"labelattacks":"attacks",
|
||||
"labelwith":"with",
|
||||
"labelifhit":"If hit",
|
||||
"labelifcrit":"If crit",
|
||||
"labelcritmsg":"PC gains a free attack",
|
||||
"labeliffumble":"If fumble",
|
||||
"labelfumblemsg":"Double damage, armor/protection reduced one tier",
|
||||
"labelattack":"Attack",
|
||||
"labelattackfumble":"Weapon breaks or is lost",
|
||||
"labeldamage":"Damage",
|
||||
"labelcurrently":"currently",
|
||||
"labeldailymisery":"for the day's potential misery",
|
||||
"labelpsalm":"a misery psalm"
|
||||
}
|
||||
Reference in New Issue
Block a user