diff options
Diffstat (limited to 'src/map/unit.c')
-rw-r--r-- | src/map/unit.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/map/unit.c b/src/map/unit.c index 848dd6dea..507bfbb07 100644 --- a/src/map/unit.c +++ b/src/map/unit.c @@ -920,6 +920,14 @@ int unit_can_move(struct block_list *bl) return 0; //Can't move if (sc) { + // Ensemble checks to prevent freezing characters + if( sc->cant.move && sc->data[SC_LONGING] && !((sc->data[SC_DANCING]->val1&0xFFFF) == CG_MOONLIT)) + { + // allow movement + sc->cant.move = 0; + return 1; + } + 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; |