summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/common/HPMDataCheck.h37
-rw-r--r--src/common/HPMSymbols.inc.h14
-rw-r--r--src/plugins/HPMHooking/HPMHooking.Defs.inc140
-rw-r--r--src/plugins/HPMHooking/HPMHooking_char.HPMHooksCore.inc65
-rw-r--r--src/plugins/HPMHooking/HPMHooking_char.HookingPoints.inc17
-rw-r--r--src/plugins/HPMHooking/HPMHooking_char.Hooks.inc430
-rw-r--r--src/plugins/HPMHooking/HPMHooking_char.sources.inc1
-rw-r--r--src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc209
-rw-r--r--src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc53
-rw-r--r--src/plugins/HPMHooking/HPMHooking_map.Hooks.inc1361
-rw-r--r--src/plugins/HPMHooking/HPMHooking_map.sources.inc1
11 files changed, 2328 insertions, 0 deletions
diff --git a/src/common/HPMDataCheck.h b/src/common/HPMDataCheck.h
index 2a1c092b7..7480269e5 100644
--- a/src/common/HPMDataCheck.h
+++ b/src/common/HPMDataCheck.h
@@ -101,6 +101,11 @@ HPExport const struct s_HPMDataCheck HPMDataCheck[] = {
#else
#define CHAR_INT_QUEST_H
#endif // CHAR_INT_QUEST_H
+ #ifdef CHAR_INT_RODEX_H
+ { "inter_rodex_interface", sizeof(struct inter_rodex_interface), SERVER_TYPE_CHAR },
+ #else
+ #define CHAR_INT_RODEX_H
+ #endif // CHAR_INT_RODEX_H
#ifdef CHAR_INT_STORAGE_H
{ "inter_storage_interface", sizeof(struct inter_storage_interface), SERVER_TYPE_CHAR },
#else
@@ -207,6 +212,8 @@ HPExport const struct s_HPMDataCheck HPMDataCheck[] = {
{ "party_member", sizeof(struct party_member), SERVER_TYPE_ALL },
{ "point", sizeof(struct point), SERVER_TYPE_ALL },
{ "quest", sizeof(struct quest), SERVER_TYPE_ALL },
+ { "rodex_maillist", sizeof(struct rodex_maillist), SERVER_TYPE_ALL },
+ { "rodex_message", sizeof(struct rodex_message), SERVER_TYPE_ALL },
{ "s_elemental", sizeof(struct s_elemental), SERVER_TYPE_ALL },
{ "s_friend", sizeof(struct s_friend), SERVER_TYPE_ALL },
{ "s_homunculus", sizeof(struct s_homunculus), SERVER_TYPE_ALL },
@@ -545,6 +552,31 @@ HPExport const struct s_HPMDataCheck HPMDataCheck[] = {
{ "EQUIPSLOTINFO", sizeof(struct EQUIPSLOTINFO), SERVER_TYPE_MAP },
{ "ItemOptions", sizeof(struct ItemOptions), SERVER_TYPE_MAP },
{ "NORMALITEM_INFO", sizeof(struct NORMALITEM_INFO), SERVER_TYPE_MAP },
+ { "PACKET_CZ_ADD_ITEM_TO_MAIL", sizeof(struct PACKET_CZ_ADD_ITEM_TO_MAIL), SERVER_TYPE_MAP },
+ { "PACKET_CZ_CHECKNAME", sizeof(struct PACKET_CZ_CHECKNAME), SERVER_TYPE_MAP },
+ { "PACKET_CZ_REQ_DELETE_MAIL", sizeof(struct PACKET_CZ_REQ_DELETE_MAIL), SERVER_TYPE_MAP },
+ { "PACKET_CZ_REQ_ITEM_FROM_MAIL", sizeof(struct PACKET_CZ_REQ_ITEM_FROM_MAIL), SERVER_TYPE_MAP },
+ { "PACKET_CZ_REQ_NEXT_MAIL_LIST", sizeof(struct PACKET_CZ_REQ_NEXT_MAIL_LIST), SERVER_TYPE_MAP },
+ { "PACKET_CZ_REQ_OPEN_MAIL", sizeof(struct PACKET_CZ_REQ_OPEN_MAIL), SERVER_TYPE_MAP },
+ { "PACKET_CZ_REQ_OPEN_WRITE_MAIL", sizeof(struct PACKET_CZ_REQ_OPEN_WRITE_MAIL), SERVER_TYPE_MAP },
+ { "PACKET_CZ_REQ_READ_MAIL", sizeof(struct PACKET_CZ_REQ_READ_MAIL), SERVER_TYPE_MAP },
+ { "PACKET_CZ_REQ_REFRESH_MAIL_LIST", sizeof(struct PACKET_CZ_REQ_REFRESH_MAIL_LIST), SERVER_TYPE_MAP },
+ { "PACKET_CZ_REQ_REMOVE_ITEM_MAIL", sizeof(struct PACKET_CZ_REQ_REMOVE_ITEM_MAIL), SERVER_TYPE_MAP },
+ { "PACKET_CZ_REQ_ZENY_FROM_MAIL", sizeof(struct PACKET_CZ_REQ_ZENY_FROM_MAIL), SERVER_TYPE_MAP },
+ { "PACKET_CZ_SEND_MAIL", sizeof(struct PACKET_CZ_SEND_MAIL), SERVER_TYPE_MAP },
+ { "PACKET_ZC_ACK_DELETE_MAIL", sizeof(struct PACKET_ZC_ACK_DELETE_MAIL), SERVER_TYPE_MAP },
+ { "PACKET_ZC_ACK_ITEM_FROM_MAIL", sizeof(struct PACKET_ZC_ACK_ITEM_FROM_MAIL), SERVER_TYPE_MAP },
+ { "PACKET_ZC_ACK_OPEN_WRITE_MAIL", sizeof(struct PACKET_ZC_ACK_OPEN_WRITE_MAIL), SERVER_TYPE_MAP },
+ { "PACKET_ZC_ACK_REMOVE_ITEM_MAIL", sizeof(struct PACKET_ZC_ACK_REMOVE_ITEM_MAIL), SERVER_TYPE_MAP },
+ { "PACKET_ZC_ACK_ZENY_FROM_MAIL", sizeof(struct PACKET_ZC_ACK_ZENY_FROM_MAIL), SERVER_TYPE_MAP },
+ { "PACKET_ZC_ADD_ITEM_TO_MAIL", sizeof(struct PACKET_ZC_ADD_ITEM_TO_MAIL), SERVER_TYPE_MAP },
+ { "PACKET_ZC_CHECKNAME", sizeof(struct PACKET_ZC_CHECKNAME), SERVER_TYPE_MAP },
+ { "PACKET_ZC_MAIL_LIST", sizeof(struct PACKET_ZC_MAIL_LIST), SERVER_TYPE_MAP },
+ { "PACKET_ZC_NOTIFY_UNREADMAIL", sizeof(struct PACKET_ZC_NOTIFY_UNREADMAIL), SERVER_TYPE_MAP },
+ { "PACKET_ZC_READ_MAIL", sizeof(struct PACKET_ZC_READ_MAIL), SERVER_TYPE_MAP },
+ { "PACKET_ZC_WRITE_MAIL_RESULT", sizeof(struct PACKET_ZC_WRITE_MAIL_RESULT), SERVER_TYPE_MAP },
+ { "mail_item", sizeof(struct mail_item), SERVER_TYPE_MAP },
+ { "maillistinfo", sizeof(struct maillistinfo), SERVER_TYPE_MAP },
{ "packet_additem", sizeof(struct packet_additem), SERVER_TYPE_MAP },
{ "packet_authok", sizeof(struct packet_authok), SERVER_TYPE_MAP },
{ "packet_banking_check", sizeof(struct packet_banking_check), SERVER_TYPE_MAP },
@@ -672,6 +704,11 @@ HPExport const struct s_HPMDataCheck HPMDataCheck[] = {
#else
#define MAP_QUEST_H
#endif // MAP_QUEST_H
+ #ifdef MAP_RODEX_H
+ { "rodex_interface", sizeof(struct rodex_interface), SERVER_TYPE_MAP },
+ #else
+ #define MAP_RODEX_H
+ #endif // MAP_RODEX_H
#ifdef MAP_SCRIPT_H
{ "Script_Config", sizeof(struct Script_Config), SERVER_TYPE_MAP },
{ "casecheck_data", sizeof(struct casecheck_data), SERVER_TYPE_MAP },
diff --git a/src/common/HPMSymbols.inc.h b/src/common/HPMSymbols.inc.h
index 30ec45405..5ee8a014b 100644
--- a/src/common/HPMSymbols.inc.h
+++ b/src/common/HPMSymbols.inc.h
@@ -125,6 +125,9 @@ struct inter_pet_interface *inter_pet;
#ifdef CHAR_INT_QUEST_H /* inter_quest */
struct inter_quest_interface *inter_quest;
#endif // CHAR_INT_QUEST_H
+#ifdef CHAR_INT_RODEX_H /* inter_rodex */
+struct inter_rodex_interface *inter_rodex;
+#endif // CHAR_INT_RODEX_H
#ifdef CHAR_INT_STORAGE_H /* inter_storage */
struct inter_storage_interface *inter_storage;
#endif // CHAR_INT_STORAGE_H
@@ -218,6 +221,9 @@ struct quest_interface *quest;
#ifdef COMMON_RANDOM_H /* rnd */
struct rnd_interface *rnd;
#endif // COMMON_RANDOM_H
+#ifdef MAP_RODEX_H /* rodex */
+struct rodex_interface *rodex;
+#endif // MAP_RODEX_H
#ifdef MAP_SCRIPT_H /* script */
struct script_interface *script;
#endif // MAP_SCRIPT_H
@@ -405,6 +411,10 @@ HPExport const char *HPM_shared_symbols(int server_type)
if ((server_type&(SERVER_TYPE_CHAR)) != 0 && !HPM_SYMBOL("inter_quest", inter_quest))
return "inter_quest";
#endif // CHAR_INT_QUEST_H
+#ifdef CHAR_INT_RODEX_H /* inter_rodex */
+ if ((server_type&(SERVER_TYPE_CHAR)) != 0 && !HPM_SYMBOL("inter_rodex", inter_rodex))
+ return "inter_rodex";
+#endif // CHAR_INT_RODEX_H
#ifdef CHAR_INT_STORAGE_H /* inter_storage */
if ((server_type&(SERVER_TYPE_CHAR)) != 0 && !HPM_SYMBOL("inter_storage", inter_storage))
return "inter_storage";
@@ -529,6 +539,10 @@ HPExport const char *HPM_shared_symbols(int server_type)
if ((server_type&(SERVER_TYPE_ALL)) != 0 && !HPM_SYMBOL("rnd", rnd))
return "rnd";
#endif // COMMON_RANDOM_H
+#ifdef MAP_RODEX_H /* rodex */
+ if ((server_type&(SERVER_TYPE_MAP)) != 0 && !HPM_SYMBOL("rodex", rodex))
+ return "rodex";
+#endif // MAP_RODEX_H
#ifdef MAP_SCRIPT_H /* script */
if ((server_type&(SERVER_TYPE_MAP)) != 0 && !HPM_SYMBOL("script", script))
return "script";
diff --git a/src/plugins/HPMHooking/HPMHooking.Defs.inc b/src/plugins/HPMHooking/HPMHooking.Defs.inc
index 25e40ec0c..b5ae9b0db 100644
--- a/src/plugins/HPMHooking/HPMHooking.Defs.inc
+++ b/src/plugins/HPMHooking/HPMHooking.Defs.inc
@@ -2240,6 +2240,58 @@ typedef void (*HPMHOOK_pre_clif_pSelectCart) (int *fd, struct map_session_data *
typedef void (*HPMHOOK_post_clif_pSelectCart) (int fd, struct map_session_data *sd);
typedef const char* (*HPMHOOK_pre_clif_get_bl_name) (const struct block_list **bl);
typedef const char* (*HPMHOOK_post_clif_get_bl_name) (const char* retVal___, const struct block_list *bl);
+typedef void (*HPMHOOK_pre_clif_pRodexOpenWriteMail) (int *fd, struct map_session_data **sd);
+typedef void (*HPMHOOK_post_clif_pRodexOpenWriteMail) (int fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_rodex_open_write_mail) (int *fd, const char **receiver_name, int8 *result);
+typedef void (*HPMHOOK_post_clif_rodex_open_write_mail) (int fd, const char *receiver_name, int8 result);
+typedef void (*HPMHOOK_pre_clif_pRodexAddItem) (int *fd, struct map_session_data **sd);
+typedef void (*HPMHOOK_post_clif_pRodexAddItem) (int fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_rodex_add_item_result) (struct map_session_data **sd, int16 *idx, int16 *amount, int8 *result);
+typedef void (*HPMHOOK_post_clif_rodex_add_item_result) (struct map_session_data *sd, int16 idx, int16 amount, int8 result);
+typedef void (*HPMHOOK_pre_clif_pRodexRemoveItem) (int *fd, struct map_session_data **sd);
+typedef void (*HPMHOOK_post_clif_pRodexRemoveItem) (int fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_rodex_remove_item_result) (struct map_session_data **sd, int16 *idx, int16 *amount);
+typedef void (*HPMHOOK_post_clif_rodex_remove_item_result) (struct map_session_data *sd, int16 idx, int16 amount);
+typedef void (*HPMHOOK_pre_clif_pRodexSendMail) (int *fd, struct map_session_data **sd);
+typedef void (*HPMHOOK_post_clif_pRodexSendMail) (int fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_rodex_send_mail_result) (int *fd, struct map_session_data **sd, int8 *result);
+typedef void (*HPMHOOK_post_clif_rodex_send_mail_result) (int fd, struct map_session_data *sd, int8 result);
+typedef void (*HPMHOOK_pre_clif_rodex_send_maillist) (int *fd, struct map_session_data **sd, int8 *open_type, int64 *page_start);
+typedef void (*HPMHOOK_post_clif_rodex_send_maillist) (int fd, struct map_session_data *sd, int8 open_type, int64 page_start);
+typedef void (*HPMHOOK_pre_clif_rodex_send_refresh) (int *fd, struct map_session_data **sd, int8 *open_type, int *count);
+typedef void (*HPMHOOK_post_clif_rodex_send_refresh) (int fd, struct map_session_data *sd, int8 open_type, int count);
+typedef void (*HPMHOOK_pre_clif_pRodexReadMail) (int *fd, struct map_session_data **sd);
+typedef void (*HPMHOOK_post_clif_pRodexReadMail) (int fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_rodex_read_mail) (struct map_session_data **sd, int8 *opentype, struct rodex_message **msg);
+typedef void (*HPMHOOK_post_clif_rodex_read_mail) (struct map_session_data *sd, int8 opentype, struct rodex_message *msg);
+typedef void (*HPMHOOK_pre_clif_pRodexNextMaillist) (int *fd, struct map_session_data **sd);
+typedef void (*HPMHOOK_post_clif_pRodexNextMaillist) (int fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pRodexCloseMailbox) (int *fd, struct map_session_data **sd);
+typedef void (*HPMHOOK_post_clif_pRodexCloseMailbox) (int fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pRodexCancelWriteMail) (int *fd, struct map_session_data **sd);
+typedef void (*HPMHOOK_post_clif_pRodexCancelWriteMail) (int fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pRodexOpenMailbox) (int *fd, struct map_session_data **sd);
+typedef void (*HPMHOOK_post_clif_pRodexOpenMailbox) (int fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pRodexCheckName) (int *fd, struct map_session_data **sd);
+typedef void (*HPMHOOK_post_clif_pRodexCheckName) (int fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_rodex_checkname_result) (struct map_session_data **sd, int *char_id, short *class_, int *base_level, const char **name);
+typedef void (*HPMHOOK_post_clif_rodex_checkname_result) (struct map_session_data *sd, int char_id, short class_, int base_level, const char *name);
+typedef void (*HPMHOOK_pre_clif_pRodexDeleteMail) (int *fd, struct map_session_data **sd);
+typedef void (*HPMHOOK_post_clif_pRodexDeleteMail) (int fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_rodex_delete_mail) (struct map_session_data **sd, int8 *opentype, int64 *mail_id);
+typedef void (*HPMHOOK_post_clif_rodex_delete_mail) (struct map_session_data *sd, int8 opentype, int64 mail_id);
+typedef void (*HPMHOOK_pre_clif_pRodexRefreshMaillist) (int *fd, struct map_session_data **sd);
+typedef void (*HPMHOOK_post_clif_pRodexRefreshMaillist) (int fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pRodexRequestZeny) (int *fd, struct map_session_data **sd);
+typedef void (*HPMHOOK_post_clif_pRodexRequestZeny) (int fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_rodex_request_zeny) (struct map_session_data **sd, int8 *opentype, int64 *mail_id, int8 *result);
+typedef void (*HPMHOOK_post_clif_rodex_request_zeny) (struct map_session_data *sd, int8 opentype, int64 mail_id, int8 result);
+typedef void (*HPMHOOK_pre_clif_pRodexRequestItems) (int *fd, struct map_session_data **sd);
+typedef void (*HPMHOOK_post_clif_pRodexRequestItems) (int fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_rodex_request_items) (struct map_session_data **sd, int8 *opentype, int64 *mail_id, int8 *result);
+typedef void (*HPMHOOK_post_clif_rodex_request_items) (struct map_session_data *sd, int8 opentype, int64 mail_id, int8 result);
+typedef void (*HPMHOOK_pre_clif_rodex_icon) (int *fd, bool *show);
+typedef void (*HPMHOOK_post_clif_rodex_icon) (int fd, bool show);
#endif // MAP_CLIF_H
#ifdef COMMON_CORE_H /* cmdline */
typedef void (*HPMHOOK_pre_cmdline_init) (void);
@@ -2965,6 +3017,22 @@ typedef int (*HPMHOOK_post_inter_pet_parse_frommap) (int retVal___, int fd);
typedef int (*HPMHOOK_pre_inter_quest_parse_frommap) (int *fd);
typedef int (*HPMHOOK_post_inter_quest_parse_frommap) (int retVal___, int fd);
#endif // CHAR_INT_QUEST_H
+#ifdef CHAR_INT_RODEX_H /* inter_rodex */
+typedef int (*HPMHOOK_pre_inter_rodex_sql_init) (void);
+typedef int (*HPMHOOK_post_inter_rodex_sql_init) (int retVal___);
+typedef void (*HPMHOOK_pre_inter_rodex_sql_final) (void);
+typedef void (*HPMHOOK_post_inter_rodex_sql_final) (void);
+typedef int (*HPMHOOK_pre_inter_rodex_parse_frommap) (int *fd);
+typedef int (*HPMHOOK_post_inter_rodex_parse_frommap) (int retVal___, int fd);
+typedef int (*HPMHOOK_pre_inter_rodex_fromsql) (int *char_id, int *account_id, int8 *opentype, int64 *mail_id, struct rodex_maillist **mails);
+typedef int (*HPMHOOK_post_inter_rodex_fromsql) (int retVal___, int char_id, int account_id, int8 opentype, int64 mail_id, struct rodex_maillist *mails);
+typedef bool (*HPMHOOK_pre_inter_rodex_hasnew) (int *char_id, int *account_id);
+typedef bool (*HPMHOOK_post_inter_rodex_hasnew) (bool retVal___, int char_id, int account_id);
+typedef bool (*HPMHOOK_pre_inter_rodex_checkname) (const char **name, int **target_char_id, short **target_class, int **target_level);
+typedef bool (*HPMHOOK_post_inter_rodex_checkname) (bool retVal___, const char *name, int *target_char_id, short *target_class, int *target_level);
+typedef int64 (*HPMHOOK_pre_inter_rodex_savemessage) (struct rodex_message **msg);
+typedef int64 (*HPMHOOK_post_inter_rodex_savemessage) (int64 retVal___, struct rodex_message *msg);
+#endif // CHAR_INT_RODEX_H
#ifdef CHAR_INT_STORAGE_H /* inter_storage */
typedef int (*HPMHOOK_pre_inter_storage_tosql) (int *account_id, const struct storage_data **p);
typedef int (*HPMHOOK_post_inter_storage_tosql) (int retVal___, int account_id, const struct storage_data *p);
@@ -3124,6 +3192,16 @@ typedef int (*HPMHOOK_pre_intif_elemental_delete) (int *ele_id);
typedef int (*HPMHOOK_post_intif_elemental_delete) (int retVal___, int ele_id);
typedef int (*HPMHOOK_pre_intif_elemental_save) (struct s_elemental **ele);
typedef int (*HPMHOOK_post_intif_elemental_save) (int retVal___, struct s_elemental *ele);
+typedef int (*HPMHOOK_pre_intif_rodex_requestinbox) (int *char_id, int *account_id, int8 *flag, int8 *opentype, int64 *mail_id);
+typedef int (*HPMHOOK_post_intif_rodex_requestinbox) (int retVal___, int char_id, int account_id, int8 flag, int8 opentype, int64 mail_id);
+typedef int (*HPMHOOK_pre_intif_rodex_checkhasnew) (struct map_session_data **sd);
+typedef int (*HPMHOOK_post_intif_rodex_checkhasnew) (int retVal___, struct map_session_data *sd);
+typedef int (*HPMHOOK_pre_intif_rodex_updatemail) (int64 *mail_id, int8 *flag);
+typedef int (*HPMHOOK_post_intif_rodex_updatemail) (int retVal___, int64 mail_id, int8 flag);
+typedef int (*HPMHOOK_pre_intif_rodex_sendmail) (struct rodex_message **msg);
+typedef int (*HPMHOOK_post_intif_rodex_sendmail) (int retVal___, struct rodex_message *msg);
+typedef int (*HPMHOOK_pre_intif_rodex_checkname) (struct map_session_data **sd, const char **name);
+typedef int (*HPMHOOK_post_intif_rodex_checkname) (int retVal___, struct map_session_data *sd, const char *name);
typedef void (*HPMHOOK_pre_intif_request_accinfo) (int *u_fd, int *aid, int *group_lv, char **query);
typedef void (*HPMHOOK_post_intif_request_accinfo) (int u_fd, int aid, int group_lv, char *query);
typedef int (*HPMHOOK_pre_intif_CheckForCharServer) (void);
@@ -3256,6 +3334,14 @@ typedef void (*HPMHOOK_pre_intif_pSaveHomunculusOk) (int *fd);
typedef void (*HPMHOOK_post_intif_pSaveHomunculusOk) (int fd);
typedef void (*HPMHOOK_pre_intif_pDeleteHomunculusOk) (int *fd);
typedef void (*HPMHOOK_post_intif_pDeleteHomunculusOk) (int fd);
+typedef void (*HPMHOOK_pre_intif_pRequestRodexOpenInbox) (int *fd);
+typedef void (*HPMHOOK_post_intif_pRequestRodexOpenInbox) (int fd);
+typedef void (*HPMHOOK_pre_intif_pRodexHasNew) (int *fd);
+typedef void (*HPMHOOK_post_intif_pRodexHasNew) (int fd);
+typedef void (*HPMHOOK_pre_intif_pRodexSendMail) (int *fd);
+typedef void (*HPMHOOK_post_intif_pRodexSendMail) (int fd);
+typedef void (*HPMHOOK_pre_intif_pRodexCheckName) (int *fd);
+typedef void (*HPMHOOK_post_intif_pRodexCheckName) (int fd);
#endif // MAP_INTIF_H
#ifdef MAP_IRC_BOT_H /* ircbot */
typedef void (*HPMHOOK_pre_ircbot_init) (bool *minimal);
@@ -4370,6 +4456,24 @@ typedef void (*HPMHOOK_pre_mapif_send_quests) (int *fd, int *char_id, struct que
typedef void (*HPMHOOK_post_mapif_send_quests) (int fd, int char_id, struct quest *tmp_questlog, int num_quests);
typedef int (*HPMHOOK_pre_mapif_parse_quest_load) (int *fd);
typedef int (*HPMHOOK_post_mapif_parse_quest_load) (int retVal___, int fd);
+typedef int (*HPMHOOK_pre_mapif_parse_rodex_requestinbox) (int *fd);
+typedef int (*HPMHOOK_post_mapif_parse_rodex_requestinbox) (int retVal___, int fd);
+typedef void (*HPMHOOK_pre_mapif_rodex_sendinbox) (int *fd, int *char_id, int8 *opentype, int8 *flag, int *count, struct rodex_maillist **mails);
+typedef void (*HPMHOOK_post_mapif_rodex_sendinbox) (int fd, int char_id, int8 opentype, int8 flag, int count, struct rodex_maillist *mails);
+typedef int (*HPMHOOK_pre_mapif_parse_rodex_checkhasnew) (int *fd);
+typedef int (*HPMHOOK_post_mapif_parse_rodex_checkhasnew) (int retVal___, int fd);
+typedef void (*HPMHOOK_pre_mapif_rodex_sendhasnew) (int *fd, int *char_id, bool *has_new);
+typedef void (*HPMHOOK_post_mapif_rodex_sendhasnew) (int fd, int char_id, bool has_new);
+typedef int (*HPMHOOK_pre_mapif_parse_rodex_updatemail) (int *fd);
+typedef int (*HPMHOOK_post_mapif_parse_rodex_updatemail) (int retVal___, int fd);
+typedef int (*HPMHOOK_pre_mapif_parse_rodex_send) (int *fd);
+typedef int (*HPMHOOK_post_mapif_parse_rodex_send) (int retVal___, int fd);
+typedef void (*HPMHOOK_pre_mapif_rodex_send) (int *fd, int *sender_id, int *receiver_id, int *receiver_accountid, bool *result);
+typedef void (*HPMHOOK_post_mapif_rodex_send) (int fd, int sender_id, int receiver_id, int receiver_accountid, bool result);
+typedef int (*HPMHOOK_pre_mapif_parse_rodex_checkname) (int *fd);
+typedef int (*HPMHOOK_post_mapif_parse_rodex_checkname) (int retVal___, int fd);
+typedef void (*HPMHOOK_pre_mapif_rodex_checkname) (int *fd, int *reqchar_id, int *target_char_id, short *target_class, int *target_level, );
+typedef void (*HPMHOOK_post_mapif_rodex_checkname) (int fd, int reqchar_id, int target_char_id, short target_class, int target_level, );
typedef int (*HPMHOOK_pre_mapif_load_guild_storage) (int *fd, int *account_id, int *guild_id, char *flag);
typedef int (*HPMHOOK_post_mapif_load_guild_storage) (int retVal___, int fd, int account_id, int guild_id, char flag);
typedef int (*HPMHOOK_pre_mapif_save_guild_storage_ack) (int *fd, int *account_id, int *guild_id, int *fail);
@@ -5779,6 +5883,42 @@ typedef double (*HPMHOOK_post_rnd_uniform) (double retVal___);
typedef double (*HPMHOOK_pre_rnd_uniform53) (void);
typedef double (*HPMHOOK_post_rnd_uniform53) (double retVal___);
#endif // COMMON_RANDOM_H
+#ifdef MAP_RODEX_H /* rodex */
+typedef void (*HPMHOOK_pre_rodex_init) (bool *minimal);
+typedef void (*HPMHOOK_post_rodex_init) (bool minimal);
+typedef void (*HPMHOOK_pre_rodex_final) (void);
+typedef void (*HPMHOOK_post_rodex_final) (void);
+typedef bool (*HPMHOOK_pre_rodex_isenabled) (void);
+typedef bool (*HPMHOOK_post_rodex_isenabled) (bool retVal___);
+typedef void (*HPMHOOK_pre_rodex_open) (struct map_session_data **sd, int8 *open_type);
+typedef void (*HPMHOOK_post_rodex_open) (struct map_session_data *sd, int8 open_type);
+typedef void (*HPMHOOK_pre_rodex_next_page) (struct map_session_data **sd, int8 *open_type, int64 *last_mail_id);
+typedef void (*HPMHOOK_post_rodex_next_page) (struct map_session_data *sd, int8 open_type, int64 last_mail_id);
+typedef void (*HPMHOOK_pre_rodex_refresh) (struct map_session_data **sd, int8 *open_type, int64 *first_mail_id);
+typedef void (*HPMHOOK_post_rodex_refresh) (struct map_session_data *sd, int8 open_type, int64 first_mail_id);
+typedef void (*HPMHOOK_pre_rodex_add_item) (struct map_session_data **sd, int16 *idx, int16 *amount);
+typedef void (*HPMHOOK_post_rodex_add_item) (struct map_session_data *sd, int16 idx, int16 amount);
+typedef void (*HPMHOOK_pre_rodex_remove_item) (struct map_session_data **sd, int16 *idx, int16 *amount);
+typedef void (*HPMHOOK_post_rodex_remove_item) (struct map_session_data *sd, int16 idx, int16 amount);
+typedef void (*HPMHOOK_pre_rodex_check_player) (struct map_session_data **sd, const char **name, int **base_level, int **char_id, short **class);
+typedef void (*HPMHOOK_post_rodex_check_player) (struct map_session_data *sd, const char *name, int *base_level, int *char_id, short *class);
+typedef int (*HPMHOOK_pre_rodex_send_mail) (struct map_session_data **sd, const char **receiver_name, const char **body, const char **title, int64 *zeny);
+typedef int (*HPMHOOK_post_rodex_send_mail) (int retVal___, struct map_session_data *sd, const char *receiver_name, const char *body, const char *title, int64 zeny);
+typedef void (*HPMHOOK_pre_rodex_send_mail_result) (struct map_session_data **ssd, struct map_session_data **rsd, bool *result);
+typedef void (*HPMHOOK_post_rodex_send_mail_result) (struct map_session_data *ssd, struct map_session_data *rsd, bool result);
+typedef struct rodex_message* (*HPMHOOK_pre_rodex_get_mail) (struct map_session_data **sd, int64 *mail_id);
+typedef struct rodex_message* (*HPMHOOK_post_rodex_get_mail) (struct rodex_message* retVal___, struct map_session_data *sd, int64 mail_id);
+typedef void (*HPMHOOK_pre_rodex_read_mail) (struct map_session_data **sd, int64 *mail_id);
+typedef void (*HPMHOOK_post_rodex_read_mail) (struct map_session_data *sd, int64 mail_id);
+typedef void (*HPMHOOK_pre_rodex_get_zeny) (struct map_session_data **sd, int8 *opentype, int64 *mail_id);
+typedef void (*HPMHOOK_post_rodex_get_zeny) (struct map_session_data *sd, int8 opentype, int64 mail_id);
+typedef void (*HPMHOOK_pre_rodex_get_items) (struct map_session_data **sd, int8 *opentype, int64 *mail_id);
+typedef void (*HPMHOOK_post_rodex_get_items) (struct map_session_data *sd, int8 opentype, int64 mail_id);
+typedef void (*HPMHOOK_pre_rodex_delete_mail) (struct map_session_data **sd, int64 *mail_id);
+typedef void (*HPMHOOK_post_rodex_delete_mail) (struct map_session_data *sd, int64 mail_id);
+typedef void (*HPMHOOK_pre_rodex_clean) (struct map_session_data **sd, int8 *flag);
+typedef void (*HPMHOOK_post_rodex_clean) (struct map_session_data *sd, int8 flag);
+#endif // MAP_RODEX_H
#ifdef MAP_SCRIPT_H /* script */
typedef void (*HPMHOOK_pre_script_init) (bool *minimal);
typedef void (*HPMHOOK_post_script_init) (bool minimal);
diff --git a/src/plugins/HPMHooking/HPMHooking_char.HPMHooksCore.inc b/src/plugins/HPMHooking/HPMHooking_char.HPMHooksCore.inc
index 46c79c47a..3eeb7fd91 100644
--- a/src/plugins/HPMHooking/HPMHooking_char.HPMHooksCore.inc
+++ b/src/plugins/HPMHooking/HPMHooking_char.HPMHooksCore.inc
@@ -626,6 +626,20 @@ struct {
struct HPMHookPoint *HP_inter_pet_parse_frommap_post;
struct HPMHookPoint *HP_inter_quest_parse_frommap_pre;
struct HPMHookPoint *HP_inter_quest_parse_frommap_post;
+ struct HPMHookPoint *HP_inter_rodex_sql_init_pre;
+ struct HPMHookPoint *HP_inter_rodex_sql_init_post;
+ struct HPMHookPoint *HP_inter_rodex_sql_final_pre;
+ struct HPMHookPoint *HP_inter_rodex_sql_final_post;
+ struct HPMHookPoint *HP_inter_rodex_parse_frommap_pre;
+ struct HPMHookPoint *HP_inter_rodex_parse_frommap_post;
+ struct HPMHookPoint *HP_inter_rodex_fromsql_pre;
+ struct HPMHookPoint *HP_inter_rodex_fromsql_post;
+ struct HPMHookPoint *HP_inter_rodex_hasnew_pre;
+ struct HPMHookPoint *HP_inter_rodex_hasnew_post;
+ struct HPMHookPoint *HP_inter_rodex_checkname_pre;
+ struct HPMHookPoint *HP_inter_rodex_checkname_post;
+ struct HPMHookPoint *HP_inter_rodex_savemessage_pre;
+ struct HPMHookPoint *HP_inter_rodex_savemessage_post;
struct HPMHookPoint *HP_inter_storage_tosql_pre;
struct HPMHookPoint *HP_inter_storage_tosql_post;
struct HPMHookPoint *HP_inter_storage_fromsql_pre;
@@ -1098,6 +1112,24 @@ struct {
struct HPMHookPoint *HP_mapif_send_quests_post;
struct HPMHookPoint *HP_mapif_parse_quest_load_pre;
struct HPMHookPoint *HP_mapif_parse_quest_load_post;
+ struct HPMHookPoint *HP_mapif_parse_rodex_requestinbox_pre;
+ struct HPMHookPoint *HP_mapif_parse_rodex_requestinbox_post;
+ struct HPMHookPoint *HP_mapif_rodex_sendinbox_pre;
+ struct HPMHookPoint *HP_mapif_rodex_sendinbox_post;
+ struct HPMHookPoint *HP_mapif_parse_rodex_checkhasnew_pre;
+ struct HPMHookPoint *HP_mapif_parse_rodex_checkhasnew_post;
+ struct HPMHookPoint *HP_mapif_rodex_sendhasnew_pre;
+ struct HPMHookPoint *HP_mapif_rodex_sendhasnew_post;
+ struct HPMHookPoint *HP_mapif_parse_rodex_updatemail_pre;
+ struct HPMHookPoint *HP_mapif_parse_rodex_updatemail_post;
+ struct HPMHookPoint *HP_mapif_parse_rodex_send_pre;
+ struct HPMHookPoint *HP_mapif_parse_rodex_send_post;
+ struct HPMHookPoint *HP_mapif_rodex_send_pre;
+ struct HPMHookPoint *HP_mapif_rodex_send_post;
+ struct HPMHookPoint *HP_mapif_parse_rodex_checkname_pre;
+ struct HPMHookPoint *HP_mapif_parse_rodex_checkname_post;
+ struct HPMHookPoint *HP_mapif_rodex_checkname_pre;
+ struct HPMHookPoint *HP_mapif_rodex_checkname_post;
struct HPMHookPoint *HP_mapif_load_guild_storage_pre;
struct HPMHookPoint *HP_mapif_load_guild_storage_post;
struct HPMHookPoint *HP_mapif_save_guild_storage_ack_pre;
@@ -2113,6 +2145,20 @@ struct {
int HP_inter_pet_parse_frommap_post;
int HP_inter_quest_parse_frommap_pre;
int HP_inter_quest_parse_frommap_post;
+ int HP_inter_rodex_sql_init_pre;
+ int HP_inter_rodex_sql_init_post;
+ int HP_inter_rodex_sql_final_pre;
+ int HP_inter_rodex_sql_final_post;
+ int HP_inter_rodex_parse_frommap_pre;
+ int HP_inter_rodex_parse_frommap_post;
+ int HP_inter_rodex_fromsql_pre;
+ int HP_inter_rodex_fromsql_post;
+ int HP_inter_rodex_hasnew_pre;
+ int HP_inter_rodex_hasnew_post;
+ int HP_inter_rodex_checkname_pre;
+ int HP_inter_rodex_checkname_post;
+ int HP_inter_rodex_savemessage_pre;
+ int HP_inter_rodex_savemessage_post;
int HP_inter_storage_tosql_pre;
int HP_inter_storage_tosql_post;
int HP_inter_storage_fromsql_pre;
@@ -2585,6 +2631,24 @@ struct {
int HP_mapif_send_quests_post;
int HP_mapif_parse_quest_load_pre;
int HP_mapif_parse_quest_load_post;
+ int HP_mapif_parse_rodex_requestinbox_pre;
+ int HP_mapif_parse_rodex_requestinbox_post;
+ int HP_mapif_rodex_sendinbox_pre;
+ int HP_mapif_rodex_sendinbox_post;
+ int HP_mapif_parse_rodex_checkhasnew_pre;
+ int HP_mapif_parse_rodex_checkhasnew_post;
+ int HP_mapif_rodex_sendhasnew_pre;
+ int HP_mapif_rodex_sendhasnew_post;
+ int HP_mapif_parse_rodex_updatemail_pre;
+ int HP_mapif_parse_rodex_updatemail_post;
+ int HP_mapif_parse_rodex_send_pre;
+ int HP_mapif_parse_rodex_send_post;
+ int HP_mapif_rodex_send_pre;
+ int HP_mapif_rodex_send_post;
+ int HP_mapif_parse_rodex_checkname_pre;
+ int HP_mapif_parse_rodex_checkname_post;
+ int HP_mapif_rodex_checkname_pre;
+ int HP_mapif_rodex_checkname_post;
int HP_mapif_load_guild_storage_pre;
int HP_mapif_load_guild_storage_post;
int HP_mapif_save_guild_storage_ack_pre;
@@ -3018,6 +3082,7 @@ struct {
struct inter_party_interface inter_party;
struct inter_pet_interface inter_pet;
struct inter_quest_interface inter_quest;
+ struct inter_rodex_interface inter_rodex;
struct inter_storage_interface inter_storage;
struct libconfig_interface libconfig;
struct loginif_interface loginif;
diff --git a/src/plugins/HPMHooking/HPMHooking_char.HookingPoints.inc b/src/plugins/HPMHooking/HPMHooking_char.HookingPoints.inc
index 29f6d668c..bbd484fe1 100644
--- a/src/plugins/HPMHooking/HPMHooking_char.HookingPoints.inc
+++ b/src/plugins/HPMHooking/HPMHooking_char.HookingPoints.inc
@@ -344,6 +344,14 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(inter_pet->parse_frommap, HP_inter_pet_parse_frommap) },
/* inter_quest_interface */
{ HP_POP(inter_quest->parse_frommap, HP_inter_quest_parse_frommap) },
+/* inter_rodex_interface */
+ { HP_POP(inter_rodex->sql_init, HP_inter_rodex_sql_init) },
+ { HP_POP(inter_rodex->sql_final, HP_inter_rodex_sql_final) },
+ { HP_POP(inter_rodex->parse_frommap, HP_inter_rodex_parse_frommap) },
+ { HP_POP(inter_rodex->fromsql, HP_inter_rodex_fromsql) },
+ { HP_POP(inter_rodex->hasnew, HP_inter_rodex_hasnew) },
+ { HP_POP(inter_rodex->checkname, HP_inter_rodex_checkname) },
+ { HP_POP(inter_rodex->savemessage, HP_inter_rodex_savemessage) },
/* inter_storage_interface */
{ HP_POP(inter_storage->tosql, HP_inter_storage_tosql) },
{ HP_POP(inter_storage->fromsql, HP_inter_storage_fromsql) },
@@ -584,6 +592,15 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(mapif->parse_quest_save, HP_mapif_parse_quest_save) },
{ HP_POP(mapif->send_quests, HP_mapif_send_quests) },
{ HP_POP(mapif->parse_quest_load, HP_mapif_parse_quest_load) },
+ { HP_POP(mapif->parse_rodex_requestinbox, HP_mapif_parse_rodex_requestinbox) },
+ { HP_POP(mapif->rodex_sendinbox, HP_mapif_rodex_sendinbox) },
+ { HP_POP(mapif->parse_rodex_checkhasnew, HP_mapif_parse_rodex_checkhasnew) },
+ { HP_POP(mapif->rodex_sendhasnew, HP_mapif_rodex_sendhasnew) },
+ { HP_POP(mapif->parse_rodex_updatemail, HP_mapif_parse_rodex_updatemail) },
+ { HP_POP(mapif->parse_rodex_send, HP_mapif_parse_rodex_send) },
+ { HP_POP(mapif->rodex_send, HP_mapif_rodex_send) },
+ { HP_POP(mapif->parse_rodex_checkname, HP_mapif_parse_rodex_checkname) },
+ { HP_POP(mapif->rodex_checkname, HP_mapif_rodex_checkname) },
{ HP_POP(mapif->load_guild_storage, HP_mapif_load_guild_storage) },
{ HP_POP(mapif->save_guild_storage_ack, HP_mapif_save_guild_storage_ack) },
{ HP_POP(mapif->parse_LoadGuildStorage, HP_mapif_parse_LoadGuildStorage) },
diff --git a/src/plugins/HPMHooking/HPMHooking_char.Hooks.inc b/src/plugins/HPMHooking/HPMHooking_char.Hooks.inc
index a2a9fa8e2..b727d208b 100644
--- a/src/plugins/HPMHooking/HPMHooking_char.Hooks.inc
+++ b/src/plugins/HPMHooking/HPMHooking_char.Hooks.inc
@@ -8058,6 +8058,195 @@ int HP_inter_quest_parse_frommap(int fd) {
}
return retVal___;
}
+/* inter_rodex_interface */
+int HP_inter_rodex_sql_init(void) {
+ int hIndex = 0;
+ int retVal___ = 0;
+ if (HPMHooks.count.HP_inter_rodex_sql_init_pre > 0) {
+ int (*preHookFunc) (void);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_inter_rodex_sql_init_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_inter_rodex_sql_init_pre[hIndex].func;
+ retVal___ = preHookFunc();
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.inter_rodex.sql_init();
+ }
+ if (HPMHooks.count.HP_inter_rodex_sql_init_post > 0) {
+ int (*postHookFunc) (int retVal___);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_inter_rodex_sql_init_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_inter_rodex_sql_init_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___);
+ }
+ }
+ return retVal___;
+}
+void HP_inter_rodex_sql_final(void) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_inter_rodex_sql_final_pre > 0) {
+ void (*preHookFunc) (void);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_inter_rodex_sql_final_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_inter_rodex_sql_final_pre[hIndex].func;
+ preHookFunc();
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.inter_rodex.sql_final();
+ }
+ if (HPMHooks.count.HP_inter_rodex_sql_final_post > 0) {
+ void (*postHookFunc) (void);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_inter_rodex_sql_final_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_inter_rodex_sql_final_post[hIndex].func;
+ postHookFunc();
+ }
+ }
+ return;
+}
+int HP_inter_rodex_parse_frommap(int fd) {
+ int hIndex = 0;
+ int retVal___ = 0;
+ if (HPMHooks.count.HP_inter_rodex_parse_frommap_pre > 0) {
+ int (*preHookFunc) (int *fd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_inter_rodex_parse_frommap_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_inter_rodex_parse_frommap_pre[hIndex].func;
+ retVal___ = preHookFunc(&fd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.inter_rodex.parse_frommap(fd);
+ }
+ if (HPMHooks.count.HP_inter_rodex_parse_frommap_post > 0) {
+ int (*postHookFunc) (int retVal___, int fd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_inter_rodex_parse_frommap_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_inter_rodex_parse_frommap_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, fd);
+ }
+ }
+ return retVal___;
+}
+int HP_inter_rodex_fromsql(int char_id, int account_id, int8 opentype, int64 mail_id, struct rodex_maillist *mails) {
+ int hIndex = 0;
+ int retVal___ = 0;
+ if (HPMHooks.count.HP_inter_rodex_fromsql_pre > 0) {
+ int (*preHookFunc) (int *char_id, int *account_id, int8 *opentype, int64 *mail_id, struct rodex_maillist **mails);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_inter_rodex_fromsql_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_inter_rodex_fromsql_pre[hIndex].func;
+ retVal___ = preHookFunc(&char_id, &account_id, &opentype, &mail_id, &mails);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.inter_rodex.fromsql(char_id, account_id, opentype, mail_id, mails);
+ }
+ if (HPMHooks.count.HP_inter_rodex_fromsql_post > 0) {
+ int (*postHookFunc) (int retVal___, int char_id, int account_id, int8 opentype, int64 mail_id, struct rodex_maillist *mails);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_inter_rodex_fromsql_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_inter_rodex_fromsql_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, char_id, account_id, opentype, mail_id, mails);
+ }
+ }
+ return retVal___;
+}
+bool HP_inter_rodex_hasnew(int char_id, int account_id) {
+ int hIndex = 0;
+ bool retVal___ = false;
+ if (HPMHooks.count.HP_inter_rodex_hasnew_pre > 0) {
+ bool (*preHookFunc) (int *char_id, int *account_id);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_inter_rodex_hasnew_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_inter_rodex_hasnew_pre[hIndex].func;
+ retVal___ = preHookFunc(&char_id, &account_id);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.inter_rodex.hasnew(char_id, account_id);
+ }
+ if (HPMHooks.count.HP_inter_rodex_hasnew_post > 0) {
+ bool (*postHookFunc) (bool retVal___, int char_id, int account_id);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_inter_rodex_hasnew_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_inter_rodex_hasnew_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, char_id, account_id);
+ }
+ }
+ return retVal___;
+}
+bool HP_inter_rodex_checkname(const char *name, int *target_char_id, short *target_class, int *target_level) {
+ int hIndex = 0;
+ bool retVal___ = false;
+ if (HPMHooks.count.HP_inter_rodex_checkname_pre > 0) {
+ bool (*preHookFunc) (const char **name, int **target_char_id, short **target_class, int **target_level);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_inter_rodex_checkname_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_inter_rodex_checkname_pre[hIndex].func;
+ retVal___ = preHookFunc(&name, &target_char_id, &target_class, &target_level);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.inter_rodex.checkname(name, target_char_id, target_class, target_level);
+ }
+ if (HPMHooks.count.HP_inter_rodex_checkname_post > 0) {
+ bool (*postHookFunc) (bool retVal___, const char *name, int *target_char_id, short *target_class, int *target_level);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_inter_rodex_checkname_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_inter_rodex_checkname_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, name, target_char_id, target_class, target_level);
+ }
+ }
+ return retVal___;
+}
+int64 HP_inter_rodex_savemessage(struct rodex_message *msg) {
+ int hIndex = 0;
+ int64 retVal___ = 0;
+ if (HPMHooks.count.HP_inter_rodex_savemessage_pre > 0) {
+ int64 (*preHookFunc) (struct rodex_message **msg);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_inter_rodex_savemessage_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_inter_rodex_savemessage_pre[hIndex].func;
+ retVal___ = preHookFunc(&msg);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.inter_rodex.savemessage(msg);
+ }
+ if (HPMHooks.count.HP_inter_rodex_savemessage_post > 0) {
+ int64 (*postHookFunc) (int64 retVal___, struct rodex_message *msg);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_inter_rodex_savemessage_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_inter_rodex_savemessage_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, msg);
+ }
+ }
+ return retVal___;
+}
/* inter_storage_interface */
int HP_inter_storage_tosql(int account_id, const struct storage_data *p) {
int hIndex = 0;
@@ -14349,6 +14538,247 @@ int HP_mapif_parse_quest_load(int fd) {
}
return retVal___;
}
+int HP_mapif_parse_rodex_requestinbox(int fd) {
+ int hIndex = 0;
+ int retVal___ = 0;
+ if (HPMHooks.count.HP_mapif_parse_rodex_requestinbox_pre > 0) {
+ int (*preHookFunc) (int *fd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_mapif_parse_rodex_requestinbox_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_mapif_parse_rodex_requestinbox_pre[hIndex].func;
+ retVal___ = preHookFunc(&fd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.mapif.parse_rodex_requestinbox(fd);
+ }
+ if (HPMHooks.count.HP_mapif_parse_rodex_requestinbox_post > 0) {
+ int (*postHookFunc) (int retVal___, int fd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_mapif_parse_rodex_requestinbox_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_mapif_parse_rodex_requestinbox_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, fd);
+ }
+ }
+ return retVal___;
+}
+void HP_mapif_rodex_sendinbox(int fd, int char_id, int8 opentype, int8 flag, int count, struct rodex_maillist *mails) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_mapif_rodex_sendinbox_pre > 0) {
+ void (*preHookFunc) (int *fd, int *char_id, int8 *opentype, int8 *flag, int *count, struct rodex_maillist **mails);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_mapif_rodex_sendinbox_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_mapif_rodex_sendinbox_pre[hIndex].func;
+ preHookFunc(&fd, &char_id, &opentype, &flag, &count, &mails);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.mapif.rodex_sendinbox(fd, char_id, opentype, flag, count, mails);
+ }
+ if (HPMHooks.count.HP_mapif_rodex_sendinbox_post > 0) {
+ void (*postHookFunc) (int fd, int char_id, int8 opentype, int8 flag, int count, struct rodex_maillist *mails);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_mapif_rodex_sendinbox_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_mapif_rodex_sendinbox_post[hIndex].func;
+ postHookFunc(fd, char_id, opentype, flag, count, mails);
+ }
+ }
+ return;
+}
+int HP_mapif_parse_rodex_checkhasnew(int fd) {
+ int hIndex = 0;
+ int retVal___ = 0;
+ if (HPMHooks.count.HP_mapif_parse_rodex_checkhasnew_pre > 0) {
+ int (*preHookFunc) (int *fd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_mapif_parse_rodex_checkhasnew_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_mapif_parse_rodex_checkhasnew_pre[hIndex].func;
+ retVal___ = preHookFunc(&fd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.mapif.parse_rodex_checkhasnew(fd);
+ }
+ if (HPMHooks.count.HP_mapif_parse_rodex_checkhasnew_post > 0) {
+ int (*postHookFunc) (int retVal___, int fd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_mapif_parse_rodex_checkhasnew_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_mapif_parse_rodex_checkhasnew_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, fd);
+ }
+ }
+ return retVal___;
+}
+void HP_mapif_rodex_sendhasnew(int fd, int char_id, bool has_new) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_mapif_rodex_sendhasnew_pre > 0) {
+ void (*preHookFunc) (int *fd, int *char_id, bool *has_new);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_mapif_rodex_sendhasnew_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_mapif_rodex_sendhasnew_pre[hIndex].func;
+ preHookFunc(&fd, &char_id, &has_new);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.mapif.rodex_sendhasnew(fd, char_id, has_new);
+ }
+ if (HPMHooks.count.HP_mapif_rodex_sendhasnew_post > 0) {
+ void (*postHookFunc) (int fd, int char_id, bool has_new);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_mapif_rodex_sendhasnew_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_mapif_rodex_sendhasnew_post[hIndex].func;
+ postHookFunc(fd, char_id, has_new);
+ }
+ }
+ return;
+}
+int HP_mapif_parse_rodex_updatemail(int fd) {
+ int hIndex = 0;
+ int retVal___ = 0;
+ if (HPMHooks.count.HP_mapif_parse_rodex_updatemail_pre > 0) {
+ int (*preHookFunc) (int *fd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_mapif_parse_rodex_updatemail_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_mapif_parse_rodex_updatemail_pre[hIndex].func;
+ retVal___ = preHookFunc(&fd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.mapif.parse_rodex_updatemail(fd);
+ }
+ if (HPMHooks.count.HP_mapif_parse_rodex_updatemail_post > 0) {
+ int (*postHookFunc) (int retVal___, int fd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_mapif_parse_rodex_updatemail_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_mapif_parse_rodex_updatemail_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, fd);
+ }
+ }
+ return retVal___;
+}
+int HP_mapif_parse_rodex_send(int fd) {
+ int hIndex = 0;
+ int retVal___ = 0;
+ if (HPMHooks.count.HP_mapif_parse_rodex_send_pre > 0) {
+ int (*preHookFunc) (int *fd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_mapif_parse_rodex_send_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_mapif_parse_rodex_send_pre[hIndex].func;
+ retVal___ = preHookFunc(&fd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.mapif.parse_rodex_send(fd);
+ }
+ if (HPMHooks.count.HP_mapif_parse_rodex_send_post > 0) {
+ int (*postHookFunc) (int retVal___, int fd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_mapif_parse_rodex_send_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_mapif_parse_rodex_send_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, fd);
+ }
+ }
+ return retVal___;
+}
+void HP_mapif_rodex_send(int fd, int sender_id, int receiver_id, int receiver_accountid, bool result) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_mapif_rodex_send_pre > 0) {
+ void (*preHookFunc) (int *fd, int *sender_id, int *receiver_id, int *receiver_accountid, bool *result);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_mapif_rodex_send_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_mapif_rodex_send_pre[hIndex].func;
+ preHookFunc(&fd, &sender_id, &receiver_id, &receiver_accountid, &result);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.mapif.rodex_send(fd, sender_id, receiver_id, receiver_accountid, result);
+ }
+ if (HPMHooks.count.HP_mapif_rodex_send_post > 0) {
+ void (*postHookFunc) (int fd, int sender_id, int receiver_id, int receiver_accountid, bool result);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_mapif_rodex_send_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_mapif_rodex_send_post[hIndex].func;
+ postHookFunc(fd, sender_id, receiver_id, receiver_accountid, result);
+ }
+ }
+ return;
+}
+int HP_mapif_parse_rodex_checkname(int fd) {
+ int hIndex = 0;
+ int retVal___ = 0;
+ if (HPMHooks.count.HP_mapif_parse_rodex_checkname_pre > 0) {
+ int (*preHookFunc) (int *fd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_mapif_parse_rodex_checkname_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_mapif_parse_rodex_checkname_pre[hIndex].func;
+ retVal___ = preHookFunc(&fd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.mapif.parse_rodex_checkname(fd);
+ }
+ if (HPMHooks.count.HP_mapif_parse_rodex_checkname_post > 0) {
+ int (*postHookFunc) (int retVal___, int fd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_mapif_parse_rodex_checkname_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_mapif_parse_rodex_checkname_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, fd);
+ }
+ }
+ return retVal___;
+}
+void HP_mapif_rodex_checkname(int fd, int reqchar_id, int target_char_id, short target_class, int target_level, ) {
+/* Error: Unexpected character '+' */
+/* Error: Unhandled var type 'char name[(23+1)]' */
+ int hIndex = 0;
+ if (HPMHooks.count.HP_mapif_rodex_checkname_pre > 0) {
+ void (*preHookFunc) (int *fd, int *reqchar_id, int *target_char_id, short *target_class, int *target_level, );
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_mapif_rodex_checkname_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_mapif_rodex_checkname_pre[hIndex].func;
+ preHookFunc(&fd, &reqchar_id, &target_char_id, &target_class, &target_level, );
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.mapif.rodex_checkname(fd, reqchar_id, target_char_id, target_class, target_level, );
+ }
+ if (HPMHooks.count.HP_mapif_rodex_checkname_post > 0) {
+ void (*postHookFunc) (int fd, int reqchar_id, int target_char_id, short target_class, int target_level, );
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_mapif_rodex_checkname_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_mapif_rodex_checkname_post[hIndex].func;
+ postHookFunc(fd, reqchar_id, target_char_id, target_class, target_level, );
+ }
+ }
+ return;
+}
int HP_mapif_load_guild_storage(int fd, int account_id, int guild_id, char flag) {
int hIndex = 0;
int retVal___ = 0;
diff --git a/src/plugins/HPMHooking/HPMHooking_char.sources.inc b/src/plugins/HPMHooking/HPMHooking_char.sources.inc
index a7b1cff4e..b5e9afc08 100644
--- a/src/plugins/HPMHooking/HPMHooking_char.sources.inc
+++ b/src/plugins/HPMHooking/HPMHooking_char.sources.inc
@@ -43,6 +43,7 @@ HPMHooks.source.inter_mercenary = *inter_mercenary;
HPMHooks.source.inter_party = *inter_party;
HPMHooks.source.inter_pet = *inter_pet;
HPMHooks.source.inter_quest = *inter_quest;
+HPMHooks.source.inter_rodex = *inter_rodex;
HPMHooks.source.inter_storage = *inter_storage;
HPMHooks.source.libconfig = *libconfig;
HPMHooks.source.loginif = *loginif;
diff --git a/src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc b/src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc
index 794d8e650..b7b161b6b 100644
--- a/src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc
+++ b/src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc
@@ -1876,6 +1876,58 @@ struct {
struct HPMHookPoint *HP_clif_pSelectCart_post;
struct HPMHookPoint *HP_clif_get_bl_name_pre;
struct HPMHookPoint *HP_clif_get_bl_name_post;
+ struct HPMHookPoint *HP_clif_pRodexOpenWriteMail_pre;
+ struct HPMHookPoint *HP_clif_pRodexOpenWriteMail_post;
+ struct HPMHookPoint *HP_clif_rodex_open_write_mail_pre;
+ struct HPMHookPoint *HP_clif_rodex_open_write_mail_post;
+ struct HPMHookPoint *HP_clif_pRodexAddItem_pre;
+ struct HPMHookPoint *HP_clif_pRodexAddItem_post;
+ struct HPMHookPoint *HP_clif_rodex_add_item_result_pre;
+ struct HPMHookPoint *HP_clif_rodex_add_item_result_post;
+ struct HPMHookPoint *HP_clif_pRodexRemoveItem_pre;
+ struct HPMHookPoint *HP_clif_pRodexRemoveItem_post;
+ struct HPMHookPoint *HP_clif_rodex_remove_item_result_pre;
+ struct HPMHookPoint *HP_clif_rodex_remove_item_result_post;
+ struct HPMHookPoint *HP_clif_pRodexSendMail_pre;
+ struct HPMHookPoint *HP_clif_pRodexSendMail_post;
+ struct HPMHookPoint *HP_clif_rodex_send_mail_result_pre;
+ struct HPMHookPoint *HP_clif_rodex_send_mail_result_post;
+ struct HPMHookPoint *HP_clif_rodex_send_maillist_pre;
+ struct HPMHookPoint *HP_clif_rodex_send_maillist_post;
+ struct HPMHookPoint *HP_clif_rodex_send_refresh_pre;
+ struct HPMHookPoint *HP_clif_rodex_send_refresh_post;
+ struct HPMHookPoint *HP_clif_pRodexReadMail_pre;
+ struct HPMHookPoint *HP_clif_pRodexReadMail_post;
+ struct HPMHookPoint *HP_clif_rodex_read_mail_pre;
+ struct HPMHookPoint *HP_clif_rodex_read_mail_post;
+ struct HPMHookPoint *HP_clif_pRodexNextMaillist_pre;
+ struct HPMHookPoint *HP_clif_pRodexNextMaillist_post;
+ struct HPMHookPoint *HP_clif_pRodexCloseMailbox_pre;
+ struct HPMHookPoint *HP_clif_pRodexCloseMailbox_post;
+ struct HPMHookPoint *HP_clif_pRodexCancelWriteMail_pre;
+ struct HPMHookPoint *HP_clif_pRodexCancelWriteMail_post;
+ struct HPMHookPoint *HP_clif_pRodexOpenMailbox_pre;
+ struct HPMHookPoint *HP_clif_pRodexOpenMailbox_post;
+ struct HPMHookPoint *HP_clif_pRodexCheckName_pre;
+ struct HPMHookPoint *HP_clif_pRodexCheckName_post;
+ struct HPMHookPoint *HP_clif_rodex_checkname_result_pre;
+ struct HPMHookPoint *HP_clif_rodex_checkname_result_post;
+ struct HPMHookPoint *HP_clif_pRodexDeleteMail_pre;
+ struct HPMHookPoint *HP_clif_pRodexDeleteMail_post;
+ struct HPMHookPoint *HP_clif_rodex_delete_mail_pre;
+ struct HPMHookPoint *HP_clif_rodex_delete_mail_post;
+ struct HPMHookPoint *HP_clif_pRodexRefreshMaillist_pre;
+ struct HPMHookPoint *HP_clif_pRodexRefreshMaillist_post;
+ struct HPMHookPoint *HP_clif_pRodexRequestZeny_pre;
+ struct HPMHookPoint *HP_clif_pRodexRequestZeny_post;
+ struct HPMHookPoint *HP_clif_rodex_request_zeny_pre;
+ struct HPMHookPoint *HP_clif_rodex_request_zeny_post;
+ struct HPMHookPoint *HP_clif_pRodexRequestItems_pre;
+ struct HPMHookPoint *HP_clif_pRodexRequestItems_post;
+ struct HPMHookPoint *HP_clif_rodex_request_items_pre;
+ struct HPMHookPoint *HP_clif_rodex_request_items_post;
+ struct HPMHookPoint *HP_clif_rodex_icon_pre;
+ struct HPMHookPoint *HP_clif_rodex_icon_post;
struct HPMHookPoint *HP_cmdline_init_pre;
struct HPMHookPoint *HP_cmdline_init_post;
struct HPMHookPoint *HP_cmdline_final_pre;
@@ -2508,6 +2560,16 @@ struct {
struct HPMHookPoint *HP_intif_elemental_delete_post;
struct HPMHookPoint *HP_intif_elemental_save_pre;
struct HPMHookPoint *HP_intif_elemental_save_post;
+ struct HPMHookPoint *HP_intif_rodex_requestinbox_pre;
+ struct HPMHookPoint *HP_intif_rodex_requestinbox_post;
+ struct HPMHookPoint *HP_intif_rodex_checkhasnew_pre;
+ struct HPMHookPoint *HP_intif_rodex_checkhasnew_post;
+ struct HPMHookPoint *HP_intif_rodex_updatemail_pre;
+ struct HPMHookPoint *HP_intif_rodex_updatemail_post;
+ struct HPMHookPoint *HP_intif_rodex_sendmail_pre;
+ struct HPMHookPoint *HP_intif_rodex_sendmail_post;
+ struct HPMHookPoint *HP_intif_rodex_checkname_pre;
+ struct HPMHookPoint *HP_intif_rodex_checkname_post;
struct HPMHookPoint *HP_intif_request_accinfo_pre;
struct HPMHookPoint *HP_intif_request_accinfo_post;
struct HPMHookPoint *HP_intif_CheckForCharServer_pre;
@@ -2640,6 +2702,14 @@ struct {
struct HPMHookPoint *HP_intif_pSaveHomunculusOk_post;
struct HPMHookPoint *HP_intif_pDeleteHomunculusOk_pre;
struct HPMHookPoint *HP_intif_pDeleteHomunculusOk_post;
+ struct HPMHookPoint *HP_intif_pRequestRodexOpenInbox_pre;
+ struct HPMHookPoint *HP_intif_pRequestRodexOpenInbox_post;
+ struct HPMHookPoint *HP_intif_pRodexHasNew_pre;
+ struct HPMHookPoint *HP_intif_pRodexHasNew_post;
+ struct HPMHookPoint *HP_intif_pRodexSendMail_pre;
+ struct HPMHookPoint *HP_intif_pRodexSendMail_post;
+ struct HPMHookPoint *HP_intif_pRodexCheckName_pre;
+ struct HPMHookPoint *HP_intif_pRodexCheckName_post;
struct HPMHookPoint *HP_ircbot_init_pre;
struct HPMHookPoint *HP_ircbot_init_post;
struct HPMHookPoint *HP_ircbot_final_pre;
@@ -4566,6 +4636,40 @@ struct {
struct HPMHookPoint *HP_rnd_uniform_post;
struct HPMHookPoint *HP_rnd_uniform53_pre;
struct HPMHookPoint *HP_rnd_uniform53_post;
+ struct HPMHookPoint *HP_rodex_init_pre;
+ struct HPMHookPoint *HP_rodex_init_post;
+ struct HPMHookPoint *HP_rodex_final_pre;
+ struct HPMHookPoint *HP_rodex_final_post;
+ struct HPMHookPoint *HP_rodex_isenabled_pre;
+ struct HPMHookPoint *HP_rodex_isenabled_post;
+ struct HPMHookPoint *HP_rodex_open_pre;
+ struct HPMHookPoint *HP_rodex_open_post;
+ struct HPMHookPoint *HP_rodex_next_page_pre;
+ struct HPMHookPoint *HP_rodex_next_page_post;
+ struct HPMHookPoint *HP_rodex_refresh_pre;
+ struct HPMHookPoint *HP_rodex_refresh_post;
+ struct HPMHookPoint *HP_rodex_add_item_pre;
+ struct HPMHookPoint *HP_rodex_add_item_post;
+ struct HPMHookPoint *HP_rodex_remove_item_pre;
+ struct HPMHookPoint *HP_rodex_remove_item_post;
+ struct HPMHookPoint *HP_rodex_check_player_pre;
+ struct HPMHookPoint *HP_rodex_check_player_post;
+ struct HPMHookPoint *HP_rodex_send_mail_pre;
+ struct HPMHookPoint *HP_rodex_send_mail_post;
+ struct HPMHookPoint *HP_rodex_send_mail_result_pre;
+ struct HPMHookPoint *HP_rodex_send_mail_result_post;
+ struct HPMHookPoint *HP_rodex_get_mail_pre;
+ struct HPMHookPoint *HP_rodex_get_mail_post;
+ struct HPMHookPoint *HP_rodex_read_mail_pre;
+ struct HPMHookPoint *HP_rodex_read_mail_post;
+ struct HPMHookPoint *HP_rodex_get_zeny_pre;
+ struct HPMHookPoint *HP_rodex_get_zeny_post;
+ struct HPMHookPoint *HP_rodex_get_items_pre;
+ struct HPMHookPoint *HP_rodex_get_items_post;
+ struct HPMHookPoint *HP_rodex_delete_mail_pre;
+ struct HPMHookPoint *HP_rodex_delete_mail_post;
+ struct HPMHookPoint *HP_rodex_clean_pre;
+ struct HPMHookPoint *HP_rodex_clean_post;
struct HPMHookPoint *HP_script_init_pre;
struct HPMHookPoint *HP_script_init_post;
struct HPMHookPoint *HP_script_final_pre;
@@ -7967,6 +8071,58 @@ struct {
int HP_clif_pSelectCart_post;
int HP_clif_get_bl_name_pre;
int HP_clif_get_bl_name_post;
+ int HP_clif_pRodexOpenWriteMail_pre;
+ int HP_clif_pRodexOpenWriteMail_post;
+ int HP_clif_rodex_open_write_mail_pre;
+ int HP_clif_rodex_open_write_mail_post;
+ int HP_clif_pRodexAddItem_pre;
+ int HP_clif_pRodexAddItem_post;
+ int HP_clif_rodex_add_item_result_pre;
+ int HP_clif_rodex_add_item_result_post;
+ int HP_clif_pRodexRemoveItem_pre;
+ int HP_clif_pRodexRemoveItem_post;
+ int HP_clif_rodex_remove_item_result_pre;
+ int HP_clif_rodex_remove_item_result_post;
+ int HP_clif_pRodexSendMail_pre;
+ int HP_clif_pRodexSendMail_post;
+ int HP_clif_rodex_send_mail_result_pre;
+ int HP_clif_rodex_send_mail_result_post;
+ int HP_clif_rodex_send_maillist_pre;
+ int HP_clif_rodex_send_maillist_post;
+ int HP_clif_rodex_send_refresh_pre;
+ int HP_clif_rodex_send_refresh_post;
+ int HP_clif_pRodexReadMail_pre;
+ int HP_clif_pRodexReadMail_post;
+ int HP_clif_rodex_read_mail_pre;
+ int HP_clif_rodex_read_mail_post;
+ int HP_clif_pRodexNextMaillist_pre;
+ int HP_clif_pRodexNextMaillist_post;
+ int HP_clif_pRodexCloseMailbox_pre;
+ int HP_clif_pRodexCloseMailbox_post;
+ int HP_clif_pRodexCancelWriteMail_pre;
+ int HP_clif_pRodexCancelWriteMail_post;
+ int HP_clif_pRodexOpenMailbox_pre;
+ int HP_clif_pRodexOpenMailbox_post;
+ int HP_clif_pRodexCheckName_pre;
+ int HP_clif_pRodexCheckName_post;
+ int HP_clif_rodex_checkname_result_pre;
+ int HP_clif_rodex_checkname_result_post;
+ int HP_clif_pRodexDeleteMail_pre;
+ int HP_clif_pRodexDeleteMail_post;
+ int HP_clif_rodex_delete_mail_pre;
+ int HP_clif_rodex_delete_mail_post;
+ int HP_clif_pRodexRefreshMaillist_pre;
+ int HP_clif_pRodexRefreshMaillist_post;
+ int HP_clif_pRodexRequestZeny_pre;
+ int HP_clif_pRodexRequestZeny_post;
+ int HP_clif_rodex_request_zeny_pre;
+ int HP_clif_rodex_request_zeny_post;
+ int HP_clif_pRodexRequestItems_pre;
+ int HP_clif_pRodexRequestItems_post;
+ int HP_clif_rodex_request_items_pre;
+ int HP_clif_rodex_request_items_post;
+ int HP_clif_rodex_icon_pre;
+ int HP_clif_rodex_icon_post;
int HP_cmdline_init_pre;
int HP_cmdline_init_post;
int HP_cmdline_final_pre;
@@ -8599,6 +8755,16 @@ struct {
int HP_intif_elemental_delete_post;
int HP_intif_elemental_save_pre;
int HP_intif_elemental_save_post;
+ int HP_intif_rodex_requestinbox_pre;
+ int HP_intif_rodex_requestinbox_post;
+ int HP_intif_rodex_checkhasnew_pre;
+ int HP_intif_rodex_checkhasnew_post;
+ int HP_intif_rodex_updatemail_pre;
+ int HP_intif_rodex_updatemail_post;
+ int HP_intif_rodex_sendmail_pre;
+ int HP_intif_rodex_sendmail_post;
+ int HP_intif_rodex_checkname_pre;
+ int HP_intif_rodex_checkname_post;
int HP_intif_request_accinfo_pre;
int HP_intif_request_accinfo_post;
int HP_intif_CheckForCharServer_pre;
@@ -8731,6 +8897,14 @@ struct {
int HP_intif_pSaveHomunculusOk_post;
int HP_intif_pDeleteHomunculusOk_pre;
int HP_intif_pDeleteHomunculusOk_post;
+ int HP_intif_pRequestRodexOpenInbox_pre;
+ int HP_intif_pRequestRodexOpenInbox_post;
+ int HP_intif_pRodexHasNew_pre;
+ int HP_intif_pRodexHasNew_post;
+ int HP_intif_pRodexSendMail_pre;
+ int HP_intif_pRodexSendMail_post;
+ int HP_intif_pRodexCheckName_pre;
+ int HP_intif_pRodexCheckName_post;
int HP_ircbot_init_pre;
int HP_ircbot_init_post;
int HP_ircbot_final_pre;
@@ -10657,6 +10831,40 @@ struct {
int HP_rnd_uniform_post;
int HP_rnd_uniform53_pre;
int HP_rnd_uniform53_post;
+ int HP_rodex_init_pre;
+ int HP_rodex_init_post;
+ int HP_rodex_final_pre;
+ int HP_rodex_final_post;
+ int HP_rodex_isenabled_pre;
+ int HP_rodex_isenabled_post;
+ int HP_rodex_open_pre;
+ int HP_rodex_open_post;
+ int HP_rodex_next_page_pre;
+ int HP_rodex_next_page_post;
+ int HP_rodex_refresh_pre;
+ int HP_rodex_refresh_post;
+ int HP_rodex_add_item_pre;
+ int HP_rodex_add_item_post;
+ int HP_rodex_remove_item_pre;
+ int HP_rodex_remove_item_post;
+ int HP_rodex_check_player_pre;
+ int HP_rodex_check_player_post;
+ int HP_rodex_send_mail_pre;
+ int HP_rodex_send_mail_post;
+ int HP_rodex_send_mail_result_pre;
+ int HP_rodex_send_mail_result_post;
+ int HP_rodex_get_mail_pre;
+ int HP_rodex_get_mail_post;
+ int HP_rodex_read_mail_pre;
+ int HP_rodex_read_mail_post;
+ int HP_rodex_get_zeny_pre;
+ int HP_rodex_get_zeny_post;
+ int HP_rodex_get_items_pre;
+ int HP_rodex_get_items_post;
+ int HP_rodex_delete_mail_pre;
+ int HP_rodex_delete_mail_post;
+ int HP_rodex_clean_pre;
+ int HP_rodex_clean_post;
int HP_script_init_pre;
int HP_script_init_post;
int HP_script_final_pre;
@@ -12254,6 +12462,7 @@ struct {
struct pet_interface pet;
struct quest_interface quest;
struct rnd_interface rnd;
+ struct rodex_interface rodex;
struct script_interface script;
struct searchstore_interface searchstore;
struct showmsg_interface showmsg;
diff --git a/src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc b/src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc
index 618765f47..37a3efb19 100644
--- a/src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc
+++ b/src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc
@@ -960,6 +960,32 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(clif->selectcart, HP_clif_selectcart) },
{ HP_POP(clif->pSelectCart, HP_clif_pSelectCart) },
{ HP_POP(clif->get_bl_name, HP_clif_get_bl_name) },
+ { HP_POP(clif->pRodexOpenWriteMail, HP_clif_pRodexOpenWriteMail) },
+ { HP_POP(clif->rodex_open_write_mail, HP_clif_rodex_open_write_mail) },
+ { HP_POP(clif->pRodexAddItem, HP_clif_pRodexAddItem) },
+ { HP_POP(clif->rodex_add_item_result, HP_clif_rodex_add_item_result) },
+ { HP_POP(clif->pRodexRemoveItem, HP_clif_pRodexRemoveItem) },
+ { HP_POP(clif->rodex_remove_item_result, HP_clif_rodex_remove_item_result) },
+ { HP_POP(clif->pRodexSendMail, HP_clif_pRodexSendMail) },
+ { HP_POP(clif->rodex_send_mail_result, HP_clif_rodex_send_mail_result) },
+ { HP_POP(clif->rodex_send_maillist, HP_clif_rodex_send_maillist) },
+ { HP_POP(clif->rodex_send_refresh, HP_clif_rodex_send_refresh) },
+ { HP_POP(clif->pRodexReadMail, HP_clif_pRodexReadMail) },
+ { HP_POP(clif->rodex_read_mail, HP_clif_rodex_read_mail) },
+ { HP_POP(clif->pRodexNextMaillist, HP_clif_pRodexNextMaillist) },
+ { HP_POP(clif->pRodexCloseMailbox, HP_clif_pRodexCloseMailbox) },
+ { HP_POP(clif->pRodexCancelWriteMail, HP_clif_pRodexCancelWriteMail) },
+ { HP_POP(clif->pRodexOpenMailbox, HP_clif_pRodexOpenMailbox) },
+ { HP_POP(clif->pRodexCheckName, HP_clif_pRodexCheckName) },
+ { HP_POP(clif->rodex_checkname_result, HP_clif_rodex_checkname_result) },
+ { HP_POP(clif->pRodexDeleteMail, HP_clif_pRodexDeleteMail) },
+ { HP_POP(clif->rodex_delete_mail, HP_clif_rodex_delete_mail) },
+ { HP_POP(clif->pRodexRefreshMaillist, HP_clif_pRodexRefreshMaillist) },
+ { HP_POP(clif->pRodexRequestZeny, HP_clif_pRodexRequestZeny) },
+ { HP_POP(clif->rodex_request_zeny, HP_clif_rodex_request_zeny) },
+ { HP_POP(clif->pRodexRequestItems, HP_clif_pRodexRequestItems) },
+ { HP_POP(clif->rodex_request_items, HP_clif_rodex_request_items) },
+ { HP_POP(clif->rodex_icon, HP_clif_rodex_icon) },
/* cmdline_interface */
{ HP_POP(cmdline->init, HP_cmdline_init) },
{ HP_POP(cmdline->final, HP_cmdline_final) },
@@ -1289,6 +1315,11 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(intif->elemental_request, HP_intif_elemental_request) },
{ HP_POP(intif->elemental_delete, HP_intif_elemental_delete) },
{ HP_POP(intif->elemental_save, HP_intif_elemental_save) },
+ { HP_POP(intif->rodex_requestinbox, HP_intif_rodex_requestinbox) },
+ { HP_POP(intif->rodex_checkhasnew, HP_intif_rodex_checkhasnew) },
+ { HP_POP(intif->rodex_updatemail, HP_intif_rodex_updatemail) },
+ { HP_POP(intif->rodex_sendmail, HP_intif_rodex_sendmail) },
+ { HP_POP(intif->rodex_checkname, HP_intif_rodex_checkname) },
{ HP_POP(intif->request_accinfo, HP_intif_request_accinfo) },
{ HP_POP(intif->CheckForCharServer, HP_intif_CheckForCharServer) },
{ HP_POP(intif->pWisMessage, HP_intif_pWisMessage) },
@@ -1355,6 +1386,10 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(intif->pRecvHomunculusData, HP_intif_pRecvHomunculusData) },
{ HP_POP(intif->pSaveHomunculusOk, HP_intif_pSaveHomunculusOk) },
{ HP_POP(intif->pDeleteHomunculusOk, HP_intif_pDeleteHomunculusOk) },
+ { HP_POP(intif->pRequestRodexOpenInbox, HP_intif_pRequestRodexOpenInbox) },
+ { HP_POP(intif->pRodexHasNew, HP_intif_pRodexHasNew) },
+ { HP_POP(intif->pRodexSendMail, HP_intif_pRodexSendMail) },
+ { HP_POP(intif->pRodexCheckName, HP_intif_pRodexCheckName) },
/* irc_bot_interface */
{ HP_POP(ircbot->init, HP_ircbot_init) },
{ HP_POP(ircbot->final, HP_ircbot_final) },
@@ -2342,6 +2377,24 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(rnd->value, HP_rnd_value) },
{ HP_POP(rnd->uniform, HP_rnd_uniform) },
{ HP_POP(rnd->uniform53, HP_rnd_uniform53) },
+/* rodex_interface */
+ { HP_POP(rodex->init, HP_rodex_init) },
+ { HP_POP(rodex->final, HP_rodex_final) },
+ { HP_POP(rodex->isenabled, HP_rodex_isenabled) },
+ { HP_POP(rodex->open, HP_rodex_open) },
+ { HP_POP(rodex->next_page, HP_rodex_next_page) },
+ { HP_POP(rodex->refresh, HP_rodex_refresh) },
+ { HP_POP(rodex->add_item, HP_rodex_add_item) },
+ { HP_POP(rodex->remove_item, HP_rodex_remove_item) },
+ { HP_POP(rodex->check_player, HP_rodex_check_player) },
+ { HP_POP(rodex->send_mail, HP_rodex_send_mail) },
+ { HP_POP(rodex->send_mail_result, HP_rodex_send_mail_result) },
+ { HP_POP(rodex->get_mail, HP_rodex_get_mail) },
+ { HP_POP(rodex->read_mail, HP_rodex_read_mail) },
+ { HP_POP(rodex->get_zeny, HP_rodex_get_zeny) },
+ { HP_POP(rodex->get_items, HP_rodex_get_items) },
+ { HP_POP(rodex->delete_mail, HP_rodex_delete_mail) },
+ { HP_POP(rodex->clean, HP_rodex_clean) },
/* script_interface */
{ HP_POP(script->init, HP_script_init) },
{ HP_POP(script->final, HP_script_final) },
diff --git a/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc b/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc
index ef3bb4b90..d16268841 100644
--- a/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc
+++ b/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc
@@ -24411,6 +24411,682 @@ const char* HP_clif_get_bl_name(const struct block_list *bl) {
}
return retVal___;
}
+void HP_clif_pRodexOpenWriteMail(int fd, struct map_session_data *sd) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_pRodexOpenWriteMail_pre > 0) {
+ void (*preHookFunc) (int *fd, struct map_session_data **sd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pRodexOpenWriteMail_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_pRodexOpenWriteMail_pre[hIndex].func;
+ preHookFunc(&fd, &sd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.pRodexOpenWriteMail(fd, sd);
+ }
+ if (HPMHooks.count.HP_clif_pRodexOpenWriteMail_post > 0) {
+ void (*postHookFunc) (int fd, struct map_session_data *sd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pRodexOpenWriteMail_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_pRodexOpenWriteMail_post[hIndex].func;
+ postHookFunc(fd, sd);
+ }
+ }
+ return;
+}
+void HP_clif_rodex_open_write_mail(int fd, const char *receiver_name, int8 result) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_rodex_open_write_mail_pre > 0) {
+ void (*preHookFunc) (int *fd, const char **receiver_name, int8 *result);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_rodex_open_write_mail_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_rodex_open_write_mail_pre[hIndex].func;
+ preHookFunc(&fd, &receiver_name, &result);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.rodex_open_write_mail(fd, receiver_name, result);
+ }
+ if (HPMHooks.count.HP_clif_rodex_open_write_mail_post > 0) {
+ void (*postHookFunc) (int fd, const char *receiver_name, int8 result);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_rodex_open_write_mail_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_rodex_open_write_mail_post[hIndex].func;
+ postHookFunc(fd, receiver_name, result);
+ }
+ }
+ return;
+}
+void HP_clif_pRodexAddItem(int fd, struct map_session_data *sd) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_pRodexAddItem_pre > 0) {
+ void (*preHookFunc) (int *fd, struct map_session_data **sd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pRodexAddItem_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_pRodexAddItem_pre[hIndex].func;
+ preHookFunc(&fd, &sd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.pRodexAddItem(fd, sd);
+ }
+ if (HPMHooks.count.HP_clif_pRodexAddItem_post > 0) {
+ void (*postHookFunc) (int fd, struct map_session_data *sd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pRodexAddItem_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_pRodexAddItem_post[hIndex].func;
+ postHookFunc(fd, sd);
+ }
+ }
+ return;
+}
+void HP_clif_rodex_add_item_result(struct map_session_data *sd, int16 idx, int16 amount, int8 result) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_rodex_add_item_result_pre > 0) {
+ void (*preHookFunc) (struct map_session_data **sd, int16 *idx, int16 *amount, int8 *result);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_rodex_add_item_result_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_rodex_add_item_result_pre[hIndex].func;
+ preHookFunc(&sd, &idx, &amount, &result);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.rodex_add_item_result(sd, idx, amount, result);
+ }
+ if (HPMHooks.count.HP_clif_rodex_add_item_result_post > 0) {
+ void (*postHookFunc) (struct map_session_data *sd, int16 idx, int16 amount, int8 result);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_rodex_add_item_result_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_rodex_add_item_result_post[hIndex].func;
+ postHookFunc(sd, idx, amount, result);
+ }
+ }
+ return;
+}
+void HP_clif_pRodexRemoveItem(int fd, struct map_session_data *sd) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_pRodexRemoveItem_pre > 0) {
+ void (*preHookFunc) (int *fd, struct map_session_data **sd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pRodexRemoveItem_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_pRodexRemoveItem_pre[hIndex].func;
+ preHookFunc(&fd, &sd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.pRodexRemoveItem(fd, sd);
+ }
+ if (HPMHooks.count.HP_clif_pRodexRemoveItem_post > 0) {
+ void (*postHookFunc) (int fd, struct map_session_data *sd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pRodexRemoveItem_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_pRodexRemoveItem_post[hIndex].func;
+ postHookFunc(fd, sd);
+ }
+ }
+ return;
+}
+void HP_clif_rodex_remove_item_result(struct map_session_data *sd, int16 idx, int16 amount) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_rodex_remove_item_result_pre > 0) {
+ void (*preHookFunc) (struct map_session_data **sd, int16 *idx, int16 *amount);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_rodex_remove_item_result_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_rodex_remove_item_result_pre[hIndex].func;
+ preHookFunc(&sd, &idx, &amount);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.rodex_remove_item_result(sd, idx, amount);
+ }
+ if (HPMHooks.count.HP_clif_rodex_remove_item_result_post > 0) {
+ void (*postHookFunc) (struct map_session_data *sd, int16 idx, int16 amount);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_rodex_remove_item_result_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_rodex_remove_item_result_post[hIndex].func;
+ postHookFunc(sd, idx, amount);
+ }
+ }
+ return;
+}
+void HP_clif_pRodexSendMail(int fd, struct map_session_data *sd) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_pRodexSendMail_pre > 0) {
+ void (*preHookFunc) (int *fd, struct map_session_data **sd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pRodexSendMail_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_pRodexSendMail_pre[hIndex].func;
+ preHookFunc(&fd, &sd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.pRodexSendMail(fd, sd);
+ }
+ if (HPMHooks.count.HP_clif_pRodexSendMail_post > 0) {
+ void (*postHookFunc) (int fd, struct map_session_data *sd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pRodexSendMail_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_pRodexSendMail_post[hIndex].func;
+ postHookFunc(fd, sd);
+ }
+ }
+ return;
+}
+void HP_clif_rodex_send_mail_result(int fd, struct map_session_data *sd, int8 result) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_rodex_send_mail_result_pre > 0) {
+ void (*preHookFunc) (int *fd, struct map_session_data **sd, int8 *result);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_rodex_send_mail_result_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_rodex_send_mail_result_pre[hIndex].func;
+ preHookFunc(&fd, &sd, &result);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.rodex_send_mail_result(fd, sd, result);
+ }
+ if (HPMHooks.count.HP_clif_rodex_send_mail_result_post > 0) {
+ void (*postHookFunc) (int fd, struct map_session_data *sd, int8 result);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_rodex_send_mail_result_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_rodex_send_mail_result_post[hIndex].func;
+ postHookFunc(fd, sd, result);
+ }
+ }
+ return;
+}
+void HP_clif_rodex_send_maillist(int fd, struct map_session_data *sd, int8 open_type, int64 page_start) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_rodex_send_maillist_pre > 0) {
+ void (*preHookFunc) (int *fd, struct map_session_data **sd, int8 *open_type, int64 *page_start);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_rodex_send_maillist_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_rodex_send_maillist_pre[hIndex].func;
+ preHookFunc(&fd, &sd, &open_type, &page_start);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.rodex_send_maillist(fd, sd, open_type, page_start);
+ }
+ if (HPMHooks.count.HP_clif_rodex_send_maillist_post > 0) {
+ void (*postHookFunc) (int fd, struct map_session_data *sd, int8 open_type, int64 page_start);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_rodex_send_maillist_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_rodex_send_maillist_post[hIndex].func;
+ postHookFunc(fd, sd, open_type, page_start);
+ }
+ }
+ return;
+}
+void HP_clif_rodex_send_refresh(int fd, struct map_session_data *sd, int8 open_type, int count) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_rodex_send_refresh_pre > 0) {
+ void (*preHookFunc) (int *fd, struct map_session_data **sd, int8 *open_type, int *count);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_rodex_send_refresh_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_rodex_send_refresh_pre[hIndex].func;
+ preHookFunc(&fd, &sd, &open_type, &count);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.rodex_send_refresh(fd, sd, open_type, count);
+ }
+ if (HPMHooks.count.HP_clif_rodex_send_refresh_post > 0) {
+ void (*postHookFunc) (int fd, struct map_session_data *sd, int8 open_type, int count);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_rodex_send_refresh_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_rodex_send_refresh_post[hIndex].func;
+ postHookFunc(fd, sd, open_type, count);
+ }
+ }
+ return;
+}
+void HP_clif_pRodexReadMail(int fd, struct map_session_data *sd) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_pRodexReadMail_pre > 0) {
+ void (*preHookFunc) (int *fd, struct map_session_data **sd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pRodexReadMail_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_pRodexReadMail_pre[hIndex].func;
+ preHookFunc(&fd, &sd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.pRodexReadMail(fd, sd);
+ }
+ if (HPMHooks.count.HP_clif_pRodexReadMail_post > 0) {
+ void (*postHookFunc) (int fd, struct map_session_data *sd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pRodexReadMail_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_pRodexReadMail_post[hIndex].func;
+ postHookFunc(fd, sd);
+ }
+ }
+ return;
+}
+void HP_clif_rodex_read_mail(struct map_session_data *sd, int8 opentype, struct rodex_message *msg) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_rodex_read_mail_pre > 0) {
+ void (*preHookFunc) (struct map_session_data **sd, int8 *opentype, struct rodex_message **msg);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_rodex_read_mail_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_rodex_read_mail_pre[hIndex].func;
+ preHookFunc(&sd, &opentype, &msg);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.rodex_read_mail(sd, opentype, msg);
+ }
+ if (HPMHooks.count.HP_clif_rodex_read_mail_post > 0) {
+ void (*postHookFunc) (struct map_session_data *sd, int8 opentype, struct rodex_message *msg);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_rodex_read_mail_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_rodex_read_mail_post[hIndex].func;
+ postHookFunc(sd, opentype, msg);
+ }
+ }
+ return;
+}
+void HP_clif_pRodexNextMaillist(int fd, struct map_session_data *sd) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_pRodexNextMaillist_pre > 0) {
+ void (*preHookFunc) (int *fd, struct map_session_data **sd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pRodexNextMaillist_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_pRodexNextMaillist_pre[hIndex].func;
+ preHookFunc(&fd, &sd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.pRodexNextMaillist(fd, sd);
+ }
+ if (HPMHooks.count.HP_clif_pRodexNextMaillist_post > 0) {
+ void (*postHookFunc) (int fd, struct map_session_data *sd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pRodexNextMaillist_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_pRodexNextMaillist_post[hIndex].func;
+ postHookFunc(fd, sd);
+ }
+ }
+ return;
+}
+void HP_clif_pRodexCloseMailbox(int fd, struct map_session_data *sd) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_pRodexCloseMailbox_pre > 0) {
+ void (*preHookFunc) (int *fd, struct map_session_data **sd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pRodexCloseMailbox_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_pRodexCloseMailbox_pre[hIndex].func;
+ preHookFunc(&fd, &sd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.pRodexCloseMailbox(fd, sd);
+ }
+ if (HPMHooks.count.HP_clif_pRodexCloseMailbox_post > 0) {
+ void (*postHookFunc) (int fd, struct map_session_data *sd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pRodexCloseMailbox_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_pRodexCloseMailbox_post[hIndex].func;
+ postHookFunc(fd, sd);
+ }
+ }
+ return;
+}
+void HP_clif_pRodexCancelWriteMail(int fd, struct map_session_data *sd) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_pRodexCancelWriteMail_pre > 0) {
+ void (*preHookFunc) (int *fd, struct map_session_data **sd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pRodexCancelWriteMail_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_pRodexCancelWriteMail_pre[hIndex].func;
+ preHookFunc(&fd, &sd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.pRodexCancelWriteMail(fd, sd);
+ }
+ if (HPMHooks.count.HP_clif_pRodexCancelWriteMail_post > 0) {
+ void (*postHookFunc) (int fd, struct map_session_data *sd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pRodexCancelWriteMail_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_pRodexCancelWriteMail_post[hIndex].func;
+ postHookFunc(fd, sd);
+ }
+ }
+ return;
+}
+void HP_clif_pRodexOpenMailbox(int fd, struct map_session_data *sd) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_pRodexOpenMailbox_pre > 0) {
+ void (*preHookFunc) (int *fd, struct map_session_data **sd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pRodexOpenMailbox_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_pRodexOpenMailbox_pre[hIndex].func;
+ preHookFunc(&fd, &sd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.pRodexOpenMailbox(fd, sd);
+ }
+ if (HPMHooks.count.HP_clif_pRodexOpenMailbox_post > 0) {
+ void (*postHookFunc) (int fd, struct map_session_data *sd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pRodexOpenMailbox_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_pRodexOpenMailbox_post[hIndex].func;
+ postHookFunc(fd, sd);
+ }
+ }
+ return;
+}
+void HP_clif_pRodexCheckName(int fd, struct map_session_data *sd) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_pRodexCheckName_pre > 0) {
+ void (*preHookFunc) (int *fd, struct map_session_data **sd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pRodexCheckName_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_pRodexCheckName_pre[hIndex].func;
+ preHookFunc(&fd, &sd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.pRodexCheckName(fd, sd);
+ }
+ if (HPMHooks.count.HP_clif_pRodexCheckName_post > 0) {
+ void (*postHookFunc) (int fd, struct map_session_data *sd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pRodexCheckName_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_pRodexCheckName_post[hIndex].func;
+ postHookFunc(fd, sd);
+ }
+ }
+ return;
+}
+void HP_clif_rodex_checkname_result(struct map_session_data *sd, int char_id, short class_, int base_level, const char *name) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_rodex_checkname_result_pre > 0) {
+ void (*preHookFunc) (struct map_session_data **sd, int *char_id, short *class_, int *base_level, const char **name);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_rodex_checkname_result_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_rodex_checkname_result_pre[hIndex].func;
+ preHookFunc(&sd, &char_id, &class_, &base_level, &name);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.rodex_checkname_result(sd, char_id, class_, base_level, name);
+ }
+ if (HPMHooks.count.HP_clif_rodex_checkname_result_post > 0) {
+ void (*postHookFunc) (struct map_session_data *sd, int char_id, short class_, int base_level, const char *name);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_rodex_checkname_result_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_rodex_checkname_result_post[hIndex].func;
+ postHookFunc(sd, char_id, class_, base_level, name);
+ }
+ }
+ return;
+}
+void HP_clif_pRodexDeleteMail(int fd, struct map_session_data *sd) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_pRodexDeleteMail_pre > 0) {
+ void (*preHookFunc) (int *fd, struct map_session_data **sd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pRodexDeleteMail_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_pRodexDeleteMail_pre[hIndex].func;
+ preHookFunc(&fd, &sd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.pRodexDeleteMail(fd, sd);
+ }
+ if (HPMHooks.count.HP_clif_pRodexDeleteMail_post > 0) {
+ void (*postHookFunc) (int fd, struct map_session_data *sd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pRodexDeleteMail_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_pRodexDeleteMail_post[hIndex].func;
+ postHookFunc(fd, sd);
+ }
+ }
+ return;
+}
+void HP_clif_rodex_delete_mail(struct map_session_data *sd, int8 opentype, int64 mail_id) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_rodex_delete_mail_pre > 0) {
+ void (*preHookFunc) (struct map_session_data **sd, int8 *opentype, int64 *mail_id);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_rodex_delete_mail_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_rodex_delete_mail_pre[hIndex].func;
+ preHookFunc(&sd, &opentype, &mail_id);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.rodex_delete_mail(sd, opentype, mail_id);
+ }
+ if (HPMHooks.count.HP_clif_rodex_delete_mail_post > 0) {
+ void (*postHookFunc) (struct map_session_data *sd, int8 opentype, int64 mail_id);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_rodex_delete_mail_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_rodex_delete_mail_post[hIndex].func;
+ postHookFunc(sd, opentype, mail_id);
+ }
+ }
+ return;
+}
+void HP_clif_pRodexRefreshMaillist(int fd, struct map_session_data *sd) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_pRodexRefreshMaillist_pre > 0) {
+ void (*preHookFunc) (int *fd, struct map_session_data **sd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pRodexRefreshMaillist_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_pRodexRefreshMaillist_pre[hIndex].func;
+ preHookFunc(&fd, &sd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.pRodexRefreshMaillist(fd, sd);
+ }
+ if (HPMHooks.count.HP_clif_pRodexRefreshMaillist_post > 0) {
+ void (*postHookFunc) (int fd, struct map_session_data *sd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pRodexRefreshMaillist_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_pRodexRefreshMaillist_post[hIndex].func;
+ postHookFunc(fd, sd);
+ }
+ }
+ return;
+}
+void HP_clif_pRodexRequestZeny(int fd, struct map_session_data *sd) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_pRodexRequestZeny_pre > 0) {
+ void (*preHookFunc) (int *fd, struct map_session_data **sd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pRodexRequestZeny_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_pRodexRequestZeny_pre[hIndex].func;
+ preHookFunc(&fd, &sd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.pRodexRequestZeny(fd, sd);
+ }
+ if (HPMHooks.count.HP_clif_pRodexRequestZeny_post > 0) {
+ void (*postHookFunc) (int fd, struct map_session_data *sd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pRodexRequestZeny_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_pRodexRequestZeny_post[hIndex].func;
+ postHookFunc(fd, sd);
+ }
+ }
+ return;
+}
+void HP_clif_rodex_request_zeny(struct map_session_data *sd, int8 opentype, int64 mail_id, int8 result) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_rodex_request_zeny_pre > 0) {
+ void (*preHookFunc) (struct map_session_data **sd, int8 *opentype, int64 *mail_id, int8 *result);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_rodex_request_zeny_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_rodex_request_zeny_pre[hIndex].func;
+ preHookFunc(&sd, &opentype, &mail_id, &result);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.rodex_request_zeny(sd, opentype, mail_id, result);
+ }
+ if (HPMHooks.count.HP_clif_rodex_request_zeny_post > 0) {
+ void (*postHookFunc) (struct map_session_data *sd, int8 opentype, int64 mail_id, int8 result);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_rodex_request_zeny_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_rodex_request_zeny_post[hIndex].func;
+ postHookFunc(sd, opentype, mail_id, result);
+ }
+ }
+ return;
+}
+void HP_clif_pRodexRequestItems(int fd, struct map_session_data *sd) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_pRodexRequestItems_pre > 0) {
+ void (*preHookFunc) (int *fd, struct map_session_data **sd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pRodexRequestItems_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_pRodexRequestItems_pre[hIndex].func;
+ preHookFunc(&fd, &sd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.pRodexRequestItems(fd, sd);
+ }
+ if (HPMHooks.count.HP_clif_pRodexRequestItems_post > 0) {
+ void (*postHookFunc) (int fd, struct map_session_data *sd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pRodexRequestItems_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_pRodexRequestItems_post[hIndex].func;
+ postHookFunc(fd, sd);
+ }
+ }
+ return;
+}
+void HP_clif_rodex_request_items(struct map_session_data *sd, int8 opentype, int64 mail_id, int8 result) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_rodex_request_items_pre > 0) {
+ void (*preHookFunc) (struct map_session_data **sd, int8 *opentype, int64 *mail_id, int8 *result);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_rodex_request_items_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_rodex_request_items_pre[hIndex].func;
+ preHookFunc(&sd, &opentype, &mail_id, &result);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.rodex_request_items(sd, opentype, mail_id, result);
+ }
+ if (HPMHooks.count.HP_clif_rodex_request_items_post > 0) {
+ void (*postHookFunc) (struct map_session_data *sd, int8 opentype, int64 mail_id, int8 result);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_rodex_request_items_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_rodex_request_items_post[hIndex].func;
+ postHookFunc(sd, opentype, mail_id, result);
+ }
+ }
+ return;
+}
+void HP_clif_rodex_icon(int fd, bool show) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_rodex_icon_pre > 0) {
+ void (*preHookFunc) (int *fd, bool *show);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_rodex_icon_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_rodex_icon_pre[hIndex].func;
+ preHookFunc(&fd, &show);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.rodex_icon(fd, show);
+ }
+ if (HPMHooks.count.HP_clif_rodex_icon_post > 0) {
+ void (*postHookFunc) (int fd, bool show);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_rodex_icon_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_rodex_icon_post[hIndex].func;
+ postHookFunc(fd, show);
+ }
+ }
+ return;
+}
/* cmdline_interface */
void HP_cmdline_init(void) {
int hIndex = 0;
@@ -32965,6 +33641,141 @@ int HP_intif_elemental_save(struct s_elemental *ele) {
}
return retVal___;
}
+int HP_intif_rodex_requestinbox(int char_id, int account_id, int8 flag, int8 opentype, int64 mail_id) {
+ int hIndex = 0;
+ int retVal___ = 0;
+ if (HPMHooks.count.HP_intif_rodex_requestinbox_pre > 0) {
+ int (*preHookFunc) (int *char_id, int *account_id, int8 *flag, int8 *opentype, int64 *mail_id);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_intif_rodex_requestinbox_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_intif_rodex_requestinbox_pre[hIndex].func;
+ retVal___ = preHookFunc(&char_id, &account_id, &flag, &opentype, &mail_id);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.intif.rodex_requestinbox(char_id, account_id, flag, opentype, mail_id);
+ }
+ if (HPMHooks.count.HP_intif_rodex_requestinbox_post > 0) {
+ int (*postHookFunc) (int retVal___, int char_id, int account_id, int8 flag, int8 opentype, int64 mail_id);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_intif_rodex_requestinbox_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_intif_rodex_requestinbox_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, char_id, account_id, flag, opentype, mail_id);
+ }
+ }
+ return retVal___;
+}
+int HP_intif_rodex_checkhasnew(struct map_session_data *sd) {
+ int hIndex = 0;
+ int retVal___ = 0;
+ if (HPMHooks.count.HP_intif_rodex_checkhasnew_pre > 0) {
+ int (*preHookFunc) (struct map_session_data **sd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_intif_rodex_checkhasnew_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_intif_rodex_checkhasnew_pre[hIndex].func;
+ retVal___ = preHookFunc(&sd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.intif.rodex_checkhasnew(sd);
+ }
+ if (HPMHooks.count.HP_intif_rodex_checkhasnew_post > 0) {
+ int (*postHookFunc) (int retVal___, struct map_session_data *sd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_intif_rodex_checkhasnew_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_intif_rodex_checkhasnew_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, sd);
+ }
+ }
+ return retVal___;
+}
+int HP_intif_rodex_updatemail(int64 mail_id, int8 flag) {
+ int hIndex = 0;
+ int retVal___ = 0;
+ if (HPMHooks.count.HP_intif_rodex_updatemail_pre > 0) {
+ int (*preHookFunc) (int64 *mail_id, int8 *flag);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_intif_rodex_updatemail_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_intif_rodex_updatemail_pre[hIndex].func;
+ retVal___ = preHookFunc(&mail_id, &flag);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.intif.rodex_updatemail(mail_id, flag);
+ }
+ if (HPMHooks.count.HP_intif_rodex_updatemail_post > 0) {
+ int (*postHookFunc) (int retVal___, int64 mail_id, int8 flag);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_intif_rodex_updatemail_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_intif_rodex_updatemail_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, mail_id, flag);
+ }
+ }
+ return retVal___;
+}
+int HP_intif_rodex_sendmail(struct rodex_message *msg) {
+ int hIndex = 0;
+ int retVal___ = 0;
+ if (HPMHooks.count.HP_intif_rodex_sendmail_pre > 0) {
+ int (*preHookFunc) (struct rodex_message **msg);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_intif_rodex_sendmail_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_intif_rodex_sendmail_pre[hIndex].func;
+ retVal___ = preHookFunc(&msg);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.intif.rodex_sendmail(msg);
+ }
+ if (HPMHooks.count.HP_intif_rodex_sendmail_post > 0) {
+ int (*postHookFunc) (int retVal___, struct rodex_message *msg);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_intif_rodex_sendmail_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_intif_rodex_sendmail_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, msg);
+ }
+ }
+ return retVal___;
+}
+int HP_intif_rodex_checkname(struct map_session_data *sd, const char *name) {
+ int hIndex = 0;
+ int retVal___ = 0;
+ if (HPMHooks.count.HP_intif_rodex_checkname_pre > 0) {
+ int (*preHookFunc) (struct map_session_data **sd, const char **name);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_intif_rodex_checkname_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_intif_rodex_checkname_pre[hIndex].func;
+ retVal___ = preHookFunc(&sd, &name);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.intif.rodex_checkname(sd, name);
+ }
+ if (HPMHooks.count.HP_intif_rodex_checkname_post > 0) {
+ int (*postHookFunc) (int retVal___, struct map_session_data *sd, const char *name);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_intif_rodex_checkname_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_intif_rodex_checkname_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, sd, name);
+ }
+ }
+ return retVal___;
+}
void HP_intif_request_accinfo(int u_fd, int aid, int group_lv, char *query) {
int hIndex = 0;
if (HPMHooks.count.HP_intif_request_accinfo_pre > 0) {
@@ -34689,6 +35500,110 @@ void HP_intif_pDeleteHomunculusOk(int fd) {
}
return;
}
+void HP_intif_pRequestRodexOpenInbox(int fd) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_intif_pRequestRodexOpenInbox_pre > 0) {
+ void (*preHookFunc) (int *fd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_intif_pRequestRodexOpenInbox_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_intif_pRequestRodexOpenInbox_pre[hIndex].func;
+ preHookFunc(&fd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.intif.pRequestRodexOpenInbox(fd);
+ }
+ if (HPMHooks.count.HP_intif_pRequestRodexOpenInbox_post > 0) {
+ void (*postHookFunc) (int fd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_intif_pRequestRodexOpenInbox_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_intif_pRequestRodexOpenInbox_post[hIndex].func;
+ postHookFunc(fd);
+ }
+ }
+ return;
+}
+void HP_intif_pRodexHasNew(int fd) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_intif_pRodexHasNew_pre > 0) {
+ void (*preHookFunc) (int *fd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_intif_pRodexHasNew_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_intif_pRodexHasNew_pre[hIndex].func;
+ preHookFunc(&fd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.intif.pRodexHasNew(fd);
+ }
+ if (HPMHooks.count.HP_intif_pRodexHasNew_post > 0) {
+ void (*postHookFunc) (int fd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_intif_pRodexHasNew_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_intif_pRodexHasNew_post[hIndex].func;
+ postHookFunc(fd);
+ }
+ }
+ return;
+}
+void HP_intif_pRodexSendMail(int fd) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_intif_pRodexSendMail_pre > 0) {
+ void (*preHookFunc) (int *fd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_intif_pRodexSendMail_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_intif_pRodexSendMail_pre[hIndex].func;
+ preHookFunc(&fd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.intif.pRodexSendMail(fd);
+ }
+ if (HPMHooks.count.HP_intif_pRodexSendMail_post > 0) {
+ void (*postHookFunc) (int fd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_intif_pRodexSendMail_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_intif_pRodexSendMail_post[hIndex].func;
+ postHookFunc(fd);
+ }
+ }
+ return;
+}
+void HP_intif_pRodexCheckName(int fd) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_intif_pRodexCheckName_pre > 0) {
+ void (*preHookFunc) (int *fd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_intif_pRodexCheckName_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_intif_pRodexCheckName_pre[hIndex].func;
+ preHookFunc(&fd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.intif.pRodexCheckName(fd);
+ }
+ if (HPMHooks.count.HP_intif_pRodexCheckName_post > 0) {
+ void (*postHookFunc) (int fd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_intif_pRodexCheckName_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_intif_pRodexCheckName_post[hIndex].func;
+ postHookFunc(fd);
+ }
+ }
+ return;
+}
/* irc_bot_interface */
void HP_ircbot_init(bool minimal) {
int hIndex = 0;
@@ -60871,6 +61786,452 @@ double HP_rnd_uniform53(void) {
}
return retVal___;
}
+/* rodex_interface */
+void HP_rodex_init(bool minimal) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_rodex_init_pre > 0) {
+ void (*preHookFunc) (bool *minimal);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_rodex_init_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_rodex_init_pre[hIndex].func;
+ preHookFunc(&minimal);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.rodex.init(minimal);
+ }
+ if (HPMHooks.count.HP_rodex_init_post > 0) {
+ void (*postHookFunc) (bool minimal);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_rodex_init_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_rodex_init_post[hIndex].func;
+ postHookFunc(minimal);
+ }
+ }
+ return;
+}
+void HP_rodex_final(void) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_rodex_final_pre > 0) {
+ void (*preHookFunc) (void);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_rodex_final_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_rodex_final_pre[hIndex].func;
+ preHookFunc();
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.rodex.final();
+ }
+ if (HPMHooks.count.HP_rodex_final_post > 0) {
+ void (*postHookFunc) (void);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_rodex_final_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_rodex_final_post[hIndex].func;
+ postHookFunc();
+ }
+ }
+ return;
+}
+bool HP_rodex_isenabled(void) {
+ int hIndex = 0;
+ bool retVal___ = false;
+ if (HPMHooks.count.HP_rodex_isenabled_pre > 0) {
+ bool (*preHookFunc) (void);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_rodex_isenabled_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_rodex_isenabled_pre[hIndex].func;
+ retVal___ = preHookFunc();
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.rodex.isenabled();
+ }
+ if (HPMHooks.count.HP_rodex_isenabled_post > 0) {
+ bool (*postHookFunc) (bool retVal___);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_rodex_isenabled_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_rodex_isenabled_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___);
+ }
+ }
+ return retVal___;
+}
+void HP_rodex_open(struct map_session_data *sd, int8 open_type) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_rodex_open_pre > 0) {
+ void (*preHookFunc) (struct map_session_data **sd, int8 *open_type);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_rodex_open_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_rodex_open_pre[hIndex].func;
+ preHookFunc(&sd, &open_type);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.rodex.open(sd, open_type);
+ }
+ if (HPMHooks.count.HP_rodex_open_post > 0) {
+ void (*postHookFunc) (struct map_session_data *sd, int8 open_type);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_rodex_open_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_rodex_open_post[hIndex].func;
+ postHookFunc(sd, open_type);
+ }
+ }
+ return;
+}
+void HP_rodex_next_page(struct map_session_data *sd, int8 open_type, int64 last_mail_id) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_rodex_next_page_pre > 0) {
+ void (*preHookFunc) (struct map_session_data **sd, int8 *open_type, int64 *last_mail_id);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_rodex_next_page_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_rodex_next_page_pre[hIndex].func;
+ preHookFunc(&sd, &open_type, &last_mail_id);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.rodex.next_page(sd, open_type, last_mail_id);
+ }
+ if (HPMHooks.count.HP_rodex_next_page_post > 0) {
+ void (*postHookFunc) (struct map_session_data *sd, int8 open_type, int64 last_mail_id);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_rodex_next_page_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_rodex_next_page_post[hIndex].func;
+ postHookFunc(sd, open_type, last_mail_id);
+ }
+ }
+ return;
+}
+void HP_rodex_refresh(struct map_session_data *sd, int8 open_type, int64 first_mail_id) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_rodex_refresh_pre > 0) {
+ void (*preHookFunc) (struct map_session_data **sd, int8 *open_type, int64 *first_mail_id);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_rodex_refresh_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_rodex_refresh_pre[hIndex].func;
+ preHookFunc(&sd, &open_type, &first_mail_id);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.rodex.refresh(sd, open_type, first_mail_id);
+ }
+ if (HPMHooks.count.HP_rodex_refresh_post > 0) {
+ void (*postHookFunc) (struct map_session_data *sd, int8 open_type, int64 first_mail_id);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_rodex_refresh_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_rodex_refresh_post[hIndex].func;
+ postHookFunc(sd, open_type, first_mail_id);
+ }
+ }
+ return;
+}
+void HP_rodex_add_item(struct map_session_data *sd, int16 idx, int16 amount) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_rodex_add_item_pre > 0) {
+ void (*preHookFunc) (struct map_session_data **sd, int16 *idx, int16 *amount);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_rodex_add_item_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_rodex_add_item_pre[hIndex].func;
+ preHookFunc(&sd, &idx, &amount);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.rodex.add_item(sd, idx, amount);
+ }
+ if (HPMHooks.count.HP_rodex_add_item_post > 0) {
+ void (*postHookFunc) (struct map_session_data *sd, int16 idx, int16 amount);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_rodex_add_item_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_rodex_add_item_post[hIndex].func;
+ postHookFunc(sd, idx, amount);
+ }
+ }
+ return;
+}
+void HP_rodex_remove_item(struct map_session_data *sd, int16 idx, int16 amount) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_rodex_remove_item_pre > 0) {
+ void (*preHookFunc) (struct map_session_data **sd, int16 *idx, int16 *amount);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_rodex_remove_item_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_rodex_remove_item_pre[hIndex].func;
+ preHookFunc(&sd, &idx, &amount);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.rodex.remove_item(sd, idx, amount);
+ }
+ if (HPMHooks.count.HP_rodex_remove_item_post > 0) {
+ void (*postHookFunc) (struct map_session_data *sd, int16 idx, int16 amount);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_rodex_remove_item_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_rodex_remove_item_post[hIndex].func;
+ postHookFunc(sd, idx, amount);
+ }
+ }
+ return;
+}
+void HP_rodex_check_player(struct map_session_data *sd, const char *name, int *base_level, int *char_id, short *class) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_rodex_check_player_pre > 0) {
+ void (*preHookFunc) (struct map_session_data **sd, const char **name, int **base_level, int **char_id, short **class);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_rodex_check_player_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_rodex_check_player_pre[hIndex].func;
+ preHookFunc(&sd, &name, &base_level, &char_id, &class);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.rodex.check_player(sd, name, base_level, char_id, class);
+ }
+ if (HPMHooks.count.HP_rodex_check_player_post > 0) {
+ void (*postHookFunc) (struct map_session_data *sd, const char *name, int *base_level, int *char_id, short *class);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_rodex_check_player_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_rodex_check_player_post[hIndex].func;
+ postHookFunc(sd, name, base_level, char_id, class);
+ }
+ }
+ return;
+}
+int HP_rodex_send_mail(struct map_session_data *sd, const char *receiver_name, const char *body, const char *title, int64 zeny) {
+ int hIndex = 0;
+ int retVal___ = 0;
+ if (HPMHooks.count.HP_rodex_send_mail_pre > 0) {
+ int (*preHookFunc) (struct map_session_data **sd, const char **receiver_name, const char **body, const char **title, int64 *zeny);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_rodex_send_mail_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_rodex_send_mail_pre[hIndex].func;
+ retVal___ = preHookFunc(&sd, &receiver_name, &body, &title, &zeny);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.rodex.send_mail(sd, receiver_name, body, title, zeny);
+ }
+ if (HPMHooks.count.HP_rodex_send_mail_post > 0) {
+ int (*postHookFunc) (int retVal___, struct map_session_data *sd, const char *receiver_name, const char *body, const char *title, int64 zeny);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_rodex_send_mail_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_rodex_send_mail_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, sd, receiver_name, body, title, zeny);
+ }
+ }
+ return retVal___;
+}
+void HP_rodex_send_mail_result(struct map_session_data *ssd, struct map_session_data *rsd, bool result) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_rodex_send_mail_result_pre > 0) {
+ void (*preHookFunc) (struct map_session_data **ssd, struct map_session_data **rsd, bool *result);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_rodex_send_mail_result_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_rodex_send_mail_result_pre[hIndex].func;
+ preHookFunc(&ssd, &rsd, &result);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.rodex.send_mail_result(ssd, rsd, result);
+ }
+ if (HPMHooks.count.HP_rodex_send_mail_result_post > 0) {
+ void (*postHookFunc) (struct map_session_data *ssd, struct map_session_data *rsd, bool result);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_rodex_send_mail_result_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_rodex_send_mail_result_post[hIndex].func;
+ postHookFunc(ssd, rsd, result);
+ }
+ }
+ return;
+}
+struct rodex_message* HP_rodex_get_mail(struct map_session_data *sd, int64 mail_id) {
+ int hIndex = 0;
+ struct rodex_message* retVal___ = NULL;
+ if (HPMHooks.count.HP_rodex_get_mail_pre > 0) {
+ struct rodex_message* (*preHookFunc) (struct map_session_data **sd, int64 *mail_id);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_rodex_get_mail_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_rodex_get_mail_pre[hIndex].func;
+ retVal___ = preHookFunc(&sd, &mail_id);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.rodex.get_mail(sd, mail_id);
+ }
+ if (HPMHooks.count.HP_rodex_get_mail_post > 0) {
+ struct rodex_message* (*postHookFunc) (struct rodex_message* retVal___, struct map_session_data *sd, int64 mail_id);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_rodex_get_mail_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_rodex_get_mail_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, sd, mail_id);
+ }
+ }
+ return retVal___;
+}
+void HP_rodex_read_mail(struct map_session_data *sd, int64 mail_id) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_rodex_read_mail_pre > 0) {
+ void (*preHookFunc) (struct map_session_data **sd, int64 *mail_id);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_rodex_read_mail_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_rodex_read_mail_pre[hIndex].func;
+ preHookFunc(&sd, &mail_id);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.rodex.read_mail(sd, mail_id);
+ }
+ if (HPMHooks.count.HP_rodex_read_mail_post > 0) {
+ void (*postHookFunc) (struct map_session_data *sd, int64 mail_id);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_rodex_read_mail_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_rodex_read_mail_post[hIndex].func;
+ postHookFunc(sd, mail_id);
+ }
+ }
+ return;
+}
+void HP_rodex_get_zeny(struct map_session_data *sd, int8 opentype, int64 mail_id) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_rodex_get_zeny_pre > 0) {
+ void (*preHookFunc) (struct map_session_data **sd, int8 *opentype, int64 *mail_id);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_rodex_get_zeny_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_rodex_get_zeny_pre[hIndex].func;
+ preHookFunc(&sd, &opentype, &mail_id);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.rodex.get_zeny(sd, opentype, mail_id);
+ }
+ if (HPMHooks.count.HP_rodex_get_zeny_post > 0) {
+ void (*postHookFunc) (struct map_session_data *sd, int8 opentype, int64 mail_id);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_rodex_get_zeny_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_rodex_get_zeny_post[hIndex].func;
+ postHookFunc(sd, opentype, mail_id);
+ }
+ }
+ return;
+}
+void HP_rodex_get_items(struct map_session_data *sd, int8 opentype, int64 mail_id) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_rodex_get_items_pre > 0) {
+ void (*preHookFunc) (struct map_session_data **sd, int8 *opentype, int64 *mail_id);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_rodex_get_items_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_rodex_get_items_pre[hIndex].func;
+ preHookFunc(&sd, &opentype, &mail_id);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.rodex.get_items(sd, opentype, mail_id);
+ }
+ if (HPMHooks.count.HP_rodex_get_items_post > 0) {
+ void (*postHookFunc) (struct map_session_data *sd, int8 opentype, int64 mail_id);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_rodex_get_items_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_rodex_get_items_post[hIndex].func;
+ postHookFunc(sd, opentype, mail_id);
+ }
+ }
+ return;
+}
+void HP_rodex_delete_mail(struct map_session_data *sd, int64 mail_id) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_rodex_delete_mail_pre > 0) {
+ void (*preHookFunc) (struct map_session_data **sd, int64 *mail_id);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_rodex_delete_mail_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_rodex_delete_mail_pre[hIndex].func;
+ preHookFunc(&sd, &mail_id);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.rodex.delete_mail(sd, mail_id);
+ }
+ if (HPMHooks.count.HP_rodex_delete_mail_post > 0) {
+ void (*postHookFunc) (struct map_session_data *sd, int64 mail_id);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_rodex_delete_mail_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_rodex_delete_mail_post[hIndex].func;
+ postHookFunc(sd, mail_id);
+ }
+ }
+ return;
+}
+void HP_rodex_clean(struct map_session_data *sd, int8 flag) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_rodex_clean_pre > 0) {
+ void (*preHookFunc) (struct map_session_data **sd, int8 *flag);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_rodex_clean_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_rodex_clean_pre[hIndex].func;
+ preHookFunc(&sd, &flag);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.rodex.clean(sd, flag);
+ }
+ if (HPMHooks.count.HP_rodex_clean_post > 0) {
+ void (*postHookFunc) (struct map_session_data *sd, int8 flag);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_rodex_clean_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_rodex_clean_post[hIndex].func;
+ postHookFunc(sd, flag);
+ }
+ }
+ return;
+}
/* script_interface */
void HP_script_init(bool minimal) {
int hIndex = 0;
diff --git a/src/plugins/HPMHooking/HPMHooking_map.sources.inc b/src/plugins/HPMHooking/HPMHooking_map.sources.inc
index f00ffa7a9..ada63e53d 100644
--- a/src/plugins/HPMHooking/HPMHooking_map.sources.inc
+++ b/src/plugins/HPMHooking/HPMHooking_map.sources.inc
@@ -71,6 +71,7 @@ HPMHooks.source.libpcre = *libpcre;
HPMHooks.source.pet = *pet;
HPMHooks.source.quest = *quest;
HPMHooks.source.rnd = *rnd;
+HPMHooks.source.rodex = *rodex;
HPMHooks.source.script = *script;
HPMHooks.source.searchstore = *searchstore;
HPMHooks.source.showmsg = *showmsg;