1 |
pippijn |
1.1 |
|
2 |
|
|
|
3 |
|
|
SKILLS/EXPERIENCE DOCUMENTATION for PLAYERS. |
4 |
|
|
-------------------------------------------- |
5 |
|
|
|
6 |
|
|
- Summary - |
7 |
|
|
|
8 |
|
|
0. Description of system |
9 |
|
|
|
10 |
|
|
1. Using the new skills system |
11 |
|
|
a. new player commands |
12 |
|
|
b. learning a new skill |
13 |
|
|
c. about experience and skills |
14 |
|
|
d. starting skills by player profession |
15 |
|
|
|
16 |
|
|
2. Appendices |
17 |
|
|
a. skills descriptions |
18 |
|
|
b. how stats are related to skills/experience |
19 |
|
|
c. Default parameters for skills |
20 |
|
|
d. Theory of Experience Gain |
21 |
|
|
|
22 |
|
|
0.DESCRIPTION OF SKILLS/EXPERIENCE SYSTEM |
23 |
|
|
--------------------------------------- |
24 |
|
|
|
25 |
|
|
When crossfire is compiled with the ALLOW_SKILLS flag defined |
26 |
|
|
(in include/config.h) the new skills/experience system is enabled. |
27 |
|
|
|
28 |
|
|
Under this system the flow of play changes dramatically. Instead of |
29 |
|
|
gaining experience for basically just killing monsters (and disarming |
30 |
|
|
traps) players will now gain a variety of experience through the use |
31 |
|
|
of skills. Some skills replicate old functions in the game (cf. melee |
32 |
|
|
weapons skill, missile weapon skill) while others add new functionality |
33 |
|
|
(cf stealing, hiding, etc). |
34 |
|
|
|
35 |
|
|
One important aspect of this new system is the way in which experience |
36 |
|
|
is gained -- basically it is the philosophy that "you are what you do". |
37 |
|
|
A player who kills monsters with spells gains experience in casting |
38 |
|
|
destructive spells. A player who steals from creatures often will |
39 |
|
|
get better at stealing, and so on. The player's aptitude (eg stats) |
40 |
|
|
will influence the amount of experience gained. |
41 |
|
|
|
42 |
|
|
The new skills/experience system *is* compatible with older character |
43 |
|
|
files. |
44 |
|
|
|
45 |
|
|
See the skills_developers.doc for a more technical discussion of the |
46 |
|
|
skills/experience system. |
47 |
|
|
|
48 |
|
|
|
49 |
|
|
1.USING THE NEW SKILLS SYSTEM |
50 |
|
|
--------------------------- |
51 |
|
|
|
52 |
|
|
a. New player commands |
53 |
|
|
|
54 |
|
|
Two new commands now exist in CF through which skills are utilized: |
55 |
|
|
|
56 |
|
|
'skills' -- this command lists all the player's |
57 |
|
|
current known skills, their level |
58 |
|
|
of use and the associated experience |
59 |
|
|
category of each skill. |
60 |
|
|
|
61 |
|
|
'use_skill <skillname>' -- this command changes the player's |
62 |
|
|
current readied skill. |
63 |
|
|
|
64 |
|
|
Generally, a player will use a skill by first readying the right one, |
65 |
|
|
with the 'use_skill' command and then making a ranged "attack" to |
66 |
|
|
activate the skill. Using most skills is just like firing a wand or a |
67 |
|
|
bow. In a few cases however, a skill can be used just by having it |
68 |
|
|
"readied". An example of this is the "bargaining" skill. |
69 |
|
|
|
70 |
|
|
To change to a new skill, a player will have to using the 'use_skill' |
71 |
|
|
command, but not always. The use of several common items will auto- |
72 |
|
|
matically change the player's current skill. Examples of this include |
73 |
|
|
readying a bow (which will cause the code to make the player's current |
74 |
|
|
skill "missile_weapons") or readying a melee weapon (current skill |
75 |
|
|
auto-matically becomes "melee weapons"). Also, some player actions |
76 |
|
|
can cause a change in the current skill. Running into a monster while |
77 |
|
|
you have a readied weapon in your inventory causes the code to auto- |
78 |
|
|
matically make our current skill "melee weapons". Casting a spell |
79 |
|
|
will cause the code to switch the current skill to "spellcasting" or |
80 |
|
|
"praying" (as appropriate to the spell type). |
81 |
|
|
|
82 |
|
|
It is not possible to use more than one skill at a time. |
83 |
|
|
|
84 |
|
|
|
85 |
|
|
b. Acquiring skills |
86 |
|
|
|
87 |
|
|
Skills may be gained in 2 ways. In the first, new skills may "learned". |
88 |
|
|
This is done by reading a "skill scroll" and the process is very similar |
89 |
|
|
to learning a spell. There is one big difference - all attempts to learn |
90 |
|
|
skills are successful. Note that skill scrolls are rarely named exactly |
91 |
|
|
for the skill they grant (ex "scroll of piety" is the skillscroll that |
92 |
|
|
grants the skill "praying" to the reader). |
93 |
|
|
|
94 |
|
|
The acquisition of a "skill tool" will also allow the player to use |
95 |
|
|
a new skill. An example of a skill tool is "lockpicks" (which allow the |
96 |
|
|
player to pick door locks). The player mearly applies the skill |
97 |
|
|
tool in order to gain use of the new skill. If the tool is unapplied, |
98 |
|
|
the player looses the use of the skill associated with the tool. |
99 |
|
|
|
100 |
|
|
== AVAILABLE SKILL TOOLS == |
101 |
|
|
|
102 |
|
|
Skill tool Skill gained |
103 |
|
|
---------- ------------ |
104 |
|
|
Lockpicks Lockpicking |
105 |
|
|
Holy Symbol Praying |
106 |
|
|
Talisman Spellcasting |
107 |
|
|
Writing Pen Inscription |
108 |
|
|
|
109 |
|
|
After a new skill is gained (either learned or if player has an applied |
110 |
|
|
skill tool) it will appear on the player's skill roster (use the |
111 |
|
|
'skills' command to view its status). If the new skill is related to a |
112 |
|
|
particular kind of experience, it will automatically be gained at the |
113 |
|
|
player's current level of experience in the appropriate category. |
114 |
|
|
|
115 |
|
|
|
116 |
|
|
c. About experience and skills |
117 |
|
|
|
118 |
|
|
Successful use of many skills will result in the player gaining |
119 |
|
|
experience. No special commands from the player are needed for this |
120 |
|
|
to occur. All gained experience is modified by the relevant stats for |
121 |
|
|
that skill and then the appropriate experience category automatically |
122 |
|
|
updated as needed. |
123 |
|
|
|
124 |
|
|
All players may gain experience in any of the experience categories |
125 |
|
|
irrespective of player class or stats. All new players start with zero |
126 |
|
|
experience in all experience categories. |
127 |
|
|
|
128 |
|
|
There are no inherent restrictions on player skill use--any player may |
129 |
|
|
use any acquired skill. How well a player uses a skill is related |
130 |
|
|
to their stats and their appropriate level of experience. |
131 |
|
|
|
132 |
|
|
For most skills both the chance of success and effect of the skill are |
133 |
|
|
tied to the player level of experience (eg 'melee weapons', 'stealing', |
134 |
|
|
'writing', 'hiding', etc). |
135 |
|
|
|
136 |
|
|
But there are a smaller number of skills whose use will automatically |
137 |
|
|
be 'successful' with every attempt: (eg 'use magic item', 'bargaining', |
138 |
|
|
all miscellaneous skills and the 'identification skills': smithery, |
139 |
|
|
woodsman, alchemy, etc.), |
140 |
|
|
|
141 |
|
|
The default array of stats for associated skills is in Appendix B. |
142 |
|
|
|
143 |
|
|
|
144 |
|
|
d. starting skills by player profession |
145 |
|
|
|
146 |
|
|
|
147 |
|
|
All players start with the skills "melee weapons", "find traps", |
148 |
|
|
"use magic item" and "disarm traps". Under the current release of the |
149 |
|
|
skills system, further skills are parceled out as follows: |
150 |
|
|
|
151 |
|
|
Player profession Additional skills |
152 |
|
|
----------------- ----------------- |
153 |
|
|
|
154 |
|
|
Barbarian Missile Weapons, Woodsman, Mountaineer |
155 |
|
|
Cleric Missile Weapons, Praying (holy symbol), |
156 |
|
|
Oratory |
157 |
|
|
Dwarf Missile Weapons, Smithery |
158 |
|
|
Elf Missile Weapons, Spellcasting (talisman), |
159 |
|
|
Bowyer, Woodsman |
160 |
|
|
Fireborn Missile Weapons, Spellcasting, Praying, |
161 |
|
|
Flame touch |
162 |
|
|
Human Missile Weapons, 2 Random skills |
163 |
|
|
Mage Missile Weapons, Spellcasting |
164 |
|
|
Monk Missile Weapons, Meditation, Karate, |
165 |
|
|
Sense Magic |
166 |
|
|
Ninja Missile Weapons, Jumping, Hiding |
167 |
|
|
Priest Praying, Spellcasting (talisman) |
168 |
|
|
Quetzalcoatl Missile Weapons, Spellcasting, Clawing |
169 |
|
|
Swashbuckler Missile Weapons, Stealing, Singing |
170 |
|
|
Thief Missile Weapons, Stealing, |
171 |
|
|
Lockpicking (lockpicks) |
172 |
|
|
Viking Missile Weapons, Bargaining |
173 |
|
|
Warrior Missile Weapons, Punching, Oratory |
174 |
|
|
Wizard Spellcasting, Praying (holy symbol) |
175 |
|
|
Wraith Spellcasting, Praying (holy symbol) |
176 |
|
|
|
177 |
|
|
|
178 |
|
|
2.APPENDICES |
179 |
|
|
---------- |
180 |
|
|
|
181 |
|
|
A. skills descriptions |
182 |
|
|
|
183 |
|
|
The following is the current (8/15/95) roster of skills and the |
184 |
|
|
description for each. Use the command 'crossfire -m5' to see the array |
185 |
|
|
of skills and experience in your version of crossfire. |
186 |
|
|
(Note: you need to have compilied with the DUMP_SWITCHES and |
187 |
|
|
ALLOW_SKILLS flags for this to work!) |
188 |
|
|
|
189 |
|
|
+ -denotes a skill which monsters/NPC's may also use. |
190 |
|
|
|
191 |
|
|
Skill description |
192 |
|
|
----- ----------- |
193 |
|
|
|
194 |
|
|
alchemy User can identify potions, containers, and |
195 |
|
|
amulets. (One day I would like to see this skill |
196 |
|
|
allow mixing of potions -b.t.). |
197 |
|
|
|
198 |
|
|
bargaining While this skill is readied the user has added Cha |
199 |
|
|
for purposes of purchase and selling of items only. |
200 |
|
|
Cha is never allowed to exceed 30. |
201 |
|
|
|
202 |
|
|
bowyer User can identify missile weapons and missiles. |
203 |
|
|
|
204 |
|
|
+ clawing User can make a "bare-handed attack". Damage |
205 |
|
|
is based on the user's Str and level. |
206 |
|
|
|
207 |
|
|
find traps User can search (more effectively) for traps. |
208 |
|
|
Not a 'passive' skill, it is applied in order |
209 |
|
|
to gain the advantage in discovering traps. |
210 |
|
|
|
211 |
|
|
+ flame touch User can make a "bare-handed attack". Damage |
212 |
|
|
is based on the user's Str and level. This |
213 |
|
|
is the default hand-to-hand fighting skill |
214 |
|
|
for the fireborn character class. |
215 |
|
|
|
216 |
|
|
+ hide User enjoys limited form of invisibility. If |
217 |
|
|
they attack or move too much they become |
218 |
|
|
visible. Right now it is possible to |
219 |
|
|
hidden while next to hostile monsters. Not |
220 |
|
|
a reasonable feature! |
221 |
|
|
|
222 |
|
|
jeweler User can ident gems and rings that they hold. |
223 |
|
|
|
224 |
|
|
+ jumping User can 'skip' over 1-2 spaces in a selected |
225 |
|
|
direction. Distance depends on weight carried, |
226 |
|
|
Str and Dex of the user. This skill may also |
227 |
|
|
be used as an attack. |
228 |
|
|
|
229 |
|
|
+ karate User can make a "bare-handed attack". Damage |
230 |
|
|
is based on the user's Str and level. This attack |
231 |
|
|
is the fastest and (at higher levels) most deadly |
232 |
|
|
of the "hand to hand" attacks available. |
233 |
|
|
|
234 |
|
|
literacy User can ident books and scrolls that they hold. |
235 |
|
|
Since scrolls are currently always identified, |
236 |
|
|
this is not the greatest of skills. |
237 |
|
|
|
238 |
|
|
+ lockpicking User may 'pick locks' (open doors). User needs |
239 |
|
|
to have readied some 'lockpicks' to use this |
240 |
|
|
skill. |
241 |
|
|
|
242 |
|
|
meditation Player can regain mana/hp at an accelerated rate. |
243 |
|
|
Player must first strip off encumbering armour |
244 |
|
|
however. This skill is only available to the 'monk' |
245 |
|
|
character class. |
246 |
|
|
|
247 |
|
|
melee weapons User may use hand-held weapons (eg swords, |
248 |
|
|
spears, mace, etc). One day this skill could be |
249 |
|
|
made to allow the player to make special attacks |
250 |
|
|
with various weapons. (For example, a disarming |
251 |
|
|
attack with Sai). |
252 |
|
|
|
253 |
|
|
missile weapons The user is allowed to make attacks with |
254 |
|
|
ranged weapons (eg bow, crossbow). |
255 |
|
|
|
256 |
|
|
mountaineer While the skill is readied, the possessor will |
257 |
|
|
move faster through "hilly" terrain (hills, |
258 |
|
|
mountains, etc.) |
259 |
|
|
|
260 |
|
|
oratory User may 'recruit' followers. Recruitees must be |
261 |
|
|
of lower level, and unaggressive to start. Use |
262 |
|
|
of this skill may anger the audience. Also, |
263 |
|
|
'special' monsters are immune to recruitment. |
264 |
|
|
Success depends on User Cha and level. |
265 |
|
|
|
266 |
|
|
praying User is allowed to cast "cleric" spells. In addition, |
267 |
|
|
this skill may be used to accelerate the accumulation |
268 |
|
|
of grace. This skill may be either 'learned' or |
269 |
|
|
acquired through the use of a "holy symbol". |
270 |
|
|
|
271 |
|
|
+ punching User can make a "bare-handed attack". Damage |
272 |
|
|
is based on the user's Str and level. This is |
273 |
|
|
the most feeble of the hth attacks. |
274 |
|
|
|
275 |
|
|
remove_traps User may remove previously discovered traps. |
276 |
|
|
|
277 |
|
|
sense curse User may discover whether items that he holds |
278 |
|
|
are 'cursed'. Controversial skill, may go away |
279 |
|
|
in later versions. |
280 |
|
|
|
281 |
|
|
sense magic User may discover whether items that he holds |
282 |
|
|
are 'magic'. Controversial skill, may go away |
283 |
|
|
in later versions. |
284 |
|
|
|
285 |
|
|
set traps Unimplemented. |
286 |
|
|
|
287 |
|
|
singing User may pacify hostile monsters with this skill. |
288 |
|
|
Certain kinds of monsters are immune. Success |
289 |
|
|
depends on user level and Cha. |
290 |
|
|
|
291 |
|
|
smithery User may ident arms and armour that they hold. |
292 |
|
|
Right now this is a powerful skill, and I |
293 |
|
|
am considering breaking it up into 2 ident skills |
294 |
|
|
in the future. |
295 |
|
|
|
296 |
|
|
spellcasting User is allowed to cast "wizard" spells. This |
297 |
|
|
skill may be acquired either through the use |
298 |
|
|
of a talisman or learned via a skill scroll. |
299 |
|
|
|
300 |
|
|
+ stealing User can take items from the inventory of other |
301 |
|
|
monsters. |
302 |
|
|
|
303 |
|
|
thaumagragist User can ident rods, wands and horns that they |
304 |
|
|
are holding. |
305 |
|
|
|
306 |
|
|
throwing Unimplemented. |
307 |
|
|
|
308 |
|
|
use magic item User can use magic items like rods/wands/horns. Note |
309 |
|
|
that by default, you do not gain experience with this |
310 |
|
|
skill, and thus, you don't get experience for using |
311 |
|
|
rods/wands/horns to kill monsters. |
312 |
|
|
|
313 |
|
|
woodsman While the skill is readied, the possessor will |
314 |
|
|
move faster through "wooded" terrain (forest, |
315 |
|
|
grasslands, brush, jungle, etc.) |
316 |
|
|
|
317 |
|
|
writing User may rewrite spell scrolls with a previously |
318 |
|
|
known spell. Sp, time and an old scroll are |
319 |
|
|
needed. Backfire effects are possible. Only |
320 |
|
|
available as a 'writing pen'. |
321 |
|
|
|
322 |
|
|
|
323 |
|
|
|
324 |
|
|
b. how stats are related to skills/experience |
325 |
|
|
|
326 |
|
|
Table of how experience is modified by the the stats associated |
327 |
|
|
with a skill. Each skill which may 'generate' experience |
328 |
|
|
(the "associated skills") have a number of stats which are |
329 |
|
|
associated with them. Each time experience is gained by the player, |
330 |
|
|
the base value is modified according to the value of the |
331 |
|
|
player's stats associated with the skill in use. The effect |
332 |
|
|
of the modification is shown below (wherein all the associated |
333 |
|
|
stats have been taken as an average). |
334 |
|
|
|
335 |
|
|
Average of Base exp | Average of Base Exp |
336 |
|
|
assoc. stats multiplier| assoc. stats multiplier |
337 |
|
|
------------- ----------|------------- ---------- |
338 |
|
|
1 0.00 | 16 1.05 |
339 |
|
|
2 0.01 | 17 1.10 |
340 |
|
|
3 0.03 | 18 1.15 |
341 |
|
|
4 0.05 | 19 1.2 |
342 |
|
|
5 0.20 | 20 1.3 |
343 |
|
|
6 0.35 | 21 1.4 |
344 |
|
|
7 0.5 | 22 1.5 |
345 |
|
|
8 0.65 | 23 1.6 |
346 |
|
|
9 0.7 | 24 1.7 |
347 |
|
|
10 0.75 | 25 2.0 |
348 |
|
|
11 0.8 | 26 2.2 |
349 |
|
|
12 0.85 | 27 2.4 |
350 |
|
|
13 0.9 | 28 2.6 |
351 |
|
|
14 0.95 | 29 2.8 |
352 |
|
|
15 1.0 | 30 3.0 |
353 |
|
|
|
354 |
|
|
|
355 |
|
|
c. Default parameters for skills |
356 |
|
|
|
357 |
|
|
Table of stats associated w/ each skill. Miscellaneous skills |
358 |
|
|
never have any stats related to them. This is the default |
359 |
|
|
table. Your release of CF may have difference bindings between |
360 |
|
|
experience categories (ExpCat) and relevant stats may differ. |
361 |
|
|
Use the -m5 flag to investigate this for your version of CF. |
362 |
|
|
|
363 |
|
|
|
364 |
|
|
sk# Skill name ExpCat Time Base xlvl Stat1 Stat2 Stat3 |
365 |
|
|
--- ---------- ------ ---- ---- ---- ----- ----- ----- |
366 |
|
|
0- stealing agility 0 25 2.5 Dex Int --- |
367 |
|
|
1- lockpicking agility 0 10 0.5 Dex Int --- |
368 |
|
|
2- hiding agility 0 5 1.5 Dex Int --- |
369 |
|
|
3- smithery mental 5 1 0.5 Int Dex --- |
370 |
|
|
4- bowyer mental 5 1 0.5 Int Dex --- |
371 |
|
|
5- jewelry mental 5 10 1 Int Dex --- |
372 |
|
|
6- alchemy mental 5 100 1 Int Dex --- |
373 |
|
|
7- thaumaturgy mental 5 10 0.75 Int Dex --- |
374 |
|
|
8- literacy mental 5 100 1.5 Int Dex --- |
375 |
|
|
9- bargaining NONE 0 0 0 --- --- --- |
376 |
|
|
10- jumping physique 0 0 2.5 Str Dex --- |
377 |
|
|
11- sense magic magic 0 1 0 Pow Int --- |
378 |
|
|
12- oratory personality 1 1 0.5 Cha Int --- |
379 |
|
|
13- singing personality 1 1 0.5 Cha Int --- |
380 |
|
|
14- sense curse wisdom 0 1 0 Pow Wis --- |
381 |
|
|
15- find traps mental 0 3 2 Int Dex --- |
382 |
|
|
16- meditation NONE 10 0 0 --- --- --- |
383 |
|
|
17- punching physique 0 0 0 Str Dex --- |
384 |
|
|
18- flame touch physique 0 0 0 Str Dex Int |
385 |
|
|
19- karate physique 0 0 0 Str Dex --- |
386 |
|
|
20- mountaineer NONE 0 0 0 --- --- --- |
387 |
|
|
21- woodsman mental 0 1 0.5 Int Dex --- |
388 |
|
|
22- inscription magic 0 1 5 Pow Int --- |
389 |
|
|
23- melee weapons physique 0 1 0 Str Dex --- |
390 |
|
|
24- missile weapons physique 0 1 0 Str Dex --- |
391 |
|
|
25- throwing physique 0 1 0 Str Dex --- |
392 |
|
|
26- spellcasting magic 0 0 0 Pow Int --- |
393 |
|
|
27- disarm traps agility 0 10 0.5 Dex Int Str |
394 |
|
|
28- set traps mental 5 3 2 Int Dex Str |
395 |
|
|
29- use magic item NONE 0 0 0 --- --- --- |
396 |
|
|
30- praying wisdom 0 0 0 Wis Pow --- |
397 |
|
|
31- clawing physique 0 0 0 Str Dex --- |
398 |
|
|
|
399 |
|
|
|
400 |
|
|
In the above table, "skill name" refers to the name of the skill |
401 |
|
|
as used by the player, "expcat" refers to the name of the assoc- |
402 |
|
|
iated experience category, "time" is the number of 'ticks' re- |
403 |
|
|
quired to perform the skill, "base" is the base amount of exp |
404 |
|
|
given for successful use of the skill, "xlvl" is the level multi- |
405 |
|
|
plier to the amount of experience gained, and "stat1, stat2, stat3" |
406 |
|
|
are the associated stats for the skill. The values of these stats |
407 |
|
|
will be used to reference a multiplier (see preceding table) to |
408 |
|
|
the amount of gained experience. |
409 |
|
|
|
410 |
|
|
|
411 |
|
|
d. Theory of Experience Gain |
412 |
|
|
|
413 |
|
|
[excerpted from the code in skill_util.c, as if you can't tell :) ] |
414 |
|
|
|
415 |
|
|
/* calc_skill_exp() - calculates amount of experience can be gained for |
416 |
|
|
* successful use of a skill and returns value of the experience gain. |
417 |
|
|
* Here we take the view that a player must 'overcome an opponent' |
418 |
|
|
* in order to gain experience. Examples include foes killed combat, |
419 |
|
|
* finding/disarming a trap, stealing from some being, etc. |
420 |
|
|
* The gained experience is based primarily on the difference in levels, |
421 |
|
|
* exp point value of vanquished foe, the relevant stats of the skill being |
422 |
|
|
* used and modifications in the skills[] table. |
423 |
|
|
* |
424 |
|
|
* For now, monsters and players will be treated differently. Below I give |
425 |
|
|
* the algorithm for *PLAYER* experience gain. Monster exp gain is simpler. |
426 |
|
|
* Monsters just get 10% of the exp of the opponent. |
427 |
|
|
* |
428 |
|
|
* Example: the basic exp gain for player 'who' how "vanquished" opponent |
429 |
|
|
* 'op' using skill 'sk' is: |
430 |
|
|
* |
431 |
|
|
* EXP GAIN = (op->exp + skills[sk].bexp) * (1 + lvl_mult) * stat_mult |
432 |
|
|
* |
433 |
|
|
* where lvl_mult is |
434 |
|
|
* |
435 |
|
|
* for(pl->level <= op->level):: |
436 |
|
|
* lvl_mult = skills[sk].lexp * (op->level - pl->level) |
437 |
|
|
* for(pl->level > op->level):: |
438 |
|
|
* lvl_mult = (op_lvl/pl_lvl) - 1; |
439 |
|
|
* |
440 |
|
|
* and stat_mult is taken from stat_exp_mult[] table above. |
441 |
|
|
* |
442 |
|
|
* Coded by b.t. thomas@astro.psu.edu |
443 |
|
|
*/ |
444 |
|
|
|