From e5da1de6606e067ef168b97963a7861a87b40227 Mon Sep 17 00:00:00 2001
From: Kerberos <Kerberos@5288da4f-0efc-0310-bd40-8d490a2659fa>
Date: Sat, 23 May 2009 19:49:34 +0000
Subject: [PATCH] dp support for [l3047] and some other items

---
 .../handlers/itemhandlers/EnchantScrolls.java |   8 +-
 .../handlers/itemhandlers/ItemSkills.java     |  47 +++
 .../data/stats/skills/26000-26099.xml         | 282 +++++++++++++++---
 3 files changed, 287 insertions(+), 50 deletions(-)

diff --git a/datapack_development/data/scripts/handlers/itemhandlers/EnchantScrolls.java b/datapack_development/data/scripts/handlers/itemhandlers/EnchantScrolls.java
index 7549d3a0cd..5237da1a9a 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 05ba114d87..8f1a3a68a1 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 36a7cc13b6..1a39f26fb1 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"/>
-- 
GitLab