ExPartyRoomMember.java 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. /*
  2. * Copyright (C) 2004-2015 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.serverpackets;
  20. import com.l2jserver.gameserver.model.PartyMatchRoom;
  21. import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
  22. /**
  23. * @author Gnacik
  24. */
  25. public class ExPartyRoomMember extends L2GameServerPacket
  26. {
  27. private final PartyMatchRoom _room;
  28. private final int _mode;
  29. public ExPartyRoomMember(L2PcInstance player, PartyMatchRoom room, int mode)
  30. {
  31. _room = room;
  32. _mode = mode;
  33. }
  34. @Override
  35. protected void writeImpl()
  36. {
  37. writeC(0xfe);
  38. writeH(0x08);
  39. writeD(_mode);
  40. writeD(_room.getMembers());
  41. for (L2PcInstance member : _room.getPartyMembers())
  42. {
  43. writeD(member.getObjectId());
  44. writeS(member.getName());
  45. writeD(member.getActiveClass());
  46. writeD(member.getLevel());
  47. writeD(_room.getLocation());
  48. if (_room.getOwner().equals(member))
  49. {
  50. writeD(0x01);
  51. }
  52. else
  53. {
  54. if ((_room.getOwner().isInParty() && member.isInParty()) && (_room.getOwner().getParty().getLeaderObjectId() == member.getParty().getLeaderObjectId()))
  55. {
  56. writeD(0x02);
  57. }
  58. else
  59. {
  60. writeD(0x00);
  61. }
  62. }
  63. writeD(0x00); // TODO: Instance datas there is more if that is not 0!
  64. }
  65. }
  66. }