MonRaceInfo.java 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  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 com.l2jserver.gameserver.network.serverpackets;
  16. import java.util.logging.Logger;
  17. import com.l2jserver.gameserver.model.actor.L2Npc;
  18. /**
  19. * sample
  20. * 06 8f19904b 2522d04b 00000000 80 950c0000 4af50000 08f2ffff 0000 - 0 damage (missed 0x80)
  21. * 06 85071048 bc0e504b 32000000 10 fc41ffff fd240200 a6f5ffff 0100 bc0e504b 33000000 10 3....
  22. * format
  23. * dddc dddh (ddc)
  24. *
  25. * @version $Revision: 1.1.6.2 $ $Date: 2005/03/27 15:29:39 $
  26. */
  27. public class MonRaceInfo extends L2GameServerPacket
  28. {
  29. protected static final Logger _log = Logger.getLogger(MonRaceInfo.class.getName());
  30. private static final String _S__DD_MonRaceInfo = "[S] e3 MonRaceInfo";
  31. private int _unknown1;
  32. private int _unknown2;
  33. private L2Npc[] _monsters;
  34. private int[][] _speeds;
  35. public MonRaceInfo(int unknown1 , int unknown2, L2Npc[] monsters, int[][] speeds)
  36. {
  37. /*
  38. * -1 0 to initial the race
  39. * 0 15322 to start race
  40. * 13765 -1 in middle of race
  41. * -1 0 to end the race
  42. */
  43. _unknown1 = unknown1;
  44. _unknown2 = unknown2;
  45. _monsters = monsters;
  46. _speeds = speeds;
  47. }
  48. // 0xf3;EtcStatusUpdatePacket;ddddd
  49. @Override
  50. protected final void writeImpl()
  51. {
  52. writeC(0xe3);
  53. writeD(_unknown1);
  54. writeD(_unknown2);
  55. writeD(8);
  56. for (int i=0; i<8; i++)
  57. {
  58. //_log.info("MOnster "+(i+1)+" npcid "+_monsters[i].getNpcTemplate().getNpcId());
  59. writeD(_monsters[i].getObjectId()); //npcObjectID
  60. writeD(_monsters[i].getTemplate().npcId+1000000); //npcID
  61. writeD(14107); //origin X
  62. writeD(181875 + (58 * (7-i))); //origin Y
  63. writeD(-3566); //origin Z
  64. writeD(12080); //end X
  65. writeD(181875 + (58 * (7-i))); //end Y
  66. writeD(-3566); //end Z
  67. writeF(_monsters[i].getTemplate().fCollisionHeight); //coll. height
  68. writeF(_monsters[i].getTemplate().fCollisionRadius); //coll. radius
  69. writeD(120); // ?? unknown
  70. for (int j=0; j<20; j++)
  71. {
  72. if (_unknown1 == 0 )
  73. {
  74. writeC(_speeds[i][j]);
  75. }
  76. else
  77. writeC(0);
  78. }
  79. writeD(0);
  80. writeD(0); // CT2.3 special effect
  81. }
  82. }
  83. /* (non-Javadoc)
  84. * @see com.l2jserver.gameserver.serverpackets.ServerBasePacket#getType()
  85. */
  86. @Override
  87. public String getType()
  88. {
  89. return _S__DD_MonRaceInfo;
  90. }
  91. }