00001
00002 #ifndef _CLIF_H_
00003 #define _CLIF_H_
00004
00005 #ifdef _WIN32
00006 typedef unsigned int in_addr_t;
00007 #else
00008 #include <sys/types.h>
00009 #include <sys/socket.h>
00010 #include <netinet/in.h>
00011 #include <arpa/inet.h>
00012 #endif
00013
00014 #include "map.h"
00015
00016 extern unsigned char display_unknown_packet;
00017
00018 void delete_manner();
00019 char check_bad_word(const char* sentence, const int sentence_len, const struct map_session_data *sd);
00020
00021 void clif_setip(char*);
00022 void clif_setport(int);
00023
00024 in_addr_t clif_getip(void);
00025 int clif_getport(void);
00026 int clif_countusers(void);
00027 void clif_setwaitclose(int);
00028
00029 int clif_authok(struct map_session_data *);
00030 void clif_authfail_fd(int, int);
00031 int clif_charselectok(int);
00032 void check_fake_id(struct map_session_data *sd, int target_id);
00033 int clif_dropflooritem(struct flooritem_data *);
00034 int clif_clearflooritem(struct flooritem_data *,int);
00035 int clif_clearchar(struct block_list*, int);
00036 int clif_clearchar_delay(unsigned int, struct block_list *,int);
00037 #define clif_clearchar_area(bl,type) clif_clearchar(bl, type)
00038 void clif_clearchar_id(int, unsigned char, int);
00039 int clif_spawnpc(struct map_session_data*);
00040 int clif_spawnnpc(struct npc_data*);
00041 int clif_spawnmob(struct mob_data*);
00042 int clif_spawnpet(struct pet_data*);
00043 int clif_walkok(struct map_session_data*);
00044 int clif_movechar(struct map_session_data*);
00045 int clif_movemob(struct mob_data*);
00046 int clif_movepet(struct pet_data *pd);
00047 int clif_movenpc(struct npc_data *nd);
00048 int clif_changemap(struct map_session_data*, char*, int, int);
00049 int clif_changemapserver(struct map_session_data*, char*, int, int, int, int);
00050 int clif_fixpos(struct block_list *);
00051 int clif_fixmobpos(struct mob_data *md);
00052 int clif_fixpcpos(struct map_session_data *sd);
00053 int clif_fixpetpos(struct pet_data *pd);
00054 int clif_fixnpcpos(struct npc_data *nd);
00055 int clif_npcbuysell(struct map_session_data*, int);
00056 void clif_buylist(struct map_session_data*, struct npc_data*);
00057 void clif_selllist(struct map_session_data*);
00058 int clif_scriptmes(struct map_session_data*, int, char*);
00059 int clif_scriptnext(struct map_session_data*, int);
00060 int clif_scriptclose(struct map_session_data*, int);
00061 int clif_scriptmenu(struct map_session_data*, int, char*);
00062 int clif_scriptinput(struct map_session_data*,int);
00063 int clif_scriptinputstr(struct map_session_data *sd, int npcid);
00064 int clif_cutin(struct map_session_data*, char*, int);
00065 int clif_viewpoint(struct map_session_data*,int,int,int,int,int,int);
00066 int clif_additem(struct map_session_data*,int,int,int);
00067 int clif_delitem(struct map_session_data*,int,int);
00068 int clif_updatestatus(struct map_session_data*, int);
00069 int clif_changestatus(struct block_list*, int, int);
00070 int clif_damage(struct block_list *, struct block_list *, unsigned int, int, int, int, int, int, int);
00071 #define clif_takeitem(src, dst) clif_damage(src, dst, 0, 0, 0, 0, 0, 1, 0)
00072 int clif_changelook(struct block_list *, int, int);
00073 int clif_arrowequip(struct map_session_data *sd, int val);
00074 int clif_arrow_fail(struct map_session_data *sd, int type);
00075 void clif_arrow_create_list(struct map_session_data *sd);
00076 int clif_statusupack(struct map_session_data *, int, int, int);
00077 int clif_equipitemack(struct map_session_data *, int, int, int);
00078 int clif_unequipitemack(struct map_session_data *, int, int, int);
00079 int clif_misceffect(struct block_list*, int);
00080 int clif_misceffect2(struct block_list *bl, int type);
00081 int clif_changeoption(struct block_list*);
00082 int clif_useitemack(struct map_session_data*, int, int, int);
00083 void clif_GlobalMessage(struct block_list *bl, char *message);
00084 int clif_createchat(struct map_session_data*, int);
00085 int clif_dispchat(struct chat_data*, int);
00086 int clif_joinchatfail(struct map_session_data*, int);
00087 int clif_joinchatok(struct map_session_data*, struct chat_data*);
00088 int clif_addchat(struct chat_data*, struct map_session_data*);
00089 int clif_changechatowner(struct chat_data*, struct map_session_data*);
00090 int clif_clearchat(struct chat_data*, int);
00091 int clif_leavechat(struct chat_data*, struct map_session_data*);
00092 int clif_changechatstatus(struct chat_data*);
00093
00094 void clif_emotion(struct block_list *bl, int type);
00095 void clif_talkiebox(struct block_list *bl, char* talkie);
00096 void clif_wedding_effect(struct block_list *bl);
00097
00098
00099 void clif_adopt_process(struct map_session_data *sd);
00100 void clif_sitting(struct map_session_data *sd);
00101 void clif_soundeffect(struct map_session_data *sd, struct block_list *bl, char *name, int type);
00102 int clif_soundeffectall(struct block_list *bl, char *name, int type);
00103
00104
00105 int clif_traderequest(struct map_session_data *sd, char *name);
00106 int clif_tradestart(struct map_session_data *sd, unsigned char type);
00107 int clif_tradeadditem(struct map_session_data *sd, struct map_session_data *tsd, int idx, int amount);
00108 int clif_tradeitemok(struct map_session_data *sd, int idx, int fail);
00109 int clif_tradedeal_lock(struct map_session_data *sd, int fail);
00110 int clif_tradecancelled(struct map_session_data *sd);
00111 int clif_tradecompleted(struct map_session_data *sd, int fail);
00112
00113
00114 #include "storage.h"
00115 int clif_storageitemlist(struct map_session_data *sd,struct storage *stor);
00116 int clif_storageequiplist(struct map_session_data *sd,struct storage *stor);
00117 int clif_updatestorageamount(struct map_session_data *sd,struct storage *stor);
00118 int clif_storageitemadded(struct map_session_data *sd,struct storage *stor,int idx,int amount);
00119 int clif_storageitemremoved(struct map_session_data *sd,int idx,int amount);
00120 int clif_storageclose(struct map_session_data *sd);
00121 int clif_guildstorageitemlist(struct map_session_data *sd,struct guild_storage *stor);
00122 int clif_guildstorageequiplist(struct map_session_data *sd,struct guild_storage *stor);
00123 int clif_updateguildstorageamount(struct map_session_data *sd,struct guild_storage *stor);
00124 int clif_guildstorageitemadded(struct map_session_data *sd,struct guild_storage *stor,int idx,int amount);
00125
00126 int clif_pcinsight(struct block_list *,va_list);
00127 int clif_pcoutsight(struct block_list *,va_list);
00128 int clif_mobinsight(struct block_list *,va_list);
00129 int clif_moboutsight(struct block_list *,va_list);
00130 int clif_petoutsight(struct block_list *bl,va_list ap);
00131 int clif_petinsight(struct block_list *bl,va_list ap);
00132 int clif_npcoutsight(struct block_list *bl,va_list ap);
00133 int clif_npcinsight(struct block_list *bl,va_list ap);
00134
00135 int clif_class_change(struct block_list *bl,int class,int type);
00136 int clif_mob_class_change(struct mob_data *md,int class);
00137 int clif_mob_equip(struct mob_data *md,int nameid);
00138
00139 int clif_skillinfo(struct map_session_data *sd,int skillid,int type,int range);
00140 int clif_skillinfoblock(struct map_session_data *sd);
00141 int clif_skillup(struct map_session_data *sd,int skill_num);
00142
00143 int clif_skillcasting(struct block_list* bl,
00144 int src_id, int dst_id, int dst_x, int dst_y, int skill_num, int casttime);
00145 int clif_skillcastcancel(struct block_list* bl);
00146 int clif_skill_fail(struct map_session_data *sd, int skill_id, int type, int btype);
00147 int clif_skill_damage(struct block_list *src, struct block_list *dst,
00148 unsigned int tick, int sdelay, int ddelay, int damage, int div_,
00149 int skill_id, int skill_lv, int type);
00150 int clif_skill_damage2(struct block_list *src,struct block_list *dst,
00151 unsigned int tick, int sdelay, int ddelay, int damage, int div_,
00152 int skill_id, int skill_lv, int type);
00153 int clif_skill_nodamage(struct block_list *src, struct block_list *dst,
00154 int skill_id, int heal, int fail);
00155 int clif_skill_poseffect(struct block_list *src,int skill_id,
00156 int val,int x,int y,int tick);
00157 int clif_skill_estimation(struct map_session_data *sd, struct block_list *dst);
00158 void clif_skill_warppoint(struct map_session_data *sd, unsigned short skill_num, const char *map1,const char *map2, const char *map3, const char *map4);
00159 void clif_skill_memo(struct map_session_data *sd, unsigned char flag);
00160 int clif_skill_teleportmessage(struct map_session_data *sd, int flag);
00161 int clif_skill_produce_mix_list(struct map_session_data *sd, int trigger);
00162
00163 int clif_produceeffect(struct map_session_data *sd,int flag,int nameid);
00164
00165 int clif_skill_setunit(struct skill_unit *unit);
00166 int clif_skill_delunit(struct skill_unit *unit);
00167
00168 int clif_01ac(struct block_list *bl);
00169
00170 int clif_autospell(struct map_session_data *sd,int skilllv);
00171 int clif_devotion(struct map_session_data *sd,int target);
00172 int clif_spiritball(struct map_session_data *sd);
00173 int clif_combo_delay(struct block_list *src, int wait);
00174 int clif_bladestop(struct block_list *src, struct block_list *dst, int boolean);
00175 int clif_update_mobhp(struct mob_data *md);
00176 int clif_changemapcell(int m,int x,int y,int cell_type,int type);
00177
00178 int clif_status_change(struct block_list *bl,int type,int flag);
00179
00180 #ifdef USE_SQL
00181 int clif_status_load(struct map_session_data *sd, int type);
00182 #endif
00183
00184 int clif_wis_message(int fd,char *nick,char *mes,int mes_len);
00185 int clif_wis_end(int fd,int flag);
00186
00187 void clif_solved_charname(struct map_session_data *sd,int char_id);
00188
00189 void clif_insert_card(struct map_session_data *sd, short idx_equip, short idx_card, unsigned char flag);
00190
00191 int clif_itemlist(struct map_session_data *sd);
00192 int clif_equiplist(struct map_session_data *sd);
00193
00194 int clif_cart_additem(struct map_session_data*, int n, int amount);
00195 int clif_cart_addequipitem(struct map_session_data *sd, int n, int amount);
00196 int clif_cart_delitem(struct map_session_data*, int, int);
00197 int clif_cart_itemlist(struct map_session_data *sd);
00198 int clif_cart_equiplist(struct map_session_data *sd);
00199
00200 int clif_item_identify_list(struct map_session_data *sd);
00201 void clif_item_identified(struct map_session_data *sd, short idx, unsigned char flag);
00202 int clif_item_repair_list(struct map_session_data *sd);
00203 int clif_item_refine_list(struct map_session_data *sd);
00204
00205 int clif_item_skill(struct map_session_data *sd,int skillid,int skilllv,const char *name);
00206
00207 int clif_mvp_effect(struct map_session_data *sd);
00208 int clif_mvp_item(struct map_session_data *sd, int nameid);
00209 int clif_mvp_exp(struct map_session_data *sd, int mexp);
00210 void clif_changed_dir(struct block_list *bl);
00211
00212
00213 int clif_openvendingreq(struct map_session_data *sd, int num);
00214 int clif_showvendingboard(struct block_list* bl,char *message, int fd);
00215 void clif_closevendingboard(struct block_list* bl, int fd);
00216 int clif_vendinglist(struct map_session_data *sd, int id, struct vending *vending);
00217 int clif_buyvending(struct map_session_data *sd, int idx, int amount,int fail);
00218 int clif_openvending(struct map_session_data *sd, int id, struct vending *vending);
00219 int clif_vendingreport(struct map_session_data *sd, int idx, int amount);
00220
00221 int clif_movetoattack(struct map_session_data *sd,struct block_list *bl);
00222
00223
00224 int clif_party_created(struct map_session_data *sd, int flag);
00225 int clif_party_info(struct party *p, int fd);
00226 void clif_party_invite(struct map_session_data *sd, struct map_session_data *tsd, struct party *p);
00227 int clif_party_inviteack(struct map_session_data *sd, char *nick, int flag);
00228 int clif_party_option(struct party *p, struct map_session_data *sd, int flag);
00229 int clif_party_leaved(struct party *p, struct map_session_data *sd, int account_id, char *name, int flag);
00230 int clif_party_message(struct party *p, int account_id,char *mes, int len);
00231 int clif_party_move(struct party *p, struct map_session_data *sd, int online);
00232 int clif_party_xy(struct party *p, struct map_session_data *sd);
00233 int clif_party_hp(struct party *p, struct map_session_data *sd);
00234 int clif_hpmeter(struct map_session_data *sd, struct map_session_data *dstsd);
00235
00236
00237 void clif_guild_created(struct map_session_data *sd, int flag);
00238 int clif_guild_belonginfo(struct map_session_data *sd, struct guild *g);
00239 void clif_guild_basicinfo(struct map_session_data *sd);
00240 void clif_guild_allianceinfo(struct map_session_data *sd);
00241 void clif_guild_memberlist(struct map_session_data *sd);
00242 void clif_guild_skillinfo(struct map_session_data *sd);
00243 int clif_guild_memberlogin_notice(struct guild *g, int idx, int flag);
00244 void clif_guild_invite(struct map_session_data *sd, struct guild *g);
00245 void clif_guild_inviteack(struct map_session_data *sd, int flag);
00246 int clif_guild_leave(struct map_session_data *sd, const char *name, const char *mes);
00247 void clif_guild_explusion(struct map_session_data *sd, const char *name, const char *mes, int account_id);
00248 int clif_guild_positionchanged(struct guild *g, int idx);
00249 int clif_guild_memberpositionchanged(struct guild *g, int idx);
00250 void clif_guild_emblem(struct map_session_data *sd, struct guild *g);
00251 int clif_guild_notice(struct map_session_data *sd, struct guild *g);
00252 int clif_guild_message(struct guild *g, int account_id, const char *mes, short len);
00253 int clif_guild_skillup(struct map_session_data *sd, int skill_num, int lv);
00254 int clif_guild_reqalliance(struct map_session_data *sd, int account_id, const char *name);
00255 int clif_guild_allianceack(struct map_session_data *sd, int flag);
00256 int clif_guild_delalliance(struct map_session_data *sd, int guild_id, int flag);
00257 void clif_guild_oppositionack(struct map_session_data *sd, unsigned char flag);
00258 void clif_guild_broken(struct map_session_data *sd, int flag);
00259
00260
00261
00262 int clif_displaymessage(const int fd, char* mes);
00263 void clif_disp_onlyself(struct map_session_data *sd, char *mes);
00264 int clif_GMmessage(struct block_list *bl, char* mes, short len, int flag);
00265 void clif_announce(char* mes, unsigned int color, int flag);
00266 int clif_heal(int fd, int type, int val);
00267 int clif_resurrection(struct block_list *bl, int type);
00268 int clif_set0199(int fd, int type);
00269 int clif_pvpset(struct map_session_data *sd, int pvprank, int pvpnum, int type);
00270 int clif_send0199(int map_id, int type);
00271 int clif_refine(int fd, struct map_session_data *sd, int fail, int idx, int val);
00272
00273
00274 int clif_catch_process(struct map_session_data *sd);
00275 void clif_pet_rulet(struct map_session_data *sd, unsigned char flag);
00276 int clif_sendegg(struct map_session_data *sd);
00277 int clif_send_petdata(struct map_session_data *sd, int type, int param);
00278 void clif_send_petstatus(struct map_session_data *sd);
00279 int clif_pet_performance(struct block_list *bl, int param);
00280 int clif_pet_equip(struct pet_data *pd, int nameid);
00281 int clif_pet_food(struct map_session_data *sd, int foodid, int fail);
00282
00283
00284 void clif_friend_send_info(struct map_session_data *sd);
00285 void clif_friend_add_ack(const int fd, int account_id, int char_id, char* name, int flag);
00286 void clif_friend_del_ack(const int fd, int account_id, int char_id);
00287 void clif_friend_send_online(const int fd, int account_id, int char_id, int flag);
00288
00289 int clif_specialeffect(struct block_list *bl,int type, int flag);
00290 int clif_message(struct block_list *bl, char* msg);
00291
00292 int clif_GM_kickack(struct map_session_data *sd, int id);
00293 int clif_GM_kick(struct map_session_data *sd, struct map_session_data *tsd, int type);
00294
00295 int clif_foreachclient(int (*)(struct map_session_data*, va_list), ...);
00296
00297 int clif_display_globalchat(struct map_session_data *sd, char* message);
00298
00299 int do_final_clif(void);
00300 int do_init_clif(void);
00301
00302 #endif // _CLIF_H_