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