First draft of rules- and classes-doc-file

This commit is contained in:
Oliver Rümpelein 2014-10-24 11:19:30 +02:00
parent 12d5139256
commit 2ec97d295e
3 changed files with 129 additions and 1 deletions

24
doc/classes Normal file
View file

@ -0,0 +1,24 @@
JSDSH currently uses two different class-trees (one for the crafty/graphical objects, one for "game" objects),
although this (and everything marked with (*)) is subject to change in the future.
The Crafty-Classes that are not defined by the library (included from jsds_crafty.js) are:
Thing: A base class, providing the Canvas- and Color-Mechanisms and positioning.
Creature: Creatures are everything tha may attack and move (that is, players and monsters)
Additional to Thing, this class provides mechanisms for moving the element by mouse or arrow-keys,
collision-control to prevent overlaps, and bindings.
(*) Furthermore, every creture-object has a variable set to the associated game-object.
The following additional functions and variables are defined in jsds_crafty.js:
last_sel: contains a reference to the game-object associated to the last clicked object.
end_init(): This function should be called as last after an adventure is loaded and initialized. Usually,
when using arrow key control, crafty moves every EACH object where it is activated.
end_init disables this control for each object of type "Creature", and sets a hook needed to work
around a bug in crafty.
reset_bug(): resets the problems with a bug in crafty that causes a key-down-event to be (constantly) triggered
when the JSDSH-Tab is the one the browser falls back to after closing another tab.
(Strange, I know…).
If this happens, DON'T CLICK ANOTHER OBJECT! Open the JS-console and run reset_bug() manually.
If you accidantily clicke ONE other object, it is still possible to get back to the old state
Manually reset_bug(), de- and refocus the window, and run reset_bug() once more.

105
doc/rules Normal file
View file

@ -0,0 +1,105 @@
== Basics ==
Dungeonslayers is a simple Pen-and-Paper Roll-play-game like Dungeons and Dragons
that is designed to have "simple" rules and thus be easily playable by beginners.
A simple overview can be found here:
http://www.dungeonslayers.net/regeln/
A more detailed quick-start-guide can be found here:
http://dungeonslayers.net/download/DS4FirstSlay.pdf
The complete rules can be downloaded here:
http://dungeonslayers.net/download/Dungeonslayers4.pdf
(all links currently only in german)
JSDSH is designed to be a helper for the gamemaster, some kind of "referee" and the player of all characters
that happen to appear during adventures. This means that JSDSH does not intend to be a fully playable RPG,
and doesn't implement every feature (although the list of wished features is quite long), and thus the
gamemaster still has to keep track of a lot of "things", like the order that characters or
non-player-characters act during fights.
== Tests and Attributes ==
"Tests" are the most crucial element in Dungeonslayers. Every action that is not trivial,
like sneaking into a room, needs a test to find out whether a character manages to to it.
In Dungeonslayers, all tests are evaluated using a D20 (a 20-sided Dice), against some testing
value. This value is specified by attributes, properties and other measures a character holds,
which ones depending on the action tried to accomplish.
The Attributes should be self-explaining:
- Body
- Agility
- Spirit
Additional to this, there are so called properties:
- Strength
- Hardness (how much does a character bear?)
- Movement (how well can a char. control his body?)
- Skill (for everything that requires finesse)
- Mind (knowledge and ability to solve puzzles)
- Aura (everything magical)
There are some values derived from those by formulas:
- life
- defense
- initiative (sets the order for actions)
- walk (distance a character may walk during one round)
- melee (short-distance attack value)
- shoot (long distance)
- chant (spells that just have an effect)
- shoot_chant (for spells like fireballs that need to be aimed)
Other modifiers include:
- fixed spell bonuses
- armor and weapon bonuses
- magical bonus (temporary or persistent)
- …
For example, sneaking might be tested against (agility + movement).
A simple test (test value < 20) is succesfull, if the player rolls a number smaller than the test value.
Often, the thrown value is used for effects of the test, like damage or lifepoints healed.
A value of 1 is a so called ever-success and leads to the test being succesful with the highest value possible
for a succesfull test (i.e. if the tested value is 12, and the player throws a 1, he is succesful with a result
of 12).
if the test-value gets larger than 20, the tests are rolled for blocks of twenty each, where only the first one
may lead to a failure of the test. /* This behaviour is not yet implemented */
(Example: a character has an attack-value of 46 (20+20+6). Thus, he may throw the dice 3 times:
- the first one may lead to a failure of the test ONLY BY A 20, a 1 leads to a result of 46.
- the second simply gets added.
- the third value gets added only if its smaller than 6.)
JSDSH currently only supports simple tests, and no ever-success. Some values may be modified by clicking onto a
character, the menu shows on the right.
== Attacks ==
If a (non-player-)character C1 decides to attack another character C2, the follwing happens:
C1 does a test for attacks, corresponding to the weapon he chooses (sword => melee, bow => shoot, …)
The test-result (if succesfull) is the attack value
If the attack is defendible, C2 tests for defense, if succesfull, the attack value gets reduced by the result.
If this is larger than 0, the life-points of C2 get reduced by this value.
Otherwise, the life-points get reduced by the attack value.
The value for a shoot might be modified by obstacles or other characters in the shoot range, usually the needed
value gets lowered by 2 per obstacle
Modifiers in JSDSH ar accessable by clicking on a character. They appear on the right of the game-field.
By right-clicking on another character, the currently selected character attacks it with the type of attack
selected.
== Walking ==
A character may only walk his value in "walking" during one round, and attack once. This may happen in any
order, but not splitted.
JSDSH only shows the distance to the startpoint in direct line. Note, that the startpoint gets reseted every
time a new player is selected.

View file

@ -153,7 +153,6 @@
/* At the end, disable mouse-control for all creatures /* At the end, disable mouse-control for all creatures
*/ */
var focused = false;
var last_sel; var last_sel;
var end_init = function() { var end_init = function() {
Crafty("Creature").each( function() { Crafty("Creature").each( function() {