diff options
author | Sara <Sara@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2009-03-24 01:56:16 +0000 |
---|---|---|
committer | Sara <Sara@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2009-03-24 01:56:16 +0000 |
commit | 35d7b2c7661bad6596a48c81f24a044a91fa346b (patch) | |
tree | ba243d910a1aeda54169e536f73e66c7785c542e /src/map/clif.c | |
parent | 227a195447ddca43b40555952552c6bfc1381c2e (diff) | |
download | hercules-35d7b2c7661bad6596a48c81f24a044a91fa346b.tar.gz hercules-35d7b2c7661bad6596a48c81f24a044a91fa346b.tar.bz2 hercules-35d7b2c7661bad6596a48c81f24a044a91fa346b.tar.xz hercules-35d7b2c7661bad6596a48c81f24a044a91fa346b.zip |
* Added support for new status change packet, uses new setting display_status_timers in client.conf.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@13613 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/clif.c')
-rw-r--r-- | src/map/clif.c | 24 |
1 files changed, 20 insertions, 4 deletions
diff --git a/src/map/clif.c b/src/map/clif.c index 063240899..c6fcb924b 100644 --- a/src/map/clif.c +++ b/src/map/clif.c @@ -4531,20 +4531,36 @@ int clif_status_load(struct block_list *bl,int type, int flag) /*========================================== * 状態異常アイコン/メッセージ表示 *------------------------------------------*/ -int clif_status_change(struct block_list *bl,int type,int flag) +int clif_status_change(struct block_list *bl,int type,int flag,unsigned int tick) { unsigned char buf[16]; if (type == SI_BLANK) //It shows nothing on the client... return 0; - + nullpo_retr(0, bl); - WBUFW(buf,0)=0x0196; + if (type == SI_BLANK || type == SI_MAXIMIZEPOWER || type == SI_RIDING || + type == SI_FALCON || type == SI_TRICKDEAD || type == SI_BROKENARMOR || + type == SI_BROKENWEAPON || type == SI_WEIGHT50 || type == SI_WEIGHT90 || + type == SI_TENSIONRELAX || type == SI_LANDENDOW || type == SI_AUTOBERSERK || + type == SI_BUMP || type == SI_READYSTORM || type == SI_READYDOWN || + type == SI_READYTURN || type == SI_READYCOUNTER || type == SI_DODGE || + type == SI_DEVIL || type == SI_NIGHT || type == SI_INTRAVISION) + tick=0; + if( battle_config.display_skill_timers && tick>0 ) + WBUFW(buf,0)=0x043f; + else + WBUFW(buf,0)=0x0196; WBUFW(buf,2)=type; WBUFL(buf,4)=bl->id; WBUFB(buf,8)=flag; - clif_send(buf,packet_len(0x196),bl,AREA); + if( battle_config.display_skill_timers && tick>0 ) + clif_send(buf,packet_len(0x196),bl,AREA); + else { + WBUFL(buf,9)=tick; + clif_send(buf,packet_len(0x43f),bl,AREA); + } return 0; } |