Advertisement
Guest User

Untitled

a guest
Oct 6th, 2015
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.05 KB | None | 0 0
  1. package l2j.mmocore.gameserver.clientpackets;
  2.  
  3. import l2j.mmocore.gameserver.handler.IItemHandler;
  4. import l2j.mmocore.gameserver.handler.ItemHandler;
  5. import l2j.mmocore.gameserver.model.Player;
  6. import l2j.mmocore.gameserver.model.instances.L2ItemInstance;
  7. import l2j.mmocore.gameserver.serverpackets.ExAutoSoulShot;
  8. import l2j.mmocore.gameserver.serverpackets.SystemMessage;
  9.  
  10. public class RequestAutoSoulShot extends L2GameClientPacket
  11. {
  12. private int _itemId;
  13. private boolean _type; // 1 = on : 0 = off;
  14.  
  15. /*
  16. * format: chdd
  17. */
  18. @Override
  19. public void readImpl()
  20. {
  21. _itemId = readD();
  22. _type = readD() == 1;
  23. }
  24.  
  25. @Override
  26. public void runImpl()
  27. {
  28. Player player = getClient().getPlayer();
  29.  
  30. if(player == null)
  31. return;
  32.  
  33. if(player.getPrivateStoreType() != Player.STORE_PRIVATE_NONE || player.isDead())
  34. return;
  35.  
  36. L2ItemInstance item = player.getInventory().getItemByItemId(_itemId);
  37.  
  38. if(item == null)
  39. return;
  40.  
  41. if(_type)
  42. {
  43. if(player.isTradeInProgress())
  44. {
  45. player.sendPacket(new SystemMessage(SystemMessage.YOU_CANNOT_PICK_UP_OR_USE_ITEMS_WHILE_TRADING));
  46. return;
  47. }
  48.  
  49. IItemHandler handler = ItemHandler.getInstance().getItemHandler(_itemId);
  50. if(handler == null)
  51. {
  52. System.out.println("Warning: no item handler for item: " + _itemId + " request auto soul shot by " + player);
  53. return;
  54. }
  55. if(handler.useItem(player, item))
  56. {
  57. player.addAutoSoulShot(_itemId);
  58. player.sendPacket(new ExAutoSoulShot(_itemId, true));
  59. player.sendPacket(new SystemMessage(SystemMessage.THE_USE_OF_S1_WILL_NOW_BE_AUTOMATED).addItemName(_itemId));
  60. }
  61. else if(_itemId >= 6645 && _itemId <= 6647)
  62. player.sendPacket(new SystemMessage(SystemMessage.SINCE_A_SERVITOR_OR_A_PET_DOES_NOT_EXIST_AUTOMATIC_USE_IS_NOT_APPLICABLE));
  63.  
  64. return;
  65. }
  66.  
  67. player.removeAutoSoulShot(_itemId);
  68. player.sendPacket(new ExAutoSoulShot(_itemId, false));
  69. player.sendPacket(new SystemMessage(SystemMessage.THE_AUTOMATIC_USE_OF_S1_WILL_NOW_BE_CANCELLED).addString(item.getItem().getName()));
  70. }
  71. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement