diff --git a/L2J_DataPack_BETA/dist/game/data/scripts.cfg b/L2J_DataPack_BETA/dist/game/data/scripts.cfg
index 2aca63a6040c3c825f0a3365b21cad954490695b..9263062bd9d811b87e1f4ec0bb2527d98c143c44 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts.cfg
+++ b/L2J_DataPack_BETA/dist/game/data/scripts.cfg
@@ -584,6 +584,7 @@ quests/450_GraveRobberMemberRescue/__init__.py
 quests/451_LuciensAltar/__init__.py
 quests/Q452_FindingtheLostSoldiers/Q452_FindingtheLostSoldiers.java
 quests/Q453_NotStrongEnoughAlone/Q453_NotStrongEnoughAlone.java
+quests/Q458_PerfectForm/Q458_PerfectForm.java
 quests/Q461_RumbleInTheBase/Q461_RumbleInTheBase.java
 quests/Q463_IMustBeaGenius/Q463_IMustBeaGenius.java
 quests/501_ProofOfClanAlliance/__init__.py
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q458_PerfectForm/32768-01.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q458_PerfectForm/32768-01.htm
new file mode 100644
index 0000000000000000000000000000000000000000..9a983274fdce3e2e93abc9f3bc789195b72d7cb7
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q458_PerfectForm/32768-01.htm
@@ -0,0 +1,7 @@
+<html><body>Kelleyia:<br>
+By the looks of you, I can tell you aren't one of the locals... given the fact you can still stand up straight and don't look like you are about to pass out.<br>
+I'm a talent scout and I'm looking for the best of the best in Aden. Apparently, I made a mistake coming here first.<br>
+You look like you know your way around a weapon. Want to test your skills?<br>
+<a action="bypass -h Quest 458_PerfectForm 32768-04.htm">&quot;Talent Scout?&quot;</a><br>
+<a action="bypass -h Quest 458_PerfectForm 32768-06.htm">&quot;I don't want to brag, but yeah... I'm good.&quot;</a>
+</body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q458_PerfectForm/32768-02.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q458_PerfectForm/32768-02.html
new file mode 100644
index 0000000000000000000000000000000000000000..5a79ff666524caf5aadfcabbad43944918d4b4f3
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q458_PerfectForm/32768-02.html
@@ -0,0 +1,5 @@
+<html><body>Kelleyia:<br>
+Sorry. But it's time to go back home...<br>
+Please tell me all about it tomorrow.<br>
+(This is a quest that can be played only once a day. This quest resets everyday at 6:30 am.)
+</body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q458_PerfectForm/32768-03.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q458_PerfectForm/32768-03.html
new file mode 100644
index 0000000000000000000000000000000000000000..94f17270dd1e0ed6e4bf7d2a0ac65b3aeb215cbe
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q458_PerfectForm/32768-03.html
@@ -0,0 +1,5 @@
+<html><body>Kelleyia:<br>
+You will understand what I mean someday, adventurer.<br>
+When that time comes, we can combine our skills. You with your sword, and me with my brain.<br>
+(Only characters with levels 82 and above can play this quest.)
+</body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q458_PerfectForm/32768-04.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q458_PerfectForm/32768-04.htm
new file mode 100644
index 0000000000000000000000000000000000000000..7ac38f1437b852d6d90ade2b198b1262b9e11734
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q458_PerfectForm/32768-04.htm
@@ -0,0 +1,5 @@
+<html><body>Kelleyia:<br>
+Yes... someone who searches for someone who has talent. Not too bright are you. My boss, who wishes to remain nameless, has asked me to find adventurers who can demonstrate excellent combat skills. Those who are great are rewarded with greatness. Those who are horrible are rewarded with shame.<br>
+<a action="bypass -h Quest 458_PerfectForm 32768-05.htm">&quot;What type of skills are you looking for?&quot;</a><br>
+<a action="bypass -h Quest 458_PerfectForm 32768-06.htm">&quot;Look no further. Greatness has arrived.&quot;</a>
+</body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q458_PerfectForm/32768-05.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q458_PerfectForm/32768-05.htm
new file mode 100644
index 0000000000000000000000000000000000000000..8fb044ee60ccd6abefd0cb268554501aa2744c26
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q458_PerfectForm/32768-05.htm
@@ -0,0 +1,5 @@
+<html><body>Kelleyia:<br>
+Oh nothing much. We take a look at the area to see what can be done and then ask would-be-adventure-seekers such as you to do it.<br>
+For instance, the Beast Farm.There are a lot of animals that can be temperamental if raised incorrectly. So, we use that as inspiration when creating a challenge. But it can't be as easy as "kill X of Y". That is just so boring. No, you have to add in a little flare to it.<br>
+<a action="bypass -h Quest 458_PerfectForm 32768-06.htm">&quot;I think I see where this is going.&quot;</a>
+</body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q458_PerfectForm/32768-06.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q458_PerfectForm/32768-06.htm
new file mode 100644
index 0000000000000000000000000000000000000000..40201acd4246a09fe675454a28568f8b713de6b1
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q458_PerfectForm/32768-06.htm
@@ -0,0 +1,5 @@
+<html><body>Kelleyia:<br>
+Right. Down to business.<br>As you can see, there are <font color="LEVEL">Alpine Buffalo, Grendel, Cougar, and Kookaburra</font> all over the place. Cute in their infant state, but vicious if they are raised incorrectly.<br>
+There are 3 parts to the challenge.Part 1: Raise an Alpine animal to their adult state. Part 2: Slaughter the beast. Part 3...<br>
+<a action="bypass -h Quest 458_PerfectForm 32768-07.htm">&quot;Look good I think I get it.&quot;</a>
+</body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q458_PerfectForm/32768-07.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q458_PerfectForm/32768-07.htm
new file mode 100644
index 0000000000000000000000000000000000000000..2b429010885e023ba9fb78ef6fa55c2989eae573
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q458_PerfectForm/32768-07.htm
@@ -0,0 +1,5 @@
+<html><body>Kelleyia:<br>
+No, you do NOT get it you amateur. Part 3 is the most important part of the challenge. It separates the no talent wannabes from the pros.<br>
+You must score <font color="LEVEL">Over-hits on fully grown Alpine animals</font>. A kill is a kill and that is all fine and dandy, but we are looking for perfection here. Bonus points are scored for performing <font color="LEVEL">Critical Over-hits</font>.<br>Do you understand the challenge?<br>
+<a action="bypass -h Quest 458_PerfectForm 32768-08.htm">&quot;Yes... I think.&quot;</a>
+</body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q458_PerfectForm/32768-08.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q458_PerfectForm/32768-08.htm
new file mode 100644
index 0000000000000000000000000000000000000000..fd83b305a71645a9ded6d34fde4202c0d70bd76a
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q458_PerfectForm/32768-08.htm
@@ -0,0 +1,9 @@
+<html><body>Kelleyia:<br>
+Really... you really want me to go over this again? It is simple. 
+Find an <font color="LEVEL">Alpine Kookaburra, Alpine Cougar, Alpine Buffalo, or Alpine Grendel</font> and feed it on spice until it grows into an adult. Speak to my associate over here to purchase spice.<br>
+Once it is an adult, kill it trying to score as many <font color="LEVEL">Over-hits and Critical Over-hits</font> as possible.<br>
+The limit is <font color="LEVEL">10 of each</font> type of animal. That's a total of 40 if you can't add. If you can't score an Over-hit before killing an animal, you'll have to wait until tomorrow to try again.<br>
+Do you think you can follow these directions?<br>
+<a action="bypass -h Quest 458_PerfectForm 32768-12.html">Accept the challenge.</a><br>
+<a action="bypass -h Quest 458_PerfectForm 32768-09.htm">Annoy Her.</a>
+</body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q458_PerfectForm/32768-09.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q458_PerfectForm/32768-09.htm
new file mode 100644
index 0000000000000000000000000000000000000000..5aa90207bff2771df75f4993eca249d59cd44304
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q458_PerfectForm/32768-09.htm
@@ -0,0 +1,5 @@
+<html><body>Kelleyia:<br>
+Am I wasting my time here or what? Do you want to see if you got what it takes, or am I going to have to go speak to some other adventurer who can stop annoying me?<br>
+<a action="bypass -h Quest 458_PerfectForm 32768-12.html">Accept the challenge.</a><br>
+<a action="bypass -h Quest 458_PerfectForm 32768-10.htm">Keep annoying her.</a>
+</body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q458_PerfectForm/32768-10.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q458_PerfectForm/32768-10.htm
new file mode 100644
index 0000000000000000000000000000000000000000..809add2e38e59f59d7677817a0cf2cabff28a287
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q458_PerfectForm/32768-10.htm
@@ -0,0 +1,6 @@
+<html><body>Kelleyia:<br>
+No, no, no, I will not be drawn into this ridiculous game.<br>
+Either accept the challenge or walk away.<br>
+<a action="bypass -h Quest 458_PerfectForm 32768-12.html">Accept the challenge.</a><br>
+<a action="bypass -h Quest 458_PerfectForm 32768-11.htm">Keep annoying her.</a>
+</body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q458_PerfectForm/32768-11.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q458_PerfectForm/32768-11.htm
new file mode 100644
index 0000000000000000000000000000000000000000..036b94c95e0795be4e23aa4e4eea5d71908e2e04
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q458_PerfectForm/32768-11.htm
@@ -0,0 +1,5 @@
+<html><body>Kelleyia:<br>
+Ah, seriously, there isn't anything further if you keep annoying me. Go ahead and accept the challenge.<br>
+<a action="bypass -h Quest 458_PerfectForm 32768-12.html">Accept the challenge.</a><br>
+<a action="bypass -h Quest 458_PerfectForm 32768-17.html">KEEP ANNOYING HER.</a>
+</body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q458_PerfectForm/32768-12.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q458_PerfectForm/32768-12.html
new file mode 100644
index 0000000000000000000000000000000000000000..2d54a9fd4a6eb0519ebcb0a849edc4e9a20d2333
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q458_PerfectForm/32768-12.html
@@ -0,0 +1,5 @@
+<html><body>Kelleyia:<br>
+We have set up spotters all around the area to watch you so you can't cheat.<br>
+We will keep track and let you know how well you have done.<br>
+Break a leg!
+</body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q458_PerfectForm/32768-13.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q458_PerfectForm/32768-13.html
new file mode 100644
index 0000000000000000000000000000000000000000..24b179ecabdffe60e87a1ca8db9a2d925acdba12
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q458_PerfectForm/32768-13.html
@@ -0,0 +1,3 @@
+<html><body>Kelleyia:<br>
+Remember, we will be judging you based on skill, technique, and consistency. We are looking for total perfection.<br>Fully grown <font color="LEVEL">Alpine Kookaburra, Alpine Cougar, Alpine Buffalo, Alpine Grendel</font> and <font color="LEVEL">Over-hits</font> count. Anything else is worthless.
+</body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q458_PerfectForm/32768-14.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q458_PerfectForm/32768-14.html
new file mode 100644
index 0000000000000000000000000000000000000000..4e446a3b5275987e3a3d2e94d9946591b0359ec9
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q458_PerfectForm/32768-14.html
@@ -0,0 +1,4 @@
+<html><body>Kelleyia:<br>
+Our spotters have reported you aren't quite finished yet.<br>
+Get back in the field and show us what you got.</body>
+</html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q458_PerfectForm/32768-15.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q458_PerfectForm/32768-15.html
new file mode 100644
index 0000000000000000000000000000000000000000..af49cf4ad3c31636a02f2faa980d49a21456bac4
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q458_PerfectForm/32768-15.html
@@ -0,0 +1,5 @@
+<html><body>Kelleyia:<br>
+And done... you look a little winded. Are you sure that wasn't too much for you?<br>
+Are you ready to hear your results?<br>
+<a action="bypass -h Quest 458_PerfectForm 32768-16.html">Listen to Results.</a>
+</body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q458_PerfectForm/32768-16a.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q458_PerfectForm/32768-16a.html
new file mode 100644
index 0000000000000000000000000000000000000000..282fd539bb4fc8fa809c465f6e6ec771a3ac7ef2
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q458_PerfectForm/32768-16a.html
@@ -0,0 +1,4 @@
+<html><body>Kelleyia:<br>
+First, I'd like to discuss your skill level. Out of the 40 kills, you had <font color="LEVEL">%overhits% Over-hits</font>. Wow, a perfect number! I almost never see that!<br>
+<a action="bypass -h Quest 458_PerfectForm 32768-17.html">Graciously accept the award.</a>
+</body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q458_PerfectForm/32768-16b.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q458_PerfectForm/32768-16b.html
new file mode 100644
index 0000000000000000000000000000000000000000..ad012cfa38f2f056fb5220b91c4e5d7a99393be4
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q458_PerfectForm/32768-16b.html
@@ -0,0 +1,4 @@
+<html><body>Kelleyia:<br>
+First, I'd like to discuss your skill level. Out of the 40 kills, you had <font color="LEVEL">%overhits% Over-hits</font>. It's okay... but not great. We have seen better.<br>
+<a action="bypass -h Quest 458_PerfectForm 32768-17.html">Embarrassed... accept the reward.</a>
+</body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q458_PerfectForm/32768-16c.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q458_PerfectForm/32768-16c.html
new file mode 100644
index 0000000000000000000000000000000000000000..418552a180f8a543915e15bbabca15ac14fcbe74
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q458_PerfectForm/32768-16c.html
@@ -0,0 +1,4 @@
+<html><body>Kelleyia:<br>
+First, I'd like to discuss your skill level. Out of the 40 kills, you had <font color="LEVEL">%overhits% Over-hits</font>. Hmm... seems like you didn't quite understand the challenge. Or is it that you just don't have what it takes to be a pro.<br>
+<a action="bypass -h Quest 458_PerfectForm 32768-17.html">Humiliated... accept the reward.</a>
+</body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q458_PerfectForm/32768-17.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q458_PerfectForm/32768-17.html
new file mode 100644
index 0000000000000000000000000000000000000000..c1aa2f3010049f325a44a12952a0aa7b87bf4a54
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q458_PerfectForm/32768-17.html
@@ -0,0 +1,3 @@
+<html><body>Kelleyia:<br>
+If you want to give it a shot again, let me know.
+</body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q458_PerfectForm/Q458_PerfectForm.java b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q458_PerfectForm/Q458_PerfectForm.java
new file mode 100644
index 0000000000000000000000000000000000000000..964d313d51344b220936051fbb1ff57b610cf823
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q458_PerfectForm/Q458_PerfectForm.java
@@ -0,0 +1,273 @@
+/*
+ * This program 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.
+ * 
+ * This program 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 quests.Q458_PerfectForm;
+
+import com.l2jserver.Config;
+import com.l2jserver.gameserver.model.actor.L2Attackable;
+import com.l2jserver.gameserver.model.actor.L2Npc;
+import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jserver.gameserver.model.holders.ItemHolder;
+import com.l2jserver.gameserver.model.quest.Quest;
+import com.l2jserver.gameserver.model.quest.QuestState;
+import com.l2jserver.gameserver.model.quest.QuestState.QuestType;
+import com.l2jserver.gameserver.model.quest.State;
+import com.l2jserver.gameserver.util.Util;
+import com.l2jserver.util.Rnd;
+
+/**
+ * @author centrio, Zoey76
+ */
+public class Q458_PerfectForm extends Quest
+{
+	private static final String qn = "458_PerfectForm";
+	
+	// NPCs
+	private static final int _Kelleyia = 32768;
+	
+	// Mobs
+	private static final int[] _mobs1 =
+	{
+		18878,
+		18879
+	};
+	private static final int[] _mobs2 =
+	{
+		18885,
+		18886
+	};
+	private static final int[] _mobs3 =
+	{
+		18892,
+		18893
+	};
+	private static final int[] _mobs4 =
+	{
+		18899,
+		18900
+	};
+	
+	private final int[][] _mobs =
+	{
+		_mobs1,
+		_mobs2,
+		_mobs3,
+		_mobs4
+	};
+	
+	private static final ItemHolder[] _rewards1 =
+	{
+		new ItemHolder(10397, 2),
+		new ItemHolder(10398, 2),
+		new ItemHolder(10399, 2),
+		new ItemHolder(10400, 2),
+		new ItemHolder(10401, 2),
+		new ItemHolder(10402, 2),
+		new ItemHolder(10403, 2),
+		new ItemHolder(10404, 2),
+		new ItemHolder(10405, 2)
+	};
+	
+	private static final ItemHolder[] _rewards2 =
+	{
+		new ItemHolder(10397, 5),
+		new ItemHolder(10398, 5),
+		new ItemHolder(10399, 5),
+		new ItemHolder(10400, 5),
+		new ItemHolder(10401, 5),
+		new ItemHolder(10402, 5),
+		new ItemHolder(10403, 5),
+		new ItemHolder(10404, 5),
+		new ItemHolder(10405, 5)
+	};
+	
+	private static final ItemHolder[] _rewards3 =
+	{
+		new ItemHolder(10373, 1),
+		new ItemHolder(10374, 1),
+		new ItemHolder(10375, 1),
+		new ItemHolder(10376, 1),
+		new ItemHolder(10377, 1),
+		new ItemHolder(10378, 1),
+		new ItemHolder(10379, 1),
+		new ItemHolder(10380, 1),
+		new ItemHolder(10381, 1)
+	};
+	
+	public Q458_PerfectForm(int questId, String name, String descr)
+	{
+		super(questId, name, descr);
+		
+		addStartNpc(_Kelleyia);
+		addTalkId(_Kelleyia);
+		
+		addKillId(_mobs1);
+		addKillId(_mobs2);
+		addKillId(_mobs3);
+		addKillId(_mobs4);
+	}
+	
+	@Override
+	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+	{
+		String htmltext = event;
+		final QuestState st = player.getQuestState(qn);
+		if (st == null)
+		{
+			return htmltext;
+		}
+		
+		if (npc.getNpcId() == _Kelleyia)
+		{
+			final int overHits = st.getInt("overHits");
+			if (event.equalsIgnoreCase("32768-12.html"))
+			{
+				st.setState(State.STARTED);
+				st.set("cond", "1");
+				st.playSound("ItemSound.quest_accept");
+			}
+			else if (event.equalsIgnoreCase("32768-16.html"))
+			{
+				if ((overHits >= 0) && (overHits <= 6))
+				{
+					htmltext = getHtm(st.getPlayer().getHtmlPrefix(), "32768-16c.html");
+					htmltext = htmltext.replace("%overhits%", "" + overHits);
+				}
+				else if ((overHits >= 7) && (overHits <= 19))
+				{
+					htmltext = getHtm(st.getPlayer().getHtmlPrefix(), "32768-16b.html");
+					htmltext = htmltext.replace("%overhits%", "" + overHits);
+				}
+				else if (overHits >= 20)
+				{
+					htmltext = getHtm(st.getPlayer().getHtmlPrefix(), "32768-16a.html");
+					htmltext = htmltext.replace("%overhits%", "" + overHits);
+				}
+			}
+			else if (event.equalsIgnoreCase("32768-17.html"))
+			{
+				if ((overHits >= 0) && (overHits <= 6))
+				{
+					final int rnd = Rnd.get(_rewards1.length);
+					st.giveItems(_rewards1[rnd].getId(), _rewards1[rnd].getCount() * (long) Config.RATE_QUEST_REWARD);
+				}
+				else if ((overHits >= 7) && (overHits <= 19))
+				{
+					final int rnd = Rnd.get(_rewards2.length);
+					st.giveItems(_rewards2[rnd].getId(), _rewards2[rnd].getCount() * (long) Config.RATE_QUEST_REWARD);
+				}
+				else if (overHits >= 20)
+				{
+					final int rnd = Rnd.get(_rewards3.length);
+					st.giveItems(_rewards3[rnd].getId(), _rewards3[rnd].getCount() * (long) Config.RATE_QUEST_REWARD);
+				}
+				
+				st.giveItems(15482, (int) Config.RATE_QUEST_REWARD);
+				st.giveItems(15483, (int) Config.RATE_QUEST_REWARD);
+				st.playSound("ItemSound.quest_finish");
+				st.exitQuest(QuestType.DAILY);
+			}
+		}
+		return htmltext;
+	}
+	
+	@Override
+	public String onTalk(L2Npc npc, L2PcInstance player)
+	{
+		String htmltext = getNoQuestMsg(player);
+		final QuestState st = player.getQuestState(qn);
+		if (st == null)
+		{
+			return htmltext;
+		}
+		
+		if (npc.getNpcId() == _Kelleyia)
+		{
+			switch (st.getState())
+			{
+				case State.CREATED:
+					htmltext = (player.getLevel() >= 82) ? "32768-01.htm" : "32768-03.html";
+					break;
+				case State.STARTED:
+					final int cond = st.getInt("cond");
+					if (cond == 1)
+					{
+						if ((st.getInt("mobs1") == 0) && (st.getInt("mobs2") == 0) && (st.getInt("mobs3") == 0) && (st.getInt("mobs4") == 0))
+						{
+							htmltext = "32768-13.html";
+						}
+						else
+						{
+							htmltext = "32768-14.html";
+						}
+					}
+					else if (cond == 2)
+					{
+						htmltext = "32768-15.html";
+					}
+					break;
+				case State.COMPLETED:
+					if (st.isNowAvailable())
+					{
+						st.setState(State.CREATED); // Not required, but it'll set the proper state.
+						htmltext = (player.getLevel() >= 82) ? "32768-01.htm" : "32768-03.html";
+					}
+					else
+					{
+						htmltext = "32768-02.html";
+					}
+					break;
+			}
+		}
+		return htmltext;
+	}
+	
+	@Override
+	public String onKill(L2Npc npc, L2PcInstance player, boolean isPet)
+	{
+		final QuestState st = player.getQuestState(qn);
+		if (st == null)
+		{
+			return null;
+		}
+		
+		if (st.getInt("cond") == 1)
+		{
+			final int npcId = npc.getNpcId();
+			for (int m = 0; m < _mobs.length; m++)
+			{
+				if (Util.contains(_mobs[m], npcId))
+				{
+					st.set("mobs" + (m + 1), String.valueOf(st.getInt("mobs" + (m + 1)) + 1));
+					if (((L2Attackable) npc).isOverhit())
+					{
+						st.set("overHits", String.valueOf(st.getInt("overHits") + 1));
+					}
+					
+					if ((st.getInt("mobs1") >= 10) && (st.getInt("mobs2") >= 10) && (st.getInt("mobs3") >= 10) && (st.getInt("mobs4") >= 10))
+					{
+						st.set("cond", "2");
+					}
+					break;
+				}
+			}
+		}
+		return super.onKill(npc, player, isPet);
+	}
+	
+	public static void main(String[] args)
+	{
+		new Q458_PerfectForm(458, qn, "Perfect Form");
+	}
+}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q463_IMustBeaGenius/Q463_IMustBeaGenius.java b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q463_IMustBeaGenius/Q463_IMustBeaGenius.java
index cede91e50312f40476e464cc61416b72b1aa3ec1..194b5b40b68f051588a495e95de54c3161544d0c 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q463_IMustBeaGenius/Q463_IMustBeaGenius.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q463_IMustBeaGenius/Q463_IMustBeaGenius.java
@@ -25,9 +25,8 @@ import com.l2jserver.gameserver.util.Util;
 import com.l2jserver.util.Rnd;
 
 /**
- ** @author Gnacik
- **
- ** 2010-08-19 Based on Freya PTS
+ * 2010-08-19 Based on Freya PTS.
+ * @author Gnacik
  */
 public class Q463_IMustBeaGenius extends Quest
 {
@@ -35,16 +34,29 @@ public class Q463_IMustBeaGenius extends Quest
 	private static final int _gutenhagen = 32069;
 	private static final int _corpse_log = 15510;
 	private static final int _collection = 15511;
-	private static final int[] _mobs = { 22801, 22802, 22804, 22805, 22807, 22808, 22809, 22810, 22811, 22812};
+	private static final int[] _mobs =
+	{
+		22801,
+		22802,
+		22804,
+		22805,
+		22807,
+		22808,
+		22809,
+		22810,
+		22811,
+		22812
+	};
 	
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = event;
-		QuestState st = player.getQuestState(qn);
-		
+		final QuestState st = player.getQuestState(qn);
 		if (st == null)
+		{
 			return htmltext;
+		}
 		
 		if (npc.getNpcId() == _gutenhagen)
 		{
@@ -57,15 +69,17 @@ public class Q463_IMustBeaGenius extends Quest
 				int _number = Rnd.get(500, 600);
 				st.set("number", String.valueOf(_number));
 				// Set drop for mobs
-				for(int _mob : _mobs)
+				for (int _mob : _mobs)
 				{
 					int _rand = Rnd.get(-2, 4);
-					if(_rand == 0)
+					if (_rand == 0)
+					{
 						_rand = 5;
+					}
 					st.set(String.valueOf(_mob), String.valueOf(_rand));
 				}
 				// One with higher chance
-				st.set(String.valueOf(_mobs[Rnd.get(0, _mobs.length-1)]), String.valueOf(Rnd.get(1, 100)));
+				st.set(String.valueOf(_mobs[Rnd.get(0, _mobs.length - 1)]), String.valueOf(Rnd.get(1, 100)));
 				htmltext = getHtm(st.getPlayer().getHtmlPrefix(), "32069-03.htm");
 				htmltext = htmltext.replace("%num%", String.valueOf(_number));
 			}
@@ -79,8 +93,10 @@ public class Q463_IMustBeaGenius extends Quest
 				st.addExpAndSp(317961, 25427);
 				st.unset("cond");
 				st.unset("number");
-				for(int _mob : _mobs)
+				for (int _mob : _mobs)
+				{
 					st.unset(String.valueOf(_mob));
+				}
 				st.takeItems(_collection, -1);
 				st.playSound("ItemSound.quest_finish");
 				st.exitQuest(false);
@@ -95,25 +111,28 @@ public class Q463_IMustBeaGenius extends Quest
 		String htmltext = getNoQuestMsg(player);
 		QuestState st = player.getQuestState(qn);
 		if (st == null)
+		{
 			return htmltext;
+		}
 		
 		if (npc.getNpcId() == _gutenhagen)
 		{
-			switch(st.getState())
+			switch (st.getState())
 			{
-				case State.CREATED :
-					if (player.getLevel() >= 70)
-						htmltext = "32069-01.htm";
-					else
-						htmltext = "32069-00.htm";
+				case State.CREATED:
+					htmltext = (player.getLevel() >= 70) ? "32069-01.htm" : "32069-00.htm";
 					break;
-				case State.STARTED :
+				case State.STARTED:
 					if (st.getInt("cond") == 1)
+					{
 						htmltext = "32069-04.htm";
-					else if(st.getInt("cond") == 2)
+					}
+					else if (st.getInt("cond") == 2)
+					{
 						htmltext = "32069-06.htm";
+					}
 					break;
-				case State.COMPLETED :
+				case State.COMPLETED:
 					htmltext = "32069-08.htm";
 					break;
 			}
@@ -124,36 +143,38 @@ public class Q463_IMustBeaGenius extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance player, boolean isPet)
 	{
-		QuestState st = player.getQuestState(qn);
+		final QuestState st = player.getQuestState(qn);
 		if (st == null)
+		{
 			return null;
+		}
 		
-		if (st.getState() == State.STARTED && st.getInt("cond") == 1 && Util.contains(_mobs, npc.getNpcId()))
+		if (st.isStarted() && (st.getInt("cond") == 1) && Util.contains(_mobs, npc.getNpcId()))
 		{
 			int _day_number = st.getInt("number");
 			int _number = st.getInt(String.valueOf(npc.getNpcId()));
 			
-			if(_number > 0)
+			if (_number > 0)
 			{
 				st.giveItems(_corpse_log, _number);
 				st.playSound("ItemSound.quest_itemget");
 				NpcSay ns = new NpcSay(npc.getObjectId(), 0, npc.getNpcId(), NpcStringId.ATT_ATTACK_S1_RO_ROGUE_S2);
 				ns.addStringParameter(player.getName());
 				ns.addStringParameter(String.valueOf(_number));
-
+				
 				npc.broadcastPacket(ns);
-
+				
 			}
-			else if (_number < 0 && ((st.getQuestItemsCount(_corpse_log)+_number) > 0))
+			else if ((_number < 0) && ((st.getQuestItemsCount(_corpse_log) + _number) > 0))
 			{
 				st.takeItems(_corpse_log, Math.abs(_number));
 				st.playSound("ItemSound.quest_itemget");
 				NpcSay ns = new NpcSay(npc.getObjectId(), 0, npc.getNpcId(), NpcStringId.ATT_ATTACK_S1_RO_ROGUE_S2);
 				ns.addStringParameter(player.getName());
 				ns.addStringParameter(String.valueOf(_number));
-
+				
 				npc.broadcastPacket(ns);
-
+				
 			}
 			
 			if (st.getQuestItemsCount(_corpse_log) == _day_number)
@@ -173,8 +194,7 @@ public class Q463_IMustBeaGenius extends Quest
 		
 		addStartNpc(_gutenhagen);
 		addTalkId(_gutenhagen);
-		for(int _mob : _mobs)
-			addKillId(_mob);
+		addKillId(_mobs);
 	}
 	
 	public static void main(String[] args)
@@ -182,5 +202,3 @@ public class Q463_IMustBeaGenius extends Quest
 		new Q463_IMustBeaGenius(463, qn, "I Must Be a Genius");
 	}
 }
-
-