1 |
pippijn |
1.1 |
|
2 |
|
|
\chapter{Skills System}\index{skills}\index{experience}\label{chap:skills} |
3 |
|
|
|
4 |
|
|
\section{Description}\index{skills, description} |
5 |
|
|
|
6 |
|
|
Under the skills system the flow of play changes |
7 |
|
|
dramatically\footnote{The skills system is enabled as the default option |
8 |
|
|
as of version |
9 |
|
|
0.92.0}$^{, }$\footnote{The new skills/experience system is compatible |
10 |
|
|
with character files from at least version 0.91.1 onward.}. |
11 |
|
|
Instead of gaining experience for basically just killing monsters (and disarming |
12 |
|
|
traps) players will now gain a variety of experience through the use |
13 |
|
|
of skills. Some skills replicate old functions in the game (e.g. melee |
14 |
|
|
weapons skill, missile weapon skill) while others add new functionality |
15 |
|
|
(e.g. stealing, hiding, writing, etc). A complete list of the available |
16 |
|
|
skills can be found in table \ref{tab:skill_stats}. Appendix \ref{app:skills} |
17 |
|
|
contains descriptions for many of the skills. |
18 |
|
|
|
19 |
|
|
\begin{table} |
20 |
|
|
\begin{center} |
21 |
|
|
\caption{Skills \label{tab:skill_stats}}\index{skills, list}\index{skills, associated} |
22 |
|
|
\index{experience, categories} |
23 |
|
|
\index{skills, miscellaneous} |
24 |
|
|
\small |
25 |
|
|
\vskip 12pt |
26 |
|
|
\begin{tabular}{|clccccc|} \hline |
27 |
|
|
& Skill & Experience Category & \multicolumn{3}{c}{Associated Stats} & \\ |
28 |
|
|
& & & (Stat 1) & (Stat 2) & (Stat 3) & \\ \hline\hline |
29 |
|
|
& & & & & & \\ |
30 |
|
|
\input{skill_stat} |
31 |
|
|
& & & & & & \\ |
32 |
|
|
\hline |
33 |
|
|
\end{tabular} |
34 |
|
|
\end{center} |
35 |
|
|
\end{table} |
36 |
|
|
|
37 |
|
|
|
38 |
|
|
\section{About experience and skills}\index{skills, |
39 |
|
|
gaining experience}\index{experience} |
40 |
|
|
|
41 |
|
|
\subsection{Associated and miscellaneous skills} |
42 |
|
|
\index{skills, associated}\index{skills, miscellaneous} |
43 |
|
|
|
44 |
|
|
In \cf\ two types of skills exist; The first kind, ``associated'' |
45 |
|
|
skills, are those skills which are {\em associated with a category of |
46 |
|
|
experience}. The other kind of skill, ``miscellaneous'' skills, |
47 |
|
|
are {\em not} related to any experience category. |
48 |
|
|
|
49 |
|
|
The main difference between these two kinds of skills is in the |
50 |
|
|
result of their use. |
51 |
|
|
When associated skills are used {\em successfully} experience is |
52 |
|
|
accrued in the experience category {\em associated with that skill}. |
53 |
|
|
In contrast, the use of miscellaneous skills {\em never} gains |
54 |
|
|
the player any experience regardless of the success in using it. |
55 |
|
|
|
56 |
|
|
{\em Both} miscellaneous and associated skills can {\em fail}. This means |
57 |
|
|
that the attempt to use the skill was unsuccessful. {\em Both} |
58 |
|
|
miscellaneous and associated skills {\em can} have certain |
59 |
|
|
primary stats {\em associated} with them. These associated stats can help |
60 |
|
|
to determine if the use of a skill is successful and to what |
61 |
|
|
{\em degree} it is successful. |
62 |
|
|
|
63 |
|
|
All gained experience is modified by the associated |
64 |
|
|
stats for that skill (table \ref{tab:skill_stats}) and then the |
65 |
|
|
appropriate experience category automatically updated as needed. |
66 |
|
|
|
67 |
|
|
\subsection{Restrictions on skills use and gaining experience} |
68 |
|
|
\index{skills, restrictions} |
69 |
|
|
|
70 |
|
|
Neither a character's stats nor the character class restricts the |
71 |
|
|
player from gaining experience in any of the experience |
72 |
|
|
categories. Also, there are no inherent |
73 |
|
|
restrictions on character skill use$-$any player may |
74 |
|
|
use any {\em acquired} skill. |
75 |
|
|
|
76 |
|
|
\subsection{Algorithm for Experience Gain under the skills system} |
77 |
|
|
|
78 |
|
|
Here we take the view that a player must 'overcome an opponent' |
79 |
|
|
in order to gain experience. Examples include foes killed in combat, |
80 |
|
|
finding/disarming a trap, stealing from some being, identifying |
81 |
|
|
an object, etc. |
82 |
|
|
|
83 |
|
|
Gained experience is based primarily on the difference in levels |
84 |
|
|
between 'opponents', experience point value of a ``vanquished foe'', |
85 |
|
|
the values of the associated stats of the skill being used and |
86 |
|
|
two factors that are set internally\footnote{If you want to |
87 |
|
|
know more about this, check out the skills\_developers.doc}. |
88 |
|
|
|
89 |
|
|
Below the algorithm for experience gain is given where player ``pl'' |
90 |
|
|
that has ``vanquished'' opponent ``op'' using skill ``sk'': |
91 |
|
|
\begin{quote} |
92 |
|
|
EXP GAIN = (EXP$_{op}$ + EXP$_{sk}$) * lvl\_mul |
93 |
|
|
\end{quote} |
94 |
|
|
where EXP$_{sk}$ is a constant award based on the skill used, |
95 |
|
|
EXP$_{op}$ is the base experience award for `op' which depends |
96 |
|
|
on what op is (see below), |
97 |
|
|
|
98 |
|
|
\noindent{For} level$_{pl}$ $<$ level$_{op}$:: |
99 |
|
|
\begin{quote} |
100 |
|
|
lvl\_mult = FACTOR$_{sk}$ * (level$_{op}$ - level$_{pl}$) |
101 |
|
|
\end{quote} |
102 |
|
|
\noindent{For} level$_{pl}$ $=$ level$_{op}$:: |
103 |
|
|
\begin{quote} |
104 |
|
|
lvl\_mult = FACTOR$_{sk}$ |
105 |
|
|
\end{quote} |
106 |
|
|
\noindent{For} level$_{pl}$ $>$ level$_{op}$:: |
107 |
|
|
\begin{quote} |
108 |
|
|
lvl\_mult = (level$_{op}/$level$_{pl}$); |
109 |
|
|
\end{quote} |
110 |
|
|
where level$_{op}$ is the level of `op', level$_{pl}$ is the level |
111 |
|
|
of the player, and FACTOR$_{sk}$ is an internal factor based on |
112 |
|
|
the skill used by pl. |
113 |
|
|
|
114 |
|
|
There are three different cases for how EXP$_{op}$ can be computed: |
115 |
|
|
\begin{quote} |
116 |
|
|
1) {\bf op is a living creature}: EXP$_{op}$ is just the base |
117 |
|
|
experience award given in the \spoiler . \\ |
118 |
|
|
|
119 |
|
|
2) {\bf op is a trap}: EXP$_{op} \propto$ 1/(the time for which the |
120 |
|
|
trap is visible). Thus, traps which are highly {\em visible} get {\em lower} |
121 |
|
|
values. \\ |
122 |
|
|
|
123 |
|
|
3) {\bf op is not a trap but is non-living}: EXP$_{op}$ = internal |
124 |
|
|
experience award of the item. Also, the lvl\_mult is multiplied by |
125 |
|
|
any {\tt magic} enchantment on the item. |
126 |
|
|
\end{quote} |
127 |
|
|
|
128 |
|
|
\section{How skills are used}\index{skills, how to use} |
129 |
|
|
|
130 |
|
|
\begin{table} |
131 |
|
|
\small |
132 |
|
|
\caption{Skills commands}\label{tab:skill_cmd} |
133 |
|
|
\vskip 12pt |
134 |
|
|
\begin{center} |
135 |
|
|
\begin{tabular}{|cllc|} \hline |
136 |
|
|
& & & \\ |
137 |
|
|
& {\tt skills} & This command lists all the player's & \\ |
138 |
|
|
& & current known skills, their level & \\ |
139 |
|
|
& & of use and the associated experience & \\ |
140 |
|
|
& & category of each skill. & \\ |
141 |
|
|
& & & \\ |
142 |
|
|
& {\tt ready\_skill $<$skill$>$} & This command changes the player's & \\ |
143 |
|
|
& & current readied skill to {\tt $<$skill$>$}. & \\ |
144 |
|
|
& & & \\ |
145 |
|
|
& {\tt use\_skill $<$skill$>$ $<$string$>$} & This command changes the player's & \\ |
146 |
|
|
& & current readied skill {\em and} then & \\ |
147 |
|
|
& & executes it in the facing direction & \\ |
148 |
|
|
& & of the player. Similar in action to & \\ |
149 |
|
|
& & the {\tt invoke} command. & \\ |
150 |
|
|
& & & \\ \hline |
151 |
|
|
\end{tabular} |
152 |
|
|
\end{center} |
153 |
|
|
\end{table} |
154 |
|
|
|
155 |
|
|
Three player commands are related to skills use: {\tt ready\_skill}, |
156 |
|
|
{\tt use\_skill}, and {\tt skills} (see table \ref{tab:skill_cmd}). |
157 |
|
|
Generally, a player will use a skill by first readying the right one, |
158 |
|
|
with the {\tt ready\_skill} command and then making a ranged ``attack'' to |
159 |
|
|
activate the skill; using most skills is just like firing a wand or a |
160 |
|
|
bow. In a few cases however, a skill is be used just by having it |
161 |
|
|
{\em readied}. For example, the {\tt mountaineer} skill allows |
162 |
|
|
favorable movement though hilly terrain while it is readied. |
163 |
|
|
|
164 |
|
|
To change to a new skill, a player can use either the |
165 |
|
|
{\tt use\_skill} or {\tt ready\_skill} commands, but note that the use of |
166 |
|
|
several common items can automatically change the player's current |
167 |
|
|
skill too. Examples of this include readying a bow (which will cause the |
168 |
|
|
code to make the player's current skill {\tt missile\_weapons}) or readying |
169 |
|
|
a melee weapon (current skill auto-matically becomes {\tt melee weapons}). |
170 |
|
|
Also, some player actions can cause a change in the current skill. |
171 |
|
|
Running into a monster while you have a readied weapon in your inventory |
172 |
|
|
causes the code to automatically make our current skill {\tt melee weapons}. |
173 |
|
|
As another example of this$-$casting a spell will cause the code to |
174 |
|
|
switch the current skill to {\tt \spellcasting} or {\tt praying} (as appropriate |
175 |
|
|
to the spell type). |
176 |
|
|
|
177 |
|
|
It is not possible to use more than one skill at a time. |
178 |
|
|
|
179 |
|
|
\section{Acquiring skills}\index{skills, learning}\index{skills, tools} |
180 |
|
|
|
181 |
|
|
Skills may be gained in two ways. In the first, new skills may {\em learned}. |
182 |
|
|
This is done by reading a ``skill scroll'' and the process is very similar |
183 |
|
|
to learning a spell. Just as in attempts to learn \incantation s, success in |
184 |
|
|
learning skills is dependent on a random test based on the learner's INT. |
185 |
|
|
Using your INT stat, look in the learn\% column in table \ref{tab:pri_eff} |
186 |
|
|
to find your \% chance of learning a skill. Once you hit 100\% you will |
187 |
|
|
always be successfull in learning new skills. |
188 |
|
|
|
189 |
|
|
The acquisition of a {\em skill tool} will also allow the player to use |
190 |
|
|
a new skill. An example of a skill tool is ``lockpicks''\inputimage{lockpicks} |
191 |
|
|
(which allow the |
192 |
|
|
player to pick door locks). The player merely applies the skill |
193 |
|
|
tool in order to gain use of the new skill. If the tool is unapplied, |
194 |
|
|
the player looses the use of the skill associated with the tool. |
195 |
|
|
|
196 |
|
|
After a new skill is gained (either learned or if player has an applied |
197 |
|
|
skill tool) it will appear on the player's skill roster (use the |
198 |
|
|
'skills' command to view its status). If the new skill is an associated |
199 |
|
|
skill, then it will automatically be gained at the player's current level |
200 |
|
|
in the appropriate experience category. For example, Stilco the Wraith, |
201 |
|
|
who is 5th level in {\tt agility}, buys a set of lockpicks and applies them. |
202 |
|
|
He may now use the skill lockpicking at 5th level of ability since that |
203 |
|
|
is an {\tt agility} associated skill. |