public void Decode(MaplePacket pPacket) { Stats = new GW_CharacterStat(); Stats.Decode(pPacket); this.BuddylistSize = pPacket.ReadByte(); if (pPacket.ReadBool()) BlessingOfTheFairy = pPacket.ReadString(); else BlessingOfTheFairy = null; if (pPacket.ReadBool()) BlessingOfEmpress = pPacket.ReadString(); else BlessingOfEmpress = null; if (pPacket.ReadBool()) UltimateExplorer = pPacket.ReadString(); else UltimateExplorer = null; Stats.DecodeMesos(pPacket); // .-. // Unknown stuff here int amount = pPacket.ReadInt(); UnknownIntegerList = new List<UnknownListOfIntegers>(); for (int i = 0; i < amount; i++) { UnknownListOfIntegers vals = new UnknownListOfIntegers(); vals.Decode(pPacket); UnknownIntegerList.Add(vals); } Inventory = new CharacterInventory(); Inventory.Decode(pPacket); UnknownIntegerListNumber2 = new List<int>(); while (true) { int unkval = pPacket.ReadInt(); if (unkval == -1) break; UnknownIntegerListNumber2.Add(unkval); } UnknownIntegerListNumber3 = new Dictionary<int, long>(); amount = pPacket.ReadInt(); for (int i = 0; i < amount; i++) { UnknownIntegerListNumber3.Add(pPacket.ReadInt(), pPacket.ReadLong()); } { UnknownIntegerListNumber4 = new Dictionary<long, long>(); amount = pPacket.ReadInt(); for (int i = 0; i < amount; i++) { UnknownIntegerListNumber4.Add(pPacket.ReadLong(), pPacket.ReadLong()); } while (true) { byte val = pPacket.ReadByte(); if (val == 0) break; { pPacket.ReadInt(); pPacket.ReadByte(); pPacket.ReadByte(); pPacket.ReadInt(); pPacket.ReadInt(); pPacket.ReadInt(); pPacket.ReadInt(); pPacket.ReadByte(); pPacket.ReadInt(); pPacket.ReadLong(); pPacket.ReadLong(); pPacket.ReadLong(); pPacket.ReadLong(); } } } Skills = new CharacterSkills(); Skills.Decode(pPacket); Quests = new CharacterQuests(); Quests.Decode(pPacket); // Match for (int i = pPacket.ReadShort(); i > 0; i--) { pPacket.ReadInt(); pPacket.ReadInt(); pPacket.ReadInt(); pPacket.ReadInt(); pPacket.ReadInt(); } // Couple for (int i = pPacket.ReadShort(); i > 0; i--) { pPacket.ReadBytes(33); } // Friend for (int i = pPacket.ReadShort(); i > 0; i--) { pPacket.ReadBytes(37); } // Marriage for (int i = pPacket.ReadShort(); i > 0; i--) { pPacket.ReadBytes(48); } Inventory.DecodeTeleportRocks(pPacket); }
public void Decode(MaplePacket pPacket) { Stats = new GW_CharacterStat(); Stats.Decode(pPacket); this.BuddylistSize = pPacket.ReadByte(); if (pPacket.ReadBool()) { BlessingOfTheFairy = pPacket.ReadString(); } else { BlessingOfTheFairy = null; } if (pPacket.ReadBool()) { BlessingOfEmpress = pPacket.ReadString(); } else { BlessingOfEmpress = null; } if (pPacket.ReadBool()) { UltimateExplorer = pPacket.ReadString(); } else { UltimateExplorer = null; } Stats.DecodeMesos(pPacket); // .-. // Unknown stuff here int amount = pPacket.ReadInt(); UnknownIntegerList = new List <UnknownListOfIntegers>(); for (int i = 0; i < amount; i++) { UnknownListOfIntegers vals = new UnknownListOfIntegers(); vals.Decode(pPacket); UnknownIntegerList.Add(vals); } Inventory = new CharacterInventory(); Inventory.Decode(pPacket); UnknownIntegerListNumber2 = new List <int>(); while (true) { int unkval = pPacket.ReadInt(); if (unkval == -1) { break; } UnknownIntegerListNumber2.Add(unkval); } UnknownIntegerListNumber3 = new Dictionary <int, long>(); amount = pPacket.ReadInt(); for (int i = 0; i < amount; i++) { UnknownIntegerListNumber3.Add(pPacket.ReadInt(), pPacket.ReadLong()); } { UnknownIntegerListNumber4 = new Dictionary <long, long>(); amount = pPacket.ReadInt(); for (int i = 0; i < amount; i++) { UnknownIntegerListNumber4.Add(pPacket.ReadLong(), pPacket.ReadLong()); } while (true) { byte val = pPacket.ReadByte(); if (val == 0) { break; } { pPacket.ReadInt(); pPacket.ReadByte(); pPacket.ReadByte(); pPacket.ReadInt(); pPacket.ReadInt(); pPacket.ReadInt(); pPacket.ReadInt(); pPacket.ReadByte(); pPacket.ReadInt(); pPacket.ReadLong(); pPacket.ReadLong(); pPacket.ReadLong(); pPacket.ReadLong(); } } } Skills = new CharacterSkills(); Skills.Decode(pPacket); Quests = new CharacterQuests(); Quests.Decode(pPacket); // Match for (int i = pPacket.ReadShort(); i > 0; i--) { pPacket.ReadInt(); pPacket.ReadInt(); pPacket.ReadInt(); pPacket.ReadInt(); pPacket.ReadInt(); } // Couple for (int i = pPacket.ReadShort(); i > 0; i--) { pPacket.ReadBytes(33); } // Friend for (int i = pPacket.ReadShort(); i > 0; i--) { pPacket.ReadBytes(37); } // Marriage for (int i = pPacket.ReadShort(); i > 0; i--) { pPacket.ReadBytes(48); } Inventory.DecodeTeleportRocks(pPacket); }