diff --git a/.gitignore b/.gitignore index bce8a85..7bad4ab 100644 --- a/.gitignore +++ b/.gitignore @@ -4,6 +4,7 @@ ## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore # User-specific files +/.vs/ *.suo *.user *.userosscache diff --git a/Filtration.ObjectModel/BlockItemBaseTypes/StringIntBlockItem.cs b/Filtration.ObjectModel/BlockItemBaseTypes/StringIntBlockItem.cs new file mode 100644 index 0000000..405879c --- /dev/null +++ b/Filtration.ObjectModel/BlockItemBaseTypes/StringIntBlockItem.cs @@ -0,0 +1,50 @@ +using System.Windows.Media; + +namespace Filtration.ObjectModel.BlockItemBaseTypes +{ + public abstract class StrIntBlockItem : BlockItemBase, IAudioVisualBlockItem + { + private string _value; + private int _secondValue; + + protected StrIntBlockItem() + { + } + + protected StrIntBlockItem(string value, int secondValue) + { + Value = value; + SecondValue = secondValue; + Value = value; + SecondValue = secondValue; + } + + public override string OutputText => PrefixText + " " + Value + " " + SecondValue; + + public override string SummaryText => string.Empty; + public override Color SummaryBackgroundColor => Colors.Transparent; + public override Color SummaryTextColor => Colors.Transparent; + + public string Value + { + get { return _value; } + set + { + _value = value; + IsDirty = true; + OnPropertyChanged(); + } + } + + public int SecondValue + { + get { return _secondValue; } + set + { + _secondValue = value; + IsDirty = true; + OnPropertyChanged(); + } + } + } +} \ No newline at end of file diff --git a/Filtration.ObjectModel/BlockItemTypes/BackgroundColorBlockItem.cs b/Filtration.ObjectModel/BlockItemTypes/BackgroundColorBlockItem.cs index 1bcc0bf..3765b3a 100644 --- a/Filtration.ObjectModel/BlockItemTypes/BackgroundColorBlockItem.cs +++ b/Filtration.ObjectModel/BlockItemTypes/BackgroundColorBlockItem.cs @@ -16,6 +16,6 @@ namespace Filtration.ObjectModel.BlockItemTypes public override string PrefixText => "SetBackgroundColor"; public override int MaximumAllowed => 1; public override string DisplayHeading => "Background Color"; - public override int SortOrder => 15; + public override int SortOrder => 18; } } diff --git a/Filtration.ObjectModel/BlockItemTypes/BaseTypeBlockItem.cs b/Filtration.ObjectModel/BlockItemTypes/BaseTypeBlockItem.cs index e959210..cb78a03 100644 --- a/Filtration.ObjectModel/BlockItemTypes/BaseTypeBlockItem.cs +++ b/Filtration.ObjectModel/BlockItemTypes/BaseTypeBlockItem.cs @@ -33,6 +33,6 @@ namespace Filtration.ObjectModel.BlockItemTypes public override Color SummaryBackgroundColor => Colors.MediumTurquoise; public override Color SummaryTextColor => Colors.Black; - public override int SortOrder => 11; + public override int SortOrder => 16; } } diff --git a/Filtration.ObjectModel/BlockItemTypes/BorderColorBlockItem.cs b/Filtration.ObjectModel/BlockItemTypes/BorderColorBlockItem.cs index 4da4384..3668f33 100644 --- a/Filtration.ObjectModel/BlockItemTypes/BorderColorBlockItem.cs +++ b/Filtration.ObjectModel/BlockItemTypes/BorderColorBlockItem.cs @@ -16,6 +16,6 @@ namespace Filtration.ObjectModel.BlockItemTypes public override string PrefixText => "SetBorderColor"; public override int MaximumAllowed => 1; public override string DisplayHeading => "Border Color"; - public override int SortOrder => 16; + public override int SortOrder => 19; } } diff --git a/Filtration.ObjectModel/BlockItemTypes/ClassBlockItem.cs b/Filtration.ObjectModel/BlockItemTypes/ClassBlockItem.cs index 8d9e45b..3da7e0a 100644 --- a/Filtration.ObjectModel/BlockItemTypes/ClassBlockItem.cs +++ b/Filtration.ObjectModel/BlockItemTypes/ClassBlockItem.cs @@ -33,6 +33,6 @@ namespace Filtration.ObjectModel.BlockItemTypes public override Color SummaryBackgroundColor => Colors.MediumSeaGreen; public override Color SummaryTextColor => Colors.White; - public override int SortOrder => 10; + public override int SortOrder => 15; } } diff --git a/Filtration.ObjectModel/BlockItemTypes/CorruptedBlockItem.cs b/Filtration.ObjectModel/BlockItemTypes/CorruptedBlockItem.cs index 02ba979..baf492b 100644 --- a/Filtration.ObjectModel/BlockItemTypes/CorruptedBlockItem.cs +++ b/Filtration.ObjectModel/BlockItemTypes/CorruptedBlockItem.cs @@ -20,4 +20,4 @@ namespace Filtration.ObjectModel.BlockItemTypes public override int SortOrder => 5; } -} \ No newline at end of file +} diff --git a/Filtration.ObjectModel/BlockItemTypes/DropLevelBlockItem.cs b/Filtration.ObjectModel/BlockItemTypes/DropLevelBlockItem.cs index adf1ab2..a9f77c7 100644 --- a/Filtration.ObjectModel/BlockItemTypes/DropLevelBlockItem.cs +++ b/Filtration.ObjectModel/BlockItemTypes/DropLevelBlockItem.cs @@ -21,7 +21,7 @@ namespace Filtration.ObjectModel.BlockItemTypes public override string SummaryText => "Drop Level " + FilterPredicate; public override Color SummaryBackgroundColor => Colors.DodgerBlue; public override Color SummaryTextColor => Colors.White; - public override int SortOrder => 9; + public override int SortOrder => 13; public override int Minimum => 0; public override int Maximum => 100; } diff --git a/Filtration.ObjectModel/BlockItemTypes/ElderItemBlockItem.cs b/Filtration.ObjectModel/BlockItemTypes/ElderItemBlockItem.cs new file mode 100644 index 0000000..0068879 --- /dev/null +++ b/Filtration.ObjectModel/BlockItemTypes/ElderItemBlockItem.cs @@ -0,0 +1,23 @@ +using System.Windows.Media; +using Filtration.ObjectModel.BlockItemBaseTypes; + +namespace Filtration.ObjectModel.BlockItemTypes +{ + public sealed class ElderItemBlockItem : BooleanBlockItem + { + public ElderItemBlockItem() + { + } + + public ElderItemBlockItem(bool booleanValue) : base(booleanValue) + { + } + + public override string PrefixText => "ElderItem"; + public override string DisplayHeading => "Elder Item"; + public override Color SummaryBackgroundColor => Colors.DarkGray; + public override Color SummaryTextColor => Colors.White; + public override int SortOrder => 6; + + } +} diff --git a/Filtration.ObjectModel/BlockItemTypes/FontSizeBlockItem.cs b/Filtration.ObjectModel/BlockItemTypes/FontSizeBlockItem.cs index ffbf68a..62feaf7 100644 --- a/Filtration.ObjectModel/BlockItemTypes/FontSizeBlockItem.cs +++ b/Filtration.ObjectModel/BlockItemTypes/FontSizeBlockItem.cs @@ -16,7 +16,7 @@ namespace Filtration.ObjectModel.BlockItemTypes public override string PrefixText => "SetFontSize"; public override int MaximumAllowed => 1; public override string DisplayHeading => "Font Size"; - public override int SortOrder => 17; + public override int SortOrder => 20; public override int Minimum => 11; public override int Maximum => 45; } diff --git a/Filtration.ObjectModel/BlockItemTypes/HeightBlockItem.cs b/Filtration.ObjectModel/BlockItemTypes/HeightBlockItem.cs index ccc9727..cd06ae0 100644 --- a/Filtration.ObjectModel/BlockItemTypes/HeightBlockItem.cs +++ b/Filtration.ObjectModel/BlockItemTypes/HeightBlockItem.cs @@ -21,7 +21,7 @@ namespace Filtration.ObjectModel.BlockItemTypes public override string SummaryText => "Height " + FilterPredicate; public override Color SummaryBackgroundColor => Colors.LightBlue; public override Color SummaryTextColor => Colors.Black; - public override int SortOrder => 7; + public override int SortOrder => 10; public override int Minimum => 0; public override int Maximum => 6; } diff --git a/Filtration.ObjectModel/BlockItemTypes/IdentifiedBlockItem.cs b/Filtration.ObjectModel/BlockItemTypes/IdentifiedBlockItem.cs index 48f10a2..fd17250 100644 --- a/Filtration.ObjectModel/BlockItemTypes/IdentifiedBlockItem.cs +++ b/Filtration.ObjectModel/BlockItemTypes/IdentifiedBlockItem.cs @@ -20,4 +20,4 @@ namespace Filtration.ObjectModel.BlockItemTypes public override int SortOrder => 4; } -} \ No newline at end of file +} diff --git a/Filtration.ObjectModel/BlockItemTypes/ItemLevelBlockItem.cs b/Filtration.ObjectModel/BlockItemTypes/ItemLevelBlockItem.cs index 638d6d2..ace3d69 100644 --- a/Filtration.ObjectModel/BlockItemTypes/ItemLevelBlockItem.cs +++ b/Filtration.ObjectModel/BlockItemTypes/ItemLevelBlockItem.cs @@ -20,7 +20,7 @@ namespace Filtration.ObjectModel.BlockItemTypes public override string SummaryText => "Item Level " + FilterPredicate; public override Color SummaryBackgroundColor => Colors.DarkSlateGray; public override Color SummaryTextColor => Colors.White; - public override int SortOrder => 13; + public override int SortOrder => 12; public override int Minimum => 0; public override int Maximum => 100; } diff --git a/Filtration.ObjectModel/BlockItemTypes/LinkedSocketsBlockItem.cs b/Filtration.ObjectModel/BlockItemTypes/LinkedSocketsBlockItem.cs index 7763f0b..ce5369a 100644 --- a/Filtration.ObjectModel/BlockItemTypes/LinkedSocketsBlockItem.cs +++ b/Filtration.ObjectModel/BlockItemTypes/LinkedSocketsBlockItem.cs @@ -21,7 +21,7 @@ namespace Filtration.ObjectModel.BlockItemTypes public override string SummaryText => "Linked Sockets " + FilterPredicate; public override Color SummaryBackgroundColor => Colors.Gold; public override Color SummaryTextColor => Colors.Black; - public override int SortOrder => 0; + public override int SortOrder => 1; public override int Minimum => 0; public override int Maximum => 6; } diff --git a/Filtration.ObjectModel/BlockItemTypes/PositionalSoundBlockItem.cs b/Filtration.ObjectModel/BlockItemTypes/PositionalSoundBlockItem.cs new file mode 100644 index 0000000..076b845 --- /dev/null +++ b/Filtration.ObjectModel/BlockItemTypes/PositionalSoundBlockItem.cs @@ -0,0 +1,22 @@ +using Filtration.ObjectModel.BlockItemBaseTypes; + +namespace Filtration.ObjectModel.BlockItemTypes +{ + public class PositionalSoundBlockItem : StrIntBlockItem + { + public PositionalSoundBlockItem() + { + Value = "1"; + SecondValue = 79; + } + + public PositionalSoundBlockItem(string value, int secondValue) : base(value, secondValue) + { + } + + public override string PrefixText => "PlayAlertSoundPositional"; + public override int MaximumAllowed => 1; + public override string DisplayHeading => "Play Positional Alert Sound"; + public override int SortOrder => 22; + } +} diff --git a/Filtration.ObjectModel/BlockItemTypes/RarityBlockItem.cs b/Filtration.ObjectModel/BlockItemTypes/RarityBlockItem.cs index 7bd2af0..24ac5ef 100644 --- a/Filtration.ObjectModel/BlockItemTypes/RarityBlockItem.cs +++ b/Filtration.ObjectModel/BlockItemTypes/RarityBlockItem.cs @@ -30,7 +30,7 @@ namespace Filtration.ObjectModel.BlockItemTypes ((ItemRarity) FilterPredicate.PredicateOperand).GetAttributeDescription(); public override Color SummaryBackgroundColor => Colors.LightCoral; public override Color SummaryTextColor => Colors.White; - public override int SortOrder => 12; + public override int SortOrder => 14; public override int Minimum => 0; public override int Maximum => (int)ItemRarity.Unique; } diff --git a/Filtration.ObjectModel/BlockItemTypes/ShapedMapBlockItem.cs b/Filtration.ObjectModel/BlockItemTypes/ShapedMapBlockItem.cs new file mode 100644 index 0000000..550a6da --- /dev/null +++ b/Filtration.ObjectModel/BlockItemTypes/ShapedMapBlockItem.cs @@ -0,0 +1,23 @@ +using System.Windows.Media; +using Filtration.ObjectModel.BlockItemBaseTypes; + +namespace Filtration.ObjectModel.BlockItemTypes +{ + public sealed class ShapedMapBlockItem : BooleanBlockItem + { + public ShapedMapBlockItem() + { + } + + public ShapedMapBlockItem(bool booleanValue) : base(booleanValue) + { + } + + public override string PrefixText => "ShapedMap"; + public override string DisplayHeading => "Shaped Map"; + public override Color SummaryBackgroundColor => Colors.DarkGoldenrod; + public override Color SummaryTextColor => Colors.White; + public override int SortOrder => 8; + + } +} diff --git a/Filtration.ObjectModel/BlockItemTypes/ShaperItemBlockItem.cs b/Filtration.ObjectModel/BlockItemTypes/ShaperItemBlockItem.cs new file mode 100644 index 0000000..fc92b19 --- /dev/null +++ b/Filtration.ObjectModel/BlockItemTypes/ShaperItemBlockItem.cs @@ -0,0 +1,23 @@ +using System.Windows.Media; +using Filtration.ObjectModel.BlockItemBaseTypes; + +namespace Filtration.ObjectModel.BlockItemTypes +{ + public sealed class ShaperItemBlockItem : BooleanBlockItem + { + public ShaperItemBlockItem() + { + } + + public ShaperItemBlockItem(bool booleanValue) : base(booleanValue) + { + } + + public override string PrefixText => "ShaperItem"; + public override string DisplayHeading => "Shaper Item"; + public override Color SummaryBackgroundColor => Colors.DimGray; + public override Color SummaryTextColor => Colors.White; + public override int SortOrder => 7; + + } +} diff --git a/Filtration.ObjectModel/BlockItemTypes/SocketGroupBlockItem.cs b/Filtration.ObjectModel/BlockItemTypes/SocketGroupBlockItem.cs index 185ee99..932d264 100644 --- a/Filtration.ObjectModel/BlockItemTypes/SocketGroupBlockItem.cs +++ b/Filtration.ObjectModel/BlockItemTypes/SocketGroupBlockItem.cs @@ -39,7 +39,7 @@ namespace Filtration.ObjectModel.BlockItemTypes public override Color SummaryBackgroundColor => Colors.GhostWhite; public override Color SummaryTextColor => Colors.Black; - public override int SortOrder => 6; + public override int SortOrder => 9; private SocketColor StringToSocketColor(char socketColorString) { diff --git a/Filtration.ObjectModel/BlockItemTypes/SoundBlockItem.cs b/Filtration.ObjectModel/BlockItemTypes/SoundBlockItem.cs index a972a0a..1d8233a 100644 --- a/Filtration.ObjectModel/BlockItemTypes/SoundBlockItem.cs +++ b/Filtration.ObjectModel/BlockItemTypes/SoundBlockItem.cs @@ -2,21 +2,21 @@ namespace Filtration.ObjectModel.BlockItemTypes { - public class SoundBlockItem : DualIntegerBlockItem + public class SoundBlockItem : StrIntBlockItem { public SoundBlockItem() { - Value = 1; + Value = "1"; SecondValue = 79; } - public SoundBlockItem(int value, int secondValue) : base(value, secondValue) + public SoundBlockItem(string value, int secondValue) : base(value, secondValue) { } public override string PrefixText => "PlayAlertSound"; public override int MaximumAllowed => 1; public override string DisplayHeading => "Play Alert Sound"; - public override int SortOrder => 18; + public override int SortOrder => 21; } } diff --git a/Filtration.ObjectModel/BlockItemTypes/TextColorBlockItem.cs b/Filtration.ObjectModel/BlockItemTypes/TextColorBlockItem.cs index 1cb6ba9..81f36a6 100644 --- a/Filtration.ObjectModel/BlockItemTypes/TextColorBlockItem.cs +++ b/Filtration.ObjectModel/BlockItemTypes/TextColorBlockItem.cs @@ -16,6 +16,6 @@ namespace Filtration.ObjectModel.BlockItemTypes public override string PrefixText => "SetTextColor"; public override int MaximumAllowed => 1; public override string DisplayHeading => "Text Color"; - public override int SortOrder => 14; + public override int SortOrder => 17; } } diff --git a/Filtration.ObjectModel/BlockItemTypes/WidthBlockItem.cs b/Filtration.ObjectModel/BlockItemTypes/WidthBlockItem.cs index 2fa7102..b646547 100644 --- a/Filtration.ObjectModel/BlockItemTypes/WidthBlockItem.cs +++ b/Filtration.ObjectModel/BlockItemTypes/WidthBlockItem.cs @@ -21,7 +21,7 @@ namespace Filtration.ObjectModel.BlockItemTypes public override string SummaryText => "Width " + FilterPredicate; public override Color SummaryBackgroundColor => Colors.MediumPurple; public override Color SummaryTextColor => Colors.White; - public override int SortOrder => 8; + public override int SortOrder => 11; public override int Minimum => 0; public override int Maximum => 2; } diff --git a/Filtration.ObjectModel/Filtration.ObjectModel.csproj b/Filtration.ObjectModel/Filtration.ObjectModel.csproj index e4a341c..0c3638b 100644 --- a/Filtration.ObjectModel/Filtration.ObjectModel.csproj +++ b/Filtration.ObjectModel/Filtration.ObjectModel.csproj @@ -1,134 +1,135 @@ - - - - - Debug - AnyCPU - {4AAC3BEB-1DC1-483E-9D11-0E9334E80227} - Library - Properties - Filtration.ObjectModel - Filtration.ObjectModel - v4.6.1 - 512 - - - - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - - - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - - - - ..\packages\Castle.Core.3.3.0\lib\net45\Castle.Core.dll - - - ..\packages\Castle.Windsor.3.4.0\lib\net45\Castle.Windsor.dll - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + Debug + AnyCPU + {4AAC3BEB-1DC1-483E-9D11-0E9334E80227} + Library + Properties + Filtration.ObjectModel + Filtration.ObjectModel + v4.6.1 + 512 + + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + ..\packages\Castle.Core.3.3.0\lib\net45\Castle.Core.dll + + + ..\packages\Castle.Windsor.3.4.0\lib\net45\Castle.Windsor.dll + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + --> \ No newline at end of file diff --git a/Filtration.Parser.Tests/Services/TestItemFilterBlockTranslator.cs b/Filtration.Parser.Tests/Services/TestItemFilterBlockTranslator.cs index 8c5dc7c..e05f9d4 100644 --- a/Filtration.Parser.Tests/Services/TestItemFilterBlockTranslator.cs +++ b/Filtration.Parser.Tests/Services/TestItemFilterBlockTranslator.cs @@ -335,6 +335,57 @@ namespace Filtration.Parser.Tests.Services Assert.IsTrue(blockItem.BooleanValue); } + [Test] + public void TranslateStringToItemFilterBlock_ElderItem_ReturnsCorrectObject() + { + // Arrange + var inputString = "Show" + Environment.NewLine + + " ElderItem False"; + + // Act + var result = _testUtility.Translator.TranslateStringToItemFilterBlock(inputString, _testUtility.MockItemFilterScript); + + // Assert + + Assert.AreEqual(1, result.BlockItems.Count(b => b is ElderItemBlockItem)); + var blockItem = result.BlockItems.OfType().First(); + Assert.IsFalse(blockItem.BooleanValue); + } + + [Test] + public void TranslateStringToItemFilterBlock_ShaperItem_ReturnsCorrectObject() + { + // Arrange + var inputString = "Show" + Environment.NewLine + + " ShaperItem True"; + + // Act + var result = _testUtility.Translator.TranslateStringToItemFilterBlock(inputString, _testUtility.MockItemFilterScript); + + // Assert + + Assert.AreEqual(1, result.BlockItems.Count(b => b is ShaperItemBlockItem)); + var blockItem = result.BlockItems.OfType().First(); + Assert.IsTrue(blockItem.BooleanValue); + } + + [Test] + public void TranslateStringToItemFilterBlock_ShapedMap_ReturnsCorrectObject() + { + // Arrange + var inputString = "Show" + Environment.NewLine + + " ShapedMap false"; + + // Act + var result = _testUtility.Translator.TranslateStringToItemFilterBlock(inputString, _testUtility.MockItemFilterScript); + + // Assert + + Assert.AreEqual(1, result.BlockItems.Count(b => b is ShapedMapBlockItem)); + var blockItem = result.BlockItems.OfType().First(); + Assert.IsFalse(blockItem.BooleanValue); + } + [Test] public void TranslateStringToItemFilterBlock_Identified_ReturnsCorrectObject() { @@ -694,7 +745,7 @@ namespace Filtration.Parser.Tests.Services // Assert Assert.AreEqual(1, result.BlockItems.Count(b => b is SoundBlockItem)); var blockItem = result.BlockItems.OfType().First(); - Assert.AreEqual(4, blockItem.Value); + Assert.AreEqual("4", blockItem.Value); Assert.AreEqual(79, blockItem.SecondValue); } @@ -712,7 +763,43 @@ namespace Filtration.Parser.Tests.Services // Assert Assert.AreEqual(1, result.BlockItems.Count(b => b is SoundBlockItem)); var blockItem = result.BlockItems.OfType().First(); - Assert.AreEqual(2, blockItem.Value); + Assert.AreEqual("2", blockItem.Value); + Assert.AreEqual(95, blockItem.SecondValue); + } + + [Test] + public void TranslateStringToItemFilterBlock_PlayAlertSoundPositionalWithoutVolume_ReturnsCorrectObject() + { + // Arrange + + var inputString = "Show" + Environment.NewLine + + " PlayAlertSoundPositional 12"; + + // Act + var result = _testUtility.Translator.TranslateStringToItemFilterBlock(inputString, _testUtility.MockItemFilterScript); + + // Assert + Assert.AreEqual(1, result.BlockItems.Count(b => b is PositionalSoundBlockItem)); + var blockItem = result.BlockItems.OfType().First(); + Assert.AreEqual("12", blockItem.Value); + Assert.AreEqual(79, blockItem.SecondValue); + } + + [Test] + public void TranslateStringToItemFilterBlock_PlayAlertSoundPositionalWithVolume_ReturnsCorrectObject() + { + // Arrange + + var inputString = "Show" + Environment.NewLine + + " PlayAlertSoundPositional 7 95"; + + // Act + var result = _testUtility.Translator.TranslateStringToItemFilterBlock(inputString, _testUtility.MockItemFilterScript); + + // Assert + Assert.AreEqual(1, result.BlockItems.Count(b => b is PositionalSoundBlockItem)); + var blockItem = result.BlockItems.OfType().First(); + Assert.AreEqual("7", blockItem.Value); Assert.AreEqual(95, blockItem.SecondValue); } @@ -730,6 +817,9 @@ namespace Filtration.Parser.Tests.Services " Rarity <= Unique" + Environment.NewLine + " Identified True" + Environment.NewLine + " Corrupted false" + Environment.NewLine + + " ElderItem true" + Environment.NewLine + + " ShaperItem False" + Environment.NewLine + + " ShapedMap TRUE" + Environment.NewLine + @" Class ""My Item Class"" AnotherClass ""AndAnotherClass""" + Environment.NewLine + @" BaseType MyBaseType ""Another BaseType""" + Environment.NewLine + " JunkLine Let's ignore this one!" + Environment.NewLine + @@ -741,7 +831,7 @@ namespace Filtration.Parser.Tests.Services " SetBackgroundColor 255 100 5" + Environment.NewLine + " SetBorderColor 0 0 0" + Environment.NewLine + " SetFontSize 50" + Environment.NewLine + - " PlayAlertSound 3"; + " PlayAlertSound 3" + Environment.NewLine; // Act var result = _testUtility.Translator.TranslateStringToItemFilterBlock(inputString, _testUtility.MockItemFilterScript); @@ -758,6 +848,15 @@ namespace Filtration.Parser.Tests.Services var identifiedBlockItem = result.BlockItems.OfType().First(); Assert.IsTrue(identifiedBlockItem.BooleanValue); + var elderItemBlockItem = result.BlockItems.OfType().First(); + Assert.IsTrue(elderItemBlockItem.BooleanValue); + + var shaperItemBlockItem = result.BlockItems.OfType().First(); + Assert.IsFalse(shaperItemBlockItem.BooleanValue); + + var shapedMapBlockItem = result.BlockItems.OfType().First(); + Assert.IsTrue(shapedMapBlockItem.BooleanValue); + var dropLevelblockItem = result.BlockItems.OfType().First(); Assert.AreEqual(FilterPredicateOperator.LessThan, dropLevelblockItem.FilterPredicate.PredicateOperator); Assert.AreEqual(70, dropLevelblockItem.FilterPredicate.PredicateOperand); @@ -816,7 +915,7 @@ namespace Filtration.Parser.Tests.Services Assert.AreEqual(50, fontSizeblockItem.Value); var soundblockItem = result.BlockItems.OfType().First(); - Assert.AreEqual(3, soundblockItem.Value); + Assert.AreEqual("3", soundblockItem.Value); Assert.AreEqual(79, soundblockItem.SecondValue); } @@ -906,7 +1005,7 @@ namespace Filtration.Parser.Tests.Services // Assert Assert.AreEqual(1, result.BlockItems.Count(b => b is SoundBlockItem)); var blockItem = result.BlockItems.OfType().First(); - Assert.AreEqual(2, blockItem.Value); + Assert.AreEqual("2", blockItem.Value); Assert.AreEqual(79, blockItem.SecondValue); } @@ -1518,7 +1617,7 @@ namespace Filtration.Parser.Tests.Services var expectedResult = "Show" + Environment.NewLine + " PlayAlertSound 2 50"; - _testUtility.TestBlock.BlockItems.Add(new SoundBlockItem(2, 50)); + _testUtility.TestBlock.BlockItems.Add(new SoundBlockItem("2", 50)); // Act var result = _testUtility.Translator.TranslateItemFilterBlockToString(_testUtility.TestBlock); @@ -1593,21 +1692,23 @@ namespace Filtration.Parser.Tests.Services { // Arrange var expectedResult = "Show" + Environment.NewLine + - " LinkedSockets >= 4" + Environment.NewLine + " Sockets <= 6" + Environment.NewLine + " Quality > 2" + Environment.NewLine + " Identified True" + Environment.NewLine + " Corrupted False" + Environment.NewLine + + " ElderItem True" + Environment.NewLine + + " ShaperItem False" + Environment.NewLine + + " ShapedMap True" + Environment.NewLine + " Height <= 6" + Environment.NewLine + " Height >= 2" + Environment.NewLine + " Width = 3" + Environment.NewLine + - " DropLevel > 56" + Environment.NewLine + - " Class \"Body Armour\" \"Gloves\" \"Belt\" \"Two Hand Axes\"" + Environment.NewLine + - " BaseType \"Greater Life Flask\" \"Simple Robe\" \"Full Wyrmscale\"" + Environment.NewLine + - " Rarity = Unique" + Environment.NewLine + " ItemLevel > 70" + Environment.NewLine + " ItemLevel <= 85" + Environment.NewLine + + " DropLevel > 56" + Environment.NewLine + + " Rarity = Unique" + Environment.NewLine + + " Class \"Body Armour\" \"Gloves\" \"Belt\" \"Two Hand Axes\"" + Environment.NewLine + + " BaseType \"Greater Life Flask\" \"Simple Robe\" \"Full Wyrmscale\"" + Environment.NewLine + " SetTextColor 255 89 0 56" + Environment.NewLine + " SetBackgroundColor 0 0 0" + Environment.NewLine + " SetBorderColor 255 1 254" + Environment.NewLine + @@ -1643,7 +1744,10 @@ namespace Filtration.Parser.Tests.Services _testUtility.TestBlock.BlockItems.Add(new BackgroundColorBlockItem(new Color { A = 255, R = 0, G = 0, B = 0 })); _testUtility.TestBlock.BlockItems.Add(new BorderColorBlockItem(new Color { A = 255, R = 255, G = 1, B = 254 })); _testUtility.TestBlock.BlockItems.Add(new FontSizeBlockItem(50)); - _testUtility.TestBlock.BlockItems.Add(new SoundBlockItem(6, 90)); + _testUtility.TestBlock.BlockItems.Add(new SoundBlockItem("6", 90)); + _testUtility.TestBlock.BlockItems.Add(new ElderItemBlockItem(true)); + _testUtility.TestBlock.BlockItems.Add(new ShaperItemBlockItem(false)); + _testUtility.TestBlock.BlockItems.Add(new ShapedMapBlockItem(true)); // Act var result = _testUtility.Translator.TranslateItemFilterBlockToString(_testUtility.TestBlock); @@ -1679,7 +1783,7 @@ namespace Filtration.Parser.Tests.Services var testInputString = "PlayAlertSound 7 280"; var testInputBlockItems = new ObservableCollection(); - var testInputBlockItem = new SoundBlockItem(12,30); + var testInputBlockItem = new SoundBlockItem("12",30); testInputBlockItems.Add(testInputBlockItem); // Act @@ -1689,7 +1793,7 @@ namespace Filtration.Parser.Tests.Services var soundBlockItem = testInputBlockItems.First(b => b is SoundBlockItem) as SoundBlockItem; Assert.IsNotNull(soundBlockItem); Assert.AreNotSame(testInputBlockItem, soundBlockItem); - Assert.AreEqual(7, soundBlockItem.Value); + Assert.AreEqual("7", soundBlockItem.Value); Assert.AreEqual(280, soundBlockItem.SecondValue); } @@ -1746,7 +1850,7 @@ namespace Filtration.Parser.Tests.Services var testInputTextColorBlockItem = new TextColorBlockItem(Colors.Red); var testInputBackgroundColorBlockItem = new BackgroundColorBlockItem(Colors.Blue); var testInputBorderColorBlockItem = new BorderColorBlockItem(Colors.Yellow); - var testInputSoundBlockItem = new SoundBlockItem(1, 1); + var testInputSoundBlockItem = new SoundBlockItem("1", 1); testInputBlockItems.Add(testInputTextColorBlockItem); testInputBlockItems.Add(testInputBackgroundColorBlockItem); @@ -1775,7 +1879,7 @@ namespace Filtration.Parser.Tests.Services var soundBlockItem = testInputBlockItems.First(b => b is SoundBlockItem) as SoundBlockItem; Assert.IsNotNull(soundBlockItem); Assert.AreNotSame(testInputSoundBlockItem, soundBlockItem); - Assert.AreEqual(7, soundBlockItem.Value); + Assert.AreEqual("7", soundBlockItem.Value); Assert.AreEqual(280, soundBlockItem.SecondValue); } @@ -1808,7 +1912,7 @@ namespace Filtration.Parser.Tests.Services var soundBlockItem = testInputBlockItems.First(b => b is SoundBlockItem) as SoundBlockItem; Assert.IsNotNull(soundBlockItem); - Assert.AreEqual(7, soundBlockItem.Value); + Assert.AreEqual("7", soundBlockItem.Value); Assert.AreEqual(280, soundBlockItem.SecondValue); } diff --git a/Filtration.Parser/Services/ItemFilterBlockTranslator.cs b/Filtration.Parser/Services/ItemFilterBlockTranslator.cs index b8b10a1..fba4077 100644 --- a/Filtration.Parser/Services/ItemFilterBlockTranslator.cs +++ b/Filtration.Parser/Services/ItemFilterBlockTranslator.cs @@ -145,6 +145,21 @@ namespace Filtration.Parser.Services AddBooleanItemToBlockItems(block, trimmedLine); break; } + case "ElderItem": + { + AddBooleanItemToBlockItems(block, trimmedLine); + break; + } + case "ShaperItem": + { + AddBooleanItemToBlockItems(block, trimmedLine); + break; + } + case "ShapedMap": + { + AddBooleanItemToBlockItems(block, trimmedLine); + break; + } case "Sockets": { AddNumericFilterPredicateItemToBlockItems(block, trimmedLine); @@ -208,40 +223,47 @@ namespace Filtration.Parser.Services break; } case "PlayAlertSound": + case "PlayAlertSoundPositional": { // Only ever use the last PlayAlertSound item encountered as multiples aren't valid. RemoveExistingBlockItemsOfType(block); + RemoveExistingBlockItemsOfType(block); - var matches = Regex.Matches(trimmedLine, @"\s+(\d+)"); - switch (matches.Count) - { - case 1: - { - if (matches[0].Success) - { - var blockItemValue = new SoundBlockItem - { - Value = Convert.ToInt16(matches[0].Value), - SecondValue = 79 - }; - block.BlockItems.Add(blockItemValue); - } - break; - } - case 2: - { - if (matches[0].Success && matches[1].Success) - { - var blockItemValue = new SoundBlockItem - { - Value = Convert.ToInt16(matches[0].Value), - SecondValue = Convert.ToInt16(matches[1].Value) - }; - block.BlockItems.Add(blockItemValue); - } - break; - } - } + var match = Regex.Match(trimmedLine, @"\S+\s+(\S+)\s?(\d+)?"); + + if (match.Success) + { + string firstValue = match.Groups[1].Value; + int secondValue; + + if (match.Groups[2].Success) + { + secondValue = Convert.ToInt16(match.Groups[2].Value); + } + else + { + secondValue = 79; + } + + if (lineOption == "PlayAlertSound") + { + var blockItemValue = new SoundBlockItem + { + Value = firstValue, + SecondValue = secondValue + }; + block.BlockItems.Add(blockItemValue); + } + else + { + var blockItemValue = new PositionalSoundBlockItem + { + Value = firstValue, + SecondValue = secondValue + }; + block.BlockItems.Add(blockItemValue); + } + } break; } } @@ -368,9 +390,9 @@ namespace Filtration.Parser.Services { case "PlayAlertSound": { - var match = Regex.Match(line, @"\s+(\d+) (\d+)"); + var match = Regex.Match(line, @"\s+(\S+) (\d+)"); if (!match.Success) break; - blockItems.Add(new SoundBlockItem(Convert.ToInt16(match.Groups[1].Value), Convert.ToInt16(match.Groups[2].Value))); + blockItems.Add(new SoundBlockItem(match.Groups[1].Value, Convert.ToInt16(match.Groups[2].Value))); break; } case "SetTextColor": diff --git a/Filtration/Filtration.csproj b/Filtration/Filtration.csproj index b0a83bb..73b1f40 100644 --- a/Filtration/Filtration.csproj +++ b/Filtration/Filtration.csproj @@ -1,530 +1,589 @@ - - - - - Debug - AnyCPU - {55E0A34C-E039-43D7-A024-A4045401CDDA} - WinExe - Properties - Filtration - Filtration - v4.6.1 - 512 - {60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - 4 - true - - - - AnyCPU - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - - - AnyCPU - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - - - Filtration.App - - - Resources\filtration.ico - - - - ..\packages\AutoMapper.6.0.2\lib\net45\AutoMapper.dll - - - ..\packages\Castle.Core.3.3.3\lib\net45\Castle.Core.dll - True - - - ..\packages\Castle.Windsor.3.4.0\lib\net45\Castle.Windsor.dll - - - ..\packages\ControlzEx.2.2.0.4\lib\net45\ControlzEx.dll - - - ..\packages\Fluent.Ribbon.4.0.3.394\lib\net45\Fluent.dll - True - - - ..\packages\MvvmLightLibs.5.3.0.0\lib\net45\GalaSoft.MvvmLight.dll - True - - - ..\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 - - - ..\packages\MahApps.Metro.1.2.4.0\lib\net45\MahApps.Metro.dll - True - - - - ..\packages\NLog.4.4.9\lib\net45\NLog.dll - - - - - False - ..\packages\WPFToolkit.3.5.50211.1\lib\System.Windows.Controls.Input.Toolkit.dll - - - False - ..\packages\WPFToolkit.3.5.50211.1\lib\System.Windows.Controls.Layout.Toolkit.dll - - - - ..\packages\ControlzEx.2.2.0.4\lib\net45\System.Windows.Interactivity.dll - - - - - 4.0 - - - - - - ..\packages\WpfAnimatedGif.1.4.14\lib\net\WpfAnimatedGif.dll - True - - - False - ..\packages\WPFToolkit.3.5.50211.1\lib\WPFToolkit.dll - - - ..\packages\Extended.Wpf.Toolkit.2.9\lib\net40\Xceed.Wpf.AvalonDock.dll - True - - - ..\packages\Extended.Wpf.Toolkit.2.9\lib\net40\Xceed.Wpf.AvalonDock.Themes.Aero.dll - True - - - ..\packages\Extended.Wpf.Toolkit.2.9\lib\net40\Xceed.Wpf.AvalonDock.Themes.Metro.dll - True - - - ..\packages\Extended.Wpf.Toolkit.2.9\lib\net40\Xceed.Wpf.AvalonDock.Themes.VS2010.dll - True - - - False - libs\Xceed.Wpf.AvalonDock.Themes.VS2013.dll - - - ..\packages\Extended.Wpf.Toolkit.2.9\lib\net40\Xceed.Wpf.DataGrid.dll - True - - - ..\packages\Extended.Wpf.Toolkit.2.9\lib\net40\Xceed.Wpf.Toolkit.dll - True - - - - - MSBuild:Compile - Designer - - - - - - - - - - - - - - - - - - - - - - - - - - - BlockItemControl.xaml - - - - - EditableListBoxControl.xaml - - - ItemPreviewControl.xaml - - - ThemeComponentSelectionControl.xaml - - - - - - - - - - - - - - - - - - - - - - - - AvalonDockWorkspaceView.xaml - - - - - - SettingsPageView.xaml - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - MSBuild:Compile - Designer - - - BlockGroupBrowserView.xaml - - - ItemFilterScriptView.xaml - - - ItemFilterBlockView.xaml - - - NumericFilterPredicateControl.xaml - - - ItemFilterCommentBlockView.xaml - - - AboutWindow.xaml - - - - - - ReplaceColorsWindow.xaml - - - BlockOutputPreviewView.xaml - - - CommentBlockBrowserView.xaml - - - StartPageView.xaml - - - UpdateAvailableView.xaml - - - - - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - MSBuild:Compile - Designer - - - App.xaml - Code - - - - MainWindow.xaml - Code - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - - - Code - - - True - True - Resources.resx - - - True - Settings.settings - True - - - - ResXFileCodeGenerator - Resources.Designer.cs - - - PreserveNewest - - - Always - - - Designer - - - - SettingsSingleFileGenerator - Settings.Designer.cs - - - - - - - - - - - - - PreserveNewest - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - PreserveNewest - - - - - PreserveNewest - - - - - PreserveNewest - - - - - PreserveNewest - - - - - PreserveNewest - - - - - PreserveNewest - - - - - PreserveNewest - - - - - PreserveNewest - - - - - {8cb44f28-2956-4c2a-9314-72727262edd4} - Filtration.Common - - - {0f333344-7695-47b2-b0e6-172e4de74819} - Filtration.Interface - - - {4aac3beb-1dc1-483e-9d11-0e9334e80227} - Filtration.ObjectModel - - - {46383f20-02df-48b4-b092-9088fa4acd5a} - Filtration.Parser.Interface - - - {10a7c2bc-ec6f-4a38-bdda-e35935004c02} - Filtration.Parser - - - {41b8f5c2-65aa-42f0-a20b-6f95b13a9f48} - Filtration.ThemeEditor - - - - - + + + + + Debug + AnyCPU + {55E0A34C-E039-43D7-A024-A4045401CDDA} + WinExe + Properties + Filtration + Filtration + v4.6.1 + 512 + {60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + 4 + true + + publish\ + true + Disk + false + Foreground + 7 + Days + false + false + true + 0 + 1.0.0.%2a + false + false + true + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + Filtration.App + + + Resources\filtration.ico + + + + ..\packages\AutoMapper.6.0.2\lib\net45\AutoMapper.dll + + + ..\packages\Castle.Core.3.3.3\lib\net45\Castle.Core.dll + True + + + ..\packages\Castle.Windsor.3.4.0\lib\net45\Castle.Windsor.dll + + + ..\packages\ControlzEx.2.2.0.4\lib\net45\ControlzEx.dll + + + ..\packages\Fluent.Ribbon.4.0.3.394\lib\net45\Fluent.dll + True + + + ..\packages\MvvmLightLibs.5.3.0.0\lib\net45\GalaSoft.MvvmLight.dll + True + + + ..\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 + + + ..\packages\MahApps.Metro.1.2.4.0\lib\net45\MahApps.Metro.dll + True + + + + ..\packages\NLog.4.4.9\lib\net45\NLog.dll + + + + + False + ..\packages\WPFToolkit.3.5.50211.1\lib\System.Windows.Controls.Input.Toolkit.dll + + + False + ..\packages\WPFToolkit.3.5.50211.1\lib\System.Windows.Controls.Layout.Toolkit.dll + + + + ..\packages\ControlzEx.2.2.0.4\lib\net45\System.Windows.Interactivity.dll + + + + + 4.0 + + + + + + ..\packages\WpfAnimatedGif.1.4.14\lib\net\WpfAnimatedGif.dll + True + + + False + ..\packages\WPFToolkit.3.5.50211.1\lib\WPFToolkit.dll + + + ..\packages\Extended.Wpf.Toolkit.2.9\lib\net40\Xceed.Wpf.AvalonDock.dll + True + + + ..\packages\Extended.Wpf.Toolkit.2.9\lib\net40\Xceed.Wpf.AvalonDock.Themes.Aero.dll + True + + + ..\packages\Extended.Wpf.Toolkit.2.9\lib\net40\Xceed.Wpf.AvalonDock.Themes.Metro.dll + True + + + ..\packages\Extended.Wpf.Toolkit.2.9\lib\net40\Xceed.Wpf.AvalonDock.Themes.VS2010.dll + True + + + False + libs\Xceed.Wpf.AvalonDock.Themes.VS2013.dll + + + ..\packages\Extended.Wpf.Toolkit.2.9\lib\net40\Xceed.Wpf.DataGrid.dll + True + + + ..\packages\Extended.Wpf.Toolkit.2.9\lib\net40\Xceed.Wpf.Toolkit.dll + True + + + + + MSBuild:Compile + Designer + + + + + + + + + + + + + + + + + + + + + + + + + + + BlockItemControl.xaml + + + + + EditableListBoxControl.xaml + + + ItemPreviewControl.xaml + + + ThemeComponentSelectionControl.xaml + + + + + + + + + + + + + + + + + + + + + + + + AvalonDockWorkspaceView.xaml + + + + + + SettingsPageView.xaml + + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + + MSBuild:Compile + Designer + + + BlockGroupBrowserView.xaml + + + ItemFilterScriptView.xaml + + + ItemFilterBlockView.xaml + + + NumericFilterPredicateControl.xaml + + + ItemFilterCommentBlockView.xaml + + + AboutWindow.xaml + + + + + + ReplaceColorsWindow.xaml + + + BlockOutputPreviewView.xaml + + + StartPageView.xaml + + + UpdateAvailableView.xaml + + + + + + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + + MSBuild:Compile + Designer + + + App.xaml + Code + + + + MainWindow.xaml + Code + + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + + + + Code + + + True + True + Resources.resx + + + True + Settings.settings + True + + + + ResXFileCodeGenerator + Resources.Designer.cs + + + PreserveNewest + + + Always + + + Designer + + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + + + + + {8cb44f28-2956-4c2a-9314-72727262edd4} + Filtration.Common + + + {0f333344-7695-47b2-b0e6-172e4de74819} + Filtration.Interface + + + {4aac3beb-1dc1-483e-9d11-0e9334e80227} + Filtration.ObjectModel + + + {46383f20-02df-48b4-b092-9088fa4acd5a} + Filtration.Parser.Interface + + + {10a7c2bc-ec6f-4a38-bdda-e35935004c02} + Filtration.Parser + + + {41b8f5c2-65aa-42f0-a20b-6f95b13a9f48} + Filtration.ThemeEditor + + + + + + + + False + Microsoft .NET Framework 4.6.1 %28x86 and x64%29 + true + + + False + .NET Framework 3.5 SP1 + false + + + + + --> \ No newline at end of file diff --git a/Filtration/Properties/Resources.Designer.cs b/Filtration/Properties/Resources.Designer.cs index d95532d..e581ae9 100644 --- a/Filtration/Properties/Resources.Designer.cs +++ b/Filtration/Properties/Resources.Designer.cs @@ -1,164 +1,317 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// Runtime Version:4.0.30319.42000 -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -namespace Filtration.Properties { - using System; - - - /// - /// A strongly-typed resource class, for looking up localized strings, etc. - /// - // This class was auto-generated by the StronglyTypedResourceBuilder - // class via a tool like ResGen or Visual Studio. - // To add or remove a member, edit your .ResX file then rerun ResGen - // with the /str option, or rebuild your VS project. - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - internal class Resources { - - private static global::System.Resources.ResourceManager resourceMan; - - private static global::System.Globalization.CultureInfo resourceCulture; - - [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] - internal Resources() { - } - - /// - /// Returns the cached ResourceManager instance used by this class. - /// - [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - internal static global::System.Resources.ResourceManager ResourceManager { - get { - if (object.ReferenceEquals(resourceMan, null)) { - global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Filtration.Properties.Resources", typeof(Resources).Assembly); - resourceMan = temp; - } - return resourceMan; - } - } - - /// - /// Overrides the current thread's CurrentUICulture property for all - /// resource lookups using this strongly typed resource class. - /// - [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - internal static global::System.Globalization.CultureInfo Culture { - get { - return resourceCulture; - } - set { - resourceCulture = value; - } - } - - /// - /// Looks up a localized resource of type System.IO.UnmanagedMemoryStream similar to System.IO.MemoryStream. - /// - internal static System.IO.UnmanagedMemoryStream AlertSound1 { - get { - return ResourceManager.GetStream("AlertSound1", resourceCulture); - } - } - - /// - /// Looks up a localized resource of type System.IO.UnmanagedMemoryStream similar to System.IO.MemoryStream. - /// - internal static System.IO.UnmanagedMemoryStream AlertSound2 { - get { - return ResourceManager.GetStream("AlertSound2", resourceCulture); - } - } - - /// - /// Looks up a localized resource of type System.IO.UnmanagedMemoryStream similar to System.IO.MemoryStream. - /// - internal static System.IO.UnmanagedMemoryStream AlertSound3 { - get { - return ResourceManager.GetStream("AlertSound3", resourceCulture); - } - } - - /// - /// Looks up a localized resource of type System.IO.UnmanagedMemoryStream similar to System.IO.MemoryStream. - /// - internal static System.IO.UnmanagedMemoryStream AlertSound4 { - get { - return ResourceManager.GetStream("AlertSound4", resourceCulture); - } - } - - /// - /// Looks up a localized resource of type System.IO.UnmanagedMemoryStream similar to System.IO.MemoryStream. - /// - internal static System.IO.UnmanagedMemoryStream AlertSound5 { - get { - return ResourceManager.GetStream("AlertSound5", resourceCulture); - } - } - - /// - /// Looks up a localized resource of type System.IO.UnmanagedMemoryStream similar to System.IO.MemoryStream. - /// - internal static System.IO.UnmanagedMemoryStream AlertSound6 { - get { - return ResourceManager.GetStream("AlertSound6", resourceCulture); - } - } - - /// - /// Looks up a localized resource of type System.IO.UnmanagedMemoryStream similar to System.IO.MemoryStream. - /// - internal static System.IO.UnmanagedMemoryStream AlertSound7 { - get { - return ResourceManager.GetStream("AlertSound7", resourceCulture); - } - } - - /// - /// Looks up a localized resource of type System.IO.UnmanagedMemoryStream similar to System.IO.MemoryStream. - /// - internal static System.IO.UnmanagedMemoryStream AlertSound8 { - get { - return ResourceManager.GetStream("AlertSound8", resourceCulture); - } - } - - /// - /// Looks up a localized resource of type System.IO.UnmanagedMemoryStream similar to System.IO.MemoryStream. - /// - internal static System.IO.UnmanagedMemoryStream AlertSound9 { - get { - return ResourceManager.GetStream("AlertSound9", resourceCulture); - } - } - - /// - /// Looks up a localized resource of type System.Byte[]. - /// - internal static byte[] Fontin_SmallCaps { - get { - object obj = ResourceManager.GetObject("Fontin_SmallCaps", resourceCulture); - return ((byte[])(obj)); - } - } - - /// - /// Looks up a localized resource of type System.Drawing.Bitmap. - /// - internal static System.Drawing.Bitmap groundtile { - get { - object obj = ResourceManager.GetObject("groundtile", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - } -} +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace Filtration.Properties { + using System; + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Filtration.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// + /// Looks up a localized resource of type System.IO.UnmanagedMemoryStream similar to System.IO.MemoryStream. + /// + internal static System.IO.UnmanagedMemoryStream AlertSound_01 { + get { + return ResourceManager.GetStream("AlertSound_01", resourceCulture); + } + } + + /// + /// Looks up a localized resource of type System.IO.UnmanagedMemoryStream similar to System.IO.MemoryStream. + /// + internal static System.IO.UnmanagedMemoryStream AlertSound_02 { + get { + return ResourceManager.GetStream("AlertSound_02", resourceCulture); + } + } + + /// + /// Looks up a localized resource of type System.IO.UnmanagedMemoryStream similar to System.IO.MemoryStream. + /// + internal static System.IO.UnmanagedMemoryStream AlertSound_03 { + get { + return ResourceManager.GetStream("AlertSound_03", resourceCulture); + } + } + + /// + /// Looks up a localized resource of type System.IO.UnmanagedMemoryStream similar to System.IO.MemoryStream. + /// + internal static System.IO.UnmanagedMemoryStream AlertSound_04 { + get { + return ResourceManager.GetStream("AlertSound_04", resourceCulture); + } + } + + /// + /// Looks up a localized resource of type System.IO.UnmanagedMemoryStream similar to System.IO.MemoryStream. + /// + internal static System.IO.UnmanagedMemoryStream AlertSound_05 { + get { + return ResourceManager.GetStream("AlertSound_05", resourceCulture); + } + } + + /// + /// Looks up a localized resource of type System.IO.UnmanagedMemoryStream similar to System.IO.MemoryStream. + /// + internal static System.IO.UnmanagedMemoryStream AlertSound_06 { + get { + return ResourceManager.GetStream("AlertSound_06", resourceCulture); + } + } + + /// + /// Looks up a localized resource of type System.IO.UnmanagedMemoryStream similar to System.IO.MemoryStream. + /// + internal static System.IO.UnmanagedMemoryStream AlertSound_07 { + get { + return ResourceManager.GetStream("AlertSound_07", resourceCulture); + } + } + + /// + /// Looks up a localized resource of type System.IO.UnmanagedMemoryStream similar to System.IO.MemoryStream. + /// + internal static System.IO.UnmanagedMemoryStream AlertSound_08 { + get { + return ResourceManager.GetStream("AlertSound_08", resourceCulture); + } + } + + /// + /// Looks up a localized resource of type System.IO.UnmanagedMemoryStream similar to System.IO.MemoryStream. + /// + internal static System.IO.UnmanagedMemoryStream AlertSound_09 { + get { + return ResourceManager.GetStream("AlertSound_09", resourceCulture); + } + } + + /// + /// Looks up a localized resource of type System.IO.UnmanagedMemoryStream similar to System.IO.MemoryStream. + /// + internal static System.IO.UnmanagedMemoryStream AlertSound_10 { + get { + return ResourceManager.GetStream("AlertSound_10", resourceCulture); + } + } + + /// + /// Looks up a localized resource of type System.IO.UnmanagedMemoryStream similar to System.IO.MemoryStream. + /// + internal static System.IO.UnmanagedMemoryStream AlertSound_11 { + get { + return ResourceManager.GetStream("AlertSound_11", resourceCulture); + } + } + + /// + /// Looks up a localized resource of type System.IO.UnmanagedMemoryStream similar to System.IO.MemoryStream. + /// + internal static System.IO.UnmanagedMemoryStream AlertSound_12 { + get { + return ResourceManager.GetStream("AlertSound_12", resourceCulture); + } + } + + /// + /// Looks up a localized resource of type System.IO.UnmanagedMemoryStream similar to System.IO.MemoryStream. + /// + internal static System.IO.UnmanagedMemoryStream AlertSound_13 { + get { + return ResourceManager.GetStream("AlertSound_13", resourceCulture); + } + } + + /// + /// Looks up a localized resource of type System.IO.UnmanagedMemoryStream similar to System.IO.MemoryStream. + /// + internal static System.IO.UnmanagedMemoryStream AlertSound_14 { + get { + return ResourceManager.GetStream("AlertSound_14", resourceCulture); + } + } + + /// + /// Looks up a localized resource of type System.IO.UnmanagedMemoryStream similar to System.IO.MemoryStream. + /// + internal static System.IO.UnmanagedMemoryStream AlertSound_15 { + get { + return ResourceManager.GetStream("AlertSound_15", resourceCulture); + } + } + + /// + /// Looks up a localized resource of type System.IO.UnmanagedMemoryStream similar to System.IO.MemoryStream. + /// + internal static System.IO.UnmanagedMemoryStream AlertSound_16 { + get { + return ResourceManager.GetStream("AlertSound_16", resourceCulture); + } + } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] Fontin_SmallCaps { + get { + object obj = ResourceManager.GetObject("Fontin_SmallCaps", resourceCulture); + return ((byte[])(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap groundtile { + get { + object obj = ResourceManager.GetObject("groundtile", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.IO.UnmanagedMemoryStream similar to System.IO.MemoryStream. + /// + internal static System.IO.UnmanagedMemoryStream SH22Alchemy { + get { + return ResourceManager.GetStream("SH22Alchemy", resourceCulture); + } + } + + /// + /// Looks up a localized resource of type System.IO.UnmanagedMemoryStream similar to System.IO.MemoryStream. + /// + internal static System.IO.UnmanagedMemoryStream SH22Blessed { + get { + return ResourceManager.GetStream("SH22Blessed", resourceCulture); + } + } + + /// + /// Looks up a localized resource of type System.IO.UnmanagedMemoryStream similar to System.IO.MemoryStream. + /// + internal static System.IO.UnmanagedMemoryStream SH22Chaos { + get { + return ResourceManager.GetStream("SH22Chaos", resourceCulture); + } + } + + /// + /// Looks up a localized resource of type System.IO.UnmanagedMemoryStream similar to System.IO.MemoryStream. + /// + internal static System.IO.UnmanagedMemoryStream SH22Divine { + get { + return ResourceManager.GetStream("SH22Divine", resourceCulture); + } + } + + /// + /// Looks up a localized resource of type System.IO.UnmanagedMemoryStream similar to System.IO.MemoryStream. + /// + internal static System.IO.UnmanagedMemoryStream SH22Exalted { + get { + return ResourceManager.GetStream("SH22Exalted", resourceCulture); + } + } + + /// + /// Looks up a localized resource of type System.IO.UnmanagedMemoryStream similar to System.IO.MemoryStream. + /// + internal static System.IO.UnmanagedMemoryStream SH22Fusing { + get { + return ResourceManager.GetStream("SH22Fusing", resourceCulture); + } + } + + /// + /// Looks up a localized resource of type System.IO.UnmanagedMemoryStream similar to System.IO.MemoryStream. + /// + internal static System.IO.UnmanagedMemoryStream SH22General { + get { + return ResourceManager.GetStream("SH22General", resourceCulture); + } + } + + /// + /// Looks up a localized resource of type System.IO.UnmanagedMemoryStream similar to System.IO.MemoryStream. + /// + internal static System.IO.UnmanagedMemoryStream SH22Mirror { + get { + return ResourceManager.GetStream("SH22Mirror", resourceCulture); + } + } + + /// + /// Looks up a localized resource of type System.IO.UnmanagedMemoryStream similar to System.IO.MemoryStream. + /// + internal static System.IO.UnmanagedMemoryStream SH22Regal { + get { + return ResourceManager.GetStream("SH22Regal", resourceCulture); + } + } + + /// + /// Looks up a localized resource of type System.IO.UnmanagedMemoryStream similar to System.IO.MemoryStream. + /// + internal static System.IO.UnmanagedMemoryStream SH22Vaal { + get { + return ResourceManager.GetStream("SH22Vaal", resourceCulture); + } + } + } +} diff --git a/Filtration/Properties/Resources.resx b/Filtration/Properties/Resources.resx index 4f30e8e..a8efc84 100644 --- a/Filtration/Properties/Resources.resx +++ b/Filtration/Properties/Resources.resx @@ -1,154 +1,205 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - - ..\Resources\AlertSounds\AlertSound1.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - ..\Resources\AlertSounds\AlertSound2.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - ..\Resources\AlertSounds\AlertSound3.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - ..\Resources\AlertSounds\AlertSound4.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - ..\Resources\AlertSounds\AlertSound5.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - ..\Resources\AlertSounds\AlertSound6.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - ..\Resources\AlertSounds\AlertSound7.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - ..\Resources\AlertSounds\AlertSound8.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - ..\Resources\AlertSounds\AlertSound9.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - ..\Resources\Fontin-SmallCaps.ttf;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - ..\Resources\groundtile.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + ..\Resources\AlertSounds\AlertSound_01.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\AlertSounds\AlertSound_02.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\AlertSounds\AlertSound_03.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\AlertSounds\AlertSound_04.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\AlertSounds\AlertSound_05.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\AlertSounds\AlertSound_06.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\AlertSounds\AlertSound_07.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\AlertSounds\AlertSound_08.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\AlertSounds\AlertSound_09.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\AlertSounds\AlertSound_10.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\AlertSounds\AlertSound_11.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\AlertSounds\AlertSound_12.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\AlertSounds\AlertSound_13.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\AlertSounds\AlertSound_14.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\AlertSounds\AlertSound_15.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\AlertSounds\AlertSound_16.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\Fontin-SmallCaps.ttf;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\groundtile.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\AlertSounds\SH22Alchemy.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\AlertSounds\SH22Blessed.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\AlertSounds\SH22Chaos.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\AlertSounds\SH22Divine.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\AlertSounds\SH22Exalted.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\AlertSounds\SH22Fusing.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\AlertSounds\SH22General.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\AlertSounds\SH22Mirror.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\AlertSounds\SH22Regal.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\Resources\AlertSounds\SH22Vaal.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + \ No newline at end of file diff --git a/Filtration/Resources/AlertSounds/AlertSound1.wav b/Filtration/Resources/AlertSounds/AlertSound1.wav deleted file mode 100644 index 4ae9006..0000000 Binary files a/Filtration/Resources/AlertSounds/AlertSound1.wav and /dev/null differ diff --git a/Filtration/Resources/AlertSounds/AlertSound2.wav b/Filtration/Resources/AlertSounds/AlertSound2.wav deleted file mode 100644 index 0bd42cd..0000000 Binary files a/Filtration/Resources/AlertSounds/AlertSound2.wav and /dev/null differ diff --git a/Filtration/Resources/AlertSounds/AlertSound3.wav b/Filtration/Resources/AlertSounds/AlertSound3.wav deleted file mode 100644 index 81997cf..0000000 Binary files a/Filtration/Resources/AlertSounds/AlertSound3.wav and /dev/null differ diff --git a/Filtration/Resources/AlertSounds/AlertSound4.wav b/Filtration/Resources/AlertSounds/AlertSound4.wav deleted file mode 100644 index 94eb71c..0000000 Binary files a/Filtration/Resources/AlertSounds/AlertSound4.wav and /dev/null differ diff --git a/Filtration/Resources/AlertSounds/AlertSound5.wav b/Filtration/Resources/AlertSounds/AlertSound5.wav deleted file mode 100644 index 5c393e8..0000000 Binary files a/Filtration/Resources/AlertSounds/AlertSound5.wav and /dev/null differ diff --git a/Filtration/Resources/AlertSounds/AlertSound6.wav b/Filtration/Resources/AlertSounds/AlertSound6.wav deleted file mode 100644 index 1c24dbc..0000000 Binary files a/Filtration/Resources/AlertSounds/AlertSound6.wav and /dev/null differ diff --git a/Filtration/Resources/AlertSounds/AlertSound7.wav b/Filtration/Resources/AlertSounds/AlertSound7.wav deleted file mode 100644 index 296957e..0000000 Binary files a/Filtration/Resources/AlertSounds/AlertSound7.wav and /dev/null differ diff --git a/Filtration/Resources/AlertSounds/AlertSound8.wav b/Filtration/Resources/AlertSounds/AlertSound8.wav deleted file mode 100644 index b106182..0000000 Binary files a/Filtration/Resources/AlertSounds/AlertSound8.wav and /dev/null differ diff --git a/Filtration/Resources/AlertSounds/AlertSound9.wav b/Filtration/Resources/AlertSounds/AlertSound9.wav deleted file mode 100644 index b1858e2..0000000 Binary files a/Filtration/Resources/AlertSounds/AlertSound9.wav and /dev/null differ diff --git a/Filtration/Resources/AlertSounds/AlertSound_01.wav b/Filtration/Resources/AlertSounds/AlertSound_01.wav new file mode 100644 index 0000000..6374b92 Binary files /dev/null and b/Filtration/Resources/AlertSounds/AlertSound_01.wav differ diff --git a/Filtration/Resources/AlertSounds/AlertSound_02.wav b/Filtration/Resources/AlertSounds/AlertSound_02.wav new file mode 100644 index 0000000..65f613d Binary files /dev/null and b/Filtration/Resources/AlertSounds/AlertSound_02.wav differ diff --git a/Filtration/Resources/AlertSounds/AlertSound_03.wav b/Filtration/Resources/AlertSounds/AlertSound_03.wav new file mode 100644 index 0000000..3cd5def Binary files /dev/null and b/Filtration/Resources/AlertSounds/AlertSound_03.wav differ diff --git a/Filtration/Resources/AlertSounds/AlertSound_04.wav b/Filtration/Resources/AlertSounds/AlertSound_04.wav new file mode 100644 index 0000000..ad7337f Binary files /dev/null and b/Filtration/Resources/AlertSounds/AlertSound_04.wav differ diff --git a/Filtration/Resources/AlertSounds/AlertSound_05.wav b/Filtration/Resources/AlertSounds/AlertSound_05.wav new file mode 100644 index 0000000..9a08fb5 Binary files /dev/null and b/Filtration/Resources/AlertSounds/AlertSound_05.wav differ diff --git a/Filtration/Resources/AlertSounds/AlertSound_06.wav b/Filtration/Resources/AlertSounds/AlertSound_06.wav new file mode 100644 index 0000000..a1b2018 Binary files /dev/null and b/Filtration/Resources/AlertSounds/AlertSound_06.wav differ diff --git a/Filtration/Resources/AlertSounds/AlertSound_07.wav b/Filtration/Resources/AlertSounds/AlertSound_07.wav new file mode 100644 index 0000000..20b0b33 Binary files /dev/null and b/Filtration/Resources/AlertSounds/AlertSound_07.wav differ diff --git a/Filtration/Resources/AlertSounds/AlertSound_08.wav b/Filtration/Resources/AlertSounds/AlertSound_08.wav new file mode 100644 index 0000000..f748b1a Binary files /dev/null and b/Filtration/Resources/AlertSounds/AlertSound_08.wav differ diff --git a/Filtration/Resources/AlertSounds/AlertSound_09.wav b/Filtration/Resources/AlertSounds/AlertSound_09.wav new file mode 100644 index 0000000..cc3e23d Binary files /dev/null and b/Filtration/Resources/AlertSounds/AlertSound_09.wav differ diff --git a/Filtration/Resources/AlertSounds/AlertSound_10.wav b/Filtration/Resources/AlertSounds/AlertSound_10.wav new file mode 100644 index 0000000..3025548 Binary files /dev/null and b/Filtration/Resources/AlertSounds/AlertSound_10.wav differ diff --git a/Filtration/Resources/AlertSounds/AlertSound_11.wav b/Filtration/Resources/AlertSounds/AlertSound_11.wav new file mode 100644 index 0000000..20b8f47 Binary files /dev/null and b/Filtration/Resources/AlertSounds/AlertSound_11.wav differ diff --git a/Filtration/Resources/AlertSounds/AlertSound_12.wav b/Filtration/Resources/AlertSounds/AlertSound_12.wav new file mode 100644 index 0000000..cdf6752 Binary files /dev/null and b/Filtration/Resources/AlertSounds/AlertSound_12.wav differ diff --git a/Filtration/Resources/AlertSounds/AlertSound_13.wav b/Filtration/Resources/AlertSounds/AlertSound_13.wav new file mode 100644 index 0000000..9ec34aa Binary files /dev/null and b/Filtration/Resources/AlertSounds/AlertSound_13.wav differ diff --git a/Filtration/Resources/AlertSounds/AlertSound_14.wav b/Filtration/Resources/AlertSounds/AlertSound_14.wav new file mode 100644 index 0000000..5fc0381 Binary files /dev/null and b/Filtration/Resources/AlertSounds/AlertSound_14.wav differ diff --git a/Filtration/Resources/AlertSounds/AlertSound_15.wav b/Filtration/Resources/AlertSounds/AlertSound_15.wav new file mode 100644 index 0000000..e612283 Binary files /dev/null and b/Filtration/Resources/AlertSounds/AlertSound_15.wav differ diff --git a/Filtration/Resources/AlertSounds/AlertSound_16.wav b/Filtration/Resources/AlertSounds/AlertSound_16.wav new file mode 100644 index 0000000..513dad1 Binary files /dev/null and b/Filtration/Resources/AlertSounds/AlertSound_16.wav differ diff --git a/Filtration/Resources/AlertSounds/SH22Alchemy.wav b/Filtration/Resources/AlertSounds/SH22Alchemy.wav new file mode 100644 index 0000000..17678ec Binary files /dev/null and b/Filtration/Resources/AlertSounds/SH22Alchemy.wav differ diff --git a/Filtration/Resources/AlertSounds/SH22Blessed.wav b/Filtration/Resources/AlertSounds/SH22Blessed.wav new file mode 100644 index 0000000..9cfdcfc Binary files /dev/null and b/Filtration/Resources/AlertSounds/SH22Blessed.wav differ diff --git a/Filtration/Resources/AlertSounds/SH22Chaos.wav b/Filtration/Resources/AlertSounds/SH22Chaos.wav new file mode 100644 index 0000000..dd48006 Binary files /dev/null and b/Filtration/Resources/AlertSounds/SH22Chaos.wav differ diff --git a/Filtration/Resources/AlertSounds/SH22Divine.wav b/Filtration/Resources/AlertSounds/SH22Divine.wav new file mode 100644 index 0000000..b78ed0a Binary files /dev/null and b/Filtration/Resources/AlertSounds/SH22Divine.wav differ diff --git a/Filtration/Resources/AlertSounds/SH22Exalted.wav b/Filtration/Resources/AlertSounds/SH22Exalted.wav new file mode 100644 index 0000000..d747dfc Binary files /dev/null and b/Filtration/Resources/AlertSounds/SH22Exalted.wav differ diff --git a/Filtration/Resources/AlertSounds/SH22Fusing.wav b/Filtration/Resources/AlertSounds/SH22Fusing.wav new file mode 100644 index 0000000..cced879 Binary files /dev/null and b/Filtration/Resources/AlertSounds/SH22Fusing.wav differ diff --git a/Filtration/Resources/AlertSounds/SH22General.wav b/Filtration/Resources/AlertSounds/SH22General.wav new file mode 100644 index 0000000..da4782f Binary files /dev/null and b/Filtration/Resources/AlertSounds/SH22General.wav differ diff --git a/Filtration/Resources/AlertSounds/SH22Mirror.wav b/Filtration/Resources/AlertSounds/SH22Mirror.wav new file mode 100644 index 0000000..2117a82 Binary files /dev/null and b/Filtration/Resources/AlertSounds/SH22Mirror.wav differ diff --git a/Filtration/Resources/AlertSounds/SH22Regal.wav b/Filtration/Resources/AlertSounds/SH22Regal.wav new file mode 100644 index 0000000..e1b275d Binary files /dev/null and b/Filtration/Resources/AlertSounds/SH22Regal.wav differ diff --git a/Filtration/Resources/AlertSounds/SH22Vaal.wav b/Filtration/Resources/AlertSounds/SH22Vaal.wav new file mode 100644 index 0000000..9aa00b1 Binary files /dev/null and b/Filtration/Resources/AlertSounds/SH22Vaal.wav differ diff --git a/Filtration/Resources/ItemBaseTypes.txt b/Filtration/Resources/ItemBaseTypes.txt index 9f24867..7adad26 100644 --- a/Filtration/Resources/ItemBaseTypes.txt +++ b/Filtration/Resources/ItemBaseTypes.txt @@ -1,11 +1,10 @@ A Mother's Parting Gift -Abandoned Cavern Map Abandoned Wealth -Abyss Map Abyssal Axe Abyssal Cry Abyssal Sceptre Academy Map +Acid Lakes Map Added Chaos Damage Support Added Cold Damage Support Added Fire Damage Support @@ -16,37 +15,50 @@ Albino Rhoa Feather Alchemy Shard Alder Spiked Shield Alira's Amulet +Alleyways Map Allflame Alloyed Spiked Shield Alteration Shard Amber Amulet Ambush Boots +Ambush Leaguestone Ambush Mitts Ambusher Amethyst Flask Amethyst Ring Ammonite Glyph +Anarchy Leaguestone Anarchy's Price -Ancestral Blademaster +Ancestral Call Support Ancestral Club Ancestral Protector Ancestral Warchief +Ancient City Map Ancient Gauntlets Ancient Greaves +Ancient Orb +Ancient Reliquary Key +Ancient Shard Ancient Spirit Shield Ancient Sword Angelic Kite Shield Anger Animate Guardian Animate Weapon +Ankh of Eternity +Annulment Shard Antique Gauntlets Antique Greaves Antique Rapier Apex Rapier +Apprentice Cartographer's Seal +Apprentice Cartographer's Sextant Aquamarine Flask Arachnid Nest Map +Arachnid Tomb Map Arc Arcade Map +Arcane Surge Support Arcanist Gloves Arcanist Slippers Archon Kite Shield @@ -57,7 +69,9 @@ Arena Plate Arid Lake Map Arming Axe Armourer's Scrap +Armoury Map Arsenal Map +Ashen Wood Map Ashscale Talisman Assassin Bow Assassin's Boots @@ -66,13 +80,13 @@ Assassin's Garb Assassin's Mark Assassin's Mitts Astral Plate +Atoll Map +Atziri's Arsenal Audacity Auric Mace Aventail Helmet -Avian Slippers Avian Twins Talisman Awl -Backstab Baleful Gem Ball Lightning Bane of the Loyal @@ -80,8 +94,11 @@ Barbed Club Barbute Helmet Baroque Round Shield Barrage +Barrows Map Basalt Flask Baselard +Basilica Map +Basilisk Acid Basket Rapier Bastard Sword Battered Foil @@ -92,20 +109,31 @@ Battle Lamellar Battle Plate Battle Sword Bazaar Map +Beach Map Bear Trap Behemoth Mace +Belfry Map +Bestel's Manuscript +Beyond Leaguestone +Binding Shard Birth of the Three Bismuth Flask Black Maw Talisman Black Rose of Anarchy +Black Venom Blacksmith's Whetstone -Blade Trap +Blade Flurry Blade Vortex Bladed Mace Bladefall Blasphemy Support Blast Rain Blessed Orb +Blessing of Chayula +Blessing of Esh +Blessing of Tul +Blessing of Uul-Netol +Blessing of Xoph Blight Blind Support Blind Venture @@ -116,27 +144,31 @@ Blood Magic Support Blood Rage Blood Raiment Blood Sceptre +Bloodlines Leaguestone Bloodlust Support +Blue Pearl Amulet Blunt Arrow Quiver Boarding Axe +Bodyswap Bog Map Bone Armour Bone Bow Bone Circlet +Bone Crypt Map +Bone Helmet Bone Offering Bone Spirit Shield Bonespire Talisman -Book of Reform -Book of Regression -Book of Regrets -Book of Skill Boot Blade Boot Knife +Bottled Storm Boundless Realms Bowyer's Dream Branded Kite Shield Brass Maul Brass Spirit Shield +Breach Leaguestone +Breach Ring Breakrib Talisman Broad Axe Broad Sword @@ -147,9 +179,12 @@ Bronze Sceptre Bronze Tower Shield Bronzescale Boots Bronzescale Gauntlets +Brutality Support Buckskin Tower Shield Buckskin Tunic +Burial Chambers Map Burning Arrow +Burning Damage Support Burnished Foil Burnished Spiked Shield Bust of Gaius Sentari @@ -159,8 +194,13 @@ Butcher Axe Butcher Knife Butcher Sword Cabalist Regalia +Cage Map +Caldera Map +Calendar of Fortune +Call to the First Ones Callous Mask Canyon Map +Carcass Map Cardinal Round Shield Carnal Armour Carnal Boots @@ -168,6 +208,8 @@ Carnal Mitts Carnal Sceptre Cartographer's Chisel Cartographer's Delight +Cartographer's Seal +Cartographer's Sextant Carved Wand Carving Knife Cast On Critical Strike Support @@ -175,7 +217,8 @@ Cast on Death Support Cast on Melee Kill Support Cast when Damage Taken Support Cast when Stunned Support -Catacomb Map +Cast while Channelling +Castle Ruins Map Cat's Paw Caustic Arrow Cedar Tower Shield @@ -193,13 +236,16 @@ Chainmail Doublet Chainmail Tunic Chainmail Vest Champion Kite Shield +Chance to Bleed Support Chance to Flee Support Chance to Ignite Support Channel Map Chaos Orb +Chaos Shard Chaotic Disposition -Charged Attack +Charged Dash Chateau Map +Chayula's Breachstone Chest Splitter Chestplate Chiming Spirit Shield @@ -208,6 +254,7 @@ Chromatic Orb Chrysalis Talisman Citadel Bow Citrine Amulet +City Square Map Clarity Clasped Boots Clasped Mitts @@ -254,6 +301,7 @@ Copper Sword Copper Tower Shield Coral Amulet Coral Ring +Coral Ruins Map Core Map Coronal Leather Coronal Maul @@ -262,15 +310,17 @@ Corroded Tower Shield Corrugated Buckler Corsair Sword Courtesan Sword +Courthouse Map Courtyard Map Coves Map Coveted Possession -Crematorium Map +Cremation Crescent Staff Crested Tower Shield Crimson Jewel Crimson Raiment Crimson Round Shield +Crimson Temple Map Crude Bow Crusader Boots Crusader Buckler @@ -279,25 +329,51 @@ Crusader Gloves Crusader Helmet Crusader Plate Crypt Armour -Crypt Map +Crystal Belt +Crystal Ore Map Crystal Sceptre Crystal Wand Cube Of Absorption Culling Strike Support Cured Quiver Curse On Hit Support +Cursed Crypt Map Curved Blade Cutlass Cutthroat's Garb Cyclone Dagger Axe -Damage Infusion +Damage on Full Life Support Dark Forest Map +Dark Pact Darkwood Sceptre Deadhand Talisman +Deadly Ailments Support +Deafening Essence +Deafening Essence of Anger +Deafening Essence of Anguish +Deafening Essence of Contempt +Deafening Essence of Doubt +Deafening Essence of Dread +Deafening Essence of Envy +Deafening Essence of Fear +Deafening Essence of Greed +Deafening Essence of Hatred +Deafening Essence of Loathing +Deafening Essence of Misery +Deafening Essence of Rage +Deafening Essence of Scorn +Deafening Essence of Sorrow +Deafening Essence of Spite +Deafening Essence of Suffering +Deafening Essence of Torment +Deafening Essence of Woe +Deafening Essence of Wrath +Deafening Essence of Zeal Death Death Bow Decanter Spiritus +Decay Support Decimation Bow Decorative Axe Decoy Totem @@ -305,13 +381,16 @@ Decurve Bow Deep One Talisman Deerskin Boots Deerskin Gloves +Defiled Cathedral Map Deicide Mask Demon Dagger Demon's Horn Desecrate Desert Brigandine Desert Map +Desert Spring Map Deshret's Banner +Despair Despot Axe Destined to Crumble Destiny Leather @@ -324,13 +403,16 @@ Devout Chainmail Dialla's Subjugation Diamond Flask Diamond Ring +Dig Map Discharge Discipline Divine Life Flask Divine Mana Flask Divine Orb +Divine Vessel Doedre's Madness Dominating Blow +Domination Leaguestone Double Axe Double Claw Double Strike @@ -347,8 +429,6 @@ Driftwood Maul Driftwood Sceptre Driftwood Spiked Shield Driftwood Wand -Dry Peninsula Map -Dry Woods Map Dual Strike Dunes Map Dungeon Map @@ -363,33 +443,42 @@ Eclipse Staff Eelskin Boots Eelskin Gloves Eelskin Tunic +Efficacy Support Elder Sword Elegant Foil Elegant Ringmail Elegant Round Shield Elegant Sword +Elemental Damage with Attacks Support Elemental Focus Support Elemental Hit -Elemental Projectiles Elemental Proliferation Support Elemental Weakness +Elixir of Allure Embroidered Gloves Emperor of Purity Emperor's Luck Empower Support Enameled Buckler -Enchant Endurance Charge on Melee Stun Support Enduring Cry -Energy Beam Enfeeble +Engineer's Orb +Engineer's Shard Engraved Greatsword Engraved Hatchet Engraved Wand Enhance Support Enlighten Support +Esh's Breachstone Essence Drain +Essence Leaguestone +Essence of Delirium +Essence of Horror +Essence of Hysteria +Essence of Insanity Estoc +Estuary Map Etched Greatsword Etched Hatchet Etched Kite Shield @@ -400,11 +489,14 @@ Eternal Orb Eternal Sword Ethereal Knives Exalted Orb +Exalted Shard Excavation Map Explosive Arrow Exquisite Blade Exquisite Leather Eye Gouger +Eye of Conquest +Eyes of Zeal Ezomyte Axe Ezomyte Blade Ezomyte Burgonet @@ -412,6 +504,7 @@ Ezomyte Dagger Ezomyte Spiked Shield Ezomyte Staff Ezomyte Tower Shield +Factory Map Fancy Foil Fangjaw Talisman Faster Attacks Support @@ -421,14 +514,16 @@ Faun's Horn Fencer Helm Festival Mask Field Lamellar +Fields Map Fiend Dagger +Fingerless Silk Gloves Fir Round Shield Fire Arrow Quiver Fire Nova Mine Fire Penetration Support Fire Trap -Fire Weapon Fireball +Firefly Firestorm Fishing Rod Fishscale Gauntlets @@ -442,12 +537,18 @@ Flaying Knife Flesh Offering Fleshripper Flicker Strike +Flooded Mine Map Fluted Bascinet Footman Sword +Forge of the Phoenix Map Fork Support Fortify Support Fossilised Spirit Shield Foul Staff +Fragment of the Chimera +Fragment of the Hydra +Fragment of the Minotaur +Fragment of the Phoenix Freeze Mine Freezing Pulse Frenzy @@ -466,6 +567,7 @@ Full Plate Full Ringmail Full Scale Armour Full Wyrmscale +Gardens Map Gavel Gemcutter's Prism Gemcutter's Promise @@ -473,6 +575,8 @@ Gemini Claw Gemstone Sword General's Brigandine Generosity Support +Geode Map +Ghastly Eye Jewel Ghetto Map Giant Life Flask Giant Mana Flask @@ -492,10 +596,10 @@ Glimmer of Hope Glorious Leather Glorious Plate Gnarled Branch +Goat's Horn Goathide Boots Goathide Buckler Goathide Gloves -Goat's Horn Gold Amulet Gold Ring Golden Bracers @@ -532,7 +636,9 @@ Greater Life Flask Greater Mana Flask Greater Multiple Projectiles Support Greatwolf Talisman +Greust's Necklace Grinning Fetish +Gripped Gloves Grotto Map Ground Slam Grove Bow @@ -544,11 +650,14 @@ Hallowed Life Flask Hallowed Mana Flask Hammered Buckler Harbinger Bow +Harbinger's Orb +Harbinger's Shard Harlequin Mask Harmonic Spirit Shield Harpy Rapier Haste Hatred +Haunted Mansion Map Headman's Sword Headsman Axe Heart of the Gargoyle @@ -559,7 +668,6 @@ Heavy Strike Hellion's Paw Her Mask Herald of Ash -Herald of Blood Herald of Ice Herald of Thunder Heterochromia @@ -567,9 +675,11 @@ Hexclaw Talisman Highborn Bow Highborn Staff Highland Blade +Hinekora's Hair Holy Chainmail Hook Sword Hope +Horizon Shard Horned Sceptre Horned Talisman House of Mirrors @@ -582,6 +692,7 @@ Hunter's Reward Hussar Brigandine Hydrascale Boots Hydrascale Gauntlets +Hypnotic Eye Jewel Hypothermia Support Ice Bite Support Ice Crash @@ -589,9 +700,10 @@ Ice Nova Ice Shot Ice Spear Ice Trap -Icefire -Ignite +Iceberg Map +Ignite Proliferation Support Imbued Wand +Immolate Support Immortal Call Imp Dagger Imperial Bow @@ -600,10 +712,8 @@ 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 @@ -611,8 +721,9 @@ Infantry Brigandine Infernal Axe Infernal Blow Infernal Sword -Infernal Talc +Infested Valley Map Innervate Support +Invasion Leaguestone Inya's Key Iron Circlet Iron Gauntlets @@ -631,6 +742,7 @@ Item Quantity Support Item Rarity Support Ivory Bow Ivory Spirit Shield +Ivory Temple Map Jack in the Box Jade Amulet Jade Chopper @@ -645,24 +757,27 @@ Jet Ring Jewelled Foil Jeweller's Orb Jingling Spirit Shield +Journeyman Cartographer's Seal +Journeyman Cartographer's Sextant Judgement Staff Jungle Valley Map -Kaom's Greaves -Kaom's Plate Karui Axe Karui Chopper Karui Maul Karui Sceptre -Keyblade Kinetic Blast +Kishara's Star Knockback Support Kraityn's Amulet +Laboratory Map Labrys Lacerate Lacewood Spirit Shield Lacquered Buckler Lacquered Garb Lacquered Helmet +Lair Map +Lair of the Hydra Map Laminated Kite Shield Lantador's Lost Love Lapis Amulet @@ -672,6 +787,8 @@ Large Mana Flask Last Hope Lathi Latticed Ringmail +Lava Chamber Map +Lava Lake Map Layered Kite Shield Lead Sceptre Leap Slam @@ -679,26 +796,29 @@ Leather Belt Leather Cap Leather Hood Leatherscale Boots +Left to Fate Legion Boots Legion Gloves Legion Hammer Legion Sword Less Duration Support Lesser Multiple Projectiles Support +Lesser Poison Support +Leyline Map Life Gain on Hit Support Life Leech Support Light and Truth Light Brigandine Light Quiver +Lighthouse Map Lightning Arrow -Lightning Channel -Lightning Circle Lightning Penetration Support Lightning Strike Lightning Tendrils Lightning Trap Lightning Warp Linden Kite Shield +Lingering Remnants Lion Pelt Lion Sword Lithe Blade @@ -707,11 +827,11 @@ Long Bow Long Staff Longsword Longtooth Talisman +Lookout Map Lordly Plate Loricated Ringmail Lost Worlds Loyalty -Luck of the Vaal Lucky Connections Lucky Deck Lunaris Circlet @@ -721,45 +841,62 @@ Mage's Vestment Magistrate Crown Magma Orb Mahogany Tower Shield +Maim Support Majestic Plate Malachai's Entrails Malachai's Heart Malachai's Lungs Malformation Map +Maligaro's Map Maligaro's Spike Mallet Mana Leech Support Mandible Talisman Maple Round Shield Maraketh Bow -Mark of the Warrior Wings +Marble Amulet +Marshes Map +Master Cartographer's Seal +Master Cartographer's Sextant +Mausoleum Map +Mawr Blaidd +Maze Map +Maze of the Minotaur Map Meatgrinder Medicine Chest Medium Hybrid Flask Medium Life Flask Medium Mana Flask -Melee Damage on Full Life Support Melee Physical Damage Support Melee Splash Support Merciless Armament +Mesa Map Mesh Boots Mesh Gloves +Miasmeter Midnight Blade +Might is Right Military Staff Mind Cage Minefield Support +Mineral Pools Map Minion and Totem Elemental Resistance Support Minion Damage Support Minion Life Support Minion Speed Support +Mirage Archer Support Mirror Arrow Mirror of Kalandra +Mirror Shard Mirrored Spiked Shield +Mitts Molten Shell Molten Strike Monkey Paw Talisman Monkey Twins Talisman +Moon Orb Moon Staff +Moon Temple Map Moonstone Ring Morning Star Mortal Grief @@ -767,21 +904,29 @@ Mortal Hope Mortal Ignorance Mortal Rage Mosaic Kite Shield -Mountain Ledge Map Mud Geyser Map Multiple Traps Support Multistrike Support Murder Boots Murder Mitts Museum Map +Muttering Essence +Muttering Essence of Anger +Muttering Essence of Contempt +Muttering Essence of Fear +Muttering Essence of Greed +Muttering Essence of Hatred +Muttering Essence of Sorrow +Muttering Essence of Torment +Muttering Essence of Woe Nailed Fist Necromancer Circlet Necromancer Silks Necropolis Map -New Shock Nova -NewPunishment +Nemesis Leaguestone Nightmare Bascinet Nightmare Mace +No Traces Noble Axe Noble Claw Noble Tricorne @@ -789,21 +934,28 @@ Nubuck Boots Nubuck Gloves Oak Buckler Oak's Amulet +Obsidian Key Occultist's Vestment Ochre Sceptre Offering to the Goddess Oiled Coat Oiled Vest Omen Wand +Onslaught Leaguestone +Onslaught Support Onyx Amulet +Opal Ring Opal Sceptre Opal Wand Orb of Alchemy Orb of Alteration +Orb of Annulment Orb of Augmentation +Orb of Binding Orb of Chance -Orb of Elemental Essence +Orb of Elemental Dispersion Orb of Fusing +Orb of Horizons Orb of Regret Orb of Scouring Orb of Storms @@ -821,11 +973,15 @@ Pagan Wand Painted Buckler Painted Tower Shield Palace Map +Park Map Paua Amulet Paua Ring Pecoraro +Pen Map Penetrating Arrow Quiver +Peninsula Map Perandus Coin +Perandus Leaguestone Pernarch Petrified Club Phantasmagoria Map @@ -840,6 +996,7 @@ Piledriver Pine Buckler Pinnacle Tower Shield Pit Map +Pit of the Chimera Map Plague Mask Plank Kite Shield Plate Vest @@ -856,6 +1013,7 @@ Point Blank Support Poison Support Poleaxe Polished Spiked Shield +Port Map Portal Portal Scroll Portal Shredder @@ -868,6 +1026,7 @@ Pride Before the Fall Primal Skull Talisman Primeval Rapier Primitive Staff +Primordial Pool Map Primordial Staff Prismatic Jewel Prismatic Ring @@ -876,6 +1035,7 @@ Projectile Weakness Promenade Map Prong Dagger Prophecy +Prophecy Leaguestone Prophecy Wand Prophet Crown Prosperity @@ -885,22 +1045,23 @@ 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 +Racecourse Map Rain of Arrows Rain of Chaos Rain Tempter Raise Spectre Raise Zombie Rallying Cry +Rampage Leaguestone +Ramparts Map Ranged Attack Totem Support Ranger Bow -Rapid Decay Support Rats Raven Mask Rawhide Boots @@ -917,22 +1078,22 @@ Redwood Spiked Shield Reef Map Reflex Bow Regal Orb +Regal Shard Regicide Mask Reinforced Greaves Reinforced Kite Shield Reinforced Tower Shield Rejuvenation Totem +Relic Chambers Map +Remnant of Corruption Remote Mine Support 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 @@ -958,6 +1119,7 @@ Rusted Hatchet Rusted Spike Rusted Sword Rustic Sash +Ruthless Support Sabre Sacred Hybrid Flask Sacred Life Flask @@ -971,8 +1133,8 @@ Sadist Garb Sage Wand Sage's Robe Sai -Saintly Chainmail Saint's Hauberk +Saintly Chainmail Sallet Sambar Sceptre Samite Gloves @@ -994,28 +1156,62 @@ Scarlet Round Shield Scholar Boots Scholar of the Seas Scholar's Robe +Scorching Ray +Screaming Essence +Screaming Essence of Anger +Screaming Essence of Anguish +Screaming Essence of Contempt +Screaming Essence of Doubt +Screaming Essence of Dread +Screaming Essence of Envy +Screaming Essence of Fear +Screaming Essence of Greed +Screaming Essence of Hatred +Screaming Essence of Loathing +Screaming Essence of Misery +Screaming Essence of Rage +Screaming Essence of Scorn +Screaming Essence of Sorrow +Screaming Essence of Spite +Screaming Essence of Suffering +Screaming Essence of Torment +Screaming Essence of Woe +Screaming Essence of Wrath +Screaming Essence of Zeal +Scriptorium Map Scroll Fragment Scroll of Wisdom +Searching Eye Jewel Searing Bond Secutor Helm Sekhem +Sekhema Feather Sentinel Jacket +Sepulchre Map Serpent Wand Serpentine Staff Serpentscale Boots Serpentscale Gauntlets Serrated Arrow Quiver Serrated Foil -Sewer Keys -Sewer Map Shabby Jerkin Shackled Boots Shadow Axe -Shadow Blades Shadow Sceptre Shagreen Boots Shagreen Gloves Shagreen Tower Shield +Shaper's Orb +Shaper's Orb (Tier 1) +Shaper's Orb (Tier 10) +Shaper's Orb (Tier 2) +Shaper's Orb (Tier 3) +Shaper's Orb (Tier 4) +Shaper's Orb (Tier 5) +Shaper's Orb (Tier 6) +Shaper's Orb (Tier 7) +Shaper's Orb (Tier 8) +Shaper's Orb (Tier 9) Shard of Fate Sharkskin Boots Sharkskin Gloves @@ -1029,10 +1225,33 @@ Shockwave Totem Shore Map Short Bow Shrapnel Shot +Shrieking Essence +Shrieking Essence of Anger +Shrieking Essence of Anguish +Shrieking Essence of Contempt +Shrieking Essence of Doubt +Shrieking Essence of Dread +Shrieking Essence of Envy +Shrieking Essence of Fear +Shrieking Essence of Greed +Shrieking Essence of Hatred +Shrieking Essence of Loathing +Shrieking Essence of Misery +Shrieking Essence of Rage +Shrieking Essence of Scorn +Shrieking Essence of Sorrow +Shrieking Essence of Spite +Shrieking Essence of Suffering +Shrieking Essence of Torment +Shrieking Essence of Woe +Shrieking Essence of Wrath +Shrieking Essence of Zeal Shrine Map Siege Axe Siege Ballista Siege Helmet +Siege Map +Sign of Purity Silk Gloves Silk Robe Silk Slippers @@ -1043,10 +1262,10 @@ Silken Wrap Silver Coin Silver Flask Silver Key +Silver Locket Simple Robe Sinner Tricorne Skean -Skeletal Chains Skinning Knife Slaughter Knife Sledgehammer @@ -1059,7 +1278,6 @@ Small Life Flask Small Mana Flask Smallsword Smoke Mine -Snipe Sniper Bow Solar Maul Solaris Circlet @@ -1075,15 +1293,17 @@ Sparkling Claw Spectral Axe Spectral Sword Spectral Throw +Spell Cascade Support Spell Echo Support Spell Totem Support Spider Forest Map Spider Lair Map Spidersilk Robe +Spike-Point Arrow Quiver Spiked Bundle Spiked Club +Spiked Gloves Spiked Round Shield -Spike-Point Arrow Quiver Spine Bow Spinefuse Talisman Spiny Maul @@ -1092,21 +1312,26 @@ Spiraled Foil Spiraled Wand Spirit Offering Splendid Round Shield +Splinter +Splinter of Chayula +Splinter of Esh +Splinter of Tul +Splinter of Uul-Netol +Splinter of Xoph Splintered Tower Shield Split Arrow -Split Projectiles Support Splitnewt Talisman Springs Map Stacked Deck Stag Sceptre Static Strike -Static Tether Stealth Boots Stealth Gloves Steel Circlet Steel Gauntlets Steel Greaves Steel Kite Shield +Steel Ring Steelhead Steelscale Boots Steelscale Gauntlets @@ -1115,32 +1340,44 @@ Stibnite Flask Stiletto Stone Axe Stone Hammer +Storm Barrier Support +Storm Blade +Storm Burst Storm Call Strand Map Strapped Boots Strapped Leather Strapped Mitts +Struck by Lightning Studded Belt Studded Round Shield Stun Support +Stygian Vise Sulphur Flask +Sulphur Vents Map +Summit Map Summon Chaos Golem Summon Flame Golem Summon Ice Golem Summon Lightning Golem Summon Raging Spirit -Summon Skeletons +Summon Skeleton Summon Stone Golem Sun Leather +Sun Orb Sun Plate Sunder Sundering Axe +Sunken City Map Supreme Spiked Shield Sweep +Swift Affliction Support +Talisman Leaguestone Talon Axe Tarnished Spirit Shield Teak Round Shield Tempered Foil +Tempest Leaguestone Tempest Shield Temple Map Temporal Chains @@ -1151,12 +1388,13 @@ Terror Maul Thaumetic Emblem Thaumetic Sulphite The Aesthete -The Apex The Arena Champion The Artist The Avenger The Battle Born The Betrayal +The Black Flag +The Blazing Fire The Body The Brittle Emperor The Calling @@ -1166,6 +1404,7 @@ The Cataclysm The Catalyst The Celestial Justicar The Chains that Bind +The Coming Storm The Conduit The Cursed King The Dapper Prodigy @@ -1184,13 +1423,16 @@ The Ethereal The Explorer The Eye of Desire The Eye of Fury +The Eye of the Dragon The Feast The Fiend The Fletcher The Flora's Gift The Formless Sea +The Forsaken The Fox The Gambler +The Garish Power The Gemcutter The Gentleman The Gladiator @@ -1213,29 +1455,41 @@ The Lover The Lunaris Priestess The Mercenary The Metalsmith's Gift +The Oath The Offering The One With All +The Opulent The Pack Leader The Pact The Penitent The Poet +The Polymath +The Porcupine The Queen The Rabid Rhoa +The Realm The Risk The Road to Power +The Ruthless Ceinture +The Saint's Treasure The Scarred Meadow +The Scavenger The Scholar The Sephirot The Sigil The Siren The Soul +The Spark and the Flame The Spoiled Prince +The Staff of Purity +The Standoff The Stormcaller The Summoner The Sun The Surgeon The Surveyor The Survivalist +The Teardrop The Thaumaturgist The Throne The Tower @@ -1245,6 +1499,7 @@ The Twins The Tyrant The Union The Valkyrie +The Valley of Steel Boxes The Vast The Visionary The Void @@ -1255,7 +1510,10 @@ The Web The Wind The Wolf The Wolf's Shadow +The Wolven King's Bite +The Wolverine The Wrath +The Wretched Thicket Bow Thicket Map Thief's Garb @@ -1280,13 +1538,15 @@ Tolman's Bracelet Tomahawk Topaz Flask Topaz Ring +Torment Leaguestone Tornado Shot Tornado Wand Torture Cage Torture Chamber Map Totemic Maul -Touch of God Tower Key +Tower Map +Toxic Sewer Map Tranquillity Transmutation Shard Trap and Mine Damage Support @@ -1294,16 +1554,19 @@ Trap Cooldown Support Trap Support Trapper Boots Trapper Mitts +Trarthan Powder Treasure Hunter Treasure Key Tribal Circlet Tribal Club Tribal Maul +Tribunal Map Tricorne Trisula Triumphant Lamellar Tropical Island Map -Tunnel Map +Tukohama's Tooth +Tul's Breachstone Turn the Other Cheek Turquoise Amulet Twig Spirit Shield @@ -1312,15 +1575,21 @@ Twin Claw Two-Handed Sword Two-Point Arrow Quiver Two-Stone Ring +Two-Toned Boots Tyrant's Sekhem +Unbound Ailments Support Underground River Map Underground Sea Map Undying Flesh Talisman +Unearth Unset Ring +Unshaping Orb Ursine Pelt +Uul-Netol's Breachstone Vaal Arc Vaal Axe Vaal Blade +Vaal Breach Vaal Buckler Vaal Burning Arrow Vaal Clarity @@ -1331,7 +1600,6 @@ Vaal Detonate Dead Vaal Discipline Vaal Double Strike Vaal Fireball -Vaal FireTrap Vaal Flameblast Vaal Gauntlets Vaal Glacial Hammer @@ -1341,7 +1609,6 @@ Vaal Greaves Vaal Ground Slam Vaal Haste Vaal Hatchet -Vaal Heavy Strike Vaal Ice Nova Vaal Immortal Call Vaal Lightning Strike @@ -1363,18 +1630,20 @@ Vaal Spectral Throw Vaal Spirit Shield Vaal Storm Call Vaal Summon Skeletons -Vaal Sweep Vaal Temple Map +Valako's Jaw +Vanguard Belt Variscite Blade Varnished Coat +Vault Map Velvet Gloves Velvet Slippers Vengeance Vial Of Power Vigilant Strike Vile Staff +Vile Toxins Support Villa Map -Village Ruin Map Vine Circlet Vinia's Token Viper Strike @@ -1384,35 +1653,69 @@ Vitality Void Axe Void Manipulation Support Void Sceptre +Volatile Dead Volatile Power Volcano Map Volkuur's Key +Volley Support Vortex -Vortex Mine Vulnerability +Wailing Essence +Wailing Essence of Anger +Wailing Essence of Anguish +Wailing Essence of Contempt +Wailing Essence of Doubt +Wailing Essence of Fear +Wailing Essence of Greed +Wailing Essence of Hatred +Wailing Essence of Loathing +Wailing Essence of Rage +Wailing Essence of Sorrow +Wailing Essence of Spite +Wailing Essence of Suffering +Wailing Essence of Torment +Wailing Essence of Woe +Wailing Essence of Wrath +Wailing Essence of Zeal Walnut Spirit Shield -Wand Teleport War Axe War Buckler War Hammer War Plate War Sword +Warbands Leaguestone Warlord's Mark Waste Pool Map Wasteland Map Waterways Map Waxed Garb Wealth and Power -Weapon Elemental Damage Support +Weeping Essence +Weeping Essence of Anger +Weeping Essence of Contempt +Weeping Essence of Doubt +Weeping Essence of Fear +Weeping Essence of Greed +Weeping Essence of Hatred +Weeping Essence of Rage +Weeping Essence of Sorrow +Weeping Essence of Suffering +Weeping Essence of Torment +Weeping Essence of Woe +Weeping Essence of Wrath Wereclaw Talisman Whalebone Rapier Wharf Map Whirling Blades +Whispering Essence +Whispering Essence of Contempt +Whispering Essence of Greed +Whispering Essence of Hatred +Whispering Essence of Woe Widowsilk Robe Wild Leather Wild Strike -Wildfire -WIP Support +Wings of Vastiri Wither Wolf Pelt Woodful Staff @@ -1431,6 +1734,7 @@ Wyrmbone Rapier Wyrmscale Boots Wyrmscale Doublet Wyrmscale Gauntlets +Xoph's Breachstone Yew Spirit Shield Yriel's Key Zealot Boots diff --git a/Filtration/Resources/ItemClasses.txt b/Filtration/Resources/ItemClasses.txt index 56910db..fd87671 100644 --- a/Filtration/Resources/ItemClasses.txt +++ b/Filtration/Resources/ItemClasses.txt @@ -1,15 +1,18 @@ +Abyss Jewel Active Skill Gems Amulets +Axe Belts Body Armours Boots Bows Claws -Critical Utility Flasks Currency Daggers Divination Card Fishing Rods +Flasks +Gems Gloves Helmets Hybrid Flasks @@ -18,23 +21,27 @@ Labyrinth Item Labyrinth Map Item Labyrinth Trinket Large Relics +Leaguestone Life Flasks +Mace Mana Flasks Map Fragments Maps -Medium Relics +Misc Map Items One Hand Axes One Hand Maces One Hand Swords +Pantheon Soul +Piece Quest Items Quivers Rings Sceptres Shields -Small Relics Stackable Currency Staves Support Skill Gems +Sword Thrusting One Hand Swords Two Hand Axes Two Hand Maces diff --git a/Filtration/UserControls/BlockItemControl.xaml b/Filtration/UserControls/BlockItemControl.xaml index dbb8e2e..c9dfba3 100644 --- a/Filtration/UserControls/BlockItemControl.xaml +++ b/Filtration/UserControls/BlockItemControl.xaml @@ -13,11 +13,11 @@ xmlns:views="clr-namespace:Filtration.Views" mc:Ignorable="d" d:DataContext="{d:DesignInstance Type=userControls:BlockItemControl}" - d:DesignHeight="200" d:DesignWidth="160"> + d:DesignHeight="200" d:DesignWidth="190"> - + @@ -115,6 +115,17 @@ + + + + + + + + + diff --git a/Filtration/UserControls/BlockItemControl.xaml.cs b/Filtration/UserControls/BlockItemControl.xaml.cs index 3026bc4..5af5c2f 100644 --- a/Filtration/UserControls/BlockItemControl.xaml.cs +++ b/Filtration/UserControls/BlockItemControl.xaml.cs @@ -82,7 +82,11 @@ namespace Filtration.UserControls public ObservableCollection AvailableColors => PathOfExileColors.DefaultColors; - public List SoundsAvailable => new List { 1, 2, 3, 4, 5, 6, 7, 8, 9 }; + public List SoundsAvailable => new List { + "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", + "ShGeneral", "ShBlessed", "ShChaos", "ShDivine", "ShExalted", "ShMirror", "ShAlchemy", + "ShFusing", "ShRegal", "ShVaal" + }; private void OnSetBlockColorCommmand() { diff --git a/Filtration/ViewModels/ItemFilterBlockViewModel.cs b/Filtration/ViewModels/ItemFilterBlockViewModel.cs index 0a6c205..936d738 100644 --- a/Filtration/ViewModels/ItemFilterBlockViewModel.cs +++ b/Filtration/ViewModels/ItemFilterBlockViewModel.cs @@ -56,6 +56,7 @@ namespace Filtration.ViewModels RemoveFilterBlockItemCommand = new RelayCommand(OnRemoveFilterBlockItemCommand); SwitchBlockItemsViewCommand = new RelayCommand(OnSwitchBlockItemsViewCommand); PlaySoundCommand = new RelayCommand(OnPlaySoundCommand, () => HasSound); + PlayPositionalSoundCommand = new RelayCommand(OnPlayPositionalSoundCommand, () => HasPositionalSound); } public override void Initialise(IItemFilterBlockBase itemFilterBlockBase, IItemFilterScriptViewModel parentScriptViewModel) @@ -97,6 +98,7 @@ namespace Filtration.ViewModels public RelayCommand AddFilterBlockItemCommand { get; } public RelayCommand RemoveFilterBlockItemCommand { get; } public RelayCommand PlaySoundCommand { get; } + public RelayCommand PlayPositionalSoundCommand { get; } public RelayCommand SwitchBlockItemsViewCommand { get; } public IItemFilterBlock Block { get; private set; } @@ -173,7 +175,10 @@ namespace Filtration.ViewModels typeof (ClassBlockItem), typeof (BaseTypeBlockItem), typeof (IdentifiedBlockItem), - typeof (CorruptedBlockItem) + typeof (CorruptedBlockItem), + typeof (ElderItemBlockItem), + typeof (ShaperItemBlockItem), + typeof (ShapedMapBlockItem) }; public List AudioVisualBlockItemTypesAvailable => new List @@ -182,7 +187,8 @@ namespace Filtration.ViewModels typeof (BackgroundColorBlockItem), typeof (BorderColorBlockItem), typeof (FontSizeBlockItem), - typeof (SoundBlockItem) + typeof (SoundBlockItem), + typeof (PositionalSoundBlockItem) }; public bool BlockEnabled @@ -224,7 +230,8 @@ namespace Filtration.ViewModels public double DisplayFontSize => Block.DisplayFontSize/1.8; public bool HasSound => Block.HasBlockItemOfType(); - + public bool HasPositionalSound => Block.HasBlockItemOfType(); + public bool HasAudioVisualBlockItems => AudioVisualBlockItems.Any(); private void OnSwitchBlockItemsViewCommand() @@ -331,11 +338,97 @@ namespace Filtration.ViewModels return blockCount < blockItem.MaximumAllowed; } + private string ComputeFilePartFromNumber(string identifier) + { + if (Int32.TryParse(identifier, out int x)) + { + if (x <= 9) + { + return "AlertSound_0" + x + ".wav"; + } + else + { + return "AlertSound_" + x + ".wav"; + } + } + + return ""; + } + + private string ComputeFilePartFromID(string identifier) + { + string filePart; + switch (identifier) { + case "ShGeneral": + filePart = "SH22General.wav"; + break; + case "ShBlessed": + filePart = "SH22Blessed.wav"; + break; + case "SH22Chaos": + filePart = "SH22Chaos.wav"; + break; + case "ShDivine": + filePart = "SH22Divine.wav"; + break; + case "ShExalted": + filePart = "SH22Exalted.wav"; + break; + case "ShMirror": + filePart = "SH22Mirror.wav"; + break; + case "ShAlchemy": + filePart = "SH22Alchemy.wav"; + break; + case "ShFusing": + filePart = "SH22Fusing.wav"; + break; + case "ShRegal": + filePart = "SH22Regal.wav"; + break; + case "ShVaal": + filePart = "SH22Vaal.wav"; + break; + default: + filePart = ComputeFilePartFromNumber(identifier); + break; + } + + return filePart; + } + private void OnPlaySoundCommand() { - var soundUri = "Resources/AlertSounds/AlertSound" + BlockItems.OfType().First().Value + ".wav"; - _mediaPlayer.Open(new Uri(soundUri, UriKind.Relative)); - _mediaPlayer.Play(); + var identifier = BlockItems.OfType().First().Value; + var prefix = "Resources/AlertSounds/"; + var filePart = ComputeFilePartFromID(identifier); + + if (filePart == "") + { + return; + } + else + { + _mediaPlayer.Open(new Uri(prefix + filePart, UriKind.Relative)); + _mediaPlayer.Play(); + } + } + + private void OnPlayPositionalSoundCommand() + { + var identifier = BlockItems.OfType().First().Value; + var prefix = "Resources/AlertSounds/"; + var filePart = ComputeFilePartFromID(identifier); + + if (filePart == "") + { + return; + } + else + { + _mediaPlayer.Open(new Uri(prefix + filePart, UriKind.Relative)); + _mediaPlayer.Play(); + } } private void OnBlockItemChanged(object sender, EventArgs e) diff --git a/Filtration/Views/ItemFilterBlockView.xaml b/Filtration/Views/ItemFilterBlockView.xaml index db16670..98b941c 100644 --- a/Filtration/Views/ItemFilterBlockView.xaml +++ b/Filtration/Views/ItemFilterBlockView.xaml @@ -129,7 +129,7 @@ - +