From 2c5d67942caecebe8a902331fcae7686880e9c26 Mon Sep 17 00:00:00 2001 From: skotlex Date: Thu, 8 Jun 2006 18:56:27 +0000 Subject: - Cleaned clif_pvpset to not send the packet to nearby characters when the source is GM-hidden. May help fix the crash on PvP with gm-hidden characters. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@7053 54d463be-8e91-2dee-dedb-b68131a5f0ec --- src/map/clif.c | 14 +++++--------- src/map/pc.c | 6 ++---- 2 files changed, 7 insertions(+), 13 deletions(-) (limited to 'src/map') diff --git a/src/map/clif.c b/src/map/clif.c index 99a3a7a45..7f06c1e20 100644 --- a/src/map/clif.c +++ b/src/map/clif.c @@ -5121,25 +5121,21 @@ int clif_pvpset(struct map_session_data *sd,int pvprank,int pvpnum,int type) WFIFOHEAD(sd->fd,packet_len_table[0x19a]); WFIFOW(sd->fd,0) = 0x19a; WFIFOL(sd->fd,2) = sd->bl.id; - if(pvprank<=0) - pc_calc_pvprank(sd); WFIFOL(sd->fd,6) = pvprank; WFIFOL(sd->fd,10) = pvpnum; WFIFOSET(sd->fd,packet_len_table[0x19a]); } else { unsigned char buf[32]; - WBUFW(buf,0) = 0x19a; WBUFL(buf,2) = sd->bl.id; - if(sd->sc.option&0x46) - // WTF? a -1 to an unsigned value... - WBUFL(buf,6) = 0xFFFFFFFF; + if(sd->sc.option&(OPTION_HIDE|OPTION_CLOAK)) + WBUFL(buf,6) = ULONG_MAX; //On client displays as -- else - if(pvprank<=0) - pc_calc_pvprank(sd); WBUFL(buf,6) = pvprank; WBUFL(buf,10) = pvpnum; - if(!type) + if(sd->sc.option&OPTION_INVISIBLE) + clif_send(buf,packet_len_table[0x19a],&sd->bl,SELF); + else if(!type) clif_send(buf,packet_len_table[0x19a],&sd->bl,AREA); else clif_send(buf,packet_len_table[0x19a],&sd->bl,ALL_SAMEMAP); diff --git a/src/map/pc.c b/src/map/pc.c index d2db1d0cd..ff6a435cb 100644 --- a/src/map/pc.c +++ b/src/map/pc.c @@ -6398,10 +6398,8 @@ int pc_calc_pvprank_sub(struct block_list *bl,va_list ap) { struct map_session_data *sd1,*sd2=NULL; - nullpo_retr(0, bl); - nullpo_retr(0, ap); - nullpo_retr(0, sd1=(struct map_session_data *)bl); - nullpo_retr(0, sd2=va_arg(ap,struct map_session_data *)); + sd1=(struct map_session_data *)bl; + sd2=va_arg(ap,struct map_session_data *); if( sd1->pvp_point > sd2->pvp_point ) sd2->pvp_rank++; -- cgit v1.2.3-70-g09d2