private string GenerateWikiLink(string skill) { var newSkill = DemonRetriever.FixSkillsNamedAsDemons(skill); newSkill = "[" + newSkill + "](https://dx2wiki.com/index.php/" + Uri.EscapeUriString(newSkill) + ")"; return(newSkill); }
public Embed WriteToDiscord() { //Perform some fixes on values before exporting Name = DemonRetriever.FixSkillsNamedAsDemons(Name); Element = char.ToUpper(Element[0]) + Element.Substring(1); if (Sp == "") { Sp = "-"; } Description = Description.Replace("\\n", "\n") + InnateFrom + TransferrableFrom; var url = "https://dx2wiki.com/index.php/" + Uri.EscapeDataString(Name.Replace("[", "(").Replace("]", ")")).Replace("(", "%28").Replace(")", "%29"); var thumbnail = "https://teambuilder.dx2wiki.com/Images/Spells/" + Uri.EscapeDataString(Element) + ".png"; //Generate our embeded message and return it var eb = new EmbedBuilder(); eb.WithTitle(Name); eb.AddField("Element: ", Element, true); eb.AddField("Cost: ", Cost, true); eb.AddField("Target: ", Target, true); eb.AddField("Sp: ", Sp, true); if (!string.IsNullOrEmpty(Nicknames)) { eb.WithFooter("Nicknames: " + Nicknames.Replace(",", ", ")); } eb.WithDescription(Description); eb.WithUrl(url); eb.WithThumbnailUrl(thumbnail); return(eb.Build()); }
private string GenerateSkillWikiLink(string skill) { var newDemon = DemonRetriever.FixSkillsNamedAsDemons(skill); if (newDemon == "") { return(""); } newDemon = "[" + newDemon.Replace("(", "").Replace(")", "") + "](https://dx2wiki.com/index.php/" + Uri.EscapeUriString(newDemon.Replace("[", "(").Replace("]", ")")).Replace("(", "%28").Replace(")", "%29") + ")"; return(newDemon); }
public async override Task ReadyAsync() { var demonsDt = await GetCSV("https://raw.githubusercontent.com/Alenael/Dx2DB/master/csv/SMT Dx2 Database - Demons.csv"); var tempDemons = new List <Demon>(); foreach (DataRow row in demonsDt.Rows) { tempDemons.Add(DemonRetriever.LoadDemon(row)); } Demons = tempDemons; }
//Loads our Skill from a DataGridRow private static Skill LoadSkill(DataRow row) { var name = row["Name"] is DBNull ? "" : (string)row["Name"]; var nicknames = row["Nickname"] is DBNull ? "" : (string)row["Nickname"]; var nicknamesList = new List <string>(); if (nicknames.Contains(",")) { var nicknameList = nicknames.Split(","); foreach (var nickname in nicknameList) { nicknamesList.Add(nickname.Trim()); } } else { nicknamesList.Add(nicknames.Trim()); } var skill = new Skill { Name = name, Element = row["Element"] is DBNull ? "" : (string)row["Element"], Cost = row["Cost"] is DBNull ? "" : (string)row["Cost"], Description = row["Description"] is DBNull ? "" : (string)row["Description"], Target = row["Target"] is DBNull ? "" : (string)row["Target"], Sp = row["Skill Points"] is DBNull ? "" : (string)row["Skill Points"], ExtractExclusive = row["ExtractExclusive"] != null ? false : (bool)row["ExtractExclusive"], DuelExclusive = row["DuelExclusive"] != null ? false : (bool)row["DuelExclusive"], ExtractTransfer = row["ExtractTransfer"] != null ? false : (bool)row["ExtractTransfer"], UseLimit = row["UseLimit"] is DBNull ? "" : (string)row["UseLimit"], Nicknames = nicknames, NicknamesList = nicknamesList }; skill.BuildSkill(DemonRetriever.GetDemonsWithSkill(name)); skill.BuildInnateSKill(DemonRetriever.GetDemonsWithInnateSkill(name)); return(skill); }
//Loads our Skill from a DataGridRow private static Skill LoadSkill(DataRow row) { var name = row["Name"] is DBNull ? "" : (string)row["Name"]; var skill = new Skill { Name = name, Element = row["Element"] is DBNull ? "" : (string)row["Element"], Cost = row["Cost"] is DBNull ? "" : (string)row["Cost"], Description = row["Description"] is DBNull ? "" : (string)row["Description"], Target = row["Target"] is DBNull ? "" : (string)row["Target"], Sp = row["Skill Points"] is DBNull ? "" : (string)row["Skill Points"], ExtractExclusive = row["ExtractExclusive"] != null ? false : (bool)row["ExtractExclusive"], DuelExclusive = row["DuelExclusive"] != null ? false : (bool)row["DuelExclusive"], ExtractTransfer = row["ExtractTransfer"] != null ? false : (bool)row["ExtractTransfer"] }; skill.BuildSKill(DemonRetriever.GetDemonsWithSkill(name)); return(skill); }
public Embed WriteToDiscord() { var url = "https://dx2wiki.com/index.php/" + Uri.EscapeDataString(Name); var thumbnail = "https://raw.githubusercontent.com/Alenael/Dx2DB/master/Images/Demons/" + Uri.EscapeDataString(Name.Replace("☆", "")) + ".jpg"; var eb = new EmbedBuilder(); eb.WithTitle(Name); var resist = ""; if (Phys != "") { resist += " | Phys: " + Phys + " "; } if (Fire != "") { resist += " | Fire: " + Fire + " "; } if (Ice != "") { resist += " | Ice: " + Ice + " "; } if (Elec != "") { resist += " | Elec: " + Elec + " "; } if (Force != "") { resist += " | Force: " + Force + " "; } if (Light != "") { resist += " | Light: " + Light + " "; } if (Dark != "") { resist += " | Dark: " + Dark; } if (resist.Length > 0) { resist = resist.Remove(0, 3); } var panelInfo1 = ""; var panelInfo2 = ""; var panelInfo3 = ""; var panelInfo4 = ""; if (Panel1 != "") { panelInfo1 = "1: " + Panel1 + " " + Panel1Stats + "\n"; } if (Panel2 != "") { panelInfo2 = "2: " + Panel2 + " " + Panel2Stats + "\n"; } if (Panel3 != "") { panelInfo3 = "3: " + Panel3 + " " + Panel3Stats + "\n"; } if (Panel4 != "") { panelInfo4 = "4: " + Panel4 + " " + Panel4Stats + "\n\n"; } var clear = "C: " + GenerateSkillWikiLink(AwakenC) + "\n"; var red = "R: " + GenerateSkillWikiLink(AwakenR) + " | " + GenerateSkillWikiLink(GachaR) + "\n"; var yellow = "Y: " + GenerateSkillWikiLink(AwakenY) + " | " + GenerateSkillWikiLink(GachaY) + "\n"; var teal = "T: " + GenerateSkillWikiLink(AwakenT) + " | " + GenerateSkillWikiLink(GachaT) + "\n"; var purple = "P: " + GenerateSkillWikiLink(AwakenP) + " | " + GenerateSkillWikiLink(GachaP) + "\n\n"; if (AwakenC == "") { clear = ""; } if (red.EndsWith(" | \n")) { red = red.Replace(" | ", ""); } if (AwakenR == "") { red = ""; } if (yellow.EndsWith(" | \n")) { yellow = yellow.Replace(" | ", ""); } if (AwakenY == "") { yellow = ""; } if (teal.EndsWith(" | \n")) { teal = teal.Replace(" | ", ""); } if (AwakenT == "") { teal = ""; } if (purple.EndsWith(" | \n\n")) { purple = purple.Replace(" | ", ""); } if (AwakenP == "") { purple = ""; } var skill3 = ""; if (Skill3 != "") { skill3 = GenerateSkillWikiLink(Skill3) + "\n"; } eb.AddField("Skills:", GenerateSkillWikiLink(Skill1) + "\n" + GenerateSkillWikiLink(Skill2) + "\n" + skill3, true); eb.AddField("Awaken | Gacha:", clear + red + yellow + teal + purple, true); eb.AddField("Resists", resist, false); if (panelInfo1 != "") { eb.AddField("Panels", panelInfo1 + panelInfo2 + panelInfo3 + panelInfo4, true); } var demonCount = DemonRetriever.Demons.Count(); var fusionUrls = ""; if (Negotiation) { fusionUrls += "Only available via Negotiation."; } else if (Exchangeable) { fusionUrls += "Only available via an Exchange."; } else { fusionUrls += "[Used In Fusions](" + GetFusionUrl("fusion") + ")\n"; if (MultiFusion || !Gacha) { fusionUrls += "[How To Fuse](" + GetFusionUrl("fission") + ")"; } } eb.AddField("Stats", "HP: " + HP + " | " + "Vit: " + Vit + " (" + DemonRetriever.GetMyRank(Name).Vit + "/" + demonCount + ")\n" + "Str: " + Str + " (" + DemonRetriever.GetMyRank(Name).Str + "/" + demonCount + ") | " + "Mag: " + Mag + " (" + DemonRetriever.GetMyRank(Name).Mag + "/" + demonCount + ")\n" + "Agi: " + Agi + " (" + DemonRetriever.GetMyRank(Name).Agility + "/" + demonCount + ") | " + "Luck: " + Luck + " (" + DemonRetriever.GetMyRank(Name).Luck + "/" + demonCount + ")\n\n" + fusionUrls , true); var nicknames = ""; if (!string.IsNullOrEmpty(Nicknames)) { nicknames = " | Nicknames: " + Nicknames.Replace(",", ", "); } //Other Info eb.WithFooter( "Race: " + Race + " | Grade: " + Grade + " | Rarity: " + Rarity + " | Ai: " + Ai + nicknames); eb.WithColor(Color.Red); eb.WithUrl(url); eb.WithThumbnailUrl(thumbnail); return(eb.Build()); }