diff options
Diffstat (limited to 'DSALib/Auxiliary/WeaponImporter.cs')
-rw-r--r-- | DSALib/Auxiliary/WeaponImporter.cs | 175 |
1 files changed, 0 insertions, 175 deletions
diff --git a/DSALib/Auxiliary/WeaponImporter.cs b/DSALib/Auxiliary/WeaponImporter.cs deleted file mode 100644 index 61eb33e..0000000 --- a/DSALib/Auxiliary/WeaponImporter.cs +++ /dev/null @@ -1,175 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Net.Http; -using System.Text.RegularExpressions; -using System.Threading.Tasks; -using DSALib.FireBase; -using DSALib.Models.Database.Dsa; - -namespace DSALib.Auxiliary -{ - public class WeaponImporter - { - private readonly List<RangedWeapon> Range = new List<RangedWeapon>(); - private readonly List<MeleeWeapon> Weapons = new List<MeleeWeapon>(); - - public async Task DownloadWeapons() - { - var client = new HttpClient(); - - - for (var i = 1; i <= 25; i++) - { - var responseString = - await client.GetStringAsync("http://diarium.eu/dsa4-forge/ajax/categoryChanged/" + i); - - var talentRegex = new Regex(@"(?<=<option value="")([0-9]*)("">)(.*?)(?=<)"); - //Regex idsRegex = new Regex(@"(?<=<option value=\"")([0-9]*)"); - - - var talentMatch = talentRegex.Matches(responseString); - //var idMatch = idsRegex.Matches(responseString); - - var lines = new List<string>(); - var ids = new List<int>(); - - foreach (var matchGroup in talentMatch.ToList()) - if (matchGroup.Success) - { - lines.Add(matchGroup.Groups[3].Value); - ids.Add(int.Parse(matchGroup.Groups[1].Value)); - } - - - for (var j = 0; j < lines.Count; j++) - { - var talent = lines[j]; - - var values = await client.GetStringAsync("http://diarium.eu/dsa4-forge/ajax/calculate/" + i + "/" + - ids[j] + "/0/0/0/0/0/10/0/0/0"); - - values = Regex.Unescape(values.Replace(@"\t", "")); - // ... Use named group in regular expression. - var expression = - new Regex( - @"(((?<=(<td>))|(?<=(<td style=\""padding:2px\"">))).*?(?=<\/td>))|((?<=<span style=\""font-weight:bold;text-decoration:underline;\"">).*?(?=<\/span>))"); - - // ... See if we matched. - var matches = expression.Matches(values).Select(x => x.ToString()).ToList(); - - // ... Get group by name. - await AddMelee(i, talent, matches); - Console.Write(j + ","); - //await Task.Delay(TimeSpan.FromSeconds(5)); - } - - Console.WriteLine($"{i}: {ids.Count} => {Weapons.Count}"); - //await Task.Delay(TimeSpan.FromSeconds(5)); - } - - Console.ReadLine(); - } - - private async Task AddMelee(int i, string talent, List<string> matches) - { - var name = talent.Replace(' ', '_').Replace(".", ""); - if (!matches[1].Equals(string.Empty)) - { - var temp = new MeleeWeapon( - name, - matches[1], - int.TryParse(matches[10], out var weight) ? weight : 0, - matches[0].Split(':', StringSplitOptions.RemoveEmptyEntries).First(), - matches[11]) - { - INI = int.TryParse(matches[3], out var ini) ? ini : 0, - MW = matches[4], - TpKK = matches[2] - }; - - Weapons.Add(temp); - await Database.AddWeapon(temp); - } - - /*if (i > 23) - { - var range = new RangedWeapon( - name, - matches[13], - int.TryParse(matches[10], out int weight) ? weight : 0, - matches[0].Split(':', StringSplitOptions.RemoveEmptyEntries).First(), - matches[11]) - { - AtMod = int.TryParse(matches[10], out int atMod) ? atMod : 0, - KKMod = int.TryParse(matches[11], out int kkMod) ? kkMod : 0, - AtReach = matches[3], - TpReach = matches[4], - LoadTime = int.TryParse(matches[5], out int loadTime) ? loadTime : 0 - }; - Range.Add(range); - await Database.AddWeapon(range); - return; - }*/ - if (i > 18) - { - var range = new RangedWeapon( - name, - matches[13].Replace(' ', '+'), - int.TryParse(matches[10], out var weight) ? weight : 0, - matches[0].Split(':', StringSplitOptions.RemoveEmptyEntries).First(), - matches[11]) - { - AtMod = int.TryParse(matches[18], out var atMod) ? atMod : 0, - KKMod = int.TryParse(matches[17], out var kkMod) ? kkMod : 0, - AtReach = matches[14], - TpReach = matches[15], - LoadTime = int.TryParse(matches[18], out var loadTime) ? loadTime : 0 - }; - Range.Add(range); - await Database.AddWeapon(range); - } - } - - private async Task AddRanged(int i, string talent, List<string> matches) - { - var name = talent.Replace(' ', '_').Replace(".", ""); - if (!matches[1].Equals(string.Empty)) - { - var temp = new MeleeWeapon( - name, - matches[1], - int.TryParse(matches[10], out var weight) ? weight : 0, - matches[0].Split(':', StringSplitOptions.RemoveEmptyEntries).First(), - matches[11]) - { - INI = int.TryParse(matches[3], out var ini) ? ini : 0, - MW = matches[4], - TpKK = matches[2] - }; - - Weapons.Add(temp); - await Database.AddWeapon(temp); - } - - if (i > 18) - { - var range = new RangedWeapon( - name, - matches[13].Replace(' ', '+'), - int.TryParse(matches[10], out var weight) ? weight : 0, - matches[0].Split(':', StringSplitOptions.RemoveEmptyEntries).First(), - matches[11]) - { - AtMod = int.TryParse(matches[18], out var atMod) ? atMod : 0, - KKMod = int.TryParse(matches[17], out var kkMod) ? kkMod : 0, - AtReach = matches[14], - TpReach = matches[15], - LoadTime = int.TryParse(matches[18], out var loadTime) ? loadTime : 0 - }; - Range.Add(range); - await Database.AddWeapon(range); - } - } - } -}
\ No newline at end of file |