From d90b9f6768e9e33efc97d769f24fe0315da683ac Mon Sep 17 00:00:00 2001 From: skotlex Date: Tue, 31 Jan 2006 18:22:14 +0000 Subject: - Fixed skill_check_cloak to use the current skill level of the cloaking skill and not pc_checkskill() to know if a cloaker away from a wall should be uncloaked. - Likely fixed opening guild storage. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5146 54d463be-8e91-2dee-dedb-b68131a5f0ec --- src/map/skill.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'src/map/skill.c') diff --git a/src/map/skill.c b/src/map/skill.c index e1f6d6715..90c6a5f69 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -10030,15 +10030,15 @@ int skill_enchant_elemental_end (struct block_list *bl, int type) int skill_check_cloaking(struct block_list *bl) { struct map_session_data *sd = NULL; + struct status_change *sc_data; static int dx[] = { 0, 1, 0, -1, -1, 1, 1, -1}; //optimized by Lupus static int dy[] = {-1, 0, 1, 0, -1, -1, 1, 1}; int end = 1,i; nullpo_retr(1, bl); - if (bl->type == BL_PC) { - nullpo_retr(1, sd = (struct map_session_data *)bl); - } + if (bl->type == BL_PC) + sd = (struct map_session_data *)bl; if ((bl->type == BL_PC && battle_config.pc_cloak_check_type&1) || (bl->type != BL_PC && battle_config.monster_cloak_check_type&1)) @@ -10053,10 +10053,10 @@ int skill_check_cloaking(struct block_list *bl) end = 0; //No wall check. if(end){ - if ((sd && pc_checkskill(sd,AS_CLOAKING)<3) || bl->type == BL_MOB) { + sc_data = status_get_sc_data(bl); + if (sc_data && sc_data[SC_CLOAKING].timer != -1 && sc_data[SC_CLOAKING].val1 < 3) { status_change_end(bl, SC_CLOAKING, -1); - } - else if (sd && sd->sc_data[SC_CLOAKING].val3 != 130) { + } else if (sd && sd->sc_data[SC_CLOAKING].val3 != 130) { status_quick_recalc_speed (sd, AS_CLOAKING, 130, 1); } } -- cgit v1.2.3-70-g09d2