Boot Hill 1E character generator

Character generator for the 1975 edition of the Western-themed RPG by Brian Blume and Gary Gygax.

by krusader74

HTML

<div><img src="http://fontmeme.com/freefonts/img.php?f=194637&s=65&t=Boot%20Hill&c=000000" alt="Boot Hill"></div>
<div><i>Character generator for the 1975 edition of the Western-themed RPG by Brian Blume &amp; Gary Gygax.</i></div>
<div id="CharacterSheet"></div>
<div><button onclick="generateCharacter()">Generate Character</button></div>
<div id="QueryString"></div>
<div id="Experience"></div>
<hr>
<div id="Weapon"></div>
<div id="BonusesAndPenalties"></div>
<div id="WeaponDetail"></div>
<div id="Attack"><button onclick="attack()">Attack</button><span id="AttackResult"></span></div>
<hr>
<div id="Defend">Opponent's chance to hit you (01--100): <input id="OppToHit" type="number" value="50"/> %
    <br/>Damage modifiers: <input type="radio" id="DamageMod" value="15"/> Shot/Scatter Gun at Long Range 
    <input type="radio" id="DamageMod" value="20"/> Shot/Scatter Gun at Short Range 
    <input type="radio" id="DamageMod" value="0" checked="checked"/> Neither 
    <br/><button onclick="defend()">Defend</button> <span id="DefenseResult"></span>
    <br/><b>Wounds:</b> <span id="Wounds">None</span>
    <br/><ol id="WoundsList"></ol>
    <br/><button onclick="resetWounds()">Reset Wounds</button>
</div>

CSS

body {
  font-family: Arial, Helvetica, sans-serif;
}

th,
td {
  padding: 10px;
}

JavaScript

// TABLES ----------------------------------------------------------------------

var Accuracy = [
[01, 05,  "Very Poor",      -9],
[06, 15,  "Poor",           -6],
[16, 25,  "Below Average",  -3],
[26, 35,  "Average",         0],
[36, 50,  "Above Average",   2],
[51, 65,  "Fair",            5],
[66, 75,  "Good",            7],
[76, 85,  "Very Good",      10],
[86, 95,  "Excellent",      15],
[96, 98,  "Crack Shot",     18],
[99, 100, "Dead Eye",       20]];

var Bravery = [
[01, 10,  "Coward",         -6],
[11, 20,  "Cowardly",       -3],
[21, 35,  "Average",         0],
[36, 65,  "Above Average",   3],
[66, 80,  "Brave",           6],
[81, 90,  "Very Brave",     10],
[91, 98,  "Fearless",       15],
[99, 100, "Foolhardy",      15]];

var Speed = [
[01,   05, "Slow",                  -5],
[06,   10, "Below Average",         -2],
[11,   20, "Average",                0],
[21,   35, "Above Average",          2],
[36,   50, "Quick",                  4],
[51,   65, "Very Quick",             6],
[66,   80, "Fast",                   9],
[81,   90, "Very Fast",             12],
[91,   95, "Lightning",             15],
[96,   96, "Greased Lightning 96",  18],
[97,   97, "Greased Lightning 97",  19],
[98,   98, "Greased Lightning 98",  20],
[99,   99, "Greased Lightning 99",  21],
[100, 100, "Greased Lightning 100", 22]];

var Strength = [
[01, 02,   8, "Feeble"],
[03, 05,   9, "Puny"],
[06, 10,  10, "Frail"],
[11, 17,  11, "Weakling"],
[18, 25,  12, "Sickly"],
[26, 40,  13, "Average"],
[41, 60,  14, "Above Average"],
[61, 75,  15, "Sturdy"],
[76, 83,  16, "Hardy"],
[84, 90,  17, "Strong"],
[91, 95,  18, "Very Strong"],
[96, 98,  19, "Powerful"],
[99, 100, 20, "Mighty"]];

var Weapons = [
// Weapon, Short Range, Medium Range, Long Range, Rate, Speed, Ammunition, Reload first turn, Reload following turns
["Choose a weapon"],
["Thrown knife or tommahawk",   1,   2,   4,   1,   "A"],
["Bow and arrows",              8,  20,  40,   1,   "BA"],
["Thrown lance",               ...