summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKenpachi Developer <Kenpachi.Developer@gmx.de>2020-06-22 03:10:03 +0200
committerKenpachi Developer <Kenpachi.Developer@gmx.de>2020-06-22 03:10:03 +0200
commita0fb73f998832db72c627d11bc3b0f04c392569a (patch)
treec5b3d3bf8074be5b74a0be6041bdccec9a8ad14d
parent1443ac5b3414ecc89869b7cfaa2598564ce83218 (diff)
downloadhercules-a0fb73f998832db72c627d11bc3b0f04c392569a.tar.gz
hercules-a0fb73f998832db72c627d11bc3b0f04c392569a.tar.bz2
hercules-a0fb73f998832db72c627d11bc3b0f04c392569a.tar.xz
hercules-a0fb73f998832db72c627d11bc3b0f04c392569a.zip
Show party options when member was removed
-rw-r--r--src/map/clif.c7
-rw-r--r--src/map/party.c1
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]));