summaryrefslogtreecommitdiff
path: root/src/map/unit.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/map/unit.c')
-rw-r--r--src/map/unit.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/map/unit.c b/src/map/unit.c
index 9ada29c7a..e14f3d388 100644
--- a/src/map/unit.c
+++ b/src/map/unit.c
@@ -668,7 +668,8 @@ int unit_can_move(struct block_list *bl)
sc->data[SC_STOP].timer != -1 ||
sc->data[SC_CLOSECONFINE].timer != -1 ||
sc->data[SC_CLOSECONFINE2].timer != -1 ||
- (sc->data[SC_CLOAKING].timer != -1 && sc->data[SC_CLOAKING].val1 < 3)
+ (sc->data[SC_CLOAKING].timer != -1 && //Need wall at level 1-2
+ sc->data[SC_CLOAKING].val1 < 3 && !(sc->data[SC_CLOAKING].val4&1))
))
return 0;
}
@@ -933,7 +934,7 @@ int unit_skilluse_id2(struct block_list *src, int target_id, int skill_num, int
ud->skilllv = skill_lv;
if(sc && sc->data[SC_CLOAKING].timer != -1 &&
- !(sc->data[SC_CLOAKING].val4&1) && skill_num != AS_CLOAKING)
+ !(sc->data[SC_CLOAKING].val4&2) && skill_num != AS_CLOAKING)
status_change_end(src,SC_CLOAKING,-1);
if(casttime > 0) {
@@ -1026,7 +1027,7 @@ int unit_skilluse_pos2( struct block_list *src, int skill_x, int skill_y, int sk
ud->skilltarget = 0;
if (sc && sc->data[SC_CLOAKING].timer != -1 &&
- !(sc->data[SC_CLOAKING].val4&1))
+ !(sc->data[SC_CLOAKING].val4&2))
status_change_end(src,SC_CLOAKING,-1);
if(casttime > 0) {