PetStatusUpdate.java 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  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.actor.L2Summon;
  21. import com.l2jserver.gameserver.model.actor.instance.L2PetInstance;
  22. import com.l2jserver.gameserver.model.actor.instance.L2ServitorInstance;
  23. /**
  24. * This class ...
  25. * @version $Revision: 1.5.2.3.2.5 $ $Date: 2005/03/29 23:15:10 $
  26. */
  27. public class PetStatusUpdate extends L2GameServerPacket
  28. {
  29. private final L2Summon _summon;
  30. private int _maxFed, _curFed;
  31. public PetStatusUpdate(L2Summon summon)
  32. {
  33. _summon = summon;
  34. if (_summon instanceof L2PetInstance)
  35. {
  36. L2PetInstance pet = (L2PetInstance) _summon;
  37. _curFed = pet.getCurrentFed(); // how fed it is
  38. _maxFed = pet.getMaxFed(); // max fed it can be
  39. }
  40. else if (_summon instanceof L2ServitorInstance)
  41. {
  42. L2ServitorInstance sum = (L2ServitorInstance) _summon;
  43. _curFed = sum.getLifeTimeRemaining();
  44. _maxFed = sum.getLifeTime();
  45. }
  46. }
  47. @Override
  48. protected final void writeImpl()
  49. {
  50. writeC(0xB6);
  51. writeD(_summon.getSummonType());
  52. writeD(_summon.getObjectId());
  53. writeD(_summon.getX());
  54. writeD(_summon.getY());
  55. writeD(_summon.getZ());
  56. writeS(_summon.getTitle());
  57. writeD(_curFed);
  58. writeD(_maxFed);
  59. writeD((int) _summon.getCurrentHp());
  60. writeD(_summon.getMaxHp());
  61. writeD((int) _summon.getCurrentMp());
  62. writeD(_summon.getMaxMp());
  63. writeD(_summon.getLevel());
  64. writeQ(_summon.getStat().getExp());
  65. writeQ(_summon.getExpForThisLevel()); // 0% absolute value
  66. writeQ(_summon.getExpForNextLevel()); // 100% absolute value
  67. }
  68. }