summaryrefslogtreecommitdiff
path: root/src/map/clif.c
diff options
context:
space:
mode:
authorChuck Miller <shadowmil@gmail.com>2009-12-25 05:00:31 -0500
committerJared Adams <jaxad0127@gmail.com>2009-12-26 00:40:11 -0700
commit634aeeb9d58b01f9de6632a014a063ef0c4cf31e (patch)
tree70023dd2bcc12a3f96ec6f118d80e27411920531 /src/map/clif.c
parent113fcc4f0a7a0921e94bc415515dd4b393a29d60 (diff)
downloadtmwa-634aeeb9d58b01f9de6632a014a063ef0c4cf31e.tar.gz
tmwa-634aeeb9d58b01f9de6632a014a063ef0c4cf31e.tar.bz2
tmwa-634aeeb9d58b01f9de6632a014a063ef0c4cf31e.tar.xz
tmwa-634aeeb9d58b01f9de6632a014a063ef0c4cf31e.zip
Used the "indent" C formatting program from GNU to do some clean ups
The command options used was: -nbad -bap -sc -bl -blf -bli0 -cli4 -cbi0 -di5 -nbc -bls -ip2 -nut -ts4 -bap -i4 -sob -npsl
Diffstat (limited to 'src/map/clif.c')
-rw-r--r--src/map/clif.c12538
1 files changed, 6774 insertions, 5764 deletions
diff --git a/src/map/clif.c b/src/map/clif.c
index 3fe4ad9..c3099d7 100644
--- a/src/map/clif.c
+++ b/src/map/clif.c
@@ -52,75 +52,76 @@
#define EMOTE_IGNORED 0x0e
static const int packet_len_table[0x220] = {
- 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
//#0x0040
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, -1, 55, 17, 3, 37, 46, -1, 23, -1, 3,108, 3, 2,
- 3, 28, 19, 11, 3, -1, 9, 5, 54, 53, 58, 60, 41, 2, 6, 6,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, -1, 55, 17, 3, 37, 46, -1, 23, -1, 3, 108, 3, 2,
+ 3, 28, 19, 11, 3, -1, 9, 5, 54, 53, 58, 60, 41, 2, 6, 6,
//#0x0080
- 7, 3, 2, 2, 2, 5, 16, 12, 10, 7, 29, 23, -1, -1, -1, 0, // 0x8b unknown... size 2 or 23?
- 7, 22, 28, 2, 6, 30, -1, -1, 3, -1, -1, 5, 9, 17, 17, 6,
- 23, 6, 6, -1, -1, -1, -1, 8, 7, 6, 7, 4, 7, 0, -1, 6,
- 8, 8, 3, 3, -1, 6, 6, -1, 7, 6, 2, 5, 6, 44, 5, 3,
+ 7, 3, 2, 2, 2, 5, 16, 12, 10, 7, 29, 23, -1, -1, -1, 0, // 0x8b unknown... size 2 or 23?
+ 7, 22, 28, 2, 6, 30, -1, -1, 3, -1, -1, 5, 9, 17, 17, 6,
+ 23, 6, 6, -1, -1, -1, -1, 8, 7, 6, 7, 4, 7, 0, -1, 6,
+ 8, 8, 3, 3, -1, 6, 6, -1, 7, 6, 2, 5, 6, 44, 5, 3,
//#0x00C0
- 7, 2, 6, 8, 6, 7, -1, -1, -1, -1, 3, 3, 6, 6, 2, 27,
- 3, 4, 4, 2, -1, -1, 3, -1, 6, 14, 3, -1, 28, 29, -1, -1,
- 30, 30, 26, 2, 6, 26, 3, 3, 8, 19, 5, 2, 3, 2, 2, 2,
- 3, 2, 6, 8, 21, 8, 8, 2, 2, 26, 3, -1, 6, 27, 30, 10,
+ 7, 2, 6, 8, 6, 7, -1, -1, -1, -1, 3, 3, 6, 6, 2, 27,
+ 3, 4, 4, 2, -1, -1, 3, -1, 6, 14, 3, -1, 28, 29, -1, -1,
+ 30, 30, 26, 2, 6, 26, 3, 3, 8, 19, 5, 2, 3, 2, 2, 2,
+ 3, 2, 6, 8, 21, 8, 8, 2, 2, 26, 3, -1, 6, 27, 30, 10,
//#0x0100
- 2, 6, 6, 30, 79, 31, 10, 10, -1, -1, 4, 6, 6, 2, 11, -1,
- 10, 39, 4, 10, 31, 35, 10, 18, 2, 13, 15, 20, 68, 2, 3, 16,
- 6, 14, -1, -1, 21, 8, 8, 8, 8, 8, 2, 2, 3, 4, 2, -1,
- 6, 86, 6, -1, -1, 7, -1, 6, 3, 16, 4, 4, 4, 6, 24, 26,
+ 2, 6, 6, 30, 79, 31, 10, 10, -1, -1, 4, 6, 6, 2, 11, -1,
+ 10, 39, 4, 10, 31, 35, 10, 18, 2, 13, 15, 20, 68, 2, 3, 16,
+ 6, 14, -1, -1, 21, 8, 8, 8, 8, 8, 2, 2, 3, 4, 2, -1,
+ 6, 86, 6, -1, -1, 7, -1, 6, 3, 16, 4, 4, 4, 6, 24, 26,
//#0x0140
- 22, 14, 6, 10, 23, 19, 6, 39, 8, 9, 6, 27, -1, 2, 6, 6,
- 110, 6, -1, -1, -1, -1, -1, 6, -1, 54, 66, 54, 90, 42, 6, 42,
- -1, -1, -1, -1, -1, 30, -1, 3, 14, 3, 30, 10, 43, 14,186,182,
- 14, 30, 10, 3, -1, 6,106, -1, 4, 5, 4, -1, 6, 7, -1, -1,
+ 22, 14, 6, 10, 23, 19, 6, 39, 8, 9, 6, 27, -1, 2, 6, 6,
+ 110, 6, -1, -1, -1, -1, -1, 6, -1, 54, 66, 54, 90, 42, 6, 42,
+ -1, -1, -1, -1, -1, 30, -1, 3, 14, 3, 30, 10, 43, 14, 186, 182,
+ 14, 30, 10, 3, -1, 6, 106, -1, 4, 5, 4, -1, 6, 7, -1, -1,
//#0x0180
- 6, 3,106, 10, 10, 34, 0, 6, 8, 4, 4, 4, 29, -1, 10, 6,
- 90, 86, 24, 6, 30,102, 9, 4, 8, 4, 14, 10, -1, 6, 2, 6,
- 3, 3, 35, 5, 11, 26, -1, 4, 4, 6, 10, 12, 6, -1, 4, 4,
- 11, 7, -1, 67, 12, 18,114, 6, 3, 6, 26, 26, 26, 26, 2, 3,
+ 6, 3, 106, 10, 10, 34, 0, 6, 8, 4, 4, 4, 29, -1, 10, 6,
+ 90, 86, 24, 6, 30, 102, 9, 4, 8, 4, 14, 10, -1, 6, 2, 6,
+ 3, 3, 35, 5, 11, 26, -1, 4, 4, 6, 10, 12, 6, -1, 4, 4,
+ 11, 7, -1, 67, 12, 18, 114, 6, 3, 6, 26, 26, 26, 26, 2, 3,
//#0x01C0, Set 0x1d5=-1
- 2, 14, 10, -1, 22, 22, 4, 2, 13, 97, 0, 9, 9, 30, 6, 28,
- 8, 14, 10, 35, 6, -1, 4, 11, 54, 53, 60, 2, -1, 47, 33, 6,
- 30, 8, 34, 14, 2, 6, 26, 2, 28, 81, 6, 10, 26, 2, -1, -1,
- -1, -1, 20, 10, 32, 9, 34, 14, 2, 6, 48, 56, -1, 4, 5, 10,
+ 2, 14, 10, -1, 22, 22, 4, 2, 13, 97, 0, 9, 9, 30, 6, 28,
+ 8, 14, 10, 35, 6, -1, 4, 11, 54, 53, 60, 2, -1, 47, 33, 6,
+ 30, 8, 34, 14, 2, 6, 26, 2, 28, 81, 6, 10, 26, 2, -1, -1,
+ -1, -1, 20, 10, 32, 9, 34, 14, 2, 6, 48, 56, -1, 4, 5, 10,
//#0x200
- 26, -1, 26, 10, 18, 26, 11, 34, 14, 36, 10, 19, 0, -1, 24, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 26, -1, 26, 10, 18, 26, 11, 34, 14, 36, 10, 19, 0, -1, 24, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
};
// local define
-enum {
- ALL_CLIENT,
- ALL_SAMEMAP,
- AREA,
- AREA_WOS,
- AREA_WOC,
- AREA_WOSC,
- AREA_CHAT_WOC,
- CHAT,
- CHAT_WOS,
- PARTY,
- PARTY_WOS,
- PARTY_SAMEMAP,
- PARTY_SAMEMAP_WOS,
- PARTY_AREA,
- PARTY_AREA_WOS,
- GUILD,
- GUILD_WOS,
- GUILD_SAMEMAP, // [Valaris]
- GUILD_SAMEMAP_WOS,
- GUILD_AREA,
- GUILD_AREA_WOS, // end additions [Valaris]
- SELF
+enum
+{
+ ALL_CLIENT,
+ ALL_SAMEMAP,
+ AREA,
+ AREA_WOS,
+ AREA_WOC,
+ AREA_WOSC,
+ AREA_CHAT_WOC,
+ CHAT,
+ CHAT_WOS,
+ PARTY,
+ PARTY_WOS,
+ PARTY_SAMEMAP,
+ PARTY_SAMEMAP_WOS,
+ PARTY_AREA,
+ PARTY_AREA_WOS,
+ GUILD,
+ GUILD_WOS,
+ GUILD_SAMEMAP, // [Valaris]
+ GUILD_SAMEMAP_WOS,
+ GUILD_AREA,
+ GUILD_AREA_WOS, // end additions [Valaris]
+ SELF
};
#define WBUFPOS(p,pos,x,y) { unsigned char *__p = (p); __p+=(pos); __p[0] = (x)>>2; __p[1] = ((x)<<6) | (((y)>>4)&0x3f); __p[2] = (y)<<4; }
@@ -132,376 +133,452 @@ enum {
static char map_ip_str[16];
static in_addr_t map_ip;
static int map_port = 5121;
-int map_fd;
+int map_fd;
char talkie_mes[80];
/*==========================================
* map�I��ip�ݒ�
*------------------------------------------
*/
-void clif_setip(char *ip)
+void clif_setip (char *ip)
{
- memcpy(map_ip_str, ip, 16);
- map_ip = inet_addr(map_ip_str);
+ memcpy (map_ip_str, ip, 16);
+ map_ip = inet_addr (map_ip_str);
}
/*==========================================
* map�I��port�ݒ�
*------------------------------------------
*/
-void clif_setport(int port)
+void clif_setport (int port)
{
- map_port = port;
+ map_port = port;
}
/*==========================================
* map�I��ip�ǂݏo��
*------------------------------------------
*/
-in_addr_t clif_getip(void)
+in_addr_t clif_getip (void)
{
- return map_ip;
+ return map_ip;
}
/*==========================================
* map�I��port�ǂݏo��
*------------------------------------------
*/
-int clif_getport(void)
+int clif_getport (void)
{
- return map_port;
+ return map_port;
}
/*==========================================
*
*------------------------------------------
*/
-int clif_countusers(void)
+int clif_countusers (void)
{
- int users = 0, i;
- struct map_session_data *sd;
+ int users = 0, i;
+ struct map_session_data *sd;
- for(i = 0; i < fd_max; i++) {
- if (session[i] && (sd = session[i]->session_data) && sd && sd->state.auth &&
- !(battle_config.hide_GM_session && pc_isGM(sd)))
- users++;
- }
- return users;
+ for (i = 0; i < fd_max; i++)
+ {
+ if (session[i] && (sd = session[i]->session_data) && sd
+ && sd->state.auth && !(battle_config.hide_GM_session
+ && pc_isGM (sd)))
+ users++;
+ }
+ return users;
}
/*==========================================
* �S�Ă�client�ɑ΂���func()��s
*------------------------------------------
*/
-int clif_foreachclient(int (*func)(struct map_session_data*, va_list),...)
+int clif_foreachclient (int (*func) (struct map_session_data *, va_list), ...)
{
- int i;
- va_list ap;
- struct map_session_data *sd;
+ int i;
+ va_list ap;
+ struct map_session_data *sd;
- va_start(ap,func);
- for(i = 0; i < fd_max; i++) {
- if (session[i] && (sd = session[i]->session_data) && sd && sd->state.auth)
- func(sd, ap);
- }
- va_end(ap);
- return 0;
+ va_start (ap, func);
+ for (i = 0; i < fd_max; i++)
+ {
+ if (session[i] && (sd = session[i]->session_data) && sd
+ && sd->state.auth)
+ func (sd, ap);
+ }
+ va_end (ap);
+ return 0;
}
-static int
-is_deaf(struct block_list *bl)
+static int is_deaf (struct block_list *bl)
{
- struct map_session_data *sd = (struct map_session_data *) bl;
- if (!bl || bl->type != BL_PC)
- return 0;
- return sd->special_state.deaf;
+ struct map_session_data *sd = (struct map_session_data *) bl;
+ if (!bl || bl->type != BL_PC)
+ return 0;
+ return sd->special_state.deaf;
}
-static void clif_emotion_towards(struct block_list *bl, struct block_list *target, int type);
-
+static void clif_emotion_towards (struct block_list *bl,
+ struct block_list *target, int type);
/*==========================================
* clif_send��AREA*�w�莞�p
*------------------------------------------
*/
-int clif_send_sub(struct block_list *bl, va_list ap)
+int clif_send_sub (struct block_list *bl, va_list ap)
{
- unsigned char *buf;
- int len;
- struct block_list *src_bl;
- int type;
- struct map_session_data *sd;
+ unsigned char *buf;
+ int len;
+ struct block_list *src_bl;
+ int type;
+ struct map_session_data *sd;
- nullpo_retr(0, bl);
- nullpo_retr(0, ap);
- nullpo_retr(0, sd = (struct map_session_data *)bl);
+ nullpo_retr (0, bl);
+ nullpo_retr (0, ap);
+ nullpo_retr (0, sd = (struct map_session_data *) bl);
- buf = va_arg(ap,unsigned char*);
- len = va_arg(ap,int);
- nullpo_retr(0, src_bl = va_arg(ap,struct block_list*));
- type = va_arg(ap,int);
+ buf = va_arg (ap, unsigned char *);
+ len = va_arg (ap, int);
+ nullpo_retr (0, src_bl = va_arg (ap, struct block_list *));
+ type = va_arg (ap, int);
- switch(type) {
- case AREA_WOS:
- if (bl && bl == src_bl)
- return 0;
- break;
+ switch (type)
+ {
+ case AREA_WOS:
+ if (bl && bl == src_bl)
+ return 0;
+ break;
case AREA_CHAT_WOC:
- if (is_deaf (bl) && !(bl->type == BL_PC && pc_isGM((struct map_session_data *)src_bl))) {
- clif_emotion_towards(src_bl, bl, EMOTE_IGNORED);
- return 0;
- }
- /* fall through... */
- case AREA_WOC:
- if ((sd && sd->chatID) || (bl && bl == src_bl))
- return 0;
-
- break;
- case AREA_WOSC:
- if ((sd) && sd->chatID && sd->chatID == ((struct map_session_data*)src_bl)->chatID)
- return 0;
- break;
- }
+ if (is_deaf (bl)
+ && !(bl->type == BL_PC
+ && pc_isGM ((struct map_session_data *) src_bl)))
+ {
+ clif_emotion_towards (src_bl, bl, EMOTE_IGNORED);
+ return 0;
+ }
+ /* fall through... */
+ case AREA_WOC:
+ if ((sd && sd->chatID) || (bl && bl == src_bl))
+ return 0;
- if (session[sd->fd] != NULL) {
- if (WFIFOP(sd->fd,0) == buf) {
- printf("WARNING: Invalid use of clif_send function\n");
- printf(" Packet x%4x use a WFIFO of a player instead of to use a buffer.\n", WBUFW(buf,0));
- printf(" Please correct your code.\n");
- // don't send to not move the pointer of the packet for next sessions in the loop
- } else {
- if (packet_len_table[RBUFW(buf,0)]) { // packet must exist
- memcpy(WFIFOP(sd->fd,0), buf, len);
- WFIFOSET(sd->fd,len);
- }
- }
- }
+ break;
+ case AREA_WOSC:
+ if ((sd) && sd->chatID
+ && sd->chatID == ((struct map_session_data *) src_bl)->chatID)
+ return 0;
+ break;
+ }
+
+ if (session[sd->fd] != NULL)
+ {
+ if (WFIFOP (sd->fd, 0) == buf)
+ {
+ printf ("WARNING: Invalid use of clif_send function\n");
+ printf
+ (" Packet x%4x use a WFIFO of a player instead of to use a buffer.\n",
+ WBUFW (buf, 0));
+ printf (" Please correct your code.\n");
+ // don't send to not move the pointer of the packet for next sessions in the loop
+ }
+ else
+ {
+ if (packet_len_table[RBUFW (buf, 0)])
+ { // packet must exist
+ memcpy (WFIFOP (sd->fd, 0), buf, len);
+ WFIFOSET (sd->fd, len);
+ }
+ }
+ }
- return 0;
+ return 0;
}
/*==========================================
*
*------------------------------------------
*/
-int clif_send(unsigned char *buf, int len, struct block_list *bl, int type) {
- int i;
- struct map_session_data *sd;
- struct chat_data *cd;
- struct party *p = NULL;
- struct guild *g = NULL;
- int x0 = 0, x1 = 0, y0 = 0, y1 = 0;
+int clif_send (unsigned char *buf, int len, struct block_list *bl, int type)
+{
+ int i;
+ struct map_session_data *sd;
+ struct chat_data *cd;
+ struct party *p = NULL;
+ struct guild *g = NULL;
+ int x0 = 0, x1 = 0, y0 = 0, y1 = 0;
- if (type != ALL_CLIENT) {
- nullpo_retr(0, bl);
+ if (type != ALL_CLIENT)
+ {
+ nullpo_retr (0, bl);
- if (bl->type == BL_PC) {
- struct map_session_data *sd = (struct map_session_data *) bl;
- if (sd->status.option & OPTION_INVISIBILITY) {
- // Obscure hidden GMs
+ if (bl->type == BL_PC)
+ {
+ struct map_session_data *sd = (struct map_session_data *) bl;
+ if (sd->status.option & OPTION_INVISIBILITY)
+ {
+ // Obscure hidden GMs
- switch (type) {
- case AREA:
- case AREA_WOC:
- type = SELF;
- break;
+ switch (type)
+ {
+ case AREA:
+ case AREA_WOC:
+ type = SELF;
+ break;
- case AREA_WOS:
- case AREA_WOSC:
- return 1;
+ case AREA_WOS:
+ case AREA_WOSC:
+ return 1;
- default:
- break;
+ default:
+ break;
+ }
+ }
+ }
+ }
+
+ switch (type)
+ {
+ case ALL_CLIENT: // �S�N���C�A���g�ɑ��M
+ for (i = 0; i < fd_max; i++)
+ {
+ if (session[i] && (sd = session[i]->session_data) != NULL
+ && sd->state.auth)
+ {
+ if (packet_len_table[RBUFW (buf, 0)])
+ { // packet must exist
+ memcpy (WFIFOP (i, 0), buf, len);
+ WFIFOSET (i, len);
+ }
+ }
+ }
+ break;
+ case ALL_SAMEMAP: // �����}�b�v�̑S�N���C�A���g�ɑ��M
+ for (i = 0; i < fd_max; i++)
+ {
+ if (session[i] && (sd = session[i]->session_data) != NULL
+ && sd->state.auth && sd->bl.m == bl->m)
+ {
+ if (packet_len_table[RBUFW (buf, 0)])
+ { // packet must exist
+ memcpy (WFIFOP (i, 0), buf, len);
+ WFIFOSET (i, len);
+ }
+ }
+ }
+ break;
+ case AREA:
+ case AREA_WOS:
+ case AREA_WOC:
+ case AREA_WOSC:
+ map_foreachinarea (clif_send_sub, bl->m, bl->x - AREA_SIZE,
+ bl->y - AREA_SIZE, bl->x + AREA_SIZE,
+ bl->y + AREA_SIZE, BL_PC, buf, len, bl, type);
+ break;
+ case AREA_CHAT_WOC:
+ map_foreachinarea (clif_send_sub, bl->m, bl->x - (AREA_SIZE - 5),
+ bl->y - (AREA_SIZE - 5),
+ bl->x + (AREA_SIZE - 5),
+ bl->y + (AREA_SIZE - 5), BL_PC, buf, len, bl,
+ AREA_CHAT_WOC);
+ break;
+ case CHAT:
+ case CHAT_WOS:
+ cd = (struct chat_data *) bl;
+ if (bl->type == BL_PC)
+ {
+ sd = (struct map_session_data *) bl;
+ cd = (struct chat_data *) map_id2bl (sd->chatID);
+ }
+ else if (bl->type != BL_CHAT)
+ break;
+ if (cd == NULL)
+ break;
+ for (i = 0; i < cd->users; i++)
+ {
+ if (type == CHAT_WOS
+ && cd->usersd[i] == (struct map_session_data *) bl)
+ continue;
+ if (packet_len_table[RBUFW (buf, 0)])
+ { // packet must exist
+ memcpy (WFIFOP (cd->usersd[i]->fd, 0), buf, len);
+ WFIFOSET (cd->usersd[i]->fd, len);
+ }
+ }
+ break;
+
+ case PARTY_AREA: // �������ʓ��̑S�p�[�e�B�[�����o�ɑ��M
+ case PARTY_AREA_WOS: // �����ȊO�̓������ʓ��̑S�p�[�e�B�[�����o�ɑ��M
+ x0 = bl->x - AREA_SIZE;
+ y0 = bl->y - AREA_SIZE;
+ x1 = bl->x + AREA_SIZE;
+ y1 = bl->y + AREA_SIZE;
+ case PARTY: // �S�p�[�e�B�[�����o�ɑ��M
+ case PARTY_WOS: // �����ȊO�̑S�p�[�e�B�[�����o�ɑ��M
+ case PARTY_SAMEMAP: // �����}�b�v�̑S�p�[�e�B�[�����o�ɑ��M
+ case PARTY_SAMEMAP_WOS: // �����ȊO�̓����}�b�v�̑S�p�[�e�B�[�����o�ɑ��M
+ if (bl->type == BL_PC)
+ {
+ sd = (struct map_session_data *) bl;
+ if (sd->partyspy > 0)
+ {
+ p = party_search (sd->partyspy);
+ }
+ else
+ {
+ if (sd->status.party_id > 0)
+ p = party_search (sd->status.party_id);
+ }
+ }
+ if (p)
+ {
+ for (i = 0; i < MAX_PARTY; i++)
+ {
+ if ((sd = p->member[i].sd) != NULL)
+ {
+ if (sd->bl.id == bl->id && (type == PARTY_WOS ||
+ type == PARTY_SAMEMAP_WOS
+ || type ==
+ PARTY_AREA_WOS))
+ continue;
+ if (type != PARTY && type != PARTY_WOS && bl->m != sd->bl.m) // �}�b�v�`�F�b�N
+ continue;
+ if ((type == PARTY_AREA || type == PARTY_AREA_WOS) &&
+ (sd->bl.x < x0 || sd->bl.y < y0 ||
+ sd->bl.x > x1 || sd->bl.y > y1))
+ continue;
+ if (packet_len_table[RBUFW (buf, 0)])
+ { // packet must exist
+ memcpy (WFIFOP (sd->fd, 0), buf, len);
+ WFIFOSET (sd->fd, len);
}
}
}
- }
-
- switch(type) {
- case ALL_CLIENT: // �S�N���C�A���g�ɑ��M
- for(i = 0; i < fd_max; i++) {
- if (session[i] && (sd = session[i]->session_data) != NULL && sd->state.auth) {
- if (packet_len_table[RBUFW(buf,0)]) { // packet must exist
- memcpy(WFIFOP(i,0), buf, len);
- WFIFOSET(i,len);
- }
- }
- }
- break;
- case ALL_SAMEMAP: // �����}�b�v�̑S�N���C�A���g�ɑ��M
- for(i = 0; i < fd_max; i++) {
- if (session[i] && (sd = session[i]->session_data) != NULL && sd->state.auth && sd->bl.m == bl->m) {
- if (packet_len_table[RBUFW(buf,0)]) { // packet must exist
- memcpy(WFIFOP(i,0), buf, len);
- WFIFOSET(i,len);
- }
- }
- }
- break;
- case AREA:
- case AREA_WOS:
- case AREA_WOC:
- case AREA_WOSC:
- map_foreachinarea(clif_send_sub, bl->m, bl->x-AREA_SIZE, bl->y-AREA_SIZE, bl->x+AREA_SIZE, bl->y+AREA_SIZE, BL_PC, buf, len, bl, type);
- break;
- case AREA_CHAT_WOC:
- map_foreachinarea(clif_send_sub, bl->m, bl->x-(AREA_SIZE-5), bl->y-(AREA_SIZE-5), bl->x+(AREA_SIZE-5), bl->y+(AREA_SIZE-5), BL_PC, buf, len, bl, AREA_CHAT_WOC);
- break;
- case CHAT:
- case CHAT_WOS:
- cd = (struct chat_data*)bl;
- if (bl->type == BL_PC) {
- sd = (struct map_session_data*)bl;
- cd = (struct chat_data*)map_id2bl(sd->chatID);
- } else if (bl->type != BL_CHAT)
- break;
- if (cd == NULL)
- break;
- for(i = 0; i < cd->users; i++) {
- if (type == CHAT_WOS && cd->usersd[i] == (struct map_session_data*)bl)
- continue;
- if (packet_len_table[RBUFW(buf,0)]) { // packet must exist
- memcpy(WFIFOP(cd->usersd[i]->fd,0), buf, len);
- WFIFOSET(cd->usersd[i]->fd,len);
- }
- }
- break;
-
- case PARTY_AREA: // �������ʓ��̑S�p�[�e�B�[�����o�ɑ��M
- case PARTY_AREA_WOS: // �����ȊO�̓������ʓ��̑S�p�[�e�B�[�����o�ɑ��M
- x0 = bl->x - AREA_SIZE;
- y0 = bl->y - AREA_SIZE;
- x1 = bl->x + AREA_SIZE;
- y1 = bl->y + AREA_SIZE;
- case PARTY: // �S�p�[�e�B�[�����o�ɑ��M
- case PARTY_WOS: // �����ȊO�̑S�p�[�e�B�[�����o�ɑ��M
- case PARTY_SAMEMAP: // �����}�b�v�̑S�p�[�e�B�[�����o�ɑ��M
- case PARTY_SAMEMAP_WOS: // �����ȊO�̓����}�b�v�̑S�p�[�e�B�[�����o�ɑ��M
- if (bl->type == BL_PC) {
- sd = (struct map_session_data *)bl;
- if (sd->partyspy > 0) {
- p = party_search(sd->partyspy);
- } else {
- if (sd->status.party_id > 0)
- p = party_search(sd->status.party_id);
- }
- }
- if (p) {
- for(i=0;i<MAX_PARTY;i++){
- if ((sd = p->member[i].sd) != NULL) {
- if (sd->bl.id == bl->id && (type == PARTY_WOS ||
- type == PARTY_SAMEMAP_WOS || type == PARTY_AREA_WOS))
- continue;
- if (type != PARTY && type != PARTY_WOS && bl->m != sd->bl.m) // �}�b�v�`�F�b�N
- continue;
- if ((type == PARTY_AREA || type == PARTY_AREA_WOS) &&
- (sd->bl.x < x0 || sd->bl.y < y0 ||
- sd->bl.x > x1 || sd->bl.y > y1))
- continue;
- if (packet_len_table[RBUFW(buf,0)]) { // packet must exist
- memcpy(WFIFOP(sd->fd,0), buf, len);
- WFIFOSET(sd->fd,len);
- }
- }
- }
- for (i = 0; i < fd_max; i++){
- if (session[i] && (sd = session[i]->session_data) != NULL && sd->state.auth) {
- if (sd->partyspy == p->party_id) {
- if (packet_len_table[RBUFW(buf,0)]) { // packet must exist
- memcpy(WFIFOP(sd->fd,0), buf, len);
- WFIFOSET(sd->fd,len);
- }
- }
- }
- }
- }
- break;
- case SELF:
- sd = (struct map_session_data *)bl;
- if (packet_len_table[RBUFW(buf,0)]) { // packet must exist
- memcpy(WFIFOP(sd->fd,0), buf, len);
- WFIFOSET(sd->fd,len);
- }
- break;
+ for (i = 0; i < fd_max; i++)
+ {
+ if (session[i] && (sd = session[i]->session_data) != NULL
+ && sd->state.auth)
+ {
+ if (sd->partyspy == p->party_id)
+ {
+ if (packet_len_table[RBUFW (buf, 0)])
+ { // packet must exist
+ memcpy (WFIFOP (sd->fd, 0), buf, len);
+ WFIFOSET (sd->fd, len);
+ }
+ }
+ }
+ }
+ }
+ break;
+ case SELF:
+ sd = (struct map_session_data *) bl;
+ if (packet_len_table[RBUFW (buf, 0)])
+ { // packet must exist
+ memcpy (WFIFOP (sd->fd, 0), buf, len);
+ WFIFOSET (sd->fd, len);
+ }
+ break;
/* New definitions for guilds [Valaris] */
- case GUILD_AREA:
- case GUILD_AREA_WOS:
- x0 = bl->x - AREA_SIZE;
- y0 = bl->y - AREA_SIZE;
- x1 = bl->x + AREA_SIZE;
- y1 = bl->y + AREA_SIZE;
- case GUILD:
- case GUILD_WOS:
- if (bl && bl->type == BL_PC) { // guildspy [Syrus22]
- sd = (struct map_session_data *)bl;
- if (sd->guildspy > 0) {
- g = guild_search(sd->guildspy);
- } else {
- if (sd->status.guild_id > 0)
- g = guild_search(sd->status.guild_id);
- }
- }
- if (g) {
- for(i = 0; i < g->max_member; i++) {
- if ((sd = g->member[i].sd) != NULL) {
- if (type == GUILD_WOS && sd->bl.id == bl->id)
- continue;
- if (packet_len_table[RBUFW(buf,0)]) { // packet must exist
- memcpy(WFIFOP(sd->fd,0), buf, len);
- WFIFOSET(sd->fd,len);
- }
- }
- }
- for (i = 0; i < fd_max; i++){
- if (session[i] && (sd = session[i]->session_data) != NULL && sd->state.auth) {
- if (sd->guildspy == g->guild_id) {
- if (packet_len_table[RBUFW(buf,0)]) { // packet must exist
- memcpy(WFIFOP(sd->fd,0), buf, len);
- WFIFOSET(sd->fd,len);
- }
- }
- }
- }
- }
- break;
- case GUILD_SAMEMAP:
- case GUILD_SAMEMAP_WOS:
- if (bl->type == BL_PC) {
- sd = (struct map_session_data *)bl;
- if (sd->status.guild_id > 0)
- g = guild_search(sd->status.guild_id);
- }
- if (g) {
- for(i = 0; i < g->max_member; i++) {
- if ((sd = g->member[i].sd) != NULL) {
- if (sd->bl.id == bl->id && (type == GUILD_WOS ||
- type == GUILD_SAMEMAP_WOS || type == GUILD_AREA_WOS))
- continue;
- if (type != GUILD && type != GUILD_WOS && bl->m != sd->bl.m) // �}�b�v�`�F�b�N
- continue;
- if ((type == GUILD_AREA || type == GUILD_AREA_WOS) &&
- (sd->bl.x < x0 || sd->bl.y < y0 ||
- sd->bl.x > x1 || sd->bl.y > y1))
- continue;
- if (packet_len_table[RBUFW(buf,0)]) { // packet must exist
- memcpy(WFIFOP(sd->fd,0), buf, len);
- WFIFOSET(sd->fd,len);
- }
- }
- }
- }
- break;
+ case GUILD_AREA:
+ case GUILD_AREA_WOS:
+ x0 = bl->x - AREA_SIZE;
+ y0 = bl->y - AREA_SIZE;
+ x1 = bl->x + AREA_SIZE;
+ y1 = bl->y + AREA_SIZE;
+ case GUILD:
+ case GUILD_WOS:
+ if (bl && bl->type == BL_PC)
+ { // guildspy [Syrus22]
+ sd = (struct map_session_data *) bl;
+ if (sd->guildspy > 0)
+ {
+ g = guild_search (sd->guildspy);
+ }
+ else
+ {
+ if (sd->status.guild_id > 0)
+ g = guild_search (sd->status.guild_id);
+ }
+ }
+ if (g)
+ {
+ for (i = 0; i < g->max_member; i++)
+ {
+ if ((sd = g->member[i].sd) != NULL)
+ {
+ if (type == GUILD_WOS && sd->bl.id == bl->id)
+ continue;
+ if (packet_len_table[RBUFW (buf, 0)])
+ { // packet must exist
+ memcpy (WFIFOP (sd->fd, 0), buf, len);
+ WFIFOSET (sd->fd, len);
+ }
+ }
+ }
+ for (i = 0; i < fd_max; i++)
+ {
+ if (session[i] && (sd = session[i]->session_data) != NULL
+ && sd->state.auth)
+ {
+ if (sd->guildspy == g->guild_id)
+ {
+ if (packet_len_table[RBUFW (buf, 0)])
+ { // packet must exist
+ memcpy (WFIFOP (sd->fd, 0), buf, len);
+ WFIFOSET (sd->fd, len);
+ }
+ }
+ }
+ }
+ }
+ break;
+ case GUILD_SAMEMAP:
+ case GUILD_SAMEMAP_WOS:
+ if (bl->type == BL_PC)
+ {
+ sd = (struct map_session_data *) bl;
+ if (sd->status.guild_id > 0)
+ g = guild_search (sd->status.guild_id);
+ }
+ if (g)
+ {
+ for (i = 0; i < g->max_member; i++)
+ {
+ if ((sd = g->member[i].sd) != NULL)
+ {
+ if (sd->bl.id == bl->id && (type == GUILD_WOS ||
+ type == GUILD_SAMEMAP_WOS
+ || type ==
+ GUILD_AREA_WOS))
+ continue;
+ if (type != GUILD && type != GUILD_WOS && bl->m != sd->bl.m) // �}�b�v�`�F�b�N
+ continue;
+ if ((type == GUILD_AREA || type == GUILD_AREA_WOS) &&
+ (sd->bl.x < x0 || sd->bl.y < y0 ||
+ sd->bl.x > x1 || sd->bl.y > y1))
+ continue;
+ if (packet_len_table[RBUFW (buf, 0)])
+ { // packet must exist
+ memcpy (WFIFOP (sd->fd, 0), buf, len);
+ WFIFOSET (sd->fd, len);
+ }
+ }
+ }
+ }
+ break;
- default:
- if (battle_config.error_log)
- printf("clif_send �܂�����ĂȂ����[\n");
- return -1;
- }
+ default:
+ if (battle_config.error_log)
+ printf ("clif_send �܂�����ĂȂ����[\n");
+ return -1;
+ }
- return 0;
+ return 0;
}
//
@@ -511,190 +588,209 @@ int clif_send(unsigned char *buf, int len, struct block_list *bl, int type) {
*
*------------------------------------------
*/
-int clif_authok(struct map_session_data *sd) {
- int fd;
+int clif_authok (struct map_session_data *sd)
+{
+ int fd;
- nullpo_retr(0, sd);
+ nullpo_retr (0, sd);
- if (!sd)
- return 0;
+ if (!sd)
+ return 0;
- if (!sd->fd)
- return 0;
+ if (!sd->fd)
+ return 0;
- fd = sd->fd;
+ fd = sd->fd;
- WFIFOW(fd, 0) = 0x73;
- WFIFOL(fd, 2) = gettick();
- WFIFOPOS(fd, 6, sd->bl.x, sd->bl.y);
- WFIFOB(fd, 9) = 5;
- WFIFOB(fd,10) = 5;
- WFIFOSET(fd,packet_len_table[0x73]);
+ WFIFOW (fd, 0) = 0x73;
+ WFIFOL (fd, 2) = gettick ();
+ WFIFOPOS (fd, 6, sd->bl.x, sd->bl.y);
+ WFIFOB (fd, 9) = 5;
+ WFIFOB (fd, 10) = 5;
+ WFIFOSET (fd, packet_len_table[0x73]);
- return 0;
+ return 0;
}
/*==========================================
*
*------------------------------------------
*/
-int clif_authfail_fd(int fd, int type) {
- if (!fd || !session[fd])
- return 0;
+int clif_authfail_fd (int fd, int type)
+{
+ if (!fd || !session[fd])
+ return 0;
- WFIFOW(fd,0) = 0x81;
- WFIFOL(fd,2) = type;
- WFIFOSET(fd,packet_len_table[0x81]);
+ WFIFOW (fd, 0) = 0x81;
+ WFIFOL (fd, 2) = type;
+ WFIFOSET (fd, packet_len_table[0x81]);
- clif_setwaitclose(fd);
+ clif_setwaitclose (fd);
- return 0;
+ return 0;
}
/*==========================================
*
*------------------------------------------
*/
-int clif_charselectok(int id) {
- struct map_session_data *sd;
- int fd;
+int clif_charselectok (int id)
+{
+ struct map_session_data *sd;
+ int fd;
- if ((sd = map_id2sd(id)) == NULL)
- return 1;
+ if ((sd = map_id2sd (id)) == NULL)
+ return 1;
- if (!sd->fd)
- return 1;
+ if (!sd->fd)
+ return 1;
- fd = sd->fd;
- WFIFOW(fd,0) = 0xb3;
- WFIFOB(fd,2) = 1;
- WFIFOSET(fd,packet_len_table[0xb3]);
+ fd = sd->fd;
+ WFIFOW (fd, 0) = 0xb3;
+ WFIFOB (fd, 2) = 1;
+ WFIFOSET (fd, packet_len_table[0xb3]);
- return 0;
+ return 0;
}
/*==========================================
*
*------------------------------------------
*/
-static int clif_set009e(struct flooritem_data *fitem, char *buf) {
- int view;
+static int clif_set009e (struct flooritem_data *fitem, char *buf)
+{
+ int view;
- nullpo_retr(0, fitem);
+ nullpo_retr (0, fitem);
- //009e <ID>.l <name ID>.w <identify flag>.B <X>.w <Y>.w <subX>.B <subY>.B <amount>.w
- WBUFW(buf, 0) = 0x9e;
- WBUFL(buf, 2) = fitem->bl.id;
- if ((view = itemdb_viewid(fitem->item_data.nameid)) > 0)
- WBUFW(buf, 6) = view;
- else
- WBUFW(buf, 6) = fitem->item_data.nameid;
- WBUFB(buf, 8) = fitem->item_data.identify;
- WBUFW(buf, 9) = fitem->bl.x;
- WBUFW(buf,11) = fitem->bl.y;
- WBUFB(buf,13) = fitem->subx;
- WBUFB(buf,14) = fitem->suby;
- WBUFW(buf,15) = fitem->item_data.amount;
+ //009e <ID>.l <name ID>.w <identify flag>.B <X>.w <Y>.w <subX>.B <subY>.B <amount>.w
+ WBUFW (buf, 0) = 0x9e;
+ WBUFL (buf, 2) = fitem->bl.id;
+ if ((view = itemdb_viewid (fitem->item_data.nameid)) > 0)
+ WBUFW (buf, 6) = view;
+ else
+ WBUFW (buf, 6) = fitem->item_data.nameid;
+ WBUFB (buf, 8) = fitem->item_data.identify;
+ WBUFW (buf, 9) = fitem->bl.x;
+ WBUFW (buf, 11) = fitem->bl.y;
+ WBUFB (buf, 13) = fitem->subx;
+ WBUFB (buf, 14) = fitem->suby;
+ WBUFW (buf, 15) = fitem->item_data.amount;
- return packet_len_table[0x9e];
+ return packet_len_table[0x9e];
}
/*==========================================
*
*------------------------------------------
*/
-int clif_dropflooritem(struct flooritem_data *fitem) {
- char buf[64];
+int clif_dropflooritem (struct flooritem_data *fitem)
+{
+ char buf[64];
- nullpo_retr(0, fitem);
+ nullpo_retr (0, fitem);
- if (fitem->item_data.nameid <= 0)
- return 0;
- clif_set009e(fitem, buf);
- clif_send(buf, packet_len_table[0x9e], &fitem->bl, AREA);
+ if (fitem->item_data.nameid <= 0)
+ return 0;
+ clif_set009e (fitem, buf);
+ clif_send (buf, packet_len_table[0x9e], &fitem->bl, AREA);
- return 0;
+ return 0;
}
/*==========================================
*
*------------------------------------------
*/
-int clif_clearflooritem(struct flooritem_data *fitem, int fd) {
- unsigned char buf[16];
+int clif_clearflooritem (struct flooritem_data *fitem, int fd)
+{
+ unsigned char buf[16];
- nullpo_retr(0, fitem);
+ nullpo_retr (0, fitem);
- WBUFW(buf,0) = 0xa1;
- WBUFL(buf,2) = fitem->bl.id;
+ WBUFW (buf, 0) = 0xa1;
+ WBUFL (buf, 2) = fitem->bl.id;
- if (fd == 0) {
- clif_send(buf, packet_len_table[0xa1], &fitem->bl, AREA);
- } else {
- memcpy(WFIFOP(fd,0), buf, 6);
- WFIFOSET(fd,packet_len_table[0xa1]);
- }
+ if (fd == 0)
+ {
+ clif_send (buf, packet_len_table[0xa1], &fitem->bl, AREA);
+ }
+ else
+ {
+ memcpy (WFIFOP (fd, 0), buf, 6);
+ WFIFOSET (fd, packet_len_table[0xa1]);
+ }
- return 0;
+ return 0;
}
/*==========================================
*
*------------------------------------------
*/
-int clif_clearchar(struct block_list *bl, int type) {
- unsigned char buf[16];
+int clif_clearchar (struct block_list *bl, int type)
+{
+ unsigned char buf[16];
- nullpo_retr(0, bl);
+ nullpo_retr (0, bl);
- WBUFW(buf,0) = 0x80;
- WBUFL(buf,2) = bl->id;
- if (type == 9) {
- WBUFB(buf,6) = 0;
- clif_send(buf, packet_len_table[0x80], bl, AREA);
- } else {
- WBUFB(buf,6) = type;
- clif_send(buf, packet_len_table[0x80], bl, type == 1 ? AREA : AREA_WOS);
- }
+ WBUFW (buf, 0) = 0x80;
+ WBUFL (buf, 2) = bl->id;
+ if (type == 9)
+ {
+ WBUFB (buf, 6) = 0;
+ clif_send (buf, packet_len_table[0x80], bl, AREA);
+ }
+ else
+ {
+ WBUFB (buf, 6) = type;
+ clif_send (buf, packet_len_table[0x80], bl,
+ type == 1 ? AREA : AREA_WOS);
+ }
- return 0;
+ return 0;
}
-static int clif_clearchar_delay_sub(int tid, unsigned int tick, int id, int data) {
- struct block_list *bl = (struct block_list *)id;
+static int clif_clearchar_delay_sub (int tid, unsigned int tick, int id,
+ int data)
+{
+ struct block_list *bl = (struct block_list *) id;
- clif_clearchar(bl,data);
- map_freeblock(bl);
+ clif_clearchar (bl, data);
+ map_freeblock (bl);
- return 0;
+ return 0;
}
-int clif_clearchar_delay(unsigned int tick, struct block_list *bl, int type) {
- struct block_list *tmpbl = calloc(sizeof(struct block_list), 1);
- if (tmpbl == NULL) {
- printf("clif_clearchar_delay: out of memory !\n");
- exit(1);
- }
- memcpy(tmpbl, bl, sizeof(struct block_list));
- add_timer(tick, clif_clearchar_delay_sub, (int)tmpbl, type);
+int clif_clearchar_delay (unsigned int tick, struct block_list *bl, int type)
+{
+ struct block_list *tmpbl = calloc (sizeof (struct block_list), 1);
+ if (tmpbl == NULL)
+ {
+ printf ("clif_clearchar_delay: out of memory !\n");
+ exit (1);
+ }
+ memcpy (tmpbl, bl, sizeof (struct block_list));
+ add_timer (tick, clif_clearchar_delay_sub, (int) tmpbl, type);
- return 0;
+ return 0;
}
/*==========================================
*
*------------------------------------------
*/
-int clif_clearchar_id(int id, int type, int fd) {
- unsigned char buf[16];
+int clif_clearchar_id (int id, int type, int fd)
+{
+ unsigned char buf[16];
- WBUFW(buf,0) = 0x80;
- WBUFL(buf,2) = id;
- WBUFB(buf,6) = type;
- memcpy(WFIFOP(fd,0), buf, 7);
- WFIFOSET(fd, packet_len_table[0x80]);
+ WBUFW (buf, 0) = 0x80;
+ WBUFL (buf, 2) = id;
+ WBUFB (buf, 6) = type;
+ memcpy (WFIFOP (fd, 0), buf, 7);
+ WFIFOSET (fd, packet_len_table[0x80]);
- return 0;
+ return 0;
}
/*
@@ -712,1379 +808,1533 @@ static int current_weapon(struct map_session_data *sd)
*
*------------------------------------------
*/
-static int clif_set0078(struct map_session_data *sd, unsigned char *buf) {
- int level=0;
-
- nullpo_retr(0, sd);
-
- if (sd->disguise > 23 && sd->disguise < 4001) { // mob disguises [Valaris]
- WBUFW(buf,0) = 0x78;
- WBUFL(buf,2) = sd->bl.id;
- WBUFW(buf,6) = battle_get_speed(&sd->bl);
- WBUFW(buf,8) = sd->opt1;
- WBUFW(buf,10) = sd->opt2;
- WBUFW(buf,12) = sd->status.option;
- WBUFW(buf,14) = sd->disguise;
- WBUFW(buf,42) = 0;
- WBUFB(buf,44) = 0;
- WBUFPOS(buf, 46, sd->bl.x, sd->bl.y);
- WBUFB(buf,48) |= sd->dir & 0x0f;
- WBUFB(buf,49) = 5;
- WBUFB(buf,50) = 5;
- WBUFB(buf,51) = 0;
- WBUFW(buf,52) = ((level = battle_get_lv(&sd->bl)) > battle_config.max_lv) ? battle_config.max_lv : level;
-
- return packet_len_table[0x78];
- }
-
- WBUFW(buf,0) = 0x1d8;
- WBUFL(buf,2) = sd->bl.id;
- WBUFW(buf,6) = sd->speed;
- WBUFW(buf,8) = sd->opt1;
- WBUFW(buf,10) = sd->opt2;
- WBUFW(buf,12) = sd->status.option;
- WBUFW(buf,14) = sd->view_class;
- WBUFW(buf,16) = sd->status.hair;
- if (sd->attack_spell_override)
- WBUFB(buf, 18) = sd->attack_spell_look_override;
- else {
- if (sd->equip_index[9] >= 0 && sd->inventory_data[sd->equip_index[9]] && sd->view_class != 22) {
- if (sd->inventory_data[sd->equip_index[9]]->view_id > 0)
- WBUFW(buf,18) = sd->inventory_data[sd->equip_index[9]]->view_id;
- else
- WBUFW(buf,18) = sd->status.inventory[sd->equip_index[9]].nameid;
- } else
- WBUFW(buf,18) = 0;
+static int clif_set0078 (struct map_session_data *sd, unsigned char *buf)
+{
+ int level = 0;
+
+ nullpo_retr (0, sd);
+
+ if (sd->disguise > 23 && sd->disguise < 4001)
+ { // mob disguises [Valaris]
+ WBUFW (buf, 0) = 0x78;
+ WBUFL (buf, 2) = sd->bl.id;
+ WBUFW (buf, 6) = battle_get_speed (&sd->bl);
+ WBUFW (buf, 8) = sd->opt1;
+ WBUFW (buf, 10) = sd->opt2;
+ WBUFW (buf, 12) = sd->status.option;
+ WBUFW (buf, 14) = sd->disguise;
+ WBUFW (buf, 42) = 0;
+ WBUFB (buf, 44) = 0;
+ WBUFPOS (buf, 46, sd->bl.x, sd->bl.y);
+ WBUFB (buf, 48) |= sd->dir & 0x0f;
+ WBUFB (buf, 49) = 5;
+ WBUFB (buf, 50) = 5;
+ WBUFB (buf, 51) = 0;
+ WBUFW (buf, 52) =
+ ((level =
+ battle_get_lv (&sd->bl)) >
+ battle_config.max_lv) ? battle_config.max_lv : level;
+
+ return packet_len_table[0x78];
+ }
+
+ WBUFW (buf, 0) = 0x1d8;
+ WBUFL (buf, 2) = sd->bl.id;
+ WBUFW (buf, 6) = sd->speed;
+ WBUFW (buf, 8) = sd->opt1;
+ WBUFW (buf, 10) = sd->opt2;
+ WBUFW (buf, 12) = sd->status.option;
+ WBUFW (buf, 14) = sd->view_class;
+ WBUFW (buf, 16) = sd->status.hair;
+ if (sd->attack_spell_override)
+ WBUFB (buf, 18) = sd->attack_spell_look_override;
+ else
+ {
+ if (sd->equip_index[9] >= 0 && sd->inventory_data[sd->equip_index[9]]
+ && sd->view_class != 22)
+ {
+ if (sd->inventory_data[sd->equip_index[9]]->view_id > 0)
+ WBUFW (buf, 18) =
+ sd->inventory_data[sd->equip_index[9]]->view_id;
+ else
+ WBUFW (buf, 18) =
+ sd->status.inventory[sd->equip_index[9]].nameid;
}
- if (sd->equip_index[8] >= 0 && sd->equip_index[8] != sd->equip_index[9] && sd->inventory_data[sd->equip_index[8]] && sd->view_class != 22) {
- if (sd->inventory_data[sd->equip_index[8]]->view_id > 0)
- WBUFW(buf,20) = sd->inventory_data[sd->equip_index[8]]->view_id;
- else
- WBUFW(buf,20) = sd->status.inventory[sd->equip_index[8]].nameid;
- } else
- WBUFW(buf,20) = 0;
- WBUFW(buf,22)=sd->status.head_bottom;
- WBUFW(buf,24)=sd->status.head_top;
- WBUFW(buf,26)=sd->status.head_mid;
- WBUFW(buf,28)=sd->status.hair_color;
- WBUFW(buf,30)=sd->status.clothes_color;
- WBUFW(buf,32)=sd->head_dir;
- WBUFL(buf,34)=sd->status.guild_id;
- WBUFW(buf,38)=sd->guild_emblem_id;
- WBUFW(buf,40)=sd->status.manner;
- WBUFW(buf,42)=sd->opt3;
- WBUFB(buf,44)=sd->status.karma;
- WBUFB(buf,45)=sd->sex;
- WBUFPOS(buf,46,sd->bl.x,sd->bl.y);
- WBUFB(buf,48)|=sd->dir&0x0f;
- WBUFW(buf,49)=(pc_isGM(sd) == 60 || pc_isGM(sd) == 99) ? 0x80 : 0;
- WBUFB(buf,51)=sd->state.dead_sit;
- WBUFW(buf,52)=((level = battle_get_lv(&sd->bl)) > battle_config.max_lv) ? battle_config.max_lv : level;
-
- return packet_len_table[0x1d8];
+ else
+ WBUFW (buf, 18) = 0;
+ }
+ if (sd->equip_index[8] >= 0 && sd->equip_index[8] != sd->equip_index[9]
+ && sd->inventory_data[sd->equip_index[8]] && sd->view_class != 22)
+ {
+ if (sd->inventory_data[sd->equip_index[8]]->view_id > 0)
+ WBUFW (buf, 20) = sd->inventory_data[sd->equip_index[8]]->view_id;
+ else
+ WBUFW (buf, 20) = sd->status.inventory[sd->equip_index[8]].nameid;
+ }
+ else
+ WBUFW (buf, 20) = 0;
+ WBUFW (buf, 22) = sd->status.head_bottom;
+ WBUFW (buf, 24) = sd->status.head_top;
+ WBUFW (buf, 26) = sd->status.head_mid;
+ WBUFW (buf, 28) = sd->status.hair_color;
+ WBUFW (buf, 30) = sd->status.clothes_color;
+ WBUFW (buf, 32) = sd->head_dir;
+ WBUFL (buf, 34) = sd->status.guild_id;
+ WBUFW (buf, 38) = sd->guild_emblem_id;
+ WBUFW (buf, 40) = sd->status.manner;
+ WBUFW (buf, 42) = sd->opt3;
+ WBUFB (buf, 44) = sd->status.karma;
+ WBUFB (buf, 45) = sd->sex;
+ WBUFPOS (buf, 46, sd->bl.x, sd->bl.y);
+ WBUFB (buf, 48) |= sd->dir & 0x0f;
+ WBUFW (buf, 49) = (pc_isGM (sd) == 60 || pc_isGM (sd) == 99) ? 0x80 : 0;
+ WBUFB (buf, 51) = sd->state.dead_sit;
+ WBUFW (buf, 52) =
+ ((level =
+ battle_get_lv (&sd->bl)) >
+ battle_config.max_lv) ? battle_config.max_lv : level;
+
+ return packet_len_table[0x1d8];
}
/*==========================================
*
*------------------------------------------
*/
-static int clif_set007b(struct map_session_data *sd,unsigned char *buf) {
- int level=0;
- nullpo_retr(0, sd);
-
- if (sd->disguise > 23 && sd->disguise < 4001) { // mob disguises [Valaris]
- WBUFW(buf,0)=0x7b;
- WBUFL(buf,2)=sd->bl.id;
- WBUFW(buf,6)=battle_get_speed(&sd->bl);
- WBUFW(buf,8)=sd->opt1;
- WBUFW(buf,10)=sd->opt2;
- WBUFW(buf,12)=sd->status.option;
- WBUFW(buf,14)=sd->disguise;
- WBUFL(buf,22)=gettick();
- WBUFW(buf,46)=0;
- WBUFB(buf,48)=0;
- WBUFPOS2(buf,50,sd->bl.x,sd->bl.y,sd->to_x,sd->to_y);
- WBUFB(buf,55)=0;
- WBUFB(buf,56)=5;
- WBUFB(buf,57)=5;
- WBUFW(buf,58)=((level = battle_get_lv(&sd->bl))>battle_config.max_lv)? battle_config.max_lv:level;
-
- return packet_len_table[0x7b];
- }
-
- WBUFW(buf,0)=0x1da;
- WBUFL(buf,2)=sd->bl.id;
- WBUFW(buf,6)=sd->speed;
- WBUFW(buf,8)=sd->opt1;
- WBUFW(buf,10)=sd->opt2;
- WBUFW(buf,12)=sd->status.option;
- WBUFW(buf,14)=sd->view_class;
- WBUFW(buf,16)=sd->status.hair;
- if(sd->equip_index[9] >= 0 && sd->inventory_data[sd->equip_index[9]] && sd->view_class != 22) {
- if(sd->inventory_data[sd->equip_index[9]]->view_id > 0)
- WBUFW(buf,18)=sd->inventory_data[sd->equip_index[9]]->view_id;
- else
- WBUFW(buf,18)=sd->status.inventory[sd->equip_index[9]].nameid;
- }
- else
- WBUFW(buf,18)=0;
- if(sd->equip_index[8] >= 0 && sd->equip_index[8] != sd->equip_index[9] && sd->inventory_data[sd->equip_index[8]] && sd->view_class != 22) {
- if(sd->inventory_data[sd->equip_index[8]]->view_id > 0)
- WBUFW(buf,20)=sd->inventory_data[sd->equip_index[8]]->view_id;
- else
- WBUFW(buf,20)=sd->status.inventory[sd->equip_index[8]].nameid;
- }
- else
- WBUFW(buf,20)=0;
- WBUFW(buf,22)=sd->status.head_bottom;
- WBUFL(buf,24)=gettick();
- WBUFW(buf,28)=sd->status.head_top;
- WBUFW(buf,30)=sd->status.head_mid;
- WBUFW(buf,32)=sd->status.hair_color;
- WBUFW(buf,34)=sd->status.clothes_color;
- WBUFW(buf,36)=sd->head_dir;
- WBUFL(buf,38)=sd->status.guild_id;
- WBUFW(buf,42)=sd->guild_emblem_id;
- WBUFW(buf,44)=sd->status.manner;
- WBUFW(buf,46)=sd->opt3;
- WBUFB(buf,48)=sd->status.karma;
- WBUFB(buf,49)=sd->sex;
- WBUFPOS2(buf,50,sd->bl.x,sd->bl.y,sd->to_x,sd->to_y);
- WBUFW(buf,55)=pc_isGM(sd) == 60 ? 0x80 : 0;
- WBUFB(buf,57)=5;
- WBUFW(buf,58)=(sd->status.base_level>battle_config.max_lv)?battle_config.max_lv:sd->status.base_level;
-
- return packet_len_table[0x1da];
+static int clif_set007b (struct map_session_data *sd, unsigned char *buf)
+{
+ int level = 0;
+ nullpo_retr (0, sd);
+
+ if (sd->disguise > 23 && sd->disguise < 4001)
+ { // mob disguises [Valaris]
+ WBUFW (buf, 0) = 0x7b;
+ WBUFL (buf, 2) = sd->bl.id;
+ WBUFW (buf, 6) = battle_get_speed (&sd->bl);
+ WBUFW (buf, 8) = sd->opt1;
+ WBUFW (buf, 10) = sd->opt2;
+ WBUFW (buf, 12) = sd->status.option;
+ WBUFW (buf, 14) = sd->disguise;
+ WBUFL (buf, 22) = gettick ();
+ WBUFW (buf, 46) = 0;
+ WBUFB (buf, 48) = 0;
+ WBUFPOS2 (buf, 50, sd->bl.x, sd->bl.y, sd->to_x, sd->to_y);
+ WBUFB (buf, 55) = 0;
+ WBUFB (buf, 56) = 5;
+ WBUFB (buf, 57) = 5;
+ WBUFW (buf, 58) =
+ ((level =
+ battle_get_lv (&sd->bl)) >
+ battle_config.max_lv) ? battle_config.max_lv : level;
+
+ return packet_len_table[0x7b];
+ }
+
+ WBUFW (buf, 0) = 0x1da;
+ WBUFL (buf, 2) = sd->bl.id;
+ WBUFW (buf, 6) = sd->speed;
+ WBUFW (buf, 8) = sd->opt1;
+ WBUFW (buf, 10) = sd->opt2;
+ WBUFW (buf, 12) = sd->status.option;
+ WBUFW (buf, 14) = sd->view_class;
+ WBUFW (buf, 16) = sd->status.hair;
+ if (sd->equip_index[9] >= 0 && sd->inventory_data[sd->equip_index[9]]
+ && sd->view_class != 22)
+ {
+ if (sd->inventory_data[sd->equip_index[9]]->view_id > 0)
+ WBUFW (buf, 18) = sd->inventory_data[sd->equip_index[9]]->view_id;
+ else
+ WBUFW (buf, 18) = sd->status.inventory[sd->equip_index[9]].nameid;
+ }
+ else
+ WBUFW (buf, 18) = 0;
+ if (sd->equip_index[8] >= 0 && sd->equip_index[8] != sd->equip_index[9]
+ && sd->inventory_data[sd->equip_index[8]] && sd->view_class != 22)
+ {
+ if (sd->inventory_data[sd->equip_index[8]]->view_id > 0)
+ WBUFW (buf, 20) = sd->inventory_data[sd->equip_index[8]]->view_id;
+ else
+ WBUFW (buf, 20) = sd->status.inventory[sd->equip_index[8]].nameid;
+ }
+ else
+ WBUFW (buf, 20) = 0;
+ WBUFW (buf, 22) = sd->status.head_bottom;
+ WBUFL (buf, 24) = gettick ();
+ WBUFW (buf, 28) = sd->status.head_top;
+ WBUFW (buf, 30) = sd->status.head_mid;
+ WBUFW (buf, 32) = sd->status.hair_color;
+ WBUFW (buf, 34) = sd->status.clothes_color;
+ WBUFW (buf, 36) = sd->head_dir;
+ WBUFL (buf, 38) = sd->status.guild_id;
+ WBUFW (buf, 42) = sd->guild_emblem_id;
+ WBUFW (buf, 44) = sd->status.manner;
+ WBUFW (buf, 46) = sd->opt3;
+ WBUFB (buf, 48) = sd->status.karma;
+ WBUFB (buf, 49) = sd->sex;
+ WBUFPOS2 (buf, 50, sd->bl.x, sd->bl.y, sd->to_x, sd->to_y);
+ WBUFW (buf, 55) = pc_isGM (sd) == 60 ? 0x80 : 0;
+ WBUFB (buf, 57) = 5;
+ WBUFW (buf, 58) =
+ (sd->status.base_level >
+ battle_config.max_lv) ? battle_config.max_lv : sd->status.base_level;
+
+ return packet_len_table[0x1da];
}
/*==========================================
* �N���X�`�F���W type��Mob�̏ꍇ��1�ő���0�H
*------------------------------------------
*/
-int clif_class_change(struct block_list *bl,int class,int type)
+int clif_class_change (struct block_list *bl, int class, int type)
{
- char buf[16];
+ char buf[16];
- nullpo_retr(0, bl);
+ nullpo_retr (0, bl);
- if(class >= MAX_PC_CLASS) {
- WBUFW(buf,0)=0x1b0;
- WBUFL(buf,2)=bl->id;
- WBUFB(buf,6)=type;
- WBUFL(buf,7)=class;
+ if (class >= MAX_PC_CLASS)
+ {
+ WBUFW (buf, 0) = 0x1b0;
+ WBUFL (buf, 2) = bl->id;
+ WBUFB (buf, 6) = type;
+ WBUFL (buf, 7) = class;
- clif_send(buf,packet_len_table[0x1b0],bl,AREA);
- }
- return 0;
+ clif_send (buf, packet_len_table[0x1b0], bl, AREA);
+ }
+ return 0;
}
+
/*==========================================
*
*------------------------------------------
*/
-int clif_mob_class_change(struct mob_data *md, int class) {
- char buf[16];
- int view = mob_get_viewclass(class);
+int clif_mob_class_change (struct mob_data *md, int class)
+{
+ char buf[16];
+ int view = mob_get_viewclass (class);
- nullpo_retr(0, md);
+ nullpo_retr (0, md);
- if(view >= MAX_PC_CLASS) {
- WBUFW(buf,0)=0x1b0;
- WBUFL(buf,2)=md->bl.id;
- WBUFB(buf,6)=1;
- WBUFL(buf,7)=view;
+ if (view >= MAX_PC_CLASS)
+ {
+ WBUFW (buf, 0) = 0x1b0;
+ WBUFL (buf, 2) = md->bl.id;
+ WBUFB (buf, 6) = 1;
+ WBUFL (buf, 7) = view;
- clif_send(buf,packet_len_table[0x1b0],&md->bl,AREA);
- }
- return 0;
+ clif_send (buf, packet_len_table[0x1b0], &md->bl, AREA);
+ }
+ return 0;
}
+
// mob equipment [Valaris]
-int clif_mob_equip(struct mob_data *md, int nameid) {
- unsigned char buf[16];
+int clif_mob_equip (struct mob_data *md, int nameid)
+{
+ unsigned char buf[16];
- nullpo_retr(0, md);
+ nullpo_retr (0, md);
- memset(buf,0,packet_len_table[0x1a4]);
+ memset (buf, 0, packet_len_table[0x1a4]);
- WBUFW(buf,0)=0x1a4;
- WBUFB(buf,2)=3;
- WBUFL(buf,3)=md->bl.id;
- WBUFL(buf,7)=nameid;
+ WBUFW (buf, 0) = 0x1a4;
+ WBUFB (buf, 2) = 3;
+ WBUFL (buf, 3) = md->bl.id;
+ WBUFL (buf, 7) = nameid;
- clif_send(buf,packet_len_table[0x1a4],&md->bl,AREA);
+ clif_send (buf, packet_len_table[0x1a4], &md->bl, AREA);
- return 0;
+ return 0;
}
/*==========================================
* MOB�\��1
*------------------------------------------
*/
-static int clif_mob0078(struct mob_data *md, unsigned char *buf)
-{
- int level;
-
- memset(buf,0,packet_len_table[0x78]);
-
- nullpo_retr(0, md);
-
- WBUFW(buf,0)=0x78;
- WBUFL(buf,2)=md->bl.id;
- WBUFW(buf,6)=battle_get_speed(&md->bl);
- WBUFW(buf,8)=md->opt1;
- WBUFW(buf,10)=md->opt2;
- WBUFW(buf,12)=md->option;
- WBUFW(buf,14)=mob_get_viewclass(md->class);
- if((mob_get_viewclass(md->class) <= 23) || (mob_get_viewclass(md->class) == 812) || (mob_get_viewclass(md->class) >= 4001)) {
- WBUFW(buf,12)|=mob_db[md->class].option;
- WBUFW(buf,16)=mob_get_hair(md->class);
- WBUFW(buf,18)=mob_get_weapon(md->class);
- WBUFW(buf,20)=mob_get_head_buttom(md->class);
- WBUFW(buf,22)=mob_get_shield(md->class);
- WBUFW(buf,24)=mob_get_head_top(md->class);
- WBUFW(buf,26)=mob_get_head_mid(md->class);
- WBUFW(buf,28)=mob_get_hair_color(md->class);
- WBUFW(buf,30)=mob_get_clothes_color(md->class); //Add for player monster dye - Valaris
- WBUFB(buf,45)=mob_get_sex(md->class);
- }
-
- if (md->class >= 1285 && md->class <= 1287) { // Added guardian emblems [Valaris]
- struct guild *g;
- struct guild_castle *gc=guild_mapname2gc(map[md->bl.m].name);
- if (gc && gc->guild_id > 0) {
- g=guild_search(gc->guild_id);
- if (g) {
- WBUFL(buf,26)=gc->guild_id;
- WBUFL(buf,22)=g->emblem_id;
- }
- }
- } // End addition
+static int clif_mob0078 (struct mob_data *md, unsigned char *buf)
+{
+ int level;
+
+ memset (buf, 0, packet_len_table[0x78]);
+
+ nullpo_retr (0, md);
+
+ WBUFW (buf, 0) = 0x78;
+ WBUFL (buf, 2) = md->bl.id;
+ WBUFW (buf, 6) = battle_get_speed (&md->bl);
+ WBUFW (buf, 8) = md->opt1;
+ WBUFW (buf, 10) = md->opt2;
+ WBUFW (buf, 12) = md->option;
+ WBUFW (buf, 14) = mob_get_viewclass (md->class);
+ if ((mob_get_viewclass (md->class) <= 23)
+ || (mob_get_viewclass (md->class) == 812)
+ || (mob_get_viewclass (md->class) >= 4001))
+ {
+ WBUFW (buf, 12) |= mob_db[md->class].option;
+ WBUFW (buf, 16) = mob_get_hair (md->class);
+ WBUFW (buf, 18) = mob_get_weapon (md->class);
+ WBUFW (buf, 20) = mob_get_head_buttom (md->class);
+ WBUFW (buf, 22) = mob_get_shield (md->class);
+ WBUFW (buf, 24) = mob_get_head_top (md->class);
+ WBUFW (buf, 26) = mob_get_head_mid (md->class);
+ WBUFW (buf, 28) = mob_get_hair_color (md->class);
+ WBUFW (buf, 30) = mob_get_clothes_color (md->class); //Add for player monster dye - Valaris
+ WBUFB (buf, 45) = mob_get_sex (md->class);
+ }
+
+ if (md->class >= 1285 && md->class <= 1287)
+ { // Added guardian emblems [Valaris]
+ struct guild *g;
+ struct guild_castle *gc = guild_mapname2gc (map[md->bl.m].name);
+ if (gc && gc->guild_id > 0)
+ {
+ g = guild_search (gc->guild_id);
+ if (g)
+ {
+ WBUFL (buf, 26) = gc->guild_id;
+ WBUFL (buf, 22) = g->emblem_id;
+ }
+ }
+ } // End addition
- WBUFPOS(buf,46,md->bl.x,md->bl.y);
- WBUFB(buf,48)|=md->dir&0x0f;
- WBUFB(buf,49)=5;
- WBUFB(buf,50)=5;
- WBUFW(buf,52)=((level = battle_get_lv(&md->bl))>battle_config.max_lv)? battle_config.max_lv:level;
+ WBUFPOS (buf, 46, md->bl.x, md->bl.y);
+ WBUFB (buf, 48) |= md->dir & 0x0f;
+ WBUFB (buf, 49) = 5;
+ WBUFB (buf, 50) = 5;
+ WBUFW (buf, 52) =
+ ((level =
+ battle_get_lv (&md->bl)) >
+ battle_config.max_lv) ? battle_config.max_lv : level;
- return packet_len_table[0x78];
+ return packet_len_table[0x78];
}
/*==========================================
* MOB�\��2
*------------------------------------------
*/
-static int clif_mob007b(struct mob_data *md, unsigned char *buf) {
- int level;
-
- memset(buf,0,packet_len_table[0x7b]);
-
- nullpo_retr(0, md);
-
- WBUFW(buf,0)=0x7b;
- WBUFL(buf,2)=md->bl.id;
- WBUFW(buf,6)=battle_get_speed(&md->bl);
- WBUFW(buf,8)=md->opt1;
- WBUFW(buf,10)=md->opt2;
- WBUFW(buf,12)=md->option;
- WBUFW(buf,14)=mob_get_viewclass(md->class);
- if ((mob_get_viewclass(md->class) < 24) || (mob_get_viewclass(md->class) > 4000)) {
- WBUFW(buf,12)|=mob_db[md->class].option;
- WBUFW(buf,16)=mob_get_hair(md->class);
- WBUFW(buf,18)=mob_get_weapon(md->class);
- WBUFW(buf,20)=mob_get_head_buttom(md->class);
- WBUFL(buf,22)=gettick();
- WBUFW(buf,26)=mob_get_shield(md->class);
- WBUFW(buf,28)=mob_get_head_top(md->class);
- WBUFW(buf,30)=mob_get_head_mid(md->class);
- WBUFW(buf,32)=mob_get_hair_color(md->class);
- WBUFW(buf,34)=mob_get_clothes_color(md->class); //Add for player monster dye - Valaris
- WBUFB(buf,49)=mob_get_sex(md->class);
- } else
- WBUFL(buf,22)=gettick();
-
- if(md->class >= 1285 && md->class <= 1287) { // Added guardian emblems [Valaris]
- struct guild *g;
- struct guild_castle *gc=guild_mapname2gc(map[md->bl.m].name);
- if(gc && gc->guild_id > 0){
- g=guild_search(gc->guild_id);
- if(g) {
- WBUFL(buf,28)=gc->guild_id;
- WBUFL(buf,24)=g->emblem_id;
- }
- }
- } // End addition
-
- WBUFPOS2(buf,50,md->bl.x,md->bl.y,md->to_x,md->to_y);
- WBUFB(buf,56)=5;
- WBUFB(buf,57)=5;
- WBUFW(buf,58)=((level = battle_get_lv(&md->bl))>battle_config.max_lv)? battle_config.max_lv:level;
-
- return packet_len_table[0x7b];
+static int clif_mob007b (struct mob_data *md, unsigned char *buf)
+{
+ int level;
+
+ memset (buf, 0, packet_len_table[0x7b]);
+
+ nullpo_retr (0, md);
+
+ WBUFW (buf, 0) = 0x7b;
+ WBUFL (buf, 2) = md->bl.id;
+ WBUFW (buf, 6) = battle_get_speed (&md->bl);
+ WBUFW (buf, 8) = md->opt1;
+ WBUFW (buf, 10) = md->opt2;
+ WBUFW (buf, 12) = md->option;
+ WBUFW (buf, 14) = mob_get_viewclass (md->class);
+ if ((mob_get_viewclass (md->class) < 24)
+ || (mob_get_viewclass (md->class) > 4000))
+ {
+ WBUFW (buf, 12) |= mob_db[md->class].option;
+ WBUFW (buf, 16) = mob_get_hair (md->class);
+ WBUFW (buf, 18) = mob_get_weapon (md->class);
+ WBUFW (buf, 20) = mob_get_head_buttom (md->class);
+ WBUFL (buf, 22) = gettick ();
+ WBUFW (buf, 26) = mob_get_shield (md->class);
+ WBUFW (buf, 28) = mob_get_head_top (md->class);
+ WBUFW (buf, 30) = mob_get_head_mid (md->class);
+ WBUFW (buf, 32) = mob_get_hair_color (md->class);
+ WBUFW (buf, 34) = mob_get_clothes_color (md->class); //Add for player monster dye - Valaris
+ WBUFB (buf, 49) = mob_get_sex (md->class);
+ }
+ else
+ WBUFL (buf, 22) = gettick ();
+
+ if (md->class >= 1285 && md->class <= 1287)
+ { // Added guardian emblems [Valaris]
+ struct guild *g;
+ struct guild_castle *gc = guild_mapname2gc (map[md->bl.m].name);
+ if (gc && gc->guild_id > 0)
+ {
+ g = guild_search (gc->guild_id);
+ if (g)
+ {
+ WBUFL (buf, 28) = gc->guild_id;
+ WBUFL (buf, 24) = g->emblem_id;
+ }
+ }
+ } // End addition
+
+ WBUFPOS2 (buf, 50, md->bl.x, md->bl.y, md->to_x, md->to_y);
+ WBUFB (buf, 56) = 5;
+ WBUFB (buf, 57) = 5;
+ WBUFW (buf, 58) =
+ ((level =
+ battle_get_lv (&md->bl)) >
+ battle_config.max_lv) ? battle_config.max_lv : level;
+
+ return packet_len_table[0x7b];
}
/*==========================================
*
*------------------------------------------
*/
-static int clif_npc0078(struct npc_data *nd, unsigned char *buf) {
- struct guild *g;
+static int clif_npc0078 (struct npc_data *nd, unsigned char *buf)
+{
+ struct guild *g;
- nullpo_retr(0, nd);
+ nullpo_retr (0, nd);
- memset(buf,0,packet_len_table[0x78]);
+ memset (buf, 0, packet_len_table[0x78]);
- WBUFW(buf,0)=0x78;
- WBUFL(buf,2)=nd->bl.id;
- WBUFW(buf,6)=nd->speed;
- WBUFW(buf,14)=nd->class;
- if ((nd->class == 722) && (nd->u.scr.guild_id > 0) && ((g=guild_search(nd->u.scr.guild_id)) != NULL)) {
- WBUFL(buf,22)=g->emblem_id;
- WBUFL(buf,26)=g->guild_id;
- }
- WBUFPOS(buf,46,nd->bl.x,nd->bl.y);
- WBUFB(buf,48)|=nd->dir&0x0f;
- WBUFB(buf,49)=5;
- WBUFB(buf,50)=5;
+ WBUFW (buf, 0) = 0x78;
+ WBUFL (buf, 2) = nd->bl.id;
+ WBUFW (buf, 6) = nd->speed;
+ WBUFW (buf, 14) = nd->class;
+ if ((nd->class == 722) && (nd->u.scr.guild_id > 0)
+ && ((g = guild_search (nd->u.scr.guild_id)) != NULL))
+ {
+ WBUFL (buf, 22) = g->emblem_id;
+ WBUFL (buf, 26) = g->guild_id;
+ }
+ WBUFPOS (buf, 46, nd->bl.x, nd->bl.y);
+ WBUFB (buf, 48) |= nd->dir & 0x0f;
+ WBUFB (buf, 49) = 5;
+ WBUFB (buf, 50) = 5;
- return packet_len_table[0x78];
+ return packet_len_table[0x78];
}
/*==========================================
*
*------------------------------------------
*/
-static int clif_set01e1(struct map_session_data *sd, unsigned char *buf) {
- nullpo_retr(0, sd);
+static int clif_set01e1 (struct map_session_data *sd, unsigned char *buf)
+{
+ nullpo_retr (0, sd);
- WBUFW(buf,0)=0x1e1;
- WBUFL(buf,2)=sd->bl.id;
- WBUFW(buf,6)=sd->spiritball;
+ WBUFW (buf, 0) = 0x1e1;
+ WBUFL (buf, 2) = sd->bl.id;
+ WBUFW (buf, 6) = sd->spiritball;
- return packet_len_table[0x1e1];
+ return packet_len_table[0x1e1];
}
/*==========================================
*
*------------------------------------------
*/
-static int clif_set0192(int fd, int m, int x, int y, int type) {
- WFIFOW(fd,0) = 0x192;
- WFIFOW(fd,2) = x;
- WFIFOW(fd,4) = y;
- WFIFOW(fd,6) = type;
- memcpy(WFIFOP(fd,8),map[m].name,16);
- WFIFOSET(fd,packet_len_table[0x192]);
+static int clif_set0192 (int fd, int m, int x, int y, int type)
+{
+ WFIFOW (fd, 0) = 0x192;
+ WFIFOW (fd, 2) = x;
+ WFIFOW (fd, 4) = y;
+ WFIFOW (fd, 6) = type;
+ memcpy (WFIFOP (fd, 8), map[m].name, 16);
+ WFIFOSET (fd, packet_len_table[0x192]);
- return 0;
+ return 0;
}
/* These indices are derived from equip_pos in pc.c and some guesswork */
static int equip_points[LOOK_LAST + 1] = {
- -1, /* 0: base */
- -1, /* 1: hair */
- 9, /* 2: weapon */
- 4, /* 3: head botom -- leg armour */
- 6, /* 4: head top -- hat */
- 5, /* 5: head mid -- torso armour */
- -1, /* 6: hair colour */
- -1, /* 6: clothes colour */
- 8, /* 6: shield */
- 2, /* 9: shoes */
- 3, /* gloves */
- 1, /* cape */
- 7, /* misc1 */
- 0, /* misc2 */};
+ -1, /* 0: base */
+ -1, /* 1: hair */
+ 9, /* 2: weapon */
+ 4, /* 3: head botom -- leg armour */
+ 6, /* 4: head top -- hat */
+ 5, /* 5: head mid -- torso armour */
+ -1, /* 6: hair colour */
+ -1, /* 6: clothes colour */
+ 8, /* 6: shield */
+ 2, /* 9: shoes */
+ 3, /* gloves */
+ 1, /* cape */
+ 7, /* misc1 */
+ 0, /* misc2 */
+};
/*==========================================
*
*------------------------------------------
*/
-int clif_spawnpc(struct map_session_data *sd) {
- unsigned char buf[128];
-
- nullpo_retr(0, sd);
+int clif_spawnpc (struct map_session_data *sd)
+{
+ unsigned char buf[128];
- if (sd->disguise > 23 && sd->disguise < 4001) { // mob disguises [Valaris]
- clif_clearchar(&sd->bl, 9);
+ nullpo_retr (0, sd);
- memset(buf, 0, packet_len_table[0x119]);
+ if (sd->disguise > 23 && sd->disguise < 4001)
+ { // mob disguises [Valaris]
+ clif_clearchar (&sd->bl, 9);
- WBUFW(buf, 0) = 0x119;
- WBUFL(buf, 2) = sd->bl.id;
- WBUFW(buf, 6) = 0;
- WBUFW(buf, 8) = 0;
- WBUFW(buf,10) = 0x40;
- WBUFB(buf,12) = 0;
+ memset (buf, 0, packet_len_table[0x119]);
- clif_send(buf, packet_len_table[0x119], &sd->bl, SELF);
+ WBUFW (buf, 0) = 0x119;
+ WBUFL (buf, 2) = sd->bl.id;
+ WBUFW (buf, 6) = 0;
+ WBUFW (buf, 8) = 0;
+ WBUFW (buf, 10) = 0x40;
+ WBUFB (buf, 12) = 0;
- memset(buf, 0, packet_len_table[0x7c]);
+ clif_send (buf, packet_len_table[0x119], &sd->bl, SELF);
- WBUFW(buf, 0) = 0x7c;
- WBUFL(buf, 2) = sd->bl.id;
- WBUFW(buf, 6) = sd->speed;
- WBUFW(buf, 8) = sd->opt1;
- WBUFW(buf,10) = sd->opt2;
- WBUFW(buf,12) = sd->status.option;
- WBUFW(buf,20) = sd->disguise;
- WBUFPOS(buf, 36, sd->bl.x, sd->bl.y);
- clif_send(buf, packet_len_table[0x7c], &sd->bl, AREA);
- }
+ memset (buf, 0, packet_len_table[0x7c]);
- clif_set0078(sd, buf);
+ WBUFW (buf, 0) = 0x7c;
+ WBUFL (buf, 2) = sd->bl.id;
+ WBUFW (buf, 6) = sd->speed;
+ WBUFW (buf, 8) = sd->opt1;
+ WBUFW (buf, 10) = sd->opt2;
+ WBUFW (buf, 12) = sd->status.option;
+ WBUFW (buf, 20) = sd->disguise;
+ WBUFPOS (buf, 36, sd->bl.x, sd->bl.y);
+ clif_send (buf, packet_len_table[0x7c], &sd->bl, AREA);
+ }
- WBUFW(buf, 0) = 0x1d9;
- WBUFW(buf,51) = (sd->status.base_level > battle_config.max_lv) ? battle_config.max_lv : sd->status.base_level;
- clif_send(buf, packet_len_table[0x1d9], &sd->bl, AREA_WOS);
+ clif_set0078 (sd, buf);
- if (sd->spiritball > 0)
- clif_spiritball(sd);
+ WBUFW (buf, 0) = 0x1d9;
+ WBUFW (buf, 51) =
+ (sd->status.base_level >
+ battle_config.max_lv) ? battle_config.max_lv : sd->status.base_level;
+ clif_send (buf, packet_len_table[0x1d9], &sd->bl, AREA_WOS);
- if (sd->status.guild_id > 0) { // force display of guild emblem [Valaris]
- struct guild *g = guild_search(sd->status.guild_id);
- if (g)
- clif_guild_emblem(sd,g);
- } // end addition [Valaris]
+ if (sd->spiritball > 0)
+ clif_spiritball (sd);
- if (sd->status.class==13 || sd->status.class==21 || sd->status.class==4014 || sd->status.class==4022)
- pc_setoption(sd,sd->status.option|0x0020); // [Valaris]
+ if (sd->status.guild_id > 0)
+ { // force display of guild emblem [Valaris]
+ struct guild *g = guild_search (sd->status.guild_id);
+ if (g)
+ clif_guild_emblem (sd, g);
+ } // end addition [Valaris]
- if ((pc_isriding(sd) && pc_checkskill(sd,KN_RIDING)>0) && (sd->status.class==7 ||
- sd->status.class==14 || sd->status.class==4008 || sd->status.class==4015))
- pc_setriding(sd); // update peco riders for people upgrading athena [Valaris]
+ if (sd->status.class == 13 || sd->status.class == 21
+ || sd->status.class == 4014 || sd->status.class == 4022)
+ pc_setoption (sd, sd->status.option | 0x0020); // [Valaris]
+ if ((pc_isriding (sd) && pc_checkskill (sd, KN_RIDING) > 0)
+ && (sd->status.class == 7 || sd->status.class == 14
+ || sd->status.class == 4008 || sd->status.class == 4015))
+ pc_setriding (sd); // update peco riders for people upgrading athena [Valaris]
- if (map[sd->bl.m].flag.snow)
- clif_specialeffect(&sd->bl, 162, 1);
- if (map[sd->bl.m].flag.fog)
- clif_specialeffect(&sd->bl, 233, 1);
- if (map[sd->bl.m].flag.sakura)
- clif_specialeffect(&sd->bl, 163, 1);
- if (map[sd->bl.m].flag.leaves)
- clif_specialeffect(&sd->bl, 333, 1);
- if (map[sd->bl.m].flag.rain)
- clif_specialeffect(&sd->bl, 161, 1);
+ if (map[sd->bl.m].flag.snow)
+ clif_specialeffect (&sd->bl, 162, 1);
+ if (map[sd->bl.m].flag.fog)
+ clif_specialeffect (&sd->bl, 233, 1);
+ if (map[sd->bl.m].flag.sakura)
+ clif_specialeffect (&sd->bl, 163, 1);
+ if (map[sd->bl.m].flag.leaves)
+ clif_specialeffect (&sd->bl, 333, 1);
+ if (map[sd->bl.m].flag.rain)
+ clif_specialeffect (&sd->bl, 161, 1);
// clif_changelook_accessories(&sd->bl, NULL);
- return 0;
+ return 0;
}
/*==========================================
*
*------------------------------------------
*/
-int clif_spawnnpc(struct npc_data *nd)
+int clif_spawnnpc (struct npc_data *nd)
{
- unsigned char buf[64];
- int len;
-
- nullpo_retr(0, nd);
+ unsigned char buf[64];
+ int len;
- if(nd->class < 0 || nd->flag&1 || nd->class == INVISIBLE_CLASS)
- return 0;
+ nullpo_retr (0, nd);
- memset(buf,0,packet_len_table[0x7c]);
+ if (nd->class < 0 || nd->flag & 1 || nd->class == INVISIBLE_CLASS)
+ return 0;
- WBUFW(buf,0)=0x7c;
- WBUFL(buf,2)=nd->bl.id;
- WBUFW(buf,6)=nd->speed;
- WBUFW(buf,20)=nd->class;
- WBUFPOS(buf,36,nd->bl.x,nd->bl.y);
+ memset (buf, 0, packet_len_table[0x7c]);
- clif_send(buf,packet_len_table[0x7c],&nd->bl,AREA);
+ WBUFW (buf, 0) = 0x7c;
+ WBUFL (buf, 2) = nd->bl.id;
+ WBUFW (buf, 6) = nd->speed;
+ WBUFW (buf, 20) = nd->class;
+ WBUFPOS (buf, 36, nd->bl.x, nd->bl.y);
- len = clif_npc0078(nd,buf);
- clif_send(buf,len,&nd->bl,AREA);
+ clif_send (buf, packet_len_table[0x7c], &nd->bl, AREA);
+ len = clif_npc0078 (nd, buf);
+ clif_send (buf, len, &nd->bl, AREA);
- return 0;
+ return 0;
}
int
-clif_spawn_fake_npc_for_player(struct map_session_data *sd, int fake_npc_id)
+clif_spawn_fake_npc_for_player (struct map_session_data *sd, int fake_npc_id)
{
- int fd;
-
- nullpo_retr(0, sd);
-
- fd = sd->fd;
- if (!fd)
- return 0;
+ int fd;
- WFIFOW(fd, 0) = 0x7c;
- WFIFOL(fd, 2) = fake_npc_id;
- WFIFOW(fd, 6) = 0;
- WFIFOW(fd, 8) = 0;
- WFIFOW(fd, 10) = 0;
- WFIFOW(fd, 12) = 0;
- WFIFOW(fd, 20) = 127;
- WFIFOPOS(fd, 36, sd->bl.x, sd->bl.y);
- WFIFOSET(fd, packet_len_table[0x7c]);
-
- WFIFOW(fd, 0)=0x78;
- WFIFOL(fd, 2) = fake_npc_id;
- WFIFOW(fd, 6) = 0;
- WFIFOW(fd, 8) = 0;
- WFIFOW(fd, 10) = 0;
- WFIFOW(fd, 12) = 0;
- WFIFOW(fd, 14) = 127; // identifies as NPC
- WFIFOW(fd, 20) = 127;
- WFIFOPOS(fd, 46, sd->bl.x, sd->bl.y);
- WFIFOPOS(fd, 36, sd->bl.x, sd->bl.y);
- WFIFOB(fd, 49) = 5;
- WFIFOB(fd, 50) = 5;
- WFIFOSET(fd, packet_len_table[0x78]);
+ nullpo_retr (0, sd);
+ fd = sd->fd;
+ if (!fd)
return 0;
-}
+ WFIFOW (fd, 0) = 0x7c;
+ WFIFOL (fd, 2) = fake_npc_id;
+ WFIFOW (fd, 6) = 0;
+ WFIFOW (fd, 8) = 0;
+ WFIFOW (fd, 10) = 0;
+ WFIFOW (fd, 12) = 0;
+ WFIFOW (fd, 20) = 127;
+ WFIFOPOS (fd, 36, sd->bl.x, sd->bl.y);
+ WFIFOSET (fd, packet_len_table[0x7c]);
+
+ WFIFOW (fd, 0) = 0x78;
+ WFIFOL (fd, 2) = fake_npc_id;
+ WFIFOW (fd, 6) = 0;
+ WFIFOW (fd, 8) = 0;
+ WFIFOW (fd, 10) = 0;
+ WFIFOW (fd, 12) = 0;
+ WFIFOW (fd, 14) = 127; // identifies as NPC
+ WFIFOW (fd, 20) = 127;
+ WFIFOPOS (fd, 46, sd->bl.x, sd->bl.y);
+ WFIFOPOS (fd, 36, sd->bl.x, sd->bl.y);
+ WFIFOB (fd, 49) = 5;
+ WFIFOB (fd, 50) = 5;
+ WFIFOSET (fd, packet_len_table[0x78]);
+
+ return 0;
+}
/*==========================================
*
*------------------------------------------
*/
-int clif_spawnmob(struct mob_data *md)
+int clif_spawnmob (struct mob_data *md)
{
- unsigned char buf[64];
- int len;
-
- nullpo_retr(0, md);
-
- if (mob_get_viewclass(md->class) > 23 ) {
- memset(buf,0,packet_len_table[0x7c]);
-
- WBUFW(buf,0)=0x7c;
- WBUFL(buf,2)=md->bl.id;
- WBUFW(buf,6)=md->stats[MOB_SPEED];
- WBUFW(buf,8)=md->opt1;
- WBUFW(buf,10)=md->opt2;
- WBUFW(buf,12)=md->option;
- WBUFW(buf,20)=mob_get_viewclass(md->class);
- WBUFPOS(buf,36,md->bl.x,md->bl.y);
- clif_send(buf,packet_len_table[0x7c],&md->bl,AREA);
- }
+ unsigned char buf[64];
+ int len;
- len = clif_mob0078(md,buf);
- clif_send(buf,len,&md->bl,AREA);
+ nullpo_retr (0, md);
- if (mob_get_equip(md->class) > 0) // mob equipment [Valaris]
- clif_mob_equip(md,mob_get_equip(md->class));
+ if (mob_get_viewclass (md->class) > 23)
+ {
+ memset (buf, 0, packet_len_table[0x7c]);
- return 0;
+ WBUFW (buf, 0) = 0x7c;
+ WBUFL (buf, 2) = md->bl.id;
+ WBUFW (buf, 6) = md->stats[MOB_SPEED];
+ WBUFW (buf, 8) = md->opt1;
+ WBUFW (buf, 10) = md->opt2;
+ WBUFW (buf, 12) = md->option;
+ WBUFW (buf, 20) = mob_get_viewclass (md->class);
+ WBUFPOS (buf, 36, md->bl.x, md->bl.y);
+ clif_send (buf, packet_len_table[0x7c], &md->bl, AREA);
+ }
+
+ len = clif_mob0078 (md, buf);
+ clif_send (buf, len, &md->bl, AREA);
+
+ if (mob_get_equip (md->class) > 0) // mob equipment [Valaris]
+ clif_mob_equip (md, mob_get_equip (md->class));
+
+ return 0;
}
/*==========================================
*
*------------------------------------------
*/
-int clif_servertick(struct map_session_data *sd)
+int clif_servertick (struct map_session_data *sd)
{
- int fd;
+ int fd;
- nullpo_retr(0, sd);
+ nullpo_retr (0, sd);
- fd=sd->fd;
- WFIFOW(fd,0)=0x7f;
- WFIFOL(fd,2)=sd->server_tick;
- WFIFOSET(fd,packet_len_table[0x7f]);
+ fd = sd->fd;
+ WFIFOW (fd, 0) = 0x7f;
+ WFIFOL (fd, 2) = sd->server_tick;
+ WFIFOSET (fd, packet_len_table[0x7f]);
- return 0;
+ return 0;
}
/*==========================================
*
*------------------------------------------
*/
-int clif_walkok(struct map_session_data *sd)
+int clif_walkok (struct map_session_data *sd)
{
- int fd;
+ int fd;
- nullpo_retr(0, sd);
+ nullpo_retr (0, sd);
- fd=sd->fd;
- WFIFOW(fd,0)=0x87;
- WFIFOL(fd,2)=gettick();;
- WFIFOPOS2(fd,6,sd->bl.x,sd->bl.y,sd->to_x,sd->to_y);
- WFIFOB(fd,11)=0;
- WFIFOSET(fd,packet_len_table[0x87]);
+ fd = sd->fd;
+ WFIFOW (fd, 0) = 0x87;
+ WFIFOL (fd, 2) = gettick ();;
+ WFIFOPOS2 (fd, 6, sd->bl.x, sd->bl.y, sd->to_x, sd->to_y);
+ WFIFOB (fd, 11) = 0;
+ WFIFOSET (fd, packet_len_table[0x87]);
- return 0;
+ return 0;
}
/*==========================================
*
*------------------------------------------
*/
-int clif_movechar(struct map_session_data *sd) {
- int fd;
- int len;
- unsigned char buf[256];
+int clif_movechar (struct map_session_data *sd)
+{
+ int fd;
+ int len;
+ unsigned char buf[256];
- nullpo_retr(0, sd);
+ nullpo_retr (0, sd);
- fd = sd->fd;
+ fd = sd->fd;
- len = clif_set007b(sd, buf);
+ len = clif_set007b (sd, buf);
- if (sd->disguise > 23 && sd->disguise < 4001) {
- clif_send(buf, len, &sd->bl, AREA);
- return 0;
- } else
- clif_send(buf, len, &sd->bl, AREA_WOS);
+ if (sd->disguise > 23 && sd->disguise < 4001)
+ {
+ clif_send (buf, len, &sd->bl, AREA);
+ return 0;
+ }
+ else
+ clif_send (buf, len, &sd->bl, AREA_WOS);
- if (battle_config.save_clothcolor == 1 && sd->status.clothes_color > 0)
- clif_changelook(&sd->bl, LOOK_CLOTHES_COLOR, sd->status.clothes_color);
+ if (battle_config.save_clothcolor == 1 && sd->status.clothes_color > 0)
+ clif_changelook (&sd->bl, LOOK_CLOTHES_COLOR,
+ sd->status.clothes_color);
- return 0;
+ return 0;
}
/*==========================================
*
*------------------------------------------
*/
-void clif_quitsave(int fd,struct map_session_data *sd)
+void clif_quitsave (int fd, struct map_session_data *sd)
{
- map_quit(sd);
+ map_quit (sd);
}
/*==========================================
*
*------------------------------------------
*/
-static int clif_waitclose(int tid, unsigned int tick, int id, int data) {
- if (session[id])
- session[id]->eof = 1;
+static int clif_waitclose (int tid, unsigned int tick, int id, int data)
+{
+ if (session[id])
+ session[id]->eof = 1;
- return 0;
+ return 0;
}
/*==========================================
*
*------------------------------------------
*/
-void clif_setwaitclose(int fd) {
- add_timer(gettick() + 5000, clif_waitclose, fd, 0);
+void clif_setwaitclose (int fd)
+{
+ add_timer (gettick () + 5000, clif_waitclose, fd, 0);
}
/*==========================================
*
*------------------------------------------
*/
-int clif_changemap(struct map_session_data *sd, char *mapname, int x, int y) {
- int fd;
+int clif_changemap (struct map_session_data *sd, char *mapname, int x, int y)
+{
+ int fd;
- nullpo_retr(0, sd);
+ nullpo_retr (0, sd);
- fd = sd->fd;
+ fd = sd->fd;
- WFIFOW(fd,0) = 0x91;
- memcpy(WFIFOP(fd,2), mapname, 16);
- WFIFOW(fd,18) = x;
- WFIFOW(fd,20) = y;
- WFIFOSET(fd, packet_len_table[0x91]);
+ WFIFOW (fd, 0) = 0x91;
+ memcpy (WFIFOP (fd, 2), mapname, 16);
+ WFIFOW (fd, 18) = x;
+ WFIFOW (fd, 20) = y;
+ WFIFOSET (fd, packet_len_table[0x91]);
- if (sd->disguise > 23 && sd->disguise < 4001) // mob disguises [Valaris]
- clif_spawnpc(sd);
+ if (sd->disguise > 23 && sd->disguise < 4001) // mob disguises [Valaris]
+ clif_spawnpc (sd);
- return 0;
+ return 0;
}
/*==========================================
*
*------------------------------------------
*/
-int clif_changemapserver(struct map_session_data *sd, char *mapname, int x, int y, int ip, int port) {
- int fd;
+int clif_changemapserver (struct map_session_data *sd, char *mapname, int x,
+ int y, int ip, int port)
+{
+ int fd;
- nullpo_retr(0, sd);
+ nullpo_retr (0, sd);
- fd = sd->fd;
- WFIFOW(fd,0) = 0x92;
- memcpy(WFIFOP(fd,2), mapname, 16);
- WFIFOW(fd,18) = x;
- WFIFOW(fd,20) = y;
- WFIFOL(fd,22) = ip;
- WFIFOW(fd,26) = port;
- WFIFOSET(fd, packet_len_table[0x92]);
+ fd = sd->fd;
+ WFIFOW (fd, 0) = 0x92;
+ memcpy (WFIFOP (fd, 2), mapname, 16);
+ WFIFOW (fd, 18) = x;
+ WFIFOW (fd, 20) = y;
+ WFIFOL (fd, 22) = ip;
+ WFIFOW (fd, 26) = port;
+ WFIFOSET (fd, packet_len_table[0x92]);
- return 0;
+ return 0;
}
/*==========================================
*
*------------------------------------------
*/
-int clif_fixpos(struct block_list *bl) {
- char buf[16];
+int clif_fixpos (struct block_list *bl)
+{
+ char buf[16];
- nullpo_retr(0, bl);
+ nullpo_retr (0, bl);
- WBUFW(buf,0)=0x88;
- WBUFL(buf,2)=bl->id;
- WBUFW(buf,6)=bl->x;
- WBUFW(buf,8)=bl->y;
+ WBUFW (buf, 0) = 0x88;
+ WBUFL (buf, 2) = bl->id;
+ WBUFW (buf, 6) = bl->x;
+ WBUFW (buf, 8) = bl->y;
- clif_send(buf, packet_len_table[0x88], bl, AREA);
+ clif_send (buf, packet_len_table[0x88], bl, AREA);
- return 0;
+ return 0;
}
/*==========================================
*
*------------------------------------------
*/
-int clif_npcbuysell(struct map_session_data* sd, int id) {
- int fd;
+int clif_npcbuysell (struct map_session_data *sd, int id)
+{
+ int fd;
- nullpo_retr(0, sd);
+ nullpo_retr (0, sd);
- fd=sd->fd;
- WFIFOW(fd,0)=0xc4;
- WFIFOL(fd,2)=id;
- WFIFOSET(fd,packet_len_table[0xc4]);
+ fd = sd->fd;
+ WFIFOW (fd, 0) = 0xc4;
+ WFIFOL (fd, 2) = id;
+ WFIFOSET (fd, packet_len_table[0xc4]);
- return 0;
+ return 0;
}
/*==========================================
*
*------------------------------------------
*/
-int clif_buylist(struct map_session_data *sd, struct npc_data *nd) {
- struct item_data *id;
- int fd,i,val;
-
- nullpo_retr(0, sd);
- nullpo_retr(0, nd);
-
- fd=sd->fd;
- WFIFOW(fd,0)=0xc6;
- for(i=0;nd->u.shop_item[i].nameid > 0;i++){
- id = itemdb_search(nd->u.shop_item[i].nameid);
- val=nd->u.shop_item[i].value;
- WFIFOL(fd,4+i*11)=val;
- if (!id->flag.value_notdc)
- val=pc_modifybuyvalue(sd,val);
- WFIFOL(fd,8+i*11)=val;
- WFIFOB(fd,12+i*11)=id->type;
- if (id->view_id > 0)
- WFIFOW(fd,13+i*11)=id->view_id;
- else
- WFIFOW(fd,13+i*11)=nd->u.shop_item[i].nameid;
- }
- WFIFOW(fd,2)=i*11+4;
- WFIFOSET(fd,WFIFOW(fd,2));
+int clif_buylist (struct map_session_data *sd, struct npc_data *nd)
+{
+ struct item_data *id;
+ int fd, i, val;
- return 0;
+ nullpo_retr (0, sd);
+ nullpo_retr (0, nd);
+
+ fd = sd->fd;
+ WFIFOW (fd, 0) = 0xc6;
+ for (i = 0; nd->u.shop_item[i].nameid > 0; i++)
+ {
+ id = itemdb_search (nd->u.shop_item[i].nameid);
+ val = nd->u.shop_item[i].value;
+ WFIFOL (fd, 4 + i * 11) = val;
+ if (!id->flag.value_notdc)
+ val = pc_modifybuyvalue (sd, val);
+ WFIFOL (fd, 8 + i * 11) = val;
+ WFIFOB (fd, 12 + i * 11) = id->type;
+ if (id->view_id > 0)
+ WFIFOW (fd, 13 + i * 11) = id->view_id;
+ else
+ WFIFOW (fd, 13 + i * 11) = nd->u.shop_item[i].nameid;
+ }
+ WFIFOW (fd, 2) = i * 11 + 4;
+ WFIFOSET (fd, WFIFOW (fd, 2));
+
+ return 0;
}
/*==========================================
*
*------------------------------------------
*/
-int clif_selllist(struct map_session_data *sd) {
- int fd,i,c=0,val;
-
- nullpo_retr(0, sd);
-
- fd=sd->fd;
- WFIFOW(fd,0)=0xc7;
- for(i=0;i<MAX_INVENTORY;i++) {
- if(sd->status.inventory[i].nameid > 0 && sd->inventory_data[i]) {
- val=sd->inventory_data[i]->value_sell;
- if (val < 0)
- continue;
- WFIFOW(fd,4+c*10)=i+2;
- WFIFOL(fd,6+c*10)=val;
- if (!sd->inventory_data[i]->flag.value_notoc)
- val=pc_modifysellvalue(sd,val);
- WFIFOL(fd,10+c*10)=val;
- c++;
- }
- }
- WFIFOW(fd,2)=c*10+4;
- WFIFOSET(fd,WFIFOW(fd,2));
+int clif_selllist (struct map_session_data *sd)
+{
+ int fd, i, c = 0, val;
- return 0;
+ nullpo_retr (0, sd);
+
+ fd = sd->fd;
+ WFIFOW (fd, 0) = 0xc7;
+ for (i = 0; i < MAX_INVENTORY; i++)
+ {
+ if (sd->status.inventory[i].nameid > 0 && sd->inventory_data[i])
+ {
+ val = sd->inventory_data[i]->value_sell;
+ if (val < 0)
+ continue;
+ WFIFOW (fd, 4 + c * 10) = i + 2;
+ WFIFOL (fd, 6 + c * 10) = val;
+ if (!sd->inventory_data[i]->flag.value_notoc)
+ val = pc_modifysellvalue (sd, val);
+ WFIFOL (fd, 10 + c * 10) = val;
+ c++;
+ }
+ }
+ WFIFOW (fd, 2) = c * 10 + 4;
+ WFIFOSET (fd, WFIFOW (fd, 2));
+
+ return 0;
}
/*==========================================
*
*------------------------------------------
*/
-int clif_scriptmes(struct map_session_data *sd, int npcid, char *mes) {
- int fd;
+int clif_scriptmes (struct map_session_data *sd, int npcid, char *mes)
+{
+ int fd;
- nullpo_retr(0, sd);
+ nullpo_retr (0, sd);
- fd = sd->fd;
- WFIFOW(fd, 0) = 0xb4;
- WFIFOW(fd, 2) = strlen(mes) + 9;
- WFIFOL(fd, 4) = npcid;
- strcpy(WFIFOP(fd, 8), mes);
- WFIFOSET(fd, WFIFOW(fd, 2));
+ fd = sd->fd;
+ WFIFOW (fd, 0) = 0xb4;
+ WFIFOW (fd, 2) = strlen (mes) + 9;
+ WFIFOL (fd, 4) = npcid;
+ strcpy (WFIFOP (fd, 8), mes);
+ WFIFOSET (fd, WFIFOW (fd, 2));
- return 0;
+ return 0;
}
/*==========================================
*
*------------------------------------------
*/
-int clif_scriptnext(struct map_session_data *sd,int npcid) {
- int fd;
+int clif_scriptnext (struct map_session_data *sd, int npcid)
+{
+ int fd;
- nullpo_retr(0, sd);
+ nullpo_retr (0, sd);
- fd=sd->fd;
- WFIFOW(fd,0)=0xb5;
- WFIFOL(fd,2)=npcid;
- WFIFOSET(fd,packet_len_table[0xb5]);
+ fd = sd->fd;
+ WFIFOW (fd, 0) = 0xb5;
+ WFIFOL (fd, 2) = npcid;
+ WFIFOSET (fd, packet_len_table[0xb5]);
- return 0;
+ return 0;
}
/*==========================================
*
*------------------------------------------
*/
-int clif_scriptclose(struct map_session_data *sd, int npcid) {
- int fd;
+int clif_scriptclose (struct map_session_data *sd, int npcid)
+{
+ int fd;
- nullpo_retr(0, sd);
+ nullpo_retr (0, sd);
- fd=sd->fd;
- WFIFOW(fd,0)=0xb6;
- WFIFOL(fd,2)=npcid;
- WFIFOSET(fd,packet_len_table[0xb6]);
+ fd = sd->fd;
+ WFIFOW (fd, 0) = 0xb6;
+ WFIFOL (fd, 2) = npcid;
+ WFIFOSET (fd, packet_len_table[0xb6]);
- return 0;
+ return 0;
}
/*==========================================
*
*------------------------------------------
*/
-int clif_scriptmenu(struct map_session_data *sd, int npcid, char *mes) {
- int fd;
+int clif_scriptmenu (struct map_session_data *sd, int npcid, char *mes)
+{
+ int fd;
- nullpo_retr(0, sd);
+ nullpo_retr (0, sd);
- fd=sd->fd;
- WFIFOW(fd,0)=0xb7;
- WFIFOW(fd,2)=strlen(mes)+8;
- WFIFOL(fd,4)=npcid;
- strcpy(WFIFOP(fd,8),mes);
- WFIFOSET(fd,WFIFOW(fd,2));
+ fd = sd->fd;
+ WFIFOW (fd, 0) = 0xb7;
+ WFIFOW (fd, 2) = strlen (mes) + 8;
+ WFIFOL (fd, 4) = npcid;
+ strcpy (WFIFOP (fd, 8), mes);
+ WFIFOSET (fd, WFIFOW (fd, 2));
- return 0;
+ return 0;
}
/*==========================================
*
*------------------------------------------
*/
-int clif_scriptinput(struct map_session_data *sd, int npcid) {
- int fd;
+int clif_scriptinput (struct map_session_data *sd, int npcid)
+{
+ int fd;
- nullpo_retr(0, sd);
+ nullpo_retr (0, sd);
- fd=sd->fd;
- WFIFOW(fd,0)=0x142;
- WFIFOL(fd,2)=npcid;
- WFIFOSET(fd,packet_len_table[0x142]);
+ fd = sd->fd;
+ WFIFOW (fd, 0) = 0x142;
+ WFIFOL (fd, 2) = npcid;
+ WFIFOSET (fd, packet_len_table[0x142]);
- return 0;
+ return 0;
}
/*==========================================
*
*------------------------------------------
*/
-int clif_scriptinputstr(struct map_session_data *sd, int npcid) {
- int fd;
+int clif_scriptinputstr (struct map_session_data *sd, int npcid)
+{
+ int fd;
- nullpo_retr(0, sd);
+ nullpo_retr (0, sd);
- fd=sd->fd;
- WFIFOW(fd,0)=0x1d4;
- WFIFOL(fd,2)=npcid;
- WFIFOSET(fd,packet_len_table[0x1d4]);
+ fd = sd->fd;
+ WFIFOW (fd, 0) = 0x1d4;
+ WFIFOL (fd, 2) = npcid;
+ WFIFOSET (fd, packet_len_table[0x1d4]);
- return 0;
+ return 0;
}
/*==========================================
*
*------------------------------------------
*/
-int clif_viewpoint(struct map_session_data *sd, int npc_id, int type, int x, int y, int id, int color) {
- int fd;
+int clif_viewpoint (struct map_session_data *sd, int npc_id, int type, int x,
+ int y, int id, int color)
+{
+ int fd;
- nullpo_retr(0, sd);
+ nullpo_retr (0, sd);
- fd=sd->fd;
- WFIFOW(fd,0)=0x144;
- WFIFOL(fd,2)=npc_id;
- WFIFOL(fd,6)=type;
- WFIFOL(fd,10)=x;
- WFIFOL(fd,14)=y;
- WFIFOB(fd,18)=id;
- WFIFOL(fd,19)=color;
- WFIFOSET(fd,packet_len_table[0x144]);
+ fd = sd->fd;
+ WFIFOW (fd, 0) = 0x144;
+ WFIFOL (fd, 2) = npc_id;
+ WFIFOL (fd, 6) = type;
+ WFIFOL (fd, 10) = x;
+ WFIFOL (fd, 14) = y;
+ WFIFOB (fd, 18) = id;
+ WFIFOL (fd, 19) = color;
+ WFIFOSET (fd, packet_len_table[0x144]);
- return 0;
+ return 0;
}
/*==========================================
*
*------------------------------------------
*/
-int clif_cutin(struct map_session_data *sd, char *image, int type) {
- int fd;
+int clif_cutin (struct map_session_data *sd, char *image, int type)
+{
+ int fd;
- nullpo_retr(0, sd);
+ nullpo_retr (0, sd);
- fd=sd->fd;
- WFIFOW(fd,0)=0x1b3;
- memcpy(WFIFOP(fd,2),image,64);
- WFIFOB(fd,66)=type;
- WFIFOSET(fd,packet_len_table[0x1b3]);
+ fd = sd->fd;
+ WFIFOW (fd, 0) = 0x1b3;
+ memcpy (WFIFOP (fd, 2), image, 64);
+ WFIFOB (fd, 66) = type;
+ WFIFOSET (fd, packet_len_table[0x1b3]);
- return 0;
+ return 0;
}
/*==========================================
*
*------------------------------------------
*/
-int clif_additem(struct map_session_data *sd, int n, int amount, int fail) {
- int fd,j;
- unsigned char *buf;
-
- nullpo_retr(0, sd);
-
- fd=sd->fd;
- buf=WFIFOP(fd,0);
- if(fail) {
- WBUFW(buf,0)=0xa0;
- WBUFW(buf,2)=n+2;
- WBUFW(buf,4)=amount;
- WBUFW(buf,6)=0;
- WBUFB(buf,8)=0;
- WBUFB(buf,9)=0;
- WBUFB(buf,10)=0;
- WBUFW(buf,11)=0;
- WBUFW(buf,13)=0;
- WBUFW(buf,15)=0;
- WBUFW(buf,17)=0;
- WBUFW(buf,19)=0;
- WBUFB(buf,21)=0;
- WBUFB(buf,22)=fail;
- } else {
- if (n<0 || n>=MAX_INVENTORY || sd->status.inventory[n].nameid <=0 || sd->inventory_data[n] == NULL)
- return 1;
-
- WBUFW(buf,0)=0xa0;
- WBUFW(buf,2)=n+2;
- WBUFW(buf,4)=amount;
- if (sd->inventory_data[n]->view_id > 0)
- WBUFW(buf,6)=sd->inventory_data[n]->view_id;
- else
- WBUFW(buf,6)=sd->status.inventory[n].nameid;
- WBUFB(buf,8)=sd->status.inventory[n].identify;
- if (sd->status.inventory[n].broken==1)
- WBUFB(buf,9)=1; // is weapon broken [Valaris]
- else
- WBUFB(buf,9)=sd->status.inventory[n].attribute;
- WBUFB(buf,10)=sd->status.inventory[n].refine;
- if(sd->status.inventory[n].card[0]==0x00ff || sd->status.inventory[n].card[0]==0x00fe || sd->status.inventory[n].card[0]==(short)0xff00) {
- WBUFW(buf,11)=sd->status.inventory[n].card[0];
- WBUFW(buf,13)=sd->status.inventory[n].card[1];
- WBUFW(buf,15)=sd->status.inventory[n].card[2];
- WBUFW(buf,17)=sd->status.inventory[n].card[3];
- } else {
- if (sd->status.inventory[n].card[0] > 0 && (j=itemdb_viewid(sd->status.inventory[n].card[0])) > 0)
- WBUFW(buf,11)=j;
- else
- WBUFW(buf,11)=sd->status.inventory[n].card[0];
- if (sd->status.inventory[n].card[1] > 0 && (j=itemdb_viewid(sd->status.inventory[n].card[1])) > 0)
- WBUFW(buf,13)=j;
- else
- WBUFW(buf,13)=sd->status.inventory[n].card[1];
- if (sd->status.inventory[n].card[2] > 0 && (j=itemdb_viewid(sd->status.inventory[n].card[2])) > 0)
- WBUFW(buf,15)=j;
- else
- WBUFW(buf,15)=sd->status.inventory[n].card[2];
- if (sd->status.inventory[n].card[3] > 0 && (j=itemdb_viewid(sd->status.inventory[n].card[3])) > 0)
- WBUFW(buf,17)=j;
- else
- WBUFW(buf,17)=sd->status.inventory[n].card[3];
- }
- WBUFW(buf,19)=pc_equippoint(sd,n);
- WBUFB(buf,21)=(sd->inventory_data[n]->type == 7)? 4:sd->inventory_data[n]->type;
- WBUFB(buf,22)=fail;
- }
+int clif_additem (struct map_session_data *sd, int n, int amount, int fail)
+{
+ int fd, j;
+ unsigned char *buf;
+
+ nullpo_retr (0, sd);
+
+ fd = sd->fd;
+ buf = WFIFOP (fd, 0);
+ if (fail)
+ {
+ WBUFW (buf, 0) = 0xa0;
+ WBUFW (buf, 2) = n + 2;
+ WBUFW (buf, 4) = amount;
+ WBUFW (buf, 6) = 0;
+ WBUFB (buf, 8) = 0;
+ WBUFB (buf, 9) = 0;
+ WBUFB (buf, 10) = 0;
+ WBUFW (buf, 11) = 0;
+ WBUFW (buf, 13) = 0;
+ WBUFW (buf, 15) = 0;
+ WBUFW (buf, 17) = 0;
+ WBUFW (buf, 19) = 0;
+ WBUFB (buf, 21) = 0;
+ WBUFB (buf, 22) = fail;
+ }
+ else
+ {
+ if (n < 0 || n >= MAX_INVENTORY || sd->status.inventory[n].nameid <= 0
+ || sd->inventory_data[n] == NULL)
+ return 1;
+
+ WBUFW (buf, 0) = 0xa0;
+ WBUFW (buf, 2) = n + 2;
+ WBUFW (buf, 4) = amount;
+ if (sd->inventory_data[n]->view_id > 0)
+ WBUFW (buf, 6) = sd->inventory_data[n]->view_id;
+ else
+ WBUFW (buf, 6) = sd->status.inventory[n].nameid;
+ WBUFB (buf, 8) = sd->status.inventory[n].identify;
+ if (sd->status.inventory[n].broken == 1)
+ WBUFB (buf, 9) = 1; // is weapon broken [Valaris]
+ else
+ WBUFB (buf, 9) = sd->status.inventory[n].attribute;
+ WBUFB (buf, 10) = sd->status.inventory[n].refine;
+ if (sd->status.inventory[n].card[0] == 0x00ff
+ || sd->status.inventory[n].card[0] == 0x00fe
+ || sd->status.inventory[n].card[0] == (short) 0xff00)
+ {
+ WBUFW (buf, 11) = sd->status.inventory[n].card[0];
+ WBUFW (buf, 13) = sd->status.inventory[n].card[1];
+ WBUFW (buf, 15) = sd->status.inventory[n].card[2];
+ WBUFW (buf, 17) = sd->status.inventory[n].card[3];
+ }
+ else
+ {
+ if (sd->status.inventory[n].card[0] > 0
+ && (j = itemdb_viewid (sd->status.inventory[n].card[0])) > 0)
+ WBUFW (buf, 11) = j;
+ else
+ WBUFW (buf, 11) = sd->status.inventory[n].card[0];
+ if (sd->status.inventory[n].card[1] > 0
+ && (j = itemdb_viewid (sd->status.inventory[n].card[1])) > 0)
+ WBUFW (buf, 13) = j;
+ else
+ WBUFW (buf, 13) = sd->status.inventory[n].card[1];
+ if (sd->status.inventory[n].card[2] > 0
+ && (j = itemdb_viewid (sd->status.inventory[n].card[2])) > 0)
+ WBUFW (buf, 15) = j;
+ else
+ WBUFW (buf, 15) = sd->status.inventory[n].card[2];
+ if (sd->status.inventory[n].card[3] > 0
+ && (j = itemdb_viewid (sd->status.inventory[n].card[3])) > 0)
+ WBUFW (buf, 17) = j;
+ else
+ WBUFW (buf, 17) = sd->status.inventory[n].card[3];
+ }
+ WBUFW (buf, 19) = pc_equippoint (sd, n);
+ WBUFB (buf, 21) =
+ (sd->inventory_data[n]->type ==
+ 7) ? 4 : sd->inventory_data[n]->type;
+ WBUFB (buf, 22) = fail;
+ }
- WFIFOSET(fd,packet_len_table[0xa0]);
- return 0;
+ WFIFOSET (fd, packet_len_table[0xa0]);
+ return 0;
}
/*==========================================
*
*------------------------------------------
*/
-int clif_delitem(struct map_session_data *sd,int n,int amount)
+int clif_delitem (struct map_session_data *sd, int n, int amount)
{
- int fd;
+ int fd;
- nullpo_retr(0, sd);
+ nullpo_retr (0, sd);
- fd=sd->fd;
- WFIFOW(fd,0)=0xaf;
- WFIFOW(fd,2)=n+2;
- WFIFOW(fd,4)=amount;
+ fd = sd->fd;
+ WFIFOW (fd, 0) = 0xaf;
+ WFIFOW (fd, 2) = n + 2;
+ WFIFOW (fd, 4) = amount;
- WFIFOSET(fd,packet_len_table[0xaf]);
+ WFIFOSET (fd, packet_len_table[0xaf]);
- return 0;
+ return 0;
}
/*==========================================
*
*------------------------------------------
*/
-int clif_itemlist(struct map_session_data *sd)
-{
- int i,n,fd,arrow=-1;
- unsigned char *buf;
-
- nullpo_retr(0, sd);
-
- fd=sd->fd;
- buf = WFIFOP(fd,0);
- WBUFW(buf,0)=0x1ee;
- for(i=0,n=0;i<MAX_INVENTORY;i++){
- if(sd->status.inventory[i].nameid <=0 || sd->inventory_data[i] == NULL || itemdb_isequip2(sd->inventory_data[i]))
- continue;
- WBUFW(buf,n*18+4)=i+2;
- if(sd->inventory_data[i]->view_id > 0)
- WBUFW(buf,n*18+6)=sd->inventory_data[i]->view_id;
- else
- WBUFW(buf,n*18+6)=sd->status.inventory[i].nameid;
- WBUFB(buf,n*18+8)=sd->inventory_data[i]->type;
- WBUFB(buf,n*18+9)=sd->status.inventory[i].identify;
- WBUFW(buf,n*18+10)=sd->status.inventory[i].amount;
- if (sd->inventory_data[i]->equip == 0x8000) {
- WBUFW(buf,n*18+12)=0x8000;
- if(sd->status.inventory[i].equip)
- arrow=i; // �‚��łɖ���`�F�b�N
- } else
- WBUFW(buf,n*18+12)=0;
- WBUFW(buf,n*18+14)=sd->status.inventory[i].card[0];
- WBUFW(buf,n*18+16)=sd->status.inventory[i].card[1];
- WBUFW(buf,n*18+18)=sd->status.inventory[i].card[2];
- WBUFW(buf,n*18+20)=sd->status.inventory[i].card[3];
- n++;
- }
- if (n) {
- WBUFW(buf,2)=4+n*18;
- WFIFOSET(fd,WFIFOW(fd,2));
- }
- if(arrow >= 0)
- clif_arrowequip(sd,arrow);
- return 0;
+int clif_itemlist (struct map_session_data *sd)
+{
+ int i, n, fd, arrow = -1;
+ unsigned char *buf;
+
+ nullpo_retr (0, sd);
+
+ fd = sd->fd;
+ buf = WFIFOP (fd, 0);
+ WBUFW (buf, 0) = 0x1ee;
+ for (i = 0, n = 0; i < MAX_INVENTORY; i++)
+ {
+ if (sd->status.inventory[i].nameid <= 0
+ || sd->inventory_data[i] == NULL
+ || itemdb_isequip2 (sd->inventory_data[i]))
+ continue;
+ WBUFW (buf, n * 18 + 4) = i + 2;
+ if (sd->inventory_data[i]->view_id > 0)
+ WBUFW (buf, n * 18 + 6) = sd->inventory_data[i]->view_id;
+ else
+ WBUFW (buf, n * 18 + 6) = sd->status.inventory[i].nameid;
+ WBUFB (buf, n * 18 + 8) = sd->inventory_data[i]->type;
+ WBUFB (buf, n * 18 + 9) = sd->status.inventory[i].identify;
+ WBUFW (buf, n * 18 + 10) = sd->status.inventory[i].amount;
+ if (sd->inventory_data[i]->equip == 0x8000)
+ {
+ WBUFW (buf, n * 18 + 12) = 0x8000;
+ if (sd->status.inventory[i].equip)
+ arrow = i; // �‚��łɖ���`�F�b�N
+ }
+ else
+ WBUFW (buf, n * 18 + 12) = 0;
+ WBUFW (buf, n * 18 + 14) = sd->status.inventory[i].card[0];
+ WBUFW (buf, n * 18 + 16) = sd->status.inventory[i].card[1];
+ WBUFW (buf, n * 18 + 18) = sd->status.inventory[i].card[2];
+ WBUFW (buf, n * 18 + 20) = sd->status.inventory[i].card[3];
+ n++;
+ }
+ if (n)
+ {
+ WBUFW (buf, 2) = 4 + n * 18;
+ WFIFOSET (fd, WFIFOW (fd, 2));
+ }
+ if (arrow >= 0)
+ clif_arrowequip (sd, arrow);
+ return 0;
}
/*==========================================
*
*------------------------------------------
*/
-int clif_equiplist(struct map_session_data *sd)
-{
- int i,j,n,fd;
- unsigned char *buf;
-
- nullpo_retr(0, sd);
-
- fd=sd->fd;
- buf = WFIFOP(fd,0);
- WBUFW(buf,0)=0xa4;
- for(i=0,n=0;i<MAX_INVENTORY;i++){
- if(sd->status.inventory[i].nameid<=0 || sd->inventory_data[i] == NULL || !itemdb_isequip2(sd->inventory_data[i]))
- continue;
- WBUFW(buf,n*20+4)=i+2;
- if(sd->inventory_data[i]->view_id > 0)
- WBUFW(buf,n*20+6)=sd->inventory_data[i]->view_id;
- else
- WBUFW(buf,n*20+6)=sd->status.inventory[i].nameid;
- WBUFB(buf,n*20+8)=(sd->inventory_data[i]->type == 7)? 4:sd->inventory_data[i]->type;
- WBUFB(buf,n*20+9)=sd->status.inventory[i].identify;
- WBUFW(buf,n*20+10)=pc_equippoint(sd,i);
- WBUFW(buf,n*20+12)=sd->status.inventory[i].equip;
- if(sd->status.inventory[i].broken==1)
- WBUFB(buf,n*20+14)=1; // is weapon broken [Valaris]
- else
- WBUFB(buf,n*20+14)=sd->status.inventory[i].attribute;
- WBUFB(buf,n*20+15)=sd->status.inventory[i].refine;
- if(sd->status.inventory[i].card[0]==0x00ff || sd->status.inventory[i].card[0]==0x00fe || sd->status.inventory[i].card[0]==(short)0xff00) {
- WBUFW(buf,n*20+16)=sd->status.inventory[i].card[0];
- WBUFW(buf,n*20+18)=sd->status.inventory[i].card[1];
- WBUFW(buf,n*20+20)=sd->status.inventory[i].card[2];
- WBUFW(buf,n*20+22)=sd->status.inventory[i].card[3];
- } else {
- if(sd->status.inventory[i].card[0] > 0 && (j=itemdb_viewid(sd->status.inventory[i].card[0])) > 0)
- WBUFW(buf,n*20+16)=j;
- else
- WBUFW(buf,n*20+16)=sd->status.inventory[i].card[0];
- if(sd->status.inventory[i].card[1] > 0 && (j=itemdb_viewid(sd->status.inventory[i].card[1])) > 0)
- WBUFW(buf,n*20+18)=j;
- else
- WBUFW(buf,n*20+18)=sd->status.inventory[i].card[1];
- if(sd->status.inventory[i].card[2] > 0 && (j=itemdb_viewid(sd->status.inventory[i].card[2])) > 0)
- WBUFW(buf,n*20+20)=j;
- else
- WBUFW(buf,n*20+20)=sd->status.inventory[i].card[2];
- if(sd->status.inventory[i].card[3] > 0 && (j=itemdb_viewid(sd->status.inventory[i].card[3])) > 0)
- WBUFW(buf,n*20+22)=j;
- else
- WBUFW(buf,n*20+22)=sd->status.inventory[i].card[3];
- }
- n++;
- }
- if(n){
- WBUFW(buf,2)=4+n*20;
- WFIFOSET(fd,WFIFOW(fd,2));
- }
- return 0;
+int clif_equiplist (struct map_session_data *sd)
+{
+ int i, j, n, fd;
+ unsigned char *buf;
+
+ nullpo_retr (0, sd);
+
+ fd = sd->fd;
+ buf = WFIFOP (fd, 0);
+ WBUFW (buf, 0) = 0xa4;
+ for (i = 0, n = 0; i < MAX_INVENTORY; i++)
+ {
+ if (sd->status.inventory[i].nameid <= 0
+ || sd->inventory_data[i] == NULL
+ || !itemdb_isequip2 (sd->inventory_data[i]))
+ continue;
+ WBUFW (buf, n * 20 + 4) = i + 2;
+ if (sd->inventory_data[i]->view_id > 0)
+ WBUFW (buf, n * 20 + 6) = sd->inventory_data[i]->view_id;
+ else
+ WBUFW (buf, n * 20 + 6) = sd->status.inventory[i].nameid;
+ WBUFB (buf, n * 20 + 8) =
+ (sd->inventory_data[i]->type ==
+ 7) ? 4 : sd->inventory_data[i]->type;
+ WBUFB (buf, n * 20 + 9) = sd->status.inventory[i].identify;
+ WBUFW (buf, n * 20 + 10) = pc_equippoint (sd, i);
+ WBUFW (buf, n * 20 + 12) = sd->status.inventory[i].equip;
+ if (sd->status.inventory[i].broken == 1)
+ WBUFB (buf, n * 20 + 14) = 1; // is weapon broken [Valaris]
+ else
+ WBUFB (buf, n * 20 + 14) = sd->status.inventory[i].attribute;
+ WBUFB (buf, n * 20 + 15) = sd->status.inventory[i].refine;
+ if (sd->status.inventory[i].card[0] == 0x00ff
+ || sd->status.inventory[i].card[0] == 0x00fe
+ || sd->status.inventory[i].card[0] == (short) 0xff00)
+ {
+ WBUFW (buf, n * 20 + 16) = sd->status.inventory[i].card[0];
+ WBUFW (buf, n * 20 + 18) = sd->status.inventory[i].card[1];
+ WBUFW (buf, n * 20 + 20) = sd->status.inventory[i].card[2];
+ WBUFW (buf, n * 20 + 22) = sd->status.inventory[i].card[3];
+ }
+ else
+ {
+ if (sd->status.inventory[i].card[0] > 0
+ && (j = itemdb_viewid (sd->status.inventory[i].card[0])) > 0)
+ WBUFW (buf, n * 20 + 16) = j;
+ else
+ WBUFW (buf, n * 20 + 16) = sd->status.inventory[i].card[0];
+ if (sd->status.inventory[i].card[1] > 0
+ && (j = itemdb_viewid (sd->status.inventory[i].card[1])) > 0)
+ WBUFW (buf, n * 20 + 18) = j;
+ else
+ WBUFW (buf, n * 20 + 18) = sd->status.inventory[i].card[1];
+ if (sd->status.inventory[i].card[2] > 0
+ && (j = itemdb_viewid (sd->status.inventory[i].card[2])) > 0)
+ WBUFW (buf, n * 20 + 20) = j;
+ else
+ WBUFW (buf, n * 20 + 20) = sd->status.inventory[i].card[2];
+ if (sd->status.inventory[i].card[3] > 0
+ && (j = itemdb_viewid (sd->status.inventory[i].card[3])) > 0)
+ WBUFW (buf, n * 20 + 22) = j;
+ else
+ WBUFW (buf, n * 20 + 22) = sd->status.inventory[i].card[3];
+ }
+ n++;
+ }
+ if (n)
+ {
+ WBUFW (buf, 2) = 4 + n * 20;
+ WFIFOSET (fd, WFIFOW (fd, 2));
+ }
+ return 0;
}
/*==========================================
* �J�v�������ɗa���Ă�����Օi&���W�i���X�g
*------------------------------------------
*/
-int clif_storageitemlist(struct map_session_data *sd,struct storage *stor)
-{
- struct item_data *id;
- int i,n,fd;
- unsigned char *buf;
-
- nullpo_retr(0, sd);
- nullpo_retr(0, stor);
-
- fd=sd->fd;
- buf = WFIFOP(fd,0);
- WBUFW(buf,0)=0x1f0;
- for(i=0,n=0;i<MAX_STORAGE;i++){
- if(stor->storage_[i].nameid<=0)
- continue;
- nullpo_retr(0, id = itemdb_search(stor->storage_[i].nameid));
- if(itemdb_isequip2(id))
- continue;
-
- WBUFW(buf,n*18+4)=i+1;
- if(id->view_id > 0)
- WBUFW(buf,n*18+6)=id->view_id;
- else
- WBUFW(buf,n*18+6)=stor->storage_[i].nameid;
- WBUFB(buf,n*18+8)=id->type;;
- WBUFB(buf,n*18+9)=stor->storage_[i].identify;
- WBUFW(buf,n*18+10)=stor->storage_[i].amount;
- WBUFW(buf,n*18+12)=0;
- WBUFW(buf,n*18+14)=stor->storage_[i].card[0];
- WBUFW(buf,n*18+16)=stor->storage_[i].card[1];
- WBUFW(buf,n*18+18)=stor->storage_[i].card[2];
- WBUFW(buf,n*18+20)=stor->storage_[i].card[3];
- n++;
- }
- if(n){
- WBUFW(buf,2)=4+n*18;
- WFIFOSET(fd,WFIFOW(fd,2));
- }
- return 0;
+int clif_storageitemlist (struct map_session_data *sd, struct storage *stor)
+{
+ struct item_data *id;
+ int i, n, fd;
+ unsigned char *buf;
+
+ nullpo_retr (0, sd);
+ nullpo_retr (0, stor);
+
+ fd = sd->fd;
+ buf = WFIFOP (fd, 0);
+ WBUFW (buf, 0) = 0x1f0;
+ for (i = 0, n = 0; i < MAX_STORAGE; i++)
+ {
+ if (stor->storage_[i].nameid <= 0)
+ continue;
+ nullpo_retr (0, id = itemdb_search (stor->storage_[i].nameid));
+ if (itemdb_isequip2 (id))
+ continue;
+
+ WBUFW (buf, n * 18 + 4) = i + 1;
+ if (id->view_id > 0)
+ WBUFW (buf, n * 18 + 6) = id->view_id;
+ else
+ WBUFW (buf, n * 18 + 6) = stor->storage_[i].nameid;
+ WBUFB (buf, n * 18 + 8) = id->type;;
+ WBUFB (buf, n * 18 + 9) = stor->storage_[i].identify;
+ WBUFW (buf, n * 18 + 10) = stor->storage_[i].amount;
+ WBUFW (buf, n * 18 + 12) = 0;
+ WBUFW (buf, n * 18 + 14) = stor->storage_[i].card[0];
+ WBUFW (buf, n * 18 + 16) = stor->storage_[i].card[1];
+ WBUFW (buf, n * 18 + 18) = stor->storage_[i].card[2];
+ WBUFW (buf, n * 18 + 20) = stor->storage_[i].card[3];
+ n++;
+ }
+ if (n)
+ {
+ WBUFW (buf, 2) = 4 + n * 18;
+ WFIFOSET (fd, WFIFOW (fd, 2));
+ }
+ return 0;
}
/*==========================================
* �J�v�������ɗa���Ă��鑕��X�g
*------------------------------------------
*/
-int clif_storageequiplist(struct map_session_data *sd,struct storage *stor)
-{
- struct item_data *id;
- int i,j,n,fd;
- unsigned char *buf;
-
- nullpo_retr(0, sd);
- nullpo_retr(0, stor);
-
- fd=sd->fd;
- buf = WFIFOP(fd,0);
- WBUFW(buf,0)=0xa6;
- for(i=0,n=0;i<MAX_STORAGE;i++){
- if(stor->storage_[i].nameid<=0)
- continue;
- nullpo_retr(0, id = itemdb_search(stor->storage_[i].nameid));
- if(!itemdb_isequip2(id))
- continue;
- WBUFW(buf,n*20+4)=i+1;
- if(id->view_id > 0)
- WBUFW(buf,n*20+6)=id->view_id;
- else
- WBUFW(buf,n*20+6)=stor->storage_[i].nameid;
- WBUFB(buf,n*20+8)=id->type;
- WBUFB(buf,n*20+9)=stor->storage_[i].identify;
- WBUFW(buf,n*20+10)=id->equip;
- WBUFW(buf,n*20+12)=stor->storage_[i].equip;
- if(stor->storage_[i].broken==1)
- WBUFB(buf,n*20+14)=1; //is weapon broken [Valaris]
- else
- WBUFB(buf,n*20+14)=stor->storage_[i].attribute;
- WBUFB(buf,n*20+15)=stor->storage_[i].refine;
- if(stor->storage_[i].card[0]==0x00ff || stor->storage_[i].card[0]==0x00fe || stor->storage_[i].card[0]==(short)0xff00) {
- WBUFW(buf,n*20+16)=stor->storage_[i].card[0];
- WBUFW(buf,n*20+18)=stor->storage_[i].card[1];
- WBUFW(buf,n*20+20)=stor->storage_[i].card[2];
- WBUFW(buf,n*20+22)=stor->storage_[i].card[3];
- } else {
- if(stor->storage_[i].card[0] > 0 && (j=itemdb_viewid(stor->storage_[i].card[0])) > 0)
- WBUFW(buf,n*20+16)=j;
- else
- WBUFW(buf,n*20+16)=stor->storage_[i].card[0];
- if(stor->storage_[i].card[1] > 0 && (j=itemdb_viewid(stor->storage_[i].card[1])) > 0)
- WBUFW(buf,n*20+18)=j;
- else
- WBUFW(buf,n*20+18)=stor->storage_[i].card[1];
- if(stor->storage_[i].card[2] > 0 && (j=itemdb_viewid(stor->storage_[i].card[2])) > 0)
- WBUFW(buf,n*20+20)=j;
- else
- WBUFW(buf,n*20+20)=stor->storage_[i].card[2];
- if(stor->storage_[i].card[3] > 0 && (j=itemdb_viewid(stor->storage_[i].card[3])) > 0)
- WBUFW(buf,n*20+22)=j;
- else
- WBUFW(buf,n*20+22)=stor->storage_[i].card[3];
- }
- n++;
- }
- if(n){
- WBUFW(buf,2)=4+n*20;
- WFIFOSET(fd,WFIFOW(fd,2));
- }
- return 0;
+int clif_storageequiplist (struct map_session_data *sd, struct storage *stor)
+{
+ struct item_data *id;
+ int i, j, n, fd;
+ unsigned char *buf;
+
+ nullpo_retr (0, sd);
+ nullpo_retr (0, stor);
+
+ fd = sd->fd;
+ buf = WFIFOP (fd, 0);
+ WBUFW (buf, 0) = 0xa6;
+ for (i = 0, n = 0; i < MAX_STORAGE; i++)
+ {
+ if (stor->storage_[i].nameid <= 0)
+ continue;
+ nullpo_retr (0, id = itemdb_search (stor->storage_[i].nameid));
+ if (!itemdb_isequip2 (id))
+ continue;
+ WBUFW (buf, n * 20 + 4) = i + 1;
+ if (id->view_id > 0)
+ WBUFW (buf, n * 20 + 6) = id->view_id;
+ else
+ WBUFW (buf, n * 20 + 6) = stor->storage_[i].nameid;
+ WBUFB (buf, n * 20 + 8) = id->type;
+ WBUFB (buf, n * 20 + 9) = stor->storage_[i].identify;
+ WBUFW (buf, n * 20 + 10) = id->equip;
+ WBUFW (buf, n * 20 + 12) = stor->storage_[i].equip;
+ if (stor->storage_[i].broken == 1)
+ WBUFB (buf, n * 20 + 14) = 1; //is weapon broken [Valaris]
+ else
+ WBUFB (buf, n * 20 + 14) = stor->storage_[i].attribute;
+ WBUFB (buf, n * 20 + 15) = stor->storage_[i].refine;
+ if (stor->storage_[i].card[0] == 0x00ff
+ || stor->storage_[i].card[0] == 0x00fe
+ || stor->storage_[i].card[0] == (short) 0xff00)
+ {
+ WBUFW (buf, n * 20 + 16) = stor->storage_[i].card[0];
+ WBUFW (buf, n * 20 + 18) = stor->storage_[i].card[1];
+ WBUFW (buf, n * 20 + 20) = stor->storage_[i].card[2];
+ WBUFW (buf, n * 20 + 22) = stor->storage_[i].card[3];
+ }
+ else
+ {
+ if (stor->storage_[i].card[0] > 0
+ && (j = itemdb_viewid (stor->storage_[i].card[0])) > 0)
+ WBUFW (buf, n * 20 + 16) = j;
+ else
+ WBUFW (buf, n * 20 + 16) = stor->storage_[i].card[0];
+ if (stor->storage_[i].card[1] > 0
+ && (j = itemdb_viewid (stor->storage_[i].card[1])) > 0)
+ WBUFW (buf, n * 20 + 18) = j;
+ else
+ WBUFW (buf, n * 20 + 18) = stor->storage_[i].card[1];
+ if (stor->storage_[i].card[2] > 0
+ && (j = itemdb_viewid (stor->storage_[i].card[2])) > 0)
+ WBUFW (buf, n * 20 + 20) = j;
+ else
+ WBUFW (buf, n * 20 + 20) = stor->storage_[i].card[2];
+ if (stor->storage_[i].card[3] > 0
+ && (j = itemdb_viewid (stor->storage_[i].card[3])) > 0)
+ WBUFW (buf, n * 20 + 22) = j;
+ else
+ WBUFW (buf, n * 20 + 22) = stor->storage_[i].card[3];
+ }
+ n++;
+ }
+ if (n)
+ {
+ WBUFW (buf, 2) = 4 + n * 20;
+ WFIFOSET (fd, WFIFOW (fd, 2));
+ }
+ return 0;
}
/*==========================================
*
*------------------------------------------
*/
-int clif_guildstorageitemlist(struct map_session_data *sd,struct guild_storage *stor)
-{
- struct item_data *id;
- int i,n,fd;
- unsigned char *buf;
-
- nullpo_retr(0, sd);
- nullpo_retr(0, stor);
-
- fd=sd->fd;
- buf=WFIFOP(fd,0);
-
- WBUFW(buf,0)=0x1f0;
- for(i=0,n=0;i<MAX_GUILD_STORAGE;i++){
- if(stor->storage_[i].nameid<=0)
- continue;
- nullpo_retr(0, id = itemdb_search(stor->storage_[i].nameid));
- if(itemdb_isequip2(id))
- continue;
-
- WBUFW(buf,n*18+4)=i+1;
- if(id->view_id > 0)
- WBUFW(buf,n*18+6)=id->view_id;
- else
- WBUFW(buf,n*18+6)=stor->storage_[i].nameid;
- WBUFB(buf,n*18+8)=id->type;;
- WBUFB(buf,n*18+9)=stor->storage_[i].identify;
- WBUFW(buf,n*18+10)=stor->storage_[i].amount;
- WBUFW(buf,n*18+12)=0;
- WBUFW(buf,n*18+14)=stor->storage_[i].card[0];
- WBUFW(buf,n*18+16)=stor->storage_[i].card[1];
- WBUFW(buf,n*18+18)=stor->storage_[i].card[2];
- WBUFW(buf,n*18+20)=stor->storage_[i].card[3];
- n++;
- }
- if(n){
- WBUFW(buf,2)=4+n*18;
- WFIFOSET(fd,WFIFOW(fd,2));
- }
- return 0;
+int clif_guildstorageitemlist (struct map_session_data *sd,
+ struct guild_storage *stor)
+{
+ struct item_data *id;
+ int i, n, fd;
+ unsigned char *buf;
+
+ nullpo_retr (0, sd);
+ nullpo_retr (0, stor);
+
+ fd = sd->fd;
+ buf = WFIFOP (fd, 0);
+
+ WBUFW (buf, 0) = 0x1f0;
+ for (i = 0, n = 0; i < MAX_GUILD_STORAGE; i++)
+ {
+ if (stor->storage_[i].nameid <= 0)
+ continue;
+ nullpo_retr (0, id = itemdb_search (stor->storage_[i].nameid));
+ if (itemdb_isequip2 (id))
+ continue;
+
+ WBUFW (buf, n * 18 + 4) = i + 1;
+ if (id->view_id > 0)
+ WBUFW (buf, n * 18 + 6) = id->view_id;
+ else
+ WBUFW (buf, n * 18 + 6) = stor->storage_[i].nameid;
+ WBUFB (buf, n * 18 + 8) = id->type;;
+ WBUFB (buf, n * 18 + 9) = stor->storage_[i].identify;
+ WBUFW (buf, n * 18 + 10) = stor->storage_[i].amount;
+ WBUFW (buf, n * 18 + 12) = 0;
+ WBUFW (buf, n * 18 + 14) = stor->storage_[i].card[0];
+ WBUFW (buf, n * 18 + 16) = stor->storage_[i].card[1];
+ WBUFW (buf, n * 18 + 18) = stor->storage_[i].card[2];
+ WBUFW (buf, n * 18 + 20) = stor->storage_[i].card[3];
+ n++;
+ }
+ if (n)
+ {
+ WBUFW (buf, 2) = 4 + n * 18;
+ WFIFOSET (fd, WFIFOW (fd, 2));
+ }
+ return 0;
}
/*==========================================
*
*------------------------------------------
*/
-int clif_guildstorageequiplist(struct map_session_data *sd,struct guild_storage *stor)
-{
- struct item_data *id;
- int i,j,n,fd;
- unsigned char *buf;
-
- nullpo_retr(0, sd);
-
- fd=sd->fd;
- buf=WFIFOP(fd,0);
-
- WBUFW(buf,0)=0xa6;
- for(i=0,n=0;i<MAX_GUILD_STORAGE;i++){
- if(stor->storage_[i].nameid<=0)
- continue;
- nullpo_retr(0, id = itemdb_search(stor->storage_[i].nameid));
- if(!itemdb_isequip2(id))
- continue;
- WBUFW(buf,n*20+4)=i+1;
- if(id->view_id > 0)
- WBUFW(buf,n*20+6)=id->view_id;
- else
- WBUFW(buf,n*20+6)=stor->storage_[i].nameid;
- WBUFB(buf,n*20+8)=id->type;
- WBUFB(buf,n*20+9)=stor->storage_[i].identify;
- WBUFW(buf,n*20+10)=id->equip;
- WBUFW(buf,n*20+12)=stor->storage_[i].equip;
- if(stor->storage_[i].broken==1)
- WBUFB(buf,n*20+14)=1; // is weapon broken [Valaris]
- else
- WBUFB(buf,n*20+14)=stor->storage_[i].attribute;
- WBUFB(buf,n*20+15)=stor->storage_[i].refine;
- if(stor->storage_[i].card[0]==0x00ff || stor->storage_[i].card[0]==0x00fe || stor->storage_[i].card[0]==(short)0xff00) {
- WBUFW(buf,n*20+16)=stor->storage_[i].card[0];
- WBUFW(buf,n*20+18)=stor->storage_[i].card[1];
- WBUFW(buf,n*20+20)=stor->storage_[i].card[2];
- WBUFW(buf,n*20+22)=stor->storage_[i].card[3];
- } else {
- if(stor->storage_[i].card[0] > 0 && (j=itemdb_viewid(stor->storage_[i].card[0])) > 0)
- WBUFW(buf,n*20+16)=j;
- else
- WBUFW(buf,n*20+16)=stor->storage_[i].card[0];
- if(stor->storage_[i].card[1] > 0 && (j=itemdb_viewid(stor->storage_[i].card[1])) > 0)
- WBUFW(buf,n*20+18)=j;
- else
- WBUFW(buf,n*20+18)=stor->storage_[i].card[1];
- if(stor->storage_[i].card[2] > 0 && (j=itemdb_viewid(stor->storage_[i].card[2])) > 0)
- WBUFW(buf,n*20+20)=j;
- else
- WBUFW(buf,n*20+20)=stor->storage_[i].card[2];
- if(stor->storage_[i].card[3] > 0 && (j=itemdb_viewid(stor->storage_[i].card[3])) > 0)
- WBUFW(buf,n*20+22)=j;
- else
- WBUFW(buf,n*20+22)=stor->storage_[i].card[3];
- }
- n++;
- }
- if(n){
- WBUFW(buf,2)=4+n*20;
- WFIFOSET(fd,WFIFOW(fd,2));
- }
- return 0;
+int clif_guildstorageequiplist (struct map_session_data *sd,
+ struct guild_storage *stor)
+{
+ struct item_data *id;
+ int i, j, n, fd;
+ unsigned char *buf;
+
+ nullpo_retr (0, sd);
+
+ fd = sd->fd;
+ buf = WFIFOP (fd, 0);
+
+ WBUFW (buf, 0) = 0xa6;
+ for (i = 0, n = 0; i < MAX_GUILD_STORAGE; i++)
+ {
+ if (stor->storage_[i].nameid <= 0)
+ continue;
+ nullpo_retr (0, id = itemdb_search (stor->storage_[i].nameid));
+ if (!itemdb_isequip2 (id))
+ continue;
+ WBUFW (buf, n * 20 + 4) = i + 1;
+ if (id->view_id > 0)
+ WBUFW (buf, n * 20 + 6) = id->view_id;
+ else
+ WBUFW (buf, n * 20 + 6) = stor->storage_[i].nameid;
+ WBUFB (buf, n * 20 + 8) = id->type;
+ WBUFB (buf, n * 20 + 9) = stor->storage_[i].identify;
+ WBUFW (buf, n * 20 + 10) = id->equip;
+ WBUFW (buf, n * 20 + 12) = stor->storage_[i].equip;
+ if (stor->storage_[i].broken == 1)
+ WBUFB (buf, n * 20 + 14) = 1; // is weapon broken [Valaris]
+ else
+ WBUFB (buf, n * 20 + 14) = stor->storage_[i].attribute;
+ WBUFB (buf, n * 20 + 15) = stor->storage_[i].refine;
+ if (stor->storage_[i].card[0] == 0x00ff
+ || stor->storage_[i].card[0] == 0x00fe
+ || stor->storage_[i].card[0] == (short) 0xff00)
+ {
+ WBUFW (buf, n * 20 + 16) = stor->storage_[i].card[0];
+ WBUFW (buf, n * 20 + 18) = stor->storage_[i].card[1];
+ WBUFW (buf, n * 20 + 20) = stor->storage_[i].card[2];
+ WBUFW (buf, n * 20 + 22) = stor->storage_[i].card[3];
+ }
+ else
+ {
+ if (stor->storage_[i].card[0] > 0
+ && (j = itemdb_viewid (stor->storage_[i].card[0])) > 0)
+ WBUFW (buf, n * 20 + 16) = j;
+ else
+ WBUFW (buf, n * 20 + 16) = stor->storage_[i].card[0];
+ if (stor->storage_[i].card[1] > 0
+ && (j = itemdb_viewid (stor->storage_[i].card[1])) > 0)
+ WBUFW (buf, n * 20 + 18) = j;
+ else
+ WBUFW (buf, n * 20 + 18) = stor->storage_[i].card[1];
+ if (stor->storage_[i].card[2] > 0
+ && (j = itemdb_viewid (stor->storage_[i].card[2])) > 0)
+ WBUFW (buf, n * 20 + 20) = j;
+ else
+ WBUFW (buf, n * 20 + 20) = stor->storage_[i].card[2];
+ if (stor->storage_[i].card[3] > 0
+ && (j = itemdb_viewid (stor->storage_[i].card[3])) > 0)
+ WBUFW (buf, n * 20 + 22) = j;
+ else
+ WBUFW (buf, n * 20 + 22) = stor->storage_[i].card[3];
+ }
+ n++;
+ }
+ if (n)
+ {
+ WBUFW (buf, 2) = 4 + n * 20;
+ WFIFOSET (fd, WFIFOW (fd, 2));
+ }
+ return 0;
}
/*==========================================
@@ -2092,626 +2342,673 @@ int clif_guildstorageequiplist(struct map_session_data *sd,struct guild_storage
* �\�����p�����͂��̒��Ōv�Z���đ���
*------------------------------------------
*/
-int clif_updatestatus(struct map_session_data *sd,int type)
-{
- int fd,len=8;
-
- nullpo_retr(0, sd);
-
- fd=sd->fd;
-
- WFIFOW(fd,0)=0xb0;
- WFIFOW(fd,2)=type;
- switch(type){
- // 00b0
- case SP_WEIGHT:
- pc_checkweighticon(sd);
- WFIFOW(fd,0)=0xb0;
- WFIFOW(fd,2)=type;
- WFIFOL(fd,4)=sd->weight;
- break;
- case SP_MAXWEIGHT:
- WFIFOL(fd,4)=sd->max_weight;
- break;
- case SP_SPEED:
- WFIFOL(fd,4)=sd->speed;
- break;
- case SP_BASELEVEL:
- WFIFOL(fd,4)=sd->status.base_level;
- break;
- case SP_JOBLEVEL:
- WFIFOL(fd,4)=0;
- break;
- case SP_MANNER:
- WFIFOL(fd,4)=sd->status.manner;
- clif_changestatus(&sd->bl,SP_MANNER,sd->status.manner);
- break;
- case SP_STATUSPOINT:
- WFIFOL(fd,4)=sd->status.status_point;
- break;
- case SP_SKILLPOINT:
- WFIFOL(fd,4)=sd->status.skill_point;
- break;
- case SP_HIT:
- WFIFOL(fd,4)=sd->hit;
- break;
- case SP_FLEE1:
- WFIFOL(fd,4)=sd->flee;
- break;
- case SP_FLEE2:
- WFIFOL(fd,4)=sd->flee2/10;
- break;
- case SP_MAXHP:
- WFIFOL(fd,4)=sd->status.max_hp;
- break;
- case SP_MAXSP:
- WFIFOL(fd,4)=sd->status.max_sp;
- break;
- case SP_HP:
- WFIFOL(fd,4)=sd->status.hp;
- break;
- case SP_SP:
- WFIFOL(fd,4)=sd->status.sp;
- break;
- case SP_ASPD:
- WFIFOL(fd,4)=sd->aspd;
- break;
- case SP_ATK1:
- WFIFOL(fd,4)=sd->base_atk+sd->watk;
- break;
- case SP_DEF1:
- WFIFOL(fd,4)=sd->def;
- break;
- case SP_MDEF1:
- WFIFOL(fd,4)=sd->mdef;
- break;
- case SP_ATK2:
- WFIFOL(fd,4)=sd->watk2;
- break;
- case SP_DEF2:
- WFIFOL(fd,4)=sd->def2;
- break;
- case SP_MDEF2:
- WFIFOL(fd,4)=sd->mdef2;
- break;
- case SP_CRITICAL:
- WFIFOL(fd,4)=sd->critical/10;
- break;
- case SP_MATK1:
- WFIFOL(fd,4)=sd->matk1;
- break;
- case SP_MATK2:
- WFIFOL(fd,4)=sd->matk2;
- break;
-
-
- case SP_ZENY:
- trade_verifyzeny(sd);
- WFIFOW(fd,0)=0xb1;
- if(sd->status.zeny < 0)
- sd->status.zeny = 0;
- WFIFOL(fd,4)=sd->status.zeny;
- break;
- case SP_BASEEXP:
- WFIFOW(fd,0)=0xb1;
- WFIFOL(fd,4)=sd->status.base_exp;
- break;
- case SP_JOBEXP:
- WFIFOW(fd,0)=0xb1;
- WFIFOL(fd,4)=sd->status.job_exp;
- break;
- case SP_NEXTBASEEXP:
- WFIFOW(fd,0)=0xb1;
- WFIFOL(fd,4)=pc_nextbaseexp(sd);
- break;
- case SP_NEXTJOBEXP:
- WFIFOW(fd,0)=0xb1;
- WFIFOL(fd,4)=pc_nextjobexp(sd);
- break;
-
- // 00be �I��
- case SP_USTR:
- case SP_UAGI:
- case SP_UVIT:
- case SP_UINT:
- case SP_UDEX:
- case SP_ULUK:
- WFIFOW(fd,0)=0xbe;
- WFIFOB(fd,4)=pc_need_status_point(sd,type-SP_USTR+SP_STR);
- len=5;
- break;
-
- // 013a �I��
- case SP_ATTACKRANGE:
- WFIFOW(fd,0)=0x13a;
- WFIFOW(fd,2) = (sd->attack_spell_override)
- ? sd->attack_spell_range
- : sd->attackrange;
- len=4;
- break;
-
- // 0141 �I��
- case SP_STR:
- WFIFOW(fd,0)=0x141;
- WFIFOL(fd,2)=type;
- WFIFOL(fd,6)=sd->status.str;
- WFIFOL(fd,10)=sd->paramb[0] + sd->parame[0];
- len=14;
- break;
- case SP_AGI:
- WFIFOW(fd,0)=0x141;
- WFIFOL(fd,2)=type;
- WFIFOL(fd,6)=sd->status.agi;
- WFIFOL(fd,10)=sd->paramb[1] + sd->parame[1];
- len=14;
- break;
- case SP_VIT:
- WFIFOW(fd,0)=0x141;
- WFIFOL(fd,2)=type;
- WFIFOL(fd,6)=sd->status.vit;
- WFIFOL(fd,10)=sd->paramb[2] + sd->parame[2];
- len=14;
- break;
- case SP_INT:
- WFIFOW(fd,0)=0x141;
- WFIFOL(fd,2)=type;
- WFIFOL(fd,6)=sd->status.int_;
- WFIFOL(fd,10)=sd->paramb[3] + sd->parame[3];
- len=14;
- break;
- case SP_DEX:
- WFIFOW(fd,0)=0x141;
- WFIFOL(fd,2)=type;
- WFIFOL(fd,6)=sd->status.dex;
- WFIFOL(fd,10)=sd->paramb[4] + sd->parame[4];
- len=14;
- break;
- case SP_LUK:
- WFIFOW(fd,0)=0x141;
- WFIFOL(fd,2)=type;
- WFIFOL(fd,6)=sd->status.luk;
- WFIFOL(fd,10)=sd->paramb[5] + sd->parame[5];
- len=14;
- break;
-
- case SP_CARTINFO:
- WFIFOW(fd,0)=0x121;
- WFIFOW(fd,2)=sd->cart_num;
- WFIFOW(fd,4)=sd->cart_max_num;
- WFIFOL(fd,6)=sd->cart_weight;
- WFIFOL(fd,10)=sd->cart_max_weight;
- len=14;
- break;
-
- case SP_GM:
- WFIFOL(fd,4)=pc_isGM(sd);
- break;
-
- default:
- if(battle_config.error_log)
- printf("clif_updatestatus : make %d routine\n",type);
- return 1;
- }
- WFIFOSET(fd,len);
-
- return 0;
-}
-int clif_changestatus(struct block_list *bl,int type,int val)
-{
- unsigned char buf[12];
- struct map_session_data *sd = NULL;
-
- nullpo_retr(0, bl);
-
- if(bl->type == BL_PC)
- sd = (struct map_session_data *)bl;
+int clif_updatestatus (struct map_session_data *sd, int type)
+{
+ int fd, len = 8;
+
+ nullpo_retr (0, sd);
+
+ fd = sd->fd;
+
+ WFIFOW (fd, 0) = 0xb0;
+ WFIFOW (fd, 2) = type;
+ switch (type)
+ {
+ // 00b0
+ case SP_WEIGHT:
+ pc_checkweighticon (sd);
+ WFIFOW (fd, 0) = 0xb0;
+ WFIFOW (fd, 2) = type;
+ WFIFOL (fd, 4) = sd->weight;
+ break;
+ case SP_MAXWEIGHT:
+ WFIFOL (fd, 4) = sd->max_weight;
+ break;
+ case SP_SPEED:
+ WFIFOL (fd, 4) = sd->speed;
+ break;
+ case SP_BASELEVEL:
+ WFIFOL (fd, 4) = sd->status.base_level;
+ break;
+ case SP_JOBLEVEL:
+ WFIFOL (fd, 4) = 0;
+ break;
+ case SP_MANNER:
+ WFIFOL (fd, 4) = sd->status.manner;
+ clif_changestatus (&sd->bl, SP_MANNER, sd->status.manner);
+ break;
+ case SP_STATUSPOINT:
+ WFIFOL (fd, 4) = sd->status.status_point;
+ break;
+ case SP_SKILLPOINT:
+ WFIFOL (fd, 4) = sd->status.skill_point;
+ break;
+ case SP_HIT:
+ WFIFOL (fd, 4) = sd->hit;
+ break;
+ case SP_FLEE1:
+ WFIFOL (fd, 4) = sd->flee;
+ break;
+ case SP_FLEE2:
+ WFIFOL (fd, 4) = sd->flee2 / 10;
+ break;
+ case SP_MAXHP:
+ WFIFOL (fd, 4) = sd->status.max_hp;
+ break;
+ case SP_MAXSP:
+ WFIFOL (fd, 4) = sd->status.max_sp;
+ break;
+ case SP_HP:
+ WFIFOL (fd, 4) = sd->status.hp;
+ break;
+ case SP_SP:
+ WFIFOL (fd, 4) = sd->status.sp;
+ break;
+ case SP_ASPD:
+ WFIFOL (fd, 4) = sd->aspd;
+ break;
+ case SP_ATK1:
+ WFIFOL (fd, 4) = sd->base_atk + sd->watk;
+ break;
+ case SP_DEF1:
+ WFIFOL (fd, 4) = sd->def;
+ break;
+ case SP_MDEF1:
+ WFIFOL (fd, 4) = sd->mdef;
+ break;
+ case SP_ATK2:
+ WFIFOL (fd, 4) = sd->watk2;
+ break;
+ case SP_DEF2:
+ WFIFOL (fd, 4) = sd->def2;
+ break;
+ case SP_MDEF2:
+ WFIFOL (fd, 4) = sd->mdef2;
+ break;
+ case SP_CRITICAL:
+ WFIFOL (fd, 4) = sd->critical / 10;
+ break;
+ case SP_MATK1:
+ WFIFOL (fd, 4) = sd->matk1;
+ break;
+ case SP_MATK2:
+ WFIFOL (fd, 4) = sd->matk2;
+ break;
+
+ case SP_ZENY:
+ trade_verifyzeny (sd);
+ WFIFOW (fd, 0) = 0xb1;
+ if (sd->status.zeny < 0)
+ sd->status.zeny = 0;
+ WFIFOL (fd, 4) = sd->status.zeny;
+ break;
+ case SP_BASEEXP:
+ WFIFOW (fd, 0) = 0xb1;
+ WFIFOL (fd, 4) = sd->status.base_exp;
+ break;
+ case SP_JOBEXP:
+ WFIFOW (fd, 0) = 0xb1;
+ WFIFOL (fd, 4) = sd->status.job_exp;
+ break;
+ case SP_NEXTBASEEXP:
+ WFIFOW (fd, 0) = 0xb1;
+ WFIFOL (fd, 4) = pc_nextbaseexp (sd);
+ break;
+ case SP_NEXTJOBEXP:
+ WFIFOW (fd, 0) = 0xb1;
+ WFIFOL (fd, 4) = pc_nextjobexp (sd);
+ break;
+
+ // 00be �I��
+ case SP_USTR:
+ case SP_UAGI:
+ case SP_UVIT:
+ case SP_UINT:
+ case SP_UDEX:
+ case SP_ULUK:
+ WFIFOW (fd, 0) = 0xbe;
+ WFIFOB (fd, 4) =
+ pc_need_status_point (sd, type - SP_USTR + SP_STR);
+ len = 5;
+ break;
+
+ // 013a �I��
+ case SP_ATTACKRANGE:
+ WFIFOW (fd, 0) = 0x13a;
+ WFIFOW (fd, 2) = (sd->attack_spell_override)
+ ? sd->attack_spell_range : sd->attackrange;
+ len = 4;
+ break;
+
+ // 0141 �I��
+ case SP_STR:
+ WFIFOW (fd, 0) = 0x141;
+ WFIFOL (fd, 2) = type;
+ WFIFOL (fd, 6) = sd->status.str;
+ WFIFOL (fd, 10) = sd->paramb[0] + sd->parame[0];
+ len = 14;
+ break;
+ case SP_AGI:
+ WFIFOW (fd, 0) = 0x141;
+ WFIFOL (fd, 2) = type;
+ WFIFOL (fd, 6) = sd->status.agi;
+ WFIFOL (fd, 10) = sd->paramb[1] + sd->parame[1];
+ len = 14;
+ break;
+ case SP_VIT:
+ WFIFOW (fd, 0) = 0x141;
+ WFIFOL (fd, 2) = type;
+ WFIFOL (fd, 6) = sd->status.vit;
+ WFIFOL (fd, 10) = sd->paramb[2] + sd->parame[2];
+ len = 14;
+ break;
+ case SP_INT:
+ WFIFOW (fd, 0) = 0x141;
+ WFIFOL (fd, 2) = type;
+ WFIFOL (fd, 6) = sd->status.int_;
+ WFIFOL (fd, 10) = sd->paramb[3] + sd->parame[3];
+ len = 14;
+ break;
+ case SP_DEX:
+ WFIFOW (fd, 0) = 0x141;
+ WFIFOL (fd, 2) = type;
+ WFIFOL (fd, 6) = sd->status.dex;
+ WFIFOL (fd, 10) = sd->paramb[4] + sd->parame[4];
+ len = 14;
+ break;
+ case SP_LUK:
+ WFIFOW (fd, 0) = 0x141;
+ WFIFOL (fd, 2) = type;
+ WFIFOL (fd, 6) = sd->status.luk;
+ WFIFOL (fd, 10) = sd->paramb[5] + sd->parame[5];
+ len = 14;
+ break;
+
+ case SP_CARTINFO:
+ WFIFOW (fd, 0) = 0x121;
+ WFIFOW (fd, 2) = sd->cart_num;
+ WFIFOW (fd, 4) = sd->cart_max_num;
+ WFIFOL (fd, 6) = sd->cart_weight;
+ WFIFOL (fd, 10) = sd->cart_max_weight;
+ len = 14;
+ break;
+
+ case SP_GM:
+ WFIFOL (fd, 4) = pc_isGM (sd);
+ break;
+
+ default:
+ if (battle_config.error_log)
+ printf ("clif_updatestatus : make %d routine\n", type);
+ return 1;
+ }
+ WFIFOSET (fd, len);
+
+ return 0;
+}
+
+int clif_changestatus (struct block_list *bl, int type, int val)
+{
+ unsigned char buf[12];
+ struct map_session_data *sd = NULL;
+
+ nullpo_retr (0, bl);
+
+ if (bl->type == BL_PC)
+ sd = (struct map_session_data *) bl;
//printf("clif_changestatus id:%d type:%d val:%d\n",bl->id,type,val);
- if(sd){
- WBUFW(buf,0)=0x1ab;
- WBUFL(buf,2)=bl->id;
- WBUFW(buf,6)=type;
- switch(type){
- case SP_MANNER:
- WBUFL(buf,8)=val;
- break;
- default:
- if(battle_config.error_log)
- printf("clif_changestatus : make %d routine\n",type);
- return 1;
- }
- clif_send(buf,packet_len_table[0x1ab],bl,AREA_WOS);
- }
- return 0;
+ if (sd)
+ {
+ WBUFW (buf, 0) = 0x1ab;
+ WBUFL (buf, 2) = bl->id;
+ WBUFW (buf, 6) = type;
+ switch (type)
+ {
+ case SP_MANNER:
+ WBUFL (buf, 8) = val;
+ break;
+ default:
+ if (battle_config.error_log)
+ printf ("clif_changestatus : make %d routine\n", type);
+ return 1;
+ }
+ clif_send (buf, packet_len_table[0x1ab], bl, AREA_WOS);
+ }
+ return 0;
}
+
/*==========================================
*
*------------------------------------------
*/
-int clif_changelook(struct block_list *bl,int type,int val)
+int clif_changelook (struct block_list *bl, int type, int val)
{
- return clif_changelook_towards(bl, type, val, NULL);
+ return clif_changelook_towards (bl, type, val, NULL);
}
-int clif_changelook_towards(struct block_list *bl,int type,int val, struct map_session_data *dstsd)
+int clif_changelook_towards (struct block_list *bl, int type, int val,
+ struct map_session_data *dstsd)
{
- unsigned char rbuf[32];
- unsigned char *buf = dstsd ? WFIFOP(dstsd->fd, 0) : rbuf; // pick target buffer or general-purpose one
- struct map_session_data *sd = NULL;
-
- nullpo_retr(0, bl);
+ unsigned char rbuf[32];
+ unsigned char *buf = dstsd ? WFIFOP (dstsd->fd, 0) : rbuf; // pick target buffer or general-purpose one
+ struct map_session_data *sd = NULL;
- if(bl->type == BL_PC)
- sd = (struct map_session_data *)bl;
+ nullpo_retr (0, bl);
- if(sd && sd->disguise > 23 && sd->disguise < 4001) // mob disguises [Valaris]
- return 0;
+ if (bl->type == BL_PC)
+ sd = (struct map_session_data *) bl;
- if (sd && sd->status.option & OPTION_INVISIBILITY)
- return 0;
+ if (sd && sd->disguise > 23 && sd->disguise < 4001) // mob disguises [Valaris]
+ return 0;
- if(sd && (type == LOOK_WEAPON || type == LOOK_SHIELD || type >= LOOK_SHOES)) {
- WBUFW(buf,0)=0x1d7;
- WBUFL(buf,2)=bl->id;
- if(type >= LOOK_SHOES) {
- int equip_point = equip_points[type];
+ if (sd && sd->status.option & OPTION_INVISIBILITY)
+ return 0;
- WBUFB(buf,6) = type;
- if(sd->equip_index[equip_point] >= 0 && sd->inventory_data[sd->equip_index[2]]) {
- if(sd->inventory_data[sd->equip_index[equip_point]]->view_id > 0)
- WBUFW(buf,7)=sd->inventory_data[sd->equip_index[equip_point]]->view_id;
- else
- WBUFW(buf,7)=sd->status.inventory[sd->equip_index[equip_point]].nameid;
- } else
- WBUFW(buf,7)=0;
- WBUFW(buf,9)=0;
- }
- else {
- WBUFB(buf,6)=2;
- if (sd->attack_spell_override)
- WBUFW(buf, 7) = sd->attack_spell_look_override;
- else {
- if(sd->equip_index[9] >= 0 && sd->inventory_data[sd->equip_index[9]] && sd->view_class != 22) {
- if(sd->inventory_data[sd->equip_index[9]]->view_id > 0)
- WBUFW(buf,7)=sd->inventory_data[sd->equip_index[9]]->view_id;
- else
- WBUFW(buf,7)=sd->status.inventory[sd->equip_index[9]].nameid;
- } else
- WBUFW(buf,7)=0;
- }
- if(sd->equip_index[8] >= 0 && sd->equip_index[8] != sd->equip_index[9] && sd->inventory_data[sd->equip_index[8]] &&
- sd->view_class != 22) {
- if(sd->inventory_data[sd->equip_index[8]]->view_id > 0)
- WBUFW(buf,9)=sd->inventory_data[sd->equip_index[8]]->view_id;
- else
- WBUFW(buf,9)=sd->status.inventory[sd->equip_index[8]].nameid;
- } else
- WBUFW(buf,9)=0;
- }
- if (dstsd)
- WFIFOSET(dstsd->fd, packet_len_table[0x1d7]);
+ if (sd
+ && (type == LOOK_WEAPON || type == LOOK_SHIELD || type >= LOOK_SHOES))
+ {
+ WBUFW (buf, 0) = 0x1d7;
+ WBUFL (buf, 2) = bl->id;
+ if (type >= LOOK_SHOES)
+ {
+ int equip_point = equip_points[type];
+
+ WBUFB (buf, 6) = type;
+ if (sd->equip_index[equip_point] >= 0
+ && sd->inventory_data[sd->equip_index[2]])
+ {
+ if (sd->
+ inventory_data[sd->equip_index[equip_point]]->view_id > 0)
+ WBUFW (buf, 7) =
+ sd->inventory_data[sd->
+ equip_index[equip_point]]->view_id;
else
- clif_send(buf, packet_len_table[0x1d7], bl, AREA);
- }
- else {
- WBUFW(buf,0)=0x1d7;
- WBUFL(buf,2)=bl->id;
- WBUFB(buf,6)=type;
- WBUFW(buf,7)=val;
- WBUFW(buf,9)=0;
- if (dstsd)
- WFIFOSET(dstsd->fd, packet_len_table[0x1d7]);
+ WBUFW (buf, 7) =
+ sd->status.inventory[sd->
+ equip_index[equip_point]].nameid;
+ }
+ else
+ WBUFW (buf, 7) = 0;
+ WBUFW (buf, 9) = 0;
+ }
+ else
+ {
+ WBUFB (buf, 6) = 2;
+ if (sd->attack_spell_override)
+ WBUFW (buf, 7) = sd->attack_spell_look_override;
+ else
+ {
+ if (sd->equip_index[9] >= 0
+ && sd->inventory_data[sd->equip_index[9]]
+ && sd->view_class != 22)
+ {
+ if (sd->inventory_data[sd->equip_index[9]]->view_id > 0)
+ WBUFW (buf, 7) =
+ sd->inventory_data[sd->equip_index[9]]->view_id;
+ else
+ WBUFW (buf, 7) =
+ sd->status.inventory[sd->equip_index[9]].nameid;
+ }
else
- clif_send(buf, packet_len_table[0x1d7], bl, AREA);
- }
- return 0;
+ WBUFW (buf, 7) = 0;
+ }
+ if (sd->equip_index[8] >= 0
+ && sd->equip_index[8] != sd->equip_index[9]
+ && sd->inventory_data[sd->equip_index[8]]
+ && sd->view_class != 22)
+ {
+ if (sd->inventory_data[sd->equip_index[8]]->view_id > 0)
+ WBUFW (buf, 9) =
+ sd->inventory_data[sd->equip_index[8]]->view_id;
+ else
+ WBUFW (buf, 9) =
+ sd->status.inventory[sd->equip_index[8]].nameid;
+ }
+ else
+ WBUFW (buf, 9) = 0;
+ }
+ if (dstsd)
+ WFIFOSET (dstsd->fd, packet_len_table[0x1d7]);
+ else
+ clif_send (buf, packet_len_table[0x1d7], bl, AREA);
+ }
+ else
+ {
+ WBUFW (buf, 0) = 0x1d7;
+ WBUFL (buf, 2) = bl->id;
+ WBUFB (buf, 6) = type;
+ WBUFW (buf, 7) = val;
+ WBUFW (buf, 9) = 0;
+ if (dstsd)
+ WFIFOSET (dstsd->fd, packet_len_table[0x1d7]);
+ else
+ clif_send (buf, packet_len_table[0x1d7], bl, AREA);
+ }
+ return 0;
}
/*==========================================
*
*------------------------------------------
*/
-int clif_initialstatus(struct map_session_data *sd)
-{
- int fd;
- unsigned char *buf;
-
- nullpo_retr(0, sd);
-
- fd=sd->fd;
- buf=WFIFOP(fd,0);
-
- WBUFW(buf,0)=0xbd;
- WBUFW(buf,2)=sd->status.status_point;
- WBUFB(buf,4)=(sd->status.str > 255)? 255:sd->status.str;
- WBUFB(buf,5)=pc_need_status_point(sd,SP_STR);
- WBUFB(buf,6)=(sd->status.agi > 255)? 255:sd->status.agi;
- WBUFB(buf,7)=pc_need_status_point(sd,SP_AGI);
- WBUFB(buf,8)=(sd->status.vit > 255)? 255:sd->status.vit;
- WBUFB(buf,9)=pc_need_status_point(sd,SP_VIT);
- WBUFB(buf,10)=(sd->status.int_ > 255)? 255:sd->status.int_;
- WBUFB(buf,11)=pc_need_status_point(sd,SP_INT);
- WBUFB(buf,12)=(sd->status.dex > 255)? 255:sd->status.dex;
- WBUFB(buf,13)=pc_need_status_point(sd,SP_DEX);
- WBUFB(buf,14)=(sd->status.luk > 255)? 255:sd->status.luk;
- WBUFB(buf,15)=pc_need_status_point(sd,SP_LUK);
-
- WBUFW(buf,16) = sd->base_atk + sd->watk;
- WBUFW(buf,18) = sd->watk2; //atk bonus
- WBUFW(buf,20) = sd->matk1;
- WBUFW(buf,22) = sd->matk2;
- WBUFW(buf,24) = sd->def; // def
- WBUFW(buf,26) = sd->def2;
- WBUFW(buf,28) = sd->mdef; // mdef
- WBUFW(buf,30) = sd->mdef2;
- WBUFW(buf,32) = sd->hit;
- WBUFW(buf,34) = sd->flee;
- WBUFW(buf,36) = sd->flee2/10;
- WBUFW(buf,38) = sd->critical/10;
- WBUFW(buf,40) = sd->status.karma;
- WBUFW(buf,42) = sd->status.manner;
-
- WFIFOSET(fd,packet_len_table[0xbd]);
-
- clif_updatestatus(sd,SP_STR);
- clif_updatestatus(sd,SP_AGI);
- clif_updatestatus(sd,SP_VIT);
- clif_updatestatus(sd,SP_INT);
- clif_updatestatus(sd,SP_DEX);
- clif_updatestatus(sd,SP_LUK);
-
- clif_updatestatus(sd,SP_ATTACKRANGE);
- clif_updatestatus(sd,SP_ASPD);
+int clif_initialstatus (struct map_session_data *sd)
+{
+ int fd;
+ unsigned char *buf;
- return 0;
+ nullpo_retr (0, sd);
+
+ fd = sd->fd;
+ buf = WFIFOP (fd, 0);
+
+ WBUFW (buf, 0) = 0xbd;
+ WBUFW (buf, 2) = sd->status.status_point;
+ WBUFB (buf, 4) = (sd->status.str > 255) ? 255 : sd->status.str;
+ WBUFB (buf, 5) = pc_need_status_point (sd, SP_STR);
+ WBUFB (buf, 6) = (sd->status.agi > 255) ? 255 : sd->status.agi;
+ WBUFB (buf, 7) = pc_need_status_point (sd, SP_AGI);
+ WBUFB (buf, 8) = (sd->status.vit > 255) ? 255 : sd->status.vit;
+ WBUFB (buf, 9) = pc_need_status_point (sd, SP_VIT);
+ WBUFB (buf, 10) = (sd->status.int_ > 255) ? 255 : sd->status.int_;
+ WBUFB (buf, 11) = pc_need_status_point (sd, SP_INT);
+ WBUFB (buf, 12) = (sd->status.dex > 255) ? 255 : sd->status.dex;
+ WBUFB (buf, 13) = pc_need_status_point (sd, SP_DEX);
+ WBUFB (buf, 14) = (sd->status.luk > 255) ? 255 : sd->status.luk;
+ WBUFB (buf, 15) = pc_need_status_point (sd, SP_LUK);
+
+ WBUFW (buf, 16) = sd->base_atk + sd->watk;
+ WBUFW (buf, 18) = sd->watk2; //atk bonus
+ WBUFW (buf, 20) = sd->matk1;
+ WBUFW (buf, 22) = sd->matk2;
+ WBUFW (buf, 24) = sd->def; // def
+ WBUFW (buf, 26) = sd->def2;
+ WBUFW (buf, 28) = sd->mdef; // mdef
+ WBUFW (buf, 30) = sd->mdef2;
+ WBUFW (buf, 32) = sd->hit;
+ WBUFW (buf, 34) = sd->flee;
+ WBUFW (buf, 36) = sd->flee2 / 10;
+ WBUFW (buf, 38) = sd->critical / 10;
+ WBUFW (buf, 40) = sd->status.karma;
+ WBUFW (buf, 42) = sd->status.manner;
+
+ WFIFOSET (fd, packet_len_table[0xbd]);
+
+ clif_updatestatus (sd, SP_STR);
+ clif_updatestatus (sd, SP_AGI);
+ clif_updatestatus (sd, SP_VIT);
+ clif_updatestatus (sd, SP_INT);
+ clif_updatestatus (sd, SP_DEX);
+ clif_updatestatus (sd, SP_LUK);
+
+ clif_updatestatus (sd, SP_ATTACKRANGE);
+ clif_updatestatus (sd, SP_ASPD);
+
+ return 0;
}
/*==========================================
*���
*------------------------------------------
*/
-int clif_arrowequip(struct map_session_data *sd,int val)
+int clif_arrowequip (struct map_session_data *sd, int val)
{
- int fd;
+ int fd;
- nullpo_retr(0, sd);
+ nullpo_retr (0, sd);
- if(sd->attacktarget && sd->attacktarget > 0) // [Valaris]
- sd->attacktarget = 0;
+ if (sd->attacktarget && sd->attacktarget > 0) // [Valaris]
+ sd->attacktarget = 0;
- fd=sd->fd;
- WFIFOW(fd,0)=0x013c;
- WFIFOW(fd,2)=val+2;//���̃A�C�e��ID
+ fd = sd->fd;
+ WFIFOW (fd, 0) = 0x013c;
+ WFIFOW (fd, 2) = val + 2; //���̃A�C�e��ID
- WFIFOSET(fd,packet_len_table[0x013c]);
+ WFIFOSET (fd, packet_len_table[0x013c]);
- return 0;
+ return 0;
}
/*==========================================
*
*------------------------------------------
*/
-int clif_arrow_fail(struct map_session_data *sd,int type)
+int clif_arrow_fail (struct map_session_data *sd, int type)
{
- int fd;
+ int fd;
- nullpo_retr(0, sd);
+ nullpo_retr (0, sd);
- fd=sd->fd;
- WFIFOW(fd,0)=0x013b;
- WFIFOW(fd,2)=type;
+ fd = sd->fd;
+ WFIFOW (fd, 0) = 0x013b;
+ WFIFOW (fd, 2) = type;
- WFIFOSET(fd,packet_len_table[0x013b]);
+ WFIFOSET (fd, packet_len_table[0x013b]);
- return 0;
+ return 0;
}
/*==========================================
*
*------------------------------------------
*/
-int clif_statusupack(struct map_session_data *sd,int type,int ok,int val)
+int clif_statusupack (struct map_session_data *sd, int type, int ok, int val)
{
- int fd;
+ int fd;
- nullpo_retr(0, sd);
+ nullpo_retr (0, sd);
- fd=sd->fd;
- WFIFOW(fd,0)=0xbc;
- WFIFOW(fd,2)=type;
- WFIFOB(fd,4)=ok;
- WFIFOB(fd,5)=val;
- WFIFOSET(fd,packet_len_table[0xbc]);
+ fd = sd->fd;
+ WFIFOW (fd, 0) = 0xbc;
+ WFIFOW (fd, 2) = type;
+ WFIFOB (fd, 4) = ok;
+ WFIFOB (fd, 5) = val;
+ WFIFOSET (fd, packet_len_table[0xbc]);
- return 0;
+ return 0;
}
/*==========================================
*
*------------------------------------------
*/
-int clif_equipitemack(struct map_session_data *sd,int n,int pos,int ok)
+int clif_equipitemack (struct map_session_data *sd, int n, int pos, int ok)
{
- int fd;
+ int fd;
- nullpo_retr(0, sd);
+ nullpo_retr (0, sd);
- fd=sd->fd;
- WFIFOW(fd,0)=0xaa;
- WFIFOW(fd,2)=n+2;
- WFIFOW(fd,4)=pos;
- WFIFOB(fd,6)=ok;
- WFIFOSET(fd,packet_len_table[0xaa]);
+ fd = sd->fd;
+ WFIFOW (fd, 0) = 0xaa;
+ WFIFOW (fd, 2) = n + 2;
+ WFIFOW (fd, 4) = pos;
+ WFIFOB (fd, 6) = ok;
+ WFIFOSET (fd, packet_len_table[0xaa]);
- return 0;
+ return 0;
}
/*==========================================
*
*------------------------------------------
*/
-int clif_unequipitemack(struct map_session_data *sd,int n,int pos,int ok)
+int clif_unequipitemack (struct map_session_data *sd, int n, int pos, int ok)
{
- int fd;
+ int fd;
- nullpo_retr(0, sd);
+ nullpo_retr (0, sd);
- fd=sd->fd;
- WFIFOW(fd,0)=0xac;
- WFIFOW(fd,2)=n+2;
- WFIFOW(fd,4)=pos;
- WFIFOB(fd,6)=ok;
- WFIFOSET(fd,packet_len_table[0xac]);
+ fd = sd->fd;
+ WFIFOW (fd, 0) = 0xac;
+ WFIFOW (fd, 2) = n + 2;
+ WFIFOW (fd, 4) = pos;
+ WFIFOB (fd, 6) = ok;
+ WFIFOSET (fd, packet_len_table[0xac]);
- return 0;
+ return 0;
}
/*==========================================
*
*------------------------------------------
*/
-int clif_misceffect(struct block_list* bl,int type)
+int clif_misceffect (struct block_list *bl, int type)
{
- char buf[32];
+ char buf[32];
- nullpo_retr(0, bl);
+ nullpo_retr (0, bl);
- WBUFW(buf,0) = 0x19b;
- WBUFL(buf,2) = bl->id;
- WBUFL(buf,6) = type;
+ WBUFW (buf, 0) = 0x19b;
+ WBUFL (buf, 2) = bl->id;
+ WBUFL (buf, 6) = type;
- clif_send(buf,packet_len_table[0x19b],bl,AREA);
+ clif_send (buf, packet_len_table[0x19b], bl, AREA);
- return 0;
+ return 0;
}
+
/*==========================================
* �\���I�v�V�����ύX
*------------------------------------------
*/
-int clif_changeoption(struct block_list* bl)
-{
- char buf[32];
- short option;
- struct status_change *sc_data;
- static const int omask[]={ 0x10,0x20 };
- static const int scnum[]={ SC_FALCON, SC_RIDING };
- int i;
-
- nullpo_retr(0, bl);
-
- option = *battle_get_option(bl);
- sc_data = battle_get_sc_data(bl);
-
- WBUFW(buf,0) = 0x119;
- WBUFL(buf,2) = bl->id;
- WBUFW(buf,6) = *battle_get_opt1(bl);
- WBUFW(buf,8) = *battle_get_opt2(bl);
- WBUFW(buf,10) = option;
- WBUFB(buf,12) = 0; // ??
-
- if(bl->type==BL_PC) { // disguises [Valaris]
- struct map_session_data *sd=((struct map_session_data *)bl);
- if(sd && sd->disguise > 23 && sd->disguise < 4001) {
- clif_send(buf,packet_len_table[0x119],bl,AREA_WOS);
- clif_spawnpc(sd);
- } else
- clif_send(buf,packet_len_table[0x119],bl,AREA);
- } else
- clif_send(buf,packet_len_table[0x119],bl,AREA);
-
- // �A�C�R���̕\��
- for(i=0;i<sizeof(omask)/sizeof(omask[0]);i++){
- if( option&omask[i] ){
- if( sc_data[scnum[i]].timer==-1)
- skill_status_change_start(bl,scnum[i],0,0,0,0,0,0);
- } else {
- skill_status_change_end(bl,scnum[i],-1);
- }
- }
+int clif_changeoption (struct block_list *bl)
+{
+ char buf[32];
+ short option;
+ struct status_change *sc_data;
+ static const int omask[] = { 0x10, 0x20 };
+ static const int scnum[] = { SC_FALCON, SC_RIDING };
+ int i;
- return 0;
+ nullpo_retr (0, bl);
+
+ option = *battle_get_option (bl);
+ sc_data = battle_get_sc_data (bl);
+
+ WBUFW (buf, 0) = 0x119;
+ WBUFL (buf, 2) = bl->id;
+ WBUFW (buf, 6) = *battle_get_opt1 (bl);
+ WBUFW (buf, 8) = *battle_get_opt2 (bl);
+ WBUFW (buf, 10) = option;
+ WBUFB (buf, 12) = 0; // ??
+
+ if (bl->type == BL_PC)
+ { // disguises [Valaris]
+ struct map_session_data *sd = ((struct map_session_data *) bl);
+ if (sd && sd->disguise > 23 && sd->disguise < 4001)
+ {
+ clif_send (buf, packet_len_table[0x119], bl, AREA_WOS);
+ clif_spawnpc (sd);
+ }
+ else
+ clif_send (buf, packet_len_table[0x119], bl, AREA);
+ }
+ else
+ clif_send (buf, packet_len_table[0x119], bl, AREA);
+
+ // �A�C�R���̕\��
+ for (i = 0; i < sizeof (omask) / sizeof (omask[0]); i++)
+ {
+ if (option & omask[i])
+ {
+ if (sc_data[scnum[i]].timer == -1)
+ skill_status_change_start (bl, scnum[i], 0, 0, 0, 0, 0, 0);
+ }
+ else
+ {
+ skill_status_change_end (bl, scnum[i], -1);
+ }
+ }
+
+ return 0;
}
/*==========================================
*
*------------------------------------------
*/
-int clif_useitemack(struct map_session_data *sd,int index,int amount,int ok)
+int clif_useitemack (struct map_session_data *sd, int index, int amount,
+ int ok)
{
- nullpo_retr(0, sd);
+ nullpo_retr (0, sd);
- if(!ok) {
- int fd=sd->fd;
- WFIFOW(fd,0)=0xa8;
- WFIFOW(fd,2)=index+2;
- WFIFOW(fd,4)=amount;
- WFIFOB(fd,6)=ok;
- WFIFOSET(fd,packet_len_table[0xa8]);
- }
- else {
- char buf[32];
-
- WBUFW(buf,0)=0x1c8;
- WBUFW(buf,2)=index+2;
- if(sd->inventory_data[index] && sd->inventory_data[index]->view_id > 0)
- WBUFW(buf,4)=sd->inventory_data[index]->view_id;
- else
- WBUFW(buf,4)=sd->status.inventory[index].nameid;
- WBUFL(buf,6)=sd->bl.id;
- WBUFW(buf,10)=amount;
- WBUFB(buf,12)=ok;
- clif_send(buf,packet_len_table[0x1c8],&sd->bl,SELF);
- }
+ if (!ok)
+ {
+ int fd = sd->fd;
+ WFIFOW (fd, 0) = 0xa8;
+ WFIFOW (fd, 2) = index + 2;
+ WFIFOW (fd, 4) = amount;
+ WFIFOB (fd, 6) = ok;
+ WFIFOSET (fd, packet_len_table[0xa8]);
+ }
+ else
+ {
+ char buf[32];
- return 0;
+ WBUFW (buf, 0) = 0x1c8;
+ WBUFW (buf, 2) = index + 2;
+ if (sd->inventory_data[index]
+ && sd->inventory_data[index]->view_id > 0)
+ WBUFW (buf, 4) = sd->inventory_data[index]->view_id;
+ else
+ WBUFW (buf, 4) = sd->status.inventory[index].nameid;
+ WBUFL (buf, 6) = sd->bl.id;
+ WBUFW (buf, 10) = amount;
+ WBUFB (buf, 12) = ok;
+ clif_send (buf, packet_len_table[0x1c8], &sd->bl, SELF);
+ }
+
+ return 0;
}
/*==========================================
*
*------------------------------------------
*/
-int clif_createchat(struct map_session_data *sd,int fail)
+int clif_createchat (struct map_session_data *sd, int fail)
{
- int fd;
+ int fd;
- nullpo_retr(0, sd);
+ nullpo_retr (0, sd);
- fd=sd->fd;
- WFIFOW(fd,0)=0xd6;
- WFIFOB(fd,2)=fail;
- WFIFOSET(fd,packet_len_table[0xd6]);
+ fd = sd->fd;
+ WFIFOW (fd, 0) = 0xd6;
+ WFIFOB (fd, 2) = fail;
+ WFIFOSET (fd, packet_len_table[0xd6]);
- return 0;
+ return 0;
}
/*==========================================
*
*------------------------------------------
*/
-int clif_dispchat(struct chat_data *cd,int fd)
+int clif_dispchat (struct chat_data *cd, int fd)
{
- char buf[128]; // �ő�title(60�o�C�g)+17
+ char buf[128]; // �ő�title(60�o�C�g)+17
- if(cd==NULL || *cd->owner==NULL)
- return 1;
+ if (cd == NULL || *cd->owner == NULL)
+ return 1;
- WBUFW(buf,0)=0xd7;
- WBUFW(buf,2)=strlen(cd->title)+17;
- WBUFL(buf,4)=(*cd->owner)->id;
- WBUFL(buf,8)=cd->bl.id;
- WBUFW(buf,12)=cd->limit;
- WBUFW(buf,14)=cd->users;
- WBUFB(buf,16)=cd->pub;
- strcpy(WBUFP(buf,17),cd->title);
- if(fd){
- memcpy(WFIFOP(fd,0),buf,WBUFW(buf,2));
- WFIFOSET(fd,WBUFW(buf,2));
- } else {
- clif_send(buf,WBUFW(buf,2),*cd->owner,AREA_WOSC);
- }
+ WBUFW (buf, 0) = 0xd7;
+ WBUFW (buf, 2) = strlen (cd->title) + 17;
+ WBUFL (buf, 4) = (*cd->owner)->id;
+ WBUFL (buf, 8) = cd->bl.id;
+ WBUFW (buf, 12) = cd->limit;
+ WBUFW (buf, 14) = cd->users;
+ WBUFB (buf, 16) = cd->pub;
+ strcpy (WBUFP (buf, 17), cd->title);
+ if (fd)
+ {
+ memcpy (WFIFOP (fd, 0), buf, WBUFW (buf, 2));
+ WFIFOSET (fd, WBUFW (buf, 2));
+ }
+ else
+ {
+ clif_send (buf, WBUFW (buf, 2), *cd->owner, AREA_WOSC);
+ }
- return 0;
+ return 0;
}
/*==========================================
@@ -2719,523 +3016,568 @@ int clif_dispchat(struct chat_data *cd,int fd)
* �O���̐l�p�Ɩ��߃R�[�h(d7->df)���Ⴄ����
*------------------------------------------
*/
-int clif_changechatstatus(struct chat_data *cd)
+int clif_changechatstatus (struct chat_data *cd)
{
- char buf[128]; // �ő�title(60�o�C�g)+17
+ char buf[128]; // �ő�title(60�o�C�g)+17
- if(cd==NULL || cd->usersd[0]==NULL)
- return 1;
+ if (cd == NULL || cd->usersd[0] == NULL)
+ return 1;
- WBUFW(buf,0)=0xdf;
- WBUFW(buf,2)=strlen(cd->title)+17;
- WBUFL(buf,4)=cd->usersd[0]->bl.id;
- WBUFL(buf,8)=cd->bl.id;
- WBUFW(buf,12)=cd->limit;
- WBUFW(buf,14)=cd->users;
- WBUFB(buf,16)=cd->pub;
- strcpy(WBUFP(buf,17),cd->title);
- clif_send(buf,WBUFW(buf,2),&cd->usersd[0]->bl,CHAT);
+ WBUFW (buf, 0) = 0xdf;
+ WBUFW (buf, 2) = strlen (cd->title) + 17;
+ WBUFL (buf, 4) = cd->usersd[0]->bl.id;
+ WBUFL (buf, 8) = cd->bl.id;
+ WBUFW (buf, 12) = cd->limit;
+ WBUFW (buf, 14) = cd->users;
+ WBUFB (buf, 16) = cd->pub;
+ strcpy (WBUFP (buf, 17), cd->title);
+ clif_send (buf, WBUFW (buf, 2), &cd->usersd[0]->bl, CHAT);
- return 0;
+ return 0;
}
/*==========================================
*
*------------------------------------------
*/
-int clif_clearchat(struct chat_data *cd,int fd)
+int clif_clearchat (struct chat_data *cd, int fd)
{
- char buf[32];
+ char buf[32];
- nullpo_retr(0, cd);
+ nullpo_retr (0, cd);
- WBUFW(buf,0)=0xd8;
- WBUFL(buf,2)=cd->bl.id;
- if(fd){
- memcpy(WFIFOP(fd,0),buf,packet_len_table[0xd8]);
- WFIFOSET(fd,packet_len_table[0xd8]);
- } else {
- clif_send(buf,packet_len_table[0xd8],*cd->owner,AREA_WOSC);
- }
+ WBUFW (buf, 0) = 0xd8;
+ WBUFL (buf, 2) = cd->bl.id;
+ if (fd)
+ {
+ memcpy (WFIFOP (fd, 0), buf, packet_len_table[0xd8]);
+ WFIFOSET (fd, packet_len_table[0xd8]);
+ }
+ else
+ {
+ clif_send (buf, packet_len_table[0xd8], *cd->owner, AREA_WOSC);
+ }
- return 0;
+ return 0;
}
/*==========================================
*
*------------------------------------------
*/
-int clif_joinchatfail(struct map_session_data *sd,int fail)
+int clif_joinchatfail (struct map_session_data *sd, int fail)
{
- int fd;
+ int fd;
- nullpo_retr(0, sd);
+ nullpo_retr (0, sd);
- fd=sd->fd;
+ fd = sd->fd;
- WFIFOW(fd,0)=0xda;
- WFIFOB(fd,2)=fail;
- WFIFOSET(fd,packet_len_table[0xda]);
+ WFIFOW (fd, 0) = 0xda;
+ WFIFOB (fd, 2) = fail;
+ WFIFOSET (fd, packet_len_table[0xda]);
- return 0;
+ return 0;
}
/*==========================================
*
*------------------------------------------
*/
-int clif_joinchatok(struct map_session_data *sd,struct chat_data* cd)
+int clif_joinchatok (struct map_session_data *sd, struct chat_data *cd)
{
- int fd;
- int i;
+ int fd;
+ int i;
- nullpo_retr(0, sd);
- nullpo_retr(0, cd);
+ nullpo_retr (0, sd);
+ nullpo_retr (0, cd);
- fd=sd->fd;
- WFIFOW(fd,0)=0xdb;
- WFIFOW(fd,2)=8+(28*cd->users);
- WFIFOL(fd,4)=cd->bl.id;
- for(i = 0;i < cd->users;i++){
- WFIFOL(fd,8+i*28) = (i!=0)||((*cd->owner)->type==BL_NPC);
- memcpy(WFIFOP(fd,8+i*28+4),cd->usersd[i]->status.name,24);
- }
- WFIFOSET(fd,WFIFOW(fd,2));
+ fd = sd->fd;
+ WFIFOW (fd, 0) = 0xdb;
+ WFIFOW (fd, 2) = 8 + (28 * cd->users);
+ WFIFOL (fd, 4) = cd->bl.id;
+ for (i = 0; i < cd->users; i++)
+ {
+ WFIFOL (fd, 8 + i * 28) = (i != 0) || ((*cd->owner)->type == BL_NPC);
+ memcpy (WFIFOP (fd, 8 + i * 28 + 4), cd->usersd[i]->status.name, 24);
+ }
+ WFIFOSET (fd, WFIFOW (fd, 2));
- return 0;
+ return 0;
}
/*==========================================
*
*------------------------------------------
*/
-int clif_addchat(struct chat_data* cd,struct map_session_data *sd)
+int clif_addchat (struct chat_data *cd, struct map_session_data *sd)
{
- char buf[32];
+ char buf[32];
- nullpo_retr(0, sd);
- nullpo_retr(0, cd);
+ nullpo_retr (0, sd);
+ nullpo_retr (0, cd);
- WBUFW(buf, 0) = 0x0dc;
- WBUFW(buf, 2) = cd->users;
- memcpy(WBUFP(buf, 4),sd->status.name,24);
- clif_send(buf,packet_len_table[0xdc],&sd->bl,CHAT_WOS);
+ WBUFW (buf, 0) = 0x0dc;
+ WBUFW (buf, 2) = cd->users;
+ memcpy (WBUFP (buf, 4), sd->status.name, 24);
+ clif_send (buf, packet_len_table[0xdc], &sd->bl, CHAT_WOS);
- return 0;
+ return 0;
}
/*==========================================
*
*------------------------------------------
*/
-int clif_changechatowner(struct chat_data* cd,struct map_session_data *sd)
+int clif_changechatowner (struct chat_data *cd, struct map_session_data *sd)
{
- char buf[64];
+ char buf[64];
- nullpo_retr(0, sd);
- nullpo_retr(0, cd);
+ nullpo_retr (0, sd);
+ nullpo_retr (0, cd);
- WBUFW(buf, 0) = 0xe1;
- WBUFL(buf, 2) = 1;
- memcpy(WBUFP(buf,6),cd->usersd[0]->status.name,24);
- WBUFW(buf,30) = 0xe1;
- WBUFL(buf,32) = 0;
- memcpy(WBUFP(buf,36),sd->status.name,24);
+ WBUFW (buf, 0) = 0xe1;
+ WBUFL (buf, 2) = 1;
+ memcpy (WBUFP (buf, 6), cd->usersd[0]->status.name, 24);
+ WBUFW (buf, 30) = 0xe1;
+ WBUFL (buf, 32) = 0;
+ memcpy (WBUFP (buf, 36), sd->status.name, 24);
- clif_send(buf,packet_len_table[0xe1]*2,&sd->bl,CHAT);
+ clif_send (buf, packet_len_table[0xe1] * 2, &sd->bl, CHAT);
- return 0;
+ return 0;
}
/*==========================================
*
*------------------------------------------
*/
-int clif_leavechat(struct chat_data* cd,struct map_session_data *sd)
+int clif_leavechat (struct chat_data *cd, struct map_session_data *sd)
{
- char buf[32];
+ char buf[32];
- nullpo_retr(0, sd);
- nullpo_retr(0, cd);
+ nullpo_retr (0, sd);
+ nullpo_retr (0, cd);
- WBUFW(buf, 0) = 0xdd;
- WBUFW(buf, 2) = cd->users-1;
- memcpy(WBUFP(buf,4),sd->status.name,24);
- WBUFB(buf,28) = 0;
+ WBUFW (buf, 0) = 0xdd;
+ WBUFW (buf, 2) = cd->users - 1;
+ memcpy (WBUFP (buf, 4), sd->status.name, 24);
+ WBUFB (buf, 28) = 0;
- clif_send(buf,packet_len_table[0xdd],&sd->bl,CHAT);
+ clif_send (buf, packet_len_table[0xdd], &sd->bl, CHAT);
- return 0;
+ return 0;
}
/*==========================================
* ���������v������
*------------------------------------------
*/
-int clif_traderequest(struct map_session_data *sd,char *name)
+int clif_traderequest (struct map_session_data *sd, char *name)
{
- int fd;
+ int fd;
- nullpo_retr(0, sd);
+ nullpo_retr (0, sd);
- fd=sd->fd;
- WFIFOW(fd,0)=0xe5;
- strcpy(WFIFOP(fd,2),name);
- WFIFOSET(fd,packet_len_table[0xe5]);
+ fd = sd->fd;
+ WFIFOW (fd, 0) = 0xe5;
+ strcpy (WFIFOP (fd, 2), name);
+ WFIFOSET (fd, packet_len_table[0xe5]);
- return 0;
+ return 0;
}
/*==========================================
* ���������v������
*------------------------------------------
*/
-int clif_tradestart(struct map_session_data *sd,int type)
+int clif_tradestart (struct map_session_data *sd, int type)
{
- int fd;
+ int fd;
- nullpo_retr(0, sd);
+ nullpo_retr (0, sd);
- fd=sd->fd;
- WFIFOW(fd,0)=0xe7;
- WFIFOB(fd,2)=type;
- WFIFOSET(fd,packet_len_table[0xe7]);
+ fd = sd->fd;
+ WFIFOW (fd, 0) = 0xe7;
+ WFIFOB (fd, 2) = type;
+ WFIFOSET (fd, packet_len_table[0xe7]);
- return 0;
+ return 0;
}
/*==========================================
* �����������̃A�C�e���lj�
*------------------------------------------
*/
-int clif_tradeadditem(struct map_session_data *sd,struct map_session_data *tsd,int index,int amount)
-{
- int fd,j;
-
- nullpo_retr(0, sd);
- nullpo_retr(0, tsd);
-
- fd=tsd->fd;
- WFIFOW(fd,0)=0xe9;
- WFIFOL(fd,2)=amount;
- if(index==0){
- WFIFOW(fd,6) = 0; // type id
- WFIFOB(fd,8) = 0; //identify flag
- WFIFOB(fd,9) = 0; // attribute
- WFIFOB(fd,10)= 0; //refine
- WFIFOW(fd,11)= 0; //card (4w)
- WFIFOW(fd,13)= 0; //card (4w)
- WFIFOW(fd,15)= 0; //card (4w)
- WFIFOW(fd,17)= 0; //card (4w)
- }
- else{
- index -= 2;
- if(sd->inventory_data[index] && sd->inventory_data[index]->view_id > 0)
- WFIFOW(fd,6) = sd->inventory_data[index]->view_id;
- else
- WFIFOW(fd,6) = sd->status.inventory[index].nameid; // type id
- WFIFOB(fd,8) = sd->status.inventory[index].identify; //identify flag
- if(sd->status.inventory[index].broken==1)
- WFIFOB(fd,9) = 1; // is broke weapon [Valaris]
- else
- WFIFOB(fd,9) = sd->status.inventory[index].attribute; // attribute
- WFIFOB(fd,10)= sd->status.inventory[index].refine; //refine
- if(sd->status.inventory[index].card[0]==0x00ff || sd->status.inventory[index].card[0]==0x00fe || sd->status.inventory[index].card[0]==(short)0xff00) {
- WFIFOW(fd,11)= sd->status.inventory[index].card[0]; //card (4w)
- WFIFOW(fd,13)= sd->status.inventory[index].card[1]; //card (4w)
- WFIFOW(fd,15)= sd->status.inventory[index].card[2]; //card (4w)
- WFIFOW(fd,17)= sd->status.inventory[index].card[3]; //card (4w)
- } else {
- if(sd->status.inventory[index].card[0] > 0 && (j=itemdb_viewid(sd->status.inventory[index].card[0])) > 0)
- WFIFOW(fd,11)= j;
- else
- WFIFOW(fd,11)= sd->status.inventory[index].card[0];
- if(sd->status.inventory[index].card[1] > 0 && (j=itemdb_viewid(sd->status.inventory[index].card[1])) > 0)
- WFIFOW(fd,13)= j;
- else
- WFIFOW(fd,13)= sd->status.inventory[index].card[1];
- if(sd->status.inventory[index].card[2] > 0 && (j=itemdb_viewid(sd->status.inventory[index].card[2])) > 0)
- WFIFOW(fd,15)= j;
- else
- WFIFOW(fd,15)= sd->status.inventory[index].card[2];
- if(sd->status.inventory[index].card[3] > 0 && (j=itemdb_viewid(sd->status.inventory[index].card[3])) > 0)
- WFIFOW(fd,17)= j;
- else
- WFIFOW(fd,17)= sd->status.inventory[index].card[3];
- }
- }
- WFIFOSET(fd,packet_len_table[0xe9]);
+int clif_tradeadditem (struct map_session_data *sd,
+ struct map_session_data *tsd, int index, int amount)
+{
+ int fd, j;
+
+ nullpo_retr (0, sd);
+ nullpo_retr (0, tsd);
+
+ fd = tsd->fd;
+ WFIFOW (fd, 0) = 0xe9;
+ WFIFOL (fd, 2) = amount;
+ if (index == 0)
+ {
+ WFIFOW (fd, 6) = 0; // type id
+ WFIFOB (fd, 8) = 0; //identify flag
+ WFIFOB (fd, 9) = 0; // attribute
+ WFIFOB (fd, 10) = 0; //refine
+ WFIFOW (fd, 11) = 0; //card (4w)
+ WFIFOW (fd, 13) = 0; //card (4w)
+ WFIFOW (fd, 15) = 0; //card (4w)
+ WFIFOW (fd, 17) = 0; //card (4w)
+ }
+ else
+ {
+ index -= 2;
+ if (sd->inventory_data[index]
+ && sd->inventory_data[index]->view_id > 0)
+ WFIFOW (fd, 6) = sd->inventory_data[index]->view_id;
+ else
+ WFIFOW (fd, 6) = sd->status.inventory[index].nameid; // type id
+ WFIFOB (fd, 8) = sd->status.inventory[index].identify; //identify flag
+ if (sd->status.inventory[index].broken == 1)
+ WFIFOB (fd, 9) = 1; // is broke weapon [Valaris]
+ else
+ WFIFOB (fd, 9) = sd->status.inventory[index].attribute; // attribute
+ WFIFOB (fd, 10) = sd->status.inventory[index].refine; //refine
+ if (sd->status.inventory[index].card[0] == 0x00ff
+ || sd->status.inventory[index].card[0] == 0x00fe
+ || sd->status.inventory[index].card[0] == (short) 0xff00)
+ {
+ WFIFOW (fd, 11) = sd->status.inventory[index].card[0]; //card (4w)
+ WFIFOW (fd, 13) = sd->status.inventory[index].card[1]; //card (4w)
+ WFIFOW (fd, 15) = sd->status.inventory[index].card[2]; //card (4w)
+ WFIFOW (fd, 17) = sd->status.inventory[index].card[3]; //card (4w)
+ }
+ else
+ {
+ if (sd->status.inventory[index].card[0] > 0
+ && (j =
+ itemdb_viewid (sd->status.inventory[index].card[0])) > 0)
+ WFIFOW (fd, 11) = j;
+ else
+ WFIFOW (fd, 11) = sd->status.inventory[index].card[0];
+ if (sd->status.inventory[index].card[1] > 0
+ && (j =
+ itemdb_viewid (sd->status.inventory[index].card[1])) > 0)
+ WFIFOW (fd, 13) = j;
+ else
+ WFIFOW (fd, 13) = sd->status.inventory[index].card[1];
+ if (sd->status.inventory[index].card[2] > 0
+ && (j =
+ itemdb_viewid (sd->status.inventory[index].card[2])) > 0)
+ WFIFOW (fd, 15) = j;
+ else
+ WFIFOW (fd, 15) = sd->status.inventory[index].card[2];
+ if (sd->status.inventory[index].card[3] > 0
+ && (j =
+ itemdb_viewid (sd->status.inventory[index].card[3])) > 0)
+ WFIFOW (fd, 17) = j;
+ else
+ WFIFOW (fd, 17) = sd->status.inventory[index].card[3];
+ }
+ }
+ WFIFOSET (fd, packet_len_table[0xe9]);
- return 0;
+ return 0;
}
/*==========================================
* �A�C�e���lj����/���s
*------------------------------------------
*/
-int clif_tradeitemok(struct map_session_data *sd,int index,int amount,int fail)
+int clif_tradeitemok (struct map_session_data *sd, int index, int amount,
+ int fail)
{
- int fd;
+ int fd;
- nullpo_retr(0, sd);
+ nullpo_retr (0, sd);
- fd=sd->fd;
- WFIFOW(fd,0)=0x1b1;
- //WFIFOW(fd,0)=0xea;
- WFIFOW(fd,2)=index;
- WFIFOW(fd,4)=amount;
- WFIFOB(fd,6)=fail;
- WFIFOSET(fd,packet_len_table[0x1b1]);
+ fd = sd->fd;
+ WFIFOW (fd, 0) = 0x1b1;
+ //WFIFOW(fd,0)=0xea;
+ WFIFOW (fd, 2) = index;
+ WFIFOW (fd, 4) = amount;
+ WFIFOB (fd, 6) = fail;
+ WFIFOSET (fd, packet_len_table[0x1b1]);
- return 0;
+ return 0;
}
/*==========================================
* ��������ok����
*------------------------------------------
*/
-int clif_tradedeal_lock(struct map_session_data *sd,int fail)
+int clif_tradedeal_lock (struct map_session_data *sd, int fail)
{
- int fd;
+ int fd;
- nullpo_retr(0, sd);
+ nullpo_retr (0, sd);
- fd=sd->fd;
- WFIFOW(fd,0)=0xec;
- WFIFOB(fd,2)=fail; // 0=you 1=the other person
- WFIFOSET(fd,packet_len_table[0xec]);
+ fd = sd->fd;
+ WFIFOW (fd, 0) = 0xec;
+ WFIFOB (fd, 2) = fail; // 0=you 1=the other person
+ WFIFOSET (fd, packet_len_table[0xec]);
- return 0;
+ return 0;
}
/*==========================================
* �����������L�����Z�������܂���
*------------------------------------------
*/
-int clif_tradecancelled(struct map_session_data *sd)
+int clif_tradecancelled (struct map_session_data *sd)
{
- int fd;
+ int fd;
- nullpo_retr(0, sd);
+ nullpo_retr (0, sd);
- fd=sd->fd;
- WFIFOW(fd,0)=0xee;
- WFIFOSET(fd,packet_len_table[0xee]);
+ fd = sd->fd;
+ WFIFOW (fd, 0) = 0xee;
+ WFIFOSET (fd, packet_len_table[0xee]);
- return 0;
+ return 0;
}
/*==========================================
* ������������
*------------------------------------------
*/
-int clif_tradecompleted(struct map_session_data *sd,int fail)
+int clif_tradecompleted (struct map_session_data *sd, int fail)
{
- int fd;
+ int fd;
- nullpo_retr(0, sd);
+ nullpo_retr (0, sd);
- fd=sd->fd;
- WFIFOW(fd,0)=0xf0;
- WFIFOB(fd,2)=fail;
- WFIFOSET(fd,packet_len_table[0xf0]);
+ fd = sd->fd;
+ WFIFOW (fd, 0) = 0xf0;
+ WFIFOB (fd, 2) = fail;
+ WFIFOSET (fd, packet_len_table[0xf0]);
- return 0;
+ return 0;
}
/*==========================================
* �J�v���q�ɂ̃A�C�e�������X�V
*------------------------------------------
*/
-int clif_updatestorageamount(struct map_session_data *sd,struct storage *stor)
+int clif_updatestorageamount (struct map_session_data *sd,
+ struct storage *stor)
{
- int fd;
+ int fd;
- nullpo_retr(0, sd);
- nullpo_retr(0, stor);
+ nullpo_retr (0, sd);
+ nullpo_retr (0, stor);
- fd=sd->fd;
- WFIFOW(fd,0) = 0xf2; // update storage amount
- WFIFOW(fd,2) = stor->storage_amount; //items
- WFIFOW(fd,4) = MAX_STORAGE; //items max
- WFIFOSET(fd,packet_len_table[0xf2]);
+ fd = sd->fd;
+ WFIFOW (fd, 0) = 0xf2; // update storage amount
+ WFIFOW (fd, 2) = stor->storage_amount; //items
+ WFIFOW (fd, 4) = MAX_STORAGE; //items max
+ WFIFOSET (fd, packet_len_table[0xf2]);
- return 0;
+ return 0;
}
/*==========================================
* �J�v���q�ɂɃA�C�e�����lj����
*------------------------------------------
*/
-int clif_storageitemadded(struct map_session_data *sd,struct storage *stor,int index,int amount)
+int clif_storageitemadded (struct map_session_data *sd, struct storage *stor,
+ int index, int amount)
{
- int fd,j;
+ int fd, j;
- nullpo_retr(0, sd);
- nullpo_retr(0, stor);
+ nullpo_retr (0, sd);
+ nullpo_retr (0, stor);
- fd=sd->fd;
- WFIFOW(fd,0) =0xf4; // Storage item added
- WFIFOW(fd,2) =index+1; // index
- WFIFOL(fd,4) =amount; // amount
+ fd = sd->fd;
+ WFIFOW (fd, 0) = 0xf4; // Storage item added
+ WFIFOW (fd, 2) = index + 1; // index
+ WFIFOL (fd, 4) = amount; // amount
/* if((view = itemdb_viewid(stor->storage_[index].nameid)) > 0)
WFIFOW(fd,8) =view;
else*/
- WFIFOW(fd,8) =stor->storage_[index].nameid;
- WFIFOB(fd,10)=stor->storage_[index].identify; //identify flag
- if(stor->storage_[index].broken==1)
- WFIFOB(fd,11)=1; // is weapon broken [Valaris]
- else
- WFIFOB(fd,11)=stor->storage_[index].attribute; // attribute
- WFIFOB(fd,12)=stor->storage_[index].refine; //refine
- if(stor->storage_[index].card[0]==0x00ff || stor->storage_[index].card[0]==0x00fe || stor->storage_[index].card[0]==(short)0xff00) {
- WFIFOW(fd,13)=stor->storage_[index].card[0]; //card (4w)
- WFIFOW(fd,15)=stor->storage_[index].card[1]; //card (4w)
- WFIFOW(fd,17)=stor->storage_[index].card[2]; //card (4w)
- WFIFOW(fd,19)=stor->storage_[index].card[3]; //card (4w)
- } else {
- if(stor->storage_[index].card[0] > 0 && (j=itemdb_viewid(stor->storage_[index].card[0])) > 0)
- WFIFOW(fd,13)= j;
- else
- WFIFOW(fd,13)= stor->storage_[index].card[0];
- if(stor->storage_[index].card[1] > 0 && (j=itemdb_viewid(stor->storage_[index].card[1])) > 0)
- WFIFOW(fd,15)= j;
- else
- WFIFOW(fd,15)= stor->storage_[index].card[1];
- if(stor->storage_[index].card[2] > 0 && (j=itemdb_viewid(stor->storage_[index].card[2])) > 0)
- WFIFOW(fd,17)= j;
- else
- WFIFOW(fd,17)= stor->storage_[index].card[2];
- if(stor->storage_[index].card[3] > 0 && (j=itemdb_viewid(stor->storage_[index].card[3])) > 0)
- WFIFOW(fd,19)= j;
- else
- WFIFOW(fd,19)= stor->storage_[index].card[3];
- }
- WFIFOSET(fd,packet_len_table[0xf4]);
-
- return 0;
+ WFIFOW (fd, 8) = stor->storage_[index].nameid;
+ WFIFOB (fd, 10) = stor->storage_[index].identify; //identify flag
+ if (stor->storage_[index].broken == 1)
+ WFIFOB (fd, 11) = 1; // is weapon broken [Valaris]
+ else
+ WFIFOB (fd, 11) = stor->storage_[index].attribute; // attribute
+ WFIFOB (fd, 12) = stor->storage_[index].refine; //refine
+ if (stor->storage_[index].card[0] == 0x00ff
+ || stor->storage_[index].card[0] == 0x00fe
+ || stor->storage_[index].card[0] == (short) 0xff00)
+ {
+ WFIFOW (fd, 13) = stor->storage_[index].card[0]; //card (4w)
+ WFIFOW (fd, 15) = stor->storage_[index].card[1]; //card (4w)
+ WFIFOW (fd, 17) = stor->storage_[index].card[2]; //card (4w)
+ WFIFOW (fd, 19) = stor->storage_[index].card[3]; //card (4w)
+ }
+ else
+ {
+ if (stor->storage_[index].card[0] > 0
+ && (j = itemdb_viewid (stor->storage_[index].card[0])) > 0)
+ WFIFOW (fd, 13) = j;
+ else
+ WFIFOW (fd, 13) = stor->storage_[index].card[0];
+ if (stor->storage_[index].card[1] > 0
+ && (j = itemdb_viewid (stor->storage_[index].card[1])) > 0)
+ WFIFOW (fd, 15) = j;
+ else
+ WFIFOW (fd, 15) = stor->storage_[index].card[1];
+ if (stor->storage_[index].card[2] > 0
+ && (j = itemdb_viewid (stor->storage_[index].card[2])) > 0)
+ WFIFOW (fd, 17) = j;
+ else
+ WFIFOW (fd, 17) = stor->storage_[index].card[2];
+ if (stor->storage_[index].card[3] > 0
+ && (j = itemdb_viewid (stor->storage_[index].card[3])) > 0)
+ WFIFOW (fd, 19) = j;
+ else
+ WFIFOW (fd, 19) = stor->storage_[index].card[3];
+ }
+ WFIFOSET (fd, packet_len_table[0xf4]);
+
+ return 0;
}
/*==========================================
*
*------------------------------------------
*/
-int clif_updateguildstorageamount(struct map_session_data *sd,struct guild_storage *stor)
+int clif_updateguildstorageamount (struct map_session_data *sd,
+ struct guild_storage *stor)
{
- int fd;
+ int fd;
- nullpo_retr(0, sd);
- nullpo_retr(0, stor);
+ nullpo_retr (0, sd);
+ nullpo_retr (0, stor);
- fd=sd->fd;
- WFIFOW(fd,0) = 0xf2; // update storage amount
- WFIFOW(fd,2) = stor->storage_amount; //items
- WFIFOW(fd,4) = MAX_GUILD_STORAGE; //items max
- WFIFOSET(fd,packet_len_table[0xf2]);
+ fd = sd->fd;
+ WFIFOW (fd, 0) = 0xf2; // update storage amount
+ WFIFOW (fd, 2) = stor->storage_amount; //items
+ WFIFOW (fd, 4) = MAX_GUILD_STORAGE; //items max
+ WFIFOSET (fd, packet_len_table[0xf2]);
- return 0;
+ return 0;
}
/*==========================================
*
*------------------------------------------
*/
-int clif_guildstorageitemadded(struct map_session_data *sd,struct guild_storage *stor,int index,int amount)
-{
- int view,fd,j;
-
- nullpo_retr(0, sd);
- nullpo_retr(0, stor);
-
- fd=sd->fd;
- WFIFOW(fd,0) =0xf4; // Storage item added
- WFIFOW(fd,2) =index+1; // index
- WFIFOL(fd,4) =amount; // amount
- if((view = itemdb_viewid(stor->storage_[index].nameid)) > 0)
- WFIFOW(fd,8) =view;
- else
- WFIFOW(fd,8) =stor->storage_[index].nameid; // id
- WFIFOB(fd,10)=stor->storage_[index].identify; //identify flag
- if(stor->storage_[index].broken==1)
- WFIFOB(fd,11)=1; // is weapon broken [Valaris]
- else
- WFIFOB(fd,11)=stor->storage_[index].attribute; // attribute
- WFIFOB(fd,12)=stor->storage_[index].refine; //refine
- if(stor->storage_[index].card[0]==0x00ff || stor->storage_[index].card[0]==0x00fe || stor->storage_[index].card[0]==(short)0xff00) {
- WFIFOW(fd,13)=stor->storage_[index].card[0]; //card (4w)
- WFIFOW(fd,15)=stor->storage_[index].card[1]; //card (4w)
- WFIFOW(fd,17)=stor->storage_[index].card[2]; //card (4w)
- WFIFOW(fd,19)=stor->storage_[index].card[3]; //card (4w)
- } else {
- if(stor->storage_[index].card[0] > 0 && (j=itemdb_viewid(stor->storage_[index].card[0])) > 0)
- WFIFOW(fd,13)= j;
- else
- WFIFOW(fd,13)= stor->storage_[index].card[0];
- if(stor->storage_[index].card[1] > 0 && (j=itemdb_viewid(stor->storage_[index].card[1])) > 0)
- WFIFOW(fd,15)= j;
- else
- WFIFOW(fd,15)= stor->storage_[index].card[1];
- if(stor->storage_[index].card[2] > 0 && (j=itemdb_viewid(stor->storage_[index].card[2])) > 0)
- WFIFOW(fd,17)= j;
- else
- WFIFOW(fd,17)= stor->storage_[index].card[2];
- if(stor->storage_[index].card[3] > 0 && (j=itemdb_viewid(stor->storage_[index].card[3])) > 0)
- WFIFOW(fd,19)= j;
- else
- WFIFOW(fd,19)= stor->storage_[index].card[3];
- }
- WFIFOSET(fd,packet_len_table[0xf4]);
-
- return 0;
+int clif_guildstorageitemadded (struct map_session_data *sd,
+ struct guild_storage *stor, int index,
+ int amount)
+{
+ int view, fd, j;
+
+ nullpo_retr (0, sd);
+ nullpo_retr (0, stor);
+
+ fd = sd->fd;
+ WFIFOW (fd, 0) = 0xf4; // Storage item added
+ WFIFOW (fd, 2) = index + 1; // index
+ WFIFOL (fd, 4) = amount; // amount
+ if ((view = itemdb_viewid (stor->storage_[index].nameid)) > 0)
+ WFIFOW (fd, 8) = view;
+ else
+ WFIFOW (fd, 8) = stor->storage_[index].nameid; // id
+ WFIFOB (fd, 10) = stor->storage_[index].identify; //identify flag
+ if (stor->storage_[index].broken == 1)
+ WFIFOB (fd, 11) = 1; // is weapon broken [Valaris]
+ else
+ WFIFOB (fd, 11) = stor->storage_[index].attribute; // attribute
+ WFIFOB (fd, 12) = stor->storage_[index].refine; //refine
+ if (stor->storage_[index].card[0] == 0x00ff
+ || stor->storage_[index].card[0] == 0x00fe
+ || stor->storage_[index].card[0] == (short) 0xff00)
+ {
+ WFIFOW (fd, 13) = stor->storage_[index].card[0]; //card (4w)
+ WFIFOW (fd, 15) = stor->storage_[index].card[1]; //card (4w)
+ WFIFOW (fd, 17) = stor->storage_[index].card[2]; //card (4w)
+ WFIFOW (fd, 19) = stor->storage_[index].card[3]; //card (4w)
+ }
+ else
+ {
+ if (stor->storage_[index].card[0] > 0
+ && (j = itemdb_viewid (stor->storage_[index].card[0])) > 0)
+ WFIFOW (fd, 13) = j;
+ else
+ WFIFOW (fd, 13) = stor->storage_[index].card[0];
+ if (stor->storage_[index].card[1] > 0
+ && (j = itemdb_viewid (stor->storage_[index].card[1])) > 0)
+ WFIFOW (fd, 15) = j;
+ else
+ WFIFOW (fd, 15) = stor->storage_[index].card[1];
+ if (stor->storage_[index].card[2] > 0
+ && (j = itemdb_viewid (stor->storage_[index].card[2])) > 0)
+ WFIFOW (fd, 17) = j;
+ else
+ WFIFOW (fd, 17) = stor->storage_[index].card[2];
+ if (stor->storage_[index].card[3] > 0
+ && (j = itemdb_viewid (stor->storage_[index].card[3])) > 0)
+ WFIFOW (fd, 19) = j;
+ else
+ WFIFOW (fd, 19) = stor->storage_[index].card[3];
+ }
+ WFIFOSET (fd, packet_len_table[0xf4]);
+
+ return 0;
}
/*==========================================
* �J�v���q�ɂ����A�C�e�������苎��
*------------------------------------------
*/
-int clif_storageitemremoved(struct map_session_data *sd,int index,int amount)
+int clif_storageitemremoved (struct map_session_data *sd, int index,
+ int amount)
{
- int fd;
+ int fd;
- nullpo_retr(0, sd);
+ nullpo_retr (0, sd);
- fd=sd->fd;
- WFIFOW(fd,0)=0xf6; // Storage item removed
- WFIFOW(fd,2)=index+1;
- WFIFOL(fd,4)=amount;
- WFIFOSET(fd,packet_len_table[0xf6]);
+ fd = sd->fd;
+ WFIFOW (fd, 0) = 0xf6; // Storage item removed
+ WFIFOW (fd, 2) = index + 1;
+ WFIFOL (fd, 4) = amount;
+ WFIFOSET (fd, packet_len_table[0xf6]);
- return 0;
+ return 0;
}
/*==========================================
* �J�v���q�ɂ��‚���
*------------------------------------------
*/
-int clif_storageclose(struct map_session_data *sd)
+int clif_storageclose (struct map_session_data *sd)
{
- int fd;
+ int fd;
- nullpo_retr(0, sd);
+ nullpo_retr (0, sd);
- fd=sd->fd;
- WFIFOW(fd,0)=0xf8; // Storage Closed
- WFIFOSET(fd,packet_len_table[0xf8]);
+ fd = sd->fd;
+ WFIFOW (fd, 0) = 0xf8; // Storage Closed
+ WFIFOSET (fd, packet_len_table[0xf8]);
- return 0;
+ return 0;
}
void
-clif_changelook_accessories(struct block_list *bl, struct map_session_data *dest)
+clif_changelook_accessories (struct block_list *bl,
+ struct map_session_data *dest)
{
- int i;
+ int i;
- for (i = LOOK_SHOES; i <= LOOK_LAST; i++)
- clif_changelook_towards(bl, i, 0, dest);
+ for (i = LOOK_SHOES; i <= LOOK_LAST; i++)
+ clif_changelook_towards (bl, i, 0, dest);
}
-
-
//
// callback�n ?
//
@@ -3243,64 +3585,72 @@ clif_changelook_accessories(struct block_list *bl, struct map_session_data *dest
* PC�\��
*------------------------------------------
*/
-void clif_getareachar_pc(struct map_session_data* sd,struct map_session_data* dstsd)
+void clif_getareachar_pc (struct map_session_data *sd,
+ struct map_session_data *dstsd)
{
- int len;
+ int len;
- if (dstsd->status.option & OPTION_INVISIBILITY)
- return;
+ if (dstsd->status.option & OPTION_INVISIBILITY)
+ return;
- nullpo_retv(sd);
- nullpo_retv(dstsd);
-
- if(dstsd->walktimer != -1){
- len = clif_set007b(dstsd,WFIFOP(sd->fd,0));
- WFIFOSET(sd->fd,len);
- } else {
- len = clif_set0078(dstsd,WFIFOP(sd->fd,0));
- WFIFOSET(sd->fd,len);
- }
+ nullpo_retv (sd);
+ nullpo_retv (dstsd);
- if(dstsd->chatID){
- struct chat_data *cd;
- cd=(struct chat_data*)map_id2bl(dstsd->chatID);
- if(cd->usersd[0]==dstsd)
- clif_dispchat(cd,sd->fd);
- }
- if(dstsd->spiritball > 0) {
- clif_set01e1(dstsd,WFIFOP(sd->fd,0));
- WFIFOSET(sd->fd,packet_len_table[0x1e1]);
- }
- if(battle_config.save_clothcolor==1 && dstsd->status.clothes_color > 0)
- clif_changelook(&dstsd->bl,LOOK_CLOTHES_COLOR,dstsd->status.clothes_color);
+ if (dstsd->walktimer != -1)
+ {
+ len = clif_set007b (dstsd, WFIFOP (sd->fd, 0));
+ WFIFOSET (sd->fd, len);
+ }
+ else
+ {
+ len = clif_set0078 (dstsd, WFIFOP (sd->fd, 0));
+ WFIFOSET (sd->fd, len);
+ }
- if(sd->status.manner < 0)
- clif_changestatus(&sd->bl,SP_MANNER,sd->status.manner);
+ if (dstsd->chatID)
+ {
+ struct chat_data *cd;
+ cd = (struct chat_data *) map_id2bl (dstsd->chatID);
+ if (cd->usersd[0] == dstsd)
+ clif_dispchat (cd, sd->fd);
+ }
+ if (dstsd->spiritball > 0)
+ {
+ clif_set01e1 (dstsd, WFIFOP (sd->fd, 0));
+ WFIFOSET (sd->fd, packet_len_table[0x1e1]);
+ }
+ if (battle_config.save_clothcolor == 1 && dstsd->status.clothes_color > 0)
+ clif_changelook (&dstsd->bl, LOOK_CLOTHES_COLOR,
+ dstsd->status.clothes_color);
- clif_changelook_accessories(&sd->bl, dstsd);
- clif_changelook_accessories(&dstsd->bl, sd);
+ if (sd->status.manner < 0)
+ clif_changestatus (&sd->bl, SP_MANNER, sd->status.manner);
+
+ clif_changelook_accessories (&sd->bl, dstsd);
+ clif_changelook_accessories (&dstsd->bl, sd);
}
/*==========================================
* NPC�\��
*------------------------------------------
*/
-void clif_getareachar_npc(struct map_session_data* sd,struct npc_data* nd)
+void clif_getareachar_npc (struct map_session_data *sd, struct npc_data *nd)
{
- int len;
+ int len;
- nullpo_retv(sd);
- nullpo_retv(nd);
+ nullpo_retv (sd);
+ nullpo_retv (nd);
- if(nd->class < 0 || nd->flag&1 || nd->class == INVISIBLE_CLASS)
- return;
+ if (nd->class < 0 || nd->flag & 1 || nd->class == INVISIBLE_CLASS)
+ return;
- len = clif_npc0078(nd,WFIFOP(sd->fd,0));
- WFIFOSET(sd->fd,len);
+ len = clif_npc0078 (nd, WFIFOP (sd->fd, 0));
+ WFIFOSET (sd->fd, len);
- if(nd->chat_id){
- clif_dispchat((struct chat_data*)map_id2bl(nd->chat_id),sd->fd);
- }
+ if (nd->chat_id)
+ {
+ clif_dispchat ((struct chat_data *) map_id2bl (nd->chat_id), sd->fd);
+ }
}
@@ -3308,1204 +3658,1287 @@ void clif_getareachar_npc(struct map_session_data* sd,struct npc_data* nd)
* �ړ����~
*------------------------------------------
*/
-int clif_movemob(struct mob_data *md)
+int clif_movemob (struct mob_data *md)
{
- unsigned char buf[256];
- int len;
+ unsigned char buf[256];
+ int len;
- nullpo_retr(0, md);
+ nullpo_retr (0, md);
- len = clif_mob007b(md,buf);
- clif_send(buf,len,&md->bl,AREA);
+ len = clif_mob007b (md, buf);
+ clif_send (buf, len, &md->bl, AREA);
- if(mob_get_equip(md->class) > 0) // mob equipment [Valaris]
- clif_mob_equip(md,mob_get_equip(md->class));
+ if (mob_get_equip (md->class) > 0) // mob equipment [Valaris]
+ clif_mob_equip (md, mob_get_equip (md->class));
- return 0;
+ return 0;
}
/*==========================================
* �����X�^�[�̈ʒu�C��
*------------------------------------------
*/
-int clif_fixmobpos(struct mob_data *md)
+int clif_fixmobpos (struct mob_data *md)
{
- unsigned char buf[256];
- int len;
+ unsigned char buf[256];
+ int len;
- nullpo_retr(0, md);
+ nullpo_retr (0, md);
- if(md->state.state == MS_WALK){
- len = clif_mob007b(md,buf);
- clif_send(buf,len,&md->bl,AREA);
- } else {
- len = clif_mob0078(md,buf);
- clif_send(buf,len,&md->bl,AREA);
- }
+ if (md->state.state == MS_WALK)
+ {
+ len = clif_mob007b (md, buf);
+ clif_send (buf, len, &md->bl, AREA);
+ }
+ else
+ {
+ len = clif_mob0078 (md, buf);
+ clif_send (buf, len, &md->bl, AREA);
+ }
- return 0;
+ return 0;
}
/*==========================================
* PC�̈ʒu�C��
*------------------------------------------
*/
-int clif_fixpcpos(struct map_session_data *sd)
+int clif_fixpcpos (struct map_session_data *sd)
{
- unsigned char buf[256];
- int len;
+ unsigned char buf[256];
+ int len;
- nullpo_retr(0, sd);
+ nullpo_retr (0, sd);
- if(sd->walktimer != -1){
- len = clif_set007b(sd,buf);
- clif_send(buf,len,&sd->bl,AREA);
- } else {
- len = clif_set0078(sd,buf);
- clif_send(buf,len,&sd->bl,AREA);
- }
- clif_changelook_accessories(&sd->bl, NULL);
+ if (sd->walktimer != -1)
+ {
+ len = clif_set007b (sd, buf);
+ clif_send (buf, len, &sd->bl, AREA);
+ }
+ else
+ {
+ len = clif_set0078 (sd, buf);
+ clif_send (buf, len, &sd->bl, AREA);
+ }
+ clif_changelook_accessories (&sd->bl, NULL);
- return 0;
+ return 0;
}
/*==========================================
* �ʏ��U���G�t�F�N�g���_���[�W
*------------------------------------------
*/
-int clif_damage(struct block_list *src,struct block_list *dst,unsigned int tick,int sdelay,int ddelay,int damage,int div,int type,int damage2)
-{
- unsigned char buf[256];
- struct status_change *sc_data;
-
- nullpo_retr(0, src);
- nullpo_retr(0, dst);
-
- sc_data = battle_get_sc_data(dst);
-
- if(type != 4 && dst->type == BL_PC && ((struct map_session_data *)dst)->special_state.infinite_endure)
- type = 9;
- if(sc_data) {
- if(type != 4 && sc_data[SC_ENDURE].timer != -1)
- type = 9;
- if(sc_data[SC_HALLUCINATION].timer != -1) {
- if(damage > 0)
- damage = damage*(5+sc_data[SC_HALLUCINATION].val1) + MRAND(100);
- if(damage2 > 0)
- damage2 = damage2*(5+sc_data[SC_HALLUCINATION].val1) + MRAND(100);
- }
- }
+int clif_damage (struct block_list *src, struct block_list *dst,
+ unsigned int tick, int sdelay, int ddelay, int damage,
+ int div, int type, int damage2)
+{
+ unsigned char buf[256];
+ struct status_change *sc_data;
+
+ nullpo_retr (0, src);
+ nullpo_retr (0, dst);
+
+ sc_data = battle_get_sc_data (dst);
+
+ if (type != 4 && dst->type == BL_PC
+ && ((struct map_session_data *) dst)->special_state.infinite_endure)
+ type = 9;
+ if (sc_data)
+ {
+ if (type != 4 && sc_data[SC_ENDURE].timer != -1)
+ type = 9;
+ if (sc_data[SC_HALLUCINATION].timer != -1)
+ {
+ if (damage > 0)
+ damage =
+ damage * (5 + sc_data[SC_HALLUCINATION].val1) +
+ MRAND (100);
+ if (damage2 > 0)
+ damage2 =
+ damage2 * (5 + sc_data[SC_HALLUCINATION].val1) +
+ MRAND (100);
+ }
+ }
- WBUFW(buf,0)=0x8a;
- WBUFL(buf,2)=src->id;
- WBUFL(buf,6)=dst->id;
- WBUFL(buf,10)=tick;
- WBUFL(buf,14)=sdelay;
- WBUFL(buf,18)=ddelay;
- WBUFW(buf,22)=(damage > 0x7fff)? 0x7fff:damage;
- WBUFW(buf,24)=div;
- WBUFB(buf,26)=type;
- WBUFW(buf,27)=damage2;
- clif_send(buf,packet_len_table[0x8a],src,AREA);
+ WBUFW (buf, 0) = 0x8a;
+ WBUFL (buf, 2) = src->id;
+ WBUFL (buf, 6) = dst->id;
+ WBUFL (buf, 10) = tick;
+ WBUFL (buf, 14) = sdelay;
+ WBUFL (buf, 18) = ddelay;
+ WBUFW (buf, 22) = (damage > 0x7fff) ? 0x7fff : damage;
+ WBUFW (buf, 24) = div;
+ WBUFB (buf, 26) = type;
+ WBUFW (buf, 27) = damage2;
+ clif_send (buf, packet_len_table[0x8a], src, AREA);
- return 0;
+ return 0;
}
/*==========================================
*
*------------------------------------------
*/
-void clif_getareachar_mob(struct map_session_data* sd,struct mob_data* md)
+void clif_getareachar_mob (struct map_session_data *sd, struct mob_data *md)
{
- int len;
- nullpo_retv(sd);
- nullpo_retv(md);
-
- if(md->state.state == MS_WALK){
- len = clif_mob007b(md,WFIFOP(sd->fd,0));
- WFIFOSET(sd->fd,len);
- } else {
- len = clif_mob0078(md,WFIFOP(sd->fd,0));
- WFIFOSET(sd->fd,len);
- }
+ int len;
+ nullpo_retv (sd);
+ nullpo_retv (md);
- if(mob_get_equip(md->class) > 0) // mob equipment [Valaris]
- clif_mob_equip(md,mob_get_equip(md->class));
+ if (md->state.state == MS_WALK)
+ {
+ len = clif_mob007b (md, WFIFOP (sd->fd, 0));
+ WFIFOSET (sd->fd, len);
+ }
+ else
+ {
+ len = clif_mob0078 (md, WFIFOP (sd->fd, 0));
+ WFIFOSET (sd->fd, len);
+ }
+
+ if (mob_get_equip (md->class) > 0) // mob equipment [Valaris]
+ clif_mob_equip (md, mob_get_equip (md->class));
}
/*==========================================
*
*------------------------------------------
*/
-void clif_getareachar_item(struct map_session_data* sd,struct flooritem_data* fitem)
+void clif_getareachar_item (struct map_session_data *sd,
+ struct flooritem_data *fitem)
{
- int view,fd;
+ int view, fd;
- nullpo_retv(sd);
- nullpo_retv(fitem);
-
- fd=sd->fd;
- //009d <ID>.l <item ID>.w <identify flag>.B <X>.w <Y>.w <amount>.w <subX>.B <subY>.B
- WFIFOW(fd,0)=0x9d;
- WFIFOL(fd,2)=fitem->bl.id;
- if((view = itemdb_viewid(fitem->item_data.nameid)) > 0)
- WFIFOW(fd,6)=view;
- else
- WFIFOW(fd,6)=fitem->item_data.nameid;
- WFIFOB(fd,8)=fitem->item_data.identify;
- WFIFOW(fd,9)=fitem->bl.x;
- WFIFOW(fd,11)=fitem->bl.y;
- WFIFOW(fd,13)=fitem->item_data.amount;
- WFIFOB(fd,15)=fitem->subx;
- WFIFOB(fd,16)=fitem->suby;
-
- WFIFOSET(fd,packet_len_table[0x9d]);
+ nullpo_retv (sd);
+ nullpo_retv (fitem);
+
+ fd = sd->fd;
+ //009d <ID>.l <item ID>.w <identify flag>.B <X>.w <Y>.w <amount>.w <subX>.B <subY>.B
+ WFIFOW (fd, 0) = 0x9d;
+ WFIFOL (fd, 2) = fitem->bl.id;
+ if ((view = itemdb_viewid (fitem->item_data.nameid)) > 0)
+ WFIFOW (fd, 6) = view;
+ else
+ WFIFOW (fd, 6) = fitem->item_data.nameid;
+ WFIFOB (fd, 8) = fitem->item_data.identify;
+ WFIFOW (fd, 9) = fitem->bl.x;
+ WFIFOW (fd, 11) = fitem->bl.y;
+ WFIFOW (fd, 13) = fitem->item_data.amount;
+ WFIFOB (fd, 15) = fitem->subx;
+ WFIFOB (fd, 16) = fitem->suby;
+
+ WFIFOSET (fd, packet_len_table[0x9d]);
}
+
/*==========================================
* �ꏊ�X�L���G�t�F�N�g�����E�ɓ���
*------------------------------------------
*/
-int clif_getareachar_skillunit(struct map_session_data *sd,struct skill_unit *unit)
-{
- int fd;
- struct block_list *bl;
-
- nullpo_retr(0, unit);
-
- fd=sd->fd;
- bl=map_id2bl(unit->group->src_id);
- memset(WFIFOP(fd,0),0,packet_len_table[0x1c9]);
- WFIFOW(fd, 0)=0x1c9;
- WFIFOL(fd, 2)=unit->bl.id;
- WFIFOL(fd, 6)=unit->group->src_id;
- WFIFOW(fd,10)=unit->bl.x;
- WFIFOW(fd,12)=unit->bl.y;
- WFIFOB(fd,14)=unit->group->unit_id;
- WFIFOB(fd,15)=1;
- WFIFOL(fd,15+1)=0; //1-4���ׂ�����Œ�
- WFIFOL(fd,15+5)=0; //5-8���ׂ�����Œ�
- //9-12�}�b�v���Ƃň�����77-80�Ƃ͂܂��Ⴄ4�o�C�g�̂��Ȃ��傫�Ȑ���
- WFIFOL(fd,15+13)=unit->bl.y - 0x12; //13-16���j�b�g��Y��W-18��ۂ�(Y:17��FF FF FF FF)
- WFIFOL(fd,15+17)=0x004f37dd; //17-20���ׂ�����Œ�
- WFIFOL(fd,15+21)=0x0012f674; //21-24���ׂ�����Œ�
- WFIFOL(fd,15+25)=0x0012f664; //25-28���ׂ�����Œ�
- WFIFOL(fd,15+29)=0x0012f654; //29-32���ׂ�����Œ�
- WFIFOL(fd,15+33)=0x77527bbc; //33-36���ׂ�����Œ�
- //37-39
- WFIFOB(fd,15+40)=0x2d; //40���ׂ�����Œ�
- WFIFOL(fd,15+41)=0; //41-44���ׂ����0�Œ�
- WFIFOL(fd,15+45)=0; //45-48���ׂ����0�Œ�
- WFIFOL(fd,15+49)=0; //49-52���ׂ����0�Œ�
- WFIFOL(fd,15+53)=0x0048d919; //53-56���ׂ�����Œ�
- WFIFOL(fd,15+57)=0x0000003e; //57-60���ׂ�����Œ�
- WFIFOL(fd,15+61)=0x0012f66c; //61-64���ׂ�����Œ�
- //65-68
- //69-72
- if(bl) WFIFOL(fd,15+73)=bl->y; //73-76�p�҂�Y��W
- WFIFOL(fd,15+77)=unit->bl.m; //77-80�}�b�vID���Ȃ��H���Ȃ�2�o�C�g�ő��肻���Ȑ���
- WFIFOB(fd,15+81)=0xaa; //81�I�[����0xaa
-
- /* Graffiti [Valaris] */
- if(unit->group->unit_id==0xb0) {
- WFIFOL(fd,15)=1;
- WFIFOL(fd,16)=1;
- memcpy(WFIFOP(fd,17),unit->group->valstr,80);
- }
-
- WFIFOSET(fd,packet_len_table[0x1c9]);
- if(unit->group->skill_id == WZ_ICEWALL)
- clif_set0192(fd,unit->bl.m,unit->bl.x,unit->bl.y,5);
-
- return 0;
+int clif_getareachar_skillunit (struct map_session_data *sd,
+ struct skill_unit *unit)
+{
+ int fd;
+ struct block_list *bl;
+
+ nullpo_retr (0, unit);
+
+ fd = sd->fd;
+ bl = map_id2bl (unit->group->src_id);
+ memset (WFIFOP (fd, 0), 0, packet_len_table[0x1c9]);
+ WFIFOW (fd, 0) = 0x1c9;
+ WFIFOL (fd, 2) = unit->bl.id;
+ WFIFOL (fd, 6) = unit->group->src_id;
+ WFIFOW (fd, 10) = unit->bl.x;
+ WFIFOW (fd, 12) = unit->bl.y;
+ WFIFOB (fd, 14) = unit->group->unit_id;
+ WFIFOB (fd, 15) = 1;
+ WFIFOL (fd, 15 + 1) = 0; //1-4���ׂ�����Œ�
+ WFIFOL (fd, 15 + 5) = 0; //5-8���ׂ�����Œ�
+ //9-12�}�b�v���Ƃň�����77-80�Ƃ͂܂��Ⴄ4�o�C�g�̂��Ȃ��傫�Ȑ���
+ WFIFOL (fd, 15 + 13) = unit->bl.y - 0x12; //13-16���j�b�g��Y��W-18��ۂ�(Y:17��FF FF FF FF)
+ WFIFOL (fd, 15 + 17) = 0x004f37dd; //17-20���ׂ�����Œ�
+ WFIFOL (fd, 15 + 21) = 0x0012f674; //21-24���ׂ�����Œ�
+ WFIFOL (fd, 15 + 25) = 0x0012f664; //25-28���ׂ�����Œ�
+ WFIFOL (fd, 15 + 29) = 0x0012f654; //29-32���ׂ�����Œ�
+ WFIFOL (fd, 15 + 33) = 0x77527bbc; //33-36���ׂ�����Œ�
+ //37-39
+ WFIFOB (fd, 15 + 40) = 0x2d; //40���ׂ�����Œ�
+ WFIFOL (fd, 15 + 41) = 0; //41-44���ׂ����0�Œ�
+ WFIFOL (fd, 15 + 45) = 0; //45-48���ׂ����0�Œ�
+ WFIFOL (fd, 15 + 49) = 0; //49-52���ׂ����0�Œ�
+ WFIFOL (fd, 15 + 53) = 0x0048d919; //53-56���ׂ�����Œ�
+ WFIFOL (fd, 15 + 57) = 0x0000003e; //57-60���ׂ�����Œ�
+ WFIFOL (fd, 15 + 61) = 0x0012f66c; //61-64���ׂ�����Œ�
+ //65-68
+ //69-72
+ if (bl)
+ WFIFOL (fd, 15 + 73) = bl->y; //73-76�p�҂�Y��W
+ WFIFOL (fd, 15 + 77) = unit->bl.m; //77-80�}�b�vID���Ȃ��H���Ȃ�2�o�C�g�ő��肻���Ȑ���
+ WFIFOB (fd, 15 + 81) = 0xaa; //81�I�[����0xaa
+
+ /* Graffiti [Valaris] */
+ if (unit->group->unit_id == 0xb0)
+ {
+ WFIFOL (fd, 15) = 1;
+ WFIFOL (fd, 16) = 1;
+ memcpy (WFIFOP (fd, 17), unit->group->valstr, 80);
+ }
+
+ WFIFOSET (fd, packet_len_table[0x1c9]);
+ if (unit->group->skill_id == WZ_ICEWALL)
+ clif_set0192 (fd, unit->bl.m, unit->bl.x, unit->bl.y, 5);
+
+ return 0;
}
+
/*==========================================
* �ꏊ�X�L���G�t�F�N�g�����E���������
*------------------------------------------
*/
-int clif_clearchar_skillunit(struct skill_unit *unit,int fd)
+int clif_clearchar_skillunit (struct skill_unit *unit, int fd)
{
- nullpo_retr(0, unit);
+ nullpo_retr (0, unit);
- WFIFOW(fd, 0)=0x120;
- WFIFOL(fd, 2)=unit->bl.id;
- WFIFOSET(fd,packet_len_table[0x120]);
- if(unit->group->skill_id == WZ_ICEWALL)
- clif_set0192(fd,unit->bl.m,unit->bl.x,unit->bl.y,unit->val2);
+ WFIFOW (fd, 0) = 0x120;
+ WFIFOL (fd, 2) = unit->bl.id;
+ WFIFOSET (fd, packet_len_table[0x120]);
+ if (unit->group->skill_id == WZ_ICEWALL)
+ clif_set0192 (fd, unit->bl.m, unit->bl.x, unit->bl.y, unit->val2);
- return 0;
+ return 0;
}
/*==========================================
*
*------------------------------------------
*/
-int clif_01ac(struct block_list *bl)
+int clif_01ac (struct block_list *bl)
{
- char buf[32];
+ char buf[32];
- nullpo_retr(0, bl);
+ nullpo_retr (0, bl);
- WBUFW(buf, 0) = 0x1ac;
- WBUFL(buf, 2) = bl->id;
+ WBUFW (buf, 0) = 0x1ac;
+ WBUFL (buf, 2) = bl->id;
- clif_send(buf,packet_len_table[0x1ac],bl,AREA);
- return 0;
+ clif_send (buf, packet_len_table[0x1ac], bl, AREA);
+ return 0;
}
/*==========================================
*
*------------------------------------------
*/
- int clif_getareachar(struct block_list* bl,va_list ap)
-{
- struct map_session_data *sd;
-
- nullpo_retr(0, bl);
- nullpo_retr(0, ap);
-
- sd=va_arg(ap,struct map_session_data*);
-
- switch(bl->type){
- case BL_PC:
- if(sd==(struct map_session_data*)bl)
- break;
- clif_getareachar_pc(sd,(struct map_session_data*) bl);
- break;
- case BL_NPC:
- clif_getareachar_npc(sd,(struct npc_data*) bl);
- break;
- case BL_MOB:
- clif_getareachar_mob(sd,(struct mob_data*) bl);
- break;
- case BL_ITEM:
- clif_getareachar_item(sd,(struct flooritem_data*) bl);
- break;
- case BL_SKILL:
- clif_getareachar_skillunit(sd,(struct skill_unit *)bl);
- break;
- default:
- if(battle_config.error_log)
- printf("get area char ??? %d\n",bl->type);
- break;
- }
- return 0;
+int clif_getareachar (struct block_list *bl, va_list ap)
+{
+ struct map_session_data *sd;
+
+ nullpo_retr (0, bl);
+ nullpo_retr (0, ap);
+
+ sd = va_arg (ap, struct map_session_data *);
+
+ switch (bl->type)
+ {
+ case BL_PC:
+ if (sd == (struct map_session_data *) bl)
+ break;
+ clif_getareachar_pc (sd, (struct map_session_data *) bl);
+ break;
+ case BL_NPC:
+ clif_getareachar_npc (sd, (struct npc_data *) bl);
+ break;
+ case BL_MOB:
+ clif_getareachar_mob (sd, (struct mob_data *) bl);
+ break;
+ case BL_ITEM:
+ clif_getareachar_item (sd, (struct flooritem_data *) bl);
+ break;
+ case BL_SKILL:
+ clif_getareachar_skillunit (sd, (struct skill_unit *) bl);
+ break;
+ default:
+ if (battle_config.error_log)
+ printf ("get area char ??? %d\n", bl->type);
+ break;
+ }
+ return 0;
}
/*==========================================
*
*------------------------------------------
*/
-int clif_pcoutsight(struct block_list *bl,va_list ap)
+int clif_pcoutsight (struct block_list *bl, va_list ap)
{
- struct map_session_data *sd,*dstsd;
+ struct map_session_data *sd, *dstsd;
- nullpo_retr(0, bl);
- nullpo_retr(0, ap);
- nullpo_retr(0, sd=va_arg(ap,struct map_session_data*));
+ nullpo_retr (0, bl);
+ nullpo_retr (0, ap);
+ nullpo_retr (0, sd = va_arg (ap, struct map_session_data *));
- switch(bl->type){
- case BL_PC:
- dstsd = (struct map_session_data*) bl;
- if(sd != dstsd) {
- clif_clearchar_id(dstsd->bl.id,0,sd->fd);
- clif_clearchar_id(sd->bl.id,0,dstsd->fd);
- if(dstsd->chatID){
- struct chat_data *cd;
- cd=(struct chat_data*)map_id2bl(dstsd->chatID);
- if(cd->usersd[0]==dstsd)
- clif_dispchat(cd,sd->fd);
- }
- }
- break;
- case BL_NPC:
- if( ((struct npc_data *)bl)->class != INVISIBLE_CLASS )
- clif_clearchar_id(bl->id,0,sd->fd);
- break;
- case BL_MOB:
- clif_clearchar_id(bl->id,0,sd->fd);
- break;
- case BL_ITEM:
- clif_clearflooritem((struct flooritem_data*)bl,sd->fd);
- break;
- case BL_SKILL:
- clif_clearchar_skillunit((struct skill_unit *)bl,sd->fd);
- break;
- }
- return 0;
+ switch (bl->type)
+ {
+ case BL_PC:
+ dstsd = (struct map_session_data *) bl;
+ if (sd != dstsd)
+ {
+ clif_clearchar_id (dstsd->bl.id, 0, sd->fd);
+ clif_clearchar_id (sd->bl.id, 0, dstsd->fd);
+ if (dstsd->chatID)
+ {
+ struct chat_data *cd;
+ cd = (struct chat_data *) map_id2bl (dstsd->chatID);
+ if (cd->usersd[0] == dstsd)
+ clif_dispchat (cd, sd->fd);
+ }
+ }
+ break;
+ case BL_NPC:
+ if (((struct npc_data *) bl)->class != INVISIBLE_CLASS)
+ clif_clearchar_id (bl->id, 0, sd->fd);
+ break;
+ case BL_MOB:
+ clif_clearchar_id (bl->id, 0, sd->fd);
+ break;
+ case BL_ITEM:
+ clif_clearflooritem ((struct flooritem_data *) bl, sd->fd);
+ break;
+ case BL_SKILL:
+ clif_clearchar_skillunit ((struct skill_unit *) bl, sd->fd);
+ break;
+ }
+ return 0;
}
/*==========================================
*
*------------------------------------------
*/
-int clif_pcinsight(struct block_list *bl,va_list ap)
+int clif_pcinsight (struct block_list *bl, va_list ap)
{
- struct map_session_data *sd,*dstsd;
+ struct map_session_data *sd, *dstsd;
- nullpo_retr(0, bl);
- nullpo_retr(0, ap);
- nullpo_retr(0, sd=va_arg(ap,struct map_session_data*));
+ nullpo_retr (0, bl);
+ nullpo_retr (0, ap);
+ nullpo_retr (0, sd = va_arg (ap, struct map_session_data *));
- switch(bl->type){
- case BL_PC:
- dstsd = (struct map_session_data *)bl;
- if(sd != dstsd) {
- clif_getareachar_pc(sd,dstsd);
- clif_getareachar_pc(dstsd,sd);
- }
- break;
- case BL_NPC:
- clif_getareachar_npc(sd,(struct npc_data*)bl);
- break;
- case BL_MOB:
- clif_getareachar_mob(sd,(struct mob_data*)bl);
- break;
- case BL_ITEM:
- clif_getareachar_item(sd,(struct flooritem_data*)bl);
- break;
- case BL_SKILL:
- clif_getareachar_skillunit(sd,(struct skill_unit *)bl);
- break;
- }
+ switch (bl->type)
+ {
+ case BL_PC:
+ dstsd = (struct map_session_data *) bl;
+ if (sd != dstsd)
+ {
+ clif_getareachar_pc (sd, dstsd);
+ clif_getareachar_pc (dstsd, sd);
+ }
+ break;
+ case BL_NPC:
+ clif_getareachar_npc (sd, (struct npc_data *) bl);
+ break;
+ case BL_MOB:
+ clif_getareachar_mob (sd, (struct mob_data *) bl);
+ break;
+ case BL_ITEM:
+ clif_getareachar_item (sd, (struct flooritem_data *) bl);
+ break;
+ case BL_SKILL:
+ clif_getareachar_skillunit (sd, (struct skill_unit *) bl);
+ break;
+ }
- return 0;
+ return 0;
}
/*==========================================
*
*------------------------------------------
*/
-int clif_moboutsight(struct block_list *bl,va_list ap)
+int clif_moboutsight (struct block_list *bl, va_list ap)
{
- struct map_session_data *sd;
- struct mob_data *md;
+ struct map_session_data *sd;
+ struct mob_data *md;
- nullpo_retr(0, bl);
- nullpo_retr(0, ap);
- nullpo_retr(0, md=va_arg(ap,struct mob_data*));
+ nullpo_retr (0, bl);
+ nullpo_retr (0, ap);
+ nullpo_retr (0, md = va_arg (ap, struct mob_data *));
- if(bl->type==BL_PC && (sd = (struct map_session_data*) bl)){
- clif_clearchar_id(md->bl.id,0,sd->fd);
- }
+ if (bl->type == BL_PC && (sd = (struct map_session_data *) bl))
+ {
+ clif_clearchar_id (md->bl.id, 0, sd->fd);
+ }
- return 0;
+ return 0;
}
/*==========================================
*
*------------------------------------------
*/
-int clif_mobinsight(struct block_list *bl,va_list ap)
+int clif_mobinsight (struct block_list *bl, va_list ap)
{
- struct map_session_data *sd;
- struct mob_data *md;
+ struct map_session_data *sd;
+ struct mob_data *md;
- nullpo_retr(0, bl);
- nullpo_retr(0, ap);
+ nullpo_retr (0, bl);
+ nullpo_retr (0, ap);
- md=va_arg(ap,struct mob_data*);
- if(bl->type==BL_PC && (sd = (struct map_session_data *)bl)){
- clif_getareachar_mob(sd,md);
- }
+ md = va_arg (ap, struct mob_data *);
+ if (bl->type == BL_PC && (sd = (struct map_session_data *) bl))
+ {
+ clif_getareachar_mob (sd, md);
+ }
- return 0;
+ return 0;
}
/*==========================================
*
*------------------------------------------
*/
-int clif_skillinfo(struct map_session_data *sd,int skillid,int type,int range)
-{
- int fd,id;
-
- nullpo_retr(0, sd);
-
- fd=sd->fd;
- if( (id=sd->status.skill[skillid].id) <= 0 )
- return 0;
- WFIFOW(fd,0)=0x147;
- WFIFOW(fd,2) = id;
- if(type < 0)
- WFIFOW(fd,4) = skill_get_inf(id);
- else
- WFIFOW(fd,4) = type;
- WFIFOW(fd,6) = 0;
- WFIFOW(fd,8) = sd->status.skill[skillid].lv;
- WFIFOW(fd,10) = skill_get_sp(id,sd->status.skill[skillid].lv);
- if(range < 0) {
- range = skill_get_range(id,sd->status.skill[skillid].lv);
- if(range < 0)
- range = battle_get_range(&sd->bl) - (range + 1);
- WFIFOW(fd,12)= range;
- } else
- WFIFOW(fd,12)= range;
- memset(WFIFOP(fd,14),0,24);
- WFIFOB(fd,38)= (sd->status.skill[skillid].lv < skill_get_max_raise(id))? 1:0;
- WFIFOSET(fd,packet_len_table[0x147]);
+int clif_skillinfo (struct map_session_data *sd, int skillid, int type,
+ int range)
+{
+ int fd, id;
- return 0;
+ nullpo_retr (0, sd);
+
+ fd = sd->fd;
+ if ((id = sd->status.skill[skillid].id) <= 0)
+ return 0;
+ WFIFOW (fd, 0) = 0x147;
+ WFIFOW (fd, 2) = id;
+ if (type < 0)
+ WFIFOW (fd, 4) = skill_get_inf (id);
+ else
+ WFIFOW (fd, 4) = type;
+ WFIFOW (fd, 6) = 0;
+ WFIFOW (fd, 8) = sd->status.skill[skillid].lv;
+ WFIFOW (fd, 10) = skill_get_sp (id, sd->status.skill[skillid].lv);
+ if (range < 0)
+ {
+ range = skill_get_range (id, sd->status.skill[skillid].lv);
+ if (range < 0)
+ range = battle_get_range (&sd->bl) - (range + 1);
+ WFIFOW (fd, 12) = range;
+ }
+ else
+ WFIFOW (fd, 12) = range;
+ memset (WFIFOP (fd, 14), 0, 24);
+ WFIFOB (fd, 38) =
+ (sd->status.skill[skillid].lv < skill_get_max_raise (id)) ? 1 : 0;
+ WFIFOSET (fd, packet_len_table[0x147]);
+
+ return 0;
}
/*==========================================
* �X�L�����X�g�𑗐M����
*------------------------------------------
*/
-int clif_skillinfoblock(struct map_session_data *sd)
-{
- int fd;
- int i,c,len=4,id,range;
-
- nullpo_retr(0, sd);
-
- fd=sd->fd;
- WFIFOW(fd,0)=0x10f;
- for ( i = c = 0; i < MAX_SKILL; i++){
- if( (id=sd->status.skill[i].id)!=0
- && (sd->tmw_version >= 1)){ // [Fate] Version 1 and later don't crash because of bad skill IDs anymore
- WFIFOW(fd,len ) = id;
- WFIFOW(fd,len+2) = skill_get_inf(id);
- WFIFOW(fd,len+4) = skill_db[i].poolflags | (sd->status.skill[i].flags & (SKILL_POOL_ACTIVATED));
- WFIFOW(fd,len+6) = sd->status.skill[i].lv;
- WFIFOW(fd,len+8) = skill_get_sp(id,sd->status.skill[i].lv);
- range = skill_get_range(id,sd->status.skill[i].lv);
- if(range < 0)
- range = battle_get_range(&sd->bl) - (range + 1);
- WFIFOW(fd,len+10)= range;
- memset(WFIFOP(fd,len+12),0,24);
- WFIFOB(fd,len+36)= (sd->status.skill[i].lv < skill_get_max_raise(id))? 1:0;
- len+=37;
- c++;
- }
- }
- WFIFOW(fd,2)=len;
- WFIFOSET(fd,len);
+int clif_skillinfoblock (struct map_session_data *sd)
+{
+ int fd;
+ int i, c, len = 4, id, range;
+
+ nullpo_retr (0, sd);
+
+ fd = sd->fd;
+ WFIFOW (fd, 0) = 0x10f;
+ for (i = c = 0; i < MAX_SKILL; i++)
+ {
+ if ((id = sd->status.skill[i].id) != 0 && (sd->tmw_version >= 1))
+ { // [Fate] Version 1 and later don't crash because of bad skill IDs anymore
+ WFIFOW (fd, len) = id;
+ WFIFOW (fd, len + 2) = skill_get_inf (id);
+ WFIFOW (fd, len + 4) =
+ skill_db[i].poolflags | (sd->status.
+ skill[i].flags &
+ (SKILL_POOL_ACTIVATED));
+ WFIFOW (fd, len + 6) = sd->status.skill[i].lv;
+ WFIFOW (fd, len + 8) = skill_get_sp (id, sd->status.skill[i].lv);
+ range = skill_get_range (id, sd->status.skill[i].lv);
+ if (range < 0)
+ range = battle_get_range (&sd->bl) - (range + 1);
+ WFIFOW (fd, len + 10) = range;
+ memset (WFIFOP (fd, len + 12), 0, 24);
+ WFIFOB (fd, len + 36) =
+ (sd->status.skill[i].lv < skill_get_max_raise (id)) ? 1 : 0;
+ len += 37;
+ c++;
+ }
+ }
+ WFIFOW (fd, 2) = len;
+ WFIFOSET (fd, len);
- return 0;
+ return 0;
}
/*==========================================
* �X�L�������U���ʒm
*------------------------------------------
*/
-int clif_skillup(struct map_session_data *sd,int skill_num)
+int clif_skillup (struct map_session_data *sd, int skill_num)
{
- int range,fd;
+ int range, fd;
- nullpo_retr(0, sd);
+ nullpo_retr (0, sd);
- fd=sd->fd;
- WFIFOW(fd,0) = 0x10e;
- WFIFOW(fd,2) = skill_num;
- WFIFOW(fd,4) = sd->status.skill[skill_num].lv;
- WFIFOW(fd,6) = skill_get_sp(skill_num,sd->status.skill[skill_num].lv);
- range = skill_get_range(skill_num,sd->status.skill[skill_num].lv);
- if(range < 0)
- range = battle_get_range(&sd->bl) - (range + 1);
- WFIFOW(fd,8) = range;
- WFIFOB(fd,10) = (sd->status.skill[skill_num].lv < skill_get_max_raise(sd->status.skill[skill_num].id)) ? 1 : 0;
- WFIFOSET(fd,packet_len_table[0x10e]);
+ fd = sd->fd;
+ WFIFOW (fd, 0) = 0x10e;
+ WFIFOW (fd, 2) = skill_num;
+ WFIFOW (fd, 4) = sd->status.skill[skill_num].lv;
+ WFIFOW (fd, 6) = skill_get_sp (skill_num, sd->status.skill[skill_num].lv);
+ range = skill_get_range (skill_num, sd->status.skill[skill_num].lv);
+ if (range < 0)
+ range = battle_get_range (&sd->bl) - (range + 1);
+ WFIFOW (fd, 8) = range;
+ WFIFOB (fd, 10) =
+ (sd->status.skill[skill_num].lv <
+ skill_get_max_raise (sd->status.skill[skill_num].id)) ? 1 : 0;
+ WFIFOSET (fd, packet_len_table[0x10e]);
- return 0;
+ return 0;
}
/*==========================================
* �X�L���r���G�t�F�N�g�𑗐M����
*------------------------------------------
*/
-int clif_skillcasting(struct block_list* bl,
- int src_id,int dst_id,int dst_x,int dst_y,int skill_num,int casttime)
+int clif_skillcasting (struct block_list *bl,
+ int src_id, int dst_id, int dst_x, int dst_y,
+ int skill_num, int casttime)
{
- unsigned char buf[32];
- WBUFW(buf,0) = 0x13e;
- WBUFL(buf,2) = src_id;
- WBUFL(buf,6) = dst_id;
- WBUFW(buf,10) = dst_x;
- WBUFW(buf,12) = dst_y;
- WBUFW(buf,14) = skill_num;//���@�r���X�L��
- WBUFL(buf,16) = skill_get_pl(skill_num);//����
- WBUFL(buf,20) = casttime;//skill�r������
- clif_send(buf,packet_len_table[0x13e], bl, AREA);
+ unsigned char buf[32];
+ WBUFW (buf, 0) = 0x13e;
+ WBUFL (buf, 2) = src_id;
+ WBUFL (buf, 6) = dst_id;
+ WBUFW (buf, 10) = dst_x;
+ WBUFW (buf, 12) = dst_y;
+ WBUFW (buf, 14) = skill_num; //���@�r���X�L��
+ WBUFL (buf, 16) = skill_get_pl (skill_num); //����
+ WBUFL (buf, 20) = casttime; //skill�r������
+ clif_send (buf, packet_len_table[0x13e], bl, AREA);
- return 0;
+ return 0;
}
/*==========================================
*
*------------------------------------------
*/
-int clif_skillcastcancel(struct block_list* bl)
+int clif_skillcastcancel (struct block_list *bl)
{
- unsigned char buf[16];
+ unsigned char buf[16];
- nullpo_retr(0, bl);
+ nullpo_retr (0, bl);
- WBUFW(buf,0) = 0x1b9;
- WBUFL(buf,2) = bl->id;
- clif_send(buf,packet_len_table[0x1b9], bl, AREA);
+ WBUFW (buf, 0) = 0x1b9;
+ WBUFL (buf, 2) = bl->id;
+ clif_send (buf, packet_len_table[0x1b9], bl, AREA);
- return 0;
+ return 0;
}
/*==========================================
* �X�L���r�����s
*------------------------------------------
*/
-int clif_skill_fail(struct map_session_data *sd,int skill_id,int type,int btype)
+int clif_skill_fail (struct map_session_data *sd, int skill_id, int type,
+ int btype)
{
- int fd;
+ int fd;
- nullpo_retr(0, sd);
+ nullpo_retr (0, sd);
- fd=sd->fd;
+ fd = sd->fd;
- if(type==0x4 && battle_config.display_delay_skill_fail==0){
- return 0;
- }
+ if (type == 0x4 && battle_config.display_delay_skill_fail == 0)
+ {
+ return 0;
+ }
- WFIFOW(fd,0) = 0x110;
- WFIFOW(fd,2) = skill_id;
- WFIFOW(fd,4) = btype;
- WFIFOW(fd,6) = 0;
- WFIFOB(fd,8) = 0;
- WFIFOB(fd,9) = type;
- WFIFOSET(fd,packet_len_table[0x110]);
+ WFIFOW (fd, 0) = 0x110;
+ WFIFOW (fd, 2) = skill_id;
+ WFIFOW (fd, 4) = btype;
+ WFIFOW (fd, 6) = 0;
+ WFIFOB (fd, 8) = 0;
+ WFIFOB (fd, 9) = type;
+ WFIFOSET (fd, packet_len_table[0x110]);
- return 0;
+ return 0;
}
/*==========================================
* �X�L���U���G�t�F�N�g���_���[�W
*------------------------------------------
*/
-int clif_skill_damage(struct block_list *src,struct block_list *dst,
- unsigned int tick,int sdelay,int ddelay,int damage,int div,int skill_id,int skill_lv,int type)
+int clif_skill_damage (struct block_list *src, struct block_list *dst,
+ unsigned int tick, int sdelay, int ddelay, int damage,
+ int div, int skill_id, int skill_lv, int type)
{
- unsigned char buf[64];
- struct status_change *sc_data;
+ unsigned char buf[64];
+ struct status_change *sc_data;
- nullpo_retr(0, src);
- nullpo_retr(0, dst);
+ nullpo_retr (0, src);
+ nullpo_retr (0, dst);
- sc_data = battle_get_sc_data(dst);
+ sc_data = battle_get_sc_data (dst);
- if(type != 5 && dst->type == BL_PC && ((struct map_session_data *)dst)->special_state.infinite_endure)
- type = 9;
- if(sc_data) {
- if(type != 5 && sc_data[SC_ENDURE].timer != -1)
- type = 9;
- if(sc_data[SC_HALLUCINATION].timer != -1 && damage > 0)
- damage = damage*(5+sc_data[SC_HALLUCINATION].val1) + MRAND(100);
- }
+ if (type != 5 && dst->type == BL_PC
+ && ((struct map_session_data *) dst)->special_state.infinite_endure)
+ type = 9;
+ if (sc_data)
+ {
+ if (type != 5 && sc_data[SC_ENDURE].timer != -1)
+ type = 9;
+ if (sc_data[SC_HALLUCINATION].timer != -1 && damage > 0)
+ damage =
+ damage * (5 + sc_data[SC_HALLUCINATION].val1) + MRAND (100);
+ }
- WBUFW(buf,0)=0x1de;
- WBUFW(buf,2)=skill_id;
- WBUFL(buf,4)=src->id;
- WBUFL(buf,8)=dst->id;
- WBUFL(buf,12)=tick;
- WBUFL(buf,16)=sdelay;
- WBUFL(buf,20)=ddelay;
- WBUFL(buf,24)=damage;
- WBUFW(buf,28)=skill_lv;
- WBUFW(buf,30)=div;
- WBUFB(buf,32)=(type>0)?type:skill_get_hit(skill_id);
- clif_send(buf,packet_len_table[0x1de],src,AREA);
+ WBUFW (buf, 0) = 0x1de;
+ WBUFW (buf, 2) = skill_id;
+ WBUFL (buf, 4) = src->id;
+ WBUFL (buf, 8) = dst->id;
+ WBUFL (buf, 12) = tick;
+ WBUFL (buf, 16) = sdelay;
+ WBUFL (buf, 20) = ddelay;
+ WBUFL (buf, 24) = damage;
+ WBUFW (buf, 28) = skill_lv;
+ WBUFW (buf, 30) = div;
+ WBUFB (buf, 32) = (type > 0) ? type : skill_get_hit (skill_id);
+ clif_send (buf, packet_len_table[0x1de], src, AREA);
- return 0;
+ return 0;
}
/*==========================================
* �������΂��X�L���U���G�t�F�N�g���_���[�W
*------------------------------------------
*/
-int clif_skill_damage2(struct block_list *src,struct block_list *dst,
- unsigned int tick,int sdelay,int ddelay,int damage,int div,int skill_id,int skill_lv,int type)
+int clif_skill_damage2 (struct block_list *src, struct block_list *dst,
+ unsigned int tick, int sdelay, int ddelay, int damage,
+ int div, int skill_id, int skill_lv, int type)
{
- unsigned char buf[64];
- struct status_change *sc_data;
+ unsigned char buf[64];
+ struct status_change *sc_data;
- nullpo_retr(0, src);
- nullpo_retr(0, dst);
+ nullpo_retr (0, src);
+ nullpo_retr (0, dst);
- sc_data = battle_get_sc_data(dst);
+ sc_data = battle_get_sc_data (dst);
- if(type != 5 && dst->type == BL_PC && ((struct map_session_data *)dst)->special_state.infinite_endure)
- type = 9;
- if(sc_data) {
- if(type != 5 && sc_data[SC_ENDURE].timer != -1)
- type = 9;
- if(sc_data[SC_HALLUCINATION].timer != -1 && damage > 0)
- damage = damage*(5+sc_data[SC_HALLUCINATION].val1) + MRAND(100);
- }
+ if (type != 5 && dst->type == BL_PC
+ && ((struct map_session_data *) dst)->special_state.infinite_endure)
+ type = 9;
+ if (sc_data)
+ {
+ if (type != 5 && sc_data[SC_ENDURE].timer != -1)
+ type = 9;
+ if (sc_data[SC_HALLUCINATION].timer != -1 && damage > 0)
+ damage =
+ damage * (5 + sc_data[SC_HALLUCINATION].val1) + MRAND (100);
+ }
- WBUFW(buf,0)=0x115;
- WBUFW(buf,2)=skill_id;
- WBUFL(buf,4)=src->id;
- WBUFL(buf,8)=dst->id;
- WBUFL(buf,12)=tick;
- WBUFL(buf,16)=sdelay;
- WBUFL(buf,20)=ddelay;
- WBUFW(buf,24)=dst->x;
- WBUFW(buf,26)=dst->y;
- WBUFW(buf,28)=damage;
- WBUFW(buf,30)=skill_lv;
- WBUFW(buf,32)=div;
- WBUFB(buf,34)=(type>0)?type:skill_get_hit(skill_id);
- clif_send(buf,packet_len_table[0x115],src,AREA);
+ WBUFW (buf, 0) = 0x115;
+ WBUFW (buf, 2) = skill_id;
+ WBUFL (buf, 4) = src->id;
+ WBUFL (buf, 8) = dst->id;
+ WBUFL (buf, 12) = tick;
+ WBUFL (buf, 16) = sdelay;
+ WBUFL (buf, 20) = ddelay;
+ WBUFW (buf, 24) = dst->x;
+ WBUFW (buf, 26) = dst->y;
+ WBUFW (buf, 28) = damage;
+ WBUFW (buf, 30) = skill_lv;
+ WBUFW (buf, 32) = div;
+ WBUFB (buf, 34) = (type > 0) ? type : skill_get_hit (skill_id);
+ clif_send (buf, packet_len_table[0x115], src, AREA);
- return 0;
+ return 0;
}
/*==========================================
* �x��/�񕜃X�L���G�t�F�N�g
*------------------------------------------
*/
-int clif_skill_nodamage(struct block_list *src,struct block_list *dst,
- int skill_id,int heal,int fail)
+int clif_skill_nodamage (struct block_list *src, struct block_list *dst,
+ int skill_id, int heal, int fail)
{
- unsigned char buf[32];
+ unsigned char buf[32];
- nullpo_retr(0, src);
- nullpo_retr(0, dst);
+ nullpo_retr (0, src);
+ nullpo_retr (0, dst);
- WBUFW(buf,0)=0x11a;
- WBUFW(buf,2)=skill_id;
- WBUFW(buf,4)=(heal > 0x7fff)? 0x7fff:heal;
- WBUFL(buf,6)=dst->id;
- WBUFL(buf,10)=src->id;
- WBUFB(buf,14)=fail;
- clif_send(buf,packet_len_table[0x11a],src,AREA);
+ WBUFW (buf, 0) = 0x11a;
+ WBUFW (buf, 2) = skill_id;
+ WBUFW (buf, 4) = (heal > 0x7fff) ? 0x7fff : heal;
+ WBUFL (buf, 6) = dst->id;
+ WBUFL (buf, 10) = src->id;
+ WBUFB (buf, 14) = fail;
+ clif_send (buf, packet_len_table[0x11a], src, AREA);
- return 0;
+ return 0;
}
/*==========================================
* �ꏊ�X�L���G�t�F�N�g
*------------------------------------------
*/
-int clif_skill_poseffect(struct block_list *src,int skill_id,int val,int x,int y,int tick)
+int clif_skill_poseffect (struct block_list *src, int skill_id, int val,
+ int x, int y, int tick)
{
- unsigned char buf[32];
+ unsigned char buf[32];
- nullpo_retr(0, src);
+ nullpo_retr (0, src);
- WBUFW(buf,0)=0x117;
- WBUFW(buf,2)=skill_id;
- WBUFL(buf,4)=src->id;
- WBUFW(buf,8)=val;
- WBUFW(buf,10)=x;
- WBUFW(buf,12)=y;
- WBUFL(buf,14)=tick;
- clif_send(buf,packet_len_table[0x117],src,AREA);
+ WBUFW (buf, 0) = 0x117;
+ WBUFW (buf, 2) = skill_id;
+ WBUFL (buf, 4) = src->id;
+ WBUFW (buf, 8) = val;
+ WBUFW (buf, 10) = x;
+ WBUFW (buf, 12) = y;
+ WBUFL (buf, 14) = tick;
+ clif_send (buf, packet_len_table[0x117], src, AREA);
- return 0;
+ return 0;
}
/*==========================================
* �ꏊ�X�L���G�t�F�N�g�\��
*------------------------------------------
*/
-int clif_skill_setunit(struct skill_unit *unit)
-{
- unsigned char buf[128];
- struct block_list *bl;
-
- nullpo_retr(0, unit);
-
- bl=map_id2bl(unit->group->src_id);
-
- memset(WBUFP(buf, 0),0,packet_len_table[0x1c9]);
- WBUFW(buf, 0)=0x1c9;
- WBUFL(buf, 2)=unit->bl.id;
- WBUFL(buf, 6)=unit->group->src_id;
- WBUFW(buf,10)=unit->bl.x;
- WBUFW(buf,12)=unit->bl.y;
- WBUFB(buf,14)=unit->group->unit_id;
- WBUFB(buf,15)=1;
- WBUFL(buf,15+1)=0; //1-4���ׂ�����Œ�
- WBUFL(buf,15+5)=0; //5-8���ׂ�����Œ�
- //9-12�}�b�v���Ƃň�����77-80�Ƃ͂܂��Ⴄ4�o�C�g�̂��Ȃ��傫�Ȑ���
- WBUFL(buf,15+13)=unit->bl.y - 0x12; //13-16���j�b�g��Y��W-18��ۂ�(Y:17��FF FF FF FF)
- WBUFL(buf,15+17)=0x004f37dd; //17-20���ׂ�����Œ�(0x1b2��0x004fdbdd�����)
- WBUFL(buf,15+21)=0x0012f674; //21-24���ׂ�����Œ�
- WBUFL(buf,15+25)=0x0012f664; //25-28���ׂ�����Œ�
- WBUFL(buf,15+29)=0x0012f654; //29-32���ׂ�����Œ�
- WBUFL(buf,15+33)=0x77527bbc; //33-36���ׂ�����Œ�
- //37-39
- WBUFB(buf,15+40)=0x2d; //40���ׂ�����Œ�
- WBUFL(buf,15+41)=0; //41-44���ׂ����0�Œ�
- WBUFL(buf,15+45)=0; //45-48���ׂ����0�Œ�
- WBUFL(buf,15+49)=0; //49-52���ׂ����0�Œ�
- WBUFL(buf,15+53)=0x0048d919; //53-56���ׂ�����Œ�(0x01b2��0x00495119�����)
- WBUFL(buf,15+57)=0x0000003e; //57-60���ׂ�����Œ�
- WBUFL(buf,15+61)=0x0012f66c; //61-64���ׂ�����Œ�
- //65-68
- //69-72
- if(bl) WBUFL(buf,15+73)=bl->y; //73-76�p�҂�Y��W
- WBUFL(buf,15+77)=unit->bl.m; //77-80�}�b�vID���Ȃ��H���Ȃ�2�o�C�g�ő��肻���Ȑ���
- WBUFB(buf,15+81)=0xaa; //81�I�[����0xaa
-
- /* Graffiti [Valaris] */
- if(unit->group->unit_id==0xb0) {
- WBUFL(buf,15)=1;
- WBUFL(buf,16)=1;
- memcpy(WBUFP(buf,17),unit->group->valstr,80);
- }
-
- clif_send(buf,packet_len_table[0x1c9],&unit->bl,AREA);
- return 0;
+int clif_skill_setunit (struct skill_unit *unit)
+{
+ unsigned char buf[128];
+ struct block_list *bl;
+
+ nullpo_retr (0, unit);
+
+ bl = map_id2bl (unit->group->src_id);
+
+ memset (WBUFP (buf, 0), 0, packet_len_table[0x1c9]);
+ WBUFW (buf, 0) = 0x1c9;
+ WBUFL (buf, 2) = unit->bl.id;
+ WBUFL (buf, 6) = unit->group->src_id;
+ WBUFW (buf, 10) = unit->bl.x;
+ WBUFW (buf, 12) = unit->bl.y;
+ WBUFB (buf, 14) = unit->group->unit_id;
+ WBUFB (buf, 15) = 1;
+ WBUFL (buf, 15 + 1) = 0; //1-4���ׂ�����Œ�
+ WBUFL (buf, 15 + 5) = 0; //5-8���ׂ�����Œ�
+ //9-12�}�b�v���Ƃň�����77-80�Ƃ͂܂��Ⴄ4�o�C�g�̂��Ȃ��傫�Ȑ���
+ WBUFL (buf, 15 + 13) = unit->bl.y - 0x12; //13-16���j�b�g��Y��W-18��ۂ�(Y:17��FF FF FF FF)
+ WBUFL (buf, 15 + 17) = 0x004f37dd; //17-20���ׂ�����Œ�(0x1b2��0x004fdbdd�����)
+ WBUFL (buf, 15 + 21) = 0x0012f674; //21-24���ׂ�����Œ�
+ WBUFL (buf, 15 + 25) = 0x0012f664; //25-28���ׂ�����Œ�
+ WBUFL (buf, 15 + 29) = 0x0012f654; //29-32���ׂ�����Œ�
+ WBUFL (buf, 15 + 33) = 0x77527bbc; //33-36���ׂ�����Œ�
+ //37-39
+ WBUFB (buf, 15 + 40) = 0x2d; //40���ׂ�����Œ�
+ WBUFL (buf, 15 + 41) = 0; //41-44���ׂ����0�Œ�
+ WBUFL (buf, 15 + 45) = 0; //45-48���ׂ����0�Œ�
+ WBUFL (buf, 15 + 49) = 0; //49-52���ׂ����0�Œ�
+ WBUFL (buf, 15 + 53) = 0x0048d919; //53-56���ׂ�����Œ�(0x01b2��0x00495119�����)
+ WBUFL (buf, 15 + 57) = 0x0000003e; //57-60���ׂ�����Œ�
+ WBUFL (buf, 15 + 61) = 0x0012f66c; //61-64���ׂ�����Œ�
+ //65-68
+ //69-72
+ if (bl)
+ WBUFL (buf, 15 + 73) = bl->y; //73-76�p�҂�Y��W
+ WBUFL (buf, 15 + 77) = unit->bl.m; //77-80�}�b�vID���Ȃ��H���Ȃ�2�o�C�g�ő��肻���Ȑ���
+ WBUFB (buf, 15 + 81) = 0xaa; //81�I�[����0xaa
+
+ /* Graffiti [Valaris] */
+ if (unit->group->unit_id == 0xb0)
+ {
+ WBUFL (buf, 15) = 1;
+ WBUFL (buf, 16) = 1;
+ memcpy (WBUFP (buf, 17), unit->group->valstr, 80);
+ }
+
+ clif_send (buf, packet_len_table[0x1c9], &unit->bl, AREA);
+ return 0;
}
+
/*==========================================
* �ꏊ�X�L���G�t�F�N�g�폜
*------------------------------------------
*/
-int clif_skill_delunit(struct skill_unit *unit)
+int clif_skill_delunit (struct skill_unit *unit)
{
- unsigned char buf[16];
+ unsigned char buf[16];
- nullpo_retr(0, unit);
+ nullpo_retr (0, unit);
- WBUFW(buf, 0)=0x120;
- WBUFL(buf, 2)=unit->bl.id;
- clif_send(buf,packet_len_table[0x120],&unit->bl,AREA);
- return 0;
+ WBUFW (buf, 0) = 0x120;
+ WBUFL (buf, 2) = unit->bl.id;
+ clif_send (buf, packet_len_table[0x120], &unit->bl, AREA);
+ return 0;
}
+
/*==========================================
* ���[�v�ꏊ�I��
*------------------------------------------
*/
-int clif_skill_warppoint(struct map_session_data *sd,int skill_num,
- const char *map1,const char *map2,const char *map3,const char *map4)
+int clif_skill_warppoint (struct map_session_data *sd, int skill_num,
+ const char *map1, const char *map2,
+ const char *map3, const char *map4)
{
- int fd;
+ int fd;
- nullpo_retr(0, sd);
+ nullpo_retr (0, sd);
- fd=sd->fd;
- WFIFOW(fd,0)=0x11c;
- WFIFOW(fd,2)=skill_num;
- memcpy(WFIFOP(fd, 4),map1,16);
- memcpy(WFIFOP(fd,20),map2,16);
- memcpy(WFIFOP(fd,36),map3,16);
- memcpy(WFIFOP(fd,52),map4,16);
- WFIFOSET(fd,packet_len_table[0x11c]);
- return 0;
+ fd = sd->fd;
+ WFIFOW (fd, 0) = 0x11c;
+ WFIFOW (fd, 2) = skill_num;
+ memcpy (WFIFOP (fd, 4), map1, 16);
+ memcpy (WFIFOP (fd, 20), map2, 16);
+ memcpy (WFIFOP (fd, 36), map3, 16);
+ memcpy (WFIFOP (fd, 52), map4, 16);
+ WFIFOSET (fd, packet_len_table[0x11c]);
+ return 0;
}
+
/*==========================================
* ��������
*------------------------------------------
*/
-int clif_skill_memo(struct map_session_data *sd,int flag)
+int clif_skill_memo (struct map_session_data *sd, int flag)
{
- int fd;
+ int fd;
- nullpo_retr(0, sd);
+ nullpo_retr (0, sd);
- fd=sd->fd;
+ fd = sd->fd;
- WFIFOW(fd,0)=0x11e;
- WFIFOB(fd,2)=flag;
- WFIFOSET(fd,packet_len_table[0x11e]);
- return 0;
+ WFIFOW (fd, 0) = 0x11e;
+ WFIFOB (fd, 2) = flag;
+ WFIFOSET (fd, packet_len_table[0x11e]);
+ return 0;
}
-int clif_skill_teleportmessage(struct map_session_data *sd,int flag)
+
+int clif_skill_teleportmessage (struct map_session_data *sd, int flag)
{
- int fd;
+ int fd;
- nullpo_retr(0, sd);
+ nullpo_retr (0, sd);
- fd=sd->fd;
- WFIFOW(fd,0)=0x189;
- WFIFOW(fd,2)=flag;
- WFIFOSET(fd,packet_len_table[0x189]);
- return 0;
+ fd = sd->fd;
+ WFIFOW (fd, 0) = 0x189;
+ WFIFOW (fd, 2) = flag;
+ WFIFOSET (fd, packet_len_table[0x189]);
+ return 0;
}
/*==========================================
* �����X�^�[����
*------------------------------------------
*/
-int clif_skill_estimation(struct map_session_data *sd,struct block_list *dst)
+int clif_skill_estimation (struct map_session_data *sd,
+ struct block_list *dst)
{
- struct mob_data *md;
- unsigned char buf[64];
- int i;
-
- nullpo_retr(0, sd);
- nullpo_retr(0, dst);
-
- if(dst->type!=BL_MOB )
- return 0;
- if((md=(struct mob_data *)dst) == NULL)
- return 0;
-
- WBUFW(buf, 0)=0x18c;
- WBUFW(buf, 2)=mob_get_viewclass(md->class);
- WBUFW(buf, 4)=mob_db[md->class].lv;
- WBUFW(buf, 6)=mob_db[md->class].size;
- WBUFL(buf, 8)=md->hp;
- WBUFW(buf,12)=battle_get_def2(&md->bl);
- WBUFW(buf,14)=mob_db[md->class].race;
- WBUFW(buf,16)=battle_get_mdef2(&md->bl) - (mob_db[md->class].vit>>1);
- WBUFW(buf,18)=battle_get_elem_type(&md->bl);
- for(i=0;i<9;i++)
- WBUFB(buf,20+i)= battle_attr_fix(100,i+1,md->def_ele);
-
- if(sd->status.party_id>0)
- clif_send(buf,packet_len_table[0x18c],&sd->bl,PARTY_AREA);
- else{
- memcpy(WFIFOP(sd->fd,0),buf,packet_len_table[0x18c]);
- WFIFOSET(sd->fd,packet_len_table[0x18c]);
- }
- return 0;
+ struct mob_data *md;
+ unsigned char buf[64];
+ int i;
+
+ nullpo_retr (0, sd);
+ nullpo_retr (0, dst);
+
+ if (dst->type != BL_MOB)
+ return 0;
+ if ((md = (struct mob_data *) dst) == NULL)
+ return 0;
+
+ WBUFW (buf, 0) = 0x18c;
+ WBUFW (buf, 2) = mob_get_viewclass (md->class);
+ WBUFW (buf, 4) = mob_db[md->class].lv;
+ WBUFW (buf, 6) = mob_db[md->class].size;
+ WBUFL (buf, 8) = md->hp;
+ WBUFW (buf, 12) = battle_get_def2 (&md->bl);
+ WBUFW (buf, 14) = mob_db[md->class].race;
+ WBUFW (buf, 16) =
+ battle_get_mdef2 (&md->bl) - (mob_db[md->class].vit >> 1);
+ WBUFW (buf, 18) = battle_get_elem_type (&md->bl);
+ for (i = 0; i < 9; i++)
+ WBUFB (buf, 20 + i) = battle_attr_fix (100, i + 1, md->def_ele);
+
+ if (sd->status.party_id > 0)
+ clif_send (buf, packet_len_table[0x18c], &sd->bl, PARTY_AREA);
+ else
+ {
+ memcpy (WFIFOP (sd->fd, 0), buf, packet_len_table[0x18c]);
+ WFIFOSET (sd->fd, packet_len_table[0x18c]);
+ }
+ return 0;
}
/*==========================================
* ���Ԉُ��A�C�R��/���b�Z�[�W�\��
*------------------------------------------
*/
-int clif_status_change(struct block_list *bl,int type,int flag)
+int clif_status_change (struct block_list *bl, int type, int flag)
{
- unsigned char buf[16];
+ unsigned char buf[16];
- nullpo_retr(0, bl);
+ nullpo_retr (0, bl);
- WBUFW(buf,0)=0x0196;
- WBUFW(buf,2)=type;
- WBUFL(buf,4)=bl->id;
- WBUFB(buf,8)=flag;
- clif_send(buf,packet_len_table[0x196],bl,AREA);
- return 0;
+ WBUFW (buf, 0) = 0x0196;
+ WBUFW (buf, 2) = type;
+ WBUFL (buf, 4) = bl->id;
+ WBUFB (buf, 8) = flag;
+ clif_send (buf, packet_len_table[0x196], bl, AREA);
+ return 0;
}
/*==========================================
* Send message (modified by [Yor])
*------------------------------------------
*/
-int clif_displaymessage(const int fd, char* mes)
+int clif_displaymessage (const int fd, char *mes)
{
- int len_mes = strlen(mes);
+ int len_mes = strlen (mes);
- if (len_mes > 0) { // don't send a void message (it's not displaying on the client chat). @help can send void line.
- WFIFOW(fd,0) = 0x8e;
- WFIFOW(fd,2) = 5 + len_mes; // 4 + len + NULL teminate
- memcpy(WFIFOP(fd,4), mes, len_mes + 1);
- WFIFOSET(fd, 5 + len_mes);
- }
+ if (len_mes > 0)
+ { // don't send a void message (it's not displaying on the client chat). @help can send void line.
+ WFIFOW (fd, 0) = 0x8e;
+ WFIFOW (fd, 2) = 5 + len_mes; // 4 + len + NULL teminate
+ memcpy (WFIFOP (fd, 4), mes, len_mes + 1);
+ WFIFOSET (fd, 5 + len_mes);
+ }
- return 0;
+ return 0;
}
/*==========================================
* �V�̐��𑗐M����
*------------------------------------------
*/
-int clif_GMmessage(struct block_list *bl, char* mes, int len, int flag)
-{
- unsigned char lbuf[255];
- unsigned char *buf = ((len + 16) >= sizeof(lbuf)) ? malloc(len+16) : lbuf;
- int lp = (flag&0x10) ? 8 : 4;
-
- WBUFW(buf,0) = 0x9a;
- WBUFW(buf,2) = len + lp;
- WBUFL(buf,4) = 0x65756c62;
- memcpy(WBUFP(buf,lp), mes, len);
- flag &= 0x07;
- clif_send(buf, WBUFW(buf,2), bl,
- (flag==1) ? ALL_SAMEMAP:
- (flag==2) ? AREA:
- (flag==3) ? SELF:
- ALL_CLIENT);
- if (buf != lbuf)
- free(buf);
- return 0;
+int clif_GMmessage (struct block_list *bl, char *mes, int len, int flag)
+{
+ unsigned char lbuf[255];
+ unsigned char *buf =
+ ((len + 16) >= sizeof (lbuf)) ? malloc (len + 16) : lbuf;
+ int lp = (flag & 0x10) ? 8 : 4;
+
+ WBUFW (buf, 0) = 0x9a;
+ WBUFW (buf, 2) = len + lp;
+ WBUFL (buf, 4) = 0x65756c62;
+ memcpy (WBUFP (buf, lp), mes, len);
+ flag &= 0x07;
+ clif_send (buf, WBUFW (buf, 2), bl,
+ (flag == 1) ? ALL_SAMEMAP :
+ (flag == 2) ? AREA : (flag == 3) ? SELF : ALL_CLIENT);
+ if (buf != lbuf)
+ free (buf);
+ return 0;
}
/*==========================================
* HPSP�񕜃G�t�F�N�g�𑗐M����
*------------------------------------------
*/
-int clif_heal(int fd,int type,int val)
+int clif_heal (int fd, int type, int val)
{
- WFIFOW(fd,0)=0x13d;
- WFIFOW(fd,2)=type;
- WFIFOW(fd,4)=val;
- WFIFOSET(fd,packet_len_table[0x13d]);
+ WFIFOW (fd, 0) = 0x13d;
+ WFIFOW (fd, 2) = type;
+ WFIFOW (fd, 4) = val;
+ WFIFOSET (fd, packet_len_table[0x13d]);
- return 0;
+ return 0;
}
/*==========================================
* ��������
*------------------------------------------
*/
-int clif_resurrection(struct block_list *bl,int type)
+int clif_resurrection (struct block_list *bl, int type)
{
- unsigned char buf[16];
+ unsigned char buf[16];
- nullpo_retr(0, bl);
+ nullpo_retr (0, bl);
- if(bl->type==BL_PC) { // disguises [Valaris]
- struct map_session_data *sd=((struct map_session_data *)bl);
- if(sd && sd->disguise > 23 && sd->disguise < 4001)
- clif_spawnpc(sd);
- }
+ if (bl->type == BL_PC)
+ { // disguises [Valaris]
+ struct map_session_data *sd = ((struct map_session_data *) bl);
+ if (sd && sd->disguise > 23 && sd->disguise < 4001)
+ clif_spawnpc (sd);
+ }
- WBUFW(buf,0)=0x148;
- WBUFL(buf,2)=bl->id;
- WBUFW(buf,6)=type;
+ WBUFW (buf, 0) = 0x148;
+ WBUFL (buf, 2) = bl->id;
+ WBUFW (buf, 6) = type;
- clif_send(buf,packet_len_table[0x148],bl,type==1 ? AREA : AREA_WOS);
+ clif_send (buf, packet_len_table[0x148], bl, type == 1 ? AREA : AREA_WOS);
- return 0;
+ return 0;
}
/*==========================================
* PVP����H�i���j
*------------------------------------------
*/
-int clif_set0199(int fd,int type)
+int clif_set0199 (int fd, int type)
{
- WFIFOW(fd,0)=0x199;
- WFIFOW(fd,2)=type;
- WFIFOSET(fd,packet_len_table[0x199]);
+ WFIFOW (fd, 0) = 0x199;
+ WFIFOW (fd, 2) = type;
+ WFIFOSET (fd, packet_len_table[0x199]);
- return 0;
+ return 0;
}
/*==========================================
* PVP����H(��)
*------------------------------------------
*/
-int clif_pvpset(struct map_session_data *sd,int pvprank,int pvpnum,int type)
-{
- nullpo_retr(0, sd);
-
- if(map[sd->bl.m].flag.nopvp)
- return 0;
-
- if(type == 2) {
- WFIFOW(sd->fd,0) = 0x19a;
- WFIFOL(sd->fd,2) = sd->bl.id;
- if(pvprank<=0)
- pc_calc_pvprank(sd);
- WFIFOL(sd->fd,6) = pvprank;
- WFIFOL(sd->fd,10) = pvpnum;
- WFIFOSET(sd->fd,packet_len_table[0x19a]);
- } else {
- char buf[32];
-
- WBUFW(buf,0) = 0x19a;
- WBUFL(buf,2) = sd->bl.id;
- if(sd->status.option&0x46)
- WBUFL(buf,6) = -1;
- else
- if(pvprank<=0)
- pc_calc_pvprank(sd);
- WBUFL(buf,6) = pvprank;
- WBUFL(buf,10) = pvpnum;
- if(!type)
- clif_send(buf,packet_len_table[0x19a],&sd->bl,AREA);
- else
- clif_send(buf,packet_len_table[0x19a],&sd->bl,ALL_SAMEMAP);
- }
+int clif_pvpset (struct map_session_data *sd, int pvprank, int pvpnum,
+ int type)
+{
+ nullpo_retr (0, sd);
- return 0;
+ if (map[sd->bl.m].flag.nopvp)
+ return 0;
+
+ if (type == 2)
+ {
+ WFIFOW (sd->fd, 0) = 0x19a;
+ WFIFOL (sd->fd, 2) = sd->bl.id;
+ if (pvprank <= 0)
+ pc_calc_pvprank (sd);
+ WFIFOL (sd->fd, 6) = pvprank;
+ WFIFOL (sd->fd, 10) = pvpnum;
+ WFIFOSET (sd->fd, packet_len_table[0x19a]);
+ }
+ else
+ {
+ char buf[32];
+
+ WBUFW (buf, 0) = 0x19a;
+ WBUFL (buf, 2) = sd->bl.id;
+ if (sd->status.option & 0x46)
+ WBUFL (buf, 6) = -1;
+ else if (pvprank <= 0)
+ pc_calc_pvprank (sd);
+ WBUFL (buf, 6) = pvprank;
+ WBUFL (buf, 10) = pvpnum;
+ if (!type)
+ clif_send (buf, packet_len_table[0x19a], &sd->bl, AREA);
+ else
+ clif_send (buf, packet_len_table[0x19a], &sd->bl, ALL_SAMEMAP);
+ }
+
+ return 0;
}
/*==========================================
*
*------------------------------------------
*/
-int clif_send0199(int map,int type)
+int clif_send0199 (int map, int type)
{
- struct block_list bl;
- char buf[16];
+ struct block_list bl;
+ char buf[16];
- bl.m = map;
- WBUFW(buf,0)=0x199;
- WBUFW(buf,2)=type;
- clif_send(buf,packet_len_table[0x199],&bl,ALL_SAMEMAP);
+ bl.m = map;
+ WBUFW (buf, 0) = 0x199;
+ WBUFW (buf, 2) = type;
+ clif_send (buf, packet_len_table[0x199], &bl, ALL_SAMEMAP);
- return 0;
+ return 0;
}
/*==========================================
* ���B�G�t�F�N�g�𑗐M����
*------------------------------------------
*/
-int clif_refine(int fd,struct map_session_data *sd,int fail,int index,int val)
+int clif_refine (int fd, struct map_session_data *sd, int fail, int index,
+ int val)
{
- WFIFOW(fd,0)=0x188;
- WFIFOW(fd,2)=fail;
- WFIFOW(fd,4)=index+2;
- WFIFOW(fd,6)=val;
- WFIFOSET(fd,packet_len_table[0x188]);
+ WFIFOW (fd, 0) = 0x188;
+ WFIFOW (fd, 2) = fail;
+ WFIFOW (fd, 4) = index + 2;
+ WFIFOW (fd, 6) = val;
+ WFIFOSET (fd, packet_len_table[0x188]);
- return 0;
+ return 0;
}
/*==========================================
* Wisp/page is transmitted to the destination player
*------------------------------------------
*/
-int clif_wis_message(int fd, char *nick, char *mes, int mes_len) // R 0097 <len>.w <nick>.24B <message>.?B
+int clif_wis_message (int fd, char *nick, char *mes, int mes_len) // R 0097 <len>.w <nick>.24B <message>.?B
{
- WFIFOW(fd,0) = 0x97;
- WFIFOW(fd,2) = mes_len + 24 + 4;
- memcpy(WFIFOP(fd,4), nick, 24);
- memcpy(WFIFOP(fd,28), mes, mes_len);
- WFIFOSET(fd,WFIFOW(fd,2));
- return 0;
+ WFIFOW (fd, 0) = 0x97;
+ WFIFOW (fd, 2) = mes_len + 24 + 4;
+ memcpy (WFIFOP (fd, 4), nick, 24);
+ memcpy (WFIFOP (fd, 28), mes, mes_len);
+ WFIFOSET (fd, WFIFOW (fd, 2));
+ return 0;
}
/*==========================================
* The transmission result of Wisp/page is transmitted to the source player
*------------------------------------------
*/
-int clif_wis_end(int fd, int flag) // R 0098 <type>.B: 0: success to send wisper, 1: target character is not loged in?, 2: ignored by target
-{
- WFIFOW(fd,0) = 0x98;
- WFIFOW(fd,2) = flag;
- WFIFOSET(fd,packet_len_table[0x98]);
- return 0;
+int clif_wis_end (int fd, int flag) // R 0098 <type>.B: 0: success to send wisper, 1: target character is not loged in?, 2: ignored by target
+{
+ WFIFOW (fd, 0) = 0x98;
+ WFIFOW (fd, 2) = flag;
+ WFIFOSET (fd, packet_len_table[0x98]);
+ return 0;
}
/*==========================================
* �L����ID���O�������ʂ𑗐M����
*------------------------------------------
*/
-int clif_solved_charname(struct map_session_data *sd,int char_id)
+int clif_solved_charname (struct map_session_data *sd, int char_id)
{
- char *p= map_charid2nick(char_id);
- int fd;
+ char *p = map_charid2nick (char_id);
+ int fd;
- nullpo_retr(0, sd);
+ nullpo_retr (0, sd);
- fd=sd->fd;
- if(p!=NULL){
- WFIFOW(fd,0)=0x194;
- WFIFOL(fd,2)=char_id;
- memcpy(WFIFOP(fd,6), p,24 );
- WFIFOSET(fd,packet_len_table[0x194]);
- }else{
- map_reqchariddb(sd,char_id);
- chrif_searchcharid(char_id);
- }
- return 0;
+ fd = sd->fd;
+ if (p != NULL)
+ {
+ WFIFOW (fd, 0) = 0x194;
+ WFIFOL (fd, 2) = char_id;
+ memcpy (WFIFOP (fd, 6), p, 24);
+ WFIFOSET (fd, packet_len_table[0x194]);
+ }
+ else
+ {
+ map_reqchariddb (sd, char_id);
+ chrif_searchcharid (char_id);
+ }
+ return 0;
}
/*==========================================
* �J�[�h�̑}���”\���X�g���Ԃ�
*------------------------------------------
*/
-int clif_use_card(struct map_session_data *sd,int idx)
-{
- nullpo_retr(0, sd);
-
- if(sd->inventory_data[idx]) {
- int i,c;
- int ep=sd->inventory_data[idx]->equip;
- int fd=sd->fd;
- WFIFOW(fd,0)=0x017b;
-
- for(i=c=0;i<MAX_INVENTORY;i++){
- int j;
-
- if(sd->inventory_data[i] == NULL)
- continue;
- if(sd->inventory_data[i]->type!=4 && sd->inventory_data[i]->type!=5) // �����h����Ȃ�
- continue;
- if(sd->status.inventory[i].card[0]==0x00ff) // ��������
- continue;
- if(sd->status.inventory[i].card[0]==(short)0xff00 || sd->status.inventory[i].card[0]==0x00fe)
- continue;
- if(sd->status.inventory[i].identify==0 ) // ���Ӓ�
- continue;
-
- if((sd->inventory_data[i]->equip&ep)==0) // ���������Ⴄ
- continue;
- if(sd->inventory_data[i]->type==4 && ep==32) // ���J�[�h�Ɨ��蕐��
- continue;
-
- for(j=0;j<sd->inventory_data[i]->slot;j++){
- if( sd->status.inventory[i].card[j]==0 )
- break;
- }
- if(j==sd->inventory_data[i]->slot) // ���łɃJ�[�h�����t
- continue;
-
- WFIFOW(fd,4+c*2)=i+2;
- c++;
- }
- WFIFOW(fd,2)=4+c*2;
- WFIFOSET(fd,WFIFOW(fd,2));
- }
+int clif_use_card (struct map_session_data *sd, int idx)
+{
+ nullpo_retr (0, sd);
+
+ if (sd->inventory_data[idx])
+ {
+ int i, c;
+ int ep = sd->inventory_data[idx]->equip;
+ int fd = sd->fd;
+ WFIFOW (fd, 0) = 0x017b;
+
+ for (i = c = 0; i < MAX_INVENTORY; i++)
+ {
+ int j;
+
+ if (sd->inventory_data[i] == NULL)
+ continue;
+ if (sd->inventory_data[i]->type != 4 && sd->inventory_data[i]->type != 5) // �����h����Ȃ�
+ continue;
+ if (sd->status.inventory[i].card[0] == 0x00ff) // ��������
+ continue;
+ if (sd->status.inventory[i].card[0] == (short) 0xff00
+ || sd->status.inventory[i].card[0] == 0x00fe)
+ continue;
+ if (sd->status.inventory[i].identify == 0) // ���Ӓ�
+ continue;
+
+ if ((sd->inventory_data[i]->equip & ep) == 0) // ���������Ⴄ
+ continue;
+ if (sd->inventory_data[i]->type == 4 && ep == 32) // ���J�[�h�Ɨ��蕐��
+ continue;
+
+ for (j = 0; j < sd->inventory_data[i]->slot; j++)
+ {
+ if (sd->status.inventory[i].card[j] == 0)
+ break;
+ }
+ if (j == sd->inventory_data[i]->slot) // ���łɃJ�[�h�����t
+ continue;
- return 0;
+ WFIFOW (fd, 4 + c * 2) = i + 2;
+ c++;
+ }
+ WFIFOW (fd, 2) = 4 + c * 2;
+ WFIFOSET (fd, WFIFOW (fd, 2));
+ }
+
+ return 0;
}
+
/*==========================================
* �J�[�h�̑}���I��
*------------------------------------------
*/
-int clif_insert_card(struct map_session_data *sd,int idx_equip,int idx_card,int flag)
+int clif_insert_card (struct map_session_data *sd, int idx_equip,
+ int idx_card, int flag)
{
- int fd;
+ int fd;
- nullpo_retr(0, sd);
+ nullpo_retr (0, sd);
- fd=sd->fd;
- WFIFOW(fd,0)=0x17d;
- WFIFOW(fd,2)=idx_equip+2;
- WFIFOW(fd,4)=idx_card+2;
- WFIFOB(fd,6)=flag;
- WFIFOSET(fd,packet_len_table[0x17d]);
- return 0;
+ fd = sd->fd;
+ WFIFOW (fd, 0) = 0x17d;
+ WFIFOW (fd, 2) = idx_equip + 2;
+ WFIFOW (fd, 4) = idx_card + 2;
+ WFIFOB (fd, 6) = flag;
+ WFIFOSET (fd, packet_len_table[0x17d]);
+ return 0;
}
/*==========================================
* �Ӓ��”\�A�C�e�����X�g���M
*------------------------------------------
*/
-int clif_item_identify_list(struct map_session_data *sd)
+int clif_item_identify_list (struct map_session_data *sd)
{
- int i,c;
- int fd;
+ int i, c;
+ int fd;
- nullpo_retr(0, sd);
+ nullpo_retr (0, sd);
- fd=sd->fd;
+ fd = sd->fd;
- WFIFOW(fd,0)=0x177;
- for(i=c=0;i<MAX_INVENTORY;i++){
- if(sd->status.inventory[i].nameid > 0 && sd->status.inventory[i].identify!=1){
- WFIFOW(fd,c*2+4)=i+2;
- c++;
- }
- }
- if(c > 0) {
- WFIFOW(fd,2)=c*2+4;
- WFIFOSET(fd,WFIFOW(fd,2));
- }
- return 0;
+ WFIFOW (fd, 0) = 0x177;
+ for (i = c = 0; i < MAX_INVENTORY; i++)
+ {
+ if (sd->status.inventory[i].nameid > 0
+ && sd->status.inventory[i].identify != 1)
+ {
+ WFIFOW (fd, c * 2 + 4) = i + 2;
+ c++;
+ }
+ }
+ if (c > 0)
+ {
+ WFIFOW (fd, 2) = c * 2 + 4;
+ WFIFOSET (fd, WFIFOW (fd, 2));
+ }
+ return 0;
}
/*==========================================
* �Ӓ茋��
*------------------------------------------
*/
-int clif_item_identified(struct map_session_data *sd,int idx,int flag)
+int clif_item_identified (struct map_session_data *sd, int idx, int flag)
{
- int fd;
+ int fd;
- nullpo_retr(0, sd);
+ nullpo_retr (0, sd);
- fd=sd->fd;
- WFIFOW(fd, 0)=0x179;
- WFIFOW(fd, 2)=idx+2;
- WFIFOB(fd, 4)=flag;
- WFIFOSET(fd,packet_len_table[0x179]);
- return 0;
+ fd = sd->fd;
+ WFIFOW (fd, 0) = 0x179;
+ WFIFOW (fd, 2) = idx + 2;
+ WFIFOB (fd, 4) = flag;
+ WFIFOSET (fd, packet_len_table[0x179]);
+ return 0;
}
/*==========================================
@@ -4513,336 +4946,371 @@ int clif_item_identified(struct map_session_data *sd,int idx,int flag)
* ����ۂ̃p�P�b�g���킩���Ȃ��̂œ��삵�܂���
*------------------------------------------
*/
-int clif_item_repair_list(struct map_session_data *sd)
+int clif_item_repair_list (struct map_session_data *sd)
{
- int i,c;
- int fd;
+ int i, c;
+ int fd;
- nullpo_retr(0, sd);
+ nullpo_retr (0, sd);
- fd=sd->fd;
+ fd = sd->fd;
- WFIFOW(fd,0)=0x0;
- for(i=c=0;i<MAX_INVENTORY;i++){
- if(sd->status.inventory[i].nameid > 0 && sd->status.inventory[i].broken!=0){
- WFIFOW(fd,c*2+4)=i+2;
- c++;
- }
- }
- if(c > 0) {
- WFIFOW(fd,2)=c*2+4;
- WFIFOSET(fd,WFIFOW(fd,2));
- }
- return 0;
+ WFIFOW (fd, 0) = 0x0;
+ for (i = c = 0; i < MAX_INVENTORY; i++)
+ {
+ if (sd->status.inventory[i].nameid > 0
+ && sd->status.inventory[i].broken != 0)
+ {
+ WFIFOW (fd, c * 2 + 4) = i + 2;
+ c++;
+ }
+ }
+ if (c > 0)
+ {
+ WFIFOW (fd, 2) = c * 2 + 4;
+ WFIFOSET (fd, WFIFOW (fd, 2));
+ }
+ return 0;
}
/*==========================================
* �A�C�e���ɂ����ꎞ�I�ȃX�L������
*------------------------------------------
*/
-int clif_item_skill(struct map_session_data *sd,int skillid,int skilllv,const char *name)
+int clif_item_skill (struct map_session_data *sd, int skillid, int skilllv,
+ const char *name)
{
- int range,fd;
+ int range, fd;
- nullpo_retr(0, sd);
+ nullpo_retr (0, sd);
- fd=sd->fd;
- WFIFOW(fd, 0)=0x147;
- WFIFOW(fd, 2)=skillid;
- WFIFOW(fd, 4)=skill_get_inf(skillid);
- WFIFOW(fd, 6)=0;
- WFIFOW(fd, 8)=skilllv;
- WFIFOW(fd,10)=skill_get_sp(skillid,skilllv);
- range = skill_get_range(skillid,skilllv);
- if(range < 0)
- range = battle_get_range(&sd->bl) - (range + 1);
- WFIFOW(fd,12)=range;
- memcpy(WFIFOP(fd,14),name,24);
- WFIFOB(fd,38)=0;
- WFIFOSET(fd,packet_len_table[0x147]);
- return 0;
+ fd = sd->fd;
+ WFIFOW (fd, 0) = 0x147;
+ WFIFOW (fd, 2) = skillid;
+ WFIFOW (fd, 4) = skill_get_inf (skillid);
+ WFIFOW (fd, 6) = 0;
+ WFIFOW (fd, 8) = skilllv;
+ WFIFOW (fd, 10) = skill_get_sp (skillid, skilllv);
+ range = skill_get_range (skillid, skilllv);
+ if (range < 0)
+ range = battle_get_range (&sd->bl) - (range + 1);
+ WFIFOW (fd, 12) = range;
+ memcpy (WFIFOP (fd, 14), name, 24);
+ WFIFOB (fd, 38) = 0;
+ WFIFOSET (fd, packet_len_table[0x147]);
+ return 0;
}
/*==========================================
* �J�[�g�ɃA�C�e���lj�
*------------------------------------------
*/
-int clif_cart_additem(struct map_session_data *sd,int n,int amount,int fail)
-{
- int view,j,fd;
- unsigned char *buf;
-
- nullpo_retr(0, sd);
-
- fd=sd->fd;
- buf=WFIFOP(fd,0);
- if(n<0 || n>=MAX_CART || sd->status.cart[n].nameid<=0)
- return 1;
-
- WBUFW(buf,0)=0x124;
- WBUFW(buf,2)=n+2;
- WBUFL(buf,4)=amount;
- if((view = itemdb_viewid(sd->status.cart[n].nameid)) > 0)
- WBUFW(buf,8)=view;
- else
- WBUFW(buf,8)=sd->status.cart[n].nameid;
- WBUFB(buf,10)=sd->status.cart[n].identify;
- if(sd->status.cart[n].broken==1) //is weapon broken [Valaris]
- WBUFB(buf,11)=1;
- else
- WBUFB(buf,11)=sd->status.cart[n].attribute;
- WBUFB(buf,12)=sd->status.cart[n].refine;
- if(sd->status.cart[n].card[0]==0x00ff || sd->status.cart[n].card[0]==0x00fe || sd->status.cart[n].card[0]==(short)0xff00) {
- WBUFW(buf,13)=sd->status.cart[n].card[0];
- WBUFW(buf,15)=sd->status.cart[n].card[1];
- WBUFW(buf,17)=sd->status.cart[n].card[2];
- WBUFW(buf,19)=sd->status.cart[n].card[3];
- } else {
- if(sd->status.cart[n].card[0] > 0 && (j=itemdb_viewid(sd->status.cart[n].card[0])) > 0)
- WBUFW(buf,13)= j;
- else
- WBUFW(buf,13)= sd->status.cart[n].card[0];
- if(sd->status.cart[n].card[1] > 0 && (j=itemdb_viewid(sd->status.cart[n].card[1])) > 0)
- WBUFW(buf,15)= j;
- else
- WBUFW(buf,15)= sd->status.cart[n].card[1];
- if(sd->status.cart[n].card[2] > 0 && (j=itemdb_viewid(sd->status.cart[n].card[2])) > 0)
- WBUFW(buf,17)= j;
- else
- WBUFW(buf,17)= sd->status.cart[n].card[2];
- if(sd->status.cart[n].card[3] > 0 && (j=itemdb_viewid(sd->status.cart[n].card[3])) > 0)
- WBUFW(buf,19)= j;
- else
- WBUFW(buf,19)= sd->status.cart[n].card[3];
- }
- WFIFOSET(fd,packet_len_table[0x124]);
- return 0;
+int clif_cart_additem (struct map_session_data *sd, int n, int amount,
+ int fail)
+{
+ int view, j, fd;
+ unsigned char *buf;
+
+ nullpo_retr (0, sd);
+
+ fd = sd->fd;
+ buf = WFIFOP (fd, 0);
+ if (n < 0 || n >= MAX_CART || sd->status.cart[n].nameid <= 0)
+ return 1;
+
+ WBUFW (buf, 0) = 0x124;
+ WBUFW (buf, 2) = n + 2;
+ WBUFL (buf, 4) = amount;
+ if ((view = itemdb_viewid (sd->status.cart[n].nameid)) > 0)
+ WBUFW (buf, 8) = view;
+ else
+ WBUFW (buf, 8) = sd->status.cart[n].nameid;
+ WBUFB (buf, 10) = sd->status.cart[n].identify;
+ if (sd->status.cart[n].broken == 1) //is weapon broken [Valaris]
+ WBUFB (buf, 11) = 1;
+ else
+ WBUFB (buf, 11) = sd->status.cart[n].attribute;
+ WBUFB (buf, 12) = sd->status.cart[n].refine;
+ if (sd->status.cart[n].card[0] == 0x00ff
+ || sd->status.cart[n].card[0] == 0x00fe
+ || sd->status.cart[n].card[0] == (short) 0xff00)
+ {
+ WBUFW (buf, 13) = sd->status.cart[n].card[0];
+ WBUFW (buf, 15) = sd->status.cart[n].card[1];
+ WBUFW (buf, 17) = sd->status.cart[n].card[2];
+ WBUFW (buf, 19) = sd->status.cart[n].card[3];
+ }
+ else
+ {
+ if (sd->status.cart[n].card[0] > 0
+ && (j = itemdb_viewid (sd->status.cart[n].card[0])) > 0)
+ WBUFW (buf, 13) = j;
+ else
+ WBUFW (buf, 13) = sd->status.cart[n].card[0];
+ if (sd->status.cart[n].card[1] > 0
+ && (j = itemdb_viewid (sd->status.cart[n].card[1])) > 0)
+ WBUFW (buf, 15) = j;
+ else
+ WBUFW (buf, 15) = sd->status.cart[n].card[1];
+ if (sd->status.cart[n].card[2] > 0
+ && (j = itemdb_viewid (sd->status.cart[n].card[2])) > 0)
+ WBUFW (buf, 17) = j;
+ else
+ WBUFW (buf, 17) = sd->status.cart[n].card[2];
+ if (sd->status.cart[n].card[3] > 0
+ && (j = itemdb_viewid (sd->status.cart[n].card[3])) > 0)
+ WBUFW (buf, 19) = j;
+ else
+ WBUFW (buf, 19) = sd->status.cart[n].card[3];
+ }
+ WFIFOSET (fd, packet_len_table[0x124]);
+ return 0;
}
/*==========================================
* �J�[�g�����A�C�e���폜
*------------------------------------------
*/
-int clif_cart_delitem(struct map_session_data *sd,int n,int amount)
+int clif_cart_delitem (struct map_session_data *sd, int n, int amount)
{
- int fd;
+ int fd;
- nullpo_retr(0, sd);
+ nullpo_retr (0, sd);
- fd=sd->fd;
+ fd = sd->fd;
- WFIFOW(fd,0)=0x125;
- WFIFOW(fd,2)=n+2;
- WFIFOL(fd,4)=amount;
+ WFIFOW (fd, 0) = 0x125;
+ WFIFOW (fd, 2) = n + 2;
+ WFIFOL (fd, 4) = amount;
- WFIFOSET(fd,packet_len_table[0x125]);
+ WFIFOSET (fd, packet_len_table[0x125]);
- return 0;
+ return 0;
}
/*==========================================
* �J�[�g�̃A�C�e�����X�g
*------------------------------------------
*/
-int clif_cart_itemlist(struct map_session_data *sd)
-{
- struct item_data *id;
- int i,n,fd;
- unsigned char *buf;
-
- nullpo_retr(0, sd);
-
- fd=sd->fd;
- buf = WFIFOP(fd,0);
- WBUFW(buf,0)=0x1ef;
- for(i=0,n=0;i<MAX_CART;i++){
- if(sd->status.cart[i].nameid<=0)
- continue;
- id = itemdb_search(sd->status.cart[i].nameid);
- if(itemdb_isequip2(id))
- continue;
- WBUFW(buf,n*18+4)=i+2;
- if(id->view_id > 0)
- WBUFW(buf,n*18+6)=id->view_id;
- else
- WBUFW(buf,n*18+6)=sd->status.cart[i].nameid;
- WBUFB(buf,n*18+8)=id->type;
- WBUFB(buf,n*18+9)=sd->status.cart[i].identify;
- WBUFW(buf,n*18+10)=sd->status.cart[i].amount;
- WBUFW(buf,n*18+12)=0;
- WBUFW(buf,n*18+14)=sd->status.cart[i].card[0];
- WBUFW(buf,n*18+16)=sd->status.cart[i].card[1];
- WBUFW(buf,n*18+18)=sd->status.cart[i].card[2];
- WBUFW(buf,n*18+20)=sd->status.cart[i].card[3];
- n++;
- }
- if(n){
- WBUFW(buf,2)=4+n*18;
- WFIFOSET(fd,WFIFOW(fd,2));
- }
- return 0;
+int clif_cart_itemlist (struct map_session_data *sd)
+{
+ struct item_data *id;
+ int i, n, fd;
+ unsigned char *buf;
+
+ nullpo_retr (0, sd);
+
+ fd = sd->fd;
+ buf = WFIFOP (fd, 0);
+ WBUFW (buf, 0) = 0x1ef;
+ for (i = 0, n = 0; i < MAX_CART; i++)
+ {
+ if (sd->status.cart[i].nameid <= 0)
+ continue;
+ id = itemdb_search (sd->status.cart[i].nameid);
+ if (itemdb_isequip2 (id))
+ continue;
+ WBUFW (buf, n * 18 + 4) = i + 2;
+ if (id->view_id > 0)
+ WBUFW (buf, n * 18 + 6) = id->view_id;
+ else
+ WBUFW (buf, n * 18 + 6) = sd->status.cart[i].nameid;
+ WBUFB (buf, n * 18 + 8) = id->type;
+ WBUFB (buf, n * 18 + 9) = sd->status.cart[i].identify;
+ WBUFW (buf, n * 18 + 10) = sd->status.cart[i].amount;
+ WBUFW (buf, n * 18 + 12) = 0;
+ WBUFW (buf, n * 18 + 14) = sd->status.cart[i].card[0];
+ WBUFW (buf, n * 18 + 16) = sd->status.cart[i].card[1];
+ WBUFW (buf, n * 18 + 18) = sd->status.cart[i].card[2];
+ WBUFW (buf, n * 18 + 20) = sd->status.cart[i].card[3];
+ n++;
+ }
+ if (n)
+ {
+ WBUFW (buf, 2) = 4 + n * 18;
+ WFIFOSET (fd, WFIFOW (fd, 2));
+ }
+ return 0;
}
/*==========================================
* �J�[�g�̑����i���X�g
*------------------------------------------
*/
-int clif_cart_equiplist(struct map_session_data *sd)
-{
- struct item_data *id;
- int i,j,n,fd;
- unsigned char *buf;
-
- nullpo_retr(0, sd);
-
- fd=sd->fd;
- buf = WFIFOP(fd,0);
-
- WBUFW(buf,0)=0x122;
- for(i=0,n=0;i<MAX_INVENTORY;i++){
- if(sd->status.cart[i].nameid<=0)
- continue;
- id = itemdb_search(sd->status.cart[i].nameid);
- if(!itemdb_isequip2(id))
- continue;
- WBUFW(buf,n*20+4)=i+2;
- if(id->view_id > 0)
- WBUFW(buf,n*20+6)=id->view_id;
- else
- WBUFW(buf,n*20+6)=sd->status.cart[i].nameid;
- WBUFB(buf,n*20+8)=id->type;
- WBUFB(buf,n*20+9)=sd->status.cart[i].identify;
- WBUFW(buf,n*20+10)=id->equip;
- WBUFW(buf,n*20+12)=sd->status.cart[i].equip;
- if(sd->status.cart[i].broken==1)
- WBUFB(buf,n*20+14)=1; //is weapon broken [Valaris]
- else
- WBUFB(buf,n*20+14)=sd->status.cart[i].attribute;
- WBUFB(buf,n*20+15)=sd->status.cart[i].refine;
- if(sd->status.cart[i].card[0]==0x00ff || sd->status.cart[i].card[0]==0x00fe || sd->status.cart[i].card[0]==(short)0xff00) {
- WBUFW(buf,n*20+16)=sd->status.cart[i].card[0];
- WBUFW(buf,n*20+18)=sd->status.cart[i].card[1];
- WBUFW(buf,n*20+20)=sd->status.cart[i].card[2];
- WBUFW(buf,n*20+22)=sd->status.cart[i].card[3];
- } else {
- if(sd->status.cart[i].card[0] > 0 && (j=itemdb_viewid(sd->status.cart[i].card[0])) > 0)
- WBUFW(buf,n*20+16)= j;
- else
- WBUFW(buf,n*20+16)= sd->status.cart[i].card[0];
- if(sd->status.cart[i].card[1] > 0 && (j=itemdb_viewid(sd->status.cart[i].card[1])) > 0)
- WBUFW(buf,n*20+18)= j;
- else
- WBUFW(buf,n*20+18)= sd->status.cart[i].card[1];
- if(sd->status.cart[i].card[2] > 0 && (j=itemdb_viewid(sd->status.cart[i].card[2])) > 0)
- WBUFW(buf,n*20+20)= j;
- else
- WBUFW(buf,n*20+20)= sd->status.cart[i].card[2];
- if(sd->status.cart[i].card[3] > 0 && (j=itemdb_viewid(sd->status.cart[i].card[3])) > 0)
- WBUFW(buf,n*20+22)= j;
- else
- WBUFW(buf,n*20+22)= sd->status.cart[i].card[3];
- }
- n++;
- }
- if(n){
- WBUFW(buf,2)=4+n*20;
- WFIFOSET(fd,WFIFOW(fd,2));
- }
- return 0;
+int clif_cart_equiplist (struct map_session_data *sd)
+{
+ struct item_data *id;
+ int i, j, n, fd;
+ unsigned char *buf;
+
+ nullpo_retr (0, sd);
+
+ fd = sd->fd;
+ buf = WFIFOP (fd, 0);
+
+ WBUFW (buf, 0) = 0x122;
+ for (i = 0, n = 0; i < MAX_INVENTORY; i++)
+ {
+ if (sd->status.cart[i].nameid <= 0)
+ continue;
+ id = itemdb_search (sd->status.cart[i].nameid);
+ if (!itemdb_isequip2 (id))
+ continue;
+ WBUFW (buf, n * 20 + 4) = i + 2;
+ if (id->view_id > 0)
+ WBUFW (buf, n * 20 + 6) = id->view_id;
+ else
+ WBUFW (buf, n * 20 + 6) = sd->status.cart[i].nameid;
+ WBUFB (buf, n * 20 + 8) = id->type;
+ WBUFB (buf, n * 20 + 9) = sd->status.cart[i].identify;
+ WBUFW (buf, n * 20 + 10) = id->equip;
+ WBUFW (buf, n * 20 + 12) = sd->status.cart[i].equip;
+ if (sd->status.cart[i].broken == 1)
+ WBUFB (buf, n * 20 + 14) = 1; //is weapon broken [Valaris]
+ else
+ WBUFB (buf, n * 20 + 14) = sd->status.cart[i].attribute;
+ WBUFB (buf, n * 20 + 15) = sd->status.cart[i].refine;
+ if (sd->status.cart[i].card[0] == 0x00ff
+ || sd->status.cart[i].card[0] == 0x00fe
+ || sd->status.cart[i].card[0] == (short) 0xff00)
+ {
+ WBUFW (buf, n * 20 + 16) = sd->status.cart[i].card[0];
+ WBUFW (buf, n * 20 + 18) = sd->status.cart[i].card[1];
+ WBUFW (buf, n * 20 + 20) = sd->status.cart[i].card[2];
+ WBUFW (buf, n * 20 + 22) = sd->status.cart[i].card[3];
+ }
+ else
+ {
+ if (sd->status.cart[i].card[0] > 0
+ && (j = itemdb_viewid (sd->status.cart[i].card[0])) > 0)
+ WBUFW (buf, n * 20 + 16) = j;
+ else
+ WBUFW (buf, n * 20 + 16) = sd->status.cart[i].card[0];
+ if (sd->status.cart[i].card[1] > 0
+ && (j = itemdb_viewid (sd->status.cart[i].card[1])) > 0)
+ WBUFW (buf, n * 20 + 18) = j;
+ else
+ WBUFW (buf, n * 20 + 18) = sd->status.cart[i].card[1];
+ if (sd->status.cart[i].card[2] > 0
+ && (j = itemdb_viewid (sd->status.cart[i].card[2])) > 0)
+ WBUFW (buf, n * 20 + 20) = j;
+ else
+ WBUFW (buf, n * 20 + 20) = sd->status.cart[i].card[2];
+ if (sd->status.cart[i].card[3] > 0
+ && (j = itemdb_viewid (sd->status.cart[i].card[3])) > 0)
+ WBUFW (buf, n * 20 + 22) = j;
+ else
+ WBUFW (buf, n * 20 + 22) = sd->status.cart[i].card[3];
+ }
+ n++;
+ }
+ if (n)
+ {
+ WBUFW (buf, 2) = 4 + n * 20;
+ WFIFOSET (fd, WFIFOW (fd, 2));
+ }
+ return 0;
}
/*==========================================
* �p�[�e�B�쐬����
*------------------------------------------
*/
-int clif_party_created(struct map_session_data *sd,int flag)
+int clif_party_created (struct map_session_data *sd, int flag)
{
- int fd;
+ int fd;
- nullpo_retr(0, sd);
+ nullpo_retr (0, sd);
- fd=sd->fd;
- WFIFOW(fd,0)=0xfa;
- WFIFOB(fd,2)=flag;
- WFIFOSET(fd,packet_len_table[0xfa]);
- return 0;
+ fd = sd->fd;
+ WFIFOW (fd, 0) = 0xfa;
+ WFIFOB (fd, 2) = flag;
+ WFIFOSET (fd, packet_len_table[0xfa]);
+ return 0;
}
+
/*==========================================
* �p�[�e�B���񑗐M
*------------------------------------------
*/
-int clif_party_info(struct party *p,int fd)
-{
- unsigned char buf[1024];
- int i,c;
- struct map_session_data *sd=NULL;
-
- nullpo_retr(0, p);
-
- WBUFW(buf,0)=0xfb;
- memcpy(WBUFP(buf,4),p->name,24);
- for(i=c=0;i<MAX_PARTY;i++){
- struct party_member *m=&p->member[i];
- if(m->account_id>0){
- if(sd==NULL) sd=m->sd;
- WBUFL(buf,28+c*46)=m->account_id;
- memcpy(WBUFP(buf,28+c*46+ 4),m->name,24);
- memcpy(WBUFP(buf,28+c*46+28),m->map,16);
- WBUFB(buf,28+c*46+44)=(m->leader)?0:1;
- WBUFB(buf,28+c*46+45)=(m->online)?0:1;
- c++;
- }
- }
- WBUFW(buf,2)=28+c*46;
- if(fd>=0){ // fd���ݒ肳���Ă��Ȃ炻���ɑ���
- memcpy(WFIFOP(fd,0),buf,WBUFW(buf,2));
- WFIFOSET(fd,WFIFOW(fd,2));
- return 9;
- }
- if(sd!=NULL)
- clif_send(buf,WBUFW(buf,2),&sd->bl,PARTY);
- return 0;
+int clif_party_info (struct party *p, int fd)
+{
+ unsigned char buf[1024];
+ int i, c;
+ struct map_session_data *sd = NULL;
+
+ nullpo_retr (0, p);
+
+ WBUFW (buf, 0) = 0xfb;
+ memcpy (WBUFP (buf, 4), p->name, 24);
+ for (i = c = 0; i < MAX_PARTY; i++)
+ {
+ struct party_member *m = &p->member[i];
+ if (m->account_id > 0)
+ {
+ if (sd == NULL)
+ sd = m->sd;
+ WBUFL (buf, 28 + c * 46) = m->account_id;
+ memcpy (WBUFP (buf, 28 + c * 46 + 4), m->name, 24);
+ memcpy (WBUFP (buf, 28 + c * 46 + 28), m->map, 16);
+ WBUFB (buf, 28 + c * 46 + 44) = (m->leader) ? 0 : 1;
+ WBUFB (buf, 28 + c * 46 + 45) = (m->online) ? 0 : 1;
+ c++;
+ }
+ }
+ WBUFW (buf, 2) = 28 + c * 46;
+ if (fd >= 0)
+ { // fd���ݒ肳���Ă��Ȃ炻���ɑ���
+ memcpy (WFIFOP (fd, 0), buf, WBUFW (buf, 2));
+ WFIFOSET (fd, WFIFOW (fd, 2));
+ return 9;
+ }
+ if (sd != NULL)
+ clif_send (buf, WBUFW (buf, 2), &sd->bl, PARTY);
+ return 0;
}
+
/*==========================================
* �p�[�e�B���U
*------------------------------------------
*/
-int clif_party_invite(struct map_session_data *sd,struct map_session_data *tsd)
+int clif_party_invite (struct map_session_data *sd,
+ struct map_session_data *tsd)
{
- int fd;
- struct party *p;
+ int fd;
+ struct party *p;
- nullpo_retr(0, sd);
- nullpo_retr(0, tsd);
+ nullpo_retr (0, sd);
+ nullpo_retr (0, tsd);
- fd=tsd->fd;
+ fd = tsd->fd;
- if( (p=party_search(sd->status.party_id))==NULL )
- return 0;
+ if ((p = party_search (sd->status.party_id)) == NULL)
+ return 0;
- WFIFOW(fd,0)=0xfe;
- WFIFOL(fd,2)=sd->status.account_id;
- memcpy(WFIFOP(fd,6),p->name,24);
- WFIFOSET(fd,packet_len_table[0xfe]);
- return 0;
+ WFIFOW (fd, 0) = 0xfe;
+ WFIFOL (fd, 2) = sd->status.account_id;
+ memcpy (WFIFOP (fd, 6), p->name, 24);
+ WFIFOSET (fd, packet_len_table[0xfe]);
+ return 0;
}
/*==========================================
* �p�[�e�B���U����
*------------------------------------------
*/
-int clif_party_inviteack(struct map_session_data *sd,char *nick,int flag)
+int clif_party_inviteack (struct map_session_data *sd, char *nick, int flag)
{
- int fd;
+ int fd;
- nullpo_retr(0, sd);
+ nullpo_retr (0, sd);
- fd=sd->fd;
- WFIFOW(fd,0)=0xfd;
- memcpy(WFIFOP(fd,2),nick,24);
- WFIFOB(fd,26)=flag;
- WFIFOSET(fd,packet_len_table[0xfd]);
- return 0;
+ fd = sd->fd;
+ WFIFOW (fd, 0) = 0xfd;
+ memcpy (WFIFOP (fd, 2), nick, 24);
+ WFIFOB (fd, 26) = flag;
+ WFIFOSET (fd, packet_len_table[0xfd]);
+ return 0;
}
/*==========================================
@@ -4852,998 +5320,1083 @@ int clif_party_inviteack(struct map_session_data *sd,char *nick,int flag)
* 0x100=���l�ɂ̂ݑ��M
*------------------------------------------
*/
-int clif_party_option(struct party *p,struct map_session_data *sd,int flag)
+int clif_party_option (struct party *p, struct map_session_data *sd, int flag)
{
- unsigned char buf[16];
+ unsigned char buf[16];
- nullpo_retr(0, p);
+ nullpo_retr (0, p);
-// if(battle_config.etc_log)
-// printf("clif_party_option: %d %d %d\n",p->exp,p->item,flag);
- if(sd==NULL && flag==0){
- int i;
- for(i=0;i<MAX_PARTY;i++)
- if((sd=map_id2sd(p->member[i].account_id))!=NULL)
- break;
- }
- if(sd==NULL)
- return 0;
- WBUFW(buf,0)=0x101;
- WBUFW(buf,2)=((flag&0x01)?2:p->exp);
- WBUFW(buf,4)=((flag&0x10)?2:p->item);
- if(flag==0)
- clif_send(buf,packet_len_table[0x101],&sd->bl,PARTY);
- else {
- memcpy(WFIFOP(sd->fd,0),buf,packet_len_table[0x101]);
- WFIFOSET(sd->fd,packet_len_table[0x101]);
- }
- return 0;
+// if(battle_config.etc_log)
+// printf("clif_party_option: %d %d %d\n",p->exp,p->item,flag);
+ if (sd == NULL && flag == 0)
+ {
+ int i;
+ for (i = 0; i < MAX_PARTY; i++)
+ if ((sd = map_id2sd (p->member[i].account_id)) != NULL)
+ break;
+ }
+ if (sd == NULL)
+ return 0;
+ WBUFW (buf, 0) = 0x101;
+ WBUFW (buf, 2) = ((flag & 0x01) ? 2 : p->exp);
+ WBUFW (buf, 4) = ((flag & 0x10) ? 2 : p->item);
+ if (flag == 0)
+ clif_send (buf, packet_len_table[0x101], &sd->bl, PARTY);
+ else
+ {
+ memcpy (WFIFOP (sd->fd, 0), buf, packet_len_table[0x101]);
+ WFIFOSET (sd->fd, packet_len_table[0x101]);
+ }
+ return 0;
}
+
/*==========================================
* �p�[�e�B�E�ށi�E�ޑO�ɌĂԂ��Ɓj
*------------------------------------------
*/
-int clif_party_leaved(struct party *p,struct map_session_data *sd,int account_id,char *name,int flag)
+int clif_party_leaved (struct party *p, struct map_session_data *sd,
+ int account_id, char *name, int flag)
{
- unsigned char buf[64];
- int i;
-
- nullpo_retr(0, p);
-
- WBUFW(buf,0)=0x105;
- WBUFL(buf,2)=account_id;
- memcpy(WBUFP(buf,6),name,24);
- WBUFB(buf,30)=flag&0x0f;
-
- if((flag&0xf0)==0){
- if(sd==NULL)
- for(i=0;i<MAX_PARTY;i++)
- if((sd=p->member[i].sd)!=NULL)
- break;
- if (sd!=NULL)
- clif_send(buf,packet_len_table[0x105],&sd->bl,PARTY);
- } else if (sd!=NULL) {
- memcpy(WFIFOP(sd->fd,0),buf,packet_len_table[0x105]);
- WFIFOSET(sd->fd,packet_len_table[0x105]);
- }
- return 0;
+ unsigned char buf[64];
+ int i;
+
+ nullpo_retr (0, p);
+
+ WBUFW (buf, 0) = 0x105;
+ WBUFL (buf, 2) = account_id;
+ memcpy (WBUFP (buf, 6), name, 24);
+ WBUFB (buf, 30) = flag & 0x0f;
+
+ if ((flag & 0xf0) == 0)
+ {
+ if (sd == NULL)
+ for (i = 0; i < MAX_PARTY; i++)
+ if ((sd = p->member[i].sd) != NULL)
+ break;
+ if (sd != NULL)
+ clif_send (buf, packet_len_table[0x105], &sd->bl, PARTY);
+ }
+ else if (sd != NULL)
+ {
+ memcpy (WFIFOP (sd->fd, 0), buf, packet_len_table[0x105]);
+ WFIFOSET (sd->fd, packet_len_table[0x105]);
+ }
+ return 0;
}
+
/*==========================================
* �p�[�e�B���b�Z�[�W���M
*------------------------------------------
*/
-int clif_party_message(struct party *p,int account_id,char *mes,int len)
+int clif_party_message (struct party *p, int account_id, char *mes, int len)
{
- struct map_session_data *sd;
- int i;
+ struct map_session_data *sd;
+ int i;
- nullpo_retr(0, p);
+ nullpo_retr (0, p);
- for(i=0;i<MAX_PARTY;i++){
- if((sd=p->member[i].sd)!=NULL)
- break;
- }
- if(sd!=NULL){
- unsigned char buf[1024];
- WBUFW(buf,0)=0x109;
- WBUFW(buf,2)=len+8;
- WBUFL(buf,4)=account_id;
- memcpy(WBUFP(buf,8),mes,len);
- clif_send(buf,len+8,&sd->bl,PARTY);
- }
- return 0;
+ for (i = 0; i < MAX_PARTY; i++)
+ {
+ if ((sd = p->member[i].sd) != NULL)
+ break;
+ }
+ if (sd != NULL)
+ {
+ unsigned char buf[1024];
+ WBUFW (buf, 0) = 0x109;
+ WBUFW (buf, 2) = len + 8;
+ WBUFL (buf, 4) = account_id;
+ memcpy (WBUFP (buf, 8), mes, len);
+ clif_send (buf, len + 8, &sd->bl, PARTY);
+ }
+ return 0;
}
+
/*==========================================
* �p�[�e�B��W�ʒm
*------------------------------------------
*/
-int clif_party_xy(struct party *p,struct map_session_data *sd)
+int clif_party_xy (struct party *p, struct map_session_data *sd)
{
- unsigned char buf[16];
+ unsigned char buf[16];
- nullpo_retr(0, sd);
+ nullpo_retr (0, sd);
- WBUFW(buf,0)=0x107;
- WBUFL(buf,2)=sd->status.account_id;
- WBUFW(buf,6)=sd->bl.x;
- WBUFW(buf,8)=sd->bl.y;
- clif_send(buf,packet_len_table[0x107],&sd->bl,PARTY_SAMEMAP_WOS);
-// if(battle_config.etc_log)
-// printf("clif_party_xy %d\n",sd->status.account_id);
- return 0;
+ WBUFW (buf, 0) = 0x107;
+ WBUFL (buf, 2) = sd->status.account_id;
+ WBUFW (buf, 6) = sd->bl.x;
+ WBUFW (buf, 8) = sd->bl.y;
+ clif_send (buf, packet_len_table[0x107], &sd->bl, PARTY_SAMEMAP_WOS);
+// if(battle_config.etc_log)
+// printf("clif_party_xy %d\n",sd->status.account_id);
+ return 0;
}
+
/*==========================================
* �p�[�e�BHP�ʒm
*------------------------------------------
*/
-int clif_party_hp(struct party *p,struct map_session_data *sd)
+int clif_party_hp (struct party *p, struct map_session_data *sd)
{
- unsigned char buf[16];
+ unsigned char buf[16];
- nullpo_retr(0, sd);
+ nullpo_retr (0, sd);
- WBUFW(buf,0)=0x106;
- WBUFL(buf,2)=sd->status.account_id;
- WBUFW(buf,6)=(sd->status.hp > 0x7fff)? 0x7fff:sd->status.hp;
- WBUFW(buf,8)=(sd->status.max_hp > 0x7fff)? 0x7fff:sd->status.max_hp;
- clif_send(buf,packet_len_table[0x106],&sd->bl,PARTY_AREA_WOS);
-// if(battle_config.etc_log)
-// printf("clif_party_hp %d\n",sd->status.account_id);
- return 0;
+ WBUFW (buf, 0) = 0x106;
+ WBUFL (buf, 2) = sd->status.account_id;
+ WBUFW (buf, 6) = (sd->status.hp > 0x7fff) ? 0x7fff : sd->status.hp;
+ WBUFW (buf, 8) =
+ (sd->status.max_hp > 0x7fff) ? 0x7fff : sd->status.max_hp;
+ clif_send (buf, packet_len_table[0x106], &sd->bl, PARTY_AREA_WOS);
+// if(battle_config.etc_log)
+// printf("clif_party_hp %d\n",sd->status.account_id);
+ return 0;
}
+
/*==========================================
* �p�[�e�B�ꏊ�ړ��i���g�p�j
*------------------------------------------
*/
-int clif_party_move(struct party *p,struct map_session_data *sd,int online)
+int clif_party_move (struct party *p, struct map_session_data *sd, int online)
{
- unsigned char buf[128];
+ unsigned char buf[128];
- nullpo_retr(0, sd);
- nullpo_retr(0, p);
+ nullpo_retr (0, sd);
+ nullpo_retr (0, p);
- WBUFW(buf, 0)=0x104;
- WBUFL(buf, 2)=sd->status.account_id;
- WBUFL(buf, 6)=0;
- WBUFW(buf,10)=sd->bl.x;
- WBUFW(buf,12)=sd->bl.y;
- WBUFB(buf,14)=!online;
- memcpy(WBUFP(buf,15),p->name,24);
- memcpy(WBUFP(buf,39),sd->status.name,24);
- memcpy(WBUFP(buf,63),map[sd->bl.m].name,16);
- clif_send(buf,packet_len_table[0x104],&sd->bl,PARTY);
- return 0;
+ WBUFW (buf, 0) = 0x104;
+ WBUFL (buf, 2) = sd->status.account_id;
+ WBUFL (buf, 6) = 0;
+ WBUFW (buf, 10) = sd->bl.x;
+ WBUFW (buf, 12) = sd->bl.y;
+ WBUFB (buf, 14) = !online;
+ memcpy (WBUFP (buf, 15), p->name, 24);
+ memcpy (WBUFP (buf, 39), sd->status.name, 24);
+ memcpy (WBUFP (buf, 63), map[sd->bl.m].name, 16);
+ clif_send (buf, packet_len_table[0x104], &sd->bl, PARTY);
+ return 0;
}
+
/*==========================================
* �U�����邽�߂Ɉړ����K�v
*------------------------------------------
*/
-int clif_movetoattack(struct map_session_data *sd,struct block_list *bl)
+int clif_movetoattack (struct map_session_data *sd, struct block_list *bl)
{
- int fd;
+ int fd;
- nullpo_retr(0, sd);
- nullpo_retr(0, bl);
+ nullpo_retr (0, sd);
+ nullpo_retr (0, bl);
- fd=sd->fd;
- WFIFOW(fd, 0)=0x139;
- WFIFOL(fd, 2)=bl->id;
- WFIFOW(fd, 6)=bl->x;
- WFIFOW(fd, 8)=bl->y;
- WFIFOW(fd,10)=sd->bl.x;
- WFIFOW(fd,12)=sd->bl.y;
- WFIFOW(fd,14)=sd->attackrange;
- WFIFOSET(fd,packet_len_table[0x139]);
- return 0;
+ fd = sd->fd;
+ WFIFOW (fd, 0) = 0x139;
+ WFIFOL (fd, 2) = bl->id;
+ WFIFOW (fd, 6) = bl->x;
+ WFIFOW (fd, 8) = bl->y;
+ WFIFOW (fd, 10) = sd->bl.x;
+ WFIFOW (fd, 12) = sd->bl.y;
+ WFIFOW (fd, 14) = sd->attackrange;
+ WFIFOSET (fd, packet_len_table[0x139]);
+ return 0;
}
+
/*==========================================
* �����G�t�F�N�g
*------------------------------------------
*/
-int clif_produceeffect(struct map_session_data *sd,int flag,int nameid)
+int clif_produceeffect (struct map_session_data *sd, int flag, int nameid)
{
- int view,fd;
+ int view, fd;
- nullpo_retr(0, sd);
+ nullpo_retr (0, sd);
- fd=sd->fd;
- // ���O�̓o�^�Ƒ��M�����ɂ��Ă���
- if( map_charid2nick(sd->status.char_id)==NULL )
- map_addchariddb(sd->status.char_id,sd->status.name);
- clif_solved_charname(sd,sd->status.char_id);
+ fd = sd->fd;
+ // ���O�̓o�^�Ƒ��M�����ɂ��Ă���
+ if (map_charid2nick (sd->status.char_id) == NULL)
+ map_addchariddb (sd->status.char_id, sd->status.name);
+ clif_solved_charname (sd, sd->status.char_id);
- WFIFOW(fd, 0)=0x18f;
- WFIFOW(fd, 2)=flag;
- if((view = itemdb_viewid(nameid)) > 0)
- WFIFOW(fd, 4)=view;
- else
- WFIFOW(fd, 4)=nameid;
- WFIFOSET(fd,packet_len_table[0x18f]);
- return 0;
+ WFIFOW (fd, 0) = 0x18f;
+ WFIFOW (fd, 2) = flag;
+ if ((view = itemdb_viewid (nameid)) > 0)
+ WFIFOW (fd, 4) = view;
+ else
+ WFIFOW (fd, 4) = nameid;
+ WFIFOSET (fd, packet_len_table[0x18f]);
+ return 0;
}
/*==========================================
* �I�[�g�X�y�� ���X�g���M
*------------------------------------------
*/
-int clif_autospell(struct map_session_data *sd,int skilllv)
-{
- int fd;
-
- nullpo_retr(0, sd);
-
- fd=sd->fd;
- WFIFOW(fd, 0)=0x1cd;
-
- if(skilllv>0 && pc_checkskill(sd,MG_NAPALMBEAT)>0)
- WFIFOL(fd,2)= MG_NAPALMBEAT;
- else
- WFIFOL(fd,2)= 0x00000000;
- if(skilllv>1 && pc_checkskill(sd,MG_COLDBOLT)>0)
- WFIFOL(fd,6)= MG_COLDBOLT;
- else
- WFIFOL(fd,6)= 0x00000000;
- if(skilllv>1 && pc_checkskill(sd,MG_FIREBOLT)>0)
- WFIFOL(fd,10)= MG_FIREBOLT;
- else
- WFIFOL(fd,10)= 0x00000000;
- if(skilllv>1 && pc_checkskill(sd,MG_LIGHTNINGBOLT)>0)
- WFIFOL(fd,14)= MG_LIGHTNINGBOLT;
- else
- WFIFOL(fd,14)= 0x00000000;
- if(skilllv>4 && pc_checkskill(sd,MG_SOULSTRIKE)>0)
- WFIFOL(fd,18)= MG_SOULSTRIKE;
- else
- WFIFOL(fd,18)= 0x00000000;
- if(skilllv>7 && pc_checkskill(sd,MG_FIREBALL)>0)
- WFIFOL(fd,22)= MG_FIREBALL;
- else
- WFIFOL(fd,22)= 0x00000000;
- if(skilllv>9 && pc_checkskill(sd,MG_FROSTDIVER)>0)
- WFIFOL(fd,26)= MG_FROSTDIVER;
- else
- WFIFOL(fd,26)= 0x00000000;
-
- WFIFOSET(fd,packet_len_table[0x1cd]);
- return 0;
+int clif_autospell (struct map_session_data *sd, int skilllv)
+{
+ int fd;
+
+ nullpo_retr (0, sd);
+
+ fd = sd->fd;
+ WFIFOW (fd, 0) = 0x1cd;
+
+ if (skilllv > 0 && pc_checkskill (sd, MG_NAPALMBEAT) > 0)
+ WFIFOL (fd, 2) = MG_NAPALMBEAT;
+ else
+ WFIFOL (fd, 2) = 0x00000000;
+ if (skilllv > 1 && pc_checkskill (sd, MG_COLDBOLT) > 0)
+ WFIFOL (fd, 6) = MG_COLDBOLT;
+ else
+ WFIFOL (fd, 6) = 0x00000000;
+ if (skilllv > 1 && pc_checkskill (sd, MG_FIREBOLT) > 0)
+ WFIFOL (fd, 10) = MG_FIREBOLT;
+ else
+ WFIFOL (fd, 10) = 0x00000000;
+ if (skilllv > 1 && pc_checkskill (sd, MG_LIGHTNINGBOLT) > 0)
+ WFIFOL (fd, 14) = MG_LIGHTNINGBOLT;
+ else
+ WFIFOL (fd, 14) = 0x00000000;
+ if (skilllv > 4 && pc_checkskill (sd, MG_SOULSTRIKE) > 0)
+ WFIFOL (fd, 18) = MG_SOULSTRIKE;
+ else
+ WFIFOL (fd, 18) = 0x00000000;
+ if (skilllv > 7 && pc_checkskill (sd, MG_FIREBALL) > 0)
+ WFIFOL (fd, 22) = MG_FIREBALL;
+ else
+ WFIFOL (fd, 22) = 0x00000000;
+ if (skilllv > 9 && pc_checkskill (sd, MG_FROSTDIVER) > 0)
+ WFIFOL (fd, 26) = MG_FROSTDIVER;
+ else
+ WFIFOL (fd, 26) = 0x00000000;
+
+ WFIFOSET (fd, packet_len_table[0x1cd]);
+ return 0;
}
/*==========================================
* �f�B�{�[�V�����̐‚���
*------------------------------------------
*/
-int clif_devotion(struct map_session_data *sd,int target)
+int clif_devotion (struct map_session_data *sd, int target)
{
- unsigned char buf[56];
- int n;
+ unsigned char buf[56];
+ int n;
- nullpo_retr(0, sd);
+ nullpo_retr (0, sd);
- WBUFW(buf,0)=0x1cf;
- WBUFL(buf,2)=sd->bl.id;
-// WBUFL(buf,6)=target;
- for(n=0;n<5;n++)
- WBUFL(buf,6+4*n)=sd->dev.val2[n];
-// WBUFL(buf,10+4*n)=0;
- WBUFB(buf,26)=8;
- WBUFB(buf,27)=0;
+ WBUFW (buf, 0) = 0x1cf;
+ WBUFL (buf, 2) = sd->bl.id;
+// WBUFL(buf,6)=target;
+ for (n = 0; n < 5; n++)
+ WBUFL (buf, 6 + 4 * n) = sd->dev.val2[n];
+// WBUFL(buf,10+4*n)=0;
+ WBUFB (buf, 26) = 8;
+ WBUFB (buf, 27) = 0;
- clif_send(buf,packet_len_table[0x1cf],&sd->bl,AREA);
- return 0;
+ clif_send (buf, packet_len_table[0x1cf], &sd->bl, AREA);
+ return 0;
}
/*==========================================
* ����
*------------------------------------------
*/
-int clif_spiritball(struct map_session_data *sd)
+int clif_spiritball (struct map_session_data *sd)
{
- unsigned char buf[16];
+ unsigned char buf[16];
- nullpo_retr(0, sd);
+ nullpo_retr (0, sd);
- WBUFW(buf,0)=0x1d0;
- WBUFL(buf,2)=sd->bl.id;
- WBUFW(buf,6)=sd->spiritball;
- clif_send(buf,packet_len_table[0x1d0],&sd->bl,AREA);
- return 0;
+ WBUFW (buf, 0) = 0x1d0;
+ WBUFL (buf, 2) = sd->bl.id;
+ WBUFW (buf, 6) = sd->spiritball;
+ clif_send (buf, packet_len_table[0x1d0], &sd->bl, AREA);
+ return 0;
}
/*==========================================
*
*------------------------------------------
*/
-int clif_combo_delay(struct block_list *bl,int wait)
+int clif_combo_delay (struct block_list *bl, int wait)
{
- unsigned char buf[32];
+ unsigned char buf[32];
- nullpo_retr(0, bl);
+ nullpo_retr (0, bl);
- WBUFW(buf,0)=0x1d2;
- WBUFL(buf,2)=bl->id;
- WBUFL(buf,6)=wait;
- clif_send(buf,packet_len_table[0x1d2],bl,AREA);
+ WBUFW (buf, 0) = 0x1d2;
+ WBUFL (buf, 2) = bl->id;
+ WBUFL (buf, 6) = wait;
+ clif_send (buf, packet_len_table[0x1d2], bl, AREA);
- return 0;
+ return 0;
}
+
/*==========================================
*���n����
*------------------------------------------
*/
-int clif_bladestop(struct block_list *src,struct block_list *dst,
- int bool)
+int clif_bladestop (struct block_list *src, struct block_list *dst, int bool)
{
- unsigned char buf[32];
+ unsigned char buf[32];
- nullpo_retr(0, src);
- nullpo_retr(0, dst);
+ nullpo_retr (0, src);
+ nullpo_retr (0, dst);
- WBUFW(buf,0)=0x1d1;
- WBUFL(buf,2)=src->id;
- WBUFL(buf,6)=dst->id;
- WBUFL(buf,10)=bool;
+ WBUFW (buf, 0) = 0x1d1;
+ WBUFL (buf, 2) = src->id;
+ WBUFL (buf, 6) = dst->id;
+ WBUFL (buf, 10) = bool;
- clif_send(buf,packet_len_table[0x1d1],src,AREA);
+ clif_send (buf, packet_len_table[0x1d1], src, AREA);
- return 0;
+ return 0;
}
/*==========================================
*
*------------------------------------------
*/
-int clif_changemapcell(int m,int x,int y,int cell_type,int type)
+int clif_changemapcell (int m, int x, int y, int cell_type, int type)
{
- struct block_list bl;
- char buf[32];
+ struct block_list bl;
+ char buf[32];
- bl.m = m;
- bl.x = x;
- bl.y = y;
- WBUFW(buf,0) = 0x192;
- WBUFW(buf,2) = x;
- WBUFW(buf,4) = y;
- WBUFW(buf,6) = cell_type;
- memcpy(WBUFP(buf,8),map[m].name,16);
- if(!type)
- clif_send(buf,packet_len_table[0x192],&bl,AREA);
- else
- clif_send(buf,packet_len_table[0x192],&bl,ALL_SAMEMAP);
+ bl.m = m;
+ bl.x = x;
+ bl.y = y;
+ WBUFW (buf, 0) = 0x192;
+ WBUFW (buf, 2) = x;
+ WBUFW (buf, 4) = y;
+ WBUFW (buf, 6) = cell_type;
+ memcpy (WBUFP (buf, 8), map[m].name, 16);
+ if (!type)
+ clif_send (buf, packet_len_table[0x192], &bl, AREA);
+ else
+ clif_send (buf, packet_len_table[0x192], &bl, ALL_SAMEMAP);
- return 0;
+ return 0;
}
/*==========================================
* MVP�G�t�F�N�g
*------------------------------------------
*/
-int clif_mvp_effect(struct map_session_data *sd)
+int clif_mvp_effect (struct map_session_data *sd)
{
- unsigned char buf[16];
+ unsigned char buf[16];
- nullpo_retr(0, sd);
+ nullpo_retr (0, sd);
- WBUFW(buf,0)=0x10c;
- WBUFL(buf,2)=sd->bl.id;
- clif_send(buf,packet_len_table[0x10c],&sd->bl,AREA);
- return 0;
+ WBUFW (buf, 0) = 0x10c;
+ WBUFL (buf, 2) = sd->bl.id;
+ clif_send (buf, packet_len_table[0x10c], &sd->bl, AREA);
+ return 0;
}
+
/*==========================================
* MVP�A�C�e������
*------------------------------------------
*/
-int clif_mvp_item(struct map_session_data *sd,int nameid)
+int clif_mvp_item (struct map_session_data *sd, int nameid)
{
- int view,fd;
+ int view, fd;
- nullpo_retr(0, sd);
+ nullpo_retr (0, sd);
- fd=sd->fd;
- WFIFOW(fd,0)=0x10a;
- if((view = itemdb_viewid(nameid)) > 0)
- WFIFOW(fd,2)=view;
- else
- WFIFOW(fd,2)=nameid;
- WFIFOSET(fd,packet_len_table[0x10a]);
- return 0;
+ fd = sd->fd;
+ WFIFOW (fd, 0) = 0x10a;
+ if ((view = itemdb_viewid (nameid)) > 0)
+ WFIFOW (fd, 2) = view;
+ else
+ WFIFOW (fd, 2) = nameid;
+ WFIFOSET (fd, packet_len_table[0x10a]);
+ return 0;
}
+
/*==========================================
* MVP�o���l����
*------------------------------------------
*/
-int clif_mvp_exp(struct map_session_data *sd,int exp)
+int clif_mvp_exp (struct map_session_data *sd, int exp)
{
- int fd;
+ int fd;
- nullpo_retr(0, sd);
+ nullpo_retr (0, sd);
- fd=sd->fd;
- WFIFOW(fd,0)=0x10b;
- WFIFOL(fd,2)=exp;
- WFIFOSET(fd,packet_len_table[0x10b]);
- return 0;
+ fd = sd->fd;
+ WFIFOW (fd, 0) = 0x10b;
+ WFIFOL (fd, 2) = exp;
+ WFIFOSET (fd, packet_len_table[0x10b]);
+ return 0;
}
/*==========================================
* �M���h�쐬�”ےʒm
*------------------------------------------
*/
-int clif_guild_created(struct map_session_data *sd,int flag)
+int clif_guild_created (struct map_session_data *sd, int flag)
{
- int fd;
+ int fd;
- nullpo_retr(0, sd);
+ nullpo_retr (0, sd);
- fd=sd->fd;
- WFIFOW(fd,0)=0x167;
- WFIFOB(fd,2)=flag;
- WFIFOSET(fd,packet_len_table[0x167]);
- return 0;
+ fd = sd->fd;
+ WFIFOW (fd, 0) = 0x167;
+ WFIFOB (fd, 2) = flag;
+ WFIFOSET (fd, packet_len_table[0x167]);
+ return 0;
}
+
/*==========================================
* �M���h�����ʒm
*------------------------------------------
*/
-int clif_guild_belonginfo(struct map_session_data *sd,struct guild *g)
+int clif_guild_belonginfo (struct map_session_data *sd, struct guild *g)
{
- int ps,fd;
+ int ps, fd;
- nullpo_retr(0, sd);
- nullpo_retr(0, g);
+ nullpo_retr (0, sd);
+ nullpo_retr (0, g);
- fd=sd->fd;
- ps=guild_getposition(sd,g);
+ fd = sd->fd;
+ ps = guild_getposition (sd, g);
- memset(WFIFOP(fd,0),0,packet_len_table[0x16c]);
- WFIFOW(fd,0)=0x16c;
- WFIFOL(fd,2)=g->guild_id;
- WFIFOL(fd,6)=g->emblem_id;
- WFIFOL(fd,10)=g->position[ps].mode;
- memcpy(WFIFOP(fd,19),g->name,24);
- WFIFOSET(fd,packet_len_table[0x16c]);
- return 0;
+ memset (WFIFOP (fd, 0), 0, packet_len_table[0x16c]);
+ WFIFOW (fd, 0) = 0x16c;
+ WFIFOL (fd, 2) = g->guild_id;
+ WFIFOL (fd, 6) = g->emblem_id;
+ WFIFOL (fd, 10) = g->position[ps].mode;
+ memcpy (WFIFOP (fd, 19), g->name, 24);
+ WFIFOSET (fd, packet_len_table[0x16c]);
+ return 0;
}
+
/*==========================================
* �M���h�����o���O�C���ʒm
*------------------------------------------
*/
-int clif_guild_memberlogin_notice(struct guild *g,int idx,int flag)
+int clif_guild_memberlogin_notice (struct guild *g, int idx, int flag)
{
- unsigned char buf[64];
+ unsigned char buf[64];
- nullpo_retr(0, g);
-
- WBUFW(buf, 0)=0x16d;
- WBUFL(buf, 2)=g->member[idx].account_id;
- WBUFL(buf, 6)=g->member[idx].char_id;
- WBUFL(buf,10)=flag;
- if(g->member[idx].sd==NULL){
- struct map_session_data *sd=guild_getavailablesd(g);
- if(sd!=NULL)
- clif_send(buf,packet_len_table[0x16d],&sd->bl,GUILD);
- }else
- clif_send(buf,packet_len_table[0x16d],&g->member[idx].sd->bl,GUILD_WOS);
- return 0;
+ nullpo_retr (0, g);
+
+ WBUFW (buf, 0) = 0x16d;
+ WBUFL (buf, 2) = g->member[idx].account_id;
+ WBUFL (buf, 6) = g->member[idx].char_id;
+ WBUFL (buf, 10) = flag;
+ if (g->member[idx].sd == NULL)
+ {
+ struct map_session_data *sd = guild_getavailablesd (g);
+ if (sd != NULL)
+ clif_send (buf, packet_len_table[0x16d], &sd->bl, GUILD);
+ }
+ else
+ clif_send (buf, packet_len_table[0x16d], &g->member[idx].sd->bl,
+ GUILD_WOS);
+ return 0;
}
+
/*==========================================
* �M���h�}�X�^�[�ʒm(14d�ւ̉���)
*------------------------------------------
*/
-int clif_guild_masterormember(struct map_session_data *sd)
+int clif_guild_masterormember (struct map_session_data *sd)
{
- int type=0x57,fd;
- struct guild *g;
+ int type = 0x57, fd;
+ struct guild *g;
- nullpo_retr(0, sd);
+ nullpo_retr (0, sd);
- fd=sd->fd;
- g=guild_search(sd->status.guild_id);
- if(g!=NULL && strcmp(g->master,sd->status.name)==0)
- type=0xd7;
- WFIFOW(fd,0)=0x14e;
- WFIFOL(fd,2)=type;
- WFIFOSET(fd,packet_len_table[0x14e]);
- return 0;
+ fd = sd->fd;
+ g = guild_search (sd->status.guild_id);
+ if (g != NULL && strcmp (g->master, sd->status.name) == 0)
+ type = 0xd7;
+ WFIFOW (fd, 0) = 0x14e;
+ WFIFOL (fd, 2) = type;
+ WFIFOSET (fd, packet_len_table[0x14e]);
+ return 0;
}
+
/*==========================================
* Basic Info (Territories [Valaris])
*------------------------------------------
*/
-int clif_guild_basicinfo(struct map_session_data *sd)
-{
- int fd,i,t=0;
- struct guild *g;
- struct guild_castle *gc=NULL;
-
- nullpo_retr(0, sd);
-
- fd=sd->fd;
- g=guild_search(sd->status.guild_id);
- if(g==NULL)
- return 0;
-
- WFIFOW(fd, 0)=0x1b6;//0x150;
- WFIFOL(fd, 2)=g->guild_id;
- WFIFOL(fd, 6)=g->guild_lv;
- WFIFOL(fd,10)=g->connect_member;
- WFIFOL(fd,14)=g->max_member;
- WFIFOL(fd,18)=g->average_lv;
- WFIFOL(fd,22)=g->exp;
- WFIFOL(fd,26)=g->next_exp;
- WFIFOL(fd,30)=0; // ���[
- WFIFOL(fd,34)=0; // VW�i���i�̈����H�F�����O���t���E�j
- WFIFOL(fd,38)=0; // RF�i���`�̓x�����H�F�����O���t�㉺�j
- WFIFOL(fd,42)=0; // �l���H
- memcpy(WFIFOP(fd,46),g->name,24);
- memcpy(WFIFOP(fd,70),g->master,24);
-
- for(i=0;i<MAX_GUILDCASTLE;i++){
- gc=guild_castle_search(i);
- if(!gc) continue;
- if(g->guild_id == gc->guild_id) t++;
- }
+int clif_guild_basicinfo (struct map_session_data *sd)
+{
+ int fd, i, t = 0;
+ struct guild *g;
+ struct guild_castle *gc = NULL;
- if (t==1) memcpy(WFIFOP(fd,94),"One Castle",20);
- else if (t==2) memcpy(WFIFOP(fd,94),"Two Castles",20);
- else if (t==3) memcpy(WFIFOP(fd,94),"Three Castles",20);
- else if (t==4) memcpy(WFIFOP(fd,94),"Four Castles",20);
- else if (t==5) memcpy(WFIFOP(fd,94),"Five Castles",20);
- else if (t==6) memcpy(WFIFOP(fd,94),"Six Castles",20);
- else if (t==7) memcpy(WFIFOP(fd,94),"Seven Castles",20);
- else if (t==8) memcpy(WFIFOP(fd,94),"Eight Castles",20);
- else if (t==9) memcpy(WFIFOP(fd,94),"Nine Castles",20);
- else if (t==10) memcpy(WFIFOP(fd,94),"Ten Castles",20);
- else if (t==11) memcpy(WFIFOP(fd,94),"Eleven Castles",20);
- else if (t==12) memcpy(WFIFOP(fd,94),"Twelve Castles",20);
- else if (t==13) memcpy(WFIFOP(fd,94),"Thirteen Castles",20);
- else if (t==14) memcpy(WFIFOP(fd,94),"Fourteen Castles",20);
- else if (t==15) memcpy(WFIFOP(fd,94),"Fifteen Castles",20);
- else if (t==16) memcpy(WFIFOP(fd,94),"Sixteen Castles",20);
- else if (t==17) memcpy(WFIFOP(fd,94),"Seventeen Castles",20);
- else if (t==18) memcpy(WFIFOP(fd,94),"Eighteen Castles",20);
- else if (t==19) memcpy(WFIFOP(fd,94),"Nineteen Castles",20);
- else if (t==20) memcpy(WFIFOP(fd,94),"Twenty Castles",20);
- else if (t==21) memcpy(WFIFOP(fd,94),"Twenty One Castles",20);
- else if (t==22) memcpy(WFIFOP(fd,94),"Twenty Two Castles",20);
- else if (t==23) memcpy(WFIFOP(fd,94),"Twenty Three Castles",20);
- else if (t==24) memcpy(WFIFOP(fd,94),"Twenty Four Castles",20);
- else if (t==MAX_GUILDCASTLE) memcpy(WFIFOP(fd,94),"Total Domination",20);
- else memcpy(WFIFOP(fd,94),"None Taken",20);
-
- WFIFOSET(fd,packet_len_table[WFIFOW(fd,0)]);
- clif_guild_emblem(sd,g); // Guild emblem vanish fix [Valaris]
- return 0;
+ nullpo_retr (0, sd);
+
+ fd = sd->fd;
+ g = guild_search (sd->status.guild_id);
+ if (g == NULL)
+ return 0;
+
+ WFIFOW (fd, 0) = 0x1b6; //0x150;
+ WFIFOL (fd, 2) = g->guild_id;
+ WFIFOL (fd, 6) = g->guild_lv;
+ WFIFOL (fd, 10) = g->connect_member;
+ WFIFOL (fd, 14) = g->max_member;
+ WFIFOL (fd, 18) = g->average_lv;
+ WFIFOL (fd, 22) = g->exp;
+ WFIFOL (fd, 26) = g->next_exp;
+ WFIFOL (fd, 30) = 0; // ���[
+ WFIFOL (fd, 34) = 0; // VW�i���i�̈����H�F�����O���t���E�j
+ WFIFOL (fd, 38) = 0; // RF�i���`�̓x�����H�F�����O���t�㉺�j
+ WFIFOL (fd, 42) = 0; // �l���H
+ memcpy (WFIFOP (fd, 46), g->name, 24);
+ memcpy (WFIFOP (fd, 70), g->master, 24);
+
+ for (i = 0; i < MAX_GUILDCASTLE; i++)
+ {
+ gc = guild_castle_search (i);
+ if (!gc)
+ continue;
+ if (g->guild_id == gc->guild_id)
+ t++;
+ }
+
+ if (t == 1)
+ memcpy (WFIFOP (fd, 94), "One Castle", 20);
+ else if (t == 2)
+ memcpy (WFIFOP (fd, 94), "Two Castles", 20);
+ else if (t == 3)
+ memcpy (WFIFOP (fd, 94), "Three Castles", 20);
+ else if (t == 4)
+ memcpy (WFIFOP (fd, 94), "Four Castles", 20);
+ else if (t == 5)
+ memcpy (WFIFOP (fd, 94), "Five Castles", 20);
+ else if (t == 6)
+ memcpy (WFIFOP (fd, 94), "Six Castles", 20);
+ else if (t == 7)
+ memcpy (WFIFOP (fd, 94), "Seven Castles", 20);
+ else if (t == 8)
+ memcpy (WFIFOP (fd, 94), "Eight Castles", 20);
+ else if (t == 9)
+ memcpy (WFIFOP (fd, 94), "Nine Castles", 20);
+ else if (t == 10)
+ memcpy (WFIFOP (fd, 94), "Ten Castles", 20);
+ else if (t == 11)
+ memcpy (WFIFOP (fd, 94), "Eleven Castles", 20);
+ else if (t == 12)
+ memcpy (WFIFOP (fd, 94), "Twelve Castles", 20);
+ else if (t == 13)
+ memcpy (WFIFOP (fd, 94), "Thirteen Castles", 20);
+ else if (t == 14)
+ memcpy (WFIFOP (fd, 94), "Fourteen Castles", 20);
+ else if (t == 15)
+ memcpy (WFIFOP (fd, 94), "Fifteen Castles", 20);
+ else if (t == 16)
+ memcpy (WFIFOP (fd, 94), "Sixteen Castles", 20);
+ else if (t == 17)
+ memcpy (WFIFOP (fd, 94), "Seventeen Castles", 20);
+ else if (t == 18)
+ memcpy (WFIFOP (fd, 94), "Eighteen Castles", 20);
+ else if (t == 19)
+ memcpy (WFIFOP (fd, 94), "Nineteen Castles", 20);
+ else if (t == 20)
+ memcpy (WFIFOP (fd, 94), "Twenty Castles", 20);
+ else if (t == 21)
+ memcpy (WFIFOP (fd, 94), "Twenty One Castles", 20);
+ else if (t == 22)
+ memcpy (WFIFOP (fd, 94), "Twenty Two Castles", 20);
+ else if (t == 23)
+ memcpy (WFIFOP (fd, 94), "Twenty Three Castles", 20);
+ else if (t == 24)
+ memcpy (WFIFOP (fd, 94), "Twenty Four Castles", 20);
+ else if (t == MAX_GUILDCASTLE)
+ memcpy (WFIFOP (fd, 94), "Total Domination", 20);
+ else
+ memcpy (WFIFOP (fd, 94), "None Taken", 20);
+
+ WFIFOSET (fd, packet_len_table[WFIFOW (fd, 0)]);
+ clif_guild_emblem (sd, g); // Guild emblem vanish fix [Valaris]
+ return 0;
}
/*==========================================
* �M���h����/�G�Ώ���
*------------------------------------------
*/
-int clif_guild_allianceinfo(struct map_session_data *sd)
+int clif_guild_allianceinfo (struct map_session_data *sd)
{
- int fd,i,c;
- struct guild *g;
+ int fd, i, c;
+ struct guild *g;
- nullpo_retr(0, sd);
+ nullpo_retr (0, sd);
- fd=sd->fd;
- g=guild_search(sd->status.guild_id);
- if(g==NULL)
- return 0;
- WFIFOW(fd, 0)=0x14c;
- for(i=c=0;i<MAX_GUILDALLIANCE;i++){
- struct guild_alliance *a=&g->alliance[i];
- if(a->guild_id>0){
- WFIFOL(fd,c*32+4)=a->opposition;
- WFIFOL(fd,c*32+8)=a->guild_id;
- memcpy(WFIFOP(fd,c*32+12),a->name,24);
- c++;
- }
- }
- WFIFOW(fd, 2)=c*32+4;
- WFIFOSET(fd,WFIFOW(fd,2));
- return 0;
+ fd = sd->fd;
+ g = guild_search (sd->status.guild_id);
+ if (g == NULL)
+ return 0;
+ WFIFOW (fd, 0) = 0x14c;
+ for (i = c = 0; i < MAX_GUILDALLIANCE; i++)
+ {
+ struct guild_alliance *a = &g->alliance[i];
+ if (a->guild_id > 0)
+ {
+ WFIFOL (fd, c * 32 + 4) = a->opposition;
+ WFIFOL (fd, c * 32 + 8) = a->guild_id;
+ memcpy (WFIFOP (fd, c * 32 + 12), a->name, 24);
+ c++;
+ }
+ }
+ WFIFOW (fd, 2) = c * 32 + 4;
+ WFIFOSET (fd, WFIFOW (fd, 2));
+ return 0;
}
/*==========================================
* �M���h�����o�[���X�g
*------------------------------------------
*/
-int clif_guild_memberlist(struct map_session_data *sd)
-{
- int fd;
- int i,c;
- struct guild *g;
-
- nullpo_retr(0, sd);
-
- fd=sd->fd;
- g=guild_search(sd->status.guild_id);
- if(g==NULL)
- return 0;
-
- WFIFOW(fd, 0)=0x154;
- for(i=0,c=0;i<g->max_member;i++){
- struct guild_member *m=&g->member[i];
- if(m->account_id==0)
- continue;
- WFIFOL(fd,c*104+ 4)=m->account_id;
- WFIFOL(fd,c*104+ 8)=m->char_id;
- WFIFOW(fd,c*104+12)=m->hair;
- WFIFOW(fd,c*104+14)=m->hair_color;
- WFIFOW(fd,c*104+16)=m->gender;
- WFIFOW(fd,c*104+18)=m->class;
- WFIFOW(fd,c*104+20)=m->lv;
- WFIFOL(fd,c*104+22)=m->exp;
- WFIFOL(fd,c*104+26)=m->online;
- WFIFOL(fd,c*104+30)=m->position;
- memset(WFIFOP(fd,c*104+34),0,50); // �����H
- memcpy(WFIFOP(fd,c*104+84),m->name,24);
- c++;
- }
- WFIFOW(fd, 2)=c*104+4;
- WFIFOSET(fd,WFIFOW(fd,2));
- return 0;
+int clif_guild_memberlist (struct map_session_data *sd)
+{
+ int fd;
+ int i, c;
+ struct guild *g;
+
+ nullpo_retr (0, sd);
+
+ fd = sd->fd;
+ g = guild_search (sd->status.guild_id);
+ if (g == NULL)
+ return 0;
+
+ WFIFOW (fd, 0) = 0x154;
+ for (i = 0, c = 0; i < g->max_member; i++)
+ {
+ struct guild_member *m = &g->member[i];
+ if (m->account_id == 0)
+ continue;
+ WFIFOL (fd, c * 104 + 4) = m->account_id;
+ WFIFOL (fd, c * 104 + 8) = m->char_id;
+ WFIFOW (fd, c * 104 + 12) = m->hair;
+ WFIFOW (fd, c * 104 + 14) = m->hair_color;
+ WFIFOW (fd, c * 104 + 16) = m->gender;
+ WFIFOW (fd, c * 104 + 18) = m->class;
+ WFIFOW (fd, c * 104 + 20) = m->lv;
+ WFIFOL (fd, c * 104 + 22) = m->exp;
+ WFIFOL (fd, c * 104 + 26) = m->online;
+ WFIFOL (fd, c * 104 + 30) = m->position;
+ memset (WFIFOP (fd, c * 104 + 34), 0, 50); // �����H
+ memcpy (WFIFOP (fd, c * 104 + 84), m->name, 24);
+ c++;
+ }
+ WFIFOW (fd, 2) = c * 104 + 4;
+ WFIFOSET (fd, WFIFOW (fd, 2));
+ return 0;
}
+
/*==========================================
* �M���h���E�����X�g
*------------------------------------------
*/
-int clif_guild_positionnamelist(struct map_session_data *sd)
+int clif_guild_positionnamelist (struct map_session_data *sd)
{
- int i,fd;
- struct guild *g;
+ int i, fd;
+ struct guild *g;
- nullpo_retr(0, sd);
+ nullpo_retr (0, sd);
- fd=sd->fd;
- g=guild_search(sd->status.guild_id);
- if(g==NULL)
- return 0;
- WFIFOW(fd, 0)=0x166;
- for(i=0;i<MAX_GUILDPOSITION;i++){
- WFIFOL(fd,i*28+4)=i;
- memcpy(WFIFOP(fd,i*28+8),g->position[i].name,24);
- }
- WFIFOW(fd,2)=i*28+4;
- WFIFOSET(fd,WFIFOW(fd,2));
- return 0;
+ fd = sd->fd;
+ g = guild_search (sd->status.guild_id);
+ if (g == NULL)
+ return 0;
+ WFIFOW (fd, 0) = 0x166;
+ for (i = 0; i < MAX_GUILDPOSITION; i++)
+ {
+ WFIFOL (fd, i * 28 + 4) = i;
+ memcpy (WFIFOP (fd, i * 28 + 8), g->position[i].name, 24);
+ }
+ WFIFOW (fd, 2) = i * 28 + 4;
+ WFIFOSET (fd, WFIFOW (fd, 2));
+ return 0;
}
+
/*==========================================
* �M���h���E���񃊃X�g
*------------------------------------------
*/
-int clif_guild_positioninfolist(struct map_session_data *sd)
+int clif_guild_positioninfolist (struct map_session_data *sd)
{
- int i,fd;
- struct guild *g;
+ int i, fd;
+ struct guild *g;
- nullpo_retr(0, sd);
+ nullpo_retr (0, sd);
- fd=sd->fd;
- g=guild_search(sd->status.guild_id);
- if(g==NULL)
- return 0;
- WFIFOW(fd, 0)=0x160;
- for(i=0;i<MAX_GUILDPOSITION;i++){
- struct guild_position *p=&g->position[i];
- WFIFOL(fd,i*16+ 4)=i;
- WFIFOL(fd,i*16+ 8)=p->mode;
- WFIFOL(fd,i*16+12)=i;
- WFIFOL(fd,i*16+16)=p->exp_mode;
- }
- WFIFOW(fd, 2)=i*16+4;
- WFIFOSET(fd,WFIFOW(fd,2));
- return 0;
+ fd = sd->fd;
+ g = guild_search (sd->status.guild_id);
+ if (g == NULL)
+ return 0;
+ WFIFOW (fd, 0) = 0x160;
+ for (i = 0; i < MAX_GUILDPOSITION; i++)
+ {
+ struct guild_position *p = &g->position[i];
+ WFIFOL (fd, i * 16 + 4) = i;
+ WFIFOL (fd, i * 16 + 8) = p->mode;
+ WFIFOL (fd, i * 16 + 12) = i;
+ WFIFOL (fd, i * 16 + 16) = p->exp_mode;
+ }
+ WFIFOW (fd, 2) = i * 16 + 4;
+ WFIFOSET (fd, WFIFOW (fd, 2));
+ return 0;
}
+
/*==========================================
* �M���h���E�ύX�ʒm
*------------------------------------------
*/
-int clif_guild_positionchanged(struct guild *g,int idx)
+int clif_guild_positionchanged (struct guild *g, int idx)
{
- struct map_session_data *sd;
- unsigned char buf[128];
+ struct map_session_data *sd;
+ unsigned char buf[128];
- nullpo_retr(0, g);
+ nullpo_retr (0, g);
- WBUFW(buf, 0)=0x174;
- WBUFW(buf, 2)=44;
- WBUFL(buf, 4)=idx;
- WBUFL(buf, 8)=g->position[idx].mode;
- WBUFL(buf,12)=idx;
- WBUFL(buf,16)=g->position[idx].exp_mode;
- memcpy(WBUFP(buf,20),g->position[idx].name,24);
- if( (sd=guild_getavailablesd(g))!=NULL )
- clif_send(buf,WBUFW(buf,2),&sd->bl,GUILD);
- return 0;
+ WBUFW (buf, 0) = 0x174;
+ WBUFW (buf, 2) = 44;
+ WBUFL (buf, 4) = idx;
+ WBUFL (buf, 8) = g->position[idx].mode;
+ WBUFL (buf, 12) = idx;
+ WBUFL (buf, 16) = g->position[idx].exp_mode;
+ memcpy (WBUFP (buf, 20), g->position[idx].name, 24);
+ if ((sd = guild_getavailablesd (g)) != NULL)
+ clif_send (buf, WBUFW (buf, 2), &sd->bl, GUILD);
+ return 0;
}
+
/*==========================================
* �M���h�����o�ύX�ʒm
*------------------------------------------
*/
-int clif_guild_memberpositionchanged(struct guild *g,int idx)
+int clif_guild_memberpositionchanged (struct guild *g, int idx)
{
- struct map_session_data *sd;
- unsigned char buf[64];
+ struct map_session_data *sd;
+ unsigned char buf[64];
- nullpo_retr(0, g);
+ nullpo_retr (0, g);
- WBUFW(buf, 0)=0x156;
- WBUFW(buf, 2)=16;
- WBUFL(buf, 4)=g->member[idx].account_id;
- WBUFL(buf, 8)=g->member[idx].char_id;
- WBUFL(buf,12)=g->member[idx].position;
- if( (sd=guild_getavailablesd(g))!=NULL )
- clif_send(buf,WBUFW(buf,2),&sd->bl,GUILD);
- return 0;
+ WBUFW (buf, 0) = 0x156;
+ WBUFW (buf, 2) = 16;
+ WBUFL (buf, 4) = g->member[idx].account_id;
+ WBUFL (buf, 8) = g->member[idx].char_id;
+ WBUFL (buf, 12) = g->member[idx].position;
+ if ((sd = guild_getavailablesd (g)) != NULL)
+ clif_send (buf, WBUFW (buf, 2), &sd->bl, GUILD);
+ return 0;
}
+
/*==========================================
* �M���h�G���u�������M
*------------------------------------------
*/
-int clif_guild_emblem(struct map_session_data *sd,struct guild *g)
+int clif_guild_emblem (struct map_session_data *sd, struct guild *g)
{
- int fd;
+ int fd;
- nullpo_retr(0, sd);
- nullpo_retr(0, g);
+ nullpo_retr (0, sd);
+ nullpo_retr (0, g);
- fd=sd->fd;
+ fd = sd->fd;
- if(g->emblem_len<=0)
- return 0;
- WFIFOW(fd,0)=0x152;
- WFIFOW(fd,2)=g->emblem_len+12;
- WFIFOL(fd,4)=g->guild_id;
- WFIFOL(fd,8)=g->emblem_id;
- memcpy(WFIFOP(fd,12),g->emblem_data,g->emblem_len);
- WFIFOSET(fd,WFIFOW(fd,2));
- return 0;
+ if (g->emblem_len <= 0)
+ return 0;
+ WFIFOW (fd, 0) = 0x152;
+ WFIFOW (fd, 2) = g->emblem_len + 12;
+ WFIFOL (fd, 4) = g->guild_id;
+ WFIFOL (fd, 8) = g->emblem_id;
+ memcpy (WFIFOP (fd, 12), g->emblem_data, g->emblem_len);
+ WFIFOSET (fd, WFIFOW (fd, 2));
+ return 0;
}
+
/*==========================================
* �M���h�X�L�����M
*------------------------------------------
*/
-int clif_guild_skillinfo(struct map_session_data *sd)
-{
- int fd;
- int i,id,c;
- struct guild *g;
-
- nullpo_retr(0, sd);
-
- fd=sd->fd;
- g=guild_search(sd->status.guild_id);
- if(g==NULL)
- return 0;
- WFIFOW(fd,0)=0x0162;
- WFIFOW(fd,4)=g->skill_point;
- for(i=c=0;i<MAX_GUILDSKILL;i++){
- if(g->skill[i].id>0){
- WFIFOW(fd,c*37+ 6) = id = g->skill[i].id;
- WFIFOW(fd,c*37+ 8) = guild_skill_get_inf(id);
- WFIFOW(fd,c*37+10) = 0;
- WFIFOW(fd,c*37+12) = g->skill[i].lv;
- WFIFOW(fd,c*37+14) = guild_skill_get_sp(id,g->skill[i].lv);
- WFIFOW(fd,c*37+16) = guild_skill_get_range(id);
- memset(WFIFOP(fd,c*37+18),0,24);
- WFIFOB(fd,c*37+42)= //up;
- (g->skill[i].lv < guild_skill_get_max(id))? 1:0;
- c++;
- }
- }
- WFIFOW(fd,2)=c*37+6;
- WFIFOSET(fd,WFIFOW(fd,2));
- return 0;
+int clif_guild_skillinfo (struct map_session_data *sd)
+{
+ int fd;
+ int i, id, c;
+ struct guild *g;
+
+ nullpo_retr (0, sd);
+
+ fd = sd->fd;
+ g = guild_search (sd->status.guild_id);
+ if (g == NULL)
+ return 0;
+ WFIFOW (fd, 0) = 0x0162;
+ WFIFOW (fd, 4) = g->skill_point;
+ for (i = c = 0; i < MAX_GUILDSKILL; i++)
+ {
+ if (g->skill[i].id > 0)
+ {
+ WFIFOW (fd, c * 37 + 6) = id = g->skill[i].id;
+ WFIFOW (fd, c * 37 + 8) = guild_skill_get_inf (id);
+ WFIFOW (fd, c * 37 + 10) = 0;
+ WFIFOW (fd, c * 37 + 12) = g->skill[i].lv;
+ WFIFOW (fd, c * 37 + 14) =
+ guild_skill_get_sp (id, g->skill[i].lv);
+ WFIFOW (fd, c * 37 + 16) = guild_skill_get_range (id);
+ memset (WFIFOP (fd, c * 37 + 18), 0, 24);
+ WFIFOB (fd, c * 37 + 42) = //up;
+ (g->skill[i].lv < guild_skill_get_max (id)) ? 1 : 0;
+ c++;
+ }
+ }
+ WFIFOW (fd, 2) = c * 37 + 6;
+ WFIFOSET (fd, WFIFOW (fd, 2));
+ return 0;
}
+
/*==========================================
* �M���h���m���M
*------------------------------------------
*/
-int clif_guild_notice(struct map_session_data *sd,struct guild *g)
+int clif_guild_notice (struct map_session_data *sd, struct guild *g)
{
- int fd;
+ int fd;
- nullpo_retr(0, sd);
- nullpo_retr(0, g);
+ nullpo_retr (0, sd);
+ nullpo_retr (0, g);
- fd=sd->fd;
- if(*g->mes1==0 && *g->mes2==0)
- return 0;
- WFIFOW(fd,0)=0x16f;
- memcpy(WFIFOP(fd,2),g->mes1,60);
- memcpy(WFIFOP(fd,62),g->mes2,120);
- WFIFOSET(fd,packet_len_table[0x16f]);
- return 0;
+ fd = sd->fd;
+ if (*g->mes1 == 0 && *g->mes2 == 0)
+ return 0;
+ WFIFOW (fd, 0) = 0x16f;
+ memcpy (WFIFOP (fd, 2), g->mes1, 60);
+ memcpy (WFIFOP (fd, 62), g->mes2, 120);
+ WFIFOSET (fd, packet_len_table[0x16f]);
+ return 0;
}
/*==========================================
* �M���h�����o���U
*------------------------------------------
*/
-int clif_guild_invite(struct map_session_data *sd,struct guild *g)
+int clif_guild_invite (struct map_session_data *sd, struct guild *g)
{
- int fd;
+ int fd;
- nullpo_retr(0, sd);
- nullpo_retr(0, g);
+ nullpo_retr (0, sd);
+ nullpo_retr (0, g);
- fd=sd->fd;
- WFIFOW(fd,0)=0x16a;
- WFIFOL(fd,2)=g->guild_id;
- memcpy(WFIFOP(fd,6),g->name,24);
- WFIFOSET(fd,packet_len_table[0x16a]);
- return 0;
+ fd = sd->fd;
+ WFIFOW (fd, 0) = 0x16a;
+ WFIFOL (fd, 2) = g->guild_id;
+ memcpy (WFIFOP (fd, 6), g->name, 24);
+ WFIFOSET (fd, packet_len_table[0x16a]);
+ return 0;
}
+
/*==========================================
* �M���h�����o���U����
*------------------------------------------
*/
-int clif_guild_inviteack(struct map_session_data *sd,int flag)
+int clif_guild_inviteack (struct map_session_data *sd, int flag)
{
- int fd;
+ int fd;
- nullpo_retr(0, sd);
+ nullpo_retr (0, sd);
- fd=sd->fd;
- WFIFOW(fd,0)=0x169;
- WFIFOB(fd,2)=flag;
- WFIFOSET(fd,packet_len_table[0x169]);
- return 0;
+ fd = sd->fd;
+ WFIFOW (fd, 0) = 0x169;
+ WFIFOB (fd, 2) = flag;
+ WFIFOSET (fd, packet_len_table[0x169]);
+ return 0;
}
+
/*==========================================
* �M���h�����o�E�ޒʒm
*------------------------------------------
*/
-int clif_guild_leave(struct map_session_data *sd,const char *name,const char *mes)
+int clif_guild_leave (struct map_session_data *sd, const char *name,
+ const char *mes)
{
- unsigned char buf[128];
+ unsigned char buf[128];
- nullpo_retr(0, sd);
+ nullpo_retr (0, sd);
- WBUFW(buf, 0)=0x15a;
- memcpy(WBUFP(buf, 2),name,24);
- memcpy(WBUFP(buf,26),mes,40);
- clif_send(buf,packet_len_table[0x15a],&sd->bl,GUILD);
- return 0;
+ WBUFW (buf, 0) = 0x15a;
+ memcpy (WBUFP (buf, 2), name, 24);
+ memcpy (WBUFP (buf, 26), mes, 40);
+ clif_send (buf, packet_len_table[0x15a], &sd->bl, GUILD);
+ return 0;
}
+
/*==========================================
* �M���h�����o�Ǖ��ʒm
*------------------------------------------
*/
-int clif_guild_explusion(struct map_session_data *sd,const char *name,const char *mes,
- int account_id)
+int clif_guild_explusion (struct map_session_data *sd, const char *name,
+ const char *mes, int account_id)
{
- unsigned char buf[128];
+ unsigned char buf[128];
- nullpo_retr(0, sd);
+ nullpo_retr (0, sd);
- WBUFW(buf, 0)=0x15c;
- memcpy(WBUFP(buf, 2),name,24);
- memcpy(WBUFP(buf,26),mes,40);
- memcpy(WBUFP(buf,66),"dummy",24);
- clif_send(buf,packet_len_table[0x15c],&sd->bl,GUILD);
- return 0;
+ WBUFW (buf, 0) = 0x15c;
+ memcpy (WBUFP (buf, 2), name, 24);
+ memcpy (WBUFP (buf, 26), mes, 40);
+ memcpy (WBUFP (buf, 66), "dummy", 24);
+ clif_send (buf, packet_len_table[0x15c], &sd->bl, GUILD);
+ return 0;
}
+
/*==========================================
* �M���h�Ǖ������o���X�g
*------------------------------------------
*/
-int clif_guild_explusionlist(struct map_session_data *sd)
+int clif_guild_explusionlist (struct map_session_data *sd)
{
- int fd;
- int i,c;
- struct guild *g;
+ int fd;
+ int i, c;
+ struct guild *g;
- nullpo_retr(0, sd);
+ nullpo_retr (0, sd);
- fd=sd->fd;
- g=guild_search(sd->status.guild_id);
- if(g==NULL)
- return 0;
- WFIFOW(fd,0)=0x163;
- for(i=c=0;i<MAX_GUILDEXPLUSION;i++){
- struct guild_explusion *e=&g->explusion[i];
- if(e->account_id>0){
- memcpy(WFIFOP(fd,c*88+ 4),e->name,24);
- memcpy(WFIFOP(fd,c*88+28),e->acc,24);
- memcpy(WFIFOP(fd,c*88+52),e->mes,44);
- c++;
- }
- }
- WFIFOW(fd,2)=c*88+4;
- WFIFOSET(fd,WFIFOW(fd,2));
- return 0;
+ fd = sd->fd;
+ g = guild_search (sd->status.guild_id);
+ if (g == NULL)
+ return 0;
+ WFIFOW (fd, 0) = 0x163;
+ for (i = c = 0; i < MAX_GUILDEXPLUSION; i++)
+ {
+ struct guild_explusion *e = &g->explusion[i];
+ if (e->account_id > 0)
+ {
+ memcpy (WFIFOP (fd, c * 88 + 4), e->name, 24);
+ memcpy (WFIFOP (fd, c * 88 + 28), e->acc, 24);
+ memcpy (WFIFOP (fd, c * 88 + 52), e->mes, 44);
+ c++;
+ }
+ }
+ WFIFOW (fd, 2) = c * 88 + 4;
+ WFIFOSET (fd, WFIFOW (fd, 2));
+ return 0;
}
/*==========================================
* �M���h���b
*------------------------------------------
*/
-int clif_guild_message(struct guild *g,int account_id,const char *mes,int len)
+int clif_guild_message (struct guild *g, int account_id, const char *mes,
+ int len)
{
- struct map_session_data *sd;
- unsigned char lbuf[255];
- unsigned char *buf = lbuf;
- if (len + 32 >= sizeof(lbuf))
- buf = malloc(len + 32);
- WBUFW(buf, 0)=0x17f;
- WBUFW(buf, 2)=len+4;
- memcpy(WBUFP(buf,4),mes,len);
+ struct map_session_data *sd;
+ unsigned char lbuf[255];
+ unsigned char *buf = lbuf;
+ if (len + 32 >= sizeof (lbuf))
+ buf = malloc (len + 32);
+ WBUFW (buf, 0) = 0x17f;
+ WBUFW (buf, 2) = len + 4;
+ memcpy (WBUFP (buf, 4), mes, len);
- if( (sd=guild_getavailablesd(g))!=NULL )
- clif_send(buf,WBUFW(buf,2),&sd->bl,GUILD);
- if ( buf != lbuf)
- free(buf);
- return 0;
+ if ((sd = guild_getavailablesd (g)) != NULL)
+ clif_send (buf, WBUFW (buf, 2), &sd->bl, GUILD);
+ if (buf != lbuf)
+ free (buf);
+ return 0;
}
+
/*==========================================
* �M���h�X�L�������U���ʒm
*------------------------------------------
*/
-int clif_guild_skillup(struct map_session_data *sd,int skill_num,int lv)
+int clif_guild_skillup (struct map_session_data *sd, int skill_num, int lv)
{
- int fd;
+ int fd;
- nullpo_retr(0, sd);
+ nullpo_retr (0, sd);
- fd=sd->fd;
- WFIFOW(fd,0) = 0x10e;
- WFIFOW(fd,2) = skill_num;
- WFIFOW(fd,4) = lv;
- WFIFOW(fd,6) = guild_skill_get_sp(skill_num,lv);
- WFIFOW(fd,8) = guild_skill_get_range(skill_num);
- WFIFOB(fd,10) = 1;
- WFIFOSET(fd,11);
- return 0;
+ fd = sd->fd;
+ WFIFOW (fd, 0) = 0x10e;
+ WFIFOW (fd, 2) = skill_num;
+ WFIFOW (fd, 4) = lv;
+ WFIFOW (fd, 6) = guild_skill_get_sp (skill_num, lv);
+ WFIFOW (fd, 8) = guild_skill_get_range (skill_num);
+ WFIFOB (fd, 10) = 1;
+ WFIFOSET (fd, 11);
+ return 0;
}
+
/*==========================================
* �M���h�����v��
*------------------------------------------
*/
-int clif_guild_reqalliance(struct map_session_data *sd,int account_id,const char *name)
+int clif_guild_reqalliance (struct map_session_data *sd, int account_id,
+ const char *name)
{
- int fd;
+ int fd;
- nullpo_retr(0, sd);
+ nullpo_retr (0, sd);
- fd=sd->fd;
- WFIFOW(fd,0)=0x171;
- WFIFOL(fd,2)=account_id;
- memcpy(WFIFOP(fd,6),name,24);
- WFIFOSET(fd,packet_len_table[0x171]);
- return 0;
+ fd = sd->fd;
+ WFIFOW (fd, 0) = 0x171;
+ WFIFOL (fd, 2) = account_id;
+ memcpy (WFIFOP (fd, 6), name, 24);
+ WFIFOSET (fd, packet_len_table[0x171]);
+ return 0;
}
+
/*==========================================
* �M���h��������
*------------------------------------------
*/
-int clif_guild_allianceack(struct map_session_data *sd,int flag)
+int clif_guild_allianceack (struct map_session_data *sd, int flag)
{
- int fd;
+ int fd;
- nullpo_retr(0, sd);
+ nullpo_retr (0, sd);
- fd=sd->fd;
- WFIFOW(fd,0)=0x173;
- WFIFOL(fd,2)=flag;
- WFIFOSET(fd,packet_len_table[0x173]);
- return 0;
+ fd = sd->fd;
+ WFIFOW (fd, 0) = 0x173;
+ WFIFOL (fd, 2) = flag;
+ WFIFOSET (fd, packet_len_table[0x173]);
+ return 0;
}
+
/*==========================================
* �M���h�֌W����ʒm
*------------------------------------------
*/
-int clif_guild_delalliance(struct map_session_data *sd,int guild_id,int flag)
+int clif_guild_delalliance (struct map_session_data *sd, int guild_id,
+ int flag)
{
- int fd;
+ int fd;
- nullpo_retr(0, sd);
+ nullpo_retr (0, sd);
- fd=sd->fd;
- WFIFOW(fd,0)=0x184;
- WFIFOL(fd,2)=guild_id;
- WFIFOL(fd,6)=flag;
- WFIFOSET(fd,packet_len_table[0x184]);
- return 0;
+ fd = sd->fd;
+ WFIFOW (fd, 0) = 0x184;
+ WFIFOL (fd, 2) = guild_id;
+ WFIFOL (fd, 6) = flag;
+ WFIFOSET (fd, packet_len_table[0x184]);
+ return 0;
}
+
/*==========================================
* �M���h�G�Ό���
*------------------------------------------
*/
-int clif_guild_oppositionack(struct map_session_data *sd,int flag)
+int clif_guild_oppositionack (struct map_session_data *sd, int flag)
{
- int fd;
+ int fd;
- nullpo_retr(0, sd);
+ nullpo_retr (0, sd);
- fd=sd->fd;
- WFIFOW(fd,0)=0x181;
- WFIFOB(fd,2)=flag;
- WFIFOSET(fd,packet_len_table[0x181]);
- return 0;
+ fd = sd->fd;
+ WFIFOW (fd, 0) = 0x181;
+ WFIFOB (fd, 2) = flag;
+ WFIFOSET (fd, packet_len_table[0x181]);
+ return 0;
}
+
/*==========================================
* �M���h�֌W�lj�
*------------------------------------------
@@ -5863,84 +6416,87 @@ int clif_guild_oppositionack(struct map_session_data *sd,int flag)
* �M���h���U�ʒm
*------------------------------------------
*/
-int clif_guild_broken(struct map_session_data *sd,int flag)
+int clif_guild_broken (struct map_session_data *sd, int flag)
{
- int fd;
+ int fd;
- nullpo_retr(0, sd);
+ nullpo_retr (0, sd);
- fd=sd->fd;
- WFIFOW(fd,0)=0x15e;
- WFIFOL(fd,2)=flag;
- WFIFOSET(fd,packet_len_table[0x15e]);
- return 0;
+ fd = sd->fd;
+ WFIFOW (fd, 0) = 0x15e;
+ WFIFOL (fd, 2) = flag;
+ WFIFOSET (fd, packet_len_table[0x15e]);
+ return 0;
}
/*==========================================
* �G���[�V����
*------------------------------------------
*/
-void clif_emotion(struct block_list *bl,int type)
+void clif_emotion (struct block_list *bl, int type)
{
- unsigned char buf[8];
+ unsigned char buf[8];
- nullpo_retv(bl);
+ nullpo_retv (bl);
- WBUFW(buf,0)=0xc0;
- WBUFL(buf,2)=bl->id;
- WBUFB(buf,6)=type;
- clif_send(buf,packet_len_table[0xc0],bl,AREA);
+ WBUFW (buf, 0) = 0xc0;
+ WBUFL (buf, 2) = bl->id;
+ WBUFB (buf, 6) = type;
+ clif_send (buf, packet_len_table[0xc0], bl, AREA);
}
-static void clif_emotion_towards(struct block_list *bl, struct block_list *target, int type)
+static void clif_emotion_towards (struct block_list *bl,
+ struct block_list *target, int type)
{
- unsigned char buf[8];
- int len = packet_len_table[0xc0];
- struct map_session_data *sd = (struct map_session_data *) target;
+ unsigned char buf[8];
+ int len = packet_len_table[0xc0];
+ struct map_session_data *sd = (struct map_session_data *) target;
- nullpo_retv(bl);
- nullpo_retv(target);
+ nullpo_retv (bl);
+ nullpo_retv (target);
- if (target->type != BL_PC)
- return;
+ if (target->type != BL_PC)
+ return;
- WBUFW(buf,0)=0xc0;
- WBUFL(buf,2)=bl->id;
- WBUFB(buf,6)=type;
+ WBUFW (buf, 0) = 0xc0;
+ WBUFL (buf, 2) = bl->id;
+ WBUFB (buf, 6) = type;
- memcpy(WFIFOP(sd->fd,0), buf, len);
- WFIFOSET(sd->fd,len);
+ memcpy (WFIFOP (sd->fd, 0), buf, len);
+ WFIFOSET (sd->fd, len);
}
/*==========================================
* �g�[�L�[�{�b�N�X
*------------------------------------------
*/
-void clif_talkiebox(struct block_list *bl,char* talkie)
+void clif_talkiebox (struct block_list *bl, char *talkie)
{
- unsigned char buf[86];
+ unsigned char buf[86];
- nullpo_retv(bl);
+ nullpo_retv (bl);
- WBUFW(buf,0)=0x191;
- WBUFL(buf,2)=bl->id;
- memcpy(WBUFP(buf,6),talkie,80);
- clif_send(buf,packet_len_table[0x191],bl,AREA);
+ WBUFW (buf, 0) = 0x191;
+ WBUFL (buf, 2) = bl->id;
+ memcpy (WBUFP (buf, 6), talkie, 80);
+ clif_send (buf, packet_len_table[0x191], bl, AREA);
}
/*==========================================
* �����G�t�F�N�g
*------------------------------------------
*/
-void clif_wedding_effect(struct block_list *bl) {
- unsigned char buf[6];
+void clif_wedding_effect (struct block_list *bl)
+{
+ unsigned char buf[6];
- nullpo_retv(bl);
+ nullpo_retv (bl);
- WBUFW(buf,0) = 0x1ea;
- WBUFL(buf,2) = bl->id;
- clif_send(buf, packet_len_table[0x1ea], bl, AREA);
+ WBUFW (buf, 0) = 0x1ea;
+ WBUFL (buf, 2) = bl->id;
+ clif_send (buf, packet_len_table[0x1ea], bl, AREA);
}
+
/*==========================================
* ���Ȃ��Ɉ��������g�p�����O����
*------------------------------------------
@@ -5971,39 +6527,40 @@ void clif_callpartner(struct map_session_data *sd)
* ���
*------------------------------------------
*/
-void clif_sitting(int fd, struct map_session_data *sd)
+void clif_sitting (int fd, struct map_session_data *sd)
{
- unsigned char buf[64];
+ unsigned char buf[64];
- nullpo_retv(sd);
+ nullpo_retv (sd);
- WBUFW(buf, 0) = 0x8a;
- WBUFL(buf, 2) = sd->bl.id;
- WBUFB(buf,26) = 2;
- clif_send(buf, packet_len_table[0x8a], &sd->bl, AREA);
+ WBUFW (buf, 0) = 0x8a;
+ WBUFL (buf, 2) = sd->bl.id;
+ WBUFB (buf, 26) = 2;
+ clif_send (buf, packet_len_table[0x8a], &sd->bl, AREA);
}
/*==========================================
*
*------------------------------------------
*/
-int clif_disp_onlyself(struct map_session_data *sd, char *mes, int len)
+int clif_disp_onlyself (struct map_session_data *sd, char *mes, int len)
{
- unsigned char lbuf[255];
- unsigned char *buf = (len + 32 >= sizeof(lbuf)) ? malloc(len + 32) : lbuf;
+ unsigned char lbuf[255];
+ unsigned char *buf =
+ (len + 32 >= sizeof (lbuf)) ? malloc (len + 32) : lbuf;
- nullpo_retr(0, sd);
+ nullpo_retr (0, sd);
- WBUFW(buf, 0) = 0x17f;
- WBUFW(buf, 2) = len + 8;
- memcpy(WBUFP(buf,4), mes, len + 4);
+ WBUFW (buf, 0) = 0x17f;
+ WBUFW (buf, 2) = len + 8;
+ memcpy (WBUFP (buf, 4), mes, len + 4);
- clif_send(buf, WBUFW(buf,2), &sd->bl, SELF);
+ clif_send (buf, WBUFW (buf, 2), &sd->bl, SELF);
- if (buf != lbuf)
- free(buf);
+ if (buf != lbuf)
+ free (buf);
- return 0;
+ return 0;
}
/*==========================================
@@ -6011,118 +6568,129 @@ int clif_disp_onlyself(struct map_session_data *sd, char *mes, int len)
*------------------------------------------
*/
-int clif_GM_kickack(struct map_session_data *sd, int id)
+int clif_GM_kickack (struct map_session_data *sd, int id)
{
- int fd;
+ int fd;
- nullpo_retr(0, sd);
+ nullpo_retr (0, sd);
- fd = sd->fd;
- WFIFOW(fd,0) = 0xcd;
- WFIFOL(fd,2) = id;
- WFIFOSET(fd, packet_len_table[0xcd]);
- return 0;
+ fd = sd->fd;
+ WFIFOW (fd, 0) = 0xcd;
+ WFIFOL (fd, 2) = id;
+ WFIFOSET (fd, packet_len_table[0xcd]);
+ return 0;
}
-void clif_parse_QuitGame(int fd,struct map_session_data *sd);
+void clif_parse_QuitGame (int fd, struct map_session_data *sd);
-int clif_GM_kick(struct map_session_data *sd,struct map_session_data *tsd,int type)
+int clif_GM_kick (struct map_session_data *sd, struct map_session_data *tsd,
+ int type)
{
- nullpo_retr(0, tsd);
+ nullpo_retr (0, tsd);
- if(type)
- clif_GM_kickack(sd,tsd->status.account_id);
- tsd->opt1 = tsd->opt2 = 0;
- clif_parse_QuitGame(tsd->fd,tsd);
+ if (type)
+ clif_GM_kickack (sd, tsd->status.account_id);
+ tsd->opt1 = tsd->opt2 = 0;
+ clif_parse_QuitGame (tsd->fd, tsd);
- return 0;
+ return 0;
}
+
/*==========================================
* Wis���ۋ��‰���
*------------------------------------------
*/
-int clif_wisexin(struct map_session_data *sd,int type,int flag)
+int clif_wisexin (struct map_session_data *sd, int type, int flag)
{
- int fd;
+ int fd;
- nullpo_retr(0, sd);
+ nullpo_retr (0, sd);
- fd=sd->fd;
- WFIFOW(fd,0)=0xd1;
- WFIFOB(fd,2)=type;
- WFIFOB(fd,3)=flag;
- WFIFOSET(fd,packet_len_table[0xd1]);
+ fd = sd->fd;
+ WFIFOW (fd, 0) = 0xd1;
+ WFIFOB (fd, 2) = type;
+ WFIFOB (fd, 3) = flag;
+ WFIFOSET (fd, packet_len_table[0xd1]);
- return 0;
+ return 0;
}
+
/*==========================================
* Wis�S���ۋ��‰���
*------------------------------------------
*/
-int clif_wisall(struct map_session_data *sd,int type,int flag)
+int clif_wisall (struct map_session_data *sd, int type, int flag)
{
- int fd;
+ int fd;
- nullpo_retr(0, sd);
+ nullpo_retr (0, sd);
- fd=sd->fd;
- WFIFOW(fd,0)=0xd2;
- WFIFOB(fd,2)=type;
- WFIFOB(fd,3)=flag;
- WFIFOSET(fd,packet_len_table[0xd2]);
+ fd = sd->fd;
+ WFIFOW (fd, 0) = 0xd2;
+ WFIFOB (fd, 2) = type;
+ WFIFOB (fd, 3) = flag;
+ WFIFOSET (fd, packet_len_table[0xd2]);
- return 0;
+ return 0;
}
+
/*==========================================
* �T�E���h�G�t�F�N�g
*------------------------------------------
*/
-void clif_soundeffect(struct map_session_data *sd,struct block_list *bl,char *name,int type)
+void clif_soundeffect (struct map_session_data *sd, struct block_list *bl,
+ char *name, int type)
{
- int fd;
+ int fd;
- nullpo_retv(sd);
- nullpo_retv(bl);
+ nullpo_retv (sd);
+ nullpo_retv (bl);
- fd=sd->fd;
- WFIFOW(fd,0)=0x1d3;
- memcpy(WFIFOP(fd,2),name,24);
- WFIFOB(fd,26)=type;
- WFIFOL(fd,27)=0;
- WFIFOL(fd,31)=bl->id;
- WFIFOSET(fd,packet_len_table[0x1d3]);
+ fd = sd->fd;
+ WFIFOW (fd, 0) = 0x1d3;
+ memcpy (WFIFOP (fd, 2), name, 24);
+ WFIFOB (fd, 26) = type;
+ WFIFOL (fd, 27) = 0;
+ WFIFOL (fd, 31) = bl->id;
+ WFIFOSET (fd, packet_len_table[0x1d3]);
- return;
+ return;
}
+
// displaying special effects (npcs, weather, etc) [Valaris]
-int clif_specialeffect(struct block_list *bl, int type, int flag) {
- unsigned char buf[24];
+int clif_specialeffect (struct block_list *bl, int type, int flag)
+{
+ unsigned char buf[24];
- nullpo_retr(0, bl);
+ nullpo_retr (0, bl);
- memset(buf, 0, packet_len_table[0x19b]);
+ memset (buf, 0, packet_len_table[0x19b]);
- WBUFW(buf,0) = 0x19b;
- WBUFL(buf,2) = bl->id;
- WBUFL(buf,6) = type;
+ WBUFW (buf, 0) = 0x19b;
+ WBUFL (buf, 2) = bl->id;
+ WBUFL (buf, 6) = type;
- if (flag==2) {
- struct map_session_data *sd=NULL;
- int i;
- for(i=0; i < fd_max; i++) {
- if (session[i] && (sd = session[i]->session_data) != NULL && sd->state.auth && sd->bl.m == bl->m)
- clif_specialeffect(&sd->bl,type,1);
- }
- }
-
- else if (flag==1)
- clif_send(buf, packet_len_table[0x19b], bl, SELF);
- else if (!flag)
- clif_send(buf, packet_len_table[0x19b], bl, AREA);
+ if (flag == 2)
+ {
+ struct map_session_data *sd = NULL;
+ int i;
+ for (i = 0; i < fd_max; i++)
+ {
+ if (session[i] && (sd = session[i]->session_data) != NULL
+ && sd->state.auth && sd->bl.m == bl->m)
+ clif_specialeffect (&sd->bl, type, 1);
+ }
+ }
- return 0;
+ else if (flag == 1)
+ clif_send (buf, packet_len_table[0x19b], bl, SELF);
+ else if (!flag)
+ clif_send (buf, packet_len_table[0x19b], bl, AREA);
+
+ return 0;
}
+
// ------------
// clif_parse_*
// ------------
@@ -6131,45 +6699,56 @@ int clif_specialeffect(struct block_list *bl, int type, int flag) {
*
*------------------------------------------
*/
-void clif_parse_WantToConnection(int fd, struct map_session_data *sd)
-{
- struct map_session_data *old_sd;
- int account_id; // account_id in the packet
-
- if (sd) {
- if (battle_config.error_log)
- printf("clif_parse_WantToConnection : invalid request?\n");
- return;
- }
-
- if (RFIFOW(fd,0) == 0x72) {
- account_id = RFIFOL(fd,2);
- } else return; // Not the auth packet
-
- WFIFOL(fd,0) = account_id;
- WFIFOSET(fd,4);
-
- // if same account already connected, we disconnect the 2 sessions
- if ((old_sd = map_id2sd(account_id)) != NULL) {
- clif_authfail_fd(fd, 2); // same id
- clif_authfail_fd(old_sd->fd, 2); // same id
- printf("clif_parse_WantToConnection: Double connection for account %d (sessions: #%d (new) and #%d (old)).\n", account_id, fd, old_sd->fd);
- } else {
- sd = session[fd]->session_data = calloc(sizeof(*sd), 1);
- if (sd == NULL) {
- printf("out of memory : clif_parse_WantToConnection\n");
- exit(1);
- }
- sd->fd = fd;
+void clif_parse_WantToConnection (int fd, struct map_session_data *sd)
+{
+ struct map_session_data *old_sd;
+ int account_id; // account_id in the packet
+
+ if (sd)
+ {
+ if (battle_config.error_log)
+ printf ("clif_parse_WantToConnection : invalid request?\n");
+ return;
+ }
+
+ if (RFIFOW (fd, 0) == 0x72)
+ {
+ account_id = RFIFOL (fd, 2);
+ }
+ else
+ return; // Not the auth packet
+
+ WFIFOL (fd, 0) = account_id;
+ WFIFOSET (fd, 4);
+
+ // if same account already connected, we disconnect the 2 sessions
+ if ((old_sd = map_id2sd (account_id)) != NULL)
+ {
+ clif_authfail_fd (fd, 2); // same id
+ clif_authfail_fd (old_sd->fd, 2); // same id
+ printf
+ ("clif_parse_WantToConnection: Double connection for account %d (sessions: #%d (new) and #%d (old)).\n",
+ account_id, fd, old_sd->fd);
+ }
+ else
+ {
+ sd = session[fd]->session_data = calloc (sizeof (*sd), 1);
+ if (sd == NULL)
+ {
+ printf ("out of memory : clif_parse_WantToConnection\n");
+ exit (1);
+ }
+ sd->fd = fd;
- pc_setnewpc(sd, account_id, RFIFOL(fd,6), RFIFOL(fd,10), RFIFOL(fd,14), RFIFOB(fd,18), fd);
+ pc_setnewpc (sd, account_id, RFIFOL (fd, 6), RFIFOL (fd, 10),
+ RFIFOL (fd, 14), RFIFOB (fd, 18), fd);
- map_addiddb(&sd->bl);
+ map_addiddb (&sd->bl);
- chrif_authreq(sd);
- }
+ chrif_authreq (sd);
+ }
- return;
+ return;
}
/*==========================================
@@ -6177,189 +6756,218 @@ void clif_parse_WantToConnection(int fd, struct map_session_data *sd)
* map�N�����ɕK�v�ȃf�[�^���S�đ����‚���
*------------------------------------------
*/
-void clif_parse_LoadEndAck(int fd,struct map_session_data *sd)
-{
-// struct item_data* item;
- int i;
- nullpo_retv(sd);
-
- if(sd->bl.prev != NULL)
- return;
-
- // �ڑ�ok��
- //clif_authok();
- if(sd->npc_id) npc_event_dequeue(sd);
- clif_skillinfoblock(sd);
- pc_checkitem(sd);
- //guild_info();
-
- // loadendack��
- // next exp
- clif_updatestatus(sd,SP_NEXTBASEEXP);
- clif_updatestatus(sd,SP_NEXTJOBEXP);
- // skill point
- clif_updatestatus(sd,SP_SKILLPOINT);
- // item
- clif_itemlist(sd);
- clif_equiplist(sd);
- // cart
- if(pc_iscarton(sd)){
- clif_cart_itemlist(sd);
- clif_cart_equiplist(sd);
- clif_updatestatus(sd,SP_CARTINFO);
- }
- // param all
- clif_initialstatus(sd);
- // party
- party_send_movemap(sd);
- // guild
- guild_send_memberinfoshort(sd,1);
- // 119
- // 78
-
- if(battle_config.pc_invincible_time > 0) {
- if(map[sd->bl.m].flag.gvg)
- pc_setinvincibletimer(sd,battle_config.pc_invincible_time<<1);
- else
- pc_setinvincibletimer(sd,battle_config.pc_invincible_time);
- }
-
- map_addblock(&sd->bl); // �u���b�N�o�^
- clif_spawnpc(sd); // spawn
-
- // weight max , now
- clif_updatestatus(sd,SP_MAXWEIGHT);
- clif_updatestatus(sd,SP_WEIGHT);
-
- // pvp
- if(sd->pvp_timer!=-1 && !battle_config.pk_mode)
- delete_timer(sd->pvp_timer,pc_calc_pvprank_timer);
- if(map[sd->bl.m].flag.pvp){
- if(!battle_config.pk_mode) { // remove pvp stuff for pk_mode [Valaris]
- sd->pvp_timer=add_timer(gettick()+200,pc_calc_pvprank_timer,sd->bl.id,0);
- sd->pvp_rank=0;
- sd->pvp_lastusers=0;
- sd->pvp_point=5;
- }
- clif_set0199(sd->fd,1);
- } else {
- sd->pvp_timer=-1;
- }
- if(map[sd->bl.m].flag.gvg) {
- clif_set0199(sd->fd,3);
- }
-
- if(sd->state.connect_new) {
- sd->state.connect_new = 0;
- if(sd->status.class != sd->view_class)
- clif_changelook(&sd->bl,LOOK_BASE,sd->view_class);
+void clif_parse_LoadEndAck (int fd, struct map_session_data *sd)
+{
+// struct item_data* item;
+ int i;
+ nullpo_retv (sd);
+
+ if (sd->bl.prev != NULL)
+ return;
+
+ // �ڑ�ok��
+ //clif_authok();
+ if (sd->npc_id)
+ npc_event_dequeue (sd);
+ clif_skillinfoblock (sd);
+ pc_checkitem (sd);
+ //guild_info();
+
+ // loadendack��
+ // next exp
+ clif_updatestatus (sd, SP_NEXTBASEEXP);
+ clif_updatestatus (sd, SP_NEXTJOBEXP);
+ // skill point
+ clif_updatestatus (sd, SP_SKILLPOINT);
+ // item
+ clif_itemlist (sd);
+ clif_equiplist (sd);
+ // cart
+ if (pc_iscarton (sd))
+ {
+ clif_cart_itemlist (sd);
+ clif_cart_equiplist (sd);
+ clif_updatestatus (sd, SP_CARTINFO);
+ }
+ // param all
+ clif_initialstatus (sd);
+ // party
+ party_send_movemap (sd);
+ // guild
+ guild_send_memberinfoshort (sd, 1);
+ // 119
+ // 78
+
+ if (battle_config.pc_invincible_time > 0)
+ {
+ if (map[sd->bl.m].flag.gvg)
+ pc_setinvincibletimer (sd, battle_config.pc_invincible_time << 1);
+ else
+ pc_setinvincibletimer (sd, battle_config.pc_invincible_time);
+ }
+
+ map_addblock (&sd->bl); // �u���b�N�o�^
+ clif_spawnpc (sd); // spawn
+
+ // weight max , now
+ clif_updatestatus (sd, SP_MAXWEIGHT);
+ clif_updatestatus (sd, SP_WEIGHT);
+
+ // pvp
+ if (sd->pvp_timer != -1 && !battle_config.pk_mode)
+ delete_timer (sd->pvp_timer, pc_calc_pvprank_timer);
+ if (map[sd->bl.m].flag.pvp)
+ {
+ if (!battle_config.pk_mode)
+ { // remove pvp stuff for pk_mode [Valaris]
+ sd->pvp_timer =
+ add_timer (gettick () + 200, pc_calc_pvprank_timer, sd->bl.id,
+ 0);
+ sd->pvp_rank = 0;
+ sd->pvp_lastusers = 0;
+ sd->pvp_point = 5;
+ }
+ clif_set0199 (sd->fd, 1);
+ }
+ else
+ {
+ sd->pvp_timer = -1;
+ }
+ if (map[sd->bl.m].flag.gvg)
+ {
+ clif_set0199 (sd->fd, 3);
+ }
+
+ if (sd->state.connect_new)
+ {
+ sd->state.connect_new = 0;
+ if (sd->status.class != sd->view_class)
+ clif_changelook (&sd->bl, LOOK_BASE, sd->view_class);
/* Stop players from spawning inside castles [Valaris] */
- {
- struct guild_castle *gc=guild_mapname2gc(map[sd->bl.m].name);
- if (gc)
- pc_setpos(sd,sd->status.save_point.map,sd->status.save_point.x,sd->status.save_point.y,2);
- }
+ {
+ struct guild_castle *gc = guild_mapname2gc (map[sd->bl.m].name);
+ if (gc)
+ pc_setpos (sd, sd->status.save_point.map,
+ sd->status.save_point.x, sd->status.save_point.y,
+ 2);
+ }
/* End Addition [Valaris] */
- }
-
- // view equipment item
- clif_changelook(&sd->bl,LOOK_WEAPON,0);
- if(battle_config.save_clothcolor==1 && sd->status.clothes_color > 0)
- clif_changelook(&sd->bl,LOOK_CLOTHES_COLOR,sd->status.clothes_color);
-
- if(sd->status.hp<sd->status.max_hp>>2 && pc_checkskill(sd,SM_AUTOBERSERK)>0 &&
- (sd->sc_data[SC_PROVOKE].timer==-1 || sd->sc_data[SC_PROVOKE].val2==0 ))
- // �I�[�g�o�[�T�[�N����
- skill_status_change_start(&sd->bl,SC_PROVOKE,10,1,0,0,0,0);
-
-// if(time(&timer) < ((weddingtime=pc_readglobalreg(sd,"PC_WEDDING_TIME")) + 3600))
-// skill_status_change_start(&sd->bl,SC_WEDDING,0,weddingtime,0,0,36000,0);
-
- if(battle_config.muting_players && sd->status.manner < 0)
- skill_status_change_start(&sd->bl,SC_NOCHAT,0,0,0,0,0,0);
-
- // option
- clif_changeoption(&sd->bl);
- if(sd->sc_data[SC_TRICKDEAD].timer != -1)
- skill_status_change_end(&sd->bl,SC_TRICKDEAD,-1);
- if(sd->sc_data[SC_SIGNUMCRUCIS].timer != -1 && !battle_check_undead(7,sd->def_ele))
- skill_status_change_end(&sd->bl,SC_SIGNUMCRUCIS,-1);
- if(sd->special_state.infinite_endure && sd->sc_data[SC_ENDURE].timer == -1)
- skill_status_change_start(&sd->bl,SC_ENDURE,10,1,0,0,0,0);
- for(i=0;i<MAX_INVENTORY;i++){
- if(sd->status.inventory[i].equip && sd->status.inventory[i].equip & 0x0002 && sd->status.inventory[i].broken==1)
- skill_status_change_start(&sd->bl,SC_BROKNWEAPON,0,0,0,0,0,0);
- if(sd->status.inventory[i].equip && sd->status.inventory[i].equip & 0x0010 && sd->status.inventory[i].broken==1)
- skill_status_change_start(&sd->bl,SC_BROKNARMOR,0,0,0,0,0,0);
- }
+ }
+
+ // view equipment item
+ clif_changelook (&sd->bl, LOOK_WEAPON, 0);
+ if (battle_config.save_clothcolor == 1 && sd->status.clothes_color > 0)
+ clif_changelook (&sd->bl, LOOK_CLOTHES_COLOR,
+ sd->status.clothes_color);
+
+ if (sd->status.hp < sd->status.max_hp >> 2
+ && pc_checkskill (sd, SM_AUTOBERSERK) > 0
+ && (sd->sc_data[SC_PROVOKE].timer == -1
+ || sd->sc_data[SC_PROVOKE].val2 == 0))
+ // �I�[�g�o�[�T�[�N����
+ skill_status_change_start (&sd->bl, SC_PROVOKE, 10, 1, 0, 0, 0, 0);
+
+// if(time(&timer) < ((weddingtime=pc_readglobalreg(sd,"PC_WEDDING_TIME")) + 3600))
+// skill_status_change_start(&sd->bl,SC_WEDDING,0,weddingtime,0,0,36000,0);
+
+ if (battle_config.muting_players && sd->status.manner < 0)
+ skill_status_change_start (&sd->bl, SC_NOCHAT, 0, 0, 0, 0, 0, 0);
+
+ // option
+ clif_changeoption (&sd->bl);
+ if (sd->sc_data[SC_TRICKDEAD].timer != -1)
+ skill_status_change_end (&sd->bl, SC_TRICKDEAD, -1);
+ if (sd->sc_data[SC_SIGNUMCRUCIS].timer != -1
+ && !battle_check_undead (7, sd->def_ele))
+ skill_status_change_end (&sd->bl, SC_SIGNUMCRUCIS, -1);
+ if (sd->special_state.infinite_endure
+ && sd->sc_data[SC_ENDURE].timer == -1)
+ skill_status_change_start (&sd->bl, SC_ENDURE, 10, 1, 0, 0, 0, 0);
+ for (i = 0; i < MAX_INVENTORY; i++)
+ {
+ if (sd->status.inventory[i].equip
+ && sd->status.inventory[i].equip & 0x0002
+ && sd->status.inventory[i].broken == 1)
+ skill_status_change_start (&sd->bl, SC_BROKNWEAPON, 0, 0, 0, 0, 0,
+ 0);
+ if (sd->status.inventory[i].equip
+ && sd->status.inventory[i].equip & 0x0010
+ && sd->status.inventory[i].broken == 1)
+ skill_status_change_start (&sd->bl, SC_BROKNARMOR, 0, 0, 0, 0, 0,
+ 0);
+ }
// clif_changelook_accessories(sd, NULL);
- map_foreachinarea(clif_getareachar,sd->bl.m,sd->bl.x-AREA_SIZE,sd->bl.y-AREA_SIZE,sd->bl.x+AREA_SIZE,sd->bl.y+AREA_SIZE,0,sd);
+ map_foreachinarea (clif_getareachar, sd->bl.m, sd->bl.x - AREA_SIZE,
+ sd->bl.y - AREA_SIZE, sd->bl.x + AREA_SIZE,
+ sd->bl.y + AREA_SIZE, 0, sd);
}
/*==========================================
*
*------------------------------------------
*/
-void clif_parse_TickSend(int fd, struct map_session_data *sd) {
- nullpo_retv(sd);
+void clif_parse_TickSend (int fd, struct map_session_data *sd)
+{
+ nullpo_retv (sd);
- sd->client_tick = RFIFOL(fd,2);
- sd->server_tick = gettick();
- clif_servertick(sd);
+ sd->client_tick = RFIFOL (fd, 2);
+ sd->server_tick = gettick ();
+ clif_servertick (sd);
}
/*==========================================
*
*------------------------------------------
*/
-void clif_parse_WalkToXY(int fd, struct map_session_data *sd) {
- int x, y;
+void clif_parse_WalkToXY (int fd, struct map_session_data *sd)
+{
+ int x, y;
- nullpo_retv(sd);
+ nullpo_retv (sd);
- if (pc_isdead(sd)) {
- clif_clearchar_area(&sd->bl, 1);
- return;
- }
+ if (pc_isdead (sd))
+ {
+ clif_clearchar_area (&sd->bl, 1);
+ return;
+ }
- if (sd->npc_id != 0 || sd->state.storage_flag)
- return;
+ if (sd->npc_id != 0 || sd->state.storage_flag)
+ return;
- if (sd->skilltimer != -1 && pc_checkskill(sd, SA_FREECAST) <= 0) // �t���[�L���X�g
- return;
+ if (sd->skilltimer != -1 && pc_checkskill (sd, SA_FREECAST) <= 0) // �t���[�L���X�g
+ return;
- if (sd->chatID)
- return;
+ if (sd->chatID)
+ return;
- if (sd->canmove_tick > gettick())
- return;
+ if (sd->canmove_tick > gettick ())
+ return;
- // �X�e�[�^�X�ُ����n�C�f�B���O��(�g���l���h���C�u��)�œ����Ȃ�
- if ((sd->opt1 > 0 && sd->opt1 != 6) ||
- sd->sc_data[SC_ANKLE].timer !=-1 || //�A���N���X�l�A
- sd->sc_data[SC_AUTOCOUNTER].timer !=-1 || //�I�[�g�J�E���^�[
- sd->sc_data[SC_TRICKDEAD].timer !=-1 || //���񂾂ӂ�
- sd->sc_data[SC_BLADESTOP].timer !=-1 || //���n����
- sd->sc_data[SC_SPIDERWEB].timer !=-1 || //�X�p�C�_�[�E�F�b�u
- (sd->sc_data[SC_DANCING].timer !=-1 && sd->sc_data[SC_DANCING].val4)) //���t�X�L�����t���͓����Ȃ�
- return;
- if ((sd->status.option & 2) && pc_checkskill(sd, RG_TUNNELDRIVE) <= 0)
- return;
+ // �X�e�[�^�X�ُ����n�C�f�B���O��(�g���l���h���C�u��)�œ����Ȃ�
+ if ((sd->opt1 > 0 && sd->opt1 != 6) || sd->sc_data[SC_ANKLE].timer != -1 || //�A���N���X�l�A
+ sd->sc_data[SC_AUTOCOUNTER].timer != -1 || //�I�[�g�J�E���^�[
+ sd->sc_data[SC_TRICKDEAD].timer != -1 || //���񂾂ӂ�
+ sd->sc_data[SC_BLADESTOP].timer != -1 || //���n����
+ sd->sc_data[SC_SPIDERWEB].timer != -1 || //�X�p�C�_�[�E�F�b�u
+ (sd->sc_data[SC_DANCING].timer != -1 && sd->sc_data[SC_DANCING].val4)) //���t�X�L�����t���͓����Ȃ�
+ return;
+ if ((sd->status.option & 2) && pc_checkskill (sd, RG_TUNNELDRIVE) <= 0)
+ return;
- if (sd->invincible_timer != -1)
- pc_delinvincibletimer(sd);
+ if (sd->invincible_timer != -1)
+ pc_delinvincibletimer (sd);
- pc_stopattack(sd);
+ pc_stopattack (sd);
- x = RFIFOB(fd,2) * 4 + (RFIFOB(fd,3) >> 6);
- y = ((RFIFOB(fd,3) & 0x3f) << 4) + (RFIFOB(fd,4) >> 4);
- pc_walktoxy(sd, x, y);
+ x = RFIFOB (fd, 2) * 4 + (RFIFOB (fd, 3) >> 6);
+ y = ((RFIFOB (fd, 3) & 0x3f) << 4) + (RFIFOB (fd, 4) >> 4);
+ pc_walktoxy (sd, x, y);
}
@@ -6367,30 +6975,41 @@ void clif_parse_WalkToXY(int fd, struct map_session_data *sd) {
*
*------------------------------------------
*/
-void clif_parse_QuitGame(int fd, struct map_session_data *sd) {
- unsigned int tick=gettick();
- struct skill_unit_group* sg;
+void clif_parse_QuitGame (int fd, struct map_session_data *sd)
+{
+ unsigned int tick = gettick ();
+ struct skill_unit_group *sg;
- nullpo_retv(sd);
+ nullpo_retv (sd);
- WFIFOW(fd,0) = 0x18b;
- if ((!pc_isdead(sd) && (sd->opt1 || (sd->opt2 && !(night_flag == 1 && sd->opt2 == STATE_BLIND)))) ||
- sd->skilltimer != -1 ||
- (DIFF_TICK(tick , sd->canact_tick) < 0) ||
- (sd->sc_data && sd->sc_data[SC_DANCING].timer!=-1 && sd->sc_data[SC_DANCING].val4 && (sg=(struct skill_unit_group *)sd->sc_data[SC_DANCING].val2) && sg->src_id == sd->bl.id)) {
- WFIFOW(fd,2)=1;
- WFIFOSET(fd,packet_len_table[0x18b]);
- return;
- }
+ WFIFOW (fd, 0) = 0x18b;
+ if ((!pc_isdead (sd)
+ && (sd->opt1
+ || (sd->opt2 && !(night_flag == 1 && sd->opt2 == STATE_BLIND))))
+ || sd->skilltimer != -1 || (DIFF_TICK (tick, sd->canact_tick) < 0)
+ || (sd->sc_data && sd->sc_data[SC_DANCING].timer != -1
+ && sd->sc_data[SC_DANCING].val4
+ && (sg = (struct skill_unit_group *) sd->sc_data[SC_DANCING].val2)
+ && sg->src_id == sd->bl.id))
+ {
+ WFIFOW (fd, 2) = 1;
+ WFIFOSET (fd, packet_len_table[0x18b]);
+ return;
+ }
- /* Rovert's prevent logout option fixed [Valaris] */
- if ((battle_config.prevent_logout && (gettick() - sd->canlog_tick) >= 10000) || (!battle_config.prevent_logout)) {
- clif_setwaitclose(fd);
- WFIFOW(fd,2)=0;
- } else {
- WFIFOW(fd,2)=1;
- }
- WFIFOSET(fd,packet_len_table[0x18b]);
+ /* Rovert's prevent logout option fixed [Valaris] */
+ if ((battle_config.prevent_logout
+ && (gettick () - sd->canlog_tick) >= 10000)
+ || (!battle_config.prevent_logout))
+ {
+ clif_setwaitclose (fd);
+ WFIFOW (fd, 2) = 0;
+ }
+ else
+ {
+ WFIFOW (fd, 2) = 1;
+ }
+ WFIFOSET (fd, packet_len_table[0x18b]);
}
@@ -6398,237 +7017,261 @@ void clif_parse_QuitGame(int fd, struct map_session_data *sd) {
*
*------------------------------------------
*/
-void clif_parse_GetCharNameRequest(int fd, struct map_session_data *sd) {
- struct block_list *bl;
- int account_id;
-
- account_id = RFIFOL(fd,2);
- bl = map_id2bl(account_id);
- if (bl == NULL)
- return;
-
- WFIFOW(fd,0) = 0x95;
- WFIFOL(fd,2) = account_id;
-
- switch(bl->type) {
- case BL_PC:
- {
- struct map_session_data *ssd = (struct map_session_data *)bl;
- struct party *p = NULL;
- struct guild *g = NULL;
-
- nullpo_retv(ssd);
-
- if (ssd->state.shroud_active)
- memset(WFIFOP(fd,6), 0, 24);
+void clif_parse_GetCharNameRequest (int fd, struct map_session_data *sd)
+{
+ struct block_list *bl;
+ int account_id;
+
+ account_id = RFIFOL (fd, 2);
+ bl = map_id2bl (account_id);
+ if (bl == NULL)
+ return;
+
+ WFIFOW (fd, 0) = 0x95;
+ WFIFOL (fd, 2) = account_id;
+
+ switch (bl->type)
+ {
+ case BL_PC:
+ {
+ struct map_session_data *ssd = (struct map_session_data *) bl;
+ struct party *p = NULL;
+ struct guild *g = NULL;
+
+ nullpo_retv (ssd);
+
+ if (ssd->state.shroud_active)
+ memset (WFIFOP (fd, 6), 0, 24);
+ else
+ memcpy (WFIFOP (fd, 6), ssd->status.name, 24);
+ if (ssd->status.guild_id > 0
+ && (g = guild_search (ssd->status.guild_id)) != NULL
+ && (ssd->status.party_id == 0
+ || (p = party_search (ssd->status.party_id)) != NULL))
+ {
+ // �M���h�����Ȃ��p�P�b�g0195���Ԃ�
+ int i, ps = -1;
+ for (i = 0; i < g->max_member; i++)
+ {
+ if (g->member[i].account_id == ssd->status.account_id &&
+ g->member[i].char_id == ssd->status.char_id)
+ ps = g->member[i].position;
+ }
+ if (ps >= 0 && ps < MAX_GUILDPOSITION)
+ {
+ WFIFOW (fd, 0) = 0x195;
+ if (p)
+ memcpy (WFIFOP (fd, 30), p->name, 24);
+ else
+ WFIFOB (fd, 30) = 0;
+ memcpy (WFIFOP (fd, 54), g->name, 24);
+ memcpy (WFIFOP (fd, 78), g->position[ps].name, 24);
+ WFIFOSET (fd, packet_len_table[0x195]);
+ break;
+ }
+ }
+ WFIFOSET (fd, packet_len_table[0x95]);
+ }
+ break;
+ case BL_NPC:
+ memcpy (WFIFOP (fd, 6), ((struct npc_data *) bl)->name, 24);
+ {
+ char *start = WFIFOP (fd, 6);
+ char *end = strchr (start, '#'); // [fate] elim hashed out/invisible names for the client
+ if (end)
+ while (*end)
+ *end++ = 0;
+
+ // [fate] Elim preceding underscores for (hackish) name position fine-tuning
+ while (*start == '_')
+ *start++ = ' ';
+ }
+ WFIFOSET (fd, packet_len_table[0x95]);
+ break;
+ case BL_MOB:
+ {
+ struct mob_data *md = (struct mob_data *) bl;
+
+ nullpo_retv (md);
+
+ memcpy (WFIFOP (fd, 6), md->name, 24);
+ if (md->class >= 1285 && md->class <= 1288)
+ {
+ struct guild *g;
+ struct guild_castle *gc =
+ guild_mapname2gc (map[md->bl.m].name);
+ if (gc && gc->guild_id > 0
+ && (g = guild_search (gc->guild_id)) != NULL)
+ {
+ WFIFOW (fd, 0) = 0x195;
+ WFIFOB (fd, 30) = 0;
+ memcpy (WFIFOP (fd, 54), g->name, 24);
+ memcpy (WFIFOP (fd, 78), gc->castle_name, 24);
+ WFIFOSET (fd, packet_len_table[0x195]);
+ }
else
- memcpy(WFIFOP(fd,6), ssd->status.name, 24);
- if (ssd->status.guild_id > 0 && (g = guild_search(ssd->status.guild_id)) != NULL &&
- (ssd->status.party_id == 0 || (p = party_search(ssd->status.party_id)) != NULL)) {
- // �M���h�����Ȃ��p�P�b�g0195���Ԃ�
- int i, ps = -1;
- for(i = 0; i < g->max_member; i++) {
- if (g->member[i].account_id == ssd->status.account_id &&
- g->member[i].char_id == ssd->status.char_id )
- ps = g->member[i].position;
- }
- if (ps >= 0 && ps < MAX_GUILDPOSITION) {
- WFIFOW(fd, 0) = 0x195;
- if (p)
- memcpy(WFIFOP(fd,30), p->name, 24);
- else
- WFIFOB(fd,30) = 0;
- memcpy(WFIFOP(fd,54), g->name,24);
- memcpy(WFIFOP(fd,78), g->position[ps].name, 24);
- WFIFOSET(fd,packet_len_table[0x195]);
- break;
- }
- }
- WFIFOSET(fd,packet_len_table[0x95]);
- }
- break;
- case BL_NPC:
- memcpy(WFIFOP(fd,6), ((struct npc_data*)bl)->name, 24);
{
- char *start = WFIFOP(fd, 6);
- char *end = strchr(start, '#'); // [fate] elim hashed out/invisible names for the client
- if (end)
- while (*end)
- *end++ = 0;
-
- // [fate] Elim preceding underscores for (hackish) name position fine-tuning
- while (*start == '_')
- *start++ = ' ';
+ WFIFOSET (fd, packet_len_table[0x95]);
}
- WFIFOSET(fd,packet_len_table[0x95]);
- break;
- case BL_MOB:
- {
- struct mob_data *md = (struct mob_data *)bl;
-
- nullpo_retv(md);
-
- memcpy(WFIFOP(fd,6), md->name, 24);
- if (md->class >= 1285 && md->class <= 1288) {
- struct guild *g;
- struct guild_castle *gc = guild_mapname2gc(map[md->bl.m].name);
- if (gc && gc->guild_id > 0 && (g = guild_search(gc->guild_id)) != NULL) {
- WFIFOW(fd, 0) = 0x195;
- WFIFOB(fd,30) = 0;
- memcpy(WFIFOP(fd,54), g->name, 24);
- memcpy(WFIFOP(fd,78), gc->castle_name, 24);
- WFIFOSET(fd,packet_len_table[0x195]);
- } else {
- WFIFOSET(fd,packet_len_table[0x95]);
- }
- } else if (battle_config.show_mob_hp == 1) {
- char mobhp[50];
- sprintf(mobhp, "hp: %d/%d", md->hp, mob_db[md->class].max_hp);
- WFIFOW(fd, 0) = 0x195;
- memcpy(WFIFOP(fd,30), mobhp, 24);
- WFIFOB(fd,54) = 0;
- WFIFOB(fd,78) = 0;
- WFIFOSET(fd,packet_len_table[0x195]);
- } else {
- WFIFOSET(fd,packet_len_table[0x95]);
- }
- }
- break;
- default:
- if (battle_config.error_log)
- printf("clif_parse_GetCharNameRequest : bad type %d(%d)\n", bl->type, account_id);
- break;
- }
+ }
+ else if (battle_config.show_mob_hp == 1)
+ {
+ char mobhp[50];
+ sprintf (mobhp, "hp: %d/%d", md->hp,
+ mob_db[md->class].max_hp);
+ WFIFOW (fd, 0) = 0x195;
+ memcpy (WFIFOP (fd, 30), mobhp, 24);
+ WFIFOB (fd, 54) = 0;
+ WFIFOB (fd, 78) = 0;
+ WFIFOSET (fd, packet_len_table[0x195]);
+ }
+ else
+ {
+ WFIFOSET (fd, packet_len_table[0x95]);
+ }
+ }
+ break;
+ default:
+ if (battle_config.error_log)
+ printf ("clif_parse_GetCharNameRequest : bad type %d(%d)\n",
+ bl->type, account_id);
+ break;
+ }
}
-
/*==========================================
*
*------------------------------------------
*/
-void clif_parse_GlobalMessage(int fd, struct map_session_data *sd) { // S 008c <len>.w <str>.?B
- int malformed = 0;
-
- nullpo_retv(sd);
-
-
- if ((is_atcommand(fd, sd, RFIFOP(fd, 4), 0) != AtCommand_None) ||
- ( sd->sc_data &&
- (sd->sc_data[SC_BERSERK].timer!=-1 || //�o�[�T�[�N���͉��b���s��
- sd->sc_data[SC_NOCHAT].timer!=-1 ) )) //�`���b�g�֎~
- {
- return;
- }
+void clif_parse_GlobalMessage (int fd, struct map_session_data *sd)
+{ // S 008c <len>.w <str>.?B
+ int malformed = 0;
+ nullpo_retv (sd);
- if (strlen(RFIFOP(fd,4)) >= battle_config.chat_maxline)
- malformed = 1;
+ if ((is_atcommand (fd, sd, RFIFOP (fd, 4), 0) != AtCommand_None) || (sd->sc_data && (sd->sc_data[SC_BERSERK].timer != -1 || //�o�[�T�[�N���͉��b���s��
+ sd->sc_data[SC_NOCHAT].timer != -1))) //�`���b�g�֎~
+ {
+ return;
+ }
- // Simply ignore messages with spoofed/incorrect source names.
- if (strncmp(RFIFOP(fd,4), sd->status.name, strlen(sd->status.name)) != 0)
- malformed = 1;
+ if (strlen (RFIFOP (fd, 4)) >= battle_config.chat_maxline)
+ malformed = 1;
- char *buf = (char *) malloc(RFIFOW(fd,2) + 4);
- int msg_len = RFIFOW(fd,2) + 4; // len of message - 4 + 8
- // Prepare to send message to others
- WBUFW(buf,0) = 0x8d;
- WBUFW(buf,2) = msg_len;
- WBUFL(buf,4) = sd->bl.id;
- memcpy(WBUFP(buf,8), RFIFOP(fd,4), RFIFOW(fd,2) - 4);
+ // Simply ignore messages with spoofed/incorrect source names.
+ if (strncmp (RFIFOP (fd, 4), sd->status.name, strlen (sd->status.name)) !=
+ 0)
+ malformed = 1;
- if (malformed || !magic_message(sd, buf, msg_len)) {
- if (tmw_CheckChatSpam(sd, RFIFOP(fd,4)))
- return;
+ char *buf = (char *) malloc (RFIFOW (fd, 2) + 4);
+ int msg_len = RFIFOW (fd, 2) + 4; // len of message - 4 + 8
+ // Prepare to send message to others
+ WBUFW (buf, 0) = 0x8d;
+ WBUFW (buf, 2) = msg_len;
+ WBUFL (buf, 4) = sd->bl.id;
+ memcpy (WBUFP (buf, 8), RFIFOP (fd, 4), RFIFOW (fd, 2) - 4);
- if (malformed) {
- free(buf);
- return;
- }
+ if (malformed || !magic_message (sd, buf, msg_len))
+ {
+ if (tmw_CheckChatSpam (sd, RFIFOP (fd, 4)))
+ return;
- clif_send(buf, WBUFW(buf,2), &sd->bl, sd->chatID ? CHAT_WOS : AREA_CHAT_WOC);
+ if (malformed)
+ {
+ free (buf);
+ return;
}
- // send back message to the speaker
- memcpy(WFIFOP(fd,0), RFIFOP(fd,0), RFIFOW(fd,2));
- WFIFOW(fd,0) = 0x8e;
- WFIFOSET(fd, WFIFOW(fd,2));
+ clif_send (buf, WBUFW (buf, 2), &sd->bl,
+ sd->chatID ? CHAT_WOS : AREA_CHAT_WOC);
+ }
- free(buf);
- return;
+ // send back message to the speaker
+ memcpy (WFIFOP (fd, 0), RFIFOP (fd, 0), RFIFOW (fd, 2));
+ WFIFOW (fd, 0) = 0x8e;
+ WFIFOSET (fd, WFIFOW (fd, 2));
+
+ free (buf);
+ return;
}
-int clif_message(struct block_list *bl, char* msg)
+int clif_message (struct block_list *bl, char *msg)
{
- unsigned short msg_len = strlen(msg) + 1;
- static int buf_len = -1;
- static unsigned char *buf = NULL;
+ unsigned short msg_len = strlen (msg) + 1;
+ static int buf_len = -1;
+ static unsigned char *buf = NULL;
- if (buf_len < msg_len) {
- if (buf)
- free(buf);
- buf = malloc(buf_len = (msg_len + 16));
- }
+ if (buf_len < msg_len)
+ {
+ if (buf)
+ free (buf);
+ buf = malloc (buf_len = (msg_len + 16));
+ }
- nullpo_retr(0, bl);
+ nullpo_retr (0, bl);
- WBUFW(buf, 0) = 0x8d;
- WBUFW(buf, 2) = msg_len + 8;
- WBUFL(buf, 4) = bl->id;
- memcpy(WBUFP(buf, 8), msg, msg_len);
+ WBUFW (buf, 0) = 0x8d;
+ WBUFW (buf, 2) = msg_len + 8;
+ WBUFL (buf, 4) = bl->id;
+ memcpy (WBUFP (buf, 8), msg, msg_len);
- clif_send(buf, WBUFW(buf,2), bl, AREA);
+ clif_send (buf, WBUFW (buf, 2), bl, AREA);
- return 0;
+ return 0;
}
/*==========================================
*
*------------------------------------------
*/
-void clif_parse_MapMove(int fd, struct map_session_data *sd) {
+void clif_parse_MapMove (int fd, struct map_session_data *sd)
+{
// /m /mapmove (as @rura GM command)
- char output[100];
- char map_name[17];
+ char output[100];
+ char map_name[17];
- nullpo_retv(sd);
+ nullpo_retv (sd);
- memset(output, '\0', sizeof(output));
- memset(map_name, '\0', sizeof(map_name));
+ memset (output, '\0', sizeof (output));
+ memset (map_name, '\0', sizeof (map_name));
- if ((battle_config.atc_gmonly == 0 || pc_isGM(sd)) &&
- (pc_isGM(sd) >= get_atcommand_level(AtCommand_MapMove))) {
- memcpy(map_name, RFIFOP(fd,2), 16);
- sprintf(output, "%s %d %d", map_name, RFIFOW(fd,18), RFIFOW(fd,20));
- log_atcommand(sd, "@warp %s", output);
- atcommand_warp(fd, sd, "@warp", output);
- }
+ if ((battle_config.atc_gmonly == 0 || pc_isGM (sd)) &&
+ (pc_isGM (sd) >= get_atcommand_level (AtCommand_MapMove)))
+ {
+ memcpy (map_name, RFIFOP (fd, 2), 16);
+ sprintf (output, "%s %d %d", map_name, RFIFOW (fd, 18),
+ RFIFOW (fd, 20));
+ log_atcommand (sd, "@warp %s", output);
+ atcommand_warp (fd, sd, "@warp", output);
+ }
- return;
+ return;
}
/*==========================================
*
*------------------------------------------
*/
-void clif_parse_ChangeDir(int fd, struct map_session_data *sd) {
- unsigned char buf[64];
- short dir;
+void clif_parse_ChangeDir (int fd, struct map_session_data *sd)
+{
+ unsigned char buf[64];
+ short dir;
- nullpo_retv(sd);
+ nullpo_retv (sd);
-// RFIFOW(fd,2); // Apparently does nothing?
- dir = RFIFOB(fd,4);
+// RFIFOW(fd,2); // Apparently does nothing?
+ dir = RFIFOB (fd, 4);
- pc_setdir(sd, dir);
+ pc_setdir (sd, dir);
- WBUFW(buf,0) = 0x9c;
- WBUFL(buf,2) = sd->bl.id;
- WBUFW(buf,6) = 0;
- WBUFB(buf,8) = dir;
- if (sd->disguise > 23 && sd->disguise < 4001) // mob disguises [Valaris]
- clif_send(buf, packet_len_table[0x9c], &sd->bl, AREA);
- else
- clif_send(buf, packet_len_table[0x9c], &sd->bl, AREA_WOS);
+ WBUFW (buf, 0) = 0x9c;
+ WBUFL (buf, 2) = sd->bl.id;
+ WBUFW (buf, 6) = 0;
+ WBUFB (buf, 8) = dir;
+ if (sd->disguise > 23 && sd->disguise < 4001) // mob disguises [Valaris]
+ clif_send (buf, packet_len_table[0x9c], &sd->bl, AREA);
+ else
+ clif_send (buf, packet_len_table[0x9c], &sd->bl, AREA_WOS);
}
@@ -6636,1910 +7279,2277 @@ void clif_parse_ChangeDir(int fd, struct map_session_data *sd) {
*
*------------------------------------------
*/
-void clif_parse_Emotion(int fd, struct map_session_data *sd) {
- unsigned char buf[64];
+void clif_parse_Emotion (int fd, struct map_session_data *sd)
+{
+ unsigned char buf[64];
- nullpo_retv(sd);
+ nullpo_retv (sd);
- if (battle_config.basic_skill_check == 0 || pc_checkskill(sd, NV_EMOTE) >= 1) {
- WBUFW(buf,0) = 0xc0;
- WBUFL(buf,2) = sd->bl.id;
- WBUFB(buf,6) = RFIFOB(fd,2);
- clif_send(buf, packet_len_table[0xc0], &sd->bl, AREA);
- } else
- clif_skill_fail(sd, 1, 0, 1);
+ if (battle_config.basic_skill_check == 0
+ || pc_checkskill (sd, NV_EMOTE) >= 1)
+ {
+ WBUFW (buf, 0) = 0xc0;
+ WBUFL (buf, 2) = sd->bl.id;
+ WBUFB (buf, 6) = RFIFOB (fd, 2);
+ clif_send (buf, packet_len_table[0xc0], &sd->bl, AREA);
+ }
+ else
+ clif_skill_fail (sd, 1, 0, 1);
}
/*==========================================
*
*------------------------------------------
*/
-void clif_parse_HowManyConnections(int fd, struct map_session_data *sd) {
- WFIFOW(fd,0) = 0xc2;
- WFIFOL(fd,2) = map_getusers();
- WFIFOSET(fd,packet_len_table[0xc2]);
+void clif_parse_HowManyConnections (int fd, struct map_session_data *sd)
+{
+ WFIFOW (fd, 0) = 0xc2;
+ WFIFOL (fd, 2) = map_getusers ();
+ WFIFOSET (fd, packet_len_table[0xc2]);
}
/*==========================================
*
*------------------------------------------
*/
-void clif_parse_ActionRequest(int fd, struct map_session_data *sd) {
- unsigned int tick;
- unsigned char buf[64];
- int action_type, target_id;
+void clif_parse_ActionRequest (int fd, struct map_session_data *sd)
+{
+ unsigned int tick;
+ unsigned char buf[64];
+ int action_type, target_id;
- nullpo_retv(sd);
+ nullpo_retv (sd);
- if (pc_isdead(sd)) {
- clif_clearchar_area(&sd->bl, 1);
- return;
- }
- if (sd->npc_id != 0 || sd->opt1 > 0 || sd->status.option & 2 || sd->state.storage_flag ||
- (sd->sc_data &&
- (sd->sc_data[SC_AUTOCOUNTER].timer != -1 || //�I�[�g�J�E���^�[
- sd->sc_data[SC_BLADESTOP].timer != -1 || //���n����
- sd->sc_data[SC_DANCING].timer != -1)))
- return;
-
- tick = gettick();
-
- pc_stop_walking(sd, 0);
- pc_stopattack(sd);
-
- target_id = RFIFOL(fd,2);
- action_type = RFIFOB(fd,6);
-
- switch(action_type) {
- case 0x00: // once attack
- case 0x07: // continuous attack
- if(sd->sc_data[SC_WEDDING].timer != -1 || sd->view_class==22 || sd->status.option & OPTION_HIDE)
- return;
- if (!battle_config.sdelay_attack_enable && pc_checkskill(sd, SA_FREECAST) <= 0) {
- if (DIFF_TICK(tick, sd->canact_tick) < 0) {
- clif_skill_fail(sd, 1, 4, 0);
- return;
- }
- }
- if (sd->invincible_timer != -1)
- pc_delinvincibletimer(sd);
- if (sd->attacktarget > 0) // [Valaris]
- sd->attacktarget = 0;
- pc_attack(sd, target_id, action_type != 0);
- break;
- case 0x02: // sitdown
- if (tmw_CheckSitSpam(sd))
- break;
- pc_stop_walking(sd, 1);
- skill_gangsterparadise(sd, 1); // �M�����O�X�^�[�p���_�C�X�ݒ�
- pc_setsit(sd);
- clif_sitting(fd, sd);
- break;
- case 0x03: // standup
- skill_gangsterparadise(sd, 0); // �M�����O�X�^�[�p���_�C�X����
- pc_setstand(sd);
- WBUFW(buf, 0) = 0x8a;
- WBUFL(buf, 2) = sd->bl.id;
- WBUFB(buf,26) = 3;
- clif_send(buf, packet_len_table[0x8a], &sd->bl, AREA);
- break;
- }
+ if (pc_isdead (sd))
+ {
+ clif_clearchar_area (&sd->bl, 1);
+ return;
+ }
+ if (sd->npc_id != 0 || sd->opt1 > 0 || sd->status.option & 2 || sd->state.storage_flag || (sd->sc_data && (sd->sc_data[SC_AUTOCOUNTER].timer != -1 || //�I�[�g�J�E���^�[
+ sd->sc_data[SC_BLADESTOP].timer != -1 || //���n����
+ sd->sc_data
+ [SC_DANCING].timer
+ !=
+ -1)))
+ return;
+
+ tick = gettick ();
+
+ pc_stop_walking (sd, 0);
+ pc_stopattack (sd);
+
+ target_id = RFIFOL (fd, 2);
+ action_type = RFIFOB (fd, 6);
+
+ switch (action_type)
+ {
+ case 0x00: // once attack
+ case 0x07: // continuous attack
+ if (sd->sc_data[SC_WEDDING].timer != -1 || sd->view_class == 22
+ || sd->status.option & OPTION_HIDE)
+ return;
+ if (!battle_config.sdelay_attack_enable
+ && pc_checkskill (sd, SA_FREECAST) <= 0)
+ {
+ if (DIFF_TICK (tick, sd->canact_tick) < 0)
+ {
+ clif_skill_fail (sd, 1, 4, 0);
+ return;
+ }
+ }
+ if (sd->invincible_timer != -1)
+ pc_delinvincibletimer (sd);
+ if (sd->attacktarget > 0) // [Valaris]
+ sd->attacktarget = 0;
+ pc_attack (sd, target_id, action_type != 0);
+ break;
+ case 0x02: // sitdown
+ if (tmw_CheckSitSpam (sd))
+ break;
+ pc_stop_walking (sd, 1);
+ skill_gangsterparadise (sd, 1); // �M�����O�X�^�[�p���_�C�X�ݒ�
+ pc_setsit (sd);
+ clif_sitting (fd, sd);
+ break;
+ case 0x03: // standup
+ skill_gangsterparadise (sd, 0); // �M�����O�X�^�[�p���_�C�X����
+ pc_setstand (sd);
+ WBUFW (buf, 0) = 0x8a;
+ WBUFL (buf, 2) = sd->bl.id;
+ WBUFB (buf, 26) = 3;
+ clif_send (buf, packet_len_table[0x8a], &sd->bl, AREA);
+ break;
+ }
}
/*==========================================
*
*------------------------------------------
*/
-void clif_parse_Restart(int fd, struct map_session_data *sd) {
- nullpo_retv(sd);
+void clif_parse_Restart (int fd, struct map_session_data *sd)
+{
+ nullpo_retv (sd);
- switch(RFIFOB(fd,2)) {
- case 0x00:
- if (pc_isdead(sd)) {
- pc_setstand(sd);
- pc_setrestartvalue(sd, 3);
- pc_setpos(sd, sd->status.save_point.map, sd->status.save_point.x, sd->status.save_point.y, 2);
- }
- break;
- case 0x01:
- /*if(!pc_isdead(sd) && (sd->opt1 || (sd->opt2 && !(night_flag == 1 && sd->opt2 == STATE_BLIND))))
- return;*/
-
- /* Rovert's Prevent logout option - Fixed [Valaris] */
- if ((battle_config.prevent_logout && (gettick() - sd->canlog_tick) >= 10000) || (!battle_config.prevent_logout)) {
- chrif_charselectreq(sd);
- } else {
- WFIFOW(fd,0)=0x18b;
- WFIFOW(fd,2)=1;
-
- WFIFOSET(fd,packet_len_table[0x018b]);
- }
- break;
- }
+ switch (RFIFOB (fd, 2))
+ {
+ case 0x00:
+ if (pc_isdead (sd))
+ {
+ pc_setstand (sd);
+ pc_setrestartvalue (sd, 3);
+ pc_setpos (sd, sd->status.save_point.map,
+ sd->status.save_point.x, sd->status.save_point.y,
+ 2);
+ }
+ break;
+ case 0x01:
+ /*if(!pc_isdead(sd) && (sd->opt1 || (sd->opt2 && !(night_flag == 1 && sd->opt2 == STATE_BLIND))))
+ * return; */
+
+ /* Rovert's Prevent logout option - Fixed [Valaris] */
+ if ((battle_config.prevent_logout
+ && (gettick () - sd->canlog_tick) >= 10000)
+ || (!battle_config.prevent_logout))
+ {
+ chrif_charselectreq (sd);
+ }
+ else
+ {
+ WFIFOW (fd, 0) = 0x18b;
+ WFIFOW (fd, 2) = 1;
+
+ WFIFOSET (fd, packet_len_table[0x018b]);
+ }
+ break;
+ }
}
/*==========================================
* Transmission of a wisp (S 0096 <len>.w <nick>.24B <message>.?B)
*------------------------------------------
*/
-void clif_parse_Wis(int fd, struct map_session_data *sd) { // S 0096 <len>.w <nick>.24B <message>.?B // rewritten by [Yor]
- struct map_session_data *dstsd;
- int i;
- int gmlen = strlen(RFIFOP(fd,28));
-
- if (RFIFOW(fd,2)-28 <= 0 || ( sd && sd->sc_data && (sd->sc_data[SC_BERSERK].timer!=-1 || sd->sc_data[SC_NOCHAT].timer!=-1 ) ))
- return;
-
- char gmbuf[512];
- char *gm_command = ((gmlen+28) > sizeof(gmbuf)) ? (char *) malloc(gmlen + 28) : gmbuf;
-
- memset(gm_command, 0, gmlen);
- sprintf(gm_command, "%s : %s", sd->status.name, RFIFOP(fd,28));
- if ((is_atcommand(fd, sd, gm_command, 0) != AtCommand_None))
- {
- if (gm_command != gmbuf)
- free(gm_command);
- return;
- }
-
- if (tmw_CheckChatSpam(sd, RFIFOP(fd,28)))
- return;
-
- if (strlen(RFIFOP(fd,28)) >= battle_config.chat_maxline)
- return;
-
- // searching destination character
- dstsd = map_nick2sd(RFIFOP(fd,4));
- // player is not on this map-server
- if (dstsd == NULL ||
- // At this point, don't send wisp/page if it's not exactly the same name, because (example)
- // if there are 'Test' player on an other map-server and 'test' player on this map-server,
- // and if we ask for 'Test', we must not contact 'test' player
- // so, we send information to inter-server, which is the only one which decide (and copy correct name).
- strcmp(dstsd->status.name, RFIFOP(fd,4)) != 0) // not exactly same name
- // send message to inter-server
- intif_wis_message(sd, RFIFOP(fd,4), RFIFOP(fd,28), RFIFOW(fd,2)-28);
- // player is on this map-server
- else {
- // if you send to your self, don't send anything to others
- if (dstsd->fd == fd) // but, normaly, it's impossible!
- clif_wis_message(fd, wisp_server_name, "You can not page yourself. Sorry.", strlen("You can not page yourself. Sorry.") + 1);
- // otherwise, send message and answer immediatly
- else {
- if (dstsd->ignoreAll == 1)
- clif_wis_end(fd, 2); // type: 0: success to send wisper, 1: target character is not loged in?, 2: ignored by target
- else {
- // if player ignore the source character
- for(i = 0; i < (sizeof(dstsd->ignore) / sizeof(dstsd->ignore[0])); i++)
- if (strcmp(dstsd->ignore[i].name, sd->status.name) == 0) {
- clif_wis_end(fd, 2); // flag: 0: success to send wisper, 1: target character is not loged in?, 2: ignored by target
- break;
- }
- // if source player not found in ignore list
- if (i == (sizeof(sd->ignore) / sizeof(sd->ignore[0]))) {
- clif_wis_message(dstsd->fd, sd->status.name, RFIFOP(fd,28), RFIFOW(fd,2) - 28);
- clif_wis_end(fd, 0); // type: 0: success to send wisper, 1: target character is not loged in?, 2: ignored by target
- }
- }
- }
- }
+void clif_parse_Wis (int fd, struct map_session_data *sd)
+{ // S 0096 <len>.w <nick>.24B <message>.?B // rewritten by [Yor]
+ struct map_session_data *dstsd;
+ int i;
+ int gmlen = strlen (RFIFOP (fd, 28));
+
+ if (RFIFOW (fd, 2) - 28 <= 0
+ || (sd && sd->sc_data
+ && (sd->sc_data[SC_BERSERK].timer != -1
+ || sd->sc_data[SC_NOCHAT].timer != -1)))
+ return;
+
+ char gmbuf[512];
+ char *gm_command =
+ ((gmlen + 28) >
+ sizeof (gmbuf)) ? (char *) malloc (gmlen + 28) : gmbuf;
+
+ memset (gm_command, 0, gmlen);
+ sprintf (gm_command, "%s : %s", sd->status.name, RFIFOP (fd, 28));
+ if ((is_atcommand (fd, sd, gm_command, 0) != AtCommand_None))
+ {
+ if (gm_command != gmbuf)
+ free (gm_command);
+ return;
+ }
+
+ if (tmw_CheckChatSpam (sd, RFIFOP (fd, 28)))
+ return;
+
+ if (strlen (RFIFOP (fd, 28)) >= battle_config.chat_maxline)
+ return;
+
+ // searching destination character
+ dstsd = map_nick2sd (RFIFOP (fd, 4));
+ // player is not on this map-server
+ if (dstsd == NULL ||
+ // At this point, don't send wisp/page if it's not exactly the same name, because (example)
+ // if there are 'Test' player on an other map-server and 'test' player on this map-server,
+ // and if we ask for 'Test', we must not contact 'test' player
+ // so, we send information to inter-server, which is the only one which decide (and copy correct name).
+ strcmp (dstsd->status.name, RFIFOP (fd, 4)) != 0) // not exactly same name
+ // send message to inter-server
+ intif_wis_message (sd, RFIFOP (fd, 4), RFIFOP (fd, 28),
+ RFIFOW (fd, 2) - 28);
+ // player is on this map-server
+ else
+ {
+ // if you send to your self, don't send anything to others
+ if (dstsd->fd == fd) // but, normaly, it's impossible!
+ clif_wis_message (fd, wisp_server_name,
+ "You can not page yourself. Sorry.",
+ strlen ("You can not page yourself. Sorry.") +
+ 1);
+ // otherwise, send message and answer immediatly
+ else
+ {
+ if (dstsd->ignoreAll == 1)
+ clif_wis_end (fd, 2); // type: 0: success to send wisper, 1: target character is not loged in?, 2: ignored by target
+ else
+ {
+ // if player ignore the source character
+ for (i = 0;
+ i < (sizeof (dstsd->ignore) / sizeof (dstsd->ignore[0]));
+ i++)
+ if (strcmp (dstsd->ignore[i].name, sd->status.name) == 0)
+ {
+ clif_wis_end (fd, 2); // flag: 0: success to send wisper, 1: target character is not loged in?, 2: ignored by target
+ break;
+ }
+ // if source player not found in ignore list
+ if (i == (sizeof (sd->ignore) / sizeof (sd->ignore[0])))
+ {
+ clif_wis_message (dstsd->fd, sd->status.name,
+ RFIFOP (fd, 28), RFIFOW (fd, 2) - 28);
+ clif_wis_end (fd, 0); // type: 0: success to send wisper, 1: target character is not loged in?, 2: ignored by target
+ }
+ }
+ }
+ }
- return;
+ return;
}
/*==========================================
*
*------------------------------------------
*/
-void clif_parse_GMmessage(int fd, struct map_session_data *sd) {
- char m[512];
- char output[200];
- nullpo_retv(sd);
+void clif_parse_GMmessage (int fd, struct map_session_data *sd)
+{
+ char m[512];
+ char output[200];
+ nullpo_retv (sd);
- if ((battle_config.atc_gmonly == 0 || pc_isGM(sd)) &&
- (pc_isGM(sd) >= get_atcommand_level(AtCommand_Broadcast)))
- {
- strncpy(m, RFIFOP(fd,4), RFIFOW(fd,2) - 4);
- m[RFIFOW(fd,2) - 4] = 0;
- log_atcommand(sd, "/announce %s", m);
+ if ((battle_config.atc_gmonly == 0 || pc_isGM (sd)) &&
+ (pc_isGM (sd) >= get_atcommand_level (AtCommand_Broadcast)))
+ {
+ strncpy (m, RFIFOP (fd, 4), RFIFOW (fd, 2) - 4);
+ m[RFIFOW (fd, 2) - 4] = 0;
+ log_atcommand (sd, "/announce %s", m);
- memset(output, '\0', sizeof(output));
- snprintf(output, 199, "%s : %s", sd->status.name, m);
+ memset (output, '\0', sizeof (output));
+ snprintf (output, 199, "%s : %s", sd->status.name, m);
- intif_GMmessage(output, strlen(output) + 1, 0);
- }
+ intif_GMmessage (output, strlen (output) + 1, 0);
+ }
}
/*==========================================
*
*------------------------------------------
*/
-void clif_parse_TakeItem(int fd, struct map_session_data *sd) {
- struct flooritem_data *fitem;
- int map_object_id;
+void clif_parse_TakeItem (int fd, struct map_session_data *sd)
+{
+ struct flooritem_data *fitem;
+ int map_object_id;
- nullpo_retv(sd);
+ nullpo_retv (sd);
- map_object_id = RFIFOL(fd,2);
- fitem = (struct flooritem_data*)map_id2bl(map_object_id);
+ map_object_id = RFIFOL (fd, 2);
+ fitem = (struct flooritem_data *) map_id2bl (map_object_id);
- if (pc_isdead(sd)) {
- clif_clearchar_area(&sd->bl, 1);
- return;
- }
+ if (pc_isdead (sd))
+ {
+ clif_clearchar_area (&sd->bl, 1);
+ return;
+ }
- if( sd->npc_id!=0 || sd->opt1 > 0 ||
- (sd->sc_data && (sd->sc_data[SC_TRICKDEAD].timer != -1 || //���񂾂ӂ�
- sd->sc_data[SC_BLADESTOP].timer != -1 || //���n����
- sd->sc_data[SC_BERSERK].timer!=-1 || //�o�[�T�[�N
- sd->sc_data[SC_NOCHAT].timer!=-1 )) ) //���b�֎~
- return;
+ if (sd->npc_id != 0 || sd->opt1 > 0 || (sd->sc_data && (sd->sc_data[SC_TRICKDEAD].timer != -1 || //���񂾂ӂ�
+ sd->sc_data[SC_BLADESTOP].timer != -1 || //���n����
+ sd->sc_data[SC_BERSERK].timer != -1 || //�o�[�T�[�N
+ sd->sc_data[SC_NOCHAT].timer != -1))) //���b�֎~
+ return;
- if (fitem == NULL || fitem->bl.m != sd->bl.m)
- return;
+ if (fitem == NULL || fitem->bl.m != sd->bl.m)
+ return;
- if (abs(sd->bl.x - fitem->bl.x) >= 2 || abs(sd->bl.y - fitem->bl.y) >= 2)
- return; // too far away to pick up
+ if (abs (sd->bl.x - fitem->bl.x) >= 2
+ || abs (sd->bl.y - fitem->bl.y) >= 2)
+ return; // too far away to pick up
- if (sd->state.shroud_active
- && sd->state.shroud_disappears_on_pickup)
- magic_unshroud(sd);
+ if (sd->state.shroud_active && sd->state.shroud_disappears_on_pickup)
+ magic_unshroud (sd);
- pc_takeitem(sd, fitem);
+ pc_takeitem (sd, fitem);
}
/*==========================================
*
*------------------------------------------
*/
-void clif_parse_DropItem(int fd, struct map_session_data *sd) {
- int item_index, item_amount;
+void clif_parse_DropItem (int fd, struct map_session_data *sd)
+{
+ int item_index, item_amount;
- nullpo_retv(sd);
+ nullpo_retv (sd);
- if (pc_isdead(sd)) {
- clif_clearchar_area(&sd->bl, 1);
- return;
- }
- if (sd->npc_id != 0 || sd->opt1 > 0 || map[sd->bl.m].flag.no_player_drops ||
- (sd->sc_data && (sd->sc_data[SC_AUTOCOUNTER].timer != -1 || //�I�[�g�J�E���^�[
- sd->sc_data[SC_BLADESTOP].timer != -1 || //���n����
- sd->sc_data[SC_BERSERK].timer != -1)) ) //�o�[�T�[�N
- return;
+ if (pc_isdead (sd))
+ {
+ clif_clearchar_area (&sd->bl, 1);
+ return;
+ }
+ if (sd->npc_id != 0 || sd->opt1 > 0 || map[sd->bl.m].flag.no_player_drops || (sd->sc_data && (sd->sc_data[SC_AUTOCOUNTER].timer != -1 || //�I�[�g�J�E���^�[
+ sd->sc_data[SC_BLADESTOP].timer != -1 || //���n����
+ sd->sc_data[SC_BERSERK].timer != -1))) //�o�[�T�[�N
+ return;
- item_index = RFIFOW(fd,2) - 2;
- item_amount = RFIFOW(fd,4);
+ item_index = RFIFOW (fd, 2) - 2;
+ item_amount = RFIFOW (fd, 4);
- pc_dropitem(sd, item_index, item_amount);
+ pc_dropitem (sd, item_index, item_amount);
}
/*==========================================
*
*------------------------------------------
*/
-void clif_parse_UseItem(int fd, struct map_session_data *sd) {
- nullpo_retv(sd);
+void clif_parse_UseItem (int fd, struct map_session_data *sd)
+{
+ nullpo_retv (sd);
- if (pc_isdead(sd)) {
- clif_clearchar_area(&sd->bl, 1);
- return;
- }
- if (sd->npc_id!=0 || sd->opt1 > 0 ||
- (sd->sc_data && (sd->sc_data[SC_TRICKDEAD].timer != -1 || //���񂾂ӂ�
- sd->sc_data[SC_BLADESTOP].timer != -1 || //���n����
- sd->sc_data[SC_BERSERK].timer!=-1 || //�o�[�T�[�N
- sd->sc_data[SC_NOCHAT].timer!=-1 )) ) //���b�֎~
- return;
+ if (pc_isdead (sd))
+ {
+ clif_clearchar_area (&sd->bl, 1);
+ return;
+ }
+ if (sd->npc_id != 0 || sd->opt1 > 0 || (sd->sc_data && (sd->sc_data[SC_TRICKDEAD].timer != -1 || //���񂾂ӂ�
+ sd->sc_data[SC_BLADESTOP].timer != -1 || //���n����
+ sd->sc_data[SC_BERSERK].timer != -1 || //�o�[�T�[�N
+ sd->sc_data[SC_NOCHAT].timer != -1))) //���b�֎~
+ return;
- if (sd->invincible_timer != -1)
- pc_delinvincibletimer(sd);
+ if (sd->invincible_timer != -1)
+ pc_delinvincibletimer (sd);
- pc_useitem(sd,RFIFOW(fd,2)-2);
+ pc_useitem (sd, RFIFOW (fd, 2) - 2);
}
/*==========================================
*
*------------------------------------------
*/
-void clif_parse_EquipItem(int fd,struct map_session_data *sd)
+void clif_parse_EquipItem (int fd, struct map_session_data *sd)
{
- int index;
+ int index;
- nullpo_retv(sd);
+ nullpo_retv (sd);
- if(pc_isdead(sd)) {
- clif_clearchar_area(&sd->bl,1);
- return;
- }
- index = RFIFOW(fd,2)-2;
- if(sd->npc_id!=0) return;
- if(sd->sc_data && ( sd->sc_data[SC_BLADESTOP].timer!=-1 || sd->sc_data[SC_BERSERK].timer!=-1 )) return;
-
- if(sd->status.inventory[index].identify != 1) { // ���Ӓ�
- // Bjorn: Auto-identify items when equipping them as there
- // is no nice way to do this in the client yet.
- sd->status.inventory[index].identify = 1;
- //clif_equipitemack(sd,index,0,0); // fail
- //return;
- }
- //�y�b�g�p�����ł��邩�Ȃ���
- if(sd->inventory_data[index]) {
- if(sd->inventory_data[index]->type == 10)
- RFIFOW(fd,4)=0x8000; // ���𖳗����葕���ł����悤�Ɂi�|�|�G
- pc_equipitem(sd,index,RFIFOW(fd,4));
- }
+ if (pc_isdead (sd))
+ {
+ clif_clearchar_area (&sd->bl, 1);
+ return;
+ }
+ index = RFIFOW (fd, 2) - 2;
+ if (sd->npc_id != 0)
+ return;
+ if (sd->sc_data
+ && (sd->sc_data[SC_BLADESTOP].timer != -1
+ || sd->sc_data[SC_BERSERK].timer != -1))
+ return;
+
+ if (sd->status.inventory[index].identify != 1)
+ { // ���Ӓ�
+ // Bjorn: Auto-identify items when equipping them as there
+ // is no nice way to do this in the client yet.
+ sd->status.inventory[index].identify = 1;
+ //clif_equipitemack(sd,index,0,0); // fail
+ //return;
+ }
+ //�y�b�g�p�����ł��邩�Ȃ���
+ if (sd->inventory_data[index])
+ {
+ if (sd->inventory_data[index]->type == 10)
+ RFIFOW (fd, 4) = 0x8000; // ���𖳗����葕���ł����悤�Ɂi�|�|�G
+ pc_equipitem (sd, index, RFIFOW (fd, 4));
+ }
}
/*==========================================
*
*------------------------------------------
*/
-void clif_parse_UnequipItem(int fd,struct map_session_data *sd)
+void clif_parse_UnequipItem (int fd, struct map_session_data *sd)
{
- int index;
+ int index;
- nullpo_retv(sd);
+ nullpo_retv (sd);
- if(pc_isdead(sd)) {
- clif_clearchar_area(&sd->bl,1);
- return;
- }
- index = RFIFOW(fd,2)-2;
- if(sd->status.inventory[index].broken == 1 && sd->sc_data && sd->sc_data[SC_BROKNWEAPON].timer!=-1)
- skill_status_change_end(&sd->bl,SC_BROKNWEAPON,-1);
- if(sd->status.inventory[index].broken == 1 && sd->sc_data && sd->sc_data[SC_BROKNARMOR].timer!=-1)
- skill_status_change_end(&sd->bl,SC_BROKNARMOR,-1);
- if(sd->sc_data && ( sd->sc_data[SC_BLADESTOP].timer!=-1 || sd->sc_data[SC_BERSERK].timer!=-1 ))
- return;
+ if (pc_isdead (sd))
+ {
+ clif_clearchar_area (&sd->bl, 1);
+ return;
+ }
+ index = RFIFOW (fd, 2) - 2;
+ if (sd->status.inventory[index].broken == 1 && sd->sc_data
+ && sd->sc_data[SC_BROKNWEAPON].timer != -1)
+ skill_status_change_end (&sd->bl, SC_BROKNWEAPON, -1);
+ if (sd->status.inventory[index].broken == 1 && sd->sc_data
+ && sd->sc_data[SC_BROKNARMOR].timer != -1)
+ skill_status_change_end (&sd->bl, SC_BROKNARMOR, -1);
+ if (sd->sc_data
+ && (sd->sc_data[SC_BLADESTOP].timer != -1
+ || sd->sc_data[SC_BERSERK].timer != -1))
+ return;
- if(sd->npc_id!=0 || sd->opt1 > 0)
- return;
- pc_unequipitem(sd,index,0);
+ if (sd->npc_id != 0 || sd->opt1 > 0)
+ return;
+ pc_unequipitem (sd, index, 0);
}
/*==========================================
*
*------------------------------------------
*/
-void clif_parse_NpcClicked(int fd,struct map_session_data *sd)
+void clif_parse_NpcClicked (int fd, struct map_session_data *sd)
{
- nullpo_retv(sd);
+ nullpo_retv (sd);
- if(pc_isdead(sd)) {
- clif_clearchar_area(&sd->bl,1);
- return;
- }
- if(sd->npc_id!=0)
- return;
- npc_click(sd,RFIFOL(fd,2));
+ if (pc_isdead (sd))
+ {
+ clif_clearchar_area (&sd->bl, 1);
+ return;
+ }
+ if (sd->npc_id != 0)
+ return;
+ npc_click (sd, RFIFOL (fd, 2));
}
/*==========================================
*
*------------------------------------------
*/
-void clif_parse_NpcBuySellSelected(int fd,struct map_session_data *sd)
+void clif_parse_NpcBuySellSelected (int fd, struct map_session_data *sd)
{
- npc_buysellsel(sd,RFIFOL(fd,2),RFIFOB(fd,6));
+ npc_buysellsel (sd, RFIFOL (fd, 2), RFIFOB (fd, 6));
}
/*==========================================
*
*------------------------------------------
*/
-void clif_parse_NpcBuyListSend(int fd,struct map_session_data *sd)
+void clif_parse_NpcBuyListSend (int fd, struct map_session_data *sd)
{
- int fail=0,n;
- unsigned short *item_list;
+ int fail = 0, n;
+ unsigned short *item_list;
- n = (RFIFOW(fd,2)-4) /4;
- item_list = (unsigned short*)RFIFOP(fd,4);
+ n = (RFIFOW (fd, 2) - 4) / 4;
+ item_list = (unsigned short *) RFIFOP (fd, 4);
- fail = npc_buylist(sd,n,item_list);
+ fail = npc_buylist (sd, n, item_list);
- WFIFOW(fd,0)=0xca;
- WFIFOB(fd,2)=fail;
- WFIFOSET(fd,packet_len_table[0xca]);
+ WFIFOW (fd, 0) = 0xca;
+ WFIFOB (fd, 2) = fail;
+ WFIFOSET (fd, packet_len_table[0xca]);
}
/*==========================================
*
*------------------------------------------
*/
-void clif_parse_NpcSellListSend(int fd,struct map_session_data *sd)
+void clif_parse_NpcSellListSend (int fd, struct map_session_data *sd)
{
- int fail=0,n;
- unsigned short *item_list;
+ int fail = 0, n;
+ unsigned short *item_list;
- n = (RFIFOW(fd,2)-4) /4;
- item_list = (unsigned short*)RFIFOP(fd,4);
+ n = (RFIFOW (fd, 2) - 4) / 4;
+ item_list = (unsigned short *) RFIFOP (fd, 4);
- fail = npc_selllist(sd,n,item_list);
+ fail = npc_selllist (sd, n, item_list);
- WFIFOW(fd,0)=0xcb;
- WFIFOB(fd,2)=fail;
- WFIFOSET(fd,packet_len_table[0xcb]);
+ WFIFOW (fd, 0) = 0xcb;
+ WFIFOB (fd, 2) = fail;
+ WFIFOSET (fd, packet_len_table[0xcb]);
}
/*==========================================
*
*------------------------------------------
*/
-void clif_parse_CreateChatRoom(int fd,struct map_session_data *sd)
+void clif_parse_CreateChatRoom (int fd, struct map_session_data *sd)
{
- chat_createchat(sd,RFIFOW(fd,4),RFIFOB(fd,6),RFIFOP(fd,7),RFIFOP(fd,15),RFIFOW(fd,2)-15);
+ chat_createchat (sd, RFIFOW (fd, 4), RFIFOB (fd, 6), RFIFOP (fd, 7),
+ RFIFOP (fd, 15), RFIFOW (fd, 2) - 15);
}
/*==========================================
*
*------------------------------------------
*/
-void clif_parse_ChatAddMember(int fd,struct map_session_data *sd)
+void clif_parse_ChatAddMember (int fd, struct map_session_data *sd)
{
- chat_joinchat(sd,RFIFOL(fd,2),RFIFOP(fd,6));
+ chat_joinchat (sd, RFIFOL (fd, 2), RFIFOP (fd, 6));
}
/*==========================================
*
*------------------------------------------
*/
-void clif_parse_ChatRoomStatusChange(int fd,struct map_session_data *sd)
+void clif_parse_ChatRoomStatusChange (int fd, struct map_session_data *sd)
{
- chat_changechatstatus(sd,RFIFOW(fd,4),RFIFOB(fd,6),RFIFOP(fd,7),RFIFOP(fd,15),RFIFOW(fd,2)-15);
+ chat_changechatstatus (sd, RFIFOW (fd, 4), RFIFOB (fd, 6), RFIFOP (fd, 7),
+ RFIFOP (fd, 15), RFIFOW (fd, 2) - 15);
}
/*==========================================
*
*------------------------------------------
*/
-void clif_parse_ChangeChatOwner(int fd,struct map_session_data *sd)
+void clif_parse_ChangeChatOwner (int fd, struct map_session_data *sd)
{
- chat_changechatowner(sd,RFIFOP(fd,6));
+ chat_changechatowner (sd, RFIFOP (fd, 6));
}
/*==========================================
*
*------------------------------------------
*/
-void clif_parse_KickFromChat(int fd,struct map_session_data *sd)
+void clif_parse_KickFromChat (int fd, struct map_session_data *sd)
{
- chat_kickchat(sd,RFIFOP(fd,2));
+ chat_kickchat (sd, RFIFOP (fd, 2));
}
/*==========================================
*
*------------------------------------------
*/
-void clif_parse_ChatLeave(int fd,struct map_session_data *sd)
+void clif_parse_ChatLeave (int fd, struct map_session_data *sd)
{
- chat_leavechat(sd);
+ chat_leavechat (sd);
}
/*==========================================
* �����v���𑊎��ɑ���
*------------------------------------------
*/
-void clif_parse_TradeRequest(int fd,struct map_session_data *sd)
+void clif_parse_TradeRequest (int fd, struct map_session_data *sd)
{
- nullpo_retv(sd);
+ nullpo_retv (sd);
- if(battle_config.basic_skill_check == 0 || pc_checkskill(sd,NV_TRADE) >= 1){
- if (tmw_CheckTradeSpam(sd))
- return;
- trade_traderequest(sd,RFIFOL(sd->fd,2));
- } else
- clif_skill_fail(sd,1,0,0);
+ if (battle_config.basic_skill_check == 0
+ || pc_checkskill (sd, NV_TRADE) >= 1)
+ {
+ if (tmw_CheckTradeSpam (sd))
+ return;
+ trade_traderequest (sd, RFIFOL (sd->fd, 2));
+ }
+ else
+ clif_skill_fail (sd, 1, 0, 0);
}
/*==========================================
* �����v��
*------------------------------------------
*/
-void clif_parse_TradeAck(int fd,struct map_session_data *sd)
+void clif_parse_TradeAck (int fd, struct map_session_data *sd)
{
- nullpo_retv(sd);
+ nullpo_retv (sd);
- trade_tradeack(sd,RFIFOB(sd->fd,2));
+ trade_tradeack (sd, RFIFOB (sd->fd, 2));
}
/*==========================================
* �A�C�e���lj�
*------------------------------------------
*/
-void clif_parse_TradeAddItem(int fd,struct map_session_data *sd)
+void clif_parse_TradeAddItem (int fd, struct map_session_data *sd)
{
- nullpo_retv(sd);
+ nullpo_retv (sd);
- trade_tradeadditem(sd,RFIFOW(sd->fd,2),RFIFOL(sd->fd,4));
+ trade_tradeadditem (sd, RFIFOW (sd->fd, 2), RFIFOL (sd->fd, 4));
}
/*==========================================
* �A�C�e���lj����(ok����)
*------------------------------------------
*/
-void clif_parse_TradeOk(int fd,struct map_session_data *sd)
+void clif_parse_TradeOk (int fd, struct map_session_data *sd)
{
- trade_tradeok(sd);
+ trade_tradeok (sd);
}
/*==========================================
* �����L�����Z��
*------------------------------------------
*/
-void clif_parse_TradeCansel(int fd,struct map_session_data *sd)
+void clif_parse_TradeCansel (int fd, struct map_session_data *sd)
{
- trade_tradecancel(sd);
+ trade_tradecancel (sd);
}
/*==========================================
* ��������(trade����)
*------------------------------------------
*/
-void clif_parse_TradeCommit(int fd,struct map_session_data *sd)
+void clif_parse_TradeCommit (int fd, struct map_session_data *sd)
{
- trade_tradecommit(sd);
+ trade_tradecommit (sd);
}
/*==========================================
*
*------------------------------------------
*/
-void clif_parse_StopAttack(int fd,struct map_session_data *sd)
+void clif_parse_StopAttack (int fd, struct map_session_data *sd)
{
- pc_stopattack(sd);
+ pc_stopattack (sd);
}
/*==========================================
* �J�[�g�փA�C�e�����ڂ�
*------------------------------------------
*/
-void clif_parse_PutItemToCart(int fd,struct map_session_data *sd)
+void clif_parse_PutItemToCart (int fd, struct map_session_data *sd)
{
- nullpo_retv(sd);
+ nullpo_retv (sd);
- if(sd->npc_id!=0 || sd->trade_partner != 0)
- return;
- pc_putitemtocart(sd,RFIFOW(fd,2)-2,RFIFOL(fd,4));
+ if (sd->npc_id != 0 || sd->trade_partner != 0)
+ return;
+ pc_putitemtocart (sd, RFIFOW (fd, 2) - 2, RFIFOL (fd, 4));
}
+
/*==========================================
* �J�[�g�����A�C�e�����o��
*------------------------------------------
*/
-void clif_parse_GetItemFromCart(int fd,struct map_session_data *sd)
+void clif_parse_GetItemFromCart (int fd, struct map_session_data *sd)
{
- nullpo_retv(sd);
+ nullpo_retv (sd);
- if(sd->npc_id!=0 || sd->trade_partner != 0) return;
- pc_getitemfromcart(sd,RFIFOW(fd,2)-2,RFIFOL(fd,4));
+ if (sd->npc_id != 0 || sd->trade_partner != 0)
+ return;
+ pc_getitemfromcart (sd, RFIFOW (fd, 2) - 2, RFIFOL (fd, 4));
}
/*==========================================
* �t���i(��,�y�R,�J�[�g)���͂���
*------------------------------------------
*/
-void clif_parse_RemoveOption(int fd,struct map_session_data *sd)
+void clif_parse_RemoveOption (int fd, struct map_session_data *sd)
{
- if(pc_isriding(sd)) { // jobchange when removing peco [Valaris]
- if(sd->status.class==13)
- sd->status.class=sd->view_class=7;
+ if (pc_isriding (sd))
+ { // jobchange when removing peco [Valaris]
+ if (sd->status.class == 13)
+ sd->status.class = sd->view_class = 7;
- if(sd->status.class==21)
- sd->status.class=sd->view_class=14;
+ if (sd->status.class == 21)
+ sd->status.class = sd->view_class = 14;
- if(sd->status.class==4014)
- sd->status.class=sd->view_class=4008;
+ if (sd->status.class == 4014)
+ sd->status.class = sd->view_class = 4008;
- if(sd->status.class==4022)
- sd->status.class=sd->view_class=4015;
- }
+ if (sd->status.class == 4022)
+ sd->status.class = sd->view_class = 4015;
+ }
- pc_setoption(sd,0);
+ pc_setoption (sd, 0);
}
/*==========================================
* �`�F���W�J�[�g
*------------------------------------------
*/
-void clif_parse_ChangeCart(int fd,struct map_session_data *sd)
+void clif_parse_ChangeCart (int fd, struct map_session_data *sd)
{
- pc_setcart(sd,RFIFOW(fd,2));
+ pc_setcart (sd, RFIFOW (fd, 2));
}
/*==========================================
* �X�e�[�^�X�A�b�v
*------------------------------------------
*/
-void clif_parse_StatusUp(int fd,struct map_session_data *sd)
+void clif_parse_StatusUp (int fd, struct map_session_data *sd)
{
- pc_statusup(sd,RFIFOW(fd,2));
+ pc_statusup (sd, RFIFOW (fd, 2));
}
/*==========================================
* �X�L�����x���A�b�v
*------------------------------------------
*/
-void clif_parse_SkillUp(int fd,struct map_session_data *sd)
+void clif_parse_SkillUp (int fd, struct map_session_data *sd)
{
- pc_skillup(sd,RFIFOW(fd,2));
+ pc_skillup (sd, RFIFOW (fd, 2));
}
/*==========================================
* �X�L���g�p�iID�w���j
*------------------------------------------
*/
-void clif_parse_UseSkillToId(int fd, struct map_session_data *sd) {
- int skillnum, skilllv, lv, target_id;
- unsigned int tick = gettick();
-
- nullpo_retv(sd);
+void clif_parse_UseSkillToId (int fd, struct map_session_data *sd)
+{
+ int skillnum, skilllv, lv, target_id;
+ unsigned int tick = gettick ();
- if(map[sd->bl.m].flag.noskill) return;
- if (sd->chatID || sd->npc_id != 0 || sd->state.storage_flag)
- return;
+ nullpo_retv (sd);
- skilllv = RFIFOW(fd,2);
- skillnum = RFIFOW(fd,4);
- target_id = RFIFOL(fd,6);
+ if (map[sd->bl.m].flag.noskill)
+ return;
+ if (sd->chatID || sd->npc_id != 0 || sd->state.storage_flag)
+ return;
- if (sd->skilltimer != -1) {
- if (skillnum != SA_CASTCANCEL)
- return;
- } else if (DIFF_TICK(tick, sd->canact_tick) < 0) {
- clif_skill_fail(sd, skillnum, 4, 0);
- return;
- }
+ skilllv = RFIFOW (fd, 2);
+ skillnum = RFIFOW (fd, 4);
+ target_id = RFIFOL (fd, 6);
- if ((sd->sc_data[SC_TRICKDEAD].timer != -1 && skillnum != NV_TRICKDEAD) ||
- sd->sc_data[SC_BERSERK].timer != -1 || sd->sc_data[SC_NOCHAT].timer!=-1 ||
- sd->sc_data[SC_WEDDING].timer!=-1 || sd->view_class==22)
- return;
- if (sd->invincible_timer != -1)
- pc_delinvincibletimer(sd);
- if (sd->skillitem >= 0 && sd->skillitem == skillnum) {
- if (skilllv != sd->skillitemlv)
- skilllv = sd->skillitemlv;
- skill_use_id(sd, target_id, skillnum, skilllv);
- } else {
- sd->skillitem = sd->skillitemlv = -1;
- if (skillnum == MO_EXTREMITYFIST) {
- if ((sd->sc_data[SC_COMBO].timer == -1 || (sd->sc_data[SC_COMBO].val1 != MO_COMBOFINISH && sd->sc_data[SC_COMBO].val1 != CH_CHAINCRUSH))) {
- if (!sd->state.skill_flag ) {
- sd->state.skill_flag = 1;
- clif_skillinfo(sd, MO_EXTREMITYFIST, 1, -1);
- return;
- } else if (sd->bl.id == target_id) {
- clif_skillinfo(sd, MO_EXTREMITYFIST, 1, -1);
- return;
- }
- }
- }
- if ((lv = pc_checkskill(sd, skillnum)) > 0) {
- if (skilllv > lv)
- skilllv = lv;
- skill_use_id(sd, target_id, skillnum, skilllv);
- if (sd->state.skill_flag)
- sd->state.skill_flag = 0;
- }
- }
+ if (sd->skilltimer != -1)
+ {
+ if (skillnum != SA_CASTCANCEL)
+ return;
+ }
+ else if (DIFF_TICK (tick, sd->canact_tick) < 0)
+ {
+ clif_skill_fail (sd, skillnum, 4, 0);
+ return;
+ }
+
+ if ((sd->sc_data[SC_TRICKDEAD].timer != -1 && skillnum != NV_TRICKDEAD) ||
+ sd->sc_data[SC_BERSERK].timer != -1
+ || sd->sc_data[SC_NOCHAT].timer != -1
+ || sd->sc_data[SC_WEDDING].timer != -1 || sd->view_class == 22)
+ return;
+ if (sd->invincible_timer != -1)
+ pc_delinvincibletimer (sd);
+ if (sd->skillitem >= 0 && sd->skillitem == skillnum)
+ {
+ if (skilllv != sd->skillitemlv)
+ skilllv = sd->skillitemlv;
+ skill_use_id (sd, target_id, skillnum, skilllv);
+ }
+ else
+ {
+ sd->skillitem = sd->skillitemlv = -1;
+ if (skillnum == MO_EXTREMITYFIST)
+ {
+ if ((sd->sc_data[SC_COMBO].timer == -1
+ || (sd->sc_data[SC_COMBO].val1 != MO_COMBOFINISH
+ && sd->sc_data[SC_COMBO].val1 != CH_CHAINCRUSH)))
+ {
+ if (!sd->state.skill_flag)
+ {
+ sd->state.skill_flag = 1;
+ clif_skillinfo (sd, MO_EXTREMITYFIST, 1, -1);
+ return;
+ }
+ else if (sd->bl.id == target_id)
+ {
+ clif_skillinfo (sd, MO_EXTREMITYFIST, 1, -1);
+ return;
+ }
+ }
+ }
+ if ((lv = pc_checkskill (sd, skillnum)) > 0)
+ {
+ if (skilllv > lv)
+ skilllv = lv;
+ skill_use_id (sd, target_id, skillnum, skilllv);
+ if (sd->state.skill_flag)
+ sd->state.skill_flag = 0;
+ }
+ }
}
/*==========================================
* �X�L���g�p�i�ꏊ�w���j
*------------------------------------------
*/
-void clif_parse_UseSkillToPos(int fd, struct map_session_data *sd) {
- int skillnum, skilllv, lv, x, y;
- unsigned int tick = gettick();
- int skillmoreinfo;
+void clif_parse_UseSkillToPos (int fd, struct map_session_data *sd)
+{
+ int skillnum, skilllv, lv, x, y;
+ unsigned int tick = gettick ();
+ int skillmoreinfo;
- nullpo_retv(sd);
+ nullpo_retv (sd);
- if(map[sd->bl.m].flag.noskill) return;
- if (sd->npc_id != 0 || sd->state.storage_flag) return;
- if(sd->chatID) return;
-
- skillmoreinfo = -1;
- skilllv = RFIFOW(fd,2);
- skillnum = RFIFOW(fd,4);
- x = RFIFOW(fd,6);
- y = RFIFOW(fd,8);
- if (RFIFOW(fd,0) == 0x190)
- skillmoreinfo = 10;
-
- if (skillmoreinfo != -1) {
- if (pc_issit(sd)) {
- clif_skill_fail(sd, skillnum, 0, 0);
- return;
- }
- memcpy(talkie_mes, RFIFOP(fd,skillmoreinfo), 80);
- }
+ if (map[sd->bl.m].flag.noskill)
+ return;
+ if (sd->npc_id != 0 || sd->state.storage_flag)
+ return;
+ if (sd->chatID)
+ return;
- if (sd->skilltimer != -1)
- return;
- else if (DIFF_TICK(tick, sd->canact_tick) < 0) {
- clif_skill_fail(sd, skillnum, 4, 0);
- return;
- }
+ skillmoreinfo = -1;
+ skilllv = RFIFOW (fd, 2);
+ skillnum = RFIFOW (fd, 4);
+ x = RFIFOW (fd, 6);
+ y = RFIFOW (fd, 8);
+ if (RFIFOW (fd, 0) == 0x190)
+ skillmoreinfo = 10;
- if((sd->sc_data[SC_TRICKDEAD].timer != -1 && skillnum != NV_TRICKDEAD) ||
- sd->sc_data[SC_BERSERK].timer!=-1 || sd->sc_data[SC_NOCHAT].timer!=-1 ||
- sd->sc_data[SC_WEDDING].timer!=-1 || sd->view_class==22)
- return;
- if (sd->invincible_timer != -1)
- pc_delinvincibletimer(sd);
- if (sd->skillitem >= 0 && sd->skillitem == skillnum) {
- if (skilllv != sd->skillitemlv)
- skilllv = sd->skillitemlv;
- skill_use_pos(sd, x, y, skillnum, skilllv);
- } else {
- sd->skillitem = sd->skillitemlv = -1;
- if ((lv = pc_checkskill(sd, skillnum)) > 0) {
- if (skilllv > lv)
- skilllv = lv;
- skill_use_pos(sd, x, y, skillnum,skilllv);
- }
- }
+ if (skillmoreinfo != -1)
+ {
+ if (pc_issit (sd))
+ {
+ clif_skill_fail (sd, skillnum, 0, 0);
+ return;
+ }
+ memcpy (talkie_mes, RFIFOP (fd, skillmoreinfo), 80);
+ }
+
+ if (sd->skilltimer != -1)
+ return;
+ else if (DIFF_TICK (tick, sd->canact_tick) < 0)
+ {
+ clif_skill_fail (sd, skillnum, 4, 0);
+ return;
+ }
+
+ if ((sd->sc_data[SC_TRICKDEAD].timer != -1 && skillnum != NV_TRICKDEAD) ||
+ sd->sc_data[SC_BERSERK].timer != -1
+ || sd->sc_data[SC_NOCHAT].timer != -1
+ || sd->sc_data[SC_WEDDING].timer != -1 || sd->view_class == 22)
+ return;
+ if (sd->invincible_timer != -1)
+ pc_delinvincibletimer (sd);
+ if (sd->skillitem >= 0 && sd->skillitem == skillnum)
+ {
+ if (skilllv != sd->skillitemlv)
+ skilllv = sd->skillitemlv;
+ skill_use_pos (sd, x, y, skillnum, skilllv);
+ }
+ else
+ {
+ sd->skillitem = sd->skillitemlv = -1;
+ if ((lv = pc_checkskill (sd, skillnum)) > 0)
+ {
+ if (skilllv > lv)
+ skilllv = lv;
+ skill_use_pos (sd, x, y, skillnum, skilllv);
+ }
+ }
}
/*==========================================
* �X�L���g�p�imap�w���j
*------------------------------------------
*/
-void clif_parse_UseSkillMap(int fd,struct map_session_data *sd)
+void clif_parse_UseSkillMap (int fd, struct map_session_data *sd)
{
- nullpo_retv(sd);
+ nullpo_retv (sd);
- if(map[sd->bl.m].flag.noskill) return;
- if(sd->chatID) return;
+ if (map[sd->bl.m].flag.noskill)
+ return;
+ if (sd->chatID)
+ return;
- if(sd->npc_id!=0 || (sd->sc_data &&
- (sd->sc_data[SC_TRICKDEAD].timer != -1 ||
- sd->sc_data[SC_BERSERK].timer!=-1 ||
- sd->sc_data[SC_NOCHAT].timer!=-1 ||
- sd->sc_data[SC_WEDDING].timer!=-1 ||
- sd->view_class==22)))
- return;
+ if (sd->npc_id != 0 || (sd->sc_data &&
+ (sd->sc_data[SC_TRICKDEAD].timer != -1 ||
+ sd->sc_data[SC_BERSERK].timer != -1 ||
+ sd->sc_data[SC_NOCHAT].timer != -1 ||
+ sd->sc_data[SC_WEDDING].timer != -1 ||
+ sd->view_class == 22)))
+ return;
- if(sd->invincible_timer != -1)
- pc_delinvincibletimer(sd);
+ if (sd->invincible_timer != -1)
+ pc_delinvincibletimer (sd);
- skill_castend_map(sd,RFIFOW(fd,2),RFIFOP(fd,4));
+ skill_castend_map (sd, RFIFOW (fd, 2), RFIFOP (fd, 4));
}
+
/*==========================================
* �����v��
*------------------------------------------
*/
-void clif_parse_RequestMemo(int fd,struct map_session_data *sd)
+void clif_parse_RequestMemo (int fd, struct map_session_data *sd)
{
- pc_memo(sd,-1);
+ pc_memo (sd, -1);
}
/*==========================================
*
*------------------------------------------
*/
-void clif_parse_NpcSelectMenu(int fd,struct map_session_data *sd)
+void clif_parse_NpcSelectMenu (int fd, struct map_session_data *sd)
{
- nullpo_retv(sd);
+ nullpo_retv (sd);
- sd->npc_menu=RFIFOB(fd,6);
- map_scriptcont(sd,RFIFOL(fd,2));
+ sd->npc_menu = RFIFOB (fd, 6);
+ map_scriptcont (sd, RFIFOL (fd, 2));
}
/*==========================================
*
*------------------------------------------
*/
-void clif_parse_NpcNextClicked(int fd,struct map_session_data *sd)
+void clif_parse_NpcNextClicked (int fd, struct map_session_data *sd)
{
- map_scriptcont(sd,RFIFOL(fd,2));
+ map_scriptcont (sd, RFIFOL (fd, 2));
}
/*==========================================
*
*------------------------------------------
*/
-void clif_parse_NpcAmountInput(int fd,struct map_session_data *sd)
+void clif_parse_NpcAmountInput (int fd, struct map_session_data *sd)
{
- nullpo_retv(sd);
+ nullpo_retv (sd);
#define RFIFOL_(fd,pos) (*(int*)(session[fd]->rdata+session[fd]->rdata_pos+(pos)))
- //Input Value overflow Exploit FIX
- sd->npc_amount=RFIFOL_(fd,6); //fixed by Lupus. npc_amount is (int) but was RFIFOL changing it to (unsigned int)
+ //Input Value overflow Exploit FIX
+ sd->npc_amount = RFIFOL_ (fd, 6); //fixed by Lupus. npc_amount is (int) but was RFIFOL changing it to (unsigned int)
#undef RFIFOL_
- map_scriptcont(sd,RFIFOL(fd,2));
+ map_scriptcont (sd, RFIFOL (fd, 2));
}
/*==========================================
*
*------------------------------------------
*/
-void clif_parse_NpcStringInput(int fd,struct map_session_data *sd)
+void clif_parse_NpcStringInput (int fd, struct map_session_data *sd)
{
- int len;
- nullpo_retv(sd);
+ int len;
+ nullpo_retv (sd);
- len = RFIFOW(fd,2)-7;
+ len = RFIFOW (fd, 2) - 7;
- if(len >= sizeof(sd->npc_str)){
- printf("clif: input string too long !\n");
- memcpy(sd->npc_str,RFIFOP(fd,8),sizeof(sd->npc_str));
- sd->npc_str[sizeof(sd->npc_str)-1]=0;
- } else
- strncpy(sd->npc_str,RFIFOP(fd,8), len);
- map_scriptcont(sd,RFIFOL(fd,4));
+ if (len >= sizeof (sd->npc_str))
+ {
+ printf ("clif: input string too long !\n");
+ memcpy (sd->npc_str, RFIFOP (fd, 8), sizeof (sd->npc_str));
+ sd->npc_str[sizeof (sd->npc_str) - 1] = 0;
+ }
+ else
+ strncpy (sd->npc_str, RFIFOP (fd, 8), len);
+ map_scriptcont (sd, RFIFOL (fd, 4));
}
/*==========================================
*
*------------------------------------------
*/
-void clif_parse_NpcCloseClicked(int fd,struct map_session_data *sd)
+void clif_parse_NpcCloseClicked (int fd, struct map_session_data *sd)
{
- map_scriptcont(sd,RFIFOL(fd,2));
+ map_scriptcont (sd, RFIFOL (fd, 2));
}
/*==========================================
* �A�C�e���Ӓ�
*------------------------------------------
*/
-void clif_parse_ItemIdentify(int fd,struct map_session_data *sd)
+void clif_parse_ItemIdentify (int fd, struct map_session_data *sd)
{
- pc_item_identify(sd,RFIFOW(fd,2)-2);
+ pc_item_identify (sd, RFIFOW (fd, 2) - 2);
}
+
/*==========================================
* �I�[�g�X�y�����M
*------------------------------------------
*/
-void clif_parse_AutoSpell(int fd,struct map_session_data *sd)
+void clif_parse_AutoSpell (int fd, struct map_session_data *sd)
{
- skill_autospell(sd,RFIFOW(fd,2));
+ skill_autospell (sd, RFIFOW (fd, 2));
}
+
/*==========================================
* �J�[�h�g�p
*------------------------------------------
*/
-void clif_parse_UseCard(int fd,struct map_session_data *sd)
+void clif_parse_UseCard (int fd, struct map_session_data *sd)
{
- clif_use_card(sd,RFIFOW(fd,2)-2);
+ clif_use_card (sd, RFIFOW (fd, 2) - 2);
}
+
/*==========================================
* �J�[�h�}�������I��
*------------------------------------------
*/
-void clif_parse_InsertCard(int fd,struct map_session_data *sd)
+void clif_parse_InsertCard (int fd, struct map_session_data *sd)
{
- pc_insert_card(sd,RFIFOW(fd,2)-2,RFIFOW(fd,4)-2);
+ pc_insert_card (sd, RFIFOW (fd, 2) - 2, RFIFOW (fd, 4) - 2);
}
/*==========================================
* 0193 �L����ID���O����
*------------------------------------------
*/
-void clif_parse_SolveCharName(int fd, struct map_session_data *sd) {
- int char_id;
+void clif_parse_SolveCharName (int fd, struct map_session_data *sd)
+{
+ int char_id;
- char_id = RFIFOL(fd,2);
- clif_solved_charname(sd, char_id);
+ char_id = RFIFOL (fd, 2);
+ clif_solved_charname (sd, char_id);
}
/*==========================================
* 0197 /resetskill /resetstate
*------------------------------------------
*/
-void clif_parse_ResetChar(int fd, struct map_session_data *sd) {
- nullpo_retv(sd);
-
- if (battle_config.atc_gmonly == 0 || pc_isGM(sd)) {
- switch(RFIFOW(fd,2)){
- case 0:
- log_atcommand(sd, "@charstreset %s", sd->status.name);
- if (pc_isGM(sd) >= get_atcommand_level(AtCommand_ResetState))
- pc_resetstate(sd);
- break;
- case 1:
- log_atcommand(sd, "@charskreset %s", sd->status.name);
- if (pc_isGM(sd) >= get_atcommand_level(AtCommand_ResetState))
- pc_resetskill(sd);
- break;
- }
- }
+void clif_parse_ResetChar (int fd, struct map_session_data *sd)
+{
+ nullpo_retv (sd);
+
+ if (battle_config.atc_gmonly == 0 || pc_isGM (sd))
+ {
+ switch (RFIFOW (fd, 2))
+ {
+ case 0:
+ log_atcommand (sd, "@charstreset %s", sd->status.name);
+ if (pc_isGM (sd) >=
+ get_atcommand_level (AtCommand_ResetState))
+ pc_resetstate (sd);
+ break;
+ case 1:
+ log_atcommand (sd, "@charskreset %s", sd->status.name);
+ if (pc_isGM (sd) >=
+ get_atcommand_level (AtCommand_ResetState))
+ pc_resetskill (sd);
+ break;
+ }
+ }
}
/*==========================================
* 019c /lb��
*------------------------------------------
*/
-void clif_parse_LGMmessage(int fd, struct map_session_data *sd) {
- unsigned char buf[64];
+void clif_parse_LGMmessage (int fd, struct map_session_data *sd)
+{
+ unsigned char buf[64];
- nullpo_retv(sd);
+ nullpo_retv (sd);
- if ((battle_config.atc_gmonly == 0 || pc_isGM(sd)) &&
- (pc_isGM(sd) >= get_atcommand_level(AtCommand_LocalBroadcast))) {
- WBUFW(buf,0) = 0x9a;
- WBUFW(buf,2) = RFIFOW(fd,2);
- memcpy(WBUFP(buf,4), RFIFOP(fd,4), RFIFOW(fd,2) - 4);
- clif_send(buf, RFIFOW(fd,2), &sd->bl, ALL_SAMEMAP);
- }
+ if ((battle_config.atc_gmonly == 0 || pc_isGM (sd)) &&
+ (pc_isGM (sd) >= get_atcommand_level (AtCommand_LocalBroadcast)))
+ {
+ WBUFW (buf, 0) = 0x9a;
+ WBUFW (buf, 2) = RFIFOW (fd, 2);
+ memcpy (WBUFP (buf, 4), RFIFOP (fd, 4), RFIFOW (fd, 2) - 4);
+ clif_send (buf, RFIFOW (fd, 2), &sd->bl, ALL_SAMEMAP);
+ }
}
/*==========================================
* �J�v���q�ɂ֓�����
*------------------------------------------
*/
-void clif_parse_MoveToKafra(int fd, struct map_session_data *sd) {
- int item_index, item_amount;
+void clif_parse_MoveToKafra (int fd, struct map_session_data *sd)
+{
+ int item_index, item_amount;
- nullpo_retv(sd);
+ nullpo_retv (sd);
- item_index = RFIFOW(fd,2) - 2;
- item_amount = RFIFOL(fd,4);
+ item_index = RFIFOW (fd, 2) - 2;
+ item_amount = RFIFOL (fd, 4);
- if ((sd->npc_id != 0 && !sd->npc_flags.storage) || sd->trade_partner != 0 || !sd->state.storage_flag)
- return;
+ if ((sd->npc_id != 0 && !sd->npc_flags.storage) || sd->trade_partner != 0
+ || !sd->state.storage_flag)
+ return;
- if (sd->state.storage_flag == 1)
- storage_storageadd(sd, item_index, item_amount);
- else if (sd->state.storage_flag == 2)
- storage_guild_storageadd(sd, item_index, item_amount);
+ if (sd->state.storage_flag == 1)
+ storage_storageadd (sd, item_index, item_amount);
+ else if (sd->state.storage_flag == 2)
+ storage_guild_storageadd (sd, item_index, item_amount);
}
/*==========================================
* �J�v���q�ɂ����o��
*------------------------------------------
*/
-void clif_parse_MoveFromKafra(int fd,struct map_session_data *sd) {
- int item_index, item_amount;
+void clif_parse_MoveFromKafra (int fd, struct map_session_data *sd)
+{
+ int item_index, item_amount;
- nullpo_retv(sd);
+ nullpo_retv (sd);
- item_index = RFIFOW(fd,2) - 1;
- item_amount = RFIFOL(fd,4);
+ item_index = RFIFOW (fd, 2) - 1;
+ item_amount = RFIFOL (fd, 4);
- if ((sd->npc_id != 0 && !sd->npc_flags.storage) || sd->trade_partner != 0 || !sd->state.storage_flag)
- return;
+ if ((sd->npc_id != 0 && !sd->npc_flags.storage) || sd->trade_partner != 0
+ || !sd->state.storage_flag)
+ return;
- if (sd->state.storage_flag == 1)
- storage_storageget(sd, item_index, item_amount);
- else if(sd->state.storage_flag == 2)
- storage_guild_storageget(sd, item_index, item_amount);
+ if (sd->state.storage_flag == 1)
+ storage_storageget (sd, item_index, item_amount);
+ else if (sd->state.storage_flag == 2)
+ storage_guild_storageget (sd, item_index, item_amount);
}
/*==========================================
* �J�v���q�ɂփJ�[�g����������
*------------------------------------------
*/
-void clif_parse_MoveToKafraFromCart(int fd, struct map_session_data *sd) {
- nullpo_retv(sd);
+void clif_parse_MoveToKafraFromCart (int fd, struct map_session_data *sd)
+{
+ nullpo_retv (sd);
- if ((sd->npc_id != 0 && !sd->npc_flags.storage) || sd->trade_partner != 0 || !sd->state.storage_flag)
- return;
- if (sd->state.storage_flag == 1)
- storage_storageaddfromcart(sd, RFIFOW(fd,2) - 2, RFIFOL(fd,4));
- else if (sd->state.storage_flag == 2)
- storage_guild_storageaddfromcart(sd, RFIFOW(fd,2) - 2, RFIFOL(fd,4));
+ if ((sd->npc_id != 0 && !sd->npc_flags.storage) || sd->trade_partner != 0
+ || !sd->state.storage_flag)
+ return;
+ if (sd->state.storage_flag == 1)
+ storage_storageaddfromcart (sd, RFIFOW (fd, 2) - 2, RFIFOL (fd, 4));
+ else if (sd->state.storage_flag == 2)
+ storage_guild_storageaddfromcart (sd, RFIFOW (fd, 2) - 2,
+ RFIFOL (fd, 4));
}
/*==========================================
* �J�v���q�ɂ����o��
*------------------------------------------
*/
-void clif_parse_MoveFromKafraToCart(int fd, struct map_session_data *sd) {
- nullpo_retv(sd);
+void clif_parse_MoveFromKafraToCart (int fd, struct map_session_data *sd)
+{
+ nullpo_retv (sd);
- if ((sd->npc_id != 0 && !sd->npc_flags.storage) || sd->trade_partner != 0 || !sd->state.storage_flag)
- return;
- if (sd->state.storage_flag == 1)
- storage_storagegettocart(sd, RFIFOW(fd,2)-1, RFIFOL(fd,4));
- else if (sd->state.storage_flag == 2)
- storage_guild_storagegettocart(sd, RFIFOW(fd,2)-1, RFIFOL(fd,4));
+ if ((sd->npc_id != 0 && !sd->npc_flags.storage) || sd->trade_partner != 0
+ || !sd->state.storage_flag)
+ return;
+ if (sd->state.storage_flag == 1)
+ storage_storagegettocart (sd, RFIFOW (fd, 2) - 1, RFIFOL (fd, 4));
+ else if (sd->state.storage_flag == 2)
+ storage_guild_storagegettocart (sd, RFIFOW (fd, 2) - 1,
+ RFIFOL (fd, 4));
}
/*==========================================
* �J�v���q�ɂ��‚���
*------------------------------------------
*/
-void clif_parse_CloseKafra(int fd, struct map_session_data *sd) {
- nullpo_retv(sd);
+void clif_parse_CloseKafra (int fd, struct map_session_data *sd)
+{
+ nullpo_retv (sd);
- if (sd->state.storage_flag == 1)
- storage_storageclose(sd);
- else if (sd->state.storage_flag == 2)
- storage_guild_storageclose(sd);
+ if (sd->state.storage_flag == 1)
+ storage_storageclose (sd);
+ else if (sd->state.storage_flag == 2)
+ storage_guild_storageclose (sd);
}
/*==========================================
* �p�[�e�B������
*------------------------------------------
*/
-void clif_parse_CreateParty(int fd, struct map_session_data *sd) {
- if (battle_config.basic_skill_check == 0 || pc_checkskill(sd,NV_PARTY) >= 2) {
- party_create(sd,RFIFOP(fd,2));
- } else
- clif_skill_fail(sd,1,0,4);
+void clif_parse_CreateParty (int fd, struct map_session_data *sd)
+{
+ if (battle_config.basic_skill_check == 0
+ || pc_checkskill (sd, NV_PARTY) >= 2)
+ {
+ party_create (sd, RFIFOP (fd, 2));
+ }
+ else
+ clif_skill_fail (sd, 1, 0, 4);
}
/*==========================================
* �p�[�e�B������
*------------------------------------------
*/
-void clif_parse_CreateParty2(int fd, struct map_session_data *sd) {
- if (battle_config.basic_skill_check == 0 || pc_checkskill(sd,NV_PARTY) >= 2){
- party_create(sd, RFIFOP(fd,2));
- } else
- clif_skill_fail(sd, 1, 0, 4);
+void clif_parse_CreateParty2 (int fd, struct map_session_data *sd)
+{
+ if (battle_config.basic_skill_check == 0
+ || pc_checkskill (sd, NV_PARTY) >= 2)
+ {
+ party_create (sd, RFIFOP (fd, 2));
+ }
+ else
+ clif_skill_fail (sd, 1, 0, 4);
}
/*==========================================
* �p�[�e�B�Ɋ��U
*------------------------------------------
*/
-void clif_parse_PartyInvite(int fd, struct map_session_data *sd) {
- printf("Party Invite!\n");
- party_invite(sd, RFIFOL(fd,2));
+void clif_parse_PartyInvite (int fd, struct map_session_data *sd)
+{
+ printf ("Party Invite!\n");
+ party_invite (sd, RFIFOL (fd, 2));
}
/*==========================================
* �p�[�e�B���U�ԓ�
*------------------------------------------
*/
-void clif_parse_ReplyPartyInvite(int fd,struct map_session_data *sd) {
- if (battle_config.basic_skill_check == 0 || pc_checkskill(sd,NV_PARTY) >= 1){
- party_reply_invite(sd,RFIFOL(fd,2),RFIFOL(fd,6));
- } else {
- party_reply_invite(sd,RFIFOL(fd,2),-1);
- clif_skill_fail(sd,1,0,4);
- }
+void clif_parse_ReplyPartyInvite (int fd, struct map_session_data *sd)
+{
+ if (battle_config.basic_skill_check == 0
+ || pc_checkskill (sd, NV_PARTY) >= 1)
+ {
+ party_reply_invite (sd, RFIFOL (fd, 2), RFIFOL (fd, 6));
+ }
+ else
+ {
+ party_reply_invite (sd, RFIFOL (fd, 2), -1);
+ clif_skill_fail (sd, 1, 0, 4);
+ }
}
/*==========================================
* �p�[�e�B�E�ޗv��
*------------------------------------------
*/
-void clif_parse_LeaveParty(int fd, struct map_session_data *sd) {
- party_leave(sd);
+void clif_parse_LeaveParty (int fd, struct map_session_data *sd)
+{
+ party_leave (sd);
}
/*==========================================
* �p�[�e�B�����v��
*------------------------------------------
*/
-void clif_parse_RemovePartyMember(int fd, struct map_session_data *sd) {
- party_removemember(sd,RFIFOL(fd,2),RFIFOP(fd,6));
+void clif_parse_RemovePartyMember (int fd, struct map_session_data *sd)
+{
+ party_removemember (sd, RFIFOL (fd, 2), RFIFOP (fd, 6));
}
/*==========================================
* �p�[�e�B�ݒ��ύX�v��
*------------------------------------------
*/
-void clif_parse_PartyChangeOption(int fd, struct map_session_data *sd) {
- party_changeoption(sd, RFIFOW(fd,2), RFIFOW(fd,4));
+void clif_parse_PartyChangeOption (int fd, struct map_session_data *sd)
+{
+ party_changeoption (sd, RFIFOW (fd, 2), RFIFOW (fd, 4));
}
/*==========================================
* �p�[�e�B���b�Z�[�W���M�v��
*------------------------------------------
*/
-void clif_parse_PartyMessage(int fd, struct map_session_data *sd) {
- nullpo_retv(sd);
+void clif_parse_PartyMessage (int fd, struct map_session_data *sd)
+{
+ nullpo_retv (sd);
- if (is_atcommand(fd, sd, RFIFOP(fd,4), 0) != AtCommand_None)
- return;
- if(sd->sc_data &&
- (sd->sc_data[SC_BERSERK].timer!=-1 || //�o�[�T�[�N���͉��b���s��
- sd->sc_data[SC_NOCHAT].timer!=-1)) //�`���b�g�֎~
- return;
+ if (is_atcommand (fd, sd, RFIFOP (fd, 4), 0) != AtCommand_None)
+ return;
+ if (sd->sc_data && (sd->sc_data[SC_BERSERK].timer != -1 || //�o�[�T�[�N���͉��b���s��
+ sd->sc_data[SC_NOCHAT].timer != -1)) //�`���b�g�֎~
+ return;
- party_send_message(sd, RFIFOP(fd,4), RFIFOW(fd,2)-4);
+ party_send_message (sd, RFIFOP (fd, 4), RFIFOW (fd, 2) - 4);
}
/*==========================================
* /monster /item rewriten by [Yor]
*------------------------------------------
*/
-void clif_parse_GM_Monster_Item(int fd, struct map_session_data *sd) {
- char monster_item_name[25];
+void clif_parse_GM_Monster_Item (int fd, struct map_session_data *sd)
+{
+ char monster_item_name[25];
- nullpo_retv(sd);
+ nullpo_retv (sd);
- memset(monster_item_name, '\0', sizeof(monster_item_name));
-
- if (battle_config.atc_gmonly == 0 || pc_isGM(sd)) {
- memcpy(monster_item_name, RFIFOP(fd,2), 24);
-
- if (mobdb_searchname(monster_item_name) != 0) {
- if (pc_isGM(sd) >= get_atcommand_level(AtCommand_Monster)) {
- log_atcommand(sd, "@spawn %s", monster_item_name);
- atcommand_spawn(fd, sd, "@spawn", monster_item_name); // as @spawn
- }
- } else if (itemdb_searchname(monster_item_name) != NULL) {
- if (pc_isGM(sd) >= get_atcommand_level(AtCommand_Item)) {
- log_atcommand(sd, "@item %s", monster_item_name);
- atcommand_item(fd, sd, "@item", monster_item_name); // as @item
- }
- }
+ memset (monster_item_name, '\0', sizeof (monster_item_name));
- }
+ if (battle_config.atc_gmonly == 0 || pc_isGM (sd))
+ {
+ memcpy (monster_item_name, RFIFOP (fd, 2), 24);
+
+ if (mobdb_searchname (monster_item_name) != 0)
+ {
+ if (pc_isGM (sd) >= get_atcommand_level (AtCommand_Monster))
+ {
+ log_atcommand (sd, "@spawn %s", monster_item_name);
+ atcommand_spawn (fd, sd, "@spawn", monster_item_name); // as @spawn
+ }
+ }
+ else if (itemdb_searchname (monster_item_name) != NULL)
+ {
+ if (pc_isGM (sd) >= get_atcommand_level (AtCommand_Item))
+ {
+ log_atcommand (sd, "@item %s", monster_item_name);
+ atcommand_item (fd, sd, "@item", monster_item_name); // as @item
+ }
+ }
+
+ }
}
/*==========================================
* �M���h������
*------------------------------------------
*/
-void clif_parse_CreateGuild(int fd,struct map_session_data *sd) {
- guild_create(sd, RFIFOP(fd,6));
+void clif_parse_CreateGuild (int fd, struct map_session_data *sd)
+{
+ guild_create (sd, RFIFOP (fd, 6));
}
/*==========================================
* �M���h�}�X�^�[���ǂ����m�F
*------------------------------------------
*/
-void clif_parse_GuildCheckMaster(int fd, struct map_session_data *sd) {
- clif_guild_masterormember(sd);
+void clif_parse_GuildCheckMaster (int fd, struct map_session_data *sd)
+{
+ clif_guild_masterormember (sd);
}
/*==========================================
* �M���h�����v��
*------------------------------------------
*/
-void clif_parse_GuildReqeustInfo(int fd, struct map_session_data *sd) {
- switch(RFIFOL(fd,2)){
- case 0: // �M���h���{�����A�����G�Ώ���
- clif_guild_basicinfo(sd);
- clif_guild_allianceinfo(sd);
- break;
- case 1: // �����o�[���X�g�A���E�����X�g
- clif_guild_positionnamelist(sd);
- clif_guild_memberlist(sd);
- break;
- case 2: // ���E�����X�g�A���E���񃊃X�g
- clif_guild_positionnamelist(sd);
- clif_guild_positioninfolist(sd);
- break;
- case 3: // �X�L�����X�g
- clif_guild_skillinfo(sd);
- break;
- case 4: // �Ǖ����X�g
- clif_guild_explusionlist(sd);
- break;
- default:
- if (battle_config.error_log)
- printf("clif: guild request info: unknown type %d\n", RFIFOL(fd,2));
- break;
- }
+void clif_parse_GuildReqeustInfo (int fd, struct map_session_data *sd)
+{
+ switch (RFIFOL (fd, 2))
+ {
+ case 0: // �M���h���{�����A�����G�Ώ���
+ clif_guild_basicinfo (sd);
+ clif_guild_allianceinfo (sd);
+ break;
+ case 1: // �����o�[���X�g�A���E�����X�g
+ clif_guild_positionnamelist (sd);
+ clif_guild_memberlist (sd);
+ break;
+ case 2: // ���E�����X�g�A���E���񃊃X�g
+ clif_guild_positionnamelist (sd);
+ clif_guild_positioninfolist (sd);
+ break;
+ case 3: // �X�L�����X�g
+ clif_guild_skillinfo (sd);
+ break;
+ case 4: // �Ǖ����X�g
+ clif_guild_explusionlist (sd);
+ break;
+ default:
+ if (battle_config.error_log)
+ printf ("clif: guild request info: unknown type %d\n",
+ RFIFOL (fd, 2));
+ break;
+ }
}
/*==========================================
* �M���h���E�ύX
*------------------------------------------
*/
-void clif_parse_GuildChangePositionInfo(int fd, struct map_session_data *sd) {
- int i;
+void clif_parse_GuildChangePositionInfo (int fd, struct map_session_data *sd)
+{
+ int i;
- for(i = 4; i < RFIFOW(fd,2); i += 40 ){
- guild_change_position(sd, RFIFOL(fd,i), RFIFOL(fd,i+4), RFIFOL(fd,i+12), RFIFOP(fd,i+16));
- }
+ for (i = 4; i < RFIFOW (fd, 2); i += 40)
+ {
+ guild_change_position (sd, RFIFOL (fd, i), RFIFOL (fd, i + 4),
+ RFIFOL (fd, i + 12), RFIFOP (fd, i + 16));
+ }
}
/*==========================================
* �M���h�����o���E�ύX
*------------------------------------------
*/
-void clif_parse_GuildChangeMemberPosition(int fd, struct map_session_data *sd) {
- int i;
+void clif_parse_GuildChangeMemberPosition (int fd,
+ struct map_session_data *sd)
+{
+ int i;
- nullpo_retv(sd);
+ nullpo_retv (sd);
- for(i=4;i<RFIFOW(fd,2);i+=12){
- guild_change_memberposition(sd->status.guild_id,
- RFIFOL(fd,i),RFIFOL(fd,i+4),RFIFOL(fd,i+8));
- }
+ for (i = 4; i < RFIFOW (fd, 2); i += 12)
+ {
+ guild_change_memberposition (sd->status.guild_id,
+ RFIFOL (fd, i), RFIFOL (fd, i + 4),
+ RFIFOL (fd, i + 8));
+ }
}
/*==========================================
* �M���h�G���u�����v��
*------------------------------------------
*/
-void clif_parse_GuildRequestEmblem(int fd,struct map_session_data *sd) {
- struct guild *g=guild_search(RFIFOL(fd,2));
- if(g!=NULL)
- clif_guild_emblem(sd,g);
+void clif_parse_GuildRequestEmblem (int fd, struct map_session_data *sd)
+{
+ struct guild *g = guild_search (RFIFOL (fd, 2));
+ if (g != NULL)
+ clif_guild_emblem (sd, g);
}
/*==========================================
* �M���h�G���u�����ύX
*------------------------------------------
*/
-void clif_parse_GuildChangeEmblem(int fd,struct map_session_data *sd) {
- guild_change_emblem(sd,RFIFOW(fd,2)-4,RFIFOP(fd,4));
+void clif_parse_GuildChangeEmblem (int fd, struct map_session_data *sd)
+{
+ guild_change_emblem (sd, RFIFOW (fd, 2) - 4, RFIFOP (fd, 4));
}
/*==========================================
* �M���h���m�ύX
*------------------------------------------
*/
-void clif_parse_GuildChangeNotice(int fd,struct map_session_data *sd) {
- guild_change_notice(sd,RFIFOL(fd,2),RFIFOP(fd,6),RFIFOP(fd,66));
+void clif_parse_GuildChangeNotice (int fd, struct map_session_data *sd)
+{
+ guild_change_notice (sd, RFIFOL (fd, 2), RFIFOP (fd, 6), RFIFOP (fd, 66));
}
/*==========================================
* �M���h���U
*------------------------------------------
*/
-void clif_parse_GuildInvite(int fd,struct map_session_data *sd) {
- guild_invite(sd,RFIFOL(fd,2));
+void clif_parse_GuildInvite (int fd, struct map_session_data *sd)
+{
+ guild_invite (sd, RFIFOL (fd, 2));
}
/*==========================================
* �M���h���U�ԐM
*------------------------------------------
*/
-void clif_parse_GuildReplyInvite(int fd,struct map_session_data *sd) {
- guild_reply_invite(sd,RFIFOL(fd,2),RFIFOB(fd,6));
+void clif_parse_GuildReplyInvite (int fd, struct map_session_data *sd)
+{
+ guild_reply_invite (sd, RFIFOL (fd, 2), RFIFOB (fd, 6));
}
/*==========================================
* �M���h�E��
*------------------------------------------
*/
-void clif_parse_GuildLeave(int fd,struct map_session_data *sd) {
- guild_leave(sd,RFIFOL(fd,2),RFIFOL(fd,6),RFIFOL(fd,10),RFIFOP(fd,14));
+void clif_parse_GuildLeave (int fd, struct map_session_data *sd)
+{
+ guild_leave (sd, RFIFOL (fd, 2), RFIFOL (fd, 6), RFIFOL (fd, 10),
+ RFIFOP (fd, 14));
}
/*==========================================
* �M���h�Ǖ�
*------------------------------------------
*/
-void clif_parse_GuildExplusion(int fd,struct map_session_data *sd) {
- guild_explusion(sd,RFIFOL(fd,2),RFIFOL(fd,6),RFIFOL(fd,10),RFIFOP(fd,14));
+void clif_parse_GuildExplusion (int fd, struct map_session_data *sd)
+{
+ guild_explusion (sd, RFIFOL (fd, 2), RFIFOL (fd, 6), RFIFOL (fd, 10),
+ RFIFOP (fd, 14));
}
/*==========================================
* �M���h���b
*------------------------------------------
*/
-void clif_parse_GuildMessage(int fd,struct map_session_data *sd) {
- nullpo_retv(sd);
+void clif_parse_GuildMessage (int fd, struct map_session_data *sd)
+{
+ nullpo_retv (sd);
- if (is_atcommand(fd, sd, RFIFOP(fd, 4), 0) != AtCommand_None)
- return;
- if(sd->sc_data &&
- (sd->sc_data[SC_BERSERK].timer!=-1 || //�o�[�T�[�N���͉��b���s��
- sd->sc_data[SC_NOCHAT].timer!=-1)) //�`���b�g�֎~
- return;
+ if (is_atcommand (fd, sd, RFIFOP (fd, 4), 0) != AtCommand_None)
+ return;
+ if (sd->sc_data && (sd->sc_data[SC_BERSERK].timer != -1 || //�o�[�T�[�N���͉��b���s��
+ sd->sc_data[SC_NOCHAT].timer != -1)) //�`���b�g�֎~
+ return;
- guild_send_message(sd, RFIFOP(fd,4), RFIFOW(fd,2)-4);
+ guild_send_message (sd, RFIFOP (fd, 4), RFIFOW (fd, 2) - 4);
}
/*==========================================
* �M���h�����v��
*------------------------------------------
*/
-void clif_parse_GuildRequestAlliance(int fd, struct map_session_data *sd) {
- guild_reqalliance(sd,RFIFOL(fd,2));
+void clif_parse_GuildRequestAlliance (int fd, struct map_session_data *sd)
+{
+ guild_reqalliance (sd, RFIFOL (fd, 2));
}
/*==========================================
* �M���h�����v���ԐM
*------------------------------------------
*/
-void clif_parse_GuildReplyAlliance(int fd, struct map_session_data *sd) {
- guild_reply_reqalliance(sd,RFIFOL(fd,2),RFIFOL(fd,6));
+void clif_parse_GuildReplyAlliance (int fd, struct map_session_data *sd)
+{
+ guild_reply_reqalliance (sd, RFIFOL (fd, 2), RFIFOL (fd, 6));
}
/*==========================================
* �M���h�֌W����
*------------------------------------------
*/
-void clif_parse_GuildDelAlliance(int fd, struct map_session_data *sd) {
- guild_delalliance(sd,RFIFOL(fd,2),RFIFOL(fd,6));
+void clif_parse_GuildDelAlliance (int fd, struct map_session_data *sd)
+{
+ guild_delalliance (sd, RFIFOL (fd, 2), RFIFOL (fd, 6));
}
/*==========================================
* �M���h�G��
*------------------------------------------
*/
-void clif_parse_GuildOpposition(int fd, struct map_session_data *sd) {
- guild_opposition(sd,RFIFOL(fd,2));
+void clif_parse_GuildOpposition (int fd, struct map_session_data *sd)
+{
+ guild_opposition (sd, RFIFOL (fd, 2));
}
/*==========================================
* �M���h���U
*------------------------------------------
*/
-void clif_parse_GuildBreak(int fd, struct map_session_data *sd) {
- guild_break(sd,RFIFOP(fd,2));
+void clif_parse_GuildBreak (int fd, struct map_session_data *sd)
+{
+ guild_break (sd, RFIFOP (fd, 2));
}
// Kick (right click menu for GM "(name) force to quit")
-void clif_parse_GMKick(int fd, struct map_session_data *sd) {
- struct block_list *target;
- int tid = RFIFOL(fd,2);
-
- nullpo_retv(sd);
-
- if ((battle_config.atc_gmonly == 0 || pc_isGM(sd)) &&
- (pc_isGM(sd) >= get_atcommand_level(AtCommand_Kick))) {
- target = map_id2bl(tid);
- if (target) {
- if (target->type == BL_PC) {
- struct map_session_data *tsd = (struct map_session_data *)target;
- log_atcommand(sd, "@kick %s", tsd->status.name);
- if (pc_isGM(sd) > pc_isGM(tsd))
- clif_GM_kick(sd, tsd, 1);
- else
- clif_GM_kickack(sd, 0);
- } else if (target->type == BL_MOB) {
- struct mob_data *md = (struct mob_data *)target;
- sd->state.attack_type = 0;
- mob_damage(&sd->bl, md, md->hp, 2);
- } else
- clif_GM_kickack(sd, 0);
- } else
- clif_GM_kickack(sd, 0);
- }
+void clif_parse_GMKick (int fd, struct map_session_data *sd)
+{
+ struct block_list *target;
+ int tid = RFIFOL (fd, 2);
+
+ nullpo_retv (sd);
+
+ if ((battle_config.atc_gmonly == 0 || pc_isGM (sd)) &&
+ (pc_isGM (sd) >= get_atcommand_level (AtCommand_Kick)))
+ {
+ target = map_id2bl (tid);
+ if (target)
+ {
+ if (target->type == BL_PC)
+ {
+ struct map_session_data *tsd =
+ (struct map_session_data *) target;
+ log_atcommand (sd, "@kick %s", tsd->status.name);
+ if (pc_isGM (sd) > pc_isGM (tsd))
+ clif_GM_kick (sd, tsd, 1);
+ else
+ clif_GM_kickack (sd, 0);
+ }
+ else if (target->type == BL_MOB)
+ {
+ struct mob_data *md = (struct mob_data *) target;
+ sd->state.attack_type = 0;
+ mob_damage (&sd->bl, md, md->hp, 2);
+ }
+ else
+ clif_GM_kickack (sd, 0);
+ }
+ else
+ clif_GM_kickack (sd, 0);
+ }
}
/*==========================================
* /shift
*------------------------------------------
*/
-void clif_parse_Shift(int fd, struct map_session_data *sd) { // Rewriten by [Yor]
- char player_name[25];
+void clif_parse_Shift (int fd, struct map_session_data *sd)
+{ // Rewriten by [Yor]
+ char player_name[25];
- nullpo_retv(sd);
+ nullpo_retv (sd);
- memset(player_name, '\0', sizeof(player_name));
+ memset (player_name, '\0', sizeof (player_name));
- if ((battle_config.atc_gmonly == 0 || pc_isGM(sd)) &&
- (pc_isGM(sd) >= get_atcommand_level(AtCommand_Goto))) {
- memcpy(player_name, RFIFOP(fd,2), 24);
- log_atcommand(sd, "@goto %s", player_name);
- atcommand_goto(fd, sd, "@goto", player_name); // as @jumpto
- }
+ if ((battle_config.atc_gmonly == 0 || pc_isGM (sd)) &&
+ (pc_isGM (sd) >= get_atcommand_level (AtCommand_Goto)))
+ {
+ memcpy (player_name, RFIFOP (fd, 2), 24);
+ log_atcommand (sd, "@goto %s", player_name);
+ atcommand_goto (fd, sd, "@goto", player_name); // as @jumpto
+ }
- return;
+ return;
}
/*==========================================
* /recall
*------------------------------------------
*/
-void clif_parse_Recall(int fd, struct map_session_data *sd) { // Added by RoVeRT
- char player_name[25];
+void clif_parse_Recall (int fd, struct map_session_data *sd)
+{ // Added by RoVeRT
+ char player_name[25];
- nullpo_retv(sd);
+ nullpo_retv (sd);
- memset(player_name, '\0', sizeof(player_name));
+ memset (player_name, '\0', sizeof (player_name));
- if ((battle_config.atc_gmonly == 0 || pc_isGM(sd)) &&
- (pc_isGM(sd) >= get_atcommand_level(AtCommand_Recall))) {
- memcpy(player_name, RFIFOP(fd,2), 24);
- log_atcommand(sd, "@recall %s", player_name);
- atcommand_recall(fd, sd, "@recall", player_name); // as @recall
- }
+ if ((battle_config.atc_gmonly == 0 || pc_isGM (sd)) &&
+ (pc_isGM (sd) >= get_atcommand_level (AtCommand_Recall)))
+ {
+ memcpy (player_name, RFIFOP (fd, 2), 24);
+ log_atcommand (sd, "@recall %s", player_name);
+ atcommand_recall (fd, sd, "@recall", player_name); // as @recall
+ }
- return;
+ return;
}
-void clif_parse_GMHide(int fd, struct map_session_data *sd) { // Modified by [Yor]
- nullpo_retv(sd);
+void clif_parse_GMHide (int fd, struct map_session_data *sd)
+{ // Modified by [Yor]
+ nullpo_retv (sd);
- //printf("%2x %2x %2x\n", RFIFOW(fd,0), RFIFOW(fd,2), RFIFOW(fd,4)); // R 019d <Option_value>.2B <flag>.2B
- if ((battle_config.atc_gmonly == 0 || pc_isGM(sd)) &&
- (pc_isGM(sd) >= get_atcommand_level(AtCommand_Hide))) {
- log_atcommand(sd, "@hide");
- if (sd->status.option & OPTION_HIDE) { // OPTION_HIDE = 0x40
- sd->status.option &= ~OPTION_HIDE; // OPTION_HIDE = 0x40
- clif_displaymessage(fd, "Invisible: Off.");
- } else {
- sd->status.option |= OPTION_HIDE; // OPTION_HIDE = 0x40
- clif_displaymessage(fd, "Invisible: On.");
- }
- clif_changeoption(&sd->bl);
- }
+ //printf("%2x %2x %2x\n", RFIFOW(fd,0), RFIFOW(fd,2), RFIFOW(fd,4)); // R 019d <Option_value>.2B <flag>.2B
+ if ((battle_config.atc_gmonly == 0 || pc_isGM (sd)) &&
+ (pc_isGM (sd) >= get_atcommand_level (AtCommand_Hide)))
+ {
+ log_atcommand (sd, "@hide");
+ if (sd->status.option & OPTION_HIDE)
+ { // OPTION_HIDE = 0x40
+ sd->status.option &= ~OPTION_HIDE; // OPTION_HIDE = 0x40
+ clif_displaymessage (fd, "Invisible: Off.");
+ }
+ else
+ {
+ sd->status.option |= OPTION_HIDE; // OPTION_HIDE = 0x40
+ clif_displaymessage (fd, "Invisible: On.");
+ }
+ clif_changeoption (&sd->bl);
+ }
}
/*==========================================
* GM�ɂ����`���b�g�֎~���ԕt�^
*------------------------------------------
*/
-void clif_parse_GMReqNoChat(int fd,struct map_session_data *sd)
-{
- int tid = RFIFOL(fd,2);
- int type = RFIFOB(fd,6);
- int limit = RFIFOW(fd,7);
- struct block_list *bl = map_id2bl(tid);
- struct map_session_data *dstsd;
- int dstfd;
-
- nullpo_retv(sd);
-
- if(!battle_config.muting_players) {
- clif_displaymessage(fd, "Muting is disabled.");
- return;
- }
-
- if(type == 0)
- limit = 0 - limit;
- if(bl->type == BL_PC && (dstsd =(struct map_session_data *)bl)){
- if((tid == bl->id && type == 2 && !pc_isGM(sd)) || (pc_isGM(sd) > pc_isGM(dstsd)) ){
- dstfd = dstsd->fd;
- WFIFOW(dstfd,0)=0x14b;
- WFIFOB(dstfd,2)=(type==2)?1:type;
- memcpy(WFIFOP(dstfd,3),sd->status.name,24);
- WFIFOSET(dstfd,packet_len_table[0x14b]);
- dstsd->status.manner -= limit;
- if(dstsd->status.manner < 0)
- skill_status_change_start(bl,SC_NOCHAT,0,0,0,0,0,0);
- else{
- dstsd->status.manner = 0;
- skill_status_change_end(bl,SC_NOCHAT,-1);
- }
- printf("name:%s type:%d limit:%d manner:%d\n",dstsd->status.name,type,limit,dstsd->status.manner);
- }
- }
+void clif_parse_GMReqNoChat (int fd, struct map_session_data *sd)
+{
+ int tid = RFIFOL (fd, 2);
+ int type = RFIFOB (fd, 6);
+ int limit = RFIFOW (fd, 7);
+ struct block_list *bl = map_id2bl (tid);
+ struct map_session_data *dstsd;
+ int dstfd;
+
+ nullpo_retv (sd);
+
+ if (!battle_config.muting_players)
+ {
+ clif_displaymessage (fd, "Muting is disabled.");
+ return;
+ }
+
+ if (type == 0)
+ limit = 0 - limit;
+ if (bl->type == BL_PC && (dstsd = (struct map_session_data *) bl))
+ {
+ if ((tid == bl->id && type == 2 && !pc_isGM (sd))
+ || (pc_isGM (sd) > pc_isGM (dstsd)))
+ {
+ dstfd = dstsd->fd;
+ WFIFOW (dstfd, 0) = 0x14b;
+ WFIFOB (dstfd, 2) = (type == 2) ? 1 : type;
+ memcpy (WFIFOP (dstfd, 3), sd->status.name, 24);
+ WFIFOSET (dstfd, packet_len_table[0x14b]);
+ dstsd->status.manner -= limit;
+ if (dstsd->status.manner < 0)
+ skill_status_change_start (bl, SC_NOCHAT, 0, 0, 0, 0, 0, 0);
+ else
+ {
+ dstsd->status.manner = 0;
+ skill_status_change_end (bl, SC_NOCHAT, -1);
+ }
+ printf ("name:%s type:%d limit:%d manner:%d\n",
+ dstsd->status.name, type, limit, dstsd->status.manner);
+ }
+ }
- return;
+ return;
}
+
/*==========================================
* GM�ɂ����`���b�g�֎~���ԎQ�Ɓi�H�j
*------------------------------------------
*/
-void clif_parse_GMReqNoChatCount(int fd,struct map_session_data *sd)
+void clif_parse_GMReqNoChatCount (int fd, struct map_session_data *sd)
{
- int tid = RFIFOL(fd,2);
+ int tid = RFIFOL (fd, 2);
- WFIFOW(fd,0)=0x1e0;
- WFIFOL(fd,2)=tid;
- sprintf(WFIFOP(fd,6),"%d",tid);
-// memcpy(WFIFOP(fd,6),"TESTNAME",24);
- WFIFOSET(fd,packet_len_table[0x1e0]);
+ WFIFOW (fd, 0) = 0x1e0;
+ WFIFOL (fd, 2) = tid;
+ sprintf (WFIFOP (fd, 6), "%d", tid);
+// memcpy(WFIFOP(fd,6),"TESTNAME",24);
+ WFIFOSET (fd, packet_len_table[0x1e0]);
- return;
+ return;
}
-void clif_parse_PMIgnore(int fd, struct map_session_data *sd) { // Rewritten by [Yor]
- char output[1024];
- char *nick; // S 00cf <nick>.24B <type>.B: 00 (/ex nick) deny speech from nick, 01 (/in nick) allow speech from nick
- int i;
- int pos;
-
- memset(output, '\0', sizeof(output));
-
- nick = RFIFOP(fd,2); // speed up
- //printf("Ignore: char '%s' state: %d\n", nick, RFIFOB(fd,26));
- // we ask for deny (we add nick only if it's not already exist
- if (RFIFOB(fd,26) == 0) { // type
- if (strlen(nick) >= 4 && strlen(nick) < 24) { // do something only if nick can be exist
- pos = -1;
- for(i = 0; i < (sizeof(sd->ignore) / sizeof(sd->ignore[0])); i++) {
- if (strcmp(sd->ignore[i].name, nick) == 0)
- break;
- else if (pos == -1 && sd->ignore[i].name[0] == '\0')
- pos = i;
- }
- WFIFOW(fd,0) = 0x0d1; // R 00d1 <type>.B <fail>.B: type: 0: deny, 1: allow, fail: 0: success, 1: fail
- WFIFOB(fd,2) = 0;
- // if a position is found and name not found, we add it in the list
- if (pos != -1 && i == (sizeof(sd->ignore) / sizeof(sd->ignore[0]))) {
- memcpy(sd->ignore[pos].name, nick, 24);
- WFIFOB(fd,3) = 0; // success
- WFIFOSET(fd, packet_len_table[0x0d1]);
- if (strcmp(wisp_server_name, nick) == 0) { // to found possible bot users that automaticaly ignores people.
- sprintf(output, "Character '%s' (account: %d) has tried to block wisps from '%s' (wisp name of the server). Bot user?", sd->status.name, sd->status.account_id, wisp_server_name);
- intif_wis_message_to_gm(wisp_server_name, battle_config.hack_info_GM_level, output, strlen(output) + 1);
- // send something to be inform and force bot to ignore twice... If GM receiving block + block again, it's a bot :)
- clif_wis_message(fd, wisp_server_name, "Add me in your ignore list, doesn't block my wisps.", strlen("Add me in your ignore list, doesn't block my wisps.") + 1);
- }
- } else {
- WFIFOB(fd,3) = 1; // fail
- if (i == (sizeof(sd->ignore) / sizeof(sd->ignore[0]))) {
- clif_wis_message(fd, wisp_server_name, "You can not block more people.", strlen("You can not block more people.") + 1);
- if (strcmp(wisp_server_name, nick) == 0) { // to found possible bot users that automaticaly ignores people.
- sprintf(output, "Character '%s' (account: %d) has tried to block wisps from '%s' (wisp name of the server). Bot user?", sd->status.name, sd->status.account_id, wisp_server_name);
- intif_wis_message_to_gm(wisp_server_name, battle_config.hack_info_GM_level, output, strlen(output) + 1);
- }
- } else {
- clif_wis_message(fd, wisp_server_name, "This player is already blocked.", strlen("This player is already blocked.") + 1);
- if (strcmp(wisp_server_name, nick) == 0) { // to found possible bot users that automaticaly ignores people.
- sprintf(output, "Character '%s' (account: %d) has tried AGAIN to block wisps from '%s' (wisp name of the server). Bot user?", sd->status.name, sd->status.account_id, wisp_server_name);
- intif_wis_message_to_gm(wisp_server_name, battle_config.hack_info_GM_level, output, strlen(output) + 1);
- }
- }
- }
- } else
- clif_wis_message(fd, wisp_server_name, "It's impossible to block this player.", strlen("It's impossible to block this player.") + 1);
- // we ask for allow (we remove all same nick if exist)
- } else {
- if (strlen(nick) >= 4 && strlen(nick) < 24) { // do something only if nick can be exist
- WFIFOW(fd,0) = 0x0d1; // R 00d1 <type>.B <fail>.B: type: 0: deny, 1: allow, fail: 0: success, 1: fail
- WFIFOB(fd,2) = 1;
- for(i = 0; i < (sizeof(sd->ignore) / sizeof(sd->ignore[0])); i++)
- if (strcmp(sd->ignore[i].name, nick) == 0) {
- memset(sd->ignore[i].name, 0, sizeof(sd->ignore[i].name));
- WFIFOB(fd,3) = 0; // success
- WFIFOSET(fd, packet_len_table[0x0d1]);
- break;
- }
- if (i == (sizeof(sd->ignore) / sizeof(sd->ignore[0]))) {
- WFIFOB(fd,3) = 1; // fail
- WFIFOSET(fd, packet_len_table[0x0d1]);
- clif_wis_message(fd, wisp_server_name, "This player is not blocked by you.", strlen("This player is not blocked by you.") + 1);
- }
- } else
- clif_wis_message(fd, wisp_server_name, "It's impossible to unblock this player.", strlen("It's impossible to unblock this player.") + 1);
- }
-
-// for(i = 0; i < (sizeof(sd->ignore) / sizeof(sd->ignore[0])); i++) // for debug only
-// if (sd->ignore[i].name[0] != '\0')
-// printf("Ignored player: '%s'\n", sd->ignore[i].name);
+void clif_parse_PMIgnore (int fd, struct map_session_data *sd)
+{ // Rewritten by [Yor]
+ char output[1024];
+ char *nick; // S 00cf <nick>.24B <type>.B: 00 (/ex nick) deny speech from nick, 01 (/in nick) allow speech from nick
+ int i;
+ int pos;
- return;
-}
+ memset (output, '\0', sizeof (output));
-void clif_parse_PMIgnoreAll(int fd, struct map_session_data *sd) { // Rewritten by [Yor]
- //printf("Ignore all: state: %d\n", RFIFOB(fd,2));
- if (RFIFOB(fd,2) == 0) {// S 00d0 <type>len.B: 00 (/exall) deny all speech, 01 (/inall) allow all speech
- WFIFOW(fd,0) = 0x0d2; // R 00d2 <type>.B <fail>.B: type: 0: deny, 1: allow, fail: 0: success, 1: fail
- WFIFOB(fd,2) = 0;
- if (sd->ignoreAll == 0) {
- sd->ignoreAll = 1;
- WFIFOB(fd,3) = 0; // success
- WFIFOSET(fd, packet_len_table[0x0d2]);
- } else {
- WFIFOB(fd,3) = 1; // fail
- WFIFOSET(fd, packet_len_table[0x0d2]);
- clif_wis_message(fd, wisp_server_name, "You already block everyone.", strlen("You already block everyone.") + 1);
- }
- } else {
- WFIFOW(fd,0) = 0x0d2; // R 00d2 <type>.B <fail>.B: type: 0: deny, 1: allow, fail: 0: success, 1: fail
- WFIFOB(fd,2) = 1;
- if (sd->ignoreAll == 1) {
- sd->ignoreAll = 0;
- WFIFOB(fd,3) = 0; // success
- WFIFOSET(fd, packet_len_table[0x0d2]);
- } else {
- WFIFOB(fd,3) = 1; // fail
- WFIFOSET(fd, packet_len_table[0x0d2]);
- clif_wis_message(fd, wisp_server_name, "You already allow everyone.", strlen("You already allow everyone.") + 1);
- }
- }
+ nick = RFIFOP (fd, 2); // speed up
+ //printf("Ignore: char '%s' state: %d\n", nick, RFIFOB(fd,26));
+ // we ask for deny (we add nick only if it's not already exist
+ if (RFIFOB (fd, 26) == 0)
+ { // type
+ if (strlen (nick) >= 4 && strlen (nick) < 24)
+ { // do something only if nick can be exist
+ pos = -1;
+ for (i = 0; i < (sizeof (sd->ignore) / sizeof (sd->ignore[0]));
+ i++)
+ {
+ if (strcmp (sd->ignore[i].name, nick) == 0)
+ break;
+ else if (pos == -1 && sd->ignore[i].name[0] == '\0')
+ pos = i;
+ }
+ WFIFOW (fd, 0) = 0x0d1; // R 00d1 <type>.B <fail>.B: type: 0: deny, 1: allow, fail: 0: success, 1: fail
+ WFIFOB (fd, 2) = 0;
+ // if a position is found and name not found, we add it in the list
+ if (pos != -1
+ && i == (sizeof (sd->ignore) / sizeof (sd->ignore[0])))
+ {
+ memcpy (sd->ignore[pos].name, nick, 24);
+ WFIFOB (fd, 3) = 0; // success
+ WFIFOSET (fd, packet_len_table[0x0d1]);
+ if (strcmp (wisp_server_name, nick) == 0)
+ { // to found possible bot users that automaticaly ignores people.
+ sprintf (output,
+ "Character '%s' (account: %d) has tried to block wisps from '%s' (wisp name of the server). Bot user?",
+ sd->status.name, sd->status.account_id,
+ wisp_server_name);
+ intif_wis_message_to_gm (wisp_server_name,
+ battle_config.hack_info_GM_level,
+ output, strlen (output) + 1);
+ // send something to be inform and force bot to ignore twice... If GM receiving block + block again, it's a bot :)
+ clif_wis_message (fd, wisp_server_name,
+ "Add me in your ignore list, doesn't block my wisps.",
+ strlen
+ ("Add me in your ignore list, doesn't block my wisps.")
+ + 1);
+ }
+ }
+ else
+ {
+ WFIFOB (fd, 3) = 1; // fail
+ if (i == (sizeof (sd->ignore) / sizeof (sd->ignore[0])))
+ {
+ clif_wis_message (fd, wisp_server_name,
+ "You can not block more people.",
+ strlen
+ ("You can not block more people.") + 1);
+ if (strcmp (wisp_server_name, nick) == 0)
+ { // to found possible bot users that automaticaly ignores people.
+ sprintf (output,
+ "Character '%s' (account: %d) has tried to block wisps from '%s' (wisp name of the server). Bot user?",
+ sd->status.name, sd->status.account_id,
+ wisp_server_name);
+ intif_wis_message_to_gm (wisp_server_name,
+ battle_config.hack_info_GM_level,
+ output, strlen (output) + 1);
+ }
+ }
+ else
+ {
+ clif_wis_message (fd, wisp_server_name,
+ "This player is already blocked.",
+ strlen
+ ("This player is already blocked.") +
+ 1);
+ if (strcmp (wisp_server_name, nick) == 0)
+ { // to found possible bot users that automaticaly ignores people.
+ sprintf (output,
+ "Character '%s' (account: %d) has tried AGAIN to block wisps from '%s' (wisp name of the server). Bot user?",
+ sd->status.name, sd->status.account_id,
+ wisp_server_name);
+ intif_wis_message_to_gm (wisp_server_name,
+ battle_config.hack_info_GM_level,
+ output, strlen (output) + 1);
+ }
+ }
+ }
+ }
+ else
+ clif_wis_message (fd, wisp_server_name,
+ "It's impossible to block this player.",
+ strlen ("It's impossible to block this player.")
+ + 1);
+ // we ask for allow (we remove all same nick if exist)
+ }
+ else
+ {
+ if (strlen (nick) >= 4 && strlen (nick) < 24)
+ { // do something only if nick can be exist
+ WFIFOW (fd, 0) = 0x0d1; // R 00d1 <type>.B <fail>.B: type: 0: deny, 1: allow, fail: 0: success, 1: fail
+ WFIFOB (fd, 2) = 1;
+ for (i = 0; i < (sizeof (sd->ignore) / sizeof (sd->ignore[0]));
+ i++)
+ if (strcmp (sd->ignore[i].name, nick) == 0)
+ {
+ memset (sd->ignore[i].name, 0,
+ sizeof (sd->ignore[i].name));
+ WFIFOB (fd, 3) = 0; // success
+ WFIFOSET (fd, packet_len_table[0x0d1]);
+ break;
+ }
+ if (i == (sizeof (sd->ignore) / sizeof (sd->ignore[0])))
+ {
+ WFIFOB (fd, 3) = 1; // fail
+ WFIFOSET (fd, packet_len_table[0x0d1]);
+ clif_wis_message (fd, wisp_server_name,
+ "This player is not blocked by you.",
+ strlen
+ ("This player is not blocked by you.") + 1);
+ }
+ }
+ else
+ clif_wis_message (fd, wisp_server_name,
+ "It's impossible to unblock this player.",
+ strlen
+ ("It's impossible to unblock this player.") +
+ 1);
+ }
+
+// for(i = 0; i < (sizeof(sd->ignore) / sizeof(sd->ignore[0])); i++) // for debug only
+// if (sd->ignore[i].name[0] != '\0')
+// printf("Ignored player: '%s'\n", sd->ignore[i].name);
+
+ return;
+}
+
+void clif_parse_PMIgnoreAll (int fd, struct map_session_data *sd)
+{ // Rewritten by [Yor]
+ //printf("Ignore all: state: %d\n", RFIFOB(fd,2));
+ if (RFIFOB (fd, 2) == 0)
+ { // S 00d0 <type>len.B: 00 (/exall) deny all speech, 01 (/inall) allow all speech
+ WFIFOW (fd, 0) = 0x0d2; // R 00d2 <type>.B <fail>.B: type: 0: deny, 1: allow, fail: 0: success, 1: fail
+ WFIFOB (fd, 2) = 0;
+ if (sd->ignoreAll == 0)
+ {
+ sd->ignoreAll = 1;
+ WFIFOB (fd, 3) = 0; // success
+ WFIFOSET (fd, packet_len_table[0x0d2]);
+ }
+ else
+ {
+ WFIFOB (fd, 3) = 1; // fail
+ WFIFOSET (fd, packet_len_table[0x0d2]);
+ clif_wis_message (fd, wisp_server_name,
+ "You already block everyone.",
+ strlen ("You already block everyone.") + 1);
+ }
+ }
+ else
+ {
+ WFIFOW (fd, 0) = 0x0d2; // R 00d2 <type>.B <fail>.B: type: 0: deny, 1: allow, fail: 0: success, 1: fail
+ WFIFOB (fd, 2) = 1;
+ if (sd->ignoreAll == 1)
+ {
+ sd->ignoreAll = 0;
+ WFIFOB (fd, 3) = 0; // success
+ WFIFOSET (fd, packet_len_table[0x0d2]);
+ }
+ else
+ {
+ WFIFOB (fd, 3) = 1; // fail
+ WFIFOSET (fd, packet_len_table[0x0d2]);
+ clif_wis_message (fd, wisp_server_name,
+ "You already allow everyone.",
+ strlen ("You already allow everyone.") + 1);
+ }
+ }
- return;
+ return;
}
-void clif_parse_skillMessage(int fd, struct map_session_data *sd) { // Added by RoVeRT
- int skillid,skilllv, x, y;
- char *mes;
+void clif_parse_skillMessage (int fd, struct map_session_data *sd)
+{ // Added by RoVeRT
+ int skillid, skilllv, x, y;
+ char *mes;
- skilllv = RFIFOW(fd,2);
- skillid = RFIFOW(fd,4);
+ skilllv = RFIFOW (fd, 2);
+ skillid = RFIFOW (fd, 4);
- y = RFIFOB(fd,6);
- x = RFIFOB(fd,8);
+ y = RFIFOB (fd, 6);
+ x = RFIFOB (fd, 8);
- mes = RFIFOP(fd,10);
+ mes = RFIFOP (fd, 10);
- // skill 220 = graffiti
-// printf("skill: %d %d location: %3d %3d message: %s\n", skillid, skilllv, x, y, (char*)mes);
+ // skill 220 = graffiti
+// printf("skill: %d %d location: %3d %3d message: %s\n", skillid, skilllv, x, y, (char*)mes);
}
-int monk(struct map_session_data *sd, struct block_list *target, int type) {
+int monk (struct map_session_data *sd, struct block_list *target, int type)
+{
//R 01d1 <Monk id>L <Target monster id>L <Bool>L
- int fd=sd->fd;
- WFIFOW(fd,0)=0x1d1;
- WFIFOL(fd,2)=sd->bl.id;
- WFIFOL(fd,6)=target->id;
- WFIFOL(fd,10)=type;
- WFIFOSET(fd,packet_len_table[0x1d1]);
+ int fd = sd->fd;
+ WFIFOW (fd, 0) = 0x1d1;
+ WFIFOL (fd, 2) = sd->bl.id;
+ WFIFOL (fd, 6) = target->id;
+ WFIFOL (fd, 10) = type;
+ WFIFOSET (fd, packet_len_table[0x1d1]);
- return 0;
+ return 0;
}
/*==========================================
* �X�p�m�r��/doridori�ɂ���SPR2�{
*------------------------------------------
*/
-void clif_parse_sn_doridori(int fd, struct map_session_data *sd) {
- if (sd)
- sd->doridori_counter = 1;
+void clif_parse_sn_doridori (int fd, struct map_session_data *sd)
+{
+ if (sd)
+ sd->doridori_counter = 1;
- return;
+ return;
}
+
/*==========================================
* �X�p�m�r�̔����g��
*------------------------------------------
*/
-void clif_parse_sn_explosionspirits(int fd, struct map_session_data *sd)
-{
- if(sd){
- int nextbaseexp=pc_nextbaseexp(sd);
- struct pc_base_job s_class = pc_calc_base_job(sd->status.class);
- if (battle_config.etc_log){
- if(nextbaseexp != 0)
- printf("SuperNovice explosionspirits!! %d %d %d %d\n",sd->bl.id,s_class.job,sd->status.base_exp,(int)((double)1000*sd->status.base_exp/nextbaseexp));
- else
- printf("SuperNovice explosionspirits!! %d %d %d 000\n",sd->bl.id,s_class.job,sd->status.base_exp);
- }
- if(s_class.job == 23 && sd->status.base_exp > 0 && nextbaseexp > 0 && (int)((double)1000*sd->status.base_exp/nextbaseexp)%100==0){
- clif_skill_nodamage(&sd->bl,&sd->bl,MO_EXPLOSIONSPIRITS,5,1);
- skill_status_change_start(&sd->bl,SkillStatusChangeTable[MO_EXPLOSIONSPIRITS],5,0,0,0,skill_get_time(MO_EXPLOSIONSPIRITS,5),0 );
- }
- }
- return;
+void clif_parse_sn_explosionspirits (int fd, struct map_session_data *sd)
+{
+ if (sd)
+ {
+ int nextbaseexp = pc_nextbaseexp (sd);
+ struct pc_base_job s_class = pc_calc_base_job (sd->status.class);
+ if (battle_config.etc_log)
+ {
+ if (nextbaseexp != 0)
+ printf ("SuperNovice explosionspirits!! %d %d %d %d\n",
+ sd->bl.id, s_class.job, sd->status.base_exp,
+ (int) ((double) 1000 * sd->status.base_exp /
+ nextbaseexp));
+ else
+ printf ("SuperNovice explosionspirits!! %d %d %d 000\n",
+ sd->bl.id, s_class.job, sd->status.base_exp);
+ }
+ if (s_class.job == 23 && sd->status.base_exp > 0 && nextbaseexp > 0
+ && (int) ((double) 1000 * sd->status.base_exp / nextbaseexp) %
+ 100 == 0)
+ {
+ clif_skill_nodamage (&sd->bl, &sd->bl, MO_EXPLOSIONSPIRITS, 5, 1);
+ skill_status_change_start (&sd->bl,
+ SkillStatusChangeTable
+ [MO_EXPLOSIONSPIRITS], 5, 0, 0, 0,
+ skill_get_time (MO_EXPLOSIONSPIRITS,
+ 5), 0);
+ }
+ }
+ return;
}
// functions list
-static void (*clif_parse_func_table[0x220])() = {
- NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
- NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
- NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
- NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
-
- // 40
- NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
- NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
- NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
-
- // 70
- NULL, NULL, clif_parse_WantToConnection, NULL, NULL, NULL, NULL, NULL,
- NULL, NULL, NULL, NULL, NULL, clif_parse_LoadEndAck, clif_parse_TickSend, NULL,
-
- // 80
- NULL, NULL, NULL, NULL, NULL, clif_parse_WalkToXY, NULL, NULL,
- NULL, clif_parse_ActionRequest, NULL, NULL, clif_parse_GlobalMessage, NULL, NULL, NULL,
- // 90
- clif_parse_NpcClicked, NULL, NULL, NULL, clif_parse_GetCharNameRequest, NULL, clif_parse_Wis, NULL,
- NULL, clif_parse_GMmessage, NULL, clif_parse_ChangeDir, NULL, NULL, NULL, clif_parse_TakeItem,
- // a0
- NULL, NULL, clif_parse_DropItem, NULL, NULL, NULL, NULL, clif_parse_UseItem,
- NULL, clif_parse_EquipItem, NULL, clif_parse_UnequipItem, NULL, NULL, NULL, NULL,
- // b0
- NULL, NULL, clif_parse_Restart, NULL, NULL, NULL, NULL, NULL,
- clif_parse_NpcSelectMenu, clif_parse_NpcNextClicked, NULL, clif_parse_StatusUp, NULL, NULL, NULL, clif_parse_Emotion,
-
- // c0
- NULL, clif_parse_HowManyConnections, NULL, NULL, NULL, clif_parse_NpcBuySellSelected, NULL, NULL,
- clif_parse_NpcBuyListSend, clif_parse_NpcSellListSend, NULL, NULL, clif_parse_GMKick, NULL, NULL, clif_parse_PMIgnore,
- // d0
- clif_parse_PMIgnoreAll, NULL, NULL, NULL, NULL, clif_parse_CreateChatRoom, NULL, NULL,
- NULL, clif_parse_ChatAddMember, NULL, NULL, NULL, NULL, clif_parse_ChatRoomStatusChange, NULL,
- // e0
- clif_parse_ChangeChatOwner, NULL, clif_parse_KickFromChat, clif_parse_ChatLeave, clif_parse_TradeRequest, NULL, clif_parse_TradeAck, NULL,
- clif_parse_TradeAddItem, NULL, NULL, clif_parse_TradeOk, NULL, clif_parse_TradeCansel, NULL, clif_parse_TradeCommit,
- // f0
- NULL, NULL, NULL, clif_parse_MoveToKafra, NULL, clif_parse_MoveFromKafra, NULL, clif_parse_CloseKafra,
- NULL, clif_parse_CreateParty, NULL, NULL, clif_parse_PartyInvite, NULL, NULL, clif_parse_ReplyPartyInvite,
-
- // 100
- clif_parse_LeaveParty, NULL, clif_parse_PartyChangeOption, clif_parse_RemovePartyMember, NULL, NULL, NULL, NULL,
- clif_parse_PartyMessage, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
- // 110
- NULL, NULL, clif_parse_SkillUp, clif_parse_UseSkillToId, NULL, NULL, clif_parse_UseSkillToPos, NULL,
- clif_parse_StopAttack, NULL, NULL, clif_parse_UseSkillMap, NULL, clif_parse_RequestMemo, NULL, NULL,
- // 120
- NULL, NULL, NULL, NULL, NULL, NULL, clif_parse_PutItemToCart, clif_parse_GetItemFromCart,
- clif_parse_MoveFromKafraToCart, clif_parse_MoveToKafraFromCart, clif_parse_RemoveOption, NULL, NULL, NULL, NULL, NULL,
- // 130
- NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
- NULL, NULL, NULL, NULL, NULL, NULL, NULL, clif_parse_GM_Monster_Item,
-
- // 140
- clif_parse_MapMove, NULL, NULL, clif_parse_NpcAmountInput, NULL, NULL, clif_parse_NpcCloseClicked, NULL,
- NULL, clif_parse_GMReqNoChat, NULL, NULL, NULL, clif_parse_GuildCheckMaster, NULL, clif_parse_GuildReqeustInfo,
- // 150
- NULL, clif_parse_GuildRequestEmblem, NULL, clif_parse_GuildChangeEmblem, NULL, clif_parse_GuildChangeMemberPosition, NULL, NULL,
- NULL, clif_parse_GuildLeave, NULL, clif_parse_GuildExplusion, NULL, clif_parse_GuildBreak, NULL, NULL,
- // 160
- NULL, clif_parse_GuildChangePositionInfo, NULL, NULL, NULL, clif_parse_CreateGuild, NULL, NULL,
- clif_parse_GuildInvite, NULL, NULL, clif_parse_GuildReplyInvite, NULL, NULL, clif_parse_GuildChangeNotice, NULL,
- // 170
- clif_parse_GuildRequestAlliance, NULL, clif_parse_GuildReplyAlliance, NULL, NULL, NULL, NULL, NULL,
- clif_parse_ItemIdentify, NULL, clif_parse_UseCard, NULL, clif_parse_InsertCard, NULL, clif_parse_GuildMessage, NULL,
-
- // 180
- clif_parse_GuildOpposition, NULL, NULL, clif_parse_GuildDelAlliance, NULL, NULL, NULL, NULL,
- NULL, NULL, clif_parse_QuitGame, NULL, NULL, NULL, NULL, NULL,
- // 190
- clif_parse_UseSkillToPos, NULL, NULL, clif_parse_SolveCharName, NULL, NULL, NULL, clif_parse_ResetChar,
- NULL, NULL, NULL, NULL, clif_parse_LGMmessage, clif_parse_GMHide, NULL, NULL,
- // 1a0
- NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
- NULL, NULL, NULL, NULL, NULL, NULL, NULL, clif_parse_ChangeCart,
- // 1b0
- NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
- NULL, NULL, clif_parse_Shift, clif_parse_Shift, clif_parse_Recall, clif_parse_Recall, NULL, NULL,
-
- // 1c0
- NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
- NULL, NULL, NULL, NULL, NULL, NULL, clif_parse_AutoSpell,
- NULL,
- // 1d0
- NULL, NULL, NULL, NULL, NULL, clif_parse_NpcStringInput, NULL, NULL,
- NULL, NULL, NULL, NULL, NULL, NULL, NULL, clif_parse_GMReqNoChatCount,
- // 1e0
- NULL, NULL, NULL, NULL, NULL, NULL, NULL, clif_parse_sn_doridori,
- clif_parse_CreateParty2, NULL, NULL, NULL, NULL, clif_parse_sn_explosionspirits, NULL, NULL,
- // 1f0
- NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
-
- // 200
- NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
- // 210
- NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL
-};
+static void (*clif_parse_func_table[0x220]) () =
+{
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ // 40
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL,
+ // 70
+ NULL, NULL, clif_parse_WantToConnection, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, clif_parse_LoadEndAck,
+ clif_parse_TickSend, NULL,
+ // 80
+ NULL, NULL, NULL, NULL, NULL, clif_parse_WalkToXY, NULL, NULL,
+ NULL, clif_parse_ActionRequest, NULL, NULL, clif_parse_GlobalMessage,
+ NULL, NULL, NULL,
+ // 90
+ clif_parse_NpcClicked, NULL, NULL, NULL,
+ clif_parse_GetCharNameRequest, NULL, clif_parse_Wis, NULL, NULL,
+ clif_parse_GMmessage, NULL, clif_parse_ChangeDir, NULL, NULL, NULL,
+ clif_parse_TakeItem,
+ // a0
+ NULL, NULL, clif_parse_DropItem, NULL, NULL, NULL, NULL,
+ clif_parse_UseItem, NULL, clif_parse_EquipItem, NULL,
+ clif_parse_UnequipItem, NULL, NULL, NULL, NULL,
+ // b0
+ NULL, NULL, clif_parse_Restart, NULL, NULL, NULL, NULL, NULL,
+ clif_parse_NpcSelectMenu, clif_parse_NpcNextClicked, NULL,
+ clif_parse_StatusUp, NULL, NULL, NULL, clif_parse_Emotion,
+ // c0
+ NULL, clif_parse_HowManyConnections, NULL, NULL, NULL,
+ clif_parse_NpcBuySellSelected, NULL, NULL, clif_parse_NpcBuyListSend,
+ clif_parse_NpcSellListSend, NULL, NULL, clif_parse_GMKick, NULL, NULL,
+ clif_parse_PMIgnore,
+ // d0
+ clif_parse_PMIgnoreAll, NULL, NULL, NULL, NULL,
+ clif_parse_CreateChatRoom, NULL, NULL, NULL, clif_parse_ChatAddMember,
+ NULL, NULL, NULL, NULL, clif_parse_ChatRoomStatusChange, NULL,
+ // e0
+ clif_parse_ChangeChatOwner, NULL, clif_parse_KickFromChat,
+ clif_parse_ChatLeave, clif_parse_TradeRequest, NULL,
+ clif_parse_TradeAck, NULL, clif_parse_TradeAddItem, NULL, NULL,
+ clif_parse_TradeOk, NULL, clif_parse_TradeCansel, NULL,
+ clif_parse_TradeCommit,
+ // f0
+ NULL, NULL, NULL, clif_parse_MoveToKafra, NULL,
+ clif_parse_MoveFromKafra, NULL, clif_parse_CloseKafra, NULL,
+ clif_parse_CreateParty, NULL, NULL, clif_parse_PartyInvite, NULL,
+ NULL, clif_parse_ReplyPartyInvite,
+ // 100
+ clif_parse_LeaveParty, NULL, clif_parse_PartyChangeOption,
+ clif_parse_RemovePartyMember, NULL, NULL, NULL, NULL,
+ clif_parse_PartyMessage, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ // 110
+ NULL, NULL, clif_parse_SkillUp, clif_parse_UseSkillToId, NULL, NULL,
+ clif_parse_UseSkillToPos, NULL, clif_parse_StopAttack, NULL, NULL,
+ clif_parse_UseSkillMap, NULL, clif_parse_RequestMemo, NULL, NULL,
+ // 120
+ NULL, NULL, NULL, NULL, NULL, NULL, clif_parse_PutItemToCart,
+ clif_parse_GetItemFromCart, clif_parse_MoveFromKafraToCart,
+ clif_parse_MoveToKafraFromCart, clif_parse_RemoveOption, NULL, NULL,
+ NULL, NULL, NULL,
+ // 130
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, clif_parse_GM_Monster_Item,
+ // 140
+ clif_parse_MapMove, NULL, NULL, clif_parse_NpcAmountInput, NULL, NULL,
+ clif_parse_NpcCloseClicked, NULL, NULL, clif_parse_GMReqNoChat, NULL,
+ NULL, NULL, clif_parse_GuildCheckMaster, NULL,
+ clif_parse_GuildReqeustInfo,
+ // 150
+ NULL, clif_parse_GuildRequestEmblem, NULL,
+ clif_parse_GuildChangeEmblem, NULL,
+ clif_parse_GuildChangeMemberPosition, NULL, NULL, NULL,
+ clif_parse_GuildLeave, NULL, clif_parse_GuildExplusion, NULL,
+ clif_parse_GuildBreak, NULL, NULL,
+ // 160
+ NULL, clif_parse_GuildChangePositionInfo, NULL, NULL, NULL,
+ clif_parse_CreateGuild, NULL, NULL, clif_parse_GuildInvite, NULL,
+ NULL, clif_parse_GuildReplyInvite, NULL, NULL,
+ clif_parse_GuildChangeNotice, NULL,
+ // 170
+ clif_parse_GuildRequestAlliance, NULL, clif_parse_GuildReplyAlliance,
+ NULL, NULL, NULL, NULL, NULL, clif_parse_ItemIdentify, NULL,
+ clif_parse_UseCard, NULL, clif_parse_InsertCard, NULL,
+ clif_parse_GuildMessage, NULL,
+ // 180
+ clif_parse_GuildOpposition, NULL, NULL, clif_parse_GuildDelAlliance,
+ NULL, NULL, NULL, NULL, NULL, NULL, clif_parse_QuitGame, NULL, NULL,
+ NULL, NULL, NULL,
+ // 190
+ clif_parse_UseSkillToPos, NULL, NULL, clif_parse_SolveCharName, NULL,
+ NULL, NULL, clif_parse_ResetChar, NULL, NULL, NULL, NULL,
+ clif_parse_LGMmessage, clif_parse_GMHide, NULL, NULL,
+ // 1a0
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, clif_parse_ChangeCart,
+ // 1b0
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, clif_parse_Shift, clif_parse_Shift, clif_parse_Recall,
+ clif_parse_Recall, NULL, NULL,
+ // 1c0
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, clif_parse_AutoSpell, NULL,
+ // 1d0
+ NULL, NULL, NULL, NULL, NULL, clif_parse_NpcStringInput, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, clif_parse_GMReqNoChatCount,
+ // 1e0
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, clif_parse_sn_doridori,
+ clif_parse_CreateParty2, NULL, NULL, NULL, NULL,
+ clif_parse_sn_explosionspirits, NULL, NULL,
+ // 1f0
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL,
+ // 200
+ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL,
+ // 210
+NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL};
/*==========================================
* �N���C�A���g�����̃p�P�b�g����
* socket.c��do_parsepacket�����Ăяo������
*------------------------------------------
*/
-static int clif_parse(int fd) {
- int packet_len = 0, cmd=0;
- struct map_session_data *sd=NULL;
-
- sd = session[fd]->session_data;
-
- if (!sd || (sd && !sd->state.auth)) {
- if (RFIFOREST(fd) < 2) { // too small a packet disconnect
- session[fd]->eof = 1;
- }
- if (RFIFOW(fd,0) != 0x72) { // first packet not auth, disconnect
- session[fd]->eof = 1;
- }
- }
-
- // �ڑ����؂��Ă��̂Ō��n��
- if (!chrif_isconnect() || session[fd]->eof) { // char�I�Ɍq����ĂȂ��Ԃ͐ڑ��֎~ (!chrif_isconnect())
- if (sd && sd->state.auth) {
- pc_logout(sd);
- clif_quitsave(fd, sd);
- if (sd->status.name != NULL)
- printf("Player [%s] has logged off your server.\n", sd->status.name); // Player logout display [Valaris]
- else
- printf("Player with account [%d] has logged off your server.\n", sd->bl.id); // Player logout display [Yor]
- } else if (sd) { // not authentified! (refused by char-server or disconnect before to be authentified)
- printf("Player with account [%d] has logged off your server (not auth account).\n", sd->bl.id); // Player logout display [Yor]
- map_deliddb(&sd->bl); // account_id has been included in the DB before auth answer
- }
- if(fd) close(fd);
- if(fd) delete_session(fd);
- return 0;
- }
-
- if (RFIFOREST(fd) < 2) return 0; // Too small (no packet number)
-
- cmd = RFIFOW(fd,0);
-
- // �Ǘ��p�p�P�b�g����
- if (cmd >= 30000) {
- switch(cmd) {
- case 0x7530: // Athena���񏊓�
- WFIFOW(fd,0) = 0x7531;
- WFIFOB(fd,2) = ATHENA_MAJOR_VERSION;
- WFIFOB(fd,3) = ATHENA_MINOR_VERSION;
- WFIFOB(fd,4) = ATHENA_REVISION;
- WFIFOB(fd,5) = ATHENA_RELEASE_FLAG;
- WFIFOB(fd,6) = ATHENA_OFFICIAL_FLAG;
- WFIFOB(fd,7) = ATHENA_SERVER_MAP;
- WFIFOW(fd,8) = ATHENA_MOD_VERSION;
- WFIFOSET(fd,10);
- RFIFOSKIP(fd,2);
- break;
- case 0x7532: // �ڑ��̐ؒf
- session[fd]->eof = 1;
- break;
- }
- return 0;
- } else if (cmd >= 0x200) return 0;
-
- // �p�P�b�g�����v�Z
- packet_len = packet_len_table[cmd];
- if (packet_len == -1) {
- if (RFIFOREST(fd) < 4) {
- return 0; // Runt packet (variable length without a length sent)
- }
- packet_len = RFIFOW(fd,2);
- if (packet_len < 4 || packet_len > 32768) {
- session[fd]->eof = 1;
- return 0; // Runt packet (variable out of bounds)
- }
- }
+static int clif_parse (int fd)
+{
+ int packet_len = 0, cmd = 0;
+ struct map_session_data *sd = NULL;
- if (RFIFOREST(fd) < packet_len) {
- return 0; // Runt packet (sent legnth is too small)
- }
+ sd = session[fd]->session_data;
- if (sd && sd->state.auth == 1 && sd->state.waitingdisconnect == 1) { // �ؒf�҂��̏ꍇ�p�P�b�g������Ȃ�
+ if (!sd || (sd && !sd->state.auth))
+ {
+ if (RFIFOREST (fd) < 2)
+ { // too small a packet disconnect
+ session[fd]->eof = 1;
+ }
+ if (RFIFOW (fd, 0) != 0x72)
+ { // first packet not auth, disconnect
+ session[fd]->eof = 1;
+ }
+ }
+
+ // �ڑ����؂��Ă��̂Ō��n��
+ if (!chrif_isconnect () || session[fd]->eof)
+ { // char�I�Ɍq����ĂȂ��Ԃ͐ڑ��֎~ (!chrif_isconnect())
+ if (sd && sd->state.auth)
+ {
+ pc_logout (sd);
+ clif_quitsave (fd, sd);
+ if (sd->status.name != NULL)
+ printf ("Player [%s] has logged off your server.\n", sd->status.name); // Player logout display [Valaris]
+ else
+ printf ("Player with account [%d] has logged off your server.\n", sd->bl.id); // Player logout display [Yor]
+ }
+ else if (sd)
+ { // not authentified! (refused by char-server or disconnect before to be authentified)
+ printf ("Player with account [%d] has logged off your server (not auth account).\n", sd->bl.id); // Player logout display [Yor]
+ map_deliddb (&sd->bl); // account_id has been included in the DB before auth answer
+ }
+ if (fd)
+ close (fd);
+ if (fd)
+ delete_session (fd);
+ return 0;
+ }
+
+ if (RFIFOREST (fd) < 2)
+ return 0; // Too small (no packet number)
+
+ cmd = RFIFOW (fd, 0);
+
+ // �Ǘ��p�p�P�b�g����
+ if (cmd >= 30000)
+ {
+ switch (cmd)
+ {
+ case 0x7530: // Athena���񏊓�
+ WFIFOW (fd, 0) = 0x7531;
+ WFIFOB (fd, 2) = ATHENA_MAJOR_VERSION;
+ WFIFOB (fd, 3) = ATHENA_MINOR_VERSION;
+ WFIFOB (fd, 4) = ATHENA_REVISION;
+ WFIFOB (fd, 5) = ATHENA_RELEASE_FLAG;
+ WFIFOB (fd, 6) = ATHENA_OFFICIAL_FLAG;
+ WFIFOB (fd, 7) = ATHENA_SERVER_MAP;
+ WFIFOW (fd, 8) = ATHENA_MOD_VERSION;
+ WFIFOSET (fd, 10);
+ RFIFOSKIP (fd, 2);
+ break;
+ case 0x7532: // �ڑ��̐ؒf
+ session[fd]->eof = 1;
+ break;
+ }
+ return 0;
+ }
+ else if (cmd >= 0x200)
+ return 0;
- } else if (clif_parse_func_table[cmd]) {
- clif_parse_func_table[cmd](fd, sd);
- } else {
- // �s���ȃp�P�b�g
- if (battle_config.error_log) {
- if (fd)
- printf("\nclif_parse: session #%d, packet 0x%x, lenght %d\n", fd, cmd, packet_len);
+ // �p�P�b�g�����v�Z
+ packet_len = packet_len_table[cmd];
+ if (packet_len == -1)
+ {
+ if (RFIFOREST (fd) < 4)
+ {
+ return 0; // Runt packet (variable length without a length sent)
+ }
+ packet_len = RFIFOW (fd, 2);
+ if (packet_len < 4 || packet_len > 32768)
+ {
+ session[fd]->eof = 1;
+ return 0; // Runt packet (variable out of bounds)
+ }
+ }
+
+ if (RFIFOREST (fd) < packet_len)
+ {
+ return 0; // Runt packet (sent legnth is too small)
+ }
+
+ if (sd && sd->state.auth == 1 && sd->state.waitingdisconnect == 1)
+ { // �ؒf�҂��̏ꍇ�p�P�b�g������Ȃ�
+
+ }
+ else if (clif_parse_func_table[cmd])
+ {
+ clif_parse_func_table[cmd] (fd, sd);
+ }
+ else
+ {
+ // �s���ȃp�P�b�g
+ if (battle_config.error_log)
+ {
+ if (fd)
+ printf ("\nclif_parse: session #%d, packet 0x%x, lenght %d\n",
+ fd, cmd, packet_len);
#ifdef DUMP_UNKNOWN_PACKET
- {
- int i;
- FILE *fp;
- char packet_txt[256] = "save/packet.txt";
- time_t now;
- printf("---- 00-01-02-03-04-05-06-07-08-09-0A-0B-0C-0D-0E-0F");
- for(i = 0; i < packet_len; i++) {
- if ((i & 15) == 0)
- printf("\n%04X ",i);
- printf("%02X ", RFIFOB(fd,i));
- }
- if (sd && sd->state.auth) {
- if (sd->status.name != NULL)
- printf("\nAccount ID %d, character ID %d, player name %s.\n",
- sd->status.account_id, sd->status.char_id, sd->status.name);
- else
- printf("\nAccount ID %d.\n", sd->bl.id);
- } else if (sd) // not authentified! (refused by char-server or disconnect before to be authentified)
- printf("\nAccount ID %d.\n", sd->bl.id);
-
- if ((fp = fopen_(packet_txt, "a")) == NULL) {
- printf("clif.c: cant write [%s] !!! data is lost !!!\n", packet_txt);
- return 1;
- } else {
- time(&now);
- if (sd && sd->state.auth) {
- if (sd->status.name != NULL)
- fprintf(fp, "%sPlayer with account ID %d (character ID %d, player name %s) sent wrong packet:\n",
- asctime(gmtime(&now)), sd->status.account_id, sd->status.char_id, sd->status.name);
- else
- fprintf(fp, "%sPlayer with account ID %d sent wrong packet:\n", asctime(gmtime(&now)), sd->bl.id);
- } else if (sd) // not authentified! (refused by char-server or disconnect before to be authentified)
- fprintf(fp, "%sPlayer with account ID %d sent wrong packet:\n", asctime(gmtime(&now)), sd->bl.id);
-
- fprintf(fp, "\t---- 00-01-02-03-04-05-06-07-08-09-0A-0B-0C-0D-0E-0F");
- for(i = 0; i < packet_len; i++) {
- if ((i & 15) == 0)
- fprintf(fp, "\n\t%04X ", i);
- fprintf(fp, "%02X ", RFIFOB(fd,i));
- }
- fprintf(fp, "\n\n");
- fclose_(fp);
- }
- }
+ {
+ int i;
+ FILE *fp;
+ char packet_txt[256] = "save/packet.txt";
+ time_t now;
+ printf
+ ("---- 00-01-02-03-04-05-06-07-08-09-0A-0B-0C-0D-0E-0F");
+ for (i = 0; i < packet_len; i++)
+ {
+ if ((i & 15) == 0)
+ printf ("\n%04X ", i);
+ printf ("%02X ", RFIFOB (fd, i));
+ }
+ if (sd && sd->state.auth)
+ {
+ if (sd->status.name != NULL)
+ printf
+ ("\nAccount ID %d, character ID %d, player name %s.\n",
+ sd->status.account_id, sd->status.char_id,
+ sd->status.name);
+ else
+ printf ("\nAccount ID %d.\n", sd->bl.id);
+ }
+ else if (sd) // not authentified! (refused by char-server or disconnect before to be authentified)
+ printf ("\nAccount ID %d.\n", sd->bl.id);
+
+ if ((fp = fopen_ (packet_txt, "a")) == NULL)
+ {
+ printf ("clif.c: cant write [%s] !!! data is lost !!!\n",
+ packet_txt);
+ return 1;
+ }
+ else
+ {
+ time (&now);
+ if (sd && sd->state.auth)
+ {
+ if (sd->status.name != NULL)
+ fprintf (fp,
+ "%sPlayer with account ID %d (character ID %d, player name %s) sent wrong packet:\n",
+ asctime (gmtime (&now)),
+ sd->status.account_id,
+ sd->status.char_id, sd->status.name);
+ else
+ fprintf (fp,
+ "%sPlayer with account ID %d sent wrong packet:\n",
+ asctime (gmtime (&now)), sd->bl.id);
+ }
+ else if (sd) // not authentified! (refused by char-server or disconnect before to be authentified)
+ fprintf (fp,
+ "%sPlayer with account ID %d sent wrong packet:\n",
+ asctime (gmtime (&now)), sd->bl.id);
+
+ fprintf (fp,
+ "\t---- 00-01-02-03-04-05-06-07-08-09-0A-0B-0C-0D-0E-0F");
+ for (i = 0; i < packet_len; i++)
+ {
+ if ((i & 15) == 0)
+ fprintf (fp, "\n\t%04X ", i);
+ fprintf (fp, "%02X ", RFIFOB (fd, i));
+ }
+ fprintf (fp, "\n\n");
+ fclose_ (fp);
+ }
+ }
#endif
- }
- }
- RFIFOSKIP(fd, packet_len);
+ }
+ }
+ RFIFOSKIP (fd, packet_len);
- return 0;
+ return 0;
}
/*==========================================
*
*------------------------------------------
*/
-int do_init_clif(void) {
- int i;
+int do_init_clif (void)
+{
+ int i;
- set_defaultparse(clif_parse);
- for(i = 0; i < 10; i++) {
- if (make_listen_port(map_port))
- break;
+ set_defaultparse (clif_parse);
+ for (i = 0; i < 10; i++)
+ {
+ if (make_listen_port (map_port))
+ break;
#ifdef LCCWIN32
- Sleep(20000);
+ Sleep (20000);
#else
- sleep(20);
+ sleep (20);
#endif
- }
- if (i == 10) {
- printf("cant bind game port\n");
- exit(1);
- }
-
- add_timer_func_list(clif_waitclose, "clif_waitclose");
- add_timer_func_list(clif_clearchar_delay_sub, "clif_clearchar_delay_sub");
-
- return 0;
+ }
+ if (i == 10)
+ {
+ printf ("cant bind game port\n");
+ exit (1);
+ }
+
+ add_timer_func_list (clif_waitclose, "clif_waitclose");
+ add_timer_func_list (clif_clearchar_delay_sub,
+ "clif_clearchar_delay_sub");
+
+ return 0;
}