diff --git a/Filtration.Common.Tests/Filtration.Common.Tests.csproj b/Filtration.Common.Tests/Filtration.Common.Tests.csproj index cea7d5d..2371385 100644 --- a/Filtration.Common.Tests/Filtration.Common.Tests.csproj +++ b/Filtration.Common.Tests/Filtration.Common.Tests.csproj @@ -31,12 +31,16 @@ 4 - - ..\packages\Moq.4.2.1510.2205\lib\net40\Moq.dll + + ..\packages\Castle.Core.3.3.3\lib\net45\Castle.Core.dll True - - ..\packages\NUnit.3.0.1\lib\net45\nunit.framework.dll + + ..\packages\Moq.4.5.9\lib\net45\Moq.dll + True + + + ..\packages\NUnit.3.2.1\lib\net45\nunit.framework.dll True diff --git a/Filtration.Common.Tests/packages.config b/Filtration.Common.Tests/packages.config index b3787e8..ff08587 100644 --- a/Filtration.Common.Tests/packages.config +++ b/Filtration.Common.Tests/packages.config @@ -1,5 +1,6 @@  - - + + + \ No newline at end of file diff --git a/Filtration.Common/Filtration.Common.csproj b/Filtration.Common/Filtration.Common.csproj index dd810f2..3e0716c 100644 --- a/Filtration.Common/Filtration.Common.csproj +++ b/Filtration.Common/Filtration.Common.csproj @@ -38,16 +38,16 @@ ..\packages\Castle.Windsor.3.3.0\lib\net45\Castle.Windsor.dll - - ..\packages\MvvmLightLibs.5.2.0.0\lib\net45\GalaSoft.MvvmLight.dll + + ..\packages\MvvmLightLibs.5.3.0.0\lib\net45\GalaSoft.MvvmLight.dll True - - ..\packages\MvvmLightLibs.5.2.0.0\lib\net45\GalaSoft.MvvmLight.Extras.dll + + ..\packages\MvvmLightLibs.5.3.0.0\lib\net45\GalaSoft.MvvmLight.Extras.dll True - - ..\packages\MvvmLightLibs.5.2.0.0\lib\net45\GalaSoft.MvvmLight.Platform.dll + + ..\packages\MvvmLightLibs.5.3.0.0\lib\net45\GalaSoft.MvvmLight.Platform.dll True @@ -58,7 +58,7 @@ - ..\packages\MvvmLightLibs.5.2.0.0\lib\net45\System.Windows.Interactivity.dll + ..\packages\MvvmLightLibs.5.3.0.0\lib\net45\System.Windows.Interactivity.dll True @@ -80,7 +80,6 @@ - diff --git a/Filtration.Common/ViewModels/FiltrationViewModelBase.cs b/Filtration.Common/ViewModels/FiltrationViewModelBase.cs deleted file mode 100644 index 8b41456..0000000 --- a/Filtration.Common/ViewModels/FiltrationViewModelBase.cs +++ /dev/null @@ -1,17 +0,0 @@ -using System.Runtime.CompilerServices; -using Filtration.ObjectModel.Annotations; -using GalaSoft.MvvmLight; - -namespace Filtration.Common.ViewModels -{ - public class FiltrationViewModelBase : ViewModelBase - { - /// This gives us the ReSharper option to transform an autoproperty into a property with change notification - /// Also leverages .net 4.5 callermembername attribute - [NotifyPropertyChangedInvocator] - protected override void RaisePropertyChanged([CallerMemberName]string property = "") - { - base.RaisePropertyChanged(property); - } - } -} diff --git a/Filtration.Common/ViewModels/PaneViewModel.cs b/Filtration.Common/ViewModels/PaneViewModel.cs index af2433e..7689cdc 100644 --- a/Filtration.Common/ViewModels/PaneViewModel.cs +++ b/Filtration.Common/ViewModels/PaneViewModel.cs @@ -1,8 +1,9 @@ using System.Windows.Media; +using GalaSoft.MvvmLight; namespace Filtration.Common.ViewModels { - public class PaneViewModel : FiltrationViewModelBase + public class PaneViewModel : ViewModelBase { private string _title; public string Title diff --git a/Filtration.Common/packages.config b/Filtration.Common/packages.config index b995e38..088a524 100644 --- a/Filtration.Common/packages.config +++ b/Filtration.Common/packages.config @@ -3,5 +3,5 @@ - + \ No newline at end of file diff --git a/Filtration.ItemFilterPreview.Data.Tests/App.config b/Filtration.ItemFilterPreview.Data.Tests/App.config new file mode 100644 index 0000000..9cac167 --- /dev/null +++ b/Filtration.ItemFilterPreview.Data.Tests/App.config @@ -0,0 +1,31 @@ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Filtration.ItemFilterPreview.Data.Tests/Filtration.ItemFilterPreview.Data.Tests.csproj b/Filtration.ItemFilterPreview.Data.Tests/Filtration.ItemFilterPreview.Data.Tests.csproj new file mode 100644 index 0000000..506fdf1 --- /dev/null +++ b/Filtration.ItemFilterPreview.Data.Tests/Filtration.ItemFilterPreview.Data.Tests.csproj @@ -0,0 +1,132 @@ + + + + Debug + AnyCPU + {7A5720DE-A41B-47EA-AAAB-7C5608FF0C1F} + Library + Properties + Filtration.ItemFilterPreview.Data.Tests + Filtration.ItemFilterPreview.Data.Tests + v4.6.1 + 512 + {3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + 10.0 + $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) + $(ProgramFiles)\Common Files\microsoft shared\VSTT\$(VisualStudioVersion)\UITestExtensionPackages + False + UnitTest + + + + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + ..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.dll + True + + + ..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.SqlServer.dll + True + + + ..\packages\NUnit.3.2.1\lib\net45\nunit.framework.dll + True + + + + + ..\packages\System.Data.SQLite.Core.1.0.101.0\lib\net46\System.Data.SQLite.dll + True + + + ..\packages\System.Data.SQLite.EF6.1.0.101.0\lib\net46\System.Data.SQLite.EF6.dll + True + + + ..\packages\System.Data.SQLite.Linq.1.0.101.0\lib\net46\System.Data.SQLite.Linq.dll + True + + + + + + + + + + + + + + + + + + + + + + + + + {855b38cc-eef2-471d-bbbc-eb3e2ff3d387} + Filtration.ItemFilterPreview.Data + + + {4aac3beb-1dc1-483e-9d11-0e9334e80227} + Filtration.ObjectModel + + + + + + + False + + + False + + + False + + + False + + + + + + + + + + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + + + + + \ No newline at end of file diff --git a/Filtration.ItemFilterPreview.Data.Tests/Properties/AssemblyInfo.cs b/Filtration.ItemFilterPreview.Data.Tests/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..b729f98 --- /dev/null +++ b/Filtration.ItemFilterPreview.Data.Tests/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("Filtration.ItemFilterPreview.Data.Tests")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("Filtration.ItemFilterPreview.Data.Tests")] +[assembly: AssemblyCopyright("Copyright © 2016")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("7a5720de-a41b-47ea-aaab-7c5608ff0c1f")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Filtration.ItemFilterPreview.Data.Tests/Repositories/TestItemSetRepository.cs b/Filtration.ItemFilterPreview.Data.Tests/Repositories/TestItemSetRepository.cs new file mode 100644 index 0000000..60db3ef --- /dev/null +++ b/Filtration.ItemFilterPreview.Data.Tests/Repositories/TestItemSetRepository.cs @@ -0,0 +1,54 @@ +using System.Linq; +using Filtration.ItemFilterPreview.Data.Repositories; +using Filtration.ObjectModel; +using Filtration.ObjectModel.Enums; +using NUnit.Framework; + +namespace Filtration.ItemFilterPreview.Data.Tests.Repositories +{ + [TestFixture] + public class TestItemSetRepository + { + [Test] + public void All_ReturnsAllItemSets() + { + using (var repository = new ItemSetRepository()) + { + var result = repository.All.ToList(); + } + } + + [Test] + public void AddItemToItemSet() + { + ItemSet fetchedItemSet; + using (var repository = new ItemSetRepository()) + { + fetchedItemSet = repository.Find(1); + } + + var newItem = new Item + { + BaseType = "Test Base", + Description = "Test Item Supreme", + DropLevel = 75, + Height = 3, + Width = 2, + ItemClass = "Super Class", + ItemRarity = ItemRarity.Rare, + ItemLevel = 50, + ItemSet = fetchedItemSet, + ItemSetId = fetchedItemSet.Id + + }; + + fetchedItemSet.Items.Add(newItem); + + using (var repository = new ItemSetRepository()) + { + repository.InsertOrUpdate(fetchedItemSet); + repository.Save(); + } + } + } +} diff --git a/Filtration.ItemFilterPreview.Data.Tests/packages.config b/Filtration.ItemFilterPreview.Data.Tests/packages.config new file mode 100644 index 0000000..a96a087 --- /dev/null +++ b/Filtration.ItemFilterPreview.Data.Tests/packages.config @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/Filtration.ItemFilterPreview.Data/App.config b/Filtration.ItemFilterPreview.Data/App.config new file mode 100644 index 0000000..b7a3dbe --- /dev/null +++ b/Filtration.ItemFilterPreview.Data/App.config @@ -0,0 +1,29 @@ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Filtration.ItemFilterPreview.Data/DataContexts/FiltrationDbContext.cs b/Filtration.ItemFilterPreview.Data/DataContexts/FiltrationDbContext.cs new file mode 100644 index 0000000..1700be2 --- /dev/null +++ b/Filtration.ItemFilterPreview.Data/DataContexts/FiltrationDbContext.cs @@ -0,0 +1,47 @@ +using System; +using System.Data.Entity; +using Filtration.ObjectModel; + +namespace Filtration.ItemFilterPreview.Data.DataContexts +{ + public class FiltrationDbContext : DbContext + { + public FiltrationDbContext() : base("name=FiltrationDbContext") + { + // Disable database initializer + Database.SetInitializer(null); + Database.Log = Console.WriteLine; + } + + public virtual DbSet Items { get; set; } + public virtual DbSet ItemSets { get; set; } + + protected override void OnModelCreating(DbModelBuilder modelBuilder) + { + modelBuilder.Entity() + .Property(e => e.Description) + .IsUnicode(false); + + modelBuilder.Entity() + .Property(e => e.BaseType) + .IsUnicode(false); + + modelBuilder.Entity() + .Property(e => e.ItemClass) + .IsUnicode(false); + + modelBuilder.Entity() + .Property(e => e.Sockets) + .IsUnicode(false); + + modelBuilder.Entity() + .Property(e => e.Name) + .IsUnicode(false); + + modelBuilder.Entity() + .HasMany(e => e.Items) + .WithRequired(e => e.ItemSet) + .WillCascadeOnDelete(false); + } + } +} diff --git a/Filtration.ItemFilterPreview.Data/Filtration.ItemFilterPreview.Data.csproj b/Filtration.ItemFilterPreview.Data/Filtration.ItemFilterPreview.Data.csproj new file mode 100644 index 0000000..a0ec6c6 --- /dev/null +++ b/Filtration.ItemFilterPreview.Data/Filtration.ItemFilterPreview.Data.csproj @@ -0,0 +1,95 @@ + + + + + Debug + AnyCPU + {855B38CC-EEF2-471D-BBBC-EB3E2FF3D387} + Library + Properties + Filtration.ItemFilterPreview.Data + Filtration.ItemFilterPreview.Data + v4.6.1 + 512 + + + + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + ..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.dll + True + + + + + + ..\packages\System.Data.SQLite.Core.1.0.101.0\lib\net46\System.Data.SQLite.dll + True + + + ..\packages\System.Data.SQLite.EF6.1.0.101.0\lib\net46\System.Data.SQLite.EF6.dll + True + + + ..\packages\System.Data.SQLite.Linq.1.0.101.0\lib\net46\System.Data.SQLite.Linq.dll + True + + + + + + + + + + + + + + + + + + + + + + + {4aac3beb-1dc1-483e-9d11-0e9334e80227} + Filtration.ObjectModel + + + + + + + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + + + + + \ No newline at end of file diff --git a/Filtration.ItemFilterPreview.Data/Properties/AssemblyInfo.cs b/Filtration.ItemFilterPreview.Data/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..6e8aadf --- /dev/null +++ b/Filtration.ItemFilterPreview.Data/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("Filtration.ItemFilterPreview.Data")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("Filtration.ItemFilterPreview.Data")] +[assembly: AssemblyCopyright("Copyright © 2016")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("855b38cc-eef2-471d-bbbc-eb3e2ff3d387")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Filtration.ItemFilterPreview.Data/Repositories/IEntityRepository.cs b/Filtration.ItemFilterPreview.Data/Repositories/IEntityRepository.cs new file mode 100644 index 0000000..ecbcdb1 --- /dev/null +++ b/Filtration.ItemFilterPreview.Data/Repositories/IEntityRepository.cs @@ -0,0 +1,16 @@ +using System; +using System.Linq; +using System.Linq.Expressions; + +namespace Filtration.ItemFilterPreview.Data.Repositories +{ + public interface IEntityRepository : IDisposable + { + IQueryable All { get; } + IQueryable AllIncluding(params Expression>[] includeProperties); + T Find(int id); + void InsertOrUpdate(T itemSet); + void Delete(int id); + void Save(); + } +} \ No newline at end of file diff --git a/Filtration.ItemFilterPreview.Data/Repositories/ItemSetRepository.cs b/Filtration.ItemFilterPreview.Data/Repositories/ItemSetRepository.cs new file mode 100644 index 0000000..4f884dd --- /dev/null +++ b/Filtration.ItemFilterPreview.Data/Repositories/ItemSetRepository.cs @@ -0,0 +1,63 @@ +using System; +using System.Data.Entity; +using System.Linq; +using System.Linq.Expressions; +using Filtration.ItemFilterPreview.Data.DataContexts; +using Filtration.ObjectModel; + +namespace Filtration.ItemFilterPreview.Data.Repositories +{ + public class ItemSetRepository : IEntityRepository + { + FiltrationDbContext _context = new FiltrationDbContext(); + + + public IQueryable All => _context.ItemSets; + + public IQueryable AllIncluding(params Expression>[] includeProperties) + { + IQueryable query = _context.ItemSets; + foreach (var includeProperty in includeProperties) + { + query = query.Include(includeProperty); + } + + return query; + } + + public ItemSet Find(int id) + { + return _context.ItemSets.Find(id); + } + + public void InsertOrUpdate(ItemSet itemSet) + { + if (itemSet.Id == default(long)) + { + // New entity + _context.ItemSets.Add(itemSet); + } + else + { + // Existing entity + _context.Entry(itemSet).State = EntityState.Modified; + } + } + + public void Delete(int id) + { + var itemSet = _context.ItemSets.Find(id); + _context.ItemSets.Remove(itemSet); + } + + public void Save() + { + _context.SaveChanges(); + } + + public void Dispose() + { + _context.Dispose(); + } + } +} diff --git a/Filtration.ItemFilterPreview.Data/packages.config b/Filtration.ItemFilterPreview.Data/packages.config new file mode 100644 index 0000000..5744e16 --- /dev/null +++ b/Filtration.ItemFilterPreview.Data/packages.config @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/Filtration.ItemFilterPreview.Tests/Filtration.ItemFilterPreview.Tests.csproj b/Filtration.ItemFilterPreview.Tests/Filtration.ItemFilterPreview.Tests.csproj index 012b86a..1ce6122 100644 --- a/Filtration.ItemFilterPreview.Tests/Filtration.ItemFilterPreview.Tests.csproj +++ b/Filtration.ItemFilterPreview.Tests/Filtration.ItemFilterPreview.Tests.csproj @@ -42,27 +42,31 @@ 4 - - ..\packages\FluentAssertions.4.2.1\lib\net45\FluentAssertions.dll + + ..\packages\Castle.Core.3.3.3\lib\net45\Castle.Core.dll True - - ..\packages\FluentAssertions.4.2.1\lib\net45\FluentAssertions.Core.dll + + ..\packages\FluentAssertions.4.8.0\lib\net45\FluentAssertions.dll True - - ..\packages\Moq.4.2.1510.2205\lib\net40\Moq.dll + + ..\packages\FluentAssertions.4.8.0\lib\net45\FluentAssertions.Core.dll True - - ..\packages\NUnit.3.0.1\lib\net45\nunit.framework.dll + + ..\packages\Moq.4.5.9\lib\net45\Moq.dll + True + + + ..\packages\NUnit.3.2.1\lib\net45\nunit.framework.dll True - - ..\packages\YamlDotNet.3.7.0\lib\net35\YamlDotNet.dll + + ..\packages\YamlDotNet.3.9.0\lib\net35\YamlDotNet.dll True @@ -84,7 +88,6 @@ - @@ -115,6 +118,7 @@ + diff --git a/Filtration.ItemFilterPreview.Tests/Services/TestItemBlockItemMatcher.cs b/Filtration.ItemFilterPreview.Tests/Services/TestItemBlockItemMatcher.cs index 15c6929..7c4b61f 100644 --- a/Filtration.ItemFilterPreview.Tests/Services/TestItemBlockItemMatcher.cs +++ b/Filtration.ItemFilterPreview.Tests/Services/TestItemBlockItemMatcher.cs @@ -1,5 +1,4 @@ using System.Collections.Generic; -using Filtration.ItemFilterPreview.Model; using Filtration.ItemFilterPreview.Services; using Filtration.ObjectModel; using Filtration.ObjectModel.BlockItemTypes; @@ -154,7 +153,8 @@ namespace Filtration.ItemFilterPreview.Tests.Services [TestCase("Test Item Class", true)] [TestCase("Test It", true)] [TestCase("T", true)] - [TestCase("Item Class", false)] + [TestCase("Carrots", false)] + [TestCase("Item Class", true)] public void ItemBlockItemMatch_ClassBlockItem_SingleBlockItemValue_ReturnsCorrectResult(string testInputBlockItemItemClass, bool expectedResult) { //Arrange @@ -362,7 +362,7 @@ namespace Filtration.ItemFilterPreview.Tests.Services public void ItemBlockItemMatch_SocketsBlockItem_ReturnsCorrectResult(FilterPredicateOperator testInputFilterPredicateOperator, int testInputBlockItemSockets, bool expectedResult) { //Arrange - var testInputItem = Mock.Of(i => i.Sockets == 3); + var testInputItem = Mock.Of(i => i.SocketCount == 3); var testInputBlockItem = new SocketsBlockItem(testInputFilterPredicateOperator, testInputBlockItemSockets); //Act diff --git a/Filtration.ItemFilterPreview.Tests/Services/TestItemFilterProcessor.cs b/Filtration.ItemFilterPreview.Tests/Services/TestItemFilterProcessor.cs index cb4874f..28d1e66 100644 --- a/Filtration.ItemFilterPreview.Tests/Services/TestItemFilterProcessor.cs +++ b/Filtration.ItemFilterPreview.Tests/Services/TestItemFilterProcessor.cs @@ -1,7 +1,6 @@ using System.Collections.Generic; using System.Collections.ObjectModel; using System.Linq; -using Filtration.ItemFilterPreview.Model; using Filtration.ItemFilterPreview.Services; using Filtration.ItemFilterPreview.Tests.Properties; using Filtration.ObjectModel; diff --git a/Filtration.ItemFilterPreview.Tests/Services/serializationtest.cs b/Filtration.ItemFilterPreview.Tests/Services/serializationtest.cs index 35e87a7..45a6942 100644 --- a/Filtration.ItemFilterPreview.Tests/Services/serializationtest.cs +++ b/Filtration.ItemFilterPreview.Tests/Services/serializationtest.cs @@ -3,7 +3,6 @@ using System.Collections.Generic; using System.IO; using System.Xml; using System.Xml.Serialization; -using Filtration.ItemFilterPreview.Model; using Filtration.ObjectModel; using Filtration.ObjectModel.Enums; using NUnit.Framework; diff --git a/Filtration.ItemFilterPreview.Tests/app.config b/Filtration.ItemFilterPreview.Tests/app.config index 8362b90..43e75bf 100644 --- a/Filtration.ItemFilterPreview.Tests/app.config +++ b/Filtration.ItemFilterPreview.Tests/app.config @@ -4,7 +4,7 @@ - + diff --git a/Filtration.ItemFilterPreview.Tests/packages.config b/Filtration.ItemFilterPreview.Tests/packages.config index 9adfa15..e94dbc7 100644 --- a/Filtration.ItemFilterPreview.Tests/packages.config +++ b/Filtration.ItemFilterPreview.Tests/packages.config @@ -1,7 +1,8 @@  - - - - + + + + + \ No newline at end of file diff --git a/Filtration.ItemFilterPreview/Filtration.ItemFilterPreview.csproj b/Filtration.ItemFilterPreview/Filtration.ItemFilterPreview.csproj index dfa45a1..699e4a0 100644 --- a/Filtration.ItemFilterPreview/Filtration.ItemFilterPreview.csproj +++ b/Filtration.ItemFilterPreview/Filtration.ItemFilterPreview.csproj @@ -44,29 +44,30 @@ ..\packages\Castle.Windsor.3.3.0\lib\net45\Castle.Windsor.dll True - - ..\packages\MvvmLightLibs.5.2.0.0\lib\net45\GalaSoft.MvvmLight.dll + + ..\packages\MvvmLightLibs.5.3.0.0\lib\net45\GalaSoft.MvvmLight.dll True - - ..\packages\MvvmLightLibs.5.2.0.0\lib\net45\GalaSoft.MvvmLight.Extras.dll + + ..\packages\MvvmLightLibs.5.3.0.0\lib\net45\GalaSoft.MvvmLight.Extras.dll True - - ..\packages\MvvmLightLibs.5.2.0.0\lib\net45\GalaSoft.MvvmLight.Platform.dll + + ..\packages\MvvmLightLibs.5.3.0.0\lib\net45\GalaSoft.MvvmLight.Platform.dll True ..\packages\CommonServiceLocator.1.3\lib\portable-net4+sl5+netcore45+wpa81+wp8\Microsoft.Practices.ServiceLocation.dll True - - ..\packages\Moq.4.2.1510.2205\lib\net40\Moq.dll + + ..\packages\Moq.4.5.9\lib\net45\Moq.dll + True - ..\packages\MvvmLightLibs.5.2.0.0\lib\net45\System.Windows.Interactivity.dll + ..\packages\MvvmLightLibs.5.3.0.0\lib\net45\System.Windows.Interactivity.dll True @@ -87,8 +88,6 @@ MSBuild:Compile Designer - - @@ -191,6 +190,9 @@ + + + - + + diff --git a/Filtration/Filtration.csproj b/Filtration/Filtration.csproj index 9e21326..e478acd 100644 --- a/Filtration/Filtration.csproj +++ b/Filtration/Filtration.csproj @@ -42,8 +42,8 @@ Resources\filtration.ico - - ..\packages\AutoMapper.4.2.0\lib\net45\AutoMapper.dll + + ..\packages\AutoMapper.4.2.1\lib\net45\AutoMapper.dll True @@ -53,20 +53,24 @@ ..\packages\Castle.Windsor.3.3.0\lib\net45\Castle.Windsor.dll - - ..\packages\Fluent.Ribbon.3.6.1.236\lib\net45\Fluent.dll + + ..\packages\ControlzEx.2.0.1.61\lib\net45\ControlzEx.dll True - - ..\packages\MvvmLightLibs.5.2.0.0\lib\net45\GalaSoft.MvvmLight.dll + + ..\packages\Fluent.Ribbon.4.0.3.394\lib\net45\Fluent.dll True - - ..\packages\MvvmLightLibs.5.2.0.0\lib\net45\GalaSoft.MvvmLight.Extras.dll + + ..\packages\MvvmLightLibs.5.3.0.0\lib\net45\GalaSoft.MvvmLight.dll True - - ..\packages\MvvmLightLibs.5.2.0.0\lib\net45\GalaSoft.MvvmLight.Platform.dll + + ..\packages\MvvmLightLibs.5.3.0.0\lib\net45\GalaSoft.MvvmLight.Extras.dll + True + + + ..\packages\MvvmLightLibs.5.3.0.0\lib\net45\GalaSoft.MvvmLight.Platform.dll True @@ -75,7 +79,7 @@ - ..\packages\NLog.4.2.3\lib\net45\NLog.dll + ..\packages\NLog.4.3.4\lib\net45\NLog.dll True @@ -90,7 +94,7 @@ - ..\packages\MahApps.Metro.1.2.4.0\lib\net45\System.Windows.Interactivity.dll + ..\packages\MvvmLightLibs.5.3.0.0\lib\net45\System.Windows.Interactivity.dll True @@ -109,32 +113,32 @@ False ..\packages\WPFToolkit.3.5.50211.1\lib\WPFToolkit.dll - - ..\packages\Extended.Wpf.Toolkit.2.6\lib\net40\Xceed.Wpf.AvalonDock.dll + + ..\packages\Extended.Wpf.Toolkit.2.8\lib\net40\Xceed.Wpf.AvalonDock.dll True - - ..\packages\Extended.Wpf.Toolkit.2.6\lib\net40\Xceed.Wpf.AvalonDock.Themes.Aero.dll + + ..\packages\Extended.Wpf.Toolkit.2.8\lib\net40\Xceed.Wpf.AvalonDock.Themes.Aero.dll True - - ..\packages\Extended.Wpf.Toolkit.2.6\lib\net40\Xceed.Wpf.AvalonDock.Themes.Metro.dll + + ..\packages\Extended.Wpf.Toolkit.2.8\lib\net40\Xceed.Wpf.AvalonDock.Themes.Metro.dll True - - ..\packages\Extended.Wpf.Toolkit.2.6\lib\net40\Xceed.Wpf.AvalonDock.Themes.VS2010.dll + + ..\packages\Extended.Wpf.Toolkit.2.8\lib\net40\Xceed.Wpf.AvalonDock.Themes.VS2010.dll True False libs\Xceed.Wpf.AvalonDock.Themes.VS2013.dll - - ..\packages\Extended.Wpf.Toolkit.2.6\lib\net40\Xceed.Wpf.DataGrid.dll + + ..\packages\Extended.Wpf.Toolkit.2.8\lib\net40\Xceed.Wpf.DataGrid.dll True - - ..\packages\Extended.Wpf.Toolkit.2.6\lib\net40\Xceed.Wpf.Toolkit.dll + + ..\packages\Extended.Wpf.Toolkit.2.8\lib\net40\Xceed.Wpf.Toolkit.dll True diff --git a/Filtration/NLog.xsd b/Filtration/NLog.xsd index a719741..dc821bc 100644 --- a/Filtration/NLog.xsd +++ b/Filtration/NLog.xsd @@ -45,6 +45,11 @@ Pass NLog internal exceptions to the application. Default value is: false. + + + Write internal NLog messages to the the System.Diagnostics.Trace. Default value is: false + + @@ -611,6 +616,7 @@ + @@ -634,6 +640,11 @@ Indicates whether to match whole words only. + + + Compile the ? This can improve the performance, but at the costs of more memory usage. If false, the Regex Cache is used. + + Background color. @@ -911,7 +922,9 @@ + + @@ -948,14 +961,31 @@ Value to be used as the event Source. + + + Action to take if the message is larger than the option. + + Optional entrytype. When not set, or when not convertable to then determined by + + + Message length limit to write to the Event Log. + + + + + + + + + @@ -1090,7 +1120,7 @@ - Value specifying the date format to use when archving files. + Value specifying the date format to use when archiving files. @@ -1661,7 +1691,7 @@ - Method name. The method must be public and static. + Method name. The method must be public and static. Use the AssemblyQualifiedName , https://msdn.microsoft.com/en-us/library/system.type.assemblyqualifiedname(v=vs.110).aspx e.g. diff --git a/Filtration/Resources/ItemBaseTypes.txt b/Filtration/Resources/ItemBaseTypes.txt index 8a43400..50922cd 100644 --- a/Filtration/Resources/ItemBaseTypes.txt +++ b/Filtration/Resources/ItemBaseTypes.txt @@ -1,210 +1,508 @@ -Anger +A Mother's Parting Gift +Abandoned Cavern Map +Abandoned Cavern Map +Abandoned Wealth +Abyss Map +Abyssal Axe +Abyssal Cry +Abyssal Sceptre +Academy Map +Academy Map +Added Chaos Damage Support +Added Cold Damage Support +Added Fire Damage Support +Added Lightning Damage Support +Additional Accuracy Support +Agate Amulet +Albino Rhoa Feather +Alchemy Shard +Alder Spiked Shield +Alira's Amulet +Allflame +Alloyed Spiked Shield +Alteration Shard +Amber Amulet +Ambush Boots +Ambush Mitts +Ambusher +Amethyst Flask +Amethyst Ring +Ammonite Glyph +Anarchy's Price +Ancestral Blademaster +Ancestral Club +Ancestral Protector +Ancestral Warchief +Ancient Gauntlets +Ancient Greaves +Ancient Spirit Shield +Ancient Sword +Angelic Kite Shield +Anger Animate Guardian Animate Weapon +Antique Gauntlets +Antique Greaves +Antique Rapier +Apex Rapier +Aquamarine Flask +Arachnid Nest Map +Arachnid Nest Map Arc +Arcade Map +Arcade Map +Arcanist Gloves +Arcanist Slippers +Archon Kite Shield +Arctic Armour Arctic Armour Arctic Breath +Arena Map +Arena Plate +Arid Lake Map +Arid Lake Map +Arming Axe +Armourer's Scrap +Arsenal Map +Arsenal Map +Ashscale Talisman +Assassin Bow +Assassin's Boots +Assassin's Favour +Assassin's Garb Assassin's Mark +Assassin's Mitts +Astral Plate +Audacity +Auric Mace +Aventail Helmet +Avian Slippers +Avian Twins Talisman +Avian Twins Talisman +Avian Twins Talisman +Avian Twins Talisman +Avian Twins Talisman +Avian Twins Talisman +Awl +Backstab +Baleful Gem Ball Lightning +Bane of the Loyal +Barbed Club +Barbute Helmet +Baroque Round Shield Barrage +Basalt Flask +Baselard +Basket Rapier +Bastard Sword +Battered Foil +Battered Helm +Battle Buckler +Battle Hammer +Battle Lamellar +Battle Plate +Battle Sword +Bazaar Map +Bazaar Map Bear Trap +Behemoth Mace +Birth of the Three +Bismuth Flask +Black Maw Talisman +Black Rose of Anarchy +Blacksmith's Whetstone +Blade Trap +Blade Vortex +Bladed Mace +Bladefall +Blasphemy Support +Blast Rain +Blessed Orb +Blight +Blind Support +Blind Venture +Blinder Blink Arrow +Block Chance Reduction Support +Blood Magic Support Blood Rage +Blood Raiment +Blood Sceptre +Bloodlust Support +Blunt Arrow Quiver +Boarding Axe +Bog Map +Bog Map +Bone Armour +Bone Bow +Bone Circlet Bone Offering +Bone Spirit Shield +Bonespire Talisman +Book of Reform +Book of Reform +Book of Reform +Book of Reform +Book of Regression +Book of Regrets +Book of Regrets +Book of Skill +Book of Skill +Book of Skill +Book of Skill +Book of Skill +Book of Skill +Book of Skill +Book of Skill +Book of Skill +Book of Skill +Book of Skill +Book of Skill +Boot Blade +Boot Knife +Boundless Realms +Bowyer's Dream +Branded Kite Shield +Brass Maul +Brass Spirit Shield +Breakrib Talisman +Broad Axe +Broad Sword +Broadhead Arrow Quiver +Bronze Gauntlets +Bronze Plate +Bronze Sceptre +Bronze Tower Shield +Bronzescale Boots +Bronzescale Gauntlets +Buckskin Tower Shield +Buckskin Tunic Burning Arrow +Burnished Foil +Burnished Spiked Shield +Bust of Gaius Sentari +Bust of Hector Titucius +Bust of Marceus Lioneye +Butcher Axe +Butcher Knife +Butcher Sword +Cabalist Regalia +Callous Mask +Canyon Map +Canyon Map +Cardinal Round Shield +Carnal Armour +Carnal Boots +Carnal Mitts +Carnal Sceptre +Cartographer's Chisel +Cartographer's Delight +Carved Wand +Carving Knife +Cast On Critical Strike Support +Cast on Death Support +Cast on Melee Kill Support +Cast when Damage Taken Support +Cast when Stunned Support +Catacomb Map +Catacomb Map +Cat's Paw +Caustic Arrow +Cedar Tower Shield +Cells Map +Cells Map +Cemetery Map +Cemetery Map +Ceremonial Axe +Ceremonial Kite Shield +Ceremonial Mace +Chain Belt +Chain Boots +Chain Gloves +Chain Hauberk +Chain Support +Chainmail Doublet +Chainmail Tunic +Chainmail Vest +Champion Kite Shield +Chance to Flee Support +Chance to Ignite Support +Channel Map +Chaos Orb +Chaotic Disposition +Charged Attack +Chateau Map +Chest Splitter +Chestplate +Chiming Spirit Shield +Chitus' Plum +Chromatic Orb +Chrysalis Talisman +Citadel Bow +Citrine Amulet Clarity +Clasped Boots +Clasped Mitts Cleave +Cleaver +Close Helmet +Cloth Belt +Cluster Traps Support +Clutching Talisman +Cobalt Jewel +Cogs of Disruption +Coiled Staff +Cold Penetration Support Cold Snap +Cold to Fire Support +Colonnade Map +Colonnade Map +Colossal Hybrid Flask +Colossal Life Flask +Colossal Mana Flask +Colossal Tower Shield +Colosseum Map +Colosseum Plate +Colossus Mallet +Commander's Brigandine +Composite Bow +Compound Bow +Compound Spiked Shield +Concentrated Effect Support +Conductive Quiver Conductivity +Cone Helmet +Conjurer Boots +Conjurer Gloves +Conjurer's Vestment +Conquest Chainmail +Conservatory Map +Conservatory Map +Contagion +Controlled Destruction Support Conversion Trap Convocation +Copper Kris +Copper Plate +Copper Sword +Copper Tower Shield +Coral Amulet +Coral Ring +Core Map +Coronal Leather +Coronal Maul +Corroded Blade +Corroded Tower Shield +Corrugated Buckler +Corsair Sword +Courtesan Sword +Courtyard Map +Courtyard Map +Coves Map +Coves Map +Coveted Possession +Crematorium Map +Crematorium Map +Crescent Staff +Crested Tower Shield +Crimson Jewel +Crimson Raiment +Crimson Round Shield +Crude Bow +Crusader Boots +Crusader Buckler +Crusader Chainmail +Crusader Gloves +Crusader Helmet +Crusader Plate +Crypt Armour +Crypt Map +Crypt Map +Crystal Sceptre +Crystal Wand +Cube Of Absorption +Culling Strike Support +Cured Quiver +Curse On Hit Support +Curved Blade +Cutlass +Cutthroat's Garb Cyclone +Dagger Axe +Damage Infusion +Dark Forest Map +Dark Forest Map +Darkwood Sceptre +Deadhand Talisman +Death +Death Bow +Decanter Spiritus +Decimation Bow +Decorative Axe Decoy Totem +Decurve Bow +Deep One Talisman +Deerskin Boots +Deerskin Gloves +Deicide Mask +Demon Dagger +Demon's Horn Desecrate +Desert Brigandine +Desert Map +Deshret's Banner +Despot Axe +Destined to Crumble +Destiny Leather +Destroyer Regalia Determination Detonate Dead Detonate Mines Devouring Totem +Devout Chainmail +Dialla's Subjugation +Diamond Flask +Diamond Ring Discharge Discipline +Divine Life Flask +Divine Mana Flask +Divine Orb +Doedre's Madness Dominating Blow +Double Axe +Double Claw Double Strike +Dragon Mace +Dragonbone Rapier +Dragonscale Boots +Dragonscale Doublet +Dragonscale Gauntlets +Dragoon Sword +Dread Maul +Dream Mace +Driftwood Club +Driftwood Maul +Driftwood Sceptre +Driftwood Spiked Shield +Driftwood Wand +Dry Peninsula Map +Dry Peninsula Map +Dry Woods Map +Dry Woods Map Dual Strike +Dunes Map +Dunes Map +Dungeon Map +Dungeon Map +Dusk Blade +Dying Anguish +Eagle Claw +Earth Drinker +Earthquake +Eber's Key +Ebony Tower Shield +Eclipse Staff +Eelskin Boots +Eelskin Gloves +Eelskin Tunic +Elder Sword +Elegant Foil +Elegant Ringmail +Elegant Round Shield +Elegant Sword +Elemental Focus Support Elemental Hit +Elemental Projectiles +Elemental Proliferation Support Elemental Weakness +Embroidered Gloves +Emperor of Purity +Emperor's Luck +Empower Support +Enameled Buckler +Enchant +Endurance Charge on Melee Stun Support Enduring Cry +Energy Beam Enfeeble +Engraved Greatsword +Engraved Hatchet +Engraved Wand +Enhance Support +Enlighten Support +Essence Drain +Estoc +Etched Greatsword +Etched Hatchet +Etched Kite Shield +Eternal Burgonet +Eternal Life Flask +Eternal Mana Flask +Eternal Orb +Eternal Sword Ethereal Knives +Exalted Orb +Excavation Map Explosive Arrow +Exquisite Blade +Exquisite Leather +Eye Gouger +Ezomyte Axe +Ezomyte Blade +Ezomyte Burgonet +Ezomyte Dagger +Ezomyte Spiked Shield +Ezomyte Staff +Ezomyte Tower Shield +Fancy Foil +Fangjaw Talisman +Faster Attacks Support +Faster Casting Support +Faster Projectiles Support +Faun's Horn +Fencer Helm +Festival Mask +Field Lamellar +Fiend Dagger +Fir Round Shield +Fire Arrow Quiver +Fire Nova Mine +Fire Penetration Support Fire Trap +Fire Weapon Fireball Firestorm +Fishing Rod +Fishscale Gauntlets +Flame Dash Flame Surge Flame Totem Flameblast Flammability +Flanged Mace +Flaying Knife Flesh Offering +Fleshripper Flicker Strike +Fluted Bascinet +Footman Sword +Fork Support +Fortify Support +Fossilised Spirit Shield +Foul Staff Freeze Mine Freezing Pulse Frenzy +Fright Claw +Fright Maul +Frontier Leather +Frost Blades +Frost Bomb Frost Wall Frostbite -Glacial Cascade -Glacial Hammer -Grace -Ground Slam -Haste -Hatred -Heavy Strike -Herald of Ash -Herald of Ice -Herald of Thunder -Ice Nova -Ice Shot -Ice Spear -Ignite -Immortal Call -Incinerate -Infernal Blow -Kinetic Blast -Leap Slam -Lightning Arrow -Lightning Strike -Lightning Tendrils -Lightning Trap -Lightning Warp -Mirror Arrow -Molten Shell -Molten Strike -Phase Run troll -Poacher's Mark -Poison Arrow -Portal -Power Siphon -Projectile Weakness -Puncture -Punishment -Purity of Elements -Purity of Fire -Purity of Ice -Purity of Lightning -Rain of Arrows -Raise Spectre -Raise Zombie -Reave -Reckoning -Rejuvenation Totem -Righteous Fire -Riposte -Searing Bond -Shield Charge -Shock Nova -Shockwave Totem -Smoke Mine -Spark -Spectral Throw -Split Arrow -Static Strike -Storm Call -Summon Raging Spirit -Summon Skeletons -Sweep -Tempest Shield -Temporal Chains -Tornado Shot -Touch of God -Vaal Arc -Vaal Burning Arrow -Vaal Clarity -Vaal Cold Snap -Vaal Cyclone -Vaal Detonate Dead -Vaal Discipline -Vaal Double Strike -Vaal Fireball -Vaal Flameblast -Vaal Glacial Hammer -Vaal Grace -Vaal Ground Slam -Vaal Haste -Vaal Heavy Strike -Vaal Ice Nova -Vaal Immortal Call -Vaal Lightning Strike -Vaal Lightning Warp -Vaal Molten Shell -Vaal Power Siphon -Vaal Rain of Arrows -Vaal Reave -Vaal Righteous Fire -Vaal Spark -Vaal Spectral Throw -Vaal Storm Call -Vaal Summon Skeletons -Vaal Sweep -Vengeance -Viper Strike -Vitality -Vulnerability -Warlord's Mark -Whirling Blades -Wrath -Agate Amulet -Amber Amulet -Citrine Amulet -Coral Amulet -Gold Amulet -Jade Amulet -Jet Amulet -Lapis Amulet -Onyx Amulet -Paua Amulet -Turquoise Amulet -Chain Belt -Cloth Belt -Golden Obi -Heavy Belt -Leather Belt -Rustic Sash -Studded Belt -Arena Plate -Assassin's Garb -Astral Plate -Battle Lamellar -Battle Plate -Blood Raiment -Bone Armour -Bronze Plate -Buckskin Tunic -Cabalist Regalia -Carnal Armour -Chain Hauberk -Chainmail Doublet -Chainmail Tunic -Chainmail Vest -Chestplate -Colosseum Plate -Commander's Brigandine -Conjurer's Vestment -Conquest Chainmail -Copper Plate -Coronal Leather -Crimson Raiment -Crusader Chainmail -Crusader Plate -Crypt Armour -Cutthroat's Garb -Desert Brigandine -Destiny Leather -Destroyer Regalia -Devout Chainmail -Dragonscale Doublet -Eelskin Tunic -Elegant Ringmail -Exquisite Leather -Field Lamellar -Frontier Leather +Frostbolt Full Chainmail Full Dragonscale Full Leather @@ -212,911 +510,1023 @@ Full Plate Full Ringmail Full Scale Armour Full Wyrmscale +Gavel +Gemcutter's Prism +Gemcutter's Promise +Gemini Claw +Gemstone Sword General's Brigandine +Generosity Support +Ghetto Map +Ghetto Map +Giant Life Flask +Giant Mana Flask +Gift of the Gemling Queen +Gilded Axe +Gilded Buckler +Gilded Sallet +Girded Tower Shield +Glacial Cascade +Glacial Hammer +Gladiator Helmet Gladiator Plate +Gladius +Glass Shank +Glassblower's Bauble +Glimmer of Hope Glorious Leather Glorious Plate -Golden Plate -Holy Chainmail -Hussar Brigandine -Infantry Brigandine -Kaom's Plate -Lacquered Garb -Latticed Ringmail -Light Brigandine -Lordly Plate -Loricated Ringmail -Mage's Vestment -Majestic Plate -Necromancer Silks -Occultist's Vestment -Oiled Coat -Oiled Vest -Ornate Ringmail -Padded Jacket -Padded Vest -Plate Vest -Quilted Jacket -Ringmail Coat -Sacrificial Garb -Sadist Garb -Sage's Robe -Saintly Chainmail -Saint's Hauberk -Savant's Robe -Scale Doublet -Scale Vest -Scarlet Raiment -Scholar's Robe -Sentinel Jacket -Shabby Jerkin -Sharkskin Tunic -Silk Robe -Silken Garb -Silken Vest -Silken Wrap -Simple Robe -Sleek Coat -Soldier's Brigandine -Spidersilk Robe -Strapped Leather -Sun Leather -Sun Plate -Thief's Garb -Triumphant Lamellar -Vaal Regalia -Varnished Coat -War Plate -Waxed Garb -Widowsilk Robe -Wild Leather -Wyrmscale Doublet -Zodiac Leather -Ambush Boots -Ancient Greaves -Antique Greaves -Arcanist Slippers -Assassin's Boots -Avian Slippers -Bronzescale Boots -Carnal Boots -Chain Boots -Clasped Boots -Conjurer Boots -Crusader Boots -Deerskin Boots -Dragonscale Boots -Eelskin Boots +Gnarled Branch Goathide Boots -Golden Caligae -Goliath Greaves -Hydrascale Boots -Iron Greaves -Ironscale Boots -Kaom's Greaves -Leatherscale Boots -Legion Boots -Mesh Boots -Murder Boots -Nubuck Boots -Plated Greaves -Rawhide Boots -Reinforced Greaves -Ringmail Boots -Riveted Boots -Samite Slippers -Satin Slippers -Scholar Boots -Serpentscale Boots -Shackled Boots -Shagreen Boots -Sharkskin Boots -Silk Slippers -Slink Boots -Soldier Boots -Sorcerer Boots -Stealth Boots -Steel Greaves -Steelscale Boots -Strapped Boots -Titan Greaves -Trapper Boots -Vaal Greaves -Velvet Slippers -Wool Shoes -Wrapped Boots -Wyrmscale Boots -Zealot Boots -Bone Bow -Citadel Bow -Composite Bow -Compound Bow -Crude Bow -Death Bow -Decimation Bow -Decurve Bow -Grove Bow -Harbinger Bow -Highborn Bow -Imperial Bow -Ivory Bow -Long Bow -Maraketh Bow -Ranger Bow -Recurve Bow -Royal Bow -Short Bow -Sniper Bow -Spine Bow -Thicket Bow -Awl -Blinder -Cat's Paw -Eagle Claw -Eye Gouger -Fright Claw -Gouger -Great White Claw -Gut Ripper -Hellion's Paw -Imperial Claw -Nailed Fist -Noble Claw -Prehistoric Claw -Sharktooth Claw -Sparkling Claw -Terror Claw -Thresher Claw -Throat Stabber -Tiger's Paw -Timeworn Claw -Vaal Claw -Diamond Flask -Ambusher -Boot Blade -Boot Knife -Butcher Knife -Carving Knife -Copper Kris -Demon Dagger -Ezomyte Dagger -Fiend Dagger -Flaying Knife -Glass Shank -Golden Kris -Gutting Knife -Imp Dagger -Imperial Skean -Platinum Kris -Poignard -Royal Skean -Skean -Skinning Knife -Slaughter Knife -Stiletto -Fishing Rod -Ambush Mitts -Ancient Gauntlets -Antique Gauntlets -Arcanist Gloves -Assassin's Mitts -Bronze Gauntlets -Bronzescale Gauntlets -Carnal Mitts -Chain Gloves -Clasped Mitts -Conjurer Gloves -Crusader Gloves -Deerskin Gloves -Dragonscale Gauntlets -Eelskin Gloves -Embroidered Gloves -Fishscale Gauntlets +Goathide Buckler Goathide Gloves +Goat's Horn +Gold Amulet +Gold Ring Golden Bracers -Goliath Gauntlets -Hydrascale Gauntlets -Iron Gauntlets -Ironscale Gauntlets -Legion Gloves -Mesh Gloves -Murder Mitts -Nubuck Gloves -Plated Gauntlets -Rawhide Gloves -Ringmail Gloves -Riveted Gloves -Samite Gloves -Satin Gloves -Serpentscale Gauntlets -Shagreen Gloves -Sharkskin Gloves -Silk Gloves -Slink Gloves -Soldier Gloves -Sorcerer Gloves -Stealth Gloves -Steel Gauntlets -Steelscale Gauntlets -Strapped Mitts -Titan Gauntlets -Trapper Mitts -Vaal Gauntlets -Velvet Gloves -Wool Gloves -Wrapped Mitts -Wyrmscale Gauntlets -Zealot Gloves -Aventail Helmet -Barbute Helmet -Battered Helm -Bone Circlet -Callous Mask -Close Helmet -Cone Helmet -Crusader Helmet -Deicide Mask -Eternal Burgonet -Ezomyte Burgonet -Fencer Helm -Festival Mask -Fluted Bascinet -Gilded Sallet -Gladiator Helmet +Golden Buckler +Golden Caligae +Golden Flame +Golden Hand +Golden Hoop +Golden Key +Golden Kris +Golden Mantle Golden Mask +Golden Obi +Golden Page +Golden Page +Golden Page +Golden Page +Golden Plate Golden Wreath +Goliath Gauntlets +Goliath Greaves +Gorge Map +Gorge Map +Gouger +Grace +Graceful Sword +Grand Life Flask +Grand Mana Flask +Granite Flask +Grappler +Grave Knowledge +Graveyard Map +Graveyard Map Great Crown Great Helmet +Great Mallet +Great White Claw +Greater Life Flask +Greater Mana Flask +Greater Multiple Projectiles Support +Greatwolf Talisman +Grinning Fetish +Grotto Map +Grotto Map +Ground Slam +Grove Bow +Gut Ripper +Gutting Knife +Haliotis Glyph +Hallowed Hybrid Flask +Hallowed Life Flask +Hallowed Mana Flask +Hammered Buckler +Harbinger Bow Harlequin Mask +Harmonic Spirit Shield +Harpy Rapier +Haste +Hatred +Headman's Sword +Headsman Axe +Heart of the Gargoyle +Heathen Wand +Heavy Belt +Heavy Quiver +Heavy Strike +Hellion's Paw +Her Mask +Herald of Ash +Herald of Blood +Herald of Ice +Herald of Thunder +Heterochromia +Hexclaw Talisman +Highborn Bow +Highborn Staff +Highland Blade +Holy Chainmail +Hook Sword +Hope +Horned Sceptre +Horned Talisman +House of Mirrors +Hubris Hubris Circlet +Humility Hunter Hood +Hunter's Resolve +Hunter's Reward +Hussar Brigandine +Hydrascale Boots +Hydrascale Gauntlets +Hypothermia Support +Ice Bite Support +Ice Crash +Ice Nova +Ice Shot +Ice Spear +Ice Trap +Icefire +Ignite +Imbued Wand +Immortal Call +Imp Dagger +Imperial Bow +Imperial Buckler +Imperial Claw +Imperial Maul +Imperial Skean +Imperial Staff +Imprint +Incinerate +Increased Area of Effect Support +Increased Burning Damage Support +Increased Critical Damage Support +Increased Critical Strikes Support +Increased Duration Support +Infantry Brigandine +Infernal Axe +Infernal Blow +Infernal Sword +Infernal Talc +Innervate Support +Inya's Key Iron Circlet +Iron Gauntlets +Iron Greaves +Iron Grip Support Iron Hat Iron Mask +Iron Ring +Iron Sceptre +Iron Staff +Iron Will Support +Ironscale Boots +Ironscale Gauntlets +Ironwood Buckler +Item Quantity Support +Item Rarity Support +Ivory Bow +Ivory Spirit Shield +Jack in the Box +Jade Amulet +Jade Chopper +Jade Flask +Jade Hatchet +Jagged Foil +Jagged Maul +Jasper Axe +Jasper Chopper +Jet Amulet +Jet Ring +Jewelled Foil +Jeweller's Orb +Jingling Spirit Shield +Judgement Staff +Jungle Valley Map +Jungle Valley Map +Kaom's Greaves +Kaom's Plate +Karui Axe +Karui Chopper +Karui Maul +Karui Sceptre +Keyblade +Kinetic Blast +Knockback Support +Kraityn's Amulet +Labrys +Lacerate +Lacewood Spirit Shield +Lacquered Buckler +Lacquered Garb Lacquered Helmet +Laminated Kite Shield +Lantador's Lost Love +Lapis Amulet +Large Hybrid Flask +Large Life Flask +Large Mana Flask +Last Hope +Lathi +Latticed Ringmail +Layered Kite Shield +Lead Sceptre +Leap Slam +Leather Belt Leather Cap Leather Hood +Leatherscale Boots +Legion Boots +Legion Gloves +Legion Hammer +Legion Sword +Less Duration Support +Lesser Multiple Projectiles Support +Life Gain on Hit Support +Life Leech Support +Light and Truth +Light Brigandine +Light Quiver +Lightning Arrow +Lightning Channel +Lightning Circle +Lightning Penetration Support +Lightning Strike +Lightning Tendrils +Lightning Trap +Lightning Warp +Linden Kite Shield Lion Pelt +Lion Sword +Lithe Blade +Lone Antler Talisman +Long Bow +Long Staff +Longsword +Longtooth Talisman +Lordly Plate +Loricated Ringmail +Lost Worlds +Loyalty +Luck of the Vaal +Lucky Connections +Lucky Deck Lunaris Circlet +Lysah's Respite +Maelström Staff +Mage's Vestment Magistrate Crown -Mind Cage -Necromancer Circlet -Nightmare Bascinet -Noble Tricorne -Pig-Faced Bascinet -Plague Mask -Praetor Crown -Prophet Crown -Raven Mask -Reaver Helmet -Regicide Mask -Royal Burgonet -Rusted Coif -Sallet -Samite Helmet -Scare Mask -Secutor Helm -Siege Helmet -Silken Hood -Sinner Tricorne -Solaris Circlet -Soldier Helmet -Steel Circlet -Torture Cage -Tribal Circlet -Tricorne -Ursine Pelt -Vaal Mask -Vine Circlet -Visored Sallet -Wolf Pelt -Zealot Helmet -Colossal Hybrid Flask -Hallowed Hybrid Flask -Large Hybrid Flask +Magma Orb +Mahogany Tower Shield +Majestic Plate +Malachai's Entrails +Malachai's Heart +Malachai's Lungs +Malformation Map +Maligaro's Spike +Mallet +Mana Leech Support +Mandible Talisman +Maple Round Shield +Maraketh Bow +Mark of the Warrior Wings +Meatgrinder +Medicine Chest Medium Hybrid Flask -Sacred Hybrid Flask -Small Hybrid Flask -Colossal Life Flask -Divine Life Flask -Eternal Life Flask -Giant Life Flask -Grand Life Flask -Greater Life Flask -Hallowed Life Flask -Large Life Flask Medium Life Flask -Sacred Life Flask -Sanctified Life Flask -Small Life Flask -Colossal Mana Flask -Divine Mana Flask -Eternal Mana Flask -Giant Mana Flask -Grand Mana Flask -Greater Mana Flask -Hallowed Mana Flask -Large Mana Flask Medium Mana Flask -Sacred Mana Flask -Sanctified Mana Flask -Small Mana Flask +Melee Damage on Full Life Support +Melee Physical Damage Support +Melee Splash Support +Merciless Armament +Mesh Boots +Mesh Gloves +Midnight Blade +Military Staff +Mind Cage +Minefield Support +Minion and Totem Elemental Resistance Support +Minion Damage Support +Minion Life Support +Minion Speed Support +Mirror Arrow +Mirror of Kalandra +Mirrored Spiked Shield +Molten Shell +Molten Strike +Monkey Paw Talisman +Monkey Paw Talisman +Monkey Paw Talisman +Monkey Twins Talisman +Moon Staff +Moonstone Ring +Morning Star Mortal Grief Mortal Hope Mortal Ignorance Mortal Rage -Sacrifice at Dawn -Sacrifice at Dusk -Sacrifice at Midnight -Sacrifice at Noon -Academy Map -Arachnid Nest Map -Arcade Map -Arsenal Map -Bazaar Map -Bog Map -Canyon Map -Catacomb Map -Cells Map -Cemetery Map -Colonnade Map -Courtyard Map -Coves Map -Crematorium Map -Crypt Map -Dark Forest Map -Dried Lake Map -Dry Peninsula Map -Dry Woods Map -Dunes Map -Dungeon Map -Ghetto Map -Gorge Map -Graveyard Map -Grotto Map -Jungle Valley Map -Labyrinth Map -Maze Map -Mine Map +Mosaic Kite Shield +Mountain Ledge Map Mountain Ledge Map Mud Geyser Map +Mud Geyser Map +Multiple Traps Support +Multistrike Support +Murder Boots +Murder Mitts Museum Map +Museum Map +Nailed Fist +Necromancer Circlet +Necromancer Silks Necropolis Map -Orchard Map -Overgrown Ruin Map -Overgrown Shrine Map -Palace Map -Pier Map -Plateau Map -Precinct Map -Promenade Map -Reef Map -Residence Map -Sewer Map -Shipyard Map -Shore Map -Shrine Map -Spider Forest Map -Spider Lair Map -Springs Map -Strand Map -Temple Map -Thicket Map -Torture Chamber Map -Tropical Island Map -Tunnel Map -Underground River Map -Underground Sea Map -Vaal Pyramid Map -Vaal Temple Map -Villa Map -Waste Pool Map -Wharf Map -Arming Axe -Boarding Axe -Broad Axe -Butcher Axe -Ceremonial Axe -Chest Splitter -Cleaver -Decorative Axe -Infernal Axe -Jade Hatchet -Jasper Axe -Karui Axe -Reaver Axe -Royal Axe -Rusted Hatchet -Siege Axe -Spectral Axe -Tomahawk -Vaal Hatchet -War Axe -Wraith Axe -Wrist Chopper -Ancestral Club -Auric Mace -Barbed Club -Battle Hammer -Bladed Mace -Ceremonial Mace -Dream Mace -Driftwood Club -Flanged Mace -Gavel -Legion Hammer +Necropolis Map +New Shock Nova +NewPunishment +Nightmare Bascinet Nightmare Mace -Ornate Mace -Pernarch -Petrified Club -Phantom Mace -Rock Breaker -Spiked Club -Stone Hammer -Tenderizer -Tribal Club -War Hammer -Ancient Sword -Baselard -Battle Sword -Broad Sword -Copper Sword -Corsair Sword -Cutlass -Dusk Blade -Elder Sword -Elegant Sword -Eternal Sword -Gemstone Sword -Gladius -Graceful Sword -Legion Sword -Midnight Blade -Rusted Sword -Sabre -Twilight Blade -Vaal Blade -Variscite Blade -War Sword -Alira's Amulet -Allflame -Ammonite Glyph -Baleful Gem -Book of Reform -Book of Regrets -Book of Skill -Bust of Gaius Sentari -Bust of Hector Titucius -Bust of Marceus Lioneye -Chitus' Plum -Decanter Spiritus -Golden Hand -Golden Page -Haliotis Glyph -Infernal Talc -Kraityn's Amulet -Maligaro's Spike -Medicine Chest -Oak's Amulet -Ribbon Spool -Roseus Glyph -Sewer Keys -Thaumetic Emblem -Thaumetic Sulphite -The Apex -Tolman's Bracelet -Tower Key -Blunt Arrow Quiver -Broadhead Arrow Quiver -Conductive Quiver -Cured Quiver -Fire Arrow Quiver -Heavy Quiver -Light Quiver -Penetrating Arrow Quiver -Rugged Quiver -Serrated Arrow Quiver -Sharktooth Arrow Quiver -Spike-Point Arrow Quiver -Two-Point Arrow Quiver -Amethyst Ring -Coral Ring -Diamond Ring -Gold Ring -Golden Hoop -Iron Ring -Moonstone Ring -Paua Ring -Prismatic Ring -Ruby Ring -Sapphire Ring -Topaz Ring -Two-Stone Ring -Unset Ring -Abyssal Sceptre -Blood Sceptre -Bronze Sceptre -Carnal Sceptre -Crystal Sceptre -Darkwood Sceptre -Driftwood Sceptre -Grinning Fetish -Iron Sceptre -Karui Sceptre -Lead Sceptre -Ochre Sceptre -Opal Sceptre -Platinum Sceptre -Quartz Sceptre -Ritual Sceptre -Royal Sceptre -Sekhem -Shadow Sceptre -Tyrant's Sekhem -Vaal Sceptre -Void Sceptre -Alder Spike Shield -Alloyed Spike Shield -Ancient Spirit Shield -Angelic Kite Shield -Archon Kite Shield -Baroque Round Shield -Battle Buckler -Bone Spirit Shield -Branded Kite Shield -Brass Spirit Shield -Bronze Tower Shield -Buckskin Tower Shield -Burnished Spike Shield -Cardinal Round Shield -Cedar Tower Shield -Ceremonial Kite Shield -Champion Kite Shield -Chiming Spirit Shield -Colossal Tower Shield -Compound Spiked Shield -Copper Tower Shield -Corroded Tower Shield -Corrugated Buckler -Crested Tower Shield -Crimson Round Shield -Crusader Buckler -Driftwood Spiked Shield -Ebony Tower Shield -Elegant Round Shield -Enameled Buckler -Etched Kite Shield -Ezomyte Spiked Shield -Ezomyte Tower Shield -Fir Round Shield -Fossilized Spirit Shield -Gilded Buckler -Girded Tower Shield -Goathide Buckler -Golden Buckler -Hammered Buckler -Harmonic Spirit Shield -Imperial Buckler -Ironwood Buckler -Ivory Spirit Shield -Jingling Spirit Shield -Lacewood Spirit Shield -Lacquered Buckler -Laminated Kite Shield -Layered Kite Shield -Linden Kite Shield -Mahogany Tower Shield -Maple Round Shield -Mirrored Spiked Shield -Mosaic Kite Shield +Noble Axe +Noble Claw +Noble Tricorne +Nubuck Boots +Nubuck Gloves Oak Buckler -Ornate Spiked Shield -Painted Buckler -Painted Tower Shield -Pine Buckler -Pinnacle Tower Shield -Plank Kite Shield -Polished Spiked Shield -Rawhide Tower Shield -Redwood Spiked Shield -Reinforced Kite Shield -Reinforced Tower Shield -Rotted Round Shield -Scarlet Round Shield -Shagreen Tower Shield -Sovereign Spiked Shield -Spiked Bundle -Spiked Round Shield -Spiny Round Shield -Splendid Round Shield -Splintered Tower Shield -Steel Kite Shield -Studded Round Shield -Supreme Spiked Shield -Tarnished Spirit Shield -Teak Round Shield -Thorium Spirit Shield -Titanium Spirit Shield -Twig Spirit Shield -Vaal Buckler -Vaal Spirit Shield -Walnut Spirit Shield -War Buckler -Yew Spirit Shield -Albino Rhoa Feather -Alchemy Shard -Alteration Shard -Armourer's Scrap -Blacksmith's Whetstone -Blessed Orb -Cartographer's Chisel -Chaos Orb -Chromatic Orb -Divine Orb -Eternal Orb -Exalted Orb -Gemcutter's Prism -Glassblower's Bauble -Imprint -Jeweller's Orb -Mirror of Kalandra +Oak's Amulet +Occultist's Vestment +Ochre Sceptre +Offering to the Goddess +Oiled Coat +Oiled Vest +Omen Wand +Onyx Amulet +Opal Sceptre +Opal Wand Orb of Alchemy Orb of Alteration Orb of Augmentation Orb of Chance +Orb of Elemental Essence Orb of Fusing Orb of Regret Orb of Scouring +Orb of Storms Orb of Transmutation +Orchard Map +Orchard Map +Ornate Mace +Ornate Ringmail +Ornate Spiked Shield +Ornate Sword +Overgrown Ruin Map +Overgrown Ruin Map +Overgrown Shrine Map +Overgrown Shrine Map +Padded Jacket +Padded Vest +Pagan Wand +Painted Buckler +Painted Tower Shield +Palace Map +Palace Map +Paua Amulet +Paua Ring +Pecoraro +Penetrating Arrow Quiver +Perandus Coin +Pernarch +Petrified Club +Phantasmagoria Map +Phantom Mace +Phase Run +Phase Run +Physical Projectile Attack Damage Support +Physical to Lightning Support +Pier Map +Pier Map +Pierce Support +Pig-Faced Bascinet +Piledriver +Pine Buckler +Pinnacle Tower Shield +Pit Map +Plague Mask +Plank Kite Shield +Plate Vest +Plateau Map +Plateau Map +Plated Gauntlets +Plated Greaves +Plated Maul +Platinum Kris +Platinum Sceptre +Plaza Map +Poacher's Mark +Poignard +Point Blank Support +Poison Support +Poleaxe +Polished Spiked Shield +Portal Portal Scroll -Regal Orb -Scroll Fragment -Scroll of Wisdom -Transmutation Shard -Vaal Orb -Coiled Staff -Ezomyte Staff -Foul Staff -Gnarled Branch -Highborn Staff -Imperial Staff -Iron Staff -Judgement Staff -Lathi -Long Staff -Maelström Staff -Military Staff +Portal Shredder +Power Charge On Critical Support +Power Siphon +Praetor Crown +Precinct Map +Precinct Map +Prehistoric Claw +Pride Before the Fall +Primal Skull Talisman +Primeval Rapier Primitive Staff Primordial Staff -Quarterstaff -Royal Staff -Serpentine Staff -Vile Staff -Woodful Staff -Added Chaos Damage -Added Cold Damage -Added Fire Damage -Added Lightning Damage -Additional Accuracy -Blind -Block Chance Reduction -Blood Magic -Cast On Critical Strike -Cast on Death -Cast on Melee Kill -Cast when Damage Taken -Cast when Stunned -Chain -Chance to Flee -Chance to Ignite -Cold Penetration -Cold to Fire -Concentrated Effect -Culling Strike -Curse On Hit -Elemental Proliferation -Empower -Endurance Charge on Melee Stun -Enhance -Enlighten -Faster Attacks -Faster Casting -Faster Projectiles -Fire Penetration -Fork -Generosity -Greater Multiple Projectiles -Increased Area of Effect -Increased Burning Damage -Increased Critical Damage -Increased Critical Strikes -Increased Duration -Iron Grip -Iron Will -Item Quantity -Item Rarity -Knockback -Lesser Multiple Projectiles -Life Gain on Hit -Life Leech -Lightning Penetration -Mana Leech -Melee Damage on Full Life -Melee Physical Damage -Melee Splash -Minion and Totem Elemental Resistance -Minion Damage -Minion Life -Minion Speed -Multiple Traps -Multistrike -Physical Projectile Attack Damage -Physical to Lightning -Pierce -Point Blank -Power Charge On Critical -Ranged Attack Totem -Reduced Duration -Reduced Mana -Remote Mine -Slower Projectiles -Spell Echo -Spell Totem -Stun -Trap -Weapon Elemental Damage -Antique Rapier -Apex Rapier -Basket Rapier -Battered Foil -Burnished Foil -Dragonbone Rapier -Elegant Foil -Estoc -Fancy Foil -Harpy Rapier -Jagged Foil -Jewelled Foil -Pecoraro -Primeval Rapier -Rusted Spike -Serrated Foil -Spiraled Foil -Tempered Foil -Thorn Rapier -Vaal Rapier -Whalebone Rapier -Wyrmbone Rapier -Abyssal Axe -Despot Axe -Double Axe -Ezomyte Axe -Gilded Axe -Headsman Axe -Jade Chopper -Jasper Chopper -Karui Chopper -Labrys -Noble Axe -Poleaxe -Shadow Axe -Stone Axe -Sundering Axe -Timber Axe -Vaal Axe -Void Axe -Woodsplitter -Brass Maul -Colossus Mallet -Dread Maul -Driftwood Maul -Fright Maul -Great Mallet -Imperial Maul -Karui Maul -Mallet -Meatgrinder -Piledriver -Plated Maul -Sledgehammer -Spiked Maul -Spiny Maul -Steelhead -Terror Maul -Totemic Maul -Tribal Maul -Bastard Sword -Butcher Sword -Corroded Blade -Engraved Greatsword -Etched Greatsword -Ezomyte Blade -Footman Sword -Headman's Sword -Highland Blade -Infernal Sword -Keyblade troll -Lion Sword -Longsword -Ornate Sword -Reaver Sword -Spectral Sword -Tiger Sword -Two-Handed Sword -Vaal Greatsword -Wraith Sword -Amethyst Flask -Granite Flask -Jade Flask -Quartz Flask -Quicksilver Flask -Ruby Flask -Sapphire Flask -Topaz Flask -Carved Wand -Crystal Wand -Demon's Horn -Driftwood Wand -Engraved Wand -Faun's Horn -Goat's Horn -Imbued Wand -Omen Wand -Opal Wand +Prismatic Jewel +Prismatic Ring +Profane Wand +Projectile Weakness +Promenade Map +Promenade Map +Prong Dagger +Prophecy Prophecy Wand +Prophet Crown +Prosperity +Puncture +Punishment +Purity of Elements +Purity of Fire +Purity of Ice +Purity of Lightning +Quarry Map +Quarterstaff +Quartz Flask +Quartz Sceptre Quartz Wand +Quicksilver Flask +Quilted Jacket +Rain of Arrows +Rain of Chaos +Rain Tempter +Raise Spectre +Raise Zombie +Rallying Cry +Ranged Attack Totem Support +Ranger Bow +Rapid Decay Support +Rats +Raven Mask +Rawhide Boots +Rawhide Gloves +Rawhide Tower Shield +Reave +Reaver Axe +Reaver Helmet +Reaver Sword +Reckoning +Recurve Bow +Reduced Mana Support +Redwood Spiked Shield +Reef Map +Reef Map +Reflex Bow +Regal Orb +Regicide Mask +Reinforced Greaves +Reinforced Kite Shield +Reinforced Tower Shield +Rejuvenation Totem +Remote Mine Support +Residence Map +Residence Map +Return Projectiles Support +Ribbon Spool +Righteous Fire +Righteous Lightning +Ringmail Boots +Ringmail Coat +Ringmail Gloves +Riposte +Riptide +Ritual Sceptre +Riveted Boots +Riveted Gloves +Rock Breaker +Rod of Detonation +Roseus Glyph +Rot Head Talisman +Rotfeather Talisman +Rotted Round Shield +Royal Axe +Royal Bow +Royal Burgonet +Royal Sceptre +Royal Skean +Royal Staff +Ruby Amulet +Ruby Flask +Ruby Ring +Rugged Quiver +Runic Hatchet +Rusted Coif +Rusted Hatchet +Rusted Spike +Rusted Sword +Rustic Sash +Sabre +Sacred Hybrid Flask +Sacred Life Flask +Sacred Mana Flask +Sacrifice at Dawn +Sacrifice at Dusk +Sacrifice at Midnight +Sacrifice at Noon +Sacrificial Garb +Sadist Garb Sage Wand +Sage's Robe +Sai +Saintly Chainmail +Saint's Hauberk +Sallet +Sambar Sceptre +Samite Gloves +Samite Helmet +Samite Slippers +Sanctified Life Flask +Sanctified Mana Flask +Sand of Eternity +Sapphire Flask +Sapphire Ring +Satin Gloves +Satin Slippers +Savant's Robe +Scale Doublet +Scale Vest +Scare Mask +Scarlet Raiment +Scarlet Round Shield +Scholar Boots +Scholar of the Seas +Scholar's Robe +Scroll Fragment +Scroll of Wisdom +Searing Bond +Secutor Helm +Sekhem +Sentinel Jacket Serpent Wand +Serpentine Staff +Serpentscale Boots +Serpentscale Gauntlets +Serrated Arrow Quiver +Serrated Arrow Quiver +Serrated Foil +Sewer Keys +Sewer Map +Sewer Map +Shabby Jerkin +Shackled Boots +Shadow Axe +Shadow Blades +Shadow Sceptre +Shagreen Boots +Shagreen Gloves +Shagreen Tower Shield +Shard of Fate +Sharkskin Boots +Sharkskin Gloves +Sharkskin Tunic +Sharktooth Arrow Quiver +Sharktooth Claw +Shield Charge +Shipyard Map +Shipyard Map +Shock Nova +Shockwave Totem +Shore Map +Shore Map +Short Bow +Shrapnel Shot +Shrine Map +Shrine Map +Siege Axe +Siege Ballista +Siege Helmet +Silk Gloves +Silk Robe +Silk Slippers +Silken Garb +Silken Hood +Silken Vest +Silken Wrap +Silver Coin +Silver Flask +Silver Key +Simple Robe +Sinner Tricorne +Skean +Skeletal Chains +Skinning Knife +Slaughter Knife +Sledgehammer +Sleek Coat +Slink Boots +Slink Gloves +Slower Projectiles Support +Small Hybrid Flask +Small Life Flask +Small Mana Flask +Smallsword +Smoke Mine +Snipe +Sniper Bow +Solar Maul +Solaris Circlet +Soldier Boots +Soldier Gloves +Soldier Helmet +Soldier's Brigandine +Sorcerer Boots +Sorcerer Gloves +Sovereign Spiked Shield +Spark +Sparkling Claw +Spectral Axe +Spectral Sword +Spectral Throw +Spell Echo Support +Spell Totem Support +Spider Forest Map +Spider Forest Map +Spider Lair Map +Spider Lair Map +Spidersilk Robe +Spiked Bundle +Spiked Club +Spiked Round Shield +Spike-Point Arrow Quiver +Spine Bow +Spinefuse Talisman +Spiny Maul +Spiny Round Shield +Spiraled Foil Spiraled Wand -Tornado Wand -Abandoned Wealth +Spirit Offering +Splendid Round Shield +Splintered Tower Shield +Split Arrow +Split Projectiles Support +Splitnewt Talisman +Springs Map +Springs Map +Stacked Deck +Stag Sceptre +Static Strike +Static Tether +Stealth Boots +Stealth Gloves +Steel Circlet +Steel Gauntlets +Steel Greaves +Steel Kite Shield +Steelhead +Steelscale Boots +Steelscale Gauntlets +Steelwood Bow +Stibnite Flask +Stiletto +Stone Axe +Stone Hammer +Storm Call +Strand Map +Strand Map +Strapped Boots +Strapped Leather +Strapped Mitts +Studded Belt +Studded Round Shield +Stun Support +Sulphur Flask +Summon Chaos Golem +Summon Flame Golem +Summon Ice Golem +Summon Lightning Golem +Summon Raging Spirit +Summon Skeletons +Summon Stone Golem +Sun Leather +Sun Plate +Sunder +Sundering Axe +Supreme Spiked Shield +Sweep +Talon Axe +Tarnished Spirit Shield +Teak Round Shield +Tempered Foil +Tempest Shield +Temple Map +Temple Map +Temporal Chains +Tenderizer +Terrace Map +Terrace Map +Terror Claw +Terror Maul +Thaumetic Emblem +Thaumetic Sulphite +The Aesthete +The Apex +The Arena Champion +The Artist The Avenger The Battle Born -Birth of the Three +The Betrayal +The Body The Brittle Emperor +The Calling The Carrion Crow +The Cartographer The Cataclysm +The Catalyst The Celestial Justicar The Chains that Bind -Chaotic Disposition -Coveted Possession +The Conduit +The Cursed King +The Dapper Prodigy The Dark Mage +The Demoness +The Devastator The Doctor +The Doppelganger +The Dragon +The Dragon's Heart The Drunken Aristocrat -Emperor's Luck +The Encroaching Darkness +The Endurance +The Enlightened +The Ethereal The Explorer +The Eye of Desire +The Eye of Fury The Feast The Fiend +The Fletcher +The Flora's Gift +The Formless Sea +The Fox The Gambler The Gemcutter -Gemcutter's Promise +The Gentleman The Gladiator +The Harvester The Hermit The Hoarder -Hope The Hunger -Humility +The Immortal The Incantation +The Inoculated The Inventor -Jack in the Box +The Jester +The King's Blade The King's Heart -Lantador's Lost Love +The Last One Standing +The Lich +The Lion +The Lord in Black The Lover -Lucky Connections +The Lunaris Priestess +The Mercenary The Metalsmith's Gift +The Offering +The One With All +The Pack Leader The Pact +The Penitent The Poet The Queen -Rain of Chaos +The Rabid Rhoa +The Risk The Road to Power The Scarred Meadow The Scholar +The Sephirot +The Sigil +The Siren +The Soul +The Spoiled Prince +The Stormcaller The Summoner The Sun -Three Faces in the Dark -Time-Lost Relic +The Surgeon +The Surveyor +The Survivalist +The Thaumaturgist +The Throne +The Tower +The Traitor +The Trial +The Twins +The Tyrant The Union -Vinia's Token +The Valkyrie +The Vast +The Visionary +The Void The Warden +The Warlord The Watcher -The Wind \ No newline at end of file +The Web +The Wind +The Wolf +The Wolf's Shadow +The Wrath +Thicket Bow +Thicket Map +Thicket Map +Thief's Garb +Thorium Spirit Shield +Thorn Rapier +Three Faces in the Dark +Three Hands Talisman +Three Rat Talisman +Thresher Claw +Throat Stabber +Thunderous Skies +Tiger Hook +Tiger Sword +Tiger's Paw +Timber Axe +Time-Lost Relic +Timeworn Claw +Titan Gauntlets +Titan Greaves +Titanium Spirit Shield +Tolman's Bracelet +Tomahawk +Topaz Flask +Topaz Ring +Tornado Shot +Tornado Wand +Torture Cage +Torture Chamber Map +Torture Chamber Map +Totemic Maul +Touch of God +Tower Key +Tranquillity +Transmutation Shard +Trap and Mine Damage Support +Trap Cooldown Support +Trap Support +Trapper Boots +Trapper Mitts +Treasure Hunter +Treasure Key +Tribal Circlet +Tribal Club +Tribal Maul +Tricorne +Trisula +Triumphant Lamellar +Tropical Island Map +Tropical Island Map +Tunnel Map +Tunnel Map +Turn the Other Cheek +Turquoise Amulet +Twig Spirit Shield +Twilight Blade +Twin Claw +Two-Handed Sword +Two-Point Arrow Quiver +Two-Stone Ring +Two-Stone Ring +Two-Stone Ring +Tyrant's Sekhem +Underground River Map +Underground River Map +Underground Sea Map +Underground Sea Map +Undying Flesh Talisman +Unset Ring +Ursine Pelt +Vaal Arc +Vaal Axe +Vaal Blade +Vaal Buckler +Vaal Burning Arrow +Vaal Clarity +Vaal Claw +Vaal Cold Snap +Vaal Cyclone +Vaal Detonate Dead +Vaal Discipline +Vaal Double Strike +Vaal Fireball +Vaal FireTrap +Vaal Flameblast +Vaal Gauntlets +Vaal Glacial Hammer +Vaal Grace +Vaal Greatsword +Vaal Greaves +Vaal Ground Slam +Vaal Haste +Vaal Hatchet +Vaal Heavy Strike +Vaal Ice Nova +Vaal Immortal Call +Vaal Lightning Strike +Vaal Lightning Trap +Vaal Lightning Warp +Vaal Mask +Vaal Molten Shell +Vaal Orb +Vaal Power Siphon +Vaal Pyramid Map +Vaal Pyramid Map +Vaal Rain of Arrows +Vaal Rapier +Vaal Reave +Vaal Regalia +Vaal Righteous Fire +Vaal Sceptre +Vaal Spark +Vaal Spectral Throw +Vaal Spirit Shield +Vaal Storm Call +Vaal Summon Skeletons +Vaal Sweep +Vaal Temple Map +Vaal Temple Map +Variscite Blade +Varnished Coat +Velvet Gloves +Velvet Slippers +Vengeance +Vial Of Power +Vigilant Strike +Vile Staff +Villa Map +Villa Map +Village Ruin Map +Vine Circlet +Vinia's Token +Viper Strike +Viridian Jewel +Visored Sallet +Vitality +Void Axe +Void Manipulation Support +Void Sceptre +Volatile Power +Volcano Map +Volkuur's Key +Vortex +Vortex Mine +Vulnerability +Walnut Spirit Shield +Wand Teleport +War Axe +War Buckler +War Hammer +War Plate +War Sword +Warlord's Mark +Waste Pool Map +Waste Pool Map +Wasteland Map +Waterways Map +Waxed Garb +Wealth and Power +Weapon Elemental Damage Support +Wereclaw Talisman +Whalebone Rapier +Wharf Map +Wharf Map +Whirling Blades +Widowsilk Robe +Wild Leather +Wild Strike +Wildfire +WIP Support +Wither +Wolf Pelt +Woodful Staff +Woodsplitter +Wool Gloves +Wool Shoes +Wraith Axe +Wraith Sword +Wrapped Boots +Wrapped Mitts +Wrath +Wrist Chopper +Writhing Talisman +Wyrm Mace +Wyrmbone Rapier +Wyrmscale Boots +Wyrmscale Doublet +Wyrmscale Gauntlets +Yew Spirit Shield +Yriel's Key +Zealot Boots +Zealot Gloves +Zealot Helmet +Zodiac Leather \ No newline at end of file diff --git a/Filtration/Resources/ItemClasses.txt b/Filtration/Resources/ItemClasses.txt index 34f5d0f..c69d310 100644 --- a/Filtration/Resources/ItemClasses.txt +++ b/Filtration/Resources/ItemClasses.txt @@ -1,38 +1,43 @@ -Life Flasks -Mana Flasks -Hybrid Flasks -Currency +Active Skill Gems Amulets -Rings +Belts +Body Armours +Boots +Bows Claws +Critical Utility Flasks +Currency Daggers -Wands -One Hand Swords -Thrusting One Hand Swords +Divination Card +Fishing Rods +Gloves +Helmets +Hybrid Flasks +Jewel +Labyrinth Item +Labyrinth Map Item +Labyrinth Trinket +Large Relics +Life Flasks +Mana Flasks +Map Fragments +Maps +Medium Relics One Hand Axes One Hand Maces -Bows +One Hand Swords +Quest Items +Quivers +Rings +Sceptres +Shields +Small Relics +Stackable Currency Staves -Two Hand Swords +Support Skill Gems +Thrusting One Hand Swords Two Hand Axes Two Hand Maces -Active Skill Gems -Support Skill Gems -Quivers -Belts -Gloves -Boots -Body Armours -Helmets -Shields -Stackable Currency -Quest Items -Sceptres +Two Hand Swords Utility Flasks -Maps -Fishing Rods -Map Fragments -Hideout Doodads -Microtransactions -Divination Card -Jewel \ No newline at end of file +Wands \ No newline at end of file diff --git a/Filtration/ViewModels/AvalonDockWorkspaceViewModel.cs b/Filtration/ViewModels/AvalonDockWorkspaceViewModel.cs index 28ab87d..521463e 100644 --- a/Filtration/ViewModels/AvalonDockWorkspaceViewModel.cs +++ b/Filtration/ViewModels/AvalonDockWorkspaceViewModel.cs @@ -6,6 +6,7 @@ using Filtration.Common.ViewModels; using Filtration.Interface; using Filtration.ThemeEditor.ViewModels; using Filtration.ViewModels.ToolPanes; +using GalaSoft.MvvmLight; using GalaSoft.MvvmLight.Messaging; namespace Filtration.ViewModels @@ -26,7 +27,7 @@ namespace Filtration.ViewModels IThemeEditorViewModel OpenMasterThemeForScript(IItemFilterScriptViewModel scriptViewModel); } - internal class AvalonDockWorkspaceViewModel : FiltrationViewModelBase, IAvalonDockWorkspaceViewModel + internal class AvalonDockWorkspaceViewModel : ViewModelBase, IAvalonDockWorkspaceViewModel { private readonly ISectionBrowserViewModel _sectionBrowserViewModel; private readonly IBlockGroupBrowserViewModel _blockGroupBrowserViewModel; diff --git a/Filtration/ViewModels/ItemFilterBlockGroupViewModel.cs b/Filtration/ViewModels/ItemFilterBlockGroupViewModel.cs index 7924290..b3c8132 100644 --- a/Filtration/ViewModels/ItemFilterBlockGroupViewModel.cs +++ b/Filtration/ViewModels/ItemFilterBlockGroupViewModel.cs @@ -2,10 +2,11 @@ using System.Linq; using Filtration.Common.ViewModels; using Filtration.ObjectModel; +using GalaSoft.MvvmLight; namespace Filtration.ViewModels { - internal class ItemFilterBlockGroupViewModel : FiltrationViewModelBase + internal class ItemFilterBlockGroupViewModel : ViewModelBase { private bool? _isChecked; private bool _reentrancyCheck; diff --git a/Filtration/ViewModels/ItemFilterBlockViewModel.cs b/Filtration/ViewModels/ItemFilterBlockViewModel.cs index 3bd4a62..0c8f9e9 100644 --- a/Filtration/ViewModels/ItemFilterBlockViewModel.cs +++ b/Filtration/ViewModels/ItemFilterBlockViewModel.cs @@ -10,6 +10,7 @@ using Filtration.ObjectModel.BlockItemBaseTypes; using Filtration.ObjectModel.BlockItemTypes; using Filtration.Services; using Filtration.Views; +using GalaSoft.MvvmLight; using GalaSoft.MvvmLight.CommandWpf; using Xceed.Wpf.Toolkit; @@ -25,7 +26,7 @@ namespace Filtration.ViewModels void RefreshBlockPreview(); } - internal class ItemFilterBlockViewModel : FiltrationViewModelBase, IItemFilterBlockViewModel + internal class ItemFilterBlockViewModel : ViewModelBase, IItemFilterBlockViewModel { private readonly IStaticDataService _staticDataService; private readonly IReplaceColorsViewModel _replaceColorsViewModel; diff --git a/Filtration/ViewModels/MainWindowViewModel.cs b/Filtration/ViewModels/MainWindowViewModel.cs index 0452e95..7ec8f96 100644 --- a/Filtration/ViewModels/MainWindowViewModel.cs +++ b/Filtration/ViewModels/MainWindowViewModel.cs @@ -24,6 +24,7 @@ using Filtration.ThemeEditor.Providers; using Filtration.ThemeEditor.Services; using Filtration.ThemeEditor.ViewModels; using Filtration.Views; +using GalaSoft.MvvmLight; using GalaSoft.MvvmLight.CommandWpf; using GalaSoft.MvvmLight.Messaging; using NLog; @@ -39,7 +40,7 @@ namespace Filtration.ViewModels Task OpenDroppedFilesAsync(List filenames); } - internal class MainWindowViewModel : FiltrationViewModelBase, IMainWindowViewModel + internal class MainWindowViewModel : ViewModelBase, IMainWindowViewModel { private static readonly Logger Logger = LogManager.GetCurrentClassLogger(); diff --git a/Filtration/ViewModels/ReplaceColorsViewModel.cs b/Filtration/ViewModels/ReplaceColorsViewModel.cs index 28aafef..8c4b77e 100644 --- a/Filtration/ViewModels/ReplaceColorsViewModel.cs +++ b/Filtration/ViewModels/ReplaceColorsViewModel.cs @@ -5,6 +5,7 @@ using Filtration.Common.ViewModels; using Filtration.ObjectModel; using Filtration.ObjectModel.BlockItemTypes; using Filtration.Views; +using GalaSoft.MvvmLight; using GalaSoft.MvvmLight.CommandWpf; using Xceed.Wpf.Toolkit; @@ -16,7 +17,7 @@ namespace Filtration.ViewModels void Initialise(ItemFilterScript itemFilterScript); } - internal class ReplaceColorsViewModel : FiltrationViewModelBase, IReplaceColorsViewModel + internal class ReplaceColorsViewModel : ViewModelBase, IReplaceColorsViewModel { private ItemFilterScript _itemFilterScript; private ReplaceColorsParameterSet _replaceColorsParameterSet; diff --git a/Filtration/ViewModels/SettingsPageViewModel.cs b/Filtration/ViewModels/SettingsPageViewModel.cs index 0247d52..d30d731 100644 --- a/Filtration/ViewModels/SettingsPageViewModel.cs +++ b/Filtration/ViewModels/SettingsPageViewModel.cs @@ -4,6 +4,7 @@ using Filtration.Common.Services; using Filtration.Common.ViewModels; using Filtration.Properties; using Filtration.Services; +using GalaSoft.MvvmLight; using GalaSoft.MvvmLight.CommandWpf; namespace Filtration.ViewModels @@ -12,7 +13,7 @@ namespace Filtration.ViewModels { } - internal class SettingsPageViewModel : FiltrationViewModelBase, ISettingsPageViewModel + internal class SettingsPageViewModel : ViewModelBase, ISettingsPageViewModel { private readonly IItemFilterPersistenceService _itemFilterPersistenceService; private readonly IMessageBoxService _messageBoxService; diff --git a/Filtration/packages.config b/Filtration/packages.config index dad6566..d6683d3 100644 --- a/Filtration/packages.config +++ b/Filtration/packages.config @@ -1,16 +1,17 @@  - + - - + + + - - - - + + + + \ No newline at end of file