diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/map/status.c | 4 | ||||
-rw-r--r-- | src/map/unit.c | 2 |
2 files changed, 2 insertions, 4 deletions
diff --git a/src/map/status.c b/src/map/status.c index fcbe2afd9..67387820a 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -948,7 +948,6 @@ void initChangeTables(void) { StatusChangeStateTable[SC_TRICKDEAD] |= SCS_NOMOVE; StatusChangeStateTable[SC_BLADESTOP] |= SCS_NOMOVE; StatusChangeStateTable[SC_BLADESTOP_WAIT] |= SCS_NOMOVE; - StatusChangeStateTable[SC_SPIDERWEB] |= SCS_NOMOVE|SCS_NOMOVECOND; StatusChangeStateTable[SC_DANCING] |= SCS_NOMOVE|SCS_NOMOVECOND; StatusChangeStateTable[SC_GOSPEL] |= SCS_NOMOVE|SCS_NOMOVECOND; StatusChangeStateTable[SC_BASILICA] |= SCS_NOMOVE|SCS_NOMOVECOND; @@ -3363,8 +3362,7 @@ void status_calc_state( struct block_list *bl, struct status_change *sc, enum sc if( !(flag&SCS_NOMOVECOND) ) { sc->cant.move += ( start ? 1 : -1 ); } else if( - (sc->data[SC_SPIDERWEB] && sc->data[SC_SPIDERWEB]->val1) - || (sc->data[SC_DANCING] && sc->data[SC_DANCING]->val4 && ( + (sc->data[SC_DANCING] && sc->data[SC_DANCING]->val4 && ( !sc->data[SC_LONGING] || (sc->data[SC_DANCING]->val1&0xFFFF) == CG_MOONLIT || (sc->data[SC_DANCING]->val1&0xFFFF) == CG_HERMODE diff --git a/src/map/unit.c b/src/map/unit.c index 319b2a40d..2fc70d31e 100644 --- a/src/map/unit.c +++ b/src/map/unit.c @@ -916,7 +916,7 @@ int unit_can_move(struct block_list *bl) return 0; //Can't move if (sc) { - if( sc->cant.move || (sc->data[SC_FEAR] && sc->data[SC_FEAR]->val2 > 0) ) + if( sc->cant.move || (sc->data[SC_FEAR] && sc->data[SC_FEAR]->val2 > 0) || (sc->data[SC_SPIDERWEB] && sc->data[SC_SPIDERWEB]->val1) ) return 0; if (sc->opt1 > 0 && sc->opt1 != OPT1_STONEWAIT && sc->opt1 != OPT1_BURNING && (sc->opt1 != OPT1_CRYSTALIZE && bl->type != BL_MOB)) |