summaryrefslogtreecommitdiff
path: root/src/map/chrif.c
diff options
context:
space:
mode:
authorGuilherme Menaldo <guilherme.menaldo@outlook.com>2019-10-05 18:59:25 -0300
committerGuilherme Menaldo <guilherme.menaldo@outlook.com>2019-10-06 21:54:53 -0300
commit2ce755870486262f8d147565f8df70ec608a3974 (patch)
tree77e2661d7d3141789722bf13ca3f4c5fd904531a /src/map/chrif.c
parent6766e7327eae2d37dcd719528fc1155938800fcc (diff)
downloadhercules-2ce755870486262f8d147565f8df70ec608a3974.tar.gz
hercules-2ce755870486262f8d147565f8df70ec608a3974.tar.bz2
hercules-2ce755870486262f8d147565f8df70ec608a3974.tar.xz
hercules-2ce755870486262f8d147565f8df70ec608a3974.zip
Updates status changes to also keep their total time
- This allows clients to continue the "timer" display after you login again
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);