TheValentineEvent.java 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. /*
  2. * Copyright (C) 2004-2014 L2J DataPack
  3. *
  4. * This file is part of L2J DataPack.
  5. *
  6. * L2J DataPack is free software: you can redistribute it and/or modify
  7. * it under the terms of the GNU General Public License as published by
  8. * the Free Software Foundation, either version 3 of the License, or
  9. * (at your option) any later version.
  10. *
  11. * L2J DataPack is distributed in the hope that it will be useful,
  12. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  14. * General Public License for more details.
  15. *
  16. * You should have received a copy of the GNU General Public License
  17. * along with this program. If not, see <http://www.gnu.org/licenses/>.
  18. */
  19. package events.TheValentineEvent;
  20. import com.l2jserver.gameserver.enums.QuestSound;
  21. import com.l2jserver.gameserver.model.actor.L2Npc;
  22. import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
  23. import com.l2jserver.gameserver.model.event.LongTimeEvent;
  24. import com.l2jserver.gameserver.model.quest.QuestState;
  25. import com.l2jserver.gameserver.model.quest.State;
  26. /**
  27. * The Valentine Event event AI.
  28. * @author Gnacik
  29. */
  30. public final class TheValentineEvent extends LongTimeEvent
  31. {
  32. // NPC
  33. private static final int NPC = 4301;
  34. // Item
  35. private static final int RECIPE = 20191;
  36. private TheValentineEvent()
  37. {
  38. super(TheValentineEvent.class.getSimpleName(), "events");
  39. addStartNpc(NPC);
  40. addFirstTalkId(NPC);
  41. addTalkId(NPC);
  42. }
  43. @Override
  44. public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
  45. {
  46. final QuestState st = player.getQuestState(getName());
  47. if (st == null)
  48. {
  49. return getNoQuestMsg(player);
  50. }
  51. String htmltext = event;
  52. if (event.equalsIgnoreCase("4301-3.htm"))
  53. {
  54. if (st.isCompleted())
  55. {
  56. htmltext = "4301-4.htm";
  57. }
  58. else
  59. {
  60. st.giveItems(RECIPE, 1);
  61. st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET);
  62. st.setState(State.COMPLETED);
  63. }
  64. }
  65. return htmltext;
  66. }
  67. @Override
  68. public String onFirstTalk(L2Npc npc, L2PcInstance player)
  69. {
  70. if (player.getQuestState(getName()) == null)
  71. {
  72. newQuestState(player);
  73. }
  74. return npc.getId() + ".htm";
  75. }
  76. public static void main(String[] args)
  77. {
  78. new TheValentineEvent();
  79. }
  80. }