diff options
Diffstat (limited to 'src/map')
-rw-r--r-- | src/map/clif.c | 7 | ||||
-rw-r--r-- | src/map/party.c | 1 |
2 files changed, 5 insertions, 3 deletions
diff --git a/src/map/clif.c b/src/map/clif.c index e350948b2..8634925f0 100644 --- a/src/map/clif.c +++ b/src/map/clif.c @@ -7305,6 +7305,7 @@ static void clif_party_inviteack(struct map_session_data *sd, const char *nick, /// 0x02 = Options changed manually. /// 0x04 = Options changed automatically. /// 0x08 = Member added. +/// 0x10 = Member removed. /// 0x20 = Character logged in. static void clif_party_option(struct party_data *p, struct map_session_data *sd, int flag) { @@ -7326,10 +7327,10 @@ static void clif_party_option(struct party_data *p, struct map_session_data *sd, } if(!sd) return; WBUFW(buf,0)=cmd; - WBUFL(buf,2)=((flag&0x01)?2:p->party.exp); + WBUFL(buf, 2) = ((flag & 0x10) != 0) ? 0 : (((flag & 0x01) != 0) ? 2 : p->party.exp); #if PACKETVER >= 20090603 - WBUFB(buf,6)=(p->party.item&1)?1:0; - WBUFB(buf,7)=(p->party.item&2)?1:0; + WBUFB(buf, 6) = ((flag & 0x10) != 0) ? 0 : (((p->party.item & 1) != 0) ? 1 : 0); + WBUFB(buf, 7) = ((flag & 0x10) != 0) ? 0 : (((p->party.item & 2) != 0) ? 1 : 0); #endif if ((flag & 0x01) == 0 && ((flag & 0x04) != 0 || (flag & 0x02) != 0)) clif->send(buf,packet_len(cmd),&sd->bl,PARTY); diff --git a/src/map/party.c b/src/map/party.c index 88108d144..957a45c14 100644 --- a/src/map/party.c +++ b/src/map/party.c @@ -631,6 +631,7 @@ static int party_member_withdraw(int party_id, int account_id, int char_id) prev_leader_accountId = p->party.member[i].account_id; } + clif->party_option(p, sd, 0x10); clif->party_withdraw(p,sd,account_id,p->party.member[i].name,0x0); memset(&p->party.member[i], 0, sizeof(p->party.member[0])); memset(&p->data[i], 0, sizeof(p->data[0])); |