Kaynağa Gözat

Corrected reflected damage applying twice (#3115)

* Fixes #2920.
* Follow up to 333f0dd.
* Corrected trap behavior reflect and slightly reverted previous commit.
Thanks to @Badarosk0.
Aleos 7 yıl önce
ebeveyn
işleme
c4eae4b361
1 değiştirilmiş dosya ile 1 ekleme ve 1 silme
  1. 1 1
      src/map/battle.cpp

+ 1 - 1
src/map/battle.cpp

@@ -6843,7 +6843,7 @@ int64 battle_calc_return_damage(struct block_list* bl, struct block_list *src, i
 	ssc = status_get_sc(src);
 
 	if (flag & BF_SHORT) {//Bounces back part of the damage.
-		if ( sd && sd->bonus.short_weapon_damage_return ) {
+		if ( (skill_get_inf2(skill_id)&INF2_TRAP || !status_reflect) && sd && sd->bonus.short_weapon_damage_return ) {
 			rdamage += damage * sd->bonus.short_weapon_damage_return / 100;
 			rdamage = i64max(rdamage,1);
 		} else if( status_reflect && sc && sc->count ) {