ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/doc/skills.doc
Revision: 1.1
Committed: Fri Feb 3 07:12:02 2006 UTC (18 years, 3 months ago) by root
Content type: application/msword
Branch: MAIN
Branch point for: UPSTREAM
Log Message:
Initial revision

File Contents

# User Rev Content
1 root 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