From 3e6e76b8c673e99d240a700912eb4d4a68b3be30 Mon Sep 17 00:00:00 2001 From: shennetsind Date: Sat, 20 Sep 2014 22:25:11 -0300 Subject: Fixed Bug 8186 Fixed issue with @disguise characters crashing their party mates when they open the party window. Related 4147d9f7966e7ebd94811248527cc45af1e54941 http://hercules.ws/board/tracker/issue-8186-client-crashes-in-disguise-and-who/ Signed-off-by: shennetsind --- src/map/clif.c | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/src/map/clif.c b/src/map/clif.c index c7b0d11d0..b8051697e 100644 --- a/src/map/clif.c +++ b/src/map/clif.c @@ -3210,12 +3210,6 @@ void clif_changelook(struct block_list *bl,int type,int val) break; case LOOK_BASE: if( !sd ) break; - // We shouldn't update LOOK_BASE if the player is disguised - // if we do so the client will think that the player class - // is really a mob and issues like 7725 will happen in every - // SC_ that alters class_ in any way [Panikon] - if( sd->disguise != -1 ) - return; if( sd->sc.option&OPTION_COSTUME ) vd->weapon = vd->shield = 0; @@ -3295,7 +3289,7 @@ void clif_changelook(struct block_list *bl,int type,int val) } // prevent leaking the presence of GM-hidden objects - if( sc && sc->option&OPTION_INVISIBLE ) + if( sc && sc->option&OPTION_INVISIBLE && !disguised(bl) ) target = SELF; #if PACKETVER < 4 @@ -3316,11 +3310,12 @@ void clif_changelook(struct block_list *bl,int type,int val) WBUFB(buf,6)=type; WBUFL(buf,7)=val; } - clif->send(buf,packet_len(0x1d7),bl,target); - if( disguised(bl) && sd && sd->fontcolor ) { + if( disguised(bl) ) { + clif->send(buf,packet_len(0x1d7),bl,AREA_WOS); WBUFL(buf,2)=-bl->id; clif->send(buf,packet_len(0x1d7),bl,SELF); - } + } else + clif->send(buf,packet_len(0x1d7),bl,target); #endif } -- cgit v1.2.3-70-g09d2