public HAchievementLevel(string name, HPacket packet) { Level = packet.ReadInt32(); PointLimit = packet.ReadInt32(); BadgeId = "ACH_" + name + Level; }
public HFloorItem(HPacket packet) { Id = packet.ReadInt32(); TypeId = packet.ReadInt32(); var tile = new HPoint(packet.ReadInt32(), packet.ReadInt32()); Facing = (HDirection)packet.ReadInt32(); tile.Z = double.Parse(packet.ReadUTF8(), CultureInfo.InvariantCulture); Tile = tile; var loc1 = packet.ReadUTF8(); var loc3 = packet.ReadInt32(); Category = packet.ReadInt32(); Stuff = ReadData(packet, Category); var loc4 = packet.ReadInt32(); var loc5 = packet.ReadInt32(); OwnerId = packet.ReadInt32(); if (TypeId < 0) { var loc6 = packet.ReadUTF8(); } }
public HFurniture(HPacket packet) { Id = packet.ReadInt32(); TypeId = packet.ReadInt32(); Tile = new HPoint(packet.ReadInt32(), packet.ReadInt32()); Facing = (HDirection)packet.ReadInt32(); Tile.Z = double.Parse(packet.ReadUTF8(), CultureInfo.InvariantCulture); var loc1 = packet.ReadUTF8(); var loc3 = packet.ReadInt32(); int category = packet.ReadInt32(); ReadData(packet, category); var loc4 = packet.ReadInt32(); var loc5 = packet.ReadInt32(); OwnerId = packet.ReadInt32(); if (TypeId < 0) { var loc6 = packet.ReadUTF8(); } }
public HCatalogProduct(HPacket packet) { Type = (HProductType)packet.ReadUTF8()[0]; switch (Type) { case HProductType.Badge: { ExtraData = packet.ReadUTF8(); ProductCount = 1; break; } default: { ClassId = packet.ReadInt32(); ExtraData = packet.ReadUTF8(); ProductCount = packet.ReadInt32(); if (IsLimited = packet.ReadBoolean()) { LimitedTotal = packet.ReadInt32(); LimitedRemaining = packet.ReadInt32(); } break; } } }
public HFloorObject(HPacket packet) { Id = packet.ReadInt32(); TypeId = packet.ReadInt32(); var tile = new HPoint(packet.ReadInt32(), packet.ReadInt32()); Facing = (HDirection)packet.ReadInt32(); tile.Z = double.Parse(packet.ReadUTF8(), CultureInfo.InvariantCulture); Tile = tile; Height = double.Parse(packet.ReadUTF8(), CultureInfo.InvariantCulture); Extra = packet.ReadInt32(); Category = packet.ReadInt32(); Stuff = ReadData(packet, Category); SecondsToExpiration = packet.ReadInt32(); UsagePolicy = (HUsagePolicy)packet.ReadInt32(); OwnerId = packet.ReadInt32(); if (TypeId < 0) { StaticClass = packet.ReadUTF8(); } }
public HFloorItem(HPacket packet) : base(packet) { Id = packet.ReadInt32(); TypeId = packet.ReadInt32(); var tile = new HPoint(packet.ReadInt32(), packet.ReadInt32()); Facing = (HDirection)packet.ReadInt32(); tile.Z = double.Parse(packet.ReadUTF8(), CultureInfo.InvariantCulture); Tile = tile; Remnants.Enqueue(packet.ReadUTF8()); Remnants.Enqueue(packet.ReadInt32()); Category = packet.ReadInt32(); Stuff = ReadData(packet, Category); SecondsToExpiration = packet.ReadInt32(); UsagePolicy = packet.ReadInt32(); OwnerId = packet.ReadInt32(); if (TypeId < 0) { Remnants.Enqueue(packet.ReadUTF8()); } }
public HCatalogPage(HPacket packet) : base(packet) { Id = packet.ReadInt32(); CatalogType = packet.ReadUTF8(); LayoutCode = packet.ReadUTF8(); Images = new string[packet.ReadInt32()]; for (int i = 0; i < Images.Length; i++) { Images[i] = packet.ReadUTF8(); } Texts = new string[packet.ReadInt32()]; for (int i = 0; i < Texts.Length; i++) { Texts[i] = packet.ReadUTF8(); } Offers = new HCatalogOffer[packet.ReadInt32()]; for (int i = 0; i < Offers.Length; i++) { Offers[i] = new HCatalogOffer(packet); } OfferId = packet.ReadInt32(); AcceptSeasonCurrencyAsCredits = packet.ReadBoolean(); //TODO: ????????????? IsFrontPage = (packet.ReadableBytes > 0); }
public HWallItem(HPacket packet) { Id = int.Parse(packet.ReadUTF8()); TypeId = packet.ReadInt32(); Location = packet.ReadUTF8(); Data = packet.ReadUTF8(); SecondsToExpiration = packet.ReadInt32(); UsagePolicy = packet.ReadInt32(); OwnerId = packet.ReadInt32(); if (float.TryParse(Data, out float fResult)) { State = int.Parse(Data); } string[] locations = Location.Split(' '); if (Location.IndexOf(":") == 0 && locations.Length >= 3) // False { Placement = locations[2]; if (locations[0].Length <= 3 || locations[1].Length <= 2) { return; } string firstLoc = locations[0].Substring(3); string secondLoc = locations[1].Substring(2); locations = firstLoc.Split(','); if (locations.Length >= 2) { Global = new HPoint(int.Parse(locations[0]), int.Parse(locations[1])); locations = secondLoc.Split(','); if (locations.Length >= 2) { Local = new HPoint(int.Parse(locations[0]), int.Parse(locations[1])); } } } else if (locations.Length >= 2) // True { Placement = locations[0]; if (Placement == "rightwall" || Placement == "frontwall") { Placement = "r"; } else { Placement = "l"; } string[] coords = locations[1].Split(','); if (coords.Length >= 3) { Y = float.Parse(coords[0]); Z = float.Parse(coords[1]); } } }
public HSlideObjectBundle(HPacket packet) { HPoint location = new HPoint(packet.ReadInt32(), packet.ReadInt32()); HPoint target = new HPoint(packet.ReadInt32(), packet.ReadInt32()); Objects = new HSlideObject[packet.ReadInt32()]; for (int i = 0; i < Objects.Length; i++) { int objectId = packet.ReadInt32(); location.Z = double.Parse(packet.ReadUTF8(), CultureInfo.InvariantCulture); target.Z = double.Parse(packet.ReadUTF8(), CultureInfo.InvariantCulture); Objects[i] = new HSlideObject(objectId, location, target); } Id = packet.ReadInt32(); if (packet.ReadableBytes > 0) { HMoveType type = (HMoveType)packet.ReadInt32(); int entityIndex = packet.ReadInt32(); location.Z = double.Parse(packet.ReadUTF8(), CultureInfo.InvariantCulture); target.Z = double.Parse(packet.ReadUTF8(), CultureInfo.InvariantCulture); Entity = new HSlideObject(entityIndex, location, target, type); } }
public static IEnumerable <HItem> Parse(HPacket packet) { packet.ReadInt32(); packet.ReadInt32(); int itemCount = packet.ReadInt32(); for (int i = 0; i < itemCount; i++) { yield return(new HItem(packet)); } }
public HGroupEntry(HPacket packet) { Id = packet.ReadInt32(); Name = packet.ReadUTF8(); BadgeCode = packet.ReadUTF8(); PrimaryColor = packet.ReadUTF8(); SecondaryColor = packet.ReadUTF8(); Favorite = packet.ReadBoolean(); OwnerId = packet.ReadInt32(); HasForum = packet.ReadBoolean(); }
public static HItem[] Parse(HPacket packet) { packet.ReadInt32(); packet.ReadInt32(); var items = new HItem[packet.ReadInt32()]; for (int i = 0; i < items.Length; i++) { items[i] = new HItem(packet); } return(items); }
public HWallItem(HPacket packet) : base(packet) { Id = int.Parse(packet.ReadUTF8()); TypeId = packet.ReadInt32(); Location = packet.ReadUTF8(); State = packet.ReadUTF8(); SecondsToExpiration = packet.ReadInt32(); UsagePolicy = packet.ReadInt32(); OwnerId = packet.ReadInt32(); }
public static HFriendData[] Parse(HPacket packet) { int removedFriends = packet.ReadInt32(); int addedFriends = packet.ReadInt32(); var friends = new HFriendData[packet.ReadInt32()]; for (int i = 0; i < friends.Length; i++) { friends[i] = new HFriendData(packet); } return(friends); }
public HItem(HPacket packet) { packet.ReadInt32(); string loc2 = packet.ReadUTF8(); Id = packet.ReadInt32(); TypeId = packet.ReadInt32(); packet.ReadInt32(); Category = packet.ReadInt32(); Stuff = ReadData(packet, Category); IsGroupable = packet.ReadBoolean(); IsTradeable = packet.ReadBoolean(); packet.ReadBoolean(); CanPlaceInMarketplace = packet.ReadBoolean(); SecondsToExpiration = packet.ReadInt32(); HasRentPeriodStarted = packet.ReadBoolean(); RoomId = packet.ReadInt32(); if (loc2 == "S") { SlotId = packet.ReadUTF8(); packet.ReadInt32(); } }
public HPoll(HPacket packet) { Id = packet.ReadInt32(); StartMessage = packet.ReadUTF8(); EndMessage = packet.ReadUTF8(); Questions = new HPollQuestion[packet.ReadInt32()]; for (int i = 0; i < Questions.Length; i++) { Questions[i] = new HPollQuestion(packet); } packet.ReadBoolean(); }
public HItem(HPacket packet) { packet.ReadInt32(); string unknown1 = packet.ReadUTF8(); Id = packet.ReadInt32(); TypeId = packet.ReadInt32(); packet.ReadInt32(); Category = packet.ReadInt32(); ReadData(packet, Category); packet.ReadBoolean(); packet.ReadBoolean(); packet.ReadBoolean(); packet.ReadBoolean(); SecondsToExpiration = packet.ReadInt32(); HasRentPeriodStarted = packet.ReadBoolean(); RoomId = packet.ReadInt32(); if (unknown1 == "S") { SlotId = packet.ReadUTF8(); packet.ReadInt32(); } }
public HItem(HPacket packet) { packet.ReadInt32(); Type = (HProductType)packet.ReadUTF8()[0]; Id = packet.ReadInt32(); TypeId = packet.ReadInt32(); Category = (HFurniCategory)packet.ReadInt32(); StuffDataFormat = packet.ReadInt32(); Stuff = ReadData(packet, StuffDataFormat); IsRecyclable = packet.ReadBoolean(); IsTradable = packet.ReadBoolean(); IsGroupable = packet.ReadBoolean(); IsSellable = packet.ReadBoolean(); CanPlaceInMarketplace = packet.ReadBoolean(); SecondsToExpiration = packet.ReadInt32(); HasRentPeriodStarted = packet.ReadBoolean(); RoomId = packet.ReadInt32(); if (Type == HProductType.Stuff) { SlotId = packet.ReadUTF8(); Extra = packet.ReadInt32(); } }
public HItem(HPacket packet) : base(packet) { Remnants.Enqueue(packet.ReadInt32()); string unknown1 = packet.ReadUTF8(); Remnants.Enqueue(unknown1); Id = packet.ReadInt32(); TypeId = packet.ReadInt32(); Remnants.Enqueue(packet.ReadInt32()); Category = packet.ReadInt32(); Stuff = ReadData(packet, Category); IsGroupable = packet.ReadBoolean(); Remnants.Enqueue(packet.ReadBoolean()); Remnants.Enqueue(packet.ReadBoolean()); Remnants.Enqueue(packet.ReadBoolean()); SecondsToExpiration = packet.ReadInt32(); HasRentPeriodStarted = packet.ReadBoolean(); RoomId = packet.ReadInt32(); if (unknown1 == "S") { SlotId = packet.ReadUTF8(); Remnants.Enqueue(packet.ReadInt32()); } }
public HSearchResult(HPacket packet) { SearchCode = packet.ReadUTF8(); Text = packet.ReadUTF8(); ActionAllowed = packet.ReadInt32(); ForceClosed = packet.ReadBoolean(); ViewMode = packet.ReadInt32(); Rooms = new HRoomEntry[packet.ReadInt32()]; for (int i = 0; i < Rooms.Length; i++) { Rooms[i] = new HRoomEntry(packet); } }
private async Task CaptureModulesAsync(TcpListener listener) { try { HNode moduleNode = new HNode(await listener.AcceptSocketAsync()); moduleNode.InFormat = HFormat.EvaWire; moduleNode.OutFormat = HFormat.EvaWire; HPacket infoPacket = await moduleNode.ReceivePacketAsync(); var module = new ModuleInfo(moduleNode); module.PropertyChanged += Module_PropertyChanged; module.Version = Version.Parse(infoPacket.ReadUTF8()); module.Name = infoPacket.ReadUTF8(); module.Description = infoPacket.ReadUTF8(); module.Authors.Capacity = infoPacket.ReadInt32(); for (int i = 0; i < module.Authors.Capacity; i++) { module.Authors.Add(new AuthorAttribute(infoPacket.ReadUTF8())); } Modules.Add(module); module.Initialize(); Task handleModuleDataTask = HandleModuleDataAsync(module); } finally { Task captureModulesAsync = CaptureModulesAsync(listener); } }
public HUserSearchResult(HPacket packet) { Id = packet.ReadInt32(); Name = packet.ReadUTF8(); Motto = packet.ReadUTF8(); IsOnline = packet.ReadBoolean(); CanFollow = packet.ReadBoolean(); packet.ReadUTF8(); Gender = packet.ReadInt32() == 1 ? HGender.Male : HGender.Female; //TODO: HExtension, ffs sulake Figure = packet.ReadUTF8(); RealName = packet.ReadUTF8(); }
public static (HUserSearchResult[] friends, HUserSearchResult[] others) Parse(HPacket packet) { var friends = new HUserSearchResult[packet.ReadInt32()]; for (int i = 0; i < friends.Length; i++) { friends[i] = new HUserSearchResult(packet); } var others = new HUserSearchResult[packet.ReadInt32()]; for (int i = 0; i < others.Length; i++) { others[i] = new HUserSearchResult(packet); } return(friends, others); }
public virtual void OnPacketIntercept(HPacket packet) { int stringifiedInteceptionDataLength = packet.ReadInt32(); string stringifiedInterceptionData = Encoding.GetEncoding("latin1").GetString(packet.ReadBytes(stringifiedInteceptionDataLength)); var dataInterceptedArgs = new DataInterceptedEventArgs(stringifiedInterceptionData); OnDataIntercept(dataInterceptedArgs); }
public HAchievement(HPacket packet) { Name = packet.ReadUTF8(); Levels = new HAchievementLevel[packet.ReadInt32()]; for (int i = 0; i < Levels.Length; i++) { Levels[i] = new HAchievementLevel(Name, packet); } }
public static IEnumerable <HEntityAction> Parse(HPacket packet) { int entityActionCount = packet.ReadInt32(); for (int i = 0; i < entityActionCount; i++) { yield return(new HEntityAction(packet)); } }
public static HEntity[] Parse(HPacket packet) { var entities = new HEntity[packet.ReadInt32()]; for (int i = 0; i < entities.Length; i++) { entities[i] = new HEntity(packet); } return(entities); }
public static HFloorItem[] Parse(HPacket packet) { int ownersCount = packet.ReadInt32(); var owners = new Dictionary<int, string>(ownersCount); for (int i = 0; i < ownersCount; i++) { owners.Add(packet.ReadInt32(), packet.ReadUTF8()); } var furniture = new HFloorItem[packet.ReadInt32()]; for (int i = 0; i < furniture.Length; i++) { var furni = new HFloorItem(packet); furni.OwnerName = owners[furni.OwnerId]; furniture[i] = furni; } return furniture; }
public HFriendData(HPacket packet) { Id = packet.ReadInt32(); Username = packet.ReadUTF8(); Gender = packet.ReadInt32() == 1 ? HGender.Male : HGender.Female; IsOnline = packet.ReadBoolean(); CanFollow = packet.ReadBoolean(); Figure = packet.ReadUTF8(); CategoryId = packet.ReadInt32(); Motto = packet.ReadUTF8(); RealName = packet.ReadUTF8(); packet.ReadUTF8(); IsPersisted = packet.ReadBoolean(); packet.ReadBoolean(); IsPocketHabboUser = packet.ReadBoolean(); RelationshipStatus = (HRelationship)packet.ReadUInt16(); }
public static HEntityUpdate[] Parse(HPacket packet) { var updates = new HEntityUpdate[packet.ReadInt32()]; for (int i = 0; i < updates.Length; i++) { updates[i] = new HEntityUpdate(packet); } return(updates); }