Browse Source

Corrected White Imprison and reflected damage (#3685)

* Fixes #3634.
* Targets in White Imprison using reflect equipment or skills should not send damage back to those outside.
Thanks to @admkakaroto!
Aleos 6 years ago
parent
commit
e02e85b65e
1 changed files with 3 additions and 0 deletions
  1. 3 0
      src/map/battle.cpp

+ 3 - 0
src/map/battle.cpp

@@ -6850,6 +6850,9 @@ int64 battle_calc_return_damage(struct block_list* bl, struct block_list *src, i
 	sc = status_get_sc(bl);
 	ssc = status_get_sc(src);
 
+	if (sc->data[SC_WHITEIMPRISON])
+		return 0; // White Imprison does not reflect any damage
+
 	if (flag & BF_SHORT) {//Bounces back part of the damage.
 		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;