Q146_TheZeroHour.java 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. package quests.Q146_TheZeroHour;
  2. import com.l2jserver.gameserver.model.actor.L2Npc;
  3. import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
  4. import com.l2jserver.gameserver.model.quest.Quest;
  5. import com.l2jserver.gameserver.model.quest.QuestState;
  6. import com.l2jserver.gameserver.model.quest.State;
  7. /**
  8. * The Zero Hour (146)
  9. * @author Gnacik, malyelfik
  10. */
  11. public class Q146_TheZeroHour extends Quest
  12. {
  13. private static final String qn = "146_TheZeroHour";
  14. // Npc
  15. private static final int Kahman = 31554;
  16. private static final int QueenShyeed = 25671;
  17. // Item
  18. private static final int Fang = 14859;
  19. @Override
  20. public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
  21. {
  22. String htmltext = event;
  23. QuestState st = player.getQuestState(qn);
  24. if (st == null)
  25. return getNoQuestMsg(player);
  26. if (event.equalsIgnoreCase("31554-03.htm"))
  27. {
  28. st.set("cond", "1");
  29. st.setState(State.STARTED);
  30. st.playSound("ItemSound.quest_accept");
  31. }
  32. return htmltext;
  33. }
  34. @Override
  35. public String onTalk(L2Npc npc, L2PcInstance player)
  36. {
  37. String htmltext = getNoQuestMsg(player);
  38. QuestState st = player.getQuestState(qn);
  39. QuestState prev = player.getQuestState("109_InSearchOfTheNest");
  40. if (st == null)
  41. return htmltext;
  42. switch (st.getState())
  43. {
  44. case State.CREATED:
  45. if (player.getLevel() < 81)
  46. htmltext = "31554-02.htm";
  47. else
  48. {
  49. if (prev != null && prev.getState() == State.COMPLETED)
  50. htmltext = "31554-01a.htm";
  51. else
  52. htmltext = "31554-04.html";
  53. }
  54. break;
  55. case State.STARTED:
  56. if (st.getInt("cond") == 1)
  57. htmltext = "31554-06.html";
  58. else
  59. {
  60. st.giveItems(14849, 1);
  61. st.addExpAndSp(154616, 12500);
  62. st.takeItems(Fang, 1);
  63. st.exitQuest(false);
  64. st.playSound("ItemSound.quest_finish");
  65. htmltext = "31554-05.html";
  66. }
  67. break;
  68. case State.COMPLETED:
  69. htmltext = "31554-01b.htm";
  70. break;
  71. }
  72. return htmltext;
  73. }
  74. @Override
  75. public String onKill(L2Npc npc, L2PcInstance player, boolean isPet)
  76. {
  77. L2PcInstance partyMember = getRandomPartyMember(player, "1");
  78. if (partyMember == null)
  79. return null;
  80. QuestState st = partyMember.getQuestState(qn);
  81. if (st.getQuestItemsCount(Fang) < 1)
  82. {
  83. st.giveItems(Fang, 1);
  84. st.set("cond", "2");
  85. st.playSound("ItemSound.quest_middle");
  86. }
  87. return null;
  88. }
  89. public Q146_TheZeroHour(int questId, String name, String descr)
  90. {
  91. super(questId, name, descr);
  92. addStartNpc(Kahman);
  93. addTalkId(Kahman);
  94. addKillId(QueenShyeed);
  95. questItemIds = new int[] { Fang };
  96. }
  97. public static void main(String[] args)
  98. {
  99. new Q146_TheZeroHour(146, qn, "The Zero Hour");
  100. }
  101. }