public static uint GetWaifuQuickSellCost(WaifuRarity rarity) { switch (rarity) { case WaifuRarity.Common: return(50); case WaifuRarity.Uncommon: return(100); case WaifuRarity.Rare: return(200); case WaifuRarity.Epic: return(500); case WaifuRarity.UltimateWaifu: return(1500); case WaifuRarity.Halloween: case WaifuRarity.Christmas: case WaifuRarity.Summer: return(400); default: return(200); } }
public async Task <WaifuDbo> GetRandomSpecialWaifu(ulong userId, WaifuRarity specialRarity) { // Remove all waifus the user already has // Creating a dictionary to avoid looping for then to hundreds of thousand of times :) var userWaifus = (await _waifuRepo.GetAllWaifusFromUserWithRarity(userId, specialRarity) .ConfigureAwait(false)).ToDictionary(x => x.Id, x => true); var remaining = (await this.GetAllWaifus().ConfigureAwait(false)) .Where(x => x.Rarity == specialRarity && !userWaifus.ContainsKey(x.Id)) .ToList(); if (remaining.Count == 0) { return(null); } return(remaining[_rand.GetRandomNext(0, remaining.Count)]); }
private int GetRarityAmount(WaifuRarity rarity) { switch (rarity) { case WaifuRarity.Common: return(500); case WaifuRarity.Uncommon: return(300); case WaifuRarity.Rare: return(100); case WaifuRarity.Epic: return(50); case WaifuRarity.UltimateWaifu: return(20); } return(0); }
private int GetWaifuQuickSellCost(WaifuRarity rarity) { switch (rarity) { case WaifuRarity.Common: return(50); case WaifuRarity.Uncommon: return(100); case WaifuRarity.Rare: return(200); case WaifuRarity.Epic: return(500); case WaifuRarity.UltimateWaifu: return(1500); } return(0); }
public static string GetRarityString(WaifuRarity rarity) { switch (rarity) { case WaifuRarity.Common: return("Common"); case WaifuRarity.Uncommon: return("Uncommon"); case WaifuRarity.Rare: return("Rare"); case WaifuRarity.Epic: return("Epic"); case WaifuRarity.UltimateWaifu: return("Ultimate Waifu"); } return(""); }
public static string GetRarityString(WaifuRarity rarity) { switch (rarity) { case WaifuRarity.Common: return "Common"; case WaifuRarity.Uncommon: return "Uncommon"; case WaifuRarity.Rare: return "Rare"; case WaifuRarity.Epic: return "Epic"; case WaifuRarity.UltimateWaifu: return "Ultimate Waifu"; case WaifuRarity.Halloween: return "Halloween"; case WaifuRarity.Christmas: return "Christmas"; case WaifuRarity.Summer: return "Summer"; } return ""; }
/// <summary> /// This will return a string that can be used to properly name the waifus. /// Certain rarities will have prefixes or maybe suffixes like Christmas Zero Two. /// In that example this function would return "Christmas %". This means that the /// waifu rarity has a prefix of Christmas and the actual waifu name should be put in /// place for the %. /// </summary> /// <param name="rarity"></param> /// <returns></returns> private static string GetRarityInterpolation(WaifuRarity rarity) => rarity switch {
public static bool IsSpecialOrUltiWaifu(WaifuRarity rarity) => (rarity != WaifuRarity.Common && rarity != WaifuRarity.Uncommon && rarity != WaifuRarity.Rare && rarity != WaifuRarity.Epic);
public async Task <List <Waifu> > GetAllWaifusFromUserWithRarity(ulong userId, WaifuRarity rarity) { return(await _soraTransactor.DoAsync(async context => { return await context.Users.Where(u => u.Id == userId).SelectMany(x => x.UserWaifus) .Select(w => w.Waifu).Where(y => y.Rarity == rarity).ToListAsync(); }).ConfigureAwait(false)); }