public static MapInfoPacket Read(NBufferReader reader) { var ret = new MapInfoPacket(); ret.Width = reader.ReadUInt32(); ret.Height = reader.ReadUInt32(); ret.Name = reader.ReadUTF(); ret.Name2 = reader.ReadUTF(); ret.Seed = reader.ReadUInt32(); ret.Background = reader.ReadUInt32(); ret.Diffculty = reader.ReadUInt32(); ret.AllowTeleport = reader.ReadBoolean(); ret.ShowDisplays = reader.ReadBoolean(); ret.ClientXML = new string[reader.ReadUInt16()]; for (int i = 0; i < ret.ClientXML.Length; i++) { ret.ClientXML[i] = reader.Read32UTF(); } ret.ExtraXML = new string[reader.ReadUInt16()]; for (int i = 0; i < ret.ExtraXML.Length; i++) { ret.ExtraXML[i] = reader.Read32UTF(); } return(ret); }
public static ObjectStats Read(NBufferReader reader) { ObjectStats ret; ret.Id = reader.ReadUInt32(); ret.Position = Position.Read(reader); ret.Stats = new Tuple <StatsType, object> [reader.ReadUInt16()]; for (var i = 0; i < ret.Stats.Length; i++) { var type = (StatsType)reader.ReadByte(); if (type == StatsType.Guild || type == StatsType.Name || type == StatsType.PetName) { ret.Stats[i] = Tuple.Create(type, (object)reader.ReadUTF()); } else if (type == StatsType.AccountId || type == StatsType.OwnerAccountId) { string x = reader.ReadUTF(); // wut kabam? // AccountId & OwnerAccountId are App Engine numeric IDs // Some time ago the format was changed and broke newly created account // And...they didn't read the documentation and just use a string... // http://googlecloudplatform.blogspot.hk/2013/05/update-on-datastore-auto-ids.html // Quote: "guaranteed to be small enough to be completely represented as 64-bit floats" ret.Stats[i] = Tuple.Create(type, (object)long.Parse(x)); } else { ret.Stats[i] = Tuple.Create(type, (object)(int)reader.ReadUInt32()); } } return(ret); }
public static EditAccountListPacket Read(NBufferReader reader) { var ret = new EditAccountListPacket(); ret.AccountListId = reader.ReadUInt32(); ret.Add = reader.ReadBoolean(); ret.ObjectId = reader.ReadUInt32(); return(ret); }
public static TradeItem Read(NBufferReader reader) { TradeItem ret; ret.Item = reader.ReadUInt32(); ret.SlotType = reader.ReadUInt32(); ret.Tradeable = reader.ReadBoolean(); ret.Included = reader.ReadBoolean(); return(ret); }
public static ReconnPacket Read(NBufferReader reader) { var ret = new ReconnPacket(); ret.Name = reader.ReadUTF(); ret.Host = reader.ReadUTF(); ret.Port = reader.ReadUInt32(); ret.GameId = reader.ReadUInt32(); ret.KeyTime = reader.ReadUInt32(); ret.IsFromArena = reader.ReadBoolean(); ret.Key = reader.ReadBytes(reader.ReadUInt16()); return(ret); }
public static TextPacket Read(NBufferReader reader) { var ret = new TextPacket(); ret.name = reader.ReadUTF(); ret.objectId = reader.ReadUInt32(); //objectId ret.star = reader.ReadUInt32(); ret.bubbleTime = reader.ReadByte(); //bubbleTime ret.recipient = reader.ReadUTF(); //recipient ret.text = reader.ReadUTF(); ret.cleanText = reader.ReadUTF(); //cleanText return(ret); }
public static MovePacket Read(NBufferReader reader) { var ret = new MovePacket(); ret.TickId = reader.ReadUInt32(); ret.Time = reader.ReadUInt32(); ret.Position = Position.Read(reader); ret.Records = new TimedPosition[reader.ReadUInt16()]; for (var i = 0; i < ret.Records.Length; i++) { ret.Records[i] = TimedPosition.Read(reader); } return(ret); }
public static NewTickPacket Read(NBufferReader reader) { var ret = new NewTickPacket(); ret.TickId = reader.ReadUInt32(); ret.TickTime = reader.ReadUInt32(); ret.UpdateStats = new ObjectStats[reader.ReadUInt16()]; for (var i = 0; i < ret.UpdateStats.Length; i++) { ret.UpdateStats[i] = ObjectStats.Read(reader); } return(ret); }
public static UpdatePacket Read(NBufferReader reader) { var ret = new UpdatePacket(); ret.Tiles = new TileData[reader.ReadUInt16()]; for (var i = 0; i < ret.Tiles.Length; i++) { ret.Tiles[i] = new TileData { X = reader.ReadUInt16(), Y = reader.ReadUInt16(), Tile = reader.ReadUInt16() }; } ret.NewObjects = new ObjectDef[reader.ReadUInt16()]; for (var i = 0; i < ret.NewObjects.Length; i++) { ret.NewObjects[i] = ObjectDef.Read(reader); } ret.RemovedObjectIds = new uint[reader.ReadUInt16()]; for (var i = 0; i < ret.RemovedObjectIds.Length; i++) { ret.RemovedObjectIds[i] = reader.ReadUInt32(); } return(ret); }
public static ARGB Read(NBufferReader reader) { var ret = new ARGB(); ret.Value = reader.ReadUInt32(); return(ret); }
public static TeleportPacket Read(NBufferReader reader) { var ret = new TeleportPacket(); ret.ObjectId = reader.ReadUInt32(); return(ret); }
public static TimedPosition Read(NBufferReader reader) { TimedPosition ret; ret.Time = reader.ReadUInt32(); ret.Position = Position.Read(reader); return(ret); }
public static ObjectSlot Read(NBufferReader reader) { ObjectSlot ret; ret.ObjectId = reader.ReadUInt32(); ret.SlotId = reader.ReadByte(); ret.ObjectType = reader.ReadUInt16(); return(ret); }
public static UseItemPacket Read(NBufferReader reader) { var ret = new UseItemPacket(); ret.Time = reader.ReadUInt32(); ret.Slot = ObjectSlot.Read(reader); ret.Position = Position.Read(reader); ret.UseType = reader.ReadByte(); return(ret); }
public static InvSwapPacket Read(NBufferReader reader) { var ret = new InvSwapPacket(); ret.Time = reader.ReadUInt32(); ret.Position = Position.Read(reader); ret.Obj1 = ObjectSlot.Read(reader); ret.Obj2 = ObjectSlot.Read(reader); return(ret); }
public static ShowEffectPacket Read(NBufferReader reader) { var ret = new ShowEffectPacket(); ret.EffectType = (EffectType)reader.ReadByte(); ret.TargetId = reader.ReadUInt32(); ret.PosA = Position.Read(reader); ret.PosB = Position.Read(reader); ret.Color = ARGB.Read(reader); return(ret); }
public static HelloPacket Read(NBufferReader reader) { var ret = new HelloPacket(); ret.BuildVer = reader.ReadUTF(); ret.GameId = reader.ReadUInt32(); ret.Guid = reader.ReadUTF(); ret.Rand1 = reader.ReadUInt32(); ret.Password = reader.ReadUTF(); ret.Rand2 = reader.ReadUInt32(); ret.Secret = reader.ReadUTF(); ret.KeyTime = reader.ReadUInt32(); ret.Key = reader.ReadBytes(reader.ReadUInt16()); ret.MapInfo = reader.Read32UTF(); ret.X1 = reader.ReadUTF(); ret.X2 = reader.ReadUTF(); ret.X3 = reader.ReadUTF(); ret.X4 = reader.ReadUTF(); ret.X5 = reader.ReadUTF(); return(ret); }
public static AccountListPacket Read(NBufferReader reader) { var ret = new AccountListPacket(); ret.AccountListId = reader.ReadUInt32(); ret.AccountIds = new string[reader.ReadUInt16()]; for (int i = 0; i < ret.AccountIds.Length; i++) { ret.AccountIds[i] = reader.ReadUTF(); } return(ret); }