PartyInfo.java 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. /*
  2. * Copyright (C) 2004-2015 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 handlers.usercommandhandlers;
  20. import com.l2jserver.gameserver.handler.IUserCommandHandler;
  21. import com.l2jserver.gameserver.model.L2Party;
  22. import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
  23. import com.l2jserver.gameserver.network.SystemMessageId;
  24. import com.l2jserver.gameserver.network.serverpackets.SystemMessage;
  25. /**
  26. * Party Info user command.
  27. * @author Tempy
  28. */
  29. public class PartyInfo implements IUserCommandHandler
  30. {
  31. private static final int[] COMMAND_IDS =
  32. {
  33. 81
  34. };
  35. @Override
  36. public boolean useUserCommand(int id, L2PcInstance activeChar)
  37. {
  38. if (id != COMMAND_IDS[0])
  39. {
  40. return false;
  41. }
  42. activeChar.sendPacket(SystemMessageId.PARTY_INFORMATION);
  43. if (activeChar.isInParty())
  44. {
  45. final L2Party party = activeChar.getParty();
  46. switch (party.getDistributionType())
  47. {
  48. case FINDERS_KEEPERS:
  49. activeChar.sendPacket(SystemMessageId.LOOTING_FINDERS_KEEPERS);
  50. break;
  51. case RANDOM:
  52. activeChar.sendPacket(SystemMessageId.LOOTING_RANDOM);
  53. break;
  54. case RANDOM_INCLUDING_SPOIL:
  55. activeChar.sendPacket(SystemMessageId.LOOTING_RANDOM_INCLUDE_SPOIL);
  56. break;
  57. case BY_TURN:
  58. activeChar.sendPacket(SystemMessageId.LOOTING_BY_TURN);
  59. break;
  60. case BY_TURN_INCLUDING_SPOIL:
  61. activeChar.sendPacket(SystemMessageId.LOOTING_BY_TURN_INCLUDE_SPOIL);
  62. break;
  63. }
  64. if (!party.isLeader(activeChar))
  65. {
  66. final SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.PARTY_LEADER_C1);
  67. sm.addPcName(party.getLeader());
  68. activeChar.sendPacket(sm);
  69. }
  70. activeChar.sendMessage("Members: " + party.getMemberCount() + "/9"); // TODO: Custom?
  71. }
  72. activeChar.sendPacket(SystemMessageId.FRIEND_LIST_FOOTER);
  73. return true;
  74. }
  75. @Override
  76. public int[] getUserCommandList()
  77. {
  78. return COMMAND_IDS;
  79. }
  80. }