ExShowSeedInfo.java 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  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.List;
  17. import com.l2jserver.gameserver.instancemanager.CastleManorManager.SeedProduction;
  18. import com.l2jserver.gameserver.model.L2Manor;
  19. /**
  20. * format(packet 0xFE)
  21. * ch ddd [dddddcdcd]
  22. * c - id
  23. * h - sub id
  24. *
  25. * d - manor id
  26. * d
  27. * d - size
  28. *
  29. * [
  30. * d - seed id
  31. * d - left to buy
  32. * d - started amount
  33. * d - sell price
  34. * d - seed level
  35. * c
  36. * d - reward 1 id
  37. * c
  38. * d - reward 2 id
  39. * ]
  40. *
  41. * @author l3x
  42. */
  43. public class ExShowSeedInfo extends L2GameServerPacket
  44. {
  45. private static final String _S__FE_1C_EXSHOWSEEDINFO = "[S] FE:23 ExShowSeedInfo";
  46. private List<SeedProduction> _seeds;
  47. private int _manorId;
  48. public ExShowSeedInfo(int manorId, List<SeedProduction> seeds)
  49. {
  50. _manorId = manorId;
  51. _seeds = seeds;
  52. }
  53. @Override
  54. protected void writeImpl()
  55. {
  56. writeC(0xFE); // Id
  57. writeH(0x23); // SubId
  58. writeC(0);
  59. writeD(_manorId); // Manor ID
  60. writeD(0);
  61. if (_seeds == null)
  62. {
  63. writeD(0);
  64. return;
  65. }
  66. writeD(_seeds.size());
  67. for (SeedProduction seed : _seeds)
  68. {
  69. writeD(seed.getId()); // Seed id
  70. writeQ(seed.getCanProduce()); // Left to buy
  71. writeQ(seed.getStartProduce()); // Started amount
  72. writeQ(seed.getPrice()); // Sell Price
  73. writeD(L2Manor.getInstance().getSeedLevel(seed.getId())); // Seed Level
  74. writeC(1); // reward 1 Type
  75. writeD(L2Manor.getInstance().getRewardItemBySeed(seed.getId(),1)); // Reward 1 Type Item Id
  76. writeC(1); // reward 2 Type
  77. writeD(L2Manor.getInstance().getRewardItemBySeed(seed.getId(),2)); // Reward 2 Type Item Id
  78. }
  79. }
  80. @Override
  81. public String getType()
  82. {
  83. return _S__FE_1C_EXSHOWSEEDINFO;
  84. }
  85. }