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://svn.code.sf.net/p/rathena/svn/trunk@16596 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
cookiecrumbs 2012-08-07 19:11:54 +00:00
parent b2c806a597
commit 31e66bacbc
2 changed files with 2 additions and 3 deletions

View File

@ -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))

View File

@ -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;