Explorar o código

BETA: Fixing wrong position of Formulas.calcDamageReflected message must be send after damage.

Rumen Nikiforov %!s(int64=12) %!d(string=hai) anos
pai
achega
68cadbce22

+ 4 - 3
L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/Backstab.java

@@ -81,9 +81,6 @@ public class Backstab extends L2Effect
 		target.reduceCurrentHp(damage, activeChar, getSkill());
 		target.notifyDamageReceived(damage, getEffector(), getSkill(), true);
 		
-		// Check if damage should be reflected
-		Formulas.calcDamageReflected(activeChar, target, getSkill(), true);
-		
 		// Manage attack or cast break of the target (calculating rate, sending message...)
 		if (!target.isRaid() && Formulas.calcAtkBreak(target, damage))
 		{
@@ -96,6 +93,10 @@ public class Backstab extends L2Effect
 			L2PcInstance activePlayer = activeChar.getActingPlayer();
 			activePlayer.sendDamageMessage(target, (int) damage, false, true, false);
 		}
+		
+		// Check if damage should be reflected
+		Formulas.calcDamageReflected(activeChar, target, getSkill(), true);
+		
 		return true;
 	}
 }

+ 1 - 1
L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/EnergyAttack.java

@@ -93,9 +93,9 @@ public class EnergyAttack extends L2Effect
 			double finalDamage = damage * modifier;
 			target.reduceCurrentHp(finalDamage, activeChar, getSkill());
 			target.notifyDamageReceived(damage, activeChar, getSkill(), crit);
+			activeChar.sendDamageMessage(target, (int) finalDamage, false, crit, false);
 			// Check if damage should be reflected
 			Formulas.calcDamageReflected(activeChar, target, getSkill(), crit);
-			activeChar.sendDamageMessage(target, (int) finalDamage, false, crit, false);
 		}
 		else
 		{

+ 3 - 3
L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/FatalBlow.java

@@ -82,9 +82,6 @@ public class FatalBlow extends L2Effect
 		target.reduceCurrentHp(damage, activeChar, getSkill());
 		target.notifyDamageReceived(damage, activeChar, getSkill(), crit);
 		
-		// Check if damage should be reflected
-		Formulas.calcDamageReflected(activeChar, target, getSkill(), true);
-		
 		// Manage attack or cast break of the target (calculating rate, sending message...)
 		if (!target.isRaid() && Formulas.calcAtkBreak(target, damage))
 		{
@@ -97,6 +94,9 @@ public class FatalBlow extends L2Effect
 			L2PcInstance activePlayer = activeChar.getActingPlayer();
 			activePlayer.sendDamageMessage(target, (int) damage, false, true, false);
 		}
+		
+		// Check if damage should be reflected
+		Formulas.calcDamageReflected(activeChar, target, getSkill(), true);
 		return true;
 	}
 }

+ 3 - 3
L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/SoulBlow.java

@@ -91,9 +91,6 @@ public class SoulBlow extends L2Effect
 		target.reduceCurrentHp(damage, activeChar, getSkill());
 		target.notifyDamageReceived(damage, activeChar, getSkill(), crit);
 		
-		// Check if damage should be reflected
-		Formulas.calcDamageReflected(activeChar, target, getSkill(), true);
-		
 		// Manage attack or cast break of the target (calculating rate, sending message...)
 		if (!target.isRaid() && Formulas.calcAtkBreak(target, damage))
 		{
@@ -106,6 +103,9 @@ public class SoulBlow extends L2Effect
 			L2PcInstance activePlayer = activeChar.getActingPlayer();
 			activePlayer.sendDamageMessage(target, (int) damage, false, true, false);
 		}
+		// Check if damage should be reflected
+		Formulas.calcDamageReflected(activeChar, target, getSkill(), true);
+		
 		return true;
 	}
 }