Fixed Reflect Damage not reflecting damage (#3848)

* Fixes #3801.
* Fixed a timer type issue causing Reflect Damage to no properly distribute damage.
* Corrected some final tick leftovers that may cause issues with other skills.
Thanks to @Angelic234 and @rAthenaCN!
This commit is contained in:
Aleos 2019-01-11 10:15:12 -05:00 committed by GitHub
parent 13d814e7a8
commit 7282dd8735
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 6 additions and 6 deletions

View File

@ -7093,7 +7093,7 @@ int battle_damage_area(struct block_list *bl, va_list ap) {
nullpo_ret(bl);
tick = va_arg(ap, unsigned int);
tick = va_arg(ap, t_tick);
src = va_arg(ap,struct block_list *);
amotion = va_arg(ap,int);
dmotion = va_arg(ap,int);

View File

@ -1002,7 +1002,7 @@ int mob_linksearch(struct block_list *bl,va_list ap)
md=(struct mob_data *)bl;
mob_id = va_arg(ap, int);
target = va_arg(ap, struct block_list *);
tick=va_arg(ap, unsigned int);
tick=va_arg(ap, t_tick);
if (md->mob_id == mob_id && DIFF_TICK(md->last_linktime, tick) < MIN_MOBLINKTIME
&& !md->target_id)

View File

@ -17144,7 +17144,7 @@ int skill_frostjoke_scream(struct block_list *bl, va_list ap)
skill_lv = va_arg(ap,int);
if(!skill_lv)
return 0;
tick = va_arg(ap,unsigned int);
tick = va_arg(ap,t_tick);
if (src == bl || status_isdead(bl))
return 0;
@ -17202,7 +17202,7 @@ int skill_attack_area(struct block_list *bl, va_list ap)
dsrc = va_arg(ap,struct block_list*);
skill_id = va_arg(ap,int);
skill_lv = va_arg(ap,int);
tick = va_arg(ap,unsigned int);
tick = va_arg(ap,t_tick);
flag = va_arg(ap,int);
type = va_arg(ap,int);
@ -17587,7 +17587,7 @@ static int skill_trap_splash(struct block_list *bl, va_list ap)
{
struct block_list *src = va_arg(ap,struct block_list *);
struct skill_unit *unit = NULL;
int tick = va_arg(ap,int);
t_tick tick = va_arg(ap,t_tick);
struct skill_unit_group *sg;
struct block_list *ss; //Skill src bl
@ -20086,7 +20086,7 @@ static int skill_destroy_trap(struct block_list *bl, va_list ap)
nullpo_ret(su);
tick = va_arg(ap, unsigned int);
tick = va_arg(ap, t_tick);
if (su->alive && (sg = su->group) && skill_get_inf2(sg->skill_id)&INF2_TRAP) {
switch( sg->unit_id ) {