Browse Source

BETA: Implementing Appearance related effects.

Zoey76 12 years ago
parent
commit
41e79a52f7

+ 6 - 0
L2J_DataPack_BETA/dist/game/data/scripts/handlers/EffectMasterHandler.java

@@ -35,6 +35,9 @@ import handlers.effecthandlers.CancelAll;
 import handlers.effecthandlers.CancelDebuff;
 import handlers.effecthandlers.ChameleonRest;
 import handlers.effecthandlers.ChanceSkillTrigger;
+import handlers.effecthandlers.ChangeFace;
+import handlers.effecthandlers.ChangeHairColor;
+import handlers.effecthandlers.ChangeHairStyle;
 import handlers.effecthandlers.CharmOfCourage;
 import handlers.effecthandlers.CharmOfLuck;
 import handlers.effecthandlers.ClanGate;
@@ -125,6 +128,9 @@ public final class EffectMasterHandler
 		CancelDebuff.class,
 		ChameleonRest.class,
 		ChanceSkillTrigger.class,
+		ChangeFace.class,
+		ChangeHairColor.class,
+		ChangeHairStyle.class,
 		CharmOfCourage.class,
 		CharmOfLuck.class,
 		ClanGate.class,

+ 63 - 0
L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ChangeFace.java

@@ -0,0 +1,63 @@
+/*
+ * Copyright (C) 2004-2013 L2J DataPack
+ * 
+ * This file is part of L2J DataPack.
+ * 
+ * L2J DataPack is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ * 
+ * L2J DataPack is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+package handlers.effecthandlers;
+
+import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jserver.gameserver.model.effects.EffectTemplate;
+import com.l2jserver.gameserver.model.effects.L2Effect;
+import com.l2jserver.gameserver.model.effects.L2EffectType;
+import com.l2jserver.gameserver.model.stats.Env;
+
+/**
+ * Change Face effect.
+ * @author Zoey76
+ */
+public class ChangeFace extends L2Effect
+{
+	public ChangeFace(Env env, EffectTemplate template)
+	{
+		super(env, template);
+	}
+	
+	@Override
+	public boolean onStart()
+	{
+		if ((getEffector() == null) || (getEffected() == null) || !getEffector().isPlayer() || !getEffected().isPlayer() || getEffected().isAlikeDead())
+		{
+			return false;
+		}
+		
+		final L2PcInstance player = getEffector().getActingPlayer();
+		player.getAppearance().setFace(getSkill().getFaceId());
+		player.broadcastUserInfo();
+		return true;
+	}
+	
+	@Override
+	public boolean onActionTime()
+	{
+		return false;
+	}
+	
+	@Override
+	public L2EffectType getEffectType()
+	{
+		return L2EffectType.BUFF;
+	}
+}

+ 63 - 0
L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ChangeHairColor.java

@@ -0,0 +1,63 @@
+/*
+ * Copyright (C) 2004-2013 L2J DataPack
+ * 
+ * This file is part of L2J DataPack.
+ * 
+ * L2J DataPack is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ * 
+ * L2J DataPack is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+package handlers.effecthandlers;
+
+import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jserver.gameserver.model.effects.EffectTemplate;
+import com.l2jserver.gameserver.model.effects.L2Effect;
+import com.l2jserver.gameserver.model.effects.L2EffectType;
+import com.l2jserver.gameserver.model.stats.Env;
+
+/**
+ * Change Hair Color effect.
+ * @author Zoey76
+ */
+public class ChangeHairColor extends L2Effect
+{
+	public ChangeHairColor(Env env, EffectTemplate template)
+	{
+		super(env, template);
+	}
+	
+	@Override
+	public boolean onStart()
+	{
+		if ((getEffector() == null) || (getEffected() == null) || !getEffector().isPlayer() || !getEffected().isPlayer() || getEffected().isAlikeDead())
+		{
+			return false;
+		}
+		
+		final L2PcInstance player = getEffector().getActingPlayer();
+		player.getAppearance().setHairColor(getSkill().getHairColorId());
+		player.broadcastUserInfo();
+		return true;
+	}
+	
+	@Override
+	public boolean onActionTime()
+	{
+		return false;
+	}
+	
+	@Override
+	public L2EffectType getEffectType()
+	{
+		return L2EffectType.BUFF;
+	}
+}

+ 63 - 0
L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/ChangeHairStyle.java

@@ -0,0 +1,63 @@
+/*
+ * Copyright (C) 2004-2013 L2J DataPack
+ * 
+ * This file is part of L2J DataPack.
+ * 
+ * L2J DataPack is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ * 
+ * L2J DataPack is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+package handlers.effecthandlers;
+
+import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jserver.gameserver.model.effects.EffectTemplate;
+import com.l2jserver.gameserver.model.effects.L2Effect;
+import com.l2jserver.gameserver.model.effects.L2EffectType;
+import com.l2jserver.gameserver.model.stats.Env;
+
+/**
+ * Change Hair Style effect.
+ * @author Zoey76
+ */
+public class ChangeHairStyle extends L2Effect
+{
+	public ChangeHairStyle(Env env, EffectTemplate template)
+	{
+		super(env, template);
+	}
+	
+	@Override
+	public boolean onStart()
+	{
+		if ((getEffector() == null) || (getEffected() == null) || !getEffector().isPlayer() || !getEffected().isPlayer() || getEffected().isAlikeDead())
+		{
+			return false;
+		}
+		
+		final L2PcInstance player = getEffector().getActingPlayer();
+		player.getAppearance().setHairStyle(getSkill().getHairStyleId());
+		player.broadcastUserInfo();
+		return true;
+	}
+	
+	@Override
+	public boolean onActionTime()
+	{
+		return false;
+	}
+	
+	@Override
+	public L2EffectType getEffectType()
+	{
+		return L2EffectType.BUFF;
+	}
+}

+ 112 - 56
L2J_DataPack_BETA/dist/game/data/stats/skills/02100-02199.xml

@@ -339,133 +339,189 @@
 		</cond>
 	</skill>
 	<skill id="2122" levels="1" name="Facelifting Potion">
+		<!-- Confirmed CT2.5 -->
+		<set name="faceId" val="0" />
+		<set name="hitTime" val="500" />
 		<set name="isMagic" val="2" /> <!-- Static Skill -->
 		<set name="itemConsumeCount" val="1" />
-		<set name="target" val="TARGET_SELF" />
-		<set name="hitTime" val="500" />
-		<set name="skillType" val="CHANGE_APPEARANCE" />
-		<set name="faceId" val="0" />
+		<set name="magicLvl" val="1" />
 		<set name="operateType" val="A1" />
+		<set name="target" val="TARGET_SELF" />
+		<for>
+			<effect name="ChangeFace" noicon="1" val="0" />
+		</for>
 	</skill>
 	<skill id="2123" levels="1" name="Facelifting Potion">
+		<!-- Confirmed CT2.5 -->
+		<set name="faceId" val="1" />
+		<set name="hitTime" val="500" />
 		<set name="isMagic" val="2" /> <!-- Static Skill -->
 		<set name="itemConsumeCount" val="1" />
-		<set name="target" val="TARGET_SELF" />
-		<set name="hitTime" val="500" />
-		<set name="skillType" val="CHANGE_APPEARANCE" />
-		<set name="faceId" val="1" />
+		<set name="magicLvl" val="1" />
 		<set name="operateType" val="A1" />
+		<set name="target" val="TARGET_SELF" />
+		<for>
+			<effect name="ChangeFace" noicon="1" val="0" />
+		</for>
 	</skill>
 	<skill id="2124" levels="1" name="Facelifting Potion">
+		<!-- Confirmed CT2.5 -->
+		<set name="faceId" val="2" />
+		<set name="hitTime" val="500" />
 		<set name="isMagic" val="2" /> <!-- Static Skill -->
 		<set name="itemConsumeCount" val="1" />
-		<set name="target" val="TARGET_SELF" />
-		<set name="hitTime" val="500" />
-		<set name="skillType" val="CHANGE_APPEARANCE" />
-		<set name="faceId" val="2" />
+		<set name="magicLvl" val="1" />
 		<set name="operateType" val="A1" />
+		<set name="target" val="TARGET_SELF" />
+		<for>
+			<effect name="ChangeFace" noicon="1" val="0" />
+		</for>
 	</skill>
 	<skill id="2125" levels="1" name="Dye Potion">
+		<!-- Confirmed CT2.5 -->
+		<set name="hairColorId" val="0" />
+		<set name="hitTime" val="500" />
 		<set name="isMagic" val="2" /> <!-- Static Skill -->
 		<set name="itemConsumeCount" val="1" />
-		<set name="target" val="TARGET_SELF" />
-		<set name="hitTime" val="500" />
-		<set name="skillType" val="CHANGE_APPEARANCE" />
-		<set name="hairColorId" val="0" />
+		<set name="magicLvl" val="1" />
 		<set name="operateType" val="A1" />
+		<set name="target" val="TARGET_SELF" />
+		<for>
+			<effect name="ChangeHairColor" noicon="1" val="0" />
+		</for>
 	</skill>
 	<skill id="2126" levels="1" name="Dye Potion">
+		<!-- Confirmed CT2.5 -->
+		<set name="hairColorId" val="1" />
+		<set name="hitTime" val="500" />
 		<set name="isMagic" val="2" /> <!-- Static Skill -->
 		<set name="itemConsumeCount" val="1" />
-		<set name="target" val="TARGET_SELF" />
-		<set name="hitTime" val="500" />
-		<set name="skillType" val="CHANGE_APPEARANCE" />
-		<set name="hairColorId" val="1" />
+		<set name="magicLvl" val="1" />
 		<set name="operateType" val="A1" />
+		<set name="target" val="TARGET_SELF" />
+		<for>
+			<effect name="ChangeHairColor" noicon="1" val="0" />
+		</for>
 	</skill>
 	<skill id="2127" levels="1" name="Dye Potion">
+		<!-- Confirmed CT2.5 -->
+		<set name="hairColorId" val="2" />
+		<set name="hitTime" val="500" />
 		<set name="isMagic" val="2" /> <!-- Static Skill -->
 		<set name="itemConsumeCount" val="1" />
-		<set name="target" val="TARGET_SELF" />
-		<set name="hitTime" val="500" />
-		<set name="skillType" val="CHANGE_APPEARANCE" />
-		<set name="hairColorId" val="2" />
+		<set name="magicLvl" val="1" />
 		<set name="operateType" val="A1" />
+		<set name="target" val="TARGET_SELF" />
+		<for>
+			<effect name="ChangeHairColor" noicon="1" val="0" />
+		</for>
 	</skill>
 	<skill id="2128" levels="1" name="Dye Potion">
+		<!-- Confirmed CT2.5 -->
+		<set name="hairColorId" val="3" />
+		<set name="hitTime" val="500" />
 		<set name="isMagic" val="2" /> <!-- Static Skill -->
 		<set name="itemConsumeCount" val="1" />
-		<set name="target" val="TARGET_SELF" />
-		<set name="hitTime" val="500" />
-		<set name="skillType" val="CHANGE_APPEARANCE" />
-		<set name="hairColorId" val="3" />
+		<set name="magicLvl" val="1" />
 		<set name="operateType" val="A1" />
+		<set name="target" val="TARGET_SELF" />
+		<for>
+			<effect name="ChangeHairColor" noicon="1" val="0" />
+		</for>
 	</skill>
 	<skill id="2129" levels="1" name="Hair Style Change Potion">
+		<!-- Confirmed CT2.5 -->
+		<set name="hairStyleId" val="0" />
+		<set name="hitTime" val="500" />
 		<set name="isMagic" val="2" /> <!-- Static Skill -->
 		<set name="itemConsumeCount" val="1" />
-		<set name="target" val="TARGET_SELF" />
-		<set name="hitTime" val="500" />
-		<set name="skillType" val="CHANGE_APPEARANCE" />
-		<set name="hairStyleId" val="0" />
+		<set name="magicLvl" val="1" />
 		<set name="operateType" val="A1" />
+		<set name="target" val="TARGET_SELF" />
+		<for>
+			<effect name="ChangeHairStyle" noicon="1" val="0" />
+		</for>
 	</skill>
 	<skill id="2130" levels="1" name="Hair Style Change Potion">
+		<!-- Confirmed CT2.5 -->
+		<set name="hairStyleId" val="1" />
+		<set name="hitTime" val="500" />
 		<set name="isMagic" val="2" /> <!-- Static Skill -->
 		<set name="itemConsumeCount" val="1" />
-		<set name="target" val="TARGET_SELF" />
-		<set name="hitTime" val="500" />
-		<set name="skillType" val="CHANGE_APPEARANCE" />
-		<set name="hairStyleId" val="1" />
+		<set name="magicLvl" val="1" />
 		<set name="operateType" val="A1" />
+		<set name="target" val="TARGET_SELF" />
+		<for>
+			<effect name="ChangeHairStyle" noicon="1" val="0" />
+		</for>
 	</skill>
 	<skill id="2131" levels="1" name="Hair Style Change Potion">
+		<!-- Confirmed CT2.5 -->
+		<set name="hairStyleId" val="2" />
+		<set name="hitTime" val="500" />
 		<set name="isMagic" val="2" /> <!-- Static Skill -->
 		<set name="itemConsumeCount" val="1" />
-		<set name="target" val="TARGET_SELF" />
-		<set name="hitTime" val="500" />
-		<set name="skillType" val="CHANGE_APPEARANCE" />
-		<set name="hairStyleId" val="2" />
+		<set name="magicLvl" val="1" />
 		<set name="operateType" val="A1" />
+		<set name="target" val="TARGET_SELF" />
+		<for>
+			<effect name="ChangeHairStyle" noicon="1" val="0" />
+		</for>
 	</skill>
 	<skill id="2132" levels="1" name="Hair Style Change Potion">
+		<!-- Confirmed CT2.5 -->
+		<set name="hairStyleId" val="3" />
+		<set name="hitTime" val="500" />
 		<set name="isMagic" val="2" /> <!-- Static Skill -->
 		<set name="itemConsumeCount" val="1" />
-		<set name="target" val="TARGET_SELF" />
-		<set name="hitTime" val="500" />
-		<set name="skillType" val="CHANGE_APPEARANCE" />
-		<set name="hairStyleId" val="3" />
+		<set name="magicLvl" val="1" />
 		<set name="operateType" val="A1" />
+		<set name="target" val="TARGET_SELF" />
+		<for>
+			<effect name="ChangeHairStyle" noicon="1" val="0" />
+		</for>
 	</skill>
 	<skill id="2133" levels="1" name="Hair Style Change Potion">
+		<!-- Confirmed CT2.5 -->
+		<set name="hairStyleId" val="4" />
+		<set name="hitTime" val="500" />
 		<set name="isMagic" val="2" /> <!-- Static Skill -->
 		<set name="itemConsumeCount" val="1" />
-		<set name="target" val="TARGET_SELF" />
-		<set name="hitTime" val="500" />
-		<set name="skillType" val="CHANGE_APPEARANCE" />
-		<set name="hairStyleId" val="4" />
+		<set name="magicLvl" val="1" />
 		<set name="operateType" val="A1" />
+		<set name="target" val="TARGET_SELF" />
+		<for>
+			<effect name="ChangeHairStyle" noicon="1" val="0" />
+		</for>
 	</skill>
 	<skill id="2134" levels="1" name="Hair Style Change Potion">
+		<!-- Confirmed CT2.5 -->
+		<set name="hairStyleId" val="5" />
+		<set name="hitTime" val="500" />
 		<set name="isMagic" val="2" /> <!-- Static Skill -->
 		<set name="itemConsumeCount" val="1" />
-		<set name="target" val="TARGET_SELF" />
-		<set name="hitTime" val="500" />
-		<set name="skillType" val="CHANGE_APPEARANCE" />
-		<set name="hairStyleId" val="5" />
+		<set name="magicLvl" val="1" />
 		<set name="operateType" val="A1" />
+		<set name="target" val="TARGET_SELF" />
+		<for>
+			<effect name="ChangeHairStyle" noicon="1" val="0" />
+		</for>
 		<cond msgId="1518">
 			<player sex="1" />
 		</cond>
 	</skill>
 	<skill id="2135" levels="1" name="Hair Style Change Potion">
+		<!-- Confirmed CT2.5 -->
+		<set name="hairStyleId" val="6" />
+		<set name="hitTime" val="500" />
 		<set name="isMagic" val="2" /> <!-- Static Skill -->
 		<set name="itemConsumeCount" val="1" />
-		<set name="target" val="TARGET_SELF" />
-		<set name="hitTime" val="500" />
-		<set name="skillType" val="CHANGE_APPEARANCE" />
-		<set name="hairStyleId" val="6" />
+		<set name="magicLvl" val="1" />
 		<set name="operateType" val="A1" />
+		<set name="target" val="TARGET_SELF" />
+		<for>
+			<effect name="ChangeHairStyle" noicon="1" val="0" />
+		</for>
 		<cond msgId="1518">
 			<player sex="1" />
 		</cond>

+ 72 - 37
L2J_DataPack_BETA/dist/game/data/stats/skills/02200-02299.xml

@@ -1710,85 +1710,120 @@
 		</for>
 	</skill>
 	<skill id="2291" levels="1" name="Facelifting Potion">
+		<!-- Confirmed CT2.5 -->
+		<set name="faceId" val="0" />
+		<set name="hitTime" val="500" />
 		<set name="isMagic" val="2" /> <!-- Static Skill -->
 		<set name="itemConsumeCount" val="1" />
-		<set name="target" val="TARGET_SELF" />
-		<set name="hitTime" val="500" />
-		<set name="skillType" val="CHANGE_APPEARANCE" />
-		<set name="faceId" val="0" />
+		<set name="magicLvl" val="1" />
 		<set name="operateType" val="A1" />
+		<set name="target" val="TARGET_SELF" />
+		<for>
+			<effect name="ChangeFace" noicon="1" val="0" />
+		</for>
 	</skill>
 	<skill id="2292" levels="1" name="Facelifting Potion">
+		<!-- Confirmed CT2.5 -->
+		<set name="faceId" val="1" />
+		<set name="hitTime" val="500" />
 		<set name="isMagic" val="2" /> <!-- Static Skill -->
 		<set name="itemConsumeCount" val="1" />
-		<set name="target" val="TARGET_SELF" />
-		<set name="hitTime" val="500" />
-		<set name="skillType" val="CHANGE_APPEARANCE" />
-		<set name="faceId" val="1" />
+		<set name="magicLvl" val="1" />
 		<set name="operateType" val="A1" />
+		<set name="target" val="TARGET_SELF" />
+		<for>
+			<effect name="ChangeFace" noicon="1" val="0" />
+		</for>
 	</skill>
 	<skill id="2293" levels="1" name="Facelifting Potion">
+		<!-- Confirmed CT2.5 -->
+		<set name="faceId" val="2" />
+		<set name="hitTime" val="500" />
 		<set name="isMagic" val="2" /> <!-- Static Skill -->
 		<set name="itemConsumeCount" val="1" />
-		<set name="target" val="TARGET_SELF" />
-		<set name="hitTime" val="500" />
-		<set name="skillType" val="CHANGE_APPEARANCE" />
-		<set name="faceId" val="2" />
+		<set name="magicLvl" val="1" />
 		<set name="operateType" val="A1" />
+		<set name="target" val="TARGET_SELF" />
+		<for>
+			<effect name="ChangeFace" noicon="1" val="0" />
+		</for>
 	</skill>
 	<skill id="2294" levels="1" name="Dye Potion">
+		<!-- Confirmed CT2.5 -->
+		<set name="hairColorId" val="0" />
+		<set name="hitTime" val="500" />
 		<set name="isMagic" val="2" /> <!-- Static Skill -->
 		<set name="itemConsumeCount" val="1" />
-		<set name="target" val="TARGET_SELF" />
-		<set name="hitTime" val="500" />
-		<set name="skillType" val="CHANGE_APPEARANCE" />
-		<set name="hairColorId" val="0" />
+		<set name="magicLvl" val="1" />
 		<set name="operateType" val="A1" />
+		<set name="target" val="TARGET_SELF" />
+		<for>
+			<effect name="ChangeHairColor" noicon="1" val="0" />
+		</for>
 	</skill>
 	<skill id="2295" levels="1" name="Dye Potion">
+		<!-- Confirmed CT2.5 -->
+		<set name="hairColorId" val="1" />
+		<set name="hitTime" val="500" />
 		<set name="isMagic" val="2" /> <!-- Static Skill -->
 		<set name="itemConsumeCount" val="1" />
-		<set name="target" val="TARGET_SELF" />
-		<set name="hitTime" val="500" />
-		<set name="skillType" val="CHANGE_APPEARANCE" />
-		<set name="hairColorId" val="1" />
+		<set name="magicLvl" val="1" />
 		<set name="operateType" val="A1" />
+		<set name="target" val="TARGET_SELF" />
+		<for>
+			<effect name="ChangeHairColor" noicon="1" val="0" />
+		</for>
 	</skill>
 	<skill id="2296" levels="1" name="Dye Potion">
+		<!-- Confirmed CT2.5 -->
+		<set name="hairColorId" val="2" />
+		<set name="hitTime" val="500" />
 		<set name="isMagic" val="2" /> <!-- Static Skill -->
 		<set name="itemConsumeCount" val="1" />
-		<set name="target" val="TARGET_SELF" />
-		<set name="hitTime" val="500" />
-		<set name="skillType" val="CHANGE_APPEARANCE" />
-		<set name="hairColorId" val="2" />
+		<set name="magicLvl" val="1" />
 		<set name="operateType" val="A1" />
+		<set name="target" val="TARGET_SELF" />
+		<for>
+			<effect name="ChangeHairColor" noicon="1" val="0" />
+		</for>
 	</skill>
 	<skill id="2297" levels="1" name="Dye Potion">
+		<!-- Confirmed CT2.5 -->
+		<set name="hairColorId" val="3" />
+		<set name="hitTime" val="500" />
 		<set name="isMagic" val="2" /> <!-- Static Skill -->
 		<set name="itemConsumeCount" val="1" />
-		<set name="target" val="TARGET_SELF" />
-		<set name="hitTime" val="500" />
-		<set name="skillType" val="CHANGE_APPEARANCE" />
-		<set name="hairColorId" val="3" />
+		<set name="magicLvl" val="1" />
 		<set name="operateType" val="A1" />
+		<set name="target" val="TARGET_SELF" />
+		<for>
+			<effect name="ChangeHairColor" noicon="1" val="0" />
+		</for>
 	</skill>
 	<skill id="2298" levels="1" name="Hair Style Change Potion">
+		<!-- Confirmed CT2.5 -->
+		<set name="hairStyleId" val="0" />
+		<set name="hitTime" val="500" />
 		<set name="isMagic" val="2" /> <!-- Static Skill -->
 		<set name="itemConsumeCount" val="1" />
-		<set name="target" val="TARGET_SELF" />
-		<set name="hitTime" val="500" />
-		<set name="skillType" val="CHANGE_APPEARANCE" />
-		<set name="hairStyleId" val="0" />
+		<set name="magicLvl" val="1" />
 		<set name="operateType" val="A1" />
+		<set name="target" val="TARGET_SELF" />
+		<for>
+			<effect name="ChangeHairStyle" noicon="1" val="0" />
+		</for>
 	</skill>
 	<skill id="2299" levels="1" name="Hair Style Change Potion">
+		<!-- Confirmed CT2.5 -->
+		<set name="hairStyleId" val="1" />
+		<set name="hitTime" val="500" />
 		<set name="isMagic" val="2" /> <!-- Static Skill -->
 		<set name="itemConsumeCount" val="1" />
-		<set name="target" val="TARGET_SELF" />
-		<set name="hitTime" val="500" />
-		<set name="skillType" val="CHANGE_APPEARANCE" />
-		<set name="hairStyleId" val="1" />
+		<set name="magicLvl" val="1" />
 		<set name="operateType" val="A1" />
-		<set name="trait" val="HOLD" />
+		<set name="target" val="TARGET_SELF" />
+		<for>
+			<effect name="ChangeHairStyle" noicon="1" val="0" />
+		</for>
 	</skill>
 </list>

+ 40 - 20
L2J_DataPack_BETA/dist/game/data/stats/skills/02300-02399.xml

@@ -1,52 +1,72 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../xsd/skills.xsd">
 	<skill id="2300" levels="1" name="Hair Style Change Potion">
+		<!-- Confirmed CT2.5 -->
+		<set name="hairStyleId" val="2" />
+		<set name="hitTime" val="500" />
 		<set name="isMagic" val="2" /> <!-- Static Skill -->
 		<set name="itemConsumeCount" val="1" />
-		<set name="target" val="TARGET_SELF" />
-		<set name="hitTime" val="500" />
-		<set name="skillType" val="CHANGE_APPEARANCE" />
-		<set name="hairStyleId" val="2" />
+		<set name="magicLvl" val="1" />
 		<set name="operateType" val="A1" />
+		<set name="target" val="TARGET_SELF" />
+		<for>
+			<effect name="ChangeHairStyle" noicon="1" val="0" />
+		</for>
 	</skill>
 	<skill id="2301" levels="1" name="Hair Style Change Potion">
+		<!-- Confirmed CT2.5 -->
+		<set name="hairStyleId" val="3" />
+		<set name="hitTime" val="500" />
 		<set name="isMagic" val="2" /> <!-- Static Skill -->
 		<set name="itemConsumeCount" val="1" />
-		<set name="target" val="TARGET_SELF" />
-		<set name="hitTime" val="500" />
-		<set name="skillType" val="CHANGE_APPEARANCE" />
-		<set name="hairStyleId" val="3" />
+		<set name="magicLvl" val="1" />
 		<set name="operateType" val="A1" />
+		<set name="target" val="TARGET_SELF" />
+		<for>
+			<effect name="ChangeHairStyle" noicon="1" val="0" />
+		</for>
 	</skill>
 	<skill id="2302" levels="1" name="Hair Style Change Potion">
+		<!-- Confirmed CT2.5 -->
+		<set name="hairStyleId" val="4" />
+		<set name="hitTime" val="500" />
 		<set name="isMagic" val="2" /> <!-- Static Skill -->
 		<set name="itemConsumeCount" val="1" />
-		<set name="target" val="TARGET_SELF" />
-		<set name="hitTime" val="500" />
-		<set name="skillType" val="CHANGE_APPEARANCE" />
-		<set name="hairStyleId" val="4" />
+		<set name="magicLvl" val="1" />
 		<set name="operateType" val="A1" />
+		<set name="target" val="TARGET_SELF" />
+		<for>
+			<effect name="ChangeHairStyle" noicon="1" val="0" />
+		</for>
 	</skill>
 	<skill id="2303" levels="1" name="Hair Style Change Potion">
+		<!-- Confirmed CT2.5 -->
+		<set name="hairStyleId" val="5" />
+		<set name="hitTime" val="500" />
 		<set name="isMagic" val="2" /> <!-- Static Skill -->
 		<set name="itemConsumeCount" val="1" />
-		<set name="target" val="TARGET_SELF" />
-		<set name="hitTime" val="500" />
-		<set name="skillType" val="CHANGE_APPEARANCE" />
-		<set name="hairStyleId" val="5" />
+		<set name="magicLvl" val="1" />
 		<set name="operateType" val="A1" />
+		<set name="target" val="TARGET_SELF" />
+		<for>
+			<effect name="ChangeHairStyle" noicon="1" val="0" />
+		</for>
 		<cond msgId="1518">
 			<player sex="1" />
 		</cond>
 	</skill>
 	<skill id="2304" levels="1" name="Hair Style Change Potion">
+		<!-- Confirmed CT2.5 -->
+		<set name="hairStyleId" val="6" />
+		<set name="hitTime" val="500" />
 		<set name="isMagic" val="2" /> <!-- Static Skill -->
 		<set name="itemConsumeCount" val="1" />
-		<set name="target" val="TARGET_SELF" />
-		<set name="hitTime" val="500" />
-		<set name="skillType" val="CHANGE_APPEARANCE" />
-		<set name="hairStyleId" val="6" />
+		<set name="magicLvl" val="1" />
 		<set name="operateType" val="A1" />
+		<set name="target" val="TARGET_SELF" />
+		<for>
+			<effect name="ChangeHairStyle" noicon="1" val="0" />
+		</for>
 		<cond msgId="1518">
 			<player sex="1" />
 		</cond>