Przeglądaj źródła

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!
Aleos 6 lat temu
rodzic
commit
7282dd8735
3 zmienionych plików z 6 dodań i 6 usunięć
  1. 1 1
      src/map/battle.cpp
  2. 1 1
      src/map/mob.cpp
  3. 4 4
      src/map/skill.cpp

+ 1 - 1
src/map/battle.cpp

@@ -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);

+ 1 - 1
src/map/mob.cpp

@@ -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)

+ 4 - 4
src/map/skill.cpp

@@ -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 ) {