From 3ef2cb492970da40f82df9643c4cfc570bc3aa62 Mon Sep 17 00:00:00 2001 From: Fate Date: Sat, 26 Sep 2009 18:08:42 +0000 Subject: Initial support for skill pools (available via at commands and untested scripting commands.) These changes also affect the format of the skill_db.txt file. --- src/map/skill.h | 31 ++++++++++++++++++++++--------- 1 file changed, 22 insertions(+), 9 deletions(-) (limited to 'src/map/skill.h') diff --git a/src/map/skill.h b/src/map/skill.h index faff9a9..0f7b369 100644 --- a/src/map/skill.h +++ b/src/map/skill.h @@ -50,6 +50,7 @@ int skill_get_inf( int id ); int skill_get_pl( int id ); int skill_get_nk( int id ); int skill_get_max( int id ); +int skill_get_max_raise( int id ); int skill_get_range( int id , int lv ); int skill_get_hp( int id ,int lv ); int skill_get_mhp( int id ,int lv ); @@ -373,7 +374,7 @@ enum { MC_VENDING, MC_MAMMONITE, - AC_OWL, + AC_OWL = 45, AC_VULTURE, AC_CONCENTRATION, AC_DOUBLE, @@ -383,7 +384,7 @@ enum { TF_MISS, TF_STEAL, TF_HIDING, - TF_POISON, // 52 + TF_POISON, TF_DETOXIFY, ALL_RESURRECTION, @@ -691,12 +692,19 @@ enum { TMW_SKILLPOOL = 339, // skill pool size TMW_MAGIC = 340, - TMW_MAGIC_LIFE, - TMW_MAGIC_WAR, - TMW_MAGIC_TRANSMUTE, - TMW_MAGIC_NATURE, - TMW_MAGIC_ETHER, - TMW_MAGIC_END, + TMW_MAGIC_LIFE = 341, + TMW_MAGIC_WAR = 342, + TMW_MAGIC_TRANSMUTE = 343, + TMW_MAGIC_NATURE = 344, + TMW_MAGIC_ETHER = 345, + TMW_MAGIC_DARK = 346, + TMW_MAGIC_LIGHT = 347, + + TMW_BRAWLING = 350, + TMW_LUCKY_COUNTER = 351, + TMW_SPEED = 352, + TMW_RESIST_POISON = 353, + TMW_ASTRAL_SOUL = 354, LK_AURABLADE = 355, LK_PARRYING, @@ -832,17 +840,22 @@ enum { // Max. # of skills that may be classified as pool skills in db/skill_db.txt #define MAX_POOL_SKILLS 128 +extern int skill_pool_skills[MAX_POOL_SKILLS]; // All pool skills +extern int skill_pool_skills_size; // Number of entries in skill_pool_skills + int skill_pool(struct map_session_data *sd, int *skills); // Yields all active skills in the skill pool; no more than MAX_SKILL_POOL. Return is number of skills. int skill_pool_size(struct map_session_data *sd); int skill_pool_max(struct map_session_data *sd); // Max. number of pool skills void skill_pool_empty(struct map_session_data *sd); // Deactivate all pool skills int skill_pool_activate(struct map_session_data *sd, int skill); // Skill into skill pool. Return is zero iff okay. -int skill_pool_is_activated(struct map_session_data *sd, int skill); // Skill into skill pool. Return is nonzero when activated. +int skill_pool_is_activated(struct map_session_data *sd, int skill); // Skill into skill pool. Return is zero when activated. int skill_pool_deactivate(struct map_session_data *sd, int skill); // Skill out of skill pool. Return is zero iff okay. char *skill_name(int skill); // Yield configurable skill name int skill_stat(int skill); // Yields the stat associated with a skill. Returns zero if none, or SP_STR, SP_VIT, ... otherwise int skill_power(struct map_session_data *sd, int skill); // Yields the power of a skill. This is zero if the skill is unknown or if it's a pool skill that is outside of the skill pool, // otherwise a value from 0 to 255 (with 200 being the `normal maximum') +int skill_power_bl(struct block_list *bl, int skill); // Yields the power of a skill. This is zero if the skill is unknown or if it's a pool skill that is outside of the skill pool, + // otherwise a value from 0 to 255 (with 200 being the `normal maximum') #endif -- cgit v1.2.3-60-g2f50