/// <summary> /// Loads the room. /// </summary> /// <param name="id">The identifier.</param> /// <param name="forceLoad"></param> /// <returns>Room.</returns> internal Room LoadRoom(uint id, bool forceLoad = false) { if (IsRoomLoaded(id)) return GetRoom(id); var roomData = GenerateRoomData(id); if (roomData == null) return null; var room = new Room(); LoadedRooms.AddOrUpdate(id, room, (key, value) => room); room.Start(roomData, forceLoad); Out.WriteLine($"Room #{id} was loaded", "Azure.Room.Manager", ConsoleColor.DarkCyan); room.InitBots(); room.InitPets(); return room; }
/// <summary> /// Loads the room. /// </summary> /// <param name="id">The identifier.</param> /// <returns>Room.</returns> internal Room LoadRoom(uint id) { if (LoadedRooms.ContainsKey(id)) return GetRoom(id); var roomData = GenerateRoomData(id); if (roomData == null) return null; if (LoadedRooms.ContainsKey(id)) return GetRoom(id); var room = new Room(); LoadedRooms.AddOrUpdate(id, room, (key, value) => room); room.Start(roomData); Out.WriteLine(string.Format("Room #{0} was loaded", id), "Azure.Room.Manager", ConsoleColor.DarkCyan); room.InitBots(); room.InitPets(); return room; }
internal void PromoteRoom() { var pageId = Request.GetUInteger16(); var item = Request.GetInteger(); var page2 = AzureEmulator.GetGame().GetCatalog().GetPage(pageId); if (page2 == null) return; var catalogItem = page2.GetItem(item); if (catalogItem == null) return; var num = Request.GetUInteger(); var text = Request.GetString(); Request.GetBool(); var text2 = string.Empty; try { text2 = Request.GetString(); } catch (Exception) { } var category = Request.GetInteger(); var room = AzureEmulator.GetGame().GetRoomManager().GetRoom(num); if (room == null) { var roomData = AzureEmulator.GetGame().GetRoomManager().GenerateRoomData(num); if (roomData == null) return; room = new Room(); room.Start(roomData); } if (!room.CheckRights(Session, true)) return; if (catalogItem.CreditsCost > 0) { if (catalogItem.CreditsCost > Session.GetHabbo().Credits) return; Session.GetHabbo().Credits -= (int)catalogItem.CreditsCost; Session.GetHabbo().UpdateCreditsBalance(); } if (catalogItem.DucketsCost > 0) { if (catalogItem.DucketsCost > Session.GetHabbo().ActivityPoints) return; Session.GetHabbo().ActivityPoints -= (int)catalogItem.DucketsCost; Session.GetHabbo().UpdateActivityPointsBalance(); } if (catalogItem.DiamondsCost > 0) { if (catalogItem.DiamondsCost > Session.GetHabbo().Diamonds) return; Session.GetHabbo().Diamonds -= (int)catalogItem.DiamondsCost; Session.GetHabbo().UpdateSeasonalCurrencyBalance(); } Session.SendMessage(CatalogPacket.PurchaseOk(catalogItem, catalogItem.Items)); if (room.RoomData.Event != null && !room.RoomData.Event.HasExpired) { room.RoomData.Event.Time = AzureEmulator.GetUnixTimeStamp(); AzureEmulator.GetGame().GetRoomEvents().SerializeEventInfo(room.RoomId); } else { AzureEmulator.GetGame().GetRoomEvents().AddNewEvent(room.RoomId, text, text2, Session, 7200, category); AzureEmulator.GetGame().GetRoomEvents().SerializeEventInfo(room.RoomId); } Session.GetHabbo().GetBadgeComponent().GiveBadge("RADZZ", true, Session, false); }