PartySmallWindowAll.java 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. /*
  2. * This program is free software: you can redistribute it and/or modify it under
  3. * the terms of the GNU General Public License as published by the Free Software
  4. * Foundation, either version 3 of the License, or (at your option) any later
  5. * version.
  6. *
  7. * This program is distributed in the hope that it will be useful, but WITHOUT
  8. * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
  9. * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
  10. * details.
  11. *
  12. * You should have received a copy of the GNU General Public License along with
  13. * this program. If not, see <http://www.gnu.org/licenses/>.
  14. */
  15. package net.sf.l2j.gameserver.serverpackets;
  16. import java.util.List;
  17. import javolution.util.FastList;
  18. import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
  19. /**
  20. *
  21. *
  22. * sample
  23. * 63
  24. * 01 00 00 00 count
  25. *
  26. * c1 b2 e0 4a object id
  27. * 54 00 75 00 65 00 73 00 64 00 61 00 79 00 00 00 name
  28. * 5a 01 00 00 hp
  29. * 5a 01 00 00 hp max
  30. * 89 00 00 00 mp
  31. * 89 00 00 00 mp max
  32. * 0e 00 00 00 level
  33. * 12 00 00 00 class
  34. * 00 00 00 00
  35. * 01 00 00 00
  36. *
  37. *
  38. * format d (dSdddddddd)
  39. *
  40. *
  41. * @version $Revision: 1.6.2.1.2.5 $ $Date: 2005/03/27 15:29:57 $
  42. */
  43. public final class PartySmallWindowAll extends L2GameServerPacket
  44. {
  45. private static final String _S__63_PARTYSMALLWINDOWALL = "[S] 4e PartySmallWindowAll";
  46. private List<L2PcInstance> _partyMembers = new FastList<L2PcInstance>();
  47. private L2PcInstance _exclude;
  48. public PartySmallWindowAll(L2PcInstance exclude, List<L2PcInstance> party)
  49. {
  50. _exclude = exclude;
  51. _partyMembers = party;
  52. }
  53. @Override
  54. protected final void writeImpl()
  55. {
  56. writeC(0x4e);
  57. writeD(_partyMembers.get(0).getObjectId()); // c3 party leader id
  58. writeD(_partyMembers.get(0).getParty().getLootDistribution());//c3 party loot type (0,1,2,....)
  59. writeD(_partyMembers.size()-1);
  60. for(int i = 0; i < _partyMembers.size(); i++)
  61. {
  62. L2PcInstance member = _partyMembers.get(i);
  63. if (member != _exclude)
  64. {
  65. writeD(member.getObjectId());
  66. writeS(member.getName());
  67. writeD((int) member.getCurrentCp()); //c4
  68. writeD(member.getMaxCp()); //c4
  69. writeD((int) member.getCurrentHp());
  70. writeD(member.getMaxHp());
  71. writeD((int) member.getCurrentMp());
  72. writeD(member.getMaxMp());
  73. writeD(member.getLevel());
  74. writeD(member.getClassId().getId());
  75. writeD(0);//writeD(0x01); ??
  76. writeD(member.getRace().ordinal());
  77. writeD(0);
  78. }
  79. }
  80. }
  81. /* (non-Javadoc)
  82. * @see net.sf.l2j.gameserver.serverpackets.ServerBasePacket#getType()
  83. */
  84. @Override
  85. public String getType()
  86. {
  87. return _S__63_PARTYSMALLWINDOWALL;
  88. }
  89. }