diff --git a/L2J_DataPack/dist/game/data/scripts/handlers/effecthandlers/StealAbnormal.java b/L2J_DataPack/dist/game/data/scripts/handlers/effecthandlers/StealAbnormal.java
index 0eaf02be42f7d50e1f7a5d2a7d85dfa546cc91da..5ad4c4116618c38cff6038781dc6c6ffe00387b4 100644
--- a/L2J_DataPack/dist/game/data/scripts/handlers/effecthandlers/StealAbnormal.java
+++ b/L2J_DataPack/dist/game/data/scripts/handlers/effecthandlers/StealAbnormal.java
@@ -26,6 +26,7 @@ import com.l2jserver.gameserver.model.effects.AbstractEffect;
 import com.l2jserver.gameserver.model.effects.L2EffectType;
 import com.l2jserver.gameserver.model.skills.BuffInfo;
 import com.l2jserver.gameserver.model.skills.EffectScope;
+import com.l2jserver.gameserver.model.stats.Env;
 import com.l2jserver.gameserver.model.stats.Formulas;
 
 /**
@@ -73,7 +74,11 @@ public final class StealAbnormal extends AbstractEffect
 			for (BuffInfo infoToSteal : toSteal)
 			{
 				// Invert effected and effector.
-				final BuffInfo stolen = new BuffInfo(info.getEffected(), info.getEffector(), infoToSteal.getSkill());
+				final Env env = new Env();
+				env.setCharacter(info.getEffected());
+				env.setTarget(info.getEffector());
+				env.setSkill(infoToSteal.getSkill());
+				final BuffInfo stolen = new BuffInfo(env);
 				stolen.setAbnormalTime(infoToSteal.getTime()); // Copy the remaining time.
 				// To include all the effects, it's required to go through the template rather the buff info.
 				infoToSteal.getSkill().applyEffectScope(EffectScope.GENERAL, stolen, true, true);
diff --git a/L2J_DataPack/dist/game/data/stats/skills/00200-00299.xml b/L2J_DataPack/dist/game/data/stats/skills/00200-00299.xml
index 9aa6ba0ec2d02372760ed7313fe36e5c278b76a7..6bc56bd4546cc0d1ee32d419ccf65cbf08448fc6 100644
--- a/L2J_DataPack/dist/game/data/stats/skills/00200-00299.xml
+++ b/L2J_DataPack/dist/game/data/stats/skills/00200-00299.xml
@@ -171,9 +171,9 @@
 				<add order="0x40" stat="pAtk" val="112.8">
 					<using kind="DAGGER,DUALDAGGER" />
 				</add>
-				<mul order="0x01" stat="rCrit" val="#ench2rCrit">
+				<basemul order="0x30" stat="rCrit" val="#ench2rCrit">
 					<using kind="DAGGER,DUALDAGGER" />
-				</mul>
+				</basemul>
 			</effect>
 			<effect name="TriggerSkillByAttack">
 				<param attackerType="L2Character" minAttackerLevel="1" maxAttackerLevel="100" />
@@ -983,7 +983,6 @@
 		<set name="targetType" val="SELF" />
 	</skill>
 	<skill id="244" levels="3" name="Armor Mastery">
-		<!-- Confirmed CT2.5 -->
 		<table name="#magicLvl"> 7 11 14 </table>
 		<table name="#pDef"> 6.7 8 9.2 </table>
 		<set name="icon" val="icon.skill0244" />
@@ -991,9 +990,7 @@
 		<set name="operateType" val="P" />
 		<set name="targetType" val="SELF" />
 		<for>
-			<effect name="Buff">
-				<add order="0x40" stat="pDef" val="#pDef" />
-			</effect>
+			<add order="0x40" stat="pDef" val="#pDef" />
 		</for>
 	</skill>
 	<skill id="245" levels="15" name="Wild Sweep">
@@ -1522,17 +1519,15 @@
 			</effect>
 		</enchant2for>
 		<enchant3for>
-			<effect name="Buff">
-				<add order="0x40" stat="pDef" val="56.1">
-					<using kind="HEAVY" />
-				</add>
-				<mul order="0x30" stat="mAtkSpd" val="1.68">
-					<using kind="HEAVY" />
-				</mul>
-				<mul order="0x30" stat="pAtkSpd" val="#ench3pAtkSpd">
-					<using kind="HEAVY" />
-				</mul>
-			</effect>
+			<add order="0x40" stat="pDef" val="56.1">
+				<using kind="HEAVY" />
+			</add>
+			<mul order="0x30" stat="mAtkSpd" val="1.68">
+				<using kind="HEAVY" />
+			</mul>
+			<mul order="0x30" stat="pAtkSpd" val="#ench3pAtkSpd">
+				<using kind="HEAVY" />
+			</mul>
 		</enchant3for>
 	</skill>
 	<skill id="260" levels="37" name="Hammer Crush" enchantGroup1="2" enchantGroup2="2" enchantGroup3="2" enchantGroup4="2" enchantGroup5="2" enchantGroup6="2">
@@ -1959,7 +1954,7 @@
 		<enchant2 name="mpConsume" val="#ench2MpConsume" />
 		<for>
 			<effect name="Buff">
-				<mul order="0x01" stat="rCrit" val="1" />
+				<basemul order="0x30" stat="rCrit" val="1" />
 			</effect>
 		</for>
 	</skill>
diff --git a/L2J_DataPack/dist/game/data/stats/skills/00400-00499.xml b/L2J_DataPack/dist/game/data/stats/skills/00400-00499.xml
index c696a3ba5552022d524c100c896d1a504ad173e4..10a5d39f21cc3ab5dfa201effab2a7d6f0f08662 100644
--- a/L2J_DataPack/dist/game/data/stats/skills/00400-00499.xml
+++ b/L2J_DataPack/dist/game/data/stats/skills/00400-00499.xml
@@ -50,7 +50,7 @@
 		<for>
 			<effect name="PhysicalAttack" />
 			<effect name="Debuff">
-				<mul order="0x01" stat="rCrit" val="#rCrit" />
+				<basemul order="0x30" stat="rCrit" val="#rCrit" />
 			</effect>
 			<effect name="DefenceTrait">
 				<param SWORD="#traits" />
@@ -68,7 +68,7 @@
 		<enchant2for>
 			<effect name="PhysicalAttack" />
 			<effect name="Debuff">
-				<mul order="0x01" stat="rCrit" val="-0.5" />
+				<basemul order="0x30" stat="rCrit" val="-0.5" />
 			</effect>
 			<effect name="DefenceTrait">
 				<param SWORD="-20" />
@@ -87,7 +87,7 @@
 			<effect name="PhysicalAttack" />
 			<effect name="Debuff">
 				<mul order="0x30" stat="cAtk" val="#ench3cAtk" />
-				<mul order="0x01" stat="rCrit" val="-0.5" />
+				<basemul order="0x30" stat="rCrit" val="-0.5" />
 			</effect>
 			<effect name="DefenceTrait">
 				<param SWORD="-20" />
@@ -173,7 +173,7 @@
 		<enchant3for>
 			<effect name="PhysicalAttack" />
 			<effect name="Debuff">
-				<mul order="0x01" stat="rCrit" val="#ench3rCrit" />
+				<basemul order="0x30" stat="rCrit" val="#ench3rCrit" />
 				<mul order="0x30" stat="cAtk" val="0.65" />
 			</effect>
 			<effect name="DefenceTrait">
@@ -2637,7 +2637,7 @@
 		<set name="targetType" val="SELF" />
 		<for>
 			<effect name="Buff">
-				<mul order="0x01" stat="rCrit" val="#rCrit" />
+				<basemul order="0x30" stat="rCrit" val="#rCrit" />
 				<mul order="0x30" stat="cAtk" val="#cAtk" />
 				<mul order="0x30" stat="pDef" val="0.95" />
 			</effect>
diff --git a/L2J_DataPack/dist/game/data/stats/skills/00500-00599.xml b/L2J_DataPack/dist/game/data/stats/skills/00500-00599.xml
index e6058f5fb61f8e1b1fff7f7983398968c3dc4f3c..282b80e6cdf0476bb098a939f1f914386a2cc70a 100644
--- a/L2J_DataPack/dist/game/data/stats/skills/00500-00599.xml
+++ b/L2J_DataPack/dist/game/data/stats/skills/00500-00599.xml
@@ -860,9 +860,9 @@
 				<add order="0x40" stat="accCombat" val="#accCombat">
 					<using kind="CROSSBOW" />
 				</add>
-				<mul order="0x01" stat="rCrit" val="0.2">
+				<basemul order="0x30" stat="rCrit" val="0.2">
 					<using kind="CROSSBOW" />
-				</mul>
+				</basemul>
 				<add order="0x40" stat="pAtkRange" val="#range">
 					<using kind="CROSSBOW" />
 				</add>
@@ -876,9 +876,9 @@
 				<add order="0x40" stat="accCombat" val="#ench1Acc">
 					<using kind="CROSSBOW" />
 				</add>
-				<mul order="0x01" stat="rCrit" val="0.2">
+				<basemul order="0x30" stat="rCrit" val="0.2">
 					<using kind="CROSSBOW" />
-				</mul>
+				</basemul>
 				<add order="0x40" stat="pAtkRange" val="200">
 					<using kind="CROSSBOW" />
 				</add>
diff --git a/L2J_DataPack/dist/game/data/stats/skills/00700-00799.xml b/L2J_DataPack/dist/game/data/stats/skills/00700-00799.xml
index 5332357a5b9da2bfcd9cf6d190ba539352241059..059a17ee4131c7c495da5f16b6becb20562f7194 100644
--- a/L2J_DataPack/dist/game/data/stats/skills/00700-00799.xml
+++ b/L2J_DataPack/dist/game/data/stats/skills/00700-00799.xml
@@ -180,8 +180,8 @@
 		<for>
 			<effect name="Buff">
 				<mul order="0x30" stat="maxHp" val="1.2" />
-				<mul order="0x01" stat="rCrit" val="0.2" />
-				<mul order="0x01" stat="mCritRate" val="0.2" />
+				<basemul order="0x30" stat="rCrit" val="0.2" />
+				<basemul order="0x30" stat="mCritRate" val="0.2" />
 				<mul order="0x30" stat="pAtk" val="1.1" />
 				<mul order="0x30" stat="pDef" val="1.2" />
 				<mul order="0x30" stat="pAtkSpd" val="1.2" />
@@ -281,7 +281,7 @@
 				<mul order="0x30" stat="pDef" val="1.1" />
 				<mul order="0x30" stat="pAtk" val="1.1" />
 				<mul order="0x30" stat="pAtkSpd" val="1.1" />
-				<mul order="0x01" stat="rCrit" val="0.1" />
+				<basemul order="0x30" stat="rCrit" val="0.1" />
 				<mul order="0x30" stat="cAtk" val="1.1" />
 				<mul order="0x30" stat="mDef" val="1.1" />
 				<mul order="0x30" stat="mAtk" val="1.1" />
@@ -352,7 +352,7 @@
 		<set name="targetType" val="SERVITOR" />
 		<for>
 			<effect name="Buff">
-				<mul order="0x01" stat="rCrit" val="0.2" />
+				<basemul order="0x30" stat="rCrit" val="0.2" />
 				<mul order="0x30" stat="pAtk" val="1.1" />
 				<mul order="0x30" stat="cAtk" val="1.2" />
 				<mul order="0x30" stat="pAtkSpd" val="1.2" />
@@ -408,7 +408,7 @@
 		</cond>
 		<for>
 			<effect name="Buff">
-				<mul order="0x01" stat="rCrit" val="0.2" />
+				<basemul order="0x30" stat="rCrit" val="0.2" />
 				<mul order="0x30" stat="cAtk" val="1.2" />
 			</effect>
 		</for>
@@ -1393,7 +1393,7 @@
 		<set name="targetType" val="ONE" />
 		<for>
 			<effect name="Buff">
-				<mul order="0x01" stat="rCrit" val="0.3" />
+				<basemul order="0x30" stat="rCrit" val="0.3" />
 			</effect>
 		</for>
 	</skill>
diff --git a/L2J_DataPack/dist/game/data/stats/skills/00800-00899.xml b/L2J_DataPack/dist/game/data/stats/skills/00800-00899.xml
index 89286243beb37aa4b5a43c89990ee9bc9e6093b3..98da1a0cfaec3145a7a2f00ea8c345ca4370b28e 100644
--- a/L2J_DataPack/dist/game/data/stats/skills/00800-00899.xml
+++ b/L2J_DataPack/dist/game/data/stats/skills/00800-00899.xml
@@ -552,9 +552,9 @@
 				<mul order="0x30" stat="pAtk" val="1.05">
 					<using kind="SWORD,DAGGER,DUALDAGGER,POLE,RAPIER,ANCIENTSWORD,DUAL,DUALFIST" />
 				</mul>
-				<mul order="0x01" stat="rCrit" val="0.2">
+				<basemul order="0x30" stat="rCrit" val="0.2">
 					<using kind="SWORD,DAGGER,DUALDAGGER,POLE,RAPIER,ANCIENTSWORD,DUAL,DUALFIST" />
-				</mul>
+				</basemul>
 			</effect>
 		</for>
 	</skill>
diff --git a/L2J_DataPack/dist/game/data/stats/skills/01000-01099.xml b/L2J_DataPack/dist/game/data/stats/skills/01000-01099.xml
index 6dd260eef6712d070f600469f8cb33b2cc9a9f29..425cb8c8e5fb7be6fc4d8dddaf12ffc1d212c36e 100644
--- a/L2J_DataPack/dist/game/data/stats/skills/01000-01099.xml
+++ b/L2J_DataPack/dist/game/data/stats/skills/01000-01099.xml
@@ -1658,7 +1658,7 @@
 		<enchant2 name="mpInitialConsume" val="#ench2mpInitialConsume" />
 		<for>
 			<effect name="Buff">
-				<mul order="0x01" stat="rCrit" val="#rCrit" />
+				<basemul order="0x30" stat="rCrit" val="#rCrit" />
 			</effect>
 		</for>
 	</skill>
diff --git a/L2J_DataPack/dist/game/data/stats/skills/01300-01399.xml b/L2J_DataPack/dist/game/data/stats/skills/01300-01399.xml
index 90f2e082fa6251a4073d7f466eda7a3944a5e352..80cdf114138e7c2613bdba6ecd8094170852d48e 100644
--- a/L2J_DataPack/dist/game/data/stats/skills/01300-01399.xml
+++ b/L2J_DataPack/dist/game/data/stats/skills/01300-01399.xml
@@ -259,7 +259,7 @@
 		<enchant2 name="mpInitialConsume" val="#ench2mpInitialConsume" />
 		<for>
 			<effect name="Buff">
-				<mul order="0x01" stat="rCrit" val="#rCrit" />
+				<basemul order="0x30" stat="rCrit" val="#rCrit" />
 			</effect>
 		</for>
 	</skill>
@@ -992,7 +992,7 @@
 				<mul order="0x30" stat="pDef" val="0.7" />
 				<mul order="0x30" stat="mAtk" val="0.7" />
 				<mul order="0x30" stat="mAtkSpd" val="0.8" />
-				<mul order="0x01" stat="mCritRate" val="-0.3" />
+				<basemul order="0x30" stat="mCritRate" val="-0.3" />
 			</effect>
 		</for>
 	</skill>
@@ -1478,9 +1478,9 @@
 				<mul order="0x30" stat="cAtk" val="1.2">
 					<player behind="true" />
 				</mul>
-				<mul order="0x01" stat="rCrit" val="0.2">
+				<basemul order="0x30" stat="rCrit" val="0.2">
 					<player behind="true" />
-				</mul>
+				</basemul>
 				<sub order="0x40" stat="debuffVuln" val="10" />
 			</effect>
 		</for>
@@ -1511,7 +1511,7 @@
 		<enchant2 name="mpInitialConsume" val="#ench2mpInitialConsume" />
 		<for>
 			<effect name="Buff">
-				<mul order="0x01" stat="rCrit" val="0.2" />
+				<basemul order="0x30" stat="rCrit" val="0.2" />
 				<mul order="0x30" stat="pAtk" val="1.1" />
 				<mul order="0x30" stat="cAtk" val="1.2" />
 				<mul order="0x30" stat="pAtkSpd" val="1.2" />
@@ -1811,7 +1811,7 @@
 		<for>
 			<effect name="Buff">
 				<mul order="0x30" stat="maxHp" val="1.2" />
-				<mul order="0x01" stat="rCrit" val="0.2" />
+				<basemul order="0x30" stat="rCrit" val="0.2" />
 				<mul order="0x30" stat="mCritPower" val="1.2" />
 				<mul order="0x30" stat="pAtk" val="1.1" />
 				<mul order="0x30" stat="pDef" val="1.2" />
@@ -1827,7 +1827,7 @@
 		<enchant3for>
 			<effect name="Buff">
 				<mul order="0x30" stat="maxHp" val="1.2" />
-				<mul order="0x01" stat="rCrit" val="0.2" />
+				<basemul order="0x30" stat="rCrit" val="0.2" />
 				<mul order="0x30" stat="mCritPower" val="1.2" />
 				<mul order="0x30" stat="pAtk" val="1.1" />
 				<mul order="0x30" stat="pDef" val="1.2" />
@@ -2095,7 +2095,7 @@
 		<enchant3for>
 			<effect name="Buff">
 				<mul order="0x30" stat="maxHp" val="1.2" />
-				<mul order="0x01" stat="mCritRate" val="0.02" />
+				<basemul order="0x30" stat="mCritRate" val="0.02" />
 				<mul order="0x30" stat="cAtk" val="1.2" />
 				<mul order="0x30" stat="pAtk" val="1.1" />
 				<mul order="0x30" stat="pDef" val="1.2" />
@@ -2228,7 +2228,7 @@
 				<mul order="0x30" stat="runSpd" val="0.8" />
 				<mul order="0x30" stat="mDef" val="0.7" />
 				<mul order="0x30" stat="pAtkSpd" val="0.7" />
-				<mul order="0x01" stat="rCrit" val="-0.3" />
+				<basemul order="0x30" stat="rCrit" val="-0.3" />
 				<mul order="0x30" stat="cAtk" val="0.7" />
 				<sub order="0x40" stat="accCombat" val="6" />
 			</effect>
diff --git a/L2J_DataPack/dist/game/data/stats/skills/02200-02299.xml b/L2J_DataPack/dist/game/data/stats/skills/02200-02299.xml
index ac12925e46c3601a74219415c579a0eb0851e7d6..ffa8bcc386c7bdb9b52a4e94ae45f14598844cc1 100644
--- a/L2J_DataPack/dist/game/data/stats/skills/02200-02299.xml
+++ b/L2J_DataPack/dist/game/data/stats/skills/02200-02299.xml
@@ -1767,7 +1767,7 @@
 		</cond>
 		<for>
 			<effect name="Buff">
-				<mul order="0x01" stat="rCrit" val="0.3" />
+				<basemul order="0x30" stat="rCrit" val="0.3" />
 			</effect>
 		</for>
 	</skill>
diff --git a/L2J_DataPack/dist/game/data/stats/skills/02400-02499.xml b/L2J_DataPack/dist/game/data/stats/skills/02400-02499.xml
index 33663834d45c748f118fd606d8c7c07d4f55700e..41e9b30e45ed942a85ce1c4182a23aea3efcbc86 100644
--- a/L2J_DataPack/dist/game/data/stats/skills/02400-02499.xml
+++ b/L2J_DataPack/dist/game/data/stats/skills/02400-02499.xml
@@ -130,7 +130,7 @@
 		<set name="targetType" val="SELF" />
 		<for>
 			<effect name="Buff">
-				<mul order="0x01" stat="rCrit" val="0.25" />
+				<basemul order="0x30" stat="rCrit" val="0.25" />
 			</effect>
 		</for>
 	</skill>
@@ -596,7 +596,7 @@
 		<set name="targetType" val="SELF" />
 		<for>
 			<effect name="Buff">
-				<mul order="0x01" stat="rCrit" val="0.3" />
+				<basemul order="0x30" stat="rCrit" val="0.3" />
 			</effect>
 		</for>
 	</skill>
diff --git a/L2J_DataPack/dist/game/data/stats/skills/02800-02899.xml b/L2J_DataPack/dist/game/data/stats/skills/02800-02899.xml
index 6a97fe5c86fc8ce23b6f2bd34eecc29cf92e0054..f3cfe8be4673482fe1cd91f0ec9ca84c821cf088 100644
--- a/L2J_DataPack/dist/game/data/stats/skills/02800-02899.xml
+++ b/L2J_DataPack/dist/game/data/stats/skills/02800-02899.xml
@@ -1797,7 +1797,7 @@
 		<set name="targetType" val="SELF" />
 		<for>
 			<effect name="Buff">
-				<mul order="0x01" stat="rCrit" val="0.3" />
+				<basemul order="0x30" stat="rCrit" val="0.3" />
 			</effect>
 		</for>
 	</skill>
diff --git a/L2J_DataPack/dist/game/data/stats/skills/03000-03099.xml b/L2J_DataPack/dist/game/data/stats/skills/03000-03099.xml
index a6516995f5bc34000006c211b9ebb9f4de8110d1..8084069deb83ccb0ef013b26130bf323f2ecd916 100644
--- a/L2J_DataPack/dist/game/data/stats/skills/03000-03099.xml
+++ b/L2J_DataPack/dist/game/data/stats/skills/03000-03099.xml
@@ -199,9 +199,9 @@
 		<set name="targetType" val="SELF" />
 		<for>
 			<effect name="Buff">
-				<mul order="0x01" stat="rCrit" val="#rCrit">
+				<basemul order="0x30" stat="rCrit" val="#rCrit">
 					<player behind="true" />
-				</mul>
+				</basemul>
 			</effect>
 		</for>
 	</skill>
@@ -215,9 +215,9 @@
 		<set name="targetType" val="SELF" />
 		<for>
 			<effect name="Buff">
-				<mul order="0x01" stat="rCrit" val="#rCrit">
+				<basemul order="0x30" stat="rCrit" val="#rCrit">
 					<player behind="true" />
-				</mul>
+				</basemul>
 			</effect>
 		</for>
 	</skill>
@@ -1036,9 +1036,9 @@
 		<set name="targetType" val="SELF" />
 		<for>
 			<effect name="Buff">
-				<mul order="0x01" stat="rCrit" val="0.37">
+				<basemul order="0x30" stat="rCrit" val="0.37">
 					<player behind="true" />
-				</mul>
+				</basemul>
 				<mul order="0x30" stat="pvpPhysDmg" val="1.05" />
 				<mul order="0x30" stat="pvpPhysSkillsDmg" val="1.05" />
 				<mul order="0x30" stat="pvpMagicalDmg" val="1.05" />
diff --git a/L2J_DataPack/dist/game/data/stats/skills/03600-03699.xml b/L2J_DataPack/dist/game/data/stats/skills/03600-03699.xml
index 807e01347964c2ec398f0474c8b4e2dce16d3dba..403ba65e3f8613c2afb716ec855b2e176a114b3c 100644
--- a/L2J_DataPack/dist/game/data/stats/skills/03600-03699.xml
+++ b/L2J_DataPack/dist/game/data/stats/skills/03600-03699.xml
@@ -293,18 +293,15 @@
 		</for>
 	</skill>
 	<skill id="3613" levels="1" name="Enchant Robe (Grade D)">
-		<!-- Confirmed CT2.5 -->
 		<set name="icon" val="icon.skill0234" />
 		<set name="magicLvl" val="1" />
 		<set name="operateType" val="P" />
 		<set name="targetType" val="SELF" />
 		<for>
-			<effect name="Buff">
-				<add order="0x40" stat="pDef" val="16">
-					<using kind="MAGIC" />
-				</add>
-				<mul order="0x30" stat="weightLimit" val="1.3" />
-			</effect>
+			<add order="0x40" stat="pDef" val="16">
+				<using kind="MAGIC" />
+			</add>
+			<mul order="0x30" stat="weightLimit" val="1.3" />
 		</for>
 	</skill>
 	<skill id="3614" levels="1" name="Enchant Heavy Armor (Grade C)">
diff --git a/L2J_DataPack/dist/game/data/stats/skills/04100-04199.xml b/L2J_DataPack/dist/game/data/stats/skills/04100-04199.xml
index bff37e3f654ee2e6436227b3f534e86d1b8eecd9..d8b8a39e3457f072a876e430402ea421b7fcdc8c 100644
--- a/L2J_DataPack/dist/game/data/stats/skills/04100-04199.xml
+++ b/L2J_DataPack/dist/game/data/stats/skills/04100-04199.xml
@@ -397,16 +397,14 @@
 		</for>
 	</skill>
 	<skill id="4116" levels="10" name="Resist M.Atk">
-		<!-- Confirmed CT2.5 -->
+		<!-- Freya retail confirmed -->
 		<table name="#mDef"> 1.05 1.11 1.17 1.25 1.33 1.43 1.67 2 3.33 10 </table>
 		<set name="icon" val="icon.skill4116_new" />
 		<set name="magicLvl" val="1" />
 		<set name="operateType" val="P" />
 		<set name="targetType" val="SELF" />
 		<for>
-			<effect name="Buff">
-				<mul order="0x30" stat="mDef" val="#mDef" />
-			</effect>
+			<mul order="0x30" stat="mDef" val="#mDef" />
 		</for>
 	</skill>
 	<skill id="4117" levels="12" name="Paralysis">
@@ -553,9 +551,7 @@
 		<set name="operateType" val="P" />
 		<set name="targetType" val="SELF" />
 		<for>
-			<effect name="Buff">
-				<set order="0x08" stat="debuffImmunity" val="1" />
-			</effect>
+			<set order="0x08" stat="debuffImmunity" val="1" />
 			<effect name="DefenceTrait">
 				<param SHOCK="80" />
 			</effect>
diff --git a/L2J_DataPack/dist/game/data/stats/skills/04400-04499.xml b/L2J_DataPack/dist/game/data/stats/skills/04400-04499.xml
index 7839d054be973c115d8a72913100ed335d70ac76..c51094e7564df859d3cfffe6b53e5f27dcfaf96e 100644
--- a/L2J_DataPack/dist/game/data/stats/skills/04400-04499.xml
+++ b/L2J_DataPack/dist/game/data/stats/skills/04400-04499.xml
@@ -96,7 +96,7 @@
 		<set name="targetType" val="ONE" />
 		<for>
 			<effect name="Buff">
-				<mul order="0x01" stat="rCrit" val="#rCrit" />
+				<basemul order="0x30" stat="rCrit" val="#rCrit" />
 			</effect>
 		</for>
 	</skill>
diff --git a/L2J_DataPack/dist/game/data/stats/skills/04500-04599.xml b/L2J_DataPack/dist/game/data/stats/skills/04500-04599.xml
index fe633246db01d87f8e0d94cbcc152024f27384fe..161f5e02be8732bf7fb41b5e62b7d04e45defb89 100644
--- a/L2J_DataPack/dist/game/data/stats/skills/04500-04599.xml
+++ b/L2J_DataPack/dist/game/data/stats/skills/04500-04599.xml
@@ -224,9 +224,9 @@
 		<set name="targetType" val="ONE" />
 		<for>
 			<effect name="Buff">
-				<mul order="0x01" stat="rCrit" val="1">
+				<basemul order="0x30" stat="rCrit" val="1">
 					<player behind="true" />
-				</mul>
+				</basemul>
 				<!-- TODO: Missing bonus for Rapier -->
 			</effect>
 		</for>
diff --git a/L2J_DataPack/dist/game/data/stats/skills/05000-05099.xml b/L2J_DataPack/dist/game/data/stats/skills/05000-05099.xml
index d77550c331fd2514a8d31be683bb37eb389be8ff..c69029d2ebc0c61cd413f7427bf2141c7ca2fe4f 100644
--- a/L2J_DataPack/dist/game/data/stats/skills/05000-05099.xml
+++ b/L2J_DataPack/dist/game/data/stats/skills/05000-05099.xml
@@ -1170,7 +1170,7 @@
 		<for>
 			<effect name="Buff">
 				<mul order="0x30" stat="pAtkSpd" val="1.33" />
-				<mul order="0x01" stat="rCrit" val="0.3" />
+				<basemul order="0x30" stat="rCrit" val="0.3" />
 			</effect>
 		</for>
 	</skill>
diff --git a/L2J_DataPack/dist/game/data/stats/skills/06200-06299.xml b/L2J_DataPack/dist/game/data/stats/skills/06200-06299.xml
index f288dfbf69b6087813bf6f301de02a5a4bb31bf0..2dd2569a1ad95fea7fa9e98252466db37d9d1c85 100644
--- a/L2J_DataPack/dist/game/data/stats/skills/06200-06299.xml
+++ b/L2J_DataPack/dist/game/data/stats/skills/06200-06299.xml
@@ -250,7 +250,7 @@
 		<for>
 			<effect name="Buff">
 				<sub order="0x40" stat="accCombat" val="16" />
-				<mul order="0x01" stat="rCrit" val="#rCrit" />
+				<basemul order="0x30" stat="rCrit" val="#rCrit" />
 				<mul order="0x30" stat="cAtk" val="#cAtk" />
 				<mul order="0x30" stat="pAtkSpd" val="0.9" />
 				<mul order="0x30" stat="pAtk" val="0.9" />
diff --git a/L2J_DataPack/dist/game/data/stats/skills/06400-06499.xml b/L2J_DataPack/dist/game/data/stats/skills/06400-06499.xml
index 66d6c991b0b63fb82fa2db1f9f609aa6a058cb3d..f4bde2748f5f8cf137c59ee21f188d47d063f37e 100644
--- a/L2J_DataPack/dist/game/data/stats/skills/06400-06499.xml
+++ b/L2J_DataPack/dist/game/data/stats/skills/06400-06499.xml
@@ -667,7 +667,7 @@
 		<set name="targetType" val="ONE" />
 		<for>
 			<effect name="Buff">
-				<mul order="0x01" stat="rCrit" val="0.35" />
+				<basemul order="0x30" stat="rCrit" val="0.35" />
 			</effect>
 		</for>
 	</skill>
@@ -735,9 +735,9 @@
 		<for>
 			<effect name="DamOverTimePercent" ticks="5">
 				<param power="#dot" />
-				<mul order="0x01" stat="rCrit" val="#rCrit">
+				<basemul order="0x30" stat="rCrit" val="#rCrit">
 					<using kind="BOW,CROSSBOW" />
-				</mul>
+				</basemul>
 				<mul order="0x30" stat="cAtk" val="#cAtk">
 					<using kind="BOW,CROSSBOW" />
 				</mul>
@@ -762,9 +762,9 @@
 		<for>
 			<effect name="DamOverTimePercent" ticks="5">
 				<param power="0.05" />
-				<mul order="0x01" stat="rCrit" val="0.9">
+				<basemul order="0x30" stat="rCrit" val="0.9">
 					<using kind="BOW,CROSSBOW" />
-				</mul>
+				</basemul>
 				<mul order="0x30" stat="cAtk" val="1.5">
 					<using kind="BOW,CROSSBOW" />
 				</mul>
diff --git a/L2J_DataPack/dist/game/data/stats/skills/06700-06799.xml b/L2J_DataPack/dist/game/data/stats/skills/06700-06799.xml
index 99ccdc25976f0dbf13786f304cb5c0c342a4ac19..de277aefe67bc4654bc64a20651717649ab081c3 100644
--- a/L2J_DataPack/dist/game/data/stats/skills/06700-06799.xml
+++ b/L2J_DataPack/dist/game/data/stats/skills/06700-06799.xml
@@ -241,7 +241,7 @@
 		<set name="targetType" val="ONE" />
 		<for>
 			<effect name="Buff">
-				<mul order="0x01" stat="rCrit" val="0.3" />
+				<basemul order="0x30" stat="rCrit" val="0.3" />
 			</effect>
 		</for>
 	</skill>
@@ -809,7 +809,7 @@
 			<effect name="Buff">
 				<mul order="0x30" stat="pAtk" val="1.1" />
 				<mul order="0x30" stat="pAtkSpd" val="1.3" />
-				<mul order="0x01" stat="rCrit" val="0.3" />
+				<basemul order="0x30" stat="rCrit" val="0.3" />
 				<mul order="0x30" stat="cAtk" val="1.35" />
 			</effect>
 		</for>
@@ -874,7 +874,7 @@
 			<effect name="Buff">
 				<mul order="0x30" stat="pAtk" val="1.1" />
 				<mul order="0x30" stat="pAtkSpd" val="1.3" />
-				<mul order="0x01" stat="rCrit" val="0.3" />
+				<basemul order="0x30" stat="rCrit" val="0.3" />
 				<mul order="0x30" stat="cAtk" val="1.35" />
 			</effect>
 		</for>
@@ -1089,7 +1089,7 @@
 			<effect name="Buff">
 				<mul order="0x30" stat="pAtk" val="1.1" />
 				<mul order="0x30" stat="pAtkSpd" val="1.3" />
-				<mul order="0x01" stat="rCrit" val="0.3" />
+				<basemul order="0x30" stat="rCrit" val="0.3" />
 				<mul order="0x30" stat="cAtk" val="1.35" />
 			</effect>
 		</for>
diff --git a/L2J_DataPack/dist/game/data/stats/skills/06800-06899.xml b/L2J_DataPack/dist/game/data/stats/skills/06800-06899.xml
index c5eb50d461b84bd42db786a695943a15d79c8e21..60d4af28d145fcf2e661e178856eae39e846937b 100644
--- a/L2J_DataPack/dist/game/data/stats/skills/06800-06899.xml
+++ b/L2J_DataPack/dist/game/data/stats/skills/06800-06899.xml
@@ -175,7 +175,7 @@
 		<set name="targetType" val="ONE" />
 		<for>
 			<effect name="Buff">
-				<mul order="0x01" stat="rCrit" val="0.3" />
+				<basemul order="0x30" stat="rCrit" val="0.3" />
 			</effect>
 		</for>
 	</skill>
@@ -310,7 +310,7 @@
 			<effect name="Buff">
 				<mul order="0x30" stat="pAtk" val="1.1" />
 				<mul order="0x30" stat="pAtkSpd" val="1.3" />
-				<mul order="0x01" stat="rCrit" val="0.3" />
+				<basemul order="0x30" stat="rCrit" val="0.3" />
 				<mul order="0x30" stat="cAtk" val="1.35" />
 			</effect>
 		</for>
@@ -1301,7 +1301,7 @@
 		<set name="targetType" val="ONE" />
 		<for>
 			<effect name="Buff">
-				<mul order="0x01" stat="rCrit" val="#rCrit" />
+				<basemul order="0x30" stat="rCrit" val="#rCrit" />
 				<mul order="0x30" stat="cAtk" val="#cAtk" />
 				<mul order="0x30" stat="pAtk" val="#pmAtk" />
 				<mul order="0x30" stat="mAtk" val="#pmAtk" />
diff --git a/L2J_DataPack/dist/game/data/stats/skills/07000-07099.xml b/L2J_DataPack/dist/game/data/stats/skills/07000-07099.xml
index fde9156c5258ceaf0423a83ab0b15db7dc29dca1..72d60ee787fb4b9d2cab2b406cfc7857bddcb9ad 100644
--- a/L2J_DataPack/dist/game/data/stats/skills/07000-07099.xml
+++ b/L2J_DataPack/dist/game/data/stats/skills/07000-07099.xml
@@ -388,7 +388,7 @@
 		<set name="targetType" val="ONE" />
 		<for>
 			<effect name="Buff">
-				<mul order="0x01" stat="rCrit" val="0.3" />
+				<basemul order="0x30" stat="rCrit" val="0.3" />
 			</effect>
 		</for>
 	</skill>
@@ -886,8 +886,8 @@
 		<for>
 			<effect name="Buff">
 				<mul order="0x30" stat="maxHp" val="1.2" />
-				<mul order="0x01" stat="rCrit" val="0.2" />
-				<mul order="0x01" stat="mCritRate" val="0.2" />
+				<basemul order="0x30" stat="rCrit" val="0.2" />
+				<basemul order="0x30" stat="mCritRate" val="0.2" />
 				<mul order="0x30" stat="pAtk" val="1.1" />
 				<mul order="0x30" stat="pDef" val="1.2" />
 				<mul order="0x30" stat="pAtkSpd" val="1.2" />
@@ -1307,7 +1307,7 @@
 		<set name="targetType" val="ONE" />
 		<for>
 			<effect name="Buff">
-				<mul order="0x01" stat="rCrit" val="0.3" />
+				<basemul order="0x30" stat="rCrit" val="0.3" />
 				<mul order="0x30" stat="cAtk" val="1.35" />
 			</effect>
 			<effect name="DispelBySlot">
@@ -1401,9 +1401,9 @@
 				<mul order="0x30" stat="pAtk" val="1.05">
 					<using kind="SWORD,DUAL,ANCIENTSWORD,RAPIER,DAGGER,DUALDAGGER,POLE,DUALFIST" />
 				</mul>
-				<mul order="0x01" stat="rCrit" val="0.2">
+				<basemul order="0x30" stat="rCrit" val="0.2">
 					<using kind="SWORD,DUAL,ANCIENTSWORD,RAPIER,DAGGER,DUALDAGGER,POLE,DUALFIST" />
-				</mul>
+				</basemul>
 			</effect>
 		</for>
 	</skill>
diff --git a/L2J_DataPack/dist/game/data/stats/skills/08200-08299.xml b/L2J_DataPack/dist/game/data/stats/skills/08200-08299.xml
index f05c0e77d9c82d77af631d77a1abc88f93bb10d5..9347d776147fa07201832a7e2d09d56e2c249242 100644
--- a/L2J_DataPack/dist/game/data/stats/skills/08200-08299.xml
+++ b/L2J_DataPack/dist/game/data/stats/skills/08200-08299.xml
@@ -975,7 +975,7 @@
 		<set name="targetType" val="SELF" />
 		<for>
 			<effect name="Buff">
-				<mul order="0x01" stat="rCrit" val="0.3" />
+				<basemul order="0x30" stat="rCrit" val="0.3" />
 				<mul order="0x30" stat="pAtkSpd" val="1.33" />
 			</effect>
 			<effect name="TriggerSkillByAttack">
@@ -1042,7 +1042,7 @@
 		<set name="targetType" val="SELF" />
 		<for>
 			<effect name="Buff">
-				<mul order="0x01" stat="rCrit" val="0.3" />
+				<basemul order="0x30" stat="rCrit" val="0.3" />
 			</effect>
 		</for>
 	</skill>
diff --git a/L2J_DataPack/dist/game/data/stats/skills/09000-09099.xml b/L2J_DataPack/dist/game/data/stats/skills/09000-09099.xml
index 281f46a6073704118b829cfb62418dcb2420e33f..a113ec51ea8c9af961621fd921f230cf5ef4899c 100644
--- a/L2J_DataPack/dist/game/data/stats/skills/09000-09099.xml
+++ b/L2J_DataPack/dist/game/data/stats/skills/09000-09099.xml
@@ -147,7 +147,7 @@
 		<set name="targetType" val="SELF" />
 		<for>
 			<effect name="Buff">
-				<mul order="0x01" stat="rCrit" val="0.3" />
+				<basemul order="0x30" stat="rCrit" val="0.3" />
 			</effect>
 		</for>
 	</skill>
diff --git a/L2J_DataPack/dist/game/data/stats/skills/20000-20099.xml b/L2J_DataPack/dist/game/data/stats/skills/20000-20099.xml
index 7ce4c3ac1677ceae42ea959added2ff0f6cbaa66..9e4dc29c32ff44b881f10853e6081988658cdc8b 100644
--- a/L2J_DataPack/dist/game/data/stats/skills/20000-20099.xml
+++ b/L2J_DataPack/dist/game/data/stats/skills/20000-20099.xml
@@ -64,7 +64,7 @@
 		<set name="targetType" val="SELF" />
 		<for>
 			<effect name="Buff">
-				<mul order="0x01" stat="rCrit" val="0.3" />
+				<basemul order="0x30" stat="rCrit" val="0.3" />
 			</effect>
 		</for>
 	</skill>
diff --git a/L2J_DataPack/dist/game/data/stats/skills/21100-21199.xml b/L2J_DataPack/dist/game/data/stats/skills/21100-21199.xml
index caeb6efbb579391cdf45ae6e4557b0d4e0c9d2ff..bf1aad3c064d90be4363c7c0ca8f4c37b74a9376 100644
--- a/L2J_DataPack/dist/game/data/stats/skills/21100-21199.xml
+++ b/L2J_DataPack/dist/game/data/stats/skills/21100-21199.xml
@@ -362,7 +362,7 @@
 				<mul order="0x30" stat="pAtk" val="1.1" />
 				<mul order="0x30" stat="pDef" val="1.2" />
 				<mul order="0x30" stat="cAtk" val="1.2" />
-				<mul order="0x01" stat="rCrit" val="0.2" />
+				<basemul order="0x30" stat="rCrit" val="0.2" />
 			</effect>
 		</for>
 	</skill>
@@ -565,7 +565,7 @@
 			<effect name="Buff">
 				<mul order="0x30" stat="maxHp" val="1.4" />
 				<mul order="0x30" stat="maxMp" val="1.4" />
-				<mul order="0x01" stat="rCrit" val="0.1" />
+				<basemul order="0x30" stat="rCrit" val="0.1" />
 				<mul order="0x30" stat="cAtk" val="1.1" />
 				<add order="0x40" stat="darkRes" val="20" />
 			</effect>
@@ -770,7 +770,7 @@
 			<effect name="Buff">
 				<mul order="0x30" stat="maxHp" val="1.4" />
 				<mul order="0x30" stat="maxMp" val="1.4" />
-				<mul order="0x01" stat="rCrit" val="0.1" />
+				<basemul order="0x30" stat="rCrit" val="0.1" />
 				<mul order="0x30" stat="cAtk" val="1.1" />
 				<add order="0x40" stat="darkRes" val="20" />
 			</effect>
@@ -1048,7 +1048,7 @@
 				<mul order="0x30" stat="pAtk" val="1.1" />
 				<mul order="0x30" stat="pDef" val="1.3" />
 				<mul order="0x30" stat="cAtk" val="1.2" />
-				<mul order="0x01" stat="rCrit" val="0.2" />
+				<basemul order="0x30" stat="rCrit" val="0.2" />
 			</effect>
 		</for>
 	</skill>
diff --git a/L2J_DataPack/dist/game/data/stats/skills/22000-22099.xml b/L2J_DataPack/dist/game/data/stats/skills/22000-22099.xml
index 2950149bbce9555b2c5a9def97f9750b6a7a4cf4..a8d3882dcb6839d8d1116e99d381f6a2f200b594 100644
--- a/L2J_DataPack/dist/game/data/stats/skills/22000-22099.xml
+++ b/L2J_DataPack/dist/game/data/stats/skills/22000-22099.xml
@@ -1468,7 +1468,7 @@
 		<set name="targetType" val="SELF" />
 		<for>
 			<effect name="Buff">
-				<mul order="0x01" stat="rCrit" val="0.3" />
+				<basemul order="0x30" stat="rCrit" val="0.3" />
 			</effect>
 		</for>
 	</skill>
diff --git a/L2J_DataPack/dist/game/data/stats/skills/23200-23299.xml b/L2J_DataPack/dist/game/data/stats/skills/23200-23299.xml
index 261dcfdb4e1aaa684c7ebe7bcb6e450edfde446d..ca379a755578a292ee389ad084fd417dee6f39da 100644
--- a/L2J_DataPack/dist/game/data/stats/skills/23200-23299.xml
+++ b/L2J_DataPack/dist/game/data/stats/skills/23200-23299.xml
@@ -716,7 +716,7 @@
 		<set name="targetType" val="AURA" />
 		<for>
 			<effect name="Buff">
-				<mul order="0x01" stat="rCrit" val="0.3" />
+				<basemul order="0x30" stat="rCrit" val="0.3" />
 			</effect>
 		</for>
 	</skill>
@@ -1011,7 +1011,7 @@
 		<set name="targetType" val="AURA" />
 		<for>
 			<effect name="Buff">
-				<mul order="0x01" stat="mCritRate" val="2" />
+				<basemul order="0x30" stat="mCritRate" val="2" />
 			</effect>
 		</for>
 	</skill>
@@ -1046,7 +1046,7 @@
 		<set name="targetType" val="AURA" />
 		<for>
 			<effect name="Buff">
-				<mul order="0x01" stat="mCritRate" val="2" />
+				<basemul order="0x30" stat="mCritRate" val="2" />
 				<mul order="0x30" stat="regMp" val="1.2" />
 				<mul order="0x30" stat="pAtk" val="1.1" />
 				<mul order="0x30" stat="pDef" val="1.2" />
@@ -1076,7 +1076,7 @@
 			<effect name="Buff">
 				<mul order="0x30" stat="maxMp" val="1.2" />
 				<mul order="0x30" stat="regHp" val="1.2" />
-				<mul order="0x01" stat="mCritRate" val="2" />
+				<basemul order="0x30" stat="mCritRate" val="2" />
 				<mul order="0x30" stat="cAtk" val="1.2" />
 				<mul order="0x30" stat="pAtk" val="1.1" />
 				<mul order="0x30" stat="pDef" val="1.2" />
@@ -1103,8 +1103,8 @@
 		<for>
 			<effect name="Buff">
 				<mul order="0x30" stat="maxHp" val="1.2" />
-				<mul order="0x01" stat="rCrit" val="0.2" />
-				<mul order="0x01" stat="mCritRate" val="0.2" />
+				<basemul order="0x30" stat="rCrit" val="0.2" />
+				<basemul order="0x30" stat="mCritRate" val="0.2" />
 				<mul order="0x30" stat="pAtk" val="1.1" />
 				<mul order="0x30" stat="pDef" val="1.2" />
 				<mul order="0x30" stat="pAtkSpd" val="1.2" />
@@ -1130,7 +1130,7 @@
 		<for>
 			<effect name="Buff">
 				<mul order="0x30" stat="maxHp" val="1.2" />
-				<mul order="0x01" stat="mCritRate" val="0.2" />
+				<basemul order="0x30" stat="mCritRate" val="0.2" />
 				<mul order="0x30" stat="cAtk" val="1.2" />
 				<mul order="0x30" stat="pAtk" val="1.1" />
 				<mul order="0x30" stat="pDef" val="1.2" />
@@ -1248,7 +1248,7 @@
 		<set name="targetType" val="AURA" />
 		<for>
 			<effect name="Buff">
-				<mul order="0x01" stat="rCrit" val="0.3" />
+				<basemul order="0x30" stat="rCrit" val="0.3" />
 				<mul order="0x30" stat="cAtk" val="1.35" />
 			</effect>
 			<effect name="DispelBySlot">
@@ -1331,9 +1331,9 @@
 				<mul order="0x30" stat="pAtk" val="1.05">
 					<using kind="SWORD,DUAL,ANCIENTSWORD,RAPIER,DAGGER,DUALDAGGER,POLE,DUALFIST" />
 				</mul>
-				<mul order="0x01" stat="rCrit" val="0.2">
+				<basemul order="0x30" stat="rCrit" val="0.2">
 					<using kind="SWORD,DUAL,ANCIENTSWORD,RAPIER,DAGGER,DUALDAGGER,POLE,DUALFIST" />
-				</mul>
+				</basemul>
 			</effect>
 		</for>
 	</skill>
diff --git a/L2J_DataPack/dist/game/data/xsd/skills.xsd b/L2J_DataPack/dist/game/data/xsd/skills.xsd
index 9daffb213a54f7c4a4d2fbeb0c1f3e8a75f420a6..f746964b5b9364dc88f8354dca5e9d5e5b323984 100644
--- a/L2J_DataPack/dist/game/data/xsd/skills.xsd
+++ b/L2J_DataPack/dist/game/data/xsd/skills.xsd
@@ -264,6 +264,7 @@
 			<xs:element name="add" type="addType" />
 			<xs:element name="mul" type="addType" />
 			<xs:element name="sub" type="addType" />
+			<xs:element name="basemul" type="addType" />
 			<xs:element name="set" type="addType" />
 			<xs:element name="share" type="shareType" />
 		</xs:choice>
@@ -280,6 +281,12 @@
 	<xs:complexType name="forType" mixed="true">
 		<xs:choice maxOccurs="unbounded" minOccurs="0">
 			<xs:element name="effect" type="effectType" />
+			<xs:element name="param" type="paramType" />
+			<xs:element name="add" type="addType" />
+			<xs:element name="mul" type="addType" />
+			<xs:element name="sub" type="addType" />
+			<xs:element name="basemul" type="addType" />
+			<xs:element name="set" type="addType" />
 		</xs:choice>
 		<xs:attribute type="xs:string" name="name" use="optional" />
 		<xs:attribute type="xs:byte" name="val" use="optional" />