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