diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-00.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-00.htm
new file mode 100644
index 0000000000000000000000000000000000000000..e0f1c8f4de052f48ca169c2d39071f0f8baa1eac
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-00.htm
@@ -0,0 +1,6 @@
+<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>
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-01.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-01.htm
index 480595cef12219d91f1ad397d5572000a8e2c643..690c9b7ae4e486c1f9e9a9fec796ec9a15965334 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-01.htm
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-01.htm
@@ -1,7 +1,8 @@
-<html><body>Kelleyia:<br>
+<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 Q00458_PerfectForm 32768-04.htm">"Talent Scout?"</a><br>
-<a action="bypass -h Quest Q00458_PerfectForm 32768-06.htm">"I don't want to brag, but yeah... I'm good."</a>
-</body></html>
\ No newline at end of file
+<a action="bypass -h Quest Q00458_PerfectForm 32768-02.html">"Talent Scout?"</a><br>
+<a action="bypass -h Quest Q00458_PerfectForm 32768-04.html">"I don't want to brag, but yeah... I'm good."</a>
+</body></html>
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-02.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-02.html
index 5a79ff666524caf5aadfcabbad43944918d4b4f3..613b8a2c03d680a0749c2bd1b676b95ff01d00c0 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-02.html
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-02.html
@@ -1,5 +1,6 @@
-<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
+<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 Q00458_PerfectForm 32768-03.html">"What type of skills are you looking for?"</a><br>
+<a action="bypass -h Quest Q00458_PerfectForm 32768-04.html">"Look no further. Greatness has arrived."</a>
+</body></html>
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-03.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-03.html
index 94f17270dd1e0ed6e4bf7d2a0ac65b3aeb215cbe..fcf549724d3a1ab82994d293c8feafe22feb69e3 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-03.html
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-03.html
@@ -1,5 +1,6 @@
-<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
+<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 Q00458_PerfectForm 32768-04.html">"I think I see where this is going."</a>
+</body></html>
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-04.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-04.htm
deleted file mode 100644
index e08e6bc95da672e6cab32cd6ba0f3e43c58e7c9d..0000000000000000000000000000000000000000
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-04.htm
+++ /dev/null
@@ -1,5 +0,0 @@
-<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 Q00458_PerfectForm 32768-05.htm">"What type of skills are you looking for?"</a><br>
-<a action="bypass -h Quest Q00458_PerfectForm 32768-06.htm">"Look no further. Greatness has arrived."</a>
-</body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-04.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-04.html
new file mode 100644
index 0000000000000000000000000000000000000000..5fc36cb9a82f20c5ae64467a063b33f899594498
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-04.html
@@ -0,0 +1,7 @@
+<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 Q00458_PerfectForm 32768-05.html">"Looks good... I think I get it."</a>
+</body></html>
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-05.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-05.htm
deleted file mode 100644
index cd1e837b3aa28269cce3d5f5cae33fa02080bf3b..0000000000000000000000000000000000000000
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-05.htm
+++ /dev/null
@@ -1,5 +0,0 @@
-<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 Q00458_PerfectForm 32768-06.htm">"I think I see where this is going."</a>
-</body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-05.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-05.html
new file mode 100644
index 0000000000000000000000000000000000000000..44d1216c0ab11f5aee4b1af50f26504c69c1335a
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-05.html
@@ -0,0 +1,7 @@
+<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 Q00458_PerfectForm 32768-06.htm">"Yes... I think."</a>
+</body></html>
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-06.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-06.htm
index 6ea3b68d73cbcce2d283a87fafb1b5319450a826..b7c24ffdf342548729ab367000d720790357ade7 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-06.htm
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-06.htm
@@ -1,6 +1,9 @@
-<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 Q00458_PerfectForm 32768-07.htm">"Look good I think I get it."</a>
-</body></html>
\ No newline at end of file
+<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 Q00458_PerfectForm 32768-10.htm">Accept the challenge.</a><br>
+<a action="bypass -h Quest Q00458_PerfectForm 32768-07.htm">Annoy Her.</a>
+</body></html>
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-07.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-07.htm
index ba4b3990a51664c62a77a415b0bbc4e69a295a6d..20ff31a39059e5aa223c4b8f6156added207112d 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-07.htm
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-07.htm
@@ -1,6 +1,6 @@
-<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 Q00458_PerfectForm 32768-08.htm">"Yes... I think."</a>
-</body></html>
\ No newline at end of file
+<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 Q00458_PerfectForm 32768-10.htm">Accept the challenge.</a><br>
+<a action="bypass -h Quest Q00458_PerfectForm 32768-08.htm">Keep annoying her.</a>
+</body></html>
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-08.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-08.htm
index aa061e74cfaffe8aac69f9d294a1dec00c050f85..84543a58992b03086585bfafeb64ea1467a8c4df 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-08.htm
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-08.htm
@@ -1,8 +1,7 @@
-<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 Q00458_PerfectForm 32768-12.html">Accept the challenge.</a><br>
-<a action="bypass -h Quest Q00458_PerfectForm 32768-09.htm">Annoy Her.</a>
-</body></html>
\ No newline at end of file
+<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 Q00458_PerfectForm 32768-10.htm">Accept the challenge.</a><br>
+<a action="bypass -h Quest Q00458_PerfectForm 32768-09.htm">Keep annoying her.</a>
+</body></html>
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-09.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-09.htm
index 4145e2711c3e1432e7afdb3008ee03f16a509d95..0f9b929a85bc305c9af7a8f1cf8348fddd43ecdc 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-09.htm
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-09.htm
@@ -1,5 +1,6 @@
-<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 Q00458_PerfectForm 32768-12.html">Accept the challenge.</a><br>
-<a action="bypass -h Quest Q00458_PerfectForm 32768-10.htm">Keep annoying her.</a>
-</body></html>
\ No newline at end of file
+<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 Q00458_PerfectForm 32768-10.htm">Accept the challenge.</a><br>
+<a action="bypass -h Quest Q00458_PerfectForm 32768-08.htm">KEEP ANNOYING HER.</a>
+</body></html>
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-10.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-10.htm
index 1937aad344154ecee29bc9e42694183a3fc4cd32..26e1809897fc3c6b8ec53857852616cd1e0cbbee 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-10.htm
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-10.htm
@@ -1,6 +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 Q00458_PerfectForm 32768-12.html">Accept the challenge.</a><br>
-<a action="bypass -h Quest Q00458_PerfectForm 32768-11.htm">Keep annoying her.</a>
-</body></html>
\ No newline at end of file
+<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>
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-11.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-11.htm
deleted file mode 100644
index 1f3cffe1a4f91123b7f5889aaf947cbaade31a51..0000000000000000000000000000000000000000
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-11.htm
+++ /dev/null
@@ -1,5 +0,0 @@
-<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 Q00458_PerfectForm 32768-12.html">Accept the challenge.</a><br>
-<a action="bypass -h Quest Q00458_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/Q00458_PerfectForm/32768-11.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-11.html
new file mode 100644
index 0000000000000000000000000000000000000000..8532b3d46b1aac459bad4c9392d13c105e807f28
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-11.html
@@ -0,0 +1,5 @@
+<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>
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-12.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-12.html
index 2d54a9fd4a6eb0519ebcb0a849edc4e9a20d2333..617316132b54c30ab81c2223958cb846d3c4de97 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-12.html
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-12.html
@@ -1,5 +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
+<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>
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-13.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-13.html
index 30f0e2a6ed13594487d55b09f361e8bdf342b607..9cc1a9c7ca11249cdbbc1a028ab604a385c96fa5 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-13.html
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-13.html
@@ -1,4 +1,6 @@
-<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
+<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 Q00458_PerfectForm results1">Listen to Results.</a>
+</body></html>
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-14.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-14.html
deleted file mode 100644
index bd46802a1725c93b877b088408fb13694eb881a1..0000000000000000000000000000000000000000
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-14.html
+++ /dev/null
@@ -1,4 +0,0 @@
-<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/Q00458_PerfectForm/32768-14a.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-14a.html
new file mode 100644
index 0000000000000000000000000000000000000000..fb2b2becb9a92d5c2b5227362fc26a48f9a5d258
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-14a.html
@@ -0,0 +1,5 @@
+<html><body>
+Kelleyia:<br>
+First, I'd like to discuss your skill level. Out of the 40 kills, you had <font color="LEVEL"><?number?> Over-hits</font>. Wow, a perfect number! I almost never see that!<br>
+<a action="bypass -h Quest Q00458_PerfectForm results2">"Yeah, I'm kind of a perfectionist."</a>
+</body></html>
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-14b.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-14b.html
new file mode 100644
index 0000000000000000000000000000000000000000..59fb2bdb3433de23d82e0567bffb02a769c7bc0e
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-14b.html
@@ -0,0 +1,5 @@
+<html><body>
+Kelleyia:<br>
+First, I'd like to discuss your skill level. Out of the 40 kills, you had <font color="LEVEL"><?number?> Over-hits</font>. It's okay... but not great. We have seen better.<br>
+<a action="bypass -h Quest Q00458_PerfectForm results2">"I'm sure I had more than that."</a>
+</body></html>
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-14c.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-14c.html
new file mode 100644
index 0000000000000000000000000000000000000000..82e255ed07b00df822eadf9a3b6ff297d3fc02ae
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-14c.html
@@ -0,0 +1,5 @@
+<html><body>
+Kelleyia:<br>
+First, I'd like to discuss your skill level. Out of the 40 kills, you had <font color="LEVEL"><?number?> 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 Q00458_PerfectForm results2">"Yeah, yeah. Next."</a>
+</body></html>
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-15.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-15.html
deleted file mode 100644
index e00e9ad6549454ba7ceb461173dbf160e3896b23..0000000000000000000000000000000000000000
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-15.html
+++ /dev/null
@@ -1,5 +0,0 @@
-<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 Q00458_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/Q00458_PerfectForm/32768-15a.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-15a.html
new file mode 100644
index 0000000000000000000000000000000000000000..6ff3ba62f788962bd100c051f2ae692909d9039d
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-15a.html
@@ -0,0 +1,5 @@
+<html><body>
+Kelleyia:<br>
+Second, I'd like to discuss your technique. It also appears that you like to use a lot of flash in your moves. Of the 40 kills, you managed to get <font color="LEVEL"><?number?> Critical Over-hits</font>. That is impressive. I don't think we have ever encountered someone who has managed that.<br>
+<a action="bypass -h Quest Q00458_PerfectForm results3">"Yep, I am awesome."</a>
+</body></html>
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-15b.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-15b.html
new file mode 100644
index 0000000000000000000000000000000000000000..6ec9f0b9c307b1afec2282840de1cf822de8921e
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-15b.html
@@ -0,0 +1,5 @@
+<html><body>
+Kelleyia:<br>
+Second, I'd like to discuss your technique. Not a lot of zest in your moves. Of the 40 kills, you managed to get <font color="LEVEL"><?number?> Critical Over-hits</font>. Not that exciting to watch. With someone of your talents, I would have expected more.<br>
+<a action="bypass -h Quest Q00458_PerfectForm results3">"Well, I wasn't really trying."</a>
+</body></html>
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-15c.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-15c.html
new file mode 100644
index 0000000000000000000000000000000000000000..bd66726f8892198a8581b87bf26a47ddb2f12974
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-15c.html
@@ -0,0 +1,5 @@
+<html><body>
+Kelleyia:<br>
+Second, I'd like to discuss your technique. Wow. You managed to have <font color="LEVEL"><?number?> Critical Over-hits</font>. Well, I've seen worse... no not really. You are really that bad.<br>
+<a action="bypass -h Quest Q00458_PerfectForm results3">Continue listening to the abuse.</a>
+</body></html>
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-16a.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-16a.html
index 0b2c6a1025413671ed922c383809242add3e1e8f..4c491d22fd7b2234f39ce2bd216310dcd5f87e14 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-16a.html
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-16a.html
@@ -1,4 +1,6 @@
-<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>
+<html><body>
+Kelleyia:<br>
+Lastly, I want to discuss your consistency. You managed <font color="LEVEL"><?number?> consecutive Over-hit(s)</font>. You've demonstrated all the traits of a perfect killing machine.<br>
+I don't have anything else to go over. Here is your reward.<br>
 <a action="bypass -h Quest Q00458_PerfectForm 32768-17.html">Graciously accept the award.</a>
-</body></html>
\ No newline at end of file
+</body></html>
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-16b.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-16b.html
index 8540d54e69fd5a498db9520e0d97aa9a29f5363d..2faff0844ad444d7a7ae0a9b819d6440e59c75ec 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-16b.html
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-16b.html
@@ -1,4 +1,6 @@
-<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>
+<html><body>
+Kelleyia:<br>
+Lastly, I want to discuss your consistency. You managed <font color="LEVEL"><?number?> consecutive Over-hit(s)</font>. It's about average. You could do better.<br>
+I don't have anything else to go over. Here is your reward.<br>
 <a action="bypass -h Quest Q00458_PerfectForm 32768-17.html">Embarrassed... accept the reward.</a>
-</body></html>
\ No newline at end of file
+</body></html>
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-16c.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-16c.html
index 0908991070ee8e57bdb2aa863e694486967677bd..76e6856c7be0bbc954f57c67333b4c7773cb90c2 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-16c.html
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-16c.html
@@ -1,4 +1,6 @@
-<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>
+<html><body>
+Kelleyia:<br>
+Lastly I want to discuss your consistency. Of the 40 kills, you managed <font color="LEVEL"><?number?> consecutive Over-hit(s)</font>. Yes, you consistently demonstrated how bad at this you really are.<br>
+Now that I have finished crushing your spirit, here is your reward for your work.<br>
 <a action="bypass -h Quest Q00458_PerfectForm 32768-17.html">Humiliated... accept the reward.</a>
-</body></html>
\ No newline at end of file
+</body></html>
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-17.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-17.html
index c1aa2f3010049f325a44a12952a0aa7b87bf4a54..db1f8e9896d028e545280e8b833c746f69e6a279 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-17.html
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-17.html
@@ -1,3 +1,4 @@
-<html><body>Kelleyia:<br>
+<html><body>
+Kelleyia:<br>
 If you want to give it a shot again, let me know.
-</body></html>
\ No newline at end of file
+</body></html>
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-18.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-18.htm
new file mode 100644
index 0000000000000000000000000000000000000000..eb08c2c356d4bf11b71cf42ba6b9affabb75eed8
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/32768-18.htm
@@ -0,0 +1,6 @@
+<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>
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/Q00458_PerfectForm.java b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/Q00458_PerfectForm.java
index a5da9763039924a5fd9c372672f5eb5183ad17ab..d9570421a159a9c50ccb64a4c7886c0edbf8e7aa 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/Q00458_PerfectForm.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00458_PerfectForm/Q00458_PerfectForm.java
@@ -14,11 +14,9 @@
  */
 package quests.Q00458_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;
@@ -26,207 +24,232 @@ import com.l2jserver.gameserver.model.quest.State;
 import com.l2jserver.gameserver.util.Util;
 
 /**
- * Perfect Form (458)
- * @author centrio, Zoey76
+ * Perfect Form (458).<br>
+ * @author jurchiks
  */
 public class Q00458_PerfectForm extends Quest
 {
-	// NPCs
-	private static final int _Kelleyia = 32768;
+	private static final int KELLEYIA = 32768;
 	
-	// Mobs
-	private static final int[] _mobs1 =
+	// level 4 (full grown) feedable beasts
+	private static final int[] KOOKABURRAS =
 	{
 		18878,
 		18879
 	};
-	private static final int[] _mobs2 =
+	private static final int[] COUGARS =
 	{
 		18885,
 		18886
 	};
-	private static final int[] _mobs3 =
+	private static final int[] BUFFALOS =
 	{
 		18892,
 		18893
 	};
-	private static final int[] _mobs4 =
+	private static final int[] GRENDELS =
 	{
 		18899,
 		18900
 	};
 	
-	private final int[][] _mobs =
+	private static final int[][] ALL_MOBS =
 	{
-		_mobs1,
-		_mobs2,
-		_mobs3,
-		_mobs4
+		KOOKABURRAS,
+		COUGARS,
+		BUFFALOS,
+		GRENDELS
 	};
-	
-	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 =
+	// 60% icarus weapon recipes (except kamael weapons)
+	// @formatter:off
+	private static final int[] ICARUS_WEAPON_RECIPES =
 	{
-		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)
+		10373, 10374, 10375, 10376, 10377, 10378, 10379, 10380, 10381
 	};
 	
-	private static final ItemHolder[] _rewards3 =
+	private static final int[] ICARUS_WEAPON_PIECES =
 	{
-		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)
+		10397, 10398, 10399, 10400, 10401, 10402, 10403, 10404, 10405
 	};
-	
-	public Q00458_PerfectForm(int questId, String name, String descr)
-	{
-		super(questId, name, descr);
-		
-		addStartNpc(_Kelleyia);
-		addTalkId(_Kelleyia);
-		
-		addKillId(_mobs1);
-		addKillId(_mobs2);
-		addKillId(_mobs3);
-		addKillId(_mobs4);
-	}
+	// @formatter:on
 	
 	@Override
-	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+	public String onTalk(L2Npc npc, L2PcInstance player)
 	{
-		String htmltext = event;
+		String htmltext = getNoQuestMsg(player);
 		final QuestState st = player.getQuestState(getName());
 		if (st == null)
 		{
 			return htmltext;
 		}
 		
-		if (npc.getNpcId() == _Kelleyia)
+		switch (st.getState())
 		{
-			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))
+			case State.COMPLETED:
+				if (!st.isNowAvailable())
 				{
-					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 = getRandom(_rewards1.length);
-					st.giveItems(_rewards1[rnd].getId(), _rewards1[rnd].getCount() * (long) Config.RATE_QUEST_REWARD);
-				}
-				else if ((overHits >= 7) && (overHits <= 19))
-				{
-					final int rnd = getRandom(_rewards2.length);
-					st.giveItems(_rewards2[rnd].getId(), _rewards2[rnd].getCount() * (long) Config.RATE_QUEST_REWARD);
+					htmltext = "32768-18.htm";
+					break;
 				}
-				else if (overHits >= 20)
+				st.setState(State.CREATED);
+				//$FALL-THROUGH$
+			case State.CREATED:
+				htmltext = (player.getLevel() > 81) ? "32768-01.htm" : "32768-00.htm";
+				break;
+			case State.STARTED:
+				switch (st.getCond())
 				{
-					final int rnd = getRandom(_rewards3.length);
-					st.giveItems(_rewards3[rnd].getId(), _rewards3[rnd].getCount() * (long) Config.RATE_QUEST_REWARD);
+					case 1:
+						if (st.get("18879").equals("0") && st.get("18886").equals("0") && st.get("18893").equals("0") && st.get("18900").equals("0"))
+						{
+							htmltext = "32768-11.html";
+						}
+						else
+						{
+							htmltext = "32768-12.html";
+						}
+						break;
+					case 2:
+						htmltext = "32768-13.html";
+						break;
 				}
-				
-				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);
-			}
+				break;
 		}
 		return htmltext;
 	}
 	
 	@Override
-	public String onTalk(L2Npc npc, L2PcInstance player)
+	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		String htmltext = getNoQuestMsg(player);
+		String noQuest = getNoQuestMsg(player);
 		final QuestState st = player.getQuestState(getName());
 		if (st == null)
 		{
-			return htmltext;
+			return noQuest;
 		}
 		
-		if (npc.getNpcId() == _Kelleyia)
+		String htmltext = event;
+		int overHits = 0;
+		boolean overHitHtml = false;
+		
+		switch (event)
 		{
-			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)
+			case "32768-10.htm":
+				st.startQuest();
+				// to avoid NULL values
+				st.set("18879", "0");
+				st.set("18886", "0");
+				st.set("18893", "0");
+				st.set("18900", "0");
+				st.set("overhitsConsecutive", "0");
+				break;
+			case "results1":
+				if (st.isCond(2))
+				{
+					final int overhitsTotal = st.getInt("overhitsTotal");
+					if (overhitsTotal >= 35)
 					{
-						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";
-						}
+						htmltext = "32768-14a.html";
 					}
-					else if (cond == 2)
+					else if (overhitsTotal >= 10)
 					{
-						htmltext = "32768-15.html";
+						htmltext = "32768-14b.html";
 					}
-					break;
-				case State.COMPLETED:
-					if (st.isNowAvailable())
+					else
+					{
+						htmltext = "32768-14c.html";
+					}
+					overHits = overhitsTotal;
+					overHitHtml = true;
+				}
+				else
+				{
+					htmltext = noQuest;
+				}
+				break;
+			case "results2":
+				if (st.isCond(2))
+				{
+					final int overhitsCritical = st.getInt("overhitsCritical");
+					if (overhitsCritical >= 30)
+					{
+						htmltext = "32768-15a.html";
+					}
+					else if (overhitsCritical >= 5)
 					{
-						st.setState(State.CREATED);
-						htmltext = (player.getLevel() >= 82) ? "32768-01.htm" : "32768-03.html";
+						htmltext = "32768-15b.html";
 					}
 					else
 					{
-						htmltext = "32768-02.html";
+						htmltext = "32768-15c.html";
 					}
-					break;
-			}
+					overHits = overhitsCritical;
+					overHitHtml = true;
+				}
+				else
+				{
+					htmltext = noQuest;
+				}
+				break;
+			case "results3":
+				if (st.isCond(2))
+				{
+					final int overhitsConsecutive = st.getInt("overhitsConsecutive");
+					if (overhitsConsecutive >= 20)
+					{
+						htmltext = "32768-16a.html";
+					}
+					else if (overhitsConsecutive >= 7)
+					{
+						htmltext = "32768-16b.html";
+					}
+					else
+					{
+						htmltext = "32768-16c.html";
+					}
+					overHits = overhitsConsecutive;
+					overHitHtml = true;
+				}
+				else
+				{
+					htmltext = noQuest;
+				}
+				break;
+			case "32768-17.html":
+				if (st.isCond(2))
+				{
+					int overhitsConsecutive = st.getInt("overhitsConsecutive");
+					if (overhitsConsecutive >= 20)
+					{
+						int rnd = getRandom(ICARUS_WEAPON_RECIPES.length);
+						st.rewardItems(ICARUS_WEAPON_RECIPES[rnd], 1);
+					}
+					else if (overhitsConsecutive >= 7)
+					{
+						int rnd = getRandom(ICARUS_WEAPON_PIECES.length);
+						st.rewardItems(ICARUS_WEAPON_PIECES[rnd], 5);
+					}
+					else
+					{
+						int rnd = getRandom(ICARUS_WEAPON_PIECES.length);
+						st.rewardItems(ICARUS_WEAPON_PIECES[rnd], 2);
+						// not sure if this should use rewardItems
+						st.giveItems(15482, 10); // Golden Spice Crate
+						st.giveItems(15483, 10); // Crystal Spice Crate
+					}
+					st.exitQuest(QuestType.DAILY, true);
+				}
+				else
+				{
+					htmltext = noQuest;
+				}
+				break;
+		}
+		
+		if (overHitHtml)
+		{
+			htmltext = getHtm(player.getHtmlPrefix(), htmltext);
+			htmltext = htmltext.replace("<?number?>", "" + overHits);
 		}
 		return htmltext;
 	}
@@ -235,27 +258,56 @@ public class Q00458_PerfectForm extends Quest
 	public String onKill(L2Npc npc, L2PcInstance player, boolean isPet)
 	{
 		final QuestState st = player.getQuestState(getName());
-		if (st == null)
-		{
-			return null;
-		}
-		
-		if (st.getInt("cond") == 1)
+		if ((st != null) && st.isCond(1))
 		{
 			final int npcId = npc.getNpcId();
-			for (int m = 0; m < _mobs.length; m++)
+			
+			for (int[] mobs : ALL_MOBS)
 			{
-				if (Util.contains(_mobs[m], npcId))
+				if (Util.contains(mobs, 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))
+					String variable = String.valueOf(mobs[1]); // i3
+					int currentValue = st.getInt(variable);
+					if (currentValue < 10)
 					{
-						st.set("cond", "2");
+						st.set(variable, String.valueOf(currentValue + 1)); // IncreaseNPCLogByID
+						
+						L2Attackable mob = (L2Attackable) npc;
+						if (mob.isOverhit())
+						{
+							st.set("overhitsTotal", String.valueOf(st.getInt("overhitsTotal") + 1)); // memoStateEx 1
+							int maxHp = mob.getMaxHp();
+							// L2Attackable#calculateOverhitExp() way of calculating overhit % seems illogical
+							double overhitPercentage = (maxHp + mob.getOverhitDamage()) / maxHp;
+							if (overhitPercentage >= 1.2)
+							{
+								st.set("overhitsCritical", String.valueOf(st.getInt("overhitsCritical") + 1)); // memoStateEx 2
+							}
+							int overhitsConsecutive = st.getInt("overhitsConsecutive") + 1;
+							st.set("overhitsConsecutive", String.valueOf(overhitsConsecutive)); // memoStateEx 3
+							/*
+							 * Retail logic (makes for a long/messy string in database): int i0 = overhitsConsecutive % 100; int i1 = overhitsConsecutive - (i0 * 100); if (i0 < i1) { st.set("overhitsConsecutive", String.valueOf((i1 * 100) + i1)); }
+							 */
+						}
+						else
+						{
+							// st.set("overhitsConsecutive", String.valueOf((st.getInt("overhitsConsecutive") % 100) * 100));
+							if (!st.get("overhitsConsecutive").equals("0"))
+							{
+								// avoid writing to database if variable is already zero
+								st.set("overhitsConsecutive", "0");
+							}
+						}
+						
+						if (st.get("18879").equals("10") && st.get("18886").equals("10") && st.get("18893").equals("10") && st.get("18900").equals("10"))
+						{
+							st.setCond(2, true);
+							// st.set("overhitsConsecutive", String.valueOf(st.getInt("overhitsConsecutive") % 100));
+						}
+						else
+						{
+							st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET);
+						}
 					}
 					break;
 				}
@@ -264,8 +316,19 @@ public class Q00458_PerfectForm extends Quest
 		return super.onKill(npc, player, isPet);
 	}
 	
+	public Q00458_PerfectForm()
+	{
+		super(458, Q00458_PerfectForm.class.getSimpleName(), "Perfect Form");
+		addStartNpc(KELLEYIA);
+		addTalkId(KELLEYIA);
+		addKillId(KOOKABURRAS);
+		addKillId(COUGARS);
+		addKillId(BUFFALOS);
+		addKillId(GRENDELS);
+	}
+	
 	public static void main(String[] args)
 	{
-		new Q00458_PerfectForm(458, Q00458_PerfectForm.class.getSimpleName(), "Perfect Form");
+		new Q00458_PerfectForm();
 	}
 }