PetAutoPotHandler.java
上传用户:gwt600
上传日期:2021-06-03
资源大小:704k
文件大小:1k
源码类别:

游戏

开发平台:

Java

  1. package net.sf.odinms.net.channel.handler;
  2. import net.sf.odinms.client.IItem;
  3. import net.sf.odinms.client.MapleClient;
  4. import net.sf.odinms.client.MapleInventoryType;
  5. import net.sf.odinms.net.AbstractMaplePacketHandler;
  6. import net.sf.odinms.server.MapleInventoryManipulator;
  7. import net.sf.odinms.server.MapleItemInformationProvider;
  8. import net.sf.odinms.tools.MaplePacketCreator;
  9. import net.sf.odinms.tools.data.input.SeekableLittleEndianAccessor;
  10. /**
  11.  *
  12.  * @author Patrick
  13.  */
  14. public class PetAutoPotHandler extends AbstractMaplePacketHandler {
  15.     @Override
  16.     public void handlePacket(SeekableLittleEndianAccessor slea, MapleClient c) {
  17.         if (!c.getPlayer().isAlive()) {
  18.             c.getSession().write(MaplePacketCreator.enableActions());
  19.             return;
  20.         }
  21.         byte type = slea.readByte();
  22.         slea.skip(12);
  23.         byte slot = slea.readByte();
  24.         slea.readByte();
  25.         int itemId = slea.readInt();
  26.         IItem toUse = c.getPlayer().getInventory(MapleInventoryType.USE).getItem(slot);
  27.         MapleItemInformationProvider ii = MapleItemInformationProvider.getInstance();
  28.         if (toUse != null && toUse.getQuantity() > 0) {
  29.             if (toUse.getItemId() != itemId) {
  30.                 return;
  31.             }
  32.             MapleInventoryManipulator.removeFromSlot(c, MapleInventoryType.USE, slot, (short) 1, false);
  33.             ii.getItemEffect(toUse.getItemId()).applyTo(c.getPlayer());
  34.         }
  35.     }
  36. }