Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private static void addCharLook(MaplePacketLittleEndianWriter mplew, MapleCharacter chr, boolean mega) {
- mplew.write(chr.getGender());//Gender
- mplew.write(chr.getSkinColor().getId()); // skin color
- mplew.writeInt(chr.getFace()); // face
- mplew.write(mega ? 0 : 1); // OdinMS: mega ? 1 : 0
- mplew.writeInt(chr.getHair()); // hair
- MapleInventory iv = chr.getInventory(MapleInventoryType.EQUIPPED);
- Collection<IItem> equippedList = iv.list();
- Item[] equipped = new Item[17];
- Item[] equippedCash = new Item[17];
- for (IItem item : equippedList) {
- byte pos = item.getPosition();
- if (pos < 0) {
- pos = (byte) Math.abs(pos);
- if (pos > 100) {
- equippedCash[(byte) (pos - 100)] = (Item) item;
- } else {
- equipped[(byte) pos] = (Item) item;
- }
- }
- if (pos < 0) {
- if (pos < -100) {
- pos += 100;
- pos = (byte) Math.abs(pos);
- equippedCash[(byte) (pos - 100)] = (Item) item;
- } else {
- pos = (byte) Math.abs(pos);
- equipped[(byte) pos] = (Item) item;
- }
- }
- }
- Map<Byte, Integer> items = new LinkedHashMap<>();
- for (Item item : equippedCash) {
- if (item != null) {
- byte slotuse = (byte) Math.abs(item.getPosition());
- if (slotuse > 100) {
- slotuse -= 100;
- }
- items.put(slotuse, item.getItemId());
- }
- }
- for (Item item : equipped) {
- if (item != null && !items.containsKey((byte) Math.abs(item.getPosition()))) {
- items.put((byte) Math.abs(item.getPosition()), item.getItemId());
- }
- }
- for (Entry<Byte, Integer> entry : items.entrySet()) {
- mplew.write(entry.getKey());
- mplew.writeInt(entry.getValue());
- }
- mplew.write(0);
- mplew.writeInt(0);
- if (chr.getPet(0) != null) {
- mplew.writeInt(chr.getPet(0).getItemId());
- } else {
- mplew.writeInt(0); // Pet
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement