summaryrefslogtreecommitdiff
path: root/src/map/chrif.c
diff options
context:
space:
mode:
authorHaru <haru@dotalux.com>2019-10-18 16:53:38 +0200
committerGitHub <noreply@github.com>2019-10-18 16:53:38 +0200
commit9fb69836caaa3bc46ad1109c3aa9df8ee60cc6fe (patch)
tree26c58b5cbadfe5731ef1902b50e1c095b8321a66 /src/map/chrif.c
parent29b587ae936fc76828cb3982de8c43caaea5fe86 (diff)
parent9e5994866305ef23628020d1605fac43305c2105 (diff)
downloadhercules-9fb69836caaa3bc46ad1109c3aa9df8ee60cc6fe.tar.gz
hercules-9fb69836caaa3bc46ad1109c3aa9df8ee60cc6fe.tar.bz2
hercules-9fb69836caaa3bc46ad1109c3aa9df8ee60cc6fe.tar.xz
hercules-9fb69836caaa3bc46ad1109c3aa9df8ee60cc6fe.zip
Merge pull request #2551 from guilherme-gm/201910-fix-sc-times
Fixes status changes effect timer when relogging
Diffstat (limited to 'src/map/chrif.c')
-rw-r--r--src/map/chrif.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/map/chrif.c b/src/map/chrif.c
index a3277d4c2..ddc106d0c 100644
--- a/src/map/chrif.c
+++ b/src/map/chrif.c
@@ -1226,6 +1226,7 @@ static bool chrif_save_scdata(struct map_session_data *sd)
} else {
data.tick = INFINITE_DURATION;
}
+ data.total_tick = sc->data[i]->total_tick;
data.type = i;
data.val1 = sc->data[i]->val1;
data.val2 = sc->data[i]->val2;
@@ -1273,8 +1274,8 @@ static bool chrif_load_scdata(int fd)
for (i = 0; i < count; i++) {
const struct status_change_data *data = RFIFOP(fd,14 + i*sizeof(struct status_change_data));
- status->change_start(NULL, &sd->bl, (sc_type)data->type, 10000, data->val1, data->val2, data->val3, data->val4,
- data->tick, SCFLAG_NOAVOID|SCFLAG_FIXEDTICK|SCFLAG_LOADED|SCFLAG_FIXEDRATE);
+ status->change_start_sub(NULL, &sd->bl, (sc_type)data->type, 10000, data->val1, data->val2, data->val3, data->val4,
+ data->tick, data->total_tick, SCFLAG_NOAVOID|SCFLAG_FIXEDTICK|SCFLAG_LOADED|SCFLAG_FIXEDRATE);
}
pc->scdata_received(sd);