diff options
Diffstat (limited to 'src/map/clif.c')
-rw-r--r-- | src/map/clif.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/map/clif.c b/src/map/clif.c index 81c43cb09..3953b356c 100644 --- a/src/map/clif.c +++ b/src/map/clif.c @@ -10346,8 +10346,18 @@ void clif_parse_RemovePartyMember(int fd, struct map_session_data *sd) { *------------------------------------------
*/
void clif_parse_PartyChangeOption(int fd, struct map_session_data *sd) {
+ struct party_data *p;
RFIFOHEAD(fd);
- party_changeoption(sd, RFIFOW(fd,2), RFIFOW(fd,4));
+
+ if(!sd->status.party_id)
+ return;
+
+ p = party_search(sd->status.party_id);
+ if (!p) return;
+ //The client no longer can change the item-field, therefore it always
+ //comes as zero. Here, resend the item data as it is.
+// party_changeoption(sd, RFIFOW(fd,2), RFIFOW(fd,4));
+ party_changeoption(sd, RFIFOW(fd,2), p->party.item);
}
/*==========================================
|