From 70c14fa567a6c5997a0db802f1bf1363f1e7672e Mon Sep 17 00:00:00 2001 From: Lemongrass3110 Date: Sun, 6 Aug 2017 13:10:34 +0200 Subject: [PATCH] Fixed achievement handling in OnPCStatCalcEvent Fixes #2314 Thanks to @CairoLee --- src/char/int_achievement.c | 4 ++++ src/map/intif.c | 2 ++ 2 files changed, 6 insertions(+) diff --git a/src/char/int_achievement.c b/src/char/int_achievement.c index 1599dcc6b6..9eed8239c1 100644 --- a/src/char/int_achievement.c +++ b/src/char/int_achievement.c @@ -4,6 +4,7 @@ #include "../common/db.h" #include "../common/malloc.h" #include "../common/mmo.h" +#include "../common/showmsg.h" #include "../common/socket.h" #include "../common/sql.h" #include "../common/strlib.h" @@ -78,6 +79,9 @@ struct achievement *mapif_achievements_fromsql(uint32 char_id, int *count) SqlStmt_Free(stmt); StringBuf_Clear(&buf); + + ShowInfo("achievement load complete from DB - id: %d (total: %d)\n", char_id, *count); + return achievelog; } diff --git a/src/map/intif.c b/src/map/intif.c index 18ec4d1401..f0720eec14 100644 --- a/src/map/intif.c +++ b/src/map/intif.c @@ -2112,6 +2112,8 @@ void intif_parse_achievements(int fd) if (sd->achievement_data.achievements) { aFree(sd->achievement_data.achievements); sd->achievement_data.achievements = NULL; + sd->achievement_data.incompleteCount = 0; + sd->achievement_data.count = 0; } } else { struct achievement *received = (struct achievement *)RFIFOP(fd, 8);