@Override public String onKill(L2Npc npc, L2PcInstance killer, boolean isPet) { QuestState st = killer.getQuestState(getClass()); if (npc == null || st == null) { return null; } if (st.getCond() == 1) { if (ArrayUtils.contains(ДревниеГерои, npc.getNpcId())) { if (killer.getParty() == null) { st.giveItem(ПроклятаяСлизь); st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); if (st.getQuestItemsCount(ПроклятаяСлизь) >= 8) { st.setCond(2); st.playSound(QuestSound.ITEMSOUND_QUEST_MIDDLE); } } else { QuestState pst = killer.getParty().getRandomPartyMember().getQuestState(getClass()); if (pst != null && pst.getCond() == 1) { pst.giveItem(ПроклятаяСлизь); pst.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); if (pst.getQuestItemsCount(ПроклятаяСлизь) >= 8) { pst.setCond(2); pst.playSound(QuestSound.ITEMSOUND_QUEST_MIDDLE); } } } } } return super.onKill(npc, killer, isPet); }
@Override public String onAsk(L2PcInstance player, L2Npc npc, QuestState st, int reply) { if (st == null) { return null; } int cond = st.getCond(); int npcId = npc.getNpcId(); switch (npcId) { case ELIYAH: if (reply == 1) { return "priest_eliyah_q10388_05.htm"; } if (reply == 5) { return "priest_eliyah_q10388_06.htm"; } if (reply == 6) { return "priest_eliyah_q10388_07.htm"; } break; case KARGOS: if (reply == 1) { return "kargos_q10388_03.htm"; } if (reply == 2) { return "kargos_q10388_04.htm"; } if (reply == 3 && cond == 1) { st.setCond(2); st.playSound(QuestSound.ITEMSOUND_QUEST_MIDDLE); return "kargos_q10388_05.htm"; } break; case KITCHEN: if (reply == 1 && cond == 2) { st.setCond(3); st.giveItem(VISITOR_BADGE); st.playSound(QuestSound.ITEMSOUND_QUEST_MIDDLE); return "kitchen_q10388_02.htm"; } break; case RAZEN: if (reply == 1) { return "razen_q10388_02.htm"; } if (reply == 2 && cond == 3) { st.takeItems(VISITOR_BADGE, -1); st.addExpAndSp(29638350, 7113); st.giveAdena(65136, true); st.exitQuest(QuestType.ONE_TIME); st.playSound(QuestSound.ITEMSOUND_QUEST_FINISH); return "razen_q10388_03.htm"; } break; } return getNoQuestMsg(st.getPlayer()); }
@Override public String onTalk(L2Npc npc, QuestState st) { if (st == null) { return null; } int cond = st.getCond(); switch (npc.getNpcId()) { case ELIYAH: if (st.isCompleted()) { return "priest_eliyah_q10388_03.htm"; } if (st.isCreated()) { if (st.getPlayer().getLevel() >= 97 && !st.isCompleted()) { return "priest_eliyah_q10388_01.htm"; } else { st.exitQuest(QuestType.REPEATABLE); return "priest_eliyah_q10388_02.htm"; } } if (cond >= 1) { return "priest_eliyah_q10388_09.htm"; } break; case KARGOS: if (cond == 1) { return "kargos_q10388_02.htm"; } if (cond >= 2) { return "kargos_q10388_06.htm"; } break; case KITCHEN: if (cond == 2) { return "kitchen_q10388_01.htm"; } if (cond == 3 && !st.getPlayer().getInventory().hasItems(VISITOR_BADGE)) { st.giveItem(VISITOR_BADGE); return "kitchen_q10388_03.htm"; } if (cond == 3) { return "kitchen_q10388_04.htm"; } break; case RAZEN: if (st.isCompleted()) { return getAlreadyCompletedMsg(st.getPlayer(), QuestType.ONE_TIME); } if (cond == 3) { return "razen_q10388_01.htm"; } break; } return getNoQuestMsg(st.getPlayer()); }