Crossfire Server, Trunk  R20513
Macros | Enumerations | Variables
skills.h File Reference

Skill-related defines, including subtypes. More...

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define IS_COMBAT_SKILL(num)
 This macro is used in fix_object() to define if this is a sill that should be used to calculate wc's and the like. More...
 
#define IS_GRACE_SKILL(num)   (num == SK_PRAYING)
 Currently only one of these, but put the define here to make it easier to expand it in the future. More...
 
#define IS_MANA_SKILL(num)
 Like IS_COMBAT_SKILL above, but instead this is used to determine how many mana points the player has. More...
 
#define NUM_SKILLS   44
 This is the highest number skill in the table +1 This is used to store pointers to the actual skills - to make life easier, we use the value above as index, eg, SK_EVOCATION (35) will be in last_skills[35]. More...
 
#define SK_EXP_ADD_SKILL   0
 Give the player the skill. More...
 
#define SK_EXP_NONE   2
 Player gets nothing. More...
 
#define SK_EXP_TOTAL   1
 Give player exp to total, no skill. More...
 
#define SK_SUBTRACT_SKILL_EXP   3
 Used when removing exp. More...
 
#define USING_SKILL(op, skill)   ((op)->chosen_skill && (op)->chosen_skill->subtype == skill)
 True if op is using skill, false else. More...
 

Enumerations

enum  SK {
  SK_LOCKPICKING = 1, SK_HIDING = 2, SK_SMITHERY = 3, SK_BOWYER = 4,
  SK_JEWELER = 5, SK_ALCHEMY = 6, SK_STEALING = 7, SK_LITERACY = 8,
  SK_BARGAINING = 9, SK_JUMPING = 10, SK_DET_MAGIC = 11, SK_ORATORY = 12,
  SK_SINGING = 13, SK_DET_CURSE = 14, SK_FIND_TRAPS = 15, SK_MEDITATION = 16,
  SK_PUNCHING = 17, SK_FLAME_TOUCH = 18, SK_KARATE = 19, SK_CLIMBING = 20,
  SK_WOODSMAN = 21, SK_INSCRIPTION = 22, SK_ONE_HANDED_WEAPON = 23, SK_MISSILE_WEAPON = 24,
  SK_THROWING = 25, SK_USE_MAGIC_ITEM = 26, SK_DISARM_TRAPS = 27, SK_SET_TRAP = 28,
  SK_THAUMATURGY = 29, SK_PRAYING = 30, SK_CLAWING = 31, SK_LEVITATION = 32,
  SK_SUMMONING = 33, SK_PYROMANCY = 34, SK_EVOCATION = 35, SK_SORCERY = 36,
  SK_TWO_HANDED_WEAPON = 37, SK_WRAITH_FEED = 38, SK_HARVESTING = 39, SK_AIR_MAGIC = 40,
  SK_EARTH_MAGIC = 41, SK_WATER_MAGIC = 42, SK_FIRE_MAGIC = 43
}
 Skill subtypes. More...
 

Variables

int skill_faces [NUM_SKILLS]
 Will contain the face numbers for the skills, initialized by init_skill(). More...
 
const char * skill_names [NUM_SKILLS]
 Will contain a number-name mapping for skills, initialized by init_skills(). More...
 

Detailed Description

Skill-related defines, including subtypes.

Definition in file skills.h.

Macro Definition Documentation

#define IS_COMBAT_SKILL (   num)
Value:
((num == SK_PUNCHING) \
|| (num == SK_FLAME_TOUCH) \
|| (num == SK_KARATE) \
|| (num == SK_ONE_HANDED_WEAPON) \
|| (num == SK_MISSILE_WEAPON) \
|| (num == SK_THROWING) \
|| (num == SK_CLAWING) \
|| (num == SK_TWO_HANDED_WEAPON) \
|| (num == SK_WRAITH_FEED))
Flame-touch.
Definition: skills.h:37
Missile weapon.
Definition: skills.h:43
Wraith feed.
Definition: skills.h:57
Clawing.
Definition: skills.h:50
Throwing.
Definition: skills.h:44
One handed weapon.
Definition: skills.h:42
Punching.
Definition: skills.h:36
Karate.
Definition: skills.h:38
Two handed weapons.
Definition: skills.h:56

This macro is used in fix_object() to define if this is a sill that should be used to calculate wc's and the like.

Definition at line 92 of file skills.h.

Referenced by fix_object(), and CREMainWindow::onReportPlayer().

#define IS_GRACE_SKILL (   num)    (num == SK_PRAYING)

Currently only one of these, but put the define here to make it easier to expand it in the future.

Definition at line 121 of file skills.h.

Referenced by fix_object().

#define IS_MANA_SKILL (   num)
Value:
((num == SK_SORCERY) \
|| (num == SK_EVOCATION) \
|| (num == SK_PYROMANCY) \
|| (num == SK_SUMMONING) \
|| (num==SK_AIR_MAGIC) \
|| (num==SK_EARTH_MAGIC) \
|| (num==SK_FIRE_MAGIC) \
|| (num==SK_WATER_MAGIC))
Air magic, unused.
Definition: skills.h:59
Earth magic, unused.
Definition: skills.h:60
Fire magic, unused.
Definition: skills.h:62
Summoning.
Definition: skills.h:52
Sorcery.
Definition: skills.h:55
Water magic, unused.
Definition: skills.h:61
Evocation.
Definition: skills.h:54
Pyromancy.
Definition: skills.h:53

Like IS_COMBAT_SKILL above, but instead this is used to determine how many mana points the player has.

Definition at line 107 of file skills.h.

Referenced by fix_object().

#define NUM_SKILLS   44

This is the highest number skill in the table +1 This is used to store pointers to the actual skills - to make life easier, we use the value above as index, eg, SK_EVOCATION (35) will be in last_skills[35].

Definition at line 71 of file skills.h.

Referenced by add_player_exp(), append_spell(), caster_level(), check_spells(), esrv_update_stats(), find_skill_by_name(), find_skill_by_number(), get_player(), init_skills(), kill_object(), link_player_skills(), send_skill_info(), and show_skills().

#define USING_SKILL (   op,
  skill 
)    ((op)->chosen_skill && (op)->chosen_skill->subtype == skill)

True if op is using skill, false else.

Definition at line 86 of file skills.h.

Referenced by attack_message().

Enumeration Type Documentation

enum SK

Skill subtypes.

This list is just a subtype <-> skill (code wise) in the server translation. In theory, the processing of the different skills could be done via strncmp This list doesn't really try to identify what the skills do. The order of this list has no special meaning. 0 is not used to denote improperly set objects.

Enumerator
SK_LOCKPICKING 

Lockpicking.

SK_HIDING 

Hiding.

SK_SMITHERY 

Smithery.

SK_BOWYER 

Bowyer.

SK_JEWELER 

Jeweler.

SK_ALCHEMY 

Alchemy.

SK_STEALING 

Stealing.

SK_LITERACY 

Literacy.

SK_BARGAINING 

Bargaining.

SK_JUMPING 

Jumping.

SK_DET_MAGIC 

Detect magic.

SK_ORATORY 

Oratory.

SK_SINGING 

Singing.

SK_DET_CURSE 

Detect curse.

SK_FIND_TRAPS 

Find traps.

SK_MEDITATION 

Meditation.

SK_PUNCHING 

Punching.

SK_FLAME_TOUCH 

Flame-touch.

SK_KARATE 

Karate.

SK_CLIMBING 

Climbing.

SK_WOODSMAN 

Woodsman.

SK_INSCRIPTION 

Inscription.

SK_ONE_HANDED_WEAPON 

One handed weapon.

SK_MISSILE_WEAPON 

Missile weapon.

SK_THROWING 

Throwing.

SK_USE_MAGIC_ITEM 

Use magic item.

SK_DISARM_TRAPS 

Disarm traps.

SK_SET_TRAP 

Set traps, unused.

SK_THAUMATURGY 

Thaumaturgy.

SK_PRAYING 

Praying.

SK_CLAWING 

Clawing.

SK_LEVITATION 

Levitation.

SK_SUMMONING 

Summoning.

SK_PYROMANCY 

Pyromancy.

SK_EVOCATION 

Evocation.

SK_SORCERY 

Sorcery.

SK_TWO_HANDED_WEAPON 

Two handed weapons.

SK_WRAITH_FEED 

Wraith feed.

SK_HARVESTING 

Harvesting.

SK_AIR_MAGIC 

Air magic, unused.

SK_EARTH_MAGIC 

Earth magic, unused.

SK_WATER_MAGIC 

Water magic, unused.

SK_FIRE_MAGIC 

Fire magic, unused.

Definition at line 19 of file skills.h.

Variable Documentation

int skill_faces[NUM_SKILLS]

Will contain the face numbers for the skills, initialized by init_skill().

Definition at line 61 of file skill_util.c.

Referenced by init_skills(), and send_skill_info().

const char* skill_names[NUM_SKILLS]

Will contain a number-name mapping for skills, initialized by init_skills().

Definition at line 57 of file skill_util.c.

Referenced by append_spell(), check_spells(), command_disarm(), command_search(), command_throw(), find_skill_by_name(), init_skills(), scroll_type_apply(), and send_skill_info().