From 7a18ab40b9d02d700b75793cde1ff693fb2a210e Mon Sep 17 00:00:00 2001 From: jsassner Date: Wed, 31 Jan 2018 08:26:33 +0100 Subject: [PATCH 1/4] Added new races from 7.3.5 --- .gitignore | 1 + Explorers.Test/GuildTests.cs | 8 ++++++++ Explorers/Models/Character.cs | 6 +++++- 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 49f40e7..1f06cde 100644 --- a/.gitignore +++ b/.gitignore @@ -40,3 +40,4 @@ _ReSharper*/ [Bb]uild/ *.nupkg /.vs/WowDotNetAPI/v15/sqlite3 +/.vs diff --git a/Explorers.Test/GuildTests.cs b/Explorers.Test/GuildTests.cs index db41c20..7b61a1b 100644 --- a/Explorers.Test/GuildTests.cs +++ b/Explorers.Test/GuildTests.cs @@ -135,5 +135,13 @@ public void Get_Guild_With_Connected_Realms() { List guildMembers = guild2.Members.Where(x => x.Character.Name.Equals("Danishpala", StringComparison.CurrentCultureIgnoreCase)).ToList(); Assert.AreEqual(0, guildMembers.Count(x => !x.Character.Realm.Equals(x.Character.GuildRealm))); } + + [TestMethod] + public void Get_Guild_With_Void_Elf_Character() { + WowExplorer explorer2 = new WowExplorer(Region.EU, Locale.en_GB, APIKey); + Guild guild2 = explorer2.GetGuild("argent dawn", "the chosen", GuildOptions.GetMembers); + var guildMember = guild2.Members.FirstOrDefault(x => x.Character.Name.Equals("Odd", StringComparison.CurrentCultureIgnoreCase)); + Assert.IsTrue(guildMember != null && guildMember.Character.Race == CharacterRace.VOID_ELF); + } } } diff --git a/Explorers/Models/Character.cs b/Explorers/Models/Character.cs index 6c448d3..75a4f51 100644 --- a/Explorers/Models/Character.cs +++ b/Explorers/Models/Character.cs @@ -40,7 +40,11 @@ public enum CharacterRace WORGEN = 22, PANDAREN_NEUTRAL = 24, PANDAREN_ALLIANCE = 25, - PANDAREN_HORDE = 26 + PANDAREN_HORDE = 26, + NIGHTBORNE = 27, + HIGHMOUNTAIN_TAUREN = 28, + VOID_ELF = 29, + LIGHTFORGED_DRAENEI = 30 } [DataContract] From 35c2384fc0a5bf26d1c36d2a304c489834b33579 Mon Sep 17 00:00:00 2001 From: jsassner Date: Wed, 31 Jan 2018 21:49:05 +0100 Subject: [PATCH 2/4] Spaces vs tabs. Hrmm. --- Explorers/Models/Character.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Explorers/Models/Character.cs b/Explorers/Models/Character.cs index 75a4f51..83a4b4f 100644 --- a/Explorers/Models/Character.cs +++ b/Explorers/Models/Character.cs @@ -41,10 +41,10 @@ public enum CharacterRace PANDAREN_NEUTRAL = 24, PANDAREN_ALLIANCE = 25, PANDAREN_HORDE = 26, - NIGHTBORNE = 27, - HIGHMOUNTAIN_TAUREN = 28, - VOID_ELF = 29, - LIGHTFORGED_DRAENEI = 30 + NIGHTBORNE = 27, + HIGHMOUNTAIN_TAUREN = 28, + VOID_ELF = 29, + LIGHTFORGED_DRAENEI = 30 } [DataContract] From 8d8f4474360f74abdb7287d7f7f3fbe6cdb2106c Mon Sep 17 00:00:00 2001 From: jsassner Date: Sat, 11 Aug 2018 16:15:24 +0200 Subject: [PATCH 3/4] Upgraded to 4.7 to be able to use TSL12 Blizzard API now requires TLS12 --- Explorers.Test/Explorers.Test.csproj | 8 ++++++-- Explorers/Explorers.csproj | 6 ++++-- Explorers/Utilities/JsonUtility.cs | 1 + 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/Explorers.Test/Explorers.Test.csproj b/Explorers.Test/Explorers.Test.csproj index 878c234..ae6dd9c 100644 --- a/Explorers.Test/Explorers.Test.csproj +++ b/Explorers.Test/Explorers.Test.csproj @@ -1,5 +1,5 @@  - + Debug AnyCPU @@ -11,9 +11,10 @@ Properties WowDotNetAPI.Explorers.Test WowDotNetAPI.Explorers.Test - v4.0 + v4.7 512 {3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + true @@ -23,6 +24,7 @@ DEBUG;TRACE prompt 4 + false pdbonly @@ -31,6 +33,7 @@ TRACE prompt 4 + false @@ -76,6 +79,7 @@ ResXFileCodeGenerator TestStrings.Designer.cs + Designer diff --git a/Explorers/Explorers.csproj b/Explorers/Explorers.csproj index c3ba216..0e4e336 100644 --- a/Explorers/Explorers.csproj +++ b/Explorers/Explorers.csproj @@ -1,5 +1,5 @@  - + Debug AnyCPU @@ -10,7 +10,7 @@ Properties WowDotNetAPI WowDotNetAPI - v4.0 + v4.7 512 @@ -22,6 +22,7 @@ DEBUG;TRACE prompt 4 + false pdbonly @@ -30,6 +31,7 @@ TRACE prompt 4 + false false diff --git a/Explorers/Utilities/JsonUtility.cs b/Explorers/Utilities/JsonUtility.cs index a20d22e..5b2132f 100644 --- a/Explorers/Utilities/JsonUtility.cs +++ b/Explorers/Utilities/JsonUtility.cs @@ -36,6 +36,7 @@ public static string GetJSON(HttpWebRequest req) public static T FromJSON(string url) where T : class { HttpWebRequest req = WebRequest.Create(url) as HttpWebRequest; + ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; return FromJSON(req); } From a12841ca4ad1fa853578b5ba9ed7eb5c083418ce Mon Sep 17 00:00:00 2001 From: jsassner Date: Sat, 11 Aug 2018 16:34:15 +0200 Subject: [PATCH 4/4] Added partial support for Azerite power in BFA --- Explorers.Test/CharacterTests.cs | 10 +++++++ Explorers/Explorers.csproj | 2 ++ Explorers/Models/CharacterItem.cs | 7 +++++ Explorers/Models/CharacterItemAzerite.cs | 15 +++++++++++ .../CharacterItemAzeriteEmpoweredItem.cs | 7 +++++ Explorers/Models/ItemTooltipParameters.cs | 27 ++++++++++++++----- 6 files changed, 62 insertions(+), 6 deletions(-) create mode 100644 Explorers/Models/CharacterItemAzerite.cs create mode 100644 Explorers/Models/CharacterItemAzeriteEmpoweredItem.cs diff --git a/Explorers.Test/CharacterTests.cs b/Explorers.Test/CharacterTests.cs index 8f4764b..cb60fd8 100644 --- a/Explorers.Test/CharacterTests.cs +++ b/Explorers.Test/CharacterTests.cs @@ -418,5 +418,15 @@ public void Get_Artifact_Weapon() { Assert.IsTrue(briandek.Items.MainHand.ArtifactId > 0); Assert.IsTrue(briandek.Items.MainHand.Relics.Any()); } + + [TestMethod] + public void Get_Azerite_Level() { + var briandek = explorer.GetCharacter(Realm, CharacterName, CharacterOptions.GetEverything); + + Assert.IsNotNull(briandek.Items); + Assert.IsTrue(briandek.Items.Neck.AzeriteItem.AzeriteLevel >= 0); + Assert.IsTrue(briandek.Items.Neck.AzeriteItem.AzeriteExperience >= 0); + Assert.IsTrue(briandek.Items.Neck.AzeriteItem.AzeriteExperienceRemaining >= 0); + } } } diff --git a/Explorers/Explorers.csproj b/Explorers/Explorers.csproj index 0e4e336..916dab1 100644 --- a/Explorers/Explorers.csproj +++ b/Explorers/Explorers.csproj @@ -61,6 +61,8 @@ + + diff --git a/Explorers/Models/CharacterItem.cs b/Explorers/Models/CharacterItem.cs index da9e022..a250037 100644 --- a/Explorers/Models/CharacterItem.cs +++ b/Explorers/Models/CharacterItem.cs @@ -46,6 +46,13 @@ public class CharacterItem [DataMember(Name = "relics")] public IEnumerable Relics { get; set; } + // BFA + [DataMember(Name = "azeriteItem")] + public CharacterItemAzerite AzeriteItem { get; set; } + + [DataMember(Name = "azeriteEmpoweredItem")] + public IEnumerable AzeriteEmpoweredItems { get; set; } + public override string ToString() { return string.Format("{0}", Name); diff --git a/Explorers/Models/CharacterItemAzerite.cs b/Explorers/Models/CharacterItemAzerite.cs new file mode 100644 index 0000000..6d2182e --- /dev/null +++ b/Explorers/Models/CharacterItemAzerite.cs @@ -0,0 +1,15 @@ +using System.Runtime.Serialization; + +namespace WowDotNetAPI.Models { + [DataContract] + public class CharacterItemAzerite { + [DataMember(Name="azeriteLevel")] + public int AzeriteLevel { get; set; } + + [DataMember(Name = "azeriteExperience")] + public int AzeriteExperience { get; set; } + + [DataMember(Name = "azeriteExperienceRemaining")] + public int AzeriteExperienceRemaining { get; set; } + } +} diff --git a/Explorers/Models/CharacterItemAzeriteEmpoweredItem.cs b/Explorers/Models/CharacterItemAzeriteEmpoweredItem.cs new file mode 100644 index 0000000..1734c2f --- /dev/null +++ b/Explorers/Models/CharacterItemAzeriteEmpoweredItem.cs @@ -0,0 +1,7 @@ +using System.Runtime.Serialization; + +namespace WowDotNetAPI.Models { + [DataContract] + public class CharacterItemAzeriteEmpoweredItem { + } +} diff --git a/Explorers/Models/ItemTooltipParameters.cs b/Explorers/Models/ItemTooltipParameters.cs index 4445628..b244834 100644 --- a/Explorers/Models/ItemTooltipParameters.cs +++ b/Explorers/Models/ItemTooltipParameters.cs @@ -7,14 +7,14 @@ namespace WowDotNetAPI.Models { [DataContract] - public class ItemTooltipParameters - { + public class ItemTooltipParameters + { [DataMember(Name="gem0")] public int Gem0 { get; set; } - + [DataMember(Name = "gem1")] public int Gem1 { get; set; } - + [DataMember(Name = "gem2")] public int Gem2 { get; set; } @@ -37,6 +37,21 @@ public class ItemTooltipParameters public int Suffix { get; set; } [DataMember(Name = "upgrade")] - public ItemUpgrade ItemUpgrade { get; set; } - } + public ItemUpgrade ItemUpgrade { get; set; } + + [DataMember(Name = "azeritePower0")] + public int AzeritePower0 { get; set; } + + [DataMember(Name = "azeritePower1")] + public int AzeritePower1 { get; set; } + + [DataMember(Name = "azeritePower2")] + public int AzeritePower2 { get; set; } + + [DataMember(Name = "azeritePower3")] + public int AzeritePower3 { get; set; } + + [DataMember(Name = "azeritePowerLevel")] + public int AzeritePowerLevel { get; set; } + } }