RequestWithDrawalParty.java 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. /*
  2. * Copyright © 2004-2023 L2J Server
  3. *
  4. * This file is part of L2J Server.
  5. *
  6. * L2J Server 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 Server 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 com.l2jserver.gameserver.network.clientpackets;
  20. import com.l2jserver.gameserver.model.L2Party;
  21. import com.l2jserver.gameserver.model.L2Party.messageType;
  22. import com.l2jserver.gameserver.model.PartyMatchRoom;
  23. import com.l2jserver.gameserver.model.PartyMatchRoomList;
  24. import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
  25. import com.l2jserver.gameserver.network.serverpackets.ExClosePartyRoom;
  26. import com.l2jserver.gameserver.network.serverpackets.ExPartyRoomMember;
  27. import com.l2jserver.gameserver.network.serverpackets.PartyMatchDetail;
  28. /**
  29. * @since 2005/03/27 15:29:30
  30. */
  31. public final class RequestWithDrawalParty extends L2GameClientPacket {
  32. private static final String _C__44_REQUESTWITHDRAWALPARTY = "[C] 44 RequestWithDrawalParty";
  33. @Override
  34. protected void readImpl() {
  35. // trigger
  36. }
  37. @Override
  38. protected void runImpl() {
  39. L2PcInstance player = getClient().getActiveChar();
  40. if (player == null) {
  41. return;
  42. }
  43. L2Party party = player.getParty();
  44. if (party != null) {
  45. party.removePartyMember(player, messageType.Left);
  46. if (player.isInPartyMatchRoom()) {
  47. PartyMatchRoom _room = PartyMatchRoomList.getInstance().getPlayerRoom(player);
  48. if (_room != null) {
  49. player.sendPacket(new PartyMatchDetail(player, _room));
  50. player.sendPacket(new ExPartyRoomMember(player, _room, 0));
  51. player.sendPacket(new ExClosePartyRoom());
  52. _room.deleteMember(player);
  53. }
  54. player.setPartyRoom(0);
  55. player.broadcastUserInfo();
  56. }
  57. }
  58. }
  59. @Override
  60. public String getType() {
  61. return _C__44_REQUESTWITHDRAWALPARTY;
  62. }
  63. }