From 19aa33a5f61f0996d76d19db7dbe9d81f5daa090 Mon Sep 17 00:00:00 2001 From: smokexyz Date: Sat, 30 Jun 2018 04:20:03 +0100 Subject: Implementation of the official Achievement System. Source: http://ro.gnjoy.com/news/update/View.asp?seq=163&curpage=1 Script Commands - ``` achievement_progress(,,,{,}); ``` Includes an achievement_db.conf generator that reads from the item_db, mob_db (server side) and achievement_list.lub files to determine valid achievement entries based on item/monster availability. Achievements containing unsupported entries are commented out. This feature, although renewal-only in official servers, is capable of being used in pre-renewal mode on Hercules. Does not include the title system yet. A big thanks to - @MishimaHaruna for constantly reviewing. @4144 for all the support. @Asheraf for a lot of official information. Co-authored-by: "Dastgir" --- src/map/clif.h | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/map/clif.h') diff --git a/src/map/clif.h b/src/map/clif.h index 0077566b5..7a2fbaa68 100644 --- a/src/map/clif.h +++ b/src/map/clif.h @@ -54,6 +54,7 @@ struct skill_cd; struct skill_unit; struct unit_data; struct view_data; +struct achievement_data; // map/achievement.h enum clif_messages; enum rodex_add_item; @@ -1197,6 +1198,11 @@ struct clif_interface { bool (*isdisguised) (struct block_list* bl); void (*navigate_to) (struct map_session_data *sd, const char* mapname, uint16 x, uint16 y, uint8 flag, bool hideWindow, uint16 mob_id); unsigned char (*bl_type) (struct block_list *bl); + /* Achievement System */ + void (*achievement_send_list) (int fd, struct map_session_data *sd); + void (*achievement_send_update) (int fd, struct map_session_data *sd, const struct achievement_data *ad); + void (*pAchievementGetReward) (int fd, struct map_session_data *sd); + void (*achievement_reward_ack) (int fd, struct map_session_data *sd, const struct achievement_data *ad); /*------------------------ *- Parse Incoming Packet *------------------------*/ -- cgit v1.2.3-60-g2f50