diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathToWarrior/30010-01.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathOfTheWarrior/30010-01.htm
similarity index 79%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathToWarrior/30010-01.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathOfTheWarrior/30010-01.htm
index c8628b555268574a1b22fa31792a59ddd76b6f09..00d862f1adcb6f2b157aed1bb8ce41ad4367ce58 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathToWarrior/30010-01.htm
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathOfTheWarrior/30010-01.htm
@@ -1,5 +1,5 @@
 <html><body>Master Auron:<br>
 Now I'm a master who teaches young Fighters, but I was once a soldier for the <font color="LEVEL">Warrior League</font>, walking the borderline between of life and death on the battlefield.<br>
 To be accepted into the Warrior League, there's no need for a noble birth or the lord's Recommendation. We accept any Fighter who has courage and spirit.<br>
-<a action="bypass -h Quest Q00401_PathToWarrior 401_1">Say you want to become a Warrior</a>
+<a action="bypass -h Quest Q00401_PathOfTheWarrior ACCEPT">Say you want to become a Warrior</a>
 </body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathToWarrior/30010-02.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathOfTheWarrior/30010-02.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathToWarrior/30010-02.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathOfTheWarrior/30010-02.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathToWarrior/30010-03.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathOfTheWarrior/30010-02a.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathToWarrior/30010-03.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathOfTheWarrior/30010-02a.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathToWarrior/30010-02b.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathOfTheWarrior/30010-03.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathToWarrior/30010-02b.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathOfTheWarrior/30010-03.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathToWarrior/30010-04.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathOfTheWarrior/30010-04.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathToWarrior/30010-04.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathOfTheWarrior/30010-04.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathToWarrior/30010-05.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathOfTheWarrior/30010-05.htm
similarity index 69%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathToWarrior/30010-05.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathOfTheWarrior/30010-05.htm
index f121c070761c0dfa99819a1221138f84d3a42407..001e0f7574ee3521373496029410d0dbbd483b24 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathToWarrior/30010-05.htm
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathOfTheWarrior/30010-05.htm
@@ -1,4 +1,4 @@
 <html><body>Master Auron:<br>
 Good! Then I will test you to see if you have the talents to become a true Warrior. It is a very simple test -- any Fighter with courage and spirit can pass it.<br>
-<a action="bypass -h Quest Q00401_PathToWarrior 401_accept">Ask about the test</a>
+<a action="bypass -h Quest Q00401_PathOfTheWarrior 30010-06.htm">Ask about the test</a>
 </body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathToWarrior/30010-06.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathOfTheWarrior/30010-06.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathToWarrior/30010-06.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathOfTheWarrior/30010-06.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathToWarrior/30010-07.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathOfTheWarrior/30010-07.html
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathToWarrior/30010-07.html
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathOfTheWarrior/30010-07.html
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathToWarrior/30010-08.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathOfTheWarrior/30010-08.html
similarity index 94%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathToWarrior/30010-08.html
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathOfTheWarrior/30010-08.html
index 906499f85f509ace7f34d5d0b7d9ce3a153585bd..5c67cf0ae7a81a2cac0dba8b0da10dedb88436dd 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathToWarrior/30010-08.html
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathOfTheWarrior/30010-08.html
@@ -1,3 +1,3 @@
 <html><body>Master Auron:<br>
 I see you met Simplon. It gather that he asked you to do something difficult, because he certainly doesn't give the Sword of Trial to just anyone. But don't be too upset. Though he seems tempermental on the outside, he's really a warm person once you get to know him.
- </body></html>
\ No newline at end of file
+</body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathOfTheWarrior/30010-09.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathOfTheWarrior/30010-09.html
new file mode 100644
index 0000000000000000000000000000000000000000..e27500fbbd72f8f12368a3fb46405db44e340b2a
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathOfTheWarrior/30010-09.html
@@ -0,0 +1,6 @@
+<html><body>Master Auron:<br>
+Good, so you have found the sword of trial. Here's what you must do now ... If you go out to Windmill Hill, in the southern plains, you will find poison spiders -- their bodies are bigger than wagons, and they're violent and dangerous to deal with. <font color="LEVEL">Use only the rusty bronze sword to hunt the poison spiders</font>. You may not use any other weapons.<br>
+When you kill a poison spider, cut off its legs and keep  them. Ah yes, and you may also bring the legs of the <font color="LEVEL">arachnid tracker</font>, a spider which is a little more ferocious even than the poison spider. Collect <font color="LEVEL">twenty spider legs</font> and bring them here. That is the test to become a Warrior. If you pass this test, I will give you the medallion of the Warrior.<br>
+<a action="bypass -h Quest Q00401_PathOfTheWarrior 30010-10.html">Say it's impossible with a rusty sword</a><br>
+<a action="bypass -h Quest Q00401_PathOfTheWarrior 30010-11.html">Say you understand</a>
+</body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathToWarrior/30010-10.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathOfTheWarrior/30010-10.html
similarity index 89%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathToWarrior/30010-10.html
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathOfTheWarrior/30010-10.html
index d79de637b2ad02d8509a28d212f060596fb8c49c..438f2c85848eb67cd2332d4e346f3a8bdab42c97 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathToWarrior/30010-10.html
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathOfTheWarrior/30010-10.html
@@ -1,5 +1,5 @@
 <html><body>Master Auron:<br>
 How do you hunt a poison spider with a rusty sword? Look here, fellow, do you know what the creed of our warriors guild is? It's <font color="LEVEL">stay alive even in the worst conditions</font>. There is no law that says you will always be at an advantage in a fight against your opponent. However, in any situation, you can win if you keep your wits about you.<br>
 Think of this ... do you think a knight armed with luxurious Steel armor and a Steel sword has achieved a real victory after killing a farmer who is armed with a wooden spear? True victory is rolling in the mud and taking a beating, then picking up a stone and striking for your opponent's head. It is that gruesome. Do you understand what I'm saying?<br>
-<a action="bypass -h Quest Q00401_PathToWarrior 401_3">Say you understand</a>
+<a action="bypass -h Quest Q00401_PathOfTheWarrior 30010-11.html">Say you understand</a>
 </body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathToWarrior/30010-11.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathOfTheWarrior/30010-11.html
similarity index 79%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathToWarrior/30010-11.html
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathOfTheWarrior/30010-11.html
index 4e5cd2fede616e746a5bd2356ce9c08c0c5a6e68..e1a2f2812433d497302a4432aafba2d136635501 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathToWarrior/30010-11.html
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathOfTheWarrior/30010-11.html
@@ -1,5 +1,5 @@
 <html><body>Master Auron:<br>
 Good! Once you've passed through the southern gate of the village, to the left you'll see the windmills of Windmill Hill. There you'll find giant poison spiders and arachnid trackers.<br>
-You'll also find many spiders on the Fellmere Harvesting Grounds west of the Fellmere Lake over the northern mountains. Bring twenty of their legs to me.<br>
+You'll also find many spiders on the Fellmere Harvesting Grounds  west of the Fellmere Lake over the northern mountains. Bring twenty of their legs to me.<br>
 You must use only the sword of trial to kill them! Do you understand? Get going!
 </body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathToWarrior/30010-12.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathOfTheWarrior/30010-12.html
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathToWarrior/30010-12.html
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathOfTheWarrior/30010-12.html
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathToWarrior/30010-13.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathOfTheWarrior/30010-13.html
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathToWarrior/30010-13.html
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathOfTheWarrior/30010-13.html
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathToWarrior/30253-01.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathOfTheWarrior/30253-01.html
similarity index 83%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathToWarrior/30253-01.html
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathOfTheWarrior/30253-01.html
index 94dc8a0ea5f2f619a8172df92d6582ff79c1de33..5e3f257317d527a598643f6c5ff16d5ee779e8ad 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathToWarrior/30253-01.html
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathOfTheWarrior/30253-01.html
@@ -1,5 +1,5 @@
 <html><body>Trader Simplon:<br>
 What? Are you trying to become a Warrior? Ha ha! To me, you seem like a novice! Well, now that I think of it, when I was young the elder soldiers would often look down on me because I had a childlike face. So I will give you an opportunity.<br>
 Well, if you want to be a Warrior, you must first find the <font color="LEVEL">sword of trial</font>. I already know where it is, but first let me test your disposition.<br>
-<a action="bypass -h Quest Q00401_PathToWarrior 30253_1">Ask about the test</a>
+<a action="bypass -h Quest Q00401_PathOfTheWarrior 30253-02.html">Ask about the test</a>
 </body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathToWarrior/30253-02.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathOfTheWarrior/30253-02.html
similarity index 89%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathToWarrior/30253-02.html
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathOfTheWarrior/30253-02.html
index 1ed0d9e271680562624fd48c0e1bd82ce2a413c1..3233781a081afe46c2b538a11e3fd37f26a84eb2 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathToWarrior/30253-02.html
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathOfTheWarrior/30253-02.html
@@ -1,5 +1,5 @@
 <html><body>Trader Simplon:<br>
-Recently, the lord announced that he would restore all the villages that became ruins during the war and solicited to the warriors guild for soldiers to do away with the undead. If you want to prove that you have the qualities of a Warrior, go to the <font color="LEVEL">Ruins of Agony</font> and fight with the <font color="LEVEL">tracker skeletons</font>!<br>
+Recently, the lord announced that he would restore all the villages that became ruins during the war and solicited to the warriors guild for soldiers to do away with the undead. If you want to prove that you have the qualities of a Warrior, go to the <font color="LEVEL">Ruins of Agony</font> and fight with the<font color="LEVEL"> tracker skeletons</font>!<br>
 The skeletons in the ruins are the spirits of poor soldiers that lost their lives cruelly during the war and become undead. Bring back <font color="LEVEL">ten rusted swords</font> that they used. While you perform this task, take this mark with you, since you have become a member of our warriors guild for a short time.<br>
 What? Difficult? What are you saying! Twenty years ago when I was about your age, the witch Cleo led undead troops into the Castle of Gludio. My comrades and I fought against hundreds of skeletons in just one night! And here you are whining about killing just ten tracker skeletons?! No more unnecessary words, now be off with you!
 </body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathToWarrior/30253-03.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathOfTheWarrior/30253-03.html
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathToWarrior/30253-03.html
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathOfTheWarrior/30253-03.html
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathOfTheWarrior/30253-04.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathOfTheWarrior/30253-04.html
new file mode 100644
index 0000000000000000000000000000000000000000..1ed5af234e894704a183cbc6ae016fd7dd263edb
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathOfTheWarrior/30253-04.html
@@ -0,0 +1,3 @@
+<html><body>Trader Simplon:<br>
+Didn't I tell you to bring <font color="LEVEL">ten</font> rusted swords? You can count, can't you? Put out both of your hands and look at your fingers. That is how many rusted swords you should come back with. Only then can I give you the sword of trial.
+</body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathToWarrior/30253-04.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathOfTheWarrior/30253-05.html
similarity index 89%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathToWarrior/30253-04.html
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathOfTheWarrior/30253-05.html
index 835523de6f6f421d45b8bb829d315636a0fb3a80..fae34065fd8b8f99a710338f197c9e81bced01df 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathToWarrior/30253-04.html
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathOfTheWarrior/30253-05.html
@@ -1,5 +1,5 @@
 <html><body>Trader Simplon:<br>
 Ho, you have brought back ten rusted swords used by the tracker skeletons of the ruins. I can tell from the Gracian characters engraved on the blade -- the undead of the ruins are all spirits of the soldiers that died during war with Gracia.<br>
-Anyway, many thanks for your trouble. Here, take one of these rusted sword. Why? Because that is none other than the sword of trial!<br>
+Anyway, many thanks for your trouble. Here, take one of these rusted swords. Why? Because that is none other than the sword of trial!<br>
 What is that dumbfounded look on your face? Don't be unreasonable. Look here, young fellow, did you think we warriors had a magical sword with splendid ornaments? If I say that is the sword of trial, then understand that it is so, and be off! Here, I will write you a letter to take to <font color="LEVEL">Master Auron</font>!
 </body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathToWarrior/30253-05.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathOfTheWarrior/30253-06.html
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathToWarrior/30253-05.html
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathOfTheWarrior/30253-06.html
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathOfTheWarrior/Q00401_PathOfTheWarrior.java b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathOfTheWarrior/Q00401_PathOfTheWarrior.java
new file mode 100644
index 0000000000000000000000000000000000000000..78c9a20ef663ad228cde0a6c4facff0460e64937
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathOfTheWarrior/Q00401_PathOfTheWarrior.java
@@ -0,0 +1,344 @@
+/*
+ * Copyright (C) 2004-2014 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 quests.Q00401_PathOfTheWarrior;
+
+import com.l2jserver.gameserver.enums.QuestSound;
+import com.l2jserver.gameserver.model.actor.L2Npc;
+import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jserver.gameserver.model.base.ClassId;
+import com.l2jserver.gameserver.model.items.instance.L2ItemInstance;
+import com.l2jserver.gameserver.model.quest.Quest;
+import com.l2jserver.gameserver.model.quest.QuestState;
+import com.l2jserver.gameserver.network.serverpackets.SocialAction;
+import com.l2jserver.gameserver.util.Util;
+
+/**
+ * Path Of The Warrior (401)
+ * @author ivantotov
+ */
+public final class Q00401_PathOfTheWarrior extends Quest
+{
+	// NPCs
+	private static final int MASTER_AURON = 30010;
+	private static final int TRADER_SIMPLON = 30253;
+	// Items
+	private static final int AURONS_LETTER = 1138;
+	private static final int WARRIOR_GUILD_MARK = 1139;
+	private static final int RUSTED_BRONZE_SWORD1 = 1140;
+	private static final int RUSTED_BRONZE_SWORD2 = 1141;
+	private static final int RUSTED_BRONZE_SWORD3 = 1142;
+	private static final int SIMPLONS_LETTER = 1143;
+	private static final int VENOMOUS_SPIDERS_LEG = 1144;
+	// Reward
+	private static final int MEDALLION_OF_WARRIOR = 1145;
+	// Monster
+	private static final int TRACKER_SKELETON = 20035;
+	private static final int VENOMOUS_SPIDERS = 20038;
+	private static final int TRACKER_SKELETON_LIDER = 20042;
+	private static final int ARACHNID_TRACKER = 20043;
+	// Misc
+	private static final int MIN_LEVEL = 18;
+	
+	public Q00401_PathOfTheWarrior()
+	{
+		super(401, Q00401_PathOfTheWarrior.class.getSimpleName(), "Path Of The Warrior");
+		addStartNpc(MASTER_AURON);
+		addTalkId(MASTER_AURON, TRADER_SIMPLON);
+		addAttackId(VENOMOUS_SPIDERS, ARACHNID_TRACKER);
+		addKillId(TRACKER_SKELETON, VENOMOUS_SPIDERS, TRACKER_SKELETON_LIDER, ARACHNID_TRACKER);
+		registerQuestItems(AURONS_LETTER, WARRIOR_GUILD_MARK, RUSTED_BRONZE_SWORD1, RUSTED_BRONZE_SWORD2, RUSTED_BRONZE_SWORD3, SIMPLONS_LETTER, VENOMOUS_SPIDERS_LEG);
+	}
+	
+	@Override
+	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+	{
+		final QuestState qs = getQuestState(player, false);
+		
+		if (qs == null)
+		{
+			return null;
+		}
+		
+		String htmltext = null;
+		switch (event)
+		{
+			case "ACCEPT":
+			{
+				if (player.getClassId() == ClassId.fighter)
+				{
+					if (player.getLevel() >= MIN_LEVEL)
+					{
+						if (hasQuestItems(player, MEDALLION_OF_WARRIOR))
+						{
+							htmltext = "30010-04.htm";
+						}
+						else
+						{
+							htmltext = "30010-05.htm";
+						}
+					}
+					else
+					{
+						htmltext = "30010-02.htm";
+					}
+				}
+				else if (player.getClassId() == ClassId.warrior)
+				{
+					htmltext = "30010-02a.htm";
+				}
+				else
+				{
+					htmltext = "30010-03.htm";
+				}
+				break;
+			}
+			case "30010-06.htm":
+			{
+				if (!hasQuestItems(player, AURONS_LETTER))
+				{
+					qs.startQuest();
+					giveItems(player, AURONS_LETTER, 1);
+					htmltext = event;
+				}
+				break;
+			}
+			case "30010-10.html":
+			{
+				htmltext = event;
+				break;
+			}
+			case "30010-11.html":
+			{
+				if (hasQuestItems(player, SIMPLONS_LETTER, RUSTED_BRONZE_SWORD2))
+				{
+					takeItems(player, RUSTED_BRONZE_SWORD2, 1);
+					giveItems(player, RUSTED_BRONZE_SWORD3, 1);
+					takeItems(player, SIMPLONS_LETTER, 1);
+					qs.setCond(5, true);
+					htmltext = event;
+				}
+				break;
+			}
+			case "30253-02.html":
+			{
+				if (hasQuestItems(player, AURONS_LETTER))
+				{
+					takeItems(player, AURONS_LETTER, 1);
+					giveItems(player, WARRIOR_GUILD_MARK, 1);
+					qs.setCond(2, true);
+					htmltext = event;
+				}
+				break;
+			}
+		}
+		return htmltext;
+	}
+	
+	@Override
+	public String onAttack(L2Npc npc, L2PcInstance attacker, int damage, boolean isSummon)
+	{
+		final QuestState qs = getQuestState(attacker, false);
+		if ((qs != null) && qs.isStarted())
+		{
+			switch (npc.getScriptValue())
+			{
+				case 0:
+				{
+					npc.getVariables().set("lastAttacker", attacker.getObjectId());
+					if (!checkWeapon(attacker))
+					{
+						npc.setScriptValue(2);
+					}
+					else
+					{
+						npc.setScriptValue(1);
+					}
+					break;
+				}
+				case 1:
+				{
+					if (!checkWeapon(attacker))
+					{
+						npc.setScriptValue(2);
+					}
+					else if (npc.getVariables().getInt("lastAttacker") != attacker.getObjectId())
+					{
+						npc.setScriptValue(2);
+					}
+					break;
+				}
+			}
+		}
+		return super.onAttack(npc, attacker, damage, isSummon);
+	}
+	
+	@Override
+	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
+	{
+		final QuestState qs = getQuestState(killer, false);
+		if ((qs != null) && qs.isStarted() && Util.checkIfInRange(1500, npc, killer, true))
+		{
+			switch (npc.getId())
+			{
+				case TRACKER_SKELETON:
+				case TRACKER_SKELETON_LIDER:
+				{
+					if (hasQuestItems(killer, WARRIOR_GUILD_MARK) && (getQuestItemsCount(killer, RUSTED_BRONZE_SWORD1) < 10))
+					{
+						if (getRandom(10) < 4)
+						{
+							giveItems(killer, RUSTED_BRONZE_SWORD1, 1);
+							if (getQuestItemsCount(killer, RUSTED_BRONZE_SWORD1) == 10)
+							{
+								qs.setCond(3, true);
+							}
+							else
+							{
+								playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+							}
+						}
+					}
+					break;
+				}
+				case VENOMOUS_SPIDERS:
+				case ARACHNID_TRACKER:
+				{
+					if ((getQuestItemsCount(killer, VENOMOUS_SPIDERS_LEG) < 20) && npc.isScriptValue(1))
+					{
+						giveItems(killer, VENOMOUS_SPIDERS_LEG, 1);
+						if (getQuestItemsCount(killer, VENOMOUS_SPIDERS_LEG) == 20)
+						{
+							qs.setCond(6, true);
+						}
+						else
+						{
+							playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
+						}
+					}
+					break;
+				}
+			}
+		}
+		return super.onKill(npc, killer, isSummon);
+	}
+	
+	@Override
+	public String onTalk(L2Npc npc, L2PcInstance player)
+	{
+		final QuestState qs = getQuestState(player, true);
+		String htmltext = getNoQuestMsg(player);
+		if (qs.isCreated() || qs.isCompleted())
+		{
+			if (npc.getId() == MASTER_AURON)
+			{
+				htmltext = "30010-01.htm";
+			}
+		}
+		else if (qs.isStarted())
+		{
+			switch (npc.getId())
+			{
+				case MASTER_AURON:
+				{
+					if (hasQuestItems(player, AURONS_LETTER))
+					{
+						htmltext = "30010-07.html";
+					}
+					else if (hasQuestItems(player, WARRIOR_GUILD_MARK))
+					{
+						htmltext = "30010-08.html";
+					}
+					else if (hasQuestItems(player, SIMPLONS_LETTER, RUSTED_BRONZE_SWORD2) && !hasAtLeastOneQuestItem(player, WARRIOR_GUILD_MARK, AURONS_LETTER))
+					{
+						htmltext = "30010-09.html";
+					}
+					else if (hasQuestItems(player, RUSTED_BRONZE_SWORD3) && !hasAtLeastOneQuestItem(player, WARRIOR_GUILD_MARK, AURONS_LETTER))
+					{
+						if (getQuestItemsCount(player, VENOMOUS_SPIDERS_LEG) < 20)
+						{
+							htmltext = "30010-12.html";
+						}
+						else
+						{
+							giveAdena(player, 163800, true);
+							giveItems(player, MEDALLION_OF_WARRIOR, 1);
+							final int level = player.getLevel();
+							if (level >= 20)
+							{
+								addExpAndSp(player, 320534, 21012);
+							}
+							else if (level == 19)
+							{
+								addExpAndSp(player, 456128, 27710);
+							}
+							else
+							{
+								addExpAndSp(player, 160267, 34408);
+							}
+							qs.exitQuest(false, true);
+							player.sendPacket(new SocialAction(player.getObjectId(), 3));
+							qs.saveGlobalQuestVar("1ClassQuestFinished", "1");
+							htmltext = "30010-13.html";
+						}
+					}
+					break;
+				}
+				case TRADER_SIMPLON:
+				{
+					if (hasQuestItems(player, AURONS_LETTER))
+					{
+						htmltext = "30253-01.html";
+					}
+					else if (hasQuestItems(player, WARRIOR_GUILD_MARK))
+					{
+						if (!hasQuestItems(player, RUSTED_BRONZE_SWORD1))
+						{
+							htmltext = "30253-03.html";
+						}
+						else if (getQuestItemsCount(player, RUSTED_BRONZE_SWORD1) < 10)
+						{
+							htmltext = "30253-04.html";
+						}
+						else
+						{
+							takeItems(player, WARRIOR_GUILD_MARK, 1);
+							takeItems(player, RUSTED_BRONZE_SWORD1, -1);
+							giveItems(player, RUSTED_BRONZE_SWORD2, 1);
+							giveItems(player, SIMPLONS_LETTER, 1);
+							qs.setCond(4, true);
+							htmltext = "30253-05.html";
+						}
+					}
+					else if (hasQuestItems(player, SIMPLONS_LETTER))
+					{
+						htmltext = "30253-06.html";
+					}
+					break;
+				}
+			}
+		}
+		return htmltext;
+	}
+	
+	private static boolean checkWeapon(L2PcInstance player)
+	{
+		L2ItemInstance weapon = player.getActiveWeaponInstance();
+		return ((weapon != null) && ((weapon.getId() == RUSTED_BRONZE_SWORD3)));
+	}
+}
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathToWarrior/30010-09.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathToWarrior/30010-09.html
deleted file mode 100644
index 92499d5dae9dd95a48f37380070dcd6ad1e06493..0000000000000000000000000000000000000000
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathToWarrior/30010-09.html
+++ /dev/null
@@ -1,6 +0,0 @@
-<html><body>Master Auron:<br>
-Good, so you have found the sword of trial. Here's what you must do now ... If you go out to Windmill Hill, in the southern plains, you will find poison spiders -- their bodies are bigger than wagons, and they're violent and dangerous to deal with. <font color="LEVEL">Use only the rusty bronze sword to hunt the poison spiders</font>. You may not use any other weapons.<br>
-When you kill a poison spider, cut off its legs and keep them. Ah yes, and you may also bring the legs of the <font color="LEVEL">arachnid tracker</font>, a spider which is a little more ferocious even than the poison spider. Collect <font color="LEVEL">twenty spider legs</font> and bring them here. That is the test to become a Warrior. If you pass this test, I will give you the medallion of the Warrior.<br>
-<a action="bypass -h Quest Q00401_PathToWarrior 401_2">Say it's impossible with a rusty sword</a><br>
-<a action="bypass -h Quest Q00401_PathToWarrior 401_3">Say you understand</a>
-</body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathToWarrior/Q00401_PathToWarrior.java b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathToWarrior/Q00401_PathToWarrior.java
deleted file mode 100644
index b5f4e4419a845c245ba50c141c632f0af8020794..0000000000000000000000000000000000000000
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q00401_PathToWarrior/Q00401_PathToWarrior.java
+++ /dev/null
@@ -1,295 +0,0 @@
-/*
- * Copyright (C) 2004-2014 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 quests.Q00401_PathToWarrior;
-
-import com.l2jserver.gameserver.enums.QuestSound;
-import com.l2jserver.gameserver.model.actor.L2Npc;
-import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
-import com.l2jserver.gameserver.model.itemcontainer.Inventory;
-import com.l2jserver.gameserver.model.quest.Quest;
-import com.l2jserver.gameserver.model.quest.QuestState;
-import com.l2jserver.gameserver.network.serverpackets.SocialAction;
-
-/**
- * Path of the Warrior (401)<br>
- * Original Jython script by ElgarL, Mr
- * @author malyelfik
- * @version 2010-12-29 (Freya)
- */
-public class Q00401_PathToWarrior extends Quest
-{
-	// Items
-	private static final int AURONSLETTER = 1138;
-	private static final int WARRIORGUILDMARK = 1139;
-	private static final int RUSTEDBRONZESWORD1 = 1140;
-	private static final int RUSTEDBRONZESWORD2 = 1141;
-	private static final int RUSTEDBRONZESWORD3 = 1142;
-	private static final int SIMPLONSLETTER = 1143;
-	private static final int POISONSPIDERLEG = 1144;
-	private static final int MEDALLIONOFWARRIOR = 1145;
-	// NPCs
-	private static final int AURON = 30010;
-	private static final int SIMPLON = 30253;
-	private static final int[] MONSTERS =
-	{
-		20035,
-		20038,
-		20042,
-		20043
-	};
-	
-	public Q00401_PathToWarrior()
-	{
-		super(401, Q00401_PathToWarrior.class.getSimpleName(), "Path of the Warrior");
-		addStartNpc(AURON);
-		addTalkId(AURON, SIMPLON);
-		addKillId(MONSTERS);
-		registerQuestItems(AURONSLETTER, WARRIORGUILDMARK, RUSTEDBRONZESWORD1, RUSTEDBRONZESWORD2, RUSTEDBRONZESWORD3, SIMPLONSLETTER, POISONSPIDERLEG);
-	}
-	
-	@Override
-	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
-	{
-		String htmltext = event;
-		QuestState st = player.getQuestState(getName());
-		if (st == null)
-		{
-			return htmltext;
-		}
-		
-		if (event.equalsIgnoreCase("401_1"))
-		{
-			switch (player.getClassId())
-			{
-				case fighter:
-				{
-					if (player.getLevel() >= 18)
-					{
-						if (st.getQuestItemsCount(MEDALLIONOFWARRIOR) == 1)
-						{
-							htmltext = "30010-04.htm";
-						}
-						else
-						{
-							htmltext = "30010-05.htm";
-						}
-					}
-					else
-					{
-						htmltext = "30010-02.htm";
-					}
-					break;
-				}
-				case warrior:
-				{
-					htmltext = "30010-03.htm";
-					break;
-				}
-				default:
-				{
-					htmltext = "30010-02b.htm";
-				}
-			}
-		}
-		else if (event.equalsIgnoreCase("401_accept"))
-		{
-			st.startQuest();
-			st.giveItems(AURONSLETTER, 1);
-			htmltext = "30010-06.htm";
-		}
-		else if (event.equalsIgnoreCase("30253_1"))
-		{
-			st.setCond(2, true);
-			st.takeItems(AURONSLETTER, 1);
-			st.giveItems(WARRIORGUILDMARK, 1);
-			htmltext = "30253-02.html";
-		}
-		else if (event.equalsIgnoreCase("401_2"))
-		{
-			htmltext = "30010-10.html";
-		}
-		else if (event.equalsIgnoreCase("401_3"))
-		{
-			st.setCond(5, true);
-			st.takeItems(RUSTEDBRONZESWORD2, 1);
-			st.giveItems(RUSTEDBRONZESWORD3, 1);
-			st.takeItems(SIMPLONSLETTER, 1);
-			htmltext = "30010-11.html";
-		}
-		return htmltext;
-	}
-	
-	@Override
-	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
-	{
-		QuestState st = killer.getQuestState(getName());
-		if (st == null)
-		{
-			return null;
-		}
-		
-		switch (st.getCond())
-		{
-			case 2:
-			{
-				if ((npc.getId() == MONSTERS[0]) || (npc.getId() == MONSTERS[2]))
-				{
-					if (st.getQuestItemsCount(RUSTEDBRONZESWORD1) < 10)
-					{
-						if (getRandom(10) < 4)
-						{
-							st.giveItems(RUSTEDBRONZESWORD1, 1);
-							st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET);
-						}
-					}
-					if (st.getQuestItemsCount(RUSTEDBRONZESWORD1) == 10)
-					{
-						st.setCond(3, true);
-					}
-				}
-				break;
-			}
-			case 5:
-			{
-				if ((st.getItemEquipped(Inventory.PAPERDOLL_RHAND) == RUSTEDBRONZESWORD3) && ((npc.getId() == MONSTERS[1]) || (npc.getId() == MONSTERS[3])))
-				{
-					if (st.getQuestItemsCount(POISONSPIDERLEG) < 20)
-					{
-						st.giveItems(POISONSPIDERLEG, 1);
-						st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET);
-					}
-					
-					if (st.getQuestItemsCount(POISONSPIDERLEG) == 20)
-					{
-						st.setCond(6, true);
-					}
-				}
-			}
-		}
-		
-		return super.onKill(npc, killer, isSummon);
-	}
-	
-	@Override
-	public String onTalk(L2Npc npc, L2PcInstance player)
-	{
-		String htmltext = getNoQuestMsg(player);
-		QuestState st = player.getQuestState(getName());
-		if (st == null)
-		{
-			return htmltext;
-		}
-		
-		switch (npc.getId())
-		{
-			case AURON:
-			{
-				switch (st.getCond())
-				{
-					case 0:
-					{
-						htmltext = "30010-01.htm";
-						break;
-					}
-					case 1:
-					{
-						htmltext = "30010-07.html";
-						break;
-					}
-					case 2:
-					case 3:
-					{
-						htmltext = "30010-08.html";
-						break;
-					}
-					case 4:
-					{
-						htmltext = "30010-09.html";
-						break;
-					}
-					case 5:
-					{
-						htmltext = "30010-12.html";
-						break;
-					}
-					case 6:
-					{
-						st.takeItems(RUSTEDBRONZESWORD3, 1);
-						st.takeItems(POISONSPIDERLEG, -1);
-						
-						if (player.getLevel() >= 20)
-						{
-							st.addExpAndSp(320534, 21012);
-						}
-						else if (player.getLevel() == 19)
-						{
-							st.addExpAndSp(456128, 27710);
-						}
-						else
-						{
-							st.addExpAndSp(160267, 34408);
-						}
-						
-						st.giveAdena(163800, true);
-						st.giveItems(MEDALLIONOFWARRIOR, 1);
-						player.sendPacket(new SocialAction(player.getObjectId(), 3));
-						st.saveGlobalQuestVar("1ClassQuestFinished", "1");
-						st.exitQuest(false, true);
-						htmltext = "30010-13.html";
-						break;
-					}
-				}
-				break;
-			}
-			case SIMPLON:
-			{
-				switch (st.getCond())
-				{
-					case 1:
-					{
-						htmltext = "30253-01.html";
-						break;
-					}
-					case 2:
-					{
-						htmltext = "30253-03.html";
-						break;
-					}
-					case 3:
-					{
-						st.setCond(4, true);
-						st.takeItems(WARRIORGUILDMARK, 1);
-						st.takeItems(RUSTEDBRONZESWORD1, 10);
-						st.giveItems(RUSTEDBRONZESWORD2, 1);
-						st.giveItems(SIMPLONSLETTER, 1);
-						htmltext = "30253-04.html";
-						break;
-					}
-					case 4:
-					{
-						htmltext = "30253-05.html";
-						break;
-					}
-				}
-				break;
-			}
-		}
-		return htmltext;
-	}
-}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/QuestMasterHandler.java b/L2J_DataPack_BETA/dist/game/data/scripts/quests/QuestMasterHandler.java
index 16c900275c06da8f6a1ed022315cac20583aeae4..a397d5263e1f8510b28d64753e08dae0245db077 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/QuestMasterHandler.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/QuestMasterHandler.java
@@ -254,7 +254,7 @@ import quests.Q00380_BringOutTheFlavorOfIngredients.Q00380_BringOutTheFlavorOfIn
 import quests.Q00381_LetsBecomeARoyalMember.Q00381_LetsBecomeARoyalMember;
 import quests.Q00382_KailsMagicCoin.Q00382_KailsMagicCoin;
 import quests.Q00385_YokeOfThePast.Q00385_YokeOfThePast;
-import quests.Q00401_PathToWarrior.Q00401_PathToWarrior;
+import quests.Q00401_PathOfTheWarrior.Q00401_PathOfTheWarrior;
 import quests.Q00402_PathOfTheHumanKnight.Q00402_PathOfTheHumanKnight;
 import quests.Q00403_PathOfTheRogue.Q00403_PathOfTheRogue;
 import quests.Q00404_PathOfTheHumanWizard.Q00404_PathOfTheHumanWizard;
@@ -630,7 +630,7 @@ public class QuestMasterHandler
 		Q00381_LetsBecomeARoyalMember.class,
 		Q00382_KailsMagicCoin.class,
 		Q00385_YokeOfThePast.class,
-		Q00401_PathToWarrior.class,
+		Q00401_PathOfTheWarrior.class,
 		Q00402_PathOfTheHumanKnight.class,
 		Q00403_PathOfTheRogue.class,
 		Q00404_PathOfTheHumanWizard.class,