Advertisement
Guest User

Untitled

a guest
Mar 26th, 2015
188
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.32 KB | None | 0 0
  1. private static void addCharLook(MaplePacketLittleEndianWriter mplew, MapleCharacter chr, boolean mega) {
  2.  
  3. mplew.write(chr.getGender());//Gender
  4. mplew.write(chr.getSkinColor().getId()); // skin color
  5. mplew.writeInt(chr.getFace()); // face
  6. mplew.write(mega ? 0 : 1); // OdinMS: mega ? 1 : 0
  7. mplew.writeInt(chr.getHair()); // hair
  8.  
  9. MapleInventory iv = chr.getInventory(MapleInventoryType.EQUIPPED);
  10. Collection<IItem> equippedList = iv.list();
  11. Item[] equipped = new Item[17];
  12. Item[] equippedCash = new Item[17];
  13. for (IItem item : equippedList) {
  14. byte pos = item.getPosition();
  15. if (pos < 0) {
  16. pos = (byte) Math.abs(pos);
  17. if (pos > 100) {
  18. equippedCash[(byte) (pos - 100)] = (Item) item;
  19. } else {
  20. equipped[(byte) pos] = (Item) item;
  21. }
  22. }
  23. if (pos < 0) {
  24. if (pos < -100) {
  25. pos += 100;
  26. pos = (byte) Math.abs(pos);
  27. equippedCash[(byte) (pos - 100)] = (Item) item;
  28. } else {
  29. pos = (byte) Math.abs(pos);
  30. equipped[(byte) pos] = (Item) item;
  31. }
  32. }
  33. }
  34. Map<Byte, Integer> items = new LinkedHashMap<>();
  35. for (Item item : equippedCash) {
  36. if (item != null) {
  37. byte slotuse = (byte) Math.abs(item.getPosition());
  38. if (slotuse > 100) {
  39. slotuse -= 100;
  40. }
  41. items.put(slotuse, item.getItemId());
  42. }
  43. }
  44. for (Item item : equipped) {
  45. if (item != null && !items.containsKey((byte) Math.abs(item.getPosition()))) {
  46. items.put((byte) Math.abs(item.getPosition()), item.getItemId());
  47. }
  48. }
  49. for (Entry<Byte, Integer> entry : items.entrySet()) {
  50. mplew.write(entry.getKey());
  51. mplew.writeInt(entry.getValue());
  52. }
  53. mplew.write(0);
  54. mplew.writeInt(0);
  55.  
  56. if (chr.getPet(0) != null) {
  57. mplew.writeInt(chr.getPet(0).getItemId());
  58. } else {
  59. mplew.writeInt(0); // Pet
  60. }
  61. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement