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.
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.
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'':
For level(pl) < level(op)::
lvl_mult = FACTOR(sk) * (level(op) - level(pl))
lvl_mult = FACTOR(sk)
lvl_mult = (level(op)/level(pl));
There are three different cases for how EXP(op) can be computed:
SkillsSkill Experience Category Associated Stats Stat 1 Stat 2 Stat 3 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.
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.
How stats associated with a skill modify gained experienceAverage of associated stats
Experience gained multiplier
Average of associated stats
Experience gained multiplier Algorithm for Experience Gain under the skills system
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:
How skills are used
Skills commandsskills 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.
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.
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.