From 0884cac7e85d42bd51c5d9ea33e1b79f70bd966b Mon Sep 17 00:00:00 2001
From: Adry85 <adrya85@hotmail.it>
Date: Fri, 8 Sep 2017 12:18:09 +0200
Subject: [PATCH] Removed power from skills that have Backstab, FatalBlow and
 SoulBlow effect handler.

DP part for:
https://bitbucket.org/l2jserver/l2j_server/commits/40c9da9022f4d7e629a9a2728b179e5a162e4c85
---
 .../handlers/effecthandlers/Backstab.java     |  4 +-
 .../handlers/effecthandlers/FatalBlow.java    |  4 +-
 .../handlers/effecthandlers/SoulBlow.java     |  4 +-
 dist/game/data/stats/skills/00000-00099.xml   | 36 +++++++-
 dist/game/data/stats/skills/00200-00299.xml   | 82 +++++++++++++++++--
 dist/game/data/stats/skills/00300-00399.xml   | 50 +++++++++--
 dist/game/data/stats/skills/00400-00499.xml   | 31 ++++++-
 dist/game/data/stats/skills/00500-00599.xml   | 31 +++++--
 dist/game/data/stats/skills/00600-00699.xml   |  2 +-
 dist/game/data/stats/skills/00900-00999.xml   |  2 +-
 dist/game/data/stats/skills/01500-01599.xml   |  2 +-
 dist/game/data/stats/skills/04000-04099.xml   |  2 +-
 dist/game/data/stats/skills/04100-04199.xml   |  4 +-
 dist/game/data/stats/skills/04500-04599.xml   |  2 +-
 dist/game/data/stats/skills/04700-04799.xml   | 72 +++++++++-------
 dist/game/data/stats/skills/05000-05099.xml   |  4 +-
 dist/game/data/stats/skills/05100-05199.xml   |  2 +-
 dist/game/data/stats/skills/06000-06099.xml   |  2 +-
 dist/game/data/stats/skills/06700-06799.xml   |  4 +-
 dist/game/data/stats/skills/20000-20099.xml   |  2 +-
 20 files changed, 268 insertions(+), 74 deletions(-)

diff --git a/dist/game/data/scripts/handlers/effecthandlers/Backstab.java b/dist/game/data/scripts/handlers/effecthandlers/Backstab.java
index 8935d3fbfc..bb5c049145 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/Backstab.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/Backstab.java
@@ -35,6 +35,7 @@ import com.l2jserver.gameserver.model.stats.Formulas;
  */
 public final class Backstab extends AbstractEffect
 {
+	private final double _power;
 	private final int _blowChance;
 	private final int _criticalChance;
 	
@@ -42,6 +43,7 @@ public final class Backstab extends AbstractEffect
 	{
 		super(attachCond, applyCond, set, params);
 		
+		_power = params.getDouble("power", 0);
 		_blowChance = params.getInt("blowChance", 0);
 		_criticalChance = params.getInt("criticalChance", 0);
 	}
@@ -77,7 +79,7 @@ public final class Backstab extends AbstractEffect
 		Skill skill = info.getSkill();
 		boolean ss = skill.useSoulShot() && activeChar.isChargedShot(ShotType.SOULSHOTS);
 		byte shld = Formulas.calcShldUse(activeChar, target, skill);
-		double damage = Formulas.calcBackstabDamage(activeChar, target, skill, shld, ss);
+		double damage = Formulas.calcBackstabDamage(activeChar, target, skill, shld, ss, _power);
 		
 		// Crit rate base crit rate for skill, modified with STR bonus
 		if (Formulas.calcSkillCrit(activeChar, target, _criticalChance))
diff --git a/dist/game/data/scripts/handlers/effecthandlers/FatalBlow.java b/dist/game/data/scripts/handlers/effecthandlers/FatalBlow.java
index c61823ff91..6d8260453f 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/FatalBlow.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/FatalBlow.java
@@ -35,6 +35,7 @@ import com.l2jserver.gameserver.model.stats.Formulas;
  */
 public final class FatalBlow extends AbstractEffect
 {
+	private final double _power;
 	private final int _blowChance;
 	private final int _criticalChance;
 	
@@ -42,6 +43,7 @@ public final class FatalBlow extends AbstractEffect
 	{
 		super(attachCond, applyCond, set, params);
 		
+		_power = params.getDouble("power", 0);
 		_blowChance = params.getInt("blowChance", 0);
 		_criticalChance = params.getInt("criticalChance", 0);
 	}
@@ -78,7 +80,7 @@ public final class FatalBlow extends AbstractEffect
 		
 		boolean ss = skill.useSoulShot() && activeChar.isChargedShot(ShotType.SOULSHOTS);
 		byte shld = Formulas.calcShldUse(activeChar, target, skill);
-		double damage = Formulas.calcBlowDamage(activeChar, target, skill, shld, ss);
+		double damage = Formulas.calcBlowDamage(activeChar, target, skill, shld, ss, _power);
 		
 		boolean crit = false;
 		if (_criticalChance > 0)
diff --git a/dist/game/data/scripts/handlers/effecthandlers/SoulBlow.java b/dist/game/data/scripts/handlers/effecthandlers/SoulBlow.java
index d456e78521..7a39c3ab58 100644
--- a/dist/game/data/scripts/handlers/effecthandlers/SoulBlow.java
+++ b/dist/game/data/scripts/handlers/effecthandlers/SoulBlow.java
@@ -34,12 +34,14 @@ import com.l2jserver.gameserver.model.stats.Formulas;
  */
 public final class SoulBlow extends AbstractEffect
 {
+	private final double _power;
 	private final int _blowChance;
 	
 	public SoulBlow(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params)
 	{
 		super(attachCond, applyCond, set, params);
 		
+		_power = params.getDouble("power", 0);
 		_blowChance = params.getInt("blowChance", 0);
 	}
 	
@@ -77,7 +79,7 @@ public final class SoulBlow extends AbstractEffect
 		
 		boolean ss = info.getSkill().useSoulShot() && activeChar.isChargedShot(ShotType.SOULSHOTS);
 		byte shld = Formulas.calcShldUse(activeChar, target, info.getSkill());
-		double damage = Formulas.calcBlowDamage(activeChar, target, info.getSkill(), shld, ss);
+		double damage = Formulas.calcBlowDamage(activeChar, target, info.getSkill(), shld, ss, _power);
 		if ((info.getSkill().getMaxSoulConsumeCount() > 0) && activeChar.isPlayer())
 		{
 			// Souls Formula (each soul increase +4%)
diff --git a/dist/game/data/stats/skills/00000-00099.xml b/dist/game/data/stats/skills/00000-00099.xml
index 32c05b9121..b41b63e785 100644
--- a/dist/game/data/stats/skills/00000-00099.xml
+++ b/dist/game/data/stats/skills/00000-00099.xml
@@ -651,7 +651,6 @@
 		<set name="nextActionAttack" val="true" />
 		<set name="operateType" val="A1" />
 		<set name="overHit" val="true" />
-		<set name="power" val="#power" />
 		<set name="reuseDelay" val="3000" />
 		<set name="rideState" val="NONE" />
 		<set name="targetType" val="ONE" />
@@ -660,6 +659,7 @@
 		</cond>
 		<for>
 			<effect name="FatalBlow">
+				<param power="#power" />
 				<param blowChance="20" />
 			</effect>
 		</for>
@@ -1118,12 +1118,10 @@
 		<set name="nextActionAttack" val="true" />
 		<set name="operateType" val="A1" />
 		<set name="overHit" val="true" />
-		<set name="power" val="#power" />
 		<set name="reuseDelay" val="3000" />
 		<set name="rideState" val="NONE" />
 		<set name="targetType" val="ONE" />
 		<enchant1 name="magicLvl" val="#enchMagicLvl" />
-		<enchant1 name="power" val="#ench1Power" />
 		<enchant2 name="magicLvl" val="#enchMagicLvl" />
 		<enchant2 name="mpConsume" val="#ench2MpConsume" />
 		<enchant3 name="element" val="0" /> <!-- Fire -->
@@ -1139,12 +1137,12 @@
 		<enchant6 name="elementPower" val="#enchElementPower" />
 		<enchant6 name="magicLvl" val="#enchMagicLvl" />
 		<enchant7 name="magicLvl" val="#enchMagicLvl" />
-		<enchant7 name="pvpPower" val="#enchDuel" />
 		<cond msgId="113" addName="1">
 			<using kind="DAGGER,DUALDAGGER" />
 		</cond>
 		<for>
 			<effect name="Backstab">
+				<param power="#power" />
 				<param blowChance="40" />
 				<param criticalChance="#baseCritLethal" />
 			</effect>
@@ -1152,6 +1150,36 @@
 				<param halfLethal="#baseCritLethal" />
 			</effect>
 		</for>
+		<enchant1for>
+			<effect name="Backstab">
+				<param power="#ench1Power" />
+				<param blowChance="40" />
+				<param criticalChance="15" />
+			</effect>
+			<effect name="Lethal">
+				<param halfLethal="15" />
+			</effect>
+		</enchant1for>
+		<enchant7pvpEffects>
+			<effect name="Backstab">
+				<param power="#enchDuel" />
+				<param blowChance="40" />
+				<param criticalChance="15" />
+			</effect>
+			<effect name="Lethal">
+				<param halfLethal="15" />
+			</effect>
+		</enchant7pvpEffects>
+		<enchant7pveEffects>
+			<effect name="Backstab">
+				<param power="5479" />
+				<param blowChance="40" />
+				<param criticalChance="15" />
+			</effect>
+			<effect name="Lethal">
+				<param halfLethal="15" />
+			</effect>
+		</enchant7pveEffects>
 	</skill>
 	<skill id="33" levels="8" name="Summon Phantom Cubic" enchantGroup1="2">
 		<!-- Confirmed CT2.5 -->
diff --git a/dist/game/data/stats/skills/00200-00299.xml b/dist/game/data/stats/skills/00200-00299.xml
index 71e15aaca3..878b526596 100644
--- a/dist/game/data/stats/skills/00200-00299.xml
+++ b/dist/game/data/stats/skills/00200-00299.xml
@@ -1784,45 +1784,109 @@
 		<set name="nextActionAttack" val="true" />
 		<set name="operateType" val="A1" />
 		<set name="overHit" val="true" />
-		<set name="power" val="#power" />
 		<set name="reuseDelay" val="3000" />
 		<set name="rideState" val="NONE" />
 		<set name="targetType" val="ONE" />
 		<enchant1 name="magicLvl" val="#enchMagicLvl" />
-		<enchant1 name="power" val="#ench1Power" />
 		<enchant2 name="magicLvl" val="#enchMagicLvl" />
 		<enchant2 name="mpConsume" val="#ench2MpConsume" />
-		<enchant2 name="power" val="#ench2Power" />
 		<enchant3 name="element" val="0" /> <!-- Fire -->
 		<enchant3 name="elementPower" val="#enchElementPower" />
 		<enchant3 name="magicLvl" val="#enchMagicLvl" />
-		<enchant3 name="power" val="#ench2Power" />
 		<enchant4 name="element" val="1" /> <!-- Water -->
 		<enchant4 name="elementPower" val="#enchElementPower" />
 		<enchant4 name="magicLvl" val="#enchMagicLvl" />
-		<enchant4 name="power" val="#ench2Power" />
 		<enchant5 name="element" val="2" /> <!-- Wind -->
 		<enchant5 name="elementPower" val="#enchElementPower" />
 		<enchant5 name="magicLvl" val="#enchMagicLvl" />
-		<enchant5 name="power" val="#ench2Power" />
 		<enchant6 name="element" val="3" /> <!-- Earth -->
 		<enchant6 name="elementPower" val="#enchElementPower" />
 		<enchant6 name="magicLvl" val="#enchMagicLvl" />
-		<enchant6 name="power" val="#ench2Power" />
 		<enchant7 name="magicLvl" val="#enchMagicLvl" />
-		<enchant7 name="power" val="#ench2Power" />
-		<enchant7 name="pvpPower" val="#enchDuel" />
 		<cond msgId="113" addName="1">
 			<using kind="DAGGER,DUALDAGGER" />
 		</cond>
 		<for>
 			<effect name="FatalBlow">
+				<param power="#power" />
 				<param blowChance="30" />
 			</effect>
 			<effect name="Lethal">
 				<param halfLethal="10" />
 			</effect>
 		</for>
+		<enchant1for>
+			<effect name="FatalBlow">
+				<param power="#ench1Power" />
+				<param blowChance="30" />
+			</effect>
+			<effect name="Lethal">
+				<param halfLethal="10" />
+			</effect>
+		</enchant1for>
+		<enchant2for>
+			<effect name="FatalBlow">
+				<param power="#ench2Power" />
+				<param blowChance="30" />
+			</effect>
+			<effect name="Lethal">
+				<param halfLethal="10" />
+			</effect>
+		</enchant2for>
+		<enchant3for>
+			<effect name="FatalBlow">
+				<param power="#ench2Power" />
+				<param blowChance="30" />
+			</effect>
+			<effect name="Lethal">
+				<param halfLethal="10" />
+			</effect>
+		</enchant3for>
+		<enchant4for>
+			<effect name="FatalBlow">
+				<param power="#ench2Power" />
+				<param blowChance="30" />
+			</effect>
+			<effect name="Lethal">
+				<param halfLethal="10" />
+			</effect>
+		</enchant4for>
+		<enchant5for>
+			<effect name="FatalBlow">
+				<param power="#ench2Power" />
+				<param blowChance="30" />
+			</effect>
+			<effect name="Lethal">
+				<param halfLethal="10" />
+			</effect>
+		</enchant5for>
+		<enchant6for>
+			<effect name="FatalBlow">
+				<param power="#ench2Power" />
+				<param blowChance="30" />
+			</effect>
+			<effect name="Lethal">
+				<param halfLethal="10" />
+			</effect>
+		</enchant6for>
+		<enchant7pvpEffects>
+			<effect name="FatalBlow">
+				<param power="#enchDuel" />
+				<param blowChance="30" />
+			</effect>
+			<effect name="Lethal">
+				<param halfLethal="10" />
+			</effect>
+		</enchant7pvpEffects>
+		<enchant7pveEffects>
+			<effect name="FatalBlow">
+				<param power="#ench2Power" />
+				<param blowChance="30" />
+			</effect>
+			<effect name="Lethal">
+				<param halfLethal="10" />
+			</effect>
+		</enchant7pveEffects>
 	</skill>
 	<skill id="264" levels="1" name="Song of Earth" enchantGroup1="1" enchantGroup2="1">
 		<table name="#ench1AbnormalTimes"> 125 131 136 142 147 153 158 164 169 175 180 186 191 197 202 208 213 219 224 230 235 241 246 252 257 263 268 274 279 285 </table>
diff --git a/dist/game/data/stats/skills/00300-00399.xml b/dist/game/data/stats/skills/00300-00399.xml
index ae8e3e5563..1973edcc9c 100644
--- a/dist/game/data/stats/skills/00300-00399.xml
+++ b/dist/game/data/stats/skills/00300-00399.xml
@@ -815,12 +815,10 @@
 		<set name="nextActionAttack" val="true" />
 		<set name="operateType" val="A3" />
 		<set name="overHit" val="true" />
-		<set name="power" val="#power" />
 		<set name="reuseDelay" val="30000" />
 		<set name="rideState" val="NONE" />
 		<set name="targetType" val="ONE" />
 		<enchant1 name="magicLvl" val="#enchMagicLvl" />
-		<enchant1 name="power" val="#ench1Power" />
 		<enchant2 name="magicLvl" val="#enchMagicLvl" />
 		<enchant2 name="mpConsume" val="#ench2MpConsume" />
 		<cond msgId="113" addName="1">
@@ -828,6 +826,7 @@
 		</cond>
 		<for>
 			<effect name="FatalBlow">
+				<param power="#power" />
 				<param blowChance="25" />
 			</effect>
 			<effect name="Bluff">
@@ -842,6 +841,18 @@
 				<add stat="runSpd" val="40" />
 			</effect>
 		</selfEffects>
+		<enchant1for>
+			<effect name="FatalBlow">
+				<param power="#ench1Power" />
+				<param blowChance="25" />
+			</effect>
+			<effect name="Bluff">
+				<param chance="80" />
+			</effect>
+			<effect name="Lethal">
+				<param halfLethal="5" />
+			</effect>
+		</enchant1for>
 	</skill>
 	<skill id="322" levels="6" name="Shield Fortress" enchantGroup1="1" enchantGroup2="1">
 		<table name="#magicLvl"> 64 66 68 70 72 74 </table>
@@ -1504,13 +1515,11 @@
 		<set name="nextActionAttack" val="true" />
 		<set name="operateType" val="A1" />
 		<set name="overHit" val="true" />
-		<set name="power" val="5773" />
 		<set name="reuseDelay" val="4000" />
 		<set name="rideState" val="NONE" />
 		<set name="targetType" val="ONE" />
 		<set name="trait" val="DEATH" />
 		<enchant1 name="magicLvl" val="#enchMagicLvl" />
-		<enchant1 name="power" val="#ench1Power" />
 		<enchant2 name="magicLvl" val="#enchMagicLvl" />
 		<enchant3 name="element" val="0" /> <!-- Fire -->
 		<enchant3 name="elementPower" val="#enchelementPower" />
@@ -1525,12 +1534,12 @@
 		<enchant6 name="elementPower" val="#enchelementPower" />
 		<enchant6 name="magicLvl" val="#enchMagicLvl" />
 		<enchant7 name="magicLvl" val="#enchMagicLvl" />
-		<enchant7 name="pvpPower" val="#ench7Duel" />
 		<cond msgId="113" addName="1">
 			<using kind="DAGGER,DUALDAGGER" />
 		</cond>
 		<for>
 			<effect name="FatalBlow">
+				<param power="5773" />
 				<param blowChance="30" />
 				<param criticalChance="20" />
 			</effect>
@@ -1538,8 +1547,19 @@
 				<param halfLethal="15" />
 			</effect>
 		</for>
+		<enchant1for>
+			<effect name="FatalBlow">
+				<param power="#ench1Power" />
+				<param blowChance="30" />
+				<param criticalChance="20" />
+			</effect>
+			<effect name="Lethal">
+				<param halfLethal="15" />
+			</effect>
+		</enchant1for>
 		<enchant2for>
 			<effect name="FatalBlow">
+				<param power="5773" />
 				<param blowChance="30" />
 				<param criticalChance="#ench2CriticalChance" />
 			</effect>
@@ -1547,6 +1567,26 @@
 				<param halfLethal="15" />
 			</effect>
 		</enchant2for>
+		<enchant7pvpEffects>
+			<effect name="FatalBlow">
+				<param power="#ench7Duel" />
+				<param blowChance="30" />
+				<param criticalChance="20" />
+			</effect>
+			<effect name="Lethal">
+				<param halfLethal="15" />
+			</effect>
+		</enchant7pvpEffects>
+		<enchant7pveEffects>
+			<effect name="FatalBlow">
+				<param power="5773" />
+				<param blowChance="30" />
+				<param criticalChance="20" />
+			</effect>
+			<effect name="Lethal">
+				<param halfLethal="15" />
+			</effect>
+		</enchant7pveEffects>
 	</skill>
 	<skill id="345" levels="1" name="Sonic Rage">
 		<!-- Confirmed CT2.5 and Updated to H5 -->
diff --git a/dist/game/data/stats/skills/00400-00499.xml b/dist/game/data/stats/skills/00400-00499.xml
index 751c30c42b..5775f5209c 100644
--- a/dist/game/data/stats/skills/00400-00499.xml
+++ b/dist/game/data/stats/skills/00400-00499.xml
@@ -595,12 +595,10 @@
 		<set name="nextActionAttack" val="true" />
 		<set name="operateType" val="A3" />
 		<set name="overHit" val="true" />
-		<set name="power" val="#power" />
 		<set name="reuseDelay" val="30000" />
 		<set name="rideState" val="NONE" />
 		<set name="targetType" val="ONE" />
 		<enchant1 name="magicLvl" val="#enchMagicLvl" />
-		<enchant1 name="power" val="#ench1Power" />
 		<enchant2 name="magicLvl" val="#enchMagicLvl" />
 		<enchant2 name="mpConsume" val="#ench2MpConsume" />
 		<enchant3 name="element" val="0" /> <!-- Fire -->
@@ -616,12 +614,12 @@
 		<enchant6 name="elementPower" val="#enchElementPower" />
 		<enchant6 name="magicLvl" val="#enchMagicLvl" />
 		<enchant7 name="magicLvl" val="#enchMagicLvl" />
-		<enchant7 name="pvpPower" val="#enchDuel" />
 		<cond msgId="113" addName="1">
 			<using kind="DAGGER,DUALDAGGER" />
 		</cond>
 		<for>
 			<effect name="FatalBlow">
+				<param power="#power" />
 				<param blowChance="25" />
 			</effect>
 			<effect name="Lethal">
@@ -633,6 +631,33 @@
 				<mul stat="blowRate" val="#blowRate" />
 			</effect>
 		</selfEffects>
+		<enchant1for>
+			<effect name="FatalBlow">
+				<param power="#ench1Power" />
+				<param blowChance="25" />
+			</effect>
+			<effect name="Lethal">
+				<param halfLethal="5" />
+			</effect>
+		</enchant1for>
+		<enchant7pvpEffects>
+			<effect name="FatalBlow">
+				<param power="#enchDuel" />
+				<param blowChance="25" />
+			</effect>
+			<effect name="Lethal">
+				<param halfLethal="5" />
+			</effect>
+		</enchant7pvpEffects>
+		<enchant7pveEffects>
+			<effect name="FatalBlow">
+				<param power="3653" />
+				<param blowChance="25" />
+			</effect>
+			<effect name="Lethal">
+				<param halfLethal="5" />
+			</effect>
+		</enchant7pveEffects>
 	</skill>
 	<skill id="410" levels="3" name="Mortal Strike" enchantGroup1="2" enchantGroup2="2">
 		<!-- NOTE: This skill increases "Blow Rate" and description in client says "Critical Rate" but is client typo, so please don't change this skill -->
diff --git a/dist/game/data/stats/skills/00500-00599.xml b/dist/game/data/stats/skills/00500-00599.xml
index df08c09052..52a2153308 100644
--- a/dist/game/data/stats/skills/00500-00599.xml
+++ b/dist/game/data/stats/skills/00500-00599.xml
@@ -238,16 +238,13 @@
 		<set name="nextActionAttack" val="true" />
 		<set name="operateType" val="A1" />
 		<set name="overHit" val="true" />
-		<set name="power" val="#power" />
 		<set name="reuseDelay" val="3000" />
 		<set name="rideState" val="NONE" />
 		<set name="soulMaxConsumeCount" val="5" />
 		<set name="targetType" val="ONE" />
 		<enchant1 name="magicLvl" val="#enchMagicLvl" />
-		<enchant1 name="power" val="#ench1Power" />
 		<enchant2 name="magicLvl" val="#enchMagicLvl" />
 		<enchant2 name="mpConsume" val="#ench2MpConsume" />
-		<enchant2 name="power" val="#ench2Power" />
 		<enchant3 name="element" val="0" /> <!-- Fire -->
 		<enchant3 name="elementPower" val="#enchElementPower" />
 		<enchant3 name="magicLvl" val="#enchMagicLvl" />
@@ -261,15 +258,39 @@
 		<enchant6 name="elementPower" val="#enchElementPower" />
 		<enchant6 name="magicLvl" val="#enchMagicLvl" />
 		<enchant7 name="magicLvl" val="#enchMagicLvl" />
-		<enchant7 name="pvpPower" val="#enchDuel" />
 		<cond msgId="113" addName="1">
 			<using kind="RAPIER" />
 		</cond>
 		<for>
 			<effect name="SoulBlow">
+				<param power="#power" />
 				<param blowChance="20" />
 			</effect>
 		</for>
+		<enchant1for>
+			<effect name="SoulBlow">
+				<param power="#ench1Power" />
+				<param blowChance="20" />
+			</effect>
+		</enchant1for>
+		<enchant2for>
+			<effect name="SoulBlow">
+				<param power="#ench2Power" />
+				<param blowChance="20" />
+			</effect>
+		</enchant2for>
+		<enchant7pvpEffects>
+			<effect name="SoulBlow">
+				<param power="#enchDuel" />
+				<param blowChance="20" />
+			</effect>
+		</enchant7pvpEffects>
+		<enchant7pveEffects>
+			<effect name="SoulBlow">
+				<param power="5479" />
+				<param blowChance="20" />
+			</effect>
+		</enchant7pveEffects>
 	</skill>
 	<skill id="506" levels="4" name="Checkmate" enchantGroup1="2" enchantGroup2="2" enchantGroup3="2" enchantGroup4="2">
 		<!-- Confirmed CT2.5 -->
@@ -2633,12 +2654,12 @@
 		<set name="nextActionAttack" val="true" />
 		<set name="operateType" val="A1" />
 		<set name="overHit" val="true" />
-		<set name="power" val="#power" />
 		<set name="reuseDelay" val="3000" />
 		<set name="rideState" val="NONE" />
 		<set name="targetType" val="ONE" />
 		<for>
 			<effect name="FatalBlow">
+				<param power="#power" />
 				<param blowChance="20" />
 			</effect>
 			<effect name="Lethal">
diff --git a/dist/game/data/stats/skills/00600-00699.xml b/dist/game/data/stats/skills/00600-00699.xml
index c5f0de836c..f3124f64a9 100644
--- a/dist/game/data/stats/skills/00600-00699.xml
+++ b/dist/game/data/stats/skills/00600-00699.xml
@@ -1850,12 +1850,12 @@
 		<set name="nextActionAttack" val="true" />
 		<set name="operateType" val="A1" />
 		<set name="overHit" val="true" />
-		<set name="power" val="6969" />
 		<set name="reuseDelay" val="3000" />
 		<set name="rideState" val="NONE" />
 		<set name="targetType" val="ONE" />
 		<for>
 			<effect name="FatalBlow">
+				<param power="6969" />
 				<param blowChance="20" />
 			</effect>
 			<effect name="Lethal">
diff --git a/dist/game/data/stats/skills/00900-00999.xml b/dist/game/data/stats/skills/00900-00999.xml
index b743747a9e..92017496e2 100644
--- a/dist/game/data/stats/skills/00900-00999.xml
+++ b/dist/game/data/stats/skills/00900-00999.xml
@@ -808,7 +808,6 @@
 		<set name="nextActionAttack" val="true" />
 		<set name="operateType" val="A1" />
 		<set name="overHit" val="true" />
-		<set name="power" val="11234" />
 		<set name="reuseDelay" val="8000" />
 		<set name="rideState" val="NONE" />
 		<set name="targetType" val="ONE" />
@@ -818,6 +817,7 @@
 		</cond>
 		<for>
 			<effect name="FatalBlow">
+				<param power="11234" />
 				<param blowChance="60" />
 				<param criticalChance="30" />
 			</effect>
diff --git a/dist/game/data/stats/skills/01500-01599.xml b/dist/game/data/stats/skills/01500-01599.xml
index c229cc3157..624464253a 100644
--- a/dist/game/data/stats/skills/01500-01599.xml
+++ b/dist/game/data/stats/skills/01500-01599.xml
@@ -1902,7 +1902,6 @@
 		<set name="nextActionAttack" val="true" />
 		<set name="operateType" val="A1" />
 		<set name="overHit" val="true" />
-		<set name="power" val="11234" />
 		<set name="reuseDelay" val="8000" />
 		<set name="rideState" val="NONE" />
 		<set name="targetType" val="ONE" />
@@ -1912,6 +1911,7 @@
 		</cond>
 		<for>
 			<effect name="FatalBlow">
+				<param power="11234" />
 				<param blowChance="60" />
 				<param criticalChance="30" />
 			</effect>
diff --git a/dist/game/data/stats/skills/04000-04099.xml b/dist/game/data/stats/skills/04000-04099.xml
index 8fdbe61c96..bd5b4afc57 100644
--- a/dist/game/data/stats/skills/04000-04099.xml
+++ b/dist/game/data/stats/skills/04000-04099.xml
@@ -1244,12 +1244,12 @@
 		<set name="magicLvl" val="#magicLvl" />
 		<set name="mpConsume" val="#mpConsume" />
 		<set name="operateType" val="A1" />
-		<set name="power" val="#power" />
 		<set name="reuseDelay" val="6000" />
 		<set name="rideState" val="NONE" />
 		<set name="targetType" val="ONE" />
 		<for>
 			<effect name="FatalBlow">
+				<param power="#power" />
 				<param blowChance="20" />
 			</effect>
 		</for>
diff --git a/dist/game/data/stats/skills/04100-04199.xml b/dist/game/data/stats/skills/04100-04199.xml
index 882df104e1..80460158da 100644
--- a/dist/game/data/stats/skills/04100-04199.xml
+++ b/dist/game/data/stats/skills/04100-04199.xml
@@ -1603,11 +1603,11 @@
 		<set name="magicLvl" val="#magicLvl" />
 		<set name="mpConsume" val="#mpConsume" />
 		<set name="operateType" val="A1" />
-		<set name="power" val="#power" />
 		<set name="rideState" val="NONE" />
 		<set name="targetType" val="ONE" />
 		<for>
 			<effect name="FatalBlow">
+				<param power="#power" />
 				<param blowChance="115" />
 			</effect>
 		</for>
@@ -1850,11 +1850,11 @@
 		<set name="magicLvl" val="#magicLvl" />
 		<set name="mpConsume" val="#mpConsume" />
 		<set name="operateType" val="A1" />
-		<set name="power" val="#power" />
 		<set name="rideState" val="NONE" />
 		<set name="targetType" val="ONE" />
 		<for>
 			<effect name="FatalBlow">
+				<param power="#power" />
 				<param blowChance="67" />
 			</effect>
 		</for>
diff --git a/dist/game/data/stats/skills/04500-04599.xml b/dist/game/data/stats/skills/04500-04599.xml
index 0c70fb9893..1599189114 100644
--- a/dist/game/data/stats/skills/04500-04599.xml
+++ b/dist/game/data/stats/skills/04500-04599.xml
@@ -1382,13 +1382,13 @@
 		<set name="magicLvl" val="#magicLvl" />
 		<set name="mpConsume" val="#mpConsume" />
 		<set name="operateType" val="A2" />
-		<set name="power" val="#power" />
 		<set name="reuseDelay" val="6000" />
 		<set name="rideState" val="NONE" />
 		<set name="targetType" val="ONE" />
 		<set name="trait" val="BLEED" />
 		<for>
 			<effect name="FatalBlow">
+				<param power="#power" />
 				<param blowChance="20" />
 			</effect>
 			<effect name="DamOverTime" ticks="5">
diff --git a/dist/game/data/stats/skills/04700-04799.xml b/dist/game/data/stats/skills/04700-04799.xml
index 10b16c8cd5..acee3c1b43 100644
--- a/dist/game/data/stats/skills/04700-04799.xml
+++ b/dist/game/data/stats/skills/04700-04799.xml
@@ -282,12 +282,12 @@
 		<set name="magicLvl" val="#magicLvl" />
 		<set name="mpConsume" val="#mpConsume" />
 		<set name="operateType" val="A1" />
-		<set name="power" val="#power" />
 		<set name="reuseDelay" val="10000" />
 		<set name="rideState" val="NONE" />
 		<set name="targetType" val="ONE" />
 		<for>
 			<effect name="FatalBlow">
+				<param power="#power" />
 				<param blowChance="20" />
 				<param criticalChance="10" />
 			</effect>
@@ -725,7 +725,6 @@
 		<table name="#magicLvl"> 14 24 34 44 54 64 74 79 84 89 94 99 </table>
 		<table name="#mpConsume"> 16 23 32 42 53 65 75 79 82 84 85 87 </table>
 		<table name="#power"> 168 453 1251 3265 7446 16511 25566 30178 34864 39544 44350 49193 </table>
-		<set name="blowChance" val="115" />
 		<set name="castRange" val="40" />
 		<set name="coolTime" val="660" />
 		<set name="effectPoint" val="-100" />
@@ -734,11 +733,13 @@
 		<set name="magicLvl" val="#magicLvl" />
 		<set name="mpConsume" val="#mpConsume" />
 		<set name="operateType" val="A1" />
-		<set name="power" val="#power" />
 		<set name="rideState" val="NONE" />
 		<set name="targetType" val="ONE" />
 		<for>
-			<effect name="FatalBlow" />
+			<effect name="FatalBlow">
+				<param power="#power" />
+				<param blowChance="115" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="4730" levels="12" name="BOSS Mortal Blow">
@@ -746,7 +747,6 @@
 		<table name="#magicLvl"> 14 24 34 44 54 64 74 79 84 89 94 99 </table>
 		<table name="#mpConsume"> 16 23 32 42 53 65 75 79 82 84 85 87 </table>
 		<table name="#power"> 142 382 1056 2760 7131 13935 21585 25467 29565 34048 38806 43290 </table>
-		<set name="blowChance" val="115" />
 		<set name="castRange" val="40" />
 		<set name="coolTime" val="660" />
 		<set name="effectPoint" val="-100" />
@@ -755,11 +755,13 @@
 		<set name="magicLvl" val="#magicLvl" />
 		<set name="mpConsume" val="#mpConsume" />
 		<set name="operateType" val="A1" />
-		<set name="power" val="#power" />
 		<set name="rideState" val="NONE" />
 		<set name="targetType" val="ONE" />
 		<for>
-			<effect name="FatalBlow" />
+			<effect name="FatalBlow">
+				<param power="#power" />
+				<param blowChance="115" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="4731" levels="12" name="BOSS Mortal Blow">
@@ -767,7 +769,6 @@
 		<table name="#magicLvl"> 14 24 34 44 54 64 74 79 84 89 94 99 </table>
 		<table name="#mpConsume"> 16 23 32 42 53 65 75 79 82 84 85 87 </table>
 		<table name="#power"> 76 204 563 1473 3804 7437 11500 13555 15724 18112 20667 23023 </table>
-		<set name="blowChance" val="115" />
 		<set name="castRange" val="40" />
 		<set name="coolTime" val="660" />
 		<set name="effectPoint" val="-100" />
@@ -776,11 +777,13 @@
 		<set name="magicLvl" val="#magicLvl" />
 		<set name="mpConsume" val="#mpConsume" />
 		<set name="operateType" val="A1" />
-		<set name="power" val="#power" />
 		<set name="rideState" val="NONE" />
 		<set name="targetType" val="ONE" />
 		<for>
-			<effect name="FatalBlow" />
+			<effect name="FatalBlow">
+				<param power="#power" />
+				<param blowChance="115" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="4732" levels="12" name="BOSS Mortal Blow">
@@ -788,7 +791,6 @@
 		<table name="#magicLvl"> 14 24 34 44 54 64 74 79 84 89 94 99 </table>
 		<table name="#mpConsume"> 16 23 32 42 53 65 75 79 82 84 85 87 </table>
 		<table name="#power"> 71 191 528 1382 3566 6977 10793 12734 14783 17044 19381 21645 </table>
-		<set name="blowChance" val="115" />
 		<set name="castRange" val="40" />
 		<set name="coolTime" val="660" />
 		<set name="effectPoint" val="-100" />
@@ -797,11 +799,13 @@
 		<set name="magicLvl" val="#magicLvl" />
 		<set name="mpConsume" val="#mpConsume" />
 		<set name="operateType" val="A1" />
-		<set name="power" val="#power" />
 		<set name="rideState" val="NONE" />
 		<set name="targetType" val="ONE" />
 		<for>
-			<effect name="FatalBlow" />
+			<effect name="FatalBlow">
+				<param power="#power" />
+				<param blowChance="115" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="4733" levels="12" name="BOSS Mortal Blow">
@@ -809,7 +813,6 @@
 		<table name="#magicLvl"> 14 24 34 44 54 64 74 79 84 89 94 99 </table>
 		<table name="#mpConsume"> 16 23 32 42 53 65 75 79 82 84 85 87 </table>
 		<table name="#power"> 67 179 494 1287 3327 6516 10085 11913 13841 15937 18140 20268 </table>
-		<set name="blowChance" val="115" />
 		<set name="castRange" val="40" />
 		<set name="coolTime" val="660" />
 		<set name="effectPoint" val="-100" />
@@ -818,11 +821,13 @@
 		<set name="magicLvl" val="#magicLvl" />
 		<set name="mpConsume" val="#mpConsume" />
 		<set name="operateType" val="A1" />
-		<set name="power" val="#power" />
 		<set name="rideState" val="NONE" />
 		<set name="targetType" val="ONE" />
 		<for>
-			<effect name="FatalBlow" />
+			<effect name="FatalBlow">
+				<param power="#power" />
+				<param blowChance="115" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="4734" levels="12" name="BOSS Spinning Slash">
@@ -1185,7 +1190,6 @@
 		<table name="#magicLvl"> 14 24 34 44 54 64 74 79 84 89 94 99 </table>
 		<table name="#mpConsume"> 16 23 32 42 53 65 75 79 82 84 85 87 </table>
 		<table name="#power"> 280 755 2084 5441 14076 27518 42610 50296 58107 65907 73917 81989 </table>
-		<set name="blowChance" val="67" />
 		<set name="castRange" val="40" />
 		<set name="coolTime" val="660" />
 		<set name="effectPoint" val="-100" />
@@ -1194,11 +1198,13 @@
 		<set name="magicLvl" val="#magicLvl" />
 		<set name="mpConsume" val="#mpConsume" />
 		<set name="operateType" val="A1" />
-		<set name="power" val="#power" />
 		<set name="rideState" val="NONE" />
 		<set name="targetType" val="ONE" />
 		<for>
-			<effect name="FatalBlow" />
+			<effect name="FatalBlow">
+				<param power="#power" />
+				<param blowChance="67" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="4750" levels="12" name="BOSS Mortal Blow">
@@ -1206,7 +1212,6 @@
 		<table name="#magicLvl"> 14 24 34 44 54 64 74 79 84 89 94 99 </table>
 		<table name="#mpConsume"> 16 23 32 42 53 65 75 79 82 84 85 87 </table>
 		<table name="#power"> 236 637 1761 4600 11884 23226 35974 42445 49275 56746 64677 72150 </table>
-		<set name="blowChance" val="67" />
 		<set name="castRange" val="40" />
 		<set name="coolTime" val="660" />
 		<set name="effectPoint" val="-100" />
@@ -1215,11 +1220,13 @@
 		<set name="magicLvl" val="#magicLvl" />
 		<set name="mpConsume" val="#mpConsume" />
 		<set name="operateType" val="A1" />
-		<set name="power" val="#power" />
 		<set name="rideState" val="NONE" />
 		<set name="targetType" val="ONE" />
 		<for>
-			<effect name="FatalBlow" />
+			<effect name="FatalBlow">
+				<param power="#power" />
+				<param blowChance="67" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="4751" levels="12" name="BOSS Mortal Blow">
@@ -1227,7 +1234,6 @@
 		<table name="#magicLvl"> 14 24 34 44 54 64 74 79 84 89 94 99 </table>
 		<table name="#mpConsume"> 16 23 32 42 53 65 75 79 82 84 85 87 </table>
 		<table name="#power"> 126 339 937 2455 6339 12395 19166 22591 26206 30185 34445 38371 </table>
-		<set name="blowChance" val="67" />
 		<set name="castRange" val="40" />
 		<set name="coolTime" val="660" />
 		<set name="effectPoint" val="-100" />
@@ -1236,11 +1242,13 @@
 		<set name="magicLvl" val="#magicLvl" />
 		<set name="mpConsume" val="#mpConsume" />
 		<set name="operateType" val="A1" />
-		<set name="power" val="#power" />
 		<set name="rideState" val="NONE" />
 		<set name="targetType" val="ONE" />
 		<for>
-			<effect name="FatalBlow" />
+			<effect name="FatalBlow">
+				<param power="#power" />
+				<param blowChance="67" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="4752" levels="12" name="BOSS Mortal Blow">
@@ -1248,7 +1256,6 @@
 		<table name="#magicLvl"> 14 24 34 44 54 64 74 79 84 89 94 99 </table>
 		<table name="#mpConsume"> 16 23 32 42 53 65 75 79 82 84 85 87 </table>
 		<table name="#power"> 118 319 879 2303 5942 11627 17987 21223 24638 28406 32302 36075 </table>
-		<set name="blowChance" val="67" />
 		<set name="castRange" val="40" />
 		<set name="coolTime" val="660" />
 		<set name="effectPoint" val="-100" />
@@ -1257,11 +1264,13 @@
 		<set name="magicLvl" val="#magicLvl" />
 		<set name="mpConsume" val="#mpConsume" />
 		<set name="operateType" val="A1" />
-		<set name="power" val="#power" />
 		<set name="rideState" val="NONE" />
 		<set name="targetType" val="ONE" />
 		<for>
-			<effect name="FatalBlow" />
+			<effect name="FatalBlow">
+				<param power="#power" />
+				<param blowChance="67" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="4753" levels="12" name="BOSS Mortal Blow">
@@ -1269,7 +1278,6 @@
 		<table name="#magicLvl"> 14 24 34 44 54 64 74 79 84 89 94 99 </table>
 		<table name="#mpConsume"> 16 23 32 42 53 65 75 79 82 84 85 87 </table>
 		<table name="#power"> 111 298 824 2145 5545 10860 16808 19855 23069 26561 30232 33780 </table>
-		<set name="blowChance" val="67" />
 		<set name="castRange" val="40" />
 		<set name="coolTime" val="660" />
 		<set name="effectPoint" val="-100" />
@@ -1278,11 +1286,13 @@
 		<set name="magicLvl" val="#magicLvl" />
 		<set name="mpConsume" val="#mpConsume" />
 		<set name="operateType" val="A1" />
-		<set name="power" val="#power" />
 		<set name="rideState" val="NONE" />
 		<set name="targetType" val="ONE" />
 		<for>
-			<effect name="FatalBlow" />
+			<effect name="FatalBlow">
+				<param power="#power" />
+				<param blowChance="67" />
+			</effect>
 		</for>
 	</skill>
 	<skill id="4754" levels="12" name="BOSS Power Shot">
diff --git a/dist/game/data/stats/skills/05000-05099.xml b/dist/game/data/stats/skills/05000-05099.xml
index d78df7343f..23548876d5 100644
--- a/dist/game/data/stats/skills/05000-05099.xml
+++ b/dist/game/data/stats/skills/05000-05099.xml
@@ -1294,11 +1294,11 @@
 		<set name="magicLvl" val="85" />
 		<set name="mpConsume" val="#mpConsume" />
 		<set name="operateType" val="A2" />
-		<set name="power" val="#power" />
 		<set name="rideState" val="NONE" />
 		<set name="targetType" val="ONE" />
 		<for>
 			<effect name="FatalBlow">
+				<param power="#power" />
 				<param blowChance="20" />
 			</effect>
 			<effect name="PhysicalMute" />
@@ -1367,11 +1367,11 @@
 		<set name="mpConsume" val="83" />
 		<set name="nextActionAttack" val="true" />
 		<set name="operateType" val="A3" />
-		<set name="power" val="6335" />
 		<set name="rideState" val="NONE" />
 		<set name="targetType" val="ONE" />
 		<for>
 			<effect name="FatalBlow">
+				<param power="6335" />
 				<param blowChance="15" />
 			</effect>
 		</for>
diff --git a/dist/game/data/stats/skills/05100-05199.xml b/dist/game/data/stats/skills/05100-05199.xml
index 3e045eb251..1e62359706 100644
--- a/dist/game/data/stats/skills/05100-05199.xml
+++ b/dist/game/data/stats/skills/05100-05199.xml
@@ -861,11 +861,11 @@
 		<set name="magicLvl" val="89" />
 		<set name="mpConsume" val="84" />
 		<set name="operateType" val="A1" />
-		<set name="power" val="39544" />
 		<set name="rideState" val="NONE" />
 		<set name="targetType" val="ONE" />
 		<for>
 			<effect name="FatalBlow">
+				<param power="39544" />
 				<param blowChance="115" />
 			</effect>
 		</for>
diff --git a/dist/game/data/stats/skills/06000-06099.xml b/dist/game/data/stats/skills/06000-06099.xml
index 0f501c3495..c65caeff37 100644
--- a/dist/game/data/stats/skills/06000-06099.xml
+++ b/dist/game/data/stats/skills/06000-06099.xml
@@ -1159,12 +1159,12 @@
 		<set name="magicLvl" val="#magicLvl" />
 		<set name="mpConsume" val="42" />
 		<set name="operateType" val="A1" />
-		<set name="power" val="#power" />
 		<set name="reuseDelay" val="8000" />
 		<set name="rideState" val="NONE" />
 		<set name="targetType" val="ONE" />
 		<for>
 			<effect name="FatalBlow">
+				<param power="#power" />
 				<param blowChance="20" />
 			</effect>
 		</for>
diff --git a/dist/game/data/stats/skills/06700-06799.xml b/dist/game/data/stats/skills/06700-06799.xml
index e82ef6d4fc..94ea8c90f2 100644
--- a/dist/game/data/stats/skills/06700-06799.xml
+++ b/dist/game/data/stats/skills/06700-06799.xml
@@ -716,12 +716,12 @@
 		<set name="mpConsume" val="77" />
 		<set name="nextActionAttack" val="true" />
 		<set name="operateType" val="A1" />
-		<set name="power" val="5773" />
 		<set name="rideState" val="NONE" />
 		<set name="targetType" val="ONE" />
 		<set name="trait" val="DEATH" />
 		<for>
 			<effect name="FatalBlow">
+				<param power="5773" />
 				<param blowChance="30" />
 				<param criticalChance="20" />
 			</effect>
@@ -746,13 +746,13 @@
 		<set name="magicLvl" val="85" />
 		<set name="mpConsume" val="100" />
 		<set name="operateType" val="A2" />
-		<set name="power" val="5773" />
 		<set name="reuseDelay" val="10000" />
 		<set name="rideState" val="NONE" />
 		<set name="targetType" val="AURA" />
 		<set name="trait" val="BLEED" />
 		<for>
 			<effect name="FatalBlow">
+				<param power="5773" />
 				<param blowChance="30" />
 				<param criticalChance="20" />
 			</effect>
diff --git a/dist/game/data/stats/skills/20000-20099.xml b/dist/game/data/stats/skills/20000-20099.xml
index 0dbb6e9d58..d11a9ea0a9 100644
--- a/dist/game/data/stats/skills/20000-20099.xml
+++ b/dist/game/data/stats/skills/20000-20099.xml
@@ -18,12 +18,12 @@
 		<set name="magicLvl" val="85" /> <!-- FIXME: value unconfirmed -->
 		<set name="operateType" val="A1" /> <!-- FIXME: value unconfirmed -->
 		<set name="overHit" val="true" />
-		<set name="power" val="3420" />
 		<set name="reuseDelay" val="5000" /> <!-- FIXME: value unconfirmed -->
 		<set name="rideState" val="NONE" />
 		<set name="targetType" val="ONE" />
 		<for>
 			<effect name="FatalBlow">
+				<param power="3420" />
 				<param blowChance="20" />
 			</effect>
 		</for>
-- 
GitLab