Trollbabe Sheet
A character sheet for the RPG by Ron Edwards/Adept press: http://adept-press.com/games-fantasy-horror/trollbabe/
This commit is contained in:
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"html": "trollbabe.html",
|
||||
"css": "trollbabe.css",
|
||||
"authors": "G G",
|
||||
"roll20userid": "157788",
|
||||
"preview": "trollbabe.png",
|
||||
"instructions": "This sheet for the Trollbabe rpg by Ron Edwards is modelled closely on the official character sheet. It includes a sheet worker to calculate the Number ranges, an expanding fieldset for Relationships, and a very simple roll template."
|
||||
}
|
||||
@@ -0,0 +1,211 @@
|
||||
/* banner: https://i.imgur.com/V7EAooT.jpg
|
||||
logo: https://i.imgur.com/Ezf4uJI.png
|
||||
*/
|
||||
body {
|
||||
margin: 20px;
|
||||
}
|
||||
|
||||
.sheet-font {
|
||||
font-family: Georgia, serif;
|
||||
}
|
||||
|
||||
.sheet-underline {
|
||||
text-decoration:underline;
|
||||
}
|
||||
input {
|
||||
font-size:1.2em;
|
||||
}
|
||||
.sheet-wrapper {
|
||||
display: grid;
|
||||
grid-template-columns: 130px 130px 100px 100px 130px 100px;
|
||||
grid-template-rows: auto 2em auto auto auto;
|
||||
grid-gap: 10px;
|
||||
/* background-color: #fff;
|
||||
color: #444; */
|
||||
}
|
||||
.sheet-box {
|
||||
/* background-color: #444;
|
||||
color: #fff; */
|
||||
border: 1px solid gray;
|
||||
border-radius: 5px;
|
||||
padding: 10px;
|
||||
font-size: 130%;
|
||||
}
|
||||
|
||||
.sheet-name {
|
||||
grid-column: 1 / 4;
|
||||
grid-row: 1;
|
||||
}
|
||||
|
||||
.sheet-logo {
|
||||
border:0;
|
||||
grid-column: 4 / 7;
|
||||
grid-row: 1;
|
||||
}
|
||||
|
||||
.sheet-number-heading {
|
||||
border:0;
|
||||
grid-column: 1 / 2;
|
||||
grid-row: 2;
|
||||
}
|
||||
|
||||
label.sheet-number-label {
|
||||
text-align:center;
|
||||
/* margin-left:-15px;
|
||||
margin-top:-10px; */
|
||||
}
|
||||
input[type=number].sheet-number-input {
|
||||
font-weight:bolder;
|
||||
font-size:80px;
|
||||
text-align:center;
|
||||
width:100px;
|
||||
margin-top:0px;
|
||||
margin-left:10px;
|
||||
padding-bottom:15px;
|
||||
}
|
||||
|
||||
.sheet-number {
|
||||
grid-column: 1 / 2;
|
||||
grid-row: 3;
|
||||
border:3px solid black;
|
||||
border-radius: 5px;
|
||||
|
||||
}
|
||||
|
||||
.sheet-stats {
|
||||
grid-column: 2 / 7;
|
||||
grid-row: 2 / 4;
|
||||
}
|
||||
|
||||
.sheet-rerolls {
|
||||
grid-column: 1 / 3;
|
||||
grid-row: 4;
|
||||
}
|
||||
.sheet-relationships {
|
||||
grid-column: 1 / 3;
|
||||
grid-row: 5;
|
||||
}
|
||||
.sheet-health {
|
||||
grid-column: 3 / 5;
|
||||
grid-row: 4;
|
||||
}
|
||||
.sheet-equipment {
|
||||
grid-column: 5 / 7;
|
||||
grid-row: 4;
|
||||
}
|
||||
.sheet-notes {
|
||||
grid-column: 3 / 7;
|
||||
grid-row: 5;
|
||||
}
|
||||
|
||||
input[type=text].sheet-stats-range {
|
||||
font-weight:bolder;
|
||||
font-size:1.5em;
|
||||
width: 4em;
|
||||
text-align:center;
|
||||
}
|
||||
|
||||
input.sheet-stats-specialty {
|
||||
width:16em;
|
||||
}
|
||||
input[type=checkbox] {
|
||||
vertical-align:top;
|
||||
}
|
||||
label.sheet-rerolls {
|
||||
margin-top:5px;
|
||||
margin-left:5px;
|
||||
}
|
||||
input[type=checkbox].sheet-relationships {
|
||||
vertical-align:middle;
|
||||
}
|
||||
input[type=text].sheet-relationships {
|
||||
vertical-align:middle;
|
||||
width:11em;
|
||||
}
|
||||
input[type=text].sheet-names {
|
||||
width:13em;
|
||||
}
|
||||
input[type=radio].sheet-health {
|
||||
vertical-align:top;
|
||||
}
|
||||
|
||||
.sheet-stats-button {
|
||||
margin-top:-8px !important;
|
||||
}
|
||||
.sheet-banner {
|
||||
width:735px;
|
||||
}
|
||||
.sheet-logo {
|
||||
width:auto;
|
||||
padding-bottom:0;
|
||||
}
|
||||
|
||||
textarea.sheet-notes {
|
||||
width:97%;
|
||||
height:70%;
|
||||
font-size:1em;
|
||||
}
|
||||
textarea.sheet-equipment {
|
||||
width:95%;
|
||||
height:80%;
|
||||
font-size:1em;
|
||||
}
|
||||
|
||||
td.sheet-center {
|
||||
text-align:center;
|
||||
}
|
||||
|
||||
.sheet-rolltemplate-Trollbabe table {
|
||||
width: 199px;
|
||||
padding: 2px;
|
||||
border: 1px solid rgb(126, 45, 64);
|
||||
background-color: #ffffff;
|
||||
}
|
||||
|
||||
.sheet-rolltemplate-Trollbabe th {
|
||||
color: rgb(126, 45, 64);
|
||||
line-height: 1.5em;
|
||||
font-size: 1.5em;
|
||||
text-align: center;
|
||||
font-family: Georgia, serif;
|
||||
font-variant: small-caps;
|
||||
|
||||
}
|
||||
|
||||
.sheet-rolltemplate-Trollbabe .sheet-subheader {
|
||||
color: #ffffff;
|
||||
background-color:rgb(126, 45, 64);
|
||||
font-size: 1.5em;
|
||||
line-height: 1.5em;
|
||||
text-align: center;
|
||||
font-family: Georgia, serif;
|
||||
font-variant: small-caps;
|
||||
}
|
||||
|
||||
.sheet-rolltemplate-Trollbabe .sheet-roll {
|
||||
text-align:right;
|
||||
}
|
||||
|
||||
.sheet-rolltemplate-Trollbabe .sheet-result {
|
||||
text-align:left;
|
||||
color: rgb(126, 45, 64);
|
||||
}
|
||||
.sheet-rolltemplate-Trollbabe .sheet-cell {
|
||||
font-family: Georgia, serif;
|
||||
font-variant: small-caps;
|
||||
line-height:1.5em;
|
||||
font-size: 1.5em;
|
||||
padding-bottom:5px;
|
||||
}
|
||||
|
||||
.sheet-rolltemplate-Trollbabe .sheet-roll-success {
|
||||
color:green;
|
||||
font-weight:bold;
|
||||
}
|
||||
|
||||
.sheet-rolltemplate-Trollbabe .sheet-roll-failure {
|
||||
color:red;
|
||||
font-weight:bold;
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,314 @@
|
||||
<input type="hidden" name="attr_FightingScore" />
|
||||
<input type="hidden" name="attr_MagicScore" />
|
||||
<input type="hidden" name="attr_SocialScore" />
|
||||
<input type="hidden" name="attr_FightingType" value="1" />
|
||||
<input type="hidden" name="attr_MagicType" value="2" />
|
||||
<input type="hidden" name="attr_SocialType" />
|
||||
|
||||
<img src="https://i.imgur.com/V7EAooT.jpg" class="sheet-banner" />
|
||||
<div class="sheet-wrapper">
|
||||
<div class="sheet-box sheet-name">
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
<label class="sheet-names sheet-font">Name:</label>
|
||||
</td>
|
||||
<td>
|
||||
<input class="sheet-names sheet-font" type="text" name="attr_Trollbabe" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<label class="sheet-names sheet-font">Player:</label>
|
||||
</td>
|
||||
<td>
|
||||
<input class="sheet-names sheet-font" type="text" name="attr_Player" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<label class="sheet-names sheet-font">Story:</label>
|
||||
</td>
|
||||
<td>
|
||||
<input class="sheet-names sheet-font" type="text" name="attr_Story" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="sheet-box sheet-logo">
|
||||
<img src="https://i.imgur.com/Ezf4uJI.png" class="sheet-logo" />
|
||||
|
||||
|
||||
</div>
|
||||
<div class="sheet-box sheet-number-heading">
|
||||
<label class="sheet-number-label sheet-font sheet-underline">Number</label>
|
||||
</div>
|
||||
<!-- <div class="sheet-box sheet-stats-heading">Type etc </div> -->
|
||||
|
||||
<div class="sheet-box sheet-number">
|
||||
<input class="sheet-number-input sheet-font" type="number" name="attr_Number" value="5" min="2" max="9"/>
|
||||
</div>
|
||||
<div class="sheet-box sheet-stats">
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
|
||||
</td>
|
||||
<td>
|
||||
<label class="sheet-stats sheet-font sheet-underline">Type</label>
|
||||
</td>
|
||||
<td class='sheet-center'>
|
||||
<label class="sheet-center sheet-stats sheet-font sheet-underline" style="text-align:center">Range</label>
|
||||
</td>
|
||||
<td>
|
||||
<label class="sheet-stats sheet-font sheet-underline">Specialty</label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<button type='roll' class='sheet-stats-button' name='roll_Fighting' value='&{template:Trollbabe} {{name=@{Trollbabe} }} {{Versus=@{Number} }} {{ability=Fighting}} {{range=@{Fighting} }} {{score=[[@{FightingScore}]] }} {{rollType=[[@{FightingType}]] }} {{roll=[[1d10]]}} '></button>
|
||||
</td>
|
||||
<td>
|
||||
<label class="sheet-stats sheet-font">Fighting:</label>
|
||||
</td>
|
||||
<td>
|
||||
<input class="sheet-stats-range sheet-font" type="text" name="attr_Fighting" readonly />
|
||||
</td>
|
||||
<td>
|
||||
<input class="sheet-stats-specialty sheet-font" type="text" name="attr_FightingStyle" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<button type='roll' class='sheet-stats-button' name='roll_Magic' value='&{template:Trollbabe} {{name=@{Trollbabe} }} {{Versus=@{Number} }} {{ability=Magic}} {{range=@{Magic} }} {{score=[[@{MagicScore}]] }} {{rollType=[[@{MagicType}]] }} {{roll=[[1d10]]}} '></button>
|
||||
</td>
|
||||
<td>
|
||||
<label class="sheet-stats sheet-font">Magic:</label>
|
||||
</td>
|
||||
<td>
|
||||
<input class="sheet-stats-range sheet-font" type="text" name="attr_Magic" readonly />
|
||||
</td>
|
||||
<td>
|
||||
<input class="sheet-stats-specialty sheet-font" type="text" name="attr_MagicStyle" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<button type='roll' class='sheet-stats-button' name='roll_Social' value='&{template:Trollbabe} {{name=@{Trollbabe} }} {{ability=Social}} {{range=@{Social} }} {{score=[[@{SocialScore}]] }} {{rollType=[[@{SocialType}]] }} {{roll=[[1d10]]}}'></button>
|
||||
</td>
|
||||
<td>
|
||||
<label class="sheet-stats sheet-font">Social:</label>
|
||||
</td>
|
||||
<td>
|
||||
<input class="sheet-stats-range sheet-font" type="text" name="attr_Social" readonly />
|
||||
</td>
|
||||
<td>
|
||||
<input class="sheet-stats-specialty sheet-font" type="text" name="attr_SocialStyle" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class='sheet-box sheet-health'>
|
||||
<table>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<label class="sheet-rerolls-titles sheet-font sheet-underline">Health</label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<input class='sheet-health' type='radio' name='attr_Injuries' value='0' checked />
|
||||
</td>
|
||||
<td>
|
||||
<label class="sheet-rerolls sheet-font">Healthy</label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<input class='sheet-health' type='radio' name='attr_Injuries' value='1' />
|
||||
</td>
|
||||
<td>
|
||||
<label class="sheet-rerolls sheet-font">Discommoded</label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<input class='sheet-health' type='radio' name='attr_Injuries' value='2' />
|
||||
</td>
|
||||
<td>
|
||||
<label class="sheet-rerolls sheet-font">Injured</label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<input class='sheet-health' type='radio' name='attr_Injuries' value='3' />
|
||||
</td>
|
||||
<td>
|
||||
<label class="sheet-rerolls sheet-font">Doubly Injured</label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<input class='sheet-health' type='radio' name='attr_Injuries' value='4' />
|
||||
</td>
|
||||
<td>
|
||||
<label class="sheet-rerolls sheet-font">Incapacitated</label>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="sheet-box sheet-equipment">
|
||||
<label class="sheet-equipment-titles sheet-font sheet-underline">Equipment</label>
|
||||
<textarea class="sheet-font sheet-equipment" name='attr_Equipment'></textarea>
|
||||
</div>
|
||||
<div class="sheet-box sheet-rerolls">
|
||||
<table>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<label class="sheet-rerolls-titles sheet-font sheet-underline">Rerolls</label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<input class='sheet-rerolls' type='checkbox' name='attr_CarriedObject' value='1' />
|
||||
</td>
|
||||
<td>
|
||||
<label class="sheet-rerolls sheet-font">A Carried Object</label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<input class='sheet-rerolls' type='checkbox' name='attr_FoundItem' value='1' />
|
||||
</td>
|
||||
<td>
|
||||
<label class="sheet-rerolls sheet-font">A Found Item</label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<input class='sheet-rerolls' type='checkbox' name='attr_SuddenAlly' value='1' />
|
||||
</td>
|
||||
<td>
|
||||
<label class="sheet-rerolls sheet-font">A Sudden Ally</label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<input class='sheet-rerolls' type='checkbox' name='attr_Spell' value='1' />
|
||||
</td>
|
||||
<td>
|
||||
<label class="sheet-rerolls sheet-font">A Remembered Spell</label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<input class='sheet-rerolls' type='checkbox' name='attr_GeoFeature' value='1' />
|
||||
</td>
|
||||
<td>
|
||||
<label class="sheet-rerolls sheet-font">A Geographic Feature</label>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="sheet-box sheet-relationships">
|
||||
<label class="sheet-relationship-titles sheet-font sheet-underline">Relationships</label>
|
||||
<fieldset class="repeating_relationships" >
|
||||
<input class='sheet-relationships' type='checkbox' name='attr_relationship_check' value='1' />
|
||||
<input class='sheet-relationships sheet-font' type='text' name='attr_relationship_name' value='' />
|
||||
<br/>
|
||||
</fieldset>
|
||||
</div>
|
||||
<div class="sheet-box sheet-notes">
|
||||
<label class="sheet-titles sheet-font sheet-underline">Appearance and Notes</label>
|
||||
<textarea class="sheet-font sheet-notes" name='attr_Notes'></textarea>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<img src="https://i.imgur.com/V7EAooT.jpg" class="sheet-banner" />
|
||||
|
||||
|
||||
<!-- SHEET WORKERS -->
|
||||
<script type="text/worker">
|
||||
on("sheet:opened change:number", function() {
|
||||
getAttrs(["Number"], function(v) {
|
||||
var magicrange = "-10";
|
||||
var fightingrange = "1-";
|
||||
var socialrange = "";
|
||||
var magicscore;
|
||||
var fightingscore;
|
||||
var socialscore;
|
||||
var socialtype;
|
||||
var myNumber = parseInt(v.Number)||5;
|
||||
fightingscore = myNumber -1;
|
||||
magicscore = myNumber +1;
|
||||
magicrange = magicscore + "-10";
|
||||
fightingrange = "1-" + fightingscore;
|
||||
|
||||
socialscore = myNumber;
|
||||
if (myNumber > 5) {
|
||||
socialrange = socialscore + "-10";
|
||||
socialtype = "2";
|
||||
} else {
|
||||
socialrange = "1-" + socialscore;
|
||||
socialtype = "1";
|
||||
}
|
||||
|
||||
|
||||
if (myNumber >8) {magicrange = "10";}
|
||||
if (myNumber <3) {fightingrange = "1";}
|
||||
|
||||
|
||||
setAttrs({
|
||||
"Fighting": fightingrange,
|
||||
"Magic": magicrange,
|
||||
"Social": socialrange,
|
||||
"FightingScore": fightingscore,
|
||||
"MagicScore": magicscore,
|
||||
"SocialScore": socialscore,
|
||||
"SocialType": socialtype
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
</script>
|
||||
|
||||
|
||||
<rolltemplate class="sheet-rolltemplate-Trollbabe">
|
||||
<table>
|
||||
<tr>
|
||||
<th colspan="2">
|
||||
{{name}}
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" class='subheader'>
|
||||
{{ability}} ({{range}})
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="roll cell">
|
||||
{{roll}} =
|
||||
</td>
|
||||
<td class="result cell">
|
||||
{{#rollTotal() rollType 1}}
|
||||
{{#rollGreater() roll score}}
|
||||
<span class='sheet-roll-failure'>Failure!</span>
|
||||
{{/rollGreater() roll score}}
|
||||
{{#rollBetween() roll 1 score}}
|
||||
<span class='sheet-roll-success'>Success!</span>
|
||||
{{/rollBetween() roll 1 score}}
|
||||
{{/rollTotal() rollType 1}}
|
||||
{{#rollTotal() rollType 2}}
|
||||
{{#rollLess() roll score}}
|
||||
<span class='sheet-roll-failure'>Failure!</span>
|
||||
{{/rollLess() roll score}}
|
||||
{{#rollBetween() roll score 100}}
|
||||
<span class='sheet-roll-success'>Success!</span>
|
||||
{{/rollBetween() roll score 100}}
|
||||
{{/rollTotal() rollType 2}}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</rolltemplate>
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 138 KiB |
Reference in New Issue
Block a user