Files
roll20-character-sheets-tester/Microlite20/microlite20-test.html
T
hylianux 505596c8c8 Updated supplemental documents
Changed the supplemental documents to better jive with roll20's
processes :)
2015-02-13 23:01:25 -05:00

510 lines
24 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Microlite20 Test Character Sheet</title>
<link href="microlite20.css" rel="stylesheet">
</head>
<body>
<div class="container-fluid">
<div class="row">
<div class="col-sm-6">
<h1>Microlite20 <small>Character Sheet</small></h1>
<form class="form-horizontal" role="form">
<div class="form-group">
<label class="col-sm-2 control-label">Name</label>
<div class="col-sm-4">
<input type="text" class="form-control"
placeholder="Name" name="attr_character_name">
</div>
<label class="col-sm-2 control-label">
Sex
</label>
<div class="col-sm-4">
<select class="form-control" name="attr_gender">
<option value="1">Male</option>
<option value="2">Female</option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">Race
</label>
<div class="col-sm-4">
<!-- the numbers are assigned as such for a calculation later
this calculation will determine the racial skill bonus to all skills
if the race selected is human -->
<select class="form-control" name="attr_race">
<option value="4">Human</option>
<option value="3">Elf</option>
<option value="2">Dwarf</option>
<option value="1">Halfling</option>
</select>
</div>
<label class="col-sm-2 control-label">
Class</label>
<div class="col-sm-4">
<!-- These numbers are in reverse. The reason is to accommodate a calculation
for the Fighter damage roll and attack roll bonus.-->
<select class="form-control" name="attr_class">
<option value="4">Fighter</option>
<option value="3">Rogue</option>
<option value="2">Mage</option>
<option value="1">Cleric</option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">Level</label>
<div class="col-sm-4">
<input type="number" class="form-control"
placeholder="1" name="attr_level">
</div>
<label class="col-sm-2 control-label">
Encounter Levels
</label>
<div class="col-sm-4">
<input type="number" class="form-control"
placeholder="0" name="attr_encounter_levels">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">
Height (m)
</label>
<div class="col-sm-4">
<input type="number" class="form-control"
placeholder="1.6"
name="attr_height">
</div>
<label class="col-sm-2 control-label">
Weight (kg)
</label>
<div class="col-sm-4">
<input type="number" class="form-control"
placeholder="55"
name="attr_weight">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">
Hair Color
</label>
<div class="col-sm-4">
<input type="text" class="form-control"
placeholder="Hair Color"
name="attr_hair_color">
</div>
<label class="col-sm-2 control-label">
Eye Color
</label>
<div class="col-sm-4">
<input type="text" class="form-control"
placeholder="Eye Color"
name="attr_eye_color">
</div>
</div>
</form>
<div class="row">
<h3>Character Statistics</h3>
<div class="col-sm-6 col-sm-offset-3">
<!-- The calculation for the rolls does bear explaining. the first part (d20+bonus) is
standard towards the rules, but the part after it is what incorporates the racial
bonus. If you chose a human, you get a +1 to all of your skill rolls.
So, if it's always a +1, then we can determine it through an equation.
The floor function will round a decimal down to its whole number. So 1/4, 2/4, and
3/4 will all round down to 0. Thus, the only race assigned the number 4 is human,
and it'll be the only race that evaluates to "1" in this equation. With that in
mind, simply add the result of the equation to the end of the roll. If you're
not a human, then 0 will get added. If you ARE human, then 1 will get added.
-->
<table class="table">
<thead>
<th>Stat</th>
<th>Score</th>
<th>Bonus</th>
<th>Stat+Physical Roll</th>
<th>Stat+Subterfuge Roll</th>
<th>Stat+Knowledge Roll</th>
<th>Stat+Communication Roll</th>
</thead>
<tbody>
<tr>
<td><label class="control-label">Strength
</label>
</td>
<td><input class="form-control" type="number"
name="attr_strength" placeholder="0"></td>
<td><input class="form-control" type="number"
name="attr_strength_bonus"
disabled="true"
value="floor((@{strength} - 10) / 2)">
</td>
<td>
<button class="form-control" type="roll"
value="/roll d20+[physical rank]@{physical}+[strength bonus]@{strength_bonus}+[racial bonus]floor(@{race}/4) \ Strength + Physical Check - d20+physical rank+strength bonus+racial bonus">
</button>
</td>
<td>
<button class="form-control" type="roll"
value="/roll d20+[subterfuge rank]@{subterfuge}+[strength bonus]@{strength_bonus}+[racial bonus]floor(@{race}/4) \ Strength + Subterfuge Check - d20+subterfuge rank+strength bonus+racial bonus">
</button>
</td>
<td>
<button class="form-control" type="roll"
value="/roll d20+[knowledge rank]@{knowledge}+[strength bonus]@{strength_bonus}+[racial bonus]floor(@{race}/4) \ Strength + Knowledge Check - d20+knowledge rank+strength bonus+racial bonus">
</button>
</td>
<td>
<button class="form-control" type="roll"
value="/roll d20+[communication rank]@{communication}+[strength bonus]@{strength_bonus}+[racial bonus]floor(@{race}/4) \ Strength + Communication Check - d20+communication rank+strength bonus+racial bonus">
</button>
</td>
</tr>
<tr>
<td><label class="control-label">Dexterity
</label>
</td>
<td><input class="form-control" type="number"
name="attr_dexterity" placeholder="0">
</td>
<td><input class="form-control" type="number"
name="attr_dexterity_bonus"
disabled="true"
value="floor((@{dexterity} - 10) / 2)">
</td>
<td>
<button class="form-control" type="roll"
value="/roll d20+[physical rank]@{physical}+[dexterity bonus]@{dexterity_bonus}+[racial bonus]floor(@{race}/4) \ Dexterity + Physical Check - d20+physical rank+dexterity bonus+racial bonus">
</button>
</td>
<td>
<button class="form-control" type="roll"
value="/roll d20+[subterfuge rank]@{subterfuge}+[dexterity bonus]@{dexterity_bonus}+[racial bonus]floor(@{race}/4) \ Dexterity + Subterfuge Check - d20+subterfuge rank+dexterity bonus+racial bonus">
</button>
</td>
<td>
<button class="form-control" type="roll"
value="/roll d20+[knowledge rank]@{knowledge}+[dexterity bonus]@{dexterity_bonus}+[racial bonus]floor(@{race}/4) \ Dexterity + Knowledge Check - d20+knowledge rank+dexterity bonus+racial bonus">
</button>
</td>
<td>
<button class="form-control" type="roll"
value="/roll d20+[communication rank]@{communication}+[dexterity bonus]@{dexterity_bonus}+[racial bonus]floor(@{race}/4) \ Dexterity + Communication Check - d20+communication rank+dexterity bonus+racial bonus">
</button>
</td>
</tr>
<tr>
<td><label class="control-label">Mind</label>
</td>
<td><input class="form-control" type="number"
name="attr_mind" placeholder="0"></td>
<td><input class="form-control" type="number"
name="attr_mind_bonus"
disabled="true"
value="floor((@{mind} - 10) / 2)">
</td>
<td>
<button class="form-control" type="roll"
value="/roll d20+[physical rank]@{physical}+[mind bonus]@{mind_bonus}+[racial bonus]floor(@{race}/4) \ Mind + Physical Check - d20+physical rank+mind bonus+racial bonus">
</button>
</td>
<td>
<button class="form-control" type="roll"
value="/roll d20+[subterfuge rank]@{subterfuge}+[mind bonus]@{mind_bonus}+[racial bonus]floor(@{race}/4) \ Mind + Subterfuge Check - d20+subterfuge rank+mind bonus+racial bonus">
</button>
</td>
<td>
<button class="form-control" type="roll"
value="/roll d20+[knowledge rank]@{knowledge}+[mind bonus]@{mind_bonus}+[racial bonus]floor(@{race}/4) \ Mind + Knowledge Check - d20+knowledge rank+mind bonus+racial bonus">
</button>
</td>
<td>
<button class="form-control" type="roll"
value="/roll d20+[communication rank]@{communication}+[mind bonus]@{mind_bonus}+[racial bonus]floor(@{race}/4) \ Mind + Communication Check - d20+communication rank+mind bonus+racial bonus">
</button>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="row">
<form>
<div class="form-group">
<label class="col-sm-6 col-sm-offset-1 control-label text-center">
Hit Points <br><small>(STR + 1d6/level)</small>
</label>
<div class="col-sm-2">
<input type="number" class="form-control col-sm-2"
placeholder="0"
name="attr_hit_points">
</div>
</div>
<div class="form-group">
<label class="col-sm-6 col-sm-offset-1 control-label text-center">
Armor Class<br>
<small>(10 + DEX Bonus + Armor Bonus)</small>
</label>
<div class="col-sm-2">
<input type="number" class="form-control"
name="attr_armor_class" disabled="true"
value="10 + @{dexterity_bonus} + @{armor_bonus}">
</div>
</div>
</form>
</div>
<div class="row">
<h3>Skills</h3>
<div class="col-sm-6 col-sm-offset-3">
<table class="table">
<thead>
<th>Skill</th>
<th>Rank</th>
</thead>
<tbody>
<tr><td>Physical</td>
<td><input type="number" class="form-control"
name="attr_physical" placeholder="0">
</td>
</tr>
<tr><td>Subterfuge</td>
<td><input type="number" class="form-control"
name="attr_subterfuge" placeholder="0"></td>
</tr>
<tr><td>Knowledge</td>
<td><input type="number" class="form-control"
name="attr_knowledge" placeholder="0"></td>
</tr>
<tr><td>Communication</td>
<td><input type="number" class="form-control"
name="attr_communication" placeholder="0"></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="col-sm-6">
<h3>Attack Bonuses and Rolls</h3>
<form class="form-horizontal" role="form">
<!-- The calculation has to take into account whether or not you chose the fighter
class. Since roll20 doesn't support conditional statements (yet?), this is the way
around it. This explanation is rather wordy, so either trust it, or read on.
The actual bonus fighters get is +1 to attack rolls, and an additional +1 on every
level ending in 5 or 0 (so at level 5, they get an additional +1, and again at
level 10, and again every 5 levels onward).
The floor function will basically round down any division result that isn't a
whole number to a whole number. 1/5, 2/5, 3/5, 4/5 all equal 0 when floored.
So, floor your level divided by 5, and add 1 to it (because at level 1, you get
your first +1 to attack rolls). 1+floor(level/5) will equal 1 at level 1-4, then 2 at level 5-9, then 3 at levels 10-15, and so on. That resulting number is exactly
the same number of +1's to attack rolls you'd get at those levels.
But, we have to determine whether or not you chose the fighter class. The fighter
class attribute's value is 4, while the others are less than 4.
This means I can floor(class/4) and all but the fighter will return with 0.
Simply multiply the entire equation by that resulting number to determine whether
or not you actually GET the bonus at all. If it's a 1 (fighter), then you're
multiplying the equation by 1 (and thus not changing it at all). But, if it's 0,
it nullifies the whole equation to 0.
I'm sure my wording of this is kinda confusing, and I do apologize, but that's the
explanation of how it works, and why it works.
This bonus is only applied to melee and missile attack rolls, since fighters can't use magic, and the rule says "+1 to all attack rolls". This means it's a +1 only to the rolls that a fighter could possibly make - melee and ranged. -->
<div class="form-group">
<label class="col-sm-6 control-label">
Melee Attack Bonus <small>(STR + level + Class Bonus)</small>
</label>
<div class="col-sm-2">
<input type="number" class="form-control"
placeholder="0"
name="attr_melee_attack_bonus" disabled="true"
value="@{strength_bonus} + @{level}">
<button class="form-control" type="roll"
value="/roll d20+[melee attack bonus]@{melee_attack_bonus}+[class bonus, if applicable]((floor(@{class}/4))*(1+floor(@{level}/5))) \ Melee Attack Check - d20+melee attack bonus+class bonus">
</button>
</div>
</div>
<div class="form-group">
<label class="col-sm-6 control-label">
Missile Attack Bonus <small>(DEX + level)</small>
</label>
<div class="col-sm-2">
<input type="number" class="form-control"
placeholder="0"
name="attr_missile_attack_bonus" disabled="true"
value="@{dexterity_bonus} + @{level}">
<button class="form-control" type="roll"
value="/roll d20+[ranged/missile attack bonus]@{missile_attack_bonus} + [class bonus, if applicable]((floor(@{class}/4))*(1+floor(@{level}/5))) \ Ranged/Missile Attack Check - d20+missile/ranged attack bonus+class bonus">
</button>
</div>
</div>
<div class="form-group">
<label class="col-sm-6 control-label">
Magic Attack Bonus <small>(MIND + level)</small>
</label>
<div class="col-sm-2">
<input type="number" class="form-control"
placeholder="0"
name="attr_magic_attack_bonus" disabled="true"
value="@{mind_bonus} + @{level}">
<button class="form-control" type="roll"
value="/roll d20+[magic attack bonus]@{magic_attack_bonus} \ Magic Attack Check">
</button>
</div>
</div>
</div>
</form>
<div class="row">
<h3>Armor</h3>
<div class="col-sm-4 text-center">
<strong>Name</strong>
</div>
<div class="col-sm-2 text-center">
<strong>Armor Bonus</strong>
</div>
</div>
<div class="row">
<div class="col-sm-4">
<input type="text" name="attr_armor_name"
class="form-control" placeholder="Armor Name"></input>
</div>
<div class="col-sm-2">
<input type="number" name="attr_armor_bonus"
class="form-control"
placeholder="0"></input>
</div>
</div>
<div class="row">
<h3>Weapons</h3>
<div class="col-sm-4 text-center">
<strong>Name</strong>
</div>
<div class="col-sm-2 text-center">
<strong>Dice</strong>
</div>
<div class="col-sm-2 text-center">
<strong>Type</strong>
</div>
<div class="col-sm-2 text-center">
<strong>Range (m)</strong>
</div>
</div>
<div class="row">
<fieldset class="repeating_weapons">
<div class="col-sm-4">
<input type="text" name="attr_weapon_name"
class="form-control" placeholder="Weapon Name"></input>
</div>
<div class="col-sm-2">
<input type="number" name="attr_dnum"
class="form-control"
placeholder="1"></input>
</div>
<div class="col-sm-2">
<select name="attr_dtype" class="form-control">
<option value="4">d4</option>
<option value="6">d6</option>
<option value="8">d8</option>
<option value="10">d10</option>
<option value="12">d12</option>
</select>
</div>
<div class="col-sm-2">
<input type="number" class="form-control"
name="attr_weapon_range"
placeholder="0"></input>
</div>
<div class="col-sm-2">
<button class="form-control" type="roll"
value="/roll @{dnum}d@{dtype} + [class bonus, if applicable]((floor(@{class}/4))*(1+floor(@{level}/5))) \ Damage Roll - damage dice + class bonus">
</button>
</div>
</fieldset>
</div>
<div class="row">
<h3>Caster Difficulty Class (DC)</h3>
<div class="col-sm-2 text-center">
<input class="form-control" type="roll"
value="10+@{level}+@{mind_bonus}" />
</div>
</div>
<div class="row">
<h3>Equipment</h3>
<fieldset class="repeating_equipment">
<div class="col-sm-2">
<input type="number" name="attr_eq_quantity"
class="form-control" placeholder="1"></input>
</div>
<div class="col-sm-10">
<input type="text" name="attr_eq_name"
class="form-control"
placeholder="Item Name"></input>
</div>
</fieldset>
</div>
<div class="row">
<h3>Wealth</h3>
<div class="col-sm-10 col-sm-offset-1">
<table class="table">
<thead>
<th>Coinage</th>
<th>Amount</th>
</thead>
<tbody>
<tr>
<td>Platinum</td>
<td><input type="number" class="form-control"
placeholder="0" name="attr_platinum_coins"></input>
</td>
</tr>
<tr>
<td>Gold</td>
<td><input type="number" class="form-control"
placeholder="0" name="attr_gold_coins"></input>
</td>
</tr>
<tr>
<td>Silver</td>
<td><input type="number" class="form-control"
placeholder="0" name="attr_silver_coins"></input>
</td>
</tr>
<tr>
<td>Copper</td>
<td><input type="number" class="form-control"
placeholder="0" name="attr_copper_coins"></input>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</body>
</html>