# Skills System

## Description

Under the skills system the flow of play changes dramatically. Instead of gaining experience for basically just killing monsters (and disarming traps) players will now gain a variety of experience through the use of skills. Some skills replicate old functions in the game (e.g. melee weapons skill, missile weapon skill) while others add new functionality (e.g. stealing, hiding, writing, etc). A complete list of the available skills can be found in table skill statistics. Appendix B (skills) contains descriptions for many of the skills.

Note: The skills system is enabled as the default option as of version 0.92.0

Note2: The new skills/experience system is compatible with character files from at least version 0.91.1 onward.

Skill | Experience Category | Associated Stats
--- | --- | ---
|  | Stat 1 | Stat 2 | Stat 3
alchemy | mental | Int | Dex | Wis
bargaining | NONE | --- | --- | ---
bowyer | mental | Int | Dex | Wis
clawing | physique | Str | Dex | ---
disarm traps | agility | Dex | Int | Str
find traps | mental | Int | Dex | ---
flame touch | physique | Str | Dex | Int
hiding | agility | Dex | Int | ---
inscription | mental | Int | Dex | ---
jeweler | mental | Int | Wis | Dex
jumping | physique | Str | Dex | ---
karate | physique | Str | Dex | ---
literacy | mental | Int | Wis | ---
lockpicking | agility | Dex | Int | ---
meditation | NONE | Int | Wis | Pow
melee weapons | physique | Str | Dex | ---
missile weapons | physique | Str | Dex | ---
mountaineer | NONE | --- | --- | ---
oratory | personality | Cha | Int | ---
praying | wisdom | Wis | Pow | ---
punching | physique | Str | Dex | ---
sense curse | wisdom | Pow | Wis | ---
sense magic | magic | Pow | Int | ---
set traps | mental | Int | Dex | Str
singing | personality | Cha | Int | ---
smithery | mental | Int | Str | Dex
stealing | agility | Dex | Int | ---
thaumaturgy | mental | Int | Wis | ---
throwing | physique | Str | Dex | ---
use magic item | NONE | Int | --- | ---
wizardry | magic | Pow | Int | ---
woodsman | mental | Int | Dex | Wis

Skills

## About experience and skills

### Associated and miscellaneous skills

In Crossfire two types of skills exist; The first kind, ``associated'' skills, are those skills which are associated with a category of experience. The other kind of skill, ``miscellaneous'' skills, are not related to any experience category.

The main difference between these two kinds of skills is in the result of their use. When associated skills are used successfully experience is accrued in the experience category associated with that skill. In contrast, the use of miscellaneous skills never gains the player any experience regardless of the success in using it.

Both miscellaneous and associated skills can fail. This means that the attempt to use the skill was unsuccessful. Both miscellaneous and associated skills can have certain primary stats associated with them. These associated stats can help to determine if the use of a skill is successful and to what degree it is successful.

All gained experience is modified by the associated stats for that skill (table skill statistics) and then the appropriate experience category automatically updated as needed.

### Restrictions on skills use and gaining experience

Neither a character's stats nor the character class restricts the player from gaining experience in any of the experience categories. Also, there are no inherent restrictions on character skill use-any player may use any acquired skill.

Average of associated stats | Experience gained multiplier | Average of associated stats | Experience gained multiplier
--- | --- | --- | ---
1 | 0.01 | 16 | 1.01
2 | 0.1 | 17 | 1.02
3 | 0.3 | 18 | 1.03
4 | 0.5 | 19 | 1.04
5 | 0.6 | 20 | 1.05
6 | 0.7 | 21 | 1.07
7 | 0.8 | 22 | 1.09
8 | 0.85 | 23 | 1.12
9 | 0.9 | 24 | 1.15
10 | 0.95 | 25 | 1.2
11 | 0.96 | 26 | 1.3
12 | 0.97 | 27 | 1.4
13 | 0.98 | 28 | 1.5
14 | 0.99 | 29 | 1.7
15 | 1.0 | 30 | 2.0

How stats associated with a skill modify gained experience

### Algorithm for Experience Gain under the skills system

Here we take the view that a player must 'overcome an opponent' in order to gain experience. Examples include foes killed in combat, finding/disarming a trap, stealing from some being, identifying an object, etc.

Gained experience is based primarily on the difference in levels between 'opponents', experience point value of a ``vanquished foe'', the values of the associated stats of the skill being used and two factors that are set internally Note: If you want to know more about this, check out the skills_developers.doc.)

Below the algorithm for experience gain is given where player ``pl'' that has ``vanquished'' opponent ``op'' using skill ``sk'':

EXP GAIN = (EXP(op) + EXP(sk)) * lvl_mult * stat_mult

where EXP(sk) is a constant award based on the skill used, EXP(op) is the base experience award for `op' which depends on what op is (see below), stat_mult is taken from table experience modification, and lvl_mult is:

For level(pl) < level(op)::

`lvl_mult = FACTOR(sk) * (level(op) - level(pl))`

For level(pl) = level(op)::

`lvl_mult = FACTOR(sk)`

For level(pl) > level(op)::

`lvl_mult = (level(op)/level(pl));`

where level(op) is the level of `op', level(pl) is the level of the player, and FACTOR(sk) is an internal factor based on the skill used by pl.

There are three different cases for how EXP(op) can be computed:

1. op is a living creature: EXP(op) is just the base experience award given in the spoiler .
2. op is a trap: EXP(op) = 1/(fraction of the time which the trap is visible). Thus, traps which are highly visible get lower values.
3. op is not a trap but is non-living: EXP(op) = internal experience award of the item. Also, the lvl_mult is multiplied by any `magic` enchantment on the item.

## How skills are used

`skills` | This command lists all the player's current known skills, their level of use and the associated experience category of each skill.
`ready_skill <skill>` | This command changes the player's current readied skill to `<skill>`.
`use_skill <skill> <string>` | This command changes the player's current readied skill and then executes it in the facing direction of the player. Similar in action to the `invoke` command.

Skills commands

Three player commands are related to skills use: `ready_skill`, `use_skill`, and `skills` (see table skill commands). Generally, a player will use a skill by first readying the right one, with the `ready_skill` command and then making a ranged ``attack'' to activate the skill; using most skills is just like firing a wand or a bow. In a few cases however, a skill is be used just by having it readied. For example, the `mountaineer` skill allows favorable movement though hilly terrain while it is readied.

To change to a new skill, a player can use either the `use_skill` or `ready_skill` commands, but note that the use of several common items can automatically change the player's current skill too. Examples of this include readying a bow (which will cause the code to make the player's current skill `missile_weapons`) or readying a melee weapon (current skill auto-matically becomes `melee weapons`). Also, some player actions can cause a change in the current skill. Running into a monster while you have a readied weapon in your inventory causes the code to automatically make our current skill `melee weapons`. As another example of this-casting a spell will cause the code to switch the current skill to `wizardry` or `praying` (as appropriate to the spell type).

It is not possible to use more than one skill at a time.

## Acquiring skills

Skills may be gained in two ways. In the first, new skills may learned. This is done by reading a ``skill scroll'' and the process is very similar to learning a spell. Just as in attempts to learn incantations, success in learning skills is dependent on a random test based on the learner's INT. Using your INT stat, look in the learn% column in table primary stat effects to find your % chance of learning a skill. Once you hit 100%, you will always be successfull in learning new skills.

The acquisition of a skill tool will also allow the player to use a new skill. An example of a skill tool is ``lockpicks'' (which allow the player to pick door locks). The player merely applies the skill tool in order to gain use of the new skill. If the tool is unapplied, the player loses the use of the skill associated with the tool.

After a new skill is gained (either learned or if player has an applied skill tool) it will appear on the player's skill roster (use the 'skills' command to view its status). If the new skill is an associated skill, then it will automatically be gained at the player's current level in the appropriate experience category. For example, Stilco the Wraith, who is 5th level in `agility`, buys a set of lockpicks and applies them. He may now use the skill lockpicking at 5th level of ability since that is an `agility` associated skill.

Back to table of contents
Go to chapter 4
Go to chapter 6