From f4ab14b259cecade06c269397c73a465cc0e5034 Mon Sep 17 00:00:00 2001
From: Zealar <zealar@mail.bg>
Date: Fri, 18 Dec 2015 12:05:02 +0200
Subject: [PATCH] Implement H5 transforms Fix #237

Reported by: @Sacrifice78
Patched by: @Sacrifice78
---
 dist/game/data/stats/items/21100-21199.xml  | 100 +++++++++
 dist/game/data/stats/skills/22100-22199.xml | 189 +++++++++++++---
 dist/game/data/stats/skills/22200-22299.xml | 235 +++++++++++++++++---
 3 files changed, 462 insertions(+), 62 deletions(-)

diff --git a/dist/game/data/stats/items/21100-21199.xml b/dist/game/data/stats/items/21100-21199.xml
index 86ebb1b469..097af711a7 100644
--- a/dist/game/data/stats/items/21100-21199.xml
+++ b/dist/game/data/stats/items/21100-21199.xml
@@ -754,142 +754,242 @@
 	<item id="21172" type="EtcItem" name="Transformation Scroll: Onyx Beast - Event">
 		<!-- Description: Transformation scroll that transforms you into an Onyx Beast for 30 minute(s). No effect if used while transformed. -->
 		<set name="icon" val="icon.etc_trans_4f_s_b_01" />
+		<set name="default_action" val="SKILL_REDUCE" />
+		<set name="etcitem_type" val="SCROLL" />
 		<set name="material" val="PAPER" />
 		<set name="weight" val="120" />
 		<set name="is_stackable" val="true" />
+		<set name="is_oly_restricted" val="true" />
+		<set name="handler" val="ItemSkills" />
+		<set name="item_skill" val="22191-1" />
 	</item>
 	<item id="21173" type="EtcItem" name="Transformation Scroll: Death Blader - Event">
 		<!-- Description: Transformation scroll that transforms you into a Death Blader for 30 minute(s). No effect if used while transformed. -->
 		<set name="icon" val="icon.etc_trans_4f_s_b_01" />
+		<set name="default_action" val="SKILL_REDUCE" />
+		<set name="etcitem_type" val="SCROLL" />
 		<set name="material" val="PAPER" />
 		<set name="weight" val="120" />
 		<set name="is_stackable" val="true" />
+		<set name="is_oly_restricted" val="true" />
+		<set name="handler" val="ItemSkills" />
+		<set name="item_skill" val="22192-1" />
 	</item>
 	<item id="21174" type="EtcItem" name="Transformation Scroll: Grail Apostle - Event">
 		<!-- Description: Transformation scroll that transforms you into a Grail Apostle for 30 minute(s). No effect if used while transformed. -->
 		<set name="icon" val="icon.etc_trans_4f_s_b_01" />
+		<set name="default_action" val="SKILL_REDUCE" />
+		<set name="etcitem_type" val="SCROLL" />
 		<set name="material" val="PAPER" />
 		<set name="weight" val="120" />
 		<set name="is_stackable" val="true" />
+		<set name="is_oly_restricted" val="true" />
+		<set name="handler" val="ItemSkills" />
+		<set name="item_skill" val="22193-1" />
 	</item>
 	<item id="21175" type="EtcItem" name="Transformation Scroll: Unicorn - Event">
 		<!-- Description: Transformation scroll that transforms you into a Unicorn for 30 minute(s). No effect if used while transformed. -->
 		<set name="icon" val="icon.etc_trans_4f_s_b_01" />
+		<set name="default_action" val="SKILL_REDUCE" />
+		<set name="etcitem_type" val="SCROLL" />
 		<set name="material" val="PAPER" />
 		<set name="weight" val="120" />
 		<set name="is_stackable" val="true" />
+		<set name="is_oly_restricted" val="true" />
+		<set name="handler" val="ItemSkills" />
+		<set name="item_skill" val="22194-1" />
 	</item>
 	<item id="21176" type="EtcItem" name="Transformation Scroll: Lilim Knight - Event">
 		<!-- Description: Transformation scroll that transforms you into a Lilim Knight for 30 minute(s). No effect if used while transformed. -->
 		<set name="icon" val="icon.etc_trans_4f_s_b_01" />
+		<set name="default_action" val="SKILL_REDUCE" />
+		<set name="etcitem_type" val="SCROLL" />
 		<set name="material" val="PAPER" />
 		<set name="weight" val="120" />
 		<set name="is_stackable" val="true" />
+		<set name="is_oly_restricted" val="true" />
+		<set name="handler" val="ItemSkills" />
+		<set name="item_skill" val="22195-1" />
 	</item>
 	<item id="21177" type="EtcItem" name="Transformation Scroll: Golem Guardian - Event">
 		<!-- Description: Transformation scroll that transforms you into a Golem Guardian for 30 minute(s). No effect if used while transformed. -->
 		<set name="icon" val="icon.etc_trans_4f_s_b_01" />
+		<set name="default_action" val="SKILL_REDUCE" />
+		<set name="etcitem_type" val="SCROLL" />
 		<set name="material" val="PAPER" />
 		<set name="weight" val="120" />
 		<set name="is_stackable" val="true" />
+		<set name="is_oly_restricted" val="true" />
+		<set name="handler" val="ItemSkills" />
+		<set name="item_skill" val="22196-1" />
 	</item>
 	<item id="21178" type="EtcItem" name="Transformation Scroll: Inferno Drake - Event">
 		<!-- Description: Transformation scroll that transforms you into an Inferno Drake for 30 minute(s). No effect if used while transformed. -->
 		<set name="icon" val="icon.etc_trans_4f_s_b_01" />
+		<set name="default_action" val="SKILL_REDUCE" />
+		<set name="etcitem_type" val="SCROLL" />
 		<set name="material" val="PAPER" />
 		<set name="weight" val="120" />
 		<set name="is_stackable" val="true" />
+		<set name="is_oly_restricted" val="true" />
+		<set name="handler" val="ItemSkills" />
+		<set name="item_skill" val="22197-1" />
 	</item>
 	<item id="21179" type="EtcItem" name="Transformation Scroll: Dragon Bomber - Event">
 		<!-- Description: Transformation scroll that transforms you into a Dragon Bomber for 30 minute(s). No effect if used while transformed. -->
 		<set name="icon" val="icon.etc_trans_4f_s_b_01" />
+		<set name="default_action" val="SKILL_REDUCE" />
+		<set name="etcitem_type" val="SCROLL" />
 		<set name="material" val="PAPER" />
 		<set name="weight" val="120" />
 		<set name="is_stackable" val="true" />
+		<set name="is_oly_restricted" val="true" />
+		<set name="handler" val="ItemSkills" />
+		<set name="item_skill" val="22198-1" />
 	</item>
 	<item id="21180" type="EtcItem" name="Transformation Scroll: Heretic - Event">
 		<!-- Description: Transformation scroll that transforms you into a Heretic for 30 minute(s). No effect if used while transformed. -->
 		<set name="icon" val="icon.etc_trans_4f_s_b_01" />
+		<set name="default_action" val="SKILL_REDUCE" />
+		<set name="etcitem_type" val="SCROLL" />
 		<set name="material" val="PAPER" />
 		<set name="weight" val="120" />
 		<set name="is_stackable" val="true" />
+		<set name="is_oly_restricted" val="true" />
+		<set name="handler" val="ItemSkills" />
+		<set name="item_skill" val="22199-1" />
 	</item>
 	<item id="21181" type="EtcItem" name="Transformation Scroll: Veil Master - Event">
 		<!-- Description: Transformation scroll that transforms you into a Veil Master for 30 minute(s). No effect if used while transformed. -->
 		<set name="icon" val="icon.etc_trans_4f_s_b_01" />
+		<set name="default_action" val="SKILL_REDUCE" />
+		<set name="etcitem_type" val="SCROLL" />
 		<set name="material" val="PAPER" />
 		<set name="weight" val="120" />
 		<set name="is_stackable" val="true" />
+		<set name="is_oly_restricted" val="true" />
+		<set name="handler" val="ItemSkills" />
+		<set name="item_skill" val="22200-1" />
 	</item>
 	<item id="21182" type="EtcItem" name="Transformation Scroll: Saber Tooth Tiger - Event">
 		<!-- Description: Transformation scroll that transforms you into a Saber Tooth Tiger for 30 minute(s). No effect if used while transformed. -->
 		<set name="icon" val="icon.etc_trans_4f_s_b_01" />
+		<set name="default_action" val="SKILL_REDUCE" />
+		<set name="etcitem_type" val="SCROLL" />
 		<set name="material" val="PAPER" />
 		<set name="weight" val="120" />
 		<set name="is_stackable" val="true" />
+		<set name="is_oly_restricted" val="true" />
+		<set name="handler" val="ItemSkills" />
+		<set name="item_skill" val="22201-1" />
 	</item>
 	<item id="21183" type="EtcItem" name="Transformation Scroll: Ol Mahum - Event">
 		<!-- Description: Transformation scroll that transforms you into an Ol Mahum for 30 minute(s). No effect if used while transformed. -->
 		<set name="icon" val="icon.etc_trans_4f_s_b_01" />
+		<set name="default_action" val="SKILL_REDUCE" />
+		<set name="etcitem_type" val="SCROLL" />
 		<set name="material" val="PAPER" />
 		<set name="weight" val="120" />
 		<set name="is_stackable" val="true" />
+		<set name="is_oly_restricted" val="true" />
+		<set name="handler" val="ItemSkills" />
+		<set name="item_skill" val="22202-1" />
 	</item>
 	<item id="21184" type="EtcItem" name="Transformation Scroll: Doll Blader - Event">
 		<!-- Description: Transformation scroll that transforms you into a Doll Blader for 30 minute(s). No effect if used while transformed. -->
 		<set name="icon" val="icon.etc_trans_4f_s_b_01" />
+		<set name="default_action" val="SKILL_REDUCE" />
+		<set name="etcitem_type" val="SCROLL" />
 		<set name="material" val="PAPER" />
 		<set name="weight" val="120" />
 		<set name="is_stackable" val="true" />
+		<set name="is_oly_restricted" val="true" />
+		<set name="handler" val="ItemSkills" />
+		<set name="item_skill" val="22203-1" />
 	</item>
 	<item id="21185" type="EtcItem" name="Transformation Scroll: Zaken - Event">
 		<!-- Description: Transformation scroll that transforms you into Zaken for 30 minute(s). No effect if used while transformed. -->
 		<set name="icon" val="icon.etc_trans_4f_s_b_01" />
+		<set name="default_action" val="SKILL_REDUCE" />
+		<set name="etcitem_type" val="SCROLL" />
 		<set name="material" val="PAPER" />
 		<set name="weight" val="120" />
 		<set name="is_stackable" val="true" />
+		<set name="is_oly_restricted" val="true" />
+		<set name="handler" val="ItemSkills" />
+		<set name="item_skill" val="22204-1" />
 	</item>
 	<item id="21186" type="EtcItem" name="Transformation Scroll: Anakim - Event">
 		<!-- Description: Transformation scroll that transforms you into Anakim for 30 minute(s). No effect if used while transformed. -->
 		<set name="icon" val="icon.etc_trans_4f_s_b_01" />
+		<set name="default_action" val="SKILL_REDUCE" />
+		<set name="etcitem_type" val="SCROLL" />
 		<set name="material" val="PAPER" />
 		<set name="weight" val="120" />
 		<set name="is_stackable" val="true" />
+		<set name="is_oly_restricted" val="true" />
+		<set name="handler" val="ItemSkills" />
+		<set name="item_skill" val="22205-1" />
 	</item>
 	<item id="21187" type="EtcItem" name="Transformation Scroll: Venom - Event">
 		<!-- Description: Transformation scroll that transforms you into Venom for 30 minute(s). No effect if used while transformed. -->
 		<set name="icon" val="icon.etc_trans_4f_s_b_01" />
+		<set name="default_action" val="SKILL_REDUCE" />
+		<set name="etcitem_type" val="SCROLL" />
 		<set name="material" val="PAPER" />
 		<set name="weight" val="120" />
 		<set name="is_stackable" val="true" />
+		<set name="is_oly_restricted" val="true" />
+		<set name="handler" val="ItemSkills" />
+		<set name="item_skill" val="22206-1" />
 	</item>
 	<item id="21188" type="EtcItem" name="Transformation Scroll: Gordon - Event">
 		<!-- Description: Transformation scroll that transforms you into Gordon for 30 minute(s). No effect if used while transformed. -->
 		<set name="icon" val="icon.etc_trans_4f_s_b_01" />
+		<set name="default_action" val="SKILL_REDUCE" />
+		<set name="etcitem_type" val="SCROLL" />
 		<set name="material" val="PAPER" />
 		<set name="weight" val="120" />
 		<set name="is_stackable" val="true" />
+		<set name="is_oly_restricted" val="true" />
+		<set name="handler" val="ItemSkills" />
+		<set name="item_skill" val="22207-1" />
 	</item>
 	<item id="21189" type="EtcItem" name="Transformation Scroll: Ranku - Event">
 		<!-- Description: Transformation scroll that transforms you into Ranku for 30 minute(s). No effect if used while transformed. -->
 		<set name="icon" val="icon.etc_trans_4f_s_b_01" />
+		<set name="default_action" val="SKILL_REDUCE" />
+		<set name="etcitem_type" val="SCROLL" />
 		<set name="material" val="PAPER" />
 		<set name="weight" val="120" />
 		<set name="is_stackable" val="true" />
+		<set name="is_oly_restricted" val="true" />
+		<set name="handler" val="ItemSkills" />
+		<set name="item_skill" val="22208-1" />
 	</item>
 	<item id="21190" type="EtcItem" name="Transformation Scroll: Kechi - Event">
 		<!-- Description: Transformation scroll that transforms you into Kechi for 30 minute(s). No effect if used while transformed. -->
 		<set name="icon" val="icon.etc_trans_4f_s_b_01" />
+		<set name="default_action" val="SKILL_REDUCE" />
+		<set name="etcitem_type" val="SCROLL" />
 		<set name="material" val="PAPER" />
 		<set name="weight" val="120" />
 		<set name="is_stackable" val="true" />
+		<set name="is_oly_restricted" val="true" />
+		<set name="handler" val="ItemSkills" />
+		<set name="item_skill" val="22209-1" />
 	</item>
 	<item id="21191" type="EtcItem" name="Transformation Scroll: Demon Prince - Event">
 		<!-- Description: Transformation scroll that transforms you into Demon Prince for 30 minute(s). No effect if used while transformed. -->
 		<set name="icon" val="icon.etc_trans_4f_s_b_01" />
+		<set name="default_action" val="SKILL_REDUCE" />
+		<set name="etcitem_type" val="SCROLL" />
 		<set name="material" val="PAPER" />
 		<set name="weight" val="120" />
 		<set name="is_stackable" val="true" />
+		<set name="is_oly_restricted" val="true" />
+		<set name="handler" val="ItemSkills" />
+		<set name="item_skill" val="22210-1" />
 	</item>
 	<item id="21192" type="EtcItem" name="Dimension Diamond Pack">
 		<!-- Description: Dimensional item pack. Gift box containing 50 dimension diamonds. Cannot be exchanged or dropped. Can be shared between characters within an account through the Dimensional Merchant. Can be stored in a private warehouse. -->
diff --git a/dist/game/data/stats/skills/22100-22199.xml b/dist/game/data/stats/skills/22100-22199.xml
index 05f35c9afb..acb6ae403b 100644
--- a/dist/game/data/stats/skills/22100-22199.xml
+++ b/dist/game/data/stats/skills/22100-22199.xml
@@ -1688,85 +1688,220 @@
 			</effect>
 		</for>
 	</skill>
-	<skill id="22191" levels="1" name="Transformation Scroll - Onyx Beast">
+	<skill id="22191" levels="1" name="Transformation Scroll - Onyx Beast Event">
 		<!-- Transformed into an Onyx Beast. -->
+		<set name="abnormalLvl" val="1" />
 		<set name="abnormalTime" val="1800" />
+		<set name="abnormalType" val="TRANSFORM" />
 		<set name="blockedInOlympiad" val="true" />
 		<set name="effectPoint" val="1" />
 		<set name="icon" val="icon.skilltransform1" />
-		<set name="operateType" val="P" />
-		<set name="targetType" val="NONE" />
+		<set name="isMagic" val="2" /> <!-- Static Skill -->
+		<set name="itemConsumeCount" val="1" />
+		<set name="itemConsumeId" val="21172" /> <!-- Transformation Scroll: Onyx Beast Event -->
+		<set name="magicLvl" val="-1" />
+		<set name="operateType" val="A2" />
+		<set name="reuseDelay" val="14400000" />
+		<set name="targetType" val="SELF" />
+		<cond>
+			<player canTransform="true" />
+		</cond>
+		<for>
+			<effect name="Transformation">
+				<param id="1" />
+			</effect>
+		</for>
 	</skill>
-	<skill id="22192" levels="1" name="Transformation Scroll - Death Blader">
+	<skill id="22192" levels="1" name="Transformation Scroll - Death Blader Event">
 		<!-- Transformed into a Death Blader. -->
+		<set name="abnormalLvl" val="1" />
 		<set name="abnormalTime" val="1800" />
+		<set name="abnormalType" val="TRANSFORM" />
 		<set name="blockedInOlympiad" val="true" />
 		<set name="effectPoint" val="1" />
 		<set name="icon" val="icon.skilltransform1" />
-		<set name="operateType" val="P" />
-		<set name="targetType" val="NONE" />
+		<set name="isMagic" val="2" /> <!-- Static Skill -->
+		<set name="itemConsumeCount" val="1" />
+		<set name="itemConsumeId" val="21173" /> <!-- Transformation Scroll: Death Blader Event -->
+		<set name="magicLvl" val="-1" />
+		<set name="operateType" val="A2" />
+		<set name="reuseDelay" val="14400000" />
+		<set name="targetType" val="SELF" />
+		<cond>
+			<player canTransform="true" />
+		</cond>
+		<for>
+			<effect name="Transformation">
+				<param id="2" />
+			</effect>
+		</for>
 	</skill>
-	<skill id="22193" levels="1" name="Transformation Scroll - Grail Apostle">
+	<skill id="22193" levels="1" name="Transformation Scroll - Grail Apostle Event">
 		<!-- Transformed into a Grail Apostle. -->
+		<set name="abnormalLvl" val="1" />
 		<set name="abnormalTime" val="1800" />
+		<set name="abnormalType" val="TRANSFORM" />
 		<set name="blockedInOlympiad" val="true" />
 		<set name="effectPoint" val="1" />
 		<set name="icon" val="icon.skilltransform1" />
-		<set name="operateType" val="P" />
-		<set name="targetType" val="NONE" />
+		<set name="isMagic" val="2" /> <!-- Static Skill -->
+		<set name="itemConsumeCount" val="1" />
+		<set name="itemConsumeId" val="21174" /> <!-- Transformation Scroll: Grail Apostle Event -->
+		<set name="magicLvl" val="-1" />
+		<set name="operateType" val="A2" />
+		<set name="reuseDelay" val="14400000" />
+		<set name="targetType" val="SELF" />
+		<cond>
+			<player canTransform="true" />
+		</cond>
+		<for>
+			<effect name="Transformation">
+				<param id="202" />
+			</effect>
+		</for>
 	</skill>
-	<skill id="22194" levels="1" name="Transformation Scroll - Unicorn">
+	<skill id="22194" levels="1" name="Transformation Scroll - Unicorn Event">
 		<!-- Transformed into a Unicorn. -->
+		<set name="abnormalLvl" val="1" />
 		<set name="abnormalTime" val="1800" />
+		<set name="abnormalType" val="TRANSFORM" />
 		<set name="blockedInOlympiad" val="true" />
 		<set name="effectPoint" val="1" />
 		<set name="icon" val="icon.skilltransform1" />
-		<set name="operateType" val="P" />
-		<set name="targetType" val="NONE" />
+		<set name="isMagic" val="2" /> <!-- Static Skill -->
+		<set name="itemConsumeCount" val="1" />
+		<set name="itemConsumeId" val="21175" /> <!-- Transformation Scroll: Unicorn Event -->
+		<set name="magicLvl" val="-1" />
+		<set name="operateType" val="A2" />
+		<set name="reuseDelay" val="14400000" />
+		<set name="targetType" val="SELF" />
+		<cond>
+			<player canTransform="true" />
+		</cond>
+		<for>
+			<effect name="Transformation">
+				<param id="205" />
+			</effect>
+		</for>
 	</skill>
-	<skill id="22195" levels="1" name="Transformation Scroll - Lilim Knight">
+	<skill id="22195" levels="1" name="Transformation Scroll - Lilim Knight Event">
 		<!-- Transformed into a Lilim Knight. -->
+		<set name="abnormalLvl" val="1" />
 		<set name="abnormalTime" val="1800" />
+		<set name="abnormalType" val="TRANSFORM" />
 		<set name="blockedInOlympiad" val="true" />
 		<set name="effectPoint" val="1" />
 		<set name="icon" val="icon.skilltransform1" />
-		<set name="operateType" val="P" />
-		<set name="targetType" val="NONE" />
+		<set name="isMagic" val="2" /> <!-- Static Skill -->
+		<set name="itemConsumeCount" val="1" />
+		<set name="itemConsumeId" val="21176" /> <!-- Transformation Scroll: Lilim Knight Event -->
+		<set name="magicLvl" val="-1" />
+		<set name="operateType" val="A2" />
+		<set name="reuseDelay" val="14400000" />
+		<set name="targetType" val="SELF" />
+		<cond>
+			<player canTransform="true" />
+		</cond>
+		<for>
+			<effect name="Transformation">
+				<param id="208" />
+			</effect>
+		</for>
 	</skill>
-	<skill id="22196" levels="1" name="Transformation Scroll - Golem Guardian">
+	<skill id="22196" levels="1" name="Transformation Scroll - Golem Guardian Event">
 		<!-- Transformed into a Golem Guardian. -->
+		<set name="abnormalLvl" val="1" />
 		<set name="abnormalTime" val="1800" />
+		<set name="abnormalType" val="TRANSFORM" />
 		<set name="blockedInOlympiad" val="true" />
 		<set name="effectPoint" val="1" />
 		<set name="icon" val="icon.skilltransform1" />
-		<set name="operateType" val="P" />
-		<set name="targetType" val="NONE" />
+		<set name="isMagic" val="2" /> <!-- Static Skill -->
+		<set name="itemConsumeCount" val="1" />
+		<set name="itemConsumeId" val="21177" /> <!-- Transformation Scroll: Golem Guardian Event -->
+		<set name="magicLvl" val="-1" />
+		<set name="operateType" val="A2" />
+		<set name="reuseDelay" val="14400000" />
+		<set name="targetType" val="SELF" />
+		<cond>
+			<player canTransform="true" />
+		</cond>
+		<for>
+			<effect name="Transformation">
+				<param id="211" />
+			</effect>
+		</for>
 	</skill>
-	<skill id="22197" levels="1" name="Transformation Scroll - Inferno Drake">
+	<skill id="22197" levels="1" name="Transformation Scroll - Inferno Drake Event">
 		<!-- Transformed into an Inferno Drake. -->
+		<set name="abnormalLvl" val="1" />
 		<set name="abnormalTime" val="1800" />
+		<set name="abnormalType" val="TRANSFORM" />
 		<set name="blockedInOlympiad" val="true" />
 		<set name="effectPoint" val="1" />
 		<set name="icon" val="icon.skilltransform1" />
-		<set name="operateType" val="P" />
-		<set name="targetType" val="NONE" />
+		<set name="isMagic" val="2" /> <!-- Static Skill -->
+		<set name="itemConsumeCount" val="1" />
+		<set name="itemConsumeId" val="21178" /> <!-- Transformation Scroll: Inferno Drake Event -->
+		<set name="magicLvl" val="-1" />
+		<set name="operateType" val="A2" />
+		<set name="reuseDelay" val="14400000" />
+		<set name="targetType" val="SELF" />
+		<cond>
+			<player canTransform="true" />
+		</cond>
+		<for>
+			<effect name="Transformation">
+				<param id="214" />
+			</effect>
+		</for>
 	</skill>
-	<skill id="22198" levels="1" name="Transformation Scroll - Dragon Bomber">
+	<skill id="22198" levels="1" name="Transformation Scroll - Dragon Bomber Event">
 		<!-- Transformed into a Dragon Bomber. -->
+		<set name="abnormalLvl" val="1" />
 		<set name="abnormalTime" val="1800" />
+		<set name="abnormalType" val="TRANSFORM" />
 		<set name="blockedInOlympiad" val="true" />
 		<set name="effectPoint" val="1" />
 		<set name="icon" val="icon.skilltransform1" />
-		<set name="operateType" val="P" />
-		<set name="targetType" val="NONE" />
+		<set name="isMagic" val="2" /> <!-- Static Skill -->
+		<set name="itemConsumeCount" val="1" />
+		<set name="itemConsumeId" val="21179" /> <!-- Transformation Scroll: Dragon Bomber Event -->
+		<set name="magicLvl" val="-1" />
+		<set name="operateType" val="A2" />
+		<set name="reuseDelay" val="14400000" />
+		<set name="targetType" val="SELF" />
+		<cond>
+			<player canTransform="true" />
+		</cond>
+		<for>
+			<effect name="Transformation">
+				<param id="217" />
+			</effect>
+		</for>
 	</skill>
-	<skill id="22199" levels="1" name="Transformation Scroll - Heretic">
+	<skill id="22199" levels="1" name="Transformation Scroll - Heretic Event">
 		<!-- Transformed into a Heretic. -->
+		<set name="abnormalLvl" val="1" />
 		<set name="abnormalTime" val="1800" />
+		<set name="abnormalType" val="TRANSFORM" />
 		<set name="blockedInOlympiad" val="true" />
 		<set name="effectPoint" val="1" />
 		<set name="icon" val="icon.skilltransform1" />
-		<set name="operateType" val="P" />
-		<set name="targetType" val="NONE" />
+		<set name="isMagic" val="2" /> <!-- Static Skill -->
+		<set name="itemConsumeCount" val="1" />
+		<set name="itemConsumeId" val="21180" /> <!-- Transformation Scroll: Heretic Event -->
+		<set name="magicLvl" val="-1" />
+		<set name="operateType" val="A2" />
+		<set name="reuseDelay" val="14400000" />
+		<set name="targetType" val="SELF" />
+		<cond>
+			<player canTransform="true" />
+		</cond>
+		<for>
+			<effect name="Transformation">
+				<param id="3" />
+			</effect>
+		</for>
 	</skill>
 </list>
diff --git a/dist/game/data/stats/skills/22200-22299.xml b/dist/game/data/stats/skills/22200-22299.xml
index 414062855b..23d983b044 100644
--- a/dist/game/data/stats/skills/22200-22299.xml
+++ b/dist/game/data/stats/skills/22200-22299.xml
@@ -1,103 +1,268 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../xsd/skills.xsd">
-	<skill id="22200" levels="1" name="Transformation Scroll - Veil Master">
+	<skill id="22200" levels="1" name="Transformation Scroll - Veil Master Event">
 		<!-- Transformed into a Veil Master. -->
+		<set name="abnormalLvl" val="1" />
 		<set name="abnormalTime" val="1800" />
+		<set name="abnormalType" val="TRANSFORM" />
 		<set name="blockedInOlympiad" val="true" />
 		<set name="effectPoint" val="1" />
 		<set name="icon" val="icon.skilltransform1" />
-		<set name="operateType" val="P" />
-		<set name="targetType" val="NONE" />
+		<set name="isMagic" val="2" /> <!-- Static Skill -->
+		<set name="itemConsumeCount" val="1" />
+		<set name="itemConsumeId" val="21181" /> <!-- Transformation Scroll: Veil Master Event -->
+		<set name="magicLvl" val="-1" />
+		<set name="operateType" val="A2" />
+		<set name="reuseDelay" val="14400000" />
+		<set name="targetType" val="SELF" />
+		<cond>
+			<player canTransform="true" />
+		</cond>
+		<for>
+			<effect name="Transformation">
+				<param id="4" />
+			</effect>
+		</for>
 	</skill>
-	<skill id="22201" levels="1" name="Transformation Scroll - Saber Tooth Tiger">
+	<skill id="22201" levels="1" name="Transformation Scroll - Saber Tooth Tiger Event">
 		<!-- Transformed into a Saber Tooth Tiger. -->
+		<set name="abnormalLvl" val="1" />
 		<set name="abnormalTime" val="1800" />
+		<set name="abnormalType" val="TRANSFORM" />
 		<set name="blockedInOlympiad" val="true" />
 		<set name="effectPoint" val="1" />
 		<set name="icon" val="icon.skilltransform1" />
-		<set name="operateType" val="P" />
-		<set name="targetType" val="NONE" />
+		<set name="isMagic" val="2" /> <!-- Static Skill -->
+		<set name="itemConsumeCount" val="1" />
+		<set name="itemConsumeId" val="21182" /> <!-- Transformation Scroll: Saber Tooth Tiger Event -->
+		<set name="magicLvl" val="-1" />
+		<set name="operateType" val="A2" />
+		<set name="reuseDelay" val="14400000" />
+		<set name="targetType" val="SELF" />
+		<cond>
+			<player canTransform="true" />
+		</cond>
+		<for>
+			<effect name="Transformation">
+				<param id="5" />
+			</effect>
+		</for>
 	</skill>
-	<skill id="22202" levels="1" name="Transformation Scroll - Ol Mahum">
+	<skill id="22202" levels="1" name="Transformation Scroll - Ol Mahum Event">
 		<!-- Transformed into an Ol Mahum. -->
+		<set name="abnormalLvl" val="1" />
 		<set name="abnormalTime" val="1800" />
+		<set name="abnormalType" val="TRANSFORM" />
 		<set name="blockedInOlympiad" val="true" />
 		<set name="effectPoint" val="1" />
 		<set name="icon" val="icon.skilltransform1" />
-		<set name="operateType" val="P" />
-		<set name="targetType" val="NONE" />
+		<set name="isMagic" val="2" /> <!-- Static Skill -->
+		<set name="itemConsumeCount" val="1" />
+		<set name="itemConsumeId" val="21183" /> <!-- Transformation Scroll: Ol Mahum Event -->
+		<set name="magicLvl" val="-1" />
+		<set name="operateType" val="A2" />
+		<set name="reuseDelay" val="14400000" />
+		<set name="targetType" val="SELF" />
+		<cond>
+			<player canTransform="true" />
+		</cond>
+		<for>
+			<effect name="Transformation">
+				<param id="6" />
+			</effect>
+		</for>
 	</skill>
-	<skill id="22203" levels="1" name="Transformation Scroll - Doll Blader">
+	<skill id="22203" levels="1" name="Transformation Scroll - Doll Blader Event">
 		<!-- Transformed into a Doll Blader. -->
+		<set name="abnormalLvl" val="1" />
 		<set name="abnormalTime" val="1800" />
+		<set name="abnormalType" val="TRANSFORM" />
 		<set name="blockedInOlympiad" val="true" />
 		<set name="effectPoint" val="1" />
 		<set name="icon" val="icon.skilltransform1" />
-		<set name="operateType" val="P" />
-		<set name="targetType" val="NONE" />
+		<set name="isMagic" val="2" /> <!-- Static Skill -->
+		<set name="itemConsumeCount" val="1" />
+		<set name="itemConsumeId" val="21184" /> <!-- Transformation Scroll: Doll Blader Event -->
+		<set name="magicLvl" val="-1" />
+		<set name="operateType" val="A2" />
+		<set name="reuseDelay" val="14400000" />
+		<set name="targetType" val="SELF" />
+		<cond>
+			<player canTransform="true" />
+		</cond>
+		<for>
+			<effect name="Transformation">
+				<param id="7" />
+			</effect>
+		</for>
 	</skill>
-	<skill id="22204" levels="1" name="Transformation Scroll - Zaken">
+	<skill id="22204" levels="1" name="Transformation Scroll - Zaken Event">
 		<!-- Transformed into Zaken. -->
+		<set name="abnormalLvl" val="1" />
 		<set name="abnormalTime" val="1800" />
+		<set name="abnormalType" val="TRANSFORM" />
 		<set name="blockedInOlympiad" val="true" />
 		<set name="effectPoint" val="1" />
 		<set name="icon" val="icon.skilltransform1" />
-		<set name="operateType" val="P" />
-		<set name="targetType" val="NONE" />
+		<set name="isMagic" val="2" /> <!-- Static Skill -->
+		<set name="itemConsumeCount" val="1" />
+		<set name="itemConsumeId" val="21185" /> <!-- Transformation Scroll: Zaken Event -->
+		<set name="magicLvl" val="-1" />
+		<set name="operateType" val="A2" />
+		<set name="reuseDelay" val="14400000" />
+		<set name="targetType" val="SELF" />
+		<cond>
+			<player canTransform="true" />
+		</cond>
+		<for>
+			<effect name="Transformation">
+				<param id="305" />
+			</effect>
+		</for>
 	</skill>
-	<skill id="22205" levels="1" name="Transformation Scroll - Anakim">
+	<skill id="22205" levels="1" name="Transformation Scroll - Anakim Event">
 		<!-- Transformed into Anakim. -->
+		<set name="abnormalLvl" val="1" />
 		<set name="abnormalTime" val="1800" />
+		<set name="abnormalType" val="TRANSFORM" />
 		<set name="blockedInOlympiad" val="true" />
 		<set name="effectPoint" val="1" />
 		<set name="icon" val="icon.skilltransform1" />
-		<set name="operateType" val="P" />
-		<set name="targetType" val="NONE" />
+		<set name="isMagic" val="2" /> <!-- Static Skill -->
+		<set name="itemConsumeCount" val="1" />
+		<set name="itemConsumeId" val="21186" /> <!-- Transformation Scroll: Anakim Event -->
+		<set name="magicLvl" val="-1" />
+		<set name="operateType" val="A2" />
+		<set name="reuseDelay" val="14400000" />
+		<set name="targetType" val="SELF" />
+		<cond>
+			<player canTransform="true" />
+		</cond>
+		<for>
+			<effect name="Transformation">
+				<param id="306" />
+			</effect>
+		</for>
 	</skill>
-	<skill id="22206" levels="1" name="Transformation Scroll - Venom">
+	<skill id="22206" levels="1" name="Transformation Scroll - Venom Event">
 		<!-- Transformed into Venom. -->
+		<set name="abnormalLvl" val="1" />
 		<set name="abnormalTime" val="1800" />
+		<set name="abnormalType" val="TRANSFORM" />
 		<set name="blockedInOlympiad" val="true" />
 		<set name="effectPoint" val="1" />
 		<set name="icon" val="icon.skilltransform1" />
-		<set name="operateType" val="P" />
-		<set name="targetType" val="NONE" />
+		<set name="isMagic" val="2" /> <!-- Static Skill -->
+		<set name="itemConsumeCount" val="1" />
+		<set name="itemConsumeId" val="21187" /> <!-- Transformation Scroll: Venom Event -->
+		<set name="magicLvl" val="-1" />
+		<set name="operateType" val="A2" />
+		<set name="reuseDelay" val="14400000" />
+		<set name="targetType" val="SELF" />
+		<cond>
+			<player canTransform="true" />
+		</cond>
+		<for>
+			<effect name="Transformation">
+				<param id="307" />
+			</effect>
+		</for>
 	</skill>
-	<skill id="22207" levels="1" name="Transformation Scroll - Gordon">
+	<skill id="22207" levels="1" name="Transformation Scroll - Gordon Event">
 		<!-- Transformed into Gordon. -->
+		<set name="abnormalLvl" val="1" />
 		<set name="abnormalTime" val="1800" />
+		<set name="abnormalType" val="TRANSFORM" />
 		<set name="blockedInOlympiad" val="true" />
 		<set name="effectPoint" val="1" />
 		<set name="icon" val="icon.skilltransform1" />
-		<set name="operateType" val="P" />
-		<set name="targetType" val="NONE" />
+		<set name="isMagic" val="2" /> <!-- Static Skill -->
+		<set name="itemConsumeCount" val="1" />
+		<set name="itemConsumeId" val="21188" /> <!-- Transformation Scroll: Gordon Event -->
+		<set name="magicLvl" val="-1" />
+		<set name="operateType" val="A2" />
+		<set name="reuseDelay" val="14400000" />
+		<set name="targetType" val="SELF" />
+		<cond>
+			<player canTransform="true" />
+		</cond>
+		<for>
+			<effect name="Transformation">
+				<param id="308" />
+			</effect>
+		</for>
 	</skill>
-	<skill id="22208" levels="1" name="Transformation Scroll - Ranku">
+	<skill id="22208" levels="1" name="Transformation Scroll - Ranku Event">
 		<!-- Transformed into Ranku. -->
+		<set name="abnormalLvl" val="1" />
 		<set name="abnormalTime" val="1800" />
+		<set name="abnormalType" val="TRANSFORM" />
 		<set name="blockedInOlympiad" val="true" />
 		<set name="effectPoint" val="1" />
 		<set name="icon" val="icon.skilltransform1" />
-		<set name="operateType" val="P" />
-		<set name="targetType" val="NONE" />
+		<set name="isMagic" val="2" /> <!-- Static Skill -->
+		<set name="itemConsumeCount" val="1" />
+		<set name="itemConsumeId" val="21189" /> <!-- Transformation Scroll: Ranku Event -->
+		<set name="magicLvl" val="-1" />
+		<set name="operateType" val="A2" />
+		<set name="reuseDelay" val="14400000" />
+		<set name="targetType" val="SELF" />
+		<cond>
+			<player canTransform="true" />
+		</cond>
+		<for>
+			<effect name="Transformation">
+				<param id="309" />
+			</effect>
+		</for>
 	</skill>
-	<skill id="22209" levels="1" name="Transformation Scroll - Kietch">
-		<!-- Transformed into Kietch. -->
+	<skill id="22209" levels="1" name="Transformation Scroll - Kechi Event">
+		<!-- Transformed into Kechi. -->
+		<set name="abnormalLvl" val="1" />
 		<set name="abnormalTime" val="1800" />
+		<set name="abnormalType" val="TRANSFORM" />
 		<set name="blockedInOlympiad" val="true" />
 		<set name="effectPoint" val="1" />
 		<set name="icon" val="icon.skilltransform1" />
-		<set name="operateType" val="P" />
-		<set name="targetType" val="NONE" />
+		<set name="isMagic" val="2" /> <!-- Static Skill -->
+		<set name="itemConsumeCount" val="1" />
+		<set name="itemConsumeId" val="21190" /> <!-- Transformation Scroll: Kechi Event -->
+		<set name="magicLvl" val="-1" />
+		<set name="operateType" val="A2" />
+		<set name="reuseDelay" val="14400000" />
+		<set name="targetType" val="SELF" />
+		<cond>
+			<player canTransform="true" />
+		</cond>
+		<for>
+			<effect name="Transformation">
+				<param id="310" />
+			</effect>
+		</for>
 	</skill>
-	<skill id="22210" levels="1" name="Transformation Scroll - Duke Devil">
-		<!-- Transformed into Duke Devil. -->
+	<skill id="22210" levels="1" name="Transformation Scroll - Demon Prince Event">
+		<!-- Transformed into Demon Prince. -->
+		<set name="abnormalLvl" val="1" />
 		<set name="abnormalTime" val="1800" />
+		<set name="abnormalType" val="TRANSFORM" />
 		<set name="blockedInOlympiad" val="true" />
 		<set name="effectPoint" val="1" />
 		<set name="icon" val="icon.skilltransform1" />
-		<set name="operateType" val="P" />
-		<set name="targetType" val="NONE" />
+		<set name="isMagic" val="2" /> <!-- Static Skill -->
+		<set name="itemConsumeCount" val="1" />
+		<set name="itemConsumeId" val="21191" /> <!-- Transformation Scroll: Demon Prince Event -->
+		<set name="magicLvl" val="-1" />
+		<set name="operateType" val="A2" />
+		<set name="reuseDelay" val="14400000" />
+		<set name="targetType" val="SELF" />
+		<cond>
+			<player canTransform="true" />
+		</cond>
+		<for>
+			<effect name="Transformation">
+				<param id="311" />
+			</effect>
+		</for>
 	</skill>
 	<skill id="22211" levels="1" name="Blessed Scroll of Escape">
 		<!-- none -->
-- 
GitLab