summaryrefslogtreecommitdiff
path: root/src/map/skill.c
diff options
context:
space:
mode:
authorskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-01-31 18:22:14 +0000
committerskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-01-31 18:22:14 +0000
commitd90b9f6768e9e33efc97d769f24fe0315da683ac (patch)
tree4218fcb1a9b505bcd1f5f887dc63713a12cd28d7 /src/map/skill.c
parentc236918cc7633f8aca945f190ed44dff8c57fde1 (diff)
downloadhercules-d90b9f6768e9e33efc97d769f24fe0315da683ac.tar.gz
hercules-d90b9f6768e9e33efc97d769f24fe0315da683ac.tar.bz2
hercules-d90b9f6768e9e33efc97d769f24fe0315da683ac.tar.xz
hercules-d90b9f6768e9e33efc97d769f24fe0315da683ac.zip
- 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
Diffstat (limited to 'src/map/skill.c')
-rw-r--r--src/map/skill.c12
1 files changed, 6 insertions, 6 deletions
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);
}
}