diff --git a/L2J_DataPack_BETA/dist/game/data/scripts.cfg b/L2J_DataPack_BETA/dist/game/data/scripts.cfg index 1f8087eaa74117f936428ef8928e78eb5b66afde..4d9912efe41424808f342349b13ac60db8a2545d 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 0000000000000000000000000000000000000000..1313a8c40790ad44caf353d990e56c10f5561e4e --- /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 0000000000000000000000000000000000000000..124ecb136a07b4c274aac9f763ee3d550a344ae3 --- /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 0000000000000000000000000000000000000000..c881715e1191ed369e399b85e44863edced0403e --- /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 0000000000000000000000000000000000000000..1bb6d20a50e593d2cbc2ff3b36938ffa8a9cc747 --- /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 0000000000000000000000000000000000000000..610a5b22d9dd856bea30c97c95c2b655a641623d --- /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 0000000000000000000000000000000000000000..4073b6a40910a21187cc0a93a963c006deff3944 --- /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 0000000000000000000000000000000000000000..8f67bcb23050c6ea290685a287bd09b316675816 --- /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 0000000000000000000000000000000000000000..190d09c6b6efdef4fe1ff9976ed8f45173708485 --- /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 0000000000000000000000000000000000000000..db34aa489d7d5dde837bbee7c7080b6f1c23a97d --- /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 0000000000000000000000000000000000000000..c881715e1191ed369e399b85e44863edced0403e --- /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 0000000000000000000000000000000000000000..be8f7a4c2c0578356f6b7c22ecffb388ea99ba25 --- /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 0000000000000000000000000000000000000000..d790555f2473a12beb3002dec8311d41a332f51b --- /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 0000000000000000000000000000000000000000..4073b6a40910a21187cc0a93a963c006deff3944 --- /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 0000000000000000000000000000000000000000..1f5ddc91738dfebe6f00c1807e83a68660ea4d4a --- /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 0000000000000000000000000000000000000000..1355bc99c43143c30464eb8847b76a02f7b7aac8 --- /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 0000000000000000000000000000000000000000..83e2810ee67b5943f67df038e347a5c309a3e1d2 --- /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 0000000000000000000000000000000000000000..39c64eb8b7f32a896450996801dc21b1cb6792e9 --- /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 0000000000000000000000000000000000000000..2cf17ee2e9263908f1909165f493243f4f164e23 --- /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 0000000000000000000000000000000000000000..4d0cfb6321c5a663421d94efbc52629846235eb0 --- /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 0000000000000000000000000000000000000000..4073b6a40910a21187cc0a93a963c006deff3944 --- /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 0000000000000000000000000000000000000000..e30f96f88483288ac1e3838d20510bcfe04dea8f --- /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"); + } +}