QuestItems.java 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. /**
  2. *
  3. */
  4. package handlers.itemhandlers;
  5. import com.l2jserver.gameserver.handler.IItemHandler;
  6. import com.l2jserver.gameserver.model.actor.L2Playable;
  7. import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
  8. import com.l2jserver.gameserver.model.item.L2Item;
  9. import com.l2jserver.gameserver.model.item.instance.L2ItemInstance;
  10. import com.l2jserver.gameserver.model.quest.Quest;
  11. import com.l2jserver.gameserver.model.quest.QuestState;
  12. /**
  13. * @author BiggBoss
  14. *
  15. */
  16. public class QuestItems implements IItemHandler
  17. {
  18. /* (non-Javadoc)
  19. * @see com.l2jserver.gameserver.handler.IItemHandler#useItem(com.l2jserver.gameserver.model.actor.L2Playable, com.l2jserver.gameserver.model.L2ItemInstance)
  20. */
  21. @Override
  22. public void useItem(L2Playable playable, L2ItemInstance item, boolean forceuse)
  23. {
  24. if(!(playable instanceof L2PcInstance))
  25. return;
  26. L2PcInstance player = (L2PcInstance) playable;
  27. if(!player.destroyItem("Item Handler - QuestItems", item, player, true))
  28. return;
  29. L2Item itm = item.getItem();
  30. for(Quest quest : itm.getQuestEvents())
  31. {
  32. QuestState state = player.getQuestState(quest.getName());
  33. if(state == null || !state.isStarted())
  34. continue;
  35. quest.notifyItemUse(itm, player);
  36. }
  37. }
  38. }