From 9d4f34b6e4d0b7907f3eba1f7dd6e887ed7e85b3 Mon Sep 17 00:00:00 2001 From: ultramage Date: Wed, 28 May 2008 11:00:55 +0000 Subject: Fixed stat values displaying incorrectly when increasing them past 255 (wraparound, ack packet only has 1 byte). Reordered the packets so that a status update for the increased stat is sent immediately after the buggy ack packet. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12737 54d463be-8e91-2dee-dedb-b68131a5f0ec --- src/map/clif.c | 2 +- src/map/pc.c | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/map/clif.c b/src/map/clif.c index 71742011d..fab7605ae 100644 --- a/src/map/clif.c +++ b/src/map/clif.c @@ -2612,7 +2612,7 @@ int clif_statusupack(struct map_session_data *sd,int type,int ok,int val) WFIFOW(fd,0)=0xbc; WFIFOW(fd,2)=type; WFIFOB(fd,4)=ok; - WFIFOB(fd,5)=val; + WFIFOB(fd,5)=cap_value(val,0,UCHAR_MAX); WFIFOSET(fd,packet_len(0xbc)); return 0; diff --git a/src/map/pc.c b/src/map/pc.c index c98016418..8f0bb9b63 100644 --- a/src/map/pc.c +++ b/src/map/pc.c @@ -4493,13 +4493,13 @@ int pc_statusup(struct map_session_data *sd,int type) } sd->status.status_point-=need; - if(need!=pc_need_status_point(sd,type)){ + status_calc_pc(sd,0); + + if( need != pc_need_status_point(sd,type) ) clif_updatestatus(sd,type-SP_STR+SP_USTR); - } clif_updatestatus(sd,SP_STATUSPOINT); - clif_updatestatus(sd,type); - status_calc_pc(sd,0); clif_statusupack(sd,type,1,val); + clif_updatestatus(sd,type); // send after the 'ack' to override the value return 0; } -- cgit v1.2.3-70-g09d2