From 05491934bedecfe1e4a90f7526a9e17c390cfdc1 Mon Sep 17 00:00:00 2001
From: Zoey76 <zoey_76@msn.com>
Date: Mon, 7 Jan 2013 04:46:46 +0000
Subject: [PATCH] BETA: Adding three missing quests: 	* Zaken Embroidered
 Soul Cloak (10501) 	* Freya Embroidered Soul Cloak (10502) 	* Frintezza
 Embroidered Soul Cloak (10503)

---
 L2J_DataPack_BETA/dist/game/data/scripts.cfg  |   3 +
 .../32612-01.htm                              |   6 +
 .../32612-02.html                             |   4 +
 .../32612-03.html                             |   4 +
 .../32612-04.html                             |   4 +
 .../32612-05.html                             |   4 +
 .../32612-06.html                             |   3 +
 .../Q10501_ZakenEmbroideredSoulCloak.java     | 157 ++++++++++++++++++
 .../32612-01.htm                              |   6 +
 .../32612-02.html                             |   4 +
 .../32612-03.html                             |   4 +
 .../32612-04.html                             |   4 +
 .../32612-05.html                             |   4 +
 .../32612-06.html                             |   3 +
 .../Q10502_FreyaEmbroideredSoulCloak.java     | 157 ++++++++++++++++++
 .../32612-01.htm                              |   6 +
 .../32612-02.html                             |   4 +
 .../32612-03.html                             |   4 +
 .../32612-04.html                             |   4 +
 .../32612-05.html                             |   4 +
 .../32612-06.html                             |   3 +
 .../Q10503_FrintezzaEmbroideredSoulCloak.java | 157 ++++++++++++++++++
 22 files changed, 549 insertions(+)
 create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10501_ZakenEmbroideredSoulCloak/32612-01.htm
 create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10501_ZakenEmbroideredSoulCloak/32612-02.html
 create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10501_ZakenEmbroideredSoulCloak/32612-03.html
 create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10501_ZakenEmbroideredSoulCloak/32612-04.html
 create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10501_ZakenEmbroideredSoulCloak/32612-05.html
 create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10501_ZakenEmbroideredSoulCloak/32612-06.html
 create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10501_ZakenEmbroideredSoulCloak/Q10501_ZakenEmbroideredSoulCloak.java
 create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10502_FreyaEmbroideredSoulCloak/32612-01.htm
 create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10502_FreyaEmbroideredSoulCloak/32612-02.html
 create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10502_FreyaEmbroideredSoulCloak/32612-03.html
 create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10502_FreyaEmbroideredSoulCloak/32612-04.html
 create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10502_FreyaEmbroideredSoulCloak/32612-05.html
 create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10502_FreyaEmbroideredSoulCloak/32612-06.html
 create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10502_FreyaEmbroideredSoulCloak/Q10502_FreyaEmbroideredSoulCloak.java
 create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10503_FrintezzaEmbroideredSoulCloak/32612-01.htm
 create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10503_FrintezzaEmbroideredSoulCloak/32612-02.html
 create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10503_FrintezzaEmbroideredSoulCloak/32612-03.html
 create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10503_FrintezzaEmbroideredSoulCloak/32612-04.html
 create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10503_FrintezzaEmbroideredSoulCloak/32612-05.html
 create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10503_FrintezzaEmbroideredSoulCloak/32612-06.html
 create mode 100644 L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10503_FrintezzaEmbroideredSoulCloak/Q10503_FrintezzaEmbroideredSoulCloak.java

diff --git a/L2J_DataPack_BETA/dist/game/data/scripts.cfg b/L2J_DataPack_BETA/dist/game/data/scripts.cfg
index 1f8087eaa7..4d9912efe4 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts.cfg
+++ b/L2J_DataPack_BETA/dist/game/data/scripts.cfg
@@ -724,6 +724,9 @@ quests/Q10288_SecretMission/Q10288_SecretMission.java
 quests/Q10289_FadeToBlack/Q10289_FadeToBlack.java
 quests/Q10290_LandDragonConqueror/Q10290_LandDragonConqueror.java
 quests/Q10291_FireDragonDestroyer/Q10291_FireDragonDestroyer.java
+quests/Q10501_ZakenEmbroideredSoulCloak/Q10501_ZakenEmbroideredSoulCloak.java
+quests/Q10502_FreyaEmbroideredSoulCloak/Q10502_FreyaEmbroideredSoulCloak.java
+quests/Q10503_FrintezzaEmbroideredSoulCloak/Q10503_FrintezzaEmbroideredSoulCloak.java
 quests/Q10504_JewelOfAntharas/Q10504_JewelOfAntharas.java
 quests/Q10505_JewelOfValakas/Q10505_JewelOfValakas.java
 
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10501_ZakenEmbroideredSoulCloak/32612-01.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10501_ZakenEmbroideredSoulCloak/32612-01.htm
new file mode 100644
index 0000000000..1313a8c407
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10501_ZakenEmbroideredSoulCloak/32612-01.htm
@@ -0,0 +1,6 @@
+<html><body>Weaver Olf Adams:<br>
+Recently, our weavers' guild learned how to imbed the souls of monsters into the clothes that we make.<br>
+This method allows us to make clothes that are far superior, and gives the wearer a monster-like appearance.<br>
+If you can collect souls of boss monsters, I can make you a new cloak. Interested?<br>
+<a action="bypass -h Quest Q10501_ZakenEmbroideredSoulCloak 32612-04.html">"Of course!"</a>
+</body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10501_ZakenEmbroideredSoulCloak/32612-02.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10501_ZakenEmbroideredSoulCloak/32612-02.html
new file mode 100644
index 0000000000..124ecb136a
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10501_ZakenEmbroideredSoulCloak/32612-02.html
@@ -0,0 +1,4 @@
+<html><body>Weaver Olf Adams:<br>
+I'm sorry, but you're not ready to take this on.<br>
+(Only characters of level 78 or above can take on this quest.)
+</body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10501_ZakenEmbroideredSoulCloak/32612-03.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10501_ZakenEmbroideredSoulCloak/32612-03.html
new file mode 100644
index 0000000000..c881715e11
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10501_ZakenEmbroideredSoulCloak/32612-03.html
@@ -0,0 +1,4 @@
+<html><body>Weaver Olf Adams:<br>
+If I remember correctly, you already received my cloak, right?<br>
+(You have already completed this quest.)
+</body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10501_ZakenEmbroideredSoulCloak/32612-04.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10501_ZakenEmbroideredSoulCloak/32612-04.html
new file mode 100644
index 0000000000..1bb6d20a50
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10501_ZakenEmbroideredSoulCloak/32612-04.html
@@ -0,0 +1,4 @@
+<html><body>Weaver Olf Adams:<br>
+OK.<br>
+From now on, every time you capture <font color="LEVEL">Zaken (top)</font>, you will receive <font color="LEVEL">Zaken Soul Fragments</font>. Please bring back <font color="LEVEL">20</font> of them!
+</body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10501_ZakenEmbroideredSoulCloak/32612-05.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10501_ZakenEmbroideredSoulCloak/32612-05.html
new file mode 100644
index 0000000000..610a5b22d9
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10501_ZakenEmbroideredSoulCloak/32612-05.html
@@ -0,0 +1,4 @@
+<html><body>Weaver Olf Adams:<br>
+There still aren't enough soul fragments here.<br>
+Every time you capture <font color="LEVEL">Zaken (top)</font>, you will receive <font color="LEVEL">Zaken Soul Fragments</font>. Please bring back <font color="LEVEL">20</font> of them!
+</body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10501_ZakenEmbroideredSoulCloak/32612-06.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10501_ZakenEmbroideredSoulCloak/32612-06.html
new file mode 100644
index 0000000000..4073b6a409
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10501_ZakenEmbroideredSoulCloak/32612-06.html
@@ -0,0 +1,3 @@
+<html><body>Weaver Olf Adams:<br>
+You've finally collected all the soul fragments! Here is the cloak as promised!
+</body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10501_ZakenEmbroideredSoulCloak/Q10501_ZakenEmbroideredSoulCloak.java b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10501_ZakenEmbroideredSoulCloak/Q10501_ZakenEmbroideredSoulCloak.java
new file mode 100644
index 0000000000..8f67bcb230
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10501_ZakenEmbroideredSoulCloak/Q10501_ZakenEmbroideredSoulCloak.java
@@ -0,0 +1,157 @@
+/*
+ * Copyright (C) 2004-2013 L2J Server
+ * 
+ * This file is part of L2J Server.
+ * 
+ * L2J Server is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ * 
+ * L2J Server 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.Q10501_ZakenEmbroideredSoulCloak;
+
+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;
+
+/**
+ * Zaken Embroidered Soul Cloak (10501)
+ * @author Zoey76
+ */
+public class Q10501_ZakenEmbroideredSoulCloak extends Quest
+{
+	// NPC
+	private static final int OLF_ADAMS = 32612;
+	// Monster
+	private static final int ZAKEN = 29181;
+	// Items
+	private static final int ZAKENS_SOUL_FRAGMENT = 21722;
+	private static final int SOUL_CLOAK_OF_ZAKEN = 21719;
+	// Misc
+	private static final int MIN_LEVEL = 78;
+	private static final int FRAGMENT_COUNT = 20;
+	
+	private Q10501_ZakenEmbroideredSoulCloak(int questId, String name, String descr)
+	{
+		super(questId, name, descr);
+		addStartNpc(OLF_ADAMS);
+		addTalkId(OLF_ADAMS);
+		addKillId(ZAKEN);
+		registerQuestItems(ZAKENS_SOUL_FRAGMENT);
+	}
+	
+	@Override
+	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+	{
+		final QuestState st = player.getQuestState(getName());
+		if ((st != null) && (player.getLevel() >= MIN_LEVEL) && event.equals("32612-04.html"))
+		{
+			st.startQuest();
+			return event;
+		}
+		return null;
+	}
+	
+	@Override
+	public String onTalk(L2Npc npc, L2PcInstance player)
+	{
+		final QuestState st = player.getQuestState(getName());
+		if (st == null)
+		{
+			return getNoQuestMsg(player);
+		}
+		
+		String htmltext = getNoQuestMsg(player);
+		switch (st.getState())
+		{
+			case State.CREATED:
+			{
+				htmltext = (player.getLevel() < MIN_LEVEL) ? "32612-02.html" : "32612-01.htm";
+				break;
+			}
+			case State.STARTED:
+			{
+				switch (st.getCond())
+				{
+					case 1:
+					{
+						htmltext = "32612-05.html";
+						break;
+					}
+					case 2:
+					{
+						if (st.getQuestItemsCount(ZAKENS_SOUL_FRAGMENT) >= FRAGMENT_COUNT)
+						{
+							st.giveItems(SOUL_CLOAK_OF_ZAKEN, 1);
+							st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET);
+							st.exitQuest(false, true);
+							htmltext = "32612-06.html";
+						}
+						break;
+					}
+				}
+				break;
+			}
+			case State.COMPLETED:
+			{
+				htmltext = "32612-03.html";
+				break;
+			}
+		}
+		return htmltext;
+	}
+	
+	@Override
+	public String onKill(L2Npc npc, L2PcInstance killer, boolean isPet)
+	{
+		QuestState st;
+		if (killer.isInParty())
+		{
+			for (L2PcInstance player : killer.getParty().getMembers())
+			{
+				st = player.getQuestState(getName());
+				if ((st != null) && st.isCond(1) && Util.checkIfInRange(1500, npc, player, false))
+				{
+					st.giveItems(ZAKENS_SOUL_FRAGMENT, 1);
+					st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET);
+					
+					if (st.getQuestItemsCount(ZAKENS_SOUL_FRAGMENT) >= FRAGMENT_COUNT)
+					{
+						st.setCond(2, true);
+					}
+				}
+			}
+		}
+		else
+		{
+			st = killer.getQuestState(getName());
+			if ((st != null) && st.isCond(1) && Util.checkIfInRange(1500, npc, killer, false))
+			{
+				st.giveItems(ZAKENS_SOUL_FRAGMENT, 1);
+				st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET);
+				
+				if (st.getQuestItemsCount(ZAKENS_SOUL_FRAGMENT) >= FRAGMENT_COUNT)
+				{
+					st.setCond(2, true);
+				}
+			}
+		}
+		return super.onKill(npc, killer, isPet);
+	}
+	
+	public static void main(String[] args)
+	{
+		new Q10501_ZakenEmbroideredSoulCloak(10501, Q10501_ZakenEmbroideredSoulCloak.class.getSimpleName(), "Zaken Embroidered Soul Cloak");
+	}
+}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10502_FreyaEmbroideredSoulCloak/32612-01.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10502_FreyaEmbroideredSoulCloak/32612-01.htm
new file mode 100644
index 0000000000..190d09c6b6
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10502_FreyaEmbroideredSoulCloak/32612-01.htm
@@ -0,0 +1,6 @@
+<html><body>Weaver Olf Adams:<br>
+Recently, our weavers' guild learned how to imbed the souls of monsters into the clothes that we make.<br>
+This method allows us to make clothes that are far superior, and gives the wearer a monster-like appearance.<br>
+If you can collect souls of boss monsters, I can make you a new cloak. Interested?<br>
+<a action="bypass -h Quest Q10502_FreyaEmbroideredSoulCloak 32612-04.html">"Yes!"</a>
+</body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10502_FreyaEmbroideredSoulCloak/32612-02.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10502_FreyaEmbroideredSoulCloak/32612-02.html
new file mode 100644
index 0000000000..db34aa489d
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10502_FreyaEmbroideredSoulCloak/32612-02.html
@@ -0,0 +1,4 @@
+<html><body>Weaver Olf Adams:<br>
+I'm sorry, but you're not ready to take this on.<br>
+(Only characters of level 82 or above can take on this quest.)
+</body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10502_FreyaEmbroideredSoulCloak/32612-03.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10502_FreyaEmbroideredSoulCloak/32612-03.html
new file mode 100644
index 0000000000..c881715e11
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10502_FreyaEmbroideredSoulCloak/32612-03.html
@@ -0,0 +1,4 @@
+<html><body>Weaver Olf Adams:<br>
+If I remember correctly, you already received my cloak, right?<br>
+(You have already completed this quest.)
+</body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10502_FreyaEmbroideredSoulCloak/32612-04.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10502_FreyaEmbroideredSoulCloak/32612-04.html
new file mode 100644
index 0000000000..be8f7a4c2c
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10502_FreyaEmbroideredSoulCloak/32612-04.html
@@ -0,0 +1,4 @@
+<html><body>Weaver Olf Adams:<br>
+OK!<br>
+From now on, every time you succeed in a <font color="LEVEL">Freya</font> raid, you will receive <font color="LEVEL">Freya Soul Fragments</font>. Please bring back <font color="LEVEL">20</font> of them!
+</body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10502_FreyaEmbroideredSoulCloak/32612-05.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10502_FreyaEmbroideredSoulCloak/32612-05.html
new file mode 100644
index 0000000000..d790555f24
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10502_FreyaEmbroideredSoulCloak/32612-05.html
@@ -0,0 +1,4 @@
+<html><body>Weaver Olf Adams:<br>
+There still aren't enough soul fragments here.<br>
+Every time you succeed in a <font color="LEVEL">Freya</font> raid, you will receive <font color="LEVEL">Freya Soul Fragments</font>. Please bring back <font color="LEVEL">20</font> of them.
+</body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10502_FreyaEmbroideredSoulCloak/32612-06.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10502_FreyaEmbroideredSoulCloak/32612-06.html
new file mode 100644
index 0000000000..4073b6a409
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10502_FreyaEmbroideredSoulCloak/32612-06.html
@@ -0,0 +1,3 @@
+<html><body>Weaver Olf Adams:<br>
+You've finally collected all the soul fragments! Here is the cloak as promised!
+</body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10502_FreyaEmbroideredSoulCloak/Q10502_FreyaEmbroideredSoulCloak.java b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10502_FreyaEmbroideredSoulCloak/Q10502_FreyaEmbroideredSoulCloak.java
new file mode 100644
index 0000000000..1f5ddc9173
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10502_FreyaEmbroideredSoulCloak/Q10502_FreyaEmbroideredSoulCloak.java
@@ -0,0 +1,157 @@
+/*
+ * Copyright (C) 2004-2013 L2J Server
+ * 
+ * This file is part of L2J Server.
+ * 
+ * L2J Server is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ * 
+ * L2J Server 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.Q10502_FreyaEmbroideredSoulCloak;
+
+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;
+
+/**
+ * Freya Embroidered Soul Cloak (10502)
+ * @author Zoey76
+ */
+public class Q10502_FreyaEmbroideredSoulCloak extends Quest
+{
+	// NPC
+	private static final int OLF_ADAMS = 32612;
+	// Monster
+	private static final int FREYA = 29179;
+	// Items
+	private static final int FREYAS_SOUL_FRAGMENT = 21722;
+	private static final int SOUL_CLOAK_OF_FREYA = 21719;
+	// Misc
+	private static final int MIN_LEVEL = 82;
+	private static final int FRAGMENT_COUNT = 20;
+	
+	private Q10502_FreyaEmbroideredSoulCloak(int questId, String name, String descr)
+	{
+		super(questId, name, descr);
+		addStartNpc(OLF_ADAMS);
+		addTalkId(OLF_ADAMS);
+		addKillId(FREYA);
+		registerQuestItems(FREYAS_SOUL_FRAGMENT);
+	}
+	
+	@Override
+	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+	{
+		final QuestState st = player.getQuestState(getName());
+		if ((st != null) && (player.getLevel() >= MIN_LEVEL) && event.equals("32612-04.html"))
+		{
+			st.startQuest();
+			return event;
+		}
+		return null;
+	}
+	
+	@Override
+	public String onTalk(L2Npc npc, L2PcInstance player)
+	{
+		final QuestState st = player.getQuestState(getName());
+		if (st == null)
+		{
+			return getNoQuestMsg(player);
+		}
+		
+		String htmltext = getNoQuestMsg(player);
+		switch (st.getState())
+		{
+			case State.CREATED:
+			{
+				htmltext = (player.getLevel() < MIN_LEVEL) ? "32612-02.html" : "32612-01.htm";
+				break;
+			}
+			case State.STARTED:
+			{
+				switch (st.getCond())
+				{
+					case 1:
+					{
+						htmltext = "32612-05.html";
+						break;
+					}
+					case 2:
+					{
+						if (st.getQuestItemsCount(FREYAS_SOUL_FRAGMENT) >= FRAGMENT_COUNT)
+						{
+							st.giveItems(SOUL_CLOAK_OF_FREYA, 1);
+							st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET);
+							st.exitQuest(false, true);
+							htmltext = "32612-06.html";
+						}
+						break;
+					}
+				}
+				break;
+			}
+			case State.COMPLETED:
+			{
+				htmltext = "32612-03.html";
+				break;
+			}
+		}
+		return htmltext;
+	}
+	
+	@Override
+	public String onKill(L2Npc npc, L2PcInstance killer, boolean isPet)
+	{
+		QuestState st;
+		if (killer.isInParty())
+		{
+			for (L2PcInstance player : killer.getParty().getMembers())
+			{
+				st = player.getQuestState(getName());
+				if ((st != null) && st.isCond(1) && Util.checkIfInRange(1500, npc, player, false))
+				{
+					st.giveItems(FREYAS_SOUL_FRAGMENT, 1);
+					st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET);
+					
+					if (st.getQuestItemsCount(FREYAS_SOUL_FRAGMENT) >= FRAGMENT_COUNT)
+					{
+						st.setCond(2, true);
+					}
+				}
+			}
+		}
+		else
+		{
+			st = killer.getQuestState(getName());
+			if ((st != null) && st.isCond(1) && Util.checkIfInRange(1500, npc, killer, false))
+			{
+				st.giveItems(FREYAS_SOUL_FRAGMENT, 1);
+				st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET);
+				
+				if (st.getQuestItemsCount(FREYAS_SOUL_FRAGMENT) >= FRAGMENT_COUNT)
+				{
+					st.setCond(2, true);
+				}
+			}
+		}
+		return super.onKill(npc, killer, isPet);
+	}
+	
+	public static void main(String[] args)
+	{
+		new Q10502_FreyaEmbroideredSoulCloak(10502, Q10502_FreyaEmbroideredSoulCloak.class.getSimpleName(), "Freya Embroidered Soul Cloak");
+	}
+}
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10503_FrintezzaEmbroideredSoulCloak/32612-01.htm b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10503_FrintezzaEmbroideredSoulCloak/32612-01.htm
new file mode 100644
index 0000000000..1355bc99c4
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10503_FrintezzaEmbroideredSoulCloak/32612-01.htm
@@ -0,0 +1,6 @@
+<html><body>Weaver Olf Adams:<br>
+Recently, our weavers' guild learned how to imbed the souls of monsters into the clothes that we make.<br>
+This method allows us to make clothes that are far superior, and gives the wearer a monster-like appearance.<br>
+If you can collect souls of boss monsters, I can make you a new cloak. Interested?<br>
+<a action="bypass -h Quest Q10503_FrintezzaEmbroideredSoulCloak 32612-04.html">"Yes!"</a>
+</body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10503_FrintezzaEmbroideredSoulCloak/32612-02.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10503_FrintezzaEmbroideredSoulCloak/32612-02.html
new file mode 100644
index 0000000000..83e2810ee6
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10503_FrintezzaEmbroideredSoulCloak/32612-02.html
@@ -0,0 +1,4 @@
+<html><body>Weaver Olf Adams:<br>
+I'm sorry, but you're not ready to take this on.<br>
+(Only characters of level 80 or above can take on this quest.)
+</body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10503_FrintezzaEmbroideredSoulCloak/32612-03.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10503_FrintezzaEmbroideredSoulCloak/32612-03.html
new file mode 100644
index 0000000000..39c64eb8b7
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10503_FrintezzaEmbroideredSoulCloak/32612-03.html
@@ -0,0 +1,4 @@
+<html><body>Weaver Olf Adams:<br>
+If I remember correctly, you have already received my cloak, right?<br>
+(You have already completed this quest.)
+</body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10503_FrintezzaEmbroideredSoulCloak/32612-04.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10503_FrintezzaEmbroideredSoulCloak/32612-04.html
new file mode 100644
index 0000000000..2cf17ee2e9
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10503_FrintezzaEmbroideredSoulCloak/32612-04.html
@@ -0,0 +1,4 @@
+<html><body>Weaver Olf Adams:<br>
+OK.<br>
+From now on, every time you succeed in a <font color="LEVEL">Frintezza</font> raid, you will receive <font color="LEVEL">Frintezza Soul Fragments</font>. Please bring back <font color="LEVEL">20</font> of them!
+</body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10503_FrintezzaEmbroideredSoulCloak/32612-05.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10503_FrintezzaEmbroideredSoulCloak/32612-05.html
new file mode 100644
index 0000000000..4d0cfb6321
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10503_FrintezzaEmbroideredSoulCloak/32612-05.html
@@ -0,0 +1,4 @@
+<html><body>Weaver Olf Adams:<br>
+There still aren't enough soul fragments.<br>
+Every time you succeed in a <font color="LEVEL">Frintezza</font> raid, you will receive <font color="LEVEL">Frintezza Soul Fragments</font>. Please bring back <font color="LEVEL">20</font> of them!
+</body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10503_FrintezzaEmbroideredSoulCloak/32612-06.html b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10503_FrintezzaEmbroideredSoulCloak/32612-06.html
new file mode 100644
index 0000000000..4073b6a409
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10503_FrintezzaEmbroideredSoulCloak/32612-06.html
@@ -0,0 +1,3 @@
+<html><body>Weaver Olf Adams:<br>
+You've finally collected all the soul fragments! Here is the cloak as promised!
+</body></html>
\ No newline at end of file
diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10503_FrintezzaEmbroideredSoulCloak/Q10503_FrintezzaEmbroideredSoulCloak.java b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10503_FrintezzaEmbroideredSoulCloak/Q10503_FrintezzaEmbroideredSoulCloak.java
new file mode 100644
index 0000000000..e30f96f884
--- /dev/null
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10503_FrintezzaEmbroideredSoulCloak/Q10503_FrintezzaEmbroideredSoulCloak.java
@@ -0,0 +1,157 @@
+/*
+ * Copyright (C) 2004-2013 L2J Server
+ * 
+ * This file is part of L2J Server.
+ * 
+ * L2J Server is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ * 
+ * L2J Server 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.Q10503_FrintezzaEmbroideredSoulCloak;
+
+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;
+
+/**
+ * Frintezza Embroidered Soul Cloak (10503)
+ * @author Zoey76
+ */
+public class Q10503_FrintezzaEmbroideredSoulCloak extends Quest
+{
+	// NPC
+	private static final int OLF_ADAMS = 32612;
+	// Monster
+	private static final int FRINTEZZA = 29045;
+	// Items
+	private static final int FRINTEZZAS_SOUL_FRAGMENT = 21724;
+	private static final int SOUL_CLOAK_OF_FRINTEZZA = 21721;
+	// Misc
+	private static final int MIN_LEVEL = 80;
+	private static final int FRAGMENT_COUNT = 20;
+	
+	private Q10503_FrintezzaEmbroideredSoulCloak(int questId, String name, String descr)
+	{
+		super(questId, name, descr);
+		addStartNpc(OLF_ADAMS);
+		addTalkId(OLF_ADAMS);
+		addKillId(FRINTEZZA);
+		registerQuestItems(FRINTEZZAS_SOUL_FRAGMENT);
+	}
+	
+	@Override
+	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
+	{
+		final QuestState st = player.getQuestState(getName());
+		if ((st != null) && (player.getLevel() >= MIN_LEVEL) && event.equals("32612-04.html"))
+		{
+			st.startQuest();
+			return event;
+		}
+		return null;
+	}
+	
+	@Override
+	public String onTalk(L2Npc npc, L2PcInstance player)
+	{
+		final QuestState st = player.getQuestState(getName());
+		if (st == null)
+		{
+			return getNoQuestMsg(player);
+		}
+		
+		String htmltext = getNoQuestMsg(player);
+		switch (st.getState())
+		{
+			case State.CREATED:
+			{
+				htmltext = (player.getLevel() < MIN_LEVEL) ? "32612-02.html" : "32612-01.htm";
+				break;
+			}
+			case State.STARTED:
+			{
+				switch (st.getCond())
+				{
+					case 1:
+					{
+						htmltext = "32612-05.html";
+						break;
+					}
+					case 2:
+					{
+						if (st.getQuestItemsCount(FRINTEZZAS_SOUL_FRAGMENT) >= FRAGMENT_COUNT)
+						{
+							st.giveItems(SOUL_CLOAK_OF_FRINTEZZA, 1);
+							st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET);
+							st.exitQuest(false, true);
+							htmltext = "32612-06.html";
+						}
+						break;
+					}
+				}
+				break;
+			}
+			case State.COMPLETED:
+			{
+				htmltext = "32612-03.html";
+				break;
+			}
+		}
+		return htmltext;
+	}
+	
+	@Override
+	public String onKill(L2Npc npc, L2PcInstance killer, boolean isPet)
+	{
+		QuestState st;
+		if (killer.isInParty())
+		{
+			for (L2PcInstance player : killer.getParty().getMembers())
+			{
+				st = player.getQuestState(getName());
+				if ((st != null) && st.isCond(1) && Util.checkIfInRange(1500, npc, player, false))
+				{
+					st.giveItems(FRINTEZZAS_SOUL_FRAGMENT, 1);
+					st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET);
+					
+					if (st.getQuestItemsCount(FRINTEZZAS_SOUL_FRAGMENT) >= FRAGMENT_COUNT)
+					{
+						st.setCond(2, true);
+					}
+				}
+			}
+		}
+		else
+		{
+			st = killer.getQuestState(getName());
+			if ((st != null) && st.isCond(1) && Util.checkIfInRange(1500, npc, killer, false))
+			{
+				st.giveItems(FRINTEZZAS_SOUL_FRAGMENT, 1);
+				st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET);
+				
+				if (st.getQuestItemsCount(FRINTEZZAS_SOUL_FRAGMENT) >= FRAGMENT_COUNT)
+				{
+					st.setCond(2, true);
+				}
+			}
+		}
+		return super.onKill(npc, killer, isPet);
+	}
+	
+	public static void main(String[] args)
+	{
+		new Q10503_FrintezzaEmbroideredSoulCloak(10503, Q10503_FrintezzaEmbroideredSoulCloak.class.getSimpleName(), "Frintezza Embroidered Soul Cloak");
+	}
+}
-- 
GitLab