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