public void Finalize(IEnumerable <Deity> deities) { AcceptsPrayers = Globals.Random.NextDouble() < 0.66f; DonationMultiplier = Globals.Random.NextDouble() < 0.66 ? 1 : -1; SacrificeCost = Globals.Random.NextDouble() < 0.2f ? 5 : -1; Archetype.Finalize(this, deities); foreach (var domain in Domains) { domain.Finalize(this, deities); } Likes = Likes.Distinct().ToList(); Dislikes = Dislikes.Distinct().ToList(); var common = Likes.Where(Dislikes.Contains).ToArray(); foreach (var thing in common) { Likes.Remove(thing); Dislikes.Remove(thing); } }
public User WithoutSensitive(bool token = false, bool useLikeIds = false, bool useFavoriteIds = false, bool useSaleIds = false) { HasPassword = Password != null; Password = null; Token = token ? Token : null; if (useLikeIds) { LikeIds = new EntityIdLists { Videos = Likes?.Where(x => x.Entity is Video) .Select(x => new EntityIdItem { Id = x.Id, EntityId = x.EntityId }), Movies = Likes?.Where(x => x.Entity is Movie) .Select(x => new EntityIdItem { Id = x.Id, EntityId = x.EntityId }) }; } if (useFavoriteIds) { FavoriteIds = new EntityIdLists { Videos = Favorites?.Where(x => x.Entity is Video) .Select(x => new EntityIdItem { Id = x.Id, EntityId = x.EntityId }), Movies = Favorites?.Where(x => x.Entity is Movie) .Select(x => new EntityIdItem { Id = x.Id, EntityId = x.EntityId }), Sports = Favorites?.Where(x => x.Entity is Sport) .Select(x => new EntityIdItem { Id = x.Id, EntityId = x.EntityId }), Playlists = Favorites?.Where(x => x.Entity is Playlist) .Select(x => new EntityIdItem { Id = x.Id, EntityId = x.EntityId }), }; } if (useSaleIds) { SaleIds = new EntityIdLists { Videos = Sales?.Where(x => x.Entity is Video) .Select(x => new EntityIdItem { Id = x.Id, EntityId = x.EntityId }), Movies = Sales?.Where(x => x.Entity is Movie) .Select(x => new EntityIdItem { Id = x.Id, EntityId = x.EntityId }), Playlists = Sales?.Where(x => x.Entity is Playlist) .Select(x => new EntityIdItem { Id = x.Id, EntityId = x.EntityId }), }; } return(this); }