diff --git a/datapack_development/data/scripts/handlers/itemhandlers/EnchantScrolls.java b/datapack_development/data/scripts/handlers/itemhandlers/EnchantScrolls.java
index 7549d3a0cde81b0250bd343234ed5ee83912f3e3..5237da1a9a69f11e6d1988649d7fe01282d64b45 100644
--- a/datapack_development/data/scripts/handlers/itemhandlers/EnchantScrolls.java
+++ b/datapack_development/data/scripts/handlers/itemhandlers/EnchantScrolls.java
@@ -27,10 +27,10 @@ public class EnchantScrolls implements IItemHandler
 	
 	private static final int[] ITEM_IDS =
 	{
-		729, 730, 731, 732, 6569, 6570, // a grade
-		947, 948, 949, 950, 6571, 6572, // b grade
-		951, 952, 953, 954, 6573, 6574, // c grade
-		955, 956, 957, 958, 6575, 6576, // d grade
+		729, 730, 731, 732, 6569, 6570, 22009, 22013, 22015, 22017, 22019, 22021, // a grade
+		947, 948, 949, 950, 6571, 6572, 22008, 22012, 22014, 22016, 22018, 22020,// b grade
+		951, 952, 953, 954, 6573, 6574, 22007, 22011,// c grade
+		955, 956, 957, 958, 6575, 6576, 22006, 22010,// d grade
 		959, 960, 961, 962, 6577, 6578 // s grade
 	};
 	
diff --git a/datapack_development/data/scripts/handlers/itemhandlers/ItemSkills.java b/datapack_development/data/scripts/handlers/itemhandlers/ItemSkills.java
index 05ba114d87a75756dd5db4b6c17093a6b35619c2..8f1a3a68a1a6b5fbd7067fd6e8f93c686669aa7d 100644
--- a/datapack_development/data/scripts/handlers/itemhandlers/ItemSkills.java
+++ b/datapack_development/data/scripts/handlers/itemhandlers/ItemSkills.java
@@ -27,6 +27,8 @@ public class ItemSkills implements IItemHandler
 	private static final int[] ITEM_IDS =
 	{
 		6403,6406,6407,13268,13269,
+		22039,22040,22041,22042,22043,22044,22045,22046,22047,
+		22048,22049,22050,22051,22052,22053,
 		22089,22090,22091,22092,22093,
 		22094,22095,22096,22097,22098,22099,22100,22101,22102,
 		22103,22104,22105,22106,22107,22108,22109,22110,22111,
@@ -66,6 +68,51 @@ public class ItemSkills implements IItemHandler
 			case 13269:
 				skillId = 2605;
 				break;
+			case 22039:
+				skillId = 26031;
+				break;
+			case 22040:
+				skillId = 26032;
+				break;
+			case 22041:
+				skillId = 26033;
+				break;
+			case 22042:
+				skillId = 26034;
+				break;
+			case 22043:
+				skillId = 26035;
+				break;
+			case 22044:
+				skillId = 26036;
+				break;
+			case 22045:
+				skillId = 26037;
+				break;
+			case 22046:
+				skillId = 26038;
+				break;
+			case 22047:
+				skillId = 26039;
+				break;
+			case 22048:
+				skillId = 26040;
+				break;
+			case 22049:
+				skillId = 26041;
+				break;
+			case 22050:
+				skillId = 26042;
+				break;
+			case 22051:
+				skillId = 26043;
+				break;
+			case 22052:
+				skillId = 26044;
+				break;
+			case 22053:
+				skillId = 26045;
+				break;
 			case 22089:
 			case 22090:
 			case 22091:
diff --git a/datapack_development/data/stats/skills/26000-26099.xml b/datapack_development/data/stats/skills/26000-26099.xml
index 36a7cc13b6b05f66077a61000f148c0f7553704e..1a39f26fb131523795716141fb6ad44bc4bb9c58 100644
--- a/datapack_development/data/stats/skills/26000-26099.xml
+++ b/datapack_development/data/stats/skills/26000-26099.xml
@@ -156,79 +156,269 @@
   <set name="operateType" val="OP_PASSIVE"/>
 </skill>
 <skill id="26031" levels="1" name="Wind Walk Scroll">
-  <set name="target" val="TARGET_NONE"/>
-  <set name="skillType" val="NOTDONE"/>
-  <set name="operateType" val="OP_PASSIVE"/>
+  <set name="itemConsumeId" val="22039"/>
+  <set name="itemConsumeCount" val="1"/>
+  <set name="target" val="TARGET_SELF"/>
+  <set name="hitTime" val="4000"/>
+  <set name="staticHitTime" val="true"/>
+  <set name="skillType" val="BUFF"/>
+  <set name="operateType" val="OP_ACTIVE"/>
+  <cond msgId="113" addName="1">
+    <player flyMounted="False"/>
+  </cond>
+  <for>
+    <effect name="Buff" time="3600" val="0" stackOrder="40" stackType="speed_up">
+      <add order="0x40" stat="runSpd" val="33"/>
+    </effect>
+  </for>
 </skill>
 <skill id="26032" levels="1" name="Haste Scroll">
-  <set name="target" val="TARGET_NONE"/>
-  <set name="skillType" val="NOTDONE"/>
-  <set name="operateType" val="OP_PASSIVE"/>
+  <set name="itemConsumeId" val="22040"/>
+  <set name="itemConsumeCount" val="1"/>
+  <set name="target" val="TARGET_SELF"/>
+  <set name="hitTime" val="4000"/>
+  <set name="staticHitTime" val="true"/>
+  <set name="skillType" val="BUFF"/>
+  <set name="operateType" val="OP_ACTIVE"/>
+  <cond msgId="113" addName="1">
+    <player flyMounted="False"/>
+  </cond>
+  <for>
+    <effect name="Buff" time="3600" val="0" stackOrder="1.5" stackType="attack_time_down">
+      <mul order="0x30" stat="pAtkSpd" val="1.33"/>
+    </effect>
+  </for>
 </skill>
 <skill id="26033" levels="1" name="Might Scroll">
-  <set name="target" val="TARGET_NONE"/>
-  <set name="skillType" val="NOTDONE"/>
-  <set name="operateType" val="OP_PASSIVE"/>
+  <set name="itemConsumeId" val="22041"/>
+  <set name="itemConsumeCount" val="1"/>
+  <set name="target" val="TARGET_SELF"/>
+  <set name="hitTime" val="4000"/>
+  <set name="staticHitTime" val="true"/>
+  <set name="skillType" val="BUFF"/>
+  <set name="operateType" val="OP_ACTIVE"/>
+  <cond msgId="113" addName="1">
+    <player flyMounted="False"/>
+  </cond>
+  <for>
+    <effect name="Buff" time="3600" val="0" stackOrder="1.2" stackType="pa_up">
+      <mul order="0x30" stat="pAtk" val="1.15"/>
+    </effect>
+  </for>
 </skill>
 <skill id="26034" levels="1" name="Shield Scroll">
-  <set name="target" val="TARGET_NONE"/>
-  <set name="skillType" val="NOTDONE"/>
-  <set name="operateType" val="OP_PASSIVE"/>
+  <set name="itemConsumeId" val="22042"/>
+  <set name="itemConsumeCount" val="1"/>
+  <set name="target" val="TARGET_SELF"/>
+  <set name="hitTime" val="4000"/>
+  <set name="staticHitTime" val="true"/>
+  <set name="skillType" val="BUFF"/>
+  <set name="operateType" val="OP_ACTIVE"/>
+  <cond msgId="113" addName="1">
+    <player flyMounted="False"/>
+  </cond>
+  <for>
+    <effect name="Buff" time="3600" val="0" stackOrder="1.2" stackType="pd_up">
+      <mul order="0x30" stat="pDef" val="1.15"/>
+    </effect>
+  </for>
 </skill>
 <skill id="26035" levels="1" name="Death Whisper Scroll">
-  <set name="target" val="TARGET_NONE"/>
-  <set name="skillType" val="NOTDONE"/>
-  <set name="operateType" val="OP_PASSIVE"/>
+  <set name="itemConsumeId" val="22043"/>
+  <set name="itemConsumeCount" val="1"/>
+  <set name="target" val="TARGET_SELF"/>
+  <set name="hitTime" val="4000"/>
+  <set name="staticHitTime" val="true"/>
+  <set name="skillType" val="BUFF"/>
+  <set name="operateType" val="OP_ACTIVE"/>
+  <cond msgId="113" addName="1">
+    <player flyMounted="False"/>
+  </cond>
+  <for>
+    <effect name="Buff" time="3600" val="0" stackOrder="1.5" stackType="critical_dmg_up">
+      <mul order="0x30" stat="cAtk" val="1.35"/>
+    </effect>
+  </for>
 </skill>
 <skill id="26036" levels="1" name="Guidance Scroll">
-  <set name="target" val="TARGET_NONE"/>
-  <set name="skillType" val="NOTDONE"/>
-  <set name="operateType" val="OP_PASSIVE"/>
+  <set name="itemConsumeId" val="22044"/>
+  <set name="itemConsumeCount" val="1"/>
+  <set name="target" val="TARGET_SELF"/>
+  <set name="hitTime" val="4000"/>
+  <set name="staticHitTime" val="true"/>
+  <set name="skillType" val="BUFF"/>
+  <set name="operateType" val="OP_ACTIVE"/>
+  <cond msgId="113" addName="1">
+    <player flyMounted="False"/>
+  </cond>
+  <for>
+    <effect name="Buff" time="3600" val="0" stackOrder="5" stackType="hit_up">
+      <add order="0x40" stat="accCombat" val="4"/>
+    </effect>
+  </for>
 </skill>
 <skill id="26037" levels="1" name="Empower Scroll">
-  <set name="target" val="TARGET_NONE"/>
-  <set name="skillType" val="NOTDONE"/>
-  <set name="operateType" val="OP_PASSIVE"/>
+  <set name="itemConsumeId" val="22045"/>
+  <set name="itemConsumeCount" val="1"/>
+  <set name="target" val="TARGET_SELF"/>
+  <set name="hitTime" val="4000"/>
+  <set name="staticHitTime" val="true"/>
+  <set name="skillType" val="BUFF"/>
+  <set name="operateType" val="OP_ACTIVE"/>
+  <cond msgId="113" addName="1">
+    <player flyMounted="False"/>
+  </cond>
+  <for>
+    <effect name="Buff" time="3600" val="0" stackOrder="1.85" stackType="ma_up">
+      <mul order="0x30" stat="mAtk" val="1.75"/>
+    </effect>
+  </for>
 </skill>
 <skill id="26038" levels="1" name="Grater Acumen Scroll">
-  <set name="target" val="TARGET_NONE"/>
-  <set name="skillType" val="NOTDONE"/>
-  <set name="operateType" val="OP_PASSIVE"/>
+  <set name="itemConsumeId" val="22046"/>
+  <set name="itemConsumeCount" val="1"/>
+  <set name="target" val="TARGET_SELF"/>
+  <set name="hitTime" val="4000"/>
+  <set name="staticHitTime" val="true"/>
+  <set name="skillType" val="BUFF"/>
+  <set name="operateType" val="OP_ACTIVE"/>
+  <cond msgId="113" addName="1">
+    <player flyMounted="False"/>
+  </cond>
+  <for>
+    <effect name="Buff" time="3600" val="0" stackOrder="1.5" stackType="casting_time_down">
+      <mul order="0x30" stat="mAtkSpd" val="1.3"/>
+    </effect>
+  </for>
 </skill>
 <skill id="26039" levels="1" name="Vampiric Rage Scroll">
-  <set name="target" val="TARGET_NONE"/>
-  <set name="skillType" val="NOTDONE"/>
-  <set name="operateType" val="OP_PASSIVE"/>
+  <set name="itemConsumeId" val="22047"/>
+  <set name="itemConsumeCount" val="1"/>
+  <set name="target" val="TARGET_SELF"/>
+  <set name="hitTime" val="4000"/>
+  <set name="staticHitTime" val="true"/>
+  <set name="skillType" val="BUFF"/>
+  <set name="operateType" val="OP_ACTIVE"/>
+  <cond msgId="113" addName="1">
+    <player flyMounted="False"/>
+  </cond>
+  <for>
+    <effect name="Buff" time="3600" val="0" stackOrder="10" stackType="vampRage">
+      <add order="0x40" stat="absorbDam" val="9"/>
+    </effect>
+  </for>
 </skill>
 <skill id="26040" levels="1" name="Bless the Body Scroll">
-  <set name="target" val="TARGET_NONE"/>
-  <set name="skillType" val="NOTDONE"/>
-  <set name="operateType" val="OP_PASSIVE"/>
+  <set name="itemConsumeId" val="22048"/>
+  <set name="itemConsumeCount" val="1"/>
+  <set name="target" val="TARGET_SELF"/>
+  <set name="hitTime" val="4000"/>
+  <set name="staticHitTime" val="true"/>
+  <set name="skillType" val="BUFF"/>
+  <set name="operateType" val="OP_ACTIVE"/>
+  <cond msgId="113" addName="1">
+    <player flyMounted="False"/>
+  </cond>
+  <for>
+    <effect name="Buff" time="3600" val="0" stackOrder="1.5" stackType="max_hp_up">
+      <mul order="0x30" stat="maxHp" val="1.35"/>
+    </effect>
+  </for>
 </skill>
 <skill id="26041" levels="1" name="Berserker Spirit Scroll">
-  <set name="target" val="TARGET_NONE"/>
-  <set name="skillType" val="NOTDONE"/>
-  <set name="operateType" val="OP_PASSIVE"/>
+  <set name="itemConsumeId" val="22049"/>
+  <set name="itemConsumeCount" val="1"/>
+  <set name="target" val="TARGET_SELF"/>
+  <set name="hitTime" val="4000"/>
+  <set name="staticHitTime" val="true"/>
+  <set name="skillType" val="BUFF"/>
+  <set name="operateType" val="OP_ACTIVE"/>
+  <cond msgId="113" addName="1">
+    <player flyMounted="False"/>
+  </cond>
+  </cond>
+  <for>
+    <effect name="Buff" time="3600" val="0" stackOrder="2" stackType="berserk">
+      <mul order="0x30" stat="mAtk" val="1.16"/>
+      <mul order="0x30" stat="pAtk" val="1.08"/>
+      <mul order="0x30" stat="mDef" val="0.84"/>
+      <mul order="0x30" stat="pDef" val="0.92"/>
+      <mul order="0x30" stat="mAtkSpd" val="1.08"/>
+      <mul order="0x30" stat="pAtkSpd" val="1.08"/>
+      <add order="0x40" stat="runSpd" val="8"/>
+      <sub order="0x40" stat="rEvas" val="4"/>
+    </effect>
+  </for>
 </skill>
 <skill id="26042" levels="1" name="Magic Barrier Scroll">
-  <set name="target" val="TARGET_NONE"/>
-  <set name="skillType" val="NOTDONE"/>
-  <set name="operateType" val="OP_PASSIVE"/>
+  <set name="itemConsumeId" val="22050"/>
+  <set name="itemConsumeCount" val="1"/>
+  <set name="target" val="TARGET_SELF"/>
+  <set name="hitTime" val="4000"/>
+  <set name="staticHitTime" val="true"/>
+  <set name="skillType" val="BUFF"/>
+  <set name="operateType" val="OP_ACTIVE"/>
+  <cond msgId="113" addName="1">
+    <player flyMounted="False"/>
+  </cond>
+  <for>
+    <effect name="Buff" time="3600" val="0" stackOrder="1.5" stackType="MagicDefUp">
+      <mul order="0x30" stat="mDef" val="1.3"/>
+    </effect>
+  </for>
 </skill>
 <skill id="26043" levels="1" name="Bless the Soul Scroll">
-  <set name="target" val="TARGET_NONE"/>
-  <set name="skillType" val="NOTDONE"/>
-  <set name="operateType" val="OP_PASSIVE"/>
+  <set name="itemConsumeId" val="22051"/>
+  <set name="itemConsumeCount" val="1"/>
+  <set name="target" val="TARGET_SELF"/>
+  <set name="hitTime" val="4000"/>
+  <set name="staticHitTime" val="true"/>
+  <set name="skillType" val="BUFF"/>
+  <set name="operateType" val="OP_ACTIVE"/>
+  <cond msgId="113" addName="1">
+    <player flyMounted="False"/>
+  </cond>
+  <for>
+    <effect name="Buff" time="3600" val="0" stackOrder="1.5" stackType="max_mp_up">
+      <mul order="0x30" stat="maxMp" val="1.35"/>
+    </effect>
+  </for>
 </skill>
 <skill id="26044" levels="1" name="Clarity Scroll">
-  <set name="target" val="TARGET_NONE"/>
-  <set name="skillType" val="NOTDONE"/>
-  <set name="operateType" val="OP_PASSIVE"/>
+  <set name="itemConsumeId" val="22052"/>
+  <set name="itemConsumeCount" val="1"/>
+  <set name="target" val="TARGET_SELF"/>
+  <set name="hitTime" val="4000"/>
+  <set name="staticHitTime" val="true"/>
+  <set name="skillType" val="BUFF"/>
+  <set name="operateType" val="OP_ACTIVE"/>
+  <cond msgId="113" addName="1">
+    <player flyMounted="False"/>
+  </cond>
+  <for>
+    <effect name="Buff" time="3600" val="0" stackOrder="4" stackType="MPrate">
+      <mul order="0x30" stat="MagicalMpConsumeRate" val="0.9"/>
+      <mul order="0x30" stat="PhysicalMpConsumeRate" val="0.8"/>
+      <mul order="0x30" stat="DanceMpConsumeRate" val="0.8"/>
+    </effect>
+  </for>
 </skill>
 <skill id="26045" levels="1" name="Wild Magic Scroll">
-  <set name="target" val="TARGET_NONE"/>
-  <set name="skillType" val="NOTDONE"/>
-  <set name="operateType" val="OP_PASSIVE"/>
+  <set name="itemConsumeId" val="22053"/>
+  <set name="itemConsumeCount" val="1"/>
+  <set name="target" val="TARGET_SELF"/>
+  <set name="hitTime" val="4000"/>
+  <set name="staticHitTime" val="true"/>
+  <set name="skillType" val="BUFF"/>
+  <set name="operateType" val="OP_ACTIVE"/>
+  <cond msgId="113" addName="1">
+    <player flyMounted="False"/>
+  </cond>
+  <for>
+    <effect name="Buff" time="3600" val="0" stackOrder="3" stackType="magic_critical_up">
+      <add order="0x40" stat="mCritRate" val="2"/>
+    </effect>
+  </for>
 </skill>
 <skill id="26046" levels="5" name="Rune of Experience Points">
   <set name="target" val="TARGET_NONE"/>
@@ -440,7 +630,7 @@
   </cond>
 </skill>
 <skill id="26072" levels="3" name="Wrapped Pet Exchange Ticket">
-  <table name="#itemConsumeId"> 26141 26142 26143 </table>
+  <table name="#itemConsumeId"> 22141 22142 22143 </table>
   <table name="#create_item_id"> 7583 7584 7585 </table>
   <set name="target" val="TARGET_SELF"/>
   <set name="skillType" val="CREATE_ITEM"/>