Chapter 5 - Skills System
5.1 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 | ||
Achemy | Mental | Int | Dex | Wis |
Bargaining | NONE | n/a | n/a | n/a |
Bowyer | Mental | Int | Dex | Wis |
Clawing | Physique | Str | Dex | n/a |
Disarm Traps | Agility | Dex | Int | Str |
Find Traps | Mental | Int | Dex | n/a |
Flame Touch | Physique | Str | Dex | Int |
Hiding | Agility | Dex | Int | n/a |
Inscription | Mental | Int | Dex | n/a |
Jeweler | Mental | Int | Wis | Dex |
Jumping | Physique | Str | Dex | n/a |
Karate | Physique | Str | Dex | n/a |
Literacy | Mental | Int | Wis | n/a |
Lockpicking | Agility | Dex | Int | n/a |
Meditation | NONE | Int | Wis | Pow |
Melee Weapons | Physique | Str | Dex | n/a |
Missile Weapons | Physique | Str | Dex | n/a |
Mountaineer | NONE | n/a | n/a | n/a |
Oratory | Personality | Cha | Int | n/a |
Praying | Wisdom | Wis | Pow | n/a |
Punching | Physique | Str | Dex | n/a |
Sense Curse | Wisdom | Pow | Wis | n/a |
Sense Magic | Magic | Pow | Int | n/a |
Set Traps | Mental | Int | Dex | Str |
Singing | Personality | Cha | Int | n/a |
Smithery | Mental | Int | Str | Dex |
Stealing | Agility | Dex | Int | n/a |
Thaumaturgy | Mental | Int | Wis | n/a |
Throwing | Physique | Str | Dex | n/a |
Use Magic Item | NONE | Pow | Int | n/a |
Wizardry | Magic | Pow | Int | n/a |
Woodsman | Mental | Int | Dex | Wis |
5.2 About experience and skills
5.2.1 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.
5.2.2 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 | Experienced Gain Multiplier |
1 | 0.01 |
2 | 0.1 |
3 | 0.3 |
4 | 0.5 |
5 | 0.6 |
6 | 0.7 |
7 | 0.8 |
8 | 0.85 |
9 | 0.9 |
10 | 0.95 |
11 | 0.96 |
12 | 0.97 |
13 | 0.98 |
14 | 0.99 |
15 | 1.0 |
16 | 1.01 |
17 | 1.02 |
18 | 1.03 |
19 | 1.04 |
20 | 1.05 |
21 | 1.07 |
22 | 1.09 |
23 | 1.12 |
24 | 1.15 |
25 | 1.2 |
26 | 1.3 |
27 | 1.4 |
28 | 1.5 |
29 | 1.7 |
30 | 2.0 |
5.2.3 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" 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:
- op is a living creature: EXP(op) is just the base experience award given in the spoiler.
- 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.
- 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.
5.3 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. |
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.
5.3.1 Inscription
How to Write Spell Scrolls (by Galahad the Paladin)
Writing spell scrolls requires three things: a known spell, a spell
scroll and inscription skill. Inscription skill comes with having a
"pen" in inventory and using the skill. One uses the inscription
skill with -
'use_skill inscription <written message here>
- where <written message here> gets replaced with the actual message to write. Example:
'use_skill inscription Log: hit level 9 summoning today!
Use this skill to write in blank books and scrolls found on adventures.
Writing spell scrolls uses the same skill but in a different manner.
- To write a new spell scroll one needs an existing spell scroll that is a lower level than one's current inscription level. The lower the scroll level the better. Spell scrolls that are marked (lvl 1) are best.
- Then one marks the scroll with one of the following:
- shift+ middle-click on the scroll you wish to over write
- The keyboard command: 'mark scroll of <spell_name>
(Be careful not to overwrite the last spell that you scribed!)
- The player readies a spell to cast ('cast detect magic)
- And then types 'use_skill inscription<cr>. Where <cr> means press the [Enter] key.
- That is it.
Caution: Magic spell writing can be risky to one's health. There can be some negative effects if one fails to write a spell scroll. The most benign is that one becomes confused for a short time. Other effects are more severe and can even be dangerous.
5.4 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.