<link rel='alternate' type='application/rss+xml' title='RSS' href='index.xml'/>
Background: #fff
Foreground: #000
PrimaryPale: #8cf
PrimaryLight: #18f
PrimaryMid: #04b
PrimaryDark: #014
SecondaryPale: #ffc
SecondaryLight: #fe8
SecondaryMid: #db4
SecondaryDark: #841
TertiaryPale: #eee
TertiaryLight: #ccc
TertiaryMid: #999
TertiaryDark: #666
Error: #f88
body {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}

a {color:[[ColorPalette::PrimaryMid]];}
a:hover {background-color:[[ColorPalette::PrimaryMid]]; color:[[ColorPalette::Background]];}
a img {border:0;}

h1,h2,h3,h4,h5,h6 {color:[[ColorPalette::SecondaryDark]]; background:transparent;}
h1 {border-bottom:2px solid [[ColorPalette::TertiaryLight]];}
h2,h3 {border-bottom:1px solid [[ColorPalette::TertiaryLight]];}

.button {color:[[ColorPalette::PrimaryDark]]; border:1px solid [[ColorPalette::Background]];}
.button:hover {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::SecondaryLight]]; border-color:[[ColorPalette::SecondaryMid]];}
.button:active {color:[[ColorPalette::Background]]; background:[[ColorPalette::SecondaryMid]]; border:1px solid [[ColorPalette::SecondaryDark]];}

.header {background:[[ColorPalette::PrimaryMid]];}
.headerShadow {color:[[ColorPalette::Foreground]];}
.headerShadow a {font-weight:normal; color:[[ColorPalette::Foreground]];}
.headerForeground {color:[[ColorPalette::Background]];}
.headerForeground a {font-weight:normal; color:[[ColorPalette::PrimaryPale]];}

	border-left:1px solid [[ColorPalette::TertiaryLight]];
	border-top:1px solid [[ColorPalette::TertiaryLight]];
	border-right:1px solid [[ColorPalette::TertiaryLight]];
.tabUnselected {color:[[ColorPalette::Background]]; background:[[ColorPalette::TertiaryMid]];}
.tabContents {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::TertiaryPale]]; border:1px solid [[ColorPalette::TertiaryLight]];}
.tabContents .button {border:0;}

#sidebar {}
#sidebarOptions input {border:1px solid [[ColorPalette::PrimaryMid]];}
#sidebarOptions .sliderPanel {background:[[ColorPalette::PrimaryPale]];}
#sidebarOptions .sliderPanel a {border:none;color:[[ColorPalette::PrimaryMid]];}
#sidebarOptions .sliderPanel a:hover {color:[[ColorPalette::Background]]; background:[[ColorPalette::PrimaryMid]];}
#sidebarOptions .sliderPanel a:active {color:[[ColorPalette::PrimaryMid]]; background:[[ColorPalette::Background]];}

.wizard {background:[[ColorPalette::PrimaryPale]]; border:1px solid [[ColorPalette::PrimaryMid]];}
.wizard h1 {color:[[ColorPalette::PrimaryDark]]; border:none;}
.wizard h2 {color:[[ColorPalette::Foreground]]; border:none;}
.wizardStep {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];
	border:1px solid [[ColorPalette::PrimaryMid]];}
.wizardStep.wizardStepDone {background:[[ColorPalette::TertiaryLight]];}
.wizardFooter {background:[[ColorPalette::PrimaryPale]];}
.wizardFooter .status {background:[[ColorPalette::PrimaryDark]]; color:[[ColorPalette::Background]];}
.wizard .button {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::SecondaryLight]]; border: 1px solid;
	border-color:[[ColorPalette::SecondaryPale]] [[ColorPalette::SecondaryDark]] [[ColorPalette::SecondaryDark]] [[ColorPalette::SecondaryPale]];}
.wizard .button:hover {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::Background]];}
.wizard .button:active {color:[[ColorPalette::Background]]; background:[[ColorPalette::Foreground]]; border: 1px solid;
	border-color:[[ColorPalette::PrimaryDark]] [[ColorPalette::PrimaryPale]] [[ColorPalette::PrimaryPale]] [[ColorPalette::PrimaryDark]];}

#messageArea {border:1px solid [[ColorPalette::SecondaryMid]]; background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]];}
#messageArea .button {color:[[ColorPalette::PrimaryMid]]; background:[[ColorPalette::SecondaryPale]]; border:none;}

.popupTiddler {background:[[ColorPalette::TertiaryPale]]; border:2px solid [[ColorPalette::TertiaryMid]];}

.popup {background:[[ColorPalette::TertiaryPale]]; color:[[ColorPalette::TertiaryDark]]; border-left:1px solid [[ColorPalette::TertiaryMid]]; border-top:1px solid [[ColorPalette::TertiaryMid]]; border-right:2px solid [[ColorPalette::TertiaryDark]]; border-bottom:2px solid [[ColorPalette::TertiaryDark]];}
.popup hr {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::PrimaryDark]]; border-bottom:1px;}
.popup li.disabled {color:[[ColorPalette::TertiaryMid]];}
.popup li a, .popup li a:visited {color:[[ColorPalette::Foreground]]; border: none;}
.popup li a:hover {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; border: none;}
.popup li a:active {background:[[ColorPalette::SecondaryPale]]; color:[[ColorPalette::Foreground]]; border: none;}
.popupHighlight {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}
.listBreak div {border-bottom:1px solid [[ColorPalette::TertiaryDark]];}

.tiddler .defaultCommand {font-weight:bold;}

.shadow .title {color:[[ColorPalette::TertiaryDark]];}

.title {color:[[ColorPalette::SecondaryDark]];}
.subtitle {color:[[ColorPalette::TertiaryDark]];}

.toolbar {color:[[ColorPalette::PrimaryMid]];}
.toolbar a {color:[[ColorPalette::TertiaryLight]];}
.selected .toolbar a {color:[[ColorPalette::TertiaryMid]];}
.selected .toolbar a:hover {color:[[ColorPalette::Foreground]];}

.tagging, .tagged {border:1px solid [[ColorPalette::TertiaryPale]]; background-color:[[ColorPalette::TertiaryPale]];}
.selected .tagging, .selected .tagged {background-color:[[ColorPalette::TertiaryLight]]; border:1px solid [[ColorPalette::TertiaryMid]];}
.tagging .listTitle, .tagged .listTitle {color:[[ColorPalette::PrimaryDark]];}
.tagging .button, .tagged .button {border:none;}

.footer {color:[[ColorPalette::TertiaryLight]];}
.selected .footer {color:[[ColorPalette::TertiaryMid]];}

.sparkline {background:[[ColorPalette::PrimaryPale]]; border:0;}
.sparktick {background:[[ColorPalette::PrimaryDark]];}

.error, .errorButton {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::Error]];}
.warning {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::SecondaryPale]];}
.lowlight {background:[[ColorPalette::TertiaryLight]];}

.zoomer {background:none; color:[[ColorPalette::TertiaryMid]]; border:3px solid [[ColorPalette::TertiaryMid]];}

.imageLink, #displayArea .imageLink {background:transparent;}

.annotation {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; border:2px solid [[ColorPalette::SecondaryMid]];}

.viewer .listTitle {list-style-type:none; margin-left:-2em;}
.viewer .button {border:1px solid [[ColorPalette::SecondaryMid]];}
.viewer blockquote {border-left:3px solid [[ColorPalette::TertiaryDark]];}

.viewer table, table.twtable {border:2px solid [[ColorPalette::TertiaryDark]];}
.viewer th, .viewer thead td, .twtable th, .twtable thead td {background:[[ColorPalette::SecondaryMid]]; border:1px solid [[ColorPalette::TertiaryDark]]; color:[[ColorPalette::Background]];}
.viewer td, .viewer tr, .twtable td, .twtable tr {border:1px solid [[ColorPalette::TertiaryDark]];}

.viewer pre {border:1px solid [[ColorPalette::SecondaryLight]]; background:[[ColorPalette::SecondaryPale]];}
.viewer code {color:[[ColorPalette::SecondaryDark]];}
.viewer hr {border:0; border-top:dashed 1px [[ColorPalette::TertiaryDark]]; color:[[ColorPalette::TertiaryDark]];}

.highlight, .marked {background:[[ColorPalette::SecondaryLight]];}

.editor input {border:1px solid [[ColorPalette::PrimaryMid]];}
.editor textarea {border:1px solid [[ColorPalette::PrimaryMid]]; width:100%;}
.editorFooter {color:[[ColorPalette::TertiaryMid]];}

#backstageArea {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::TertiaryMid]];}
#backstageArea a {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::Background]]; border:none;}
#backstageArea a:hover {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; }
#backstageArea a.backstageSelTab {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}
#backstageButton a {background:none; color:[[ColorPalette::Background]]; border:none;}
#backstageButton a:hover {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::Background]]; border:none;}
#backstagePanel {background:[[ColorPalette::Background]]; border-color: [[ColorPalette::Background]] [[ColorPalette::TertiaryDark]] [[ColorPalette::TertiaryDark]] [[ColorPalette::TertiaryDark]];}
.backstagePanelFooter .button {border:none; color:[[ColorPalette::Background]];}
.backstagePanelFooter .button:hover {color:[[ColorPalette::Foreground]];}
#backstageCloak {background:[[ColorPalette::Foreground]]; opacity:0.6; filter:'alpha(opacity:60)';}
* html .tiddler {height:1%;}

body {font-size:.75em; font-family:arial,helvetica; margin:0; padding:0;}

h1,h2,h3,h4,h5,h6 {font-weight:bold; text-decoration:none;}
h1,h2,h3 {padding-bottom:1px; margin-top:1.2em;margin-bottom:0.3em;}
h4,h5,h6 {margin-top:1em;}
h1 {font-size:1.35em;}
h2 {font-size:1.25em;}
h3 {font-size:1.1em;}
h4 {font-size:1em;}
h5 {font-size:.9em;}

hr {height:1px;}

a {text-decoration:none;}

dt {font-weight:bold;}

ol {list-style-type:decimal;}
ol ol {list-style-type:lower-alpha;}
ol ol ol {list-style-type:lower-roman;}
ol ol ol ol {list-style-type:decimal;}
ol ol ol ol ol {list-style-type:lower-alpha;}
ol ol ol ol ol ol {list-style-type:lower-roman;}
ol ol ol ol ol ol ol {list-style-type:decimal;}

.txtOptionInput {width:11em;}

#contentWrapper .chkOptionInput {border:0;}

.externalLink {text-decoration:underline;}

.indent {margin-left:3em;}
.outdent {margin-left:3em; text-indent:-3em;}
code.escaped {white-space:nowrap;}

.tiddlyLinkExisting {font-weight:bold;}
.tiddlyLinkNonExisting {font-style:italic;}

/* the 'a' is required for IE, otherwise it renders the whole tiddler in bold */
a.tiddlyLinkNonExisting.shadow {font-weight:bold;}

#mainMenu .tiddlyLinkExisting,
	#mainMenu .tiddlyLinkNonExisting,
	#sidebarTabs .tiddlyLinkNonExisting {font-weight:normal; font-style:normal;}
#sidebarTabs .tiddlyLinkExisting {font-weight:bold; font-style:normal;}

.header {position:relative;}
.header a:hover {background:transparent;}
.headerShadow {position:relative; padding:4.5em 0em 1em 1em; left:-1px; top:-1px;}
.headerForeground {position:absolute; padding:4.5em 0em 1em 1em; left:0px; top:0px;}

.siteTitle {font-size:3em;}
.siteSubtitle {font-size:1.2em;}

#mainMenu {position:absolute; left:0; width:10em; text-align:right; line-height:1.6em; padding:1.5em 0.5em 0.5em 0.5em; font-size:1.1em;}

#sidebar {position:absolute; right:3px; width:16em; font-size:.9em;}
#sidebarOptions {padding-top:0.3em;}
#sidebarOptions a {margin:0em 0.2em; padding:0.2em 0.3em; display:block;}
#sidebarOptions input {margin:0.4em 0.5em;}
#sidebarOptions .sliderPanel {margin-left:1em; padding:0.5em; font-size:.85em;}
#sidebarOptions .sliderPanel a {font-weight:bold; display:inline; padding:0;}
#sidebarOptions .sliderPanel input {margin:0 0 .3em 0;}
#sidebarTabs .tabContents {width:15em; overflow:hidden;}

.wizard {padding:0.1em 1em 0em 2em;}
.wizard h1 {font-size:2em; font-weight:bold; background:none; padding:0em 0em 0em 0em; margin:0.4em 0em 0.2em 0em;}
.wizard h2 {font-size:1.2em; font-weight:bold; background:none; padding:0em 0em 0em 0em; margin:0.4em 0em 0.2em 0em;}
.wizardStep {padding:1em 1em 1em 1em;}
.wizard .button {margin:0.5em 0em 0em 0em; font-size:1.2em;}
.wizardFooter {padding:0.8em 0.4em 0.8em 0em;}
.wizardFooter .status {padding:0em 0.4em 0em 0.4em; margin-left:1em;}
.wizard .button {padding:0.1em 0.2em 0.1em 0.2em;}

#messageArea {position:fixed; top:2em; right:0em; margin:0.5em; padding:0.5em; z-index:2000; _position:absolute;}
.messageToolbar {display:block; text-align:right; padding:0.2em 0.2em 0.2em 0.2em;}
#messageArea a {text-decoration:underline;}

.tiddlerPopupButton {padding:0.2em 0.2em 0.2em 0.2em;}
.popupTiddler {position: absolute; z-index:300; padding:1em 1em 1em 1em; margin:0;}

.popup {position:absolute; z-index:300; font-size:.9em; padding:0; list-style:none; margin:0;}
.popup .popupMessage {padding:0.4em;}
.popup hr {display:block; height:1px; width:auto; padding:0; margin:0.2em 0em;}
.popup li.disabled {padding:0.4em;}
.popup li a {display:block; padding:0.4em; font-weight:normal; cursor:pointer;}
.listBreak {font-size:1px; line-height:1px;}
.listBreak div {margin:2px 0;}

.tabset {padding:1em 0em 0em 0.5em;}
.tab {margin:0em 0em 0em 0.25em; padding:2px;}
.tabContents {padding:0.5em;}
.tabContents ul, .tabContents ol {margin:0; padding:0;}
.txtMainTab .tabContents li {list-style:none;}
.tabContents li.listLink { margin-left:.75em;}

#contentWrapper {display:block;}
#splashScreen {display:none;}

#displayArea {margin:1em 17em 0em 14em;}

.toolbar {text-align:right; font-size:.9em;}

.tiddler {padding:1em 1em 0em 1em;}

.missing .viewer,.missing .title {font-style:italic;}

.title {font-size:1.6em; font-weight:bold;}

.missing .subtitle {display:none;}
.subtitle {font-size:1.1em;}

.tiddler .button {padding:0.2em 0.4em;}

.tagging {margin:0.5em 0.5em 0.5em 0; float:left; display:none;}
.isTag .tagging {display:block;}
.tagged {margin:0.5em; float:right;}
.tagging, .tagged {font-size:0.9em; padding:0.25em;}
.tagging ul, .tagged ul {list-style:none; margin:0.25em; padding:0;}
.tagClear {clear:both;}

.footer {font-size:.9em;}
.footer li {display:inline;}

.annotation {padding:0.5em; margin:0.5em;}

* html .viewer pre {width:99%; padding:0 0 1em 0;}
.viewer {line-height:1.4em; padding-top:0.5em;}
.viewer .button {margin:0em 0.25em; padding:0em 0.25em;}
.viewer blockquote {line-height:1.5em; padding-left:0.8em;margin-left:2.5em;}
.viewer ul, .viewer ol {margin-left:0.5em; padding-left:1.5em;}

.viewer table, table.twtable {border-collapse:collapse; margin:0.8em 1.0em;}
.viewer th, .viewer td, .viewer tr,.viewer caption,.twtable th, .twtable td, .twtable tr,.twtable caption {padding:3px;}
table.listView {font-size:0.85em; margin:0.8em 1.0em;}
table.listView th, table.listView td, table.listView tr {padding:0px 3px 0px 3px;}

.viewer pre {padding:0.5em; margin-left:0.5em; font-size:1.2em; line-height:1.4em; overflow:auto;}
.viewer code {font-size:1.2em; line-height:1.4em;}

.editor {font-size:1.1em;}
.editor input, .editor textarea {display:block; width:100%; font:inherit;}
.editorFooter {padding:0.25em 0em; font-size:.9em;}
.editorFooter .button {padding-top:0px; padding-bottom:0px;}

.fieldsetFix {border:0; padding:0; margin:1px 0px 1px 0px;}

.sparkline {line-height:1em;}
.sparktick {outline:0;}

.zoomer {font-size:1.1em; position:absolute; overflow:hidden;}
.zoomer div {padding:1em;}

* html #backstage {width:99%;}
* html #backstageArea {width:99%;}
#backstageArea {display:none; position:relative; overflow: hidden; z-index:150; padding:0.3em 0.5em 0.3em 0.5em;}
#backstageToolbar {position:relative;}
#backstageArea a {font-weight:bold; margin-left:0.5em; padding:0.3em 0.5em 0.3em 0.5em;}
#backstageButton {display:none; position:absolute; z-index:175; top:0em; right:0em;}
#backstageButton a {padding:0.1em 0.4em 0.1em 0.4em; margin:0.1em 0.1em 0.1em 0.1em;}
#backstage {position:relative; width:100%; z-index:50;}
#backstagePanel {display:none; z-index:100; position:absolute; margin:0em 3em 0em 3em; padding:1em 1em 1em 1em;}
.backstagePanelFooter {padding-top:0.2em; float:right;}
.backstagePanelFooter a {padding:0.2em 0.4em 0.2em 0.4em;}
#backstageCloak {display:none; z-index:20; position:absolute; width:100%; height:100px;}

.whenBackstage {display:none;}
.backstageVisible .whenBackstage {display:block;}
StyleSheet for use when a translation requires any css style changes.
This StyleSheet can be used directly by languages such as Chinese, Japanese and Korean which need larger font sizes.
body {font-size:0.8em;}
#sidebarOptions {font-size:1.05em;}
#sidebarOptions a {font-style:normal;}
#sidebarOptions .sliderPanel {font-size:0.95em;}
.subtitle {font-size:0.8em;}
.viewer table.listView {font-size:0.95em;}
@media print {
#mainMenu, #sidebar, #messageArea, .toolbar, #backstageButton, #backstageArea {display: none ! important;}
#displayArea {margin: 1em 1em 0em 1em;}
/* Fixes a feature in Firefox where print preview displays the noscript content */
noscript {display:none;}
<div class='header' macro='gradient vert [[ColorPalette::PrimaryLight]] [[ColorPalette::PrimaryMid]]'>
<div class='headerShadow'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
<div class='headerForeground'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
<div id='mainMenu' refresh='content' tiddler='MainMenu'></div>
<div id='sidebar'>
<div id='sidebarOptions' refresh='content' tiddler='SideBarOptions'></div>
<div id='sidebarTabs' refresh='content' force='true' tiddler='SideBarTabs'></div>
<div id='displayArea'>
<div id='messageArea'></div>
<div id='tiddlerDisplay'></div>
<div class='toolbar' macro='toolbar closeTiddler closeOthers +editTiddler > fields syncing permalink references jump'></div>
<div class='title' macro='view title'></div>
<div class='subtitle'><span macro='view modifier link'></span>, <span macro='view modified date'></span> (<span macro='message views.wikified.createdPrompt'></span> <span macro='view created date'></span>)</div>
<div class='tagging' macro='tagging'></div>
<div class='tagged' macro='tags'></div>
<div class='viewer' macro='view text wikified'></div>
<div class='tagClear'></div>
<div class='toolbar' macro='toolbar +saveTiddler -cancelTiddler deleteTiddler'></div>
<div class='title' macro='view title'></div>
<div class='editor' macro='edit title'></div>
<div macro='annotations'></div>
<div class='editor' macro='edit text'></div>
<div class='editor' macro='edit tags'></div><div class='editorFooter'><span macro='message views.editor.tagPrompt'></span><span macro='tagChooser'></span></div>
To get started with this blank TiddlyWiki, you'll need to modify the following tiddlers:
* SiteTitle & SiteSubtitle: The title and subtitle of the site, as shown above (after saving, they will also appear in the browser title bar)
* MainMenu: The menu (usually on the left)
* DefaultTiddlers: Contains the names of the tiddlers that you want to appear when the TiddlyWiki is opened
You'll also need to enter your username for signing your edits: <<option txtUserName>>
These InterfaceOptions for customising TiddlyWiki are saved in your browser

Your username for signing your edits. Write it as a WikiWord (eg JoeBloggs)

<<option txtUserName>>
<<option chkSaveBackups>> SaveBackups
<<option chkAutoSave>> AutoSave
<<option chkRegExpSearch>> RegExpSearch
<<option chkCaseSensitiveSearch>> CaseSensitiveSearch
<<option chkAnimate>> EnableAnimations

Also see AdvancedOptions
Melee in Solstice embraces the abstract combat method utilized in OD&D. Given that a round is equal to one minute, one round of melee involves a lot of actual attacks and maneuvers. Parries, blocks, feints, dodges, pushes, etc. all blend together into a simple attack and damage roll. Whether the combatant is surrounded, or outnumbering his own foe, the fluid AC is used, representative of the fact that a full minute of movement and attack/counterattack is taking place. Therefore, Solstice does not use positional penalties for bonuses to AC from Dexterity, Parry or Shields. As a matter of fact, in a pure abstract manner, Solstice does not even give a bonus to hit for rear, flanking or surprise attacks. A lot can happen in a full minute, and in a split second a combatant has time to react and adjust to new threats. 

Using the abstract combat model, even certain creatures who might employ multiple attacks in later versions of D&D, such as Gargoyles for instance, have all of the various attacks expressed in that single RTH, and a single damage roll. A combatant in Solstice either succeeds or fails to deal actual damage, each and every round, based on the one RTH, which is representative of combat effectiveness for that round. While it is still called a Roll To Hit, it does not simply imply a single attack. The referee might add some flavorful descriptions based upon a high RTH, or a high amount of damage sustained in a single round, but this is all with an understanding of the abstract nature of combat. There are  exceptions to this single RTH for certain monsters (Manticoras and Hydras for example), and under certain circumstances for Fighting Men.

Fighting Men have a few abilities which are important to remember when using Solstice’s abstract combat. Fighting Men may conduct melee in three ways, with a single one-handed weapon (allowing use of a shield or other item), with a single two-handed weapon (+1 damage), or dual-wielding with two one-handed weapons (-1 to hit, +1 damage). No matter how the Fighting Man is attacking, these styles do not alter the number of attack rolls used in a given combat round. 

Against 1 HD foes, a Fighting Man gets a number of attacks per round equal to his own level divided by 2 to a maximum of 6 at Lord, 12th, but only if there are no foes of higher HD engaged with the Fighting Man. Whenever a Fighting Man slays an opponent, by reducing it’s hit points to 0, the excess damage may be dealt to any other adjacent target with an AC no better than the slain target’s. These last two rules do not overlap; when fighting 1 HD opponents, the Fighting Man can either gain extra attacks, OR allow excess damage to carry over. These class abilities are reflective of the Fighting Man’s melee prowess, and are still simply abstract methods of representing their superior melee capabilities. 

While Solstice embraces the abstract combat method, certain aspects of OD&D don’t really fit in with it. For example, a character not engaged in melee would conceivably be able to fire multiple arrows in a full minute (one round). Rather than make arrows deal 1 damage, or require that characters carry hundreds of them, we accept the abstract nature of 1 missile RTH per round, and 1 arrow used per round.

Here are the default damage ranges for Monsters in Solstice:

Under 1 HD: 1 damage
1-7 HD: 1d6 damage/round
8-15 HD: 2d6 damage/round
16+ HD: 3d6 damage/round

Certain Monsters may deal the above listed damage range, ‘plus X’ as a bonus. For example, Fire Giants deal 2d6+2 damage.

Other Monsters may not fall within this guideline, for example Cloud Giants are 12+2 HD, but deal 3d6 damage due to their size, and Elementals have special damage ranges.

Chaos, Law and Neutrality.

OD&D is fairly wide open for interpretation as to what Alignment means. Those familiar with AD&D will need to think of Alignment in Solstice in terms of 'choosing sides' more so than any individual definition of morality or personality. It's almost as though there are 'cosmic sides' from which to choose. 

Chaotic: Bad Guys
Lawful: Good Guys
Neutral: Guys who are out to save their own skin, freely changing sides, or competing with both at times.

To borrow an analogy from a poster at Original D&D Discussion:

Chaotic: Darth Vader
Lawful: Luke Skywalker
Neutral: Han Solo

This doesn't mean everyone should be Neutral because Han is 'cool'. Han clearly changed sides later, becoming Lawful (as did Lando Calrissian).

Changing Alignment in Solstice is possible, and is normally brought on by the actions of the Character, not by some conscious decision on the part of the Player.

OD&D has a concise, easy to understand armor classification system. Solstice uses these rules as a basis, and converts target Armor Class into a fluid AC score. Fluid AC is a total of all protective gear worn by the target, and bonuses from Dexterity or magic/spells.

Armor Class: determined by the type of armor worn.
9: Unarmored
8: Armor Kit
7: Leather
6: Bronze Lamellar
5: Chain Mail
4: Bronze Plate Armor
3: Plate Mail

Armor Defined:
D&D AC scores are inverted in that lower is better, so it is important to realize that a +1 bonus to AC is actually a -1 bonus, an amount which improves the AC by actually lowering it.

An Armor Kit is the most basic form of protection, and includes a helmet, greaves and bracers. All of the above armor types constitute a full suit of protective gear, including cuirass, greaves, helmet and bracers, or their equivalent. If at any time the cuirass is used without a full armor kit, the AC is penalized 1 point. 

Shields provide +1 to AC. Shields add directly to the character’s fluid AC, a reflection of the Abstract Combat model, and of the one minute long combat round. Magic bonuses from Armor and Shields do not stack, and the character gains whichever bonus is the higher of the two, not both.

Other Possible AC Bonuses:
Magic protection from Armor, Shields and other magic items.
Dexterity of 15+ gives +1 to AC.
Parry from Swords.
Barbarian and Scout class skill.
All of these scores add together to figure the total, or fluid AC of a character.

The price of Armor, and it's weight in pounds has been altered for Solstice. Armor listed with cost in GP, and weight:

Armor Kit: 5,5
Leather: 10,10 (15,15 with Kit)
Bronze Lamellar: 45,30 (50,35 with Kit)
Chain Mail: 95,25 (100,30 with Kit)
Bronze Plate Armor: 245,55 (250,60 with Kit)
Plate Mail: 495,45 (500,50 with Kit)
Shield: 10,15

Artifacts: All Artifacts in Solstice are aligned to either Law or Chaos. As detailed in Vol. II, p. 39, any character of a differing alignment that picks up an Artifact is subject to harsh punishment, roll 2d6 as shown below:

2-5: Paralysis until dispelled, no save.
6-7: Insanity for 1 month, save to avoid at -3.
8-9: 10d6 arcane damage, save for 1/2 at -3.
10: Immediate loss of four energy levels, save at -3 for 1 level.
11: Immediate loss of six energy levels, save at -3 for 1 level.
12: Instant Death, no save.

Avoiding Monsters: Taking flight is one method of avoiding encounters. PC’s may not flee if they are surprised and the monsters are 20 feet or closer, unless both sides have been surprised.  Otherwise, a group may decide to make a hasty retreat. Monsters will pursue as detailed in Vol. III, p. 12, that being a straight line pursuit of no more than 90 feet. Pursuit will continue around corners, through doors or in stairs only with a 2in6 chance. Pursuit will follow through secret doors only 1in6 of the time. 

Burning oil will often deter pursuing monsters, as determined by the referee. Edible items and treasure can often be used to distract monsters, as shown below.

Barbarian (Subclass of Fighting Men): Prime Requisite: Strength. Required: Strength 12 and Constitution 12. Only Humans may become Barbarians. Barbarians are limited in armor use to an Armor Kit (see Armor section), but may use shields as well. Barbarians are limited to the use of no more than three magic items at any one time. Barbarians have a bonus of +1 to hit and damage with all melee weapons (not missiles). Barbarians receive a bonus of one pip per level for Hit Points. Barbarians receive a bonus of +2 on all saving throws. In any armor other than their Armor Kit, a Barbarian acts as a Fighting Man with a limit of three magic items, losing all other class abilities.

Barbarian FC:  1-3: 1,  4-6: 3,  7-9: 6,  10-12: 8,  13-15: 10,  16+: 13.

A Barbarian may:
Reduce Intelligence by 2 to gain 1 Strength
Reduce Wisdom by 3 to gain 1 Strength

Fighting Men have a few abilities which are important to remember when using Solstice’s abstract combat. Fighting Men may conduct melee in three ways, with a single one-handed weapon (allowing use of a shield or other item), with a single two-handed weapon (+1 damage), or dual-wielding with two one-handed weapons (-1 to hit, +1 damage). No matter how the Fighting Man is attacking, these styles do not alter the number of attack rolls used in a given combat round. 

Against 1 HD foes, a Fighting Man gets a number of attacks per round equal to his own level divided by 2 to a maximum of 6 at Lord, 12th, but only if there are no foes of higher HD engaged with the Fighting Man. Whenever a Fighting Man slays an opponent, by reducing it’s hit points to 0, the excess damage may be dealt to any other adjacent target with an AC no better than the slain target’s. These last two rules do not overlap; when fighting 1 HD opponents, the Fighting Man can either gain extra attacks, OR allow excess damage to carry over. These class abilities are reflective of the Fighting Man’s melee prowess, and are still simply abstract methods of representing the their superior melee capabilities. 

Race Level Limits:
Human: none.

Between adventures, the Characters will want to find a safe, warm place to fully rest, recuperate, restock, sell excess loot, carouse, train, etc.

Rules are here for [[Healing Wounds]], [[Training and Cost of Living]], and [[Experience]].

Rolling Ability Scores, Ability Bonuses and Penalties.

Players making new characters may have the option to choose a set of six attribute scores from a pre-rolled block rolled by the referee, or can choose to roll  per the rules. 

Use 3d6 (Kobolds use 2d8 instead), rolled six times to generate, in order, the abilities of Strength, Intelligence, Wisdom, Constitution, Dexterity and Charisma.

Ability Bonuses and Penalties:

Strength 15 or more: +1 to Open Door attempts. FM, including subclasses, receive a 10% bonus to earned experience.
Strength 13-14: FM, including subclasses, receive a 5% bonus to earned experience.
Intelligence 15 or more: MU, including subclasses, receive a 10% bonus to earned experience.
Intelligence 13-14: MU, including subclasses, receive a 5% bonus to earned experience.
Wisdom 15 or more: Clerics, including subclasses, receive a 10% bonus to earned experience.
Wisdom 13-14: Clerics, including subclasses, receive a 5% bonus to earned experience.
Constitution 15 or more: +1 pip per d6 when determining hit points.
Constitution 13 or more: 100% chance to be Raised by spell or Wish.
Constitution 7-12: 40% (at 7) to 90% (at 12) chance to be Raised by spell or Wish.
Constitution 6 or less: -1 pip per d6 when determining hit points. 30% chance to be Raised by spell or Wish.
Dexterity 15 or more: +1 to Armor Class, +1 to Sneak attempts.
Dexterity 13 or more: +1 to hit with missile weapons.
Dexterity 8 or less: -1 to hit with missile weapons.
Charisma 15 or more: +1 on reaction checks.

Each Class has [[Prime Requisites]] which allows adjustment to these ability scores. Prime Requisite adjustments can be made to these scores once a Class is selected. The rules for such adjustments, and the effect of Prime Requisites is detailed in the Character Class section. 
Characters may pursue one (or more in the case of Elf or Faun) of the following classes, as permitted by their race: [[Fighting Man]], [[Magic User]], [[Cleric]], [[Barbarian]], [[Scout]], [[Templar]], [[Shaman]].

Races have upper level limits determined by their chosen Class, as shown below:

[[Dwarf]]: FM 6
[[Elf]]: FM/MU 4/8
[[Faun]]: Sc/MU 4/6
[[Hobbit]]: FM 4, Sc 6
[[Human]]: no limit
[[Kobold]]: FM 4, MU 4, Sh 4

Step by Step Character Creation

1. Roll [[Character Abilities]]. 3d6 in order. (If the PC is going to be a Kobold, use 2d8 instead).

2. Select Race. [[Dwarf]], [[Elf]], [[Faun]], [[Hobbit]], [[Human]] or [[Kobold]]. 

3. Select Class. [[Fighting Man]], [[Magic User]], [[Cleric]], [[Barbarian]], [[Scout]], [[Templar]] or [[Shaman]].

4. Adjust [[Prime Requisites]] as allowed. Steps 3 and 4 can be switched if the Player is trying to meet certain requirements for a Subclass.

5. Determine [[Character Hit Points]]. Max at 1st level.

6. Select [[Alignment]]. Chaotic, Lawful or Neutral.

7. Name your Character.

8. All Solstice characters begin with 3d6x10 GP.

9. Keep 3d6 and extra index cards ready because level one Characters have a high mortality rate.

10. Introduce yourself to your party members, and feel free to add Character background information you may have imagined. Have Fun!
How to determine Character Hit Points

At first level, all new Characters begin with maximum Hit Points. 7 for a [[Fighting Man]], or a [[Scout]], 6 for a [[Magic User]], [[Cleric]], [[Templar]] or [[Shaman]], and 8 for a [[Barbarian]], before Constitution adjustments, if any.

Upon gaining a new level, character Hit Points are re-rolled. Using the amount of d6 listed, plus any modifiers, a new total is rolled. If the new total is lower than the previous total, the old amount is increased by 1 and used instead of the new total. 

In the case of [[Elf]] or [[Faun]] Characters, if the new total is lower than the previous total, the old amount is used. It is increased by 1 ONLY if the new level is the higher of the two classes. 

Characters may be from any one of the following playable races: [[Dwarf]], [[Elf]], [[Faun]], [[Hobbit]], [[Human]], [[Kobold]].
Clerics: Prime Requisite: Wisdom. Lawful or Chaotic only. Only Humans may become Clerics. Clerics are restricted to wielding blunt, one handed melee weapons or Staves exclusively, although they may wear any armor including shields. Clerics may Turn Undead by using their Cross. Clerics have strong will and determination, as reflected in their Saving Throws. Clerics gain spell casting ability at 2nd level. Clerics have a FC as follows:1-4: 1,  5-8: 3,  9-12: 6,  13-16: 8,  17+: 10.

Chaotic Clerics are considered evil, or Anti-clerics, and their spells are reversed as shown in Vol. I, p. 22. Anti-clerics may not Turn Undead. Neutral characters may not become Clerics, but can possibly become a Shaman.

Cleric Turn Undead

A Cleric attempting to Turn Undead must use 1 action to do so. The Cleric is required to pray and brandish his Cross before the target undead with a range of 30’. Use the table in Vol. 1, M&M, p. 22. Turn Away indicates the undead will move away from the Cleric, out of the 30’ range of effect. As long as the Cleric continues to brandish his Cross and utter prayers, the undead will be forced to stay out of the 30’ range. The effect ends immediately if the Cleric changes action at any time, including attempting to turn other or more undead, or cast a spell, engage in melee, etc. Undead turned by the Cleric will defend themselves when attacked, but at -4 to hit. Likewise, they will attack characters who are not within the 30’ range of the Cleric’s Holy Symbol. Clerics without a Cross may not Turn Undead. Wooden Crosses incur a -1 penalty on Turn attempts, Silver Crosses are as listed. The use of 1 full vial of Holy Water while Turning will increase the number of Undead Turned by +1 per die.

A Cleric may:
Reduce Strength by 3 to gain 1 Wisdom
Reduce Intelligence by 2 to gain 1 Wisdom

Race Level Limits:
Human: none.

Combat Rules

Blind attacks are at -4 to hit. Such attacks may be performed when the foe is detected, but unseen.

Missile attacks may be penalized by cover. Cover is designated as slight cover, partial cover or full cover. Slight cover incurs a -2 penalty on the to hit roll, partial cover incurs a -4 penalty on the to hit roll, full cover targets may not be hit by missile fire.

A natural roll of 1 is always a miss, and a natural roll of 20 is always a hit (and as long as a 20 isn’t the minimum roll required to hit, the attack deals double the damage in dice).

Characters are only unconscious at 0 hit points. For each level a character may have a minus HP total equal to the level, so a 1st level PC is dead at -2, a 2nd level at -3, etc. 

Combat Damage and Stanching Wounds

If a character scores a hit, 1d6 damage is dealt. Certain bonuses may add to this damage. Monsters typically have a default damage range determined by their HD.

Solstice uses a slightly modified version of the Judges Guild Ready Ref Sheet Shock Recovery rule (RRS, p. 13). After a melee encounter in which a character sustained damage, they have the option to Stanch Wounds before performing any other actions. Stanching Wounds requires a full turn of binding, cleaning and resting after the melee has ended. 

If attacked in that turn, the character regains but 1 hit point. If allowed to rest the entire turn, the character will regain 1d3+1 hit points. Any character may have his wounds so healed, even those who have been reduced to 0 or fewer hit points, but are still alive. There is only one opportunity to Stanch Wounds, and if it is not taken, those wounds become actual wounds which will only heal via magic or rest.

|''Description:''|Support for cryptographic functions|
if(!version.extensions.CryptoFunctionsPlugin) {
version.extensions.CryptoFunctionsPlugin = {installed:true};

//-- Crypto functions and associated conversion routines

// Crypto "namespace"
function Crypto() {}

// Convert a string to an array of big-endian 32-bit words
Crypto.strToBe32s = function(str)
	var be = Array();
	var len = Math.floor(str.length/4);
	var i, j;
	for(i=0, j=0; i<len; i++, j+=4) {
		be[i] = ((str.charCodeAt(j)&0xff) << 24)|((str.charCodeAt(j+1)&0xff) << 16)|((str.charCodeAt(j+2)&0xff) << 8)|(str.charCodeAt(j+3)&0xff);
	while (j<str.length) {
		be[j>>2] |= (str.charCodeAt(j)&0xff)<<(24-(j*8)%32);
	return be;

// Convert an array of big-endian 32-bit words to a string
Crypto.be32sToStr = function(be)
	var str = "";
	for(var i=0;i<be.length*32;i+=8)
		str += String.fromCharCode((be[i>>5]>>>(24-i%32)) & 0xff);
	return str;

// Convert an array of big-endian 32-bit words to a hex string
Crypto.be32sToHex = function(be)
	var hex = "0123456789ABCDEF";
	var str = "";
	for(var i=0;i<be.length*4;i++)
		str += hex.charAt((be[i>>2]>>((3-i%4)*8+4))&0xF) + hex.charAt((be[i>>2]>>((3-i%4)*8))&0xF);
	return str;

// Return, in hex, the SHA-1 hash of a string
Crypto.hexSha1Str = function(str)
	return Crypto.be32sToHex(Crypto.sha1Str(str));

// Return the SHA-1 hash of a string
Crypto.sha1Str = function(str)
	return Crypto.sha1(Crypto.strToBe32s(str),str.length);

// Calculate the SHA-1 hash of an array of blen bytes of big-endian 32-bit words
Crypto.sha1 = function(x,blen)
	// Add 32-bit integers, wrapping at 32 bits
	add32 = function(a,b)
		var lsw = (a&0xFFFF)+(b&0xFFFF);
		var msw = (a>>16)+(b>>16)+(lsw>>16);
		return (msw<<16)|(lsw&0xFFFF);
	// Add five 32-bit integers, wrapping at 32 bits
	add32x5 = function(a,b,c,d,e)
		var lsw = (a&0xFFFF)+(b&0xFFFF)+(c&0xFFFF)+(d&0xFFFF)+(e&0xFFFF);
		var msw = (a>>16)+(b>>16)+(c>>16)+(d>>16)+(e>>16)+(lsw>>16);
		return (msw<<16)|(lsw&0xFFFF);
	// Bitwise rotate left a 32-bit integer by 1 bit
	rol32 = function(n)
		return (n>>>31)|(n<<1);

	var len = blen*8;
	// Append padding so length in bits is 448 mod 512
	x[len>>5] |= 0x80 << (24-len%32);
	// Append length
	x[((len+64>>9)<<4)+15] = len;
	var w = Array(80);

	var k1 = 0x5A827999;
	var k2 = 0x6ED9EBA1;
	var k3 = 0x8F1BBCDC;
	var k4 = 0xCA62C1D6;

	var h0 = 0x67452301;
	var h1 = 0xEFCDAB89;
	var h2 = 0x98BADCFE;
	var h3 = 0x10325476;
	var h4 = 0xC3D2E1F0;

	for(var i=0;i<x.length;i+=16) {
		var j,t;
		var a = h0;
		var b = h1;
		var c = h2;
		var d = h3;
		var e = h4;
		for(j = 0;j<16;j++) {
			w[j] = x[i+j];
			t = add32x5(e,(a>>>27)|(a<<5),d^(b&(c^d)),w[j],k1);
			e=d; d=c; c=(b>>>2)|(b<<30); b=a; a = t;
		for(j=16;j<20;j++) {
			w[j] = rol32(w[j-3]^w[j-8]^w[j-14]^w[j-16]);
			t = add32x5(e,(a>>>27)|(a<<5),d^(b&(c^d)),w[j],k1);
			e=d; d=c; c=(b>>>2)|(b<<30); b=a; a = t;
		for(j=20;j<40;j++) {
			w[j] = rol32(w[j-3]^w[j-8]^w[j-14]^w[j-16]);
			t = add32x5(e,(a>>>27)|(a<<5),b^c^d,w[j],k2);
			e=d; d=c; c=(b>>>2)|(b<<30); b=a; a = t;
		for(j=40;j<60;j++) {
			w[j] = rol32(w[j-3]^w[j-8]^w[j-14]^w[j-16]);
			t = add32x5(e,(a>>>27)|(a<<5),(b&c)|(d&(b|c)),w[j],k3);
			e=d; d=c; c=(b>>>2)|(b<<30); b=a; a = t;
		for(j=60;j<80;j++) {
			w[j] = rol32(w[j-3]^w[j-8]^w[j-14]^w[j-16]);
			t = add32x5(e,(a>>>27)|(a<<5),b^c^d,w[j],k4);
			e=d; d=c; c=(b>>>2)|(b<<30); b=a; a = t;

		h0 = add32(h0,a);
		h1 = add32(h1,b);
		h2 = add32(h2,c);
		h3 = add32(h3,d);
		h4 = add32(h4,e);
	return Array(h0,h1,h2,h3,h4);

|''Description:''|Support for deprecated functions removed from core|
if(!version.extensions.DeprecatedFunctionsPlugin) {
version.extensions.DeprecatedFunctionsPlugin = {installed:true};

//-- Deprecated code

// @Deprecated: Use createElementAndWikify and this.termRegExp instead
config.formatterHelpers.charFormatHelper = function(w)

// @Deprecated: Use enclosedTextHelper and this.lookaheadRegExp instead
config.formatterHelpers.monospacedByLineHelper = function(w)
	var lookaheadRegExp = new RegExp(this.lookahead,"mg");
	lookaheadRegExp.lastIndex = w.matchStart;
	var lookaheadMatch = lookaheadRegExp.exec(w.source);
	if(lookaheadMatch && lookaheadMatch.index == w.matchStart) {
		var text = lookaheadMatch[1];
			text = text.replace(/\n/g,"\r");
		w.nextMatch = lookaheadRegExp.lastIndex;

// @Deprecated: Use <br> or <br /> instead of <<br>>
config.macros.br = {};
config.macros.br.handler = function(place)

// Find an entry in an array. Returns the array index or null
// @Deprecated: Use indexOf instead
Array.prototype.find = function(item)
	var i = this.indexOf(item);
	return i == -1 ? null : i;

// Load a tiddler from an HTML DIV. The caller should make sure to later call Tiddler.changed()
// @Deprecated: Use store.getLoader().internalizeTiddler instead
Tiddler.prototype.loadFromDiv = function(divRef,title)
	return store.getLoader().internalizeTiddler(store,this,title,divRef);

// Format the text for storage in an HTML DIV
// @Deprecated Use store.getSaver().externalizeTiddler instead.
Tiddler.prototype.saveToDiv = function()
	return store.getSaver().externalizeTiddler(store,this);

// @Deprecated: Use store.allTiddlersAsHtml() instead
function allTiddlersAsHtml()
	return store.allTiddlersAsHtml();

// @Deprecated: Use refreshPageTemplate instead
function applyPageTemplate(title)

// @Deprecated: Use story.displayTiddlers instead
function displayTiddlers(srcElement,titles,template,unused1,unused2,animate,unused3)

// @Deprecated: Use story.displayTiddler instead
function displayTiddler(srcElement,title,template,unused1,unused2,animate,unused3)

// @Deprecated: Use functions on right hand side directly instead
var createTiddlerPopup = Popup.create;
var scrollToTiddlerPopup = Popup.show;
var hideTiddlerPopup = Popup.remove;

// @Deprecated: Use right hand side directly instead
var regexpBackSlashEn = new RegExp("\\\\n","mg");
var regexpBackSlash = new RegExp("\\\\","mg");
var regexpBackSlashEss = new RegExp("\\\\s","mg");
var regexpNewLine = new RegExp("\n","mg");
var regexpCarriageReturn = new RegExp("\r","mg");

Dropped Items: As noted above, there is always a chance the characters surprised at the start of an encounter will drop held items. Most items will simply clatter to the floor, and require 1 round to be retrieved and reequipped. Light sources are handled somewhat differently. When a light source is dropped, it’s radius of light is reduced to ½ until 1 round is spent retrieving the item and reequipping it. Torches have a 1in6 chance of becoming extinguished and providing no light, lanterns have a 1in6 chance of extinguishing and requiring a saving throw of 14 to prevent breaking. Lighting a torch or lantern in mid-combat is a difficult task, and requires two rounds of action. Fragile objects such as potions, flasks, etc will also have to save vs. breaking with a 14 1in6 of the time.

In OD&D, the following tasks were defined: Find Secret Passage(Door), Elf Sense Secret Door, Listen (Hear) at Door, and Force Open Door. Players of later editions of D&D have become accustomed to the presence of the Thief class, and most of these delving tasks are designed to allow a foundation upon which the referee can build a cohesive set of rules for determining success of such useful, commonly applied tasks. This guide is intended to promote critical thinking by the players during the course of an adventure.

The tasks below which have no X in 6 chance are provided as an example of possible tasks a referee might be faced with resolving during the course of an adventure. If the referee judges that the players have described exactly how they are going to accomplish such a task, perhaps no roll is needed, and success is automatic. If the referee judges that there is indeed some degree of difficulty which constitutes a realistic chance of failure, a d6 should be rolled to determine success. Whenever the referee calls for a d6 task roll, a roll of 6 will sometimes indicate further ramifications due to failure. 

Climb: With proper time, preparation and equipment, Climbing can become a mundane task with little or no chance of failure. Under other circumstances, the referee might determine that such is not the case. Failure normally means that no vertical or horizontal movement was made. A roll of 6 indicates a fall. Dwarves and Kobolds are excellent climbers and receive a +1 bonus. Fauns are poor climbers, and receive a penalty of -1.

Hear Noise: The act of taking a moment to listen, such as placing one’s ear against a door to detect noises beyond. (1in6) for Humans and Kobolds, (2in6) for Dwarves, Elves, Fauns and Hobbits.

Hide: Is just that, the act of taking time to hide in a dark corner, or low light area. The referee will have to determine the chance of being detected by a particular monster. This task will not provide invisibility and characters so hidden may still be detected by scent or noise. No one may attempt to hide while carrying a light source of any kind. Characters must remain stationary to stay hidden. Hobbits and Kobolds are sneakier than most, and receive a further +1. Fauns and Hobbits may Hide Outdoors when brush or undergrowth is present, with a (5in6) chance.

Sneak: The act of tip-toeing about quietly. The referee will have to roll Hear Noise for any monsters who might possibly detect the sneaking characters, adjusted by the Dexterity, Race and Class of the character sneaking. Dexterity of 15 or more gives +1. Hobbits and Kobolds are lighter on their feet, and receive a further +1.

Open Door: This rather mundane task will certainly be repeated quite often. Most dungeon doors fall into two categories, stuck or locked. Stuck doors require force to open, (2in6) and locked doors (short of picking the lock or using magic) must be kicked or bashed open (1in6) with a +1 to chance given for those possessing Strength of 15 or greater in both cases, while Hobbits and Kobolds perform such a task at -1. Vol. III states that there can be up to three characters attempting to force open a door, but gives no bonus for such an effort. Allow a +1 to the chance for each member over one working together to force a door open, up to +2. Such a method could possibly speed up the act of opening a door, but will leave the three characters performing this act potentially piled up on one another on the other side of the door. The referee will normally increase Wandering Monster chances due to the racket raised by the characters. 

Pick Lock: This is an attempt to unlock a door or chest by jimmying or manipulating the lock. Allows for more silent trips through doors than kicking or bashing them open. Certain items can aid in this task. Up to three such attempts may be made on a particular lock, by a party, per adventure. If at anytime a 6 is rolled, no further attempts may be made. The quality of the lock determines the chance of success.

Pilfer: The act of taking advantage of distraction and stealing an item from a target. An attempt may only be made in conjunction with some sort of distraction, so a character who wishes to attempt this must often wait until an opportunity presents itself, or create a distraction themselves. A roll of 6 indicates detection by the target. Hobbits are nimble fingered and get a +1 bonus. 

Search: Searching is a task in which the adventurer is stopping and checking a 10’x10’ area for anything hidden, concealed or secreted. This type of searching includes looking for traps, secret doors, and the like, even checking a chest or door for such hidden devices. This task requires 1 turn of game time for each 10’x10’ area searched. All characters have a chance (2in6) of locating hidden traps or doors. Dwarves locate stone traps rather readily (4in6), while Elves are more adept at locating secret doors (4in6), (3in6) for Fauns. Furthermore, Elves have a chance to sense secret doors merely by passing an area (2in6), (1in6) for Fauns.

Trap Removal: Once located, a trap may be handled by either attempting to disarm it harmlessly, or by attempting to spring it while (hopefully) out of harm’s way. Dwarves have a knack for disarming stone traps (pits and the like) (5in6), other traps may be disarmed in a logical fashion. If a trap is unsuccessfully disarmed by rolling a 6, it is triggered at that time. The other option is to spring the trap intentionally (2in6).

Dwarf: Lawful, swarthy, rugged, bearded race. Merry making fun loving, hard drinking, blokes who enjoy singing but hate dancing. Dwarves are known for taking on any worthy endeavor with total effort, and it shows in their labors. Single-minded and stubborn, Dwarves are very suspicious of anything magical, except weapons and armor. Dwarves are capable of becoming expert miners, expert blacksmiths, expert masons, expert architects, and expert Fighting Men. Dwarves lack the flexibility of humans, and their single-minded approach means they typically pursue one goal to the exclusion of everything else. They believe that there is a time for work, and a time for play, and both aspects are taken on with great gusto. Dwarves are very house-proud and standoffish, they choose their friends carefully. Once a friendship is made, however, it is never severed. Dwarves have learned through the centuries that there is indeed good reason to distrust any but their own kind.

Dwarves may become Fighting Men (6th).
Giant class Monsters, including Ogres and Trolls, deal ½ damage to Dwarves.
Dwarves can locate stone traps and sloping/shifting/new construction underground when Searching, 4in6. 
Dwarves have a knack for disarming stone traps (pits and the like), 4in6.
Dwarves have Dark Vision to 60', with limited detail.
Dwarves receive +1 on attempts to Hear Noise at doors.
Dwarves are excellent climbers and receive a +1 to all rolls.
Dwarves receive +4 on all saves vs. magic.
Speak Gnome, Kobold and Goblin.

Elf: Elves are a Neutral, fair haired, lithe and thoughtful race of Fae with a slight pre-disposition for Law. Elves are so inherently linked to the magic of Solstice, that their kind is almost alien in nature. Misunderstood, and not entirely trusted by anyone, not even their own kind, Elves are brooding, silent types who often make nonsensical remarks, or skulk off into the wilderness to perform erudite meditations in total seclusion. There are two distinct Elf types in Solstice, the Wood Elves and the Marsh Elves. Wood Elves live in suspended tree homes, and Marsh Elves live in secluded huts on stilts. Wood Elves have a stronger pre-disposition to Law, while Marsh Elves are nearly completely Neutral. Elves are simultaneously Fighting Men and Magic Users, however, they must choose to put all of the experience from any one adventure (or whenever experience is awarded by the DM) into one class or the other. An Elf character is not required to put any points in one or the other, and may place all points into Fighting Man, for example. Hit Points are tallied as normal, if the new total is lower than the previous total, the old amount is used. It is increased by 1 ONLY if the new level is the higher of the Elf's two classes. 

Elves are limited to Fighting Man (4th), and Magic User (8th).
Elves may use magic armor (Chain Mail or lighter) and still act as Magic Users.
Elves can attack with a Bow, and can still get full movement during the combat round.
Elves armed with magic weapons deal +1 damage.
Elves armed with magic weapons attack at +1 against Orcs.
Elves armed with magic weapons attack at +2 against Goblins.
Elves deal double damage in dice against Ogres. 
Elves are immune to the paralyzing touch of Ghouls.
Elves can see in the dark outdoors, to 90’.
Elves locate secret doors, 4in6, when Searching.
Elves sense secret doors, 2in6, when passing by them.
Elves receive +1 on attempts to Hear Noise at doors.
Speak Orc, Hobgoblin and Gnoll.

Entourage Approach and Style Points

Players in the OF&F campaign, in Solstice, will be portraying the role of a player character, but with a small wrinkle that will change the way we have normally played D&D in the past. Each and every player will be charged with developing an Entourage or stable of player characters. I will call this method the Entourage Approach.

Each Entourage will consist of a Primary Character, and a Loyal Follower, further members of said Entourage will be standard hirelings, also known as Henchmen. The Primary Character’s Loyal Follower will not count towards the hireling total permitted by his CHA score. Furthermore, the hireling total will rise with experience for each Primary Character, reflecting his fame and influence as he gains notoriety throughout Solstice.

Upon the untimely death of a Primary Character, the Loyal Follower, by law, is able to claim all of the slain former leader’s possessions which are upon his character, and is able to claim, after paying a 10% tax to the state, that deceased individual’s estate, such as it is. At this point, short of a potential Raise Dead, the Loyal Follower becomes the Primary Character, and must then choose a new Loyal Follower from amongst his own Entourage.

At the beginning of each session, the player decides who from amongst his Entourage is going on this particular adventure. Typically, either the Primary Character, or the Loyal Follower must be present during an adventure. Some of the members of the Entourage might stay behind to tend to matters at home while their brethren assume the dangerous duties of adventuring. Later in the campaign, the players might decide to attempt an adventure which is surely beneath their Primary Character’s or even Loyal Follower’s level of expertise. In such a case, the player can opt to play an adventure using the Henchmen members of their Entourage. Temporary Primary Characters will have to be established during those adventures.

Experience is effected by the number of characters, obviously, so it is not always the best idea to tackle an adventure with three dozen members, but it IS possible. Primary Characters receive one full share of divided experience, Loyal Followers and Henchmen receive but one half. This might make for some complicated numbers crunching, but the referee will make the entire process fair and equitable. If there are more than two members of an Entourage on any given adventure, they will simply divide equally one full share of experience amongst themselves. For example, if a particular player’s Entourage consists of five hirelings, they would divide that full share by five, each receiving one fifth.

The Primary Character’s CHA score can allow members of his Entourage to gain an extra experience bonus, due to exemplary leadership skills. CHA of 13 or 14 will yield a 10% bonus to earned experience for all hirelings, and a CHA score of 15 or more will yield a 20% bonus to earned experience for all hirelings.

A Primary Character gains an additional Loyal Follower at experience levels four and seven. Again, these members of the Entourage do not count toward the Primary Characters maximum allowable number of hirelings. The player must still designate a pecking order amongst his Loyal Followers, in order that inheritance is clearly defined. There will be further rules for the Entourage when a particular Primary Character builds a stronghold, at the Lord, Wizard or Patriarch levels.

If a Loyal Follower or any other member of an Entourage attains an experience level higher than the Primary Character’s, he or she will leave the Entourage (and possibly establish his own and continue adventuring, at the player’s option).

Each player will receive a Stat Block of 10 pre-rolled stat lines to be used for both Primary Characters and Loyal Followers. Stat lines not used are saved for future characters until the block is empty. At such a time, the referee or player will roll a new Stat Block of 10 lines, and repeat the process.

Morale is an important game feature when using the Entourage Approach. Henchmen are fairly transient in Solstice, but eventually, each Entourage will consist of some very loyal members, even at the Henchmen level. Nevertheless, the OD&D rules shall be followed each time a new hireling is added. 

First, the Reaction Table on p. 12 of M&M is used during the hiring process. There is a possibility that said hireling will end up with +3 Loyalty at this stage. Then, the referee secretly rolls 3d6 to determine the hirelings Loyalty, adjusting for CHA, amount of gold offered, and possibly by that +3 from the Reaction Table. A number is generated from 1 to 25 after adjustments for CHA and gold are made. This Loyalty number determines one of seven Morale factors, from deserts at first opportunity, to need never check morale, with adjustments of -2, -1, 0, +1 or +2 in between.

The referee will make on the fly adjustments for particularly perilous situations. Morale should also be checked at the conclusion of each adventure to see if the Henchmen remains in the Entourage. Fair treatment and fair pay will normally mean that no check is required. Henchmen who have witnessed their mates perish, or come to within a breath of their own demise, will normally have to check with a penalty. Gold and Gems can normally help to convince even the most reluctant Henchmen, though.

To make a Morale Check, the referee rolls 2d6, makes the Loyalty adjustment, and refers to the below table:
2: Hostile, will attack or endanger Primary Character.
3-5: Deserts Immediately, will attack if prevented from flight.
6-8: Hesitates, if situation does not improve, roll again at -1 in one turn.
9-11: No effect. If situation does not improve, roll again in one turn.
12: No effect, no more rolls required for this situation.

Players will maintain an index card for each member of their Entourage, and the referee will keep track of the Henchman’s Loyalty base. Loyalty scores for members of the Entourage are never seen by the players, but might become evident over the course of the campaign. 

Under certain circumstances, a player with available space within his entourage can actually add intelligent Monsters to his Entourage on a temporary or even permanent basis, given that said Monster can be accepted by his Henchmen mates, and further by those members of society whom might have to accept said Monster!

The process of actually attracting and maintaining a successful Entourage will be a large part of campaign play in Of Fortunes and Fools. Most of all, this Entourage Approach will open up game play opportunities for all involved. A player with a cohesive Entourage could even elect to play solo, or have successful adventures with only one other player, should the need arise. A player is never required to bring members of his Entourage on adventures, but the benefits of maintaining a Loyal Follower, at the least, are clear.

In Solstice, the standard Henchmen Fee is as follows: 100 GP hiring fee per level of Henchmen, and one quarter a share of all gold plundered on adventures.  Thus, four members of an Entourage would be able to claim, rightfully, one full share of the treasure. When there are more than four members of an Entourage on an adventure, they will not receive more than a full share of the treasure, and must divide that full share equally amongst themselves, much like the way experience is divided. Magic Items are not included in such hand shake contracts, though. When an Entourage consists of more than four members, it is assumed that the Primary Character will simply award that same full share, and it will be equally divided amongst the Henchmen. 

Bonuses to Loyalty base are normally afforded by exceeding this standard amount, while penalties are incurred when awarding less than this standard amount.

Players are encouraged to name their Entourage, to give their possibly transient character base an identity. For example, House Hartman or Clan Claudy might be appropriate. Some sort of identity is important, because during the course of play, an Entourage might earn and accumulate Style Points.

Style Points are awarded by the referee under certain, special circumstances during play. A particularly heroic act, a fantastic piece of role-playing, a completely newfound method of death, an act of comedic value that even makes the Monsters giggle, or, having a Kobold Primary Character. 

How exactly an Entourage cashes in Style Points is up to the player. If used during character creation, the player will be allowed to spend a point, and swap the position of two abilities. Or, add +1 to an ability. If used when rolling hit points, a player will be allowed to spend a point and roll over, taking the highest result. If used during play, a player can re-roll a saving throw, or a roll to hit, or pretty much any single die roll, taking the best result. If at anytime an Entourage manages to accumulate 10 Style Points without spending any, it can claim Lordship over the group for one gaming session. What this entails is not entirely defined at this point, but will probably include such things as deciding what toppings are on the pizza for that evening.


OD&D uses experience points to reward the defeat of Monsters and the acquisition of Treasure both monetary and magic. The guide in Vol. I, p. 18 is somewhat cumbersome in regard to relative difficulty when compared to the Character's level. Rather than use a set mathematical formula for determining what portion of potential experience a Character will be awarded based upon his level, Solstice will require the referee to judge exactly how worthy of an endeavor was undertaken in the collection of the potential experience. For the most part, experience will be given 1 for 1, unless the referee feels that the level of difficulty is so far below the expertise of the Characters that further exploits amongst vastly weaker opponents is counterproductive. While higher level Characters could indeed venture to gather Treasure from inferior opponents, such gains will be monetary in nature only, and will not yield experience from the slaying of low level Monsters or the plundering of their Treasure. 

OD&D uses a straight 100 experience points awarded per HD of the Monster defeated. As such, a group of five 1st level Characters could presumably defeat 75 Orcs in order for a Cleric to gain a level, 100 Orcs in order for a Fighting Man to gain a level, and 125 Orcs in order for a Magic User to gain a level. This is assuming that all five members share the experience equally, and it does not take into account experience gained from Treasure.

Every GP plundered by the Characters, and actually returned to town, will equate to 1 experience point each. Coins left behind will not award any experience. All gems, jewels and valuable items likewise returned to town will award experience at an identical rate, 1 for 1.

While Vol. I mentions experience awarded for magic items, it gives no guidelines for the conversion in regard to plundered items. The following is a basic guide to how such experience is awarded in Solstice.

Potions and Scrolls: 150
Wands: 500
Staves: 1,250
Rings: 1000
+1 Weapons or Armor: 500
+2 Weapons or Armor: 1,000
+3 Weapons or Armor: 2,000
Arrows: 25 each
Miscellaneous Magic Items: 1,500

Experience for magic items is only awarded if the item is properly identified and returned to town. Potions, Scrolls and other consumables yield experience when they are used, or once returned to town. 

Faun: Like Elves, Fauns are a race of inherently magic Fae. Fauns are about the size of an Elf, but with horns, a short tail, and the lower half of a goat. Fauns are the dark and mysterious woodland creatures of myth and legend. There is great distrust born of misunderstanding in regard to their kind, and there are fables naming them as the practitioners of fell rites and black magic. Often referred to as Elf Folk or even Half Elves, Fauns, while being of the Fae like Elves, are entirely their own race. Perhaps not as nonsensical in their behavior as Elves, they are nevertheless even more mistrusted by mankind. Neutral to the extreme, Fauns are known to be uncaring and cold, but can display emotion when the mood strikes them. While they are rooted in nature and their woodland environment, Fauns are the embodiment of the balance of the world, at one moment helpful and involved, at the next withdrawn and indifferent. Fauns are simultaneously Scouts and Magic Users, however, they must choose to put all of the experience from any one adventure (or whenever experience is awarded by the DM) into one class or the other. A Faun character is not required to put any points in one or the other, and may place all points into Magic User, for example. Hit Points are tallied as normal, if the new total is lower than the previous total, the old amount is used. It is increased by 1 ONLY if the new level is the higher of the Faun's two classes. 

Fauns are limited to Scout (4th), and Magic User (6th).
Fauns may use magic armor (Leather only) and still act as Magic Users.
Fauns, and their adventuring mates, are only surprised on a 1in6.
Fauns may not be the beneficiaries of Raise Dead, but may be ‘raised’ with a Wish.
Fauns can see in the dark outdoors, to 90’.
Fauns are able to Hide Outdoors in brush or woods 5in6 chance.
Fauns locate secret doors, 3in6, when Searching.
Fauns sense secret doors, 1in6, when passing by them.
Fauns receive +1 on attempts to Hear Noise at doors.
Fauns receive a -1 penalty on attempts to Climb.
Fauns receive a +4 on all saves vs. poison.
Speak Orc, Goblin and Hobgoblin.

Fighting Men: Prime Requisite: Strength. All races, other than Fauns, may pursue this class. Fighting Men have the advantage of being able to wield all weapons (excluding those magic Staves intended for spell casters), and to wear all armor types. Fighting Men gain certain advantages in melee, as described in the Abstract Combat section. Fighting Men have a FC as follows:1-3: 1,  4-6: 3,  7-9: 6,  10-12: 8,  13-15: 10,  16+: 13.

Fighting Men may:
Reduce Intelligence by 2 to gain 1 Strength
Reduce Wisdom by 3 to gain 1 Strength

Fighting Men have a few abilities which are important to remember when using Solstice’s abstract combat. Fighting Men may conduct melee in three ways, with a single one-handed weapon (allowing use of a shield or other item), with a single two-handed weapon (+1 damage), or dual-wielding with two one-handed weapons (-1 to hit, +1 damage). No matter how the Fighting Man is attacking, these styles do not alter the number of attack rolls used in a given combat round. 

Against 1 HD foes, a Fighting Man gets a number of attacks per round equal to his own level divided by 2 to a maximum of 6 at Lord, 12th, but only if there are no foes of higher HD engaged with the Fighting Man. Whenever a Fighting Man slays an opponent, by reducing it’s hit points to 0, the excess damage may be dealt to any other adjacent target with an AC no better than the slain target’s. These last two rules do not overlap; when fighting 1 HD opponents, the Fighting Man can either gain extra attacks, OR allow excess damage to carry over. These class abilities are reflective of the Fighting Man’s melee prowess, and are still simply abstract methods of representing their superior melee capabilities. 

Race Level Limits:
Dwarf: 6, Elf: 4, Hobbit: 4, Human: none, Kobold: 4.


Gem Value: d00, add dungeon level to roll, to a maximum of 10.

01-09: 10 GP
10-23: 50 GP
24-68: 100 GP
69-88: 500 GP
89-99: 750 GP
00: Roll on Rare Gem Table

Rare Gem Value: d00, add dungeon level to roll, to a maximum of 10.

01-85: 1,000 GP
86-99: 5,000 GP
100-108: 10,000 GP
109-110: Roll again, adding 10. If the result is under 111, the Gem is valued at 10,000 GP
111-117: 25,000 GP
118: 50,000 GP
119: 100,000 GP
120: 500,000 GP

Healing Wounds: The Old Fashioned Way

Natural healing occurs only with proper bed rest. OD&D has basic rules for this type of healing, in Vol. III, p. 35. As noted in Vol. III, no healing occurs on the first day of complete rest. This is also true in Solstice. Everyday spent in complete rest thereafter the Character will heal naturally. In my opinion of the abstract nature of OD&D combat and hit points, the rate given in Vol. III doesn't maintain a logical approach. For this reason the rate in Solstice is 1 hit point per accumulated HD of the Character each day. Thus, a Swashbuckler (level 5 FM) would heal 5 hits per day, a Magician (level 6 MU) would heal 3 hits per day.

Henchmen and Hirelings

Henchmen in Solstice are typically 1st Level when hired. At times, the PC’s might encounter higher level NPC adventurers during the course of an adventure. It is possible to recruit into service these more experienced NPC’s, provided the situation is conducive to such an offer, and these potential Henchmen are satisfied with the terms of service. 

All 1st Level Henchmen will begin with some random equipment, 1d6x10 gold, and an Adventurer’s Pack. Both Class and Race have some effect on this determination process.

Fighting Man, Cleric and Templar:
Shield and (2d6):
2-9: Leather 
10-11: Bronze Lamellar
12: Chain Mail

Barbarian: Armor Kit and Shield, Scout: Leather, Magic User and Shaman: No Armor.

Fighting Man and Barbarian:
Dagger and (2d6):
2-5: Sword
6-7: Hand Axe
8-9: Mace
10-12: Spear

Dagger and (2d6):
2-9: Sling
10-11: Light Crossbow
12: Short Bow

Cleric: Mace, Templar: Sword, Magic User and Shaman: Dagger and Staff.

Race Restrictions or Bonus:
Elf and Faun: Dagger, Sword and Short Bow, Shield.
Hobbit: Per class and Sling.
Dwarf: Per class and Hammer.
Kobold: Leather and Shield, Dagger, Javelin x3 for FM, Dagger only for MU and Shaman.

Adventurer’s Pack:

A special default bundle of gear sold through all outfitters in Solstice. PC’s and NPC’s alike normally carry one for dungeon delving. Standard cost is 35 gold, and when full it weighs 40 lbs.

Leather Backpack (2), Torch x6 (6), Tinderbox (-), Knife (1), Hatchet (3), Rations, 1 week (7), Wineskin (2), 50’ Rope (12), Grappling Hook (3), Iron Spikes x12 (4).

Hobbit: Lawful, stout, at times pudgy, pipe smoking, bare footed race of peaceful demi-humans, known for their wit and guile. Hobbit society is based on family centric farming villages. Hobbit PC's are fairly rare, and often retire long before their adventuring mates might. Hobbits enjoy the calm of a quiet village, a nice afternoon spent napping, lazy days spent fishing and smoking, and perhaps most of all, the telling of tales. Hobbits find it difficult to apply themselves wholeheartedly to any single goal or project, as they are easily distracted and often idle away the days and months day dreaming, telling tall tales, and bragging about the one that got away. Hobbits make fierce defenders of their homes and families, though, and have an uncanny mastery of the sling. Elusive and crafty, Hobbits have been known to successfully protect their homes from far superior forces through hit and run techniques. Certain Hobbits, the exception to the rule in Hobbitdom, do pursue a life of adventure, and while they might dream of retiring and writing their life story in front of the warm hearth of their cozy cottage, Hobbits make excellent adventurers when they are able to focus their efforts on that pursuit.

Hobbits may become Fighting Men (4th) or Scouts (6th).
Hobbits may attack twice per round with a Sling if they do not move during combat. 
Hobbits receive a bonus of +1 to hit with Slings.
Hobbits gain a bonus of +1 to AC, and +2 against Giants, Ogres, Trolls.
Hobbits may not be the beneficiaries of Raise Dead, but may be ‘raised’ with a Wish.
Hobbits are able to Hide Outdoors in brush or woods, 5in6 chance.
Hobbits receive +1 on attempts to Hear Noise at doors.
Hobbits receive a +1 bonus on Hide, Pilfer and Sneak attempts.
Hobbits receive a -1 penalty on attempts to Open Door.
Hobbits receive +4 on all saves vs. magic.

Holy Swords: Holy Swords are a special form of magic sword, aligned to Law, and more powerful in the hands of a Templar. For anyone other than a Templar, these weapons behave as a Sword, +1, aligned to Law and with an Intelligence of 1d6. When wielded by a Templar, Holy Swords show their true nature, and actually possess 1d6+6 Intelligence. Holy Swords always possess the extraordinary Healing ability as their first power, in this case conferring the power to cure damage at a rate of 1 point per turn up to 6 points + 1 point per level of the Templar each day. If Holy Swords possess more than one power, those subsequent powers will be, in order, Detect Evil, Detect Magic and finally See Invisible. Templars need not worry about the possible Egoism of a Holy Sword, for they only reveal their true nature in their hands, and their purpose is harmonious.

Human: Men are the de facto heroes in Solstice. They are the only race able to ceaselessly pursue any class, and the only race with the potential for unlimited advancement through training and experience. There are countless Human societies and cultures, from the primitive to the civilized, and from the savage to the refined. Men are the predominant race in Solstice, and the bastion of the civilized world. Unlike the other races in Solstice, Men do not fit into any one stereotype, their kind is made up of all types, all colors and all creeds.

Humans have no upper level limits, and may become any available class.
Player may pick one bonus language, referee approved.

Kobold: Ruddy, earth tone skin, spindly limbs, brown to red hair, large round eyes and somewhat disproportionately large heads. Kobolds shun mankind for the most part, preferring to dwell in caves or thick forests far away from human settlements. Kobolds who find themselves without a purposeful leader will typically turn to a life of adventure and fortune-seeking.

Kobolds are generated using 2d8 for abilities.
Kobolds earn an Entourage a bonus Style Point when played as a Primary Character.
Kobolds may become Fighting Men (4th), Magic Users (4th) or Shaman (4th).
Kobolds always begin with 3 hit points at first level, and gain 3 hit points per die.
Kobolds gain a bonus of +1 to AC, and +2 against Giants, Ogres, Trolls.
Kobolds may not be the beneficiaries of Raise Dead, but may be ‘raised’ with a Wish.
Kobolds have Dark Vision to 60’, with a fairly good level of detail.
Kobolds may only wield: Hand Axe, Dagger, Hammer, Javelin, Mace, Sling or Sword.
Kobolds deal 1d6 damage with weapons unlike their ordinary counterparts .
Kobolds may only wear Plate Mail if they possess a Strength of 12 or greater.
Kobold adventurers require a leader who is either a Kobold Shaman, or a non-Kobold. If a situation arises that there is no such leader, the Kobolds will disband and seek new leadership before continuing their adventurous ways.
Kobolds receive a +1 bonus on Climb, Hide and Sneak attempts.
Kobolds receive a -1 penalty on attempts to Open Door.
Speak Giant, Ogre and Troll.

|''Name:''|LoadRemoteFileThroughProxy (previous LoadRemoteFileHijack)|
|''Description:''|When the TiddlyWiki file is located on the web (view over http) the content of [[SiteProxy]] tiddler is added in front of the file url. If [[SiteProxy]] does not exist "/proxy/" is added. |
|''Date:''|mar 17, 2007|
|''Author:''|BidiX (BidiX (at) bidix (dot) info)|
|''License:''|[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D ]]|
version.extensions.LoadRemoteFileThroughProxy = {
 major: 1, minor: 1, revision: 0, 
 date: new Date("mar 17, 2007"), 
 source: "http://tiddlywiki.bidix.info/#LoadRemoteFileThroughProxy"};

if (!window.bidix) window.bidix = {}; // bidix namespace
if (!bidix.core) bidix.core = {};

bidix.core.loadRemoteFile = loadRemoteFile;
loadRemoteFile = function(url,callback,params)
 if ((document.location.toString().substr(0,4) == "http") && (url.substr(0,4) == "http")){ 
  url = store.getTiddlerText("SiteProxy", "/proxy/") + url;
 return bidix.core.loadRemoteFile(url,callback,params);
Magic Armor and Shields: As explained in the Armor section, it is important to understand the way magic armor and shields work together. OD&D does not allow the magic bonuses of armor and shields to stack. In fact, the magic bonus of shields in OD&D is of no value unless that magic bonus is greater than that of the magic bonus of the armor worn by a character. To explain, shields add a base +1 protection. Armor determines the actual AC of the character. If that armor is magic, it applies to all attacks upon the character. Since the bonus from armor and shields does not stack, the shield will not further add to an armor's magic bonus. Therefore, using Chain Mail, +1 and a standard shield would provide the same bonus as using Chain Mail, +1 and Shield, +1. 

The character simply uses the higher of the two bonuses, not both. 

In OD&D, the magic bonus of armor and any item which provides magical +1 protection, also provides +1 on Saving Throws. Shields will only provide such a bonus to Saving Throws when practical (vs. Dragon Breath, for example), and will not add to any magic bonus from armor.

Magic Item Saving Throws: As detailed in Vol. II, p. 38, if the wearer or owner of a magic item is killed by Fire or Lightning, it is assumed that those items not listed on that table are destroyed in the process. In Solstice, we add Acid to this list of magic item destroying situations. Remember that ANY item not listed on the table is assumed to have been destroyed, other than Artifacts, which require a saving throw of 5 in most cases.

Magic Items: [[Magic Armor and Shields]], [[Magic Weapons]], [[Holy Swords]], [[Magic Item Saving Throws]], [[Artifacts]].

Magic Item Quantity: d00, add dungeon level to roll, to a maximum of 10.

01-75: 1 Item
76-97: 1d3 Items
98-99: 1d4 Items
100-110: Roll again, adding 10. If the result is under 111, there are 1d4 Magic items.
111-118: 1d4+1 Items
119-120: 1d6+1 Items

Magic Item Type: d00, add dungeon level to roll, to a maximum of 10.

01-39: Potions (# of Potions determined on Potions Table)
40-59: Scroll 
60-69: Wands/Staves (# of charges determined on Charges Table)
70-74: Rings
75-84: Armor
85-92: Misc. Weapons
93-99: Misc. Magic
00: Swords (see Sword by Dungeon Level table)

Roll on Potions Table, Wand/Staff Charges Table as appropriate. Refer to Sword By Dungeon Level Table if needed.

Potions Table:  d00, add dungeon level to roll, to a maximum of 10. 

01-39: 1 Potion
40-79: 2 Potions
80-89: 1d3+1 Potions
90-99: 1d4+1 Potions
00: 1d6+1 Potions
There is a 2in6 chance that all of the Potions in a particular treasure trove will be of the same type.

Wand/Staff Base Charges Table: d00, add dungeon level to roll, to a maximum of 10.

Wands have a number of charges equal to a random base number, plus 1d6 times dungeon level. Staves have a number of charges equal to a random base number, plus 1d10 times dungeon level. 

01-39: 10 Charges
40-69: 20 Charges
70-89: 30 Charges
90-97: 40 Charges
98-00: 50 Charges

Sword By Dungeon Level: Intelligence by dungeon level upon which it is found.

Dungeon Level: Intelligence
1: 1d8
2-3: 1d10
4-5: 1d12
6-7: 1d10+2 (3-12)
8-9: 1d8+4 (5-12)
10+: 1d6+6 (7-12)

Magic Users: Prime Requisite: Intelligence. Elves, Fauns, Humans and Kobolds may become Magic Users. Magic Users may wield only Daggers or Staves, the former which may be thrown as a missile weapon if desired. Magic Users may wear no armor (except in the case of Elves and Fauns, see their special racial ability). Magic Users have a FC as follows:1-5: 1,  6-10: 3,  11-15: 6,  16+: 8.

A Magic User may:
Reduce Strength by 3 to gain 1 Intelligence
Reduce Wisdom by 2 to gain 1 Intelligence

Race Level Limits:
Elf: 8, Faun: 6, Human: none, Kobold: 4.

Magic Weapons: In OD&D, magic weapons listed as '+ X' provide that bonus to both chance to hit and damage, except in the case of magic swords and magic bows. Magic swords only receive that bonus on the to hit roll. If the sword does have a bonus to damage, it will be indicated as a bonus vs. particular Monsters. For example, a Sword, +1/+2 vs. Lycanthropes is +1 to hit with all attacks. If it hits a Lycanthrope, it will deal +2 damage. Magic bows likewise only add their bonus to the chance to hit, not damage. In OD&D, magic swords are fairly rare. All magic swords are unique in that they posses both Alignment and Intelligence. Swords are the only such weapons that have these magic attributes. Roughly half of the magic swords found will also have special magic powers, to be discovered by their wielders.

[[Solstice Introduction]]
[[Character Creation]]
[[Character Abilities]]
[[Character Races]]
[[Character Classes]]
[[Prime Requisites]]
[[Character Hit Points]]
[[Entourage Approach]]
[[Abstract Combat]]
[[Solstice RTH]]
[[Surprise and Initiative]]
[[Combat and Wounds]]
[[Dungeon Tasks]]
[[Movement and Time]]
[[Between Adventures]]
[[Magic Items]]
[[Stocking the Dungeon]]
[[Treasure Tables]]
[[Monster Encounters]]
[[What Price Glory]]
[[Of Fortunes and Fools]]
[[Recent Changes]]
Silver: All Treasure Troves:

1: 1d6 x 100 SP
2-3: 1d12 x 100 SP
4-5: 1d6 x 1,000 SP
6-7: 1d6 x 2,000 SP
8-12: 1d6 x 5,000 SP
13+: 1d6 x 10,000 SP

Gold: 3in6 chance of Gold in Treasure Troves:

1: 1d6 x 10 GP
2-3: 1d6 x 100 GP
4-5: 1d6 x 200 GP
6-7: 1d6 x 500 GP
8-9: 1d6 x 1,000 GP
10-12: 1d6 x 2,000 GP
13+: 1d6 x 5,000 GP

Gems/Jewelry:  chance as listed of Gems/Jewelry in Treasure Troves:

1: 1in20, 1d6 Gems (6=5 Gems, 1 Jewel)
2-3: 1in10, 1d6 Gems (6=5 Gems, 1 Jewel)
4-5: 2in10, 1d6 Gems (6=5 Gems, 1 Jewel)
6-7: 3in10, 1d6 Gems (6=5 Gems, 1 Jewel)
8-9: 4in10, 1d12 Gems (11=10 Gems, 1 Jewel, 12=10 Gems, 2 Jewels)
10+: 3in6, 1d12 Gems (11=10 Gems, 1 Jewel, 12=10 Gems, 2 Jewels)

Roll on Gem Value Table or Jewelry Table Vol. II, p. 40.

Magic: Chance as listed of magic Items in Treasure Trove:

1: 1in20
2-3: 1in20
4-5: 1in10
6-7: 3in20
8-9: 2in10
10-12: 5in20
13+: 3in10

Roll on Magic Item Quantity Table, then Magic Item Type Table.

Monster Distraction Chances:
Intelligent Monsters: Food, 1in10, Treasure 9in10.
Semi-intelligent Monsters: Food 5in10, Treasure 5in10.
Non-intelligent Monsters: Food 9in10, Treasure 1in10 (only if it’s ‘sparkly’).

Sighting Distance and Surprise by Encounter Type.

There are three types of encounters in Solstice. Inhabited rooms or prewritten encounters, these are [[Standard Encounters]], random or [[Wandering Monster Encounters]], and [[Recurring Encounters]]. 

[[Monster Reaction]].

[[Dropped Items]], [[Avoiding Monsters]], [[Monster Distraction Table]].

Monster Reaction: Typically, semi-intelligent and non-intelligent monsters will attack upon sight, and will normally hunt down adventurers if they detect their presence. Certain monsters will evaluate every encounter more intelligently, and will roll on the below table with 2d6 to determine their initial reaction to the presence of the adventurers.

2d6 Reaction Roll:
2-5: Negative
6-8: Uncertain
9-12: Positive

The 2d6 Reaction Roll may be modified by such things as bribes, fear, alignment, obvious strength or weakness of the party, etc. Charisma may affect Monster Reaction if said monsters encountered are Men or NPC‘s. 

Negative: The monster either attacks on sight, threatens or flees.
Uncertain: The monster will hesitate, unsure whether to attack, flee or parley.
Positive: The monster will parley.

Encumbrance and Movement, The Passage of Time

Movement in game terms is based upon an encumbrance system, explained in Vol. I, p. 15.

Armor types have had their weight redefined for Solstice, see the Armor section.

Coins in Solstice also weigh less than their OD&D examples. In OD&D, 10 coins = 1 pound. In fact, as in AD&D, weight and encumbrance is expressed in coins. In Solstice, weight will be expressed in pounds. In Solstice, 20 coins = 1 pound.

Movement is determined by Encumbrance, and applies to all Character Races:
Unencumbered: Load in pounds 0 - 75. Movement 12.
Light Encumbrance: Load in pounds 76 - 100. Movement 9.
Medium Encumbrance: Load in pounds 101 - 150. Movement 6.
Heavy Encumbrance: Load in pounds 151+. Movement 3.
Maximum Load is determined by the Character's Strength. Strength 3-7:180, 8-11:210, 12-14:240, 15-17:270, 18+: 300. Hobbits and Kobolds have a Maximum Load of 180 regardless of Strength.

Movement Rates apply to the four forms of Movement: Outdoor, Delving, Pursuit and Combat.

Outdoor Movement: Movement Rate for overland travel on clear roads. Maximum Daily Movement on foot is 6 hours worth of travel, including breaks, and 8 hours worth of travel on horseback, no breaks needed.
Movement 24 (horses): 1 mile per turn (10 minutes) or Six Miles per Hour. This equates to 5,280 feet per Turn.
Movement 12: 1/2 Mile per Turn (10 minutes) or Three Miles per Hour. This equates to 2,640 feet per Turn.
Movement 9: 3/8ths of a Mile per Turn (10 minutes) or 2 and 1/4tr Miles per Hour. This equates to 1,980 feet per Turn.
Movement 6: 1/4 Mile per Turn (10 minutes) or 1 and 1/2 Miles per Hour. This equates to 1,320 feet per Turn.
Movement 3: Overland travel is out of the question.
For ease of play, this could be converted simply to Movement Rate x 200 per Turn. Although the above uses exact distances for purposes of overland travel. 

Delving Movement: Movement Rate for dungeon crawling.
Movement 12: 240' per Turn.
Movement 9: 180' per Turn.
Movement 6: 120' per Turn.
Movement 3: 60' per Turn.

Pursuit Movement: Movement Rate for fleeing and chasing underground. No mapping or searching allowed. 
Movement 12: 480' per Turn.
Movement 9: 360' per Turn.
Movement 6: 240' per Turn.
Characters with Heavy Encumbrance may never flee or pursue.

Combat Movement: Actual distance expressed in 'half moves' or 1 Combat Action. A full move in Combat is twice this.
Movement 12: 60' per Round.
Movement 9: 45' per Round.
Movement 6: 30' per Round.
Movement 3: 15' per Round.

The Passage of Time

The referee keeps track of time while a party of Characters is delving underground. While exploring in such a manner, it is assumed that the Characters are taking care to watch out for encounters, listen for noise, keep their bearings, make maps, etc. This manner of movement is tiring and draining, and requires breaks and rest from time to time.

As per the OD&D rules, Vol. III, p. 8, one full Turn, every Hour, must be spent taking a break (motionless). After a Pursuit takes place, two full turns must be spent taking a break. Thus, a full hour of delving includes five Turns of activity, and one Turn of rest.

After every melee encounter, a short period is required to regroup and rest. Melee encounters which take less than one Turn require the Characters to simply finish the rest of the Turn taking a short break. Those that take over one Turn will require a full Turn afterwards for resting.

If the Characters fail to take breaks, they will become Taxed. Taxed Characters fight at -1 to hit and damage. 

After a full day underground, equal to 10 hours at a maximum, the Characters will require full rest. Full rest constitutes sleeping and nourishment. Failure to have full rest results in the Characters becoming Taxed. After another two hours, the Characters will become Heavily Taxed. Heavily Taxed Characters fight at -3 to hit and damage.

It is important to keep track of Hours as units of time underground. Torches last one Hour, 2 oz. of lantern oil burns for one Hour. A Flask of Oil is one pint, enough for eight hours of light.

The referee will measure time for other activities which the Characters might undertake while delving. For example, searching a 10'x10' area requires a Turn. Note that this is per Character, so a party can split up to search larger areas in that single Turn. Removing Traps and Picking Locks also normally requires a full Turn. 

Rations are consumed on a daily basis, with the Player simply noting one day's rations having been consumed for every full day adventuring.

OF&F is my current Solstice campaign, and has it's own tiddlywiki here: http://of.fortunes.and.fools.tiddlyspot.com/
Prime Requite Adjustment Rules:

As determined by Class, a player may choose to lower certain abilities in order to raise their Prime Requisite. This will effect both possible Bonuses, and experience as shown below. No ability may be lowered to less than 9.

A [[Fighting Man]] may:
Reduce Intelligence by 2 to gain 1 Strength
Reduce Wisdom by 3 to gain 1 Strength

A [[Magic User]] may:
Reduce Strength by 3 to gain 1 Intelligence
Reduce Wisdom by 2 to gain 1 Intelligence

A [[Cleric]] may:
Reduce Strength by 3 to gain 1 Wisdom
Reduce Intelligence by 2 to gain 1 Wisdom

Prime Requisite scores can effect experience as shown below:

15 or more: Add 10% to earned experience.
13 - 14: Add 5% to earned experience.
7 - 8: Minus 10% from earned experience.
6 or less: Minus 20% from earned experience.
Details of Recent Changes to Solstice.

6/1/08: Second major revision. Pared down Ability Bonuses, fine-tuned [[Barbarian]] and [[Scout]] classes, revamped [[Shaman]] class. Redfined Races, added new Introduction. Reworked [[Entourage Approach]], added Style Points. Changed Paladin class to [[Templar]].

5/28/08: Added details of the [[Entourage Approach]] to campaign play.

4/29/08: The first major revision of Solstice is complete. At this point, even thouse familiar with Solstice should take a look at all of the changes. [[Abstract Combat]] is more prevalent, Dwarves may no longer become Clerics, changes have been made to the Elf and Kobold, and the [[Faun]] has been added, all of the classes have had minor changes, FC has been restored to the OD&D standard, Saving Throws are now by the book, [[Dungeon Tasks]] have been overhauled, as has the [[Armor]] section.

4/7/08: Added Cleric and Shaman Alignment restrictions, added 'Monster Encounters' tiddler, added specifics on Magic Item Saving Throws and Artifacts. Added the story of The Iron Hobbit (Armor section).

4/6/08: Added 'Stocking the Dungeon' tiddler, and 'Treasure Tables' tiddler. 

3/31/08: Added Subclasses which need playtesting.
Recurring Encounters: Recurring Encounters are detailed with the area in which they are present, and normally involve a static or cumulative chance of encountering any number of monsters which have a method of spawning or being summoned, attracted or awoken. Recurring Encounters are normally placed in dungeons or wilderness sites as a means to provide a permanent encounter type, and examples of such are Insect Nests, Rat Infestations, Haunted Locales, Spawning Pits, etc.

Typically surprise and sighting distance is not a factor when dealing with Recurring Encounters, but such  aspects will be detailed in the room description.


Solstice, while primarily a house rules, home brewed campaign, does make use of the excellent Judges Guild Ready Ref Sheets (RRS). Including such rules as Shock Recovery, Gem Types, Poison Tables, Time Required Table, Sink or Swim Rules, Hireling Morale Tables and the Wishes Guide. I highly recommend this product for any OD&D referee.

Much of the information, ideas and clarifications for Solstice contained in this booklet has been gleaned from other OD&D resources on the internet. In some cases, information herein has been borrowed from the collected knowledge of the posters and members at the following links.

Without the vastly more knowledgeable OD&D players and their opinions, found at such locations, Solstice as a home brew OD&D setting would never have come to fruition. To all of the members and their insights, opinions and ideas, I am eternally grateful.

To you, the Players in Solstice, realize that this campaign setting is indebted to the collected knowledge and hands-on experiences of the vast multitude of loyal OD&D gamers at the below links. If you end up as I have, reading these online resources and appreciating OD&D for what it is, be sure to give credit where credit is due. Solstice is, ultimately, a collaborative effort, even though the rules within are simply one man's home brewed version.

Original D&D Discussion: http://odd74.proboards76.com/index.cgi

Knights and Knaves: http://www.knights-n-knaves.com/phpbb/

Dragonsfoot: http://www.dragonsfoot.org/

Philotomy's Musings: http://www.philotomy.com/

Alternate Saving Throw System (used in Of Fortunes and Fools)

1d20 + Character Level + Modifier = X. If X = 20 or greater, the save is successful.

Modifier is dependant upon the type of Saving Throw, and the class of the character. 

Modifiers are below for the five categories of Poison, Wands, Stoning, Breath and Spells. See Vol. I, M&M for specifics.
Fighting Men: 5-4-3-2-1
Magic Users: 4-3-2-1-2
Cleric: 6-5-4-3-3
Scout (Subclass of Fighting Men): Prime Requisite: Dexterity. Required: Dexterity 12. Only Fauns, Hobbits and Humans may become Scouts. Dexterity may not be increased at character generation, so a Scout will need a high Dexterity roll to receive an experience bonus. Scouts excel at using missile weapons and fighting in a tactical manner. Scouts may wear Leather Armor only, and may not use shields. Scouts are limited to using the following weapons: Any Bow, Crossbow or Sling; Hand Axe, Dagger, Javelin, Mace, Spear, Sword. Scouts receive a bonus of +1 on all attempts to Hide, Sneak, or Hear Noise. Scouts receive a +1 to hit with all missile attacks. In armor heavier than Leather, or if using a shield, a Scout acts as a Fighting Man with the above limited weaponry, losing all other class abilities.

Scout FC:  1-3: 1,  4-6: 3,  7-9: 6,  10-12: 8,  13-15: 10,  16+: 13.

A Scout may:
Reduce Intelligence by 2 to gain 1 Strength
Reduce Wisdom by 3 to gain 1 Strength

Fighting Men have a few abilities which are important to remember when using Solstice’s abstract combat. Fighting Men may conduct melee in three ways, with a single one-handed weapon (allowing use of a shield or other item), with a single two-handed weapon (+1 damage), or dual-wielding with two one-handed weapons (-1 to hit, +1 damage). No matter how the Fighting Man is attacking, these styles do not alter the number of attack rolls used in a given combat round. 

Against 1 HD foes, a Fighting Man gets a number of attacks per round equal to his own level divided by 2 to a maximum of 6 at Lord, 12th, but only if there are no foes of higher HD engaged with the Fighting Man. Whenever a Fighting Man slays an opponent, by reducing it’s hit points to 0, the excess damage may be dealt to any other adjacent target with an AC no better than the slain target’s. These last two rules do not overlap; when fighting 1 HD opponents, the Fighting Man can either gain extra attacks, OR allow excess damage to carry over. These class abilities are reflective of the Fighting Man’s melee prowess, and are still simply abstract methods of representing the their superior melee capabilities. 

Race Level Limits:
Faun: 4, Hobbit: 6, Human: none.


Author and OD&D Referee.


Dave Bowman

Shaman (Subclass of Clerics): Prime Requisite: Wisdom. Required: Wisdom 12. Only Humans and Kobolds may become a Shaman. A Shaman is a tribal or primitive holy man. The Shaman can wear no armor whatsoever, and may only wield Daggers or Staves. The Shaman may not Turn Undead as other Clerics can, but they possess a related unique class skill, Turn Unnatural which conforms to the same rules, but effects extra planar creatures such as demons, devils and elementals. Instead of a Cross, the Shaman brandishes a Totemic Device. In regard to spells, the Shaman is a hybrid of Magic User and Cleric, with powers derived of nature and unaffected by alignment. Thus, a Chaotic Shaman is able to cast Cure Light Wounds, for example. The Shaman uses the Cleric Spells and Level table, and can cast any Cleric spell, as well as the following Magic User spells: 1: Charm Person, Sleep 2: Invisibility, ESP 3: Fireball, Lightning Bolt 4: Confusion, Massmorph 5: Conjure Elemental, Animate Dead.

Shaman FC:  1-4: 1,  5-8: 3,  9-12: 6,  13-16: 8,  17+: 10.

Shaman Turn Unnatural

A Shaman attempting to Turn Unnatural must use 1 action to do so. The Shaman is required to invoke the powers of nature and brandish his Totemic Device before the target unnatural with a range of 30’. Use the table in Vol. 1, M&M, p. 22. Turn Away indicates the unnatural will move away from the Shaman, out of the 30’ range of effect. As long as the Shaman continues to brandish his Totemic Device and invoke nature, the unnatural will be forced to stay out of the 30’ range. The effect ends immediately if the Shaman changes action at any time, including attempting to turn other or more unnatural, or cast a spell, engage in melee, etc. Unnatural turned by the Shaman will defend themselves when attacked, but at -4 to hit. Likewise, they will attack characters who are not within the 30’ range of the Shaman’s Totemic Device. A Shaman without a Totemic Device may not Turn Unnatural. A 'D' result indicates that the target Unnatural has been banished and sent back to it's plane of origin. Turn Unnatural is based on the target's HD. Using the provided Skeleton through Vampire column, convert to HD 1 through 8+. Most Unnatural will fall into the Vampire or HD 8+ row.

A Shaman may:
Reduce Strength by 3 to gain 1 Wisdom
Reduce Intelligence by 2 to gain 1 Wisdom

Race Level Limits:
Human: none, Kobold: 4.

Sham's Rules for an original D&D campaign
Introduction to Solstice

The Solstice setting for D&D is not your typical high fantasy milieu. While it does have the trappings found in traditional fantasy, the overall mood and outlook is much more grim and gritty. This is not a world of damsels in distress and princes galloping to their rescue, this is a world where the cold harsh reality of evil and darkness pervade everyday life. Mankind is pitted against threats from within and without while the uncaring Fae look on, unconcerned with the meaningless, pitiful lives of mortals. Solstice is a world of ruthless dictators, murderous bandits, greedy merchants, power-hungry generals, corrupt clergymen, brutish lawmen and torch-bearing mobs. It’s a testament to mankind that it has not collapsed in upon itself. Were it not for the constant dangers presented by the monstrous beings of this world, perhaps mankind would have exterminated itself by now. 

Elves and Fauns, and the rest of the Fae of Solstice consider mankind the scourge of the world. Their fate is not linked with that of man, and Fae rarely enter into this realm of the mundane. Preferring to remain on the edges of civilization, the Fae pursue their own inexplicable and otherworldly endeavors. The only exceptions to this are those Elves and Fauns who have taken up the sword and the bow to further their own desire for riches and magical relics. These bold adventurers are often considered outcasts or loners by their own kind, and are truly the rarest of all Fae.

Dwarves rarely mingle with civilized man, due to their great and well earned distrust for any not of their own kind. Dwarves dwell in structured, rigid clan based settlements as old as history itself. Dwarves would be satisfied if they were the only living beings in Solstice, in order that they might master their crafts and trades without the unending interruptions from man and monster alike. 

Hobbits, on the other hand, are entirely concerned only with that which they themselves can experience. Their only cohesive efforts are those which ensure their comfortable, relaxed approach to life. Selfless and generous, Hobbits prefer their own kind but more than any other race in Solstice do in fact deal with mankind more readily. Hobbits have developed a certain crafty, shrewd nature in the face of the greed and avarice of mankind. Their kind is not taken advantage of easily.

Kobolds are the pitiful huddled masses of downtrodden, destitute cave dwelling, subhuman Goblin-kin. Their kind is not looked upon with pity in this dispassionate world. Kobolds have little to live for, and they know it. Having to work twice as hard to prove themselves and gain any form of success, Kobolds often end up following surface dwelling adventuring types. Those of their kind that do earn the respect of this normally heedless land are well-nigh mythical in Solstice. If nothing else, Kobolds are certainly the underdogs of this land.

Solstice is a land overrun by monstrous civilizations; mad wizards in lost towers; labyrinthine, inexplicable underworld dungeons; forgotten ziggurats of demon-worship; secret temples of forbidden rites; cities ruled by unprincipled despots; lost societies of Neolithic savages; vast unexplored wastelands; enigmatic ruins beneath the seas; frozen citadels atop colossal mountains; in short, a bleak, harrowing world of unreason, disorder and chaos.

It is within this world of Solstice that your tales of fortunes and fools shall be written. May your tales be remembered and retold.

Simplified RTH Method

20 minus (1d20 plus FC) = the AC hit with that roll.

Fighting Capability (FC) is a measure of the combat prowess for each class. The FC may be increased via magic weapons/items, certain spells/effects, or even racial or class bonuses. 

As presented in OD&D, there are six FC scores or categories, once translated to the Solstice Alternate Combat System. These are FC of 1, 3, 6, 8, 10 and 13. Fighting Men progress through these categories in three level intervals, Magic Users in five level intervals, and Clerics in four level intervals (per Vol. I, p. 19). 

Fighting Men: FC = 1-3: 1,  4-6: 3,  7-9: 6,  10-12: 8,  13-15: 10,  16+: 13.
Magic Users: FC = 1-5: 1,  6-10: 3,  11-15: 6,  16+: 8.
Clerics: FC = 1-4: 1,  5-8: 3,  9-12: 6,  13-16: 8,  17+: 10.

Monsters use a different scale, (per Vol. I, p. 20).
Monsters: FC = 1 or less: 1,  1+1: 2,  2-3: 3,  4: 5,  5-6: 6,  7-8: 7,  9-10: 9,  11+: 11. 
Any Monster value of HD+X is equal to the next higher HD.

|''Description:''|Sparklines macro|
if(!version.extensions.SparklinePlugin) {
version.extensions.SparklinePlugin = {installed:true};

//-- Sparklines

config.macros.sparkline = {};
config.macros.sparkline.handler = function(place,macroName,params)
	var data = [];
	var min = 0;
	var max = 0;
	var v;
	for(var t=0; t<params.length; t++) {
		v = parseInt(params[t]);
		if(v < min)
			min = v;
		if(v > max)
			max = v;
	if(data.length < 1)
	var box = createTiddlyElement(place,"span",null,"sparkline",String.fromCharCode(160));
	box.title = data.join(",");
	var w = box.offsetWidth;
	var h = box.offsetHeight;
	box.style.paddingRight = (data.length * 2 - w) + "px";
	box.style.position = "relative";
	for(var d=0; d<data.length; d++) {
		var tick = document.createElement("img");
		tick.border = 0;
		tick.className = "sparktick";
		tick.style.position = "absolute";
		tick.src = "data:image/gif,GIF89a%01%00%01%00%91%FF%00%FF%FF%FF%00%00%00%C0%C0%C0%00%00%00!%F9%04%01%00%00%02%00%2C%00%00%00%00%01%00%01%00%40%02%02T%01%00%3B";
		tick.style.left = d*2 + "px";
		tick.style.width = "2px";
		v = Math.floor(((data[d] - min)/(max-min)) * h);
		tick.style.top = (h-v) + "px";
		tick.style.height = v + "px";

Standard Encounters, Sighting Distance and Surprise: Roll for Surprise if feasible. Surprise occurs 2in6 provided the referee rules that such surprise is even possible. Often, only the monsters will have a chance to surprise the PC’s, given the method in which such monsters were encountered. PC’s have some means by which to also avoid surprise, such as listening at doors, or using ESP. If neither side is surprised, sighting distance is typically 2d4 x 10 feet, or as logical given the map details.

If either side is surprised, sighting distance is 1d3 x 10 feet. Characters who are surprised have a base 26% chance of dropping any item held in hand, including but not limited to torches, weapons, shields, wands, etc. , reduced by 1% per level of the character. Thus, at level 1 the chance is 25%, at level 11 the chance is 15%.

The side which has gained the upper hand by not being surprised is permitted to perform 1 full round of movement and actions, including spells and attacks, before the surprised side can react. 

Stocking the Dungeon

Before I begin drawing the map for a particular level, I normally start out with a handful of ‘Major Room’ ideas. These may or may not be fully defined at this point, but the idea is in place. The level itself may or may not have a theme, these Major Rooms will fall into such a theme if one is present. Normally, I draw these Major Rooms on the map first, then I fill in the rest of the map with my normal halls, doors, pits and other rooms. Then, I number each room or space and proceed to keying the rooms. I rarely have any actual ‘empty’ rooms, at the very least a room will have some features, even if it is something simple like graffiti, murals or rubbish and debris. These are still considered uninhabited rooms at this point.  Certain Major Rooms will include recurring encounters, and will essentially have the same monsters no matter how many times the dungeon is visited. Such examples I currently use are Goblin Spawning Pits, Giant Centipede Nests, Rat Infested Areas, Insect Swarm Mires, Spirit Haunts, Sacrificial Pools, etc. The monsters spawn at these locations, and it is nearly impossible to destroy the source of their seemingly endless numbers. Other than these specific, recurring monsters, everything is, at this point, considered uninhabited. 

Step 1, Manual Placement of Treasure: Easy enough to understand. I determine areas where I know I want a treasure trove, and I proceed from there. Nothing random at all, just picking and choosing. 

Step 2, Check For Monsters: Before I dice for all of the uninhabited rooms, those with no recurring monster source, I will decide if an individual room will even have a chance of a monster inhabitant. Some rooms will be left as is, depending upon their description, these simply do not have a chance of monster inhabitants. The remaining rooms have a 2in6 chance of a random monster inhabitant.  

Step 3, Random Monsters: Rather than using the actual table in Vol. III, I instead refer to my customized Wandering Monster Table I write up for each level. These normally have ten monsters types, and a small chance of a special or NPC type encounter. So, 2in6 chance of one of these encounters in each uninhabited room. If diced for, I determine randomly the number of such monsters, again from the Wandering Monsters Table. One key difference between actual Wandering Monsters and these room inhabitant types of monsters is that Wandering Monsters carry a random amount of coins detailed in that table, while room inhabitant type monsters will be carrying or guarding both those random coins, and possibly an additional treasure as determined in Steps 4-5.

Step 4, Check For Treasure: Now dice for treasure in those same rooms. 3in6 if a monster is present, and 1in6 if none is present. As detailed in the OD&D guide, unguarded treasure should be hidden or protected in some manner, either locked away, behind a trap, or both.

Step 5, Random Treasure: The original guide does not give a method for determining whether results in the Gems/Jewelry column are Gems or Jewelry, so I will use a simple system for this random determination, as follows: On levels 1-7, or when using a d6 to determine the number of Gems, a roll of 6 represents one piece of Jewelry and five Gems, lower rolls represent Gems only. On levels 8+, or when using a d12, a roll of 11 represents one piece of Jewelry and 10 Gems, while a roll of 12 represents 2 pieces of Jewelry and 10 Gems, lower rolls represent Gems only.

To determine the quantity of Magic in a particular treasure trove, I will use a similar percentile approach, adding the dungeon level to the roll, and referencing a custom table. Lastly, once the quantity is determined, the individual Magic item types will be determined by a similar roll, using percentile dice and adding the dungeon level.

Surprise and Initiative, Phase by Phase Combat

Surprised side gets no action in round 1, afterwards, or if neither side is surprised, roll 1d6 initiative for each side. The side with the higher roll acts first in each phase in this round, then the other side acts first in each phase of the subsequent round, and so on, alternating initiative each round. Thus there is only one initiative roll, for each side, rolled at the beginning of an encounter. Each phase is resolved for both sides before progressing to the next phase. It is important to keep track of the side holding initiative, as combatants are removed from melee immediately upon reaching 0 or lower Hit Points. All combatants receive 1 action per round, and may take ½ movement. Taking the second ‘½’ of movement allowance is considered an action (thus full movement is allowed by taking 1 action and ½ movement). 

Standard combat commences (both sides conduct each phase in order)
1. Both Sides: Use Item/Cast Spell or Missile (may not fire missile if engaged).
2. Both Sides: Up to ½ move (you can get up to ½ your move and still perform 1 action).
3. Both Sides: Melee (or Item/Spell or Missile if no action taken thus far this round). Melee attacks may be 'held' until the End Phase.
4. Both Sides: ½ move allowed if no action other than movement taken this round.
5. End Phase, Melee attacks 'held' in phase 3 may be performed now if a target is within range, resolve all duration effects.

Templar (Subclass of Cleric): Prime Requisite: Wisdom. Required: Wisdom 12 and Charisma 12. Lawful only. Only Humans may become Templars. Templars are the holiest and most devout members of the Church. Templars are restricted to wielding swords exclusively, although they may wear any armor including shields. Templars cast Cleric Spells as a Cleric two levels lower than their own, although Templars cannot Turn Undead. Templars receive a bonus of +2 to AC and +2 to hit when fighting Undead. Templars are immune to the special attacks of Ghouls, Wights, Wraiths, Mummies, Spectres and Vampires. Templars receive a bonus of +4 on all saves vs. magic. Templars may never knowingly belong to an adventuring party with Neutral or Chaotic members. Templars are required to Tithe 50% of their monetary gain to the Church (after gaining any allowed experience), furthermore Templars are limited to the use of five magic items at one time.

Templars have a FC as follows:1-4: 1,  5-8: 3,  9-12: 6,  13-16: 8,  17+: 10.

A Templar may:
Reduce Strength by 3 to gain 1 Wisdom
Reduce Intelligence by 2 to gain 1 Wisdom

Race Level Limits:
Human: none

Cost of Living and Training: Spending some Coin

In Vol. III, p. 24, a basic guide is somewhat defined in regard to Character Support and Upkeep. Until such a time that the Character is in control of his own stronghold, he is at the mercy of the merchants and townsfolk of his nearest base of operations. OD&D uses a simple 1% of experience points cost, but doesn't give a time frame within which this is expected to be 'spent'. The fact that this amount increases with the Character's level, is, in my opinion, a reflection of training, research and tithing/studying expenditures. Once the Character has a stronghold, he or she is typically no longer under the tutelage or guidance of others. While training, researching and tithing/studying, the Character is under the care of a provider and hidden costs such as room and board are included. In order to reflect these costs, a Character will simply be required to pay a certain amount of GP upon gaining a new level, and such a cost will simply be called Training Cost.

Training Costs are to be paid before a Character can actually increase in Class level. A Character is able to increase his level after gaining the requisite amount of experience points, traveling to a town, and paying his or her Training Cost.

Training Cost is equal to 1% of the experience points required for the new level. Thus, a Swashbuckler (5th level FM) with over 32,000 experience points would be required to pay 1% of 32,000, or 320 GP, in order to improve to Myrmidon (6th level FM).

Tables used for random distribution of Treasure, originally designed for Ulin Uthor. See the 'Stocking the Dungeon' tiddler for in depth explanation of the tables.

Solstice Treasure Tables: Silver, Gold, Gems, Magic by dungeon level.

Silver: Every Trove. Gold: 3in6 chance of Gold in Trove. Gems/Jewelry: On levels 1-7, a roll of 6 represents 1 Jewelry and 5 Gems. On levels 8+, a roll of 11 represents 1 Jewelry and 10 Gems, while a roll of 12 represents 2 pieces of Jewelry and 10 Gems. Lower rolls represent Gems only. Magic: Determine quantity, type and other random features below.

[[Master Tables]], [[Gem Tables]], [[Magic Tables]].

Contains the stuff you need to use Tiddlyspot
Note you must also have UploadPlugin installed

// edit this if you are migrating sites or retrofitting an existing TW
config.tiddlyspotSiteId = 'solstice.dnd';

// make it so you can by default see edit controls via http
config.options.chkHttpReadOnly = false;
window.readOnly = false; // make sure of it (for tw 2.2)
window.showBackstage = true; // show backstage too

// disable autosave in d3
if (window.location.protocol != "file:")
	config.options.chkGTDLazyAutoSave = false;

// tweak shadow tiddlers to add upload button, password entry box etc
with (config.shadowTiddlers) {
	SiteUrl = 'http://'+config.tiddlyspotSiteId+'.tiddlyspot.com';
	SideBarOptions = SideBarOptions.replace(/(<<saveChanges>>)/,"$1<<tiddler TspotSidebar>>");
	OptionsPanel = OptionsPanel.replace(/^/,"<<tiddler TspotOptions>>");
	DefaultTiddlers = DefaultTiddlers.replace(/^/,"[[WelcomeToTiddlyspot]] ");
	MainMenu = MainMenu.replace(/^/,"[[WelcomeToTiddlyspot]] ");

// create some shadow tiddler content

 "This document is a ~TiddlyWiki from tiddlyspot.com.  A ~TiddlyWiki is an electronic notebook that is great for managing todo lists, personal information, and all sorts of things.",
 "@@font-weight:bold;font-size:1.3em;color:#444; //What now?// &nbsp;&nbsp;@@ Before you can save any changes, you need to enter your password in the form below.  Then configure privacy and other site settings at your [[control panel|http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/controlpanel]] (your control panel username is //" + config.tiddlyspotSiteId + "//).",
 "<<tiddler TspotControls>>",
 "See also GettingStarted.",
 "@@font-weight:bold;font-size:1.3em;color:#444; //Working online// &nbsp;&nbsp;@@ You can edit this ~TiddlyWiki right now, and save your changes using the \"save to web\" button in the column on the right.",
 "@@font-weight:bold;font-size:1.3em;color:#444; //Working offline// &nbsp;&nbsp;@@ A fully functioning copy of this ~TiddlyWiki can be saved onto your hard drive or USB stick.  You can make changes and save them locally without being connected to the Internet.  When you're ready to sync up again, just click \"upload\" and your ~TiddlyWiki will be saved back to tiddlyspot.com.",
 "@@font-weight:bold;font-size:1.3em;color:#444; //Help!// &nbsp;&nbsp;@@ Find out more about ~TiddlyWiki at [[TiddlyWiki.com|http://tiddlywiki.com]].  Also visit [[TiddlyWiki Guides|http://tiddlywikiguides.org]] for documentation on learning and using ~TiddlyWiki. New users are especially welcome on the [[TiddlyWiki mailing list|http://groups.google.com/group/TiddlyWiki]], which is an excellent place to ask questions and get help.  If you have a tiddlyspot related problem email [[tiddlyspot support|mailto:support@tiddlyspot.com]].",
 "@@font-weight:bold;font-size:1.3em;color:#444; //Enjoy :)// &nbsp;&nbsp;@@ We hope you like using your tiddlyspot.com site.  Please email [[feedback@tiddlyspot.com|mailto:feedback@tiddlyspot.com]] with any comments or suggestions."

 "| tiddlyspot password:|<<option pasUploadPassword>>|",
 "| site management:|<<upload http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/store.cgi index.html . .  " + config.tiddlyspotSiteId + ">>//(requires tiddlyspot password)//<br>[[control panel|http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/controlpanel]], [[download (go offline)|http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/download]]|",
 "| links:|[[tiddlyspot.com|http://tiddlyspot.com/]], [[FAQs|http://faq.tiddlyspot.com/]], [[announcements|http://announce.tiddlyspot.com/]], [[blog|http://tiddlyspot.com/blog/]], email [[support|mailto:support@tiddlyspot.com]] & [[feedback|mailto:feedback@tiddlyspot.com]], [[donate|http://tiddlyspot.com/?page=donate]]|"

 "<<upload http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/store.cgi index.html . .  " + config.tiddlyspotSiteId + ">><html><a href='http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/download' class='button'>download</a></html>"

 "tiddlyspot password:",
 "<<option pasUploadPassword>>",

| !date | !user | !location | !storeUrl | !uploadDir | !toFilename | !backupdir | !origin |
| 28/05/2008 00:06:40 | Sham | [[/|http://solstice.dnd.tiddlyspot.com/]] | [[store.cgi|http://solstice.dnd.tiddlyspot.com/store.cgi]] | . | [[index.html | http://solstice.dnd.tiddlyspot.com/index.html]] | . |
| 01/06/2008 02:46:41 | Sham | [[/|http://solstice.dnd.tiddlyspot.com/]] | [[store.cgi|http://solstice.dnd.tiddlyspot.com/store.cgi]] | . | [[index.html | http://solstice.dnd.tiddlyspot.com/index.html]] | . |
| 01/06/2008 02:49:36 | Sham | [[/|http://solstice.dnd.tiddlyspot.com/]] | [[store.cgi|http://solstice.dnd.tiddlyspot.com/store.cgi]] | . | [[index.html | http://solstice.dnd.tiddlyspot.com/index.html]] | . |
| 02/06/2008 16:41:03 | Sham | [[/|http://solstice.dnd.tiddlyspot.com/]] | [[store.cgi|http://solstice.dnd.tiddlyspot.com/store.cgi]] | . | [[index.html | http://solstice.dnd.tiddlyspot.com/index.html]] | . |
| 02/06/2008 22:33:56 | Sham | [[/|http://solstice.dnd.tiddlyspot.com/]] | [[store.cgi|http://solstice.dnd.tiddlyspot.com/store.cgi]] | . | [[index.html | http://solstice.dnd.tiddlyspot.com/index.html]] | . |
| 02/06/2008 23:10:19 | Sham | [[/|http://solstice.dnd.tiddlyspot.com/]] | [[store.cgi|http://solstice.dnd.tiddlyspot.com/store.cgi]] | . | [[index.html | http://solstice.dnd.tiddlyspot.com/index.html]] | . |
| 13/06/2008 10:04:24 | Sham | [[/|http://solstice.dnd.tiddlyspot.com/]] | [[store.cgi|http://solstice.dnd.tiddlyspot.com/store.cgi]] | . | [[index.html | http://solstice.dnd.tiddlyspot.com/index.html]] | . |
| 13/06/2008 10:07:03 | Sham | [[/|http://solstice.dnd.tiddlyspot.com/]] | [[store.cgi|http://solstice.dnd.tiddlyspot.com/store.cgi]] | . | [[index.html | http://solstice.dnd.tiddlyspot.com/index.html]] | . |
| 20/06/2008 13:16:25 | Sham | [[/|http://solstice.dnd.tiddlyspot.com/]] | [[store.cgi|http://solstice.dnd.tiddlyspot.com/store.cgi]] | . | [[index.html | http://solstice.dnd.tiddlyspot.com/index.html]] | . |
| 02/07/2008 21:46:00 | Sham | [[/|http://solstice.dnd.tiddlyspot.com/]] | [[store.cgi|http://solstice.dnd.tiddlyspot.com/store.cgi]] | . | [[index.html | http://solstice.dnd.tiddlyspot.com/index.html]] | . |
|''Description:''|Extends TiddlyWiki options with non encrypted password option.|
|''Date:''|Apr 19, 2007|
|''Author:''|BidiX (BidiX (at) bidix (dot) info)|
|''License:''|[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D ]]|
|''~CoreVersion:''|2.2.0 (Beta 5)|
version.extensions.PasswordOptionPlugin = {
	major: 1, minor: 0, revision: 2, 
	date: new Date("Apr 19, 2007"),
	source: 'http://tiddlywiki.bidix.info/#PasswordOptionPlugin',
	author: 'BidiX (BidiX (at) bidix (dot) info',
	license: '[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D]]',
	coreVersion: '2.2.0 (Beta 5)'

config.macros.option.passwordCheckboxLabel = "Save this password on this computer";
config.macros.option.passwordInputType = "password"; // password | text
setStylesheet(".pasOptionInput {width: 11em;}\n","passwordInputTypeStyle");

merge(config.macros.option.types, {
	'pas': {
		elementType: "input",
		valueField: "value",
		eventName: "onkeyup",
		className: "pasOptionInput",
		typeValue: config.macros.option.passwordInputType,
		create: function(place,type,opt,className,desc) {
			// password field
			// checkbox linked with this password "save this password on this computer"
			// text savePasswordCheckboxLabel
		onChange: config.macros.option.genericOnChange

merge(config.optionHandlers['chk'], {
	get: function(name) {
		// is there an option linked with this chk ?
		var opt = name.substr(3);
		if (config.options[opt]) 
		return config.options[name] ? "true" : "false";

merge(config.optionHandlers, {
	'pas': {
 		get: function(name) {
			if (config.options["chk"+name]) {
				return encodeCookie(config.options[name].toString());
			} else {
				return "";
		set: function(name,value) {config.options[name] = decodeCookie(value);}

// need to reload options to load passwordOptions

if (!config.options['pasPassword'])
	config.options['pasPassword'] = '';

		pasPassword: "Test password"

|''Description:''|Save to web a TiddlyWiki|
|''Date:''|May 5, 2007|
|''Author:''|BidiX (BidiX (at) bidix (dot) info)|
|''License:''|[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D ]]|
|''~CoreVersion:''|2.2.0 (#3125)|
version.extensions.UploadPlugin = {
	major: 4, minor: 1, revision: 0,
	date: new Date("May 5, 2007"),
	source: 'http://tiddlywiki.bidix.info/#UploadPlugin',
	author: 'BidiX (BidiX (at) bidix (dot) info',
	coreVersion: '2.2.0 (#3125)'

// Environment

if (!window.bidix) window.bidix = {}; // bidix namespace
bidix.debugMode = false;	// true to activate both in Plugin and UploadService
// Upload Macro

config.macros.upload = {
// default values
	defaultBackupDir: '',	//no backup
	defaultStoreScript: "store.php",
	defaultToFilename: "index.html",
	defaultUploadDir: ".",
	authenticateUser: true	// UploadService Authenticate User
config.macros.upload.label = {
	promptOption: "Save and Upload this TiddlyWiki with UploadOptions",
	promptParamMacro: "Save and Upload this TiddlyWiki in %0",
	saveLabel: "save to web", 
	saveToDisk: "save to disk",
	uploadLabel: "upload"	

config.macros.upload.messages = {
	noStoreUrl: "No store URL in parmeters or options",
	usernameOrPasswordMissing: "Username or password missing"

config.macros.upload.handler = function(place,macroName,params) {
	if (readOnly)
	var label;
	if (document.location.toString().substr(0,4) == "http") 
		label = this.label.saveLabel;
		label = this.label.uploadLabel;
	var prompt;
	if (params[0]) {
		prompt = this.label.promptParamMacro.toString().format([this.destFile(params[0], 
			(params[1] ? params[1]:bidix.basename(window.location.toString())), params[3])]);
	} else {
		prompt = this.label.promptOption;
	createTiddlyButton(place, label, prompt, function() {config.macros.upload.action(params);}, null, null, this.accessKey);

config.macros.upload.action = function(params)
		// for missing macro parameter set value from options
		var storeUrl = params[0] ? params[0] : config.options.txtUploadStoreUrl;
		var toFilename = params[1] ? params[1] : config.options.txtUploadFilename;
		var backupDir = params[2] ? params[2] : config.options.txtUploadBackupDir;
		var uploadDir = params[3] ? params[3] : config.options.txtUploadDir;
		var username = params[4] ? params[4] : config.options.txtUploadUserName;
		var password = config.options.pasUploadPassword; // for security reason no password as macro parameter	
		// for still missing parameter set default value
		if ((!storeUrl) && (document.location.toString().substr(0,4) == "http")) 
			storeUrl = bidix.dirname(document.location.toString())+'/'+config.macros.upload.defaultStoreScript;
		if (storeUrl.substr(0,4) != "http")
			storeUrl = bidix.dirname(document.location.toString()) +'/'+ storeUrl;
		if (!toFilename)
			toFilename = bidix.basename(window.location.toString());
		if (!toFilename)
			toFilename = config.macros.upload.defaultToFilename;
		if (!uploadDir)
			uploadDir = config.macros.upload.defaultUploadDir;
		if (!backupDir)
			backupDir = config.macros.upload.defaultBackupDir;
		// report error if still missing
		if (!storeUrl) {
			return false;
		if (config.macros.upload.authenticateUser && (!username || !password)) {
			return false;
		bidix.upload.uploadChanges(false,null,storeUrl, toFilename, uploadDir, backupDir, username, password); 
		return false; 

config.macros.upload.destFile = function(storeUrl, toFilename, uploadDir) 
	if (!storeUrl)
		return null;
		var dest = bidix.dirname(storeUrl);
		if (uploadDir && uploadDir != '.')
			dest = dest + '/' + uploadDir;
		dest = dest + '/' + toFilename;
	return dest;

// uploadOptions Macro

config.macros.uploadOptions = {
	handler: function(place,macroName,params) {
		var wizard = new Wizard();
		var markList = wizard.getElement("markList");
		var listWrapper = document.createElement("div");
		var uploadCaption;
		if (document.location.toString().substr(0,4) == "http") 
			uploadCaption = config.macros.upload.label.saveLabel;
			uploadCaption = config.macros.upload.label.uploadLabel;
				{caption: uploadCaption, tooltip: config.macros.upload.label.promptOption, 
					onClick: config.macros.upload.action},
				{caption: this.cancelButton, tooltip: this.cancelButtonPrompt, onClick: this.onCancel}
	refreshOptions: function(listWrapper) {
		var uploadOpts = [
		var opts = [];
		for(i=0; i<uploadOpts.length; i++) {
			var opt = {};
			opt.option = "";
			n = uploadOpts[i];
			opt.name = n;
			opt.lowlight = !config.optionsDesc[n];
			opt.description = opt.lowlight ? this.unknownDescription : config.optionsDesc[n];
		var listview = ListView.create(listWrapper,opts,this.listViewTemplate);
		for(n=0; n<opts.length; n++) {
			var type = opts[n].name.substr(0,3);
			var h = config.macros.option.types[type];
			if (h && h.create) {
	onCancel: function(e)
		return false;
	wizardTitle: "Upload with options",
	step1Title: "These options are saved in cookies in your browser",
	step1Html: "<input type='hidden' name='markList'></input><br>",
	cancelButton: "Cancel",
	cancelButtonPrompt: "Cancel prompt",
	listViewTemplate: {
		columns: [
			{name: 'Description', field: 'description', title: "Description", type: 'WikiText'},
			{name: 'Option', field: 'option', title: "Option", type: 'String'},
			{name: 'Name', field: 'name', title: "Name", type: 'String'}
		rowClasses: [
			{className: 'lowlight', field: 'lowlight'} 

// upload functions

if (!bidix.upload) bidix.upload = {};

if (!bidix.upload.messages) bidix.upload.messages = {
	//from saving
	invalidFileError: "The original file '%0' does not appear to be a valid TiddlyWiki",
	backupSaved: "Backup saved",
	backupFailed: "Failed to upload backup file",
	rssSaved: "RSS feed uploaded",
	rssFailed: "Failed to upload RSS feed file",
	emptySaved: "Empty template uploaded",
	emptyFailed: "Failed to upload empty template file",
	mainSaved: "Main TiddlyWiki file uploaded",
	mainFailed: "Failed to upload main TiddlyWiki file. Your changes have not been saved",
	//specific upload
	loadOriginalHttpPostError: "Can't get original file",
	aboutToSaveOnHttpPost: 'About to upload on %0 ...',
	storePhpNotFound: "The store script '%0' was not found."

bidix.upload.uploadChanges = function(onlyIfDirty,tiddlers,storeUrl,toFilename,uploadDir,backupDir,username,password)
	var callback = function(status,uploadParams,original,url,xhr) {
		if (!status) {
		if (bidix.debugMode) 
		// Locate the storeArea div's 
		var posDiv = locateStoreArea(original);
		if((posDiv[0] == -1) || (posDiv[1] == -1)) {
	if(onlyIfDirty && !store.isDirty())
	// save on localdisk ?
	if (document.location.toString().substr(0,4) == "file") {
		var path = document.location.toString();
		var localPath = getLocalPath(path);
	// get original
	var uploadParams = Array(storeUrl,toFilename,uploadDir,backupDir,username,password);
	var originalPath = document.location.toString();
	// If url is a directory : add index.html
	if (originalPath.charAt(originalPath.length-1) == "/")
		originalPath = originalPath + "index.html";
	var dest = config.macros.upload.destFile(storeUrl,toFilename,uploadDir);
	var log = new bidix.UploadLog();
	log.startUpload(storeUrl, dest, uploadDir,  backupDir);
	if (bidix.debugMode) 
		alert("about to execute Http - GET on "+originalPath);
	var r = doHttp("GET",originalPath,null,null,null,null,callback,uploadParams,null);
	if (typeof r == "string")
	return r;

bidix.upload.uploadRss = function(uploadParams,original,posDiv) 
	var callback = function(status,params,responseText,url,xhr) {
		if(status) {
			var destfile = responseText.substring(responseText.indexOf("destfile:")+9,responseText.indexOf("\n", responseText.indexOf("destfile:")));
		} else {
	// do uploadRss
	if(config.options.chkGenerateAnRssFeed) {
		var rssPath = uploadParams[1].substr(0,uploadParams[1].lastIndexOf(".")) + ".xml";
		var rssUploadParams = Array(uploadParams[0],rssPath,uploadParams[2],'',uploadParams[4],uploadParams[5]);
	} else {

bidix.upload.uploadMain = function(uploadParams,original,posDiv) 
	var callback = function(status,params,responseText,url,xhr) {
		var log = new bidix.UploadLog();
		if(status) {
			// if backupDir specified
			if ((params[3]) && (responseText.indexOf("backupfile:") > -1))  {
				var backupfile = responseText.substring(responseText.indexOf("backupfile:")+11,responseText.indexOf("\n", responseText.indexOf("backupfile:")));
			var destfile = responseText.substring(responseText.indexOf("destfile:")+9,responseText.indexOf("\n", responseText.indexOf("destfile:")));
		} else {
	// do uploadMain
	var revised = bidix.upload.updateOriginal(original,posDiv);

bidix.upload.httpUpload = function(uploadParams,data,callback,params)
	var localCallback = function(status,params,responseText,url,xhr) {
		url = (url.indexOf("nocache=") < 0 ? url : url.substring(0,url.indexOf("nocache=")-1));
		if (xhr.status == httpStatus.NotFound)
		if ((bidix.debugMode) || (responseText.indexOf("Debug mode") >= 0 )) {
			if (responseText.indexOf("Debug mode") >= 0 )
				responseText = responseText.substring(responseText.indexOf("\n\n")+2);
		} else if (responseText.charAt(0) != '0') 
		if (responseText.charAt(0) != '0')
			status = null;
	// do httpUpload
	var boundary = "---------------------------"+"AaB03x";	
	var uploadFormName = "UploadPlugin";
	// compose headers data
	var sheader = "";
	sheader += "--" + boundary + "\r\nContent-disposition: form-data; name=\"";
	sheader += uploadFormName +"\"\r\n\r\n";
	sheader += "backupDir="+uploadParams[3] +
				";user=" + uploadParams[4] +
				";password=" + uploadParams[5] +
				";uploaddir=" + uploadParams[2];
	if (bidix.debugMode)
		sheader += ";debug=1";
	sheader += ";;\r\n"; 
	sheader += "\r\n" + "--" + boundary + "\r\n";
	sheader += "Content-disposition: form-data; name=\"userfile\"; filename=\""+uploadParams[1]+"\"\r\n";
	sheader += "Content-Type: text/html;charset=UTF-8" + "\r\n";
	sheader += "Content-Length: " + data.length + "\r\n\r\n";
	// compose trailer data
	var strailer = new String();
	strailer = "\r\n--" + boundary + "--\r\n";
	data = sheader + data + strailer;
	if (bidix.debugMode) alert("about to execute Http - POST on "+uploadParams[0]+"\n with \n"+data.substr(0,500)+ " ... ");
	var r = doHttp("POST",uploadParams[0],data,"multipart/form-data; boundary="+boundary,uploadParams[4],uploadParams[5],localCallback,params,null);
	if (typeof r == "string")
	return r;

// same as Saving's updateOriginal but without convertUnicodeToUTF8 calls
bidix.upload.updateOriginal = function(original, posDiv)
	if (!posDiv)
		posDiv = locateStoreArea(original);
	if((posDiv[0] == -1) || (posDiv[1] == -1)) {
	var revised = original.substr(0,posDiv[0] + startSaveArea.length) + "\n" +
				store.allTiddlersAsHtml() + "\n" +
	var newSiteTitle = getPageTitle().htmlEncode();
	revised = revised.replaceChunk("<title"+">","</title"+">"," " + newSiteTitle + " ");
	revised = updateMarkupBlock(revised,"PRE-HEAD","MarkupPreHead");
	revised = updateMarkupBlock(revised,"POST-HEAD","MarkupPostHead");
	revised = updateMarkupBlock(revised,"PRE-BODY","MarkupPreBody");
	revised = updateMarkupBlock(revised,"POST-SCRIPT","MarkupPostBody");
	return revised;

// UploadLog
// config.options.chkUploadLog :
//		false : no logging
//		true : logging
// config.options.txtUploadLogMaxLine :
//		-1 : no limit
//      0 :  no Log lines but UploadLog is still in place
//		n :  the last n lines are only kept
//		NaN : no limit (-1)

bidix.UploadLog = function() {
	if (!config.options.chkUploadLog) 
		return; // this.tiddler = null
	this.tiddler = store.getTiddler("UploadLog");
	if (!this.tiddler) {
		this.tiddler = new Tiddler();
		this.tiddler.title = "UploadLog";
		this.tiddler.text = "| !date | !user | !location | !storeUrl | !uploadDir | !toFilename | !backupdir | !origin |";
		this.tiddler.created = new Date();
		this.tiddler.modifier = config.options.txtUserName;
		this.tiddler.modified = new Date();
	return this;

bidix.UploadLog.prototype.addText = function(text) {
	if (!this.tiddler)
	// retrieve maxLine when we need it
	var maxLine = parseInt(config.options.txtUploadLogMaxLine,10);
	if (isNaN(maxLine))
		maxLine = -1;
	// add text
	if (maxLine != 0) 
		this.tiddler.text = this.tiddler.text + text;
	// Trunck to maxLine
	if (maxLine >= 0) {
		var textArray = this.tiddler.text.split('\n');
		if (textArray.length > maxLine + 1)
			this.tiddler.text = textArray.join('\n');		
	// update tiddler fields
	this.tiddler.modifier = config.options.txtUserName;
	this.tiddler.modified = new Date();
	// refresh and notifiy for immediate update
	store.notify(this.tiddler.title, true);

bidix.UploadLog.prototype.startUpload = function(storeUrl, toFilename, uploadDir,  backupDir) {
	if (!this.tiddler)
	var now = new Date();
	var text = "\n| ";
	var filename = bidix.basename(document.location.toString());
	if (!filename) filename = '/';
	text += now.formatString("0DD/0MM/YYYY 0hh:0mm:0ss") +" | ";
	text += config.options.txtUserName + " | ";
	text += "[["+filename+"|"+location + "]] |";
	text += " [[" + bidix.basename(storeUrl) + "|" + storeUrl + "]] | ";
	text += uploadDir + " | ";
	text += "[[" + bidix.basename(toFilename) + " | " +toFilename + "]] | ";
	text += backupDir + " |";

bidix.UploadLog.prototype.endUpload = function(status) {
	if (!this.tiddler)
	this.addText(" "+status+" |");

// Utilities

bidix.checkPlugin = function(plugin, major, minor, revision) {
	var ext = version.extensions[plugin];
	if (!
		(ext  && 
			((ext.major > major) || 
			((ext.major == major) && (ext.minor > minor))  ||
			((ext.major == major) && (ext.minor == minor) && (ext.revision >= revision))))) {
			// write error in PluginManager
			if (pluginInfo)
				pluginInfo.log.push("Requires " + plugin + " " + major + "." + minor + "." + revision);
			eval(plugin); // generate an error : "Error: ReferenceError: xxxx is not defined"

bidix.dirname = function(filePath) {
	if (!filePath) 
	var lastpos;
	if ((lastpos = filePath.lastIndexOf("/")) != -1) {
		return filePath.substring(0, lastpos);
	} else {
		return filePath.substring(0, filePath.lastIndexOf("\\"));

bidix.basename = function(filePath) {
	if (!filePath) 
	var lastpos;
	if ((lastpos = filePath.lastIndexOf("#")) != -1) 
		filePath = filePath.substring(0, lastpos);
	if ((lastpos = filePath.lastIndexOf("/")) != -1) {
		return filePath.substring(lastpos + 1);
	} else
		return filePath.substring(filePath.lastIndexOf("\\")+1);

bidix.initOption = function(name,value) {
	if (!config.options[name])
		config.options[name] = value;

// Initializations

// require PasswordOptionPlugin 1.0.1 or better
bidix.checkPlugin("PasswordOptionPlugin", 1, 0, 1);

// styleSheet
setStylesheet('.txtUploadStoreUrl, .txtUploadBackupDir, .txtUploadDir {width: 22em;}',"uploadPluginStyles");

	txtUploadStoreUrl: "Url of the UploadService script (default: store.php)",
	txtUploadFilename: "Filename of the uploaded file (default: in index.html)",
	txtUploadDir: "Relative Directory where to store the file (default: . (downloadService directory))",
	txtUploadBackupDir: "Relative Directory where to backup the file. If empty no backup. (default: ''(empty))",
	txtUploadUserName: "Upload Username",
	pasUploadPassword: "Upload Password",
	chkUploadLog: "do Logging in UploadLog (default: true)",
	txtUploadLogMaxLine: "Maximum of lines in UploadLog (default: 10)"

// Options Initializations

/* don't want this for tiddlyspot sites

// Backstage
	uploadOptions: {text: "upload", tooltip: "Change UploadOptions and Upload", content: '<<uploadOptions>>'}


Wandering Monsters: There is a small chance that Wandering Monsters were simply stumbled upon by the PC’s while they are delving. This chance is only 1in10, but if this is the case, such monsters will be treated as a Standard Encounter for purposes of sighting distance and surprise. Normally, Wandering Monsters are in pursuit of the PC party. Due to scent, noise, light or other tell-tale signs, these predators have taken up the hunt. For this reason only the PC’s will have to roll surprise the remaining 9 out of 10 times.

Melee and Missile Weapon Details

One Handed (1h): Wielded with one hand only.
Hand and a Half (H): May be wielded with one or two hands. If wielded with two hands it adds +1 damage.
Two Handed (2h): Wielded with two hands only, adds +1 damage.
May be Off Handed (O): One handed weapon that may be wielded 'off-hand' while using two weapons at once.
Blunt (B): Deals crushing or blunt type damage.
Throw-able (T): A weapon which may be used in melee, or thrown as a missile. Range 30'. Javelins have a 60' range.
Has Reach (R): A long shafted weapon with reach which allows attacks past an ally upon his own foe.
May be Set (S): Deals 2d6 against charging foes, whether they are mounted or running into the wielder.
Parry (P): One handed Swords add +1 protection to Combat AC.
Range (in feet): Ranged weapon that shoots missiles a certain distance. Range is expressed in maximum effective range. Each missile weapon has three ranges, short (+1 to hit), medium, and long (-1 to hit), each equal to one third of the weapon’s maximum range. For example, a Long Bow has a range of 210’, so short range is 0-70’, medium is 71-140’, long is 141-210’.

In OD&D, all weapons regardless of type deal 1d6 as a default damage range. In Solstice, certain weapons have other facets as shown below. Weapons listed with codes, cost in GP, and weight:

Battle Axe: H,7,10
Hand Axe: 1h,O,T,3,5
Composite Bow: 2h,(240 feet),50,3
Long Bow: 2h,(210 feet),40,3
Short Bow: 2h,(150 feet),25,3
Arrows: (per dozen),1,2. Every other arrow may be recovered and reused.
Heavy Crossbow: 2h,(240 feet),25,8. Requires 1 action to reload, deals +1 damage.
Light Crossbow: 2h,(180 feet),15,3. Requires 1 action to reload, deals +1 damage.
Bolts: (per dozen),2,2. Every other bolt may be recovered and reused.
Dagger: 1h,O,T,3,2. As a primary melee weapon, deals -1 damage vs. a target with a shield.
Flail: 1h,B,8,10. Ignores Parry.
Halberd: 2h,7,15. Ignores penalties to damage type (counts as blunt if that's beneficial to the wielder).
Hammer: 1h,B,T,5,5
Javelin: T,2,2. Deals -1 damage in melee.
Lance: 4,15. May only be used on horse-back, deals 2d6 when charging.
Mace: 1h,B,O,5,5
Morning Star: H,B,6,10
Pike: 2h,R,S,5,15. May not be used while engaged in melee.
Pole Arm: 2h,R,7,15
Sling: 1h,(150 feet),1,0. Requires 2 hands to reload.
Stone: (per dozen),1,2. Every other stone may be recovered and reused.
Spear: H,S,T,1,5
Staff: 2h,B,1,5. Deals 1d6.
Sword: 1h,P,10,5
Two Handed Sword: 2h,15,15

All weapon types should fall into one of the above categories. For example, a Sword could be a scimitar, gladius, cutlass, etc.

Welcome to Solstice

This site is an ongoing work providing access to the various rules clarifications, house rules and home brew aspects of the Solstice setting for original Dungeons and Dragons (OD&D), by Gygax and Arneson. Specifically Solstice uses the original little brown books (LBB), Vol.s I - III, originally published in 1974 by TSR. At times, certain ideas may be gleaned from the supplements which TSR subsequently published for D&D, but this will mainly only be in regard to Monsters and Treasure. 

This site is a resource for players in my campaign, Of Fortunes and Fools, or for anyone interested in how exactly I am using OD&D to run my campaigns. Hopefully some of the ideas and opinions I express here will aid others in embracing OD&D for what it is, a basic guideline and tool kit resource for designing and running D&D campaigns. The format allows, almost requires, treatments such as this to reach a cohesive, smooth, playable finished game. 

Solstice is not a brand new set of rules, the reader must understand that much of the information herein is cobbled together from various online resources and published material, with a dash of home brew elements added to the basic rules. In the OD&D Links section I will include such resources, along with a thank you to those other OD&D fans that I have learned and gleaned so much from. 

As this is an ongoing project, I doubt it will ever truly reach a finished state. Much of the information herein might evolve over time, once rules are play-tested, and once players weigh in with their own opinions. The Recent Changes section will enable readers familiar with this site to check in for quick updates.

This site is maintained by Sham aka Dave.
email: drbow66@hotmail.com

Update 6/1/08: 

SECOND MAJOR SOLSTICE REVISION completed. See [[Recent Changes]] for information.

Hope you enjoy it (PS: it looks so much nicer in printed booklet form, I really need to learn how to make a free PDF).

My ongoing project of collected rules packets for OD&D combat can be found here: