From 847348448edbf0bb13e102d3d79e623b97018b64 Mon Sep 17 00:00:00 2001
From: Zoey76 <zoey_76@msn.com>
Date: Sun, 2 Nov 2014 16:35:37 -0200
Subject: [PATCH] Datapack part for:
 L2J/L2J_Server@ac875a3457c8b4af95db2646346cfdb1442be25e

---
 .../effecthandlers/StealAbnormal.java         |  7 ++++-
 .../game/data/stats/skills/00200-00299.xml    | 31 ++++++++-----------
 .../game/data/stats/skills/00400-00499.xml    | 10 +++---
 .../game/data/stats/skills/00500-00599.xml    |  8 ++---
 .../game/data/stats/skills/00700-00799.xml    | 12 +++----
 .../game/data/stats/skills/00800-00899.xml    |  4 +--
 .../game/data/stats/skills/01000-01099.xml    |  2 +-
 .../game/data/stats/skills/01300-01399.xml    | 18 +++++------
 .../game/data/stats/skills/02200-02299.xml    |  2 +-
 .../game/data/stats/skills/02400-02499.xml    |  4 +--
 .../game/data/stats/skills/02800-02899.xml    |  2 +-
 .../game/data/stats/skills/03000-03099.xml    | 12 +++----
 .../game/data/stats/skills/03600-03699.xml    | 11 +++----
 .../game/data/stats/skills/04100-04199.xml    | 10 ++----
 .../game/data/stats/skills/04400-04499.xml    |  2 +-
 .../game/data/stats/skills/04500-04599.xml    |  4 +--
 .../game/data/stats/skills/05000-05099.xml    |  2 +-
 .../game/data/stats/skills/06200-06299.xml    |  2 +-
 .../game/data/stats/skills/06400-06499.xml    | 10 +++---
 .../game/data/stats/skills/06700-06799.xml    |  8 ++---
 .../game/data/stats/skills/06800-06899.xml    |  6 ++--
 .../game/data/stats/skills/07000-07099.xml    | 12 +++----
 .../game/data/stats/skills/08200-08299.xml    |  4 +--
 .../game/data/stats/skills/09000-09099.xml    |  2 +-
 .../game/data/stats/skills/20000-20099.xml    |  2 +-
 .../game/data/stats/skills/21100-21199.xml    |  8 ++---
 .../game/data/stats/skills/22000-22099.xml    |  2 +-
 .../game/data/stats/skills/23200-23299.xml    | 20 ++++++------
 L2J_DataPack/dist/game/data/xsd/skills.xsd    |  7 +++++
 29 files changed, 112 insertions(+), 112 deletions(-)

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 0eaf02be42..5ad4c41166 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 9aa6ba0ec2..6bc56bd454 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 c696a3ba55..10a5d39f21 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 e6058f5fb6..282b80e6cd 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 5332357a5b..059a17ee41 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 89286243be..98da1a0cfa 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 6dd260eef6..425cb8c8e5 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 90f2e082fa..80cdf11413 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 ac12925e46..ffa8bcc386 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 33663834d4..41e9b30e45 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 6a97fe5c86..f3cfe8be46 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 a6516995f5..8084069deb 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 807e013479..403ba65e3f 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 bff37e3f65..d8b8a39e34 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 7839d054be..c51094e756 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 fe633246db..161f5e02be 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 d77550c331..c69029d2eb 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 f288dfbf69..2dd2569a1a 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 66d6c991b0..f4bde2748f 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 99ccdc2597..de277aefe6 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 c5eb50d461..60d4af28d1 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 fde9156c52..72d60ee787 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 f05c0e77d9..9347d77614 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 281f46a607..a113ec51ea 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 7ce4c3ac16..9e4dc29c32 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 caeb6efbb5..bf1aad3c06 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 2950149bbc..a8d3882dcb 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 261dcfdb4e..ca379a7555 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 9daffb213a..f746964b5b 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" />
-- 
GitLab