diff options
author | cookiecrumbs <cookiecrumbs@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2012-08-07 19:11:54 +0000 |
---|---|---|
committer | cookiecrumbs <cookiecrumbs@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2012-08-07 19:11:54 +0000 |
commit | 193477a496b615adb2894f90c608ff064a805439 (patch) | |
tree | 078431dd81d0a4bb19f26f55998d5d9e63893b39 | |
parent | b6db5047e42c24093ed908385d80fe759140e250 (diff) | |
download | hercules-193477a496b615adb2894f90c608ff064a805439.tar.gz hercules-193477a496b615adb2894f90c608ff064a805439.tar.bz2 hercules-193477a496b615adb2894f90c608ff064a805439.tar.xz hercules-193477a496b615adb2894f90c608ff064a805439.zip |
Follow up to r16479 fixed a bug where SC_CLOAKING would freeze the character on equipment switch (example: using Frilldora card on a Garment and unequipping).
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@16596 54d463be-8e91-2dee-dedb-b68131a5f0ec
-rw-r--r-- | src/map/status.c | 3 | ||||
-rw-r--r-- | src/map/unit.c | 2 |
2 files changed, 2 insertions, 3 deletions
diff --git a/src/map/status.c b/src/map/status.c index 32020004f..18b5a343b 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -986,7 +986,6 @@ void initChangeTables(void) { StatusChangeStateTable[SC_STOP] |= SCS_NOMOVE; StatusChangeStateTable[SC_CLOSECONFINE] |= SCS_NOMOVE; StatusChangeStateTable[SC_CLOSECONFINE2] |= SCS_NOMOVE; - StatusChangeStateTable[SC_CLOAKING] |= SCS_NOMOVE|SCS_NOMOVECOND; StatusChangeStateTable[SC_MADNESSCANCEL] |= SCS_NOMOVE; StatusChangeStateTable[SC_GRAVITATION] |= SCS_NOMOVE|SCS_NOMOVECOND; StatusChangeStateTable[SC_WHITEIMPRISON] |= SCS_NOMOVE; @@ -3449,8 +3448,6 @@ void status_calc_state( struct block_list *bl, struct status_change *sc, enum sc (sc->data[SC_GOSPEL] && sc->data[SC_GOSPEL]->val4 == BCT_SELF) // cannot move while gospel is in effect || (sc->data[SC_BASILICA] && sc->data[SC_BASILICA]->val4 == bl->id) // Basilica caster cannot move || (sc->data[SC_GRAVITATION] && sc->data[SC_GRAVITATION]->val3 == BCT_SELF) - || (sc->data[SC_CLOAKING] && //Need wall at level 1-2 - sc->data[SC_CLOAKING]->val1 < 3 && !(sc->data[SC_CLOAKING]->val4&1)) || (sc->data[SC_CRYSTALIZE] && bl->type != BL_MOB) || (sc->data[SC_CAMOUFLAGE] && sc->data[SC_CAMOUFLAGE]->val1 < 3 && !(sc->data[SC_CAMOUFLAGE]->val3&1)) diff --git a/src/map/unit.c b/src/map/unit.c index 339f0a988..089a5520e 100644 --- a/src/map/unit.c +++ b/src/map/unit.c @@ -925,6 +925,8 @@ int unit_can_move(struct block_list *bl) (sc->data[SC_DANCING]->val1&0xFFFF) == CG_MOONLIT || (sc->data[SC_DANCING]->val1&0xFFFF) == CG_HERMODE ) ) + || (sc->data[SC_CLOAKING] && //Need wall at level 1-2 + sc->data[SC_CLOAKING]->val1 < 3 && !(sc->data[SC_CLOAKING]->val4&1)) ) return 0; |