diff --git a/L2J_DataPack_BETA/dist/game/data/scripts.cfg b/L2J_DataPack_BETA/dist/game/data/scripts.cfg
index a77fcb44ffb9fd9b38def2701fa5849480709c68..0ca29df783c1a8d6f8174509e5bac1e3c833f782 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts.cfg
+++ b/L2J_DataPack_BETA/dist/game/data/scripts.cfg
@@ -662,19 +662,19 @@ quests/701_Proof_Of_Existence/__init__.py
 quests/Q702_ATrapForRevenge/Q702_ATrapForRevenge.java
 quests/998_FallenAngelSelect/__init__.py
 quests/999_T1Tutorial/__init__.py
-quests/10267_JourneyToGracia/__init__.py
-quests/10268_ToTheSeedOfInfinity/__init__.py
-quests/10269_ToTheSeedOfDestruction/__init__.py
-quests/10273_GoodDayToFly/__init__.py
-quests/10274_CollectingInTheAir/__init__.py
-quests/10275_ContainingTheAttributePower/__init__.py
-quests/10276_MutatedKaneusGludio/__init__.py
-quests/10277_MutatedKaneusDion/__init__.py
-quests/10278_MutatedKaneusHeine/__init__.py
-quests/10279_MutatedKaneusOren/__init__.py
-quests/10280_MutatedKaneusSchuttgart/__init__.py
-quests/10281_MutatedKaneusRune/__init__.py
-quests/10282_ToTheSeedOfAnnihilation/__init__.py
+quests/Q10267_JourneyToGracia/Q10267_JourneyToGracia.java
+quests/Q10268_ToTheSeedOfInfinity/Q10268_ToTheSeedOfInfinity.java
+quests/Q10269_ToTheSeedOfDestruction/Q10269_ToTheSeedOfDestruction.java
+quests/Q10273_GoodDayToFly/Q10273_GoodDayToFly.java
+quests/Q10274_CollectingInTheAir/Q10274_CollectingInTheAir.java
+quests/Q10275_ContainingTheAttributePower/Q10275_ContainingTheAttributePower.java
+quests/Q10276_MutatedKaneusGludio/Q10276_MutatedKaneusGludio.java
+quests/Q10277_MutatedKaneusDion/Q10277_MutatedKaneusDion.java
+quests/Q10278_MutatedKaneusHeine/Q10278_MutatedKaneusHeine.java
+quests/Q10279_MutatedKaneusOren/Q10279_MutatedKaneusOren.java
+quests/Q10280_MutatedKaneusSchuttgart/Q10280_MutatedKaneusSchuttgart.java
+quests/Q10281_MutatedKaneusRune/Q10281_MutatedKaneusRune.java
+quests/Q10282_ToTheSeedOfAnnihilation/Q10282_ToTheSeedOfAnnihilation.java
 quests/Q10271_TheEnvelopingDarkness/Q10271_TheEnvelopingDarkness.java
 quests/Q10272_LightFragment/Q10272_LightFragment.java
 quests/Q10283_RequestOfIceMerchant/Q10283_RequestOfIceMerchant.java
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10267_JourneyToGracia/__init__.py b/L2J_DataPack_BETA/dist/game/data/scripts/quests/10267_JourneyToGracia/__init__.py
deleted file mode 100644
index 91b8dc0dbd768e43acecbe64dab98722cb560495..0000000000000000000000000000000000000000
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10267_JourneyToGracia/__init__.py
+++ /dev/null
@@ -1,80 +0,0 @@
-# Made by Kerberos v1.0 on 2009/05/2
-# this script is part of the Official L2J Datapack Project.
-# Visit http://www.l2jdp.com/forum for more details.
-
-import sys
-
-from com.l2jserver.gameserver.datatables import SkillTable
-from com.l2jserver.gameserver.model.quest        			import State
-from com.l2jserver.gameserver.model.quest        			import QuestState
-from com.l2jserver.gameserver.model.quest.jython 			import QuestJython as JQuest
-
-qn = "10267_JourneyToGracia"
-
-#NPCs
-Orven = 30857
-Keucereus = 32548
-Papiku = 32564
-
-#items
-Letter = 13810
-
-class Quest (JQuest) :
-    def __init__(self,id,name,descr):
-        JQuest.__init__(self,id,name,descr)
-        self.questItemIds = [Letter]
-
-    def onAdvEvent (self,event,npc, player) :
-        htmltext = event
-        st = player.getQuestState(qn)
-        if not st : return
-        if event == "30857-06.htm" :
-            st.set("cond","1")
-            st.setState(State.STARTED)
-            st.playSound("ItemSound.quest_accept")
-            st.giveItems(Letter,1)
-        elif event == "32564-02.htm" :
-            st.set("cond","2")
-            st.playSound("ItemSound.quest_middle")
-        elif event == "32548-02.htm" :
-            st.giveItems(57,92500)
-            st.addExpAndSp(75480,7570)
-            st.unset("cond")
-            st.exitQuest(False)
-            st.playSound("ItemSound.quest_finish")
-        return htmltext
-
-    def onTalk (self,npc,player):
-        htmltext = Quest.getNoQuestMsg(player)
-        st = player.getQuestState(qn)
-        if not st : return htmltext
-        npcId = npc.getNpcId()
-        id = st.getState()
-        cond = st.getInt("cond")
-        if id == State.COMPLETED :
-            if npcId == Keucereus :
-                htmltext = "32548-03.htm"
-            elif npcId == Orven :
-                htmltext = "30857-0a.htm"
-        elif id == State.CREATED and npcId == Orven:
-            if player.getLevel() < 75 :
-                htmltext = "30857-00.htm"
-            else :
-                htmltext = "30857-01.htm"
-        elif id == State.STARTED and npcId == Orven:
-            htmltext = "30857-07.htm"
-        elif id == State.STARTED and npcId == Papiku:
-            if cond == 1 :
-                htmltext = "32564-01.htm"
-            else :
-                htmltext = "32564-03.htm"
-        elif id == State.STARTED and npcId == Keucereus and cond == 2:
-            htmltext = "32548-01.htm"
-        return htmltext
-
-QUEST       = Quest(10267,qn,"Journey to Gracia")
-
-QUEST.addStartNpc(Orven)
-QUEST.addTalkId(Orven)
-QUEST.addTalkId(Keucereus)
-QUEST.addTalkId(Papiku)
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10268_ToTheSeedOfInfinity/__init__.py b/L2J_DataPack_BETA/dist/game/data/scripts/quests/10268_ToTheSeedOfInfinity/__init__.py
deleted file mode 100644
index 85d01b53786ff85bc8d883919d6f19931ddfac0b..0000000000000000000000000000000000000000
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10268_ToTheSeedOfInfinity/__init__.py
+++ /dev/null
@@ -1,69 +0,0 @@
-# Made by Kerberos v1.0 on 2009/05/1
-# this script is part of the Official L2J Datapack Project.
-# Visit http://www.l2jdp.com/forum for more details.
-
-import sys
-
-from com.l2jserver.gameserver.datatables import SkillTable
-from com.l2jserver.gameserver.model.quest        			import State
-from com.l2jserver.gameserver.model.quest        			import QuestState
-from com.l2jserver.gameserver.model.quest.jython 			import QuestJython as JQuest
-
-qn = "10268_ToTheSeedOfInfinity"
-
-#NPCs
-Keucereus = 32548
-Tepios = 32603
-
-#items
-Introduction = 13811
-
-class Quest (JQuest) :
-    def __init__(self,id,name,descr):
-        JQuest.__init__(self,id,name,descr)
-        self.questItemIds = [Introduction]
-
-    def onAdvEvent (self,event,npc, player) :
-        htmltext = event
-        st = player.getQuestState(qn)
-        if not st : return
-        if event == "32548-05.htm" :
-            st.set("cond","1")
-            st.setState(State.STARTED)
-            st.playSound("ItemSound.quest_accept")
-            st.giveItems(Introduction,1)
-        return htmltext
-
-    def onTalk (self,npc,player):
-        htmltext = Quest.getNoQuestMsg(player)
-        st = player.getQuestState(qn)
-        if not st : return htmltext
-        npcId = npc.getNpcId()
-        id = st.getState()
-        cond = st.getInt("cond")
-        if id == State.COMPLETED :
-            if npcId == Tepios :
-                htmltext = "32530-02.htm" 
-            else:
-                htmltext = "32548-0a.htm"
-        elif id == State.CREATED and npcId == Keucereus:
-            if player.getLevel() < 75 :
-                htmltext = "32548-00.htm"
-            else :
-                htmltext = "32548-01.htm"
-        elif id == State.STARTED and npcId == Keucereus:
-            htmltext = "32548-06.htm"
-        elif id == State.STARTED and npcId == Tepios:
-            htmltext = "32530-01.htm"
-            st.giveItems(57,16671)
-            st.addExpAndSp(100640,10098)
-            st.unset("cond")
-            st.exitQuest(False)
-            st.playSound("ItemSound.quest_finish")
-        return htmltext
-
-QUEST       = Quest(10268,qn,"To the Seed of Infinity")
-
-QUEST.addStartNpc(Keucereus)
-QUEST.addTalkId(Keucereus)
-QUEST.addTalkId(Tepios)
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10269_ToTheSeedOfDestruction/__init__.py b/L2J_DataPack_BETA/dist/game/data/scripts/quests/10269_ToTheSeedOfDestruction/__init__.py
deleted file mode 100644
index ce505f6de9f73cdd0490f66b698355338f273345..0000000000000000000000000000000000000000
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10269_ToTheSeedOfDestruction/__init__.py
+++ /dev/null
@@ -1,69 +0,0 @@
-# Made by Kerberos v1.0 on 2009/05/1
-# this script is part of the Official L2J Datapack Project.
-# Visit http://www.l2jdp.com/forum for more details.
-
-import sys
-
-from com.l2jserver.gameserver.datatables import SkillTable
-from com.l2jserver.gameserver.model.quest        			import State
-from com.l2jserver.gameserver.model.quest        			import QuestState
-from com.l2jserver.gameserver.model.quest.jython 			import QuestJython as JQuest
-
-qn = "10269_ToTheSeedOfDestruction"
-
-#NPCs
-Keucereus = 32548
-Allenos = 32526
-
-#items
-Introduction = 13812
-
-class Quest (JQuest) :
-    def __init__(self,id,name,descr):
-        JQuest.__init__(self,id,name,descr)
-        self.questItemIds = [Introduction]
-
-    def onAdvEvent (self,event,npc, player) :
-        htmltext = event
-        st = player.getQuestState(qn)
-        if not st : return
-        if event == "32548-05.htm" :
-            st.set("cond","1")
-            st.setState(State.STARTED)
-            st.playSound("ItemSound.quest_accept")
-            st.giveItems(Introduction,1)
-        return htmltext
-
-    def onTalk (self,npc,player):
-        htmltext = Quest.getNoQuestMsg(player)
-        st = player.getQuestState(qn)
-        if not st : return htmltext
-        npcId = npc.getNpcId()
-        id = st.getState()
-        cond = st.getInt("cond")
-        if id == State.COMPLETED :
-            if npcId == Allenos :
-                htmltext = "32526-02.htm" 
-            else:
-                htmltext = "32548-0a.htm"
-        elif id == State.CREATED and npcId == Keucereus:
-            if player.getLevel() < 75 :
-                htmltext = "32548-00.htm"
-            else :
-                htmltext = "32548-01.htm"
-        elif id == State.STARTED and npcId == Keucereus:
-            htmltext = "32548-06.htm"
-        elif id == State.STARTED and npcId == Allenos:
-            htmltext = "32526-01.htm"
-            st.giveItems(57,29174)
-            st.addExpAndSp(176121,7671)
-            st.unset("cond")
-            st.exitQuest(False)
-            st.playSound("ItemSound.quest_finish")
-        return htmltext
-
-QUEST       = Quest(10269,qn,"To the Seed of Destruction")
-
-QUEST.addStartNpc(Keucereus)
-QUEST.addTalkId(Keucereus)
-QUEST.addTalkId(Allenos)
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10273_GoodDayToFly/__init__.py b/L2J_DataPack_BETA/dist/game/data/scripts/quests/10273_GoodDayToFly/__init__.py
deleted file mode 100644
index 2a9c9f557fc886b5a3a3c085fbb019d891c521f7..0000000000000000000000000000000000000000
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10273_GoodDayToFly/__init__.py
+++ /dev/null
@@ -1,101 +0,0 @@
-# Made by Kerberos v1.0 on 2009/04/25
-# this script is part of the Official L2J Datapack Project.
-# Visit http://www.l2jdp.com/forum for more details.
-
-import sys
-
-from com.l2jserver.gameserver.datatables import SkillTable
-from com.l2jserver.gameserver.model.quest        			import State
-from com.l2jserver.gameserver.model.quest        			import QuestState
-from com.l2jserver.gameserver.model.quest.jython 			import QuestJython as JQuest
-
-qn = "10273_GoodDayToFly"
-
-#NPCs
-Lekon = 32557
-
-#items
-Mark = 13856
-
-class Quest (JQuest) :
-    def __init__(self,id,name,descr):
-        JQuest.__init__(self,id,name,descr)
-        self.questItemIds = [Mark]
-
-    def onAdvEvent (self,event,npc, player) :
-        htmltext = event
-        st = player.getQuestState(qn)
-        if not st : return
-        if event == "32557-06.htm" :
-            st.set("cond","1")
-            st.setState(State.STARTED)
-            st.playSound("ItemSound.quest_accept")
-        elif event == "32557-09.htm" :
-            st.set("transform","1")
-            SkillTable.getInstance().getInfo(5982,1).getEffects(player,player)
-        elif event == "32557-10.htm" :
-            st.set("transform","2")
-            SkillTable.getInstance().getInfo(5983,1).getEffects(player,player)
-        elif event == "32557-13.htm" :
-            if st.getInt("transform") == 1 :
-                SkillTable.getInstance().getInfo(5982,1).getEffects(player,player)
-            elif st.getInt("transform") == 2 :
-                SkillTable.getInstance().getInfo(5983,1).getEffects(player,player)
-        return htmltext
-
-    def onTalk (self,npc,player):
-        htmltext = Quest.getNoQuestMsg(player)
-        st = player.getQuestState(qn)
-        if not st : return htmltext
-        npcId = npc.getNpcId()
-        id = st.getState()
-        cond = st.getInt("cond")
-        transform = st.getInt("transform")
-        if id == State.COMPLETED :
-            htmltext = "32557-0a.htm"
-        elif id == State.CREATED :
-            if player.getLevel() < 75 :
-                htmltext = "32557-00.htm"
-            else :
-                htmltext = "32557-01.htm"
-        else :
-            if st.getQuestItemsCount(Mark) >= 5 :
-                htmltext = "32557-14.htm"
-                if transform == 1 :
-                    st.giveItems(13553,1)
-                elif transform == 2 :
-                    st.giveItems(13554,1)
-                st.giveItems(13857,1)
-                st.addExpAndSp(25160,2525)
-                st.unset("transform")
-                st.unset("cond")
-                st.exitQuest(False)
-                st.playSound("ItemSound.quest_finish")
-            elif not transform :
-                htmltext = "32557-07.htm"
-            else :
-                htmltext = "32557-11.htm"
-        return htmltext
-
-
-    def onKill(self,npc,player,isPet):
-        st = player.getQuestState(qn)
-        if not st : return
-        if st.getState() != State.STARTED : return
-
-        count=st.getQuestItemsCount(Mark)
-        if st.getInt("cond")==1 and count < 5 :
-            st.giveItems(Mark,1)
-            if count == 4 :
-                st.playSound("ItemSound.quest_middle")
-                st.set("cond","2")
-            else :
-                st.playSound("ItemSound.quest_itemget")
-        return
-
-QUEST       = Quest(10273,qn,"Good Day To Fly")
-
-QUEST.addStartNpc(Lekon)
-QUEST.addTalkId(Lekon)
-QUEST.addKillId(22614)
-QUEST.addKillId(22615)
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10274_CollectingInTheAir/__init__.py b/L2J_DataPack_BETA/dist/game/data/scripts/quests/10274_CollectingInTheAir/__init__.py
deleted file mode 100644
index 61d33049cd8e47ea3496dc03e2c0ea0d4a714ded..0000000000000000000000000000000000000000
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10274_CollectingInTheAir/__init__.py
+++ /dev/null
@@ -1,98 +0,0 @@
-# Made by Kerberos v1.0 on 2009/04/26
-# this script is part of the Official L2J Datapack Project.
-# Visit http://www.l2jdp.com/forum for more details.
-
-import sys
-
-from com.l2jserver.gameserver.model.quest import State
-from com.l2jserver.gameserver.model.quest import QuestState
-from com.l2jserver.gameserver.model.quest.jython import QuestJython as JQuest
-from com.l2jserver.gameserver.util import Util
-
-qn = "10274_CollectingInTheAir"
-
-#NPCs
-Lekon = 32557
-
-#items
-Scroll = 13844
-red = 13858
-blue = 13859
-green = 13860
-
-class Quest (JQuest) :
-    def __init__(self,id,name,descr):
-        JQuest.__init__(self,id,name,descr)
-        self.questItemIds = [Scroll,red,blue,green]
-
-    def onAdvEvent (self,event,npc, player) :
-        htmltext = event
-        st = player.getQuestState(qn)
-        if not st : return
-        if event == "32557-03.htm" :
-            st.set("cond","1")
-            st.giveItems(Scroll,8)
-            st.setState(State.STARTED)
-            st.playSound("ItemSound.quest_accept")
-        return htmltext
-
-    def onTalk (self,npc,player):
-        htmltext = Quest.getNoQuestMsg(player)
-        st = player.getQuestState(qn)
-        if not st : return htmltext
-        npcId = npc.getNpcId()
-        id = st.getState()
-        cond = st.getInt("cond")
-        transform = st.getInt("transform")
-        if id == State.COMPLETED :
-            htmltext = "32557-0a.htm"
-        elif id == State.CREATED :
-            qs = player.getQuestState("10273_GoodDayToFly")
-            if qs:
-                if qs.getState() == State.COMPLETED and player.getLevel() >= 75 :
-                    htmltext = "32557-01.htm"
-                else:
-                    htmltext = "32557-00.htm"
-            else :
-                htmltext = "32557-00.htm"
-        else :
-            if st.getQuestItemsCount(red) + st.getQuestItemsCount(blue) + st.getQuestItemsCount(green) >= 8 :
-                htmltext = "32557-05.htm"
-                st.giveItems(13728,1)
-                st.addExpAndSp(25160,2525)
-                st.unset("transform")
-                st.unset("cond")
-                st.exitQuest(False)
-                st.playSound("ItemSound.quest_finish")
-            else:
-                htmltext = "32557-04.htm"
-        return htmltext
-
-    def onSkillSee (self, npc, player, skill, targets, isPet):
-        st = player.getQuestState(qn)
-        if not st : return
-        if Util.contains(targets, npc) and st.getInt("cond") == 1 and skill.getId() == 2630:
-            st.playSound("ItemSound.quest_itemget")
-            npcId = npc.getNpcId()
-            if npcId in range(18684,18687):
-                st.giveItems(red,1)
-            elif npcId in range(18687,18690):
-                st.giveItems(blue,1)
-            elif npcId in range(18690,18693):
-                st.giveItems(green,1)
-            npc.doDie(player)
-        return
-
-QUEST       = Quest(10274,qn,"Collecting in the Air")
-
-QUEST.addStartNpc(Lekon)
-QUEST.addTalkId(Lekon)
-QUEST.addSkillSeeId(18684)
-QUEST.addSkillSeeId(18685)
-QUEST.addSkillSeeId(18686)
-QUEST.addSkillSeeId(18687)
-QUEST.addSkillSeeId(18688)
-QUEST.addSkillSeeId(18689)
-QUEST.addSkillSeeId(18690)
-QUEST.addSkillSeeId(18691)
-QUEST.addSkillSeeId(18692)
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/__init__.py b/L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/__init__.py
deleted file mode 100644
index 546006e7084aca99d5a449a0bbafd2ab36f4ec32..0000000000000000000000000000000000000000
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/__init__.py
+++ /dev/null
@@ -1,176 +0,0 @@
-# Made by Kerberos v1.0 on 2009/05/03
-# this script is part of the Official L2J Datapack Project.
-# Visit http://www.l2jdp.com/forum for more details.
-
-import sys
-
-from com.l2jserver.gameserver.datatables import SkillTable
-from com.l2jserver.gameserver.model						import Elementals
-from com.l2jserver.gameserver.model.itemcontainer import Inventory
-from com.l2jserver.gameserver.model.quest        			import State
-from com.l2jserver.gameserver.model.quest        			import QuestState
-from com.l2jserver.gameserver.model.quest.jython 			import QuestJython as JQuest
-
-qn = "10275_ContainingTheAttributePower"
-
-#NPCs
-Holly = 30839
-Weber = 31307
-Yin = 32325
-Yang = 32326
-Water = 27380
-Air = 27381
-
-#items
-YinSword = 13845
-YangSword = 13881
-SoulPieceWater = 13861
-SoulPieceAir = 13862
-
-class Quest (JQuest) :
-    def __init__(self,id,name,descr):
-        JQuest.__init__(self,id,name,descr)
-        self.questItemIds = [YinSword, YangSword, SoulPieceWater, SoulPieceAir]
-
-    def onAdvEvent (self,event,npc, player) :
-        htmltext = event
-        st = player.getQuestState(qn)
-        if not st : return
-        if event in ["30839-02.htm","31307-02.htm"] :
-            st.set("cond","1")
-            st.setState(State.STARTED)
-            st.playSound("ItemSound.quest_accept")
-        elif event == "30839-05.htm" :
-            st.set("cond","2")
-            st.playSound("ItemSound.quest_middle")
-        elif event == "31307-05.htm" :
-            st.set("cond","7")
-            st.playSound("ItemSound.quest_middle")
-        elif event == "32325-03.htm" :
-            st.set("cond","3")
-            st.giveItems(YinSword,1,Elementals.FIRE,10)
-            st.playSound("ItemSound.quest_middle")
-        elif event == "32326-03.htm" :
-            st.set("cond","8")
-            st.giveItems(YangSword,1,Elementals.EARTH,10)
-            st.playSound("ItemSound.quest_middle")
-        elif event == "32325-06.htm" :
-            if st.getQuestItemsCount(YinSword):
-               st.takeItems(YinSword,1)
-               htmltext = "32325-07.htm"
-            st.giveItems(YinSword,1,Elementals.FIRE,10)
-        elif event == "32326-06.htm" :
-            if st.getQuestItemsCount(YangSword):
-               st.takeItems(YangSword,1)
-               htmltext = "32326-07.htm"
-            st.giveItems(YangSword,1,Elementals.EARTH,10)
-        elif event == "32325-09.htm" :
-            st.set("cond","5")
-            SkillTable.getInstance().getInfo(2635,1).getEffects(player,player)
-            st.giveItems(YinSword,1,Elementals.FIRE,10)
-            st.playSound("ItemSound.quest_middle")
-        elif event == "32326-09.htm" :
-            st.set("cond","10")
-            SkillTable.getInstance().getInfo(2636,1).getEffects(player,player)
-            st.giveItems(YangSword,1,Elementals.EARTH,10)
-            st.playSound("ItemSound.quest_middle")
-        elif event.isdigit() :
-            st.giveItems(10520+int(event),2)
-            st.addExpAndSp(202160,20375)
-            st.unset("cond")
-            st.exitQuest(False)
-            st.playSound("ItemSound.quest_finish")
-            htmltext = str(npc.getNpcId())+"-1"+event+".htm"
-        return htmltext
-
-    def onTalk (self,npc,player):
-        htmltext = Quest.getNoQuestMsg(player)
-        st = player.getQuestState(qn)
-        if not st : return htmltext
-        npcId = npc.getNpcId()
-        id = st.getState()
-        cond = st.getInt("cond")
-        if id == State.COMPLETED :
-            if npcId == Holly :
-                htmltext = "30839-0a.htm"
-            elif npcId == Weber:
-                htmltext = "31307-0a.htm"
-        elif id == State.CREATED :
-            if player.getLevel() >= 76 :
-                if npcId == Holly :
-                    htmltext = "30839-01.htm"
-                else:
-                    htmltext = "31307-01.htm"
-            else:
-                if npcId == Holly :
-                    htmltext = "30839-00.htm"
-                else:
-                    htmltext = "31307-00.htm"
-        else :
-            if npcId == Holly :
-                if cond == 1:
-                   htmltext = "30839-03.htm"
-                elif cond == 2:
-                   htmltext = "30839-05.htm"
-            elif npcId == Weber:
-                if cond == 1:
-                   htmltext = "31307-03.htm"
-                elif cond == 7:
-                   htmltext = "31307-05.htm"
-            elif npcId == Yin:
-                if cond == 2:
-                   htmltext = "32325-01.htm"
-                elif cond in [3,5]:
-                   htmltext = "32325-04.htm"
-                elif cond == 4:
-                   htmltext = "32325-08.htm"
-                   st.takeItems(YinSword,1)
-                   st.takeItems(SoulPieceWater,-1)
-                elif cond == 6:
-                   htmltext = "32325-10.htm"
-            elif npcId == Yang:
-                if cond == 7:
-                   htmltext = "32326-01.htm"
-                elif cond in [8,10]:
-                   htmltext = "32326-04.htm"
-                elif cond == 9:
-                   htmltext = "32326-08.htm"
-                   st.takeItems(YangSword,1)
-                   st.takeItems(SoulPieceAir,-1)
-                elif cond == 11:
-                   htmltext = "32326-10.htm"
-        return htmltext
-
-    def onKill(self,npc,player,isPet):
-        st = player.getQuestState(qn)
-        if not st or isPet: return
-        if st.getState() != State.STARTED : return
-        npcId = npc.getNpcId()
-        if npcId == Air :
-            if st.getItemEquipped(Inventory.PAPERDOLL_RHAND) == YangSword and st.getInt("cond") in [8,10] and st.getQuestItemsCount(SoulPieceAir) < 6 and st.getRandom(100) < 30:
-                st.giveItems(SoulPieceAir,1)
-                if st.getQuestItemsCount(SoulPieceAir) >= 6 :
-                    st.set("cond",str(st.getInt("cond")+1))
-                    st.playSound("ItemSound.quest_middle")
-                else:
-                    st.playSound("ItemSound.quest_itemget")
-        elif npcId == Water :
-            if st.getItemEquipped(Inventory.PAPERDOLL_RHAND) == YinSword and st.getInt("cond") in [3,5] and st.getQuestItemsCount(SoulPieceWater) < 6 and st.getRandom(100) < 30:
-                st.giveItems(SoulPieceWater,1)
-                if st.getQuestItemsCount(SoulPieceWater) >= 6 :
-                    st.set("cond",str(st.getInt("cond")+1))
-                    st.playSound("ItemSound.quest_middle")
-                else:
-                    st.playSound("ItemSound.quest_itemget")
-        return
-
-QUEST       = Quest(10275,qn,"Containing the Attribute Power")
-
-QUEST.addStartNpc(Holly)
-QUEST.addStartNpc(Weber)
-QUEST.addTalkId(Holly)
-QUEST.addTalkId(Weber)
-QUEST.addTalkId(Yin)
-QUEST.addTalkId(Yang)
-QUEST.addKillId(Air)
-QUEST.addKillId(Water)
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10276_MutatedKaneusGludio/__init__.py b/L2J_DataPack_BETA/dist/game/data/scripts/quests/10276_MutatedKaneusGludio/__init__.py
deleted file mode 100644
index af562983d2aa5f179b7cd489e4d744933bbd086a..0000000000000000000000000000000000000000
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10276_MutatedKaneusGludio/__init__.py
+++ /dev/null
@@ -1,111 +0,0 @@
-# 2010-06-29 by Gnacik
-# Based on official server Franz and Rpg
-
-import sys
-from com.l2jserver.gameserver.model.quest import State
-from com.l2jserver.gameserver.model.quest import QuestState
-from com.l2jserver.gameserver.model.quest.jython import QuestJython as JQuest
-from com.l2jserver.util import Rnd
-
-qn = "10276_MutatedKaneusGludio"
-
-# NPCs
-BATHIS       = 30332
-ROHMER       = 30344
-TOMLAN_KAMOS = 18554
-OL_ARIOSH    = 18555
-
-# Items
-TISSUE_TK    = 13830
-TISSUE_OA    = 13831
-
-class Quest (JQuest) :
-	def __init__(self,id,name,descr):
-		JQuest.__init__(self,id,name,descr)
-		self.questItemIds = [TISSUE_TK, TISSUE_OA]
-
-	def onAdvEvent(self, event, npc, player) :
-		htmltext = event
-		st = player.getQuestState(qn)
-		if not st : return
-
-		if event == "30332-03.htm" :
-			st.setState(State.STARTED)
-			st.set("cond","1")
-			st.playSound("ItemSound.quest_accept")
-		elif event == "30344-03.htm" :
-			st.unset("cond")
-			st.rewardItems(57,8500)
-			st.exitQuest(False)
-			st.playSound("ItemSound.quest_finish")
-		return htmltext
-
-	def onTalk (self, npc, player) :
-		htmltext = Quest.getNoQuestMsg(player)
-		st = player.getQuestState(qn)
-		if not st : return htmltext
-
-		npcId = npc.getNpcId()
-		cond = st.getInt("cond")
-
-		if npcId == BATHIS :
-			if st.getState() == State.COMPLETED :
-				htmltext = "30332-06.htm"
-			elif st.getState() == State.CREATED and player.getLevel() >= 18 :
-				htmltext = "30332-01.htm"
-			elif st.getState() == State.CREATED and player.getLevel() < 18 :
-				htmltext = "30332-00.htm"
-			elif st.getQuestItemsCount(TISSUE_TK) > 0 and st.getQuestItemsCount(TISSUE_OA) > 0 :
-				htmltext = "30332-05.htm"
-			elif cond == 1 :
-				htmltext = "30332-04.htm"
-		elif npcId == ROHMER :
-				if st.getState() == State.COMPLETED :
-					htmltext = Quest.getAlreadyCompletedMsg(player)
-				elif st.getQuestItemsCount(TISSUE_TK) > 0 and st.getQuestItemsCount(TISSUE_OA) > 0 :
-					htmltext = "30344-02.htm"
-				else :
-					htmltext = "30344-01.htm"
-		return htmltext
-
-	def onKill(self, npc, player, isPet) :
-		npcId = npc.getNpcId()
-		party = player.getParty()
-		if party :
-			PartyMembers = []
-			for member in party.getPartyMembers().toArray() :
-				st = member.getQuestState(qn)
-				if st and st.getState() == State.STARTED and st.getInt("cond") == 1 :
-					if npcId == TOMLAN_KAMOS and st.getQuestItemsCount(TISSUE_TK) == 0 :
-						PartyMembers.append(st)
-					elif npcId == TISSUE_OA and st.getQuestItemsCount(TISSUE_OA) == 0 :
-						PartyMembers.append(st)
-			if len(PartyMembers) == 0 : return
-			winnerst = PartyMembers[Rnd.get(len(PartyMembers))]
-			if npcId == TOMLAN_KAMOS and winnerst.getQuestItemsCount(TISSUE_TK) == 0 :
-				winnerst.giveItems(TISSUE_TK,1)
-				winnerst.playSound("ItemSound.quest_itemget")
-			elif npcId == OL_ARIOSH and winnerst.getQuestItemsCount(TISSUE_OA) == 0 :
-				winnerst.giveItems(TISSUE_OA,1)
-				winnerst.playSound("ItemSound.quest_itemget")
-		else :
-			st = player.getQuestState(qn)
-			if not st : return
-			if st.getState() != State.STARTED : return
-
-			if npcId == TOMLAN_KAMOS and st.getQuestItemsCount(TISSUE_TK) == 0 :
-				st.giveItems(TISSUE_TK,1)
-				st.playSound("ItemSound.quest_itemget")
-			elif npcId == OL_ARIOSH and st.getQuestItemsCount(TISSUE_OA) == 0 :
-				st.giveItems(TISSUE_OA,1)
-				st.playSound("ItemSound.quest_itemget")
-		return
-
-QUEST	= Quest(10276,qn,"Mutated Kaneus - Gludio")
-
-QUEST.addStartNpc(BATHIS)
-QUEST.addTalkId(BATHIS)
-QUEST.addTalkId(ROHMER)
-
-QUEST.addKillId(TOMLAN_KAMOS)
-QUEST.addKillId(OL_ARIOSH)
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10277_MutatedKaneusDion/__init__.py b/L2J_DataPack_BETA/dist/game/data/scripts/quests/10277_MutatedKaneusDion/__init__.py
deleted file mode 100644
index ce9b938cfaa5f83cb13aeeba90f60159edeeeb7d..0000000000000000000000000000000000000000
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10277_MutatedKaneusDion/__init__.py
+++ /dev/null
@@ -1,111 +0,0 @@
-# 2010-06-29 by Gnacik
-# Based on official server Franz and Rpg
-
-import sys
-from com.l2jserver.gameserver.model.quest import State
-from com.l2jserver.gameserver.model.quest import QuestState
-from com.l2jserver.gameserver.model.quest.jython import QuestJython as JQuest
-from com.l2jserver.util import Rnd
-
-qn = "10277_MutatedKaneusDion"
-
-# NPCs
-LUKAS        = 30071
-MIRIEN       = 30461
-CRIMSON_HATU = 18558
-SEER_FLOUROS = 18559
-
-# Items
-TISSUE_CH    = 13832
-TISSUE_SF    = 13833
-
-class Quest (JQuest) :
-	def __init__(self,id,name,descr):
-		JQuest.__init__(self,id,name,descr)
-		self.questItemIds = [TISSUE_CH, TISSUE_SF]
-
-	def onAdvEvent(self, event, npc, player) :
-		htmltext = event
-		st = player.getQuestState(qn)
-		if not st : return
-
-		if event == "30071-03.htm" :
-			st.setState(State.STARTED)
-			st.set("cond","1")
-			st.playSound("ItemSound.quest_accept")
-		elif event == "30461-03.htm" :
-			st.unset("cond")
-			st.rewardItems(57,20000)
-			st.exitQuest(False)
-			st.playSound("ItemSound.quest_finish")
-		return htmltext
-
-	def onTalk (self, npc, player) :
-		htmltext = Quest.getNoQuestMsg(player)
-		st = player.getQuestState(qn)
-		if not st : return htmltext
-
-		npcId = npc.getNpcId()
-		cond = st.getInt("cond")
-
-		if npcId == LUKAS :
-			if st.getState() == State.COMPLETED :
-				htmltext = "30071-06.htm"
-			elif st.getState() == State.CREATED and player.getLevel() >= 28 :
-				htmltext = "30071-01.htm"
-			elif st.getState() == State.CREATED and player.getLevel() < 28 :
-				htmltext = "30071-00.htm"
-			elif st.getQuestItemsCount(TISSUE_CH) > 0 and st.getQuestItemsCount(TISSUE_SF) > 0 :
-				htmltext = "30071-05.htm"
-			elif cond == 1 :
-				htmltext = "30071-04.htm"
-		elif npcId == MIRIEN :
-				if st.getState() == State.COMPLETED :
-					htmltext = Quest.getAlreadyCompletedMsg(player)
-				elif st.getQuestItemsCount(TISSUE_CH) > 0 and st.getQuestItemsCount(TISSUE_SF) > 0 :
-					htmltext = "30461-02.htm"
-				else :
-					htmltext = "30461-01.htm"
-		return htmltext
-
-	def onKill(self, npc, player, isPet) :
-		npcId = npc.getNpcId()
-		party = player.getParty()
-		if party :
-			PartyMembers = []
-			for member in party.getPartyMembers().toArray() :
-				st = member.getQuestState(qn)
-				if st and st.getState() == State.STARTED and st.getInt("cond") == 1 :
-					if npcId == CRIMSON_HATU and st.getQuestItemsCount(TISSUE_CH) == 0 :
-						PartyMembers.append(st)
-					elif npcId == TISSUE_SF and st.getQuestItemsCount(TISSUE_SF) == 0 :
-						PartyMembers.append(st)
-			if len(PartyMembers) == 0 : return
-			winnerst = PartyMembers[Rnd.get(len(PartyMembers))]
-			if npcId == CRIMSON_HATU and winnerst.getQuestItemsCount(TISSUE_CH) == 0 :
-				winnerst.giveItems(TISSUE_CH,1)
-				winnerst.playSound("ItemSound.quest_itemget")
-			elif npcId == SEER_FLOUROS and winnerst.getQuestItemsCount(TISSUE_SF) == 0 :
-				winnerst.giveItems(TISSUE_SF,1)
-				winnerst.playSound("ItemSound.quest_itemget")
-		else :
-			st = player.getQuestState(qn)
-			if not st : return
-			if st.getState() != State.STARTED : return
-
-			if npcId == CRIMSON_HATU and st.getQuestItemsCount(TISSUE_CH) == 0 :
-				st.giveItems(TISSUE_CH,1)
-				st.playSound("ItemSound.quest_itemget")
-			elif npcId == SEER_FLOUROS and st.getQuestItemsCount(TISSUE_SF) == 0 :
-				st.giveItems(TISSUE_SF,1)
-				st.playSound("ItemSound.quest_itemget")
-		return
-
-QUEST	= Quest(10277,qn,"Mutated Kaneus - Dion")
-
-QUEST.addStartNpc(LUKAS)
-QUEST.addTalkId(LUKAS)
-QUEST.addTalkId(MIRIEN)
-
-QUEST.addKillId(CRIMSON_HATU)
-QUEST.addKillId(SEER_FLOUROS)
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10278_MutatedKaneusHeine/__init__.py b/L2J_DataPack_BETA/dist/game/data/scripts/quests/10278_MutatedKaneusHeine/__init__.py
deleted file mode 100644
index 59dc33ea5d459251f89d5b3b5c6e33b546cb9df8..0000000000000000000000000000000000000000
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10278_MutatedKaneusHeine/__init__.py
+++ /dev/null
@@ -1,111 +0,0 @@
-# 2010-06-29 by Gnacik
-# Based on official server Franz and Rpg
-
-import sys
-from com.l2jserver.gameserver.model.quest import State
-from com.l2jserver.gameserver.model.quest import QuestState
-from com.l2jserver.gameserver.model.quest.jython import QuestJython as JQuest
-from com.l2jserver.util import Rnd
-
-qn = "10278_MutatedKaneusHeine"
-
-# NPCs
-GOSTA       = 30916
-MINEVIA     = 30907
-BLADE_OTIS  = 18562
-WEIRD_BUNEI = 18564
-
-# Items
-TISSUE_BO   = 13834
-TISSUE_WB   = 13835
-
-class Quest (JQuest) :
-	def __init__(self,id,name,descr):
-		JQuest.__init__(self,id,name,descr)
-		self.questItemIds = [TISSUE_BO, TISSUE_WB]
-
-	def onAdvEvent(self, event, npc, player) :
-		htmltext = event
-		st = player.getQuestState(qn)
-		if not st : return
-
-		if event == "30916-03.htm" :
-			st.setState(State.STARTED)
-			st.set("cond","1")
-			st.playSound("ItemSound.quest_accept")
-		elif event == "30907-03.htm" :
-			st.unset("cond")
-			st.rewardItems(57,50000)
-			st.exitQuest(False)
-			st.playSound("ItemSound.quest_finish")
-		return htmltext
-
-	def onTalk (self, npc, player) :
-		htmltext = Quest.getNoQuestMsg(player)
-		st = player.getQuestState(qn)
-		if not st : return htmltext
-
-		npcId = npc.getNpcId()
-		cond = st.getInt("cond")
-
-		if npcId == GOSTA :
-			if st.getState() == State.COMPLETED :
-				htmltext = "30916-06.htm"
-			elif st.getState() == State.CREATED and player.getLevel() >= 38 :
-				htmltext = "30916-01.htm"
-			elif st.getState() == State.CREATED and player.getLevel() < 38 :
-				htmltext = "30916-00.htm"
-			elif st.getQuestItemsCount(TISSUE_BO) > 0 and st.getQuestItemsCount(TISSUE_WB) > 0 :
-				htmltext = "30916-05.htm"
-			elif cond == 1 :
-				htmltext = "30916-04.htm"
-		elif npcId == MINEVIA :
-				if st.getState() == State.COMPLETED :
-					htmltext = Quest.getAlreadyCompletedMsg(player)
-				elif st.getQuestItemsCount(TISSUE_BO) > 0 and st.getQuestItemsCount(TISSUE_WB) > 0 :
-					htmltext = "30907-02.htm"
-				else :
-					htmltext = "30907-01.htm"
-		return htmltext
-
-	def onKill(self, npc, player, isPet) :
-		npcId = npc.getNpcId()
-		party = player.getParty()
-		if party :
-			PartyMembers = []
-			for member in party.getPartyMembers().toArray() :
-				st = member.getQuestState(qn)
-				if st and st.getState() == State.STARTED and st.getInt("cond") == 1 :
-					if npcId == BLADE_OTIS and st.getQuestItemsCount(TISSUE_BO) == 0 :
-						PartyMembers.append(st)
-					elif npcId == TISSUE_WB and st.getQuestItemsCount(TISSUE_WB) == 0 :
-						PartyMembers.append(st)
-			if len(PartyMembers) == 0 : return
-			winnerst = PartyMembers[Rnd.get(len(PartyMembers))]
-			if npcId == BLADE_OTIS and winnerst.getQuestItemsCount(TISSUE_BO) == 0 :
-				winnerst.giveItems(TISSUE_BO,1)
-				winnerst.playSound("ItemSound.quest_itemget")
-			elif npcId == WEIRD_BUNEI and winnerst.getQuestItemsCount(TISSUE_WB) == 0 :
-				winnerst.giveItems(TISSUE_WB,1)
-				winnerst.playSound("ItemSound.quest_itemget")
-		else :
-			st = player.getQuestState(qn)
-			if not st : return
-			if st.getState() != State.STARTED : return
-
-			if npcId == BLADE_OTIS and st.getQuestItemsCount(TISSUE_BO) == 0 :
-				st.giveItems(TISSUE_BO,1)
-				st.playSound("ItemSound.quest_itemget")
-			elif npcId == WEIRD_BUNEI and st.getQuestItemsCount(TISSUE_WB) == 0 :
-				st.giveItems(TISSUE_WB,1)
-				st.playSound("ItemSound.quest_itemget")
-		return
-
-QUEST	= Quest(10278,qn,"Mutated Kaneus - Heine")
-
-QUEST.addStartNpc(GOSTA)
-QUEST.addTalkId(GOSTA)
-QUEST.addTalkId(MINEVIA)
-
-QUEST.addKillId(BLADE_OTIS)
-QUEST.addKillId(WEIRD_BUNEI)
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10279_MutatedKaneusOren/__init__.py b/L2J_DataPack_BETA/dist/game/data/scripts/quests/10279_MutatedKaneusOren/__init__.py
deleted file mode 100644
index 39a3310cb5fc59fd0d4a76dc936289b5bf29b5b8..0000000000000000000000000000000000000000
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10279_MutatedKaneusOren/__init__.py
+++ /dev/null
@@ -1,111 +0,0 @@
-# 2010-06-29 by Gnacik
-# Based on official server Franz and Rpg
-
-import sys
-from com.l2jserver.gameserver.model.quest import State
-from com.l2jserver.gameserver.model.quest import QuestState
-from com.l2jserver.gameserver.model.quest.jython import QuestJython as JQuest
-from com.l2jserver.util import Rnd
-
-qn = "10279_MutatedKaneusOren"
-
-# NPCs
-MOUEN            = 30196
-ROVIA            = 30189
-KAIM_ABIGORE     = 18566
-KNIGHT_MONTAGNAR = 18568
-
-# Items
-TISSUE_KA    = 13836
-TISSUE_KM    = 13837
-
-class Quest (JQuest) :
-	def __init__(self,id,name,descr):
-		JQuest.__init__(self,id,name,descr)
-		self.questItemIds = [TISSUE_KA, TISSUE_KM]
-
-	def onAdvEvent(self, event, npc, player) :
-		htmltext = event
-		st = player.getQuestState(qn)
-		if not st : return
-
-		if event == "30196-03.htm" :
-			st.setState(State.STARTED)
-			st.set("cond","1")
-			st.playSound("ItemSound.quest_accept")
-		elif event == "30189-03.htm" :
-			st.unset("cond")
-			st.rewardItems(57,100000)
-			st.exitQuest(False)
-			st.playSound("ItemSound.quest_finish")
-		return htmltext
-
-	def onTalk (self, npc, player) :
-		htmltext = Quest.getNoQuestMsg(player)
-		st = player.getQuestState(qn)
-		if not st : return htmltext
-
-		npcId = npc.getNpcId()
-		cond = st.getInt("cond")
-
-		if npcId == MOUEN :
-			if st.getState() == State.COMPLETED :
-				htmltext = "30196-06.htm"
-			elif st.getState() == State.CREATED and player.getLevel() >= 48 :
-				htmltext = "30196-01.htm"
-			elif st.getState() == State.CREATED and player.getLevel() < 48 :
-				htmltext = "30196-00.htm"
-			elif st.getQuestItemsCount(TISSUE_KA) > 0 and st.getQuestItemsCount(TISSUE_KM) > 0 :
-				htmltext = "30196-05.htm"
-			elif cond == 1 :
-				htmltext = "30196-04.htm"
-		elif npcId == ROVIA :
-				if st.getState() == State.COMPLETED :
-					htmltext = Quest.getAlreadyCompletedMsg(player)
-				elif st.getQuestItemsCount(TISSUE_KA) > 0 and st.getQuestItemsCount(TISSUE_KM) > 0 :
-					htmltext = "30189-02.htm"
-				else :
-					htmltext = "30189-01.htm"
-		return htmltext
-
-	def onKill(self, npc, player, isPet) :
-		npcId = npc.getNpcId()
-		party = player.getParty()
-		if party :
-			PartyMembers = []
-			for member in party.getPartyMembers().toArray() :
-				st = member.getQuestState(qn)
-				if st and st.getState() == State.STARTED and st.getInt("cond") == 1 :
-					if npcId == KAIM_ABIGORE and st.getQuestItemsCount(TISSUE_KA) == 0 :
-						PartyMembers.append(st)
-					elif npcId == TISSUE_KM and st.getQuestItemsCount(TISSUE_KM) == 0 :
-						PartyMembers.append(st)
-			if len(PartyMembers) == 0 : return
-			winnerst = PartyMembers[Rnd.get(len(PartyMembers))]
-			if npcId == KAIM_ABIGORE and winnerst.getQuestItemsCount(TISSUE_KA) == 0 :
-				winnerst.giveItems(TISSUE_KA,1)
-				winnerst.playSound("ItemSound.quest_itemget")
-			elif npcId == KNIGHT_MONTAGNAR and winnerst.getQuestItemsCount(TISSUE_KM) == 0 :
-				winnerst.giveItems(TISSUE_KM,1)
-				winnerst.playSound("ItemSound.quest_itemget")
-		else :
-			st = player.getQuestState(qn)
-			if not st : return
-			if st.getState() != State.STARTED : return
-
-			if npcId == KAIM_ABIGORE and st.getQuestItemsCount(TISSUE_KA) == 0 :
-				st.giveItems(TISSUE_KA,1)
-				st.playSound("ItemSound.quest_itemget")
-			elif npcId == KNIGHT_MONTAGNAR and st.getQuestItemsCount(TISSUE_KM) == 0 :
-				st.giveItems(TISSUE_KM,1)
-				st.playSound("ItemSound.quest_itemget")
-		return
-
-QUEST	= Quest(10279,qn,"Mutated Kaneus - Oren")
-
-QUEST.addStartNpc(MOUEN)
-QUEST.addTalkId(MOUEN)
-QUEST.addTalkId(ROVIA)
-
-QUEST.addKillId(KAIM_ABIGORE)
-QUEST.addKillId(KNIGHT_MONTAGNAR)
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10280_MutatedKaneusSchuttgart/__init__.py b/L2J_DataPack_BETA/dist/game/data/scripts/quests/10280_MutatedKaneusSchuttgart/__init__.py
deleted file mode 100644
index fea4981dc684644500c6054b9c42e6858a05655e..0000000000000000000000000000000000000000
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10280_MutatedKaneusSchuttgart/__init__.py
+++ /dev/null
@@ -1,111 +0,0 @@
-# 2010-06-29 by Gnacik
-# Based on official server Franz and Rpg
-
-import sys
-from com.l2jserver.gameserver.model.quest import State
-from com.l2jserver.gameserver.model.quest import QuestState
-from com.l2jserver.gameserver.model.quest.jython import QuestJython as JQuest
-from com.l2jserver.util import Rnd
-
-qn = "10280_MutatedKaneusSchuttgart"
-
-# NPCs
-VISHOTSKY        = 31981
-ATRAXIA          = 31972
-VENOMOUS_STORACE = 18571
-KEL_BILETTE      = 18573
-
-# Items
-TISSUE_VS    = 13838
-TISSUE_KB    = 13839
-
-class Quest (JQuest) :
-	def __init__(self,id,name,descr):
-		JQuest.__init__(self,id,name,descr)
-		self.questItemIds = [TISSUE_VS, TISSUE_KB]
-
-	def onAdvEvent(self, event, npc, player) :
-		htmltext = event
-		st = player.getQuestState(qn)
-		if not st : return
-
-		if event == "31981-03.htm" :
-			st.setState(State.STARTED)
-			st.set("cond","1")
-			st.playSound("ItemSound.quest_accept")
-		elif event == "31972-03.htm" :
-			st.unset("cond")
-			st.rewardItems(57,210000)
-			st.exitQuest(False)
-			st.playSound("ItemSound.quest_finish")
-		return htmltext
-
-	def onTalk (self, npc, player) :
-		htmltext = Quest.getNoQuestMsg(player)
-		st = player.getQuestState(qn)
-		if not st : return htmltext
-
-		npcId = npc.getNpcId()
-		cond = st.getInt("cond")
-
-		if npcId == VISHOTSKY :
-			if st.getState() == State.COMPLETED :
-				htmltext = "31981-06.htm"
-			elif st.getState() == State.CREATED and player.getLevel() >= 58 :
-				htmltext = "31981-01.htm"
-			elif st.getState() == State.CREATED and player.getLevel() < 58 :
-				htmltext = "31981-00.htm"
-			elif st.getQuestItemsCount(TISSUE_VS) > 0 and st.getQuestItemsCount(TISSUE_KB) > 0 :
-				htmltext = "31981-05.htm"
-			elif cond == 1 :
-				htmltext = "31981-04.htm"
-		elif npcId == ATRAXIA :
-				if st.getState() == State.COMPLETED :
-					htmltext = Quest.getAlreadyCompletedMsg(player)
-				elif st.getQuestItemsCount(TISSUE_VS) > 0 and st.getQuestItemsCount(TISSUE_KB) > 0 :
-					htmltext = "31972-02.htm"
-				else :
-					htmltext = "31972-01.htm"
-		return htmltext
-
-	def onKill(self, npc, player, isPet) :
-		npcId = npc.getNpcId()
-		party = player.getParty()
-		if party :
-			PartyMembers = []
-			for member in party.getPartyMembers().toArray() :
-				st = member.getQuestState(qn)
-				if st and st.getState() == State.STARTED and st.getInt("cond") == 1 :
-					if npcId == VENOMOUS_STORACE and st.getQuestItemsCount(TISSUE_VS) == 0 :
-						PartyMembers.append(st)
-					elif npcId == TISSUE_KB and st.getQuestItemsCount(TISSUE_KB) == 0 :
-						PartyMembers.append(st)
-			if len(PartyMembers) == 0 : return
-			winnerst = PartyMembers[Rnd.get(len(PartyMembers))]
-			if npcId == VENOMOUS_STORACE and winnerst.getQuestItemsCount(TISSUE_VS) == 0 :
-				winnerst.giveItems(TISSUE_VS,1)
-				winnerst.playSound("ItemSound.quest_itemget")
-			elif npcId == KEL_BILETTE and winnerst.getQuestItemsCount(TISSUE_KB) == 0 :
-				winnerst.giveItems(TISSUE_KB,1)
-				winnerst.playSound("ItemSound.quest_itemget")
-		else :
-			st = player.getQuestState(qn)
-			if not st : return
-			if st.getState() != State.STARTED : return
-
-			if npcId == VENOMOUS_STORACE and st.getQuestItemsCount(TISSUE_VS) == 0 :
-				st.giveItems(TISSUE_VS,1)
-				st.playSound("ItemSound.quest_itemget")
-			elif npcId == KEL_BILETTE and st.getQuestItemsCount(TISSUE_KB) == 0 :
-				st.giveItems(TISSUE_KB,1)
-				st.playSound("ItemSound.quest_itemget")
-		return
-
-QUEST	= Quest(10280,qn,"Mutated Kaneus - Schuttgart")
-
-QUEST.addStartNpc(VISHOTSKY)
-QUEST.addTalkId(VISHOTSKY)
-QUEST.addTalkId(ATRAXIA)
-
-QUEST.addKillId(VENOMOUS_STORACE)
-QUEST.addKillId(KEL_BILETTE)
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10281_MutatedKaneusRune/__init__.py b/L2J_DataPack_BETA/dist/game/data/scripts/quests/10281_MutatedKaneusRune/__init__.py
deleted file mode 100644
index 57b53da6113e480e7e5686fae71adba789737034..0000000000000000000000000000000000000000
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10281_MutatedKaneusRune/__init__.py
+++ /dev/null
@@ -1,100 +0,0 @@
-# 2010-06-29 by Gnacik
-# Based on official server Franz and Rpg
-
-import sys
-from com.l2jserver.gameserver.model.quest import State
-from com.l2jserver.gameserver.model.quest import QuestState
-from com.l2jserver.gameserver.model.quest.jython import QuestJython as JQuest
-from com.l2jserver.util import Rnd
-
-qn = "10281_MutatedKaneusRune"
-
-# NPCs
-MATHIAS       = 31340
-KAYAN         = 31335
-WHITE_ALLOSCE = 18577
-
-# Items
-TISSUE_WA    = 13840
-
-class Quest (JQuest) :
-	def __init__(self,id,name,descr):
-		JQuest.__init__(self,id,name,descr)
-		self.questItemIds = [TISSUE_WA]
-
-	def onAdvEvent(self, event, npc, player) :
-		htmltext = event
-		st = player.getQuestState(qn)
-		if not st : return
-
-		if event == "31340-03.htm" :
-			st.setState(State.STARTED)
-			st.set("cond","1")
-			st.playSound("ItemSound.quest_accept")
-		elif event == "31335-03.htm" :
-			st.unset("cond")
-			st.rewardItems(57,360000)
-			st.exitQuest(False)
-			st.playSound("ItemSound.quest_finish")
-		return htmltext
-
-	def onTalk (self, npc, player) :
-		htmltext = Quest.getNoQuestMsg(player)
-		st = player.getQuestState(qn)
-		if not st : return htmltext
-
-		npcId = npc.getNpcId()
-		cond = st.getInt("cond")
-
-		if npcId == MATHIAS :
-			if st.getState() == State.COMPLETED :
-				htmltext = "31340-06.htm"
-			elif st.getState() == State.CREATED and player.getLevel() >= 68 :
-				htmltext = "31340-01.htm"
-			elif st.getState() == State.CREATED and player.getLevel() < 68 :
-				htmltext = "31340-00.htm"
-			elif st.getQuestItemsCount(TISSUE_WA) > 0 :
-				htmltext = "31340-05.htm"
-			elif cond == 1 :
-				htmltext = "31340-04.htm"
-		elif npcId == KAYAN :
-				if st.getState() == State.COMPLETED :
-					htmltext = Quest.getAlreadyCompletedMsg(player)
-				elif st.getQuestItemsCount(TISSUE_WA) > 0 :
-					htmltext = "31335-02.htm"
-				else :
-					htmltext = "31335-01.htm"
-		return htmltext
-
-	def onKill(self, npc, player, isPet) :
-		npcId = npc.getNpcId()
-		party = player.getParty()
-		if party :
-			PartyMembers = []
-			for member in party.getPartyMembers().toArray() :
-				st = member.getQuestState(qn)
-				if st and st.getState() == State.STARTED and st.getInt("cond") == 1 :
-					if npcId == WHITE_ALLOSCE and st.getQuestItemsCount(TISSUE_WA) == 0 :
-						PartyMembers.append(st)
-			if len(PartyMembers) == 0 : return
-			winnerst = PartyMembers[Rnd.get(len(PartyMembers))]
-			if npcId == WHITE_ALLOSCE and winnerst.getQuestItemsCount(TISSUE_WA) == 0 :
-				winnerst.giveItems(TISSUE_WA,1)
-				winnerst.playSound("ItemSound.quest_itemget")
-		else :
-			st = player.getQuestState(qn)
-			if not st : return
-			if st.getState() != State.STARTED : return
-
-			if npcId == WHITE_ALLOSCE and st.getQuestItemsCount(TISSUE_WA) == 0 :
-				st.giveItems(TISSUE_WA,1)
-				st.playSound("ItemSound.quest_itemget")
-		return
-
-QUEST	= Quest(10281,qn,"Mutated Kaneus - Rune")
-
-QUEST.addStartNpc(MATHIAS)
-QUEST.addTalkId(MATHIAS)
-QUEST.addTalkId(KAYAN)
-
-QUEST.addKillId(WHITE_ALLOSCE)
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10282_ToTheSeedOfAnnihilation/__init__.py b/L2J_DataPack_BETA/dist/game/data/scripts/quests/10282_ToTheSeedOfAnnihilation/__init__.py
deleted file mode 100644
index 9bfd134aee5e018a0bb5d6b1e85e1f6b2c4dbb30..0000000000000000000000000000000000000000
--- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10282_ToTheSeedOfAnnihilation/__init__.py
+++ /dev/null
@@ -1,69 +0,0 @@
-# 2010-08-13 by Gnacik
-# Based on Freya PTS
-import sys
-from com.l2jserver.gameserver.model.quest import State
-from com.l2jserver.gameserver.model.quest import QuestState
-from com.l2jserver.gameserver.model.quest.jython import QuestJython as JQuest
-
-qn = "10282_ToTheSeedOfAnnihilation"
-
-# NPC
-KBALDIR = 32733
-KLEMIS = 32734
-
-# ITEMS
-SOA_ORDERS = 15512
-
-class Quest (JQuest) :
-	def __init__(self,id,name,descr):
-		JQuest.__init__(self,id,name,descr)
-
-	def onAdvEvent (self,event,npc, player) :
-		htmltext = event
-		st = player.getQuestState(qn)
-		if not st : return
-
-		if event == "32733-07.htm" :
-			st.setState(State.STARTED)
-			st.set("cond","1")
-			st.giveItems(SOA_ORDERS,1)
-			st.playSound("ItemSound.quest_accept")
-		elif event == "32734-02.htm" :
-			st.unset("cond")
-			st.addExpAndSp(1148480,99110)
-			st.takeItems(SOA_ORDERS,-1)
-			st.exitQuest(False)
-		return htmltext
-
-	def onTalk (self,npc,player):
-		htmltext = Quest.getNoQuestMsg(player)
-		st = player.getQuestState(qn)
-		if not st : return htmltext
-
-		npcId = npc.getNpcId()
-		id = st.getState()
-		cond = st.getInt("cond")
-
-		if id == State.COMPLETED :
-			if npcId == KBALDIR :
-				htmltext = "32733-09.htm"
-			elif npcId == KLEMIS:
-				htmltext = "32734-03.htm"
-		elif id == State.CREATED :
-			if player.getLevel() >= 84 :
-				htmltext = "32733-01.htm"
-			else :
-				htmltext = "32733-00.htm"
-		else :
-			if cond == 1 :
-				if npcId == KBALDIR :
-					htmltext = "32733-08.htm"
-				elif npcId == KLEMIS :
-					htmltext = "32734-01.htm"
-		return htmltext
-
-QUEST = Quest(10282,qn,"To the Seed of Annihilation")
-
-QUEST.addStartNpc(KBALDIR)
-QUEST.addTalkId(KBALDIR)
-QUEST.addTalkId(KLEMIS)
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10267_JourneyToGracia/30857-00.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10267_JourneyToGracia/30857-00.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10267_JourneyToGracia/30857-00.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10267_JourneyToGracia/30857-00.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10267_JourneyToGracia/30857-01.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10267_JourneyToGracia/30857-01.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10267_JourneyToGracia/30857-01.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10267_JourneyToGracia/30857-01.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10267_JourneyToGracia/30857-02.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10267_JourneyToGracia/30857-02.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10267_JourneyToGracia/30857-02.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10267_JourneyToGracia/30857-02.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10267_JourneyToGracia/30857-03.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10267_JourneyToGracia/30857-03.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10267_JourneyToGracia/30857-03.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10267_JourneyToGracia/30857-03.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10267_JourneyToGracia/30857-04.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10267_JourneyToGracia/30857-04.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10267_JourneyToGracia/30857-04.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10267_JourneyToGracia/30857-04.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10267_JourneyToGracia/30857-05.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10267_JourneyToGracia/30857-05.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10267_JourneyToGracia/30857-05.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10267_JourneyToGracia/30857-05.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10267_JourneyToGracia/30857-06.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10267_JourneyToGracia/30857-06.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10267_JourneyToGracia/30857-06.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10267_JourneyToGracia/30857-06.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10267_JourneyToGracia/30857-07.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10267_JourneyToGracia/30857-07.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10267_JourneyToGracia/30857-07.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10267_JourneyToGracia/30857-07.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10267_JourneyToGracia/30857-0a.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10267_JourneyToGracia/30857-0a.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10267_JourneyToGracia/30857-0a.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10267_JourneyToGracia/30857-0a.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10267_JourneyToGracia/32548-01.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10267_JourneyToGracia/32548-01.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10267_JourneyToGracia/32548-01.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10267_JourneyToGracia/32548-01.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10267_JourneyToGracia/32548-02.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10267_JourneyToGracia/32548-02.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10267_JourneyToGracia/32548-02.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10267_JourneyToGracia/32548-02.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10267_JourneyToGracia/32548-03.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10267_JourneyToGracia/32548-03.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10267_JourneyToGracia/32548-03.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10267_JourneyToGracia/32548-03.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10267_JourneyToGracia/32564-01.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10267_JourneyToGracia/32564-01.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10267_JourneyToGracia/32564-01.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10267_JourneyToGracia/32564-01.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10267_JourneyToGracia/32564-02.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10267_JourneyToGracia/32564-02.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10267_JourneyToGracia/32564-02.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10267_JourneyToGracia/32564-02.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10267_JourneyToGracia/32564-03.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10267_JourneyToGracia/32564-03.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10267_JourneyToGracia/32564-03.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10267_JourneyToGracia/32564-03.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10267_JourneyToGracia/Q10267_JourneyToGracia.java b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10267_JourneyToGracia/Q10267_JourneyToGracia.java
new file mode 100644
index 0000000000000000000000000000000000000000..f1299d570587afec29fc7317a0300ccf09099d38
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10267_JourneyToGracia/Q10267_JourneyToGracia.java
@@ -0,0 +1,158 @@
+/*
+ * 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.Q10267_JourneyToGracia;
+
+import com.l2jserver.gameserver.model.actor.L2Npc;
+import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jserver.gameserver.model.quest.Quest;
+import com.l2jserver.gameserver.model.quest.QuestState;
+import com.l2jserver.gameserver.model.quest.State;
+
+/**
+ * Journey To Gracia (10267). Original jython script by Kerberos v1.0 on 2009/05/2
+ * @author nonom
+ */
+public class Q10267_JourneyToGracia extends Quest
+{
+	private static final String qn = "10267_JourneyToGracia";
+	
+	// NPCs
+	private static final int ORVEN = 30857;
+	private static final int KEUCEREUS = 32548;
+	private static final int PAPIKU = 32564;
+	
+	// Items
+	private static final int LETTER = 13810;
+	
+	@Override
+	public String onTalk(L2Npc npc, L2PcInstance player)
+	{
+		String htmltext = getNoQuestMsg(player);
+		QuestState st = player.getQuestState(qn);
+		
+		int npcId = npc.getNpcId();
+		
+		if (st == null)
+		{
+			return htmltext;
+		}
+		
+		switch (st.getState())
+		{
+			case State.COMPLETED:
+				if (npcId == KEUCEREUS)
+				{
+					htmltext = "32548-03.htm";
+				}
+				else if (npcId == ORVEN)
+				{
+					htmltext = "30857-0a.htm";
+				}
+				break;
+			case State.CREATED:
+				if (npcId == ORVEN)
+				{
+					if (player.getLevel() < 75)
+					{
+						htmltext = "30857-00.htm";
+					}
+					else
+					{
+						htmltext = "30857-01.htm";
+					}
+				}
+				break;
+			case State.STARTED:
+				if (npcId == ORVEN)
+				{
+					htmltext = "30857-07.htm";
+				}
+				else if (npcId == PAPIKU)
+				{
+					if (Integer.valueOf(st.get("cond")) == 1)
+					{
+						htmltext = "32564-01.htm";
+					}
+					else
+					{
+						htmltext = "32564-03.htm";
+					}
+				}
+				else if (npcId == KEUCEREUS)
+				{
+					if (Integer.valueOf(st.get("cond")) == 2)
+					{
+						htmltext = "32548-01.htm";
+					}
+				}
+				break;
+		}
+		return htmltext;
+	}
+	
+	@Override
+	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+	{
+		String htmltext = event;
+		QuestState st = player.getQuestState(qn);
+		
+		if (st == null)
+		{
+			return htmltext;
+		}
+		
+		switch (event)
+		{
+			case "30857-06.htm":
+				st.set("cond", "1");
+				st.setState(State.STARTED);
+				st.playSound("ItemSound.quest_accept");
+				st.giveItems(LETTER, 1);
+				break;
+			case "32564-02.htm":
+				st.set("cond", "2");
+				st.playSound("ItemSound.quest_middle");
+				break;
+			case "32548-02.htm":
+				st.giveItems(57, 92500);
+				st.addExpAndSp(75480, 7570);
+				st.exitQuest(false);
+				st.playSound("ItemSound.quest_finish");
+				break;
+		}
+		return htmltext;
+	}
+	
+	public Q10267_JourneyToGracia(int questId, String name, String descr)
+	{
+		super(questId, name, descr);
+		
+		addStartNpc(ORVEN);
+		
+		addTalkId(ORVEN);
+		addTalkId(KEUCEREUS);
+		addTalkId(PAPIKU);
+		
+		questItemIds = new int[]
+		{
+			LETTER
+		};
+	}
+	
+	public static void main(String[] args)
+	{
+		new Q10267_JourneyToGracia(10267, qn, "Journey to Gracia");
+	}
+}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10268_ToTheSeedOfInfinity/32530-01.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10268_ToTheSeedOfInfinity/32530-01.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10268_ToTheSeedOfInfinity/32530-01.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10268_ToTheSeedOfInfinity/32530-01.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10268_ToTheSeedOfInfinity/32530-02.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10268_ToTheSeedOfInfinity/32530-02.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10268_ToTheSeedOfInfinity/32530-02.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10268_ToTheSeedOfInfinity/32530-02.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10268_ToTheSeedOfInfinity/32548-00.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10268_ToTheSeedOfInfinity/32548-00.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10268_ToTheSeedOfInfinity/32548-00.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10268_ToTheSeedOfInfinity/32548-00.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10268_ToTheSeedOfInfinity/32548-01.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10268_ToTheSeedOfInfinity/32548-01.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10268_ToTheSeedOfInfinity/32548-01.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10268_ToTheSeedOfInfinity/32548-01.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10268_ToTheSeedOfInfinity/32548-02.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10268_ToTheSeedOfInfinity/32548-02.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10268_ToTheSeedOfInfinity/32548-02.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10268_ToTheSeedOfInfinity/32548-02.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10268_ToTheSeedOfInfinity/32548-03.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10268_ToTheSeedOfInfinity/32548-03.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10268_ToTheSeedOfInfinity/32548-03.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10268_ToTheSeedOfInfinity/32548-03.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10268_ToTheSeedOfInfinity/32548-04.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10268_ToTheSeedOfInfinity/32548-04.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10268_ToTheSeedOfInfinity/32548-04.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10268_ToTheSeedOfInfinity/32548-04.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10268_ToTheSeedOfInfinity/32548-05.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10268_ToTheSeedOfInfinity/32548-05.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10268_ToTheSeedOfInfinity/32548-05.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10268_ToTheSeedOfInfinity/32548-05.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10268_ToTheSeedOfInfinity/32548-06.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10268_ToTheSeedOfInfinity/32548-06.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10268_ToTheSeedOfInfinity/32548-06.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10268_ToTheSeedOfInfinity/32548-06.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10268_ToTheSeedOfInfinity/32548-0a.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10268_ToTheSeedOfInfinity/32548-0a.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10268_ToTheSeedOfInfinity/32548-0a.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10268_ToTheSeedOfInfinity/32548-0a.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10268_ToTheSeedOfInfinity/Q10268_ToTheSeedOfInfinity.java b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10268_ToTheSeedOfInfinity/Q10268_ToTheSeedOfInfinity.java
new file mode 100644
index 0000000000000000000000000000000000000000..2d1998b265b6cd0ea2ab62de132f47d1f306f9aa
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10268_ToTheSeedOfInfinity/Q10268_ToTheSeedOfInfinity.java
@@ -0,0 +1,133 @@
+/*
+ * 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.Q10268_ToTheSeedOfInfinity;
+
+import com.l2jserver.gameserver.model.actor.L2Npc;
+import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jserver.gameserver.model.quest.Quest;
+import com.l2jserver.gameserver.model.quest.QuestState;
+import com.l2jserver.gameserver.model.quest.State;
+
+/**
+ * To the Seed of Infinity (10268). Original jython script by Kerberos v1.0 on 2009/05/1
+ * @author nonom
+ */
+public class Q10268_ToTheSeedOfInfinity extends Quest
+{
+	private static final String qn = "10268_ToTheSeedOfInfinity";
+	
+	// NPCs
+	private static final int KEUCEREUS = 32548;
+	private static final int TEPIOS = 32603;
+	
+	// Items
+	private static final int INTRODUCTION = 13811;
+	
+	@Override
+	public String onTalk(L2Npc npc, L2PcInstance player)
+	{
+		String htmltext = getNoQuestMsg(player);
+		QuestState st = player.getQuestState(qn);
+		
+		int npcId = npc.getNpcId();
+		
+		if (st == null)
+		{
+			return htmltext;
+		}
+		
+		switch (st.getState())
+		{
+			case State.COMPLETED:
+				if (npcId == TEPIOS)
+				{
+					htmltext = "32530-02.htm";
+				}
+				else
+				{
+					htmltext = "32548-0a.htm";
+				}
+				break;
+			case State.CREATED:
+				if (npcId == KEUCEREUS)
+				{
+					if (player.getLevel() < 75)
+					{
+						htmltext = "32548-00.htm";
+					}
+					else
+					{
+						htmltext = "32548-01.htm";
+					}
+				}
+				break;
+			case State.STARTED:
+				if (npcId == KEUCEREUS)
+				{
+					htmltext = "32548-06.htm";
+				}
+				else if (npcId == TEPIOS)
+				{
+					htmltext = "32530-01.htm";
+					st.giveItems(57, 16671);
+					st.addExpAndSp(100640, 10098);
+					st.exitQuest(false);
+					st.playSound("ItemSound.quest_finish");
+				}
+				break;
+		}
+		return htmltext;
+	}
+	
+	@Override
+	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+	{
+		String htmltext = event;
+		QuestState st = player.getQuestState(qn);
+		
+		if (st == null)
+		{
+			return htmltext;
+		}
+		
+		if (event.equalsIgnoreCase("32548-05.htm"))
+		{
+			st.set("cond", "1");
+			st.setState(State.STARTED);
+			st.playSound("ItemSound.quest_accept");
+			st.giveItems(INTRODUCTION, 1);
+		}
+		return htmltext;
+	}
+	
+	public Q10268_ToTheSeedOfInfinity(int questId, String name, String descr)
+	{
+		super(questId, name, descr);
+		
+		addStartNpc(KEUCEREUS);
+		addTalkId(KEUCEREUS);
+		addTalkId(TEPIOS);
+		
+		questItemIds = new int[]
+		{
+			INTRODUCTION
+		};
+	}
+	
+	public static void main(String[] args)
+	{
+		new Q10268_ToTheSeedOfInfinity(10268, qn, "To the Seed of Infinity");
+	}
+}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10269_ToTheSeedOfDestruction/32526-01.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10269_ToTheSeedOfDestruction/32526-01.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10269_ToTheSeedOfDestruction/32526-01.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10269_ToTheSeedOfDestruction/32526-01.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10269_ToTheSeedOfDestruction/32526-02.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10269_ToTheSeedOfDestruction/32526-02.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10269_ToTheSeedOfDestruction/32526-02.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10269_ToTheSeedOfDestruction/32526-02.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10269_ToTheSeedOfDestruction/32548-00.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10269_ToTheSeedOfDestruction/32548-00.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10269_ToTheSeedOfDestruction/32548-00.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10269_ToTheSeedOfDestruction/32548-00.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10269_ToTheSeedOfDestruction/32548-01.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10269_ToTheSeedOfDestruction/32548-01.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10269_ToTheSeedOfDestruction/32548-01.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10269_ToTheSeedOfDestruction/32548-01.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10269_ToTheSeedOfDestruction/32548-02.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10269_ToTheSeedOfDestruction/32548-02.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10269_ToTheSeedOfDestruction/32548-02.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10269_ToTheSeedOfDestruction/32548-02.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10269_ToTheSeedOfDestruction/32548-03.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10269_ToTheSeedOfDestruction/32548-03.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10269_ToTheSeedOfDestruction/32548-03.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10269_ToTheSeedOfDestruction/32548-03.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10269_ToTheSeedOfDestruction/32548-04.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10269_ToTheSeedOfDestruction/32548-04.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10269_ToTheSeedOfDestruction/32548-04.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10269_ToTheSeedOfDestruction/32548-04.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10269_ToTheSeedOfDestruction/32548-05.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10269_ToTheSeedOfDestruction/32548-05.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10269_ToTheSeedOfDestruction/32548-05.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10269_ToTheSeedOfDestruction/32548-05.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10269_ToTheSeedOfDestruction/32548-06.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10269_ToTheSeedOfDestruction/32548-06.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10269_ToTheSeedOfDestruction/32548-06.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10269_ToTheSeedOfDestruction/32548-06.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10269_ToTheSeedOfDestruction/32548-0a.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10269_ToTheSeedOfDestruction/32548-0a.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10269_ToTheSeedOfDestruction/32548-0a.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10269_ToTheSeedOfDestruction/32548-0a.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10269_ToTheSeedOfDestruction/Q10269_ToTheSeedOfDestruction.java b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10269_ToTheSeedOfDestruction/Q10269_ToTheSeedOfDestruction.java
new file mode 100644
index 0000000000000000000000000000000000000000..d3497eea881a86b95dcc515f919b0f93ebde0ff5
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10269_ToTheSeedOfDestruction/Q10269_ToTheSeedOfDestruction.java
@@ -0,0 +1,132 @@
+/*
+ * 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.Q10269_ToTheSeedOfDestruction;
+
+import com.l2jserver.gameserver.model.actor.L2Npc;
+import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jserver.gameserver.model.quest.Quest;
+import com.l2jserver.gameserver.model.quest.QuestState;
+import com.l2jserver.gameserver.model.quest.State;
+
+/**
+ * To the Seed of Destruction (10269). Original jython script by Kerberos v1.0 on 2009/05/1
+ * @author nonom
+ */
+public class Q10269_ToTheSeedOfDestruction extends Quest
+{
+	private static final String qn = "10269_ToTheSeedOfDestruction";
+	
+	// NPCs
+	private static final int KEUCEREUS = 32548;
+	private static final int ALLENOS = 32526;
+	
+	// Items
+	private static final int INTRODUCTION = 13812;
+	
+	@Override
+	public String onTalk(L2Npc npc, L2PcInstance player)
+	{
+		String htmltext = getNoQuestMsg(player);
+		QuestState st = player.getQuestState(qn);
+		int npcId = npc.getNpcId();
+		
+		if (st == null)
+		{
+			return htmltext;
+		}
+		
+		switch (st.getState())
+		{
+			case State.COMPLETED:
+				if (npcId == ALLENOS)
+				{
+					htmltext = "32526-02.htm";
+				}
+				else
+				{
+					htmltext = "32548-0a.htm";
+				}
+				break;
+			case State.CREATED:
+				if (npcId == KEUCEREUS)
+				{
+					if (player.getLevel() < 75)
+					{
+						htmltext = "32548-00.htm";
+					}
+					else
+					{
+						htmltext = "32548-01.htm";
+					}
+				}
+				break;
+			case State.STARTED:
+				if (npcId == KEUCEREUS)
+				{
+					htmltext = "32548-06.htm";
+				}
+				else if (npcId == ALLENOS)
+				{
+					htmltext = "32526-01.htm";
+					st.giveItems(57, 29174);
+					st.addExpAndSp(176121, 7671);
+					st.exitQuest(false);
+					st.playSound("ItemSound.quest_finish");
+				}
+				break;
+		}
+		return htmltext;
+	}
+	
+	@Override
+	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+	{
+		String htmltext = event;
+		QuestState st = player.getQuestState(qn);
+		
+		if (st == null)
+		{
+			return htmltext;
+		}
+		
+		if (event.equalsIgnoreCase("32548-05.htm"))
+		{
+			st.set("cond", "1");
+			st.setState(State.STARTED);
+			st.playSound("ItemSound.quest_accept");
+			st.giveItems(INTRODUCTION, 1);
+		}
+		return htmltext;
+	}
+	
+	public Q10269_ToTheSeedOfDestruction(int questId, String name, String descr)
+	{
+		super(questId, name, descr);
+		
+		addStartNpc(KEUCEREUS);
+		addTalkId(KEUCEREUS);
+		addTalkId(ALLENOS);
+		
+		questItemIds = new int[]
+		{
+			INTRODUCTION
+		};
+	}
+	
+	public static void main(String[] args)
+	{
+		new Q10269_ToTheSeedOfDestruction(10269, qn, "To the Seed of Destruction");
+	}
+}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10273_GoodDayToFly/32557-00.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10273_GoodDayToFly/32557-00.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10273_GoodDayToFly/32557-00.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10273_GoodDayToFly/32557-00.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10273_GoodDayToFly/32557-01.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10273_GoodDayToFly/32557-01.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10273_GoodDayToFly/32557-01.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10273_GoodDayToFly/32557-01.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10273_GoodDayToFly/32557-02.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10273_GoodDayToFly/32557-02.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10273_GoodDayToFly/32557-02.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10273_GoodDayToFly/32557-02.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10273_GoodDayToFly/32557-03.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10273_GoodDayToFly/32557-03.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10273_GoodDayToFly/32557-03.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10273_GoodDayToFly/32557-03.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10273_GoodDayToFly/32557-04.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10273_GoodDayToFly/32557-04.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10273_GoodDayToFly/32557-04.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10273_GoodDayToFly/32557-04.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10273_GoodDayToFly/32557-05.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10273_GoodDayToFly/32557-05.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10273_GoodDayToFly/32557-05.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10273_GoodDayToFly/32557-05.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10273_GoodDayToFly/32557-06.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10273_GoodDayToFly/32557-06.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10273_GoodDayToFly/32557-06.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10273_GoodDayToFly/32557-06.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10273_GoodDayToFly/32557-07.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10273_GoodDayToFly/32557-07.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10273_GoodDayToFly/32557-07.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10273_GoodDayToFly/32557-07.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10273_GoodDayToFly/32557-08.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10273_GoodDayToFly/32557-08.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10273_GoodDayToFly/32557-08.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10273_GoodDayToFly/32557-08.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10273_GoodDayToFly/32557-09.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10273_GoodDayToFly/32557-09.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10273_GoodDayToFly/32557-09.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10273_GoodDayToFly/32557-09.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10273_GoodDayToFly/32557-0a.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10273_GoodDayToFly/32557-0a.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10273_GoodDayToFly/32557-0a.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10273_GoodDayToFly/32557-0a.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10273_GoodDayToFly/32557-10.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10273_GoodDayToFly/32557-10.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10273_GoodDayToFly/32557-10.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10273_GoodDayToFly/32557-10.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10273_GoodDayToFly/32557-11.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10273_GoodDayToFly/32557-11.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10273_GoodDayToFly/32557-11.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10273_GoodDayToFly/32557-11.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10273_GoodDayToFly/32557-12.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10273_GoodDayToFly/32557-12.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10273_GoodDayToFly/32557-12.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10273_GoodDayToFly/32557-12.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10273_GoodDayToFly/32557-13.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10273_GoodDayToFly/32557-13.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10273_GoodDayToFly/32557-13.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10273_GoodDayToFly/32557-13.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10273_GoodDayToFly/32557-14.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10273_GoodDayToFly/32557-14.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10273_GoodDayToFly/32557-14.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10273_GoodDayToFly/32557-14.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10273_GoodDayToFly/Q10273_GoodDayToFly.java b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10273_GoodDayToFly/Q10273_GoodDayToFly.java
new file mode 100644
index 0000000000000000000000000000000000000000..33410829fb0fed242400ed5fb4c0f582b3f342c2
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10273_GoodDayToFly/Q10273_GoodDayToFly.java
@@ -0,0 +1,193 @@
+/*
+ * 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.Q10273_GoodDayToFly;
+
+import com.l2jserver.gameserver.datatables.SkillTable;
+import com.l2jserver.gameserver.model.actor.L2Npc;
+import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jserver.gameserver.model.quest.Quest;
+import com.l2jserver.gameserver.model.quest.QuestState;
+import com.l2jserver.gameserver.model.quest.State;
+
+/**
+ * Good Day to Fly (10273). Original Jython script by Kerberos v1.0 on 2009/04/25
+ * @author nonom
+ */
+public class Q10273_GoodDayToFly extends Quest
+{
+	private static final String qn = "10273_GoodDayToFly";
+	
+	// NPCs
+	private static final int LEKON = 32557;
+	
+	private static final int[] MOBS =
+	{
+		22614, 22615
+	};
+	
+	// Items
+	private static final int MARK = 13856;
+	
+	@Override
+	public String onTalk(L2Npc npc, L2PcInstance player)
+	{
+		String htmltext = getNoQuestMsg(player);
+		QuestState st = player.getQuestState(qn);
+		
+		if (st == null)
+		{
+			return htmltext;
+		}
+		
+		int transform = st.getInt("transform");
+		
+		switch (st.getState())
+		{
+			case State.COMPLETED:
+				htmltext = "32557-0a.htm";
+				break;
+			case State.CREATED:
+				if (player.getLevel() < 75)
+				{
+					htmltext = "32557-00.htm";
+				}
+				else
+				{
+					htmltext = "32557-01.htm";
+				}
+				break;
+			default:
+				if (st.getQuestItemsCount(MARK) >= 5)
+				{
+					htmltext = "32557-14.htm";
+					if (transform == 1)
+					{
+						st.giveItems(13553, 1);
+					}
+					else if (transform == 2)
+					{
+						st.giveItems(13554, 1);
+					}
+					st.giveItems(13857, 1);
+					st.addExpAndSp(25160, 2525);
+					st.exitQuest(false);
+					st.playSound("ItemSound.quest_finish");
+				}
+				else if (transform == 0)
+				{
+					htmltext = "32557-07.htm";
+				}
+				else
+				{
+					htmltext = "32557-11.htm";
+				}
+				break;
+		}
+		return htmltext;
+	}
+	
+	@Override
+	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+	{
+		String htmltext = event;
+		QuestState st = player.getQuestState(qn);
+		
+		if (st == null)
+		{
+			return htmltext;
+		}
+		
+		switch (event)
+		{
+			case "32557-06.htm":
+				st.set("cond", "1");
+				st.setState(State.STARTED);
+				st.playSound("ItemSound.quest_accept");
+				break;
+			case "32557-09.htm":
+				st.set("transform", "1");
+				SkillTable.getInstance().getInfo(5982, 1).getEffects(player, player);
+				break;
+			case "32557-10.htm":
+				st.set("transform", "2");
+				SkillTable.getInstance().getInfo(5983, 1).getEffects(player, player);
+				break;
+			case "32557-13.htm":
+				if (st.getInt("transform") == 1)
+				{
+					SkillTable.getInstance().getInfo(5982, 1).getEffects(player, player);
+				}
+				else if (st.getInt("transform") == 2)
+				{
+					SkillTable.getInstance().getInfo(5983, 1).getEffects(player, player);
+				}
+				break;
+		}
+		return htmltext;
+	}
+	
+	@Override
+	public String onKill(L2Npc npc, L2PcInstance killer, boolean isPet)
+	{
+		QuestState st = killer.getQuestState(qn);
+		
+		if (st == null)
+		{
+			return null;
+		}
+		
+		if (!st.isStarted())
+		{
+			return null;
+		}
+		
+		final long count = st.getQuestItemsCount(MARK);
+		
+		if ((st.getInt("cond") == 1) && (count < 5))
+		{
+			st.giveItems(MARK, 1);
+			if (count == 4)
+			{
+				st.playSound("ItemSound.quest_middle");
+				st.set("cond", "2");
+			}
+			else
+			{
+				st.playSound("ItemSound.quest_itemget");
+			}
+		}
+		return null;
+	}
+	
+	public Q10273_GoodDayToFly(int questId, String name, String descr)
+	{
+		super(questId, name, descr);
+		addStartNpc(LEKON);
+		addTalkId(LEKON);
+		for (int i : MOBS)
+		{
+			addKillId(i);
+		}
+		questItemIds = new int[]
+		{
+			MARK
+		};
+	}
+	
+	public static void main(String[] args)
+	{
+		new Q10273_GoodDayToFly(10273, qn, "Good Day to Fly");
+	}
+}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10274_CollectingInTheAir/32557-00.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10274_CollectingInTheAir/32557-00.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10274_CollectingInTheAir/32557-00.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10274_CollectingInTheAir/32557-00.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10274_CollectingInTheAir/32557-01.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10274_CollectingInTheAir/32557-01.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10274_CollectingInTheAir/32557-01.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10274_CollectingInTheAir/32557-01.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10274_CollectingInTheAir/32557-02.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10274_CollectingInTheAir/32557-02.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10274_CollectingInTheAir/32557-02.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10274_CollectingInTheAir/32557-02.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10274_CollectingInTheAir/32557-03.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10274_CollectingInTheAir/32557-03.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10274_CollectingInTheAir/32557-03.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10274_CollectingInTheAir/32557-03.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10274_CollectingInTheAir/32557-04.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10274_CollectingInTheAir/32557-04.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10274_CollectingInTheAir/32557-04.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10274_CollectingInTheAir/32557-04.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10274_CollectingInTheAir/32557-05.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10274_CollectingInTheAir/32557-05.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10274_CollectingInTheAir/32557-05.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10274_CollectingInTheAir/32557-05.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10274_CollectingInTheAir/32557-0a.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10274_CollectingInTheAir/32557-0a.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10274_CollectingInTheAir/32557-0a.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10274_CollectingInTheAir/32557-0a.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10274_CollectingInTheAir/Q10274_CollectingInTheAir.java b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10274_CollectingInTheAir/Q10274_CollectingInTheAir.java
new file mode 100644
index 0000000000000000000000000000000000000000..867cde60c750bceb0cf8c7d8f4458a6fd8bd93cf
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10274_CollectingInTheAir/Q10274_CollectingInTheAir.java
@@ -0,0 +1,196 @@
+/*
+ * 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.Q10274_CollectingInTheAir;
+
+import com.l2jserver.gameserver.model.L2Object;
+import com.l2jserver.gameserver.model.L2Skill;
+import com.l2jserver.gameserver.model.actor.L2Npc;
+import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jserver.gameserver.model.quest.Quest;
+import com.l2jserver.gameserver.model.quest.QuestState;
+import com.l2jserver.gameserver.model.quest.State;
+import com.l2jserver.gameserver.util.Util;
+
+/**
+ * Collecting in the Air (10274). Original Jython script by Kerberos v1.0 on 2009/04/26
+ * @author nonom
+ */
+public class Q10274_CollectingInTheAir extends Quest
+{
+	private static final String qn = "10274_CollectingInTheAir";
+	
+	// NPCs
+	private static final int LEKON = 32557;
+	
+	// Items
+	private static final int SCROLL = 13844;
+	private static final int RED = 13858;
+	private static final int BLUE = 13859;
+	private static final int GREEN = 13860;
+	
+	private static final int MOBS[] =
+	{
+		18684, 18685, 18686, 18687, 18688, 18689, 18690, 18691, 18692, 18693
+	};
+	
+	@Override
+	public String onTalk(L2Npc npc, L2PcInstance player)
+	{
+		String htmltext = getNoQuestMsg(player);
+		QuestState st = player.getQuestState(qn);
+		
+		if (st == null)
+		{
+			return htmltext;
+		}
+		
+		switch (st.getState())
+		{
+			case State.COMPLETED:
+				htmltext = "32557-0a.htm";
+				break;
+			case State.CREATED:
+				QuestState qs = player.getQuestState("10273_GoodDayToFly");
+				if (qs != null)
+				{
+					if (qs.isCompleted() && (player.getLevel() >= 75))
+					{
+						htmltext = "32557-01.htm";
+					}
+					else
+					{
+						htmltext = "32557-00.htm";
+					}
+				}
+				else
+				{
+					htmltext = "32557-00.htm";
+				}
+				break;
+			case State.STARTED:
+				if ((st.getQuestItemsCount(RED) + st.getQuestItemsCount(BLUE) + st.getQuestItemsCount(GREEN)) >= 8)
+				{
+					htmltext = "32557-05.htm";
+					st.giveItems(13728, 1);
+					st.addExpAndSp(25160, 2525);
+					st.unset("transform");
+					st.exitQuest(false);
+					st.playSound("ItemSound.quest_finish");
+				}
+				else
+				{
+					htmltext = "32557-04.htm";
+				}
+				break;
+		}
+		return htmltext;
+	}
+	
+	@Override
+	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+	{
+		String htmltext = event;
+		QuestState st = player.getQuestState(qn);
+		
+		if (st == null)
+		{
+			return htmltext;
+		}
+		
+		if (event.equalsIgnoreCase("32557-03.htm"))
+		{
+			st.set("cond", "1");
+			st.giveItems(SCROLL, 8);
+			st.setState(State.STARTED);
+			st.playSound("ItemSound.quest_accept");
+		}
+		return htmltext;
+	}
+	
+	@Override
+	public String onSkillSee(L2Npc npc, L2PcInstance caster, L2Skill skill, L2Object[] targets, boolean isPet)
+	{
+		super.onSkillSee(npc, caster, skill, targets, isPet);
+		
+		QuestState st = caster.getQuestState(qn);
+		int npcId = npc.getNpcId();
+		
+		if (st == null)
+		{
+			return null;
+		}
+		
+		if (!st.isStarted())
+		{
+			return null;
+		}
+		
+		if (!Util.contains(MOBS, npcId))
+		{
+			return null;
+		}
+		
+		if (Util.contains(targets, npc) && (st.getInt("cond") == 1) && (skill.getId() == 2630))
+		{
+			st.playSound("ItemSound.quest_itemget");
+			
+			if ((npcId > 18684) && (npcId < 18687))
+			{
+				st.giveItems(RED, 1);
+			}
+			else if ((npcId > 18687) && (npcId < 18690))
+			{
+				st.giveItems(BLUE, 1);
+			}
+			else if ((npcId > 18690) && (npcId < 18693))
+			{
+				st.giveItems(GREEN, 1);
+			}
+			npc.doDie(caster);
+		}
+		return null;
+	}
+	
+	public Q10274_CollectingInTheAir(int questId, String name, String descr)
+	{
+		super(questId, name, descr);
+		
+		addStartNpc(LEKON);
+		addTalkId(LEKON);
+		
+		addSkillSeeId(18684);
+		addSkillSeeId(18685);
+		addSkillSeeId(18686);
+		addSkillSeeId(18687);
+		addSkillSeeId(18688);
+		addSkillSeeId(18689);
+		addSkillSeeId(18690);
+		addSkillSeeId(18691);
+		addSkillSeeId(18692);
+		
+		questItemIds = new int[]
+		{
+			SCROLL, 
+			RED, 
+			BLUE, 
+			GREEN
+		};
+	}
+	
+	public static void main(String[] args)
+	{
+		new Q10274_CollectingInTheAir(10274, qn, "Collecting in the Air");
+	}
+}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/30839-00.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/30839-00.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/30839-00.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/30839-00.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/30839-01.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/30839-01.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/30839-01.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/30839-01.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/30839-02.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/30839-02.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/30839-02.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/30839-02.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/30839-03.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/30839-03.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/30839-03.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/30839-03.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/30839-04.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/30839-04.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/30839-04.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/30839-04.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/30839-05.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/30839-05.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/30839-05.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/30839-05.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/30839-0a.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/30839-0a.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/30839-0a.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/30839-0a.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/31307-00.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/31307-00.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/31307-00.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/31307-00.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/31307-01.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/31307-01.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/31307-01.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/31307-01.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/31307-02.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/31307-02.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/31307-02.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/31307-02.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/31307-03.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/31307-03.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/31307-03.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/31307-03.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/31307-04.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/31307-04.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/31307-04.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/31307-04.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/31307-05.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/31307-05.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/31307-05.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/31307-05.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/31307-0a.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/31307-0a.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/31307-0a.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/31307-0a.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/32325-01.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/32325-01.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/32325-01.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/32325-01.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/32325-02.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/32325-02.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/32325-02.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/32325-02.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/32325-03.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/32325-03.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/32325-03.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/32325-03.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/32325-04.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/32325-04.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/32325-04.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/32325-04.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/32325-05.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/32325-05.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/32325-05.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/32325-05.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/32325-06.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/32325-06.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/32325-06.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/32325-06.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/32325-07.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/32325-07.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/32325-07.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/32325-07.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/32325-08.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/32325-08.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/32325-08.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/32325-08.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/32325-09.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/32325-09.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/32325-09.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/32325-09.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/32325-10.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/32325-10.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/32325-10.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/32325-10.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/32325-11.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/32325-11.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/32325-11.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/32325-11.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/32325-12.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/32325-12.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/32325-12.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/32325-12.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/32325-13.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/32325-13.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/32325-13.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/32325-13.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/32325-14.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/32325-14.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/32325-14.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/32325-14.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/32325-15.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/32325-15.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/32325-15.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/32325-15.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/32325-16.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/32325-16.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/32325-16.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/32325-16.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/32326-01.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/32326-01.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/32326-01.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/32326-01.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/32326-02.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/32326-02.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/32326-02.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/32326-02.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/32326-03.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/32326-03.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/32326-03.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/32326-03.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/32326-04.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/32326-04.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/32326-04.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/32326-04.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/32326-05.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/32326-05.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/32326-05.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/32326-05.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/32326-06.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/32326-06.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/32326-06.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/32326-06.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/32326-07.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/32326-07.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/32326-07.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/32326-07.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/32326-08.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/32326-08.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/32326-08.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/32326-08.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/32326-09.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/32326-09.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/32326-09.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/32326-09.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/32326-10.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/32326-10.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/32326-10.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/32326-10.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/32326-11.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/32326-11.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/32326-11.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/32326-11.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/32326-12.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/32326-12.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/32326-12.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/32326-12.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/32326-13.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/32326-13.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/32326-13.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/32326-13.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/32326-14.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/32326-14.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/32326-14.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/32326-14.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/32326-15.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/32326-15.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/32326-15.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/32326-15.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/32326-16.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/32326-16.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10275_ContainingTheAttributePower/32326-16.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/32326-16.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/Q10275_ContainingTheAttributePower.java b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/Q10275_ContainingTheAttributePower.java
new file mode 100644
index 0000000000000000000000000000000000000000..6a0cf21b5b35a9595cbc8410cbfe87cbc6a14457
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/Q10275_ContainingTheAttributePower.java
@@ -0,0 +1,314 @@
+/*
+ * 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.Q10275_ContainingTheAttributePower;
+
+import com.l2jserver.gameserver.datatables.SkillTable;
+import com.l2jserver.gameserver.model.Elementals;
+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.model.quest.State;
+import com.l2jserver.gameserver.util.Util;
+
+/**
+ * Containing the Attribute Power (10275). Original jython script by Kerberos v1.0 on 2009/05/03
+ * @author nonom
+ */
+public class Q10275_ContainingTheAttributePower extends Quest
+{
+	private static final String qn = "10275_ContainingTheAttributePower";
+	
+	// NPCs
+	private static final int HOLLY = 30839;
+	private static final int WEBER = 31307;
+	private static final int YIN = 32325;
+	private static final int YANG = 32326;
+	
+	private static final int WATER = 27380;
+	private static final int AIR = 27381;
+	
+	// Items
+	private static final int YINSWORD = 13845;
+	private static final int YANGSWORD = 13881;
+	private static final int SOULPIECEWATER = 13861;
+	private static final int SOULPIECEAIR = 13862;
+	
+	@Override
+	public String onTalk(L2Npc npc, L2PcInstance player)
+	{
+		String htmltext = getNoQuestMsg(player);
+		QuestState st = player.getQuestState(qn);
+		int npcId = npc.getNpcId();
+		
+		if (st == null)
+		{
+			return htmltext;
+		}
+		
+		int cond = st.getInt("cond");
+		
+		switch (st.getState())
+		{
+			case State.COMPLETED:
+				if (npcId == HOLLY)
+				{
+					htmltext = "30839-0a.htm";
+				}
+				else if (npcId == WEBER)
+				{
+					htmltext = "31307-0a.htm";
+				}
+				break;
+			case State.CREATED:
+				if (player.getLevel() >= 76)
+				{
+					if (npcId == HOLLY)
+					{
+						htmltext = "30839-01.htm";
+					}
+					else
+					{
+						htmltext = "31307-01.htm";
+					}
+				}
+				else if (npcId == HOLLY)
+				{
+					htmltext = "30839-00.htm";
+				}
+				else
+				{
+					htmltext = "31307-00.htm";
+				}
+				break;
+			default:
+				switch (npcId)
+				{
+					case HOLLY:
+						switch (cond)
+						{
+							case 1:
+								htmltext = "30839-03.htm";
+								break;
+							case 2:
+								htmltext = "30839-05.htm";
+								break;
+						}
+						break;
+					case WEBER:
+						switch (cond)
+						{
+							case 1:
+								htmltext = "31307-03.htm";
+								break;
+							case 7:
+								htmltext = "31307-05.htm";
+								break;
+						}
+						break;
+					case YIN:
+						switch (cond)
+						{
+							case 2:
+								htmltext = "32325-01.htm";
+								break;
+							case 3:
+							case 5:
+								htmltext = "32325-04.htm";
+								break;
+							case 4:
+								htmltext = "32325-08.htm";
+								st.takeItems(YINSWORD, 1);
+								st.takeItems(SOULPIECEWATER, -1);
+								break;
+							case 6:
+								htmltext = "32325-10.htm";
+								break;
+						}
+					case YANG:
+						switch (cond)
+						{
+							case 7:
+								htmltext = "32326-01.htm";
+								break;
+							case 8:
+							case 10:
+								htmltext = "32326-04.htm";
+								break;
+							case 9:
+								htmltext = "32326-08.htm";
+								st.takeItems(YANGSWORD, 1);
+								st.takeItems(SOULPIECEAIR, -1);
+								break;
+							case 11:
+								htmltext = "32326-10.htm";
+								break;
+						}
+						break;
+				}
+				break;
+		}
+		return htmltext;
+	}
+	
+	@Override
+	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+	{
+		String htmltext = event;
+		QuestState st = player.getQuestState(qn);
+		
+		if (st == null)
+		{
+			return htmltext;
+		}
+		
+		switch (event)
+		{
+			case "30839-02.htm":
+			case "31307-02.htm":
+				st.set("cond", "1");
+				st.setState(State.STARTED);
+				st.playSound("ItemSound.quest_accept");
+				break;
+			case "30839-05.htm":
+				st.set("cond", "2");
+				st.playSound("ItemSound.quest_middle");
+				break;
+			case "31307-05.htm":
+				st.set("cond", "7");
+				st.playSound("ItemSound.quest_middle");
+				break;
+			case "32325-03.htm":
+				st.set("cond", "3");
+				st.giveItems(YINSWORD, 1, Elementals.FIRE, 10);
+				st.playSound("ItemSound.quest_middle");
+				break;
+			case "32326-03.htm":
+				st.set("cond", "8");
+				st.giveItems(YANGSWORD, 1, Elementals.EARTH, 10);
+				st.playSound("ItemSound.quest_middle");
+				break;
+			case "32325-06.htm":
+				if (st.getQuestItemsCount(YINSWORD) > 0)
+				{
+					st.takeItems(YINSWORD, 1);
+					htmltext = "32325-07.htm";
+				}
+				st.giveItems(YINSWORD, 1, Elementals.FIRE, 10);
+				break;
+			case "32326-06.htm":
+				if (st.getQuestItemsCount(YANGSWORD) > 0)
+				{
+					st.takeItems(YANGSWORD, 1);
+					htmltext = "32326-07.htm";
+				}
+				st.giveItems(YANGSWORD, 1, Elementals.EARTH, 10);
+				break;
+			case "32325-09.htm":
+				st.set("cond", "5");
+				SkillTable.getInstance().getInfo(2635, 1).getEffects(player, player);
+				st.giveItems(YINSWORD, 1, Elementals.FIRE, 10);
+				st.playSound("ItemSound.quest_middle");
+				break;
+			case "32326-09.htm":
+				st.set("cond", "10");
+				SkillTable.getInstance().getInfo(2636, 1).getEffects(player, player);
+				st.giveItems(YANGSWORD, 1, Elementals.EARTH, 10);
+				st.playSound("ItemSound.quest_middle");
+				break;
+		}
+		
+		if (Util.isDigit(event))
+		{
+			st.giveItems(10520 + Integer.valueOf(event), 2);
+			st.addExpAndSp(202160, 20375);
+			st.exitQuest(false);
+			st.playSound("ItemSound.quest_finish");
+			htmltext = Integer.toString(npc.getNpcId()) + "-1" + event + ".htm";
+		}
+		
+		return htmltext;
+	}
+	
+	@Override
+	public String onKill(L2Npc npc, L2PcInstance player, boolean isPet)
+	{
+		final QuestState st = player.getQuestState(qn);
+		
+		switch (npc.getNpcId())
+		{
+			case AIR:
+				if ((st.getItemEquipped(Inventory.PAPERDOLL_RHAND) == YANGSWORD) && ((st.getInt("cond") == 8) || (st.getInt("cond") == 10)) && (st.getQuestItemsCount(SOULPIECEAIR) < 6) && (st.getRandom(100) < 30))
+				{
+					st.giveItems(SOULPIECEAIR, 1);
+					if (st.getQuestItemsCount(SOULPIECEAIR) >= 6)
+					{
+						st.set("cond", Integer.toString(st.getInt("cond") + 1));
+						st.playSound("ItemSound.quest_middle");
+					}
+					else
+					{
+						st.playSound("ItemSound.quest_itemget");
+					}
+				}
+				break;
+			case WATER:
+				int cond = st.getInt("cond");
+				if ((st.getItemEquipped(Inventory.PAPERDOLL_RHAND) == YINSWORD) && ((cond >= 3) || (cond <= 5)) && (st.getQuestItemsCount(SOULPIECEWATER) < 6) && (st.getRandom(100) < 30))
+				{
+					st.giveItems(SOULPIECEWATER, 1);
+					if (st.getQuestItemsCount(SOULPIECEWATER) >= 6)
+					{
+						st.set("cond", Integer.toString(st.getInt("cond") + 1));
+						st.playSound("ItemSound.quest_middle");
+					}
+					else
+					{
+						st.playSound("ItemSound.quest_itemget");
+					}
+				}
+				break;
+		}
+		return null;
+		
+	}
+	
+	public Q10275_ContainingTheAttributePower(int questId, String name, String descr)
+	{
+		super(questId, name, descr);
+		
+		addStartNpc(HOLLY);
+		addStartNpc(WEBER);
+		
+		addTalkId(HOLLY);
+		addTalkId(WEBER);
+		addTalkId(YIN);
+		addTalkId(YANG);
+		
+		addKillId(AIR);
+		addKillId(WATER);
+		
+		questItemIds = new int[]
+		{
+			YINSWORD, YANGSWORD, SOULPIECEWATER, SOULPIECEAIR
+		};
+	}
+	
+	public static void main(String[] args)
+	{
+		new Q10275_ContainingTheAttributePower(10275, qn, "Containing the Attribute Power");
+	}
+}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10276_MutatedKaneusGludio/30332-00.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10276_MutatedKaneusGludio/30332-00.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10276_MutatedKaneusGludio/30332-00.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10276_MutatedKaneusGludio/30332-00.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10276_MutatedKaneusGludio/30332-01.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10276_MutatedKaneusGludio/30332-01.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10276_MutatedKaneusGludio/30332-01.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10276_MutatedKaneusGludio/30332-01.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10276_MutatedKaneusGludio/30332-02.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10276_MutatedKaneusGludio/30332-02.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10276_MutatedKaneusGludio/30332-02.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10276_MutatedKaneusGludio/30332-02.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10276_MutatedKaneusGludio/30332-03.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10276_MutatedKaneusGludio/30332-03.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10276_MutatedKaneusGludio/30332-03.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10276_MutatedKaneusGludio/30332-03.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10276_MutatedKaneusGludio/30332-04.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10276_MutatedKaneusGludio/30332-04.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10276_MutatedKaneusGludio/30332-04.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10276_MutatedKaneusGludio/30332-04.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10276_MutatedKaneusGludio/30332-05.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10276_MutatedKaneusGludio/30332-05.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10276_MutatedKaneusGludio/30332-05.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10276_MutatedKaneusGludio/30332-05.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10276_MutatedKaneusGludio/30332-06.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10276_MutatedKaneusGludio/30332-06.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10276_MutatedKaneusGludio/30332-06.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10276_MutatedKaneusGludio/30332-06.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10276_MutatedKaneusGludio/30344-01.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10276_MutatedKaneusGludio/30344-01.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10276_MutatedKaneusGludio/30344-01.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10276_MutatedKaneusGludio/30344-01.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10276_MutatedKaneusGludio/30344-02.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10276_MutatedKaneusGludio/30344-02.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10276_MutatedKaneusGludio/30344-02.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10276_MutatedKaneusGludio/30344-02.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10276_MutatedKaneusGludio/30344-03.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10276_MutatedKaneusGludio/30344-03.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10276_MutatedKaneusGludio/30344-03.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10276_MutatedKaneusGludio/30344-03.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10276_MutatedKaneusGludio/Q10276_MutatedKaneusGludio.java b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10276_MutatedKaneusGludio/Q10276_MutatedKaneusGludio.java
new file mode 100644
index 0000000000000000000000000000000000000000..6413da6aeeabee5d3446d431b2aca2e788eb857e
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10276_MutatedKaneusGludio/Q10276_MutatedKaneusGludio.java
@@ -0,0 +1,210 @@
+/*
+ * 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.Q10276_MutatedKaneusGludio;
+
+import javolution.util.FastList;
+
+import com.l2jserver.gameserver.model.actor.L2Npc;
+import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jserver.gameserver.model.quest.Quest;
+import com.l2jserver.gameserver.model.quest.QuestState;
+import com.l2jserver.gameserver.model.quest.State;
+import com.l2jserver.util.Rnd;
+
+/**
+ * Mutated Kaneus - Gludio (10276). Original Jython script by Gnacik on 2010-06-29
+ * @author nonom
+ */
+public class Q10276_MutatedKaneusGludio extends Quest
+{
+	private static final String qn = "10276_MutatedKaneusGludio";
+	
+	// NPCs
+	private static final int BATHIS = 30332;
+	private static final int ROHMER = 30344;
+	private static final int TOMLAN_KAMOS = 18554;
+	private static final int OL_ARIOSH = 18555;
+	
+	// Items
+	private static final int TISSUE_TK = 13830;
+	private static final int TISSUE_OA = 13831;
+	
+	@Override
+	public String onTalk(L2Npc npc, L2PcInstance player)
+	{
+		String htmltext = getNoQuestMsg(player);
+		QuestState st = player.getQuestState(qn);
+		
+		if (st == null)
+		{
+			return htmltext;
+		}
+		
+		switch (npc.getNpcId())
+		{
+			case BATHIS:
+				if (st.isCompleted())
+				{
+					htmltext = "30332-06.htm";
+				}
+				else if (st.isCreated() && (player.getLevel() >= 18))
+				{
+					htmltext = "30332-01.htm";
+				}
+				else if (st.isCreated() && (player.getLevel() < 18))
+				{
+					htmltext = "30332-00.htm";
+				}
+				else if ((st.getQuestItemsCount(TISSUE_TK) > 0) && (st.getQuestItemsCount(TISSUE_OA) > 0))
+				{
+					htmltext = "30332-05.htm";
+				}
+				else if (st.getInt("cond") == 1)
+				{
+					htmltext = "30332-04.htm";
+				}
+				break;
+			case ROHMER:
+				if (st.isCompleted())
+				{
+					htmltext = Quest.getAlreadyCompletedMsg(player);
+				}
+				else if ((st.getQuestItemsCount(TISSUE_TK) > 0) && (st.getQuestItemsCount(TISSUE_OA) > 0))
+				{
+					htmltext = "30344-02.htm";
+				}
+				else
+				{
+					htmltext = "30344-01.htm";
+				}
+				break;
+		}
+		return htmltext;
+	}
+	
+	@Override
+	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+	{
+		String htmltext = event;
+		QuestState st = player.getQuestState(qn);
+		
+		if (st == null)
+		{
+			return htmltext;
+		}
+		
+		switch (event)
+		{
+			case "30332-03.htm":
+				st.setState(State.STARTED);
+				st.set("cond", "1");
+				st.playSound("ItemSound.quest_accept");
+				break;
+			case "30344-03.htm":
+				st.rewardItems(57, 8500);
+				st.exitQuest(false);
+				st.playSound("ItemSound.quest_finish");
+				break;
+		}
+		
+		return htmltext;
+	}
+	
+	@Override
+	public String onKill(L2Npc npc, L2PcInstance killer, boolean isPet)
+	{
+		QuestState st = killer.getQuestState(qn);
+		
+		if (st == null)
+		{
+			return null;
+		}
+		
+		if (killer.getParty() != null)
+		{
+			FastList<QuestState> PartyMembers = new FastList<QuestState>();
+			
+			for (L2PcInstance member : killer.getParty().getPartyMembers())
+			{
+				st = member.getQuestState(qn);
+				if ((st != null) && st.isStarted() && (st.getInt("cond") == 1))
+				{
+					if ((npc.getNpcId() == TOMLAN_KAMOS) && (st.getQuestItemsCount(TISSUE_TK) == 0))
+					{
+						PartyMembers.add(st);
+					}
+					else if ((npc.getNpcId() == TISSUE_OA) && (st.getQuestItemsCount(TISSUE_OA) == 0))
+					{
+						PartyMembers.add(st);
+					}
+				}
+			}
+			
+			if (PartyMembers.isEmpty())
+			{
+				return null;
+			}
+			
+			QuestState winnerst = PartyMembers.get(Rnd.get(PartyMembers.size()));
+			
+			if ((npc.getNpcId() == TOMLAN_KAMOS) && (winnerst.getQuestItemsCount(TISSUE_TK) == 0))
+			{
+				winnerst.giveItems(TISSUE_TK, 1);
+				winnerst.playSound("ItemSound.quest_itemget");
+			}
+			else if ((npc.getNpcId() == OL_ARIOSH) && (winnerst.getQuestItemsCount(TISSUE_OA) == 0))
+			{
+				winnerst.giveItems(TISSUE_OA, 1);
+				winnerst.playSound("ItemSound.quest_itemget");
+			}
+		}
+		else
+		{
+			if ((npc.getNpcId() == TOMLAN_KAMOS) && (st.getQuestItemsCount(TISSUE_TK) == 0))
+			{
+				st.giveItems(TISSUE_TK, 1);
+				st.playSound("ItemSound.quest_itemget");
+			}
+			else if ((npc.getNpcId() == OL_ARIOSH) && (st.getQuestItemsCount(TISSUE_OA) == 0))
+			{
+				st.giveItems(TISSUE_OA, 1);
+				st.playSound("ItemSound.quest_itemget");
+			}
+		}
+		return null;
+	}
+	
+	public Q10276_MutatedKaneusGludio(int questId, String name, String descr)
+	{
+		super(questId, name, descr);
+		
+		addStartNpc(BATHIS);
+		addTalkId(BATHIS);
+		addTalkId(ROHMER);
+		
+		addKillId(TOMLAN_KAMOS);
+		addKillId(OL_ARIOSH);
+		
+		questItemIds = new int[]
+		{
+			TISSUE_TK, TISSUE_OA
+		};
+	}
+	
+	public static void main(String[] args)
+	{
+		new Q10276_MutatedKaneusGludio(10276, qn, "Mutated Kaneus - Gludio");
+	}
+}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10277_MutatedKaneusDion/30071-00.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10277_MutatedKaneusDion/30071-00.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10277_MutatedKaneusDion/30071-00.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10277_MutatedKaneusDion/30071-00.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10277_MutatedKaneusDion/30071-01.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10277_MutatedKaneusDion/30071-01.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10277_MutatedKaneusDion/30071-01.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10277_MutatedKaneusDion/30071-01.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10277_MutatedKaneusDion/30071-02.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10277_MutatedKaneusDion/30071-02.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10277_MutatedKaneusDion/30071-02.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10277_MutatedKaneusDion/30071-02.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10277_MutatedKaneusDion/30071-03.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10277_MutatedKaneusDion/30071-03.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10277_MutatedKaneusDion/30071-03.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10277_MutatedKaneusDion/30071-03.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10277_MutatedKaneusDion/30071-04.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10277_MutatedKaneusDion/30071-04.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10277_MutatedKaneusDion/30071-04.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10277_MutatedKaneusDion/30071-04.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10277_MutatedKaneusDion/30071-05.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10277_MutatedKaneusDion/30071-05.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10277_MutatedKaneusDion/30071-05.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10277_MutatedKaneusDion/30071-05.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10277_MutatedKaneusDion/30071-06.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10277_MutatedKaneusDion/30071-06.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10277_MutatedKaneusDion/30071-06.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10277_MutatedKaneusDion/30071-06.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10277_MutatedKaneusDion/30461-01.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10277_MutatedKaneusDion/30461-01.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10277_MutatedKaneusDion/30461-01.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10277_MutatedKaneusDion/30461-01.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10277_MutatedKaneusDion/30461-02.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10277_MutatedKaneusDion/30461-02.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10277_MutatedKaneusDion/30461-02.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10277_MutatedKaneusDion/30461-02.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10277_MutatedKaneusDion/30461-03.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10277_MutatedKaneusDion/30461-03.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10277_MutatedKaneusDion/30461-03.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10277_MutatedKaneusDion/30461-03.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10277_MutatedKaneusDion/Q10277_MutatedKaneusDion.java b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10277_MutatedKaneusDion/Q10277_MutatedKaneusDion.java
new file mode 100644
index 0000000000000000000000000000000000000000..6c8131a8827f19ddfaf27f80422de418b25d7301
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10277_MutatedKaneusDion/Q10277_MutatedKaneusDion.java
@@ -0,0 +1,209 @@
+/*
+ * 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.Q10277_MutatedKaneusDion;
+
+import javolution.util.FastList;
+
+import com.l2jserver.gameserver.model.actor.L2Npc;
+import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jserver.gameserver.model.quest.Quest;
+import com.l2jserver.gameserver.model.quest.QuestState;
+import com.l2jserver.gameserver.model.quest.State;
+import com.l2jserver.util.Rnd;
+
+/**
+ * Mutated Kaneus - Dion (10277). Original Jython script by Gnacik on 2010-06-29
+ * @author nonom
+ */
+public class Q10277_MutatedKaneusDion extends Quest
+{
+	private static final String qn = "10277_MutatedKaneusDion";
+	
+	// NPCs
+	private static final int LUKAS = 30071;
+	private static final int MIRIEN = 30461;
+	private static final int CRIMSON_HATU = 18558;
+	private static final int SEER_FLOUROS = 18559;
+	
+	// Items
+	private static final int TISSUE_CH = 13832;
+	private static final int TISSUE_SF = 13833;
+	
+	@Override
+	public String onTalk(L2Npc npc, L2PcInstance player)
+	{
+		String htmltext = getNoQuestMsg(player);
+		QuestState st = player.getQuestState(qn);
+		
+		if (st == null)
+		{
+			return htmltext;
+		}
+		
+		switch (npc.getNpcId())
+		{
+			case LUKAS:
+				if (st.isCompleted())
+				{
+					htmltext = "30071-06.htm";
+				}
+				else if (st.isCreated() && (player.getLevel() >= 28))
+				{
+					htmltext = "30071-01.htm";
+				}
+				else if (st.isCreated() && (player.getLevel() < 28))
+				{
+					htmltext = "30371-00.htm";
+				}
+				else if ((st.getQuestItemsCount(TISSUE_CH) > 0) && (st.getQuestItemsCount(TISSUE_SF) > 0))
+				{
+					htmltext = "30371-05.htm";
+				}
+				else if (st.getInt("cond") == 1)
+				{
+					htmltext = "30371-04.htm";
+				}
+				break;
+			case MIRIEN:
+				if (st.isCompleted())
+				{
+					htmltext = Quest.getAlreadyCompletedMsg(player);
+				}
+				else if ((st.getQuestItemsCount(TISSUE_CH) > 0) && (st.getQuestItemsCount(TISSUE_SF) > 0))
+				{
+					htmltext = "30461-02.htm";
+				}
+				else
+				{
+					htmltext = "30461-01.htm";
+				}
+				break;
+		}
+		return htmltext;
+	}
+	
+	@Override
+	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+	{
+		String htmltext = event;
+		QuestState st = player.getQuestState(qn);
+		
+		if (st == null)
+		{
+			return htmltext;
+		}
+		
+		switch (event)
+		{
+			case "30071-03.htm":
+				st.setState(State.STARTED);
+				st.set("cond", "1");
+				st.playSound("ItemSound.quest_accept");
+				break;
+			case "30461-03.htm":
+				st.rewardItems(57, 20000);
+				st.exitQuest(false);
+				st.playSound("ItemSound.quest_finish");
+				break;
+		}
+		return htmltext;
+	}
+	
+	@Override
+	public String onKill(L2Npc npc, L2PcInstance killer, boolean isPet)
+	{
+		QuestState st = killer.getQuestState(qn);
+		
+		if (st == null)
+		{
+			return null;
+		}
+		
+		if (killer.getParty() != null)
+		{
+			FastList<QuestState> PartyMembers = new FastList<QuestState>();
+			
+			for (L2PcInstance member : killer.getParty().getPartyMembers())
+			{
+				st = member.getQuestState(qn);
+				if ((st != null) && st.isStarted() && (st.getInt("cond") == 1))
+				{
+					if ((npc.getNpcId() == CRIMSON_HATU) && (st.getQuestItemsCount(TISSUE_CH) == 0))
+					{
+						PartyMembers.add(st);
+					}
+					else if ((npc.getNpcId() == SEER_FLOUROS) && (st.getQuestItemsCount(TISSUE_SF) == 0))
+					{
+						PartyMembers.add(st);
+					}
+				}
+			}
+			
+			if (PartyMembers.isEmpty())
+			{
+				return null;
+			}
+			
+			QuestState winnerst = PartyMembers.get(Rnd.get(PartyMembers.size()));
+			
+			if ((npc.getNpcId() == CRIMSON_HATU) && (winnerst.getQuestItemsCount(TISSUE_CH) == 0))
+			{
+				winnerst.giveItems(TISSUE_CH, 1);
+				winnerst.playSound("ItemSound.quest_itemget");
+			}
+			else if ((npc.getNpcId() == SEER_FLOUROS) && (winnerst.getQuestItemsCount(TISSUE_SF) == 0))
+			{
+				winnerst.giveItems(TISSUE_SF, 1);
+				winnerst.playSound("ItemSound.quest_itemget");
+			}
+		}
+		else
+		{
+			if ((npc.getNpcId() == CRIMSON_HATU) && (st.getQuestItemsCount(TISSUE_CH) == 0))
+			{
+				st.giveItems(TISSUE_CH, 1);
+				st.playSound("ItemSound.quest_itemget");
+			}
+			else if ((npc.getNpcId() == SEER_FLOUROS) && (st.getQuestItemsCount(TISSUE_SF) == 0))
+			{
+				st.giveItems(TISSUE_SF, 1);
+				st.playSound("ItemSound.quest_itemget");
+			}
+		}
+		return null;
+	}
+	
+	public Q10277_MutatedKaneusDion(int questId, String name, String descr)
+	{
+		super(questId, name, descr);
+		
+		addStartNpc(LUKAS);
+		addTalkId(LUKAS);
+		addTalkId(MIRIEN);
+		
+		addKillId(CRIMSON_HATU);
+		addKillId(SEER_FLOUROS);
+		
+		questItemIds = new int[]
+		{
+			TISSUE_CH, TISSUE_SF
+		};
+	}
+	
+	public static void main(String[] args)
+	{
+		new Q10277_MutatedKaneusDion(10277, qn, "Mutated Kaneus - Dion");
+	}
+}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10278_MutatedKaneusHeine/30907-01.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10278_MutatedKaneusHeine/30907-01.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10278_MutatedKaneusHeine/30907-01.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10278_MutatedKaneusHeine/30907-01.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10278_MutatedKaneusHeine/30907-02.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10278_MutatedKaneusHeine/30907-02.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10278_MutatedKaneusHeine/30907-02.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10278_MutatedKaneusHeine/30907-02.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10278_MutatedKaneusHeine/30907-03.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10278_MutatedKaneusHeine/30907-03.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10278_MutatedKaneusHeine/30907-03.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10278_MutatedKaneusHeine/30907-03.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10278_MutatedKaneusHeine/30916-00.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10278_MutatedKaneusHeine/30916-00.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10278_MutatedKaneusHeine/30916-00.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10278_MutatedKaneusHeine/30916-00.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10278_MutatedKaneusHeine/30916-01.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10278_MutatedKaneusHeine/30916-01.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10278_MutatedKaneusHeine/30916-01.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10278_MutatedKaneusHeine/30916-01.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10278_MutatedKaneusHeine/30916-02.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10278_MutatedKaneusHeine/30916-02.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10278_MutatedKaneusHeine/30916-02.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10278_MutatedKaneusHeine/30916-02.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10278_MutatedKaneusHeine/30916-03.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10278_MutatedKaneusHeine/30916-03.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10278_MutatedKaneusHeine/30916-03.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10278_MutatedKaneusHeine/30916-03.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10278_MutatedKaneusHeine/30916-04.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10278_MutatedKaneusHeine/30916-04.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10278_MutatedKaneusHeine/30916-04.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10278_MutatedKaneusHeine/30916-04.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10278_MutatedKaneusHeine/30916-05.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10278_MutatedKaneusHeine/30916-05.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10278_MutatedKaneusHeine/30916-05.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10278_MutatedKaneusHeine/30916-05.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10278_MutatedKaneusHeine/30916-06.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10278_MutatedKaneusHeine/30916-06.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10278_MutatedKaneusHeine/30916-06.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10278_MutatedKaneusHeine/30916-06.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10278_MutatedKaneusHeine/Q10278_MutatedKaneusHeine.java b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10278_MutatedKaneusHeine/Q10278_MutatedKaneusHeine.java
new file mode 100644
index 0000000000000000000000000000000000000000..7a1f33b4bc71c7907e1c7b9d0c372a37aeb7c37a
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10278_MutatedKaneusHeine/Q10278_MutatedKaneusHeine.java
@@ -0,0 +1,209 @@
+/*
+ * 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.Q10278_MutatedKaneusHeine;
+
+import javolution.util.FastList;
+
+import com.l2jserver.gameserver.model.actor.L2Npc;
+import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jserver.gameserver.model.quest.Quest;
+import com.l2jserver.gameserver.model.quest.QuestState;
+import com.l2jserver.gameserver.model.quest.State;
+import com.l2jserver.util.Rnd;
+
+/**
+ * Mutated Kaneus - Heine (10278). Original Jython script by Gnacik on 2010-06-29
+ * @author nonom
+ */
+public class Q10278_MutatedKaneusHeine extends Quest
+{
+	private static final String qn = "10278_MutatedKaneusHeine";
+	
+	// NPCs
+	private static final int GOSTA = 30916;
+	private static final int MINEVIA = 30907;
+	private static final int BLADE_OTIS = 18562;
+	private static final int WEIRD_BUNEI = 18564;
+	
+	// Items
+	private static final int TISSUE_BO = 13834;
+	private static final int TISSUE_WB = 13835;
+	
+	@Override
+	public String onTalk(L2Npc npc, L2PcInstance player)
+	{
+		String htmltext = getNoQuestMsg(player);
+		QuestState st = player.getQuestState(qn);
+		
+		if (st == null)
+		{
+			return htmltext;
+		}
+		
+		switch (npc.getNpcId())
+		{
+			case GOSTA:
+				if (st.isCompleted())
+				{
+					htmltext = "30916-06.htm";
+				}
+				else if (st.isCreated() && (player.getLevel() >= 38))
+				{
+					htmltext = "30916-01.htm";
+				}
+				else if (st.isCreated() && (player.getLevel() < 38))
+				{
+					htmltext = "30916-00.htm";
+				}
+				else if ((st.getQuestItemsCount(TISSUE_BO) > 0) && (st.getQuestItemsCount(TISSUE_WB) > 0))
+				{
+					htmltext = "30916-05.htm";
+				}
+				else if (st.getInt("cond") == 1)
+				{
+					htmltext = "30916-04.htm";
+				}
+				break;
+			case MINEVIA:
+				if (st.isCompleted())
+				{
+					htmltext = Quest.getAlreadyCompletedMsg(player);
+				}
+				else if ((st.getQuestItemsCount(TISSUE_BO) > 0) && (st.getQuestItemsCount(TISSUE_WB) > 0))
+				{
+					htmltext = "30907-02.htm";
+				}
+				else
+				{
+					htmltext = "30907-01.htm";
+				}
+				break;
+		}
+		return htmltext;
+	}
+	
+	@Override
+	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+	{
+		String htmltext = event;
+		QuestState st = player.getQuestState(qn);
+		
+		if (st == null)
+		{
+			return htmltext;
+		}
+		
+		switch (event)
+		{
+			case "30916-03.htm":
+				st.setState(State.STARTED);
+				st.set("cond", "1");
+				st.playSound("ItemSound.quest_accept");
+				break;
+			case "30907-03.htm":
+				st.rewardItems(57, 50000);
+				st.exitQuest(false);
+				st.playSound("ItemSound.quest_finish");
+				break;
+		}
+		return htmltext;
+	}
+	
+	@Override
+	public String onKill(L2Npc npc, L2PcInstance killer, boolean isPet)
+	{
+		QuestState st = killer.getQuestState(qn);
+		
+		if (st == null)
+		{
+			return null;
+		}
+		
+		if (killer.getParty() != null)
+		{
+			FastList<QuestState> PartyMembers = new FastList<QuestState>();
+			
+			for (L2PcInstance member : killer.getParty().getPartyMembers())
+			{
+				st = member.getQuestState(qn);
+				if ((st != null) && st.isStarted() && (st.getInt("cond") == 1))
+				{
+					if ((npc.getNpcId() == BLADE_OTIS) && (st.getQuestItemsCount(TISSUE_BO) == 0))
+					{
+						PartyMembers.add(st);
+					}
+					else if ((npc.getNpcId() == WEIRD_BUNEI) && (st.getQuestItemsCount(TISSUE_WB) == 0))
+					{
+						PartyMembers.add(st);
+					}
+				}
+			}
+			
+			if (PartyMembers.isEmpty())
+			{
+				return null;
+			}
+			
+			QuestState winnerst = PartyMembers.get(Rnd.get(PartyMembers.size()));
+			
+			if ((npc.getNpcId() == BLADE_OTIS) && (winnerst.getQuestItemsCount(TISSUE_BO) == 0))
+			{
+				winnerst.giveItems(TISSUE_BO, 1);
+				winnerst.playSound("ItemSound.quest_itemget");
+			}
+			else if ((npc.getNpcId() == WEIRD_BUNEI) && (winnerst.getQuestItemsCount(TISSUE_WB) == 0))
+			{
+				winnerst.giveItems(TISSUE_WB, 1);
+				winnerst.playSound("ItemSound.quest_itemget");
+			}
+		}
+		else
+		{
+			if ((npc.getNpcId() == BLADE_OTIS) && (st.getQuestItemsCount(TISSUE_BO) == 0))
+			{
+				st.giveItems(TISSUE_BO, 1);
+				st.playSound("ItemSound.quest_itemget");
+			}
+			else if ((npc.getNpcId() == WEIRD_BUNEI) && (st.getQuestItemsCount(TISSUE_WB) == 0))
+			{
+				st.giveItems(TISSUE_WB, 1);
+				st.playSound("ItemSound.quest_itemget");
+			}
+		}
+		return null;
+	}
+	
+	public Q10278_MutatedKaneusHeine(int questId, String name, String descr)
+	{
+		super(questId, name, descr);
+		
+		addStartNpc(GOSTA);
+		addTalkId(MINEVIA);
+		addTalkId(MINEVIA);
+		
+		addKillId(BLADE_OTIS);
+		addKillId(WEIRD_BUNEI);
+		
+		questItemIds = new int[]
+		{
+			TISSUE_BO, TISSUE_WB
+		};
+	}
+	
+	public static void main(String[] args)
+	{
+		new Q10278_MutatedKaneusHeine(10278, qn, "Mutated Kaneus - Heine");
+	}
+}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10279_MutatedKaneusOren/30189-01.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10279_MutatedKaneusOren/30189-01.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10279_MutatedKaneusOren/30189-01.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10279_MutatedKaneusOren/30189-01.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10279_MutatedKaneusOren/30189-02.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10279_MutatedKaneusOren/30189-02.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10279_MutatedKaneusOren/30189-02.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10279_MutatedKaneusOren/30189-02.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10279_MutatedKaneusOren/30189-03.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10279_MutatedKaneusOren/30189-03.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10279_MutatedKaneusOren/30189-03.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10279_MutatedKaneusOren/30189-03.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10279_MutatedKaneusOren/30196-00.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10279_MutatedKaneusOren/30196-00.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10279_MutatedKaneusOren/30196-00.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10279_MutatedKaneusOren/30196-00.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10279_MutatedKaneusOren/30196-01.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10279_MutatedKaneusOren/30196-01.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10279_MutatedKaneusOren/30196-01.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10279_MutatedKaneusOren/30196-01.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10279_MutatedKaneusOren/30196-02.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10279_MutatedKaneusOren/30196-02.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10279_MutatedKaneusOren/30196-02.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10279_MutatedKaneusOren/30196-02.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10279_MutatedKaneusOren/30196-03.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10279_MutatedKaneusOren/30196-03.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10279_MutatedKaneusOren/30196-03.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10279_MutatedKaneusOren/30196-03.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10279_MutatedKaneusOren/30196-04.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10279_MutatedKaneusOren/30196-04.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10279_MutatedKaneusOren/30196-04.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10279_MutatedKaneusOren/30196-04.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10279_MutatedKaneusOren/30196-05.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10279_MutatedKaneusOren/30196-05.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10279_MutatedKaneusOren/30196-05.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10279_MutatedKaneusOren/30196-05.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10279_MutatedKaneusOren/30196-06.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10279_MutatedKaneusOren/30196-06.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10279_MutatedKaneusOren/30196-06.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10279_MutatedKaneusOren/30196-06.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10279_MutatedKaneusOren/Q10279_MutatedKaneusOren.java b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10279_MutatedKaneusOren/Q10279_MutatedKaneusOren.java
new file mode 100644
index 0000000000000000000000000000000000000000..2631c7e25e5fefc715ba7c77f51c2ce5cc268e66
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10279_MutatedKaneusOren/Q10279_MutatedKaneusOren.java
@@ -0,0 +1,209 @@
+/*
+ * 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.Q10279_MutatedKaneusOren;
+
+import javolution.util.FastList;
+
+import com.l2jserver.gameserver.model.actor.L2Npc;
+import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jserver.gameserver.model.quest.Quest;
+import com.l2jserver.gameserver.model.quest.QuestState;
+import com.l2jserver.gameserver.model.quest.State;
+import com.l2jserver.util.Rnd;
+
+/**
+ * Mutated Kaneus - Oren (10279). Original Jython script by Gnacik on 2010-06-29
+ * @author nonom
+ */
+public class Q10279_MutatedKaneusOren extends Quest
+{
+	private static final String qn = "10279_MutatedKaneusOren";
+	
+	// NPCs
+	private static final int MOUEN = 30196;
+	private static final int ROVIA = 30189;
+	private static final int KAIM_ABIGORE = 18566;
+	private static final int KNIGHT_MONTAGNAR = 18568;
+	
+	// Items
+	private static final int TISSUE_KA = 13836;
+	private static final int TISSUE_KM = 13837;
+	
+	@Override
+	public String onTalk(L2Npc npc, L2PcInstance player)
+	{
+		String htmltext = getNoQuestMsg(player);
+		QuestState st = player.getQuestState(qn);
+		
+		if (st == null)
+		{
+			return htmltext;
+		}
+		
+		switch (npc.getNpcId())
+		{
+			case MOUEN:
+				if (st.isCompleted())
+				{
+					htmltext = "30196-06.htm";
+				}
+				else if (st.isCreated() && (player.getLevel() >= 48))
+				{
+					htmltext = "30196-01.htm";
+				}
+				else if (st.isCreated() && (player.getLevel() < 48))
+				{
+					htmltext = "30196-00.htm";
+				}
+				else if ((st.getQuestItemsCount(TISSUE_KA) > 0) && (st.getQuestItemsCount(TISSUE_KM) > 0))
+				{
+					htmltext = "30196-05.htm";
+				}
+				else if (st.getInt("cond") == 1)
+				{
+					htmltext = "30196-04.htm";
+				}
+				break;
+			case ROVIA:
+				if (st.isCompleted())
+				{
+					htmltext = Quest.getAlreadyCompletedMsg(player);
+				}
+				else if ((st.getQuestItemsCount(TISSUE_KA) > 0) && (st.getQuestItemsCount(TISSUE_KM) > 0))
+				{
+					htmltext = "30189-02.htm";
+				}
+				else
+				{
+					htmltext = "30189-01.htm";
+				}
+				break;
+		}
+		return htmltext;
+	}
+	
+	@Override
+	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+	{
+		String htmltext = event;
+		QuestState st = player.getQuestState(qn);
+		
+		if (st == null)
+		{
+			return htmltext;
+		}
+		
+		switch (event)
+		{
+			case "30196-03.htm":
+				st.setState(State.STARTED);
+				st.set("cond", "1");
+				st.playSound("ItemSound.quest_accept");
+				break;
+			case "30189-03.htm":
+				st.rewardItems(57, 100000);
+				st.exitQuest(false);
+				st.playSound("ItemSound.quest_finish");
+				break;
+		}
+		return htmltext;
+	}
+	
+	@Override
+	public String onKill(L2Npc npc, L2PcInstance killer, boolean isPet)
+	{
+		QuestState st = killer.getQuestState(qn);
+		
+		if (st == null)
+		{
+			return null;
+		}
+		
+		if (killer.getParty() != null)
+		{
+			FastList<QuestState> PartyMembers = new FastList<QuestState>();
+			
+			for (L2PcInstance member : killer.getParty().getPartyMembers())
+			{
+				st = member.getQuestState(qn);
+				if ((st != null) && st.isStarted() && (st.getInt("cond") == 1))
+				{
+					if ((npc.getNpcId() == KAIM_ABIGORE) && (st.getQuestItemsCount(TISSUE_KA) == 0))
+					{
+						PartyMembers.add(st);
+					}
+					else if ((npc.getNpcId() == KNIGHT_MONTAGNAR) && (st.getQuestItemsCount(TISSUE_KM) == 0))
+					{
+						PartyMembers.add(st);
+					}
+				}
+			}
+			
+			if (PartyMembers.isEmpty())
+			{
+				return null;
+			}
+			
+			QuestState winnerst = PartyMembers.get(Rnd.get(PartyMembers.size()));
+			
+			if ((npc.getNpcId() == KAIM_ABIGORE) && (winnerst.getQuestItemsCount(TISSUE_KA) == 0))
+			{
+				winnerst.giveItems(TISSUE_KA, 1);
+				winnerst.playSound("ItemSound.quest_itemget");
+			}
+			else if ((npc.getNpcId() == KNIGHT_MONTAGNAR) && (winnerst.getQuestItemsCount(TISSUE_KM) == 0))
+			{
+				winnerst.giveItems(TISSUE_KM, 1);
+				winnerst.playSound("ItemSound.quest_itemget");
+			}
+		}
+		else
+		{
+			if ((npc.getNpcId() == KAIM_ABIGORE) && (st.getQuestItemsCount(TISSUE_KA) == 0))
+			{
+				st.giveItems(TISSUE_KA, 1);
+				st.playSound("ItemSound.quest_itemget");
+			}
+			else if ((npc.getNpcId() == KNIGHT_MONTAGNAR) && (st.getQuestItemsCount(TISSUE_KM) == 0))
+			{
+				st.giveItems(TISSUE_KM, 1);
+				st.playSound("ItemSound.quest_itemget");
+			}
+		}
+		return null;
+	}
+	
+	public Q10279_MutatedKaneusOren(int questId, String name, String descr)
+	{
+		super(questId, name, descr);
+		
+		addStartNpc(MOUEN);
+		addTalkId(MOUEN);
+		addTalkId(ROVIA);
+		
+		addKillId(KAIM_ABIGORE);
+		addKillId(KNIGHT_MONTAGNAR);
+		
+		questItemIds = new int[]
+		{
+			TISSUE_KA, TISSUE_KM
+		};
+	}
+	
+	public static void main(String[] args)
+	{
+		new Q10279_MutatedKaneusOren(10279, qn, "Mutated Kaneus - Oren");
+	}
+}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10280_MutatedKaneusSchuttgart/31972-01.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10280_MutatedKaneusSchuttgart/31972-01.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10280_MutatedKaneusSchuttgart/31972-01.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10280_MutatedKaneusSchuttgart/31972-01.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10280_MutatedKaneusSchuttgart/31972-02.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10280_MutatedKaneusSchuttgart/31972-02.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10280_MutatedKaneusSchuttgart/31972-02.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10280_MutatedKaneusSchuttgart/31972-02.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10280_MutatedKaneusSchuttgart/31972-03.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10280_MutatedKaneusSchuttgart/31972-03.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10280_MutatedKaneusSchuttgart/31972-03.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10280_MutatedKaneusSchuttgart/31972-03.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10280_MutatedKaneusSchuttgart/31981-00.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10280_MutatedKaneusSchuttgart/31981-00.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10280_MutatedKaneusSchuttgart/31981-00.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10280_MutatedKaneusSchuttgart/31981-00.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10280_MutatedKaneusSchuttgart/31981-01.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10280_MutatedKaneusSchuttgart/31981-01.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10280_MutatedKaneusSchuttgart/31981-01.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10280_MutatedKaneusSchuttgart/31981-01.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10280_MutatedKaneusSchuttgart/31981-02.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10280_MutatedKaneusSchuttgart/31981-02.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10280_MutatedKaneusSchuttgart/31981-02.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10280_MutatedKaneusSchuttgart/31981-02.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10280_MutatedKaneusSchuttgart/31981-03.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10280_MutatedKaneusSchuttgart/31981-03.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10280_MutatedKaneusSchuttgart/31981-03.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10280_MutatedKaneusSchuttgart/31981-03.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10280_MutatedKaneusSchuttgart/31981-04.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10280_MutatedKaneusSchuttgart/31981-04.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10280_MutatedKaneusSchuttgart/31981-04.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10280_MutatedKaneusSchuttgart/31981-04.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10280_MutatedKaneusSchuttgart/31981-05.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10280_MutatedKaneusSchuttgart/31981-05.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10280_MutatedKaneusSchuttgart/31981-05.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10280_MutatedKaneusSchuttgart/31981-05.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10280_MutatedKaneusSchuttgart/31981-06.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10280_MutatedKaneusSchuttgart/31981-06.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10280_MutatedKaneusSchuttgart/31981-06.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10280_MutatedKaneusSchuttgart/31981-06.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10280_MutatedKaneusSchuttgart/Q10280_MutatedKaneusSchuttgart.java b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10280_MutatedKaneusSchuttgart/Q10280_MutatedKaneusSchuttgart.java
new file mode 100644
index 0000000000000000000000000000000000000000..d668642f674194d0e1c0b5ac0a8bfb43014fdc8c
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10280_MutatedKaneusSchuttgart/Q10280_MutatedKaneusSchuttgart.java
@@ -0,0 +1,212 @@
+/*
+ * 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.Q10280_MutatedKaneusSchuttgart;
+
+import javolution.util.FastList;
+
+import com.l2jserver.gameserver.model.actor.L2Npc;
+import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jserver.gameserver.model.quest.Quest;
+import com.l2jserver.gameserver.model.quest.QuestState;
+import com.l2jserver.gameserver.model.quest.State;
+import com.l2jserver.util.Rnd;
+
+/**
+ * Mutated Kaneus - Schuttgart (10280). Original Jython script by Gnacik on 2010-06-29
+ * @author nonom
+ */
+public class Q10280_MutatedKaneusSchuttgart extends Quest
+{
+	private static final String qn = "10280_MutatedKaneusSchuttgart";
+	
+	// NPCs
+	private static final int VISHOTSKY = 31981;
+	private static final int ATRAXIA = 31972;
+	private static final int VENOMOUS_STORACE = 18571;
+	private static final int KEL_BILETTE = 18573;
+	
+	// Items
+	private static final int TISSUE_VS = 13838;
+	private static final int TISSUE_KB = 13839;
+	
+	@Override
+	public String onTalk(L2Npc npc, L2PcInstance player)
+	{
+		String htmltext = getNoQuestMsg(player);
+		QuestState st = player.getQuestState(qn);
+		
+		if (st == null)
+		{
+			return htmltext;
+		}
+		
+		switch (npc.getNpcId())
+		{
+			case VISHOTSKY:
+				if (st.isCompleted())
+				{
+					htmltext = "31981-06.htm";
+				}
+				else if (st.isCreated() && (player.getLevel() >= 58))
+				{
+					htmltext = "31981-01.htm";
+				}
+				else if (st.isCreated() && (player.getLevel() < 58))
+				{
+					htmltext = "31981-00.htm";
+				}
+				else if ((st.getQuestItemsCount(TISSUE_VS) > 0) && (st.getQuestItemsCount(TISSUE_KB) > 0))
+				{
+					htmltext = "31981-05.htm";
+				}
+				else if (st.getInt("cond") == 1)
+				{
+					htmltext = "31981-04.htm";
+				}
+				break;
+			case ATRAXIA:
+				if (st.isCompleted())
+				{
+					htmltext = Quest.getAlreadyCompletedMsg(player);
+				}
+				else if ((st.getQuestItemsCount(TISSUE_VS) > 0) && (st.getQuestItemsCount(TISSUE_KB) > 0))
+				{
+					htmltext = "31972-02.htm";
+				}
+				else
+				{
+					htmltext = "31972-01.htm";
+				}
+				break;
+		}
+		return htmltext;
+	}
+	
+	@Override
+	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+	{
+		String htmltext = event;
+		QuestState st = player.getQuestState(qn);
+		
+		if (st == null)
+		{
+			return htmltext;
+		}
+		
+		switch (event)
+		{
+			case "31981-03.htm":
+				st.setState(State.STARTED);
+				st.set("cond", "1");
+				st.playSound("ItemSound.quest_accept");
+				break;
+			case "31972-03.htm":
+				st.rewardItems(57, 210000);
+				st.exitQuest(false);
+				st.playSound("ItemSound.quest_finish");
+				break;
+		}
+		return htmltext;
+	}
+	
+	@Override
+	public String onKill(L2Npc npc, L2PcInstance killer, boolean isPet)
+	{
+		QuestState st = killer.getQuestState(qn);
+		
+		if (st == null)
+		{
+			return null;
+		}
+		
+		if (killer.getParty() != null)
+		{
+			FastList<QuestState> PartyMembers = new FastList<>();
+			
+			for (L2PcInstance member : killer.getParty().getPartyMembers())
+			{
+				st = member.getQuestState(qn);
+				if ((st != null) && st.isStarted() && (st.getInt("cond") == 1))
+				{
+					if ((npc.getNpcId() == VENOMOUS_STORACE) && (st.getQuestItemsCount(TISSUE_VS) == 0))
+					{
+						PartyMembers.add(st);
+					}
+					else if ((npc.getNpcId() == KEL_BILETTE) && (st.getQuestItemsCount(TISSUE_KB) == 0))
+					{
+						PartyMembers.add(st);
+					}
+				}
+			}
+			
+			if (PartyMembers.isEmpty())
+			{
+				return null;
+			}
+			
+			QuestState winnerst = PartyMembers.get(Rnd.get(PartyMembers.size()));
+			
+			if ((npc.getNpcId() == VENOMOUS_STORACE) && (winnerst.getQuestItemsCount(TISSUE_VS) == 0))
+			{
+				winnerst.giveItems(TISSUE_VS, 1);
+				winnerst.playSound("ItemSound.quest_itemget");
+			}
+			else if ((npc.getNpcId() == KEL_BILETTE) && (winnerst.getQuestItemsCount(TISSUE_KB) == 0))
+			{
+				winnerst.giveItems(TISSUE_KB, 1);
+				winnerst.playSound("ItemSound.quest_itemget");
+			}
+			
+		}
+		else
+		{
+			
+			if ((npc.getNpcId() == VENOMOUS_STORACE) && (st.getQuestItemsCount(TISSUE_VS) == 0))
+			{
+				st.giveItems(TISSUE_VS, 1);
+				st.playSound("ItemSound.quest_itemget");
+			}
+			else if ((npc.getNpcId() == KEL_BILETTE) && (st.getQuestItemsCount(TISSUE_KB) == 0))
+			{
+				st.giveItems(TISSUE_KB, 1);
+				st.playSound("ItemSound.quest_itemget");
+			}
+		}
+		
+		return null;
+	}
+	
+	public Q10280_MutatedKaneusSchuttgart(int questId, String name, String descr)
+	{
+		super(questId, name, descr);
+		
+		addStartNpc(VISHOTSKY);
+		addTalkId(VISHOTSKY);
+		addTalkId(ATRAXIA);
+		
+		addKillId(VENOMOUS_STORACE);
+		addKillId(KEL_BILETTE);
+		
+		questItemIds = new int[]
+		{
+			TISSUE_VS, TISSUE_KB
+		};
+	}
+	
+	public static void main(String[] args)
+	{
+		new Q10280_MutatedKaneusSchuttgart(10280, qn, "Mutated Kaneus - Schuttgart");
+	}
+}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10281_MutatedKaneusRune/31335-01.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10281_MutatedKaneusRune/31335-01.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10281_MutatedKaneusRune/31335-01.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10281_MutatedKaneusRune/31335-01.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10281_MutatedKaneusRune/31335-02.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10281_MutatedKaneusRune/31335-02.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10281_MutatedKaneusRune/31335-02.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10281_MutatedKaneusRune/31335-02.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10281_MutatedKaneusRune/31335-03.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10281_MutatedKaneusRune/31335-03.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10281_MutatedKaneusRune/31335-03.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10281_MutatedKaneusRune/31335-03.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10281_MutatedKaneusRune/31340-00.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10281_MutatedKaneusRune/31340-00.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10281_MutatedKaneusRune/31340-00.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10281_MutatedKaneusRune/31340-00.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10281_MutatedKaneusRune/31340-01.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10281_MutatedKaneusRune/31340-01.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10281_MutatedKaneusRune/31340-01.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10281_MutatedKaneusRune/31340-01.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10281_MutatedKaneusRune/31340-02.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10281_MutatedKaneusRune/31340-02.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10281_MutatedKaneusRune/31340-02.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10281_MutatedKaneusRune/31340-02.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10281_MutatedKaneusRune/31340-03.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10281_MutatedKaneusRune/31340-03.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10281_MutatedKaneusRune/31340-03.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10281_MutatedKaneusRune/31340-03.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10281_MutatedKaneusRune/31340-04.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10281_MutatedKaneusRune/31340-04.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10281_MutatedKaneusRune/31340-04.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10281_MutatedKaneusRune/31340-04.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10281_MutatedKaneusRune/31340-05.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10281_MutatedKaneusRune/31340-05.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10281_MutatedKaneusRune/31340-05.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10281_MutatedKaneusRune/31340-05.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10281_MutatedKaneusRune/31340-06.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10281_MutatedKaneusRune/31340-06.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10281_MutatedKaneusRune/31340-06.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10281_MutatedKaneusRune/31340-06.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10281_MutatedKaneusRune/Q10281_MutatedKaneusRune.java b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10281_MutatedKaneusRune/Q10281_MutatedKaneusRune.java
new file mode 100644
index 0000000000000000000000000000000000000000..92446323799e87176327b2fb449677baeb81d9fe
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10281_MutatedKaneusRune/Q10281_MutatedKaneusRune.java
@@ -0,0 +1,192 @@
+/*
+ * 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.Q10281_MutatedKaneusRune;
+
+import javolution.util.FastList;
+
+import com.l2jserver.gameserver.model.actor.L2Npc;
+import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jserver.gameserver.model.quest.Quest;
+import com.l2jserver.gameserver.model.quest.QuestState;
+import com.l2jserver.gameserver.model.quest.State;
+import com.l2jserver.util.Rnd;
+
+/**
+ * Mutated Kaneus - Rune (10281). Original Jython script by Gnacik on 2010-06-29
+ * @author nonom
+ */
+public class Q10281_MutatedKaneusRune extends Quest
+{
+	private static final String qn = "10281_MutatedKaneusRune";
+	
+	// NPCs
+	private static final int MATHIAS = 31340;
+	private static final int KAYAN = 31335;
+	private static final int WHITE_ALLOSCE = 18577;
+	
+	// Items
+	private static final int TISSUE_WA = 13840;
+	
+	@Override
+	public String onTalk(L2Npc npc, L2PcInstance player)
+	{
+		String htmltext = getNoQuestMsg(player);
+		QuestState st = player.getQuestState(qn);
+		
+		if (st == null)
+		{
+			return htmltext;
+		}
+		
+		switch (npc.getNpcId())
+		{
+			case MATHIAS:
+				if (st.isCompleted())
+				{
+					htmltext = "31340-06.htm";
+				}
+				else if (st.isCreated() && (player.getLevel() >= 68))
+				{
+					htmltext = "31340-01.htm";
+				}
+				else if (st.isCreated() && (player.getLevel() < 68))
+				{
+					htmltext = "31340-00.htm";
+				}
+				else if (st.getQuestItemsCount(TISSUE_WA) > 0)
+				{
+					htmltext = "31340-05.htm";
+				}
+				else if (st.getInt("cond") == 1)
+				{
+					htmltext = "31340-04.htm";
+				}
+				break;
+			case KAYAN:
+				if (st.isCompleted())
+				{
+					htmltext = Quest.getAlreadyCompletedMsg(player);
+				}
+				else if (st.getQuestItemsCount(TISSUE_WA) > 0)
+				{
+					htmltext = "31335-02.htm";
+				}
+				else
+				{
+					htmltext = "31335-01.htm";
+				}
+				break;
+		}
+		return htmltext;
+	}
+	
+	@Override
+	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+	{
+		String htmltext = event;
+		QuestState st = player.getQuestState(qn);
+		
+		if (st == null)
+		{
+			return htmltext;
+		}
+		
+		switch (event)
+		{
+			case "31340-03.htm":
+				st.setState(State.STARTED);
+				st.set("cond", "1");
+				st.playSound("ItemSound.quest_accept");
+				break;
+			case "31335-03.htm":
+				st.rewardItems(57, 360000);
+				st.exitQuest(false);
+				st.playSound("ItemSound.quest_finish");
+				break;
+		}
+		return htmltext;
+	}
+	
+	@Override
+	public String onKill(L2Npc npc, L2PcInstance killer, boolean isPet)
+	{
+		QuestState st = killer.getQuestState(qn);
+		
+		if (st == null)
+		{
+			return null;
+		}
+		
+		if (killer.getParty() != null)
+		{
+			FastList<QuestState> PartyMembers = new FastList<QuestState>();
+			
+			for (L2PcInstance member : killer.getParty().getPartyMembers())
+			{
+				st = member.getQuestState(qn);
+				if ((st != null) && st.isStarted() && (st.getInt("cond") == 1))
+				{
+					if ((npc.getNpcId() == WHITE_ALLOSCE) && (st.getQuestItemsCount(TISSUE_WA) == 0))
+					{
+						PartyMembers.add(st);
+					}
+				}
+			}
+			
+			if (PartyMembers.isEmpty())
+			{
+				return null;
+			}
+			
+			QuestState winnerst = PartyMembers.get(Rnd.get(PartyMembers.size()));
+			
+			if ((npc.getNpcId() == WHITE_ALLOSCE) && (winnerst.getQuestItemsCount(TISSUE_WA) == 0))
+			{
+				winnerst.giveItems(TISSUE_WA, 1);
+				winnerst.playSound("ItemSound.quest_itemget");
+			}
+		}
+		else
+		{
+			if ((npc.getNpcId() == WHITE_ALLOSCE) && (st.getQuestItemsCount(TISSUE_WA) == 0))
+			{
+				st.giveItems(TISSUE_WA, 1);
+				st.playSound("ItemSound.quest_itemget");
+			}
+		}
+		return null;
+	}
+	
+	public Q10281_MutatedKaneusRune(int questId, String name, String descr)
+	{
+		super(questId, name, descr);
+		
+		addStartNpc(MATHIAS);
+		addTalkId(MATHIAS);
+		addTalkId(KAYAN);
+		
+		addKillId(WHITE_ALLOSCE);
+		
+		questItemIds = new int[]
+		{
+			TISSUE_WA
+		};
+	}
+	
+	public static void main(String[] args)
+	{
+		new Q10281_MutatedKaneusRune(10281, qn, "Mutated Kaneus - Rune");
+	}
+}
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10282_ToTheSeedOfAnnihilation/32733-00.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10282_ToTheSeedOfAnnihilation/32733-00.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10282_ToTheSeedOfAnnihilation/32733-00.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10282_ToTheSeedOfAnnihilation/32733-00.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10282_ToTheSeedOfAnnihilation/32733-01.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10282_ToTheSeedOfAnnihilation/32733-01.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10282_ToTheSeedOfAnnihilation/32733-01.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10282_ToTheSeedOfAnnihilation/32733-01.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10282_ToTheSeedOfAnnihilation/32733-02.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10282_ToTheSeedOfAnnihilation/32733-02.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10282_ToTheSeedOfAnnihilation/32733-02.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10282_ToTheSeedOfAnnihilation/32733-02.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10282_ToTheSeedOfAnnihilation/32733-03.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10282_ToTheSeedOfAnnihilation/32733-03.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10282_ToTheSeedOfAnnihilation/32733-03.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10282_ToTheSeedOfAnnihilation/32733-03.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10282_ToTheSeedOfAnnihilation/32733-04.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10282_ToTheSeedOfAnnihilation/32733-04.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10282_ToTheSeedOfAnnihilation/32733-04.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10282_ToTheSeedOfAnnihilation/32733-04.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10282_ToTheSeedOfAnnihilation/32733-05.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10282_ToTheSeedOfAnnihilation/32733-05.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10282_ToTheSeedOfAnnihilation/32733-05.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10282_ToTheSeedOfAnnihilation/32733-05.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10282_ToTheSeedOfAnnihilation/32733-06.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10282_ToTheSeedOfAnnihilation/32733-06.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10282_ToTheSeedOfAnnihilation/32733-06.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10282_ToTheSeedOfAnnihilation/32733-06.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10282_ToTheSeedOfAnnihilation/32733-07.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10282_ToTheSeedOfAnnihilation/32733-07.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10282_ToTheSeedOfAnnihilation/32733-07.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10282_ToTheSeedOfAnnihilation/32733-07.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10282_ToTheSeedOfAnnihilation/32733-08.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10282_ToTheSeedOfAnnihilation/32733-08.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10282_ToTheSeedOfAnnihilation/32733-08.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10282_ToTheSeedOfAnnihilation/32733-08.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10282_ToTheSeedOfAnnihilation/32733-09.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10282_ToTheSeedOfAnnihilation/32733-09.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10282_ToTheSeedOfAnnihilation/32733-09.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10282_ToTheSeedOfAnnihilation/32733-09.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10282_ToTheSeedOfAnnihilation/32734-01.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10282_ToTheSeedOfAnnihilation/32734-01.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10282_ToTheSeedOfAnnihilation/32734-01.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10282_ToTheSeedOfAnnihilation/32734-01.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10282_ToTheSeedOfAnnihilation/32734-02.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10282_ToTheSeedOfAnnihilation/32734-02.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10282_ToTheSeedOfAnnihilation/32734-02.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10282_ToTheSeedOfAnnihilation/32734-02.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/10282_ToTheSeedOfAnnihilation/32734-03.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10282_ToTheSeedOfAnnihilation/32734-03.htm
similarity index 100%
rename from L2J_DataPack_BETA/dist/game/data/scripts/quests/10282_ToTheSeedOfAnnihilation/32734-03.htm
rename to L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10282_ToTheSeedOfAnnihilation/32734-03.htm
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10282_ToTheSeedOfAnnihilation/Q10282_ToTheSeedOfAnnihilation.java b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10282_ToTheSeedOfAnnihilation/Q10282_ToTheSeedOfAnnihilation.java
new file mode 100644
index 0000000000000000000000000000000000000000..22c8c04b40ff145d9f5d726a574e70749bd0852e
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10282_ToTheSeedOfAnnihilation/Q10282_ToTheSeedOfAnnihilation.java
@@ -0,0 +1,132 @@
+/*
+ * 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.Q10282_ToTheSeedOfAnnihilation;
+
+import com.l2jserver.gameserver.model.actor.L2Npc;
+import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jserver.gameserver.model.quest.Quest;
+import com.l2jserver.gameserver.model.quest.QuestState;
+import com.l2jserver.gameserver.model.quest.State;
+
+/**
+ * To the Seed of Destruction (10269). Original jython script by Gnacik 2010-08-13 Based on Freya PTS
+ * @author nonom
+ */
+public class Q10282_ToTheSeedOfAnnihilation extends Quest
+{
+	private static final String qn = "10282_ToTheSeedOfAnnihilation";
+	
+	// NPCs
+	private static final int KBALDIR = 32733;
+	private static final int KLEMIS = 32734;
+	
+	// Items
+	private static final int SOA_ORDERS = 15512;
+	
+	@Override
+	public String onTalk(L2Npc npc, L2PcInstance player)
+	{
+		String htmltext = getNoQuestMsg(player);
+		QuestState st = player.getQuestState(qn);
+		int npcId = npc.getNpcId();
+		
+		if (st == null)
+		{
+			return htmltext;
+		}
+		
+		int cond = st.getInt("cond");
+		
+		switch (st.getState())
+		{
+			case State.COMPLETED:
+				if (npcId == KBALDIR)
+				{
+					htmltext = "32733-09.htm";
+				}
+				else if (npcId == KLEMIS)
+				{
+					htmltext = "32734-03.htm";
+				}
+				break;
+			case State.CREATED:
+				if (player.getLevel() < 84)
+				{
+					htmltext = "32733-01.htm";
+				}
+				else
+				{
+					htmltext = "32733-00.htm";
+				}
+				break;
+			case State.STARTED:
+				if (cond == 1)
+				{
+					if (npcId == KBALDIR)
+					{
+						htmltext = "32733-08.htm";
+					}
+					else if (npcId == KLEMIS)
+					{
+						htmltext = "32734-01.htm";
+					}
+				}
+				break;
+		}
+		return htmltext;
+	}
+	
+	@Override
+	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+	{
+		String htmltext = event;
+		QuestState st = player.getQuestState(qn);
+		
+		if (st == null)
+		{
+			return htmltext;
+		}
+		
+		switch (event)
+		{
+			case "32733-07.htm":
+				st.setState(State.STARTED);
+				st.set("cond", "1");
+				st.giveItems(SOA_ORDERS, 1);
+				st.playSound("ItemSound.quest_accept");
+				break;
+			case "32734-02.htm":
+				st.addExpAndSp(1148480, 99110);
+				st.takeItems(SOA_ORDERS, -1);
+				st.exitQuest(false);
+				break;
+		}
+		return htmltext;
+	}
+	
+	public Q10282_ToTheSeedOfAnnihilation(int questId, String name, String descr)
+	{
+		super(questId, name, descr);
+		
+		addStartNpc(KBALDIR);
+		addTalkId(KBALDIR);
+		addTalkId(KLEMIS);
+	}
+	
+	public static void main(String[] args)
+	{
+		new Q10282_ToTheSeedOfAnnihilation(10282, qn, "To the Seed of Annihilation");
+	}
+}
\ No newline at end of file