/** * This file is part of Hercules. * http://herc.ws - http://github.com/HerculesWS/Hercules * * Copyright (C) 2012-2018 Hercules Dev Team * Copyright (C) Athena Dev Teams * * Hercules is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef MAP_INTIF_H #define MAP_INTIF_H #include "common/hercules.h" /** * Declarations **/ struct auction_data; struct guild_member; struct guild_position; struct guild_storage; struct mail_message; struct map_session_data; struct party_member; struct s_elemental; struct s_homunculus; struct s_mercenary; struct s_pet; struct rodex_message; /** * Defines **/ #define intif_rename_pc(sd, name) (intif->rename((sd), 0, (name))) #define intif_rename_pet(sd, name) (intif->rename((sd), 1, (name))) #define intif_rename_hom(sd, name) (intif->rename((sd), 2, (name))) #define INTIF_PACKET_LEN_TABLE_SIZE 161 /*===================================== * Interface : intif.h * Generated by HerculesInterfaceMaker * created by Susu *-------------------------------------*/ struct intif_interface { /* */ int packet_len_table[INTIF_PACKET_LEN_TABLE_SIZE]; /* funcs */ int (*parse) (int fd); int (*create_pet)(int account_id, int char_id, int pet_type, int pet_lv, int pet_egg_id, int pet_equip, short intimate, short hungry, char rename_flag, char incubate, char *pet_name); int (*saveregistry) (struct map_session_data *sd); int (*request_registry) (struct map_session_data *sd, int flag); void (*request_account_storage) (const struct map_session_data *sd, int storage_id); void (*send_account_storage) (struct map_session_data *sd, int storage_id); int (*request_guild_storage) (int account_id, int guild_id); int (*send_guild_storage) (int account_id, struct guild_storage *gstor); int (*create_party) (struct party_member *member, const char *name, int item, int item2); int (*request_partyinfo) (int party_id, int char_id); int (*party_addmember) (int party_id,struct party_member *member); int (*party_changeoption) (int party_id, int account_id, int exp, int item); int (*party_leave) (int party_id,int account_id, int char_id); int (*party_changemap) (struct map_session_data *sd, int online); int (*break_party) (int party_id); int (*party_leaderchange) (int party_id,int account_id,int char_id); int (*guild_create) (const char *name, const struct guild_member *master); int (*guild_request_info) (int guild_id); int (*guild_addmember) (int guild_id, struct guild_member *m); int (*guild_leave) (int guild_id, int account_id, int char_id, int flag, const char *mes); int (*guild_memberinfoshort) (int guild_id, int account_id, int char_id, int online, int lv, int class); int (*guild_break) (int guild_id); int (*guild_change_gm) (int guild_id, const char *name, int len); int (*guild_change_basicinfo) (int guild_id, int type, const void *data, int len); int (*guild_change_memberinfo) (int guild_id, int account_id, int char_id, int type, const void *data, int len); int (*guild_position) (int guild_id, int idx, struct guild_position *p); int (*guild_skillup) (int guild_id, uint16 skill_id, int account_id, int max); int (*guild_alliance) (int guild_id1, int guild_id2, int account_id1, int account_id2, int flag); int (*guild_notice) (int guild_id, const char *mes1, const char *mes2); int (*guild_emblem) (int guild_id, int len, const char *data); int (*guild_castle_dataload) (int num, int *castle_ids); int (*guild_castle_datasave) (int castle_id, int index, int value); void (*itembound_req) (int char_id, int aid, int guild_id); int (*request_petdata) (int account_id, int char_id, int pet_id); int (*save_petdata) (int account_id, struct s_pet *p); int (*delete_petdata) (int pet_id); int (*rename) (struct map_session_data *sd, int type, const char *name); int (*homunculus_create) (int account_id, struct s_homunculus *sh); bool (*homunculus_requestload) (int account_id, int homun_id); int (*homunculus_requestsave) (int account_id, struct s_homunculus* sh); int (*homunculus_requestdelete) (int homun_id); /******QUEST SYTEM*******/ void (*request_questlog) (struct map_session_data * sd); int (*quest_save) (struct map_session_data * sd); // MERCENARY SYSTEM int (*mercenary_create) (struct s_mercenary *merc); int (*mercenary_request) (int merc_id, int char_id); int (*mercenary_delete) (int merc_id); int (*mercenary_save) (struct s_mercenary *merc); // MAIL SYSTEM int (*Mail_requestinbox) (int char_id, unsigned char flag); int (*Mail_read) (int mail_id); int (*Mail_getattach) (int char_id, int mail_id); int (*Mail_delete) (int char_id, int mail_id); int (*Mail_return) (int char_id, int mail_id); int (*Mail_send) (int account_id, struct mail_message *msg); // AUCTION SYSTEM int (*Auction_requestlist) (int char_id, short type, int price, const char* searchtext, short page); int (*Auction_register) (struct auction_data *auction); int (*Auction_cancel) (int char_id, unsigned int auction_id); int (*Auction_close) (int char_id, unsigned int auction_id); int (*Auction_bid) (int char_id, const char* name, unsigned int auction_id, int bid); // ELEMENTAL SYSTEM int (*elemental_create) (struct s_elemental *ele); int (*elemental_request) (int ele_id, int char_id); int (*elemental_delete) (int ele_id); int (*elemental_save) (struct s_elemental *ele); // RoDEX int(*rodex_requestinbox) (int char_id, int account_id, int8 flag, int8 opentype, int64 mail_id); int(*rodex_checkhasnew) (struct map_session_data *sd); int(*rodex_updatemail) (struct map_session_data *sd, int64 mail_id, uint8 opentype, int8 flag); int(*rodex_sendmail) (struct rodex_message *msg); int(*rodex_checkname) (struct map_session_data *sd, const char *name); void (*pGetZenyAck) (int fd); void (*pGetItemsAck) (int fd); /* Clan System */ int (*clan_kickoffline) (int clan_id, int kick_interval); int (*clan_membercount) (int clan_id, int kick_interval); /* @accinfo */ void (*request_accinfo) (int u_fd, int aid, int group_lv, char* query); /* */ int (*CheckForCharServer) (void); /* Achievement System [Smokexyz/Hercules] */ void(*achievements_request) (struct map_session_data *sd); void(*achievements_save) (struct map_session_data *sd); /* */ void (*pRegisters) (int fd); void (*pAccountStorage) (int fd); void (*pChangeNameOk) (int fd); void (*pMessageToFD) (int fd); void (*pAccountStorageSaveAck) (int fd); void (*pLoadGuildStorage) (int fd); void (*pSaveGuildStorage) (int fd); void (*pPartyCreated) (int fd); void (*pPartyInfo) (int fd); void (*pPartyMemberAdded) (int fd); void (*pPartyOptionChanged) (int fd); void (*pPartyMemberWithdraw) (int fd); void (*pPartyMove) (int fd); void (*pPartyBroken) (int fd); void (*pGuildCreated) (int fd); void (*pGuildInfo) (int fd); void (*pGuildMemberAdded) (int fd); void (*pGuildMemberWithdraw) (int fd); void (*pGuildMemberInfoShort) (int fd); void (*pGuildBroken) (int fd); void (*pGuildBasicInfoChanged) (int fd); void (*pGuildMemberInfoChanged) (int fd); void (*pGuildPosition) (int fd); void (*pGuildSkillUp) (int fd); void (*pGuildAlliance) (int fd); void (*pGuildNotice) (int fd); void (*pGuildEmblem) (int fd); void (*pGuildCastleDataLoad) (int fd); void (*pGuildMasterChanged) (int fd); void (*pQuestLog) (int fd); void (*pQuestSave) (int fd); void (*pMailInboxReceived) (int fd); void (*pMailNew) (int fd); void (*pMailGetAttach) (int fd); void (*pMailDelete) (int fd); void (*pMailReturn) (int fd); void (*pMailSend) (int fd); void (*pAuctionResults) (int fd); void (*pAuctionRegister) (int fd); void (*pAuctionCancel) (int fd); void (*pAuctionClose) (int fd); void (*pAuctionMessage) (int fd); void (*pAuctionBid) (int fd); void (*pItembound_ack) (int fd); void (*pMercenaryReceived) (int fd); void (*pMercenaryDeleted) (int fd); void (*pMercenarySaved) (int fd); void (*pElementalReceived) (int fd); void (*pElementalDeleted) (int fd); void (*pElementalSaved) (int fd); void (*pCreatePet) (int fd); void (*pRecvPetData) (int fd); void (*pSavePetOk) (int fd); void (*pDeletePetOk) (int fd); void (*pCreateHomunculus) (int fd); void (*pRecvHomunculusData) (int fd); void (*pSaveHomunculusOk) (int fd); void (*pDeleteHomunculusOk) (int fd); /* RoDEX */ void(*pRequestRodexOpenInbox) (int fd); void(*pRodexHasNew) (int fd); void(*pRodexSendMail) (int fd); void(*pRodexCheckName) (int fd); /* Clan System */ void (*pRecvClanMemberAction) (int fd); /* Achievements */ void (*pAchievementsLoad) (int fd); }; #ifdef HERCULES_CORE void intif_defaults(void); #endif // HERCULES_CORE HPShared struct intif_interface *intif; #endif /* MAP_INTIF_H */