summaryrefslogtreecommitdiff
path: root/src/map/status.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/map/status.c')
-rw-r--r--src/map/status.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/map/status.c b/src/map/status.c
index 1b12c2ae4..80d194774 100644
--- a/src/map/status.c
+++ b/src/map/status.c
@@ -8858,8 +8858,15 @@ int status_change_end_(struct block_list* bl, enum sc_type type, int tid, const
{// end status on partner as well
dsc = dsd->sc.data[SC_DANCING];
if(dsc)
- { //This will prevent recursive loops.
+ {
+ struct status_change *tsc = status_get_sc(&dsd->bl);
+
+ //This will prevent recursive loops.
dsc->val2 = dsc->val4 = 0;
+
+ // Set cant.move back to 0 to avoid character freezing.
+ tsc->cant.move = 0;
+ sc->cant.move = 0;
status_change_end(&dsd->bl, SC_DANCING, INVALID_TIMER);
}
}