瀏覽代碼

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 年之前
父節點
當前提交
c4eae4b361
共有 1 個文件被更改,包括 1 次插入1 次删除
  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 ) {