PageRenderTime 43ms CodeModel.GetById 15ms RepoModel.GetById 0ms app.codeStats 0ms

/Trunk/src/net/sf/odinms/net/channel/handler/UseChairHandler.java

https://github.com/system32/NinjaMS
Java | 44 lines | 38 code | 6 blank | 0 comment | 4 complexity | 4fe74f464f4e9ed40d5b9a69398ef671 MD5 | raw file
Possible License(s): AGPL-3.0
  1. package net.sf.odinms.net.channel.handler;
  2. import net.sf.odinms.client.Clones;
  3. import org.slf4j.Logger;
  4. import org.slf4j.LoggerFactory;
  5. import net.sf.odinms.client.MapleClient;
  6. import net.sf.odinms.client.Inventory.MapleInventoryType;
  7. import net.sf.odinms.client.anticheat.CheatingOffense;
  8. import net.sf.odinms.net.AbstractMaplePacketHandler;
  9. import net.sf.odinms.server.TimerManager;
  10. import net.sf.odinms.tools.MaplePacketCreator;
  11. import net.sf.odinms.tools.data.input.SeekableLittleEndianAccessor;
  12. public class UseChairHandler extends AbstractMaplePacketHandler {
  13. private static Logger log = LoggerFactory.getLogger(UseItemHandler.class);
  14. public UseChairHandler() {
  15. }
  16. public void handlePacket(SeekableLittleEndianAccessor slea, final MapleClient c) {
  17. final int itemId = slea.readInt();
  18. if (c.getPlayer().getInventory(MapleInventoryType.SETUP).findById(itemId) == null) {
  19. c.getPlayer().getCheatTracker().registerOffense(CheatingOffense.USING_UNAVAILABLE_ITEM, Integer.toString(itemId));
  20. return;
  21. }
  22. c.getPlayer().setChair(itemId);
  23. c.getPlayer().getMap().broadcastMessage(c.getPlayer(), MaplePacketCreator.showChair(c.getPlayer().getId(), itemId), false);
  24. c.getSession().write(MaplePacketCreator.enableActions());
  25. if (c.getPlayer().hasClones()) {
  26. int i = 1;
  27. for (final Clones clone : c.getPlayer().getClones()) {
  28. TimerManager.getInstance().schedule(new Runnable() {
  29. @Override
  30. public void run() {
  31. c.getPlayer().getMap().broadcastMessage(clone.getClone(), MaplePacketCreator.showChair(clone.getClone().getId(), itemId), false);
  32. }
  33. }, i * 250);
  34. i++;
  35. }
  36. }
  37. }
  38. }