From c811ddb181a15eae8a6d01a6956ae7c654f424b2 Mon Sep 17 00:00:00 2001 From: shennetsind Date: Wed, 15 May 2013 20:10:45 -0300 Subject: Fixed Bug #7230 http://hercules.ws/board/tracker/issue-7230-color-in-messages/ Special Thanks to Beret Signed-off-by: shennetsind --- src/map/clif.c | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) (limited to 'src/map/clif.c') diff --git a/src/map/clif.c b/src/map/clif.c index 06f180a35..5b32be54a 100644 --- a/src/map/clif.c +++ b/src/map/clif.c @@ -3339,6 +3339,10 @@ void clif_changelook(struct block_list *bl,int type,int val) WBUFL(buf,7)=val; } clif->send(buf,packet_len(0x1d7),bl,target); + if( disguised(bl) && ((TBL_PC*)sd)->fontcolor ) { + WBUFL(buf,2)=-bl->id; + clif->send(buf,packet_len(0x1d7),bl,SELF); + } #endif } @@ -5789,9 +5793,14 @@ void clif_resurrection(struct block_list *bl,int type) WBUFL(buf,2)=bl->id; WBUFW(buf,6)=0; - clif->send(buf,packet_len(0x148),bl,type==1 ? AREA : AREA_WOS); - if (disguised(bl)) - clif->spawn(bl); + clif->send(buf,packet_len(0x148),bl, type == 1 ? AREA : AREA_WOS); + if (disguised(bl)) { + if( ((TBL_PC*)bl)->fontcolor ) { + WBUFL(buf,2)=-bl->id; + clif->send(buf,packet_len(0x148),bl, SELF); + } else + clif->spawn(bl); + } } @@ -9874,6 +9883,8 @@ void clif_parse_GlobalMessage(int fd, struct map_session_data* sd) if( sd->disguise == -1 ) { pc_disguise(sd,sd->status.class_); + if( pc_isdead(sd) ) + clif_clearunit_single(-sd->bl.id, CLR_DEAD, sd->fd); sd->fontcolor_tid = add_timer(gettick()+5000, clif->undisguise_timer, sd->bl.id, 0); } else if ( sd->disguise == sd->status.class_ && sd->fontcolor_tid != INVALID_TIMER ) { const struct TimerData *timer; -- cgit v1.2.3-60-g2f50