|
@@ -1287,9 +1287,12 @@ int chrif_save_scdata(struct map_session_data *sd) { //parses the sc_data of the
|
|
continue;
|
|
continue;
|
|
if (sc->data[i]->timer != INVALID_TIMER) {
|
|
if (sc->data[i]->timer != INVALID_TIMER) {
|
|
timer = get_timer(sc->data[i]->timer);
|
|
timer = get_timer(sc->data[i]->timer);
|
|
- if (timer == NULL || timer->func != status_change_timer || DIFF_TICK(timer->tick,tick) < 0)
|
|
|
|
|
|
+ if (timer == NULL || timer->func != status_change_timer)
|
|
continue;
|
|
continue;
|
|
- data.tick = DIFF_TICK(timer->tick,tick); //Duration that is left before ending.
|
|
|
|
|
|
+ if (DIFF_TICK(timer->tick,tick) > 0)
|
|
|
|
+ data.tick = DIFF_TICK(timer->tick,tick); //Duration that is left before ending.
|
|
|
|
+ else
|
|
|
|
+ data.tick = 0; //Negative tick does not necessarily mean that sc has expired
|
|
} else
|
|
} else
|
|
data.tick = -1; //Infinite duration
|
|
data.tick = -1; //Infinite duration
|
|
data.type = i;
|
|
data.type = i;
|