diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/map/skill.c | 5 | ||||
-rw-r--r-- | src/map/skill.h | 1 | ||||
-rw-r--r-- | src/map/unit.c | 2 |
3 files changed, 7 insertions, 1 deletions
diff --git a/src/map/skill.c b/src/map/skill.c index acef1a96d..610fc5790 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -852,6 +852,9 @@ int skillnotok (int skillid, struct map_session_data *sd) if (battle_config.gm_skilluncond && pc_isGM(sd) >= battle_config.gm_skilluncond) return 0; // gm's can do anything damn thing they want + if(sd->menuskill_id && skillid != sd->menuskill_id) + return 1; //Can't use skills while a menu is open. + // Check skill restrictions [Celest] if(!map_flag_vs(m) && skill_get_nocast (skillid) & 1) return 1; @@ -8309,7 +8312,7 @@ int skill_check_condition (struct map_session_data *sd, int skill, int lv, int t case GD_BATTLEORDER: case GD_REGENERATION: case GD_RESTORE: - //Emergency Recall is handled on skill_notok + //Emergency Recall is handled on skillnotok if (!agit_flag) { clif_skill_fail(sd,skill,0,0); return 0; diff --git a/src/map/skill.h b/src/map/skill.h index 50781bfbd..952448d74 100644 --- a/src/map/skill.h +++ b/src/map/skill.h @@ -157,6 +157,7 @@ int skill_get_splash( int id , int lv ); int skill_get_hp( int id ,int lv );
int skill_get_mhp( int id ,int lv );
int skill_get_sp( int id ,int lv );
+int skill_get_state(int id);
int skill_get_zeny( int id ,int lv );
int skill_get_num( int id ,int lv );
int skill_get_cast( int id ,int lv );
diff --git a/src/map/unit.c b/src/map/unit.c index 15571bc99..81aa1c3b9 100644 --- a/src/map/unit.c +++ b/src/map/unit.c @@ -1620,6 +1620,8 @@ int unit_remove_map(struct block_list *bl, int clrtype) { guild_reply_invite(sd,sd->guild_invite,0); if(sd->guild_alliance>0) guild_reply_reqalliance(sd,sd->guild_alliance_account,0); + if(sd->menuskill_id) + sd->menuskill_id = sd->menuskill_lv = 0; pc_delinvincibletimer(sd); |