From 203b881a3f76e822a0052e58c67bf46ba6ad0596 Mon Sep 17 00:00:00 2001 From: skotlex Date: Sun, 9 Mar 2008 20:11:14 +0000 Subject: - Modified attack_walk_delay so it behaves on a 'per-object' basis, and changed the default to 15 (all types). - Modified battle_delay_damage so damage is not delayed more than one second for non-player attacks. - Modified party_member_added with a hack so that the clif functions will send the info of the new member since party_recv_info has not yet arrived. - Updated clif_calc_delay so the type sent to the client is based on the number of hits of the skill (as Aegis packets reveal) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12332 54d463be-8e91-2dee-dedb-b68131a5f0ec --- src/map/clif.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'src/map/clif.c') diff --git a/src/map/clif.c b/src/map/clif.c index 551155ea3..03a2b10b9 100644 --- a/src/map/clif.c +++ b/src/map/clif.c @@ -3473,7 +3473,8 @@ void clif_getareachar_unit(struct map_session_data* sd,struct block_list *bl) } //Modifies the type of damage according to status changes [Skotlex] -#define clif_calc_delay(type,damage,delay) ((type)==0x0a?type:((delay)==0&&(damage)>0?9:type)) +//Aegis data specifies that: 4 endure against single hit sources, 9 against multi-hit. +#define clif_calc_delay(type,div,damage,delay) ((delay)==0&&(damage)>0?((div)>1?9:4):type) /*========================================== * Estimates walk delay based on the damage criteria. [Skotlex] @@ -3518,7 +3519,7 @@ int clif_damage(struct block_list* src, struct block_list* dst, unsigned int tic nullpo_retr(0, src); nullpo_retr(0, dst); - type = clif_calc_delay(type,damage+damage2,ddelay); + type = clif_calc_delay(type,div,damage+damage2,ddelay); sc = status_get_sc(dst); if(sc && sc->count) { if(sc->data[SC_HALLUCINATION]) { @@ -4092,7 +4093,7 @@ int clif_skill_damage(struct block_list *src,struct block_list *dst,unsigned int nullpo_retr(0, src); nullpo_retr(0, dst); - type = clif_calc_delay(type,damage,ddelay); + type = clif_calc_delay(type,div,damage,ddelay); sc = status_get_sc(dst); if(sc && sc->count) { if(sc->data[SC_HALLUCINATION] && damage) @@ -4180,7 +4181,7 @@ int clif_skill_damage2(struct block_list *src,struct block_list *dst,unsigned in nullpo_retr(0, dst); type = (type>0)?type:skill_get_hit(skill_id); - type = clif_calc_delay(type,damage,ddelay); + type = clif_calc_delay(type,div,damage,ddelay); sc = status_get_sc(dst); if(sc && sc->count) { -- cgit v1.2.3-70-g09d2