summaryrefslogtreecommitdiff
path: root/src/map/clif.hpp
blob: fd8c9b1bf8d3830894229b75c978e29921275a70 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
#ifndef CLIF_HPP
#define CLIF_HPP

#include <arpa/inet.h>
#include <netinet/in.h>
#include <sys/socket.h>
#include <sys/types.h>

#include "map.hpp"
#include "storage.hpp"

void clif_setip(const char *);
void clif_setport(int);

struct in_addr clif_getip(void);
int clif_getport(void);
int clif_countusers(void);
void clif_setwaitclose(int);

int clif_authok(struct map_session_data *);
int clif_authfail_fd(int, int);
int clif_charselectok(int);
int clif_dropflooritem(struct flooritem_data *);
int clif_clearflooritem(struct flooritem_data *, int);
int clif_clearchar(struct block_list *, int); // area or fd
int clif_clearchar_delay(unsigned int, struct block_list *, int);
#define clif_clearchar_area(bl,type) clif_clearchar(bl,type)
int clif_clearchar_id(int, int, int);
int clif_spawnpc(struct map_session_data *);  //area
int clif_spawnnpc(struct npc_data *); // area
int clif_spawn_fake_npc_for_player(struct map_session_data *sd,
                                     int fake_npc_id);
int clif_spawnmob(struct mob_data *); // area
int clif_walkok(struct map_session_data *);   // self
int clif_movechar(struct map_session_data *); // area
int clif_movemob(struct mob_data *);  //area
int clif_changemap(struct map_session_data *, const char *, int, int);  //self
int clif_changemapserver(struct map_session_data *, const char *, int, int, struct in_addr, int);  //self
int clif_fixpos(struct block_list *); // area
int clif_fixmobpos(struct mob_data *md);
int clif_fixpcpos(struct map_session_data *sd);
int clif_npcbuysell(struct map_session_data *, int);  //self
int clif_buylist(struct map_session_data *, struct npc_data *);   //self
int clif_selllist(struct map_session_data *); //self
int clif_scriptmes(struct map_session_data *, int, const char *);   //self
int clif_scriptnext(struct map_session_data *, int);  //self
int clif_scriptclose(struct map_session_data *, int); //self
int clif_scriptmenu(struct map_session_data *, int, const char *);  //self
int clif_scriptinput(struct map_session_data *, int); //self
int clif_scriptinputstr(struct map_session_data *sd, int npcid);  // self
int clif_cutin(struct map_session_data *, const char *, int);   //self
int clif_viewpoint(struct map_session_data *, int, int, int, int, int, int);  //self
int clif_additem(struct map_session_data *, int, int, int);   //self
int clif_delitem(struct map_session_data *, int, int);    //self
int clif_updatestatus(struct map_session_data *, int);    //self
int clif_damage(struct block_list *, struct block_list *, unsigned int, int, int, int, int, int, int);    // area
#define clif_takeitem(src,dst) clif_damage(src,dst,0,0,0,0,0,1,0)
int clif_changelook(struct block_list *, int, int);   // area
void clif_changelook_accessories(struct block_list *bl, struct map_session_data *dst); // area or target; list gloves, boots etc.
int clif_arrowequip(struct map_session_data *sd, int val);    //self
int clif_arrow_fail(struct map_session_data *sd, int type);   //self
int clif_statusupack(struct map_session_data *, int, int, int);   // self
int clif_equipitemack(struct map_session_data *, int, int, int);  // self
int clif_unequipitemack(struct map_session_data *, int, int, int);    // self
int clif_misceffect(struct block_list *, int);    // area
int clif_changeoption(struct block_list *);   // area
int clif_useitemack(struct map_session_data *, int, int, int);    // self

void clif_emotion(struct block_list *bl, int type);
void clif_sitting(int fd, struct map_session_data *sd);

// trade
int clif_traderequest(struct map_session_data *sd, const char *name);
int clif_tradestart(struct map_session_data *sd, int type);
int clif_tradeadditem(struct map_session_data *sd,
                        struct map_session_data *tsd, int index, int amount);
int clif_tradeitemok(struct map_session_data *sd, int index, int amount,
                       int fail);
int clif_tradedeal_lock(struct map_session_data *sd, int fail);
int clif_tradecancelled(struct map_session_data *sd);
int clif_tradecompleted(struct map_session_data *sd, int fail);

// storage
int clif_storageitemlist(struct map_session_data *sd, struct storage *stor);
int clif_storageequiplist(struct map_session_data *sd,
                            struct storage *stor);
int clif_updatestorageamount(struct map_session_data *sd,
                               struct storage *stor);
int clif_storageitemadded(struct map_session_data *sd, struct storage *stor,
                            int index, int amount);
int clif_storageitemremoved(struct map_session_data *sd, int index,
                              int amount);
int clif_storageclose(struct map_session_data *sd);

// map_forallinmovearea callbacks
void clif_pcinsight(struct block_list *, struct map_session_data *);
void clif_pcoutsight(struct block_list *, struct map_session_data *);
void clif_mobinsight(struct block_list *, struct mob_data *);
void clif_moboutsight(struct block_list *, struct mob_data *);

int clif_skillinfo(struct map_session_data *sd, SkillID skillid, int type,
                     int range);
int clif_skillinfoblock(struct map_session_data *sd);
int clif_skillup(struct map_session_data *sd, SkillID skill_num);

int clif_skillcastcancel(struct block_list *bl);
int clif_skill_fail(struct map_session_data *sd, SkillID skill_id, int type,
                      int btype);
int clif_skill_damage(struct block_list *src, struct block_list *dst,
                        unsigned int tick, int sdelay, int ddelay, int damage,
                        int div, SkillID skill_id, int skill_lv, int type);

int clif_status_change(struct block_list *bl,
        StatusChange type, int flag);

int clif_wis_message(int fd, const char *nick, const char *mes, int mes_len);
int clif_wis_end(int fd, int flag);

int clif_itemlist(struct map_session_data *sd);
int clif_equiplist(struct map_session_data *sd);

int clif_mvp_effect(struct map_session_data *sd);

int clif_movetoattack(struct map_session_data *sd, struct block_list *bl);

// party
int clif_party_created(struct map_session_data *sd, int flag);
int clif_party_info(struct party *p, int fd);
int clif_party_invite(struct map_session_data *sd,
                        struct map_session_data *tsd);
int clif_party_inviteack(struct map_session_data *sd, const char *nick, int flag);
int clif_party_option(struct party *p, struct map_session_data *sd,
                        int flag);
int clif_party_leaved(struct party *p, struct map_session_data *sd,
                        int account_id, const char *name, int flag);
int clif_party_message(struct party *p, int account_id, const char *mes, int len);
int clif_party_xy(struct party *p, struct map_session_data *sd);
int clif_party_hp(struct party *p, struct map_session_data *sd);

// atcommand
int clif_displaymessage(int fd, const char *mes);
int clif_disp_onlyself(struct map_session_data *sd, const char *mes, int len);
int clif_GMmessage(struct block_list *bl, const char *mes, int len, int flag);
int clif_resurrection(struct block_list *bl, int type);

int clif_specialeffect(struct block_list *bl, int type, int flag);    // special effects [Valaris]
int clif_message(struct block_list *bl, const char *msg);   // messages (from mobs/npcs) [Valaris]

int clif_GM_kick(struct map_session_data *sd, struct map_session_data *tsd,
                   int type);

int clif_foreachclient(std::function<void(struct map_session_data *)>);

int do_init_clif (void);

#endif // CLIF_HPP