summaryrefslogtreecommitdiff
path: root/src/map/achievement.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/map/achievement.c')
-rw-r--r--src/map/achievement.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/map/achievement.c b/src/map/achievement.c
index e6a9ae3be..0b0d9749b 100644
--- a/src/map/achievement.c
+++ b/src/map/achievement.c
@@ -194,6 +194,8 @@ static void achievement_progress_add(struct map_session_data *sd, const struct a
// Check if the Achievement is complete.
if (achievement->check_complete(sd, ad)) {
achievement->validate_achieve(sd, ad->id);
+ if ((ach = achievement->ensure(sd, ad)) == NULL)
+ return;
ach->completed_at = time(NULL);
}
@@ -232,6 +234,8 @@ static void achievement_progress_set(struct map_session_data *sd, const struct a
if (achievement->check_complete(sd, ad)) {
achievement->validate_achieve(sd, ad->id);
+ if ((ach = achievement->ensure(sd, ad)) == NULL)
+ return;
ach->completed_at = time(NULL);
}