Manual:Game Mechanics/Skills

From DikuMUD Wiki
Jump to navigation Jump to search

It seems skill (spells et. al) checks got kind of lost in the mists of time. Here is the general idea:

Skills and abilities are all in [0..200] Rolls are open-ended 1d100.

Let's use swim as an example.

A characters proficiency in swim in 0..200.

  0: Zero means no skill at all
 75: An average swimmer
200: is the most divine swimmer.

Now image having swim in average conditions. If your skill is average (50) then the skill check is to see the result of (1d100 + skill) - 100. If the result is above 0 the swim was a success. Therefore if your skill is 0 you always fail an average swim roll is > 100. If your skill is 75 for an average swim, you succeed 75% of the time. If your skill is 100 then you always succeed. Remeber that the open-ended roll can of course always offset even a sure success or fail.

The difficulty of a swim could be:

 +50: The easiest possible circumstances. Shallow, clear, still water. Players with 0 skill fail half the time.
   .
   .
   0: Average normal swimming conditions
   .
   .
-100: The most absurdly difficult swim imaginable. Players with 200 skill succeed always (except OE).

A character that fails a skill check might be swallowing water if the fail is [0..-20]. And might take one hp damage per 10 failure if the result is worse than -20.

The function skillcheck() captures precisely this setup.

For a skill like flee, the difficulty could be an expression of the character's and opponent levels compared.

 +5: For each level better than the opponent
  0: Same level, no modifier
 -5; For each level worse than the opponent

So a level 5 PC fighting a level 1 rabbit gets a +40 bonus to flee. Since an NPC does not have skills, generally its level can be used as its skill. So a level 50 NPC has a flee skill of 50.