/* * Copyright (C) 2004-2015 L2J DataPack * * This file is part of L2J DataPack. * * L2J DataPack is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * L2J DataPack is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ package quests.Q00221_TestimonyOfProsperity; import com.l2jserver.gameserver.enums.CategoryType; import com.l2jserver.gameserver.enums.QuestSound; import com.l2jserver.gameserver.enums.Race; 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.network.serverpackets.SocialAction; import com.l2jserver.gameserver.util.Util; /** * Testimony Of Prosperity (221) * @author ivantotov */ public final class Q00221_TestimonyOfProsperity extends Quest { // NPCs private static final int WAREHOUSE_KEEPER_WILFORD = 30005; private static final int WAREHOUSE_KEEPER_PARMAN = 30104; private static final int LILITH = 30368; private static final int GUARD_BRIGHT = 30466; private static final int TRADER_SHARI = 30517; private static final int TRADER_MION = 30519; private static final int IRON_GATES_LOCKIRIN = 30531; private static final int GOLDEN_WHEELS_SPIRON = 30532; private static final int SILVER_SCALES_BALANKI = 30533; private static final int BRONZE_KEYS_KEEF = 30534; private static final int GRAY_PILLAR_MEMBER_FILAUR = 30535; private static final int BLACK_ANVILS_ARIN = 30536; private static final int MARYSE_REDBONNET = 30553; private static final int MINER_BOLTER = 30554; private static final int CARRIER_TOROCCO = 30555; private static final int MASTER_TOMA = 30556; private static final int PIOTUR = 30597; private static final int EMILY = 30620; private static final int MAESTRO_NIKOLA = 30621; private static final int BOX_OF_TITAN = 30622; // Items private static final int ADENA = 57; private static final int ANIMAL_SKIN = 1867; private static final int RECIPE_TITAN_KEY = 3023; private static final int KEY_OF_TITAN = 3030; private static final int RING_OF_TESTIMONY_1ST = 3239; private static final int RING_OF_TESTIMONY_2ND = 3240; private static final int OLD_ACCOUNT_BOOK = 3241; private static final int BLESSED_SEED = 3242; private static final int EMILYS_RECIPE = 3243; private static final int LILITHS_ELVEN_WAFER = 3244; private static final int MAPHR_TABLET_FRAGMENT = 3245; private static final int COLLECTION_LICENSE = 3246; private static final int LOCKIRINS_1ST_NOTICE = 3247; private static final int LOCKIRINS_2ND_NOTICE = 3248; private static final int LOCKIRINS_3RD_NOTICE = 3249; private static final int LOCKIRINS_4TH_NOTICE = 3250; private static final int LOCKIRINS_5TH_NOTICE = 3251; private static final int CONTRIBUTION_OF_SHARI = 3252; private static final int CONTRIBUTION_OF_MION = 3253; private static final int CONTRIBUTION_OF_MARYSE = 3254; private static final int MARYSES_REQUEST = 3255; private static final int CONTRIBUTION_OF_TOMA = 3256; private static final int RECEIPT_OF_BOLTER = 3257; private static final int RECEIPT_OF_CONTRIBUTION_1ST = 3258; private static final int RECEIPT_OF_CONTRIBUTION_2ND = 3259; private static final int RECEIPT_OF_CONTRIBUTION_3RD = 3260; private static final int RECEIPT_OF_CONTRIBUTION_4TH = 3261; private static final int RECEIPT_OF_CONTRIBUTION_5TH = 3262; private static final int PROCURATION_OF_TOROCCO = 3263; private static final int BRIGHTS_LIST = 3264; private static final int MANDRAGORA_PETAL = 3265; private static final int CRIMSON_MOSS = 3266; private static final int MANDRAGORA_BOUGUET = 3267; private static final int PARMANS_INSTRUCTIONS = 3268; private static final int PARMANS_LETTER = 3269; private static final int CLAY_DOUGH = 3270; private static final int PATTERN_OF_KEYHOLE = 3271; private static final int NIKOLAS_LIST = 3272; private static final int STAKATO_SHELL = 3273; private static final int TOAD_LORD_SAC = 3274; private static final int MARSH_SPIDER_THORN = 3275; private static final int CRYSTAL_BROOCH = 3428; // Reward private static final int MARK_OF_PROSPERITY = 3238; private static final int DIMENSIONAL_DIAMOND = 7562; // Monster private static final int MANDRAGORA_SPROUT1 = 20154; private static final int MANDRAGORA_SAPLING = 20155; private static final int MANDRAGORA_BLOSSOM = 20156; private static final int MARSH_STAKATO = 20157; private static final int MANDRAGORA_SPROUT2 = 20223; private static final int GIANT_CRIMSON_ANT = 20228; private static final int MARSH_STAKATO_WORKER = 20230; private static final int TOAD_LORD = 20231; private static final int MARSH_STAKATO_SOLDIER = 20232; private static final int MARSH_SPIDER = 20233; private static final int MARSH_STAKATO_DRONE = 20234; // Misc private static final int MIN_LEVEL = 37; public Q00221_TestimonyOfProsperity() { super(221, Q00221_TestimonyOfProsperity.class.getSimpleName(), "Testimony Of Prosperity"); addStartNpc(WAREHOUSE_KEEPER_PARMAN); addTalkId(WAREHOUSE_KEEPER_PARMAN, WAREHOUSE_KEEPER_WILFORD, LILITH, GUARD_BRIGHT, TRADER_SHARI, TRADER_MION, IRON_GATES_LOCKIRIN, GOLDEN_WHEELS_SPIRON, SILVER_SCALES_BALANKI, BRONZE_KEYS_KEEF, GRAY_PILLAR_MEMBER_FILAUR, BLACK_ANVILS_ARIN, MARYSE_REDBONNET, MINER_BOLTER, CARRIER_TOROCCO, MASTER_TOMA, PIOTUR, EMILY, MAESTRO_NIKOLA, BOX_OF_TITAN); addKillId(MANDRAGORA_SPROUT1, MANDRAGORA_SAPLING, MANDRAGORA_BLOSSOM, MARSH_STAKATO, MANDRAGORA_SPROUT2, GIANT_CRIMSON_ANT, MARSH_STAKATO_WORKER, TOAD_LORD, MARSH_STAKATO_SOLDIER, MARSH_SPIDER, MARSH_STAKATO_DRONE); registerQuestItems(RECIPE_TITAN_KEY, KEY_OF_TITAN, RING_OF_TESTIMONY_1ST, RING_OF_TESTIMONY_2ND, OLD_ACCOUNT_BOOK, BLESSED_SEED, EMILYS_RECIPE, LILITHS_ELVEN_WAFER, MAPHR_TABLET_FRAGMENT, COLLECTION_LICENSE, LOCKIRINS_1ST_NOTICE, LOCKIRINS_2ND_NOTICE, LOCKIRINS_3RD_NOTICE, LOCKIRINS_4TH_NOTICE, LOCKIRINS_5TH_NOTICE, CONTRIBUTION_OF_SHARI, CONTRIBUTION_OF_MION, CONTRIBUTION_OF_MARYSE, MARYSES_REQUEST, CONTRIBUTION_OF_TOMA, RECEIPT_OF_BOLTER, RECEIPT_OF_CONTRIBUTION_1ST, RECEIPT_OF_CONTRIBUTION_2ND, RECEIPT_OF_CONTRIBUTION_3RD, RECEIPT_OF_CONTRIBUTION_4TH, RECEIPT_OF_CONTRIBUTION_5TH, PROCURATION_OF_TOROCCO, BRIGHTS_LIST, MANDRAGORA_PETAL, CRIMSON_MOSS, MANDRAGORA_BOUGUET, PARMANS_INSTRUCTIONS, PARMANS_LETTER, CLAY_DOUGH, PATTERN_OF_KEYHOLE, NIKOLAS_LIST, STAKATO_SHELL, TOAD_LORD_SAC, MARSH_SPIDER_THORN, CRYSTAL_BROOCH); } @Override public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) { final QuestState qs = getQuestState(player, false); if (qs == null) { return null; } String htmltext = null; switch (event) { case "ACCEPT": { if (qs.isCreated()) { qs.startQuest(); if (!hasQuestItems(player, RING_OF_TESTIMONY_1ST)) { giveItems(player, RING_OF_TESTIMONY_1ST, 1); } playSound(player, QuestSound.ITEMSOUND_QUEST_MIDDLE); if (player.getVariables().getInt("2ND_CLASS_DIAMOND_REWARD", 0) == 0) { giveItems(player, DIMENSIONAL_DIAMOND, 50); player.getVariables().set("2ND_CLASS_DIAMOND_REWARD", 1); htmltext = "30104-04e.htm"; } else { htmltext = "30104-04.htm"; } } break; } case "30104-08.html": { takeItems(player, RING_OF_TESTIMONY_1ST, 1); giveItems(player, RING_OF_TESTIMONY_2ND, 1); takeItems(player, OLD_ACCOUNT_BOOK, 1); takeItems(player, BLESSED_SEED, 1); takeItems(player, EMILYS_RECIPE, 1); takeItems(player, LILITHS_ELVEN_WAFER, 1); giveItems(player, PARMANS_LETTER, 1); qs.setCond(4, true); htmltext = event; break; } case "30104-04a.html": case "30104-04b.html": case "30104-04c.html": case "30104-04d.html": case "30104-05.html": case "30104-08a.html": case "30104-08b.html": case "30104-08c.html": case "30005-02.html": case "30005-03.html": case "30368-02.html": case "30466-02.html": case "30531-02.html": case "30620-02.html": case "30621-02.html": case "30621-03.html": { htmltext = event; break; } case "30005-04.html": { giveItems(player, CRYSTAL_BROOCH, 1); htmltext = event; break; } case "30368-03.html": { if (hasQuestItems(player, CRYSTAL_BROOCH)) { giveItems(player, LILITHS_ELVEN_WAFER, 1); takeItems(player, CRYSTAL_BROOCH, 1); if (hasQuestItems(player, OLD_ACCOUNT_BOOK, BLESSED_SEED, EMILYS_RECIPE)) { qs.setCond(2, true); } htmltext = event; } break; } case "30466-03.html": { giveItems(player, BRIGHTS_LIST, 1); htmltext = event; break; } case "30531-03.html": { giveItems(player, COLLECTION_LICENSE, 1); giveItems(player, LOCKIRINS_1ST_NOTICE, 1); giveItems(player, LOCKIRINS_2ND_NOTICE, 1); giveItems(player, LOCKIRINS_3RD_NOTICE, 1); giveItems(player, LOCKIRINS_4TH_NOTICE, 1); giveItems(player, LOCKIRINS_5TH_NOTICE, 1); htmltext = event; break; } case "30534-03a.html": { if (getQuestItemsCount(player, ADENA) < 5000) { htmltext = event; } else if (hasQuestItems(player, PROCURATION_OF_TOROCCO)) { takeItems(player, ADENA, 5000); giveItems(player, RECEIPT_OF_CONTRIBUTION_3RD, 1); takeItems(player, PROCURATION_OF_TOROCCO, 1); htmltext = "30534-03b.html"; } break; } case "30555-02.html": { giveItems(player, PROCURATION_OF_TOROCCO, 1); htmltext = event; break; } case "30597-02.html": { giveItems(player, BLESSED_SEED, 1); if (hasQuestItems(player, OLD_ACCOUNT_BOOK, EMILYS_RECIPE, LILITHS_ELVEN_WAFER)) { qs.setCond(2, true); } htmltext = event; break; } case "30620-03.html": { if (hasQuestItems(player, MANDRAGORA_BOUGUET)) { giveItems(player, EMILYS_RECIPE, 1); takeItems(player, MANDRAGORA_BOUGUET, 1); if (hasQuestItems(player, OLD_ACCOUNT_BOOK, BLESSED_SEED, LILITHS_ELVEN_WAFER)) { qs.setCond(2, true); } htmltext = event; } break; } case "30621-04.html": { giveItems(player, CLAY_DOUGH, 1); qs.setCond(5, true); htmltext = event; break; } case "30622-02.html": { if (hasQuestItems(player, CLAY_DOUGH)) { takeItems(player, CLAY_DOUGH, 1); giveItems(player, PATTERN_OF_KEYHOLE, 1); qs.setCond(6, true); htmltext = event; } break; } case "30622-04.html": { if (hasQuestItems(player, KEY_OF_TITAN)) { takeItems(player, KEY_OF_TITAN, 1); giveItems(player, MAPHR_TABLET_FRAGMENT, 1); takeItems(player, NIKOLAS_LIST, 1); takeItems(player, RECIPE_TITAN_KEY, 1); takeItems(player, STAKATO_SHELL, -1); takeItems(player, TOAD_LORD_SAC, -1); takeItems(player, MARSH_SPIDER_THORN, -1); qs.setCond(9, true); htmltext = event; } break; } } return htmltext; } @Override public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) { final QuestState qs = getQuestState(killer, false); if ((qs != null) && qs.isStarted() && Util.checkIfInRange(1500, npc, killer, true)) { switch (npc.getId()) { case MANDRAGORA_SPROUT1: case MANDRAGORA_SAPLING: case MANDRAGORA_BLOSSOM: case MANDRAGORA_SPROUT2: { if (hasQuestItems(killer, RING_OF_TESTIMONY_1ST, BRIGHTS_LIST) && !hasQuestItems(killer, EMILYS_RECIPE)) { if ((getQuestItemsCount(killer, MANDRAGORA_PETAL) < 20)) { giveItems(killer, MANDRAGORA_PETAL, 1); if (getQuestItemsCount(killer, MANDRAGORA_PETAL) == 20) { playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE); } else { playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET); } } } break; } case MARSH_STAKATO: case MARSH_STAKATO_WORKER: case MARSH_STAKATO_SOLDIER: case MARSH_STAKATO_DRONE: { if (hasQuestItems(killer, RING_OF_TESTIMONY_2ND, NIKOLAS_LIST) && !hasAtLeastOneQuestItem(killer, CLAY_DOUGH, PATTERN_OF_KEYHOLE)) { if ((getQuestItemsCount(killer, STAKATO_SHELL) < 20)) { giveItems(killer, STAKATO_SHELL, 1); if (getQuestItemsCount(killer, STAKATO_SHELL) == 20) { playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE); if ((getQuestItemsCount(killer, TOAD_LORD_SAC) >= 10) && (getQuestItemsCount(killer, MARSH_SPIDER_THORN) >= 10)) { qs.setCond(8); } } else { playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET); } } } break; } case GIANT_CRIMSON_ANT: { if (hasQuestItems(killer, RING_OF_TESTIMONY_1ST, BRIGHTS_LIST) && !hasQuestItems(killer, EMILYS_RECIPE)) { if ((getQuestItemsCount(killer, CRIMSON_MOSS) < 10)) { giveItems(killer, CRIMSON_MOSS, 1); if (getQuestItemsCount(killer, CRIMSON_MOSS) == 10) { playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE); } else { playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET); } } } break; } case TOAD_LORD: { if (hasQuestItems(killer, RING_OF_TESTIMONY_2ND, NIKOLAS_LIST) && !hasAtLeastOneQuestItem(killer, CLAY_DOUGH, PATTERN_OF_KEYHOLE)) { if ((getQuestItemsCount(killer, TOAD_LORD_SAC) < 10)) { giveItems(killer, TOAD_LORD_SAC, 1); if (getQuestItemsCount(killer, TOAD_LORD_SAC) == 10) { playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE); if ((getQuestItemsCount(killer, STAKATO_SHELL) >= 20) && (getQuestItemsCount(killer, MARSH_SPIDER_THORN) >= 10)) { qs.setCond(8); } } else { playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET); } } } break; } case MARSH_SPIDER: { if (hasQuestItems(killer, RING_OF_TESTIMONY_2ND, NIKOLAS_LIST) && !hasAtLeastOneQuestItem(killer, CLAY_DOUGH, PATTERN_OF_KEYHOLE)) { if ((getQuestItemsCount(killer, MARSH_SPIDER_THORN) < 10)) { giveItems(killer, MARSH_SPIDER_THORN, 1); if (getQuestItemsCount(killer, MARSH_SPIDER_THORN) == 10) { playSound(killer, QuestSound.ITEMSOUND_QUEST_MIDDLE); if ((getQuestItemsCount(killer, STAKATO_SHELL) >= 20) && (getQuestItemsCount(killer, TOAD_LORD_SAC) >= 10)) { qs.setCond(8); } } else { playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET); } } } break; } } } return super.onKill(npc, killer, isSummon); } @Override public String onTalk(L2Npc npc, L2PcInstance player) { final QuestState qs = getQuestState(player, true); String htmltext = getNoQuestMsg(player); if (qs.isCreated()) { if (npc.getId() == WAREHOUSE_KEEPER_PARMAN) { if ((player.getRace() == Race.DWARF) && (player.getLevel() >= MIN_LEVEL) && player.isInCategory(CategoryType.DWARF_2ND_GROUP)) { htmltext = "30104-03.htm"; } else if ((player.getRace() == Race.DWARF) && (player.getLevel() >= MIN_LEVEL)) { htmltext = "30104-01a.html"; } else if ((player.getRace() == Race.DWARF)) { htmltext = "30104-02.html"; } else { htmltext = "30104-01.html"; } } } else if (qs.isStarted()) { switch (npc.getId()) { case WAREHOUSE_KEEPER_PARMAN: { if (hasQuestItems(player, RING_OF_TESTIMONY_1ST)) { if (hasQuestItems(player, OLD_ACCOUNT_BOOK, BLESSED_SEED, EMILYS_RECIPE, LILITHS_ELVEN_WAFER)) { htmltext = "30104-06.html"; } else { htmltext = "30104-05.html"; } } else if (hasQuestItems(player, PARMANS_INSTRUCTIONS)) { takeItems(player, PARMANS_INSTRUCTIONS, 1); giveItems(player, RING_OF_TESTIMONY_2ND, 1); giveItems(player, PARMANS_LETTER, 1); qs.setCond(4, true); htmltext = "30104-10.html"; } else if (hasQuestItems(player, RING_OF_TESTIMONY_2ND)) { if (hasQuestItems(player, PARMANS_LETTER)) { htmltext = "30104-11.html"; } else if (hasAtLeastOneQuestItem(player, CLAY_DOUGH, PATTERN_OF_KEYHOLE, NIKOLAS_LIST)) { htmltext = "30104-12.html"; } else if (hasQuestItems(player, MAPHR_TABLET_FRAGMENT)) { giveAdena(player, 217682, true); giveItems(player, MARK_OF_PROSPERITY, 1); addExpAndSp(player, 1199958, 80080); qs.exitQuest(false, true); player.sendPacket(new SocialAction(player.getObjectId(), 3)); htmltext = "30104-13.html"; } } break; } case WAREHOUSE_KEEPER_WILFORD: { if (hasQuestItems(player, RING_OF_TESTIMONY_1ST)) { if (!hasAtLeastOneQuestItem(player, LILITHS_ELVEN_WAFER, CRYSTAL_BROOCH)) { htmltext = "30005-01.html"; } else if (hasQuestItems(player, CRYSTAL_BROOCH) && !hasQuestItems(player, LILITHS_ELVEN_WAFER)) { htmltext = "30005-05.html"; } else if (hasQuestItems(player, LILITHS_ELVEN_WAFER)) { htmltext = "30005-06.html"; } } else if (hasQuestItems(player, RING_OF_TESTIMONY_2ND)) { htmltext = "30005-07.html"; } break; } case LILITH: { if (hasQuestItems(player, RING_OF_TESTIMONY_1ST)) { if (hasQuestItems(player, CRYSTAL_BROOCH) && !hasQuestItems(player, LILITHS_ELVEN_WAFER)) { htmltext = "30368-01.html"; } else { htmltext = "30368-04.html"; } } else if (hasQuestItems(player, RING_OF_TESTIMONY_2ND)) { htmltext = "30368-05.html"; } break; } case GUARD_BRIGHT: { if (hasQuestItems(player, RING_OF_TESTIMONY_1ST)) { if (!hasAtLeastOneQuestItem(player, EMILYS_RECIPE, BRIGHTS_LIST, MANDRAGORA_BOUGUET)) { htmltext = "30466-01.html"; } else if (hasQuestItems(player, BRIGHTS_LIST) && !hasQuestItems(player, EMILYS_RECIPE)) { if ((getQuestItemsCount(player, MANDRAGORA_PETAL) < 20) || (getQuestItemsCount(player, CRIMSON_MOSS) < 10)) { htmltext = "30466-04.html"; } else { takeItems(player, BRIGHTS_LIST, 1); takeItems(player, MANDRAGORA_PETAL, -1); takeItems(player, CRIMSON_MOSS, -1); giveItems(player, MANDRAGORA_BOUGUET, 1); htmltext = "30466-05.html"; } } else if (hasQuestItems(player, MANDRAGORA_BOUGUET) && !hasAtLeastOneQuestItem(player, EMILYS_RECIPE, BRIGHTS_LIST)) { htmltext = "30466-06.html"; } else if (hasQuestItems(player, EMILYS_RECIPE)) { htmltext = "30466-07.html"; } } else if (hasQuestItems(player, RING_OF_TESTIMONY_2ND)) { htmltext = "30466-08.html"; } break; } case TRADER_SHARI: { if (hasQuestItems(player, RING_OF_TESTIMONY_1ST, COLLECTION_LICENSE)) { if (!hasAtLeastOneQuestItem(player, RECEIPT_OF_CONTRIBUTION_1ST, CONTRIBUTION_OF_SHARI, LOCKIRINS_1ST_NOTICE)) { giveItems(player, CONTRIBUTION_OF_SHARI, 1); htmltext = "30517-01.html"; } else if (hasQuestItems(player, CONTRIBUTION_OF_SHARI) && !hasAtLeastOneQuestItem(player, LOCKIRINS_1ST_NOTICE, RECEIPT_OF_CONTRIBUTION_1ST)) { htmltext = "30517-02.html"; } } break; } case TRADER_MION: { if (hasQuestItems(player, RING_OF_TESTIMONY_1ST, COLLECTION_LICENSE)) { if (!hasAtLeastOneQuestItem(player, RECEIPT_OF_CONTRIBUTION_2ND, CONTRIBUTION_OF_MION, LOCKIRINS_2ND_NOTICE)) { giveItems(player, CONTRIBUTION_OF_MION, 1); htmltext = "30519-01.html"; } else if (hasQuestItems(player, CONTRIBUTION_OF_MION) && !hasAtLeastOneQuestItem(player, LOCKIRINS_2ND_NOTICE, RECEIPT_OF_CONTRIBUTION_2ND)) { htmltext = "30519-02.html"; } } break; } case IRON_GATES_LOCKIRIN: { if (hasQuestItems(player, RING_OF_TESTIMONY_1ST)) { if (!hasAtLeastOneQuestItem(player, COLLECTION_LICENSE, OLD_ACCOUNT_BOOK)) { htmltext = "30531-01.html"; } else if (hasQuestItems(player, COLLECTION_LICENSE)) { if (hasQuestItems(player, RECEIPT_OF_CONTRIBUTION_1ST, RECEIPT_OF_CONTRIBUTION_2ND, RECEIPT_OF_CONTRIBUTION_3RD, RECEIPT_OF_CONTRIBUTION_4TH, RECEIPT_OF_CONTRIBUTION_5TH)) { giveItems(player, OLD_ACCOUNT_BOOK, 1); takeItems(player, COLLECTION_LICENSE, 1); takeItems(player, RECEIPT_OF_CONTRIBUTION_1ST, 1); takeItems(player, RECEIPT_OF_CONTRIBUTION_2ND, 1); takeItems(player, RECEIPT_OF_CONTRIBUTION_3RD, 1); takeItems(player, RECEIPT_OF_CONTRIBUTION_4TH, 1); takeItems(player, RECEIPT_OF_CONTRIBUTION_5TH, 1); playSound(player, QuestSound.ITEMSOUND_QUEST_MIDDLE); if (hasQuestItems(player, BLESSED_SEED, EMILYS_RECIPE, LILITHS_ELVEN_WAFER)) { qs.setCond(2, true); } htmltext = "30531-05.html"; } else { htmltext = "30531-04.html"; } } else if (hasQuestItems(player, OLD_ACCOUNT_BOOK) && !hasQuestItems(player, COLLECTION_LICENSE)) { htmltext = "30531-06.html"; } } else if (hasQuestItems(player, RING_OF_TESTIMONY_2ND)) { htmltext = "30531-07.html"; } break; } case GOLDEN_WHEELS_SPIRON: { if (hasQuestItems(player, RING_OF_TESTIMONY_1ST, COLLECTION_LICENSE)) { if (hasQuestItems(player, LOCKIRINS_1ST_NOTICE) && !hasAtLeastOneQuestItem(player, CONTRIBUTION_OF_SHARI, RECEIPT_OF_CONTRIBUTION_1ST)) { takeItems(player, LOCKIRINS_1ST_NOTICE, 1); htmltext = "30532-01.html"; } else if (!hasAtLeastOneQuestItem(player, RECEIPT_OF_CONTRIBUTION_1ST, CONTRIBUTION_OF_SHARI, LOCKIRINS_1ST_NOTICE)) { htmltext = "30532-02.html"; } else if (hasQuestItems(player, CONTRIBUTION_OF_SHARI) && !hasAtLeastOneQuestItem(player, RECEIPT_OF_CONTRIBUTION_1ST, LOCKIRINS_1ST_NOTICE)) { takeItems(player, CONTRIBUTION_OF_SHARI, 1); giveItems(player, RECEIPT_OF_CONTRIBUTION_1ST, 1); htmltext = "30532-03.html"; } else if (hasQuestItems(player, RECEIPT_OF_CONTRIBUTION_1ST) && !hasAtLeastOneQuestItem(player, CONTRIBUTION_OF_SHARI, LOCKIRINS_1ST_NOTICE)) { htmltext = "30532-04.html"; } } break; } case SILVER_SCALES_BALANKI: { if (hasQuestItems(player, RING_OF_TESTIMONY_1ST, COLLECTION_LICENSE)) { if (hasQuestItems(player, LOCKIRINS_2ND_NOTICE) && !hasQuestItems(player, RECEIPT_OF_CONTRIBUTION_2ND) && ((getQuestItemsCount(player, CONTRIBUTION_OF_MION) + getQuestItemsCount(player, CONTRIBUTION_OF_MARYSE)) < 2)) { takeItems(player, LOCKIRINS_2ND_NOTICE, 1); htmltext = "30533-01.html"; } else if (!hasAtLeastOneQuestItem(player, LOCKIRINS_2ND_NOTICE, RECEIPT_OF_CONTRIBUTION_2ND) && ((getQuestItemsCount(player, CONTRIBUTION_OF_MION) + getQuestItemsCount(player, CONTRIBUTION_OF_MARYSE)) < 2)) { htmltext = "30533-02.html"; } else if (!hasAtLeastOneQuestItem(player, LOCKIRINS_2ND_NOTICE, RECEIPT_OF_CONTRIBUTION_2ND) && hasQuestItems(player, CONTRIBUTION_OF_MION, CONTRIBUTION_OF_MARYSE)) { takeItems(player, CONTRIBUTION_OF_MION, 1); takeItems(player, CONTRIBUTION_OF_MARYSE, 1); giveItems(player, RECEIPT_OF_CONTRIBUTION_2ND, 1); htmltext = "30533-03.html"; } else if (!hasQuestItems(player, LOCKIRINS_2ND_NOTICE) && hasQuestItems(player, RECEIPT_OF_CONTRIBUTION_2ND) && !hasQuestItems(player, CONTRIBUTION_OF_MION, CONTRIBUTION_OF_MARYSE)) { htmltext = "30533-04.html"; } } break; } case BRONZE_KEYS_KEEF: { if (hasQuestItems(player, RING_OF_TESTIMONY_1ST, COLLECTION_LICENSE)) { if (hasQuestItems(player, LOCKIRINS_3RD_NOTICE) && !hasAtLeastOneQuestItem(player, RECEIPT_OF_CONTRIBUTION_3RD, PROCURATION_OF_TOROCCO)) { takeItems(player, LOCKIRINS_3RD_NOTICE, 1); htmltext = "30534-01.html"; } else if (!hasAtLeastOneQuestItem(player, RECEIPT_OF_CONTRIBUTION_3RD, PROCURATION_OF_TOROCCO, LOCKIRINS_3RD_NOTICE)) { htmltext = "30534-02.html"; } else if (hasQuestItems(player, PROCURATION_OF_TOROCCO) && !hasAtLeastOneQuestItem(player, LOCKIRINS_3RD_NOTICE, RECEIPT_OF_CONTRIBUTION_3RD)) { htmltext = "30534-03.html"; } else if (hasQuestItems(player, RECEIPT_OF_CONTRIBUTION_3RD) && !hasAtLeastOneQuestItem(player, PROCURATION_OF_TOROCCO, LOCKIRINS_3RD_NOTICE)) { htmltext = "30534-04.html"; } } break; } case GRAY_PILLAR_MEMBER_FILAUR: { if (hasQuestItems(player, RING_OF_TESTIMONY_1ST, COLLECTION_LICENSE)) { if (hasQuestItems(player, LOCKIRINS_4TH_NOTICE) && !hasAtLeastOneQuestItem(player, RECEIPT_OF_CONTRIBUTION_4TH, RECEIPT_OF_BOLTER)) { takeItems(player, LOCKIRINS_4TH_NOTICE, 1); htmltext = "30535-01.html"; } else if (!hasAtLeastOneQuestItem(player, RECEIPT_OF_CONTRIBUTION_4TH, RECEIPT_OF_BOLTER, LOCKIRINS_4TH_NOTICE)) { htmltext = "30535-02.html"; } else if (hasQuestItems(player, RECEIPT_OF_BOLTER) && !hasAtLeastOneQuestItem(player, RECEIPT_OF_CONTRIBUTION_4TH, LOCKIRINS_4TH_NOTICE)) { takeItems(player, RECEIPT_OF_BOLTER, 1); giveItems(player, RECEIPT_OF_CONTRIBUTION_4TH, 1); htmltext = "30535-03.html"; } else if (hasQuestItems(player, RECEIPT_OF_CONTRIBUTION_4TH) && !hasAtLeastOneQuestItem(player, RECEIPT_OF_BOLTER, LOCKIRINS_4TH_NOTICE)) { htmltext = "30535-04.html"; } } break; } case BLACK_ANVILS_ARIN: { if (hasQuestItems(player, RING_OF_TESTIMONY_1ST, COLLECTION_LICENSE)) { if (hasQuestItems(player, LOCKIRINS_5TH_NOTICE) && !hasAtLeastOneQuestItem(player, RECEIPT_OF_CONTRIBUTION_5TH, CONTRIBUTION_OF_TOMA)) { takeItems(player, LOCKIRINS_5TH_NOTICE, 1); htmltext = "30536-01.html"; } else if (!hasAtLeastOneQuestItem(player, RECEIPT_OF_CONTRIBUTION_5TH, CONTRIBUTION_OF_TOMA, LOCKIRINS_5TH_NOTICE)) { htmltext = "30536-02.html"; } else if (hasQuestItems(player, CONTRIBUTION_OF_TOMA) && !hasAtLeastOneQuestItem(player, RECEIPT_OF_CONTRIBUTION_5TH, LOCKIRINS_5TH_NOTICE)) { takeItems(player, CONTRIBUTION_OF_TOMA, 1); giveItems(player, RECEIPT_OF_CONTRIBUTION_5TH, 1); htmltext = "30536-03.html"; } else if (hasQuestItems(player, RECEIPT_OF_CONTRIBUTION_5TH) && !hasAtLeastOneQuestItem(player, CONTRIBUTION_OF_TOMA, LOCKIRINS_5TH_NOTICE)) { htmltext = "30536-04.html"; } } break; } case MARYSE_REDBONNET: { if (hasQuestItems(player, RING_OF_TESTIMONY_1ST, COLLECTION_LICENSE)) { if (!hasAtLeastOneQuestItem(player, RECEIPT_OF_CONTRIBUTION_2ND, CONTRIBUTION_OF_MARYSE, LOCKIRINS_2ND_NOTICE, MARYSES_REQUEST)) { giveItems(player, MARYSES_REQUEST, 1); htmltext = "30553-01.html"; } else if (hasQuestItems(player, MARYSES_REQUEST) && !hasAtLeastOneQuestItem(player, RECEIPT_OF_CONTRIBUTION_2ND, CONTRIBUTION_OF_MARYSE, LOCKIRINS_2ND_NOTICE)) { if (getQuestItemsCount(player, ANIMAL_SKIN) < 10) { htmltext = "30553-02.html"; } else { takeItems(player, ANIMAL_SKIN, 10); giveItems(player, CONTRIBUTION_OF_MARYSE, 1); takeItems(player, MARYSES_REQUEST, 1); htmltext = "30553-03.html"; } } else if (hasQuestItems(player, CONTRIBUTION_OF_MARYSE) && !hasAtLeastOneQuestItem(player, RECEIPT_OF_CONTRIBUTION_2ND, LOCKIRINS_2ND_NOTICE, MARYSES_REQUEST)) { htmltext = "30553-04.html"; } } break; } case MINER_BOLTER: { if (hasQuestItems(player, RING_OF_TESTIMONY_1ST, COLLECTION_LICENSE)) { if (!hasAtLeastOneQuestItem(player, RECEIPT_OF_CONTRIBUTION_4TH, RECEIPT_OF_BOLTER, LOCKIRINS_4TH_NOTICE)) { giveItems(player, RECEIPT_OF_BOLTER, 1); htmltext = "30554-01.html"; } else if (hasQuestItems(player, RECEIPT_OF_BOLTER) && !hasAtLeastOneQuestItem(player, RECEIPT_OF_CONTRIBUTION_4TH, LOCKIRINS_4TH_NOTICE)) { htmltext = "30554-02.html"; } } break; } case CARRIER_TOROCCO: { if (hasQuestItems(player, RING_OF_TESTIMONY_1ST, COLLECTION_LICENSE)) { if (!hasAtLeastOneQuestItem(player, RECEIPT_OF_CONTRIBUTION_3RD, PROCURATION_OF_TOROCCO, LOCKIRINS_3RD_NOTICE)) { htmltext = "30555-01.html"; } else if (hasQuestItems(player, PROCURATION_OF_TOROCCO) && !hasAtLeastOneQuestItem(player, RECEIPT_OF_CONTRIBUTION_3RD, LOCKIRINS_3RD_NOTICE)) { htmltext = "30555-03.html"; } } break; } case MASTER_TOMA: { if (hasQuestItems(player, RING_OF_TESTIMONY_1ST, COLLECTION_LICENSE)) { if (!hasAtLeastOneQuestItem(player, RECEIPT_OF_CONTRIBUTION_5TH, CONTRIBUTION_OF_TOMA, LOCKIRINS_5TH_NOTICE)) { giveItems(player, CONTRIBUTION_OF_TOMA, 1); htmltext = "30556-01.html"; } else if (hasQuestItems(player, CONTRIBUTION_OF_TOMA) && !hasAtLeastOneQuestItem(player, RECEIPT_OF_CONTRIBUTION_5TH, LOCKIRINS_5TH_NOTICE)) { htmltext = "30556-02.html"; } } break; } case PIOTUR: { if (hasQuestItems(player, RING_OF_TESTIMONY_1ST)) { if (!hasQuestItems(player, BLESSED_SEED)) { htmltext = "30597-01.html"; } else { htmltext = "30597-03.html"; } } else if (hasQuestItems(player, RING_OF_TESTIMONY_2ND)) { htmltext = "30597-04.html"; } break; } case EMILY: { if (hasQuestItems(player, RING_OF_TESTIMONY_1ST)) { if (hasQuestItems(player, MANDRAGORA_BOUGUET) && !hasAtLeastOneQuestItem(player, EMILYS_RECIPE, BRIGHTS_LIST)) { htmltext = "30620-01.html"; } else if (hasQuestItems(player, EMILYS_RECIPE)) { htmltext = "30620-04.html"; } } else if (hasQuestItems(player, RING_OF_TESTIMONY_2ND)) { htmltext = "30620-05.html"; } break; } case MAESTRO_NIKOLA: { if (hasQuestItems(player, RING_OF_TESTIMONY_2ND)) { if (!hasAtLeastOneQuestItem(player, CLAY_DOUGH, PATTERN_OF_KEYHOLE, NIKOLAS_LIST, MAPHR_TABLET_FRAGMENT)) { takeItems(player, PARMANS_LETTER, 1); htmltext = "30621-01.html"; } else if (hasQuestItems(player, CLAY_DOUGH) && !hasAtLeastOneQuestItem(player, PATTERN_OF_KEYHOLE, NIKOLAS_LIST, MAPHR_TABLET_FRAGMENT)) { htmltext = "30621-05.html"; } else if (hasQuestItems(player, PATTERN_OF_KEYHOLE) && !hasAtLeastOneQuestItem(player, CLAY_DOUGH, NIKOLAS_LIST, MAPHR_TABLET_FRAGMENT)) { giveItems(player, RECIPE_TITAN_KEY, 1); takeItems(player, PATTERN_OF_KEYHOLE, 1); giveItems(player, NIKOLAS_LIST, 1); qs.setCond(7, true); htmltext = "30621-06.html"; } else if (hasQuestItems(player, NIKOLAS_LIST) && !hasAtLeastOneQuestItem(player, CLAY_DOUGH, PATTERN_OF_KEYHOLE, MAPHR_TABLET_FRAGMENT, KEY_OF_TITAN)) { htmltext = "30621-07.html"; } else if (hasQuestItems(player, NIKOLAS_LIST, KEY_OF_TITAN) && !hasAtLeastOneQuestItem(player, CLAY_DOUGH, PATTERN_OF_KEYHOLE, MAPHR_TABLET_FRAGMENT)) { htmltext = "30621-08.html"; } else if (hasQuestItems(player, MAPHR_TABLET_FRAGMENT) && !hasAtLeastOneQuestItem(player, CLAY_DOUGH, PATTERN_OF_KEYHOLE, NIKOLAS_LIST)) { htmltext = "30621-09.html"; } } break; } case BOX_OF_TITAN: { if (hasQuestItems(player, RING_OF_TESTIMONY_2ND)) { if (hasQuestItems(player, CLAY_DOUGH) && !hasQuestItems(player, PATTERN_OF_KEYHOLE)) { htmltext = "30622-01.html"; } else if (hasQuestItems(player, KEY_OF_TITAN) && !hasQuestItems(player, MAPHR_TABLET_FRAGMENT)) { htmltext = "30622-03.html"; } else if (!hasAtLeastOneQuestItem(player, KEY_OF_TITAN, CLAY_DOUGH)) { htmltext = "30622-05.html"; } } break; } } } else if (qs.isCompleted()) { if (npc.getId() == WAREHOUSE_KEEPER_PARMAN) { htmltext = getAlreadyCompletedMsg(player); } } return htmltext; } }