public async Task ClassInfo([Remainder] string name = "") { if (name == "") { return; } if (AdeptClassSeriesManager.TryGetClassSeries(name, out AdeptClassSeries series)) { AdeptClass adeptClass = series.Classes.Where(c => c.Name.ToUpper() == name.ToUpper()).FirstOrDefault(); var embed = new EmbedBuilder(); embed.WithAuthor($"{adeptClass.Name} - {series.Archtype}"); embed.WithColor(Colors.Get(series.Elements.Select(s => s.ToString()).ToArray())); var relevantMoves = AdeptClassSeriesManager.GetMoveset(adeptClass).Where(m => m is Psynergy).ToList().ConvertAll(m => (Psynergy)m).ConvertAll(p => $"{p.Emote} {p.Name} `{p.PPCost}`"); embed.AddField("Description", series.Description ?? "-"); embed.AddField("Stats", adeptClass.StatMultipliers, true); embed.AddField("Elemental Stats", series.Elstats.ToString(), true); embed.AddField("Movepool", string.Join(" - ", relevantMoves)); embed.AddField($"Other Classes in {series.Name}", string.Join(", ", series.Classes.Select(s => s.Name)), true); embed.AddField("Elements", string.Join(", ", series.Elements.Select(e => e.ToString())), true); await Context.Channel.SendMessageAsync("", false, embed.Build()); if (Context.User is SocketGuildUser sgu) { _ = ServerGames.UserLookedUpClass(sgu, (SocketTextChannel)Context.Channel); } } else { return; } }