DetermineMastery
( )
This function is used throughout the program to determine a character's
mastery of a skill. This is used to compute how far he can throw
a dagger, how much damage an attack will produce, etc.
The skills are the four obvious skills: Fighter, Ninja, Wizzard,
and Priest. And there are four hidden sub-skills for each of
these. Each skill has a value associated with it
called 'Experience', a number that grows larger every time the skill is
exercised. There is a temporary adjustment to each skill that is
increased by such things as potions. And, lastly, there are
objects in the dungeon which, when properly carried, affect the mastery
of several of the skills.
The skill numbers ( and their sub-skill numbers ) are:
0 - Fighter ( 4, 5, 6, 7 )
1 - Ninja ( 8, 9, 10, 11 )
2 - Priest ( 12, 13, 14, 15 )
3 - Wizard ( 16, 17, 18, 19 )
The mastery of a skill is computed as follows:
- If the Party is sleeping then the mastery is 1. Very low.
- The experience for the skill is used to determine the basic
mastery: If the skill is a 'sub-skill', then the experience is
the average of the experience for the skill and the experience for the
related major skill. Then the fowllowing table is used to
determine the mastery.
experience
|
mastery
|
0
|
1
|
500
|
2
|
1000
|
3
|
2000
|
4
|
4000
|
5
|
8000
|
6
|
16000
|
7
|
32000
|
8
|
64000
|
9
|
128000
|
10
|
256000
|
11
|
512000
|
12
|
1024000
|
13
|
2048000
|
14
|
4096000
|
15
|
8182000
|
16
|
- The mastery is then adjusted for objects the character is using.
skill
|
object
|
location
|
increment
|
any
|
Firestaff_a
|
weapon hand
|
2
|
any
|
Firestaff_b
|
weapon hand
|
2
|
Wizard
|
Pendant Feral
|
neck
|
1
|
15
|
Ekkhard Cross
|
neck
|
1
|
13
|
Gem of Ages
|
neck
|
1
|
13
|
Sceptre of Lyfe
|
weapon hand
|
1
|
14
|
Moonstone
|
neck
|
1
|