|
@@ -413,17 +413,21 @@ int map_moveblock(struct block_list *bl, int x1, int y1, unsigned int tick)
|
|
|
sc = status_get_sc(bl);
|
|
|
|
|
|
skill_unit_move(bl,tick,2);
|
|
|
- status_change_end(bl, SC_CLOSECONFINE, INVALID_TIMER);
|
|
|
- status_change_end(bl, SC_CLOSECONFINE2, INVALID_TIMER);
|
|
|
- status_change_end(bl, SC_TINDER_BREAKER, INVALID_TIMER);
|
|
|
- status_change_end(bl, SC_TINDER_BREAKER2, INVALID_TIMER);
|
|
|
-// status_change_end(bl, SC_BLADESTOP, INVALID_TIMER); //Won't stop when you are knocked away, go figure...
|
|
|
- status_change_end(bl, SC_TATAMIGAESHI, INVALID_TIMER);
|
|
|
- status_change_end(bl, SC_MAGICROD, INVALID_TIMER);
|
|
|
- status_change_end(bl, SC_SU_STOOP, INVALID_TIMER);
|
|
|
- if (sc->data[SC_PROPERTYWALK] &&
|
|
|
- sc->data[SC_PROPERTYWALK]->val3 >= skill_get_maxcount(sc->data[SC_PROPERTYWALK]->val1,sc->data[SC_PROPERTYWALK]->val2) )
|
|
|
- status_change_end(bl,SC_PROPERTYWALK,INVALID_TIMER);
|
|
|
+ if ( sc && sc->count ) //at least one to cancel
|
|
|
+ {
|
|
|
+ status_change_end(bl, SC_ROLLINGCUTTER, INVALID_TIMER); // If you move, you lose your counters. [malufett]
|
|
|
+ status_change_end(bl, SC_CLOSECONFINE, INVALID_TIMER);
|
|
|
+ status_change_end(bl, SC_CLOSECONFINE2, INVALID_TIMER);
|
|
|
+ status_change_end(bl, SC_TINDER_BREAKER, INVALID_TIMER);
|
|
|
+ status_change_end(bl, SC_TINDER_BREAKER2, INVALID_TIMER);
|
|
|
+ // status_change_end(bl, SC_BLADESTOP, INVALID_TIMER); //Won't stop when you are knocked away, go figure...
|
|
|
+ status_change_end(bl, SC_TATAMIGAESHI, INVALID_TIMER);
|
|
|
+ status_change_end(bl, SC_MAGICROD, INVALID_TIMER);
|
|
|
+ status_change_end(bl, SC_SU_STOOP, INVALID_TIMER);
|
|
|
+ if (sc->data[SC_PROPERTYWALK] &&
|
|
|
+ sc->data[SC_PROPERTYWALK]->val3 >= skill_get_maxcount(sc->data[SC_PROPERTYWALK]->val1,sc->data[SC_PROPERTYWALK]->val2) )
|
|
|
+ status_change_end(bl,SC_PROPERTYWALK,INVALID_TIMER);
|
|
|
+ }
|
|
|
} else
|
|
|
if (bl->type == BL_NPC)
|
|
|
npc_unsetcells((TBL_NPC*)bl);
|