diff options
author | skotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-12-12 14:53:53 +0000 |
---|---|---|
committer | skotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-12-12 14:53:53 +0000 |
commit | 3fec823429f792645dfd3ad34aed536086f81dfa (patch) | |
tree | 6b8edceeb025455619ff9e20b8f64f5dd547a024 /src/map/clif.c | |
parent | 61622fe4e4875e2cadc8ede3f1a60f5e8cca89a5 (diff) | |
download | hercules-3fec823429f792645dfd3ad34aed536086f81dfa.tar.gz hercules-3fec823429f792645dfd3ad34aed536086f81dfa.tar.bz2 hercules-3fec823429f792645dfd3ad34aed536086f81dfa.tar.xz hercules-3fec823429f792645dfd3ad34aed536086f81dfa.zip |
- Modified the skill damage packet and the knockback packets to mimic aegis sent packets for such skills.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9471 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/clif.c')
-rw-r--r-- | src/map/clif.c | 26 |
1 files changed, 19 insertions, 7 deletions
diff --git a/src/map/clif.c b/src/map/clif.c index bc4ade158..a1fc5447d 100644 --- a/src/map/clif.c +++ b/src/map/clif.c @@ -1865,8 +1865,8 @@ int clif_changemapserver(struct map_session_data *sd, char *mapname, int x, int int clif_blown(struct block_list *bl) { //Aegis packets says fixpos, but it's unsure whether slide works better or not. -// return clif_fixpos(bl); - return clif_slide(bl, bl->x, bl->y); + return clif_fixpos(bl); +// return clif_slide(bl, bl->x, bl->y); } /*========================================== * @@ -4515,7 +4515,7 @@ int clif_skill_fail(struct map_session_data *sd,int skill_id,int type,int btype) *------------------------------------------ */ int clif_skill_damage(struct block_list *src,struct block_list *dst, - unsigned int tick,int sdelay,int ddelay,int damage,int div,int skill_id,int skill_lv,int type) + unsigned int tick,int sdelay,int ddelay,int damage,int div,int skill_id,int skill_lv,int type,int flag) { unsigned char buf[64]; struct status_change *sc; @@ -4540,13 +4540,19 @@ int clif_skill_damage(struct block_list *src,struct block_list *dst, WBUFL(buf,12)=tick; WBUFL(buf,16)=sdelay; WBUFL(buf,20)=ddelay; + WBUFW(buf,26)=skill_lv; + WBUFW(buf,28)=div; + if (flag && src->type == BL_PC) + { //Needed for appropiate knockback on the receiving client. + WBUFW(buf,24)=-30000; + WBUFB(buf,30)=6; + clif_send(buf,packet_len_table[0x114],src,SELF); + } if (battle_config.hide_woe_damage && map_flag_gvg(src->m)) { WBUFW(buf,24)=damage?div:0; } else { WBUFW(buf,24)=damage; } - WBUFW(buf,26)=skill_lv; - WBUFW(buf,28)=div; WBUFB(buf,30)=type; clif_send(buf,packet_len_table[0x114],src,AREA); if(disguised(src)) { @@ -4571,13 +4577,19 @@ int clif_skill_damage(struct block_list *src,struct block_list *dst, WBUFL(buf,12)=tick; WBUFL(buf,16)=sdelay; WBUFL(buf,20)=ddelay; + WBUFW(buf,28)=skill_lv; + WBUFW(buf,30)=div; + if (flag && src->type == BL_PC) + { //Needed for appropiate knockback on the receiving client. + WBUFL(buf,24)=-30000; + WBUFB(buf,32)=6; + clif_send(buf,packet_len_table[0x114],src,SELF); + } if (battle_config.hide_woe_damage && map_flag_gvg(src->m)) { WBUFL(buf,24)=damage?div:0; } else { WBUFL(buf,24)=damage; } - WBUFW(buf,28)=skill_lv; - WBUFW(buf,30)=div; WBUFB(buf,32)=type; clif_send(buf,packet_len_table[0x1de],src,AREA); if(disguised(src)) { |