123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980 |
- /*
- * 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 <http://www.gnu.org/licenses/>.
- */
- 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;
- }
- }
|